anypick 1.0.0 → 1.1.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/README.md +16 -582
- package/bin/anypick.js +249 -0
- package/package.json +14 -106
- package/dist/adapters.d.ts +0 -4
- package/dist/adapters.d.ts.map +0 -1
- package/dist/adapters.js +0 -2
- package/dist/catalog/model-fetch.d.ts +0 -34
- package/dist/catalog/model-fetch.d.ts.map +0 -1
- package/dist/catalog/model-fetch.js +0 -99
- package/dist/catalog/model-fetch.js.map +0 -1
- package/dist/catalog/providers.d.ts +0 -42
- package/dist/catalog/providers.d.ts.map +0 -1
- package/dist/catalog/providers.js +0 -424
- package/dist/catalog/providers.js.map +0 -1
- package/dist/cli/bootstrap.d.ts +0 -3
- package/dist/cli/bootstrap.d.ts.map +0 -1
- package/dist/cli/bootstrap.js +0 -78
- package/dist/cli/bootstrap.js.map +0 -1
- package/dist/cli/commands.d.ts +0 -29
- package/dist/cli/commands.d.ts.map +0 -1
- package/dist/cli/commands.js +0 -1043
- package/dist/cli/commands.js.map +0 -1
- package/dist/cli/completion.d.ts +0 -6
- package/dist/cli/completion.d.ts.map +0 -1
- package/dist/cli/completion.js +0 -202
- package/dist/cli/completion.js.map +0 -1
- package/dist/cli/errors.d.ts +0 -20
- package/dist/cli/errors.d.ts.map +0 -1
- package/dist/cli/errors.js +0 -47
- package/dist/cli/errors.js.map +0 -1
- package/dist/cli/format.d.ts +0 -6
- package/dist/cli/format.d.ts.map +0 -1
- package/dist/cli/format.js +0 -75
- package/dist/cli/format.js.map +0 -1
- package/dist/cli/help.d.ts +0 -6
- package/dist/cli/help.d.ts.map +0 -1
- package/dist/cli/help.js +0 -66
- package/dist/cli/help.js.map +0 -1
- package/dist/cli/interactive-accounts.d.ts +0 -3
- package/dist/cli/interactive-accounts.d.ts.map +0 -1
- package/dist/cli/interactive-accounts.js +0 -86
- package/dist/cli/interactive-accounts.js.map +0 -1
- package/dist/cli/interactive-maintenance.d.ts +0 -4
- package/dist/cli/interactive-maintenance.d.ts.map +0 -1
- package/dist/cli/interactive-maintenance.js +0 -30
- package/dist/cli/interactive-maintenance.js.map +0 -1
- package/dist/cli/interactive.d.ts +0 -14
- package/dist/cli/interactive.d.ts.map +0 -1
- package/dist/cli/interactive.js +0 -242
- package/dist/cli/interactive.js.map +0 -1
- package/dist/cli/launch-client.d.ts +0 -18
- package/dist/cli/launch-client.d.ts.map +0 -1
- package/dist/cli/launch-client.js +0 -117
- package/dist/cli/launch-client.js.map +0 -1
- package/dist/cli/launcher-model.d.ts +0 -64
- package/dist/cli/launcher-model.d.ts.map +0 -1
- package/dist/cli/launcher-model.js +0 -200
- package/dist/cli/launcher-model.js.map +0 -1
- package/dist/cli/launcher-render.d.ts +0 -22
- package/dist/cli/launcher-render.d.ts.map +0 -1
- package/dist/cli/launcher-render.js +0 -113
- package/dist/cli/launcher-render.js.map +0 -1
- package/dist/cli/launcher.d.ts +0 -27
- package/dist/cli/launcher.d.ts.map +0 -1
- package/dist/cli/launcher.js +0 -93
- package/dist/cli/launcher.js.map +0 -1
- package/dist/cli/local-health.d.ts +0 -17
- package/dist/cli/local-health.d.ts.map +0 -1
- package/dist/cli/local-health.js +0 -31
- package/dist/cli/local-health.js.map +0 -1
- package/dist/cli/plugin-commands.d.ts +0 -4
- package/dist/cli/plugin-commands.d.ts.map +0 -1
- package/dist/cli/plugin-commands.js +0 -160
- package/dist/cli/plugin-commands.js.map +0 -1
- package/dist/cli/primary.d.ts +0 -18
- package/dist/cli/primary.d.ts.map +0 -1
- package/dist/cli/primary.js +0 -593
- package/dist/cli/primary.js.map +0 -1
- package/dist/cli/render-util.d.ts +0 -24
- package/dist/cli/render-util.d.ts.map +0 -1
- package/dist/cli/render-util.js +0 -58
- package/dist/cli/render-util.js.map +0 -1
- package/dist/cli/ux.d.ts +0 -43
- package/dist/cli/ux.d.ts.map +0 -1
- package/dist/cli/ux.js +0 -114
- package/dist/cli/ux.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -35
- package/dist/cli.js.map +0 -1
- package/dist/clients/claude-client-apply.d.ts +0 -8
- package/dist/clients/claude-client-apply.d.ts.map +0 -1
- package/dist/clients/claude-client-apply.js +0 -108
- package/dist/clients/claude-client-apply.js.map +0 -1
- package/dist/clients/claude-code.d.ts +0 -5
- package/dist/clients/claude-code.d.ts.map +0 -1
- package/dist/clients/claude-code.js +0 -189
- package/dist/clients/claude-code.js.map +0 -1
- package/dist/clients/claude-settings-guard.d.ts +0 -18
- package/dist/clients/claude-settings-guard.d.ts.map +0 -1
- package/dist/clients/codex-desktop-catalog.d.ts +0 -67
- package/dist/clients/codex-desktop-catalog.d.ts.map +0 -1
- package/dist/clients/codex-desktop-catalog.js +0 -212
- package/dist/clients/codex-desktop-catalog.js.map +0 -1
- package/dist/clients/codex.d.ts +0 -181
- package/dist/clients/codex.d.ts.map +0 -1
- package/dist/clients/codex.js +0 -783
- package/dist/clients/codex.js.map +0 -1
- package/dist/clients/env-files.d.ts +0 -14
- package/dist/clients/env-files.d.ts.map +0 -1
- package/dist/clients/env-files.js +0 -50
- package/dist/clients/env-files.js.map +0 -1
- package/dist/clients/gemini-client-utils.d.ts +0 -4
- package/dist/clients/gemini-client-utils.d.ts.map +0 -1
- package/dist/clients/gemini-client-utils.js +0 -33
- package/dist/clients/gemini-client-utils.js.map +0 -1
- package/dist/clients/gemini.d.ts +0 -16
- package/dist/clients/gemini.d.ts.map +0 -1
- package/dist/clients/gemini.js +0 -233
- package/dist/clients/gemini.js.map +0 -1
- package/dist/clients/index.d.ts +0 -14
- package/dist/clients/index.d.ts.map +0 -1
- package/dist/clients/index.js +0 -18
- package/dist/clients/index.js.map +0 -1
- package/dist/clients/isolation.d.ts +0 -28
- package/dist/clients/isolation.d.ts.map +0 -1
- package/dist/clients/isolation.js +0 -131
- package/dist/clients/isolation.js.map +0 -1
- package/dist/clients/kiro.d.ts +0 -10
- package/dist/clients/kiro.d.ts.map +0 -1
- package/dist/clients/kiro.js +0 -168
- package/dist/clients/kiro.js.map +0 -1
- package/dist/clients/model-roles.d.ts +0 -58
- package/dist/clients/model-roles.d.ts.map +0 -1
- package/dist/clients/model-roles.js +0 -139
- package/dist/clients/model-roles.js.map +0 -1
- package/dist/clients/registry.d.ts +0 -7
- package/dist/clients/registry.d.ts.map +0 -1
- package/dist/clients/registry.js +0 -16
- package/dist/clients/registry.js.map +0 -1
- package/dist/clients/resolve.d.ts +0 -27
- package/dist/clients/resolve.d.ts.map +0 -1
- package/dist/clients/resolve.js +0 -49
- package/dist/clients/resolve.js.map +0 -1
- package/dist/core/account-codec.d.ts +0 -32
- package/dist/core/account-codec.d.ts.map +0 -1
- package/dist/core/account-codec.js +0 -134
- package/dist/core/account-codec.js.map +0 -1
- package/dist/core/account-transfer.d.ts +0 -20
- package/dist/core/account-transfer.d.ts.map +0 -1
- package/dist/core/account-transfer.js +0 -136
- package/dist/core/account-transfer.js.map +0 -1
- package/dist/core/activation-executor.d.ts +0 -72
- package/dist/core/activation-executor.d.ts.map +0 -1
- package/dist/core/activation-executor.js +0 -690
- package/dist/core/activation-executor.js.map +0 -1
- package/dist/core/activation-models.d.ts +0 -6
- package/dist/core/activation-models.d.ts.map +0 -1
- package/dist/core/activation-models.js +0 -33
- package/dist/core/activation-models.js.map +0 -1
- package/dist/core/activation-planner.d.ts +0 -38
- package/dist/core/activation-planner.d.ts.map +0 -1
- package/dist/core/activation-planner.js +0 -248
- package/dist/core/activation-planner.js.map +0 -1
- package/dist/core/activation-protocol.d.ts +0 -3
- package/dist/core/activation-protocol.d.ts.map +0 -1
- package/dist/core/activation-protocol.js +0 -9
- package/dist/core/activation-protocol.js.map +0 -1
- package/dist/core/activation-transport.d.ts +0 -15
- package/dist/core/activation-transport.d.ts.map +0 -1
- package/dist/core/activation-transport.js +0 -23
- package/dist/core/activation-transport.js.map +0 -1
- package/dist/core/app.d.ts +0 -149
- package/dist/core/app.d.ts.map +0 -1
- package/dist/core/app.js +0 -372
- package/dist/core/app.js.map +0 -1
- package/dist/core/binding-service.d.ts +0 -93
- package/dist/core/binding-service.d.ts.map +0 -1
- package/dist/core/binding-service.js +0 -281
- package/dist/core/binding-service.js.map +0 -1
- package/dist/core/binding-store.d.ts +0 -23
- package/dist/core/binding-store.d.ts.map +0 -1
- package/dist/core/binding-store.js +0 -154
- package/dist/core/binding-store.js.map +0 -1
- package/dist/core/brand.d.ts +0 -18
- package/dist/core/brand.d.ts.map +0 -1
- package/dist/core/brand.js +0 -22
- package/dist/core/brand.js.map +0 -1
- package/dist/core/capabilities.d.ts +0 -30
- package/dist/core/capabilities.d.ts.map +0 -1
- package/dist/core/capabilities.js +0 -27
- package/dist/core/capabilities.js.map +0 -1
- package/dist/core/client-state-store.d.ts +0 -17
- package/dist/core/client-state-store.d.ts.map +0 -1
- package/dist/core/client-state-store.js +0 -47
- package/dist/core/client-state-store.js.map +0 -1
- package/dist/core/codec/account.d.ts +0 -52
- package/dist/core/codec/account.d.ts.map +0 -1
- package/dist/core/codec/account.js +0 -69
- package/dist/core/codec/account.js.map +0 -1
- package/dist/core/codec/bindings.d.ts +0 -38
- package/dist/core/codec/bindings.d.ts.map +0 -1
- package/dist/core/codec/bindings.js +0 -79
- package/dist/core/codec/bindings.js.map +0 -1
- package/dist/core/codec/operations.d.ts +0 -36
- package/dist/core/codec/operations.d.ts.map +0 -1
- package/dist/core/codec/operations.js +0 -82
- package/dist/core/codec/operations.js.map +0 -1
- package/dist/core/codec/primitives.d.ts +0 -59
- package/dist/core/codec/primitives.d.ts.map +0 -1
- package/dist/core/codec/primitives.js +0 -123
- package/dist/core/codec/primitives.js.map +0 -1
- package/dist/core/codec/proxy-hub.d.ts +0 -43
- package/dist/core/codec/proxy-hub.d.ts.map +0 -1
- package/dist/core/codec/proxy-hub.js +0 -69
- package/dist/core/codec/proxy-hub.js.map +0 -1
- package/dist/core/codec/runtime.d.ts +0 -41
- package/dist/core/codec/runtime.d.ts.map +0 -1
- package/dist/core/codec/runtime.js +0 -66
- package/dist/core/codec/runtime.js.map +0 -1
- package/dist/core/codec.d.ts +0 -43
- package/dist/core/codec.d.ts.map +0 -1
- package/dist/core/codec.js +0 -69
- package/dist/core/codec.js.map +0 -1
- package/dist/core/codex-live-config.d.ts +0 -92
- package/dist/core/codex-live-config.d.ts.map +0 -1
- package/dist/core/codex-live-config.js +0 -263
- package/dist/core/codex-live-config.js.map +0 -1
- package/dist/core/config-service.d.ts +0 -35
- package/dist/core/config-service.d.ts.map +0 -1
- package/dist/core/config-service.js +0 -87
- package/dist/core/config-service.js.map +0 -1
- package/dist/core/config.d.ts +0 -14
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js +0 -45
- package/dist/core/config.js.map +0 -1
- package/dist/core/db-schema.d.ts +0 -30
- package/dist/core/db-schema.d.ts.map +0 -1
- package/dist/core/db-schema.js +0 -278
- package/dist/core/db-schema.js.map +0 -1
- package/dist/core/db.d.ts +0 -72
- package/dist/core/db.d.ts.map +0 -1
- package/dist/core/db.js +0 -192
- package/dist/core/db.js.map +0 -1
- package/dist/core/doctor-fixes.d.ts +0 -3
- package/dist/core/doctor-fixes.d.ts.map +0 -1
- package/dist/core/doctor-fixes.js +0 -102
- package/dist/core/doctor-fixes.js.map +0 -1
- package/dist/core/doctor-format.d.ts +0 -10
- package/dist/core/doctor-format.d.ts.map +0 -1
- package/dist/core/doctor-format.js +0 -45
- package/dist/core/doctor-format.js.map +0 -1
- package/dist/core/doctor-report.d.ts +0 -3
- package/dist/core/doctor-report.d.ts.map +0 -1
- package/dist/core/doctor-report.js +0 -174
- package/dist/core/doctor-report.js.map +0 -1
- package/dist/core/doctor-scan.d.ts +0 -7
- package/dist/core/doctor-scan.d.ts.map +0 -1
- package/dist/core/doctor-scan.js +0 -139
- package/dist/core/doctor-scan.js.map +0 -1
- package/dist/core/doctor-types.d.ts +0 -89
- package/dist/core/doctor-types.d.ts.map +0 -1
- package/dist/core/doctor-types.js +0 -14
- package/dist/core/doctor-types.js.map +0 -1
- package/dist/core/doctor-utils.d.ts +0 -3
- package/dist/core/doctor-utils.d.ts.map +0 -1
- package/dist/core/doctor-utils.js +0 -36
- package/dist/core/doctor-utils.js.map +0 -1
- package/dist/core/doctor.d.ts +0 -14
- package/dist/core/doctor.d.ts.map +0 -1
- package/dist/core/doctor.js +0 -127
- package/dist/core/doctor.js.map +0 -1
- package/dist/core/events.d.ts +0 -58
- package/dist/core/events.d.ts.map +0 -1
- package/dist/core/events.js +0 -88
- package/dist/core/events.js.map +0 -1
- package/dist/core/journal.d.ts +0 -23
- package/dist/core/journal.d.ts.map +0 -1
- package/dist/core/journal.js +0 -93
- package/dist/core/journal.js.map +0 -1
- package/dist/core/lease-store.d.ts +0 -22
- package/dist/core/lease-store.d.ts.map +0 -1
- package/dist/core/lease-store.js +0 -81
- package/dist/core/lease-store.js.map +0 -1
- package/dist/core/migrate-bindings.d.ts +0 -10
- package/dist/core/migrate-bindings.d.ts.map +0 -1
- package/dist/core/migrate-bindings.js +0 -98
- package/dist/core/migrate-bindings.js.map +0 -1
- package/dist/core/migrate-fs.d.ts +0 -11
- package/dist/core/migrate-fs.d.ts.map +0 -1
- package/dist/core/migrate-fs.js +0 -184
- package/dist/core/migrate-fs.js.map +0 -1
- package/dist/core/model-cache-store.d.ts +0 -27
- package/dist/core/model-cache-store.d.ts.map +0 -1
- package/dist/core/model-cache-store.js +0 -50
- package/dist/core/model-cache-store.js.map +0 -1
- package/dist/core/model-discovery.d.ts +0 -66
- package/dist/core/model-discovery.d.ts.map +0 -1
- package/dist/core/model-discovery.js +0 -127
- package/dist/core/model-discovery.js.map +0 -1
- package/dist/core/model-policy.d.ts +0 -40
- package/dist/core/model-policy.d.ts.map +0 -1
- package/dist/core/model-policy.js +0 -77
- package/dist/core/model-policy.js.map +0 -1
- package/dist/core/model-roles.d.ts +0 -9
- package/dist/core/model-roles.d.ts.map +0 -1
- package/dist/core/model-roles.js +0 -20
- package/dist/core/model-roles.js.map +0 -1
- package/dist/core/mutation-lock.d.ts +0 -31
- package/dist/core/mutation-lock.d.ts.map +0 -1
- package/dist/core/mutation-lock.js +0 -69
- package/dist/core/mutation-lock.js.map +0 -1
- package/dist/core/paths.d.ts +0 -49
- package/dist/core/paths.d.ts.map +0 -1
- package/dist/core/paths.js +0 -110
- package/dist/core/paths.js.map +0 -1
- package/dist/core/plugin-loader.d.ts +0 -40
- package/dist/core/plugin-loader.d.ts.map +0 -1
- package/dist/core/plugin-loader.js +0 -184
- package/dist/core/plugin-loader.js.map +0 -1
- package/dist/core/plugin-service.d.ts +0 -32
- package/dist/core/plugin-service.d.ts.map +0 -1
- package/dist/core/plugin-service.js +0 -110
- package/dist/core/plugin-service.js.map +0 -1
- package/dist/core/plugin-store.d.ts +0 -18
- package/dist/core/plugin-store.d.ts.map +0 -1
- package/dist/core/plugin-store.js +0 -50
- package/dist/core/plugin-store.js.map +0 -1
- package/dist/core/pool-store.d.ts +0 -44
- package/dist/core/pool-store.d.ts.map +0 -1
- package/dist/core/pool-store.js +0 -198
- package/dist/core/pool-store.js.map +0 -1
- package/dist/core/preset-store.d.ts +0 -29
- package/dist/core/preset-store.d.ts.map +0 -1
- package/dist/core/preset-store.js +0 -105
- package/dist/core/preset-store.js.map +0 -1
- package/dist/core/profile-service.d.ts +0 -50
- package/dist/core/profile-service.d.ts.map +0 -1
- package/dist/core/profile-service.js +0 -149
- package/dist/core/profile-service.js.map +0 -1
- package/dist/core/profile-store.d.ts +0 -20
- package/dist/core/profile-store.d.ts.map +0 -1
- package/dist/core/profile-store.js +0 -92
- package/dist/core/profile-store.js.map +0 -1
- package/dist/core/profile-synth.d.ts +0 -24
- package/dist/core/profile-synth.d.ts.map +0 -1
- package/dist/core/profile-synth.js +0 -30
- package/dist/core/profile-synth.js.map +0 -1
- package/dist/core/project-root.d.ts +0 -7
- package/dist/core/project-root.d.ts.map +0 -1
- package/dist/core/project-root.js +0 -23
- package/dist/core/project-root.js.map +0 -1
- package/dist/core/proxy-hub-cli.d.ts +0 -3
- package/dist/core/proxy-hub-cli.d.ts.map +0 -1
- package/dist/core/proxy-hub-cli.js +0 -80
- package/dist/core/proxy-hub-cli.js.map +0 -1
- package/dist/core/proxy-hub-routes.d.ts +0 -22
- package/dist/core/proxy-hub-routes.d.ts.map +0 -1
- package/dist/core/proxy-hub-routes.js +0 -92
- package/dist/core/proxy-hub-routes.js.map +0 -1
- package/dist/core/proxy-hub-server.d.ts +0 -59
- package/dist/core/proxy-hub-server.d.ts.map +0 -1
- package/dist/core/proxy-hub-server.js +0 -409
- package/dist/core/proxy-hub-server.js.map +0 -1
- package/dist/core/proxy-hub-service.d.ts +0 -97
- package/dist/core/proxy-hub-service.d.ts.map +0 -1
- package/dist/core/proxy-hub-service.js +0 -553
- package/dist/core/proxy-hub-service.js.map +0 -1
- package/dist/core/proxy-hub-store.d.ts +0 -28
- package/dist/core/proxy-hub-store.d.ts.map +0 -1
- package/dist/core/proxy-hub-store.js +0 -152
- package/dist/core/proxy-hub-store.js.map +0 -1
- package/dist/core/proxy-lifecycle.d.ts +0 -26
- package/dist/core/proxy-lifecycle.d.ts.map +0 -1
- package/dist/core/proxy-lifecycle.js +0 -33
- package/dist/core/proxy-lifecycle.js.map +0 -1
- package/dist/core/proxy-ports.d.ts +0 -50
- package/dist/core/proxy-ports.d.ts.map +0 -1
- package/dist/core/proxy-ports.js +0 -86
- package/dist/core/proxy-ports.js.map +0 -1
- package/dist/core/proxy-service.d.ts +0 -184
- package/dist/core/proxy-service.d.ts.map +0 -1
- package/dist/core/proxy-service.js +0 -860
- package/dist/core/proxy-service.js.map +0 -1
- package/dist/core/quota-guard-policy.d.ts +0 -8
- package/dist/core/quota-guard-policy.d.ts.map +0 -1
- package/dist/core/quota-guard-policy.js +0 -21
- package/dist/core/quota-guard-policy.js.map +0 -1
- package/dist/core/realign-proxy-clients.d.ts +0 -19
- package/dist/core/realign-proxy-clients.d.ts.map +0 -1
- package/dist/core/realign-proxy-clients.js +0 -40
- package/dist/core/realign-proxy-clients.js.map +0 -1
- package/dist/core/refs.d.ts +0 -84
- package/dist/core/refs.d.ts.map +0 -1
- package/dist/core/refs.js +0 -250
- package/dist/core/refs.js.map +0 -1
- package/dist/core/registry.d.ts +0 -46
- package/dist/core/registry.d.ts.map +0 -1
- package/dist/core/registry.js +0 -70
- package/dist/core/registry.js.map +0 -1
- package/dist/core/resolve-source.d.ts +0 -54
- package/dist/core/resolve-source.d.ts.map +0 -1
- package/dist/core/resolve-source.js +0 -148
- package/dist/core/resolve-source.js.map +0 -1
- package/dist/core/runtime-service.d.ts +0 -158
- package/dist/core/runtime-service.d.ts.map +0 -1
- package/dist/core/runtime-service.js +0 -422
- package/dist/core/runtime-service.js.map +0 -1
- package/dist/core/service.d.ts +0 -200
- package/dist/core/service.d.ts.map +0 -1
- package/dist/core/service.js +0 -643
- package/dist/core/service.js.map +0 -1
- package/dist/core/store-snapshot.d.ts +0 -10
- package/dist/core/store-snapshot.d.ts.map +0 -1
- package/dist/core/store-snapshot.js +0 -79
- package/dist/core/store-snapshot.js.map +0 -1
- package/dist/core/store.d.ts +0 -68
- package/dist/core/store.d.ts.map +0 -1
- package/dist/core/store.js +0 -159
- package/dist/core/store.js.map +0 -1
- package/dist/core/tray-runtime.d.ts +0 -15
- package/dist/core/tray-runtime.d.ts.map +0 -1
- package/dist/core/tray-runtime.js +0 -33
- package/dist/core/tray-runtime.js.map +0 -1
- package/dist/core/tray-settings-service.d.ts +0 -7
- package/dist/core/tray-settings-service.d.ts.map +0 -1
- package/dist/core/tray-settings-service.js +0 -24
- package/dist/core/tray-settings-service.js.map +0 -1
- package/dist/core/update.d.ts +0 -26
- package/dist/core/update.d.ts.map +0 -1
- package/dist/core/update.js +0 -128
- package/dist/core/update.js.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -7
- package/dist/network/egress/allowlist.d.ts +0 -2
- package/dist/network/egress/allowlist.d.ts.map +0 -1
- package/dist/network/egress/allowlist.js +0 -14
- package/dist/network/egress/allowlist.js.map +0 -1
- package/dist/network/egress/direct.d.ts +0 -17
- package/dist/network/egress/direct.d.ts.map +0 -1
- package/dist/network/egress/direct.js +0 -28
- package/dist/network/egress/direct.js.map +0 -1
- package/dist/network/egress/errors.d.ts +0 -4
- package/dist/network/egress/errors.d.ts.map +0 -1
- package/dist/network/egress/errors.js +0 -8
- package/dist/network/egress/errors.js.map +0 -1
- package/dist/network/egress/index.d.ts +0 -6
- package/dist/network/egress/index.d.ts.map +0 -1
- package/dist/network/egress/index.js +0 -11
- package/dist/network/egress/index.js.map +0 -1
- package/dist/network/egress/types.d.ts +0 -16
- package/dist/network/egress/types.d.ts.map +0 -1
- package/dist/presentation/client-name.d.ts +0 -14
- package/dist/presentation/client-name.d.ts.map +0 -1
- package/dist/presentation/client-name.js +0 -22
- package/dist/presentation/client-name.js.map +0 -1
- package/dist/presentation/layout.d.ts +0 -7
- package/dist/presentation/layout.d.ts.map +0 -1
- package/dist/presentation/layout.js +0 -10
- package/dist/presentation/layout.js.map +0 -1
- package/dist/providers/auth-fingerprint.d.ts +0 -56
- package/dist/providers/auth-fingerprint.d.ts.map +0 -1
- package/dist/providers/auth-fingerprint.js +0 -163
- package/dist/providers/auth-fingerprint.js.map +0 -1
- package/dist/providers/claude.d.ts +0 -43
- package/dist/providers/claude.d.ts.map +0 -1
- package/dist/providers/claude.js +0 -191
- package/dist/providers/claude.js.map +0 -1
- package/dist/providers/codex-identity.d.ts +0 -13
- package/dist/providers/codex-identity.d.ts.map +0 -1
- package/dist/providers/codex-identity.js +0 -69
- package/dist/providers/codex-identity.js.map +0 -1
- package/dist/providers/codex-refresh.d.ts +0 -30
- package/dist/providers/codex-refresh.d.ts.map +0 -1
- package/dist/providers/codex-refresh.js +0 -64
- package/dist/providers/codex-refresh.js.map +0 -1
- package/dist/providers/codex-usage.d.ts +0 -3
- package/dist/providers/codex-usage.d.ts.map +0 -1
- package/dist/providers/codex-usage.js +0 -42
- package/dist/providers/codex-usage.js.map +0 -1
- package/dist/providers/codex.d.ts +0 -61
- package/dist/providers/codex.d.ts.map +0 -1
- package/dist/providers/codex.js +0 -212
- package/dist/providers/codex.js.map +0 -1
- package/dist/providers/gemini-antigravity-oauth.d.ts +0 -83
- package/dist/providers/gemini-antigravity-oauth.d.ts.map +0 -1
- package/dist/providers/gemini-antigravity-oauth.js +0 -343
- package/dist/providers/gemini-antigravity-oauth.js.map +0 -1
- package/dist/providers/gemini-antigravity-state.d.ts +0 -35
- package/dist/providers/gemini-antigravity-state.d.ts.map +0 -1
- package/dist/providers/gemini-antigravity-state.js +0 -433
- package/dist/providers/gemini-antigravity-state.js.map +0 -1
- package/dist/providers/gemini-env.d.ts +0 -8
- package/dist/providers/gemini-env.d.ts.map +0 -1
- package/dist/providers/gemini-env.js +0 -78
- package/dist/providers/gemini-env.js.map +0 -1
- package/dist/providers/gemini-identity.d.ts +0 -2
- package/dist/providers/gemini-identity.d.ts.map +0 -1
- package/dist/providers/gemini-identity.js +0 -14
- package/dist/providers/gemini-identity.js.map +0 -1
- package/dist/providers/gemini-proxy/main.d.ts +0 -3
- package/dist/providers/gemini-proxy/main.d.ts.map +0 -1
- package/dist/providers/gemini-proxy/main.js +0 -176
- package/dist/providers/gemini-proxy/main.js.map +0 -1
- package/dist/providers/gemini-proxy/server.d.ts +0 -57
- package/dist/providers/gemini-proxy/server.d.ts.map +0 -1
- package/dist/providers/gemini-proxy/server.js +0 -1240
- package/dist/providers/gemini-proxy/server.js.map +0 -1
- package/dist/providers/gemini-proxy-entry.d.ts +0 -2
- package/dist/providers/gemini-proxy-entry.d.ts.map +0 -1
- package/dist/providers/gemini-proxy-entry.js +0 -16
- package/dist/providers/gemini-proxy-entry.js.map +0 -1
- package/dist/providers/gemini-proxy-lifecycle.d.ts +0 -11
- package/dist/providers/gemini-proxy-lifecycle.d.ts.map +0 -1
- package/dist/providers/gemini-proxy-lifecycle.js +0 -131
- package/dist/providers/gemini-proxy-lifecycle.js.map +0 -1
- package/dist/providers/gemini.d.ts +0 -137
- package/dist/providers/gemini.d.ts.map +0 -1
- package/dist/providers/gemini.js +0 -471
- package/dist/providers/gemini.js.map +0 -1
- package/dist/providers/grok-proxy/auth.d.ts +0 -27
- package/dist/providers/grok-proxy/auth.d.ts.map +0 -1
- package/dist/providers/grok-proxy/auth.js +0 -123
- package/dist/providers/grok-proxy/auth.js.map +0 -1
- package/dist/providers/grok-proxy/main.d.ts +0 -3
- package/dist/providers/grok-proxy/main.d.ts.map +0 -1
- package/dist/providers/grok-proxy/main.js +0 -111
- package/dist/providers/grok-proxy/main.js.map +0 -1
- package/dist/providers/grok-proxy/server.d.ts +0 -46
- package/dist/providers/grok-proxy/server.d.ts.map +0 -1
- package/dist/providers/grok-proxy/server.js +0 -595
- package/dist/providers/grok-proxy/server.js.map +0 -1
- package/dist/providers/grok.d.ts +0 -38
- package/dist/providers/grok.d.ts.map +0 -1
- package/dist/providers/grok.js +0 -250
- package/dist/providers/grok.js.map +0 -1
- package/dist/providers/index.d.ts +0 -14
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -23
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/kiro-secret-store.d.ts +0 -39
- package/dist/providers/kiro-secret-store.d.ts.map +0 -1
- package/dist/providers/kiro-secret-store.js +0 -168
- package/dist/providers/kiro-secret-store.js.map +0 -1
- package/dist/providers/kiro.d.ts +0 -50
- package/dist/providers/kiro.d.ts.map +0 -1
- package/dist/providers/kiro.js +0 -373
- package/dist/providers/kiro.js.map +0 -1
- package/dist/providers/model-policy.d.ts +0 -15
- package/dist/providers/model-policy.d.ts.map +0 -1
- package/dist/providers/model-policy.js +0 -26
- package/dist/providers/model-policy.js.map +0 -1
- package/dist/providers/opencode-auth.d.ts +0 -67
- package/dist/providers/opencode-auth.d.ts.map +0 -1
- package/dist/providers/opencode-auth.js +0 -146
- package/dist/providers/opencode-auth.js.map +0 -1
- package/dist/providers/opencode-cli-entry.d.ts +0 -36
- package/dist/providers/opencode-cli-entry.d.ts.map +0 -1
- package/dist/providers/opencode-cli-entry.js +0 -90
- package/dist/providers/opencode-cli-entry.js.map +0 -1
- package/dist/providers/opencode-proxy/abort.d.ts +0 -8
- package/dist/providers/opencode-proxy/abort.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/abort.js +0 -42
- package/dist/providers/opencode-proxy/abort.js.map +0 -1
- package/dist/providers/opencode-proxy/anthropic-handler.d.ts +0 -4
- package/dist/providers/opencode-proxy/anthropic-handler.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/anthropic-handler.js +0 -108
- package/dist/providers/opencode-proxy/anthropic-handler.js.map +0 -1
- package/dist/providers/opencode-proxy/auth.d.ts +0 -38
- package/dist/providers/opencode-proxy/auth.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/auth.js +0 -128
- package/dist/providers/opencode-proxy/auth.js.map +0 -1
- package/dist/providers/opencode-proxy/body.d.ts +0 -9
- package/dist/providers/opencode-proxy/body.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/body.js +0 -69
- package/dist/providers/opencode-proxy/body.js.map +0 -1
- package/dist/providers/opencode-proxy/catalog-handlers.d.ts +0 -7
- package/dist/providers/opencode-proxy/catalog-handlers.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/catalog-handlers.js +0 -132
- package/dist/providers/opencode-proxy/catalog-handlers.js.map +0 -1
- package/dist/providers/opencode-proxy/catalog.d.ts +0 -41
- package/dist/providers/opencode-proxy/catalog.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/catalog.js +0 -146
- package/dist/providers/opencode-proxy/catalog.js.map +0 -1
- package/dist/providers/opencode-proxy/cli.d.ts +0 -2
- package/dist/providers/opencode-proxy/cli.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/cli.js +0 -162
- package/dist/providers/opencode-proxy/cli.js.map +0 -1
- package/dist/providers/opencode-proxy/constants.d.ts +0 -13
- package/dist/providers/opencode-proxy/constants.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/constants.js +0 -15
- package/dist/providers/opencode-proxy/constants.js.map +0 -1
- package/dist/providers/opencode-proxy/context-budget.d.ts +0 -31
- package/dist/providers/opencode-proxy/context-budget.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/context-budget.js +0 -165
- package/dist/providers/opencode-proxy/context-budget.js.map +0 -1
- package/dist/providers/opencode-proxy/errors.d.ts +0 -5
- package/dist/providers/opencode-proxy/errors.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/errors.js +0 -45
- package/dist/providers/opencode-proxy/errors.js.map +0 -1
- package/dist/providers/opencode-proxy/forwarders.d.ts +0 -7
- package/dist/providers/opencode-proxy/forwarders.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/forwarders.js +0 -214
- package/dist/providers/opencode-proxy/forwarders.js.map +0 -1
- package/dist/providers/opencode-proxy/http.d.ts +0 -11
- package/dist/providers/opencode-proxy/http.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/http.js +0 -97
- package/dist/providers/opencode-proxy/http.js.map +0 -1
- package/dist/providers/opencode-proxy/models.d.ts +0 -42
- package/dist/providers/opencode-proxy/models.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/models.js +0 -148
- package/dist/providers/opencode-proxy/models.js.map +0 -1
- package/dist/providers/opencode-proxy/openai-handler.d.ts +0 -5
- package/dist/providers/opencode-proxy/openai-handler.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/openai-handler.js +0 -115
- package/dist/providers/opencode-proxy/openai-handler.js.map +0 -1
- package/dist/providers/opencode-proxy/router.d.ts +0 -4
- package/dist/providers/opencode-proxy/router.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/router.js +0 -65
- package/dist/providers/opencode-proxy/router.js.map +0 -1
- package/dist/providers/opencode-proxy/runtime.d.ts +0 -23
- package/dist/providers/opencode-proxy/runtime.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/runtime.js +0 -158
- package/dist/providers/opencode-proxy/runtime.js.map +0 -1
- package/dist/providers/opencode-proxy/server.d.ts +0 -13
- package/dist/providers/opencode-proxy/server.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/server.js +0 -52
- package/dist/providers/opencode-proxy/server.js.map +0 -1
- package/dist/providers/opencode-proxy/stream.d.ts +0 -4
- package/dist/providers/opencode-proxy/stream.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/stream.js +0 -71
- package/dist/providers/opencode-proxy/stream.js.map +0 -1
- package/dist/providers/opencode-proxy/translate-stream.d.ts +0 -3
- package/dist/providers/opencode-proxy/translate-stream.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/translate-stream.js +0 -205
- package/dist/providers/opencode-proxy/translate-stream.js.map +0 -1
- package/dist/providers/opencode-proxy/translate.d.ts +0 -11
- package/dist/providers/opencode-proxy/translate.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/translate.js +0 -250
- package/dist/providers/opencode-proxy/translate.js.map +0 -1
- package/dist/providers/opencode-proxy/types.d.ts +0 -110
- package/dist/providers/opencode-proxy/types.d.ts.map +0 -1
- package/dist/providers/opencode-proxy/types.js +0 -38
- package/dist/providers/opencode-proxy/types.js.map +0 -1
- package/dist/providers/opencode-proxy-lifecycle.d.ts +0 -11
- package/dist/providers/opencode-proxy-lifecycle.d.ts.map +0 -1
- package/dist/providers/opencode-proxy-lifecycle.js +0 -144
- package/dist/providers/opencode-proxy-lifecycle.js.map +0 -1
- package/dist/providers/opencode.d.ts +0 -40
- package/dist/providers/opencode.d.ts.map +0 -1
- package/dist/providers/opencode.js +0 -190
- package/dist/providers/opencode.js.map +0 -1
- package/dist/providers/protocol/anthropic-convert.d.ts +0 -12
- package/dist/providers/protocol/anthropic-convert.d.ts.map +0 -1
- package/dist/providers/protocol/anthropic-convert.js +0 -113
- package/dist/providers/protocol/anthropic-convert.js.map +0 -1
- package/dist/providers/protocol/anthropic-helpers.d.ts +0 -13
- package/dist/providers/protocol/anthropic-helpers.d.ts.map +0 -1
- package/dist/providers/protocol/anthropic-helpers.js +0 -179
- package/dist/providers/protocol/anthropic-helpers.js.map +0 -1
- package/dist/providers/protocol/anthropic-stream-reader.d.ts +0 -13
- package/dist/providers/protocol/anthropic-stream-reader.d.ts.map +0 -1
- package/dist/providers/protocol/anthropic-stream-reader.js +0 -46
- package/dist/providers/protocol/anthropic-stream-reader.js.map +0 -1
- package/dist/providers/protocol/anthropic-stream.d.ts +0 -7
- package/dist/providers/protocol/anthropic-stream.d.ts.map +0 -1
- package/dist/providers/protocol/anthropic-stream.js +0 -318
- package/dist/providers/protocol/anthropic-stream.js.map +0 -1
- package/dist/providers/protocol/anthropic-types.d.ts +0 -240
- package/dist/providers/protocol/anthropic-types.d.ts.map +0 -1
- package/dist/providers/protocol/anthropic.d.ts +0 -20
- package/dist/providers/protocol/anthropic.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-anthropic.d.ts +0 -15
- package/dist/providers/protocol/gemini/translate-anthropic.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-anthropic.js +0 -84
- package/dist/providers/protocol/gemini/translate-anthropic.js.map +0 -1
- package/dist/providers/protocol/gemini/translate-chat.d.ts +0 -5
- package/dist/providers/protocol/gemini/translate-chat.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-chat.js +0 -142
- package/dist/providers/protocol/gemini/translate-chat.js.map +0 -1
- package/dist/providers/protocol/gemini/translate-models.d.ts +0 -40
- package/dist/providers/protocol/gemini/translate-models.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-models.js +0 -186
- package/dist/providers/protocol/gemini/translate-models.js.map +0 -1
- package/dist/providers/protocol/gemini/translate-responses.d.ts +0 -6
- package/dist/providers/protocol/gemini/translate-responses.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-responses.js +0 -187
- package/dist/providers/protocol/gemini/translate-responses.js.map +0 -1
- package/dist/providers/protocol/gemini/translate-schema.d.ts +0 -9
- package/dist/providers/protocol/gemini/translate-schema.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-schema.js +0 -48
- package/dist/providers/protocol/gemini/translate-schema.js.map +0 -1
- package/dist/providers/protocol/gemini/translate-shared.d.ts +0 -8
- package/dist/providers/protocol/gemini/translate-shared.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-shared.js +0 -47
- package/dist/providers/protocol/gemini/translate-shared.js.map +0 -1
- package/dist/providers/protocol/gemini/translate-thinking.d.ts +0 -7
- package/dist/providers/protocol/gemini/translate-thinking.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate-thinking.js +0 -65
- package/dist/providers/protocol/gemini/translate-thinking.js.map +0 -1
- package/dist/providers/protocol/gemini/translate-types.d.ts +0 -133
- package/dist/providers/protocol/gemini/translate-types.d.ts.map +0 -1
- package/dist/providers/protocol/gemini/translate.d.ts +0 -7
- package/dist/providers/protocol/gemini/translate.d.ts.map +0 -1
- package/dist/providers/protocol/json-schema.d.ts +0 -52
- package/dist/providers/protocol/json-schema.d.ts.map +0 -1
- package/dist/providers/protocol/json-schema.js +0 -189
- package/dist/providers/protocol/json-schema.js.map +0 -1
- package/dist/providers/protocol/token-estimate.d.ts +0 -15
- package/dist/providers/protocol/token-estimate.d.ts.map +0 -1
- package/dist/providers/protocol/token-estimate.js +0 -34
- package/dist/providers/protocol/token-estimate.js.map +0 -1
- package/dist/providers/proxy-hub-backend.d.ts +0 -4
- package/dist/providers/proxy-hub-backend.d.ts.map +0 -1
- package/dist/providers/proxy-hub-backend.js +0 -11
- package/dist/providers/proxy-hub-backend.js.map +0 -1
- package/dist/providers/proxy-process.d.ts +0 -35
- package/dist/providers/proxy-process.d.ts.map +0 -1
- package/dist/providers/proxy-process.js +0 -119
- package/dist/providers/proxy-process.js.map +0 -1
- package/dist/providers/proxy-shared.d.ts +0 -43
- package/dist/providers/proxy-shared.d.ts.map +0 -1
- package/dist/providers/proxy-shared.js +0 -128
- package/dist/providers/proxy-shared.js.map +0 -1
- package/dist/providers/quota-guard.d.ts +0 -49
- package/dist/providers/quota-guard.d.ts.map +0 -1
- package/dist/providers/quota-guard.js +0 -107
- package/dist/providers/quota-guard.js.map +0 -1
- package/dist/providers/reasoning.d.ts +0 -27
- package/dist/providers/reasoning.d.ts.map +0 -1
- package/dist/providers/reasoning.js +0 -61
- package/dist/providers/reasoning.js.map +0 -1
- package/dist/providers/upstream-policy.d.ts +0 -33
- package/dist/providers/upstream-policy.d.ts.map +0 -1
- package/dist/providers/upstream-policy.js +0 -97
- package/dist/providers/upstream-policy.js.map +0 -1
- package/dist/public-types.d.ts +0 -3
- package/dist/public-types.d.ts.map +0 -1
- package/dist/public.d.ts +0 -19
- package/dist/public.d.ts.map +0 -1
- package/dist/public.js +0 -16
- package/dist/public.js.map +0 -1
- package/dist/sources/account-adapters.d.ts +0 -64
- package/dist/sources/account-adapters.d.ts.map +0 -1
- package/dist/sources/account-adapters.js +0 -205
- package/dist/sources/account-adapters.js.map +0 -1
- package/dist/sources/gateway-adapters.d.ts +0 -26
- package/dist/sources/gateway-adapters.d.ts.map +0 -1
- package/dist/sources/gateway-adapters.js +0 -43
- package/dist/sources/gateway-adapters.js.map +0 -1
- package/dist/sources/kiro-proxy-bin.d.ts +0 -41
- package/dist/sources/kiro-proxy-bin.d.ts.map +0 -1
- package/dist/sources/kiro-proxy-bin.js +0 -140
- package/dist/sources/kiro-proxy-bin.js.map +0 -1
- package/dist/sources/proxy-hub-adapters.d.ts +0 -7
- package/dist/sources/proxy-hub-adapters.d.ts.map +0 -1
- package/dist/sources/proxy-hub-adapters.js +0 -26
- package/dist/sources/proxy-hub-adapters.js.map +0 -1
- package/dist/testing.d.ts +0 -9
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js +0 -6
- package/dist/tray/AnyPickTray.swift +0 -3
- package/dist/tray/activity.d.ts +0 -18
- package/dist/tray/activity.d.ts.map +0 -1
- package/dist/tray/activity.js +0 -51
- package/dist/tray/activity.js.map +0 -1
- 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 +0 -1
- package/dist/tray/icons/googlegemini.svg +0 -1
- package/dist/tray/icons/grok.svg +0 -1
- package/dist/tray/icons/kiro.svg +0 -1
- package/dist/tray/icons/openai.svg +0 -1
- package/dist/tray/icons/opencode.svg +0 -1
- package/dist/tray/icons/openrouter.svg +0 -1
- package/dist/tray/model-role-actions.d.ts +0 -15
- package/dist/tray/model-role-actions.d.ts.map +0 -1
- package/dist/tray/model-role-actions.js +0 -41
- package/dist/tray/model-role-actions.js.map +0 -1
- package/dist/tray/native/AccountsPanel.swift +0 -434
- package/dist/tray/native/AppEntry.swift +0 -229
- package/dist/tray/native/MainWindow.swift +0 -300
- package/dist/tray/native/ManageFormChrome.swift +0 -332
- package/dist/tray/native/ManageForms.swift +0 -472
- package/dist/tray/native/ManagePanel.swift +0 -356
- package/dist/tray/native/Models.swift +0 -259
- package/dist/tray/native/ModelsEditor.swift +0 -390
- package/dist/tray/native/ModelsOverview.swift +0 -76
- package/dist/tray/native/ModelsPickers.swift +0 -273
- package/dist/tray/native/ModelsRoutePickers.swift +0 -718
- package/dist/tray/native/MonitorPanel.swift +0 -375
- package/dist/tray/native/ProxyPanel.swift +0 -326
- package/dist/tray/native/QuickActivityRow.swift +0 -40
- package/dist/tray/native/QuickNav.swift +0 -62
- package/dist/tray/native/QuickPanel.swift +0 -447
- package/dist/tray/native/QuickRouteRow.swift +0 -189
- package/dist/tray/native/QuickServiceRows.swift +0 -292
- package/dist/tray/native/RoutingIssues.swift +0 -293
- package/dist/tray/native/SettingsPanel.swift +0 -225
- package/dist/tray/native/SharedUI.swift +0 -681
- package/dist/tray/native/Store.swift +0 -540
- package/dist/tray/native/Theme.swift +0 -139
- package/dist/tray/native/TrayChrome.swift +0 -657
- package/dist/tray/native/TrayControls.swift +0 -475
- package/dist/tray/native/TrayPreferences.swift +0 -46
- package/dist/tray/native/sources.txt +0 -26
- package/dist/tray/native-sources.d.ts +0 -8
- package/dist/tray/native-sources.d.ts.map +0 -1
- package/dist/tray/native-sources.js +0 -19
- package/dist/tray/native-sources.js.map +0 -1
- package/dist/tray/protocol.d.ts +0 -79
- package/dist/tray/protocol.d.ts.map +0 -1
- package/dist/tray/protocol.js +0 -145
- package/dist/tray/protocol.js.map +0 -1
- package/dist/tray/settings.d.ts +0 -15
- package/dist/tray/settings.d.ts.map +0 -1
- package/dist/tray/settings.js +0 -72
- package/dist/tray/settings.js.map +0 -1
- package/dist/tray/snapshot-client-routes.d.ts +0 -11
- package/dist/tray/snapshot-client-routes.d.ts.map +0 -1
- package/dist/tray/snapshot-client-routes.js +0 -305
- package/dist/tray/snapshot-client-routes.js.map +0 -1
- package/dist/tray/snapshot-helpers.d.ts +0 -20
- package/dist/tray/snapshot-helpers.d.ts.map +0 -1
- package/dist/tray/snapshot-helpers.js +0 -74
- package/dist/tray/snapshot-helpers.js.map +0 -1
- package/dist/tray/snapshot-hub.d.ts +0 -7
- package/dist/tray/snapshot-hub.d.ts.map +0 -1
- package/dist/tray/snapshot-hub.js +0 -93
- package/dist/tray/snapshot-hub.js.map +0 -1
- package/dist/tray/snapshot-resources.d.ts +0 -19
- package/dist/tray/snapshot-resources.d.ts.map +0 -1
- package/dist/tray/snapshot-resources.js +0 -216
- package/dist/tray/snapshot-resources.js.map +0 -1
- package/dist/tray/snapshot-types.d.ts +0 -229
- package/dist/tray/snapshot-types.d.ts.map +0 -1
- package/dist/tray/snapshot-usage.d.ts +0 -9
- package/dist/tray/snapshot-usage.d.ts.map +0 -1
- package/dist/tray/snapshot-usage.js +0 -35
- package/dist/tray/snapshot-usage.js.map +0 -1
- package/dist/tray/snapshot.d.ts +0 -7
- package/dist/tray/snapshot.d.ts.map +0 -1
- package/dist/tray/snapshot.js +0 -48
- package/dist/tray/snapshot.js.map +0 -1
- package/dist/tray/supervisor-actions.d.ts +0 -19
- package/dist/tray/supervisor-actions.d.ts.map +0 -1
- package/dist/tray/supervisor-actions.js +0 -224
- package/dist/tray/supervisor-actions.js.map +0 -1
- package/dist/tray/supervisor-activity.d.ts +0 -5
- package/dist/tray/supervisor-activity.d.ts.map +0 -1
- package/dist/tray/supervisor-activity.js +0 -19
- package/dist/tray/supervisor-activity.js.map +0 -1
- package/dist/tray/supervisor-errors.d.ts +0 -9
- package/dist/tray/supervisor-errors.d.ts.map +0 -1
- package/dist/tray/supervisor-errors.js +0 -91
- package/dist/tray/supervisor-errors.js.map +0 -1
- package/dist/tray/supervisor-logs.d.ts +0 -6
- package/dist/tray/supervisor-logs.d.ts.map +0 -1
- package/dist/tray/supervisor-logs.js +0 -52
- package/dist/tray/supervisor-logs.js.map +0 -1
- package/dist/tray/supervisor-mutations.d.ts +0 -14
- package/dist/tray/supervisor-mutations.d.ts.map +0 -1
- package/dist/tray/supervisor-mutations.js +0 -218
- package/dist/tray/supervisor-mutations.js.map +0 -1
- package/dist/tray/supervisor-native.d.ts +0 -22
- package/dist/tray/supervisor-native.d.ts.map +0 -1
- package/dist/tray/supervisor-native.js +0 -227
- package/dist/tray/supervisor-native.js.map +0 -1
- package/dist/tray/supervisor-proxies.d.ts +0 -6
- package/dist/tray/supervisor-proxies.d.ts.map +0 -1
- package/dist/tray/supervisor-proxies.js +0 -37
- package/dist/tray/supervisor-proxies.js.map +0 -1
- package/dist/tray/supervisor-tauri.d.ts +0 -13
- package/dist/tray/supervisor-tauri.d.ts.map +0 -1
- package/dist/tray/supervisor-tauri.js +0 -36
- package/dist/tray/supervisor-tauri.js.map +0 -1
- package/dist/tray/supervisor.d.ts +0 -17
- package/dist/tray/supervisor.d.ts.map +0 -1
- package/dist/tray/supervisor.js +0 -372
- package/dist/tray/supervisor.js.map +0 -1
- package/dist/tray/terminal-launcher.d.ts +0 -12
- package/dist/tray/terminal-launcher.d.ts.map +0 -1
- package/dist/tray/terminal-launcher.js +0 -130
- package/dist/tray/terminal-launcher.js.map +0 -1
- package/dist/tui/actions/ensure-proxy-up.d.ts +0 -15
- package/dist/tui/actions/ensure-proxy-up.d.ts.map +0 -1
- package/dist/tui/actions/ensure-proxy-up.js +0 -41
- package/dist/tui/actions/ensure-proxy-up.js.map +0 -1
- package/dist/tui/actions/use-account-actions.d.ts +0 -35
- package/dist/tui/actions/use-account-actions.d.ts.map +0 -1
- package/dist/tui/actions/use-account-actions.js +0 -527
- package/dist/tui/actions/use-account-actions.js.map +0 -1
- package/dist/tui/actions/use-app-bindings.d.ts +0 -83
- package/dist/tui/actions/use-app-bindings.d.ts.map +0 -1
- package/dist/tui/actions/use-app-bindings.js +0 -472
- package/dist/tui/actions/use-app-bindings.js.map +0 -1
- package/dist/tui/actions/use-gateway-actions.d.ts +0 -45
- package/dist/tui/actions/use-gateway-actions.d.ts.map +0 -1
- package/dist/tui/actions/use-gateway-actions.js +0 -370
- package/dist/tui/actions/use-gateway-actions.js.map +0 -1
- package/dist/tui/actions/use-home-filter.d.ts +0 -24
- package/dist/tui/actions/use-home-filter.d.ts.map +0 -1
- package/dist/tui/actions/use-home-filter.js +0 -48
- package/dist/tui/actions/use-home-filter.js.map +0 -1
- package/dist/tui/actions/use-model-role-editor.d.ts +0 -44
- package/dist/tui/actions/use-model-role-editor.d.ts.map +0 -1
- package/dist/tui/actions/use-model-role-editor.js +0 -68
- package/dist/tui/actions/use-model-role-editor.js.map +0 -1
- package/dist/tui/actions/use-provider-filter.d.ts +0 -10
- package/dist/tui/actions/use-provider-filter.d.ts.map +0 -1
- package/dist/tui/actions/use-provider-filter.js +0 -22
- package/dist/tui/actions/use-provider-filter.js.map +0 -1
- package/dist/tui/actions/use-proxy-actions.d.ts +0 -31
- package/dist/tui/actions/use-proxy-actions.d.ts.map +0 -1
- package/dist/tui/actions/use-proxy-actions.js +0 -474
- package/dist/tui/actions/use-proxy-actions.js.map +0 -1
- package/dist/tui/actions/use-text-input-submit.d.ts +0 -16
- package/dist/tui/actions/use-text-input-submit.d.ts.map +0 -1
- package/dist/tui/actions/use-text-input-submit.js +0 -96
- package/dist/tui/actions/use-text-input-submit.js.map +0 -1
- package/dist/tui/actions/use-tray-runtime-actions.d.ts +0 -18
- package/dist/tui/actions/use-tray-runtime-actions.d.ts.map +0 -1
- package/dist/tui/actions/use-tray-runtime-actions.js +0 -78
- package/dist/tui/actions/use-tray-runtime-actions.js.map +0 -1
- package/dist/tui/app-ui-helpers.d.ts +0 -14
- package/dist/tui/app-ui-helpers.d.ts.map +0 -1
- package/dist/tui/app-ui-helpers.js +0 -48
- package/dist/tui/app-ui-helpers.js.map +0 -1
- package/dist/tui/app-ui.d.ts +0 -19
- package/dist/tui/app-ui.d.ts.map +0 -1
- package/dist/tui/app-ui.js +0 -98
- package/dist/tui/app-ui.js.map +0 -1
- package/dist/tui/components/chrome/header.d.ts +0 -39
- package/dist/tui/components/chrome/header.d.ts.map +0 -1
- package/dist/tui/components/chrome/header.js +0 -161
- package/dist/tui/components/chrome/header.js.map +0 -1
- package/dist/tui/components/chrome/inputs.d.ts +0 -34
- package/dist/tui/components/chrome/inputs.d.ts.map +0 -1
- package/dist/tui/components/chrome/inputs.js +0 -82
- package/dist/tui/components/chrome/inputs.js.map +0 -1
- package/dist/tui/components/chrome/layout.d.ts +0 -61
- package/dist/tui/components/chrome/layout.d.ts.map +0 -1
- package/dist/tui/components/chrome/layout.js +0 -119
- package/dist/tui/components/chrome/layout.js.map +0 -1
- package/dist/tui/components/chrome/legacy.d.ts +0 -84
- package/dist/tui/components/chrome/legacy.d.ts.map +0 -1
- package/dist/tui/components/chrome/legacy.js +0 -6
- package/dist/tui/components/chrome/rows.d.ts +0 -89
- package/dist/tui/components/chrome/rows.d.ts.map +0 -1
- package/dist/tui/components/chrome/rows.js +0 -151
- package/dist/tui/components/chrome/rows.js.map +0 -1
- package/dist/tui/components/chrome/status.d.ts +0 -50
- package/dist/tui/components/chrome/status.d.ts.map +0 -1
- package/dist/tui/components/chrome/status.js +0 -157
- package/dist/tui/components/chrome/status.js.map +0 -1
- package/dist/tui/components/chrome.d.ts +0 -7
- package/dist/tui/components/chrome.d.ts.map +0 -1
- package/dist/tui/components/chrome.js +0 -7
- package/dist/tui/components.d.ts +0 -26
- package/dist/tui/components.d.ts.map +0 -1
- package/dist/tui/components.js +0 -182
- package/dist/tui/components.js.map +0 -1
- package/dist/tui/model/anypick.d.ts +0 -106
- package/dist/tui/model/anypick.d.ts.map +0 -1
- package/dist/tui/model/anypick.js +0 -116
- package/dist/tui/model/anypick.js.map +0 -1
- package/dist/tui/model/bindings.d.ts +0 -39
- package/dist/tui/model/bindings.d.ts.map +0 -1
- package/dist/tui/model/bindings.js +0 -102
- package/dist/tui/model/bindings.js.map +0 -1
- package/dist/tui/model/detail.d.ts +0 -6
- package/dist/tui/model/detail.d.ts.map +0 -1
- package/dist/tui/model/detail.js +0 -85
- package/dist/tui/model/detail.js.map +0 -1
- package/dist/tui/model/gateway.d.ts +0 -46
- package/dist/tui/model/gateway.d.ts.map +0 -1
- package/dist/tui/model/gateway.js +0 -134
- package/dist/tui/model/gateway.js.map +0 -1
- package/dist/tui/model/home-format.d.ts +0 -52
- package/dist/tui/model/home-format.d.ts.map +0 -1
- package/dist/tui/model/home-format.js +0 -64
- package/dist/tui/model/home-format.js.map +0 -1
- package/dist/tui/model/home-load.d.ts +0 -8
- package/dist/tui/model/home-load.d.ts.map +0 -1
- package/dist/tui/model/home-load.js +0 -244
- package/dist/tui/model/home-load.js.map +0 -1
- package/dist/tui/model/identity.d.ts +0 -53
- package/dist/tui/model/identity.d.ts.map +0 -1
- package/dist/tui/model/identity.js +0 -176
- package/dist/tui/model/identity.js.map +0 -1
- package/dist/tui/model/line-editor.d.ts +0 -99
- package/dist/tui/model/line-editor.d.ts.map +0 -1
- package/dist/tui/model/line-editor.js +0 -186
- package/dist/tui/model/line-editor.js.map +0 -1
- package/dist/tui/model/names.d.ts +0 -28
- package/dist/tui/model/names.d.ts.map +0 -1
- package/dist/tui/model/names.js +0 -42
- package/dist/tui/model/names.js.map +0 -1
- package/dist/tui/model/pool.d.ts +0 -11
- package/dist/tui/model/pool.d.ts.map +0 -1
- package/dist/tui/model/pool.js +0 -115
- package/dist/tui/model/pool.js.map +0 -1
- package/dist/tui/model/provider-filter.d.ts +0 -14
- package/dist/tui/model/provider-filter.d.ts.map +0 -1
- package/dist/tui/model/provider-filter.js +0 -46
- package/dist/tui/model/provider-filter.js.map +0 -1
- package/dist/tui/model/proxy-hub.d.ts +0 -23
- package/dist/tui/model/proxy-hub.d.ts.map +0 -1
- package/dist/tui/model/proxy-hub.js +0 -69
- package/dist/tui/model/proxy-hub.js.map +0 -1
- package/dist/tui/model/proxy-labels.d.ts +0 -5
- package/dist/tui/model/proxy-labels.d.ts.map +0 -1
- package/dist/tui/model/proxy-labels.js +0 -18
- package/dist/tui/model/proxy-labels.js.map +0 -1
- package/dist/tui/model/proxy.d.ts +0 -15
- package/dist/tui/model/proxy.d.ts.map +0 -1
- package/dist/tui/model/proxy.js +0 -214
- package/dist/tui/model/proxy.js.map +0 -1
- package/dist/tui/model/root.d.ts +0 -20
- package/dist/tui/model/root.d.ts.map +0 -1
- package/dist/tui/model/root.js +0 -126
- package/dist/tui/model/root.js.map +0 -1
- package/dist/tui/model/route-builder.d.ts +0 -25
- package/dist/tui/model/route-builder.d.ts.map +0 -1
- package/dist/tui/model/route-builder.js +0 -199
- package/dist/tui/model/route-builder.js.map +0 -1
- package/dist/tui/model/screen.d.ts +0 -260
- package/dist/tui/model/screen.d.ts.map +0 -1
- package/dist/tui/model/types.d.ts +0 -179
- package/dist/tui/model/types.d.ts.map +0 -1
- package/dist/tui/model.d.ts +0 -18
- package/dist/tui/model.d.ts.map +0 -1
- package/dist/tui/model.js +0 -17
- package/dist/tui/proxy-models-fetch.d.ts +0 -34
- package/dist/tui/proxy-models-fetch.d.ts.map +0 -1
- package/dist/tui/proxy-models-fetch.js +0 -87
- package/dist/tui/proxy-models-fetch.js.map +0 -1
- package/dist/tui/routes/account.d.ts +0 -4
- package/dist/tui/routes/account.d.ts.map +0 -1
- package/dist/tui/routes/account.js +0 -327
- package/dist/tui/routes/account.js.map +0 -1
- package/dist/tui/routes/apps.d.ts +0 -3
- package/dist/tui/routes/apps.d.ts.map +0 -1
- package/dist/tui/routes/apps.js +0 -296
- package/dist/tui/routes/apps.js.map +0 -1
- package/dist/tui/routes/common.d.ts +0 -4
- package/dist/tui/routes/common.d.ts.map +0 -1
- package/dist/tui/routes/common.js +0 -117
- package/dist/tui/routes/common.js.map +0 -1
- package/dist/tui/routes/context.d.ts +0 -43
- package/dist/tui/routes/context.d.ts.map +0 -1
- package/dist/tui/routes/gateway.d.ts +0 -3
- package/dist/tui/routes/gateway.d.ts.map +0 -1
- package/dist/tui/routes/gateway.js +0 -199
- package/dist/tui/routes/gateway.js.map +0 -1
- package/dist/tui/routes/proxy.d.ts +0 -3
- package/dist/tui/routes/proxy.d.ts.map +0 -1
- package/dist/tui/routes/proxy.js +0 -234
- package/dist/tui/routes/proxy.js.map +0 -1
- package/dist/tui/screens/account-detail.d.ts +0 -14
- package/dist/tui/screens/account-detail.d.ts.map +0 -1
- package/dist/tui/screens/account-detail.js +0 -98
- package/dist/tui/screens/account-detail.js.map +0 -1
- package/dist/tui/screens/accounts-home.d.ts +0 -42
- package/dist/tui/screens/accounts-home.d.ts.map +0 -1
- package/dist/tui/screens/accounts-home.js +0 -321
- package/dist/tui/screens/accounts-home.js.map +0 -1
- package/dist/tui/screens/add-account.d.ts +0 -70
- package/dist/tui/screens/add-account.d.ts.map +0 -1
- package/dist/tui/screens/add-account.js +0 -323
- package/dist/tui/screens/add-account.js.map +0 -1
- package/dist/tui/screens/anypick-home.d.ts +0 -39
- package/dist/tui/screens/anypick-home.d.ts.map +0 -1
- package/dist/tui/screens/anypick-home.js +0 -253
- package/dist/tui/screens/anypick-home.js.map +0 -1
- package/dist/tui/screens/anypick-preview.d.ts +0 -13
- package/dist/tui/screens/anypick-preview.d.ts.map +0 -1
- package/dist/tui/screens/anypick-preview.js +0 -49
- package/dist/tui/screens/anypick-preview.js.map +0 -1
- package/dist/tui/screens/app-route-preview.d.ts +0 -14
- package/dist/tui/screens/app-route-preview.d.ts.map +0 -1
- package/dist/tui/screens/app-route-preview.js +0 -35
- package/dist/tui/screens/app-route-preview.js.map +0 -1
- package/dist/tui/screens/app-route-source.d.ts +0 -15
- package/dist/tui/screens/app-route-source.d.ts.map +0 -1
- package/dist/tui/screens/app-route-source.js +0 -97
- package/dist/tui/screens/app-route-source.js.map +0 -1
- package/dist/tui/screens/apps-home.d.ts +0 -22
- package/dist/tui/screens/apps-home.d.ts.map +0 -1
- package/dist/tui/screens/apps-home.js +0 -111
- package/dist/tui/screens/apps-home.js.map +0 -1
- package/dist/tui/screens/confirm.d.ts +0 -19
- package/dist/tui/screens/confirm.d.ts.map +0 -1
- package/dist/tui/screens/confirm.js +0 -42
- package/dist/tui/screens/confirm.js.map +0 -1
- package/dist/tui/screens/credential-form.d.ts +0 -30
- package/dist/tui/screens/credential-form.d.ts.map +0 -1
- package/dist/tui/screens/credential-form.js +0 -241
- package/dist/tui/screens/credential-form.js.map +0 -1
- package/dist/tui/screens/gateway-connection-form.d.ts +0 -16
- package/dist/tui/screens/gateway-connection-form.d.ts.map +0 -1
- package/dist/tui/screens/gateway-connection-form.js +0 -127
- package/dist/tui/screens/gateway-connection-form.js.map +0 -1
- package/dist/tui/screens/gateway-pick-provider.d.ts +0 -19
- package/dist/tui/screens/gateway-pick-provider.d.ts.map +0 -1
- package/dist/tui/screens/gateway-pick-provider.js +0 -62
- package/dist/tui/screens/gateway-pick-provider.js.map +0 -1
- package/dist/tui/screens/gateways-home.d.ts +0 -38
- package/dist/tui/screens/gateways-home.d.ts.map +0 -1
- package/dist/tui/screens/gateways-home.js +0 -247
- package/dist/tui/screens/gateways-home.js.map +0 -1
- package/dist/tui/screens/health.d.ts +0 -16
- package/dist/tui/screens/health.d.ts.map +0 -1
- package/dist/tui/screens/health.js +0 -109
- package/dist/tui/screens/health.js.map +0 -1
- package/dist/tui/screens/help.d.ts +0 -10
- package/dist/tui/screens/help.d.ts.map +0 -1
- package/dist/tui/screens/help.js +0 -213
- package/dist/tui/screens/help.js.map +0 -1
- package/dist/tui/screens/manage-apps.d.ts +0 -29
- package/dist/tui/screens/manage-apps.d.ts.map +0 -1
- package/dist/tui/screens/manage-apps.js +0 -165
- package/dist/tui/screens/manage-apps.js.map +0 -1
- package/dist/tui/screens/proxy-board-helpers.d.ts +0 -9
- package/dist/tui/screens/proxy-board-helpers.d.ts.map +0 -1
- package/dist/tui/screens/proxy-board-helpers.js +0 -70
- package/dist/tui/screens/proxy-board-helpers.js.map +0 -1
- package/dist/tui/screens/proxy-board.d.ts +0 -43
- package/dist/tui/screens/proxy-board.d.ts.map +0 -1
- package/dist/tui/screens/proxy-board.js +0 -351
- package/dist/tui/screens/proxy-board.js.map +0 -1
- package/dist/tui/screens/proxy-hub.d.ts +0 -21
- package/dist/tui/screens/proxy-hub.d.ts.map +0 -1
- package/dist/tui/screens/proxy-hub.js +0 -150
- package/dist/tui/screens/proxy-hub.js.map +0 -1
- package/dist/tui/screens/proxy-models-utils.d.ts +0 -13
- package/dist/tui/screens/proxy-models-utils.d.ts.map +0 -1
- package/dist/tui/screens/proxy-models-utils.js +0 -53
- package/dist/tui/screens/proxy-models-utils.js.map +0 -1
- package/dist/tui/screens/proxy-models.d.ts +0 -65
- package/dist/tui/screens/proxy-models.d.ts.map +0 -1
- package/dist/tui/screens/proxy-models.js +0 -252
- package/dist/tui/screens/proxy-models.js.map +0 -1
- package/dist/tui/screens/proxy.d.ts +0 -26
- package/dist/tui/screens/proxy.d.ts.map +0 -1
- package/dist/tui/screens/text-input.d.ts +0 -18
- package/dist/tui/screens/text-input.d.ts.map +0 -1
- package/dist/tui/screens/text-input.js +0 -67
- package/dist/tui/screens/text-input.js.map +0 -1
- package/dist/tui/screens/tray-runtime.d.ts +0 -19
- package/dist/tui/screens/tray-runtime.d.ts.map +0 -1
- package/dist/tui/screens/tray-runtime.js +0 -108
- package/dist/tui/screens/tray-runtime.js.map +0 -1
- package/dist/tui/use-tui-nav.d.ts +0 -40
- package/dist/tui/use-tui-nav.d.ts.map +0 -1
- package/dist/tui/use-tui-nav.js +0 -256
- package/dist/tui/use-tui-nav.js.map +0 -1
- package/dist/tui/use-tui-shell.d.ts +0 -46
- package/dist/tui/use-tui-shell.d.ts.map +0 -1
- package/dist/tui/use-tui-shell.js +0 -95
- package/dist/tui/use-tui-shell.js.map +0 -1
- package/dist/types/account.d.ts +0 -410
- package/dist/types/account.d.ts.map +0 -1
- package/dist/types/account.js +0 -7
- package/dist/types/account.js.map +0 -1
- package/dist/types/bindings.d.ts +0 -300
- package/dist/types/bindings.d.ts.map +0 -1
- package/dist/types/catalog.d.ts +0 -165
- package/dist/types/catalog.d.ts.map +0 -1
- package/dist/types/clients.d.ts +0 -174
- package/dist/types/clients.d.ts.map +0 -1
- package/dist/types/clients.js +0 -11
- package/dist/types/clients.js.map +0 -1
- package/dist/types/plugins.d.ts +0 -89
- package/dist/types/plugins.d.ts.map +0 -1
- package/dist/types/plugins.js +0 -14
- package/dist/types/plugins.js.map +0 -1
- package/dist/types/proxy-hub.d.ts +0 -109
- package/dist/types/proxy-hub.d.ts.map +0 -1
- package/dist/types.d.ts +0 -7
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -1
- package/dist/utils/errors.d.ts +0 -61
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -119
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/fs.d.ts +0 -39
- package/dist/utils/fs.d.ts.map +0 -1
- package/dist/utils/fs.js +0 -126
- package/dist/utils/fs.js.map +0 -1
- package/dist/utils/lock.d.ts +0 -33
- package/dist/utils/lock.d.ts.map +0 -1
- package/dist/utils/lock.js +0 -95
- package/dist/utils/lock.js.map +0 -1
- package/dist/utils/log.d.ts +0 -10
- package/dist/utils/log.d.ts.map +0 -1
- package/dist/utils/log.js +0 -21
- package/dist/utils/log.js.map +0 -1
- package/dist/utils/network.d.ts +0 -3
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/network.js +0 -13
- package/dist/utils/network.js.map +0 -1
- package/dist/utils/process/binary.d.ts +0 -14
- package/dist/utils/process/binary.d.ts.map +0 -1
- package/dist/utils/process/binary.js +0 -29
- package/dist/utils/process/binary.js.map +0 -1
- package/dist/utils/process/follow.d.ts +0 -2
- package/dist/utils/process/follow.d.ts.map +0 -1
- package/dist/utils/process/follow.js +0 -90
- package/dist/utils/process/follow.js.map +0 -1
- package/dist/utils/process/health.d.ts +0 -43
- package/dist/utils/process/health.d.ts.map +0 -1
- package/dist/utils/process/health.js +0 -132
- package/dist/utils/process/health.js.map +0 -1
- package/dist/utils/process/pid.d.ts +0 -95
- package/dist/utils/process/pid.d.ts.map +0 -1
- package/dist/utils/process/pid.js +0 -243
- package/dist/utils/process/pid.js.map +0 -1
- package/dist/utils/process.d.ts +0 -5
- package/dist/utils/process.d.ts.map +0 -1
- package/dist/utils/process.js +0 -5
- package/dist/utils/slug.d.ts +0 -18
- package/dist/utils/slug.d.ts.map +0 -1
- package/dist/utils/slug.js +0 -42
- package/dist/utils/slug.js.map +0 -1
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { gatewayAdapterFromProfile } from "../../sources/gateway-adapters.js";
|
|
2
|
-
import { formatRelativeTime } from "./identity.js";
|
|
3
|
-
import { shortAppName } from "./names.js";
|
|
4
|
-
import { loadAppBindings } from "./bindings.js";
|
|
5
|
-
//#region src/tui/model/gateway.ts
|
|
6
|
-
async function loadGateways(app, nowMs = Date.now()) {
|
|
7
|
-
const profiles = await app.profiles.list();
|
|
8
|
-
const apps = loadAppBindings(app);
|
|
9
|
-
const out = [];
|
|
10
|
-
for (const p of profiles) {
|
|
11
|
-
let providerName = p.meta.provider;
|
|
12
|
-
try {
|
|
13
|
-
if (app.catalog.has(p.meta.provider)) providerName = app.catalog.get(p.meta.provider).name;
|
|
14
|
-
} catch {}
|
|
15
|
-
const endpoint = p.meta.endpoint ?? "";
|
|
16
|
-
let endpointShort = endpoint;
|
|
17
|
-
try {
|
|
18
|
-
if (endpoint) {
|
|
19
|
-
const u = new URL(endpoint);
|
|
20
|
-
endpointShort = u.host + (u.pathname === "/" ? "" : u.pathname.replace(/\/$/, ""));
|
|
21
|
-
}
|
|
22
|
-
} catch {
|
|
23
|
-
endpointShort = endpoint.slice(0, 32);
|
|
24
|
-
}
|
|
25
|
-
const usedByApps = apps.filter((a) => a.bound && a.sourceDisplay === p.meta.name).map((a) => a.clientName);
|
|
26
|
-
const bits = [];
|
|
27
|
-
if (p.meta.defaultModel) bits.push(p.meta.defaultModel);
|
|
28
|
-
const roleCount = [
|
|
29
|
-
p.meta.sonnetModel,
|
|
30
|
-
p.meta.opusModel,
|
|
31
|
-
p.meta.haikuModel
|
|
32
|
-
].filter(Boolean).length;
|
|
33
|
-
if (roleCount > 0) bits.push(`+${roleCount} roles`);
|
|
34
|
-
out.push({
|
|
35
|
-
name: p.meta.name,
|
|
36
|
-
providerId: p.meta.provider,
|
|
37
|
-
providerName,
|
|
38
|
-
endpoint,
|
|
39
|
-
endpointShort: endpointShort || "—",
|
|
40
|
-
hasApiKey: Boolean(p.secrets.apiKey?.trim()),
|
|
41
|
-
defaultModel: p.meta.defaultModel,
|
|
42
|
-
sonnetModel: p.meta.sonnetModel,
|
|
43
|
-
opusModel: p.meta.opusModel,
|
|
44
|
-
haikuModel: p.meta.haikuModel,
|
|
45
|
-
modelSummary: bits.length ? bits.join(" · ") : void 0,
|
|
46
|
-
usedByApps,
|
|
47
|
-
updatedAt: p.meta.updatedAt,
|
|
48
|
-
updatedRelative: formatRelativeTime(p.meta.updatedAt, nowMs)
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
out.sort((a, b) => a.name.localeCompare(b.name));
|
|
52
|
-
return out;
|
|
53
|
-
}
|
|
54
|
-
/** Model roles stored on a gateway profile (Claude-shaped). */
|
|
55
|
-
function gatewayProfileModelRoles(profile, catalog) {
|
|
56
|
-
const defaults = defaultModelRolesFromCatalog(profile.meta.provider ?? "custom", catalog);
|
|
57
|
-
return {
|
|
58
|
-
default: profile.meta.defaultModel ?? defaults.default ?? "",
|
|
59
|
-
sonnet: profile.meta.sonnetModel ?? defaults.sonnet ?? defaults.default ?? "",
|
|
60
|
-
opus: profile.meta.opusModel ?? defaults.opus ?? defaults.default ?? "",
|
|
61
|
-
haiku: profile.meta.haikuModel ?? defaults.haiku ?? defaults.default ?? ""
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Role defaults for a gateway catalog provider.
|
|
66
|
-
*
|
|
67
|
-
* The catalog entry owns the answer via `roleDefaults()`. Without a catalog (or
|
|
68
|
-
* for an unregistered id) we return an empty map so callers fall back to the
|
|
69
|
-
* profile's own stored model fields rather than inheriting another vendor's ids.
|
|
70
|
-
*/
|
|
71
|
-
function defaultModelRolesFromCatalog(providerId, catalog) {
|
|
72
|
-
if (!catalog?.has(providerId)) return {};
|
|
73
|
-
try {
|
|
74
|
-
return catalog.get(providerId).roleDefaults?.() ?? {};
|
|
75
|
-
} catch {
|
|
76
|
-
return {};
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/** Suggest model ids for a gateway catalog provider (rich list for autocomplete). */
|
|
80
|
-
function suggestModelsForGateway(providerId, catalog) {
|
|
81
|
-
const seen = /* @__PURE__ */ new Set();
|
|
82
|
-
const out = [];
|
|
83
|
-
const push = (v) => {
|
|
84
|
-
if (!v || seen.has(v)) return;
|
|
85
|
-
seen.add(v);
|
|
86
|
-
out.push(v);
|
|
87
|
-
};
|
|
88
|
-
const base = defaultModelRolesFromCatalog(providerId, catalog);
|
|
89
|
-
for (const v of Object.values(base)) push(v);
|
|
90
|
-
if (catalog?.has(providerId)) try {
|
|
91
|
-
const map = catalog.get(providerId).suggestModels?.() ?? {};
|
|
92
|
-
for (const [alias, id] of Object.entries(map)) {
|
|
93
|
-
push(id);
|
|
94
|
-
push(alias);
|
|
95
|
-
}
|
|
96
|
-
} catch {}
|
|
97
|
-
const friendly = catalog?.has(providerId) ? catalog.get(providerId).roleFriendlyModels?.() ?? [] : [
|
|
98
|
-
"claude-sonnet-5",
|
|
99
|
-
"claude-opus-5",
|
|
100
|
-
"claude-haiku-4-5",
|
|
101
|
-
"gpt-5.6-sol",
|
|
102
|
-
"grok-4.5",
|
|
103
|
-
"gemini-3.1-pro-preview",
|
|
104
|
-
"gemini-3.6-flash"
|
|
105
|
-
];
|
|
106
|
-
for (const s of friendly) push(s);
|
|
107
|
-
return out;
|
|
108
|
-
}
|
|
109
|
-
/** Apps that can use this gateway, plus existing bindings so they can be detached safely. */
|
|
110
|
-
function compatibleAppsForGateway(app, profile) {
|
|
111
|
-
const all = loadAppBindings(app);
|
|
112
|
-
const byId = new Map(all.map((a) => [a.clientId, a]));
|
|
113
|
-
const adapter = gatewayAdapterFromProfile(profile, {
|
|
114
|
-
catalogProvider: app.catalog.has(profile.meta.provider) ? app.catalog.get(profile.meta.provider) : void 0,
|
|
115
|
-
clients: app.clients
|
|
116
|
-
});
|
|
117
|
-
const out = [];
|
|
118
|
-
for (const client of app.clients.list()) {
|
|
119
|
-
const existing = byId.get(client.id);
|
|
120
|
-
const boundToGateway = existing?.bound && existing.sourceDisplay === profile.meta.name;
|
|
121
|
-
if (adapter.transportFor(client.id) === "unsupported" && !boundToGateway) continue;
|
|
122
|
-
out.push(existing ?? {
|
|
123
|
-
clientId: client.id,
|
|
124
|
-
clientName: shortAppName(client.id, client.name),
|
|
125
|
-
bound: false
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
return out;
|
|
129
|
-
}
|
|
130
|
-
/** Display label for a proxy board row. */
|
|
131
|
-
//#endregion
|
|
132
|
-
export { compatibleAppsForGateway, gatewayProfileModelRoles, loadGateways, suggestModelsForGateway };
|
|
133
|
-
|
|
134
|
-
//# sourceMappingURL=gateway.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","names":[],"sources":["../../../src/tui/model/gateway.ts"],"sourcesContent":["import type { AnyPickApp } from '../../core/app';\nimport type { AppBindingRow } from './bindings';\nimport { loadAppBindings } from './bindings';\nimport { formatRelativeTime } from './identity';\nimport { shortAppName } from './names';\nimport { gatewayAdapterFromProfile } from '../../sources/gateway-adapters';\nimport type { ModelPolicy, RuntimeProfile } from '../../types';\n\nexport interface GatewayRow {\n name: string;\n providerId: string;\n providerName: string;\n endpoint?: string;\n endpointShort: string;\n hasApiKey: boolean;\n defaultModel?: string;\n sonnetModel?: string;\n opusModel?: string;\n haikuModel?: string;\n /** Compact model summary for the list. */\n modelSummary?: string;\n /** Apps currently bound to this gateway. */\n usedByApps: string[];\n updatedAt: string;\n updatedRelative: string;\n}\n\nexport async function loadGateways(app: AnyPickApp, nowMs = Date.now()): Promise<GatewayRow[]> {\n const profiles = await app.profiles.list();\n const apps = loadAppBindings(app);\n const out: GatewayRow[] = [];\n\n for (const p of profiles) {\n let providerName = p.meta.provider;\n try {\n if (app.catalog.has(p.meta.provider)) {\n providerName = app.catalog.get(p.meta.provider).name;\n }\n } catch {\n // keep\n }\n const endpoint = p.meta.endpoint ?? '';\n let endpointShort = endpoint;\n try {\n if (endpoint) {\n const u = new URL(endpoint);\n endpointShort = u.host + (u.pathname === '/' ? '' : u.pathname.replace(/\\/$/, ''));\n }\n } catch {\n endpointShort = endpoint.slice(0, 32);\n }\n\n const usedByApps = apps\n .filter((a) => a.bound && a.sourceDisplay === p.meta.name)\n .map((a) => a.clientName);\n\n const bits: string[] = [];\n if (p.meta.defaultModel) {\n bits.push(p.meta.defaultModel);\n }\n const roleCount = [p.meta.sonnetModel, p.meta.opusModel, p.meta.haikuModel].filter(\n Boolean,\n ).length;\n if (roleCount > 0) {\n bits.push(`+${roleCount} roles`);\n }\n\n out.push({\n name: p.meta.name,\n providerId: p.meta.provider,\n providerName,\n endpoint,\n endpointShort: endpointShort || '—',\n hasApiKey: Boolean(p.secrets.apiKey?.trim()),\n defaultModel: p.meta.defaultModel,\n sonnetModel: p.meta.sonnetModel,\n opusModel: p.meta.opusModel,\n haikuModel: p.meta.haikuModel,\n modelSummary: bits.length ? bits.join(' · ') : undefined,\n usedByApps,\n updatedAt: p.meta.updatedAt,\n updatedRelative: formatRelativeTime(p.meta.updatedAt, nowMs),\n });\n }\n\n out.sort((a, b) => a.name.localeCompare(b.name));\n return out;\n}\n\n/**\n * Minimal catalog shape these helpers need. Declared structurally so callers can\n * pass a `CatalogRegistry` without this module importing it.\n */\nexport interface CatalogLike {\n has(id: string): boolean;\n get(id: string): ModelPolicy;\n}\n\n/** Model roles stored on a gateway profile (Claude-shaped). */\nexport function gatewayProfileModelRoles(\n profile: {\n meta: {\n defaultModel?: string;\n sonnetModel?: string;\n opusModel?: string;\n haikuModel?: string;\n provider?: string;\n };\n },\n catalog?: CatalogLike,\n): Record<string, string> {\n const defaults = defaultModelRolesFromCatalog(profile.meta.provider ?? 'custom', catalog);\n return {\n default: profile.meta.defaultModel ?? defaults.default ?? '',\n sonnet: profile.meta.sonnetModel ?? defaults.sonnet ?? defaults.default ?? '',\n opus: profile.meta.opusModel ?? defaults.opus ?? defaults.default ?? '',\n haiku: profile.meta.haikuModel ?? defaults.haiku ?? defaults.default ?? '',\n };\n}\n\n/**\n * Role defaults for a gateway catalog provider.\n *\n * The catalog entry owns the answer via `roleDefaults()`. Without a catalog (or\n * for an unregistered id) we return an empty map so callers fall back to the\n * profile's own stored model fields rather than inheriting another vendor's ids.\n */\nfunction defaultModelRolesFromCatalog(\n providerId: string,\n catalog?: CatalogLike,\n): Record<string, string> {\n if (!catalog?.has(providerId)) {\n return {};\n }\n try {\n return catalog.get(providerId).roleDefaults?.() ?? {};\n } catch {\n return {};\n }\n}\n\n/** Suggest model ids for a gateway catalog provider (rich list for autocomplete). */\nexport function suggestModelsForGateway(providerId: string, catalog?: CatalogLike): string[] {\n const seen = new Set<string>();\n const out: string[] = [];\n const push = (v: string) => {\n if (!v || seen.has(v)) {\n return;\n }\n seen.add(v);\n out.push(v);\n };\n\n const base = defaultModelRolesFromCatalog(providerId, catalog);\n for (const v of Object.values(base)) {\n push(v);\n }\n\n // Catalog suggestModels() when available\n if (catalog?.has(providerId)) {\n try {\n const map = catalog.get(providerId).suggestModels?.() ?? {};\n for (const [alias, id] of Object.entries(map)) {\n push(id);\n push(alias);\n }\n } catch {\n // ignore\n }\n }\n\n // Provider-declared friendly ids. An unregistered id gets a generic\n // multi-vendor list purely so the picker is not empty.\n const friendly = catalog?.has(providerId)\n ? (catalog.get(providerId).roleFriendlyModels?.() ?? [])\n : [\n 'claude-sonnet-5',\n 'claude-opus-5',\n 'claude-haiku-4-5',\n 'gpt-5.6-sol',\n 'grok-4.5',\n 'gemini-3.1-pro-preview',\n 'gemini-3.6-flash',\n ];\n for (const s of friendly) {\n push(s);\n }\n return out;\n}\n\n/** Apps that can use this gateway, plus existing bindings so they can be detached safely. */\nexport function compatibleAppsForGateway(\n app: AnyPickApp,\n profile: RuntimeProfile,\n): AppBindingRow[] {\n const all = loadAppBindings(app);\n const byId = new Map(all.map((a) => [a.clientId, a]));\n const catalogProvider = app.catalog.has(profile.meta.provider)\n ? app.catalog.get(profile.meta.provider)\n : undefined;\n const adapter = gatewayAdapterFromProfile(profile, { catalogProvider, clients: app.clients });\n const out: AppBindingRow[] = [];\n for (const client of app.clients.list()) {\n const existing = byId.get(client.id);\n const boundToGateway = existing?.bound && existing.sourceDisplay === profile.meta.name;\n if (adapter.transportFor(client.id) === 'unsupported' && !boundToGateway) {\n continue;\n }\n out.push(\n existing ?? {\n clientId: client.id,\n clientName: shortAppName(client.id, client.name),\n bound: false,\n },\n );\n }\n return out;\n}\n\n/** Display label for a proxy board row. */\n"],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import type { AccountRow, LiveAccountRelation, ProviderPoolRow } from './types.js';
|
|
2
|
-
import type { AnyPickHomeRow, AnyPickProviderSummary } from './anypick.js';
|
|
3
|
-
export declare function formatAnyPickHomeLine(row: AnyPickHomeRow, selected: boolean): string;
|
|
4
|
-
/**
|
|
5
|
-
* Group header — tool name only. No ambient right label.
|
|
6
|
-
*/
|
|
7
|
-
export declare function providerGroupHeader(p: AnyPickProviderSummary): {
|
|
8
|
-
name: string;
|
|
9
|
-
right: string;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Capture live auth to a temp snapshot and fingerprint it.
|
|
13
|
-
* Uses each provider's own backup() path so FakeProvider and real tools both work.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Decide row status from real live auth (detectLive), not only the DB active pointer.
|
|
17
|
-
*
|
|
18
|
-
* - ● live — saved login identity matches what the official tool currently has
|
|
19
|
-
* - ○ saved — stored, not currently live
|
|
20
|
-
*/
|
|
21
|
-
export declare function rowMatchesLive(input: {
|
|
22
|
-
livePresent: boolean;
|
|
23
|
-
liveIdentity?: string;
|
|
24
|
-
accountIdentity?: string;
|
|
25
|
-
active: boolean;
|
|
26
|
-
providerRelation: LiveAccountRelation;
|
|
27
|
-
}): {
|
|
28
|
-
isLiveMatch: boolean;
|
|
29
|
-
statusText: string;
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* V2 premium row line.
|
|
33
|
-
* ┌ account-3 dev3@work.com LIVE
|
|
34
|
-
* │ account-1 dev1@work.com saved
|
|
35
|
-
* Selection drawn by the renderer (background + left bar).
|
|
36
|
-
*/
|
|
37
|
-
export declare function formatAnyPickHomeV2(row: AnyPickHomeRow, _providerId: string, _providerName: string): {
|
|
38
|
-
name: string;
|
|
39
|
-
identity: string;
|
|
40
|
-
tag: 'LIVE' | 'SAVED';
|
|
41
|
-
};
|
|
42
|
-
/** Status dot color for a row (Codex-style: green=live, gray=saved). */
|
|
43
|
-
export declare function anypickRowColor(row: AnyPickHomeRow): 'green' | 'gray';
|
|
44
|
-
/** Legacy flat line (accounts workshop / tests). */
|
|
45
|
-
export declare function formatAnyPickHomeFlatLine(row: AnyPickHomeRow, selected: boolean): string;
|
|
46
|
-
export declare function filterAnyPickHomeRows(rows: AnyPickHomeRow[], query: string): AnyPickHomeRow[];
|
|
47
|
-
/** Filter provider rows by free-text query (name, identity, active name). */
|
|
48
|
-
export declare function filterProviderRows(rows: ProviderPoolRow[], query: string): ProviderPoolRow[];
|
|
49
|
-
export declare function filterAccountRows(rows: AccountRow[], query: string): AccountRow[];
|
|
50
|
-
/** Ensure view models never embed secret-like fields (test helper). */
|
|
51
|
-
export declare function collectViewModelStrings(value: unknown, out?: string[]): string[];
|
|
52
|
-
//# sourceMappingURL=home-format.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"home-format.d.ts","sourceRoot":"","sources":["../../../src/tui/model/home-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAIxE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAepF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,sBAAsB,GAAG;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAIA;AAED;;;GAGG;AACH;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,mBAAmB,CAAC;CACvC,GAAG;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CA0B/C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAM3D;AAED,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,GAAG,MAAM,CAErE;AAED,oDAAoD;AACpD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAMxF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE,CAW7F;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAkB5F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE,CASjF;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CA2BpF"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import "../components/chrome/status.js";
|
|
2
|
-
import { identitiesMatch } from "./identity.js";
|
|
3
|
-
//#region src/tui/model/home-format.ts
|
|
4
|
-
/**
|
|
5
|
-
* Group header — tool name only. No ambient right label.
|
|
6
|
-
*/
|
|
7
|
-
function providerGroupHeader(p) {
|
|
8
|
-
p.relation;
|
|
9
|
-
p.livePresent;
|
|
10
|
-
return {
|
|
11
|
-
name: p.providerName,
|
|
12
|
-
right: ""
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Capture live auth to a temp snapshot and fingerprint it.
|
|
17
|
-
* Uses each provider's own backup() path so FakeProvider and real tools both work.
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Decide row status from real live auth (detectLive), not only the DB active pointer.
|
|
21
|
-
*
|
|
22
|
-
* - ● live — saved login identity matches what the official tool currently has
|
|
23
|
-
* - ○ saved — stored, not currently live
|
|
24
|
-
*/
|
|
25
|
-
function rowMatchesLive(input) {
|
|
26
|
-
if (input.providerRelation === "error") return {
|
|
27
|
-
isLiveMatch: false,
|
|
28
|
-
statusText: "unavailable"
|
|
29
|
-
};
|
|
30
|
-
const match = identitiesMatch(input.liveIdentity, input.accountIdentity);
|
|
31
|
-
if (match === true) return {
|
|
32
|
-
isLiveMatch: true,
|
|
33
|
-
statusText: "live"
|
|
34
|
-
};
|
|
35
|
-
if (input.active && input.livePresent && match === false) return {
|
|
36
|
-
isLiveMatch: false,
|
|
37
|
-
statusText: "changed"
|
|
38
|
-
};
|
|
39
|
-
if (input.active && input.livePresent && (input.providerRelation === "drift" || input.providerRelation === "unsaved-live")) return {
|
|
40
|
-
isLiveMatch: false,
|
|
41
|
-
statusText: "changed"
|
|
42
|
-
};
|
|
43
|
-
return {
|
|
44
|
-
isLiveMatch: false,
|
|
45
|
-
statusText: "saved"
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function filterAnyPickHomeRows(rows, query) {
|
|
49
|
-
const q = query.trim().toLowerCase();
|
|
50
|
-
if (!q) return rows;
|
|
51
|
-
return rows.filter((r) => {
|
|
52
|
-
return [
|
|
53
|
-
r.ref,
|
|
54
|
-
r.label,
|
|
55
|
-
r.identity ?? "",
|
|
56
|
-
r.statusText,
|
|
57
|
-
r.providerName
|
|
58
|
-
].join(" ").toLowerCase().includes(q);
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
//#endregion
|
|
62
|
-
export { filterAnyPickHomeRows, providerGroupHeader, rowMatchesLive };
|
|
63
|
-
|
|
64
|
-
//# sourceMappingURL=home-format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"home-format.js","names":[],"sources":["../../../src/tui/model/home-format.ts"],"sourcesContent":["import type { AccountRow, LiveAccountRelation, ProviderPoolRow } from './types';\nimport type { AnyPickHomeRow, AnyPickProviderSummary } from './anypick';\nimport { accountDisplayName, identitiesMatch, identityDisplayText } from './identity';\nimport { G } from '../components/chrome/status';\n\nexport function formatAnyPickHomeLine(row: AnyPickHomeRow, selected: boolean): string {\n const mark = selected ? G.focus : ' ';\n const name = accountDisplayName(row).padEnd(12);\n const id = identityDisplayText(row.identity, '').padEnd(22);\n let status: string;\n if (row.isLiveMatch) {\n status = `${G.live} live`;\n } else if (row.statusText === 'changed' || row.statusText.includes('drift')) {\n status = `${G.changed} changed`;\n } else if (row.statusText === 'unavailable') {\n status = `${G.fail} unavailable`;\n } else {\n status = `${G.open} saved`;\n }\n return `${mark} ${name} ${id} ${status}`;\n}\n\n/**\n * Group header — tool name only. No ambient right label.\n */\nexport function providerGroupHeader(p: AnyPickProviderSummary): {\n name: string;\n right: string;\n} {\n void p.relation;\n void p.livePresent;\n return { name: p.providerName, right: '' };\n}\n\n/**\n * Capture live auth to a temp snapshot and fingerprint it.\n * Uses each provider's own backup() path so FakeProvider and real tools both work.\n */\n/**\n * Decide row status from real live auth (detectLive), not only the DB active pointer.\n *\n * - ● live — saved login identity matches what the official tool currently has\n * - ○ saved — stored, not currently live\n */\nexport function rowMatchesLive(input: {\n livePresent: boolean;\n liveIdentity?: string;\n accountIdentity?: string;\n active: boolean;\n providerRelation: LiveAccountRelation;\n}): { isLiveMatch: boolean; statusText: string } {\n if (input.providerRelation === 'error') {\n return { isLiveMatch: false, statusText: 'unavailable' };\n }\n\n // Prefer real identity comparison against detectLive().\n const match = identitiesMatch(input.liveIdentity, input.accountIdentity);\n if (match === true) {\n return { isLiveMatch: true, statusText: 'live' };\n }\n\n // Active pointer disagrees with what is actually on disk.\n if (input.active && input.livePresent && match === false) {\n return { isLiveMatch: false, statusText: 'changed' };\n }\n\n // Provider-level drift: active row without usable identity still flagged.\n if (\n input.active &&\n input.livePresent &&\n (input.providerRelation === 'drift' || input.providerRelation === 'unsaved-live')\n ) {\n return { isLiveMatch: false, statusText: 'changed' };\n }\n\n return { isLiveMatch: false, statusText: 'saved' };\n}\n\n/**\n * V2 premium row line.\n * ┌ account-3 dev3@work.com LIVE\n * │ account-1 dev1@work.com saved\n * Selection drawn by the renderer (background + left bar).\n */\nexport function formatAnyPickHomeV2(\n row: AnyPickHomeRow,\n _providerId: string,\n _providerName: string,\n): { name: string; identity: string; tag: 'LIVE' | 'SAVED' } {\n return {\n name: accountDisplayName(row),\n identity: identityDisplayText(row.identity),\n tag: row.active && row.isLiveMatch ? 'LIVE' : 'SAVED',\n };\n}\n\n/** Status dot color for a row (Codex-style: green=live, gray=saved). */\nexport function anypickRowColor(row: AnyPickHomeRow): 'green' | 'gray' {\n return row.active && row.isLiveMatch ? 'green' : 'gray';\n}\n\n/** Legacy flat line (accounts workshop / tests). */\nexport function formatAnyPickHomeFlatLine(row: AnyPickHomeRow, selected: boolean): string {\n const mark = selected ? G.focus : ' ';\n const live = row.isLiveMatch ? G.live : row.active ? G.open : '·';\n const id = row.identity ? ` ${identityDisplayText(row.identity)}` : '';\n const proxy = row.proxyLabel ? ` ${row.proxyLabel}` : '';\n return `${mark} ${live} ${row.ref.padEnd(22)} ${row.statusText.padEnd(14)}${id}${proxy}`;\n}\n\nexport function filterAnyPickHomeRows(rows: AnyPickHomeRow[], query: string): AnyPickHomeRow[] {\n const q = query.trim().toLowerCase();\n if (!q) {\n return rows;\n }\n return rows.filter((r) => {\n const hay = [r.ref, r.label, r.identity ?? '', r.statusText, r.providerName]\n .join(' ')\n .toLowerCase();\n return hay.includes(q);\n });\n}\n\n/** Filter provider rows by free-text query (name, identity, active name). */\nexport function filterProviderRows(rows: ProviderPoolRow[], query: string): ProviderPoolRow[] {\n const q = query.trim().toLowerCase();\n if (!q) {\n return rows;\n }\n return rows.filter((r) => {\n const hay = [\n r.providerId,\n r.displayName,\n r.activeName ?? '',\n r.identityLabel,\n r.statusHint,\n r.proxyLabel ?? '',\n ]\n .join(' ')\n .toLowerCase();\n return hay.includes(q);\n });\n}\n\nexport function filterAccountRows(rows: AccountRow[], query: string): AccountRow[] {\n const q = query.trim().toLowerCase();\n if (!q) {\n return rows;\n }\n return rows.filter((r) => {\n const hay = [r.name, r.label, r.identity ?? '', r.proxyLabel ?? ''].join(' ').toLowerCase();\n return hay.includes(q);\n });\n}\n\n/** Ensure view models never embed secret-like fields (test helper). */\nexport function collectViewModelStrings(value: unknown, out: string[] = []): string[] {\n if (value == null) {\n return out;\n }\n if (typeof value === 'string') {\n out.push(value);\n return out;\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return out;\n }\n if (Array.isArray(value)) {\n for (const v of value) {\n collectViewModelStrings(v, out);\n }\n return out;\n }\n if (typeof value === 'object') {\n for (const [k, v] of Object.entries(value as Record<string, unknown>)) {\n // keys that must never carry secrets in VMs\n if (/token|secret|password|auth\\.json|bearer/i.test(k) && typeof v === 'string') {\n out.push(v);\n }\n collectViewModelStrings(v, out);\n }\n }\n return out;\n}\n"],"mappings":";;;;;;AAyBA,SAAgB,oBAAoB,GAGlC;CACA,EAAO;CACP,EAAO;CACP,OAAO;EAAE,MAAM,EAAE;EAAc,OAAO;CAAG;AAC3C;;;;;;;;;;;AAYA,SAAgB,eAAe,OAMkB;CAC/C,IAAI,MAAM,qBAAqB,SAC7B,OAAO;EAAE,aAAa;EAAO,YAAY;CAAc;CAIzD,MAAM,QAAQ,gBAAgB,MAAM,cAAc,MAAM,eAAe;CACvE,IAAI,UAAU,MACZ,OAAO;EAAE,aAAa;EAAM,YAAY;CAAO;CAIjD,IAAI,MAAM,UAAU,MAAM,eAAe,UAAU,OACjD,OAAO;EAAE,aAAa;EAAO,YAAY;CAAU;CAIrD,IACE,MAAM,UACN,MAAM,gBACL,MAAM,qBAAqB,WAAW,MAAM,qBAAqB,iBAElE,OAAO;EAAE,aAAa;EAAO,YAAY;CAAU;CAGrD,OAAO;EAAE,aAAa;EAAO,YAAY;CAAQ;AACnD;AAkCA,SAAgB,sBAAsB,MAAwB,OAAiC;CAC7F,MAAM,IAAI,MAAM,KAAK,CAAC,CAAC,YAAY;CACnC,IAAI,CAAC,GACH,OAAO;CAET,OAAO,KAAK,QAAQ,MAAM;EAIxB,OAHY;GAAC,EAAE;GAAK,EAAE;GAAO,EAAE,YAAY;GAAI,EAAE;GAAY,EAAE;EAAY,CAAC,CACzE,KAAK,GAAG,CAAC,CACT,YACI,CAAA,CAAI,SAAS,CAAC;CACvB,CAAC;AACH"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AnyPickApp } from '../../core/app.js';
|
|
2
|
-
import type { AnyPickHomeModel } from './anypick.js';
|
|
3
|
-
export declare function loadAnyPickHome(app: AnyPickApp, nowMs?: number): Promise<AnyPickHomeModel>;
|
|
4
|
-
/**
|
|
5
|
-
* Switch list row (name + identity + status label).
|
|
6
|
-
* Focus mark is owned by the renderer — not included here.
|
|
7
|
-
*/
|
|
8
|
-
//# sourceMappingURL=home-load.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"home-load.d.ts","sourceRoot":"","sources":["../../../src/tui/model/home-load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,KAAK,EAEV,gBAAgB,EAGjB,MAAM,WAAW,CAAC;AAYnB,wBAAsB,eAAe,CACnC,GAAG,EAAE,UAAU,EACf,KAAK,SAAa,GACjB,OAAO,CAAC,gBAAgB,CAAC,CAuU3B;AAED;;;GAGG"}
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
import { providerCapabilities } from "../../core/capabilities.js";
|
|
2
|
-
import { G } from "../components/chrome/status.js";
|
|
3
|
-
import { accountDisplayName, deriveLiveRelation, formatRelativeTime, relationStatusHint } from "./identity.js";
|
|
4
|
-
import { safeCurrent } from "./root.js";
|
|
5
|
-
import { shortToolName } from "./names.js";
|
|
6
|
-
import { rowMatchesLive } from "./home-format.js";
|
|
7
|
-
//#region src/tui/model/home-load.ts
|
|
8
|
-
async function loadAnyPickHome(app, nowMs = Date.now()) {
|
|
9
|
-
const listed = await app.accounts.list();
|
|
10
|
-
const rows = [];
|
|
11
|
-
let issueCount = 0;
|
|
12
|
-
let driftCount = 0;
|
|
13
|
-
let proxyRunningCount = 0;
|
|
14
|
-
const portByRef = /* @__PURE__ */ new Map();
|
|
15
|
-
try {
|
|
16
|
-
const proxyRows = await app.proxy.listProxyRows();
|
|
17
|
-
for (const pr of proxyRows) portByRef.set(`${pr.provider}/${pr.name}`, pr.status.port);
|
|
18
|
-
} catch {}
|
|
19
|
-
const providerState = /* @__PURE__ */ new Map();
|
|
20
|
-
/** Provider account_id from the live auth material when known. */
|
|
21
|
-
const liveAccountIds = /* @__PURE__ */ new Map();
|
|
22
|
-
const providers = [];
|
|
23
|
-
for (const p of app.accounts.listProviders()) {
|
|
24
|
-
const caps = providerCapabilities(p);
|
|
25
|
-
const cur = await safeCurrent(app, p.id);
|
|
26
|
-
const forProvider = listed.filter((a) => a.provider === p.id);
|
|
27
|
-
if (cur.ok) liveAccountIds.set(p.id, cur.data.live.accountId ?? null);
|
|
28
|
-
if (!cur.ok) {
|
|
29
|
-
providerState.set(p.id, {
|
|
30
|
-
livePresent: false,
|
|
31
|
-
activeName: null,
|
|
32
|
-
relation: "error"
|
|
33
|
-
});
|
|
34
|
-
issueCount += 1;
|
|
35
|
-
driftCount += 1;
|
|
36
|
-
providers.push({
|
|
37
|
-
providerId: p.id,
|
|
38
|
-
providerName: shortToolName(p.id, p.shortName ?? p.name),
|
|
39
|
-
livePresent: false,
|
|
40
|
-
activeName: null,
|
|
41
|
-
relation: "error",
|
|
42
|
-
summaryLine: `${shortToolName(p.id, p.shortName ?? p.name)} unavailable`,
|
|
43
|
-
accountCount: forProvider.length,
|
|
44
|
-
...caps
|
|
45
|
-
});
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
const { active, live, account, proxy, liveMatchKnown } = cur.data;
|
|
49
|
-
const liveSource = p.liveAccountSource ? await p.liveAccountSource(live) : void 0;
|
|
50
|
-
let relation = deriveLiveRelation({
|
|
51
|
-
savedCount: forProvider.length,
|
|
52
|
-
livePresent: live.present,
|
|
53
|
-
liveIdentity: live.identity,
|
|
54
|
-
activeName: active,
|
|
55
|
-
activeIdentity: account?.meta.identity,
|
|
56
|
-
savedIdentities: forProvider.map((a) => a.identity)
|
|
57
|
-
});
|
|
58
|
-
const liveAcct = live.accountId ?? liveAccountIds.get(p.id) ?? null;
|
|
59
|
-
if (active && account && cur.data.isLiveMatch) relation = "match";
|
|
60
|
-
else if (active && account && liveMatchKnown && (live.present || liveAcct) && !cur.data.isLiveMatch) relation = relation === "no-live" || relation === "empty" ? relation : "drift";
|
|
61
|
-
if (relation === "drift" || relation === "unsaved-live" || relation === "error") {
|
|
62
|
-
issueCount += 1;
|
|
63
|
-
if (relation === "drift" || relation === "unsaved-live") driftCount += 1;
|
|
64
|
-
}
|
|
65
|
-
if (proxy?.enabled && !proxy.running) issueCount += 1;
|
|
66
|
-
let liveIdentity = live.identity?.trim() || void 0;
|
|
67
|
-
if (!liveIdentity && live.present && live.details) liveIdentity = live.details.startsWith("chatgpt") ? "ChatGPT" : live.details;
|
|
68
|
-
if (live.accountId && live.identity) liveIdentity = live.identity;
|
|
69
|
-
providerState.set(p.id, {
|
|
70
|
-
liveIdentity,
|
|
71
|
-
livePresent: live.present || Boolean(live.accountId),
|
|
72
|
-
activeName: active,
|
|
73
|
-
relation,
|
|
74
|
-
sourceGroupId: liveSource?.id,
|
|
75
|
-
sourceGroupName: liveSource?.name
|
|
76
|
-
});
|
|
77
|
-
const headerBit = live.present ? liveIdentity || "signed in" : "signed out";
|
|
78
|
-
const selectedBit = active ? active : "—";
|
|
79
|
-
const hint = relationStatusHint(relation);
|
|
80
|
-
const hintBit = hint ? ` · ${hint}` : "";
|
|
81
|
-
const displayName = liveSource?.name ?? shortToolName(p.id, p.shortName ?? p.name);
|
|
82
|
-
providers.push({
|
|
83
|
-
providerId: p.id,
|
|
84
|
-
providerName: displayName,
|
|
85
|
-
liveIdentity,
|
|
86
|
-
livePresent: live.present,
|
|
87
|
-
activeName: active,
|
|
88
|
-
relation,
|
|
89
|
-
summaryLine: `${displayName} ${headerBit} · ${selectedBit}${hintBit}`,
|
|
90
|
-
accountCount: forProvider.length,
|
|
91
|
-
...caps
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
for (const a of listed) {
|
|
95
|
-
let providerName = a.provider;
|
|
96
|
-
let sourceGroupId = a.provider;
|
|
97
|
-
let sourceGroupName;
|
|
98
|
-
let canRefresh = false;
|
|
99
|
-
let canProxy = false;
|
|
100
|
-
try {
|
|
101
|
-
const p = app.accounts.provider(a.provider);
|
|
102
|
-
providerName = shortToolName(p.id, p.shortName ?? p.name);
|
|
103
|
-
const account = await app.accounts.get(a.provider, a.name);
|
|
104
|
-
if (account && p.accountSource) {
|
|
105
|
-
const source = await p.accountSource(account.snapshotDir);
|
|
106
|
-
sourceGroupId = source.id;
|
|
107
|
-
sourceGroupName = source.name;
|
|
108
|
-
providerName = source.name;
|
|
109
|
-
}
|
|
110
|
-
const caps = providerCapabilities(p);
|
|
111
|
-
canRefresh = caps.canRefresh;
|
|
112
|
-
canProxy = caps.canProxy;
|
|
113
|
-
} catch {}
|
|
114
|
-
const ps = providerState.get(a.provider);
|
|
115
|
-
let isLiveMatch = a.isLiveMatch;
|
|
116
|
-
let statusText;
|
|
117
|
-
if (isLiveMatch) statusText = "live";
|
|
118
|
-
else if ((liveAccountIds.get(a.provider) ?? null) || ps?.livePresent) statusText = a.active && ps?.livePresent ? "changed" : "saved";
|
|
119
|
-
else {
|
|
120
|
-
const liveMatch = rowMatchesLive({
|
|
121
|
-
livePresent: ps?.livePresent ?? false,
|
|
122
|
-
liveIdentity: ps?.liveIdentity,
|
|
123
|
-
accountIdentity: a.identity,
|
|
124
|
-
active: a.active,
|
|
125
|
-
providerRelation: ps?.relation ?? "unknown"
|
|
126
|
-
});
|
|
127
|
-
isLiveMatch = liveMatch.isLiveMatch;
|
|
128
|
-
statusText = liveMatch.statusText;
|
|
129
|
-
}
|
|
130
|
-
if (a.proxyRunning) proxyRunningCount += 1;
|
|
131
|
-
const port = portByRef.get(`${a.provider}/${a.name}`);
|
|
132
|
-
let proxyLabel;
|
|
133
|
-
if (canProxy && a.proxyEnabled) {
|
|
134
|
-
const portBit = port != null ? ` :${port}` : "";
|
|
135
|
-
proxyLabel = a.proxyRunning ? `proxy ${G.live}${portBit}` : `proxy ${G.open}${portBit}`;
|
|
136
|
-
}
|
|
137
|
-
rows.push({
|
|
138
|
-
providerId: a.provider,
|
|
139
|
-
providerName,
|
|
140
|
-
sourceGroupId,
|
|
141
|
-
sourceGroupName,
|
|
142
|
-
name: a.name,
|
|
143
|
-
ref: `${a.provider}/${a.name}`,
|
|
144
|
-
label: accountDisplayName({
|
|
145
|
-
name: a.name,
|
|
146
|
-
label: a.label,
|
|
147
|
-
identity: a.identity
|
|
148
|
-
}),
|
|
149
|
-
identity: a.identity,
|
|
150
|
-
active: a.active,
|
|
151
|
-
isLiveMatch,
|
|
152
|
-
statusText,
|
|
153
|
-
proxyEnabled: a.proxyEnabled,
|
|
154
|
-
proxyRunning: a.proxyRunning,
|
|
155
|
-
proxyLabel,
|
|
156
|
-
proxyPort: port,
|
|
157
|
-
canRefresh,
|
|
158
|
-
canProxy,
|
|
159
|
-
updatedRelative: formatRelativeTime(a.updatedAt, nowMs),
|
|
160
|
-
liveIdentity: ps?.liveIdentity,
|
|
161
|
-
livePresent: ps?.livePresent ?? false,
|
|
162
|
-
providerActiveName: ps?.activeName ?? null,
|
|
163
|
-
providerRelation: ps?.relation ?? "unknown",
|
|
164
|
-
rowKind: "saved"
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
const displayCounts = /* @__PURE__ */ new Map();
|
|
168
|
-
for (const row of rows) {
|
|
169
|
-
const key = `${row.providerId}\0${row.label.trim().toLowerCase()}`;
|
|
170
|
-
displayCounts.set(key, (displayCounts.get(key) ?? 0) + 1);
|
|
171
|
-
}
|
|
172
|
-
for (const row of rows) {
|
|
173
|
-
const key = `${row.providerId}\0${row.label.trim().toLowerCase()}`;
|
|
174
|
-
if ((displayCounts.get(key) ?? 0) > 1) row.label = row.name;
|
|
175
|
-
}
|
|
176
|
-
for (const p of providers) {
|
|
177
|
-
if (!(p.relation === "unsaved-live" || p.livePresent && p.accountCount === 0)) continue;
|
|
178
|
-
const liveId = p.liveIdentity?.toLowerCase();
|
|
179
|
-
if (liveId && rows.some((r) => r.providerId === p.providerId && r.rowKind !== "save-live" && r.identity?.toLowerCase() === liveId)) continue;
|
|
180
|
-
rows.push({
|
|
181
|
-
providerId: p.providerId,
|
|
182
|
-
providerName: p.providerName,
|
|
183
|
-
sourceGroupId: providerState.get(p.providerId)?.sourceGroupId,
|
|
184
|
-
sourceGroupName: providerState.get(p.providerId)?.sourceGroupName,
|
|
185
|
-
name: "",
|
|
186
|
-
ref: `${p.providerId}/__save-live__`,
|
|
187
|
-
label: "Save current login",
|
|
188
|
-
identity: p.liveIdentity,
|
|
189
|
-
active: false,
|
|
190
|
-
isLiveMatch: false,
|
|
191
|
-
statusText: "not saved",
|
|
192
|
-
proxyEnabled: false,
|
|
193
|
-
proxyRunning: false,
|
|
194
|
-
canRefresh: p.canRefresh,
|
|
195
|
-
canProxy: p.canProxy,
|
|
196
|
-
updatedRelative: "now",
|
|
197
|
-
liveIdentity: p.liveIdentity,
|
|
198
|
-
livePresent: true,
|
|
199
|
-
providerActiveName: p.activeName,
|
|
200
|
-
providerRelation: "unsaved-live",
|
|
201
|
-
rowKind: "save-live"
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
const providerRank = new Map(providers.map((p, i) => [p.providerId, i]));
|
|
205
|
-
rows.sort((x, y) => {
|
|
206
|
-
const pc = (providerRank.get(x.providerId) ?? 99) - (providerRank.get(y.providerId) ?? 99);
|
|
207
|
-
if (pc !== 0) return pc;
|
|
208
|
-
if (x.rowKind === "save-live" !== (y.rowKind === "save-live")) return x.rowKind === "save-live" ? -1 : 1;
|
|
209
|
-
if (x.active !== y.active) return x.active ? -1 : 1;
|
|
210
|
-
return x.name.localeCompare(y.name);
|
|
211
|
-
});
|
|
212
|
-
const providerOrder = providers.map((p) => p.providerId);
|
|
213
|
-
let projectRoot = process.cwd();
|
|
214
|
-
try {
|
|
215
|
-
const { resolveProjectRoot } = await import("../../core/project-root.js");
|
|
216
|
-
projectRoot = resolveProjectRoot();
|
|
217
|
-
} catch {}
|
|
218
|
-
return {
|
|
219
|
-
rows,
|
|
220
|
-
providers,
|
|
221
|
-
providerOrder,
|
|
222
|
-
chrome: {
|
|
223
|
-
version: "0.8.0",
|
|
224
|
-
projectRoot,
|
|
225
|
-
issueCount,
|
|
226
|
-
driftCount,
|
|
227
|
-
proxyRunningCount,
|
|
228
|
-
totalAccounts: rows.length
|
|
229
|
-
},
|
|
230
|
-
issueCount,
|
|
231
|
-
driftCount,
|
|
232
|
-
proxyRunningCount,
|
|
233
|
-
totalAccounts: rows.length,
|
|
234
|
-
loadedAt: nowMs
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Switch list row (name + identity + status label).
|
|
239
|
-
* Focus mark is owned by the renderer — not included here.
|
|
240
|
-
*/
|
|
241
|
-
//#endregion
|
|
242
|
-
export { loadAnyPickHome };
|
|
243
|
-
|
|
244
|
-
//# sourceMappingURL=home-load.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"home-load.js","names":[],"sources":["../../../src/tui/model/home-load.ts"],"sourcesContent":["import type { AnyPickApp } from '../../core/app';\nimport { providerCapabilities } from '../../core/capabilities';\nimport type { LiveAccountRelation } from './types';\nimport type {\n AnyPickChrome,\n AnyPickHomeModel,\n AnyPickHomeRow,\n AnyPickProviderSummary,\n} from './anypick';\nimport {\n accountDisplayName,\n deriveLiveRelation,\n formatRelativeTime,\n relationStatusHint,\n} from './identity';\nimport { safeCurrent } from './root';\nimport { shortToolName } from './names';\nimport { rowMatchesLive } from './home-format';\nimport { G } from '../components/chrome/status';\n\nexport async function loadAnyPickHome(\n app: AnyPickApp,\n nowMs = Date.now(),\n): Promise<AnyPickHomeModel> {\n const listed = await app.accounts.list();\n const rows: AnyPickHomeRow[] = [];\n let issueCount = 0;\n let driftCount = 0;\n let proxyRunningCount = 0;\n\n // Port map from proxy overview (one pass)\n const portByRef = new Map<string, number | undefined>();\n try {\n const proxyRows = await app.proxy.listProxyRows();\n for (const pr of proxyRows) {\n portByRef.set(`${pr.provider}/${pr.name}`, pr.status.port);\n }\n } catch {\n // optional\n }\n\n // Cache live/active per provider for relation text\n const providerState = new Map<\n string,\n {\n liveIdentity?: string;\n livePresent: boolean;\n activeName: string | null;\n relation: LiveAccountRelation;\n sourceGroupId?: string;\n sourceGroupName?: string;\n }\n >();\n /** Provider account_id from the live auth material when known. */\n const liveAccountIds = new Map<string, string | null>();\n\n const providers: AnyPickProviderSummary[] = [];\n\n for (const p of app.accounts.listProviders()) {\n const caps = providerCapabilities(p);\n const cur = await safeCurrent(app, p.id);\n const forProvider = listed.filter((a) => a.provider === p.id);\n\n // Keep the provider-reported account id for relation/status decisions.\n if (cur.ok) {\n liveAccountIds.set(p.id, cur.data.live.accountId ?? null);\n }\n\n if (!cur.ok) {\n providerState.set(p.id, {\n livePresent: false,\n activeName: null,\n relation: 'error',\n });\n issueCount += 1;\n driftCount += 1;\n providers.push({\n providerId: p.id,\n providerName: shortToolName(p.id, p.shortName ?? p.name),\n livePresent: false,\n activeName: null,\n relation: 'error',\n summaryLine: `${shortToolName(p.id, p.shortName ?? p.name)} unavailable`,\n accountCount: forProvider.length,\n ...caps,\n });\n continue;\n }\n const { active, live, account, proxy, liveMatchKnown } = cur.data;\n const liveSource = p.liveAccountSource ? await p.liveAccountSource(live) : undefined;\n let relation = deriveLiveRelation({\n savedCount: forProvider.length,\n livePresent: live.present,\n liveIdentity: live.identity,\n activeName: active,\n activeIdentity: account?.meta.identity,\n savedIdentities: forProvider.map((a) => a.identity),\n });\n // Material-level relation: does the active snapshot match the live login?\n const liveAcct = live.accountId ?? liveAccountIds.get(p.id) ?? null;\n if (active && account && cur.data.isLiveMatch) {\n relation = 'match';\n } else if (\n active &&\n account &&\n liveMatchKnown &&\n (live.present || liveAcct) &&\n !cur.data.isLiveMatch\n ) {\n // Live present but this snapshot's material differs → drift.\n relation = relation === 'no-live' || relation === 'empty' ? relation : 'drift';\n }\n if (relation === 'drift' || relation === 'unsaved-live' || relation === 'error') {\n issueCount += 1;\n if (relation === 'drift' || relation === 'unsaved-live') {\n driftCount += 1;\n }\n }\n if (proxy?.enabled && !proxy.running) {\n issueCount += 1;\n }\n // Prefer live.details for mode hint (e.g. chatgpt) when no identity\n let liveIdentity = live.identity?.trim() || undefined;\n if (!liveIdentity && live.present && live.details) {\n liveIdentity = live.details.startsWith('chatgpt') ? 'ChatGPT' : live.details;\n }\n // Prefer the stable provider identity when accountId is available.\n if (live.accountId && live.identity) {\n liveIdentity = live.identity;\n }\n\n providerState.set(p.id, {\n liveIdentity,\n livePresent: live.present || Boolean(live.accountId),\n activeName: active,\n relation,\n sourceGroupId: liveSource?.id,\n sourceGroupName: liveSource?.name,\n });\n\n const headerBit = live.present ? liveIdentity || 'signed in' : 'signed out';\n const selectedBit = active ? active : '—';\n const hint = relationStatusHint(relation);\n const hintBit = hint ? ` · ${hint}` : '';\n\n const displayName = liveSource?.name ?? shortToolName(p.id, p.shortName ?? p.name);\n providers.push({\n providerId: p.id,\n providerName: displayName,\n liveIdentity,\n livePresent: live.present,\n activeName: active,\n relation,\n summaryLine: `${displayName} ${headerBit} · ${selectedBit}${hintBit}`,\n accountCount: forProvider.length,\n ...caps,\n });\n }\n\n for (const a of listed) {\n let providerName = a.provider;\n let sourceGroupId = a.provider;\n let sourceGroupName: string | undefined;\n let canRefresh = false;\n let canProxy = false;\n try {\n const p = app.accounts.provider(a.provider);\n providerName = shortToolName(p.id, p.shortName ?? p.name);\n const account = await app.accounts.get(a.provider, a.name);\n if (account && p.accountSource) {\n const source = await p.accountSource(account.snapshotDir);\n sourceGroupId = source.id;\n sourceGroupName = source.name;\n providerName = source.name;\n }\n const caps = providerCapabilities(p);\n canRefresh = caps.canRefresh;\n canProxy = caps.canProxy;\n } catch {\n // keep id\n }\n\n const ps = providerState.get(a.provider);\n // Material-level match is computed by the service (provider owns the\n // fingerprint logic); fall back to identity heuristic when no live auth.\n let isLiveMatch = a.isLiveMatch;\n let statusText: string;\n\n if (isLiveMatch) {\n statusText = 'live';\n } else {\n const liveAccountId = liveAccountIds.get(a.provider) ?? null;\n if (liveAccountId || ps?.livePresent) {\n statusText = a.active && ps?.livePresent ? 'changed' : 'saved';\n } else {\n const liveMatch = rowMatchesLive({\n livePresent: ps?.livePresent ?? false,\n liveIdentity: ps?.liveIdentity,\n accountIdentity: a.identity,\n active: a.active,\n providerRelation: ps?.relation ?? 'unknown',\n });\n isLiveMatch = liveMatch.isLiveMatch;\n statusText = liveMatch.statusText;\n }\n }\n\n if (a.proxyRunning) {\n proxyRunningCount += 1;\n }\n\n const port = portByRef.get(`${a.provider}/${a.name}`);\n let proxyLabel: string | undefined;\n if (canProxy && a.proxyEnabled) {\n const portBit = port != null ? ` :${port}` : '';\n proxyLabel = a.proxyRunning ? `proxy ${G.live}${portBit}` : `proxy ${G.open}${portBit}`;\n }\n\n rows.push({\n providerId: a.provider,\n providerName,\n sourceGroupId,\n sourceGroupName,\n name: a.name,\n ref: `${a.provider}/${a.name}`,\n label: accountDisplayName({ name: a.name, label: a.label, identity: a.identity }),\n identity: a.identity,\n active: a.active,\n isLiveMatch,\n statusText,\n proxyEnabled: a.proxyEnabled,\n proxyRunning: a.proxyRunning,\n proxyLabel,\n proxyPort: port,\n canRefresh,\n canProxy,\n updatedRelative: formatRelativeTime(a.updatedAt, nowMs),\n liveIdentity: ps?.liveIdentity,\n livePresent: ps?.livePresent ?? false,\n providerActiveName: ps?.activeName ?? null,\n providerRelation: ps?.relation ?? 'unknown',\n rowKind: 'saved',\n });\n }\n\n // A stale/corrupt human label must not make two different saved accounts\n // appear to be the same row. Fall back to their stable account names when\n // display labels collide within one provider.\n const displayCounts = new Map<string, number>();\n for (const row of rows) {\n const key = `${row.providerId}\\0${row.label.trim().toLowerCase()}`;\n displayCounts.set(key, (displayCounts.get(key) ?? 0) + 1);\n }\n for (const row of rows) {\n const key = `${row.providerId}\\0${row.label.trim().toLowerCase()}`;\n if ((displayCounts.get(key) ?? 0) > 1) {\n row.label = row.name;\n }\n }\n\n // Unsaved live logins — always show so the user can save without hunting Accounts\n for (const p of providers) {\n const shouldOfferSave =\n p.relation === 'unsaved-live' || (p.livePresent && p.accountCount === 0);\n if (!shouldOfferSave) {\n continue;\n }\n const liveId = p.liveIdentity?.toLowerCase();\n const alreadySaved =\n liveId &&\n rows.some(\n (r) =>\n r.providerId === p.providerId &&\n r.rowKind !== 'save-live' &&\n r.identity?.toLowerCase() === liveId,\n );\n if (alreadySaved) {\n continue;\n }\n rows.push({\n providerId: p.providerId,\n providerName: p.providerName,\n sourceGroupId: providerState.get(p.providerId)?.sourceGroupId,\n sourceGroupName: providerState.get(p.providerId)?.sourceGroupName,\n name: '',\n ref: `${p.providerId}/__save-live__`,\n label: 'Save current login',\n identity: p.liveIdentity,\n active: false,\n isLiveMatch: false,\n statusText: 'not saved',\n proxyEnabled: false,\n proxyRunning: false,\n canRefresh: p.canRefresh,\n canProxy: p.canProxy,\n updatedRelative: 'now',\n liveIdentity: p.liveIdentity,\n livePresent: true,\n providerActiveName: p.activeName,\n providerRelation: 'unsaved-live',\n rowKind: 'save-live',\n });\n }\n\n // Stable order: provider registry order, save-live first in group, then active, then name\n const providerRank = new Map(providers.map((p, i) => [p.providerId, i]));\n rows.sort((x, y) => {\n const pc = (providerRank.get(x.providerId) ?? 99) - (providerRank.get(y.providerId) ?? 99);\n if (pc !== 0) {\n return pc;\n }\n if ((x.rowKind === 'save-live') !== (y.rowKind === 'save-live')) {\n return x.rowKind === 'save-live' ? -1 : 1;\n }\n if (x.active !== y.active) {\n return x.active ? -1 : 1;\n }\n return x.name.localeCompare(y.name);\n });\n\n const providerOrder = providers.map((p) => p.providerId);\n\n let projectRoot = process.cwd();\n try {\n const { resolveProjectRoot } = await import('../../core/project-root');\n projectRoot = resolveProjectRoot();\n } catch {\n // keep cwd\n }\n\n const chrome: AnyPickChrome = {\n version: '0.8.0',\n projectRoot,\n issueCount,\n driftCount,\n proxyRunningCount,\n totalAccounts: rows.length,\n };\n\n return {\n rows,\n providers,\n providerOrder,\n chrome,\n issueCount,\n driftCount,\n proxyRunningCount,\n totalAccounts: rows.length,\n loadedAt: nowMs,\n };\n}\n\n/**\n * Switch list row (name + identity + status label).\n * Focus mark is owned by the renderer — not included here.\n */\n"],"mappings":"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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { LiveUsageWindow, ProxyStatus } from '../../types.js';
|
|
2
|
-
import { type LayoutWidth } from '../../presentation/layout.js';
|
|
3
|
-
import type { AccountRow, LiveAccountRelation, ProviderPoolRow, ProxyStateLabel } from './types.js';
|
|
4
|
-
export declare function normalizeIdentity(value: string | undefined | null): string | null;
|
|
5
|
-
/** Keep credential fingerprints useful for matching without exposing them as UI identity. */
|
|
6
|
-
export declare function identityDisplayText(value: string | undefined | null, fallback?: string): string;
|
|
7
|
-
export declare function identitiesMatch(a: string | undefined | null, b: string | undefined | null): boolean | null;
|
|
8
|
-
/**
|
|
9
|
-
* Derive live ↔ active saved-account relationship.
|
|
10
|
-
* Does not invent a match when either identity is missing.
|
|
11
|
-
*/
|
|
12
|
-
export declare function deriveLiveRelation(input: {
|
|
13
|
-
savedCount: number;
|
|
14
|
-
livePresent: boolean;
|
|
15
|
-
liveIdentity?: string;
|
|
16
|
-
activeName: string | null;
|
|
17
|
-
activeIdentity?: string;
|
|
18
|
-
savedIdentities?: Array<string | undefined>;
|
|
19
|
-
error?: boolean;
|
|
20
|
-
}): LiveAccountRelation;
|
|
21
|
-
export declare function relationStatusHint(relation: LiveAccountRelation): string;
|
|
22
|
-
export declare function formatRelativeTime(iso: string, nowMs?: number): string;
|
|
23
|
-
/** Relative "resets in …" phrasing for a usage window reset timestamp. */
|
|
24
|
-
export declare function formatResetIn(resetsAtMs: number | undefined, nowMs?: number): string;
|
|
25
|
-
/** A textual progress bar for a remaining percentage (0–100). */
|
|
26
|
-
export declare function usageBar(remainingPercent: number, width?: number): string;
|
|
27
|
-
/** Full one-line usage window: `5h ▓▓▓░░ 62% resets in 2h`. */
|
|
28
|
-
export declare function formatUsageWindow(window: LiveUsageWindow, nowMs?: number): string;
|
|
29
|
-
/** Compact usage summary for a single-line rail: `5h 62% · resets in 2h`. */
|
|
30
|
-
export declare function formatUsageSummary(windows: LiveUsageWindow[] | undefined, nowMs?: number): string;
|
|
31
|
-
/** Suggest an account name slug from detected identity (email local-part preferred). */
|
|
32
|
-
export declare function suggestAccountSlug(identity?: string | null): string;
|
|
33
|
-
/**
|
|
34
|
-
* Short list name for a saved login — same style for every tool.
|
|
35
|
-
* Prefer a human label, then account name, then email local-part.
|
|
36
|
-
* Never show "Live ~/.codex/auth.json" style path labels.
|
|
37
|
-
*/
|
|
38
|
-
export declare function accountDisplayName(row: {
|
|
39
|
-
name: string;
|
|
40
|
-
label?: string;
|
|
41
|
-
identity?: string;
|
|
42
|
-
}): string;
|
|
43
|
-
export declare function proxyStateLabel(status: ProxyStatus): ProxyStateLabel;
|
|
44
|
-
export declare function proxyStateText(status: ProxyStatus, opts?: {
|
|
45
|
-
active?: boolean;
|
|
46
|
-
detail?: string;
|
|
47
|
-
}): string;
|
|
48
|
-
export declare function formatProxyEndpoint(status: ProxyStatus): string;
|
|
49
|
-
export declare function formatProxyPortLabel(status: ProxyStatus | null | undefined): string | undefined;
|
|
50
|
-
export declare function formatProviderRowLines(row: ProviderPoolRow, selected: boolean, width: LayoutWidth): string[];
|
|
51
|
-
export declare function formatAccountRowLines(row: AccountRow, selected: boolean, width: LayoutWidth): string[];
|
|
52
|
-
export declare function layoutFromColumns(cols: number): LayoutWidth;
|
|
53
|
-
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/tui/model/identity.ts"],"names":[],"mappings":"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"}
|