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,168 +0,0 @@
|
|
|
1
|
-
import { openForeignDatabase } from "../core/db.js";
|
|
2
|
-
import { join } from "node:path";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { execFile } from "node:child_process";
|
|
5
|
-
//#region src/providers/kiro-secret-store.ts
|
|
6
|
-
/**
|
|
7
|
-
* kiro-cli's secret store.
|
|
8
|
-
*
|
|
9
|
-
* Since kiro-cli 2.x the login is no longer a file under ~/.aws/sso/cache. It
|
|
10
|
-
* lives in the OS keychain, mirrored into an `auth_kv` table in kiro-cli's own
|
|
11
|
-
* SQLite database, and kiro-cli reads the keychain *first* — so switching a Kiro
|
|
12
|
-
* account has to write both tiers. Restoring only the database would be
|
|
13
|
-
* silently ignored while a stale keychain item is still readable, which is the
|
|
14
|
-
* worst possible outcome: anypick reports a switch that did not happen.
|
|
15
|
-
*
|
|
16
|
-
* Every access mirrors what kiro-cli itself does — `/usr/bin/security` and
|
|
17
|
-
* `INSERT OR REPLACE INTO auth_kv` — so an item anypick writes carries the same
|
|
18
|
-
* keychain ACL and kiro-cli reads it back without an authorization prompt.
|
|
19
|
-
*
|
|
20
|
-
* The secret never crosses `argv`: `security(1)` is driven through its `-i`
|
|
21
|
-
* stdin mode, and the value is passed as hex (`-X`) because `-i` unquoting
|
|
22
|
-
* mangles backslashes, which JSON escapes contain.
|
|
23
|
-
*/
|
|
24
|
-
/** Login kinds kiro-cli stores, each under its own keychain service name. */
|
|
25
|
-
var KIRO_SECRET_KEYS = [
|
|
26
|
-
"kirocli:social:token",
|
|
27
|
-
"kirocli:odic:token",
|
|
28
|
-
"kirocli:odic:device-registration",
|
|
29
|
-
"kirocli:external-idp:token"
|
|
30
|
-
];
|
|
31
|
-
var SECURITY_BIN = "/usr/bin/security";
|
|
32
|
-
var SECURITY_TIMEOUT_MS = 5e3;
|
|
33
|
-
/** Set by the test suite so no test can touch the developer's real keychain. */
|
|
34
|
-
function keychainEnabled() {
|
|
35
|
-
return process.platform === "darwin" && process.env.ANYPICK_KIRO_NO_KEYCHAIN !== "1";
|
|
36
|
-
}
|
|
37
|
-
/** kiro-cli's data directory, following the same platform rules it does. */
|
|
38
|
-
function kiroSecretDbPath(home = homedir()) {
|
|
39
|
-
const override = process.env.ANYPICK_KIRO_SECRET_DB;
|
|
40
|
-
if (override) return override;
|
|
41
|
-
if (process.platform === "darwin") return join(home, "Library", "Application Support", "kiro-cli", "data.sqlite3");
|
|
42
|
-
if (process.platform === "win32") return join(process.env.LOCALAPPDATA ?? join(home, "AppData", "Local"), "kiro-cli", "data.sqlite3");
|
|
43
|
-
return join(process.env.XDG_DATA_HOME ?? join(home, ".local", "share"), "kiro-cli", "data.sqlite3");
|
|
44
|
-
}
|
|
45
|
-
/** Every secret kiro-cli currently holds. Empty when it is not logged in. */
|
|
46
|
-
async function readKiroSecrets(home = homedir()) {
|
|
47
|
-
const secrets = {};
|
|
48
|
-
if (keychainEnabled()) for (const key of KIRO_SECRET_KEYS) {
|
|
49
|
-
const value = await keychainRead(key);
|
|
50
|
-
if (value) secrets[key] = value;
|
|
51
|
-
}
|
|
52
|
-
const rows = readAuthKv(kiroSecretDbPath(home));
|
|
53
|
-
for (const key of KIRO_SECRET_KEYS) {
|
|
54
|
-
const value = rows.get(key);
|
|
55
|
-
if (value && !secrets[key]) secrets[key] = value;
|
|
56
|
-
}
|
|
57
|
-
return secrets;
|
|
58
|
-
}
|
|
59
|
-
/** Replace the stored login. Writes both tiers; the keychain is best-effort. */
|
|
60
|
-
async function writeKiroSecrets(secrets, home = homedir()) {
|
|
61
|
-
writeAuthKv(kiroSecretDbPath(home), secrets);
|
|
62
|
-
if (!keychainEnabled()) return;
|
|
63
|
-
for (const key of KIRO_SECRET_KEYS) {
|
|
64
|
-
const value = secrets[key];
|
|
65
|
-
if (value) await keychainWrite(key, value);
|
|
66
|
-
else await keychainDelete(key);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/** Forget the local login. Does not call Kiro/AWS logout. */
|
|
70
|
-
async function clearKiroSecrets(home = homedir()) {
|
|
71
|
-
writeAuthKv(kiroSecretDbPath(home), {});
|
|
72
|
-
if (!keychainEnabled()) return;
|
|
73
|
-
for (const key of KIRO_SECRET_KEYS) await keychainDelete(key);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* A human label for the stored login.
|
|
77
|
-
*
|
|
78
|
-
* The token carries no email — the only per-account signal is the profile id at
|
|
79
|
-
* the tail of `profile_arn`, so it is paired with the identity provider to give
|
|
80
|
-
* something a person can tell two Google logins apart by.
|
|
81
|
-
*/
|
|
82
|
-
function kiroSecretIdentity(secrets) {
|
|
83
|
-
for (const key of KIRO_SECRET_KEYS) {
|
|
84
|
-
const raw = secrets[key];
|
|
85
|
-
if (!raw) continue;
|
|
86
|
-
let parsed;
|
|
87
|
-
try {
|
|
88
|
-
parsed = JSON.parse(raw);
|
|
89
|
-
} catch {
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
if (!parsed || typeof parsed !== "object") continue;
|
|
93
|
-
const record = parsed;
|
|
94
|
-
const arn = record.profile_arn ?? record.profileArn;
|
|
95
|
-
if (typeof arn !== "string") continue;
|
|
96
|
-
const profile = arn.split("/").pop();
|
|
97
|
-
if (!profile) continue;
|
|
98
|
-
const provider = record.provider;
|
|
99
|
-
return typeof provider === "string" && provider ? `${provider}:${profile}` : profile;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
function readAuthKv(dbPath) {
|
|
103
|
-
const rows = /* @__PURE__ */ new Map();
|
|
104
|
-
let db;
|
|
105
|
-
try {
|
|
106
|
-
db = openForeignDatabase(dbPath, true);
|
|
107
|
-
} catch {
|
|
108
|
-
return rows;
|
|
109
|
-
}
|
|
110
|
-
try {
|
|
111
|
-
for (const row of db.prepare("SELECT key, value FROM auth_kv").all()) if (typeof row.key === "string" && typeof row.value === "string") rows.set(row.key, row.value);
|
|
112
|
-
} catch {} finally {
|
|
113
|
-
db.close();
|
|
114
|
-
}
|
|
115
|
-
return rows;
|
|
116
|
-
}
|
|
117
|
-
function writeAuthKv(dbPath, secrets) {
|
|
118
|
-
let db;
|
|
119
|
-
try {
|
|
120
|
-
db = openForeignDatabase(dbPath);
|
|
121
|
-
} catch {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
try {
|
|
125
|
-
db.exec("CREATE TABLE IF NOT EXISTS auth_kv (key TEXT PRIMARY KEY, value TEXT)");
|
|
126
|
-
db.transaction(() => {
|
|
127
|
-
const upsert = db.prepare("INSERT OR REPLACE INTO auth_kv (key, value) VALUES (?, ?)");
|
|
128
|
-
const remove = db.prepare("DELETE FROM auth_kv WHERE key = ?");
|
|
129
|
-
for (const key of KIRO_SECRET_KEYS) {
|
|
130
|
-
const value = secrets[key];
|
|
131
|
-
if (value) upsert.run(key, value);
|
|
132
|
-
else remove.run(key);
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
} finally {
|
|
136
|
-
db.close();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function keychainRead(service) {
|
|
140
|
-
return new Promise((resolve) => {
|
|
141
|
-
execFile(SECURITY_BIN, [
|
|
142
|
-
"find-generic-password",
|
|
143
|
-
"-s",
|
|
144
|
-
service,
|
|
145
|
-
"-w"
|
|
146
|
-
], { timeout: SECURITY_TIMEOUT_MS }, (err, stdout) => resolve(err ? void 0 : stdout.trim() || void 0));
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
function keychainWrite(service, value) {
|
|
150
|
-
return securityStdin(`add-generic-password -U -s "${service}" -a "" -X ${Buffer.from(value, "utf8").toString("hex")}\n`);
|
|
151
|
-
}
|
|
152
|
-
function keychainDelete(service) {
|
|
153
|
-
return securityStdin(`delete-generic-password -s "${service}"\n`);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Drive `security(1)` through its batch mode so the secret is never an argument.
|
|
157
|
-
* Failures are swallowed: the database mirror is already written, and a locked
|
|
158
|
-
* or absent keychain must not fail an otherwise complete switch.
|
|
159
|
-
*/
|
|
160
|
-
function securityStdin(command) {
|
|
161
|
-
return new Promise((resolve) => {
|
|
162
|
-
execFile(SECURITY_BIN, ["-i"], { timeout: SECURITY_TIMEOUT_MS }, () => resolve()).stdin?.end(command);
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
//#endregion
|
|
166
|
-
export { KIRO_SECRET_KEYS, clearKiroSecrets, kiroSecretDbPath, kiroSecretIdentity, readKiroSecrets, writeKiroSecrets };
|
|
167
|
-
|
|
168
|
-
//# sourceMappingURL=kiro-secret-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kiro-secret-store.js","names":[],"sources":["../../src/providers/kiro-secret-store.ts"],"sourcesContent":["/**\n * kiro-cli's secret store.\n *\n * Since kiro-cli 2.x the login is no longer a file under ~/.aws/sso/cache. It\n * lives in the OS keychain, mirrored into an `auth_kv` table in kiro-cli's own\n * SQLite database, and kiro-cli reads the keychain *first* — so switching a Kiro\n * account has to write both tiers. Restoring only the database would be\n * silently ignored while a stale keychain item is still readable, which is the\n * worst possible outcome: anypick reports a switch that did not happen.\n *\n * Every access mirrors what kiro-cli itself does — `/usr/bin/security` and\n * `INSERT OR REPLACE INTO auth_kv` — so an item anypick writes carries the same\n * keychain ACL and kiro-cli reads it back without an authorization prompt.\n *\n * The secret never crosses `argv`: `security(1)` is driven through its `-i`\n * stdin mode, and the value is passed as hex (`-X`) because `-i` unquoting\n * mangles backslashes, which JSON escapes contain.\n */\n\nimport { execFile } from 'node:child_process';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { openForeignDatabase } from '../core/db';\n\n/** Login kinds kiro-cli stores, each under its own keychain service name. */\nexport const KIRO_SECRET_KEYS = [\n 'kirocli:social:token',\n 'kirocli:odic:token',\n 'kirocli:odic:device-registration',\n 'kirocli:external-idp:token',\n] as const;\n\n/** Keyed by the names in `KIRO_SECRET_KEYS`; absent keys are simply not stored. */\nexport type KiroSecrets = Record<string, string>;\n\nconst SECURITY_BIN = '/usr/bin/security';\nconst SECURITY_TIMEOUT_MS = 5_000;\n\n/** Set by the test suite so no test can touch the developer's real keychain. */\nfunction keychainEnabled(): boolean {\n return process.platform === 'darwin' && process.env.ANYPICK_KIRO_NO_KEYCHAIN !== '1';\n}\n\n/** kiro-cli's data directory, following the same platform rules it does. */\nexport function kiroSecretDbPath(home = homedir()): string {\n const override = process.env.ANYPICK_KIRO_SECRET_DB;\n if (override) {\n return override;\n }\n if (process.platform === 'darwin') {\n return join(home, 'Library', 'Application Support', 'kiro-cli', 'data.sqlite3');\n }\n if (process.platform === 'win32') {\n const base = process.env.LOCALAPPDATA ?? join(home, 'AppData', 'Local');\n return join(base, 'kiro-cli', 'data.sqlite3');\n }\n const xdg = process.env.XDG_DATA_HOME ?? join(home, '.local', 'share');\n return join(xdg, 'kiro-cli', 'data.sqlite3');\n}\n\n/** Every secret kiro-cli currently holds. Empty when it is not logged in. */\nexport async function readKiroSecrets(home = homedir()): Promise<KiroSecrets> {\n const secrets: KiroSecrets = {};\n\n if (keychainEnabled()) {\n for (const key of KIRO_SECRET_KEYS) {\n const value = await keychainRead(key);\n if (value) {\n secrets[key] = value;\n }\n }\n }\n\n // Not an else: the keychain can hold a subset, and kiro-cli falls back to the\n // database per key rather than per store.\n const rows = readAuthKv(kiroSecretDbPath(home));\n for (const key of KIRO_SECRET_KEYS) {\n const value = rows.get(key);\n if (value && !secrets[key]) {\n secrets[key] = value;\n }\n }\n\n return secrets;\n}\n\n/** Replace the stored login. Writes both tiers; the keychain is best-effort. */\nexport async function writeKiroSecrets(secrets: KiroSecrets, home = homedir()): Promise<void> {\n writeAuthKv(kiroSecretDbPath(home), secrets);\n\n if (!keychainEnabled()) {\n return;\n }\n for (const key of KIRO_SECRET_KEYS) {\n const value = secrets[key];\n if (value) {\n await keychainWrite(key, value);\n } else {\n await keychainDelete(key);\n }\n }\n}\n\n/** Forget the local login. Does not call Kiro/AWS logout. */\nexport async function clearKiroSecrets(home = homedir()): Promise<void> {\n writeAuthKv(kiroSecretDbPath(home), {});\n if (!keychainEnabled()) {\n return;\n }\n for (const key of KIRO_SECRET_KEYS) {\n await keychainDelete(key);\n }\n}\n\n/**\n * A human label for the stored login.\n *\n * The token carries no email — the only per-account signal is the profile id at\n * the tail of `profile_arn`, so it is paired with the identity provider to give\n * something a person can tell two Google logins apart by.\n */\nexport function kiroSecretIdentity(secrets: KiroSecrets): string | undefined {\n for (const key of KIRO_SECRET_KEYS) {\n const raw = secrets[key];\n if (!raw) {\n continue;\n }\n let parsed: unknown;\n try {\n parsed = JSON.parse(raw);\n } catch {\n continue;\n }\n if (!parsed || typeof parsed !== 'object') {\n continue;\n }\n const record = parsed as Record<string, unknown>;\n const arn = record.profile_arn ?? record.profileArn;\n if (typeof arn !== 'string') {\n continue;\n }\n const profile = arn.split('/').pop();\n if (!profile) {\n continue;\n }\n const provider = record.provider;\n return typeof provider === 'string' && provider ? `${provider}:${profile}` : profile;\n }\n return undefined;\n}\n\nfunction readAuthKv(dbPath: string): Map<string, string> {\n const rows = new Map<string, string>();\n let db;\n try {\n db = openForeignDatabase(dbPath, true);\n } catch {\n // No kiro-cli database at all, or an older schema: nothing stored.\n return rows;\n }\n try {\n for (const row of db.prepare('SELECT key, value FROM auth_kv').all() as {\n key?: unknown;\n value?: unknown;\n }[]) {\n if (typeof row.key === 'string' && typeof row.value === 'string') {\n rows.set(row.key, row.value);\n }\n }\n } catch {\n // Table absent on an older kiro-cli schema.\n } finally {\n db.close();\n }\n return rows;\n}\n\nfunction writeAuthKv(dbPath: string, secrets: KiroSecrets): void {\n let db;\n try {\n db = openForeignDatabase(dbPath);\n } catch {\n // kiro-cli has never run here; it will create the database on next login.\n return;\n }\n try {\n db.exec('CREATE TABLE IF NOT EXISTS auth_kv (key TEXT PRIMARY KEY, value TEXT)');\n db.transaction(() => {\n const upsert = db.prepare('INSERT OR REPLACE INTO auth_kv (key, value) VALUES (?, ?)');\n const remove = db.prepare('DELETE FROM auth_kv WHERE key = ?');\n for (const key of KIRO_SECRET_KEYS) {\n const value = secrets[key];\n if (value) {\n upsert.run(key, value);\n } else {\n remove.run(key);\n }\n }\n });\n } finally {\n db.close();\n }\n}\n\nfunction keychainRead(service: string): Promise<string | undefined> {\n return new Promise((resolve) => {\n execFile(\n SECURITY_BIN,\n ['find-generic-password', '-s', service, '-w'],\n { timeout: SECURITY_TIMEOUT_MS },\n // A missing item and an unreadable keychain are both \"nothing here\"; the\n // database mirror is the fallback either way.\n (err, stdout) => resolve(err ? undefined : stdout.trim() || undefined),\n );\n });\n}\n\nfunction keychainWrite(service: string, value: string): Promise<void> {\n const hex = Buffer.from(value, 'utf8').toString('hex');\n // -a \"\" matches the NULL account kiro-cli's own items carry, so an update\n // replaces its item instead of creating a second one beside it.\n return securityStdin(`add-generic-password -U -s \"${service}\" -a \"\" -X ${hex}\\n`);\n}\n\nfunction keychainDelete(service: string): Promise<void> {\n return securityStdin(`delete-generic-password -s \"${service}\"\\n`);\n}\n\n/**\n * Drive `security(1)` through its batch mode so the secret is never an argument.\n * Failures are swallowed: the database mirror is already written, and a locked\n * or absent keychain must not fail an otherwise complete switch.\n */\nfunction securityStdin(command: string): Promise<void> {\n return new Promise((resolve) => {\n const child = execFile(SECURITY_BIN, ['-i'], { timeout: SECURITY_TIMEOUT_MS }, () => resolve());\n child.stdin?.end(command);\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAa,mBAAmB;CAC9B;CACA;CACA;CACA;AACF;AAKA,IAAM,eAAe;AACrB,IAAM,sBAAsB;;AAG5B,SAAS,kBAA2B;CAClC,OAAO,QAAQ,aAAa,YAAY,QAAQ,IAAI,6BAA6B;AACnF;;AAGA,SAAgB,iBAAiB,OAAO,QAAQ,GAAW;CACzD,MAAM,WAAW,QAAQ,IAAI;CAC7B,IAAI,UACF,OAAO;CAET,IAAI,QAAQ,aAAa,UACvB,OAAO,KAAK,MAAM,WAAW,uBAAuB,YAAY,cAAc;CAEhF,IAAI,QAAQ,aAAa,SAEvB,OAAO,KADM,QAAQ,IAAI,gBAAgB,KAAK,MAAM,WAAW,OAAO,GACpD,YAAY,cAAc;CAG9C,OAAO,KADK,QAAQ,IAAI,iBAAiB,KAAK,MAAM,UAAU,OAAO,GACpD,YAAY,cAAc;AAC7C;;AAGA,eAAsB,gBAAgB,OAAO,QAAQ,GAAyB;CAC5E,MAAM,UAAuB,CAAC;CAE9B,IAAI,gBAAgB,GAClB,KAAK,MAAM,OAAO,kBAAkB;EAClC,MAAM,QAAQ,MAAM,aAAa,GAAG;EACpC,IAAI,OACF,QAAQ,OAAO;CAEnB;CAKF,MAAM,OAAO,WAAW,iBAAiB,IAAI,CAAC;CAC9C,KAAK,MAAM,OAAO,kBAAkB;EAClC,MAAM,QAAQ,KAAK,IAAI,GAAG;EAC1B,IAAI,SAAS,CAAC,QAAQ,MACpB,QAAQ,OAAO;CAEnB;CAEA,OAAO;AACT;;AAGA,eAAsB,iBAAiB,SAAsB,OAAO,QAAQ,GAAkB;CAC5F,YAAY,iBAAiB,IAAI,GAAG,OAAO;CAE3C,IAAI,CAAC,gBAAgB,GACnB;CAEF,KAAK,MAAM,OAAO,kBAAkB;EAClC,MAAM,QAAQ,QAAQ;EACtB,IAAI,OACF,MAAM,cAAc,KAAK,KAAK;OAE9B,MAAM,eAAe,GAAG;CAE5B;AACF;;AAGA,eAAsB,iBAAiB,OAAO,QAAQ,GAAkB;CACtE,YAAY,iBAAiB,IAAI,GAAG,CAAC,CAAC;CACtC,IAAI,CAAC,gBAAgB,GACnB;CAEF,KAAK,MAAM,OAAO,kBAChB,MAAM,eAAe,GAAG;AAE5B;;;;;;;;AASA,SAAgB,mBAAmB,SAA0C;CAC3E,KAAK,MAAM,OAAO,kBAAkB;EAClC,MAAM,MAAM,QAAQ;EACpB,IAAI,CAAC,KACH;EAEF,IAAI;EACJ,IAAI;GACF,SAAS,KAAK,MAAM,GAAG;EACzB,QAAQ;GACN;EACF;EACA,IAAI,CAAC,UAAU,OAAO,WAAW,UAC/B;EAEF,MAAM,SAAS;EACf,MAAM,MAAM,OAAO,eAAe,OAAO;EACzC,IAAI,OAAO,QAAQ,UACjB;EAEF,MAAM,UAAU,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI;EACnC,IAAI,CAAC,SACH;EAEF,MAAM,WAAW,OAAO;EACxB,OAAO,OAAO,aAAa,YAAY,WAAW,GAAG,SAAS,GAAG,YAAY;CAC/E;AAEF;AAEA,SAAS,WAAW,QAAqC;CACvD,MAAM,uBAAO,IAAI,IAAoB;CACrC,IAAI;CACJ,IAAI;EACF,KAAK,oBAAoB,QAAQ,IAAI;CACvC,QAAQ;EAEN,OAAO;CACT;CACA,IAAI;EACF,KAAK,MAAM,OAAO,GAAG,QAAQ,gCAAgC,CAAC,CAAC,IAAI,GAIjE,IAAI,OAAO,IAAI,QAAQ,YAAY,OAAO,IAAI,UAAU,UACtD,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK;CAGjC,QAAQ,CAER,UAAU;EACR,GAAG,MAAM;CACX;CACA,OAAO;AACT;AAEA,SAAS,YAAY,QAAgB,SAA4B;CAC/D,IAAI;CACJ,IAAI;EACF,KAAK,oBAAoB,MAAM;CACjC,QAAQ;EAEN;CACF;CACA,IAAI;EACF,GAAG,KAAK,uEAAuE;EAC/E,GAAG,kBAAkB;GACnB,MAAM,SAAS,GAAG,QAAQ,2DAA2D;GACrF,MAAM,SAAS,GAAG,QAAQ,mCAAmC;GAC7D,KAAK,MAAM,OAAO,kBAAkB;IAClC,MAAM,QAAQ,QAAQ;IACtB,IAAI,OACF,OAAO,IAAI,KAAK,KAAK;SAErB,OAAO,IAAI,GAAG;GAElB;EACF,CAAC;CACH,UAAU;EACR,GAAG,MAAM;CACX;AACF;AAEA,SAAS,aAAa,SAA8C;CAClE,OAAO,IAAI,SAAS,YAAY;EAC9B,SACE,cACA;GAAC;GAAyB;GAAM;GAAS;EAAI,GAC7C,EAAE,SAAS,oBAAoB,IAG9B,KAAK,WAAW,QAAQ,MAAM,KAAA,IAAY,OAAO,KAAK,KAAK,KAAA,CAAS,CACvE;CACF,CAAC;AACH;AAEA,SAAS,cAAc,SAAiB,OAA8B;CAIpE,OAAO,cAAc,+BAA+B,QAAQ,aAHhD,OAAO,KAAK,OAAO,MAAM,CAAC,CAAC,SAAS,KAGyB,EAAI,GAAG;AAClF;AAEA,SAAS,eAAe,SAAgC;CACtD,OAAO,cAAc,+BAA+B,QAAQ,IAAI;AAClE;;;;;;AAOA,SAAS,cAAc,SAAgC;CACrD,OAAO,IAAI,SAAS,YAAY;EAE9B,SADuB,cAAc,CAAC,IAAI,GAAG,EAAE,SAAS,oBAAoB,SAAS,QAAQ,CAC7F,CAAA,CAAM,OAAO,IAAI,OAAO;CAC1B,CAAC;AACH"}
|
package/dist/providers/kiro.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import type { Account, AccountMeta, CredentialInput, CredentialInputField, LiveAuthStatus, Provider, ProxyContext, ProxyHandle, ProxyStatus, SnapshotMeta, SourceAdapter } from '../types.js';
|
|
2
|
-
export declare class KiroProvider implements Provider {
|
|
3
|
-
private readonly home;
|
|
4
|
-
readonly id = "kiro";
|
|
5
|
-
readonly name = "AWS Kiro";
|
|
6
|
-
readonly shortName = "Kiro";
|
|
7
|
-
readonly description = "Manages the kiro-cli secret store and ~/.aws/sso/cache (+ optional kirolink proxy)";
|
|
8
|
-
readonly defaultProxyPort = 4119;
|
|
9
|
-
readonly proxyCompatibility = "Anthropic + OpenAI API";
|
|
10
|
-
roleDefaults(): Record<string, string>;
|
|
11
|
-
roleFriendlyModels(): readonly string[];
|
|
12
|
-
constructor(home?: string);
|
|
13
|
-
sourceAdapter(account: Account): SourceAdapter;
|
|
14
|
-
poolSourceAdapter(): SourceAdapter;
|
|
15
|
-
private get cacheDir();
|
|
16
|
-
private livePath;
|
|
17
|
-
/** Cache entries that carry a credential, freshest first. */
|
|
18
|
-
private liveTokenFiles;
|
|
19
|
-
/** Token files a snapshot carries, by their original cache-dir names. */
|
|
20
|
-
private snapshotTokenFiles;
|
|
21
|
-
detectLive(): Promise<LiveAuthStatus>;
|
|
22
|
-
snapshotMatchesLive(snapshotDir: string): Promise<boolean>;
|
|
23
|
-
readonly credentialInputs: readonly ['api-key'];
|
|
24
|
-
credentialInputFields(kind: string): readonly CredentialInputField[];
|
|
25
|
-
/**
|
|
26
|
-
* Save a Kiro API key (`ksk_…`) as an account. There is no live login to read
|
|
27
|
-
* and nothing to restore later: the key only ever reaches the Kiro runtime
|
|
28
|
-
* through `kirolink`, which this account's proxy starts in `api-key` mode.
|
|
29
|
-
*/
|
|
30
|
-
backupInput(input: CredentialInput, destDir: string): Promise<SnapshotMeta>;
|
|
31
|
-
backup(destDir: string): Promise<Partial<Pick<AccountMeta, 'identity' | 'label' | 'notes'>>>;
|
|
32
|
-
restore(srcDir: string): Promise<void>;
|
|
33
|
-
describeSnapshot(srcDir: string): Promise<Partial<Pick<AccountMeta, 'identity' | 'label' | 'notes'>>>;
|
|
34
|
-
/**
|
|
35
|
-
* Remove the local Kiro login only — does NOT call AWS/Kiro logout.
|
|
36
|
-
*/
|
|
37
|
-
clearLive(): Promise<void>;
|
|
38
|
-
startProxy(ctx: ProxyContext): Promise<ProxyHandle>;
|
|
39
|
-
stopProxy(ctx: ProxyContext): Promise<void>;
|
|
40
|
-
proxyStatus(ctx: ProxyContext): Promise<ProxyStatus>;
|
|
41
|
-
readProxyLogs(ctx: ProxyContext, lines?: number): Promise<string>;
|
|
42
|
-
/**
|
|
43
|
-
* Pin the proxy to a cache file only when the secret store is empty. A pin is
|
|
44
|
-
* an override that stops kirolink searching, so pinning while kiro-cli holds
|
|
45
|
-
* the real login would force the proxy onto a stale file.
|
|
46
|
-
*/
|
|
47
|
-
private resolveTokenPath;
|
|
48
|
-
}
|
|
49
|
-
export declare const kiroProvider: KiroProvider;
|
|
50
|
-
//# sourceMappingURL=kiro.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../src/providers/kiro.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAqFlB,qBAAa,YAAa,YAAW,QAAQ;IAwB/B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAvBjC,QAAQ,CAAC,EAAE,UAAU;IACrB,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,SAAS,UAAU;IAC5B,QAAQ,CAAC,WAAW,wFACmE;IACvF,QAAQ,CAAC,gBAAgB,QAAgB;IACzC,QAAQ,CAAC,kBAAkB,4BAA4B;IAEvD,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAErC;IAED,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAStC;IAED,YAA6B,IAAI,SAAY,EAAI;IAEjD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAE7C;IAED,iBAAiB,IAAI,aAAa,CAGjC;IAED,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,CAAC,QAAQ;IAIhB,6DAA6D;YAC/C,cAAc;IA8B5B,yEAAyE;YAC3D,kBAAkB;IAW1B,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAiB1C;IAEK,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB/D;IAED,QAAQ,CAAC,gBAAgB,YAAI,SAAS,EAAW;IAEjD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,oBAAoB,EAAE,CAKnE;IAED;;;;OAIG;IACG,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAsChF;IAEK,MAAM,CACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CA4BrE;IAEK,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B3C;IAEK,gBAAgB,CACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAYrE;IAED;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAK/B;IAIK,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDxD;IAEK,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhD;IAEK,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAWzD;IAEK,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtE;IAED;;;;OAIG;YACW,gBAAgB;CAO/B;AA0FD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
package/dist/providers/kiro.js
DELETED
|
@@ -1,373 +0,0 @@
|
|
|
1
|
-
import { AnyPickError } from "../utils/errors.js";
|
|
2
|
-
import { copyFileSafe, ensureDir, pathExists, readJsonFile, removePath, restoreRequiredFile, writeJsonFile } from "../utils/fs.js";
|
|
3
|
-
import { KIRO_PROXY_BINARIES, resolveKiroProxyCommand } from "../sources/kiro-proxy-bin.js";
|
|
4
|
-
import { kiroAccountAdapter, poolAdapterFor } from "../sources/account-adapters.js";
|
|
5
|
-
import { rolesFromLiveDiscovery } from "./model-policy.js";
|
|
6
|
-
import { snapshotMatchesLiveByFiles } from "./auth-fingerprint.js";
|
|
7
|
-
import { clearKiroSecrets, kiroSecretIdentity, readKiroSecrets, writeKiroSecrets } from "./kiro-secret-store.js";
|
|
8
|
-
import { readExternalProxyLogs, startExternalProxy, statusExternalProxy, stopExternalProxy } from "./proxy-process.js";
|
|
9
|
-
import { join } from "node:path";
|
|
10
|
-
import { homedir } from "node:os";
|
|
11
|
-
import { createHash } from "node:crypto";
|
|
12
|
-
//#region src/providers/kiro.ts
|
|
13
|
-
/**
|
|
14
|
-
* AWS Kiro (CLI + IDE social/Builder ID session tokens)
|
|
15
|
-
*
|
|
16
|
-
* A Kiro login has two possible homes and a machine can hold both:
|
|
17
|
-
* - kiro-cli 2.x keeps it in a secret store (see `kiro-secret-store.ts`)
|
|
18
|
-
* - the Kiro IDE and older kiro-cli write ~/.aws/sso/cache/*.json
|
|
19
|
-
*
|
|
20
|
-
* The IDE's filenames are SHA-1 hashes of the SSO session, not the two names
|
|
21
|
-
* kiro-cli used, so files are recognised by *shape* rather than by name — that
|
|
22
|
-
* also skips the client-registration files sitting in the same directory, which
|
|
23
|
-
* carry a clientId but no token.
|
|
24
|
-
*
|
|
25
|
-
* Compatibility proxy: `kirolink` (Anthropic + OpenAI → Kiro API).
|
|
26
|
-
*/
|
|
27
|
-
/** Snapshot member holding the secret store; never a token file itself. */
|
|
28
|
-
var SECRETS_FILE = "kiro-secret-store.json";
|
|
29
|
-
/**
|
|
30
|
-
* Snapshot member holding a user-supplied Kiro API key. Its presence is what
|
|
31
|
-
* makes the account `proxy-only`: nothing on this machine reads it, only the
|
|
32
|
-
* proxy this account starts.
|
|
33
|
-
*/
|
|
34
|
-
var API_KEY_FILE = "kiro-api-key.json";
|
|
35
|
-
/** Mirrors kirolink's own floor for `KIROLINK_KIRO_API_KEY`. */
|
|
36
|
-
var MIN_API_KEY_BYTES = 16;
|
|
37
|
-
/**
|
|
38
|
-
* Kiro runtime regions kirolink knows about, mirroring its own setup wizard.
|
|
39
|
-
* The region selects the data-plane host (`runtime.<region>.kiro.dev`), so a
|
|
40
|
-
* wrong one starts fine and then fails every request — offer the list rather
|
|
41
|
-
* than a text box.
|
|
42
|
-
*/
|
|
43
|
-
var API_REGIONS = [
|
|
44
|
-
"us-east-1",
|
|
45
|
-
"eu-central-1",
|
|
46
|
-
"ap-southeast-1",
|
|
47
|
-
"ap-northeast-1"
|
|
48
|
-
];
|
|
49
|
-
var DEFAULT_PORT = 4119;
|
|
50
|
-
/**
|
|
51
|
-
* True for an SSO cache entry that carries a credential.
|
|
52
|
-
*
|
|
53
|
-
* Deliberately just "has an access token": that is already enough to exclude
|
|
54
|
-
* the client-registration files sharing the directory, which hold a clientId
|
|
55
|
-
* and an expiry but never a token. Demanding more — a profileArn, a parseable
|
|
56
|
-
* expiry — would risk rejecting a real Kiro IDE token whose shape differs, and
|
|
57
|
-
* failing to see a login is the bug this scan exists to fix.
|
|
58
|
-
*/
|
|
59
|
-
function looksLikeToken(data) {
|
|
60
|
-
const accessToken = data.accessToken ?? data.access_token;
|
|
61
|
-
return typeof accessToken === "string" && accessToken.length > 0;
|
|
62
|
-
}
|
|
63
|
-
var KiroProvider = class {
|
|
64
|
-
home;
|
|
65
|
-
id = "kiro";
|
|
66
|
-
name = "AWS Kiro";
|
|
67
|
-
shortName = "Kiro";
|
|
68
|
-
description = "Manages the kiro-cli secret store and ~/.aws/sso/cache (+ optional kirolink proxy)";
|
|
69
|
-
defaultProxyPort = DEFAULT_PORT;
|
|
70
|
-
proxyCompatibility = "Anthropic + OpenAI API";
|
|
71
|
-
roleDefaults() {
|
|
72
|
-
return rolesFromLiveDiscovery();
|
|
73
|
-
}
|
|
74
|
-
roleFriendlyModels() {
|
|
75
|
-
return [
|
|
76
|
-
"claude-sonnet-5",
|
|
77
|
-
"claude-opus-5",
|
|
78
|
-
"claude-haiku-4-5",
|
|
79
|
-
"claude-sonnet",
|
|
80
|
-
"claude-opus",
|
|
81
|
-
"claude-haiku"
|
|
82
|
-
];
|
|
83
|
-
}
|
|
84
|
-
constructor(home = homedir()) {
|
|
85
|
-
this.home = home;
|
|
86
|
-
}
|
|
87
|
-
sourceAdapter(account) {
|
|
88
|
-
return kiroAccountAdapter(account);
|
|
89
|
-
}
|
|
90
|
-
poolSourceAdapter() {
|
|
91
|
-
return poolAdapterFor(this.id, this, { proxyTransport: "managed_external_proxy" });
|
|
92
|
-
}
|
|
93
|
-
get cacheDir() {
|
|
94
|
-
return process.env.KIRO_SSO_CACHE_DIR ?? join(this.home, ".aws", "sso", "cache");
|
|
95
|
-
}
|
|
96
|
-
livePath(file) {
|
|
97
|
-
return join(this.cacheDir, file);
|
|
98
|
-
}
|
|
99
|
-
/** Cache entries that carry a credential, freshest first. */
|
|
100
|
-
async liveTokenFiles() {
|
|
101
|
-
const { readdir } = await import("node:fs/promises");
|
|
102
|
-
let entries;
|
|
103
|
-
try {
|
|
104
|
-
entries = await readdir(this.cacheDir);
|
|
105
|
-
} catch {
|
|
106
|
-
return [];
|
|
107
|
-
}
|
|
108
|
-
const found = [];
|
|
109
|
-
for (const name of entries) {
|
|
110
|
-
if (!name.endsWith(".json")) continue;
|
|
111
|
-
const path = this.livePath(name);
|
|
112
|
-
try {
|
|
113
|
-
const data = await readJsonFile(path);
|
|
114
|
-
if (!looksLikeToken(data)) continue;
|
|
115
|
-
const raw = data.expiresAt ?? data.expires_at;
|
|
116
|
-
const at = typeof raw === "string" ? new Date(raw).getTime() : NaN;
|
|
117
|
-
found.push({
|
|
118
|
-
name,
|
|
119
|
-
path,
|
|
120
|
-
expiresAt: Number.isFinite(at) ? at : 0
|
|
121
|
-
});
|
|
122
|
-
} catch {}
|
|
123
|
-
}
|
|
124
|
-
return found.sort((a, b) => b.expiresAt - a.expiresAt);
|
|
125
|
-
}
|
|
126
|
-
/** Token files a snapshot carries, by their original cache-dir names. */
|
|
127
|
-
async snapshotTokenFiles(srcDir) {
|
|
128
|
-
const { readdir } = await import("node:fs/promises");
|
|
129
|
-
try {
|
|
130
|
-
return (await readdir(srcDir)).filter((name) => name !== SECRETS_FILE && name !== API_KEY_FILE);
|
|
131
|
-
} catch {
|
|
132
|
-
return [];
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
async detectLive() {
|
|
136
|
-
const [secrets, files] = await Promise.all([readKiroSecrets(this.home), this.liveTokenFiles()]);
|
|
137
|
-
const where = [];
|
|
138
|
-
if (Object.keys(secrets).length > 0) where.push("kiro-cli secret store");
|
|
139
|
-
where.push(...files.map((file) => file.name));
|
|
140
|
-
if (where.length === 0) return { present: false };
|
|
141
|
-
return {
|
|
142
|
-
present: true,
|
|
143
|
-
identity: kiroSecretIdentity(secrets) ?? await identityFrom(files.map((file) => file.path)),
|
|
144
|
-
details: where.join(", ")
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
async snapshotMatchesLive(snapshotDir) {
|
|
148
|
-
if (await readApiKeyFile(join(snapshotDir, API_KEY_FILE))) return false;
|
|
149
|
-
const snapshotSecrets = await readSecretsFile(join(snapshotDir, SECRETS_FILE));
|
|
150
|
-
if (snapshotSecrets) return sameSecrets(snapshotSecrets, await readKiroSecrets(this.home));
|
|
151
|
-
return snapshotMatchesLiveByFiles((await this.snapshotTokenFiles(snapshotDir)).map((name) => ({
|
|
152
|
-
name,
|
|
153
|
-
livePath: this.livePath(name),
|
|
154
|
-
snapshotPath: join(snapshotDir, name)
|
|
155
|
-
})));
|
|
156
|
-
}
|
|
157
|
-
credentialInputs = ["api-key"];
|
|
158
|
-
credentialInputFields(kind) {
|
|
159
|
-
if (kind !== "api-key") return [];
|
|
160
|
-
return [{
|
|
161
|
-
name: "region",
|
|
162
|
-
label: "API region",
|
|
163
|
-
choices: API_REGIONS,
|
|
164
|
-
default: API_REGIONS[0]
|
|
165
|
-
}];
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Save a Kiro API key (`ksk_…`) as an account. There is no live login to read
|
|
169
|
-
* and nothing to restore later: the key only ever reaches the Kiro runtime
|
|
170
|
-
* through `kirolink`, which this account's proxy starts in `api-key` mode.
|
|
171
|
-
*/
|
|
172
|
-
async backupInput(input, destDir) {
|
|
173
|
-
if (input.kind !== "api-key") throw new AnyPickError(`AWS Kiro does not accept a ${input.kind} credential.`, "UNSUPPORTED_CREDENTIAL_INPUT");
|
|
174
|
-
const kiroApiKey = input.secret.trim();
|
|
175
|
-
if (!kiroApiKey) throw new AnyPickError("The Kiro API key is empty.", "INVALID_CREDENTIAL");
|
|
176
|
-
if (Buffer.byteLength(kiroApiKey) < MIN_API_KEY_BYTES) throw new AnyPickError(`That Kiro API key is too short to be valid (needs at least ${MIN_API_KEY_BYTES} characters).`, {
|
|
177
|
-
code: "INVALID_CREDENTIAL",
|
|
178
|
-
suggestions: ["Copy the whole key, including its ksk_ prefix."]
|
|
179
|
-
});
|
|
180
|
-
const apiRegion = input.options?.region?.trim() || void 0;
|
|
181
|
-
if (apiRegion && !/^[a-z0-9-]+$/u.test(apiRegion)) throw new AnyPickError(`"${apiRegion}" is not a valid Kiro API region.`, {
|
|
182
|
-
code: "INVALID_CREDENTIAL",
|
|
183
|
-
suggestions: [`Known regions: ${API_REGIONS.join(", ")}.`]
|
|
184
|
-
});
|
|
185
|
-
await ensureDir(destDir);
|
|
186
|
-
const snapshot = {
|
|
187
|
-
kiroApiKey,
|
|
188
|
-
apiRegion
|
|
189
|
-
};
|
|
190
|
-
await writeJsonFile(join(destDir, API_KEY_FILE), snapshot);
|
|
191
|
-
return {
|
|
192
|
-
identity: apiKeyIdentity(kiroApiKey),
|
|
193
|
-
credentialKind: "proxy-only"
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
async backup(destDir) {
|
|
197
|
-
await ensureDir(destDir);
|
|
198
|
-
const [secrets, files] = await Promise.all([readKiroSecrets(this.home), this.liveTokenFiles()]);
|
|
199
|
-
let saved = 0;
|
|
200
|
-
if (Object.keys(secrets).length > 0) {
|
|
201
|
-
await writeJsonFile(join(destDir, SECRETS_FILE), secrets);
|
|
202
|
-
saved += 1;
|
|
203
|
-
}
|
|
204
|
-
const copied = [];
|
|
205
|
-
for (const file of files) if (await copyFileSafe(file.path, join(destDir, file.name))) {
|
|
206
|
-
saved += 1;
|
|
207
|
-
copied.push(join(destDir, file.name));
|
|
208
|
-
}
|
|
209
|
-
const identity = kiroSecretIdentity(secrets) ?? await identityFrom(copied);
|
|
210
|
-
if (saved === 0) throw new AnyPickError(`No Kiro login found in the kiro-cli secret store or ${this.cacheDir}. Run kiro-cli login first.`, "NO_LIVE_AUTH");
|
|
211
|
-
return { identity };
|
|
212
|
-
}
|
|
213
|
-
async restore(srcDir) {
|
|
214
|
-
if (await readApiKeyFile(join(srcDir, API_KEY_FILE))) return;
|
|
215
|
-
const secrets = await readSecretsFile(join(srcDir, SECRETS_FILE));
|
|
216
|
-
const names = await this.snapshotTokenFiles(srcDir);
|
|
217
|
-
if (!secrets && names.length === 0) throw new AnyPickError(`Kiro snapshot has no credentials in ${srcDir}`, "EMPTY_SNAPSHOT");
|
|
218
|
-
for (const file of await this.liveTokenFiles()) if (!names.includes(file.name)) await removePath(file.path);
|
|
219
|
-
await ensureDir(this.cacheDir);
|
|
220
|
-
for (const name of names) await restoreRequiredFile(join(srcDir, name), this.livePath(name), name);
|
|
221
|
-
await writeKiroSecrets(secrets ?? {}, this.home);
|
|
222
|
-
}
|
|
223
|
-
async describeSnapshot(srcDir) {
|
|
224
|
-
const apiKey = await readApiKeyFile(join(srcDir, API_KEY_FILE));
|
|
225
|
-
if (apiKey) return { identity: apiKeyIdentity(apiKey.kiroApiKey) };
|
|
226
|
-
const secrets = await readSecretsFile(join(srcDir, SECRETS_FILE));
|
|
227
|
-
const names = await this.snapshotTokenFiles(srcDir);
|
|
228
|
-
const identity = (secrets ? kiroSecretIdentity(secrets) : void 0) ?? await identityFrom(names.map((name) => join(srcDir, name)));
|
|
229
|
-
return identity ? { identity } : {};
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Remove the local Kiro login only — does NOT call AWS/Kiro logout.
|
|
233
|
-
*/
|
|
234
|
-
async clearLive() {
|
|
235
|
-
for (const file of await this.liveTokenFiles()) await removePath(file.path);
|
|
236
|
-
await clearKiroSecrets(this.home);
|
|
237
|
-
}
|
|
238
|
-
async startProxy(ctx) {
|
|
239
|
-
const apiKey = await readApiKeyFile(join(ctx.snapshotDir, API_KEY_FILE));
|
|
240
|
-
const authMode = apiKey ? {
|
|
241
|
-
KIROLINK_AUTH: "api-key",
|
|
242
|
-
KIROLINK_KIRO_API_KEY: apiKey.kiroApiKey,
|
|
243
|
-
...apiKey.apiRegion ? { KIROLINK_API_REGION: apiKey.apiRegion } : {}
|
|
244
|
-
} : { KIROLINK_AUTH: "cli" };
|
|
245
|
-
const tokenPath = apiKey ? void 0 : await this.resolveTokenPath();
|
|
246
|
-
const env = () => ({
|
|
247
|
-
...process.env,
|
|
248
|
-
...authMode,
|
|
249
|
-
...tokenPath ? { KIRO_PROXY_TOKEN_PATH: tokenPath } : {}
|
|
250
|
-
});
|
|
251
|
-
const command = resolveKiroProxyCommand();
|
|
252
|
-
if (command?.kind === "node-entry") return startExternalProxy(ctx, {
|
|
253
|
-
label: "Kiro",
|
|
254
|
-
binaries: ["node"],
|
|
255
|
-
defaultPort: DEFAULT_PORT,
|
|
256
|
-
compatibility: this.proxyCompatibility,
|
|
257
|
-
buildArgs: (_c, port, host) => [
|
|
258
|
-
command.entry,
|
|
259
|
-
"-p",
|
|
260
|
-
String(port),
|
|
261
|
-
"--host",
|
|
262
|
-
host
|
|
263
|
-
],
|
|
264
|
-
env
|
|
265
|
-
});
|
|
266
|
-
return startExternalProxy(ctx, {
|
|
267
|
-
label: "Kiro",
|
|
268
|
-
binaries: command ? [command.path] : [...KIRO_PROXY_BINARIES],
|
|
269
|
-
defaultPort: DEFAULT_PORT,
|
|
270
|
-
compatibility: this.proxyCompatibility,
|
|
271
|
-
buildArgs: (_c, port, host) => [
|
|
272
|
-
"-p",
|
|
273
|
-
String(port),
|
|
274
|
-
"--host",
|
|
275
|
-
host
|
|
276
|
-
],
|
|
277
|
-
env
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
async stopProxy(ctx) {
|
|
281
|
-
await stopExternalProxy(ctx);
|
|
282
|
-
}
|
|
283
|
-
async proxyStatus(ctx) {
|
|
284
|
-
const status = await statusExternalProxy(ctx, { compatibility: this.proxyCompatibility });
|
|
285
|
-
if (status.running && !status.endpoint) status.endpoint = `http://${ctx.config.host ?? "127.0.0.1"}:${ctx.config.port ?? DEFAULT_PORT}`;
|
|
286
|
-
return status;
|
|
287
|
-
}
|
|
288
|
-
async readProxyLogs(ctx, lines) {
|
|
289
|
-
return readExternalProxyLogs(ctx, lines);
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Pin the proxy to a cache file only when the secret store is empty. A pin is
|
|
293
|
-
* an override that stops kirolink searching, so pinning while kiro-cli holds
|
|
294
|
-
* the real login would force the proxy onto a stale file.
|
|
295
|
-
*/
|
|
296
|
-
async resolveTokenPath() {
|
|
297
|
-
if (Object.keys(await readKiroSecrets(this.home)).length > 0) return;
|
|
298
|
-
const [freshest] = await this.liveTokenFiles();
|
|
299
|
-
return freshest?.path;
|
|
300
|
-
}
|
|
301
|
-
};
|
|
302
|
-
async function readApiKeyFile(path) {
|
|
303
|
-
if (!await pathExists(path)) return null;
|
|
304
|
-
try {
|
|
305
|
-
const data = await readJsonFile(path);
|
|
306
|
-
if (typeof data.kiroApiKey !== "string" || !data.kiroApiKey) return null;
|
|
307
|
-
return {
|
|
308
|
-
kiroApiKey: data.kiroApiKey,
|
|
309
|
-
apiRegion: typeof data.apiRegion === "string" ? data.apiRegion : void 0
|
|
310
|
-
};
|
|
311
|
-
} catch {
|
|
312
|
-
return null;
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* A stable name for an API key that does not disclose it. A key carries no
|
|
317
|
-
* email, and the raw value must not become an account identity — identities are
|
|
318
|
-
* printed, exported, and stored in meta.
|
|
319
|
-
*/
|
|
320
|
-
function apiKeyIdentity(kiroApiKey) {
|
|
321
|
-
return `api-key:${createHash("sha256").update(kiroApiKey).digest("hex").slice(0, 12)}`;
|
|
322
|
-
}
|
|
323
|
-
async function readSecretsFile(path) {
|
|
324
|
-
if (!await pathExists(path)) return null;
|
|
325
|
-
try {
|
|
326
|
-
const data = await readJsonFile(path);
|
|
327
|
-
const secrets = {};
|
|
328
|
-
for (const [key, value] of Object.entries(data)) if (typeof value === "string") secrets[key] = value;
|
|
329
|
-
return secrets;
|
|
330
|
-
} catch {
|
|
331
|
-
return null;
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
function sameSecrets(a, b) {
|
|
335
|
-
const keys = Object.keys(a);
|
|
336
|
-
return keys.length === Object.keys(b).length && keys.every((key) => a[key] === b[key]);
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* A name for the account a token file belongs to, or undefined when the file
|
|
340
|
-
* carries nothing identifying.
|
|
341
|
-
*
|
|
342
|
-
* The placeholder for "a token with no identity in it" is applied by
|
|
343
|
-
* `identityFrom` rather than here: cache filenames are content hashes, so the
|
|
344
|
-
* scan order is arbitrary, and returning the placeholder early would let it win
|
|
345
|
-
* over a real identity sitting in the next file.
|
|
346
|
-
*/
|
|
347
|
-
async function tryIdentity(path) {
|
|
348
|
-
try {
|
|
349
|
-
const data = await readJsonFile(path);
|
|
350
|
-
for (const key of [
|
|
351
|
-
"email",
|
|
352
|
-
"username",
|
|
353
|
-
"startUrl",
|
|
354
|
-
"clientId",
|
|
355
|
-
"provider"
|
|
356
|
-
]) if (typeof data[key] === "string" && data[key]) return data[key];
|
|
357
|
-
const arn = data.profileArn ?? data.profile_arn;
|
|
358
|
-
if (typeof arn === "string") return arn.split("/").pop() ?? void 0;
|
|
359
|
-
} catch {}
|
|
360
|
-
}
|
|
361
|
-
/** The best identity across some token files, falling back to a placeholder. */
|
|
362
|
-
async function identityFrom(paths) {
|
|
363
|
-
for (const path of paths) {
|
|
364
|
-
const identity = await tryIdentity(path);
|
|
365
|
-
if (identity) return identity;
|
|
366
|
-
}
|
|
367
|
-
return paths.length > 0 ? "session-token" : void 0;
|
|
368
|
-
}
|
|
369
|
-
var kiroProvider = new KiroProvider();
|
|
370
|
-
//#endregion
|
|
371
|
-
export { KiroProvider, kiroProvider };
|
|
372
|
-
|
|
373
|
-
//# sourceMappingURL=kiro.js.map
|