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,102 +0,0 @@
|
|
|
1
|
-
import { pathExists } from "../utils/fs.js";
|
|
2
|
-
import { isProcessRunning, readPidFile } from "../utils/process/pid.js";
|
|
3
|
-
import { isLockStale, readLockInfo } from "../utils/lock.js";
|
|
4
|
-
import { isUnderRoot, walkAnyPickOwned } from "./doctor-utils.js";
|
|
5
|
-
import { recoverIncompleteOperations } from "./activation-executor.js";
|
|
6
|
-
import { join } from "node:path";
|
|
7
|
-
import { chmod, rm, stat } from "node:fs/promises";
|
|
8
|
-
import { tmpdir } from "node:os";
|
|
9
|
-
//#region src/core/doctor-fixes.ts
|
|
10
|
-
async function executeDoctorFix(action, root, deps) {
|
|
11
|
-
switch (action.kind) {
|
|
12
|
-
case "delete_stale_lock": return fixDeleteStaleLock(action.target, root);
|
|
13
|
-
case "delete_stale_pid": return fixDeleteStalePid(action.target, root);
|
|
14
|
-
case "stop_orphan_proxy": return fixStopOrphanProxy(action, deps);
|
|
15
|
-
case "delete_temp_overlay": return fixDeleteTempOverlay(action.target);
|
|
16
|
-
case "repair_permissions": return fixRepairPermissions(root);
|
|
17
|
-
case "rebuild_caches": return fixRebuildCaches(root);
|
|
18
|
-
case "complete_journal_rollback": return fixJournal(action, deps);
|
|
19
|
-
default: {
|
|
20
|
-
const kind = action.kind;
|
|
21
|
-
throw new Error(`Unknown fix kind: ${String(kind)}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
async function fixDeleteStaleLock(target, root) {
|
|
26
|
-
if (!isUnderRoot(target, root)) throw new Error(`Refusing to delete lock outside anypick root: ${target}`);
|
|
27
|
-
if (!await pathExists(target)) return `Lock already gone: ${target}`;
|
|
28
|
-
if (!target.endsWith(".lock")) throw new Error(`Not a lock file: ${target}`);
|
|
29
|
-
if (!await isLockStale(target)) {
|
|
30
|
-
const info = await readLockInfo(target);
|
|
31
|
-
throw new Error(`Lock still held by live process ${info?.pid ?? "?"}; refusing delete: ${target}`);
|
|
32
|
-
}
|
|
33
|
-
await rm(target, { force: true });
|
|
34
|
-
return `Deleted stale lock: ${target}`;
|
|
35
|
-
}
|
|
36
|
-
async function fixDeleteStalePid(target, root) {
|
|
37
|
-
if (!isUnderRoot(target, root)) throw new Error(`Refusing to delete PID outside anypick root: ${target}`);
|
|
38
|
-
if (!target.endsWith(".pid") && !target.endsWith("proxy.pid")) throw new Error(`Not a PID record: ${target}`);
|
|
39
|
-
const pid = await readPidFile(target);
|
|
40
|
-
if (pid != null && isProcessRunning(pid)) throw new Error(`Process ${pid} still running; refusing to delete PID file ${target}`);
|
|
41
|
-
await rm(target, { force: true });
|
|
42
|
-
return `Deleted stale PID record: ${target}`;
|
|
43
|
-
}
|
|
44
|
-
async function fixStopOrphanProxy(action, deps) {
|
|
45
|
-
const provider = String(action.params?.provider ?? "");
|
|
46
|
-
const account = String(action.params?.account ?? "");
|
|
47
|
-
if (!provider || !account) throw new Error("Orphan proxy fix requires provider and account");
|
|
48
|
-
if (deps.leases?.findByProviderAccount(provider, account)) throw new Error(`Live lease still references ${provider}/${account}; not an orphan`);
|
|
49
|
-
if (deps.bindings) {
|
|
50
|
-
for (const b of deps.bindings.listGlobal()) {
|
|
51
|
-
const s = b.spec.source;
|
|
52
|
-
if (s.kind === "account" && s.provider === provider && s.name === account) throw new Error(`Global binding for ${b.client} still references ${provider}/${account}`);
|
|
53
|
-
}
|
|
54
|
-
for (const b of deps.bindings.listAllProjects()) {
|
|
55
|
-
const s = b.spec.source;
|
|
56
|
-
if (s.kind === "account" && s.provider === provider && s.name === account) throw new Error(`Project binding for ${b.client} still references ${provider}/${account}`);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
await deps.proxy.stopProxy(provider, account);
|
|
60
|
-
return `Stopped orphan proxy ${provider}/${account}`;
|
|
61
|
-
}
|
|
62
|
-
async function fixDeleteTempOverlay(target) {
|
|
63
|
-
if (!isUnderRoot(target, tmpdir())) throw new Error(`Refusing to delete overlay outside system temp: ${target}`);
|
|
64
|
-
const base = target.split(/[/\\]/).pop() ?? "";
|
|
65
|
-
if (!/^anypick-(claude|codex|kiro|client)-/.test(base)) throw new Error(`Not a AnyPick-owned temp overlay: ${target}`);
|
|
66
|
-
const st = await stat(target);
|
|
67
|
-
const ageMs = Date.now() - st.mtimeMs;
|
|
68
|
-
if (ageMs < 3600 * 1e3) throw new Error(`Overlay too recent (${Math.round(ageMs / 1e3)}s); refusing delete`);
|
|
69
|
-
await rm(target, {
|
|
70
|
-
recursive: true,
|
|
71
|
-
force: true
|
|
72
|
-
});
|
|
73
|
-
return `Deleted temp overlay: ${target}`;
|
|
74
|
-
}
|
|
75
|
-
async function fixRepairPermissions(root) {
|
|
76
|
-
let fixed = 0;
|
|
77
|
-
await walkAnyPickOwned(root, async (path, isDir) => {
|
|
78
|
-
try {
|
|
79
|
-
await chmod(path, isDir ? 448 : 384);
|
|
80
|
-
fixed++;
|
|
81
|
-
} catch {}
|
|
82
|
-
});
|
|
83
|
-
return `Repaired permissions on ${fixed} AnyPick-owned path(s) under ${root}`;
|
|
84
|
-
}
|
|
85
|
-
async function fixRebuildCaches(root) {
|
|
86
|
-
const { writeFile, mkdir } = await import("node:fs/promises");
|
|
87
|
-
const cacheDir = join(root, "cache");
|
|
88
|
-
await mkdir(cacheDir, { recursive: true });
|
|
89
|
-
await writeFile(join(cacheDir, "doctor-rebuild.json"), `${JSON.stringify({ rebuiltAt: (/* @__PURE__ */ new Date()).toISOString() }, null, 2)}\n`, { mode: 384 });
|
|
90
|
-
return `Rebuilt local cache metadata under ${cacheDir}`;
|
|
91
|
-
}
|
|
92
|
-
async function fixJournal(action, deps) {
|
|
93
|
-
if (!deps.journal) throw new Error("Journal store not available");
|
|
94
|
-
const id = String(action.params?.checkId ?? action.target).replace(/^journal:/, "");
|
|
95
|
-
if (!deps.journal.get(id)) return `Journal entry already gone: ${id}`;
|
|
96
|
-
const result = await recoverIncompleteOperations({ journal: deps.journal });
|
|
97
|
-
return `Journal recovery: recovered=${result.recovered} failed=${result.failed.length} refused=${result.refused.length}`;
|
|
98
|
-
}
|
|
99
|
-
//#endregion
|
|
100
|
-
export { executeDoctorFix };
|
|
101
|
-
|
|
102
|
-
//# sourceMappingURL=doctor-fixes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-fixes.js","names":[],"sources":["../../src/core/doctor-fixes.ts"],"sourcesContent":["import { chmod, rm, stat } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { tmpdir } from 'node:os';\nimport { pathExists } from '../utils/fs';\nimport { isProcessRunning, readPidFile } from '../utils/process';\nimport { isLockStale, readLockInfo } from '../utils/lock';\nimport { recoverIncompleteOperations } from './activation-executor';\nimport type { DoctorFixAction, DoctorServiceDeps } from './doctor-types';\nimport { isUnderRoot, walkAnyPickOwned } from './doctor-utils';\n\nexport async function executeDoctorFix(\n action: DoctorFixAction,\n root: string,\n deps: DoctorServiceDeps,\n): Promise<string> {\n switch (action.kind) {\n case 'delete_stale_lock':\n return fixDeleteStaleLock(action.target, root);\n case 'delete_stale_pid':\n return fixDeleteStalePid(action.target, root);\n case 'stop_orphan_proxy':\n return fixStopOrphanProxy(action, deps);\n case 'delete_temp_overlay':\n return fixDeleteTempOverlay(action.target);\n case 'repair_permissions':\n return fixRepairPermissions(root);\n case 'rebuild_caches':\n return fixRebuildCaches(root);\n case 'complete_journal_rollback':\n return fixJournal(action, deps);\n default: {\n const kind: never = action.kind;\n throw new Error(`Unknown fix kind: ${String(kind)}`);\n }\n }\n}\n\nasync function fixDeleteStaleLock(target: string, root: string): Promise<string> {\n if (!isUnderRoot(target, root)) {\n throw new Error(`Refusing to delete lock outside anypick root: ${target}`);\n }\n if (!(await pathExists(target))) {\n return `Lock already gone: ${target}`;\n }\n if (!target.endsWith('.lock')) {\n throw new Error(`Not a lock file: ${target}`);\n }\n if (!(await isLockStale(target))) {\n const info = await readLockInfo(target);\n throw new Error(\n `Lock still held by live process ${info?.pid ?? '?'}; refusing delete: ${target}`,\n );\n }\n await rm(target, { force: true });\n return `Deleted stale lock: ${target}`;\n}\n\nasync function fixDeleteStalePid(target: string, root: string): Promise<string> {\n if (!isUnderRoot(target, root)) {\n throw new Error(`Refusing to delete PID outside anypick root: ${target}`);\n }\n if (!target.endsWith('.pid') && !target.endsWith('proxy.pid')) {\n throw new Error(`Not a PID record: ${target}`);\n }\n const pid = await readPidFile(target);\n if (pid != null && isProcessRunning(pid)) {\n throw new Error(`Process ${pid} still running; refusing to delete PID file ${target}`);\n }\n await rm(target, { force: true });\n return `Deleted stale PID record: ${target}`;\n}\n\nasync function fixStopOrphanProxy(\n action: DoctorFixAction,\n deps: DoctorServiceDeps,\n): Promise<string> {\n const provider = String(action.params?.provider ?? '');\n const account = String(action.params?.account ?? '');\n if (!provider || !account) {\n throw new Error('Orphan proxy fix requires provider and account');\n }\n\n if (deps.leases?.findByProviderAccount(provider, account)) {\n throw new Error(`Live lease still references ${provider}/${account}; not an orphan`);\n }\n\n if (deps.bindings) {\n for (const b of deps.bindings.listGlobal()) {\n const s = b.spec.source;\n if (s.kind === 'account' && s.provider === provider && s.name === account) {\n throw new Error(`Global binding for ${b.client} still references ${provider}/${account}`);\n }\n }\n for (const b of deps.bindings.listAllProjects()) {\n const s = b.spec.source;\n if (s.kind === 'account' && s.provider === provider && s.name === account) {\n throw new Error(`Project binding for ${b.client} still references ${provider}/${account}`);\n }\n }\n }\n\n await deps.proxy.stopProxy(provider, account);\n return `Stopped orphan proxy ${provider}/${account}`;\n}\n\nasync function fixDeleteTempOverlay(target: string): Promise<string> {\n const tmp = tmpdir();\n if (!isUnderRoot(target, tmp)) {\n throw new Error(`Refusing to delete overlay outside system temp: ${target}`);\n }\n const base = target.split(/[/\\\\]/).pop() ?? '';\n if (!/^anypick-(claude|codex|kiro|client)-/.test(base)) {\n throw new Error(`Not a AnyPick-owned temp overlay: ${target}`);\n }\n const st = await stat(target);\n const ageMs = Date.now() - st.mtimeMs;\n if (ageMs < 60 * 60 * 1000) {\n throw new Error(`Overlay too recent (${Math.round(ageMs / 1000)}s); refusing delete`);\n }\n await rm(target, { recursive: true, force: true });\n return `Deleted temp overlay: ${target}`;\n}\n\nasync function fixRepairPermissions(root: string): Promise<string> {\n let fixed = 0;\n await walkAnyPickOwned(root, async (path, isDir) => {\n try {\n await chmod(path, isDir ? 0o700 : 0o600);\n fixed++;\n } catch {\n // ignore unchmodable\n }\n });\n return `Repaired permissions on ${fixed} AnyPick-owned path(s) under ${root}`;\n}\n\nasync function fixRebuildCaches(root: string): Promise<string> {\n const { writeFile, mkdir } = await import('node:fs/promises');\n const cacheDir = join(root, 'cache');\n await mkdir(cacheDir, { recursive: true });\n await writeFile(\n join(cacheDir, 'doctor-rebuild.json'),\n `${JSON.stringify({ rebuiltAt: new Date().toISOString() }, null, 2)}\\n`,\n { mode: 0o600 },\n );\n return `Rebuilt local cache metadata under ${cacheDir}`;\n}\n\nasync function fixJournal(action: DoctorFixAction, deps: DoctorServiceDeps): Promise<string> {\n if (!deps.journal) {\n throw new Error('Journal store not available');\n }\n const checkId = String(action.params?.checkId ?? action.target);\n const id = checkId.replace(/^journal:/, '');\n const entry = deps.journal.get(id);\n if (!entry) {\n return `Journal entry already gone: ${id}`;\n }\n const result = await recoverIncompleteOperations({ journal: deps.journal });\n return `Journal recovery: recovered=${result.recovered} failed=${result.failed.length} refused=${result.refused.length}`;\n}\n"],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { DoctorFixPlan } from './doctor-types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Format forbidden findings for human output (spec §18.5 example).
|
|
4
|
-
*/
|
|
5
|
-
export declare function formatForbiddenManual(item: DoctorFixPlan['manual'][number]): string;
|
|
6
|
-
/**
|
|
7
|
-
* Re-plan orphan proxy actions with provider/account params from check ids.
|
|
8
|
-
*/
|
|
9
|
-
export declare function enrichFixPlan(plan: DoctorFixPlan): DoctorFixPlan;
|
|
10
|
-
//# sourceMappingURL=doctor-format.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-format.d.ts","sourceRoot":"","sources":["../../src/core/doctor-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CASnF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,aAAa,CA4BhE"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
//#region src/core/doctor-format.ts
|
|
2
|
-
/**
|
|
3
|
-
* Format forbidden findings for human output (spec §18.5 example).
|
|
4
|
-
*/
|
|
5
|
-
function formatForbiddenManual(item) {
|
|
6
|
-
const lines = [
|
|
7
|
-
item.message,
|
|
8
|
-
"",
|
|
9
|
-
"Doctor will not perform this change automatically.",
|
|
10
|
-
""
|
|
11
|
-
];
|
|
12
|
-
if (item.suggestions.length) {
|
|
13
|
-
lines.push("Review / fix manually:");
|
|
14
|
-
for (const s of item.suggestions) lines.push(` ${s}`);
|
|
15
|
-
}
|
|
16
|
-
return lines.join("\n");
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Re-plan orphan proxy actions with provider/account params from check ids.
|
|
20
|
-
*/
|
|
21
|
-
function enrichFixPlan(plan) {
|
|
22
|
-
return {
|
|
23
|
-
...plan,
|
|
24
|
-
actions: plan.actions.map((a) => {
|
|
25
|
-
if (a.kind === "stop_orphan_proxy") {
|
|
26
|
-
const m = a.id.match(/orphan-proxy:([^/]+)\/(.+)$/);
|
|
27
|
-
if (m) return {
|
|
28
|
-
...a,
|
|
29
|
-
params: {
|
|
30
|
-
...a.params,
|
|
31
|
-
provider: m[1],
|
|
32
|
-
account: m[2]
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
if (a.kind === "delete_stale_pid" && a.target.endsWith("proxy.pid")) return a;
|
|
37
|
-
if (a.kind === "delete_temp_overlay" || a.kind === "delete_stale_lock" || a.kind === "delete_stale_pid") return a;
|
|
38
|
-
return a;
|
|
39
|
-
})
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
//#endregion
|
|
43
|
-
export { enrichFixPlan, formatForbiddenManual };
|
|
44
|
-
|
|
45
|
-
//# sourceMappingURL=doctor-format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-format.js","names":[],"sources":["../../src/core/doctor-format.ts"],"sourcesContent":["import type { DoctorFixPlan } from './doctor-types';\n\n/**\n * Format forbidden findings for human output (spec §18.5 example).\n */\nexport function formatForbiddenManual(item: DoctorFixPlan['manual'][number]): string {\n const lines = [item.message, '', 'Doctor will not perform this change automatically.', ''];\n if (item.suggestions.length) {\n lines.push('Review / fix manually:');\n for (const s of item.suggestions) {\n lines.push(` ${s}`);\n }\n }\n return lines.join('\\n');\n}\n\n/**\n * Re-plan orphan proxy actions with provider/account params from check ids.\n */\nexport function enrichFixPlan(plan: DoctorFixPlan): DoctorFixPlan {\n return {\n ...plan,\n actions: plan.actions.map((a) => {\n if (a.kind === 'stop_orphan_proxy') {\n // id: stop_orphan_proxy:orphan-proxy:provider/account\n const m = a.id.match(/orphan-proxy:([^/]+)\\/(.+)$/);\n if (m) {\n return {\n ...a,\n params: { ...a.params, provider: m[1], account: m[2] },\n };\n }\n }\n if (a.kind === 'delete_stale_pid' && a.target.endsWith('proxy.pid')) {\n return a;\n }\n if (\n a.kind === 'delete_temp_overlay' ||\n a.kind === 'delete_stale_lock' ||\n a.kind === 'delete_stale_pid'\n ) {\n // ensure target is the detail path when available\n return a;\n }\n return a;\n }),\n };\n}\n"],"mappings":";;;;AAKA,SAAgB,sBAAsB,MAA+C;CACnF,MAAM,QAAQ;EAAC,KAAK;EAAS;EAAI;EAAsD;CAAE;CACzF,IAAI,KAAK,YAAY,QAAQ;EAC3B,MAAM,KAAK,wBAAwB;EACnC,KAAK,MAAM,KAAK,KAAK,aACnB,MAAM,KAAK,KAAK,GAAG;CAEvB;CACA,OAAO,MAAM,KAAK,IAAI;AACxB;;;;AAKA,SAAgB,cAAc,MAAoC;CAChE,OAAO;EACL,GAAG;EACH,SAAS,KAAK,QAAQ,KAAK,MAAM;GAC/B,IAAI,EAAE,SAAS,qBAAqB;IAElC,MAAM,IAAI,EAAE,GAAG,MAAM,6BAA6B;IAClD,IAAI,GACF,OAAO;KACL,GAAG;KACH,QAAQ;MAAE,GAAG,EAAE;MAAQ,UAAU,EAAE;MAAI,SAAS,EAAE;KAAG;IACvD;GAEJ;GACA,IAAI,EAAE,SAAS,sBAAsB,EAAE,OAAO,SAAS,WAAW,GAChE,OAAO;GAET,IACE,EAAE,SAAS,yBACX,EAAE,SAAS,uBACX,EAAE,SAAS,oBAGX,OAAO;GAET,OAAO;EACT,CAAC;CACH;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-report.d.ts","sourceRoot":"","sources":["../../src/core/doctor-report.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAe,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,wBAAsB,eAAe,CACnC,IAAI,EAAE,iBAAiB,EACvB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CA8NvB"}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { pathExists } from "../utils/fs.js";
|
|
2
|
-
import { anypickDbPath, getAnyPickRoot } from "./paths.js";
|
|
3
|
-
import { displayRef } from "./refs.js";
|
|
4
|
-
import { scanPermissions, scanProxyPids, scanStaleLocks, scanTempOverlays } from "./doctor-scan.js";
|
|
5
|
-
import { mkdir } from "node:fs/promises";
|
|
6
|
-
//#region src/core/doctor-report.ts
|
|
7
|
-
async function runDoctorReport(deps, target) {
|
|
8
|
-
const root = getAnyPickRoot(deps.root);
|
|
9
|
-
const checks = [];
|
|
10
|
-
const filter = target?.trim().toLowerCase();
|
|
11
|
-
const push = (c) => {
|
|
12
|
-
if (filter && !c.id.toLowerCase().includes(filter) && filter !== "all") {
|
|
13
|
-
if (!c.message.toLowerCase().includes(filter) && !c.id.toLowerCase().startsWith(filter)) return;
|
|
14
|
-
}
|
|
15
|
-
checks.push(c);
|
|
16
|
-
};
|
|
17
|
-
push({
|
|
18
|
-
id: "root",
|
|
19
|
-
ok: true,
|
|
20
|
-
message: `Data root: ${root}`
|
|
21
|
-
});
|
|
22
|
-
const dbFile = anypickDbPath(root);
|
|
23
|
-
const dbExists = await pathExists(dbFile);
|
|
24
|
-
push({
|
|
25
|
-
id: "sqlite",
|
|
26
|
-
ok: dbExists,
|
|
27
|
-
message: dbExists ? `SQLite: ${dbFile}` : `SQLite missing (expected ${dbFile})`
|
|
28
|
-
});
|
|
29
|
-
for (const p of deps.accounts.listProviders()) try {
|
|
30
|
-
const live = await p.detectLive();
|
|
31
|
-
push({
|
|
32
|
-
id: `auth:${p.id}`,
|
|
33
|
-
ok: true,
|
|
34
|
-
message: `${p.id}: ${live.present ? "live auth present" : "no live auth"}`,
|
|
35
|
-
detail: live.identity
|
|
36
|
-
});
|
|
37
|
-
} catch (err) {
|
|
38
|
-
push({
|
|
39
|
-
id: `auth:${p.id}`,
|
|
40
|
-
ok: false,
|
|
41
|
-
message: `${p.id}: detectLive failed`,
|
|
42
|
-
detail: err instanceof Error ? err.message : String(err),
|
|
43
|
-
forbidden: "modify_native_auth",
|
|
44
|
-
suggestions: [`anypick current ${deps.clients.has(p.id) ? p.id : ""}`.trim(), `anypick add account ${p.id} --current --name <name>`]
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
push({
|
|
48
|
-
id: "catalog",
|
|
49
|
-
ok: deps.catalog.list().length > 0,
|
|
50
|
-
message: `Catalog providers: ${deps.catalog.ids().join(", ") || "(none)"}`
|
|
51
|
-
});
|
|
52
|
-
const profiles = await deps.profiles.list();
|
|
53
|
-
push({
|
|
54
|
-
id: "profiles",
|
|
55
|
-
ok: true,
|
|
56
|
-
message: `Gateways (profiles): ${profiles.length}`,
|
|
57
|
-
detail: profiles.map((p) => p.meta.name).join(", ") || void 0
|
|
58
|
-
});
|
|
59
|
-
for (const profile of profiles) {
|
|
60
|
-
if (!deps.catalog.has(profile.meta.provider)) push({
|
|
61
|
-
id: `profile:${profile.meta.name}:provider`,
|
|
62
|
-
ok: false,
|
|
63
|
-
message: `Gateway "${profile.meta.name}" references unknown provider "${profile.meta.provider}"`,
|
|
64
|
-
forbidden: "change_gateway_endpoint",
|
|
65
|
-
suggestions: [`anypick edit gateway/${profile.meta.name}`, `anypick remove @preset or anypick list gateways`]
|
|
66
|
-
});
|
|
67
|
-
if (!profile.secrets.apiKey) push({
|
|
68
|
-
id: `profile:${profile.meta.name}:key`,
|
|
69
|
-
ok: true,
|
|
70
|
-
message: `Gateway "${profile.meta.name}" has no API key (ok if proxy ignores it)`
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
for (const c of deps.clients.list()) try {
|
|
74
|
-
const inspect = await c.inspect();
|
|
75
|
-
const state = await deps.runtime.which(c.id);
|
|
76
|
-
const binding = deps.bindings?.getGlobal(c.id);
|
|
77
|
-
push({
|
|
78
|
-
id: `client:${c.id}`,
|
|
79
|
-
ok: true,
|
|
80
|
-
message: binding ? `${c.id}: binding ${displayRef(binding.spec.source)}` : `${c.id}: mode=${state?.mode ?? "none"}${state?.profileName ? ` profile=${state.profileName}` : ""}`,
|
|
81
|
-
detail: inspect.summary
|
|
82
|
-
});
|
|
83
|
-
if (inspect.issues?.length) for (const issue of inspect.issues) push({
|
|
84
|
-
id: `client:${c.id}:issue`,
|
|
85
|
-
ok: false,
|
|
86
|
-
message: `${c.id}: ${issue}`,
|
|
87
|
-
forbidden: "modify_unmanaged_client_config",
|
|
88
|
-
suggestions: [`anypick current ${c.id} --verbose`, `anypick reset ${c.id}`]
|
|
89
|
-
});
|
|
90
|
-
} catch (err) {
|
|
91
|
-
push({
|
|
92
|
-
id: `client:${c.id}`,
|
|
93
|
-
ok: false,
|
|
94
|
-
message: `${c.id}: inspect failed`,
|
|
95
|
-
detail: err instanceof Error ? err.message : String(err)
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
await scanProxyPids(root, deps, push);
|
|
99
|
-
await scanStaleLocks(root, push);
|
|
100
|
-
if (deps.journal) {
|
|
101
|
-
const incomplete = deps.journal.listIncomplete();
|
|
102
|
-
for (const entry of incomplete) push({
|
|
103
|
-
id: `journal:${entry.id}`,
|
|
104
|
-
ok: false,
|
|
105
|
-
message: `Incomplete operation journal: ${entry.type} (${entry.state})`,
|
|
106
|
-
detail: entry.affectedResources.join(", "),
|
|
107
|
-
fixable: "complete_journal_rollback"
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
if (deps.bindings) for (const pb of deps.bindings.listAllProjects()) {
|
|
111
|
-
const src = pb.spec.source;
|
|
112
|
-
if (src.kind === "gateway") {
|
|
113
|
-
if (!new Set((await deps.profiles.list()).map((p) => p.meta.name)).has(src.name)) push({
|
|
114
|
-
id: `project-binding:${pb.projectRoot}:${pb.client}`,
|
|
115
|
-
ok: false,
|
|
116
|
-
message: `Project binding ${pb.client} → gateway/${src.name} references missing gateway`,
|
|
117
|
-
forbidden: "mutate_binding",
|
|
118
|
-
suggestions: [`anypick unlink ${pb.client}`, `anypick link ${pb.client} --with <source>`]
|
|
119
|
-
});
|
|
120
|
-
} else if (src.kind === "account") {
|
|
121
|
-
if (!await deps.accounts.get(src.provider, src.name)) push({
|
|
122
|
-
id: `project-binding:${pb.projectRoot}:${pb.client}`,
|
|
123
|
-
ok: false,
|
|
124
|
-
message: `Project binding ${pb.client} → ${src.provider}/${src.name} references missing account`,
|
|
125
|
-
forbidden: "mutate_binding",
|
|
126
|
-
suggestions: [`anypick unlink ${pb.client}`, `anypick add account ${src.provider} --current --name ${src.name}`]
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
if (deps.plugins) {
|
|
131
|
-
const { loadedNames, failures } = deps.plugins;
|
|
132
|
-
const records = deps.plugins.installed();
|
|
133
|
-
const enabled = records.filter((r) => r.enabled);
|
|
134
|
-
push({
|
|
135
|
-
id: "plugins",
|
|
136
|
-
ok: true,
|
|
137
|
-
message: `Plugins: ${loadedNames.length} loaded, ${records.length - enabled.length} disabled`,
|
|
138
|
-
detail: loadedNames.length > 0 ? loadedNames.join(", ") : void 0
|
|
139
|
-
});
|
|
140
|
-
for (const f of failures) push({
|
|
141
|
-
id: `plugin:${f.name}`,
|
|
142
|
-
ok: false,
|
|
143
|
-
message: f.untrusted ? `Plugin ${f.name} was refused: its code changed since you trusted it` : `Plugin ${f.name} failed to load`,
|
|
144
|
-
detail: f.reason,
|
|
145
|
-
suggestions: f.untrusted ? [`anypick plugin trust ${f.name}`, `anypick plugin remove ${f.name}`] : [`anypick plugin disable ${f.name}`]
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
await scanTempOverlays(push);
|
|
149
|
-
await scanPermissions(root, push);
|
|
150
|
-
try {
|
|
151
|
-
await mkdir(root, { recursive: true });
|
|
152
|
-
push({
|
|
153
|
-
id: "writable",
|
|
154
|
-
ok: await pathExists(root),
|
|
155
|
-
message: "Data root is writable"
|
|
156
|
-
});
|
|
157
|
-
} catch (err) {
|
|
158
|
-
push({
|
|
159
|
-
id: "writable",
|
|
160
|
-
ok: false,
|
|
161
|
-
message: "Data root is not writable",
|
|
162
|
-
detail: err instanceof Error ? err.message : String(err)
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
return {
|
|
166
|
-
ok: checks.every((c) => c.ok),
|
|
167
|
-
root,
|
|
168
|
-
checks
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
//#endregion
|
|
172
|
-
export { runDoctorReport };
|
|
173
|
-
|
|
174
|
-
//# sourceMappingURL=doctor-report.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-report.js","names":[],"sources":["../../src/core/doctor-report.ts"],"sourcesContent":["import { mkdir } from 'node:fs/promises';\nimport { getAnyPickRoot, anypickDbPath } from './paths';\nimport { pathExists } from '../utils/fs';\nimport { displayRef } from './refs';\nimport { scanPermissions, scanProxyPids, scanStaleLocks, scanTempOverlays } from './doctor-scan';\nimport type { DoctorCheck, DoctorReport, DoctorServiceDeps } from './doctor-types';\n\nexport async function runDoctorReport(\n deps: DoctorServiceDeps,\n target?: string,\n): Promise<DoctorReport> {\n const root = getAnyPickRoot(deps.root);\n const checks: DoctorCheck[] = [];\n const filter = target?.trim().toLowerCase();\n\n const push = (c: DoctorCheck) => {\n if (filter && !c.id.toLowerCase().includes(filter) && filter !== 'all') {\n if (!c.message.toLowerCase().includes(filter) && !c.id.toLowerCase().startsWith(filter)) {\n return;\n }\n }\n checks.push(c);\n };\n\n push({\n id: 'root',\n ok: true,\n message: `Data root: ${root}`,\n });\n\n const dbFile = anypickDbPath(root);\n const dbExists = await pathExists(dbFile);\n push({\n id: 'sqlite',\n ok: dbExists,\n message: dbExists ? `SQLite: ${dbFile}` : `SQLite missing (expected ${dbFile})`,\n });\n\n for (const p of deps.accounts.listProviders()) {\n try {\n const live = await p.detectLive();\n push({\n id: `auth:${p.id}`,\n ok: true,\n message: `${p.id}: ${live.present ? 'live auth present' : 'no live auth'}`,\n detail: live.identity,\n });\n } catch (err) {\n push({\n id: `auth:${p.id}`,\n ok: false,\n message: `${p.id}: detectLive failed`,\n detail: err instanceof Error ? err.message : String(err),\n forbidden: 'modify_native_auth',\n suggestions: [\n `anypick current ${deps.clients.has(p.id) ? p.id : ''}`.trim(),\n `anypick add account ${p.id} --current --name <name>`,\n ],\n });\n }\n }\n\n push({\n id: 'catalog',\n ok: deps.catalog.list().length > 0,\n message: `Catalog providers: ${deps.catalog.ids().join(', ') || '(none)'}`,\n });\n\n const profiles = await deps.profiles.list();\n push({\n id: 'profiles',\n ok: true,\n message: `Gateways (profiles): ${profiles.length}`,\n detail: profiles.map((p) => p.meta.name).join(', ') || undefined,\n });\n\n for (const profile of profiles) {\n if (!deps.catalog.has(profile.meta.provider)) {\n push({\n id: `profile:${profile.meta.name}:provider`,\n ok: false,\n message: `Gateway \"${profile.meta.name}\" references unknown provider \"${profile.meta.provider}\"`,\n forbidden: 'change_gateway_endpoint',\n suggestions: [\n `anypick edit gateway/${profile.meta.name}`,\n `anypick remove @preset or anypick list gateways`,\n ],\n });\n }\n if (!profile.secrets.apiKey) {\n push({\n id: `profile:${profile.meta.name}:key`,\n ok: true,\n message: `Gateway \"${profile.meta.name}\" has no API key (ok if proxy ignores it)`,\n });\n }\n }\n\n for (const c of deps.clients.list()) {\n try {\n const inspect = await c.inspect();\n const state = await deps.runtime.which(c.id);\n const binding = deps.bindings?.getGlobal(c.id);\n push({\n id: `client:${c.id}`,\n ok: true,\n message: binding\n ? `${c.id}: binding ${displayRef(binding.spec.source)}`\n : `${c.id}: mode=${state?.mode ?? 'none'}${state?.profileName ? ` profile=${state.profileName}` : ''}`,\n detail: inspect.summary,\n });\n if (inspect.issues?.length) {\n for (const issue of inspect.issues) {\n push({\n id: `client:${c.id}:issue`,\n ok: false,\n message: `${c.id}: ${issue}`,\n forbidden: 'modify_unmanaged_client_config',\n suggestions: [`anypick current ${c.id} --verbose`, `anypick reset ${c.id}`],\n });\n }\n }\n } catch (err) {\n push({\n id: `client:${c.id}`,\n ok: false,\n message: `${c.id}: inspect failed`,\n detail: err instanceof Error ? err.message : String(err),\n });\n }\n }\n\n await scanProxyPids(root, deps, push);\n await scanStaleLocks(root, push);\n\n if (deps.journal) {\n const incomplete = deps.journal.listIncomplete();\n for (const entry of incomplete) {\n push({\n id: `journal:${entry.id}`,\n ok: false,\n message: `Incomplete operation journal: ${entry.type} (${entry.state})`,\n detail: entry.affectedResources.join(', '),\n fixable: 'complete_journal_rollback',\n });\n }\n }\n\n if (deps.bindings) {\n for (const pb of deps.bindings.listAllProjects()) {\n const src = pb.spec.source;\n if (src.kind === 'gateway') {\n const names = new Set((await deps.profiles.list()).map((p) => p.meta.name));\n if (!names.has(src.name)) {\n push({\n id: `project-binding:${pb.projectRoot}:${pb.client}`,\n ok: false,\n message: `Project binding ${pb.client} → gateway/${src.name} references missing gateway`,\n forbidden: 'mutate_binding',\n suggestions: [\n `anypick unlink ${pb.client}`,\n `anypick link ${pb.client} --with <source>`,\n ],\n });\n }\n } else if (src.kind === 'account') {\n const acc = await deps.accounts.get(src.provider, src.name);\n if (!acc) {\n push({\n id: `project-binding:${pb.projectRoot}:${pb.client}`,\n ok: false,\n message: `Project binding ${pb.client} → ${src.provider}/${src.name} references missing account`,\n forbidden: 'mutate_binding',\n suggestions: [\n `anypick unlink ${pb.client}`,\n `anypick add account ${src.provider} --current --name ${src.name}`,\n ],\n });\n }\n }\n }\n }\n\n if (deps.plugins) {\n const { loadedNames, failures } = deps.plugins;\n const records = deps.plugins.installed();\n const enabled = records.filter((r) => r.enabled);\n push({\n id: 'plugins',\n ok: true,\n message: `Plugins: ${loadedNames.length} loaded, ${records.length - enabled.length} disabled`,\n detail: loadedNames.length > 0 ? loadedNames.join(', ') : undefined,\n });\n for (const f of failures) {\n push({\n id: `plugin:${f.name}`,\n ok: false,\n message: f.untrusted\n ? `Plugin ${f.name} was refused: its code changed since you trusted it`\n : `Plugin ${f.name} failed to load`,\n detail: f.reason,\n suggestions: f.untrusted\n ? [`anypick plugin trust ${f.name}`, `anypick plugin remove ${f.name}`]\n : [`anypick plugin disable ${f.name}`],\n });\n }\n }\n\n await scanTempOverlays(push);\n await scanPermissions(root, push);\n\n try {\n await mkdir(root, { recursive: true });\n push({\n id: 'writable',\n ok: await pathExists(root),\n message: 'Data root is writable',\n });\n } catch (err) {\n push({\n id: 'writable',\n ok: false,\n message: 'Data root is not writable',\n detail: err instanceof Error ? err.message : String(err),\n });\n }\n\n return {\n ok: checks.every((c) => c.ok),\n root,\n checks,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { DoctorCheck, DoctorServiceDeps } from './doctor-types.js';
|
|
2
|
-
export type DoctorPush = (c: DoctorCheck) => void;
|
|
3
|
-
export declare function scanProxyPids(root: string, deps: DoctorServiceDeps, push: DoctorPush): Promise<void>;
|
|
4
|
-
export declare function scanStaleLocks(root: string, push: DoctorPush): Promise<void>;
|
|
5
|
-
export declare function scanTempOverlays(push: DoctorPush): Promise<void>;
|
|
6
|
-
export declare function scanPermissions(root: string, push: DoctorPush): Promise<void>;
|
|
7
|
-
//# sourceMappingURL=doctor-scan.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-scan.d.ts","sourceRoot":"","sources":["../../src/core/doctor-scan.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGrE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;AAElD,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCtE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnF"}
|
package/dist/core/doctor-scan.js
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { pathExists } from "../utils/fs.js";
|
|
2
|
-
import { isProcessRunning, readPidFile } from "../utils/process/pid.js";
|
|
3
|
-
import { isLockStale, readLockInfo } from "../utils/lock.js";
|
|
4
|
-
import { walkAnyPickOwned } from "./doctor-utils.js";
|
|
5
|
-
import { join, relative } from "node:path";
|
|
6
|
-
import { readdir, stat } from "node:fs/promises";
|
|
7
|
-
import { tmpdir } from "node:os";
|
|
8
|
-
//#region src/core/doctor-scan.ts
|
|
9
|
-
async function scanProxyPids(root, deps, push) {
|
|
10
|
-
if (!deps.accountStore) {
|
|
11
|
-
const providersRoot = join(root, "providers");
|
|
12
|
-
if (!await pathExists(providersRoot)) return;
|
|
13
|
-
try {
|
|
14
|
-
const providers = await readdir(providersRoot);
|
|
15
|
-
for (const provider of providers) {
|
|
16
|
-
const accountsRoot = join(providersRoot, provider, "accounts");
|
|
17
|
-
if (!await pathExists(accountsRoot)) continue;
|
|
18
|
-
const accounts = await readdir(accountsRoot);
|
|
19
|
-
for (const account of accounts) await checkPidFile(join(accountsRoot, account, "runtime", "proxy.pid"), provider, account, deps, push);
|
|
20
|
-
}
|
|
21
|
-
} catch {}
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
for (const p of deps.accounts.listProviders()) {
|
|
25
|
-
if (typeof p.startProxy !== "function") continue;
|
|
26
|
-
const accounts = await deps.accountStore.listAccounts(p.id);
|
|
27
|
-
for (const a of accounts) await checkPidFile(deps.accountStore.pidPath(p.id, a.meta.name), p.id, a.meta.name, deps, push);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async function scanStaleLocks(root, push) {
|
|
31
|
-
await walkAnyPickOwned(root, async (path, isDir) => {
|
|
32
|
-
if (isDir || !path.endsWith(".lock")) return;
|
|
33
|
-
if (!await isLockStale(path)) return;
|
|
34
|
-
const info = await readLockInfo(path);
|
|
35
|
-
push({
|
|
36
|
-
id: `stale-lock:${relative(root, path)}`,
|
|
37
|
-
ok: false,
|
|
38
|
-
message: info ? `Stale AnyPick lock (dead pid ${info.pid}): ${relative(root, path)}` : `Stale or corrupt AnyPick lock: ${relative(root, path)}`,
|
|
39
|
-
detail: path,
|
|
40
|
-
fixable: "delete_stale_lock"
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
async function scanTempOverlays(push) {
|
|
45
|
-
const tmp = tmpdir();
|
|
46
|
-
try {
|
|
47
|
-
const entries = await readdir(tmp);
|
|
48
|
-
for (const name of entries) {
|
|
49
|
-
if (!/^anypick-(claude|codex|kiro|client)-/.test(name)) continue;
|
|
50
|
-
const full = join(tmp, name);
|
|
51
|
-
try {
|
|
52
|
-
const st = await stat(full);
|
|
53
|
-
if (!st.isDirectory()) continue;
|
|
54
|
-
if (Date.now() - st.mtimeMs < 3600 * 1e3) continue;
|
|
55
|
-
push({
|
|
56
|
-
id: `overlay:${name}`,
|
|
57
|
-
ok: false,
|
|
58
|
-
message: `Leftover temporary client overlay: ${name}`,
|
|
59
|
-
detail: full,
|
|
60
|
-
fixable: "delete_temp_overlay"
|
|
61
|
-
});
|
|
62
|
-
} catch {}
|
|
63
|
-
}
|
|
64
|
-
} catch {}
|
|
65
|
-
}
|
|
66
|
-
async function scanPermissions(root, push) {
|
|
67
|
-
let bad = 0;
|
|
68
|
-
try {
|
|
69
|
-
await walkAnyPickOwned(root, async (path, isDir) => {
|
|
70
|
-
try {
|
|
71
|
-
const mode = (await stat(path)).mode & 511;
|
|
72
|
-
if (isDir) {
|
|
73
|
-
if (mode & 18) bad++;
|
|
74
|
-
} else if (mode & 63) bad++;
|
|
75
|
-
} catch {}
|
|
76
|
-
});
|
|
77
|
-
} catch {}
|
|
78
|
-
if (bad > 0) push({
|
|
79
|
-
id: "permissions",
|
|
80
|
-
ok: false,
|
|
81
|
-
message: `${bad} AnyPick-owned path(s) have overly permissive mode`,
|
|
82
|
-
detail: root,
|
|
83
|
-
fixable: "repair_permissions"
|
|
84
|
-
});
|
|
85
|
-
else push({
|
|
86
|
-
id: "permissions",
|
|
87
|
-
ok: true,
|
|
88
|
-
message: "AnyPick-owned permissions look restrictive"
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
async function checkPidFile(pidPath, provider, account, deps, push) {
|
|
92
|
-
if (!await pathExists(pidPath)) return;
|
|
93
|
-
const pid = await readPidFile(pidPath);
|
|
94
|
-
if (pid == null) {
|
|
95
|
-
push({
|
|
96
|
-
id: `pid:${provider}/${account}`,
|
|
97
|
-
ok: false,
|
|
98
|
-
message: `Corrupt proxy PID file for ${provider}/${account}`,
|
|
99
|
-
detail: pidPath,
|
|
100
|
-
fixable: "delete_stale_pid"
|
|
101
|
-
});
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
if (!isProcessRunning(pid)) {
|
|
105
|
-
push({
|
|
106
|
-
id: `pid:${provider}/${account}`,
|
|
107
|
-
ok: false,
|
|
108
|
-
message: `Stale proxy PID ${pid} for ${provider}/${account}`,
|
|
109
|
-
detail: pidPath,
|
|
110
|
-
fixable: "delete_stale_pid"
|
|
111
|
-
});
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const hasLease = Boolean(deps.leases?.findByProviderAccount(provider, account));
|
|
115
|
-
let hasBinding = false;
|
|
116
|
-
if (deps.bindings) for (const b of [...deps.bindings.listGlobal(), ...deps.bindings.listAllProjects()]) {
|
|
117
|
-
const s = b.spec.source;
|
|
118
|
-
if (s.kind === "account" && s.provider === provider && s.name === account) {
|
|
119
|
-
hasBinding = true;
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (!hasLease && !hasBinding) push({
|
|
124
|
-
id: `orphan-proxy:${provider}/${account}`,
|
|
125
|
-
ok: false,
|
|
126
|
-
message: `Orphan proxy running for ${provider}/${account} (pid ${pid})`,
|
|
127
|
-
detail: pidPath,
|
|
128
|
-
fixable: "stop_orphan_proxy"
|
|
129
|
-
});
|
|
130
|
-
else push({
|
|
131
|
-
id: `proxy:${provider}/${account}`,
|
|
132
|
-
ok: true,
|
|
133
|
-
message: `Proxy ${provider}/${account} running (pid ${pid})`
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
//#endregion
|
|
137
|
-
export { scanPermissions, scanProxyPids, scanStaleLocks, scanTempOverlays };
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=doctor-scan.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-scan.js","names":[],"sources":["../../src/core/doctor-scan.ts"],"sourcesContent":["import { readdir, stat } from 'node:fs/promises';\nimport { join, relative } from 'node:path';\nimport { tmpdir } from 'node:os';\nimport { pathExists } from '../utils/fs';\nimport { isProcessRunning, readPidFile } from '../utils/process';\nimport { isLockStale, readLockInfo } from '../utils/lock';\nimport type { DoctorCheck, DoctorServiceDeps } from './doctor-types';\nimport { walkAnyPickOwned } from './doctor-utils';\n\nexport type DoctorPush = (c: DoctorCheck) => void;\n\nexport async function scanProxyPids(\n root: string,\n deps: DoctorServiceDeps,\n push: DoctorPush,\n): Promise<void> {\n if (!deps.accountStore) {\n const providersRoot = join(root, 'providers');\n if (!(await pathExists(providersRoot))) {\n return;\n }\n try {\n const providers = await readdir(providersRoot);\n for (const provider of providers) {\n const accountsRoot = join(providersRoot, provider, 'accounts');\n if (!(await pathExists(accountsRoot))) {\n continue;\n }\n const accounts = await readdir(accountsRoot);\n for (const account of accounts) {\n const pidPath = join(accountsRoot, account, 'runtime', 'proxy.pid');\n await checkPidFile(pidPath, provider, account, deps, push);\n }\n }\n } catch {\n // ignore scan errors\n }\n return;\n }\n\n for (const p of deps.accounts.listProviders()) {\n if (typeof p.startProxy !== 'function') {\n continue;\n }\n const accounts = await deps.accountStore.listAccounts(p.id);\n for (const a of accounts) {\n const pidPath = deps.accountStore.pidPath(p.id, a.meta.name);\n await checkPidFile(pidPath, p.id, a.meta.name, deps, push);\n }\n }\n}\n\nexport async function scanStaleLocks(root: string, push: DoctorPush): Promise<void> {\n await walkAnyPickOwned(root, async (path, isDir) => {\n if (isDir || !path.endsWith('.lock')) {\n return;\n }\n if (!(await isLockStale(path))) {\n return;\n }\n const info = await readLockInfo(path);\n push({\n id: `stale-lock:${relative(root, path)}`,\n ok: false,\n message: info\n ? `Stale AnyPick lock (dead pid ${info.pid}): ${relative(root, path)}`\n : `Stale or corrupt AnyPick lock: ${relative(root, path)}`,\n detail: path,\n fixable: 'delete_stale_lock',\n });\n });\n}\n\nexport async function scanTempOverlays(push: DoctorPush): Promise<void> {\n const tmp = tmpdir();\n try {\n const entries = await readdir(tmp);\n for (const name of entries) {\n if (!/^anypick-(claude|codex|kiro|client)-/.test(name)) {\n continue;\n }\n const full = join(tmp, name);\n try {\n const st = await stat(full);\n if (!st.isDirectory()) {\n continue;\n }\n const ageMs = Date.now() - st.mtimeMs;\n if (ageMs < 60 * 60 * 1000) {\n continue;\n }\n push({\n id: `overlay:${name}`,\n ok: false,\n message: `Leftover temporary client overlay: ${name}`,\n detail: full,\n fixable: 'delete_temp_overlay',\n });\n } catch {\n // ignore\n }\n }\n } catch {\n // ignore tmp unreadable\n }\n}\n\nexport async function scanPermissions(root: string, push: DoctorPush): Promise<void> {\n let bad = 0;\n try {\n await walkAnyPickOwned(root, async (path, isDir) => {\n try {\n const st = await stat(path);\n const mode = st.mode & 0o777;\n if (isDir) {\n if (mode & 0o022) {\n bad++;\n }\n } else if (mode & 0o077) {\n bad++;\n }\n } catch {\n // ignore\n }\n });\n } catch {\n // ignore\n }\n if (bad > 0) {\n push({\n id: 'permissions',\n ok: false,\n message: `${bad} AnyPick-owned path(s) have overly permissive mode`,\n detail: root,\n fixable: 'repair_permissions',\n });\n } else {\n push({\n id: 'permissions',\n ok: true,\n message: 'AnyPick-owned permissions look restrictive',\n });\n }\n}\n\nasync function checkPidFile(\n pidPath: string,\n provider: string,\n account: string,\n deps: DoctorServiceDeps,\n push: DoctorPush,\n): Promise<void> {\n if (!(await pathExists(pidPath))) {\n return;\n }\n const pid = await readPidFile(pidPath);\n if (pid == null) {\n push({\n id: `pid:${provider}/${account}`,\n ok: false,\n message: `Corrupt proxy PID file for ${provider}/${account}`,\n detail: pidPath,\n fixable: 'delete_stale_pid',\n });\n return;\n }\n if (!isProcessRunning(pid)) {\n push({\n id: `pid:${provider}/${account}`,\n ok: false,\n message: `Stale proxy PID ${pid} for ${provider}/${account}`,\n detail: pidPath,\n fixable: 'delete_stale_pid',\n });\n return;\n }\n\n const hasLease = Boolean(deps.leases?.findByProviderAccount(provider, account));\n let hasBinding = false;\n if (deps.bindings) {\n for (const b of [...deps.bindings.listGlobal(), ...deps.bindings.listAllProjects()]) {\n const s = b.spec.source;\n if (s.kind === 'account' && s.provider === provider && s.name === account) {\n hasBinding = true;\n break;\n }\n }\n }\n if (!hasLease && !hasBinding) {\n push({\n id: `orphan-proxy:${provider}/${account}`,\n ok: false,\n message: `Orphan proxy running for ${provider}/${account} (pid ${pid})`,\n detail: pidPath,\n fixable: 'stop_orphan_proxy',\n });\n } else {\n push({\n id: `proxy:${provider}/${account}`,\n ok: true,\n message: `Proxy ${provider}/${account} running (pid ${pid})`,\n });\n }\n}\n"],"mappings":"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"}
|