anypick 1.0.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 +589 -0
- package/dist/adapters.d.ts +4 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +2 -0
- package/dist/catalog/model-fetch.d.ts +34 -0
- package/dist/catalog/model-fetch.d.ts.map +1 -0
- package/dist/catalog/model-fetch.js +99 -0
- package/dist/catalog/model-fetch.js.map +1 -0
- package/dist/catalog/providers.d.ts +42 -0
- package/dist/catalog/providers.d.ts.map +1 -0
- package/dist/catalog/providers.js +424 -0
- package/dist/catalog/providers.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +3 -0
- package/dist/cli/bootstrap.d.ts.map +1 -0
- package/dist/cli/bootstrap.js +78 -0
- package/dist/cli/bootstrap.js.map +1 -0
- package/dist/cli/commands.d.ts +29 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +1043 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/completion.d.ts +6 -0
- package/dist/cli/completion.d.ts.map +1 -0
- package/dist/cli/completion.js +202 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/errors.d.ts +20 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +47 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/format.d.ts +6 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +75 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli/help.d.ts +6 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +66 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/interactive-accounts.d.ts +3 -0
- package/dist/cli/interactive-accounts.d.ts.map +1 -0
- package/dist/cli/interactive-accounts.js +86 -0
- package/dist/cli/interactive-accounts.js.map +1 -0
- package/dist/cli/interactive-maintenance.d.ts +4 -0
- package/dist/cli/interactive-maintenance.d.ts.map +1 -0
- package/dist/cli/interactive-maintenance.js +30 -0
- package/dist/cli/interactive-maintenance.js.map +1 -0
- package/dist/cli/interactive.d.ts +14 -0
- package/dist/cli/interactive.d.ts.map +1 -0
- package/dist/cli/interactive.js +242 -0
- package/dist/cli/interactive.js.map +1 -0
- package/dist/cli/launch-client.d.ts +18 -0
- package/dist/cli/launch-client.d.ts.map +1 -0
- package/dist/cli/launch-client.js +117 -0
- package/dist/cli/launch-client.js.map +1 -0
- package/dist/cli/launcher-model.d.ts +64 -0
- package/dist/cli/launcher-model.d.ts.map +1 -0
- package/dist/cli/launcher-model.js +200 -0
- package/dist/cli/launcher-model.js.map +1 -0
- package/dist/cli/launcher-render.d.ts +22 -0
- package/dist/cli/launcher-render.d.ts.map +1 -0
- package/dist/cli/launcher-render.js +113 -0
- package/dist/cli/launcher-render.js.map +1 -0
- package/dist/cli/launcher.d.ts +27 -0
- package/dist/cli/launcher.d.ts.map +1 -0
- package/dist/cli/launcher.js +93 -0
- package/dist/cli/launcher.js.map +1 -0
- package/dist/cli/local-health.d.ts +17 -0
- package/dist/cli/local-health.d.ts.map +1 -0
- package/dist/cli/local-health.js +31 -0
- package/dist/cli/local-health.js.map +1 -0
- package/dist/cli/plugin-commands.d.ts +4 -0
- package/dist/cli/plugin-commands.d.ts.map +1 -0
- package/dist/cli/plugin-commands.js +160 -0
- package/dist/cli/plugin-commands.js.map +1 -0
- package/dist/cli/primary.d.ts +18 -0
- package/dist/cli/primary.d.ts.map +1 -0
- package/dist/cli/primary.js +593 -0
- package/dist/cli/primary.js.map +1 -0
- package/dist/cli/render-util.d.ts +24 -0
- package/dist/cli/render-util.d.ts.map +1 -0
- package/dist/cli/render-util.js +58 -0
- package/dist/cli/render-util.js.map +1 -0
- package/dist/cli/ux.d.ts +43 -0
- package/dist/cli/ux.d.ts.map +1 -0
- package/dist/cli/ux.js +114 -0
- package/dist/cli/ux.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +35 -0
- package/dist/cli.js.map +1 -0
- package/dist/clients/claude-client-apply.d.ts +8 -0
- package/dist/clients/claude-client-apply.d.ts.map +1 -0
- package/dist/clients/claude-client-apply.js +108 -0
- package/dist/clients/claude-client-apply.js.map +1 -0
- package/dist/clients/claude-code.d.ts +5 -0
- package/dist/clients/claude-code.d.ts.map +1 -0
- package/dist/clients/claude-code.js +189 -0
- package/dist/clients/claude-code.js.map +1 -0
- package/dist/clients/claude-settings-guard.d.ts +18 -0
- package/dist/clients/claude-settings-guard.d.ts.map +1 -0
- package/dist/clients/codex-desktop-catalog.d.ts +67 -0
- package/dist/clients/codex-desktop-catalog.d.ts.map +1 -0
- package/dist/clients/codex-desktop-catalog.js +212 -0
- package/dist/clients/codex-desktop-catalog.js.map +1 -0
- package/dist/clients/codex.d.ts +181 -0
- package/dist/clients/codex.d.ts.map +1 -0
- package/dist/clients/codex.js +783 -0
- package/dist/clients/codex.js.map +1 -0
- package/dist/clients/env-files.d.ts +14 -0
- package/dist/clients/env-files.d.ts.map +1 -0
- package/dist/clients/env-files.js +50 -0
- package/dist/clients/env-files.js.map +1 -0
- package/dist/clients/gemini-client-utils.d.ts +4 -0
- package/dist/clients/gemini-client-utils.d.ts.map +1 -0
- package/dist/clients/gemini-client-utils.js +33 -0
- package/dist/clients/gemini-client-utils.js.map +1 -0
- package/dist/clients/gemini.d.ts +16 -0
- package/dist/clients/gemini.d.ts.map +1 -0
- package/dist/clients/gemini.js +233 -0
- package/dist/clients/gemini.js.map +1 -0
- package/dist/clients/index.d.ts +14 -0
- package/dist/clients/index.d.ts.map +1 -0
- package/dist/clients/index.js +18 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/clients/isolation.d.ts +28 -0
- package/dist/clients/isolation.d.ts.map +1 -0
- package/dist/clients/isolation.js +131 -0
- package/dist/clients/isolation.js.map +1 -0
- package/dist/clients/kiro.d.ts +10 -0
- package/dist/clients/kiro.d.ts.map +1 -0
- package/dist/clients/kiro.js +168 -0
- package/dist/clients/kiro.js.map +1 -0
- package/dist/clients/model-roles.d.ts +58 -0
- package/dist/clients/model-roles.d.ts.map +1 -0
- package/dist/clients/model-roles.js +139 -0
- package/dist/clients/model-roles.js.map +1 -0
- package/dist/clients/registry.d.ts +7 -0
- package/dist/clients/registry.d.ts.map +1 -0
- package/dist/clients/registry.js +16 -0
- package/dist/clients/registry.js.map +1 -0
- package/dist/clients/resolve.d.ts +27 -0
- package/dist/clients/resolve.d.ts.map +1 -0
- package/dist/clients/resolve.js +49 -0
- package/dist/clients/resolve.js.map +1 -0
- package/dist/core/account-codec.d.ts +32 -0
- package/dist/core/account-codec.d.ts.map +1 -0
- package/dist/core/account-codec.js +134 -0
- package/dist/core/account-codec.js.map +1 -0
- package/dist/core/account-transfer.d.ts +20 -0
- package/dist/core/account-transfer.d.ts.map +1 -0
- package/dist/core/account-transfer.js +136 -0
- package/dist/core/account-transfer.js.map +1 -0
- package/dist/core/activation-executor.d.ts +72 -0
- package/dist/core/activation-executor.d.ts.map +1 -0
- package/dist/core/activation-executor.js +690 -0
- package/dist/core/activation-executor.js.map +1 -0
- package/dist/core/activation-models.d.ts +6 -0
- package/dist/core/activation-models.d.ts.map +1 -0
- package/dist/core/activation-models.js +33 -0
- package/dist/core/activation-models.js.map +1 -0
- package/dist/core/activation-planner.d.ts +38 -0
- package/dist/core/activation-planner.d.ts.map +1 -0
- package/dist/core/activation-planner.js +248 -0
- package/dist/core/activation-planner.js.map +1 -0
- package/dist/core/activation-protocol.d.ts +3 -0
- package/dist/core/activation-protocol.d.ts.map +1 -0
- package/dist/core/activation-protocol.js +9 -0
- package/dist/core/activation-protocol.js.map +1 -0
- package/dist/core/activation-transport.d.ts +15 -0
- package/dist/core/activation-transport.d.ts.map +1 -0
- package/dist/core/activation-transport.js +23 -0
- package/dist/core/activation-transport.js.map +1 -0
- package/dist/core/app.d.ts +149 -0
- package/dist/core/app.d.ts.map +1 -0
- package/dist/core/app.js +372 -0
- package/dist/core/app.js.map +1 -0
- package/dist/core/binding-service.d.ts +93 -0
- package/dist/core/binding-service.d.ts.map +1 -0
- package/dist/core/binding-service.js +281 -0
- package/dist/core/binding-service.js.map +1 -0
- package/dist/core/binding-store.d.ts +23 -0
- package/dist/core/binding-store.d.ts.map +1 -0
- package/dist/core/binding-store.js +154 -0
- package/dist/core/binding-store.js.map +1 -0
- package/dist/core/brand.d.ts +18 -0
- package/dist/core/brand.d.ts.map +1 -0
- package/dist/core/brand.js +22 -0
- package/dist/core/brand.js.map +1 -0
- package/dist/core/capabilities.d.ts +30 -0
- package/dist/core/capabilities.d.ts.map +1 -0
- package/dist/core/capabilities.js +27 -0
- package/dist/core/capabilities.js.map +1 -0
- package/dist/core/client-state-store.d.ts +17 -0
- package/dist/core/client-state-store.d.ts.map +1 -0
- package/dist/core/client-state-store.js +47 -0
- package/dist/core/client-state-store.js.map +1 -0
- package/dist/core/codec/account.d.ts +52 -0
- package/dist/core/codec/account.d.ts.map +1 -0
- package/dist/core/codec/account.js +69 -0
- package/dist/core/codec/account.js.map +1 -0
- package/dist/core/codec/bindings.d.ts +38 -0
- package/dist/core/codec/bindings.d.ts.map +1 -0
- package/dist/core/codec/bindings.js +79 -0
- package/dist/core/codec/bindings.js.map +1 -0
- package/dist/core/codec/operations.d.ts +36 -0
- package/dist/core/codec/operations.d.ts.map +1 -0
- package/dist/core/codec/operations.js +82 -0
- package/dist/core/codec/operations.js.map +1 -0
- package/dist/core/codec/primitives.d.ts +59 -0
- package/dist/core/codec/primitives.d.ts.map +1 -0
- package/dist/core/codec/primitives.js +123 -0
- package/dist/core/codec/primitives.js.map +1 -0
- package/dist/core/codec/proxy-hub.d.ts +43 -0
- package/dist/core/codec/proxy-hub.d.ts.map +1 -0
- package/dist/core/codec/proxy-hub.js +69 -0
- package/dist/core/codec/proxy-hub.js.map +1 -0
- package/dist/core/codec/runtime.d.ts +41 -0
- package/dist/core/codec/runtime.d.ts.map +1 -0
- package/dist/core/codec/runtime.js +66 -0
- package/dist/core/codec/runtime.js.map +1 -0
- package/dist/core/codec.d.ts +43 -0
- package/dist/core/codec.d.ts.map +1 -0
- package/dist/core/codec.js +69 -0
- package/dist/core/codec.js.map +1 -0
- package/dist/core/codex-live-config.d.ts +92 -0
- package/dist/core/codex-live-config.d.ts.map +1 -0
- package/dist/core/codex-live-config.js +263 -0
- package/dist/core/codex-live-config.js.map +1 -0
- package/dist/core/config-service.d.ts +35 -0
- package/dist/core/config-service.d.ts.map +1 -0
- package/dist/core/config-service.js +87 -0
- package/dist/core/config-service.js.map +1 -0
- package/dist/core/config.d.ts +14 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +45 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/db-schema.d.ts +30 -0
- package/dist/core/db-schema.d.ts.map +1 -0
- package/dist/core/db-schema.js +278 -0
- package/dist/core/db-schema.js.map +1 -0
- package/dist/core/db.d.ts +72 -0
- package/dist/core/db.d.ts.map +1 -0
- package/dist/core/db.js +192 -0
- package/dist/core/db.js.map +1 -0
- package/dist/core/doctor-fixes.d.ts +3 -0
- package/dist/core/doctor-fixes.d.ts.map +1 -0
- package/dist/core/doctor-fixes.js +102 -0
- package/dist/core/doctor-fixes.js.map +1 -0
- package/dist/core/doctor-format.d.ts +10 -0
- package/dist/core/doctor-format.d.ts.map +1 -0
- package/dist/core/doctor-format.js +45 -0
- package/dist/core/doctor-format.js.map +1 -0
- package/dist/core/doctor-report.d.ts +3 -0
- package/dist/core/doctor-report.d.ts.map +1 -0
- package/dist/core/doctor-report.js +174 -0
- package/dist/core/doctor-report.js.map +1 -0
- package/dist/core/doctor-scan.d.ts +7 -0
- package/dist/core/doctor-scan.d.ts.map +1 -0
- package/dist/core/doctor-scan.js +139 -0
- package/dist/core/doctor-scan.js.map +1 -0
- package/dist/core/doctor-types.d.ts +89 -0
- package/dist/core/doctor-types.d.ts.map +1 -0
- package/dist/core/doctor-types.js +14 -0
- package/dist/core/doctor-types.js.map +1 -0
- package/dist/core/doctor-utils.d.ts +3 -0
- package/dist/core/doctor-utils.d.ts.map +1 -0
- package/dist/core/doctor-utils.js +36 -0
- package/dist/core/doctor-utils.js.map +1 -0
- package/dist/core/doctor.d.ts +14 -0
- package/dist/core/doctor.d.ts.map +1 -0
- package/dist/core/doctor.js +127 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/events.d.ts +58 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +88 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/journal.d.ts +23 -0
- package/dist/core/journal.d.ts.map +1 -0
- package/dist/core/journal.js +93 -0
- package/dist/core/journal.js.map +1 -0
- package/dist/core/lease-store.d.ts +22 -0
- package/dist/core/lease-store.d.ts.map +1 -0
- package/dist/core/lease-store.js +81 -0
- package/dist/core/lease-store.js.map +1 -0
- package/dist/core/migrate-bindings.d.ts +10 -0
- package/dist/core/migrate-bindings.d.ts.map +1 -0
- package/dist/core/migrate-bindings.js +98 -0
- package/dist/core/migrate-bindings.js.map +1 -0
- package/dist/core/migrate-fs.d.ts +11 -0
- package/dist/core/migrate-fs.d.ts.map +1 -0
- package/dist/core/migrate-fs.js +184 -0
- package/dist/core/migrate-fs.js.map +1 -0
- package/dist/core/model-cache-store.d.ts +27 -0
- package/dist/core/model-cache-store.d.ts.map +1 -0
- package/dist/core/model-cache-store.js +50 -0
- package/dist/core/model-cache-store.js.map +1 -0
- package/dist/core/model-discovery.d.ts +66 -0
- package/dist/core/model-discovery.d.ts.map +1 -0
- package/dist/core/model-discovery.js +127 -0
- package/dist/core/model-discovery.js.map +1 -0
- package/dist/core/model-policy.d.ts +40 -0
- package/dist/core/model-policy.d.ts.map +1 -0
- package/dist/core/model-policy.js +77 -0
- package/dist/core/model-policy.js.map +1 -0
- package/dist/core/model-roles.d.ts +9 -0
- package/dist/core/model-roles.d.ts.map +1 -0
- package/dist/core/model-roles.js +20 -0
- package/dist/core/model-roles.js.map +1 -0
- package/dist/core/mutation-lock.d.ts +31 -0
- package/dist/core/mutation-lock.d.ts.map +1 -0
- package/dist/core/mutation-lock.js +69 -0
- package/dist/core/mutation-lock.js.map +1 -0
- package/dist/core/paths.d.ts +49 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/paths.js +110 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/plugin-loader.d.ts +40 -0
- package/dist/core/plugin-loader.d.ts.map +1 -0
- package/dist/core/plugin-loader.js +184 -0
- package/dist/core/plugin-loader.js.map +1 -0
- package/dist/core/plugin-service.d.ts +32 -0
- package/dist/core/plugin-service.d.ts.map +1 -0
- package/dist/core/plugin-service.js +110 -0
- package/dist/core/plugin-service.js.map +1 -0
- package/dist/core/plugin-store.d.ts +18 -0
- package/dist/core/plugin-store.d.ts.map +1 -0
- package/dist/core/plugin-store.js +50 -0
- package/dist/core/plugin-store.js.map +1 -0
- package/dist/core/pool-store.d.ts +44 -0
- package/dist/core/pool-store.d.ts.map +1 -0
- package/dist/core/pool-store.js +198 -0
- package/dist/core/pool-store.js.map +1 -0
- package/dist/core/preset-store.d.ts +29 -0
- package/dist/core/preset-store.d.ts.map +1 -0
- package/dist/core/preset-store.js +105 -0
- package/dist/core/preset-store.js.map +1 -0
- package/dist/core/profile-service.d.ts +50 -0
- package/dist/core/profile-service.d.ts.map +1 -0
- package/dist/core/profile-service.js +149 -0
- package/dist/core/profile-service.js.map +1 -0
- package/dist/core/profile-store.d.ts +20 -0
- package/dist/core/profile-store.d.ts.map +1 -0
- package/dist/core/profile-store.js +92 -0
- package/dist/core/profile-store.js.map +1 -0
- package/dist/core/profile-synth.d.ts +24 -0
- package/dist/core/profile-synth.d.ts.map +1 -0
- package/dist/core/profile-synth.js +30 -0
- package/dist/core/profile-synth.js.map +1 -0
- package/dist/core/project-root.d.ts +7 -0
- package/dist/core/project-root.d.ts.map +1 -0
- package/dist/core/project-root.js +23 -0
- package/dist/core/project-root.js.map +1 -0
- package/dist/core/proxy-hub-cli.d.ts +3 -0
- package/dist/core/proxy-hub-cli.d.ts.map +1 -0
- package/dist/core/proxy-hub-cli.js +80 -0
- package/dist/core/proxy-hub-cli.js.map +1 -0
- package/dist/core/proxy-hub-routes.d.ts +22 -0
- package/dist/core/proxy-hub-routes.d.ts.map +1 -0
- package/dist/core/proxy-hub-routes.js +92 -0
- package/dist/core/proxy-hub-routes.js.map +1 -0
- package/dist/core/proxy-hub-server.d.ts +59 -0
- package/dist/core/proxy-hub-server.d.ts.map +1 -0
- package/dist/core/proxy-hub-server.js +409 -0
- package/dist/core/proxy-hub-server.js.map +1 -0
- package/dist/core/proxy-hub-service.d.ts +97 -0
- package/dist/core/proxy-hub-service.d.ts.map +1 -0
- package/dist/core/proxy-hub-service.js +553 -0
- package/dist/core/proxy-hub-service.js.map +1 -0
- package/dist/core/proxy-hub-store.d.ts +28 -0
- package/dist/core/proxy-hub-store.d.ts.map +1 -0
- package/dist/core/proxy-hub-store.js +152 -0
- package/dist/core/proxy-hub-store.js.map +1 -0
- package/dist/core/proxy-lifecycle.d.ts +26 -0
- package/dist/core/proxy-lifecycle.d.ts.map +1 -0
- package/dist/core/proxy-lifecycle.js +33 -0
- package/dist/core/proxy-lifecycle.js.map +1 -0
- package/dist/core/proxy-ports.d.ts +50 -0
- package/dist/core/proxy-ports.d.ts.map +1 -0
- package/dist/core/proxy-ports.js +86 -0
- package/dist/core/proxy-ports.js.map +1 -0
- package/dist/core/proxy-service.d.ts +184 -0
- package/dist/core/proxy-service.d.ts.map +1 -0
- package/dist/core/proxy-service.js +860 -0
- package/dist/core/proxy-service.js.map +1 -0
- package/dist/core/quota-guard-policy.d.ts +8 -0
- package/dist/core/quota-guard-policy.d.ts.map +1 -0
- package/dist/core/quota-guard-policy.js +21 -0
- package/dist/core/quota-guard-policy.js.map +1 -0
- package/dist/core/realign-proxy-clients.d.ts +19 -0
- package/dist/core/realign-proxy-clients.d.ts.map +1 -0
- package/dist/core/realign-proxy-clients.js +40 -0
- package/dist/core/realign-proxy-clients.js.map +1 -0
- package/dist/core/refs.d.ts +84 -0
- package/dist/core/refs.d.ts.map +1 -0
- package/dist/core/refs.js +250 -0
- package/dist/core/refs.js.map +1 -0
- package/dist/core/registry.d.ts +46 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +70 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/resolve-source.d.ts +54 -0
- package/dist/core/resolve-source.d.ts.map +1 -0
- package/dist/core/resolve-source.js +148 -0
- package/dist/core/resolve-source.js.map +1 -0
- package/dist/core/runtime-service.d.ts +158 -0
- package/dist/core/runtime-service.d.ts.map +1 -0
- package/dist/core/runtime-service.js +422 -0
- package/dist/core/runtime-service.js.map +1 -0
- package/dist/core/service.d.ts +200 -0
- package/dist/core/service.d.ts.map +1 -0
- package/dist/core/service.js +643 -0
- package/dist/core/service.js.map +1 -0
- package/dist/core/store-snapshot.d.ts +10 -0
- package/dist/core/store-snapshot.d.ts.map +1 -0
- package/dist/core/store-snapshot.js +79 -0
- package/dist/core/store-snapshot.js.map +1 -0
- package/dist/core/store.d.ts +68 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +159 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/tray-runtime.d.ts +15 -0
- package/dist/core/tray-runtime.d.ts.map +1 -0
- package/dist/core/tray-runtime.js +33 -0
- package/dist/core/tray-runtime.js.map +1 -0
- package/dist/core/tray-settings-service.d.ts +7 -0
- package/dist/core/tray-settings-service.d.ts.map +1 -0
- package/dist/core/tray-settings-service.js +24 -0
- package/dist/core/tray-settings-service.js.map +1 -0
- package/dist/core/update.d.ts +26 -0
- package/dist/core/update.d.ts.map +1 -0
- package/dist/core/update.js +128 -0
- package/dist/core/update.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/network/egress/allowlist.d.ts +2 -0
- package/dist/network/egress/allowlist.d.ts.map +1 -0
- package/dist/network/egress/allowlist.js +14 -0
- package/dist/network/egress/allowlist.js.map +1 -0
- package/dist/network/egress/direct.d.ts +17 -0
- package/dist/network/egress/direct.d.ts.map +1 -0
- package/dist/network/egress/direct.js +28 -0
- package/dist/network/egress/direct.js.map +1 -0
- package/dist/network/egress/errors.d.ts +4 -0
- package/dist/network/egress/errors.d.ts.map +1 -0
- package/dist/network/egress/errors.js +8 -0
- package/dist/network/egress/errors.js.map +1 -0
- package/dist/network/egress/index.d.ts +6 -0
- package/dist/network/egress/index.d.ts.map +1 -0
- package/dist/network/egress/index.js +11 -0
- package/dist/network/egress/index.js.map +1 -0
- package/dist/network/egress/types.d.ts +16 -0
- package/dist/network/egress/types.d.ts.map +1 -0
- package/dist/presentation/client-name.d.ts +14 -0
- package/dist/presentation/client-name.d.ts.map +1 -0
- package/dist/presentation/client-name.js +22 -0
- package/dist/presentation/client-name.js.map +1 -0
- package/dist/presentation/layout.d.ts +7 -0
- package/dist/presentation/layout.d.ts.map +1 -0
- package/dist/presentation/layout.js +10 -0
- package/dist/presentation/layout.js.map +1 -0
- package/dist/providers/auth-fingerprint.d.ts +56 -0
- package/dist/providers/auth-fingerprint.d.ts.map +1 -0
- package/dist/providers/auth-fingerprint.js +163 -0
- package/dist/providers/auth-fingerprint.js.map +1 -0
- package/dist/providers/claude.d.ts +43 -0
- package/dist/providers/claude.d.ts.map +1 -0
- package/dist/providers/claude.js +191 -0
- package/dist/providers/claude.js.map +1 -0
- package/dist/providers/codex-identity.d.ts +13 -0
- package/dist/providers/codex-identity.d.ts.map +1 -0
- package/dist/providers/codex-identity.js +69 -0
- package/dist/providers/codex-identity.js.map +1 -0
- package/dist/providers/codex-refresh.d.ts +30 -0
- package/dist/providers/codex-refresh.d.ts.map +1 -0
- package/dist/providers/codex-refresh.js +64 -0
- package/dist/providers/codex-refresh.js.map +1 -0
- package/dist/providers/codex-usage.d.ts +3 -0
- package/dist/providers/codex-usage.d.ts.map +1 -0
- package/dist/providers/codex-usage.js +42 -0
- package/dist/providers/codex-usage.js.map +1 -0
- package/dist/providers/codex.d.ts +61 -0
- package/dist/providers/codex.d.ts.map +1 -0
- package/dist/providers/codex.js +212 -0
- package/dist/providers/codex.js.map +1 -0
- package/dist/providers/gemini-antigravity-oauth.d.ts +83 -0
- package/dist/providers/gemini-antigravity-oauth.d.ts.map +1 -0
- package/dist/providers/gemini-antigravity-oauth.js +343 -0
- package/dist/providers/gemini-antigravity-oauth.js.map +1 -0
- package/dist/providers/gemini-antigravity-state.d.ts +35 -0
- package/dist/providers/gemini-antigravity-state.d.ts.map +1 -0
- package/dist/providers/gemini-antigravity-state.js +433 -0
- package/dist/providers/gemini-antigravity-state.js.map +1 -0
- package/dist/providers/gemini-env.d.ts +8 -0
- package/dist/providers/gemini-env.d.ts.map +1 -0
- package/dist/providers/gemini-env.js +78 -0
- package/dist/providers/gemini-env.js.map +1 -0
- package/dist/providers/gemini-identity.d.ts +2 -0
- package/dist/providers/gemini-identity.d.ts.map +1 -0
- package/dist/providers/gemini-identity.js +14 -0
- package/dist/providers/gemini-identity.js.map +1 -0
- package/dist/providers/gemini-proxy/main.d.ts +3 -0
- package/dist/providers/gemini-proxy/main.d.ts.map +1 -0
- package/dist/providers/gemini-proxy/main.js +176 -0
- package/dist/providers/gemini-proxy/main.js.map +1 -0
- package/dist/providers/gemini-proxy/server.d.ts +57 -0
- package/dist/providers/gemini-proxy/server.d.ts.map +1 -0
- package/dist/providers/gemini-proxy/server.js +1240 -0
- package/dist/providers/gemini-proxy/server.js.map +1 -0
- package/dist/providers/gemini-proxy-entry.d.ts +2 -0
- package/dist/providers/gemini-proxy-entry.d.ts.map +1 -0
- package/dist/providers/gemini-proxy-entry.js +16 -0
- package/dist/providers/gemini-proxy-entry.js.map +1 -0
- package/dist/providers/gemini-proxy-lifecycle.d.ts +11 -0
- package/dist/providers/gemini-proxy-lifecycle.d.ts.map +1 -0
- package/dist/providers/gemini-proxy-lifecycle.js +131 -0
- package/dist/providers/gemini-proxy-lifecycle.js.map +1 -0
- package/dist/providers/gemini.d.ts +137 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +471 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/grok-proxy/auth.d.ts +27 -0
- package/dist/providers/grok-proxy/auth.d.ts.map +1 -0
- package/dist/providers/grok-proxy/auth.js +123 -0
- package/dist/providers/grok-proxy/auth.js.map +1 -0
- package/dist/providers/grok-proxy/main.d.ts +3 -0
- package/dist/providers/grok-proxy/main.d.ts.map +1 -0
- package/dist/providers/grok-proxy/main.js +111 -0
- package/dist/providers/grok-proxy/main.js.map +1 -0
- package/dist/providers/grok-proxy/server.d.ts +46 -0
- package/dist/providers/grok-proxy/server.d.ts.map +1 -0
- package/dist/providers/grok-proxy/server.js +595 -0
- package/dist/providers/grok-proxy/server.js.map +1 -0
- package/dist/providers/grok.d.ts +38 -0
- package/dist/providers/grok.d.ts.map +1 -0
- package/dist/providers/grok.js +250 -0
- package/dist/providers/grok.js.map +1 -0
- package/dist/providers/index.d.ts +14 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +23 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/kiro-secret-store.d.ts +39 -0
- package/dist/providers/kiro-secret-store.d.ts.map +1 -0
- package/dist/providers/kiro-secret-store.js +168 -0
- package/dist/providers/kiro-secret-store.js.map +1 -0
- package/dist/providers/kiro.d.ts +50 -0
- package/dist/providers/kiro.d.ts.map +1 -0
- package/dist/providers/kiro.js +373 -0
- package/dist/providers/kiro.js.map +1 -0
- package/dist/providers/model-policy.d.ts +15 -0
- package/dist/providers/model-policy.d.ts.map +1 -0
- package/dist/providers/model-policy.js +26 -0
- package/dist/providers/model-policy.js.map +1 -0
- package/dist/providers/opencode-auth.d.ts +67 -0
- package/dist/providers/opencode-auth.d.ts.map +1 -0
- package/dist/providers/opencode-auth.js +146 -0
- package/dist/providers/opencode-auth.js.map +1 -0
- package/dist/providers/opencode-cli-entry.d.ts +36 -0
- package/dist/providers/opencode-cli-entry.d.ts.map +1 -0
- package/dist/providers/opencode-cli-entry.js +90 -0
- package/dist/providers/opencode-cli-entry.js.map +1 -0
- package/dist/providers/opencode-proxy/abort.d.ts +8 -0
- package/dist/providers/opencode-proxy/abort.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/abort.js +42 -0
- package/dist/providers/opencode-proxy/abort.js.map +1 -0
- package/dist/providers/opencode-proxy/anthropic-handler.d.ts +4 -0
- package/dist/providers/opencode-proxy/anthropic-handler.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/anthropic-handler.js +108 -0
- package/dist/providers/opencode-proxy/anthropic-handler.js.map +1 -0
- package/dist/providers/opencode-proxy/auth.d.ts +38 -0
- package/dist/providers/opencode-proxy/auth.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/auth.js +128 -0
- package/dist/providers/opencode-proxy/auth.js.map +1 -0
- package/dist/providers/opencode-proxy/body.d.ts +9 -0
- package/dist/providers/opencode-proxy/body.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/body.js +69 -0
- package/dist/providers/opencode-proxy/body.js.map +1 -0
- package/dist/providers/opencode-proxy/catalog-handlers.d.ts +7 -0
- package/dist/providers/opencode-proxy/catalog-handlers.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/catalog-handlers.js +132 -0
- package/dist/providers/opencode-proxy/catalog-handlers.js.map +1 -0
- package/dist/providers/opencode-proxy/catalog.d.ts +41 -0
- package/dist/providers/opencode-proxy/catalog.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/catalog.js +146 -0
- package/dist/providers/opencode-proxy/catalog.js.map +1 -0
- package/dist/providers/opencode-proxy/cli.d.ts +2 -0
- package/dist/providers/opencode-proxy/cli.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/cli.js +162 -0
- package/dist/providers/opencode-proxy/cli.js.map +1 -0
- package/dist/providers/opencode-proxy/constants.d.ts +13 -0
- package/dist/providers/opencode-proxy/constants.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/constants.js +15 -0
- package/dist/providers/opencode-proxy/constants.js.map +1 -0
- package/dist/providers/opencode-proxy/context-budget.d.ts +31 -0
- package/dist/providers/opencode-proxy/context-budget.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/context-budget.js +165 -0
- package/dist/providers/opencode-proxy/context-budget.js.map +1 -0
- package/dist/providers/opencode-proxy/errors.d.ts +5 -0
- package/dist/providers/opencode-proxy/errors.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/errors.js +45 -0
- package/dist/providers/opencode-proxy/errors.js.map +1 -0
- package/dist/providers/opencode-proxy/forwarders.d.ts +7 -0
- package/dist/providers/opencode-proxy/forwarders.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/forwarders.js +214 -0
- package/dist/providers/opencode-proxy/forwarders.js.map +1 -0
- package/dist/providers/opencode-proxy/http.d.ts +11 -0
- package/dist/providers/opencode-proxy/http.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/http.js +97 -0
- package/dist/providers/opencode-proxy/http.js.map +1 -0
- package/dist/providers/opencode-proxy/models.d.ts +42 -0
- package/dist/providers/opencode-proxy/models.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/models.js +148 -0
- package/dist/providers/opencode-proxy/models.js.map +1 -0
- package/dist/providers/opencode-proxy/openai-handler.d.ts +5 -0
- package/dist/providers/opencode-proxy/openai-handler.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/openai-handler.js +115 -0
- package/dist/providers/opencode-proxy/openai-handler.js.map +1 -0
- package/dist/providers/opencode-proxy/router.d.ts +4 -0
- package/dist/providers/opencode-proxy/router.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/router.js +65 -0
- package/dist/providers/opencode-proxy/router.js.map +1 -0
- package/dist/providers/opencode-proxy/runtime.d.ts +23 -0
- package/dist/providers/opencode-proxy/runtime.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/runtime.js +158 -0
- package/dist/providers/opencode-proxy/runtime.js.map +1 -0
- package/dist/providers/opencode-proxy/server.d.ts +13 -0
- package/dist/providers/opencode-proxy/server.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/server.js +52 -0
- package/dist/providers/opencode-proxy/server.js.map +1 -0
- package/dist/providers/opencode-proxy/stream.d.ts +4 -0
- package/dist/providers/opencode-proxy/stream.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/stream.js +71 -0
- package/dist/providers/opencode-proxy/stream.js.map +1 -0
- package/dist/providers/opencode-proxy/translate-stream.d.ts +3 -0
- package/dist/providers/opencode-proxy/translate-stream.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/translate-stream.js +205 -0
- package/dist/providers/opencode-proxy/translate-stream.js.map +1 -0
- package/dist/providers/opencode-proxy/translate.d.ts +11 -0
- package/dist/providers/opencode-proxy/translate.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/translate.js +250 -0
- package/dist/providers/opencode-proxy/translate.js.map +1 -0
- package/dist/providers/opencode-proxy/types.d.ts +110 -0
- package/dist/providers/opencode-proxy/types.d.ts.map +1 -0
- package/dist/providers/opencode-proxy/types.js +38 -0
- package/dist/providers/opencode-proxy/types.js.map +1 -0
- package/dist/providers/opencode-proxy-lifecycle.d.ts +11 -0
- package/dist/providers/opencode-proxy-lifecycle.d.ts.map +1 -0
- package/dist/providers/opencode-proxy-lifecycle.js +144 -0
- package/dist/providers/opencode-proxy-lifecycle.js.map +1 -0
- package/dist/providers/opencode.d.ts +40 -0
- package/dist/providers/opencode.d.ts.map +1 -0
- package/dist/providers/opencode.js +190 -0
- package/dist/providers/opencode.js.map +1 -0
- package/dist/providers/protocol/anthropic-convert.d.ts +12 -0
- package/dist/providers/protocol/anthropic-convert.d.ts.map +1 -0
- package/dist/providers/protocol/anthropic-convert.js +113 -0
- package/dist/providers/protocol/anthropic-convert.js.map +1 -0
- package/dist/providers/protocol/anthropic-helpers.d.ts +13 -0
- package/dist/providers/protocol/anthropic-helpers.d.ts.map +1 -0
- package/dist/providers/protocol/anthropic-helpers.js +179 -0
- package/dist/providers/protocol/anthropic-helpers.js.map +1 -0
- package/dist/providers/protocol/anthropic-stream-reader.d.ts +13 -0
- package/dist/providers/protocol/anthropic-stream-reader.d.ts.map +1 -0
- package/dist/providers/protocol/anthropic-stream-reader.js +46 -0
- package/dist/providers/protocol/anthropic-stream-reader.js.map +1 -0
- package/dist/providers/protocol/anthropic-stream.d.ts +7 -0
- package/dist/providers/protocol/anthropic-stream.d.ts.map +1 -0
- package/dist/providers/protocol/anthropic-stream.js +318 -0
- package/dist/providers/protocol/anthropic-stream.js.map +1 -0
- package/dist/providers/protocol/anthropic-types.d.ts +240 -0
- package/dist/providers/protocol/anthropic-types.d.ts.map +1 -0
- package/dist/providers/protocol/anthropic.d.ts +20 -0
- package/dist/providers/protocol/anthropic.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-anthropic.d.ts +15 -0
- package/dist/providers/protocol/gemini/translate-anthropic.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-anthropic.js +84 -0
- package/dist/providers/protocol/gemini/translate-anthropic.js.map +1 -0
- package/dist/providers/protocol/gemini/translate-chat.d.ts +5 -0
- package/dist/providers/protocol/gemini/translate-chat.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-chat.js +142 -0
- package/dist/providers/protocol/gemini/translate-chat.js.map +1 -0
- package/dist/providers/protocol/gemini/translate-models.d.ts +40 -0
- package/dist/providers/protocol/gemini/translate-models.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-models.js +186 -0
- package/dist/providers/protocol/gemini/translate-models.js.map +1 -0
- package/dist/providers/protocol/gemini/translate-responses.d.ts +6 -0
- package/dist/providers/protocol/gemini/translate-responses.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-responses.js +187 -0
- package/dist/providers/protocol/gemini/translate-responses.js.map +1 -0
- package/dist/providers/protocol/gemini/translate-schema.d.ts +9 -0
- package/dist/providers/protocol/gemini/translate-schema.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-schema.js +48 -0
- package/dist/providers/protocol/gemini/translate-schema.js.map +1 -0
- package/dist/providers/protocol/gemini/translate-shared.d.ts +8 -0
- package/dist/providers/protocol/gemini/translate-shared.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-shared.js +47 -0
- package/dist/providers/protocol/gemini/translate-shared.js.map +1 -0
- package/dist/providers/protocol/gemini/translate-thinking.d.ts +7 -0
- package/dist/providers/protocol/gemini/translate-thinking.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate-thinking.js +65 -0
- package/dist/providers/protocol/gemini/translate-thinking.js.map +1 -0
- package/dist/providers/protocol/gemini/translate-types.d.ts +133 -0
- package/dist/providers/protocol/gemini/translate-types.d.ts.map +1 -0
- package/dist/providers/protocol/gemini/translate.d.ts +7 -0
- package/dist/providers/protocol/gemini/translate.d.ts.map +1 -0
- package/dist/providers/protocol/json-schema.d.ts +52 -0
- package/dist/providers/protocol/json-schema.d.ts.map +1 -0
- package/dist/providers/protocol/json-schema.js +189 -0
- package/dist/providers/protocol/json-schema.js.map +1 -0
- package/dist/providers/protocol/token-estimate.d.ts +15 -0
- package/dist/providers/protocol/token-estimate.d.ts.map +1 -0
- package/dist/providers/protocol/token-estimate.js +34 -0
- package/dist/providers/protocol/token-estimate.js.map +1 -0
- package/dist/providers/proxy-hub-backend.d.ts +4 -0
- package/dist/providers/proxy-hub-backend.d.ts.map +1 -0
- package/dist/providers/proxy-hub-backend.js +11 -0
- package/dist/providers/proxy-hub-backend.js.map +1 -0
- package/dist/providers/proxy-process.d.ts +35 -0
- package/dist/providers/proxy-process.d.ts.map +1 -0
- package/dist/providers/proxy-process.js +119 -0
- package/dist/providers/proxy-process.js.map +1 -0
- package/dist/providers/proxy-shared.d.ts +43 -0
- package/dist/providers/proxy-shared.d.ts.map +1 -0
- package/dist/providers/proxy-shared.js +128 -0
- package/dist/providers/proxy-shared.js.map +1 -0
- package/dist/providers/quota-guard.d.ts +49 -0
- package/dist/providers/quota-guard.d.ts.map +1 -0
- package/dist/providers/quota-guard.js +107 -0
- package/dist/providers/quota-guard.js.map +1 -0
- package/dist/providers/reasoning.d.ts +27 -0
- package/dist/providers/reasoning.d.ts.map +1 -0
- package/dist/providers/reasoning.js +61 -0
- package/dist/providers/reasoning.js.map +1 -0
- package/dist/providers/upstream-policy.d.ts +33 -0
- package/dist/providers/upstream-policy.d.ts.map +1 -0
- package/dist/providers/upstream-policy.js +97 -0
- package/dist/providers/upstream-policy.js.map +1 -0
- package/dist/public-types.d.ts +3 -0
- package/dist/public-types.d.ts.map +1 -0
- package/dist/public.d.ts +19 -0
- package/dist/public.d.ts.map +1 -0
- package/dist/public.js +16 -0
- package/dist/public.js.map +1 -0
- package/dist/sources/account-adapters.d.ts +64 -0
- package/dist/sources/account-adapters.d.ts.map +1 -0
- package/dist/sources/account-adapters.js +205 -0
- package/dist/sources/account-adapters.js.map +1 -0
- package/dist/sources/gateway-adapters.d.ts +26 -0
- package/dist/sources/gateway-adapters.d.ts.map +1 -0
- package/dist/sources/gateway-adapters.js +43 -0
- package/dist/sources/gateway-adapters.js.map +1 -0
- package/dist/sources/kiro-proxy-bin.d.ts +41 -0
- package/dist/sources/kiro-proxy-bin.d.ts.map +1 -0
- package/dist/sources/kiro-proxy-bin.js +140 -0
- package/dist/sources/kiro-proxy-bin.js.map +1 -0
- package/dist/sources/proxy-hub-adapters.d.ts +7 -0
- package/dist/sources/proxy-hub-adapters.d.ts.map +1 -0
- package/dist/sources/proxy-hub-adapters.js +26 -0
- package/dist/sources/proxy-hub-adapters.js.map +1 -0
- package/dist/testing.d.ts +9 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +6 -0
- package/dist/tray/AnyPickTray.swift +3 -0
- package/dist/tray/activity.d.ts +18 -0
- package/dist/tray/activity.d.ts.map +1 -0
- package/dist/tray/activity.js +51 -0
- package/dist/tray/activity.js.map +1 -0
- package/dist/tray/app-icons/icon-1024.png +0 -0
- package/dist/tray/app-icons/icon-128.png +0 -0
- package/dist/tray/app-icons/icon-16.png +0 -0
- package/dist/tray/app-icons/icon-256.png +0 -0
- package/dist/tray/app-icons/icon-32.png +0 -0
- package/dist/tray/app-icons/icon-512.png +0 -0
- package/dist/tray/app-icons/icon-64.png +0 -0
- package/dist/tray/icons/claude.svg +1 -0
- package/dist/tray/icons/googlegemini.svg +1 -0
- package/dist/tray/icons/grok.svg +1 -0
- package/dist/tray/icons/kiro.svg +1 -0
- package/dist/tray/icons/openai.svg +1 -0
- package/dist/tray/icons/opencode.svg +1 -0
- package/dist/tray/icons/openrouter.svg +1 -0
- package/dist/tray/model-role-actions.d.ts +15 -0
- package/dist/tray/model-role-actions.d.ts.map +1 -0
- package/dist/tray/model-role-actions.js +41 -0
- package/dist/tray/model-role-actions.js.map +1 -0
- package/dist/tray/native/AccountsPanel.swift +434 -0
- package/dist/tray/native/AppEntry.swift +229 -0
- package/dist/tray/native/MainWindow.swift +300 -0
- package/dist/tray/native/ManageFormChrome.swift +332 -0
- package/dist/tray/native/ManageForms.swift +472 -0
- package/dist/tray/native/ManagePanel.swift +356 -0
- package/dist/tray/native/Models.swift +259 -0
- package/dist/tray/native/ModelsEditor.swift +390 -0
- package/dist/tray/native/ModelsOverview.swift +76 -0
- package/dist/tray/native/ModelsPickers.swift +273 -0
- package/dist/tray/native/ModelsRoutePickers.swift +718 -0
- package/dist/tray/native/MonitorPanel.swift +375 -0
- package/dist/tray/native/ProxyPanel.swift +326 -0
- package/dist/tray/native/QuickActivityRow.swift +40 -0
- package/dist/tray/native/QuickNav.swift +62 -0
- package/dist/tray/native/QuickPanel.swift +447 -0
- package/dist/tray/native/QuickRouteRow.swift +189 -0
- package/dist/tray/native/QuickServiceRows.swift +292 -0
- package/dist/tray/native/RoutingIssues.swift +293 -0
- package/dist/tray/native/SettingsPanel.swift +225 -0
- package/dist/tray/native/SharedUI.swift +681 -0
- package/dist/tray/native/Store.swift +540 -0
- package/dist/tray/native/Theme.swift +139 -0
- package/dist/tray/native/TrayChrome.swift +657 -0
- package/dist/tray/native/TrayControls.swift +475 -0
- package/dist/tray/native/TrayPreferences.swift +46 -0
- package/dist/tray/native/sources.txt +26 -0
- package/dist/tray/native-sources.d.ts +8 -0
- package/dist/tray/native-sources.d.ts.map +1 -0
- package/dist/tray/native-sources.js +19 -0
- package/dist/tray/native-sources.js.map +1 -0
- package/dist/tray/protocol.d.ts +79 -0
- package/dist/tray/protocol.d.ts.map +1 -0
- package/dist/tray/protocol.js +145 -0
- package/dist/tray/protocol.js.map +1 -0
- package/dist/tray/settings.d.ts +15 -0
- package/dist/tray/settings.d.ts.map +1 -0
- package/dist/tray/settings.js +72 -0
- package/dist/tray/settings.js.map +1 -0
- package/dist/tray/snapshot-client-routes.d.ts +11 -0
- package/dist/tray/snapshot-client-routes.d.ts.map +1 -0
- package/dist/tray/snapshot-client-routes.js +305 -0
- package/dist/tray/snapshot-client-routes.js.map +1 -0
- package/dist/tray/snapshot-helpers.d.ts +20 -0
- package/dist/tray/snapshot-helpers.d.ts.map +1 -0
- package/dist/tray/snapshot-helpers.js +74 -0
- package/dist/tray/snapshot-helpers.js.map +1 -0
- package/dist/tray/snapshot-hub.d.ts +7 -0
- package/dist/tray/snapshot-hub.d.ts.map +1 -0
- package/dist/tray/snapshot-hub.js +93 -0
- package/dist/tray/snapshot-hub.js.map +1 -0
- package/dist/tray/snapshot-resources.d.ts +19 -0
- package/dist/tray/snapshot-resources.d.ts.map +1 -0
- package/dist/tray/snapshot-resources.js +216 -0
- package/dist/tray/snapshot-resources.js.map +1 -0
- package/dist/tray/snapshot-types.d.ts +229 -0
- package/dist/tray/snapshot-types.d.ts.map +1 -0
- package/dist/tray/snapshot-usage.d.ts +9 -0
- package/dist/tray/snapshot-usage.d.ts.map +1 -0
- package/dist/tray/snapshot-usage.js +35 -0
- package/dist/tray/snapshot-usage.js.map +1 -0
- package/dist/tray/snapshot.d.ts +7 -0
- package/dist/tray/snapshot.d.ts.map +1 -0
- package/dist/tray/snapshot.js +48 -0
- package/dist/tray/snapshot.js.map +1 -0
- package/dist/tray/supervisor-actions.d.ts +19 -0
- package/dist/tray/supervisor-actions.d.ts.map +1 -0
- package/dist/tray/supervisor-actions.js +224 -0
- package/dist/tray/supervisor-actions.js.map +1 -0
- package/dist/tray/supervisor-activity.d.ts +5 -0
- package/dist/tray/supervisor-activity.d.ts.map +1 -0
- package/dist/tray/supervisor-activity.js +19 -0
- package/dist/tray/supervisor-activity.js.map +1 -0
- package/dist/tray/supervisor-errors.d.ts +9 -0
- package/dist/tray/supervisor-errors.d.ts.map +1 -0
- package/dist/tray/supervisor-errors.js +91 -0
- package/dist/tray/supervisor-errors.js.map +1 -0
- package/dist/tray/supervisor-logs.d.ts +6 -0
- package/dist/tray/supervisor-logs.d.ts.map +1 -0
- package/dist/tray/supervisor-logs.js +52 -0
- package/dist/tray/supervisor-logs.js.map +1 -0
- package/dist/tray/supervisor-mutations.d.ts +14 -0
- package/dist/tray/supervisor-mutations.d.ts.map +1 -0
- package/dist/tray/supervisor-mutations.js +218 -0
- package/dist/tray/supervisor-mutations.js.map +1 -0
- package/dist/tray/supervisor-native.d.ts +22 -0
- package/dist/tray/supervisor-native.d.ts.map +1 -0
- package/dist/tray/supervisor-native.js +227 -0
- package/dist/tray/supervisor-native.js.map +1 -0
- package/dist/tray/supervisor-proxies.d.ts +6 -0
- package/dist/tray/supervisor-proxies.d.ts.map +1 -0
- package/dist/tray/supervisor-proxies.js +37 -0
- package/dist/tray/supervisor-proxies.js.map +1 -0
- package/dist/tray/supervisor-tauri.d.ts +13 -0
- package/dist/tray/supervisor-tauri.d.ts.map +1 -0
- package/dist/tray/supervisor-tauri.js +36 -0
- package/dist/tray/supervisor-tauri.js.map +1 -0
- package/dist/tray/supervisor.d.ts +17 -0
- package/dist/tray/supervisor.d.ts.map +1 -0
- package/dist/tray/supervisor.js +372 -0
- package/dist/tray/supervisor.js.map +1 -0
- package/dist/tray/terminal-launcher.d.ts +12 -0
- package/dist/tray/terminal-launcher.d.ts.map +1 -0
- package/dist/tray/terminal-launcher.js +130 -0
- package/dist/tray/terminal-launcher.js.map +1 -0
- package/dist/tui/actions/ensure-proxy-up.d.ts +15 -0
- package/dist/tui/actions/ensure-proxy-up.d.ts.map +1 -0
- package/dist/tui/actions/ensure-proxy-up.js +41 -0
- package/dist/tui/actions/ensure-proxy-up.js.map +1 -0
- package/dist/tui/actions/use-account-actions.d.ts +35 -0
- package/dist/tui/actions/use-account-actions.d.ts.map +1 -0
- package/dist/tui/actions/use-account-actions.js +527 -0
- package/dist/tui/actions/use-account-actions.js.map +1 -0
- package/dist/tui/actions/use-app-bindings.d.ts +83 -0
- package/dist/tui/actions/use-app-bindings.d.ts.map +1 -0
- package/dist/tui/actions/use-app-bindings.js +472 -0
- package/dist/tui/actions/use-app-bindings.js.map +1 -0
- package/dist/tui/actions/use-gateway-actions.d.ts +45 -0
- package/dist/tui/actions/use-gateway-actions.d.ts.map +1 -0
- package/dist/tui/actions/use-gateway-actions.js +370 -0
- package/dist/tui/actions/use-gateway-actions.js.map +1 -0
- package/dist/tui/actions/use-home-filter.d.ts +24 -0
- package/dist/tui/actions/use-home-filter.d.ts.map +1 -0
- package/dist/tui/actions/use-home-filter.js +48 -0
- package/dist/tui/actions/use-home-filter.js.map +1 -0
- package/dist/tui/actions/use-model-role-editor.d.ts +44 -0
- package/dist/tui/actions/use-model-role-editor.d.ts.map +1 -0
- package/dist/tui/actions/use-model-role-editor.js +68 -0
- package/dist/tui/actions/use-model-role-editor.js.map +1 -0
- package/dist/tui/actions/use-provider-filter.d.ts +10 -0
- package/dist/tui/actions/use-provider-filter.d.ts.map +1 -0
- package/dist/tui/actions/use-provider-filter.js +22 -0
- package/dist/tui/actions/use-provider-filter.js.map +1 -0
- package/dist/tui/actions/use-proxy-actions.d.ts +31 -0
- package/dist/tui/actions/use-proxy-actions.d.ts.map +1 -0
- package/dist/tui/actions/use-proxy-actions.js +474 -0
- package/dist/tui/actions/use-proxy-actions.js.map +1 -0
- package/dist/tui/actions/use-text-input-submit.d.ts +16 -0
- package/dist/tui/actions/use-text-input-submit.d.ts.map +1 -0
- package/dist/tui/actions/use-text-input-submit.js +96 -0
- package/dist/tui/actions/use-text-input-submit.js.map +1 -0
- package/dist/tui/actions/use-tray-runtime-actions.d.ts +18 -0
- package/dist/tui/actions/use-tray-runtime-actions.d.ts.map +1 -0
- package/dist/tui/actions/use-tray-runtime-actions.js +78 -0
- package/dist/tui/actions/use-tray-runtime-actions.js.map +1 -0
- package/dist/tui/app-ui-helpers.d.ts +14 -0
- package/dist/tui/app-ui-helpers.d.ts.map +1 -0
- package/dist/tui/app-ui-helpers.js +48 -0
- package/dist/tui/app-ui-helpers.js.map +1 -0
- package/dist/tui/app-ui.d.ts +19 -0
- package/dist/tui/app-ui.d.ts.map +1 -0
- package/dist/tui/app-ui.js +98 -0
- package/dist/tui/app-ui.js.map +1 -0
- package/dist/tui/components/chrome/header.d.ts +39 -0
- package/dist/tui/components/chrome/header.d.ts.map +1 -0
- package/dist/tui/components/chrome/header.js +161 -0
- package/dist/tui/components/chrome/header.js.map +1 -0
- package/dist/tui/components/chrome/inputs.d.ts +34 -0
- package/dist/tui/components/chrome/inputs.d.ts.map +1 -0
- package/dist/tui/components/chrome/inputs.js +82 -0
- package/dist/tui/components/chrome/inputs.js.map +1 -0
- package/dist/tui/components/chrome/layout.d.ts +61 -0
- package/dist/tui/components/chrome/layout.d.ts.map +1 -0
- package/dist/tui/components/chrome/layout.js +119 -0
- package/dist/tui/components/chrome/layout.js.map +1 -0
- package/dist/tui/components/chrome/legacy.d.ts +84 -0
- package/dist/tui/components/chrome/legacy.d.ts.map +1 -0
- package/dist/tui/components/chrome/legacy.js +6 -0
- package/dist/tui/components/chrome/rows.d.ts +89 -0
- package/dist/tui/components/chrome/rows.d.ts.map +1 -0
- package/dist/tui/components/chrome/rows.js +151 -0
- package/dist/tui/components/chrome/rows.js.map +1 -0
- package/dist/tui/components/chrome/status.d.ts +50 -0
- package/dist/tui/components/chrome/status.d.ts.map +1 -0
- package/dist/tui/components/chrome/status.js +157 -0
- package/dist/tui/components/chrome/status.js.map +1 -0
- package/dist/tui/components/chrome.d.ts +7 -0
- package/dist/tui/components/chrome.d.ts.map +1 -0
- package/dist/tui/components/chrome.js +7 -0
- package/dist/tui/components.d.ts +26 -0
- package/dist/tui/components.d.ts.map +1 -0
- package/dist/tui/components.js +182 -0
- package/dist/tui/components.js.map +1 -0
- package/dist/tui/model/anypick.d.ts +106 -0
- package/dist/tui/model/anypick.d.ts.map +1 -0
- package/dist/tui/model/anypick.js +116 -0
- package/dist/tui/model/anypick.js.map +1 -0
- package/dist/tui/model/bindings.d.ts +39 -0
- package/dist/tui/model/bindings.d.ts.map +1 -0
- package/dist/tui/model/bindings.js +102 -0
- package/dist/tui/model/bindings.js.map +1 -0
- package/dist/tui/model/detail.d.ts +6 -0
- package/dist/tui/model/detail.d.ts.map +1 -0
- package/dist/tui/model/detail.js +85 -0
- package/dist/tui/model/detail.js.map +1 -0
- package/dist/tui/model/gateway.d.ts +46 -0
- package/dist/tui/model/gateway.d.ts.map +1 -0
- package/dist/tui/model/gateway.js +134 -0
- package/dist/tui/model/gateway.js.map +1 -0
- package/dist/tui/model/home-format.d.ts +52 -0
- package/dist/tui/model/home-format.d.ts.map +1 -0
- package/dist/tui/model/home-format.js +64 -0
- package/dist/tui/model/home-format.js.map +1 -0
- package/dist/tui/model/home-load.d.ts +8 -0
- package/dist/tui/model/home-load.d.ts.map +1 -0
- package/dist/tui/model/home-load.js +244 -0
- package/dist/tui/model/home-load.js.map +1 -0
- package/dist/tui/model/identity.d.ts +53 -0
- package/dist/tui/model/identity.d.ts.map +1 -0
- package/dist/tui/model/identity.js +176 -0
- package/dist/tui/model/identity.js.map +1 -0
- package/dist/tui/model/line-editor.d.ts +99 -0
- package/dist/tui/model/line-editor.d.ts.map +1 -0
- package/dist/tui/model/line-editor.js +186 -0
- package/dist/tui/model/line-editor.js.map +1 -0
- package/dist/tui/model/names.d.ts +28 -0
- package/dist/tui/model/names.d.ts.map +1 -0
- package/dist/tui/model/names.js +42 -0
- package/dist/tui/model/names.js.map +1 -0
- package/dist/tui/model/pool.d.ts +11 -0
- package/dist/tui/model/pool.d.ts.map +1 -0
- package/dist/tui/model/pool.js +115 -0
- package/dist/tui/model/pool.js.map +1 -0
- package/dist/tui/model/provider-filter.d.ts +14 -0
- package/dist/tui/model/provider-filter.d.ts.map +1 -0
- package/dist/tui/model/provider-filter.js +46 -0
- package/dist/tui/model/provider-filter.js.map +1 -0
- package/dist/tui/model/proxy-hub.d.ts +23 -0
- package/dist/tui/model/proxy-hub.d.ts.map +1 -0
- package/dist/tui/model/proxy-hub.js +69 -0
- package/dist/tui/model/proxy-hub.js.map +1 -0
- package/dist/tui/model/proxy-labels.d.ts +5 -0
- package/dist/tui/model/proxy-labels.d.ts.map +1 -0
- package/dist/tui/model/proxy-labels.js +18 -0
- package/dist/tui/model/proxy-labels.js.map +1 -0
- package/dist/tui/model/proxy.d.ts +15 -0
- package/dist/tui/model/proxy.d.ts.map +1 -0
- package/dist/tui/model/proxy.js +214 -0
- package/dist/tui/model/proxy.js.map +1 -0
- package/dist/tui/model/root.d.ts +20 -0
- package/dist/tui/model/root.d.ts.map +1 -0
- package/dist/tui/model/root.js +126 -0
- package/dist/tui/model/root.js.map +1 -0
- package/dist/tui/model/route-builder.d.ts +25 -0
- package/dist/tui/model/route-builder.d.ts.map +1 -0
- package/dist/tui/model/route-builder.js +199 -0
- package/dist/tui/model/route-builder.js.map +1 -0
- package/dist/tui/model/screen.d.ts +260 -0
- package/dist/tui/model/screen.d.ts.map +1 -0
- package/dist/tui/model/types.d.ts +179 -0
- package/dist/tui/model/types.d.ts.map +1 -0
- package/dist/tui/model.d.ts +18 -0
- package/dist/tui/model.d.ts.map +1 -0
- package/dist/tui/model.js +17 -0
- package/dist/tui/proxy-models-fetch.d.ts +34 -0
- package/dist/tui/proxy-models-fetch.d.ts.map +1 -0
- package/dist/tui/proxy-models-fetch.js +87 -0
- package/dist/tui/proxy-models-fetch.js.map +1 -0
- package/dist/tui/routes/account.d.ts +4 -0
- package/dist/tui/routes/account.d.ts.map +1 -0
- package/dist/tui/routes/account.js +327 -0
- package/dist/tui/routes/account.js.map +1 -0
- package/dist/tui/routes/apps.d.ts +3 -0
- package/dist/tui/routes/apps.d.ts.map +1 -0
- package/dist/tui/routes/apps.js +296 -0
- package/dist/tui/routes/apps.js.map +1 -0
- package/dist/tui/routes/common.d.ts +4 -0
- package/dist/tui/routes/common.d.ts.map +1 -0
- package/dist/tui/routes/common.js +117 -0
- package/dist/tui/routes/common.js.map +1 -0
- package/dist/tui/routes/context.d.ts +43 -0
- package/dist/tui/routes/context.d.ts.map +1 -0
- package/dist/tui/routes/gateway.d.ts +3 -0
- package/dist/tui/routes/gateway.d.ts.map +1 -0
- package/dist/tui/routes/gateway.js +199 -0
- package/dist/tui/routes/gateway.js.map +1 -0
- package/dist/tui/routes/proxy.d.ts +3 -0
- package/dist/tui/routes/proxy.d.ts.map +1 -0
- package/dist/tui/routes/proxy.js +234 -0
- package/dist/tui/routes/proxy.js.map +1 -0
- package/dist/tui/screens/account-detail.d.ts +14 -0
- package/dist/tui/screens/account-detail.d.ts.map +1 -0
- package/dist/tui/screens/account-detail.js +98 -0
- package/dist/tui/screens/account-detail.js.map +1 -0
- package/dist/tui/screens/accounts-home.d.ts +42 -0
- package/dist/tui/screens/accounts-home.d.ts.map +1 -0
- package/dist/tui/screens/accounts-home.js +321 -0
- package/dist/tui/screens/accounts-home.js.map +1 -0
- package/dist/tui/screens/add-account.d.ts +70 -0
- package/dist/tui/screens/add-account.d.ts.map +1 -0
- package/dist/tui/screens/add-account.js +323 -0
- package/dist/tui/screens/add-account.js.map +1 -0
- package/dist/tui/screens/anypick-home.d.ts +39 -0
- package/dist/tui/screens/anypick-home.d.ts.map +1 -0
- package/dist/tui/screens/anypick-home.js +253 -0
- package/dist/tui/screens/anypick-home.js.map +1 -0
- package/dist/tui/screens/anypick-preview.d.ts +13 -0
- package/dist/tui/screens/anypick-preview.d.ts.map +1 -0
- package/dist/tui/screens/anypick-preview.js +49 -0
- package/dist/tui/screens/anypick-preview.js.map +1 -0
- package/dist/tui/screens/app-route-preview.d.ts +14 -0
- package/dist/tui/screens/app-route-preview.d.ts.map +1 -0
- package/dist/tui/screens/app-route-preview.js +35 -0
- package/dist/tui/screens/app-route-preview.js.map +1 -0
- package/dist/tui/screens/app-route-source.d.ts +15 -0
- package/dist/tui/screens/app-route-source.d.ts.map +1 -0
- package/dist/tui/screens/app-route-source.js +97 -0
- package/dist/tui/screens/app-route-source.js.map +1 -0
- package/dist/tui/screens/apps-home.d.ts +22 -0
- package/dist/tui/screens/apps-home.d.ts.map +1 -0
- package/dist/tui/screens/apps-home.js +111 -0
- package/dist/tui/screens/apps-home.js.map +1 -0
- package/dist/tui/screens/confirm.d.ts +19 -0
- package/dist/tui/screens/confirm.d.ts.map +1 -0
- package/dist/tui/screens/confirm.js +42 -0
- package/dist/tui/screens/confirm.js.map +1 -0
- package/dist/tui/screens/credential-form.d.ts +30 -0
- package/dist/tui/screens/credential-form.d.ts.map +1 -0
- package/dist/tui/screens/credential-form.js +241 -0
- package/dist/tui/screens/credential-form.js.map +1 -0
- package/dist/tui/screens/gateway-connection-form.d.ts +16 -0
- package/dist/tui/screens/gateway-connection-form.d.ts.map +1 -0
- package/dist/tui/screens/gateway-connection-form.js +127 -0
- package/dist/tui/screens/gateway-connection-form.js.map +1 -0
- package/dist/tui/screens/gateway-pick-provider.d.ts +19 -0
- package/dist/tui/screens/gateway-pick-provider.d.ts.map +1 -0
- package/dist/tui/screens/gateway-pick-provider.js +62 -0
- package/dist/tui/screens/gateway-pick-provider.js.map +1 -0
- package/dist/tui/screens/gateways-home.d.ts +38 -0
- package/dist/tui/screens/gateways-home.d.ts.map +1 -0
- package/dist/tui/screens/gateways-home.js +247 -0
- package/dist/tui/screens/gateways-home.js.map +1 -0
- package/dist/tui/screens/health.d.ts +16 -0
- package/dist/tui/screens/health.d.ts.map +1 -0
- package/dist/tui/screens/health.js +109 -0
- package/dist/tui/screens/health.js.map +1 -0
- package/dist/tui/screens/help.d.ts +10 -0
- package/dist/tui/screens/help.d.ts.map +1 -0
- package/dist/tui/screens/help.js +213 -0
- package/dist/tui/screens/help.js.map +1 -0
- package/dist/tui/screens/manage-apps.d.ts +29 -0
- package/dist/tui/screens/manage-apps.d.ts.map +1 -0
- package/dist/tui/screens/manage-apps.js +165 -0
- package/dist/tui/screens/manage-apps.js.map +1 -0
- package/dist/tui/screens/proxy-board-helpers.d.ts +9 -0
- package/dist/tui/screens/proxy-board-helpers.d.ts.map +1 -0
- package/dist/tui/screens/proxy-board-helpers.js +70 -0
- package/dist/tui/screens/proxy-board-helpers.js.map +1 -0
- package/dist/tui/screens/proxy-board.d.ts +43 -0
- package/dist/tui/screens/proxy-board.d.ts.map +1 -0
- package/dist/tui/screens/proxy-board.js +351 -0
- package/dist/tui/screens/proxy-board.js.map +1 -0
- package/dist/tui/screens/proxy-hub.d.ts +21 -0
- package/dist/tui/screens/proxy-hub.d.ts.map +1 -0
- package/dist/tui/screens/proxy-hub.js +150 -0
- package/dist/tui/screens/proxy-hub.js.map +1 -0
- package/dist/tui/screens/proxy-models-utils.d.ts +13 -0
- package/dist/tui/screens/proxy-models-utils.d.ts.map +1 -0
- package/dist/tui/screens/proxy-models-utils.js +53 -0
- package/dist/tui/screens/proxy-models-utils.js.map +1 -0
- package/dist/tui/screens/proxy-models.d.ts +65 -0
- package/dist/tui/screens/proxy-models.d.ts.map +1 -0
- package/dist/tui/screens/proxy-models.js +252 -0
- package/dist/tui/screens/proxy-models.js.map +1 -0
- package/dist/tui/screens/proxy.d.ts +26 -0
- package/dist/tui/screens/proxy.d.ts.map +1 -0
- package/dist/tui/screens/text-input.d.ts +18 -0
- package/dist/tui/screens/text-input.d.ts.map +1 -0
- package/dist/tui/screens/text-input.js +67 -0
- package/dist/tui/screens/text-input.js.map +1 -0
- package/dist/tui/screens/tray-runtime.d.ts +19 -0
- package/dist/tui/screens/tray-runtime.d.ts.map +1 -0
- package/dist/tui/screens/tray-runtime.js +108 -0
- package/dist/tui/screens/tray-runtime.js.map +1 -0
- package/dist/tui/use-tui-nav.d.ts +40 -0
- package/dist/tui/use-tui-nav.d.ts.map +1 -0
- package/dist/tui/use-tui-nav.js +256 -0
- package/dist/tui/use-tui-nav.js.map +1 -0
- package/dist/tui/use-tui-shell.d.ts +46 -0
- package/dist/tui/use-tui-shell.d.ts.map +1 -0
- package/dist/tui/use-tui-shell.js +95 -0
- package/dist/tui/use-tui-shell.js.map +1 -0
- package/dist/types/account.d.ts +410 -0
- package/dist/types/account.d.ts.map +1 -0
- package/dist/types/account.js +7 -0
- package/dist/types/account.js.map +1 -0
- package/dist/types/bindings.d.ts +300 -0
- package/dist/types/bindings.d.ts.map +1 -0
- package/dist/types/catalog.d.ts +165 -0
- package/dist/types/catalog.d.ts.map +1 -0
- package/dist/types/clients.d.ts +174 -0
- package/dist/types/clients.d.ts.map +1 -0
- package/dist/types/clients.js +11 -0
- package/dist/types/clients.js.map +1 -0
- package/dist/types/plugins.d.ts +89 -0
- package/dist/types/plugins.d.ts.map +1 -0
- package/dist/types/plugins.js +14 -0
- package/dist/types/plugins.js.map +1 -0
- package/dist/types/proxy-hub.d.ts +109 -0
- package/dist/types/proxy-hub.d.ts.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/dist/utils/errors.d.ts +61 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +119 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/fs.d.ts +39 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +126 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/lock.d.ts +33 -0
- package/dist/utils/lock.d.ts.map +1 -0
- package/dist/utils/lock.js +95 -0
- package/dist/utils/lock.js.map +1 -0
- package/dist/utils/log.d.ts +10 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/log.js +21 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/network.d.ts +3 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +13 -0
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/process/binary.d.ts +14 -0
- package/dist/utils/process/binary.d.ts.map +1 -0
- package/dist/utils/process/binary.js +29 -0
- package/dist/utils/process/binary.js.map +1 -0
- package/dist/utils/process/follow.d.ts +2 -0
- package/dist/utils/process/follow.d.ts.map +1 -0
- package/dist/utils/process/follow.js +90 -0
- package/dist/utils/process/follow.js.map +1 -0
- package/dist/utils/process/health.d.ts +43 -0
- package/dist/utils/process/health.d.ts.map +1 -0
- package/dist/utils/process/health.js +132 -0
- package/dist/utils/process/health.js.map +1 -0
- package/dist/utils/process/pid.d.ts +95 -0
- package/dist/utils/process/pid.d.ts.map +1 -0
- package/dist/utils/process/pid.js +243 -0
- package/dist/utils/process/pid.js.map +1 -0
- package/dist/utils/process.d.ts +5 -0
- package/dist/utils/process.d.ts.map +1 -0
- package/dist/utils/process.js +5 -0
- package/dist/utils/slug.d.ts +18 -0
- package/dist/utils/slug.d.ts.map +1 -0
- package/dist/utils/slug.js +42 -0
- package/dist/utils/slug.js.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clients.js","names":[],"sources":["../../src/types/clients.ts"],"sourcesContent":["import type { ApiStyle, RuntimeProfile } from './catalog';\nimport type {\n ClientCapabilities,\n IsolatedClientRuntime,\n IsolatablePath,\n ResolvedClientPlan,\n} from './bindings';\n\nexport type ClientConfigMode = 'none' | 'profile' | 'account';\n\n/**\n * One model slot an app exposes in its settings (client-shaped, not provider-shaped).\n * Claude Code: default + sonnet/opus/haiku. Codex Desktop/Hub: default + list2–5.\n * Kiro (and other single-model apps): default only.\n */\nexport interface ClientModelRole {\n /** Stable id stored in BindingSpec.clientOptions.modelRoles */\n id: string;\n /** Short UI label (sentence case), e.g. \"Sonnet\" */\n label: string;\n}\n\nexport interface ClientState {\n clientId: string;\n mode: ClientConfigMode;\n profileName?: string;\n accountRef?: { provider: string; name: string };\n updatedAt: string;\n /** Paths we last wrote / managed (for precise reset). */\n managedPaths: string[];\n /** Env keys we set in client env files / settings. */\n managedEnvKeys: string[];\n}\n\nexport interface ApplyContext {\n profile: RuntimeProfile;\n clientId: string;\n dryRun: boolean;\n verbose: boolean;\n /** Active proxy endpoint if started for this apply. */\n proxyEndpoint?: string;\n /** AnyPick data root (for client-local backups under clients/). */\n anypickRoot: string;\n /**\n * When set, client adapters write into this home instead of the live user home.\n * Used by isolated ephemeral runtimes (spec §9.7.1).\n */\n isolatedHome?: string;\n}\n\n/** Minimal live-state handle for isolation path listing. */\nexport interface ClientLiveState {\n home: string;\n}\n\nexport interface ClientInspectResult {\n present: boolean;\n configPaths: string[];\n summary?: string;\n issues?: string[];\n}\n\nexport interface NativeClientInstallation {\n /** Provider-owned native source id, e.g. `gemini-cli` or `antigravity`. */\n sourceId: string;\n /** Any matching executable or macOS application makes this source installed. */\n executables?: readonly string[];\n macApplications?: readonly string[];\n}\n\n/**\n * Applies / resets runtime configuration for one AI application.\n * Core must never contain client-specific write logic.\n */\nexport interface ClientAdapter {\n readonly id: string;\n readonly name: string;\n readonly description: string;\n readonly supportedApiStyles: ApiStyle[];\n /**\n * Short UI label for compact lists (Run column, tray). Defaults to `name`\n * truncated by the presentation layer when omitted — never hardcode client\n * ids in CLI/TUI switches.\n */\n readonly shortName?: string;\n /**\n * Executable name (or env-overridable default) used by `anypick run`.\n * When omitted, the client id is used. Env overrides still win when set\n * (`CLAUDE_BINARY`, `CODEX_BINARY`, …) via `binaryEnvVar`.\n */\n readonly binaryName?: string;\n /**\n * Environment variable that overrides `binaryName` for this client\n * (e.g. `CLAUDE_BINARY`). Optional.\n */\n readonly binaryEnvVar?: string;\n /**\n * Sources worth exposing in compact app-routing surfaces such as Apps and\n * the macOS tray. Native-only is the safe default: clients opt into gateway\n * routing only when that is a first-class workflow.\n */\n readonly routingSurfacePolicy?: 'native-only' | 'all-compatible';\n /** Installation probes for native-only account switches in compact surfaces. */\n readonly nativeInstallations?: readonly NativeClientInstallation[];\n /**\n * Capability flags for activation planner (spec §20.2).\n * supportsIsolatedHome may be true only when isolation methods exist.\n */\n readonly capabilities?: ClientCapabilities;\n /**\n * Model slots this app writes into settings when a proxy/profile is applied.\n * Defaults to a single \"default\" role when omitted.\n */\n modelRoles?(): readonly ClientModelRole[];\n\n validate(ctx: ApplyContext): Promise<void>;\n\n /**\n * Apply runtime configuration. Must be idempotent enough to re-apply.\n * Returns managed paths and env keys for client state tracking.\n * When ctx.isolatedHome is set, writes only under that home (no live mutation).\n */\n apply(ctx: ApplyContext): Promise<{\n managedPaths: string[];\n managedEnvKeys: string[];\n }>;\n\n /**\n * Remove anypick-managed configuration; restore backups when present.\n * Preserve unrelated user configuration.\n */\n reset(state: ClientState): Promise<void>;\n\n inspect(): Promise<ClientInspectResult>;\n\n /**\n * Explicit allowlist of live paths that may be copied into an isolated runtime.\n * Required when capabilities.supportsIsolatedHome is true (spec §9.7.1).\n */\n listIsolatablePaths?(liveState: ClientLiveState): Promise<readonly IsolatablePath[]>;\n\n /**\n * Create an owner-only temporary client runtime for ephemeral `run`.\n * Required when capabilities.supportsIsolatedHome is true.\n */\n createIsolatedRuntime?(\n plan: ResolvedClientPlan,\n paths: readonly IsolatablePath[],\n ): Promise<IsolatedClientRuntime>;\n\n /**\n * Create an ephemeral environment overlay when a client cannot safely use\n * an isolated home. Required when `supportsEnvironmentOverlay` is true and\n * `supportsIsolatedHome` is false. It must not mutate live client state.\n */\n createEnvironmentOverlay?(plan: ResolvedClientPlan): Promise<IsolatedClientRuntime>;\n\n /**\n * Persistent apply via resolved plan (optional convenience over apply()).\n */\n applyPersistent?(\n plan: ResolvedClientPlan,\n ): Promise<{ managedPaths: string[]; managedEnvKeys: string[] }>;\n}\n\n// ── Global config ────────────────────────────────────────────────\n\nexport interface GlobalConfig {\n schemaVersion: number;\n /** Client applied by `profile use` when --client is omitted. */\n defaultClient?: string;\n /** Last activated runtime profile (name slug). */\n activeProfile?: string;\n defaults?: {\n proxyHost?: string;\n };\n ui?: {\n color?: boolean;\n /** Surface opened by bare `anypick` in an interactive terminal. */\n defaultSurface?: 'tui' | 'tray';\n /** Opt-in automatic failover for multi-account compatibility proxies only. */\n quotaGuard?: {\n enabled?: boolean;\n cooldownMinutes?: number;\n };\n tray?: {\n startEnabledProxies?: boolean;\n showQuota?: boolean;\n /** Legacy one-time guide marker, kept for config compatibility. */\n guideSeen?: boolean;\n };\n };\n}\n\nexport const CURRENT_SCHEMA_VERSION = 2;\n\nexport const DEFAULT_GLOBAL_CONFIG: GlobalConfig = {\n schemaVersion: CURRENT_SCHEMA_VERSION,\n defaultClient: 'claude',\n};\n\n// ── DX redesign: resource refs, bindings, sources, isolation ──────\n\n/** Stable client identifier (e.g. \"claude\", \"codex\", \"kiro\"). */\n"],"mappings":";AAkMA,IAAa,yBAAyB;AAEtC,IAAa,wBAAsC;CACjD,eAAA;CACA,eAAe;AACjB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { Provider } from './account.js';
|
|
2
|
+
import type { ClientAdapter } from './clients.js';
|
|
3
|
+
import type { CatalogProvider } from './catalog.js';
|
|
4
|
+
/**
|
|
5
|
+
* The plugin API generation this build understands.
|
|
6
|
+
*
|
|
7
|
+
* A plugin declares the generation it was written against. Refusing a mismatch
|
|
8
|
+
* is cheaper than debugging a plugin that registers an adapter shaped for an
|
|
9
|
+
* older `Provider` interface, because a half-implemented adapter is discovered
|
|
10
|
+
* only when it rewrites a real credential file.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PLUGIN_API_VERSION = 1;
|
|
13
|
+
/** Manifest read from `anypick.plugin.json` at the plugin root. */
|
|
14
|
+
export interface PluginManifest {
|
|
15
|
+
/** Unique id. Also the directory-independent key used by config and the CLI. */
|
|
16
|
+
name: string;
|
|
17
|
+
version: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
/** Must equal `PLUGIN_API_VERSION`. */
|
|
20
|
+
apiVersion: number;
|
|
21
|
+
/** Entry module, resolved relative to the plugin root. */
|
|
22
|
+
main: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* What a plugin is allowed to do.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately three register functions and nothing else — no database, no
|
|
28
|
+
* stores, no data root. A plugin extends the *composition graph*; it does not
|
|
29
|
+
* get an ambient capability to read the credential snapshots that graph
|
|
30
|
+
* manages. Widening this is a security decision, not an ergonomics one.
|
|
31
|
+
*/
|
|
32
|
+
export interface PluginContext {
|
|
33
|
+
readonly apiVersion: number;
|
|
34
|
+
/** Plugin's own root directory, for reading files it ships. */
|
|
35
|
+
readonly pluginRoot: string;
|
|
36
|
+
registerProvider: (provider: Provider) => void;
|
|
37
|
+
registerClient: (client: ClientAdapter) => void;
|
|
38
|
+
registerCatalogProvider: (provider: CatalogProvider) => void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The shape a plugin entry module must export.
|
|
42
|
+
*
|
|
43
|
+
* `activate` is synchronous on purpose: it runs inside `createApp`, between
|
|
44
|
+
* builtin registration and sealing the registries. Any async setup a plugin
|
|
45
|
+
* needs belongs in the adapter methods, which are already async.
|
|
46
|
+
*/
|
|
47
|
+
export interface AnyPickPlugin {
|
|
48
|
+
activate: (ctx: PluginContext) => void;
|
|
49
|
+
/** Called once, in reverse activation order, when the owning app closes. */
|
|
50
|
+
dispose?: () => void;
|
|
51
|
+
}
|
|
52
|
+
/** A plugin recorded in the data directory. */
|
|
53
|
+
export interface PluginRecord {
|
|
54
|
+
name: string;
|
|
55
|
+
/** Absolute path to the plugin root (the directory holding the manifest). */
|
|
56
|
+
path: string;
|
|
57
|
+
version: string;
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* SHA-256 of the whole plugin package (manifest + shipped files) as it looked
|
|
61
|
+
* when the user trusted it.
|
|
62
|
+
*
|
|
63
|
+
* Re-verified on every load: an enabled plugin whose code changed underneath
|
|
64
|
+
* the user is refused until they run `anypick plugin trust` again (ADR 0012).
|
|
65
|
+
* Hashing only the entry module would let helper files change silently.
|
|
66
|
+
*/
|
|
67
|
+
digest: string;
|
|
68
|
+
addedAt: string;
|
|
69
|
+
updatedAt: string;
|
|
70
|
+
}
|
|
71
|
+
/** A plugin whose entry module imported and type-checked, ready to activate. */
|
|
72
|
+
export interface LoadedPlugin {
|
|
73
|
+
record: PluginRecord;
|
|
74
|
+
manifest: PluginManifest;
|
|
75
|
+
plugin: AnyPickPlugin;
|
|
76
|
+
}
|
|
77
|
+
/** A plugin that was enabled but could not be loaded. */
|
|
78
|
+
export interface PluginLoadFailure {
|
|
79
|
+
name: string;
|
|
80
|
+
path: string;
|
|
81
|
+
reason: string;
|
|
82
|
+
/** True when the package digest no longer matches what was trusted. */
|
|
83
|
+
untrusted: boolean;
|
|
84
|
+
}
|
|
85
|
+
export interface PluginLoadResult {
|
|
86
|
+
loaded: LoadedPlugin[];
|
|
87
|
+
failures: PluginLoadFailure[];
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,mEAAmE;AACnE,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,uBAAuB,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IACvC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/types/plugins.ts
|
|
2
|
+
/**
|
|
3
|
+
* The plugin API generation this build understands.
|
|
4
|
+
*
|
|
5
|
+
* A plugin declares the generation it was written against. Refusing a mismatch
|
|
6
|
+
* is cheaper than debugging a plugin that registers an adapter shaped for an
|
|
7
|
+
* older `Provider` interface, because a half-implemented adapter is discovered
|
|
8
|
+
* only when it rewrites a real credential file.
|
|
9
|
+
*/
|
|
10
|
+
var PLUGIN_API_VERSION = 1;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { PLUGIN_API_VERSION };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=plugins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.js","names":[],"sources":["../../src/types/plugins.ts"],"sourcesContent":["import type { Provider } from './account';\nimport type { ClientAdapter } from './clients';\nimport type { CatalogProvider } from './catalog';\n\n/**\n * The plugin API generation this build understands.\n *\n * A plugin declares the generation it was written against. Refusing a mismatch\n * is cheaper than debugging a plugin that registers an adapter shaped for an\n * older `Provider` interface, because a half-implemented adapter is discovered\n * only when it rewrites a real credential file.\n */\nexport const PLUGIN_API_VERSION = 1;\n\n/** Manifest read from `anypick.plugin.json` at the plugin root. */\nexport interface PluginManifest {\n /** Unique id. Also the directory-independent key used by config and the CLI. */\n name: string;\n version: string;\n description?: string;\n /** Must equal `PLUGIN_API_VERSION`. */\n apiVersion: number;\n /** Entry module, resolved relative to the plugin root. */\n main: string;\n}\n\n/**\n * What a plugin is allowed to do.\n *\n * Deliberately three register functions and nothing else — no database, no\n * stores, no data root. A plugin extends the *composition graph*; it does not\n * get an ambient capability to read the credential snapshots that graph\n * manages. Widening this is a security decision, not an ergonomics one.\n */\nexport interface PluginContext {\n readonly apiVersion: number;\n /** Plugin's own root directory, for reading files it ships. */\n readonly pluginRoot: string;\n registerProvider: (provider: Provider) => void;\n registerClient: (client: ClientAdapter) => void;\n registerCatalogProvider: (provider: CatalogProvider) => void;\n}\n\n/**\n * The shape a plugin entry module must export.\n *\n * `activate` is synchronous on purpose: it runs inside `createApp`, between\n * builtin registration and sealing the registries. Any async setup a plugin\n * needs belongs in the adapter methods, which are already async.\n */\nexport interface AnyPickPlugin {\n activate: (ctx: PluginContext) => void;\n /** Called once, in reverse activation order, when the owning app closes. */\n dispose?: () => void;\n}\n\n/** A plugin recorded in the data directory. */\nexport interface PluginRecord {\n name: string;\n /** Absolute path to the plugin root (the directory holding the manifest). */\n path: string;\n version: string;\n enabled: boolean;\n /**\n * SHA-256 of the whole plugin package (manifest + shipped files) as it looked\n * when the user trusted it.\n *\n * Re-verified on every load: an enabled plugin whose code changed underneath\n * the user is refused until they run `anypick plugin trust` again (ADR 0012).\n * Hashing only the entry module would let helper files change silently.\n */\n digest: string;\n addedAt: string;\n updatedAt: string;\n}\n\n/** A plugin whose entry module imported and type-checked, ready to activate. */\nexport interface LoadedPlugin {\n record: PluginRecord;\n manifest: PluginManifest;\n plugin: AnyPickPlugin;\n}\n\n/** A plugin that was enabled but could not be loaded. */\nexport interface PluginLoadFailure {\n name: string;\n path: string;\n reason: string;\n /** True when the package digest no longer matches what was trusted. */\n untrusted: boolean;\n}\n\nexport interface PluginLoadResult {\n loaded: LoadedPlugin[];\n failures: PluginLoadFailure[];\n}\n"],"mappings":";;;;;;;;;AAYA,IAAa,qBAAqB"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import type { AccountPoolResourceRef, AccountResourceRef, ClientId, Protocol } from './bindings.js';
|
|
2
|
+
import type { AccountProxyConfig } from './account.js';
|
|
3
|
+
/** A Hub can only delegate to a concrete saved account or a provider pool. */
|
|
4
|
+
export type ProxyHubSourceRef = AccountResourceRef | AccountPoolResourceRef;
|
|
5
|
+
/** One source opted into a Hub profile. Credentials stay in the source snapshot. */
|
|
6
|
+
export interface ProxyHubSource {
|
|
7
|
+
ref: ProxyHubSourceRef;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* A deliberate source choice for an ambiguous raw model id. The ambiguity may
|
|
12
|
+
* be between provider catalogs or between credentials in one catalog. Clients
|
|
13
|
+
* still send the original provider model id.
|
|
14
|
+
*/
|
|
15
|
+
export interface ProxyHubModelOwner {
|
|
16
|
+
model: string;
|
|
17
|
+
source: ProxyHubSourceRef;
|
|
18
|
+
}
|
|
19
|
+
/** Persisted Hub configuration. `default` is the only profile exposed in v1. */
|
|
20
|
+
export interface ProxyHubConfig {
|
|
21
|
+
name: string;
|
|
22
|
+
enabled: boolean;
|
|
23
|
+
host: string;
|
|
24
|
+
port: number;
|
|
25
|
+
sources: ProxyHubSource[];
|
|
26
|
+
modelOwners: ProxyHubModelOwner[];
|
|
27
|
+
revision: number;
|
|
28
|
+
createdAt: string;
|
|
29
|
+
updatedAt: string;
|
|
30
|
+
}
|
|
31
|
+
/** One compiled, exact public model route. */
|
|
32
|
+
export interface ProxyHubRouteTarget {
|
|
33
|
+
model: string;
|
|
34
|
+
source: ProxyHubSourceRef;
|
|
35
|
+
/** Lets a backend normalize an exposed id later without changing the client API. */
|
|
36
|
+
upstreamModel: string;
|
|
37
|
+
}
|
|
38
|
+
/** A raw model collision across distinct catalog identities that needs an owner. */
|
|
39
|
+
export interface ProxyHubModelConflict {
|
|
40
|
+
kind: 'model-overlap';
|
|
41
|
+
model: string;
|
|
42
|
+
catalogIds: string[];
|
|
43
|
+
candidates: ProxyHubSourceRef[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* One aggregated credential choice inside an adapter-owned catalog. Core must
|
|
47
|
+
* not guess an account; users choose one source or opt into an explicit pool.
|
|
48
|
+
*/
|
|
49
|
+
export interface ProxyHubSourceChoiceConflict {
|
|
50
|
+
kind: 'source-choice';
|
|
51
|
+
catalogId: string;
|
|
52
|
+
models: string[];
|
|
53
|
+
candidates: ProxyHubSourceRef[];
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Token-scoped route snapshot. Its token is stored separately and is never
|
|
57
|
+
* returned from status, doctor, JSON, or Tray snapshots.
|
|
58
|
+
*/
|
|
59
|
+
export interface ProxyHubRouteManifest {
|
|
60
|
+
version: 1;
|
|
61
|
+
hub: string;
|
|
62
|
+
revision: number;
|
|
63
|
+
client: ClientId;
|
|
64
|
+
protocol: Protocol;
|
|
65
|
+
routes: ProxyHubRouteTarget[];
|
|
66
|
+
}
|
|
67
|
+
/** Public state of the singleton Hub process; intentionally secret-free. */
|
|
68
|
+
export interface ProxyHubRuntimeState {
|
|
69
|
+
name: string;
|
|
70
|
+
endpoint?: string;
|
|
71
|
+
pid?: number;
|
|
72
|
+
instanceId?: string;
|
|
73
|
+
logPath?: string;
|
|
74
|
+
startedAt?: string;
|
|
75
|
+
}
|
|
76
|
+
/** A public status row safe for CLI JSON, TUI, Tray, logs, and doctor. */
|
|
77
|
+
export interface ProxyHubStatus {
|
|
78
|
+
name: string;
|
|
79
|
+
enabled: boolean;
|
|
80
|
+
running: boolean;
|
|
81
|
+
endpoint?: string;
|
|
82
|
+
pid?: number;
|
|
83
|
+
sourceCount: number;
|
|
84
|
+
modelCount: number;
|
|
85
|
+
conflictCount: number;
|
|
86
|
+
revision: number;
|
|
87
|
+
detail?: string;
|
|
88
|
+
}
|
|
89
|
+
/** Account material handed to a provider-owned in-process Hub backend. */
|
|
90
|
+
export interface ProxyHubBackendAccount {
|
|
91
|
+
name: string;
|
|
92
|
+
snapshotDir: string;
|
|
93
|
+
proxy: AccountProxyConfig;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Context and lifecycle for a provider backend hosted behind the single public
|
|
97
|
+
* Hub listener. `token` is an internal loopback secret, never a client token.
|
|
98
|
+
*/
|
|
99
|
+
export interface ProxyHubBackendContext {
|
|
100
|
+
source: ProxyHubSourceRef;
|
|
101
|
+
accounts: readonly ProxyHubBackendAccount[];
|
|
102
|
+
token: string;
|
|
103
|
+
log: (line: string) => void;
|
|
104
|
+
}
|
|
105
|
+
export interface ProxyHubBackendHandle {
|
|
106
|
+
endpoint: string;
|
|
107
|
+
close(): Promise<void>;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=proxy-hub.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-hub.d.ts","sourceRoot":"","sources":["../../src/types/proxy-hub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;AAE5E,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,iBAAiB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;IAC1B,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,eAAe,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,CAAC,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exit codes per anypick-cli-dx-redesign-spec §25.2
|
|
3
|
+
*
|
|
4
|
+
* Reserved ranges (do NOT reuse for new program errors):
|
|
5
|
+
* 0 — success
|
|
6
|
+
* 1–127 — program/operational errors (anypick's own)
|
|
7
|
+
* 128 + N (128–255) — process terminated by signal N (e.g. 130 = SIGINT)
|
|
8
|
+
* Known program codes below:
|
|
9
|
+
* 0 SUCCESS, 1 OPERATIONAL, 2 INVALID_USAGE, 3 NOT_FOUND,
|
|
10
|
+
* 4 AUTH_REQUIRED, 5 CAPABILITY_CONFLICT, 6 HEALTH_FAILURE,
|
|
11
|
+
* 7 MISSING_DEPENDENCY, 130 CANCELLED (SIGINT)
|
|
12
|
+
*/
|
|
13
|
+
export declare const ExitCode: {
|
|
14
|
+
readonly SUCCESS: 0;
|
|
15
|
+
readonly OPERATIONAL: 1;
|
|
16
|
+
readonly INVALID_USAGE: 2;
|
|
17
|
+
readonly NOT_FOUND: 3;
|
|
18
|
+
readonly AUTH_REQUIRED: 4;
|
|
19
|
+
readonly CAPABILITY_CONFLICT: 5;
|
|
20
|
+
readonly HEALTH_FAILURE: 6;
|
|
21
|
+
readonly MISSING_DEPENDENCY: 7;
|
|
22
|
+
/** Malformed / untrusted import envelope (SEC-01). */
|
|
23
|
+
readonly IMPORT_FORMAT: 8;
|
|
24
|
+
/** Import exceeds file-count / size / total-size limits (SEC-01). */
|
|
25
|
+
readonly IMPORT_LIMIT: 9;
|
|
26
|
+
/** 128 + SIGINT: process was interrupted (Ctrl-C). */
|
|
27
|
+
readonly CANCELLED: 130;
|
|
28
|
+
};
|
|
29
|
+
export type ExitCodeValue = (typeof ExitCode)[keyof typeof ExitCode];
|
|
30
|
+
export interface AnyPickErrorOptions {
|
|
31
|
+
code?: string;
|
|
32
|
+
exitCode?: ExitCodeValue;
|
|
33
|
+
suggestions?: string[];
|
|
34
|
+
mutated?: boolean;
|
|
35
|
+
/** Extra fields for JSON error payloads. */
|
|
36
|
+
details?: Record<string, unknown>;
|
|
37
|
+
}
|
|
38
|
+
export declare class AnyPickError extends Error {
|
|
39
|
+
readonly code?: string;
|
|
40
|
+
readonly exitCode: ExitCodeValue;
|
|
41
|
+
readonly suggestions: string[];
|
|
42
|
+
mutated: boolean;
|
|
43
|
+
readonly details?: Record<string, unknown>;
|
|
44
|
+
constructor(message: string, codeOrOpts?: string | AnyPickErrorOptions);
|
|
45
|
+
toJson(): {
|
|
46
|
+
error: {
|
|
47
|
+
code: string;
|
|
48
|
+
message: string;
|
|
49
|
+
suggestions: string[];
|
|
50
|
+
mutated: boolean;
|
|
51
|
+
[key: string]: unknown;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
/** Human multi-line error with suggestions and "No configuration was changed." when applicable. */
|
|
55
|
+
toHuman(): string;
|
|
56
|
+
}
|
|
57
|
+
export declare function isAnyPickError(err: unknown): err is AnyPickError;
|
|
58
|
+
/** Map a common error code string to a default exit code. */
|
|
59
|
+
export declare function exitCodeForErrorCode(code: string | undefined): ExitCodeValue;
|
|
60
|
+
export declare function anypickError(message: string, code: string, opts?: Omit<AnyPickErrorOptions, 'code'>): AnyPickError;
|
|
61
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ;aACnB,OAAO,EAAE,CAAC;aACV,WAAW,EAAE,CAAC;aACd,aAAa,EAAE,CAAC;aAChB,SAAS,EAAE,CAAC;aACZ,aAAa,EAAE,CAAC;aAChB,mBAAmB,EAAE,CAAC;aACtB,cAAc,EAAE,CAAC;aACjB,kBAAkB,EAAE,CAAC;IACrB,sDAAsD;aACtD,aAAa,EAAE,CAAC;IAChB,qEAAqE;aACrE,YAAY,EAAE,CAAC;IACf,sDAAsD;aACtD,SAAS,EAAE,GAAG;CACN,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAErE,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3C,YAAY,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAerE;IAED,MAAM,IAAI;QACR,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,CAAC;YACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,CAUA;IAED,mGAAmG;IACnG,OAAO,IAAI,MAAM,CAYhB;CACF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,YAAY,CAEhE;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAyC5E;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAM,GAC3C,YAAY,CAQd"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
//#region src/utils/errors.ts
|
|
2
|
+
/**
|
|
3
|
+
* Exit codes per anypick-cli-dx-redesign-spec §25.2
|
|
4
|
+
*
|
|
5
|
+
* Reserved ranges (do NOT reuse for new program errors):
|
|
6
|
+
* 0 — success
|
|
7
|
+
* 1–127 — program/operational errors (anypick's own)
|
|
8
|
+
* 128 + N (128–255) — process terminated by signal N (e.g. 130 = SIGINT)
|
|
9
|
+
* Known program codes below:
|
|
10
|
+
* 0 SUCCESS, 1 OPERATIONAL, 2 INVALID_USAGE, 3 NOT_FOUND,
|
|
11
|
+
* 4 AUTH_REQUIRED, 5 CAPABILITY_CONFLICT, 6 HEALTH_FAILURE,
|
|
12
|
+
* 7 MISSING_DEPENDENCY, 130 CANCELLED (SIGINT)
|
|
13
|
+
*/
|
|
14
|
+
var ExitCode = {
|
|
15
|
+
SUCCESS: 0,
|
|
16
|
+
OPERATIONAL: 1,
|
|
17
|
+
INVALID_USAGE: 2,
|
|
18
|
+
NOT_FOUND: 3,
|
|
19
|
+
AUTH_REQUIRED: 4,
|
|
20
|
+
CAPABILITY_CONFLICT: 5,
|
|
21
|
+
HEALTH_FAILURE: 6,
|
|
22
|
+
MISSING_DEPENDENCY: 7,
|
|
23
|
+
/** Malformed / untrusted import envelope (SEC-01). */
|
|
24
|
+
IMPORT_FORMAT: 8,
|
|
25
|
+
/** Import exceeds file-count / size / total-size limits (SEC-01). */
|
|
26
|
+
IMPORT_LIMIT: 9,
|
|
27
|
+
/** 128 + SIGINT: process was interrupted (Ctrl-C). */
|
|
28
|
+
CANCELLED: 130
|
|
29
|
+
};
|
|
30
|
+
var AnyPickError = class extends Error {
|
|
31
|
+
code;
|
|
32
|
+
exitCode;
|
|
33
|
+
suggestions;
|
|
34
|
+
mutated;
|
|
35
|
+
details;
|
|
36
|
+
constructor(message, codeOrOpts) {
|
|
37
|
+
super(message);
|
|
38
|
+
this.name = "AnyPickError";
|
|
39
|
+
if (typeof codeOrOpts === "string" || codeOrOpts === void 0) {
|
|
40
|
+
this.code = codeOrOpts;
|
|
41
|
+
this.exitCode = ExitCode.OPERATIONAL;
|
|
42
|
+
this.suggestions = [];
|
|
43
|
+
this.mutated = false;
|
|
44
|
+
} else {
|
|
45
|
+
this.code = codeOrOpts.code;
|
|
46
|
+
this.exitCode = codeOrOpts.exitCode ?? ExitCode.OPERATIONAL;
|
|
47
|
+
this.suggestions = codeOrOpts.suggestions ?? [];
|
|
48
|
+
this.mutated = codeOrOpts.mutated ?? false;
|
|
49
|
+
this.details = codeOrOpts.details;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
toJson() {
|
|
53
|
+
return { error: {
|
|
54
|
+
code: this.code ?? "ERROR",
|
|
55
|
+
message: this.message,
|
|
56
|
+
suggestions: this.suggestions,
|
|
57
|
+
mutated: this.mutated,
|
|
58
|
+
...this.details
|
|
59
|
+
} };
|
|
60
|
+
}
|
|
61
|
+
/** Human multi-line error with suggestions and "No configuration was changed." when applicable. */
|
|
62
|
+
toHuman() {
|
|
63
|
+
const lines = [this.message, ""];
|
|
64
|
+
if (this.suggestions.length > 0) {
|
|
65
|
+
for (const s of this.suggestions) lines.push(s);
|
|
66
|
+
lines.push("");
|
|
67
|
+
}
|
|
68
|
+
if (!this.mutated) lines.push("No configuration was changed.");
|
|
69
|
+
return lines.join("\n").trimEnd();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
function isAnyPickError(err) {
|
|
73
|
+
return err instanceof AnyPickError;
|
|
74
|
+
}
|
|
75
|
+
/** Map a common error code string to a default exit code. */
|
|
76
|
+
function exitCodeForErrorCode(code) {
|
|
77
|
+
switch (code) {
|
|
78
|
+
case "INVALID_USAGE":
|
|
79
|
+
case "MISSING_CLIENT":
|
|
80
|
+
case "MISSING_SOURCE":
|
|
81
|
+
case "PRESET_CLIENT_MISMATCH":
|
|
82
|
+
case "INVALID_REFERENCE": return ExitCode.INVALID_USAGE;
|
|
83
|
+
case "RESOURCE_NOT_FOUND":
|
|
84
|
+
case "ACCOUNT_NOT_FOUND":
|
|
85
|
+
case "GATEWAY_NOT_FOUND":
|
|
86
|
+
case "PRESET_NOT_FOUND":
|
|
87
|
+
case "CLIENT_NOT_FOUND": return ExitCode.NOT_FOUND;
|
|
88
|
+
case "AUTH_REQUIRED":
|
|
89
|
+
case "LOGIN_REQUIRED": return ExitCode.AUTH_REQUIRED;
|
|
90
|
+
case "CAPABILITY_CONFLICT":
|
|
91
|
+
case "UNSUPPORTED_TRANSPORT":
|
|
92
|
+
case "STATE_CONFLICT":
|
|
93
|
+
case "NO_ACTIVE_BINDING":
|
|
94
|
+
case "MODEL_UNKNOWN": return ExitCode.CAPABILITY_CONFLICT;
|
|
95
|
+
case "HEALTH_FAILURE":
|
|
96
|
+
case "VERIFY_FAILED": return ExitCode.HEALTH_FAILURE;
|
|
97
|
+
case "MISSING_DEPENDENCY":
|
|
98
|
+
case "EXTERNAL_PROXY_MISSING": return ExitCode.MISSING_DEPENDENCY;
|
|
99
|
+
case "IMPORT_FORMAT":
|
|
100
|
+
case "IMPORT_MISSING": return ExitCode.IMPORT_FORMAT;
|
|
101
|
+
case "IMPORT_LIMIT": return ExitCode.IMPORT_LIMIT;
|
|
102
|
+
case "ACCOUNT_EXISTS": return ExitCode.INVALID_USAGE;
|
|
103
|
+
case "CANCELLED": return ExitCode.CANCELLED;
|
|
104
|
+
default: return ExitCode.OPERATIONAL;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function anypickError(message, code, opts = {}) {
|
|
108
|
+
return new AnyPickError(message, {
|
|
109
|
+
code,
|
|
110
|
+
exitCode: opts.exitCode ?? exitCodeForErrorCode(code),
|
|
111
|
+
suggestions: opts.suggestions,
|
|
112
|
+
mutated: opts.mutated,
|
|
113
|
+
details: opts.details
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
export { AnyPickError, ExitCode, anypickError, exitCodeForErrorCode, isAnyPickError };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","names":[],"sources":["../../src/utils/errors.ts"],"sourcesContent":["/**\n * Exit codes per anypick-cli-dx-redesign-spec §25.2\n *\n * Reserved ranges (do NOT reuse for new program errors):\n * 0 — success\n * 1–127 — program/operational errors (anypick's own)\n * 128 + N (128–255) — process terminated by signal N (e.g. 130 = SIGINT)\n * Known program codes below:\n * 0 SUCCESS, 1 OPERATIONAL, 2 INVALID_USAGE, 3 NOT_FOUND,\n * 4 AUTH_REQUIRED, 5 CAPABILITY_CONFLICT, 6 HEALTH_FAILURE,\n * 7 MISSING_DEPENDENCY, 130 CANCELLED (SIGINT)\n */\nexport const ExitCode = {\n SUCCESS: 0,\n OPERATIONAL: 1,\n INVALID_USAGE: 2,\n NOT_FOUND: 3,\n AUTH_REQUIRED: 4,\n CAPABILITY_CONFLICT: 5,\n HEALTH_FAILURE: 6,\n MISSING_DEPENDENCY: 7,\n /** Malformed / untrusted import envelope (SEC-01). */\n IMPORT_FORMAT: 8,\n /** Import exceeds file-count / size / total-size limits (SEC-01). */\n IMPORT_LIMIT: 9,\n /** 128 + SIGINT: process was interrupted (Ctrl-C). */\n CANCELLED: 130,\n} as const;\n\nexport type ExitCodeValue = (typeof ExitCode)[keyof typeof ExitCode];\n\nexport interface AnyPickErrorOptions {\n code?: string;\n exitCode?: ExitCodeValue;\n suggestions?: string[];\n mutated?: boolean;\n /** Extra fields for JSON error payloads. */\n details?: Record<string, unknown>;\n}\n\nexport class AnyPickError extends Error {\n readonly code?: string;\n readonly exitCode: ExitCodeValue;\n readonly suggestions: string[];\n mutated: boolean;\n readonly details?: Record<string, unknown>;\n\n constructor(message: string, codeOrOpts?: string | AnyPickErrorOptions) {\n super(message);\n this.name = 'AnyPickError';\n if (typeof codeOrOpts === 'string' || codeOrOpts === undefined) {\n this.code = codeOrOpts;\n this.exitCode = ExitCode.OPERATIONAL;\n this.suggestions = [];\n this.mutated = false;\n } else {\n this.code = codeOrOpts.code;\n this.exitCode = codeOrOpts.exitCode ?? ExitCode.OPERATIONAL;\n this.suggestions = codeOrOpts.suggestions ?? [];\n this.mutated = codeOrOpts.mutated ?? false;\n this.details = codeOrOpts.details;\n }\n }\n\n toJson(): {\n error: {\n code: string;\n message: string;\n suggestions: string[];\n mutated: boolean;\n [key: string]: unknown;\n };\n } {\n return {\n error: {\n code: this.code ?? 'ERROR',\n message: this.message,\n suggestions: this.suggestions,\n mutated: this.mutated,\n ...this.details,\n },\n };\n }\n\n /** Human multi-line error with suggestions and \"No configuration was changed.\" when applicable. */\n toHuman(): string {\n const lines = [this.message, ''];\n if (this.suggestions.length > 0) {\n for (const s of this.suggestions) {\n lines.push(s);\n }\n lines.push('');\n }\n if (!this.mutated) {\n lines.push('No configuration was changed.');\n }\n return lines.join('\\n').trimEnd();\n }\n}\n\nexport function isAnyPickError(err: unknown): err is AnyPickError {\n return err instanceof AnyPickError;\n}\n\n/** Map a common error code string to a default exit code. */\nexport function exitCodeForErrorCode(code: string | undefined): ExitCodeValue {\n switch (code) {\n case 'INVALID_USAGE':\n case 'MISSING_CLIENT':\n case 'MISSING_SOURCE':\n case 'PRESET_CLIENT_MISMATCH':\n case 'INVALID_REFERENCE':\n return ExitCode.INVALID_USAGE;\n case 'RESOURCE_NOT_FOUND':\n case 'ACCOUNT_NOT_FOUND':\n case 'GATEWAY_NOT_FOUND':\n case 'PRESET_NOT_FOUND':\n case 'CLIENT_NOT_FOUND':\n return ExitCode.NOT_FOUND;\n case 'AUTH_REQUIRED':\n case 'LOGIN_REQUIRED':\n return ExitCode.AUTH_REQUIRED;\n case 'CAPABILITY_CONFLICT':\n case 'UNSUPPORTED_TRANSPORT':\n case 'STATE_CONFLICT':\n case 'NO_ACTIVE_BINDING':\n case 'MODEL_UNKNOWN':\n return ExitCode.CAPABILITY_CONFLICT;\n case 'HEALTH_FAILURE':\n case 'VERIFY_FAILED':\n return ExitCode.HEALTH_FAILURE;\n case 'MISSING_DEPENDENCY':\n case 'EXTERNAL_PROXY_MISSING':\n return ExitCode.MISSING_DEPENDENCY;\n case 'IMPORT_FORMAT':\n case 'IMPORT_MISSING':\n return ExitCode.IMPORT_FORMAT;\n case 'IMPORT_LIMIT':\n return ExitCode.IMPORT_LIMIT;\n case 'ACCOUNT_EXISTS':\n return ExitCode.INVALID_USAGE;\n case 'CANCELLED':\n return ExitCode.CANCELLED;\n default:\n return ExitCode.OPERATIONAL;\n }\n}\n\nexport function anypickError(\n message: string,\n code: string,\n opts: Omit<AnyPickErrorOptions, 'code'> = {},\n): AnyPickError {\n return new AnyPickError(message, {\n code,\n exitCode: opts.exitCode ?? exitCodeForErrorCode(code),\n suggestions: opts.suggestions,\n mutated: opts.mutated,\n details: opts.details,\n });\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAa,WAAW;CACtB,SAAS;CACT,aAAa;CACb,eAAe;CACf,WAAW;CACX,eAAe;CACf,qBAAqB;CACrB,gBAAgB;CAChB,oBAAoB;;CAEpB,eAAe;;CAEf,cAAc;;CAEd,WAAW;AACb;AAaA,IAAa,eAAb,cAAkC,MAAM;CACtC;CACA;CACA;CACA;CACA;CAEA,YAAY,SAAiB,YAA2C;EACtE,MAAM,OAAO;EACb,KAAK,OAAO;EACZ,IAAI,OAAO,eAAe,YAAY,eAAe,KAAA,GAAW;GAC9D,KAAK,OAAO;GACZ,KAAK,WAAW,SAAS;GACzB,KAAK,cAAc,CAAC;GACpB,KAAK,UAAU;EACjB,OAAO;GACL,KAAK,OAAO,WAAW;GACvB,KAAK,WAAW,WAAW,YAAY,SAAS;GAChD,KAAK,cAAc,WAAW,eAAe,CAAC;GAC9C,KAAK,UAAU,WAAW,WAAW;GACrC,KAAK,UAAU,WAAW;EAC5B;CACF;CAEA,SAQE;EACA,OAAO,EACL,OAAO;GACL,MAAM,KAAK,QAAQ;GACnB,SAAS,KAAK;GACd,aAAa,KAAK;GAClB,SAAS,KAAK;GACd,GAAG,KAAK;EACV,EACF;CACF;;CAGA,UAAkB;EAChB,MAAM,QAAQ,CAAC,KAAK,SAAS,EAAE;EAC/B,IAAI,KAAK,YAAY,SAAS,GAAG;GAC/B,KAAK,MAAM,KAAK,KAAK,aACnB,MAAM,KAAK,CAAC;GAEd,MAAM,KAAK,EAAE;EACf;EACA,IAAI,CAAC,KAAK,SACR,MAAM,KAAK,+BAA+B;EAE5C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ;CAClC;AACF;AAEA,SAAgB,eAAe,KAAmC;CAChE,OAAO,eAAe;AACxB;;AAGA,SAAgB,qBAAqB,MAAyC;CAC5E,QAAQ,MAAR;EACE,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,qBACH,OAAO,SAAS;EAClB,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,oBACH,OAAO,SAAS;EAClB,KAAK;EACL,KAAK,kBACH,OAAO,SAAS;EAClB,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,iBACH,OAAO,SAAS;EAClB,KAAK;EACL,KAAK,iBACH,OAAO,SAAS;EAClB,KAAK;EACL,KAAK,0BACH,OAAO,SAAS;EAClB,KAAK;EACL,KAAK,kBACH,OAAO,SAAS;EAClB,KAAK,gBACH,OAAO,SAAS;EAClB,KAAK,kBACH,OAAO,SAAS;EAClB,KAAK,aACH,OAAO,SAAS;EAClB,SACE,OAAO,SAAS;CACpB;AACF;AAEA,SAAgB,aACd,SACA,MACA,OAA0C,CAAC,GAC7B;CACd,OAAO,IAAI,aAAa,SAAS;EAC/B;EACA,UAAU,KAAK,YAAY,qBAAqB,IAAI;EACpD,aAAa,KAAK;EAClB,SAAS,KAAK;EACd,SAAS,KAAK;CAChB,CAAC;AACH"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Expand ~ and normalize a path. */
|
|
2
|
+
export declare function expandHome(path: string): string;
|
|
3
|
+
export declare function pathExists(path: string): Promise<boolean>;
|
|
4
|
+
export declare function ensureDir(path: string): Promise<void>;
|
|
5
|
+
export declare function readJsonFile<T>(path: string): Promise<T>;
|
|
6
|
+
/**
|
|
7
|
+
* Read a JSON file and decode through a versioned record decoder (DATA-02).
|
|
8
|
+
* The decoder validates the shape and rejects corrupt/future-version data
|
|
9
|
+
* with a structured error carrying the file path (no secret values).
|
|
10
|
+
*/
|
|
11
|
+
export declare function readAndDecodeJsonFile<T>(path: string, decoder: (v: unknown, key: string) => {
|
|
12
|
+
ok: true;
|
|
13
|
+
value: T;
|
|
14
|
+
} | {
|
|
15
|
+
ok: false;
|
|
16
|
+
error: string;
|
|
17
|
+
}): Promise<T>;
|
|
18
|
+
export declare function writeJsonFile(path: string, data: unknown, mode?: number): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Copy a single file, creating parent dirs. Preserves mode when possible.
|
|
21
|
+
* Returns false if source is missing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function copyFileSafe(src: string, dest: string, mode?: number): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Write text atomically with restrictive permissions.
|
|
26
|
+
*/
|
|
27
|
+
export declare function writeTextFile(path: string, content: string, mode?: number): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Copy live file into snapshot, or throw a clear error if missing.
|
|
30
|
+
*/
|
|
31
|
+
export declare function backupRequiredFile(livePath: string, destPath: string, label: string): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Restore a snapshot file to a live path (required).
|
|
34
|
+
*/
|
|
35
|
+
export declare function restoreRequiredFile(srcPath: string, livePath: string, label: string): Promise<void>;
|
|
36
|
+
export declare function listSubdirs(dir: string): Promise<string[]>;
|
|
37
|
+
export declare function removePath(path: string): Promise<void>;
|
|
38
|
+
export declare function emptyDir(path: string): Promise<void>;
|
|
39
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAOA,qCAAqC;AACrC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO/D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1F,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5F;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAsB5F;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9F;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAShE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D"}
|
package/dist/utils/fs.js
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { AnyPickError } from "./errors.js";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { copyFile, mkdir, open, readFile, readdir, rename, rm, stat } from "node:fs/promises";
|
|
5
|
+
import { homedir } from "node:os";
|
|
6
|
+
import { randomUUID } from "node:crypto";
|
|
7
|
+
//#region src/utils/fs.ts
|
|
8
|
+
/** Expand ~ and normalize a path. */
|
|
9
|
+
function expandHome(path) {
|
|
10
|
+
if (path === "~") return homedir();
|
|
11
|
+
if (path.startsWith("~/") || path.startsWith("~\\")) return join(homedir(), path.slice(2));
|
|
12
|
+
return path;
|
|
13
|
+
}
|
|
14
|
+
async function pathExists(path) {
|
|
15
|
+
try {
|
|
16
|
+
await stat(path);
|
|
17
|
+
return true;
|
|
18
|
+
} catch {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async function ensureDir(path) {
|
|
23
|
+
await mkdir(path, {
|
|
24
|
+
recursive: true,
|
|
25
|
+
mode: 448
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async function readJsonFile(path) {
|
|
29
|
+
const raw = await readFile(path, "utf8");
|
|
30
|
+
return JSON.parse(raw);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Read a JSON file and decode through a versioned record decoder (DATA-02).
|
|
34
|
+
* The decoder validates the shape and rejects corrupt/future-version data
|
|
35
|
+
* with a structured error carrying the file path (no secret values).
|
|
36
|
+
*/
|
|
37
|
+
async function readAndDecodeJsonFile(path, decoder) {
|
|
38
|
+
const raw = await readFile(path, "utf8");
|
|
39
|
+
let parsed;
|
|
40
|
+
try {
|
|
41
|
+
parsed = JSON.parse(raw);
|
|
42
|
+
} catch {
|
|
43
|
+
throw new Error(`Corrupt JSON in ${path}`);
|
|
44
|
+
}
|
|
45
|
+
const result = decoder(parsed, path);
|
|
46
|
+
if (result.ok) return result.value;
|
|
47
|
+
throw new Error(`Corrupt record in ${path}: ${result.error}`);
|
|
48
|
+
}
|
|
49
|
+
async function writeJsonFile(path, data, mode = 384) {
|
|
50
|
+
await writeTextFile(path, `${JSON.stringify(data, null, 2)}\n`, mode);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Copy a single file, creating parent dirs. Preserves mode when possible.
|
|
54
|
+
* Returns false if source is missing.
|
|
55
|
+
*/
|
|
56
|
+
async function copyFileSafe(src, dest, mode = 384) {
|
|
57
|
+
if (!await pathExists(src)) return false;
|
|
58
|
+
await ensureDir(dirname(dest));
|
|
59
|
+
const tmp = `${dest}.${randomUUID()}.tmp`;
|
|
60
|
+
try {
|
|
61
|
+
await copyFile(src, tmp);
|
|
62
|
+
const { chmod } = await import("node:fs/promises");
|
|
63
|
+
await chmod(tmp, mode);
|
|
64
|
+
const handle = await open(tmp, "r");
|
|
65
|
+
try {
|
|
66
|
+
await handle.sync();
|
|
67
|
+
} finally {
|
|
68
|
+
await handle.close();
|
|
69
|
+
}
|
|
70
|
+
await rename(tmp, dest);
|
|
71
|
+
} catch (err) {
|
|
72
|
+
await rm(tmp, { force: true }).catch(() => {});
|
|
73
|
+
throw err;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Write text atomically with restrictive permissions.
|
|
79
|
+
*/
|
|
80
|
+
async function writeTextFile(path, content, mode = 384) {
|
|
81
|
+
await ensureDir(dirname(path));
|
|
82
|
+
const tmp = `${path}.${randomUUID()}.tmp`;
|
|
83
|
+
let handle;
|
|
84
|
+
try {
|
|
85
|
+
handle = await open(tmp, "wx", mode);
|
|
86
|
+
await handle.writeFile(content, { encoding: "utf8" });
|
|
87
|
+
await handle.sync();
|
|
88
|
+
await handle.close();
|
|
89
|
+
handle = void 0;
|
|
90
|
+
await rename(tmp, path);
|
|
91
|
+
} catch (err) {
|
|
92
|
+
await handle?.close().catch(() => {});
|
|
93
|
+
await rm(tmp, { force: true }).catch(() => {});
|
|
94
|
+
throw err;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Copy live file into snapshot, or throw a clear error if missing.
|
|
99
|
+
*/
|
|
100
|
+
async function backupRequiredFile(livePath, destPath, label) {
|
|
101
|
+
if (!await copyFileSafe(livePath, destPath)) throw new AnyPickError(`No live ${label} found at ${livePath}. Log in first, then save.`, {
|
|
102
|
+
code: "NO_LIVE_AUTH",
|
|
103
|
+
suggestions: [`Sign in with the official tool, then try again.`]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Restore a snapshot file to a live path (required).
|
|
108
|
+
*/
|
|
109
|
+
async function restoreRequiredFile(srcPath, livePath, label) {
|
|
110
|
+
if (!await pathExists(srcPath)) throw new Error(`Snapshot is missing ${label}: ${srcPath}`);
|
|
111
|
+
await copyFileSafe(srcPath, livePath, 384);
|
|
112
|
+
}
|
|
113
|
+
async function listSubdirs(dir) {
|
|
114
|
+
if (!await pathExists(dir)) return [];
|
|
115
|
+
return (await readdir(dir, { withFileTypes: true })).filter((e) => e.isDirectory()).map((e) => e.name).toSorted();
|
|
116
|
+
}
|
|
117
|
+
async function removePath(path) {
|
|
118
|
+
if (existsSync(path)) await rm(path, {
|
|
119
|
+
recursive: true,
|
|
120
|
+
force: true
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
//#endregion
|
|
124
|
+
export { backupRequiredFile, copyFileSafe, ensureDir, expandHome, listSubdirs, pathExists, readAndDecodeJsonFile, readJsonFile, removePath, restoreRequiredFile, writeJsonFile, writeTextFile };
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=fs.js.map
|