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,22 +0,0 @@
|
|
|
1
|
-
import type { ProxyLease } from '../types.js';
|
|
2
|
-
import type { AnyPickDatabase } from './db.js';
|
|
3
|
-
export declare class LeaseStore {
|
|
4
|
-
private readonly db;
|
|
5
|
-
constructor(db: AnyPickDatabase);
|
|
6
|
-
create(opts: {
|
|
7
|
-
provider: string;
|
|
8
|
-
account?: string;
|
|
9
|
-
port: number;
|
|
10
|
-
host?: string;
|
|
11
|
-
endpoint?: string;
|
|
12
|
-
ownerPid?: number;
|
|
13
|
-
instanceId?: string;
|
|
14
|
-
bindingRefs?: string[];
|
|
15
|
-
}): ProxyLease;
|
|
16
|
-
get(leaseId: string): ProxyLease | null;
|
|
17
|
-
list(): ProxyLease[];
|
|
18
|
-
findByProviderAccount(provider: string, account?: string): ProxyLease | null;
|
|
19
|
-
release(leaseId: string): boolean;
|
|
20
|
-
releaseByProviderAccount(provider: string, account?: string): number;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=lease-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lease-store.d.ts","sourceRoot":"","sources":["../../src/core/lease-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAwC5C,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,EAAE;IAA/B,YAA6B,EAAE,EAAE,eAAe,EAAI;IAEpD,MAAM,CAAC,IAAI,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,GAAG,UAAU,CAoCb;IAED,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAStC;IAED,IAAI,IAAI,UAAU,EAAE,CASnB;IAED,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAmB3E;IAED,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGhC;IAED,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CASnE;CACF"}
|
package/dist/core/lease-store.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { decode, decoders } from "./codec.js";
|
|
2
|
-
import { randomUUID } from "node:crypto";
|
|
3
|
-
//#region src/core/lease-store.ts
|
|
4
|
-
function nowIso() {
|
|
5
|
-
return (/* @__PURE__ */ new Date()).toISOString();
|
|
6
|
-
}
|
|
7
|
-
function parse(row) {
|
|
8
|
-
return decode(JSON.stringify({
|
|
9
|
-
leaseId: row.lease_id,
|
|
10
|
-
provider: row.provider,
|
|
11
|
-
account: row.account ?? void 0,
|
|
12
|
-
port: row.port,
|
|
13
|
-
host: row.host,
|
|
14
|
-
endpoint: row.endpoint ?? void 0,
|
|
15
|
-
ownerPid: row.owner_pid,
|
|
16
|
-
instanceId: row.instance_id ?? void 0,
|
|
17
|
-
bindingRefs: JSON.parse(row.binding_refs_json),
|
|
18
|
-
createdAt: row.created_at,
|
|
19
|
-
updatedAt: row.updated_at
|
|
20
|
-
}), decoders.proxyLease, `lease/${row.lease_id}`);
|
|
21
|
-
}
|
|
22
|
-
var LeaseStore = class {
|
|
23
|
-
db;
|
|
24
|
-
constructor(db) {
|
|
25
|
-
this.db = db;
|
|
26
|
-
}
|
|
27
|
-
create(opts) {
|
|
28
|
-
const ts = nowIso();
|
|
29
|
-
const lease = {
|
|
30
|
-
leaseId: randomUUID(),
|
|
31
|
-
provider: opts.provider,
|
|
32
|
-
account: opts.account,
|
|
33
|
-
port: opts.port,
|
|
34
|
-
host: opts.host ?? "127.0.0.1",
|
|
35
|
-
endpoint: opts.endpoint,
|
|
36
|
-
ownerPid: opts.ownerPid ?? process.pid,
|
|
37
|
-
instanceId: opts.instanceId,
|
|
38
|
-
bindingRefs: opts.bindingRefs ?? [],
|
|
39
|
-
createdAt: ts,
|
|
40
|
-
updatedAt: ts
|
|
41
|
-
};
|
|
42
|
-
this.db.prepare(`INSERT INTO proxy_leases
|
|
43
|
-
(lease_id, provider, account, port, host, endpoint, owner_pid,
|
|
44
|
-
instance_id, binding_refs_json, created_at, updated_at)
|
|
45
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(lease.leaseId, lease.provider, lease.account ?? null, lease.port, lease.host, lease.endpoint ?? null, lease.ownerPid, lease.instanceId ?? null, JSON.stringify(lease.bindingRefs), lease.createdAt, lease.updatedAt);
|
|
46
|
-
return lease;
|
|
47
|
-
}
|
|
48
|
-
get(leaseId) {
|
|
49
|
-
const row = this.db.prepare(`SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,
|
|
50
|
-
binding_refs_json, created_at, updated_at
|
|
51
|
-
FROM proxy_leases WHERE lease_id = ?`).get(leaseId);
|
|
52
|
-
return row ? parse(row) : null;
|
|
53
|
-
}
|
|
54
|
-
list() {
|
|
55
|
-
return this.db.prepare(`SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,
|
|
56
|
-
binding_refs_json, created_at, updated_at
|
|
57
|
-
FROM proxy_leases ORDER BY created_at`).all().map(parse);
|
|
58
|
-
}
|
|
59
|
-
findByProviderAccount(provider, account) {
|
|
60
|
-
const row = account ? this.db.prepare(`SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,
|
|
61
|
-
binding_refs_json, created_at, updated_at
|
|
62
|
-
FROM proxy_leases WHERE provider = ? AND account = ?
|
|
63
|
-
ORDER BY created_at DESC LIMIT 1`).get(provider, account) : this.db.prepare(`SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,
|
|
64
|
-
binding_refs_json, created_at, updated_at
|
|
65
|
-
FROM proxy_leases WHERE provider = ? AND account IS NULL
|
|
66
|
-
ORDER BY created_at DESC LIMIT 1`).get(provider);
|
|
67
|
-
return row ? parse(row) : null;
|
|
68
|
-
}
|
|
69
|
-
release(leaseId) {
|
|
70
|
-
const r = this.db.prepare(`DELETE FROM proxy_leases WHERE lease_id = ?`).run(leaseId);
|
|
71
|
-
return Number(r.changes) > 0;
|
|
72
|
-
}
|
|
73
|
-
releaseByProviderAccount(provider, account) {
|
|
74
|
-
const r = account ? this.db.prepare(`DELETE FROM proxy_leases WHERE provider = ? AND account = ?`).run(provider, account) : this.db.prepare(`DELETE FROM proxy_leases WHERE provider = ? AND account IS NULL`).run(provider);
|
|
75
|
-
return Number(r.changes);
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
//#endregion
|
|
79
|
-
export { LeaseStore };
|
|
80
|
-
|
|
81
|
-
//# sourceMappingURL=lease-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lease-store.js","names":[],"sources":["../../src/core/lease-store.ts"],"sourcesContent":["import { randomUUID } from 'node:crypto';\nimport type { ProxyLease } from '../types';\nimport { decode } from './codec';\nimport { decoders } from './codec';\nimport type { AnyPickDatabase } from './db';\n\ninterface LeaseRow {\n lease_id: string;\n provider: string;\n account: string | null;\n port: number;\n host: string;\n endpoint: string | null;\n owner_pid: number;\n instance_id: string | null;\n binding_refs_json: string;\n created_at: string;\n updated_at: string;\n}\n\nfunction nowIso(): string {\n return new Date().toISOString();\n}\n\nfunction parse(row: LeaseRow): ProxyLease {\n return decode(\n JSON.stringify({\n leaseId: row.lease_id,\n provider: row.provider,\n account: row.account ?? undefined,\n port: row.port,\n host: row.host,\n endpoint: row.endpoint ?? undefined,\n ownerPid: row.owner_pid,\n instanceId: row.instance_id ?? undefined,\n bindingRefs: JSON.parse(row.binding_refs_json) as string[],\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n }),\n decoders.proxyLease,\n `lease/${row.lease_id}`,\n );\n}\n\nexport class LeaseStore {\n constructor(private readonly db: AnyPickDatabase) {}\n\n create(opts: {\n provider: string;\n account?: string;\n port: number;\n host?: string;\n endpoint?: string;\n ownerPid?: number;\n instanceId?: string;\n bindingRefs?: string[];\n }): ProxyLease {\n const ts = nowIso();\n const lease: ProxyLease = {\n leaseId: randomUUID(),\n provider: opts.provider,\n account: opts.account,\n port: opts.port,\n host: opts.host ?? '127.0.0.1',\n endpoint: opts.endpoint,\n ownerPid: opts.ownerPid ?? process.pid,\n instanceId: opts.instanceId,\n bindingRefs: opts.bindingRefs ?? [],\n createdAt: ts,\n updatedAt: ts,\n };\n this.db\n .prepare(\n `INSERT INTO proxy_leases\n (lease_id, provider, account, port, host, endpoint, owner_pid,\n instance_id, binding_refs_json, created_at, updated_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,\n )\n .run(\n lease.leaseId,\n lease.provider,\n lease.account ?? null,\n lease.port,\n lease.host,\n lease.endpoint ?? null,\n lease.ownerPid,\n lease.instanceId ?? null,\n JSON.stringify(lease.bindingRefs),\n lease.createdAt,\n lease.updatedAt,\n );\n return lease;\n }\n\n get(leaseId: string): ProxyLease | null {\n const row = this.db\n .prepare(\n `SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,\n binding_refs_json, created_at, updated_at\n FROM proxy_leases WHERE lease_id = ?`,\n )\n .get(leaseId) as LeaseRow | undefined;\n return row ? parse(row) : null;\n }\n\n list(): ProxyLease[] {\n const rows = this.db\n .prepare(\n `SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,\n binding_refs_json, created_at, updated_at\n FROM proxy_leases ORDER BY created_at`,\n )\n .all() as unknown as LeaseRow[];\n return rows.map(parse);\n }\n\n findByProviderAccount(provider: string, account?: string): ProxyLease | null {\n const row = account\n ? (this.db\n .prepare(\n `SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,\n binding_refs_json, created_at, updated_at\n FROM proxy_leases WHERE provider = ? AND account = ?\n ORDER BY created_at DESC LIMIT 1`,\n )\n .get(provider, account) as LeaseRow | undefined)\n : (this.db\n .prepare(\n `SELECT lease_id, provider, account, port, host, endpoint, owner_pid, instance_id,\n binding_refs_json, created_at, updated_at\n FROM proxy_leases WHERE provider = ? AND account IS NULL\n ORDER BY created_at DESC LIMIT 1`,\n )\n .get(provider) as LeaseRow | undefined);\n return row ? parse(row) : null;\n }\n\n release(leaseId: string): boolean {\n const r = this.db.prepare(`DELETE FROM proxy_leases WHERE lease_id = ?`).run(leaseId);\n return Number(r.changes) > 0;\n }\n\n releaseByProviderAccount(provider: string, account?: string): number {\n const r = account\n ? this.db\n .prepare(`DELETE FROM proxy_leases WHERE provider = ? AND account = ?`)\n .run(provider, account)\n : this.db\n .prepare(`DELETE FROM proxy_leases WHERE provider = ? AND account IS NULL`)\n .run(provider);\n return Number(r.changes);\n }\n}\n"],"mappings":";;;AAoBA,SAAS,SAAiB;CACxB,wBAAO,IAAI,KAAK,EAAA,CAAE,YAAY;AAChC;AAEA,SAAS,MAAM,KAA2B;CACxC,OAAO,OACL,KAAK,UAAU;EACb,SAAS,IAAI;EACb,UAAU,IAAI;EACd,SAAS,IAAI,WAAW,KAAA;EACxB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,UAAU,IAAI,YAAY,KAAA;EAC1B,UAAU,IAAI;EACd,YAAY,IAAI,eAAe,KAAA;EAC/B,aAAa,KAAK,MAAM,IAAI,iBAAiB;EAC7C,WAAW,IAAI;EACf,WAAW,IAAI;CACjB,CAAC,GACD,SAAS,YACT,SAAS,IAAI,UACf;AACF;AAEA,IAAa,aAAb,MAAwB;CACO;CAA7B,YAAY,IAAsC;EAArB,KAAA,KAAA;CAAsB;CAEnD,OAAO,MASQ;EACb,MAAM,KAAK,OAAO;EAClB,MAAM,QAAoB;GACxB,SAAS,WAAW;GACpB,UAAU,KAAK;GACf,SAAS,KAAK;GACd,MAAM,KAAK;GACX,MAAM,KAAK,QAAQ;GACnB,UAAU,KAAK;GACf,UAAU,KAAK,YAAY,QAAQ;GACnC,YAAY,KAAK;GACjB,aAAa,KAAK,eAAe,CAAC;GAClC,WAAW;GACX,WAAW;EACb;EACA,KAAK,GACF,QACC;;;kDAIF,CAAC,CACA,IACC,MAAM,SACN,MAAM,UACN,MAAM,WAAW,MACjB,MAAM,MACN,MAAM,MACN,MAAM,YAAY,MAClB,MAAM,UACN,MAAM,cAAc,MACpB,KAAK,UAAU,MAAM,WAAW,GAChC,MAAM,WACN,MAAM,SACR;EACF,OAAO;CACT;CAEA,IAAI,SAAoC;EACtC,MAAM,MAAM,KAAK,GACd,QACC;;8CAGF,CAAC,CACA,IAAI,OAAO;EACd,OAAO,MAAM,MAAM,GAAG,IAAI;CAC5B;CAEA,OAAqB;EAQnB,OAPa,KAAK,GACf,QACC;;+CAGF,CAAC,CACA,IACI,CAAA,CAAK,IAAI,KAAK;CACvB;CAEA,sBAAsB,UAAkB,SAAqC;EAC3E,MAAM,MAAM,UACP,KAAK,GACH,QACC;;;8CAIF,CAAC,CACA,IAAI,UAAU,OAAO,IACvB,KAAK,GACH,QACC;;;8CAIF,CAAC,CACA,IAAI,QAAQ;EACnB,OAAO,MAAM,MAAM,GAAG,IAAI;CAC5B;CAEA,QAAQ,SAA0B;EAChC,MAAM,IAAI,KAAK,GAAG,QAAQ,6CAA6C,CAAC,CAAC,IAAI,OAAO;EACpF,OAAO,OAAO,EAAE,OAAO,IAAI;CAC7B;CAEA,yBAAyB,UAAkB,SAA0B;EACnE,MAAM,IAAI,UACN,KAAK,GACF,QAAQ,6DAA6D,CAAC,CACtE,IAAI,UAAU,OAAO,IACxB,KAAK,GACF,QAAQ,iEAAiE,CAAC,CAC1E,IAAI,QAAQ;EACnB,OAAO,OAAO,EAAE,OAAO;CACzB;AACF"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Legacy ClientState / RuntimeProfile → GlobalBinding migration (spec §26.4).
|
|
3
|
-
* Exact-evidence only. Never invent bindings from activeProfile alone.
|
|
4
|
-
*/
|
|
5
|
-
import type { AnyPickApp } from './app.js';
|
|
6
|
-
export declare function migrateBindingsIfNeeded(app: AnyPickApp): Promise<{
|
|
7
|
-
migrated: boolean;
|
|
8
|
-
bindingsCreated: number;
|
|
9
|
-
}>;
|
|
10
|
-
//# sourceMappingURL=migrate-bindings.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-bindings.d.ts","sourceRoot":"","sources":["../../src/core/migrate-bindings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAQxC,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAqGD"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { accountRef, gatewayRef } from "./refs.js";
|
|
2
|
-
import { ClientStateStore } from "./client-state-store.js";
|
|
3
|
-
import { getMeta, setMeta } from "./db.js";
|
|
4
|
-
//#region src/core/migrate-bindings.ts
|
|
5
|
-
var MIGRATION_KEY = "bindings_migrated_v1";
|
|
6
|
-
async function migrateBindingsIfNeeded(app) {
|
|
7
|
-
if (getMeta(app.db, MIGRATION_KEY) === "1") return {
|
|
8
|
-
migrated: false,
|
|
9
|
-
bindingsCreated: 0
|
|
10
|
-
};
|
|
11
|
-
if (app.bindings.listGlobal().length > 0) {
|
|
12
|
-
setMeta(app.db, MIGRATION_KEY, "1");
|
|
13
|
-
return {
|
|
14
|
-
migrated: false,
|
|
15
|
-
bindingsCreated: 0
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
const states = await new ClientStateStore(app.root, app.db).list();
|
|
19
|
-
let created = 0;
|
|
20
|
-
const importedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
21
|
-
for (const state of states) {
|
|
22
|
-
if (state.profileName && state.mode === "profile") {
|
|
23
|
-
const profile = await app.profileStore.get(state.profileName);
|
|
24
|
-
if (!profile) continue;
|
|
25
|
-
const source = gatewayRef(state.profileName);
|
|
26
|
-
const model = reconstructModel(state, profile.meta.defaultModel);
|
|
27
|
-
const spec = {
|
|
28
|
-
client: state.clientId,
|
|
29
|
-
source,
|
|
30
|
-
model,
|
|
31
|
-
transportPolicy: "auto",
|
|
32
|
-
clientOptions: {}
|
|
33
|
-
};
|
|
34
|
-
const binding = {
|
|
35
|
-
client: state.clientId,
|
|
36
|
-
spec,
|
|
37
|
-
provenance: {
|
|
38
|
-
kind: "legacy_migration",
|
|
39
|
-
sourceConfidence: "exact",
|
|
40
|
-
modelConfidence: model.mode === "explicit" ? "exact" : model.mode === "omitted" ? "omitted" : "unknown",
|
|
41
|
-
importedAt
|
|
42
|
-
},
|
|
43
|
-
createdAt: importedAt,
|
|
44
|
-
updatedAt: importedAt
|
|
45
|
-
};
|
|
46
|
-
if (!app.bindings.getGlobal(state.clientId)) {
|
|
47
|
-
app.bindings.putGlobal(binding);
|
|
48
|
-
created++;
|
|
49
|
-
}
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
if (state.accountRef && state.mode === "account") {
|
|
53
|
-
const { provider, name } = state.accountRef;
|
|
54
|
-
if (!await app.accounts.get(provider, name)) continue;
|
|
55
|
-
const source = accountRef(provider, name);
|
|
56
|
-
const spec = {
|
|
57
|
-
client: state.clientId,
|
|
58
|
-
source,
|
|
59
|
-
model: {
|
|
60
|
-
mode: "unknown",
|
|
61
|
-
reason: "legacy_migration"
|
|
62
|
-
},
|
|
63
|
-
transportPolicy: "auto",
|
|
64
|
-
clientOptions: {}
|
|
65
|
-
};
|
|
66
|
-
if (!app.bindings.getGlobal(state.clientId)) {
|
|
67
|
-
app.bindings.putGlobal({
|
|
68
|
-
client: state.clientId,
|
|
69
|
-
spec,
|
|
70
|
-
provenance: {
|
|
71
|
-
kind: "legacy_migration",
|
|
72
|
-
sourceConfidence: "exact",
|
|
73
|
-
modelConfidence: "unknown",
|
|
74
|
-
importedAt
|
|
75
|
-
},
|
|
76
|
-
createdAt: importedAt,
|
|
77
|
-
updatedAt: importedAt
|
|
78
|
-
});
|
|
79
|
-
created++;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
setMeta(app.db, MIGRATION_KEY, "1");
|
|
84
|
-
return {
|
|
85
|
-
migrated: true,
|
|
86
|
-
bindingsCreated: created
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
function reconstructModel(state, profileDefault) {
|
|
90
|
-
return {
|
|
91
|
-
mode: "unknown",
|
|
92
|
-
reason: "legacy_migration"
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
//#endregion
|
|
96
|
-
export { migrateBindingsIfNeeded };
|
|
97
|
-
|
|
98
|
-
//# sourceMappingURL=migrate-bindings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-bindings.js","names":[],"sources":["../../src/core/migrate-bindings.ts"],"sourcesContent":["/**\n * Legacy ClientState / RuntimeProfile → GlobalBinding migration (spec §26.4).\n * Exact-evidence only. Never invent bindings from activeProfile alone.\n */\n\nimport type { AnyPickApp } from './app';\nimport type { BindingSpec, GlobalBinding, ModelSelection } from '../types';\nimport { gatewayRef, accountRef } from './refs';\nimport { getMeta, setMeta } from './db';\nimport { ClientStateStore } from './client-state-store';\n\nconst MIGRATION_KEY = 'bindings_migrated_v1';\n\nexport async function migrateBindingsIfNeeded(app: AnyPickApp): Promise<{\n migrated: boolean;\n bindingsCreated: number;\n}> {\n if (getMeta(app.db, MIGRATION_KEY) === '1') {\n return { migrated: false, bindingsCreated: 0 };\n }\n\n // If global bindings already exist, mark done without overwriting\n if (app.bindings.listGlobal().length > 0) {\n setMeta(app.db, MIGRATION_KEY, '1');\n return { migrated: false, bindingsCreated: 0 };\n }\n\n const clientState = new ClientStateStore(app.root, app.db);\n const states = await clientState.list();\n let created = 0;\n const importedAt = new Date().toISOString();\n\n for (const state of states) {\n // Gateway evidence: exact profileName match\n if (state.profileName && state.mode === 'profile') {\n const profile = await app.profileStore.get(state.profileName);\n if (!profile) {\n continue;\n }\n\n // Do not reinterpret profile.provider as account source\n const source = gatewayRef(state.profileName);\n const model = reconstructModel(state, profile.meta.defaultModel);\n\n const spec: BindingSpec = {\n client: state.clientId,\n source,\n model,\n transportPolicy: 'auto',\n clientOptions: {},\n };\n\n const binding: GlobalBinding = {\n client: state.clientId,\n spec,\n provenance: {\n kind: 'legacy_migration',\n sourceConfidence: 'exact',\n modelConfidence:\n model.mode === 'explicit' ? 'exact' : model.mode === 'omitted' ? 'omitted' : 'unknown',\n importedAt,\n },\n createdAt: importedAt,\n updatedAt: importedAt,\n };\n\n // Only create if no binding yet for this client\n if (!app.bindings.getGlobal(state.clientId)) {\n app.bindings.putGlobal(binding);\n created++;\n }\n continue;\n }\n\n // Account evidence: exact accountRef on client state\n if (state.accountRef && state.mode === 'account') {\n const { provider, name } = state.accountRef;\n const account = await app.accounts.get(provider, name);\n if (!account) {\n continue;\n }\n\n const source = accountRef(provider, name);\n const model: ModelSelection = {\n mode: 'unknown',\n reason: 'legacy_migration',\n };\n\n const spec: BindingSpec = {\n client: state.clientId,\n source,\n model,\n transportPolicy: 'auto',\n clientOptions: {},\n };\n\n if (!app.bindings.getGlobal(state.clientId)) {\n app.bindings.putGlobal({\n client: state.clientId,\n spec,\n provenance: {\n kind: 'legacy_migration',\n sourceConfidence: 'exact',\n modelConfidence: 'unknown',\n importedAt,\n },\n createdAt: importedAt,\n updatedAt: importedAt,\n });\n created++;\n }\n }\n }\n\n // Never create binding solely from GlobalConfig.activeProfile\n setMeta(app.db, MIGRATION_KEY, '1');\n return { migrated: true, bindingsCreated: created };\n}\n\nfunction reconstructModel(\n state: { managedPaths?: string[] },\n profileDefault?: string,\n): ModelSelection {\n // Without exact per-client apply metadata for model, do not substitute\n // the gateway's current default — it may have changed.\n void state;\n void profileDefault;\n return { mode: 'unknown', reason: 'legacy_migration' };\n}\n"],"mappings":";;;;AAWA,IAAM,gBAAgB;AAEtB,eAAsB,wBAAwB,KAG3C;CACD,IAAI,QAAQ,IAAI,IAAI,aAAa,MAAM,KACrC,OAAO;EAAE,UAAU;EAAO,iBAAiB;CAAE;CAI/C,IAAI,IAAI,SAAS,WAAW,CAAC,CAAC,SAAS,GAAG;EACxC,QAAQ,IAAI,IAAI,eAAe,GAAG;EAClC,OAAO;GAAE,UAAU;GAAO,iBAAiB;EAAE;CAC/C;CAGA,MAAM,SAAS,MAAM,IADG,iBAAiB,IAAI,MAAM,IAAI,EAClC,CAAA,CAAY,KAAK;CACtC,IAAI,UAAU;CACd,MAAM,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY;CAE1C,KAAK,MAAM,SAAS,QAAQ;EAE1B,IAAI,MAAM,eAAe,MAAM,SAAS,WAAW;GACjD,MAAM,UAAU,MAAM,IAAI,aAAa,IAAI,MAAM,WAAW;GAC5D,IAAI,CAAC,SACH;GAIF,MAAM,SAAS,WAAW,MAAM,WAAW;GAC3C,MAAM,QAAQ,iBAAiB,OAAO,QAAQ,KAAK,YAAY;GAE/D,MAAM,OAAoB;IACxB,QAAQ,MAAM;IACd;IACA;IACA,iBAAiB;IACjB,eAAe,CAAC;GAClB;GAEA,MAAM,UAAyB;IAC7B,QAAQ,MAAM;IACd;IACA,YAAY;KACV,MAAM;KACN,kBAAkB;KAClB,iBACE,MAAM,SAAS,aAAa,UAAU,MAAM,SAAS,YAAY,YAAY;KAC/E;IACF;IACA,WAAW;IACX,WAAW;GACb;GAGA,IAAI,CAAC,IAAI,SAAS,UAAU,MAAM,QAAQ,GAAG;IAC3C,IAAI,SAAS,UAAU,OAAO;IAC9B;GACF;GACA;EACF;EAGA,IAAI,MAAM,cAAc,MAAM,SAAS,WAAW;GAChD,MAAM,EAAE,UAAU,SAAS,MAAM;GAEjC,IAAI,CAAC,MADiB,IAAI,SAAS,IAAI,UAAU,IAAI,GAEnD;GAGF,MAAM,SAAS,WAAW,UAAU,IAAI;GAMxC,MAAM,OAAoB;IACxB,QAAQ,MAAM;IACd;IACA,OAAA;KAPA,MAAM;KACN,QAAQ;IAMR;IACA,iBAAiB;IACjB,eAAe,CAAC;GAClB;GAEA,IAAI,CAAC,IAAI,SAAS,UAAU,MAAM,QAAQ,GAAG;IAC3C,IAAI,SAAS,UAAU;KACrB,QAAQ,MAAM;KACd;KACA,YAAY;MACV,MAAM;MACN,kBAAkB;MAClB,iBAAiB;MACjB;KACF;KACA,WAAW;KACX,WAAW;IACb,CAAC;IACD;GACF;EACF;CACF;CAGA,QAAQ,IAAI,IAAI,eAAe,GAAG;CAClC,OAAO;EAAE,UAAU;EAAM,iBAAiB;CAAQ;AACpD;AAEA,SAAS,iBACP,OACA,gBACgB;CAKhB,OAAO;EAAE,MAAM;EAAW,QAAQ;CAAmB;AACvD"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { AnyPickDatabase } from './db.js';
|
|
2
|
-
/**
|
|
3
|
-
* One-time import of legacy filesystem layout into SQLite.
|
|
4
|
-
* Safe to call every open: no-ops if already migrated or nothing to import.
|
|
5
|
-
*/
|
|
6
|
-
export declare function migrateFilesystemIfNeeded(db: AnyPickDatabase, root: string): Promise<{
|
|
7
|
-
migrated: boolean;
|
|
8
|
-
accounts: number;
|
|
9
|
-
profiles: number;
|
|
10
|
-
}>;
|
|
11
|
-
//# sourceMappingURL=migrate-fs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-fs.d.ts","sourceRoot":"","sources":["../../src/core/migrate-fs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AA2B5C;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,eAAe,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA8NpE"}
|
package/dist/core/migrate-fs.js
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_PROXY_CONFIG } from "../types/account.js";
|
|
2
|
-
import { listSubdirs, pathExists, readAndDecodeJsonFile, readJsonFile } from "../utils/fs.js";
|
|
3
|
-
import { decoders } from "./codec.js";
|
|
4
|
-
import { accountMetaPath, accountProxyConfigPath, accountSnapshotDir, accountsDir, activePointerPath, clientStatePath, clientsDir, configPath, profileMetaPath, profileSecretsPath, profilesDir } from "./paths.js";
|
|
5
|
-
import { normalizeAccountName } from "../utils/slug.js";
|
|
6
|
-
import { getMeta, setMeta } from "./db.js";
|
|
7
|
-
import { join } from "node:path";
|
|
8
|
-
import { readFile, readdir, stat } from "node:fs/promises";
|
|
9
|
-
//#region src/core/migrate-fs.ts
|
|
10
|
-
/**
|
|
11
|
-
* One-time import of legacy filesystem layout into SQLite.
|
|
12
|
-
* Safe to call every open: no-ops if already migrated or nothing to import.
|
|
13
|
-
*/
|
|
14
|
-
async function migrateFilesystemIfNeeded(db, root) {
|
|
15
|
-
if (getMeta(db, "fs_migrated") === "1") return {
|
|
16
|
-
migrated: false,
|
|
17
|
-
accounts: 0,
|
|
18
|
-
profiles: 0
|
|
19
|
-
};
|
|
20
|
-
const accountCount = db.prepare("SELECT COUNT(*) AS n FROM accounts").get().n;
|
|
21
|
-
const profileCount = db.prepare("SELECT COUNT(*) AS n FROM profiles").get().n;
|
|
22
|
-
if (accountCount > 0 || profileCount > 0) {
|
|
23
|
-
setMeta(db, "fs_migrated", "1");
|
|
24
|
-
return {
|
|
25
|
-
migrated: false,
|
|
26
|
-
accounts: 0,
|
|
27
|
-
profiles: 0
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
const hasProviders = await pathExists(join(root, "providers"));
|
|
31
|
-
const hasProfiles = await pathExists(profilesDir(root));
|
|
32
|
-
const hasConfig = await pathExists(configPath(root));
|
|
33
|
-
const hasClients = await pathExists(clientsDir(root));
|
|
34
|
-
if (!hasProviders && !hasProfiles && !hasConfig && !hasClients) {
|
|
35
|
-
setMeta(db, "fs_migrated", "1");
|
|
36
|
-
return {
|
|
37
|
-
migrated: false,
|
|
38
|
-
accounts: 0,
|
|
39
|
-
profiles: 0
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
let accounts = 0;
|
|
43
|
-
let profiles = 0;
|
|
44
|
-
const tx = db.prepare("BEGIN IMMEDIATE");
|
|
45
|
-
const commit = db.prepare("COMMIT");
|
|
46
|
-
const rollback = db.prepare("ROLLBACK");
|
|
47
|
-
try {
|
|
48
|
-
tx.run();
|
|
49
|
-
if (hasConfig) try {
|
|
50
|
-
const cfg = await readAndDecodeJsonFile(configPath(root), decoders.globalConfig);
|
|
51
|
-
db.prepare(`INSERT INTO config (key, value) VALUES ('global', ?)
|
|
52
|
-
ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(JSON.stringify(cfg));
|
|
53
|
-
} catch {}
|
|
54
|
-
if (hasProviders) {
|
|
55
|
-
const providers = await listSubdirs(join(root, "providers"));
|
|
56
|
-
for (const provider of providers) {
|
|
57
|
-
const activePath = activePointerPath(root, provider);
|
|
58
|
-
if (await pathExists(activePath)) {
|
|
59
|
-
const active = (await readFile(activePath, "utf8")).trim();
|
|
60
|
-
if (active) try {
|
|
61
|
-
db.prepare(`INSERT INTO provider_active (provider, account_name)
|
|
62
|
-
VALUES (?, ?)
|
|
63
|
-
ON CONFLICT(provider) DO UPDATE SET account_name = excluded.account_name`).run(provider, normalizeAccountName(active));
|
|
64
|
-
} catch {}
|
|
65
|
-
}
|
|
66
|
-
const names = await listSubdirs(accountsDir(root, provider));
|
|
67
|
-
for (const name of names) {
|
|
68
|
-
const metaPath = accountMetaPath(root, provider, name);
|
|
69
|
-
if (!await pathExists(metaPath)) continue;
|
|
70
|
-
let rawMeta;
|
|
71
|
-
try {
|
|
72
|
-
rawMeta = await readAndDecodeJsonFile(metaPath, decoders.accountMeta);
|
|
73
|
-
} catch {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
const accountName = normalizeAccountName(name);
|
|
77
|
-
const meta = {
|
|
78
|
-
...rawMeta,
|
|
79
|
-
name: accountName,
|
|
80
|
-
provider,
|
|
81
|
-
createdAt: rawMeta.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
82
|
-
updatedAt: rawMeta.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString()
|
|
83
|
-
};
|
|
84
|
-
let proxy = { ...DEFAULT_PROXY_CONFIG };
|
|
85
|
-
const proxyPath = accountProxyConfigPath(root, provider, name);
|
|
86
|
-
if (await pathExists(proxyPath)) try {
|
|
87
|
-
const rawProxy = await readJsonFile(proxyPath);
|
|
88
|
-
const port = rawProxy.port;
|
|
89
|
-
const host = rawProxy.host;
|
|
90
|
-
proxy = {
|
|
91
|
-
enabled: false,
|
|
92
|
-
...typeof port === "number" && Number.isInteger(port) && port >= 0 && port <= 65535 ? { port } : {},
|
|
93
|
-
...typeof host === "string" && host.length <= 4096 && !/[\p{Cc}\p{Cf}]/u.test(host) ? { host } : {}
|
|
94
|
-
};
|
|
95
|
-
} catch {}
|
|
96
|
-
db.prepare(`INSERT INTO accounts (provider, name, meta_json, proxy_json, created_at, updated_at)
|
|
97
|
-
VALUES (?, ?, ?, ?, ?, ?)
|
|
98
|
-
ON CONFLICT(provider, name) DO UPDATE SET
|
|
99
|
-
meta_json = excluded.meta_json,
|
|
100
|
-
proxy_json = excluded.proxy_json,
|
|
101
|
-
updated_at = excluded.updated_at`).run(provider, accountName, JSON.stringify(meta), JSON.stringify(proxy), meta.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(), meta.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString());
|
|
102
|
-
const snap = accountSnapshotDir(root, provider, name);
|
|
103
|
-
if (await pathExists(snap)) {
|
|
104
|
-
const files = await collectDirFiles(snap);
|
|
105
|
-
db.prepare(`DELETE FROM account_snapshot_files WHERE provider = ? AND account = ?`).run(provider, accountName);
|
|
106
|
-
const ins = db.prepare(`INSERT INTO account_snapshot_files (provider, account, path, content)
|
|
107
|
-
VALUES (?, ?, ?, ?)`);
|
|
108
|
-
for (const [rel, buf] of files) ins.run(provider, accountName, rel, buf);
|
|
109
|
-
}
|
|
110
|
-
accounts++;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (hasProfiles) {
|
|
115
|
-
const names = await listSubdirs(profilesDir(root));
|
|
116
|
-
for (const name of names) {
|
|
117
|
-
const metaPath = profileMetaPath(root, name);
|
|
118
|
-
if (!await pathExists(metaPath)) continue;
|
|
119
|
-
const meta = await readAndDecodeJsonFile(metaPath, decoders.runtimeProfileMeta);
|
|
120
|
-
let secrets = {};
|
|
121
|
-
const secretsPath = profileSecretsPath(root, name);
|
|
122
|
-
if (await pathExists(secretsPath)) try {
|
|
123
|
-
secrets = await readAndDecodeJsonFile(secretsPath, decoders.runtimeProfileSecrets);
|
|
124
|
-
} catch {}
|
|
125
|
-
db.prepare(`INSERT INTO profiles (name, meta_json, secrets_json, created_at, updated_at)
|
|
126
|
-
VALUES (?, ?, ?, ?, ?)
|
|
127
|
-
ON CONFLICT(name) DO UPDATE SET
|
|
128
|
-
meta_json = excluded.meta_json,
|
|
129
|
-
secrets_json = excluded.secrets_json,
|
|
130
|
-
updated_at = excluded.updated_at`).run(name, JSON.stringify(meta), JSON.stringify(secrets), meta.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(), meta.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString());
|
|
131
|
-
profiles++;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if (hasClients) {
|
|
135
|
-
const ids = await listSubdirs(clientsDir(root));
|
|
136
|
-
for (const clientId of ids) {
|
|
137
|
-
const path = clientStatePath(root, clientId);
|
|
138
|
-
if (!await pathExists(path)) continue;
|
|
139
|
-
try {
|
|
140
|
-
const state = await readAndDecodeJsonFile(path, decoders.clientState);
|
|
141
|
-
db.prepare(`INSERT INTO client_state (client_id, state_json)
|
|
142
|
-
VALUES (?, ?)
|
|
143
|
-
ON CONFLICT(client_id) DO UPDATE SET state_json = excluded.state_json`).run(clientId, JSON.stringify(state));
|
|
144
|
-
} catch {}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
setMeta(db, "fs_migrated", "1");
|
|
148
|
-
setMeta(db, "fs_migrated_at", (/* @__PURE__ */ new Date()).toISOString());
|
|
149
|
-
commit.run();
|
|
150
|
-
} catch (err) {
|
|
151
|
-
try {
|
|
152
|
-
rollback.run();
|
|
153
|
-
} catch {}
|
|
154
|
-
throw err;
|
|
155
|
-
}
|
|
156
|
-
return {
|
|
157
|
-
migrated: true,
|
|
158
|
-
accounts,
|
|
159
|
-
profiles
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
async function collectDirFiles(root) {
|
|
163
|
-
const out = [];
|
|
164
|
-
async function walk(dir, prefix) {
|
|
165
|
-
let entries;
|
|
166
|
-
try {
|
|
167
|
-
entries = await readdir(dir, { withFileTypes: true });
|
|
168
|
-
} catch {
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
for (const entry of entries) {
|
|
172
|
-
const full = join(dir, entry.name);
|
|
173
|
-
const rel = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
174
|
-
if (entry.isDirectory()) await walk(full, rel);
|
|
175
|
-
else if (entry.isFile()) out.push([rel.split("\\").join("/"), await readFile(full)]);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
if ((await stat(root).catch(() => null))?.isDirectory()) await walk(root, "");
|
|
179
|
-
return out;
|
|
180
|
-
}
|
|
181
|
-
//#endregion
|
|
182
|
-
export { migrateFilesystemIfNeeded };
|
|
183
|
-
|
|
184
|
-
//# sourceMappingURL=migrate-fs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-fs.js","names":[],"sources":["../../src/core/migrate-fs.ts"],"sourcesContent":["import { readdir, readFile, stat } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport type { AnyPickDatabase } from './db';\nimport { getMeta, setMeta } from './db';\nimport { decoders } from './codec';\nimport {\n accountMetaPath,\n accountProxyConfigPath,\n accountSnapshotDir,\n accountsDir,\n activePointerPath,\n clientStatePath,\n clientsDir,\n configPath,\n profileMetaPath,\n profileSecretsPath,\n profilesDir,\n} from './paths';\nimport { listSubdirs, pathExists, readJsonFile, readAndDecodeJsonFile } from '../utils/fs';\nimport type {\n AccountMeta,\n AccountProxyConfig,\n ClientState,\n RuntimeProfileMeta,\n RuntimeProfileSecrets,\n} from '../types';\nimport { DEFAULT_PROXY_CONFIG } from '../types';\nimport { normalizeAccountName } from '../utils/slug';\n\n/**\n * One-time import of legacy filesystem layout into SQLite.\n * Safe to call every open: no-ops if already migrated or nothing to import.\n */\nexport async function migrateFilesystemIfNeeded(\n db: AnyPickDatabase,\n root: string,\n): Promise<{ migrated: boolean; accounts: number; profiles: number }> {\n if (getMeta(db, 'fs_migrated') === '1') {\n return { migrated: false, accounts: 0, profiles: 0 };\n }\n\n // Already has SQL data → just mark migrated\n const accountCount = (db.prepare('SELECT COUNT(*) AS n FROM accounts').get() as { n: number }).n;\n const profileCount = (db.prepare('SELECT COUNT(*) AS n FROM profiles').get() as { n: number }).n;\n if (accountCount > 0 || profileCount > 0) {\n setMeta(db, 'fs_migrated', '1');\n return { migrated: false, accounts: 0, profiles: 0 };\n }\n\n const hasProviders = await pathExists(join(root, 'providers'));\n const hasProfiles = await pathExists(profilesDir(root));\n const hasConfig = await pathExists(configPath(root));\n const hasClients = await pathExists(clientsDir(root));\n\n if (!hasProviders && !hasProfiles && !hasConfig && !hasClients) {\n setMeta(db, 'fs_migrated', '1');\n return { migrated: false, accounts: 0, profiles: 0 };\n }\n\n let accounts = 0;\n let profiles = 0;\n\n const tx = db.prepare('BEGIN IMMEDIATE');\n const commit = db.prepare('COMMIT');\n const rollback = db.prepare('ROLLBACK');\n\n try {\n tx.run();\n\n // config.json\n if (hasConfig) {\n try {\n const cfg = await readAndDecodeJsonFile(configPath(root), decoders.globalConfig);\n db.prepare(\n `INSERT INTO config (key, value) VALUES ('global', ?)\n ON CONFLICT(key) DO UPDATE SET value = excluded.value`,\n ).run(JSON.stringify(cfg));\n } catch {\n // ignore corrupt config\n }\n }\n\n // accounts\n if (hasProviders) {\n const providers = await listSubdirs(join(root, 'providers'));\n for (const provider of providers) {\n const activePath = activePointerPath(root, provider);\n if (await pathExists(activePath)) {\n const active = (await readFile(activePath, 'utf8')).trim();\n if (active) {\n try {\n db.prepare(\n `INSERT INTO provider_active (provider, account_name)\n VALUES (?, ?)\n ON CONFLICT(provider) DO UPDATE SET account_name = excluded.account_name`,\n ).run(provider, normalizeAccountName(active));\n } catch {\n // Ignore malformed legacy active pointers.\n }\n }\n }\n\n const names = await listSubdirs(accountsDir(root, provider));\n for (const name of names) {\n const metaPath = accountMetaPath(root, provider, name);\n if (!(await pathExists(metaPath))) {\n continue;\n }\n let rawMeta: AccountMeta;\n try {\n rawMeta = await readAndDecodeJsonFile(metaPath, decoders.accountMeta);\n } catch {\n continue;\n }\n const accountName = normalizeAccountName(name);\n // Directory/provider identity is canonical; never trust the legacy\n // metadata to choose a different account path or provider.\n const meta: AccountMeta = {\n ...rawMeta,\n name: accountName,\n provider,\n createdAt: rawMeta.createdAt ?? new Date().toISOString(),\n updatedAt: rawMeta.updatedAt ?? new Date().toISOString(),\n };\n let proxy: AccountProxyConfig = { ...DEFAULT_PROXY_CONFIG };\n const proxyPath = accountProxyConfigPath(root, provider, name);\n if (await pathExists(proxyPath)) {\n try {\n const rawProxy = await readJsonFile<Partial<AccountProxyConfig>>(proxyPath);\n // Legacy files can include old provider-specific `options`\n // (upstreams, auth paths). They are configuration, not portable\n // account state: import only a benign local port/host and require\n // an explicit enable after migration.\n const port = rawProxy.port;\n const host = rawProxy.host;\n proxy = {\n enabled: false,\n ...(typeof port === 'number' && Number.isInteger(port) && port >= 0 && port <= 65535\n ? { port }\n : {}),\n ...(typeof host === 'string' && host.length <= 4096 && !/[\\p{Cc}\\p{Cf}]/u.test(host)\n ? { host }\n : {}),\n };\n } catch {\n // keep default\n }\n }\n\n db.prepare(\n `INSERT INTO accounts (provider, name, meta_json, proxy_json, created_at, updated_at)\n VALUES (?, ?, ?, ?, ?, ?)\n ON CONFLICT(provider, name) DO UPDATE SET\n meta_json = excluded.meta_json,\n proxy_json = excluded.proxy_json,\n updated_at = excluded.updated_at`,\n ).run(\n provider,\n accountName,\n JSON.stringify(meta),\n JSON.stringify(proxy),\n meta.createdAt ?? new Date().toISOString(),\n meta.updatedAt ?? new Date().toISOString(),\n );\n\n const snap = accountSnapshotDir(root, provider, name);\n if (await pathExists(snap)) {\n const files = await collectDirFiles(snap);\n const del = db.prepare(\n `DELETE FROM account_snapshot_files WHERE provider = ? AND account = ?`,\n );\n del.run(provider, accountName);\n const ins = db.prepare(\n `INSERT INTO account_snapshot_files (provider, account, path, content)\n VALUES (?, ?, ?, ?)`,\n );\n for (const [rel, buf] of files) {\n ins.run(provider, accountName, rel, buf);\n }\n }\n accounts++;\n }\n }\n }\n\n // profiles\n if (hasProfiles) {\n const names = await listSubdirs(profilesDir(root));\n for (const name of names) {\n const metaPath = profileMetaPath(root, name);\n if (!(await pathExists(metaPath))) {\n continue;\n }\n const meta = (await readAndDecodeJsonFile(\n metaPath,\n decoders.runtimeProfileMeta,\n )) as RuntimeProfileMeta;\n let secrets: RuntimeProfileSecrets = {};\n const secretsPath = profileSecretsPath(root, name);\n if (await pathExists(secretsPath)) {\n try {\n secrets = await readAndDecodeJsonFile(secretsPath, decoders.runtimeProfileSecrets);\n } catch {\n // ignore\n }\n }\n db.prepare(\n `INSERT INTO profiles (name, meta_json, secrets_json, created_at, updated_at)\n VALUES (?, ?, ?, ?, ?)\n ON CONFLICT(name) DO UPDATE SET\n meta_json = excluded.meta_json,\n secrets_json = excluded.secrets_json,\n updated_at = excluded.updated_at`,\n ).run(\n name,\n JSON.stringify(meta),\n JSON.stringify(secrets),\n meta.createdAt ?? new Date().toISOString(),\n meta.updatedAt ?? new Date().toISOString(),\n );\n profiles++;\n }\n }\n\n // client state\n if (hasClients) {\n const ids = await listSubdirs(clientsDir(root));\n for (const clientId of ids) {\n const path = clientStatePath(root, clientId);\n if (!(await pathExists(path))) {\n continue;\n }\n try {\n const state = (await readAndDecodeJsonFile(path, decoders.clientState)) as ClientState;\n db.prepare(\n `INSERT INTO client_state (client_id, state_json)\n VALUES (?, ?)\n ON CONFLICT(client_id) DO UPDATE SET state_json = excluded.state_json`,\n ).run(clientId, JSON.stringify(state));\n } catch {\n // ignore\n }\n }\n }\n\n setMeta(db, 'fs_migrated', '1');\n setMeta(db, 'fs_migrated_at', new Date().toISOString());\n commit.run();\n } catch (err) {\n try {\n rollback.run();\n } catch {\n // ignore\n }\n throw err;\n }\n\n return { migrated: true, accounts, profiles };\n}\n\nasync function collectDirFiles(root: string): Promise<Array<[string, Buffer]>> {\n const out: Array<[string, Buffer]> = [];\n async function walk(dir: string, prefix: string): Promise<void> {\n let entries;\n try {\n entries = await readdir(dir, { withFileTypes: true });\n } catch {\n return;\n }\n for (const entry of entries) {\n const full = join(dir, entry.name);\n const rel = prefix ? `${prefix}/${entry.name}` : entry.name;\n if (entry.isDirectory()) {\n await walk(full, rel);\n } else if (entry.isFile()) {\n out.push([rel.split('\\\\').join('/'), await readFile(full)]);\n }\n }\n }\n const st = await stat(root).catch(() => null);\n if (st?.isDirectory()) {\n await walk(root, '');\n }\n return out;\n}\n"],"mappings":";;;;;;;;;;;;;AAiCA,eAAsB,0BACpB,IACA,MACoE;CACpE,IAAI,QAAQ,IAAI,aAAa,MAAM,KACjC,OAAO;EAAE,UAAU;EAAO,UAAU;EAAG,UAAU;CAAE;CAIrD,MAAM,eAAgB,GAAG,QAAQ,oCAAoC,CAAC,CAAC,IAAI,CAAC,CAAmB;CAC/F,MAAM,eAAgB,GAAG,QAAQ,oCAAoC,CAAC,CAAC,IAAI,CAAC,CAAmB;CAC/F,IAAI,eAAe,KAAK,eAAe,GAAG;EACxC,QAAQ,IAAI,eAAe,GAAG;EAC9B,OAAO;GAAE,UAAU;GAAO,UAAU;GAAG,UAAU;EAAE;CACrD;CAEA,MAAM,eAAe,MAAM,WAAW,KAAK,MAAM,WAAW,CAAC;CAC7D,MAAM,cAAc,MAAM,WAAW,YAAY,IAAI,CAAC;CACtD,MAAM,YAAY,MAAM,WAAW,WAAW,IAAI,CAAC;CACnD,MAAM,aAAa,MAAM,WAAW,WAAW,IAAI,CAAC;CAEpD,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY;EAC9D,QAAQ,IAAI,eAAe,GAAG;EAC9B,OAAO;GAAE,UAAU;GAAO,UAAU;GAAG,UAAU;EAAE;CACrD;CAEA,IAAI,WAAW;CACf,IAAI,WAAW;CAEf,MAAM,KAAK,GAAG,QAAQ,iBAAiB;CACvC,MAAM,SAAS,GAAG,QAAQ,QAAQ;CAClC,MAAM,WAAW,GAAG,QAAQ,UAAU;CAEtC,IAAI;EACF,GAAG,IAAI;EAGP,IAAI,WACF,IAAI;GACF,MAAM,MAAM,MAAM,sBAAsB,WAAW,IAAI,GAAG,SAAS,YAAY;GAC/E,GAAG,QACD;iEAEF,CAAC,CAAC,IAAI,KAAK,UAAU,GAAG,CAAC;EAC3B,QAAQ,CAER;EAIF,IAAI,cAAc;GAChB,MAAM,YAAY,MAAM,YAAY,KAAK,MAAM,WAAW,CAAC;GAC3D,KAAK,MAAM,YAAY,WAAW;IAChC,MAAM,aAAa,kBAAkB,MAAM,QAAQ;IACnD,IAAI,MAAM,WAAW,UAAU,GAAG;KAChC,MAAM,UAAU,MAAM,SAAS,YAAY,MAAM,EAAA,CAAG,KAAK;KACzD,IAAI,QACF,IAAI;MACF,GAAG,QACD;;0FAGF,CAAC,CAAC,IAAI,UAAU,qBAAqB,MAAM,CAAC;KAC9C,QAAQ,CAER;IAEJ;IAEA,MAAM,QAAQ,MAAM,YAAY,YAAY,MAAM,QAAQ,CAAC;IAC3D,KAAK,MAAM,QAAQ,OAAO;KACxB,MAAM,WAAW,gBAAgB,MAAM,UAAU,IAAI;KACrD,IAAI,CAAE,MAAM,WAAW,QAAQ,GAC7B;KAEF,IAAI;KACJ,IAAI;MACF,UAAU,MAAM,sBAAsB,UAAU,SAAS,WAAW;KACtE,QAAQ;MACN;KACF;KACA,MAAM,cAAc,qBAAqB,IAAI;KAG7C,MAAM,OAAoB;MACxB,GAAG;MACH,MAAM;MACN;MACA,WAAW,QAAQ,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY;MACvD,WAAW,QAAQ,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY;KACzD;KACA,IAAI,QAA4B,EAAE,GAAG,qBAAqB;KAC1D,MAAM,YAAY,uBAAuB,MAAM,UAAU,IAAI;KAC7D,IAAI,MAAM,WAAW,SAAS,GAC5B,IAAI;MACF,MAAM,WAAW,MAAM,aAA0C,SAAS;MAK1E,MAAM,OAAO,SAAS;MACtB,MAAM,OAAO,SAAS;MACtB,QAAQ;OACN,SAAS;OACT,GAAI,OAAO,SAAS,YAAY,OAAO,UAAU,IAAI,KAAK,QAAQ,KAAK,QAAQ,QAC3E,EAAE,KAAK,IACP,CAAC;OACL,GAAI,OAAO,SAAS,YAAY,KAAK,UAAU,QAAQ,CAAC,kBAAkB,KAAK,IAAI,IAC/E,EAAE,KAAK,IACP,CAAC;MACP;KACF,QAAQ,CAER;KAGF,GAAG,QACD;;;;;gDAMF,CAAC,CAAC,IACA,UACA,aACA,KAAK,UAAU,IAAI,GACnB,KAAK,UAAU,KAAK,GACpB,KAAK,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY,GACzC,KAAK,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY,CAC3C;KAEA,MAAM,OAAO,mBAAmB,MAAM,UAAU,IAAI;KACpD,IAAI,MAAM,WAAW,IAAI,GAAG;MAC1B,MAAM,QAAQ,MAAM,gBAAgB,IAAI;MAIxC,GAHe,QACb,uEAEF,CAAA,CAAI,IAAI,UAAU,WAAW;MAC7B,MAAM,MAAM,GAAG,QACb;mCAEF;MACA,KAAK,MAAM,CAAC,KAAK,QAAQ,OACvB,IAAI,IAAI,UAAU,aAAa,KAAK,GAAG;KAE3C;KACA;IACF;GACF;EACF;EAGA,IAAI,aAAa;GACf,MAAM,QAAQ,MAAM,YAAY,YAAY,IAAI,CAAC;GACjD,KAAK,MAAM,QAAQ,OAAO;IACxB,MAAM,WAAW,gBAAgB,MAAM,IAAI;IAC3C,IAAI,CAAE,MAAM,WAAW,QAAQ,GAC7B;IAEF,MAAM,OAAQ,MAAM,sBAClB,UACA,SAAS,kBACX;IACA,IAAI,UAAiC,CAAC;IACtC,MAAM,cAAc,mBAAmB,MAAM,IAAI;IACjD,IAAI,MAAM,WAAW,WAAW,GAC9B,IAAI;KACF,UAAU,MAAM,sBAAsB,aAAa,SAAS,qBAAqB;IACnF,QAAQ,CAER;IAEF,GAAG,QACD;;;;;8CAMF,CAAC,CAAC,IACA,MACA,KAAK,UAAU,IAAI,GACnB,KAAK,UAAU,OAAO,GACtB,KAAK,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY,GACzC,KAAK,8BAAa,IAAI,KAAK,EAAA,CAAE,YAAY,CAC3C;IACA;GACF;EACF;EAGA,IAAI,YAAY;GACd,MAAM,MAAM,MAAM,YAAY,WAAW,IAAI,CAAC;GAC9C,KAAK,MAAM,YAAY,KAAK;IAC1B,MAAM,OAAO,gBAAgB,MAAM,QAAQ;IAC3C,IAAI,CAAE,MAAM,WAAW,IAAI,GACzB;IAEF,IAAI;KACF,MAAM,QAAS,MAAM,sBAAsB,MAAM,SAAS,WAAW;KACrE,GAAG,QACD;;mFAGF,CAAC,CAAC,IAAI,UAAU,KAAK,UAAU,KAAK,CAAC;IACvC,QAAQ,CAER;GACF;EACF;EAEA,QAAQ,IAAI,eAAe,GAAG;EAC9B,QAAQ,IAAI,mCAAkB,IAAI,KAAK,EAAA,CAAE,YAAY,CAAC;EACtD,OAAO,IAAI;CACb,SAAS,KAAK;EACZ,IAAI;GACF,SAAS,IAAI;EACf,QAAQ,CAER;EACA,MAAM;CACR;CAEA,OAAO;EAAE,UAAU;EAAM;EAAU;CAAS;AAC9C;AAEA,eAAe,gBAAgB,MAAgD;CAC7E,MAAM,MAA+B,CAAC;CACtC,eAAe,KAAK,KAAa,QAA+B;EAC9D,IAAI;EACJ,IAAI;GACF,UAAU,MAAM,QAAQ,KAAK,EAAE,eAAe,KAAK,CAAC;EACtD,QAAQ;GACN;EACF;EACA,KAAK,MAAM,SAAS,SAAS;GAC3B,MAAM,OAAO,KAAK,KAAK,MAAM,IAAI;GACjC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,SAAS,MAAM;GACvD,IAAI,MAAM,YAAY,GACpB,MAAM,KAAK,MAAM,GAAG;QACf,IAAI,MAAM,OAAO,GACtB,IAAI,KAAK,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,GAAG,MAAM,SAAS,IAAI,CAAC,CAAC;EAE9D;CACF;CAEA,KAAI,MADa,KAAK,IAAI,CAAC,CAAC,YAAY,IAAI,EAAA,EACpC,YAAY,GAClB,MAAM,KAAK,MAAM,EAAE;CAErB,OAAO;AACT"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cached vendor model lists.
|
|
3
|
-
*
|
|
4
|
-
* Advisory data only: a miss costs one HTTP request, never correctness, so a
|
|
5
|
-
* corrupt or absent row is read as "no cache" rather than raised. The store owns
|
|
6
|
-
* its SQL and takes no locks — the service above it does that (ADR 0009).
|
|
7
|
-
*
|
|
8
|
-
* Keyed by provider *and* endpoint because the same provider id can point at
|
|
9
|
-
* different hosts (a `custom` gateway, a self-hosted LiteLLM), and those serve
|
|
10
|
-
* different model lists.
|
|
11
|
-
*/
|
|
12
|
-
import type { AnyPickDatabase } from './db.js';
|
|
13
|
-
export interface CachedModelList {
|
|
14
|
-
provider: string;
|
|
15
|
-
endpoint: string;
|
|
16
|
-
models: string[];
|
|
17
|
-
fetchedAt: string;
|
|
18
|
-
}
|
|
19
|
-
export declare class ModelCacheStore {
|
|
20
|
-
readonly root: string;
|
|
21
|
-
readonly db: AnyPickDatabase;
|
|
22
|
-
constructor(root: string, db: AnyPickDatabase);
|
|
23
|
-
get(provider: string, endpoint: string): Promise<CachedModelList | null>;
|
|
24
|
-
write(entry: CachedModelList): Promise<void>;
|
|
25
|
-
clear(provider?: string): Promise<void>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=model-cache-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-cache-store.d.ts","sourceRoot":"","sources":["../../src/core/model-cache-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAe;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAE7B,YAAY,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAG5C;IAEK,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAe7E;IAEK,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjD;IAEK,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5C;CACF"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { getAnyPickRoot } from "./paths.js";
|
|
2
|
-
//#region src/core/model-cache-store.ts
|
|
3
|
-
var ModelCacheStore = class {
|
|
4
|
-
root;
|
|
5
|
-
db;
|
|
6
|
-
constructor(root, db) {
|
|
7
|
-
this.root = getAnyPickRoot(root);
|
|
8
|
-
this.db = db;
|
|
9
|
-
}
|
|
10
|
-
async get(provider, endpoint) {
|
|
11
|
-
const row = this.db.prepare(`SELECT models_json, fetched_at FROM model_catalog_cache
|
|
12
|
-
WHERE provider = ? AND endpoint = ?`).get(provider, endpoint);
|
|
13
|
-
if (!row) return null;
|
|
14
|
-
const models = parseModelsJson(row.models_json);
|
|
15
|
-
if (!models) return null;
|
|
16
|
-
return {
|
|
17
|
-
provider,
|
|
18
|
-
endpoint,
|
|
19
|
-
models,
|
|
20
|
-
fetchedAt: row.fetched_at
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
async write(entry) {
|
|
24
|
-
this.db.prepare(`INSERT INTO model_catalog_cache (provider, endpoint, models_json, fetched_at)
|
|
25
|
-
VALUES (?, ?, ?, ?)
|
|
26
|
-
ON CONFLICT(provider, endpoint) DO UPDATE SET
|
|
27
|
-
models_json = excluded.models_json,
|
|
28
|
-
fetched_at = excluded.fetched_at`).run(entry.provider, entry.endpoint, JSON.stringify(entry.models), entry.fetchedAt);
|
|
29
|
-
}
|
|
30
|
-
async clear(provider) {
|
|
31
|
-
if (provider) {
|
|
32
|
-
this.db.prepare(`DELETE FROM model_catalog_cache WHERE provider = ?`).run(provider);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
this.db.prepare(`DELETE FROM model_catalog_cache`).run();
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
function parseModelsJson(raw) {
|
|
39
|
-
try {
|
|
40
|
-
const parsed = JSON.parse(raw);
|
|
41
|
-
if (!Array.isArray(parsed)) return null;
|
|
42
|
-
return parsed.filter((v) => typeof v === "string" && v.length > 0);
|
|
43
|
-
} catch {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//#endregion
|
|
48
|
-
export { ModelCacheStore };
|
|
49
|
-
|
|
50
|
-
//# sourceMappingURL=model-cache-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-cache-store.js","names":[],"sources":["../../src/core/model-cache-store.ts"],"sourcesContent":["/**\n * Cached vendor model lists.\n *\n * Advisory data only: a miss costs one HTTP request, never correctness, so a\n * corrupt or absent row is read as \"no cache\" rather than raised. The store owns\n * its SQL and takes no locks — the service above it does that (ADR 0009).\n *\n * Keyed by provider *and* endpoint because the same provider id can point at\n * different hosts (a `custom` gateway, a self-hosted LiteLLM), and those serve\n * different model lists.\n */\n\nimport type { AnyPickDatabase } from './db';\nimport { getAnyPickRoot } from './paths';\n\nexport interface CachedModelList {\n provider: string;\n endpoint: string;\n models: string[];\n fetchedAt: string;\n}\n\nexport class ModelCacheStore {\n readonly root: string;\n readonly db: AnyPickDatabase;\n\n constructor(root: string, db: AnyPickDatabase) {\n this.root = getAnyPickRoot(root);\n this.db = db;\n }\n\n async get(provider: string, endpoint: string): Promise<CachedModelList | null> {\n const row = this.db\n .prepare(\n `SELECT models_json, fetched_at FROM model_catalog_cache\n WHERE provider = ? AND endpoint = ?`,\n )\n .get(provider, endpoint) as { models_json: string; fetched_at: string } | undefined;\n if (!row) {\n return null;\n }\n const models = parseModelsJson(row.models_json);\n if (!models) {\n return null;\n }\n return { provider, endpoint, models, fetchedAt: row.fetched_at };\n }\n\n async write(entry: CachedModelList): Promise<void> {\n this.db\n .prepare(\n `INSERT INTO model_catalog_cache (provider, endpoint, models_json, fetched_at)\n VALUES (?, ?, ?, ?)\n ON CONFLICT(provider, endpoint) DO UPDATE SET\n models_json = excluded.models_json,\n fetched_at = excluded.fetched_at`,\n )\n .run(entry.provider, entry.endpoint, JSON.stringify(entry.models), entry.fetchedAt);\n }\n\n async clear(provider?: string): Promise<void> {\n if (provider) {\n this.db.prepare(`DELETE FROM model_catalog_cache WHERE provider = ?`).run(provider);\n return;\n }\n this.db.prepare(`DELETE FROM model_catalog_cache`).run();\n }\n}\n\nfunction parseModelsJson(raw: string): string[] | null {\n try {\n const parsed = JSON.parse(raw) as unknown;\n if (!Array.isArray(parsed)) {\n return null;\n }\n return parsed.filter((v): v is string => typeof v === 'string' && v.length > 0);\n } catch {\n return null;\n }\n}\n"],"mappings":";;AAsBA,IAAa,kBAAb,MAA6B;CAC3B;CACA;CAEA,YAAY,MAAc,IAAqB;EAC7C,KAAK,OAAO,eAAe,IAAI;EAC/B,KAAK,KAAK;CACZ;CAEA,MAAM,IAAI,UAAkB,UAAmD;EAC7E,MAAM,MAAM,KAAK,GACd,QACC;6CAEF,CAAC,CACA,IAAI,UAAU,QAAQ;EACzB,IAAI,CAAC,KACH,OAAO;EAET,MAAM,SAAS,gBAAgB,IAAI,WAAW;EAC9C,IAAI,CAAC,QACH,OAAO;EAET,OAAO;GAAE;GAAU;GAAU;GAAQ,WAAW,IAAI;EAAW;CACjE;CAEA,MAAM,MAAM,OAAuC;EACjD,KAAK,GACF,QACC;;;;4CAKF,CAAC,CACA,IAAI,MAAM,UAAU,MAAM,UAAU,KAAK,UAAU,MAAM,MAAM,GAAG,MAAM,SAAS;CACtF;CAEA,MAAM,MAAM,UAAkC;EAC5C,IAAI,UAAU;GACZ,KAAK,GAAG,QAAQ,oDAAoD,CAAC,CAAC,IAAI,QAAQ;GAClF;EACF;EACA,KAAK,GAAG,QAAQ,iCAAiC,CAAC,CAAC,IAAI;CACzD;AACF;AAEA,SAAS,gBAAgB,KAA8B;CACrD,IAAI;EACF,MAAM,SAAS,KAAK,MAAM,GAAG;EAC7B,IAAI,CAAC,MAAM,QAAQ,MAAM,GACvB,OAAO;EAET,OAAO,OAAO,QAAQ,MAAmB,OAAO,MAAM,YAAY,EAAE,SAAS,CAAC;CAChF,QAAQ;EACN,OAAO;CACT;AACF"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Live model discovery with a cached fallback chain.
|
|
3
|
-
*
|
|
4
|
-
* The static catalog in `src/catalog/providers.ts` goes stale the moment a
|
|
5
|
-
* vendor ships a model, and a user should not need a AnyPick release to select
|
|
6
|
-
* one. So the answer is resolved in order:
|
|
7
|
-
*
|
|
8
|
-
* 1. a cache row younger than `TTL_MS`,
|
|
9
|
-
* 2. a live `fetchLiveModels()` on the provider,
|
|
10
|
-
* 3. a stale cache row, if the fetch failed,
|
|
11
|
-
* 4. the provider's static catalog — always non-empty for known vendors.
|
|
12
|
-
*
|
|
13
|
-
* Nothing here can fail a caller: a model list is advisory, and a screen that
|
|
14
|
-
* cannot render because a vendor is down would be worse than an outdated list.
|
|
15
|
-
* `refresh` is therefore the only way to force step 2.
|
|
16
|
-
*
|
|
17
|
-
* Egress is allowlisted per call (ADR 0006 keeps proxy traffic on loopback; this
|
|
18
|
-
* is the opposite direction — outbound, with the user's key attached). The
|
|
19
|
-
* allowlist is the vendor origins AnyPick ships plus the origin already stored
|
|
20
|
-
* in the user's own profile, so a rewritten endpoint cannot quietly receive a
|
|
21
|
-
* credential that was issued for somewhere else.
|
|
22
|
-
*/
|
|
23
|
-
import type { ModelDiscoveryContext, ModelPolicy } from '../types.js';
|
|
24
|
-
import type { ModelCacheStore } from './model-cache-store.js';
|
|
25
|
-
/** How long a fetched list is trusted without asking the vendor again. */
|
|
26
|
-
export declare const MODEL_CACHE_TTL_MS: number;
|
|
27
|
-
export type ModelListSource = 'live' | 'cache' | 'stale' | 'catalog';
|
|
28
|
-
export interface ModelListResult {
|
|
29
|
-
models: string[];
|
|
30
|
-
source: ModelListSource;
|
|
31
|
-
/** When the list was fetched, for `cache` and `stale`. */
|
|
32
|
-
fetchedAt?: string;
|
|
33
|
-
/** Why a live fetch did not happen or did not succeed. */
|
|
34
|
-
note?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface ModelDiscoveryRequest {
|
|
37
|
-
/** Catalog or account provider id. */
|
|
38
|
-
providerId: string;
|
|
39
|
-
/** Endpoint to query. Falls back to the provider's own default. */
|
|
40
|
-
endpoint?: string;
|
|
41
|
-
apiKey?: string;
|
|
42
|
-
/** Ignore a fresh cache row and ask the vendor. */
|
|
43
|
-
refresh?: boolean;
|
|
44
|
-
}
|
|
45
|
-
export interface ModelDiscoveryDeps {
|
|
46
|
-
root: string;
|
|
47
|
-
cache: ModelCacheStore;
|
|
48
|
-
policyFor: (providerId: string) => ModelPolicy | undefined;
|
|
49
|
-
/** Overridden in tests; defaults to an allowlisted direct transport. */
|
|
50
|
-
fetchImpl?: (origin: string) => ModelDiscoveryContext['fetch'];
|
|
51
|
-
now?: () => number;
|
|
52
|
-
}
|
|
53
|
-
export declare class ModelDiscoveryService {
|
|
54
|
-
private readonly deps;
|
|
55
|
-
constructor(deps: ModelDiscoveryDeps);
|
|
56
|
-
/**
|
|
57
|
-
* Best available model list for a provider/endpoint pair.
|
|
58
|
-
*
|
|
59
|
-
* Never throws for a network or vendor error — inspect `source` to see which
|
|
60
|
-
* step answered.
|
|
61
|
-
*/
|
|
62
|
-
list(req: ModelDiscoveryRequest): Promise<ModelListResult>;
|
|
63
|
-
/** Drop cached lists so the next `list` asks the vendor. */
|
|
64
|
-
clearCache(providerId?: string): Promise<void>;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=model-discovery.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model-discovery.d.ts","sourceRoot":"","sources":["../../src/core/model-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAIjD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,eAAe,CAAC;IACxB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC3D,wEAAwE;IACxE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/D,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,kBAAkB,EAAI;IAEzD;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CA4C/D;IAED,4DAA4D;IACtD,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnD;CACF"}
|