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,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Strict upstreams (xAI cli-chat-proxy, …) validate tool JSON Schemas where
|
|
3
|
-
* `required` must be an **array of strings** — including when there are no
|
|
4
|
-
* required properties.
|
|
5
|
-
*
|
|
6
|
-
* Claude Code (and some serializers) either:
|
|
7
|
-
* - omit `required`, or
|
|
8
|
-
* - emit `"required": null`
|
|
9
|
-
*
|
|
10
|
-
* Anthropic accepts both. xAI's meta-schema treats a missing `required` as
|
|
11
|
-
* null and returns:
|
|
12
|
-
* standard_violation /required: null is not of type "array"
|
|
13
|
-
*
|
|
14
|
-
* Fix: every object-shaped schema used as a tool parameter must carry
|
|
15
|
-
* `required: string[]` (possibly empty). Dropping the key is not enough.
|
|
16
|
-
*/
|
|
17
|
-
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
18
|
-
/**
|
|
19
|
-
* Walk any JSON value and only fix keys named `required`:
|
|
20
|
-
* - null / non-array → `[]`
|
|
21
|
-
* - array → string-only entries (may be empty)
|
|
22
|
-
*
|
|
23
|
-
* Does not strip unrelated nulls (e.g. stop_sequence: null).
|
|
24
|
-
*/
|
|
25
|
-
export declare function deepSanitizeRequiredFields(value: unknown): {
|
|
26
|
-
value: unknown;
|
|
27
|
-
changed: boolean;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Make a tool-parameter JSON Schema acceptable to strict validators.
|
|
31
|
-
* Always materializes `required` as a string array on object schemas.
|
|
32
|
-
*/
|
|
33
|
-
export declare function sanitizeJsonSchema(schema: unknown): Record<string, unknown>;
|
|
34
|
-
/** Anthropic Messages tools: rewrite each `input_schema`. */
|
|
35
|
-
export declare function sanitizeAnthropicToolSchemas<T extends {
|
|
36
|
-
input_schema?: Record<string, unknown> | null;
|
|
37
|
-
}>(tools: readonly T[]): T[];
|
|
38
|
-
/**
|
|
39
|
-
* OpenAI chat tools (`function.parameters`) and Responses tools (`parameters`
|
|
40
|
-
* on the tool object itself).
|
|
41
|
-
*/
|
|
42
|
-
export declare function sanitizeOpenAIToolSchemas(tools: readonly unknown[]): unknown[];
|
|
43
|
-
/**
|
|
44
|
-
* Best-effort rewrite of a parsed inference body:
|
|
45
|
-
* 1. deep-fix every `required` key (null → [])
|
|
46
|
-
* 2. full schema sanitize on known tool parameter shapes (always emit required)
|
|
47
|
-
*/
|
|
48
|
-
export declare function sanitizeInferenceToolSchemas(path: string, body: Record<string, unknown>): {
|
|
49
|
-
body: Record<string, unknown>;
|
|
50
|
-
changed: boolean;
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=json-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../src/providers/protocol/json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AASD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG;IAC1D,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CA2BA;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuF3E;AAED,6DAA6D;AAC7D,wBAAgB,4BAA4B,CAC1C,CAAC,SAAS;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,EAC3D,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAK1B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,CA8B9E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAuCrD"}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
//#region src/providers/protocol/json-schema.ts
|
|
2
|
-
/**
|
|
3
|
-
* Strict upstreams (xAI cli-chat-proxy, …) validate tool JSON Schemas where
|
|
4
|
-
* `required` must be an **array of strings** — including when there are no
|
|
5
|
-
* required properties.
|
|
6
|
-
*
|
|
7
|
-
* Claude Code (and some serializers) either:
|
|
8
|
-
* - omit `required`, or
|
|
9
|
-
* - emit `"required": null`
|
|
10
|
-
*
|
|
11
|
-
* Anthropic accepts both. xAI's meta-schema treats a missing `required` as
|
|
12
|
-
* null and returns:
|
|
13
|
-
* standard_violation /required: null is not of type "array"
|
|
14
|
-
*
|
|
15
|
-
* Fix: every object-shaped schema used as a tool parameter must carry
|
|
16
|
-
* `required: string[]` (possibly empty). Dropping the key is not enough.
|
|
17
|
-
*/
|
|
18
|
-
function isRecord(value) {
|
|
19
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
20
|
-
}
|
|
21
|
-
function asRequiredArray(value) {
|
|
22
|
-
if (!Array.isArray(value)) return [];
|
|
23
|
-
return value.filter((entry) => typeof entry === "string");
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Walk any JSON value and only fix keys named `required`:
|
|
27
|
-
* - null / non-array → `[]`
|
|
28
|
-
* - array → string-only entries (may be empty)
|
|
29
|
-
*
|
|
30
|
-
* Does not strip unrelated nulls (e.g. stop_sequence: null).
|
|
31
|
-
*/
|
|
32
|
-
function deepSanitizeRequiredFields(value) {
|
|
33
|
-
let changed = false;
|
|
34
|
-
const walk = (node) => {
|
|
35
|
-
if (Array.isArray(node)) return node.map(walk);
|
|
36
|
-
if (!isRecord(node)) return node;
|
|
37
|
-
const out = {};
|
|
38
|
-
for (const [key, entry] of Object.entries(node)) {
|
|
39
|
-
if (key === "required") {
|
|
40
|
-
const names = asRequiredArray(entry);
|
|
41
|
-
if (!Array.isArray(entry) || names.length !== entry.length) changed = true;
|
|
42
|
-
out.required = names;
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
out[key] = walk(entry);
|
|
46
|
-
}
|
|
47
|
-
return out;
|
|
48
|
-
};
|
|
49
|
-
return {
|
|
50
|
-
value: walk(value),
|
|
51
|
-
changed
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Make a tool-parameter JSON Schema acceptable to strict validators.
|
|
56
|
-
* Always materializes `required` as a string array on object schemas.
|
|
57
|
-
*/
|
|
58
|
-
function sanitizeJsonSchema(schema) {
|
|
59
|
-
if (!isRecord(schema)) return {
|
|
60
|
-
type: "object",
|
|
61
|
-
properties: {},
|
|
62
|
-
required: []
|
|
63
|
-
};
|
|
64
|
-
const out = {};
|
|
65
|
-
for (const [key, value] of Object.entries(schema)) {
|
|
66
|
-
if (value === null || value === void 0) continue;
|
|
67
|
-
if (key === "required") continue;
|
|
68
|
-
if (key === "enum") {
|
|
69
|
-
if (Array.isArray(value)) out.enum = value;
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (key === "properties" && isRecord(value)) {
|
|
73
|
-
const properties = {};
|
|
74
|
-
for (const [name, prop] of Object.entries(value)) properties[name] = sanitizeJsonSchema(prop);
|
|
75
|
-
out.properties = properties;
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
if (key === "items") {
|
|
79
|
-
out.items = Array.isArray(value) ? value.map((item) => sanitizeJsonSchema(item)) : sanitizeJsonSchema(value);
|
|
80
|
-
continue;
|
|
81
|
-
}
|
|
82
|
-
if ((key === "anyOf" || key === "oneOf" || key === "allOf") && Array.isArray(value)) {
|
|
83
|
-
out[key] = value.map((branch) => sanitizeJsonSchema(branch));
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
if ((key === "$defs" || key === "definitions") && isRecord(value)) {
|
|
87
|
-
const defs = {};
|
|
88
|
-
for (const [name, def] of Object.entries(value)) defs[name] = sanitizeJsonSchema(def);
|
|
89
|
-
out[key] = defs;
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
if (key === "additionalProperties" || key === "propertyNames" || key === "not") {
|
|
93
|
-
if (typeof value === "boolean") out[key] = value;
|
|
94
|
-
else out[key] = sanitizeJsonSchema(value);
|
|
95
|
-
continue;
|
|
96
|
-
}
|
|
97
|
-
if (key === "patternProperties" && isRecord(value)) {
|
|
98
|
-
const patterns = {};
|
|
99
|
-
for (const [pattern, prop] of Object.entries(value)) patterns[pattern] = sanitizeJsonSchema(prop);
|
|
100
|
-
out.patternProperties = patterns;
|
|
101
|
-
continue;
|
|
102
|
-
}
|
|
103
|
-
out[key] = value;
|
|
104
|
-
}
|
|
105
|
-
const type = out.type;
|
|
106
|
-
if (type === "object" || Array.isArray(type) && type.includes("object") || type === void 0 && (isRecord(out.properties) || "additionalProperties" in out)) out.required = asRequiredArray(schema.required);
|
|
107
|
-
return out;
|
|
108
|
-
}
|
|
109
|
-
/** Anthropic Messages tools: rewrite each `input_schema`. */
|
|
110
|
-
function sanitizeAnthropicToolSchemas(tools) {
|
|
111
|
-
return tools.map((tool) => ({
|
|
112
|
-
...tool,
|
|
113
|
-
input_schema: sanitizeJsonSchema(tool.input_schema ?? {
|
|
114
|
-
type: "object",
|
|
115
|
-
properties: {}
|
|
116
|
-
})
|
|
117
|
-
}));
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* OpenAI chat tools (`function.parameters`) and Responses tools (`parameters`
|
|
121
|
-
* on the tool object itself).
|
|
122
|
-
*/
|
|
123
|
-
function sanitizeOpenAIToolSchemas(tools) {
|
|
124
|
-
return tools.map((tool) => {
|
|
125
|
-
if (!isRecord(tool)) return tool;
|
|
126
|
-
if (isRecord(tool.function)) return {
|
|
127
|
-
...tool,
|
|
128
|
-
function: {
|
|
129
|
-
...tool.function,
|
|
130
|
-
parameters: sanitizeJsonSchema(tool.function.parameters ?? {
|
|
131
|
-
type: "object",
|
|
132
|
-
properties: {}
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
if ("parameters" in tool) return {
|
|
137
|
-
...tool,
|
|
138
|
-
parameters: sanitizeJsonSchema(tool.parameters ?? {
|
|
139
|
-
type: "object",
|
|
140
|
-
properties: {}
|
|
141
|
-
})
|
|
142
|
-
};
|
|
143
|
-
if ("input_schema" in tool) return {
|
|
144
|
-
...tool,
|
|
145
|
-
input_schema: sanitizeJsonSchema(tool.input_schema ?? {
|
|
146
|
-
type: "object",
|
|
147
|
-
properties: {}
|
|
148
|
-
})
|
|
149
|
-
};
|
|
150
|
-
return tool;
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Best-effort rewrite of a parsed inference body:
|
|
155
|
-
* 1. deep-fix every `required` key (null → [])
|
|
156
|
-
* 2. full schema sanitize on known tool parameter shapes (always emit required)
|
|
157
|
-
*/
|
|
158
|
-
function sanitizeInferenceToolSchemas(path, body) {
|
|
159
|
-
const deep = deepSanitizeRequiredFields(body);
|
|
160
|
-
let next = deep.changed ? deep.value : body;
|
|
161
|
-
let changed = deep.changed;
|
|
162
|
-
if (Array.isArray(next.tools) && next.tools.length > 0) if (path === "/v1/messages" || path.endsWith("/messages")) {
|
|
163
|
-
next = {
|
|
164
|
-
...next,
|
|
165
|
-
tools: sanitizeAnthropicToolSchemas(next.tools)
|
|
166
|
-
};
|
|
167
|
-
changed = true;
|
|
168
|
-
} else if (path === "/v1/chat/completions" || path === "/v1/responses" || path.endsWith("/chat/completions") || path.endsWith("/responses")) {
|
|
169
|
-
next = {
|
|
170
|
-
...next,
|
|
171
|
-
tools: sanitizeOpenAIToolSchemas(next.tools)
|
|
172
|
-
};
|
|
173
|
-
changed = true;
|
|
174
|
-
} else {
|
|
175
|
-
next = {
|
|
176
|
-
...next,
|
|
177
|
-
tools: sanitizeOpenAIToolSchemas(sanitizeAnthropicToolSchemas(next.tools))
|
|
178
|
-
};
|
|
179
|
-
changed = true;
|
|
180
|
-
}
|
|
181
|
-
return {
|
|
182
|
-
body: next,
|
|
183
|
-
changed
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
//#endregion
|
|
187
|
-
export { deepSanitizeRequiredFields, isRecord, sanitizeAnthropicToolSchemas, sanitizeInferenceToolSchemas, sanitizeJsonSchema, sanitizeOpenAIToolSchemas };
|
|
188
|
-
|
|
189
|
-
//# sourceMappingURL=json-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.js","names":[],"sources":["../../../src/providers/protocol/json-schema.ts"],"sourcesContent":["/**\n * Strict upstreams (xAI cli-chat-proxy, …) validate tool JSON Schemas where\n * `required` must be an **array of strings** — including when there are no\n * required properties.\n *\n * Claude Code (and some serializers) either:\n * - omit `required`, or\n * - emit `\"required\": null`\n *\n * Anthropic accepts both. xAI's meta-schema treats a missing `required` as\n * null and returns:\n * standard_violation /required: null is not of type \"array\"\n *\n * Fix: every object-shaped schema used as a tool parameter must carry\n * `required: string[]` (possibly empty). Dropping the key is not enough.\n */\n\nexport function isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction asRequiredArray(value: unknown): string[] {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.filter((entry): entry is string => typeof entry === 'string');\n}\n\n/**\n * Walk any JSON value and only fix keys named `required`:\n * - null / non-array → `[]`\n * - array → string-only entries (may be empty)\n *\n * Does not strip unrelated nulls (e.g. stop_sequence: null).\n */\nexport function deepSanitizeRequiredFields(value: unknown): {\n value: unknown;\n changed: boolean;\n} {\n let changed = false;\n\n const walk = (node: unknown): unknown => {\n if (Array.isArray(node)) {\n return node.map(walk);\n }\n if (!isRecord(node)) {\n return node;\n }\n\n const out: Record<string, unknown> = {};\n for (const [key, entry] of Object.entries(node)) {\n if (key === 'required') {\n const names = asRequiredArray(entry);\n if (!Array.isArray(entry) || names.length !== entry.length) {\n changed = true;\n }\n out.required = names;\n continue;\n }\n out[key] = walk(entry);\n }\n return out;\n };\n\n return { value: walk(value), changed };\n}\n\n/**\n * Make a tool-parameter JSON Schema acceptable to strict validators.\n * Always materializes `required` as a string array on object schemas.\n */\nexport function sanitizeJsonSchema(schema: unknown): Record<string, unknown> {\n if (!isRecord(schema)) {\n return { type: 'object', properties: {}, required: [] };\n }\n\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(schema)) {\n if (value === null || value === undefined) {\n continue;\n }\n\n if (key === 'required') {\n // Handled after the loop so we can force it on object schemas.\n continue;\n }\n\n if (key === 'enum') {\n if (Array.isArray(value)) {\n out.enum = value;\n }\n continue;\n }\n\n if (key === 'properties' && isRecord(value)) {\n const properties: Record<string, Record<string, unknown>> = {};\n for (const [name, prop] of Object.entries(value)) {\n properties[name] = sanitizeJsonSchema(prop);\n }\n out.properties = properties;\n continue;\n }\n\n if (key === 'items') {\n out.items = Array.isArray(value)\n ? value.map((item) => sanitizeJsonSchema(item))\n : sanitizeJsonSchema(value);\n continue;\n }\n\n if ((key === 'anyOf' || key === 'oneOf' || key === 'allOf') && Array.isArray(value)) {\n out[key] = value.map((branch) => sanitizeJsonSchema(branch));\n continue;\n }\n\n if ((key === '$defs' || key === 'definitions') && isRecord(value)) {\n const defs: Record<string, Record<string, unknown>> = {};\n for (const [name, def] of Object.entries(value)) {\n defs[name] = sanitizeJsonSchema(def);\n }\n out[key] = defs;\n continue;\n }\n\n if (key === 'additionalProperties' || key === 'propertyNames' || key === 'not') {\n if (typeof value === 'boolean') {\n out[key] = value;\n } else {\n out[key] = sanitizeJsonSchema(value);\n }\n continue;\n }\n\n if (key === 'patternProperties' && isRecord(value)) {\n const patterns: Record<string, Record<string, unknown>> = {};\n for (const [pattern, prop] of Object.entries(value)) {\n patterns[pattern] = sanitizeJsonSchema(prop);\n }\n out.patternProperties = patterns;\n continue;\n }\n\n out[key] = value;\n }\n\n // xAI requires `required` to be an array on object schemas. Force it when\n // the schema looks like an object; drop invalid required on non-objects.\n const type = out.type;\n const isObjectSchema =\n type === 'object' ||\n (Array.isArray(type) && type.includes('object')) ||\n (type === undefined && (isRecord(out.properties) || 'additionalProperties' in out));\n\n if (isObjectSchema) {\n out.required = asRequiredArray(schema.required);\n }\n\n return out;\n}\n\n/** Anthropic Messages tools: rewrite each `input_schema`. */\nexport function sanitizeAnthropicToolSchemas<\n T extends { input_schema?: Record<string, unknown> | null },\n>(tools: readonly T[]): T[] {\n return tools.map((tool) => ({\n ...tool,\n input_schema: sanitizeJsonSchema(tool.input_schema ?? { type: 'object', properties: {} }),\n }));\n}\n\n/**\n * OpenAI chat tools (`function.parameters`) and Responses tools (`parameters`\n * on the tool object itself).\n */\nexport function sanitizeOpenAIToolSchemas(tools: readonly unknown[]): unknown[] {\n return tools.map((tool) => {\n if (!isRecord(tool)) {\n return tool;\n }\n if (isRecord(tool.function)) {\n return {\n ...tool,\n function: {\n ...tool.function,\n parameters: sanitizeJsonSchema(\n tool.function.parameters ?? { type: 'object', properties: {} },\n ),\n },\n };\n }\n if ('parameters' in tool) {\n return {\n ...tool,\n parameters: sanitizeJsonSchema(tool.parameters ?? { type: 'object', properties: {} }),\n };\n }\n if ('input_schema' in tool) {\n return {\n ...tool,\n input_schema: sanitizeJsonSchema(tool.input_schema ?? { type: 'object', properties: {} }),\n };\n }\n return tool;\n });\n}\n\n/**\n * Best-effort rewrite of a parsed inference body:\n * 1. deep-fix every `required` key (null → [])\n * 2. full schema sanitize on known tool parameter shapes (always emit required)\n */\nexport function sanitizeInferenceToolSchemas(\n path: string,\n body: Record<string, unknown>,\n): { body: Record<string, unknown>; changed: boolean } {\n const deep = deepSanitizeRequiredFields(body);\n let next = (deep.changed ? deep.value : body) as Record<string, unknown>;\n let changed = deep.changed;\n\n if (Array.isArray(next.tools) && next.tools.length > 0) {\n if (path === '/v1/messages' || path.endsWith('/messages')) {\n next = {\n ...next,\n tools: sanitizeAnthropicToolSchemas(\n next.tools as Array<{ input_schema?: Record<string, unknown> | null }>,\n ),\n };\n changed = true;\n } else if (\n path === '/v1/chat/completions' ||\n path === '/v1/responses' ||\n path.endsWith('/chat/completions') ||\n path.endsWith('/responses')\n ) {\n next = {\n ...next,\n tools: sanitizeOpenAIToolSchemas(next.tools),\n };\n changed = true;\n } else {\n next = {\n ...next,\n tools: sanitizeOpenAIToolSchemas(\n sanitizeAnthropicToolSchemas(\n next.tools as Array<{ input_schema?: Record<string, unknown> | null }>,\n ),\n ),\n };\n changed = true;\n }\n }\n\n return { body: next, changed };\n}\n"],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Best-effort Anthropic input-token estimate for local `/v1/messages/count_tokens`.
|
|
3
|
-
*
|
|
4
|
-
* Claude Code calls this endpoint frequently for context budgeting. Several
|
|
5
|
-
* upstreams (xAI cli-chat-proxy, some OpenAI-compat gateways) do not implement
|
|
6
|
-
* it and return 404. Proxying those 404s is wasteful and can look like probing
|
|
7
|
-
* traffic; answer locally instead (~4 chars/token, same heuristic as before).
|
|
8
|
-
*/
|
|
9
|
-
export declare function estimateAnthropicInputTokens(body: {
|
|
10
|
-
system?: unknown;
|
|
11
|
-
messages?: unknown;
|
|
12
|
-
tools?: unknown;
|
|
13
|
-
[k: string]: unknown;
|
|
14
|
-
}): number;
|
|
15
|
-
//# sourceMappingURL=token-estimate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-estimate.d.ts","sourceRoot":"","sources":["../../../src/providers/protocol/token-estimate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB,GAAG,MAAM,CA0BT"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
//#region src/providers/protocol/token-estimate.ts
|
|
2
|
-
/**
|
|
3
|
-
* Best-effort Anthropic input-token estimate for local `/v1/messages/count_tokens`.
|
|
4
|
-
*
|
|
5
|
-
* Claude Code calls this endpoint frequently for context budgeting. Several
|
|
6
|
-
* upstreams (xAI cli-chat-proxy, some OpenAI-compat gateways) do not implement
|
|
7
|
-
* it and return 404. Proxying those 404s is wasteful and can look like probing
|
|
8
|
-
* traffic; answer locally instead (~4 chars/token, same heuristic as before).
|
|
9
|
-
*/
|
|
10
|
-
function estimateAnthropicInputTokens(body) {
|
|
11
|
-
let chars = 0;
|
|
12
|
-
const add = (value) => {
|
|
13
|
-
if (value == null) return;
|
|
14
|
-
if (typeof value === "string") {
|
|
15
|
-
chars += value.length;
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
chars += JSON.stringify(value).length;
|
|
20
|
-
} catch {
|
|
21
|
-
chars += 16;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
add(body.system);
|
|
25
|
-
add(body.messages);
|
|
26
|
-
add(body.tools);
|
|
27
|
-
if (body.tool_choice != null) add(body.tool_choice);
|
|
28
|
-
if (body.metadata != null) add(body.metadata);
|
|
29
|
-
return Math.max(1, Math.ceil(chars / 4) + 8);
|
|
30
|
-
}
|
|
31
|
-
//#endregion
|
|
32
|
-
export { estimateAnthropicInputTokens };
|
|
33
|
-
|
|
34
|
-
//# sourceMappingURL=token-estimate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-estimate.js","names":[],"sources":["../../../src/providers/protocol/token-estimate.ts"],"sourcesContent":["/**\n * Best-effort Anthropic input-token estimate for local `/v1/messages/count_tokens`.\n *\n * Claude Code calls this endpoint frequently for context budgeting. Several\n * upstreams (xAI cli-chat-proxy, some OpenAI-compat gateways) do not implement\n * it and return 404. Proxying those 404s is wasteful and can look like probing\n * traffic; answer locally instead (~4 chars/token, same heuristic as before).\n */\nexport function estimateAnthropicInputTokens(body: {\n system?: unknown;\n messages?: unknown;\n tools?: unknown;\n [k: string]: unknown;\n}): number {\n let chars = 0;\n const add = (value: unknown) => {\n if (value == null) {\n return;\n }\n if (typeof value === 'string') {\n chars += value.length;\n return;\n }\n try {\n chars += JSON.stringify(value).length;\n } catch {\n chars += 16;\n }\n };\n add(body.system);\n add(body.messages);\n add(body.tools);\n if (body.tool_choice != null) {\n add(body.tool_choice);\n }\n if (body.metadata != null) {\n add(body.metadata);\n }\n return Math.max(1, Math.ceil(chars / 4) + 8);\n}\n"],"mappings":";;;;;;;;;AAQA,SAAgB,6BAA6B,MAKlC;CACT,IAAI,QAAQ;CACZ,MAAM,OAAO,UAAmB;EAC9B,IAAI,SAAS,MACX;EAEF,IAAI,OAAO,UAAU,UAAU;GAC7B,SAAS,MAAM;GACf;EACF;EACA,IAAI;GACF,SAAS,KAAK,UAAU,KAAK,CAAC,CAAC;EACjC,QAAQ;GACN,SAAS;EACX;CACF;CACA,IAAI,KAAK,MAAM;CACf,IAAI,KAAK,QAAQ;CACjB,IAAI,KAAK,KAAK;CACd,IAAI,KAAK,eAAe,MACtB,IAAI,KAAK,WAAW;CAEtB,IAAI,KAAK,YAAY,MACnB,IAAI,KAAK,QAAQ;CAEnB,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC;AAC7C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-hub-backend.d.ts","sourceRoot":"","sources":["../../src/providers/proxy-hub-backend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,mFAAmF;AACnF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIlE"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region src/providers/proxy-hub-backend.ts
|
|
2
|
-
/** Close an in-process backend without leaving a handle alive in the Hub child. */
|
|
3
|
-
function closeProxyHubBackend(server) {
|
|
4
|
-
return new Promise((resolve, reject) => {
|
|
5
|
-
server.close((error) => error ? reject(error) : resolve());
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
//#endregion
|
|
9
|
-
export { closeProxyHubBackend };
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=proxy-hub-backend.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-hub-backend.js","names":[],"sources":["../../src/providers/proxy-hub-backend.ts"],"sourcesContent":["import type { Server } from 'node:http';\n\n/** Close an in-process backend without leaving a handle alive in the Hub child. */\nexport function closeProxyHubBackend(server: Server): Promise<void> {\n return new Promise((resolve, reject) => {\n server.close((error) => (error ? reject(error) : resolve()));\n });\n}\n"],"mappings":";;AAGA,SAAgB,qBAAqB,QAA+B;CAClE,OAAO,IAAI,SAAS,SAAS,WAAW;EACtC,OAAO,OAAO,UAAW,QAAQ,OAAO,KAAK,IAAI,QAAQ,CAAE;CAC7D,CAAC;AACH"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { ProxyContext, ProxyHandle, ProxyStatus } from '../types.js';
|
|
2
|
-
export interface ExternalProxyOptions {
|
|
3
|
-
/** Binary names to search on PATH. */
|
|
4
|
-
binaries: string[];
|
|
5
|
-
/** Extra absolute paths to try. */
|
|
6
|
-
extraPaths?: string[];
|
|
7
|
-
/** Build argv for the binary. */
|
|
8
|
-
buildArgs: (ctx: ProxyContext, port: number, host: string) => string[];
|
|
9
|
-
/** Default port when config.port is unset. */
|
|
10
|
-
defaultPort: number;
|
|
11
|
-
/** Default host when config.host is unset. */
|
|
12
|
-
defaultHost?: string;
|
|
13
|
-
/** Compatibility label returned to the user. */
|
|
14
|
-
compatibility: string;
|
|
15
|
-
/** Optional env overrides. */
|
|
16
|
-
env?: (ctx: ProxyContext) => NodeJS.ProcessEnv;
|
|
17
|
-
/**
|
|
18
|
-
* How long to wait for the HTTP listener (ms).
|
|
19
|
-
*
|
|
20
|
-
* Generous by default: `waitForHttp` gives up as soon as `requirePid` dies, so
|
|
21
|
-
* a real failure still reports immediately and this budget only covers a
|
|
22
|
-
* process that is starting slowly. Too small a value turns a loaded machine
|
|
23
|
-
* into a spurious PROXY_START_FAILED after the child has already been killed.
|
|
24
|
-
*/
|
|
25
|
-
readyTimeoutMs?: number;
|
|
26
|
-
/** Friendly name for error messages. */
|
|
27
|
-
label: string;
|
|
28
|
-
}
|
|
29
|
-
export declare function startExternalProxy(ctx: ProxyContext, opts: ExternalProxyOptions): Promise<ProxyHandle>;
|
|
30
|
-
export declare function stopExternalProxy(ctx: ProxyContext): Promise<void>;
|
|
31
|
-
export declare function statusExternalProxy(ctx: ProxyContext, opts: {
|
|
32
|
-
compatibility?: string;
|
|
33
|
-
}): Promise<ProxyStatus>;
|
|
34
|
-
export declare function readExternalProxyLogs(ctx: ProxyContext, lines?: number): Promise<string>;
|
|
35
|
-
//# sourceMappingURL=proxy-process.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-process.d.ts","sourceRoot":"","sources":["../../src/providers/proxy-process.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAavE,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iCAAiC;IACjC,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACvE,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC,UAAU,CAAC;IAC/C;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,WAAW,CAAC,CAgEtB;AAuCD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxE;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC,WAAW,CAAC,CAgBtB;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1F"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { AnyPickError } from "../utils/errors.js";
|
|
2
|
-
import { ensureDir, pathExists } from "../utils/fs.js";
|
|
3
|
-
import { waitForHttp } from "../utils/process/health.js";
|
|
4
|
-
import { isProcessRunning, readPidFile, spawnDetached, stopPidFile } from "../utils/process/pid.js";
|
|
5
|
-
import { resolveBinary } from "../utils/process/binary.js";
|
|
6
|
-
import { assertLoopbackHost } from "../utils/network.js";
|
|
7
|
-
import { join } from "node:path";
|
|
8
|
-
import { readFile } from "node:fs/promises";
|
|
9
|
-
//#region src/providers/proxy-process.ts
|
|
10
|
-
/**
|
|
11
|
-
* Shared helpers for providers that run an external proxy binary.
|
|
12
|
-
* Core never imports this — only provider implementations do.
|
|
13
|
-
*/
|
|
14
|
-
function pidPath(ctx) {
|
|
15
|
-
return join(ctx.runtimeDir, "proxy.pid");
|
|
16
|
-
}
|
|
17
|
-
function logPath(ctx) {
|
|
18
|
-
return join(ctx.runtimeDir, "proxy.log");
|
|
19
|
-
}
|
|
20
|
-
async function startExternalProxy(ctx, opts) {
|
|
21
|
-
const host = ctx.config.host ?? opts.defaultHost ?? "127.0.0.1";
|
|
22
|
-
assertLoopbackHost(host);
|
|
23
|
-
const port = ctx.config.port ?? opts.defaultPort;
|
|
24
|
-
const bin = await resolveBinary(opts.binaries, opts.extraPaths ?? []);
|
|
25
|
-
if (!bin) throw new AnyPickError(`${opts.label} proxy binary not found (looked for: ${opts.binaries.join(", ")}). Install it and ensure it is on PATH.`, "PROXY_BINARY_MISSING");
|
|
26
|
-
await ensureDir(ctx.runtimeDir);
|
|
27
|
-
const { writeFile } = await import("node:fs/promises");
|
|
28
|
-
await writeFile(logPath(ctx), "", { mode: 384 });
|
|
29
|
-
const args = opts.buildArgs(ctx, port, host);
|
|
30
|
-
const endpoint = `http://${host}:${port}`;
|
|
31
|
-
const { pid } = await spawnDetached(bin, args, {
|
|
32
|
-
logPath: logPath(ctx),
|
|
33
|
-
pidPath: pidPath(ctx),
|
|
34
|
-
env: opts.env ? opts.env(ctx) : process.env,
|
|
35
|
-
endpoint,
|
|
36
|
-
provider: ctx.providerId,
|
|
37
|
-
account: ctx.accountName
|
|
38
|
-
});
|
|
39
|
-
const ready = await waitForHttp(endpoint, {
|
|
40
|
-
timeoutMs: opts.readyTimeoutMs ?? 15e3,
|
|
41
|
-
requirePid: pid
|
|
42
|
-
});
|
|
43
|
-
const alive = isProcessRunning(pid);
|
|
44
|
-
if (!ready || !alive) {
|
|
45
|
-
await stopFreshSpawn(pid);
|
|
46
|
-
const log = await safeReadLog(logPath(ctx), 30);
|
|
47
|
-
const cause = alive ? "it is still running but never answered the readiness probe" : "it exited immediately";
|
|
48
|
-
const detail = log ? `\n${log}` : "\n(no output was written to the log)";
|
|
49
|
-
throw new AnyPickError(`${opts.label} proxy failed to start on ${host}:${port} — ${cause}.\nRan: ${bin} ${args.join(" ")}${detail}`, {
|
|
50
|
-
code: "PROXY_START_FAILED",
|
|
51
|
-
suggestions: alive ? [`Check whether something else holds ${host}:${port}.`] : [`Run \`${bin} --version\` by hand — if it prints nothing, reinstall it.`]
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
return {
|
|
55
|
-
endpoint,
|
|
56
|
-
compatibility: opts.compatibility,
|
|
57
|
-
pid,
|
|
58
|
-
logPath: logPath(ctx)
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
/** Cleanup for a PID obtained in this start call (not a persisted PID lookup). */
|
|
62
|
-
async function stopFreshSpawn(pid) {
|
|
63
|
-
try {
|
|
64
|
-
if (process.platform !== "win32") process.kill(-pid, "SIGTERM");
|
|
65
|
-
else process.kill(pid, "SIGTERM");
|
|
66
|
-
} catch {
|
|
67
|
-
try {
|
|
68
|
-
process.kill(pid, "SIGTERM");
|
|
69
|
-
} catch {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const deadline = Date.now() + 1e3;
|
|
74
|
-
while (isProcessRunning(pid) && Date.now() < deadline) await new Promise((resolve) => setTimeout(resolve, 25));
|
|
75
|
-
if (!isProcessRunning(pid)) return;
|
|
76
|
-
try {
|
|
77
|
-
if (process.platform !== "win32") process.kill(-pid, "SIGKILL");
|
|
78
|
-
else process.kill(pid, "SIGKILL");
|
|
79
|
-
} catch {
|
|
80
|
-
try {
|
|
81
|
-
process.kill(pid, "SIGKILL");
|
|
82
|
-
} catch {}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async function stopExternalProxy(ctx) {
|
|
86
|
-
await stopPidFile(pidPath(ctx), { expectInstanceId: false });
|
|
87
|
-
}
|
|
88
|
-
async function statusExternalProxy(ctx, opts) {
|
|
89
|
-
const pid = await readPidFile(pidPath(ctx));
|
|
90
|
-
const running = pid != null && isProcessRunning(pid);
|
|
91
|
-
const host = ctx.config.host ?? "127.0.0.1";
|
|
92
|
-
const port = ctx.config.port;
|
|
93
|
-
const log = logPath(ctx);
|
|
94
|
-
return {
|
|
95
|
-
enabled: ctx.config.enabled,
|
|
96
|
-
running,
|
|
97
|
-
endpoint: running && port != null ? `http://${host}:${port}` : void 0,
|
|
98
|
-
compatibility: opts.compatibility,
|
|
99
|
-
pid: running ? pid ?? void 0 : void 0,
|
|
100
|
-
logPath: await pathExists(log) ? log : void 0,
|
|
101
|
-
detail: running ? void 0 : ctx.config.enabled ? "stopped" : "disabled"
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
async function readExternalProxyLogs(ctx, lines = 50) {
|
|
105
|
-
return safeReadLog(logPath(ctx), lines);
|
|
106
|
-
}
|
|
107
|
-
async function safeReadLog(path, lines) {
|
|
108
|
-
if (!await pathExists(path)) return "(no log file yet)";
|
|
109
|
-
try {
|
|
110
|
-
const all = (await readFile(path, "utf8")).split(/\r?\n/);
|
|
111
|
-
return all.slice(Math.max(0, all.length - lines)).join("\n");
|
|
112
|
-
} catch {
|
|
113
|
-
return "(unable to read log)";
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
//#endregion
|
|
117
|
-
export { readExternalProxyLogs, startExternalProxy, statusExternalProxy, stopExternalProxy };
|
|
118
|
-
|
|
119
|
-
//# sourceMappingURL=proxy-process.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-process.js","names":[],"sources":["../../src/providers/proxy-process.ts"],"sourcesContent":["/**\n * Shared helpers for providers that run an external proxy binary.\n * Core never imports this — only provider implementations do.\n */\nimport { join } from 'node:path';\nimport { readFile } from 'node:fs/promises';\nimport type { ProxyContext, ProxyHandle, ProxyStatus } from '../types';\nimport { ensureDir, pathExists } from '../utils/fs';\nimport {\n isProcessRunning,\n readPidFile,\n resolveBinary,\n spawnDetached,\n stopPidFile,\n waitForHttp,\n} from '../utils/process';\nimport { AnyPickError } from '../utils/errors';\nimport { assertLoopbackHost } from '../utils/network';\n\nexport interface ExternalProxyOptions {\n /** Binary names to search on PATH. */\n binaries: string[];\n /** Extra absolute paths to try. */\n extraPaths?: string[];\n /** Build argv for the binary. */\n buildArgs: (ctx: ProxyContext, port: number, host: string) => string[];\n /** Default port when config.port is unset. */\n defaultPort: number;\n /** Default host when config.host is unset. */\n defaultHost?: string;\n /** Compatibility label returned to the user. */\n compatibility: string;\n /** Optional env overrides. */\n env?: (ctx: ProxyContext) => NodeJS.ProcessEnv;\n /**\n * How long to wait for the HTTP listener (ms).\n *\n * Generous by default: `waitForHttp` gives up as soon as `requirePid` dies, so\n * a real failure still reports immediately and this budget only covers a\n * process that is starting slowly. Too small a value turns a loaded machine\n * into a spurious PROXY_START_FAILED after the child has already been killed.\n */\n readyTimeoutMs?: number;\n /** Friendly name for error messages. */\n label: string;\n}\n\nfunction pidPath(ctx: ProxyContext): string {\n return join(ctx.runtimeDir, 'proxy.pid');\n}\n\nfunction logPath(ctx: ProxyContext): string {\n return join(ctx.runtimeDir, 'proxy.log');\n}\n\nexport async function startExternalProxy(\n ctx: ProxyContext,\n opts: ExternalProxyOptions,\n): Promise<ProxyHandle> {\n const host = ctx.config.host ?? opts.defaultHost ?? '127.0.0.1';\n assertLoopbackHost(host);\n const port = ctx.config.port ?? opts.defaultPort;\n\n const bin = await resolveBinary(opts.binaries, opts.extraPaths ?? []);\n if (!bin) {\n throw new AnyPickError(\n `${opts.label} proxy binary not found (looked for: ${opts.binaries.join(', ')}). Install it and ensure it is on PATH.`,\n 'PROXY_BINARY_MISSING',\n );\n }\n\n await ensureDir(ctx.runtimeDir);\n // Truncate log on fresh start\n const { writeFile } = await import('node:fs/promises');\n await writeFile(logPath(ctx), '', { mode: 0o600 });\n\n const args = opts.buildArgs(ctx, port, host);\n const endpoint = `http://${host}:${port}`;\n const { pid } = await spawnDetached(bin, args, {\n logPath: logPath(ctx),\n pidPath: pidPath(ctx),\n env: opts.env ? opts.env(ctx) : process.env,\n endpoint,\n provider: ctx.providerId,\n account: ctx.accountName,\n });\n\n const ready = await waitForHttp(endpoint, {\n timeoutMs: opts.readyTimeoutMs ?? 15_000,\n requirePid: pid,\n });\n\n const alive = isProcessRunning(pid);\n if (!ready || !alive) {\n await stopFreshSpawn(pid);\n const log = await safeReadLog(logPath(ctx), 30);\n // A binary that exits without writing anything is almost always the wrong\n // entry point — a package-manager shim left pointing at a library entry\n // rather than the CLI. Naming the resolved path is what makes that\n // findable; the port and label alone do not.\n const cause = alive\n ? 'it is still running but never answered the readiness probe'\n : 'it exited immediately';\n const detail = log ? `\\n${log}` : '\\n(no output was written to the log)';\n throw new AnyPickError(\n `${opts.label} proxy failed to start on ${host}:${port} — ${cause}.\\n` +\n `Ran: ${bin} ${args.join(' ')}${detail}`,\n {\n code: 'PROXY_START_FAILED',\n suggestions: alive\n ? [`Check whether something else holds ${host}:${port}.`]\n : [`Run \\`${bin} --version\\` by hand — if it prints nothing, reinstall it.`],\n },\n );\n }\n\n return {\n endpoint,\n compatibility: opts.compatibility,\n pid,\n logPath: logPath(ctx),\n };\n}\n\n/** Cleanup for a PID obtained in this start call (not a persisted PID lookup). */\nasync function stopFreshSpawn(pid: number): Promise<void> {\n try {\n if (process.platform !== 'win32') {\n process.kill(-pid, 'SIGTERM');\n } else {\n process.kill(pid, 'SIGTERM');\n }\n } catch {\n try {\n process.kill(pid, 'SIGTERM');\n } catch {\n return;\n }\n }\n const deadline = Date.now() + 1000;\n while (isProcessRunning(pid) && Date.now() < deadline) {\n await new Promise((resolve) => setTimeout(resolve, 25));\n }\n if (!isProcessRunning(pid)) {\n return;\n }\n try {\n if (process.platform !== 'win32') {\n process.kill(-pid, 'SIGKILL');\n } else {\n process.kill(pid, 'SIGKILL');\n }\n } catch {\n try {\n process.kill(pid, 'SIGKILL');\n } catch {\n // already gone\n }\n }\n}\n\nexport async function stopExternalProxy(ctx: ProxyContext): Promise<void> {\n // A third-party binary does not echo ANYPICK_INSTANCE_ID, so ownership is\n // proved from the process start time instead (see StopPidFileOptions).\n await stopPidFile(pidPath(ctx), { expectInstanceId: false });\n}\n\nexport async function statusExternalProxy(\n ctx: ProxyContext,\n opts: { compatibility?: string },\n): Promise<ProxyStatus> {\n const pid = await readPidFile(pidPath(ctx));\n const running = pid != null && isProcessRunning(pid);\n const host = ctx.config.host ?? '127.0.0.1';\n const port = ctx.config.port;\n const log = logPath(ctx);\n\n return {\n enabled: ctx.config.enabled,\n running,\n endpoint: running && port != null ? `http://${host}:${port}` : undefined,\n compatibility: opts.compatibility,\n pid: running ? (pid ?? undefined) : undefined,\n logPath: (await pathExists(log)) ? log : undefined,\n detail: running ? undefined : ctx.config.enabled ? 'stopped' : 'disabled',\n };\n}\n\nexport async function readExternalProxyLogs(ctx: ProxyContext, lines = 50): Promise<string> {\n return safeReadLog(logPath(ctx), lines);\n}\n\nasync function safeReadLog(path: string, lines: number): Promise<string> {\n if (!(await pathExists(path))) {\n return '(no log file yet)';\n }\n try {\n const raw = await readFile(path, 'utf8');\n const all = raw.split(/\\r?\\n/);\n return all.slice(Math.max(0, all.length - lines)).join('\\n');\n } catch {\n return '(unable to read log)';\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared plumbing for the built-in compatibility proxies (grok / gemini /
|
|
3
|
-
* opencode). These helpers are intentionally protocol-agnostic: each proxy
|
|
4
|
-
* server still owns its *request-translation* and *header-forwarding* rules
|
|
5
|
-
* (they differ per upstream protocol), but the low-level HTTP mechanics —
|
|
6
|
-
* body buffering and the hop-by-hop header set — are identical and live here so
|
|
7
|
-
* they are not copied across three servers.
|
|
8
|
-
*/
|
|
9
|
-
import type { IncomingMessage, Server, ServerResponse } from 'node:http';
|
|
10
|
-
/** Headers that must never be forwarded to/from an upstream (RFC 7230 §6.1). */
|
|
11
|
-
export declare const HOP_BY_HOP: Set<string>;
|
|
12
|
-
/** True when `name` is a hop-by-hop header (case-insensitive). */
|
|
13
|
-
export declare function isHopByHop(name: string): boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Codex model-provider `base_url` is a prefix and calls `/responses`, while
|
|
16
|
-
* OpenAI SDK base URLs commonly call `/v1/responses`. Accept both spellings at
|
|
17
|
-
* the local boundary and keep one canonical `/v1/*` path internally.
|
|
18
|
-
*/
|
|
19
|
-
export declare function normalizeLocalApiUrl(url: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Buffer a request body into a single Buffer. Enforces a 32 MiB cap so a
|
|
22
|
-
* malicious or runaway client cannot exhaust memory in a long-lived proxy.
|
|
23
|
-
*/
|
|
24
|
-
export declare function readBody(req: IncomingMessage, maxBytes?: number): Promise<Buffer>;
|
|
25
|
-
/**
|
|
26
|
-
* Install one idempotent graceful-shutdown path for a detached HTTP proxy.
|
|
27
|
-
* New requests stop immediately, idle keep-alive sockets are closed, and only
|
|
28
|
-
* genuinely stuck connections are destroyed after the grace period.
|
|
29
|
-
*/
|
|
30
|
-
export declare function installProxyShutdown(server: Server, graceMs?: number): void;
|
|
31
|
-
/**
|
|
32
|
-
* Require the per-instance proxy secret on a credentialed route (PROXY-01).
|
|
33
|
-
*
|
|
34
|
-
* Accepts the secret via the client protocols' normal credential headers
|
|
35
|
-
* (`Authorization: Bearer <token>` or `x-api-key: <token>`), normalizes it to
|
|
36
|
-
* local authentication, and compares in constant time. On any mismatch the
|
|
37
|
-
* response is a `401` and the caller must NOT contact upstream. When
|
|
38
|
-
* `expectedToken` is empty/unset the proxy is misconfigured — fail closed.
|
|
39
|
-
*
|
|
40
|
-
* Returns `true` when the request is authenticated (caller may proceed).
|
|
41
|
-
*/
|
|
42
|
-
export declare function requireProxyAuth(req: IncomingMessage, res: ServerResponse, expectedToken?: string): boolean;
|
|
43
|
-
//# sourceMappingURL=proxy-shared.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-shared.d.ts","sourceRoot":"","sources":["../../src/providers/proxy-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzE,gFAAgF;AAChF,eAAO,MAAM,UAAU,aAWrB,CAAC;AAEH,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,SAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB3F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,SAAO,GAAG,IAAI,CAmBzE;AAkBD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CA4BT"}
|