@slkiser/opencode-quota 5.0.3 → 6.0.0-beta.1
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 +30 -44
- package/dist/agent-tools.d.ts +24 -0
- package/dist/agent-tools.d.ts.map +1 -0
- package/dist/agent-tools.js +578 -0
- package/dist/agent-tools.js.map +1 -0
- package/dist/bin/opencode-quota.d.ts.map +1 -1
- package/dist/bin/opencode-quota.js +1 -32
- package/dist/bin/opencode-quota.js.map +1 -1
- package/dist/core/errors.d.ts +12 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +141 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/pace.d.ts +13 -0
- package/dist/core/pace.d.ts.map +1 -0
- package/dist/core/pace.js +52 -0
- package/dist/core/pace.js.map +1 -0
- package/dist/core/persist.d.ts +44 -0
- package/dist/core/persist.d.ts.map +1 -0
- package/dist/core/persist.js +210 -0
- package/dist/core/persist.js.map +1 -0
- package/dist/core/provider-source.d.ts +40 -0
- package/dist/core/provider-source.d.ts.map +1 -0
- package/dist/core/provider-source.js +210 -0
- package/dist/core/provider-source.js.map +1 -0
- package/dist/core/redact.d.ts +17 -0
- package/dist/core/redact.d.ts.map +1 -0
- package/dist/core/redact.js +217 -0
- package/dist/core/redact.js.map +1 -0
- package/dist/core/rows.d.ts +20 -0
- package/dist/core/rows.d.ts.map +1 -0
- package/dist/core/rows.js +142 -0
- package/dist/core/rows.js.map +1 -0
- package/dist/core/selection.d.ts +15 -0
- package/dist/core/selection.d.ts.map +1 -0
- package/dist/core/selection.js +43 -0
- package/dist/core/selection.js.map +1 -0
- package/dist/core/snapshot-publisher.d.ts +15 -0
- package/dist/core/snapshot-publisher.d.ts.map +1 -0
- package/dist/core/snapshot-publisher.js +57 -0
- package/dist/core/snapshot-publisher.js.map +1 -0
- package/dist/core/store.d.ts +93 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +563 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/types.d.ts +186 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/usage-ranges.d.ts +46 -0
- package/dist/core/usage-ranges.d.ts.map +1 -0
- package/dist/core/usage-ranges.js +72 -0
- package/dist/core/usage-ranges.js.map +1 -0
- package/dist/core/usage.d.ts +100 -0
- package/dist/core/usage.d.ts.map +1 -0
- package/dist/core/usage.js +373 -0
- package/dist/core/usage.js.map +1 -0
- package/dist/core/validate.d.ts +8 -0
- package/dist/core/validate.d.ts.map +1 -0
- package/dist/core/validate.js +167 -0
- package/dist/core/validate.js.map +1 -0
- package/dist/core/windows.d.ts +24 -0
- package/dist/core/windows.d.ts.map +1 -0
- package/dist/core/windows.js +43 -0
- package/dist/core/windows.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/accounting-format.d.ts +2 -52
- package/dist/lib/accounting-format.d.ts.map +1 -1
- package/dist/lib/accounting-format.js +6 -255
- package/dist/lib/accounting-format.js.map +1 -1
- package/dist/lib/alibaba-auth.d.ts +14 -21
- package/dist/lib/alibaba-auth.d.ts.map +1 -1
- package/dist/lib/alibaba-auth.js +36 -149
- package/dist/lib/alibaba-auth.js.map +1 -1
- package/dist/lib/alibaba-coding-plan-local-quota.d.ts +1 -6
- package/dist/lib/alibaba-coding-plan-local-quota.d.ts.map +1 -1
- package/dist/lib/alibaba-coding-plan-local-quota.js +1 -1
- package/dist/lib/alibaba-coding-plan-local-quota.js.map +1 -1
- package/dist/lib/alibaba-token-plan.d.ts +18 -27
- package/dist/lib/alibaba-token-plan.d.ts.map +1 -1
- package/dist/lib/alibaba-token-plan.js +121 -285
- package/dist/lib/alibaba-token-plan.js.map +1 -1
- package/dist/lib/anthropic-auth.d.ts +3 -5
- package/dist/lib/anthropic-auth.d.ts.map +1 -1
- package/dist/lib/anthropic-auth.js +6 -9
- package/dist/lib/anthropic-auth.js.map +1 -1
- package/dist/lib/anthropic.d.ts +12 -37
- package/dist/lib/anthropic.d.ts.map +1 -1
- package/dist/lib/anthropic.js +348 -698
- package/dist/lib/anthropic.js.map +1 -1
- package/dist/lib/api-key-resolver.d.ts +165 -192
- package/dist/lib/api-key-resolver.d.ts.map +1 -1
- package/dist/lib/api-key-resolver.js +208 -234
- package/dist/lib/api-key-resolver.js.map +1 -1
- package/dist/lib/atomic-json.d.ts +4 -1
- package/dist/lib/atomic-json.d.ts.map +1 -1
- package/dist/lib/atomic-json.js +2 -3
- package/dist/lib/atomic-json.js.map +1 -1
- package/dist/lib/calendar-date.d.ts +15 -0
- package/dist/lib/calendar-date.d.ts.map +1 -0
- package/dist/lib/calendar-date.js +21 -0
- package/dist/lib/calendar-date.js.map +1 -0
- package/dist/lib/chutes.d.ts +0 -1
- package/dist/lib/chutes.d.ts.map +1 -1
- package/dist/lib/chutes.js +2 -4
- package/dist/lib/chutes.js.map +1 -1
- package/dist/lib/cli-reports.d.ts +15 -11
- package/dist/lib/cli-reports.d.ts.map +1 -1
- package/dist/lib/cli-reports.js +34 -107
- package/dist/lib/cli-reports.js.map +1 -1
- package/dist/lib/cli-show.d.ts +9 -22
- package/dist/lib/cli-show.d.ts.map +1 -1
- package/dist/lib/cli-show.js +104 -75
- package/dist/lib/cli-show.js.map +1 -1
- package/dist/lib/config-file-utils.d.ts +3 -15
- package/dist/lib/config-file-utils.d.ts.map +1 -1
- package/dist/lib/config-file-utils.js +4 -63
- package/dist/lib/config-file-utils.js.map +1 -1
- package/dist/lib/config-write-target.d.ts +4 -7
- package/dist/lib/config-write-target.d.ts.map +1 -1
- package/dist/lib/config-write-target.js +4 -18
- package/dist/lib/config-write-target.js.map +1 -1
- package/dist/lib/copilot.d.ts +29 -20
- package/dist/lib/copilot.d.ts.map +1 -1
- package/dist/lib/copilot.js +392 -649
- package/dist/lib/copilot.js.map +1 -1
- package/dist/lib/cursor-detection.d.ts +3 -3
- package/dist/lib/cursor-detection.d.ts.map +1 -1
- package/dist/lib/cursor-detection.js +44 -88
- package/dist/lib/cursor-detection.js.map +1 -1
- package/dist/lib/cursor-pricing.d.ts +71 -8
- package/dist/lib/cursor-pricing.d.ts.map +1 -1
- package/dist/lib/cursor-pricing.js +33 -125
- package/dist/lib/cursor-pricing.js.map +1 -1
- package/dist/lib/cursor-usage.d.ts +6 -4
- package/dist/lib/cursor-usage.d.ts.map +1 -1
- package/dist/lib/cursor-usage.js +27 -40
- package/dist/lib/cursor-usage.js.map +1 -1
- package/dist/lib/deepseek.d.ts +9 -17
- package/dist/lib/deepseek.d.ts.map +1 -1
- package/dist/lib/deepseek.js +24 -54
- package/dist/lib/deepseek.js.map +1 -1
- package/dist/lib/display-sanitize.d.ts +0 -8
- package/dist/lib/display-sanitize.d.ts.map +1 -1
- package/dist/lib/display-sanitize.js +0 -139
- package/dist/lib/display-sanitize.js.map +1 -1
- package/dist/lib/entries.d.ts +13 -239
- package/dist/lib/entries.d.ts.map +1 -1
- package/dist/lib/entries.js +1 -46
- package/dist/lib/entries.js.map +1 -1
- package/dist/lib/file-lock.d.ts +23 -0
- package/dist/lib/file-lock.d.ts.map +1 -0
- package/dist/lib/file-lock.js +122 -0
- package/dist/lib/file-lock.js.map +1 -0
- package/dist/lib/format-utils.d.ts +2 -82
- package/dist/lib/format-utils.d.ts.map +1 -1
- package/dist/lib/format-utils.js +2 -191
- package/dist/lib/format-utils.js.map +1 -1
- package/dist/lib/glm-coding-plan.d.ts +6 -5
- package/dist/lib/glm-coding-plan.d.ts.map +1 -1
- package/dist/lib/glm-coding-plan.js +19 -1
- package/dist/lib/glm-coding-plan.js.map +1 -1
- package/dist/lib/google-agy.d.ts +8 -40
- package/dist/lib/google-agy.d.ts.map +1 -1
- package/dist/lib/google-agy.js +88 -519
- package/dist/lib/google-agy.js.map +1 -1
- package/dist/lib/google-companion-credentials.d.ts +9 -40
- package/dist/lib/google-companion-credentials.d.ts.map +1 -1
- package/dist/lib/google-companion-credentials.js +167 -224
- package/dist/lib/google-companion-credentials.js.map +1 -1
- package/dist/lib/google-gemini-cli.d.ts +5 -38
- package/dist/lib/google-gemini-cli.d.ts.map +1 -1
- package/dist/lib/google-gemini-cli.js +71 -442
- package/dist/lib/google-gemini-cli.js.map +1 -1
- package/dist/lib/google-oauth-quota.d.ts +76 -0
- package/dist/lib/google-oauth-quota.d.ts.map +1 -0
- package/dist/lib/google-oauth-quota.js +297 -0
- package/dist/lib/google-oauth-quota.js.map +1 -0
- package/dist/lib/google-token-cache.d.ts +3 -5
- package/dist/lib/google-token-cache.d.ts.map +1 -1
- package/dist/lib/google-token-cache.js +2 -14
- package/dist/lib/google-token-cache.js.map +1 -1
- package/dist/lib/home-dir-display.d.ts.map +1 -1
- package/dist/lib/home-dir-display.js +21 -39
- package/dist/lib/home-dir-display.js.map +1 -1
- package/dist/lib/http.d.ts +4 -1
- package/dist/lib/http.d.ts.map +1 -1
- package/dist/lib/http.js +2 -1
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/json-guards.d.ts +11 -0
- package/dist/lib/json-guards.d.ts.map +1 -0
- package/dist/lib/json-guards.js +25 -0
- package/dist/lib/json-guards.js.map +1 -0
- package/dist/lib/kilo.d.ts +0 -2
- package/dist/lib/kilo.d.ts.map +1 -1
- package/dist/lib/kilo.js +33 -116
- package/dist/lib/kilo.js.map +1 -1
- package/dist/lib/kimi-endpoints.d.ts +2 -2
- package/dist/lib/kimi-endpoints.d.ts.map +1 -1
- package/dist/lib/kimi-endpoints.js +1 -1
- package/dist/lib/kimi-endpoints.js.map +1 -1
- package/dist/lib/kimi.d.ts.map +1 -1
- package/dist/lib/kimi.js +40 -86
- package/dist/lib/kimi.js.map +1 -1
- package/dist/lib/maintainer-announcements.d.ts +4 -17
- package/dist/lib/maintainer-announcements.d.ts.map +1 -1
- package/dist/lib/maintainer-announcements.js +7 -44
- package/dist/lib/maintainer-announcements.js.map +1 -1
- package/dist/lib/maintainer-home-notice.d.ts +19 -0
- package/dist/lib/maintainer-home-notice.d.ts.map +1 -0
- package/dist/lib/maintainer-home-notice.js +92 -0
- package/dist/lib/maintainer-home-notice.js.map +1 -0
- package/dist/lib/mimo-config.d.ts +6 -9
- package/dist/lib/mimo-config.d.ts.map +1 -1
- package/dist/lib/mimo-config.js +43 -74
- package/dist/lib/mimo-config.js.map +1 -1
- package/dist/lib/mimo.d.ts +2 -5
- package/dist/lib/mimo.d.ts.map +1 -1
- package/dist/lib/mimo.js +57 -109
- package/dist/lib/mimo.js.map +1 -1
- package/dist/lib/minimax-endpoints.d.ts +2 -2
- package/dist/lib/minimax-endpoints.d.ts.map +1 -1
- package/dist/lib/minimax-endpoints.js +1 -1
- package/dist/lib/minimax-endpoints.js.map +1 -1
- package/dist/lib/modelsdev-pricing.d.ts +22 -16
- package/dist/lib/modelsdev-pricing.d.ts.map +1 -1
- package/dist/lib/modelsdev-pricing.js +279 -560
- package/dist/lib/modelsdev-pricing.js.map +1 -1
- package/dist/lib/nanogpt.d.ts +6 -6
- package/dist/lib/nanogpt.d.ts.map +1 -1
- package/dist/lib/nanogpt.js +19 -72
- package/dist/lib/nanogpt.js.map +1 -1
- package/dist/lib/ollama-cloud.d.ts +3 -6
- package/dist/lib/ollama-cloud.d.ts.map +1 -1
- package/dist/lib/ollama-cloud.js +26 -37
- package/dist/lib/ollama-cloud.js.map +1 -1
- package/dist/lib/openai.d.ts +18 -29
- package/dist/lib/openai.d.ts.map +1 -1
- package/dist/lib/openai.js +108 -182
- package/dist/lib/openai.js.map +1 -1
- package/dist/lib/opencode-auth-sqlite.d.ts.map +1 -1
- package/dist/lib/opencode-auth-sqlite.js +22 -23
- package/dist/lib/opencode-auth-sqlite.js.map +1 -1
- package/dist/lib/opencode-auth.d.ts +17 -11
- package/dist/lib/opencode-auth.d.ts.map +1 -1
- package/dist/lib/opencode-auth.js +39 -46
- package/dist/lib/opencode-auth.js.map +1 -1
- package/dist/lib/opencode-config-editor.d.ts +3 -34
- package/dist/lib/opencode-config-editor.d.ts.map +1 -1
- package/dist/lib/opencode-config-editor.js +23 -142
- package/dist/lib/opencode-config-editor.js.map +1 -1
- package/dist/lib/opencode-config-providers.d.ts +4 -3
- package/dist/lib/opencode-config-providers.d.ts.map +1 -1
- package/dist/lib/opencode-config-providers.js +7 -11
- package/dist/lib/opencode-config-providers.js.map +1 -1
- package/dist/lib/opencode-config-read.d.ts +2 -1
- package/dist/lib/opencode-config-read.d.ts.map +1 -1
- package/dist/lib/opencode-config-read.js +3 -2
- package/dist/lib/opencode-config-read.js.map +1 -1
- package/dist/lib/opencode-console-auth.d.ts +2 -3
- package/dist/lib/opencode-console-auth.d.ts.map +1 -1
- package/dist/lib/opencode-console-auth.js +2 -2
- package/dist/lib/opencode-console-auth.js.map +1 -1
- package/dist/lib/opencode-go.d.ts.map +1 -1
- package/dist/lib/opencode-go.js +51 -79
- package/dist/lib/opencode-go.js.map +1 -1
- package/dist/lib/opencode-storage.d.ts +18 -3
- package/dist/lib/opencode-storage.d.ts.map +1 -1
- package/dist/lib/opencode-storage.js +134 -2
- package/dist/lib/opencode-storage.js.map +1 -1
- package/dist/lib/opencode-zen.d.ts +15 -12
- package/dist/lib/opencode-zen.d.ts.map +1 -1
- package/dist/lib/opencode-zen.js +139 -147
- package/dist/lib/opencode-zen.js.map +1 -1
- package/dist/lib/openrouter.d.ts.map +1 -1
- package/dist/lib/openrouter.js +1 -13
- package/dist/lib/openrouter.js.map +1 -1
- package/dist/lib/pricing-key.d.ts +48 -0
- package/dist/lib/pricing-key.d.ts.map +1 -0
- package/dist/lib/pricing-key.js +371 -0
- package/dist/lib/pricing-key.js.map +1 -0
- package/dist/lib/provider-metadata.d.ts +16 -20
- package/dist/lib/provider-metadata.d.ts.map +1 -1
- package/dist/lib/provider-metadata.js +69 -69
- package/dist/lib/provider-metadata.js.map +1 -1
- package/dist/lib/provider-model-matching.d.ts +2 -1
- package/dist/lib/provider-model-matching.d.ts.map +1 -1
- package/dist/lib/provider-registration.d.ts +1 -177
- package/dist/lib/provider-registration.d.ts.map +1 -1
- package/dist/lib/provider-registration.js +1 -163
- package/dist/lib/provider-registration.js.map +1 -1
- package/dist/lib/quota-dialog-commands.d.ts +87 -53
- package/dist/lib/quota-dialog-commands.d.ts.map +1 -1
- package/dist/lib/quota-dialog-commands.js +259 -519
- package/dist/lib/quota-dialog-commands.js.map +1 -1
- package/dist/lib/quota-export-types.d.ts +29 -23
- package/dist/lib/quota-export-types.d.ts.map +1 -1
- package/dist/lib/quota-export.d.ts +16 -26
- package/dist/lib/quota-export.d.ts.map +1 -1
- package/dist/lib/quota-export.js +105 -147
- package/dist/lib/quota-export.js.map +1 -1
- package/dist/lib/quota-providers-local.d.ts +12 -8
- package/dist/lib/quota-providers-local.d.ts.map +1 -1
- package/dist/lib/quota-providers-local.js +150 -223
- package/dist/lib/quota-providers-local.js.map +1 -1
- package/dist/lib/quota-providers-remote.d.ts +3 -8
- package/dist/lib/quota-providers-remote.d.ts.map +1 -1
- package/dist/lib/quota-providers-remote.js +309 -449
- package/dist/lib/quota-providers-remote.js.map +1 -1
- package/dist/lib/quota-providers.d.ts +57 -15
- package/dist/lib/quota-providers.d.ts.map +1 -1
- package/dist/lib/quota-providers.js +157 -64
- package/dist/lib/quota-providers.js.map +1 -1
- package/dist/lib/quota-report-message.d.ts +23 -10
- package/dist/lib/quota-report-message.d.ts.map +1 -1
- package/dist/lib/quota-report-message.js +37 -13
- package/dist/lib/quota-report-message.js.map +1 -1
- package/dist/lib/quota-retry-wait.d.ts +14 -6
- package/dist/lib/quota-retry-wait.d.ts.map +1 -1
- package/dist/lib/quota-retry-wait.js +37 -39
- package/dist/lib/quota-retry-wait.js.map +1 -1
- package/dist/lib/quota-status.d.ts +50 -33
- package/dist/lib/quota-status.d.ts.map +1 -1
- package/dist/lib/quota-status.js +1113 -773
- package/dist/lib/quota-status.js.map +1 -1
- package/dist/lib/quota-telemetry.d.ts +7 -14
- package/dist/lib/quota-telemetry.d.ts.map +1 -1
- package/dist/lib/quota-telemetry.js +46 -97
- package/dist/lib/quota-telemetry.js.map +1 -1
- package/dist/lib/report-document.d.ts +5 -65
- package/dist/lib/report-document.d.ts.map +1 -1
- package/dist/lib/report-document.js +14 -167
- package/dist/lib/report-document.js.map +1 -1
- package/dist/lib/resolved-auth-identity.d.ts +1 -2
- package/dist/lib/resolved-auth-identity.d.ts.map +1 -1
- package/dist/lib/resolved-auth-identity.js +0 -4
- package/dist/lib/resolved-auth-identity.js.map +1 -1
- package/dist/lib/session-tokens.d.ts +19 -19
- package/dist/lib/session-tokens.d.ts.map +1 -1
- package/dist/lib/session-tokens.js +58 -44
- package/dist/lib/session-tokens.js.map +1 -1
- package/dist/lib/synthetic.d.ts +0 -1
- package/dist/lib/synthetic.d.ts.map +1 -1
- package/dist/lib/synthetic.js +43 -94
- package/dist/lib/synthetic.js.map +1 -1
- package/dist/lib/token-buckets.d.ts +0 -1
- package/dist/lib/token-buckets.d.ts.map +1 -1
- package/dist/lib/token-buckets.js +0 -3
- package/dist/lib/token-buckets.js.map +1 -1
- package/dist/lib/token-cost.d.ts +2 -1
- package/dist/lib/token-cost.d.ts.map +1 -1
- package/dist/lib/types.d.ts +25 -333
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +2 -70
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/xai.d.ts +6 -6
- package/dist/lib/xai.d.ts.map +1 -1
- package/dist/lib/xai.js +51 -90
- package/dist/lib/xai.js.map +1 -1
- package/dist/plugin.d.ts +6 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +315 -90
- package/dist/plugin.js.map +1 -1
- package/dist/providers/alibaba-coding-plan.d.ts +4 -0
- package/dist/providers/alibaba-coding-plan.d.ts.map +1 -1
- package/dist/providers/alibaba-coding-plan.js +47 -77
- package/dist/providers/alibaba-coding-plan.js.map +1 -1
- package/dist/providers/alibaba-token-plan.d.ts.map +1 -1
- package/dist/providers/alibaba-token-plan.js +34 -46
- package/dist/providers/alibaba-token-plan.js.map +1 -1
- package/dist/providers/anthropic.d.ts +2 -4
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +80 -162
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/cache-policies.d.ts +0 -2
- package/dist/providers/cache-policies.d.ts.map +1 -1
- package/dist/providers/cache-policies.js +38 -88
- package/dist/providers/cache-policies.js.map +1 -1
- package/dist/providers/chutes.d.ts +0 -3
- package/dist/providers/chutes.d.ts.map +1 -1
- package/dist/providers/chutes.js +16 -28
- package/dist/providers/chutes.js.map +1 -1
- package/dist/providers/contract.d.ts +128 -0
- package/dist/providers/contract.d.ts.map +1 -0
- package/dist/providers/contract.js +101 -0
- package/dist/providers/contract.js.map +1 -0
- package/dist/providers/copilot.d.ts.map +1 -1
- package/dist/providers/copilot.js +171 -175
- package/dist/providers/copilot.js.map +1 -1
- package/dist/providers/cursor.d.ts.map +1 -1
- package/dist/providers/cursor.js +56 -109
- package/dist/providers/cursor.js.map +1 -1
- package/dist/providers/deepseek.d.ts +1 -6
- package/dist/providers/deepseek.d.ts.map +1 -1
- package/dist/providers/deepseek.js +46 -81
- package/dist/providers/deepseek.js.map +1 -1
- package/dist/providers/glm-coding-plan.d.ts +8 -0
- package/dist/providers/glm-coding-plan.d.ts.map +1 -0
- package/dist/providers/glm-coding-plan.js +106 -0
- package/dist/providers/glm-coding-plan.js.map +1 -0
- package/dist/providers/google-agy.d.ts +0 -1
- package/dist/providers/google-agy.d.ts.map +1 -1
- package/dist/providers/google-agy.js +41 -192
- package/dist/providers/google-agy.js.map +1 -1
- package/dist/providers/google-gemini-cli.d.ts.map +1 -1
- package/dist/providers/google-gemini-cli.js +51 -151
- package/dist/providers/google-gemini-cli.js.map +1 -1
- package/dist/providers/google-oauth-provider.d.ts +39 -0
- package/dist/providers/google-oauth-provider.d.ts.map +1 -0
- package/dist/providers/google-oauth-provider.js +161 -0
- package/dist/providers/google-oauth-provider.js.map +1 -0
- package/dist/providers/kilo.d.ts +0 -3
- package/dist/providers/kilo.d.ts.map +1 -1
- package/dist/providers/kilo.js +69 -123
- package/dist/providers/kilo.js.map +1 -1
- package/dist/providers/kimi-code.d.ts +5 -0
- package/dist/providers/kimi-code.d.ts.map +1 -1
- package/dist/providers/kimi-code.js +91 -136
- package/dist/providers/kimi-code.js.map +1 -1
- package/dist/providers/mimo.d.ts.map +1 -1
- package/dist/providers/mimo.js +55 -94
- package/dist/providers/mimo.js.map +1 -1
- package/dist/providers/minimax-coding-plan.d.ts +2 -23
- package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
- package/dist/providers/minimax-coding-plan.js +161 -277
- package/dist/providers/minimax-coding-plan.js.map +1 -1
- package/dist/providers/nanogpt.d.ts +0 -3
- package/dist/providers/nanogpt.d.ts.map +1 -1
- package/dist/providers/nanogpt.js +61 -95
- package/dist/providers/nanogpt.js.map +1 -1
- package/dist/providers/ollama-cloud.d.ts +0 -6
- package/dist/providers/ollama-cloud.d.ts.map +1 -1
- package/dist/providers/ollama-cloud.js +86 -112
- package/dist/providers/ollama-cloud.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +144 -166
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/opencode-go.d.ts.map +1 -1
- package/dist/providers/opencode-go.js +157 -199
- package/dist/providers/opencode-go.js.map +1 -1
- package/dist/providers/opencode-zen.d.ts.map +1 -1
- package/dist/providers/opencode-zen.js +100 -150
- package/dist/providers/opencode-zen.js.map +1 -1
- package/dist/providers/openrouter.d.ts +0 -3
- package/dist/providers/openrouter.d.ts.map +1 -1
- package/dist/providers/openrouter.js +26 -13
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/quota-providers.d.ts +7 -3
- package/dist/providers/quota-providers.d.ts.map +1 -1
- package/dist/providers/quota-providers.js +111 -217
- package/dist/providers/quota-providers.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +1 -2
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/result-helpers.d.ts +10 -37
- package/dist/providers/result-helpers.d.ts.map +1 -1
- package/dist/providers/result-helpers.js +23 -56
- package/dist/providers/result-helpers.js.map +1 -1
- package/dist/providers/synthetic.d.ts +0 -3
- package/dist/providers/synthetic.d.ts.map +1 -1
- package/dist/providers/synthetic.js +16 -58
- package/dist/providers/synthetic.js.map +1 -1
- package/dist/providers/xai.d.ts +2 -1
- package/dist/providers/xai.d.ts.map +1 -1
- package/dist/providers/xai.js +49 -71
- package/dist/providers/xai.js.map +1 -1
- package/dist/rpc.d.ts +110 -38
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +125 -37
- package/dist/rpc.js.map +1 -1
- package/dist/settings/convert.d.ts +60 -0
- package/dist/settings/convert.d.ts.map +1 -0
- package/dist/settings/convert.js +473 -0
- package/dist/settings/convert.js.map +1 -0
- package/dist/settings/file.d.ts +89 -0
- package/dist/settings/file.d.ts.map +1 -0
- package/dist/settings/file.js +452 -0
- package/dist/settings/file.js.map +1 -0
- package/dist/settings/index.d.ts +10 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +3 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/schema.d.ts +607 -0
- package/dist/settings/schema.d.ts.map +1 -0
- package/dist/settings/schema.js +479 -0
- package/dist/settings/schema.js.map +1 -0
- package/dist/tui/client.d.ts +86 -0
- package/dist/tui/client.d.ts.map +1 -0
- package/dist/tui/client.js +229 -0
- package/dist/tui/client.js.map +1 -0
- package/dist/tui/display.d.ts +127 -0
- package/dist/tui/display.d.ts.map +1 -0
- package/dist/tui/display.js +474 -0
- package/dist/tui/display.js.map +1 -0
- package/dist/tui/index.d.ts +21 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +305 -0
- package/dist/tui/server-settings.d.ts +43 -0
- package/dist/tui/server-settings.d.ts.map +1 -0
- package/dist/tui/server-settings.js +233 -0
- package/dist/tui/server-settings.js.map +1 -0
- package/dist/tui/sidebar.d.ts +41 -0
- package/dist/tui/sidebar.d.ts.map +1 -0
- package/dist/tui/sidebar.js +148 -0
- package/dist/tui/status-line.d.ts +14 -0
- package/dist/tui/status-line.d.ts.map +1 -0
- package/dist/tui/status-line.js +225 -0
- package/dist/tui/theme.d.ts +41 -0
- package/dist/tui/theme.d.ts.map +1 -0
- package/dist/tui/theme.js +52 -0
- package/dist/tui/theme.js.map +1 -0
- package/dist/tui/toast-colors.d.ts +37 -0
- package/dist/tui/toast-colors.d.ts.map +1 -0
- package/dist/tui/toast-colors.js +77 -0
- package/dist/tui/toasts.d.ts +59 -0
- package/dist/tui/toasts.d.ts.map +1 -0
- package/dist/tui/toasts.js +148 -0
- package/dist/tui/toasts.js.map +1 -0
- package/dist/tui/window/drag.d.ts +26 -0
- package/dist/tui/window/drag.d.ts.map +1 -0
- package/dist/tui/window/drag.js +80 -0
- package/dist/tui/window/drag.js.map +1 -0
- package/dist/tui/window/limits.d.ts +15 -0
- package/dist/tui/window/limits.d.ts.map +1 -0
- package/dist/tui/window/limits.js +227 -0
- package/dist/tui/window/limits.js.map +1 -0
- package/dist/tui/window/rail.d.ts +21 -0
- package/dist/tui/window/rail.d.ts.map +1 -0
- package/dist/tui/window/rail.js +81 -0
- package/dist/tui/window/settings.d.ts +164 -0
- package/dist/tui/window/settings.d.ts.map +1 -0
- package/dist/tui/window/settings.js +1679 -0
- package/dist/tui/window/shell.d.ts +108 -0
- package/dist/tui/window/shell.d.ts.map +1 -0
- package/dist/tui/window/shell.js +1003 -0
- package/dist/tui/window/usage.d.ts +75 -0
- package/dist/tui/window/usage.d.ts.map +1 -0
- package/dist/tui/window/usage.js +928 -0
- package/dist/tui/window/views.d.ts +61 -0
- package/dist/tui/window/views.d.ts.map +1 -0
- package/dist/tui/window/views.js +242 -0
- package/dist/tui.d.ts +1 -5
- package/dist/tui.js +1 -894
- package/dist/view/columns.d.ts +15 -0
- package/dist/view/columns.d.ts.map +1 -0
- package/dist/view/columns.js +48 -0
- package/dist/view/columns.js.map +1 -0
- package/dist/view/format.d.ts +82 -0
- package/dist/view/format.d.ts.map +1 -0
- package/dist/view/format.js +201 -0
- package/dist/view/format.js.map +1 -0
- package/dist/view/quick-look.d.ts +28 -0
- package/dist/view/quick-look.d.ts.map +1 -0
- package/dist/view/quick-look.js +150 -0
- package/dist/view/quick-look.js.map +1 -0
- package/dist/view/select.d.ts +67 -0
- package/dist/view/select.d.ts.map +1 -0
- package/dist/view/select.js +87 -0
- package/dist/view/select.js.map +1 -0
- package/dist/view/text.d.ts +153 -0
- package/dist/view/text.d.ts.map +1 -0
- package/dist/view/text.js +642 -0
- package/dist/view/text.js.map +1 -0
- package/dist/view/usage.d.ts +86 -0
- package/dist/view/usage.d.ts.map +1 -0
- package/dist/view/usage.js +724 -0
- package/dist/view/usage.js.map +1 -0
- package/package.json +4 -6
- package/dist/lib/chutes-config.d.ts +0 -15
- package/dist/lib/chutes-config.d.ts.map +0 -1
- package/dist/lib/chutes-config.js +0 -28
- package/dist/lib/chutes-config.js.map +0 -1
- package/dist/lib/cli-status.d.ts +0 -8
- package/dist/lib/cli-status.d.ts.map +0 -1
- package/dist/lib/cli-status.js +0 -98
- package/dist/lib/cli-status.js.map +0 -1
- package/dist/lib/command-parsing.d.ts +0 -43
- package/dist/lib/command-parsing.d.ts.map +0 -1
- package/dist/lib/command-parsing.js +0 -103
- package/dist/lib/command-parsing.js.map +0 -1
- package/dist/lib/config.d.ts +0 -63
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -1092
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/deepseek-auth.d.ts +0 -15
- package/dist/lib/deepseek-auth.d.ts.map +0 -1
- package/dist/lib/deepseek-auth.js +0 -28
- package/dist/lib/deepseek-auth.js.map +0 -1
- package/dist/lib/format.d.ts +0 -25
- package/dist/lib/format.d.ts.map +0 -1
- package/dist/lib/format.js +0 -300
- package/dist/lib/format.js.map +0 -1
- package/dist/lib/google-agy-companion.d.ts +0 -8
- package/dist/lib/google-agy-companion.d.ts.map +0 -1
- package/dist/lib/google-agy-companion.js +0 -64
- package/dist/lib/google-agy-companion.js.map +0 -1
- package/dist/lib/google-gemini-cli-companion.d.ts +0 -8
- package/dist/lib/google-gemini-cli-companion.d.ts.map +0 -1
- package/dist/lib/google-gemini-cli-companion.js +0 -64
- package/dist/lib/google-gemini-cli-companion.js.map +0 -1
- package/dist/lib/grouped-entry-normalization.d.ts +0 -12
- package/dist/lib/grouped-entry-normalization.d.ts.map +0 -1
- package/dist/lib/grouped-entry-normalization.js +0 -124
- package/dist/lib/grouped-entry-normalization.js.map +0 -1
- package/dist/lib/grouped-header-format.d.ts +0 -5
- package/dist/lib/grouped-header-format.d.ts.map +0 -1
- package/dist/lib/grouped-header-format.js +0 -16
- package/dist/lib/grouped-header-format.js.map +0 -1
- package/dist/lib/init-installer.d.ts +0 -123
- package/dist/lib/init-installer.d.ts.map +0 -1
- package/dist/lib/init-installer.js +0 -1111
- package/dist/lib/init-installer.js.map +0 -1
- package/dist/lib/jsonc.d.ts +0 -17
- package/dist/lib/jsonc.d.ts.map +0 -1
- package/dist/lib/jsonc.js +0 -23
- package/dist/lib/jsonc.js.map +0 -1
- package/dist/lib/kilo-config.d.ts +0 -15
- package/dist/lib/kilo-config.d.ts.map +0 -1
- package/dist/lib/kilo-config.js +0 -27
- package/dist/lib/kilo-config.js.map +0 -1
- package/dist/lib/kimi-auth.d.ts +0 -49
- package/dist/lib/kimi-auth.d.ts.map +0 -1
- package/dist/lib/kimi-auth.js +0 -82
- package/dist/lib/kimi-auth.js.map +0 -1
- package/dist/lib/markdown-table.d.ts +0 -51
- package/dist/lib/markdown-table.d.ts.map +0 -1
- package/dist/lib/markdown-table.js +0 -179
- package/dist/lib/markdown-table.js.map +0 -1
- package/dist/lib/minimax-auth.d.ts +0 -62
- package/dist/lib/minimax-auth.d.ts.map +0 -1
- package/dist/lib/minimax-auth.js +0 -206
- package/dist/lib/minimax-auth.js.map +0 -1
- package/dist/lib/nanogpt-config.d.ts +0 -15
- package/dist/lib/nanogpt-config.d.ts.map +0 -1
- package/dist/lib/nanogpt-config.js +0 -31
- package/dist/lib/nanogpt-config.js.map +0 -1
- package/dist/lib/ollama-cloud-config.d.ts +0 -15
- package/dist/lib/ollama-cloud-config.d.ts.map +0 -1
- package/dist/lib/ollama-cloud-config.js +0 -27
- package/dist/lib/ollama-cloud-config.js.map +0 -1
- package/dist/lib/opencode-go-auth.d.ts +0 -16
- package/dist/lib/opencode-go-auth.d.ts.map +0 -1
- package/dist/lib/opencode-go-auth.js +0 -42
- package/dist/lib/opencode-go-auth.js.map +0 -1
- package/dist/lib/opencode-version.d.ts +0 -6
- package/dist/lib/opencode-version.d.ts.map +0 -1
- package/dist/lib/opencode-version.js +0 -26
- package/dist/lib/opencode-version.js.map +0 -1
- package/dist/lib/provider-add-command.d.ts +0 -35
- package/dist/lib/provider-add-command.d.ts.map +0 -1
- package/dist/lib/provider-add-command.js +0 -204
- package/dist/lib/provider-add-command.js.map +0 -1
- package/dist/lib/provider-add-json-v1-questionnaire.d.ts +0 -32
- package/dist/lib/provider-add-json-v1-questionnaire.d.ts.map +0 -1
- package/dist/lib/provider-add-json-v1-questionnaire.js +0 -336
- package/dist/lib/provider-add-json-v1-questionnaire.js.map +0 -1
- package/dist/lib/provider-add.d.ts +0 -21
- package/dist/lib/provider-add.d.ts.map +0 -1
- package/dist/lib/provider-add.js +0 -219
- package/dist/lib/provider-add.js.map +0 -1
- package/dist/lib/quota-accounting-projection.d.ts +0 -9
- package/dist/lib/quota-accounting-projection.d.ts.map +0 -1
- package/dist/lib/quota-accounting-projection.js +0 -254
- package/dist/lib/quota-accounting-projection.js.map +0 -1
- package/dist/lib/quota-columns.d.ts +0 -38
- package/dist/lib/quota-columns.d.ts.map +0 -1
- package/dist/lib/quota-columns.js +0 -129
- package/dist/lib/quota-columns.js.map +0 -1
- package/dist/lib/quota-command-format.d.ts +0 -34
- package/dist/lib/quota-command-format.d.ts.map +0 -1
- package/dist/lib/quota-command-format.js +0 -240
- package/dist/lib/quota-command-format.js.map +0 -1
- package/dist/lib/quota-dialog-command-specs.d.ts +0 -63
- package/dist/lib/quota-dialog-command-specs.d.ts.map +0 -1
- package/dist/lib/quota-dialog-command-specs.js +0 -145
- package/dist/lib/quota-dialog-command-specs.js.map +0 -1
- package/dist/lib/quota-entry-display.d.ts +0 -7
- package/dist/lib/quota-entry-display.d.ts.map +0 -1
- package/dist/lib/quota-entry-display.js +0 -59
- package/dist/lib/quota-entry-display.js.map +0 -1
- package/dist/lib/quota-exhaustion-projection.d.ts +0 -11
- package/dist/lib/quota-exhaustion-projection.d.ts.map +0 -1
- package/dist/lib/quota-exhaustion-projection.js +0 -105
- package/dist/lib/quota-exhaustion-projection.js.map +0 -1
- package/dist/lib/quota-format-style.d.ts +0 -21
- package/dist/lib/quota-format-style.d.ts.map +0 -1
- package/dist/lib/quota-format-style.js +0 -38
- package/dist/lib/quota-format-style.js.map +0 -1
- package/dist/lib/quota-render-data.d.ts +0 -102
- package/dist/lib/quota-render-data.d.ts.map +0 -1
- package/dist/lib/quota-render-data.js +0 -419
- package/dist/lib/quota-render-data.js.map +0 -1
- package/dist/lib/quota-reset-notifications.d.ts +0 -20
- package/dist/lib/quota-reset-notifications.d.ts.map +0 -1
- package/dist/lib/quota-reset-notifications.js +0 -331
- package/dist/lib/quota-reset-notifications.js.map +0 -1
- package/dist/lib/quota-runtime-context.d.ts +0 -54
- package/dist/lib/quota-runtime-context.d.ts.map +0 -1
- package/dist/lib/quota-runtime-context.js +0 -110
- package/dist/lib/quota-runtime-context.js.map +0 -1
- package/dist/lib/quota-state-codec.d.ts +0 -16
- package/dist/lib/quota-state-codec.d.ts.map +0 -1
- package/dist/lib/quota-state-codec.js +0 -412
- package/dist/lib/quota-state-codec.js.map +0 -1
- package/dist/lib/quota-state.d.ts +0 -28
- package/dist/lib/quota-state.d.ts.map +0 -1
- package/dist/lib/quota-state.js +0 -473
- package/dist/lib/quota-state.js.map +0 -1
- package/dist/lib/quota-stats-format.d.ts +0 -29
- package/dist/lib/quota-stats-format.d.ts.map +0 -1
- package/dist/lib/quota-stats-format.js +0 -459
- package/dist/lib/quota-stats-format.js.map +0 -1
- package/dist/lib/quota-stats.d.ts +0 -126
- package/dist/lib/quota-stats.d.ts.map +0 -1
- package/dist/lib/quota-stats.js +0 -695
- package/dist/lib/quota-stats.js.map +0 -1
- package/dist/lib/quota-surface-data.d.ts +0 -21
- package/dist/lib/quota-surface-data.d.ts.map +0 -1
- package/dist/lib/quota-surface-data.js +0 -362
- package/dist/lib/quota-surface-data.js.map +0 -1
- package/dist/lib/scoped-update-migration.d.ts +0 -103
- package/dist/lib/scoped-update-migration.d.ts.map +0 -1
- package/dist/lib/scoped-update-migration.js +0 -344
- package/dist/lib/scoped-update-migration.js.map +0 -1
- package/dist/lib/scoped-update.d.ts +0 -77
- package/dist/lib/scoped-update.d.ts.map +0 -1
- package/dist/lib/scoped-update.js +0 -590
- package/dist/lib/scoped-update.js.map +0 -1
- package/dist/lib/session-tokens-format.d.ts +0 -36
- package/dist/lib/session-tokens-format.d.ts.map +0 -1
- package/dist/lib/session-tokens-format.js +0 -111
- package/dist/lib/session-tokens-format.js.map +0 -1
- package/dist/lib/synthetic-config.d.ts +0 -15
- package/dist/lib/synthetic-config.d.ts.map +0 -1
- package/dist/lib/synthetic-config.js +0 -28
- package/dist/lib/synthetic-config.js.map +0 -1
- package/dist/lib/toast-format-grouped.d.ts +0 -25
- package/dist/lib/toast-format-grouped.d.ts.map +0 -1
- package/dist/lib/toast-format-grouped.js +0 -296
- package/dist/lib/toast-format-grouped.js.map +0 -1
- package/dist/lib/tui-compact-format.d.ts +0 -10
- package/dist/lib/tui-compact-format.d.ts.map +0 -1
- package/dist/lib/tui-compact-format.js +0 -460
- package/dist/lib/tui-compact-format.js.map +0 -1
- package/dist/lib/tui-panel-state.d.ts +0 -15
- package/dist/lib/tui-panel-state.d.ts.map +0 -1
- package/dist/lib/tui-panel-state.js +0 -2
- package/dist/lib/tui-panel-state.js.map +0 -1
- package/dist/lib/tui-prompt-bar-format.d.ts +0 -25
- package/dist/lib/tui-prompt-bar-format.d.ts.map +0 -1
- package/dist/lib/tui-prompt-bar-format.js +0 -206
- package/dist/lib/tui-prompt-bar-format.js.map +0 -1
- package/dist/lib/tui-sidebar-format.d.ts +0 -13
- package/dist/lib/tui-sidebar-format.d.ts.map +0 -1
- package/dist/lib/tui-sidebar-format.js +0 -34
- package/dist/lib/tui-sidebar-format.js.map +0 -1
- package/dist/lib/zai-auth.d.ts +0 -15
- package/dist/lib/zai-auth.d.ts.map +0 -1
- package/dist/lib/zai-auth.js +0 -37
- package/dist/lib/zai-auth.js.map +0 -1
- package/dist/lib/zai.d.ts +0 -5
- package/dist/lib/zai.d.ts.map +0 -1
- package/dist/lib/zai.js +0 -14
- package/dist/lib/zai.js.map +0 -1
- package/dist/lib/zhipu-auth.d.ts +0 -15
- package/dist/lib/zhipu-auth.d.ts.map +0 -1
- package/dist/lib/zhipu-auth.js +0 -42
- package/dist/lib/zhipu-auth.js.map +0 -1
- package/dist/lib/zhipu.d.ts +0 -5
- package/dist/lib/zhipu.d.ts.map +0 -1
- package/dist/lib/zhipu.js +0 -13
- package/dist/lib/zhipu.js.map +0 -1
- package/dist/providers/glm-coding-plan-provider.d.ts +0 -56
- package/dist/providers/glm-coding-plan-provider.d.ts.map +0 -1
- package/dist/providers/glm-coding-plan-provider.js +0 -115
- package/dist/providers/glm-coding-plan-provider.js.map +0 -1
- package/dist/providers/google-account-format.d.ts +0 -7
- package/dist/providers/google-account-format.d.ts.map +0 -1
- package/dist/providers/google-account-format.js +0 -52
- package/dist/providers/google-account-format.js.map +0 -1
- package/dist/providers/zai.d.ts +0 -2
- package/dist/providers/zai.d.ts.map +0 -1
- package/dist/providers/zai.js +0 -24
- package/dist/providers/zai.js.map +0 -1
- package/dist/providers/zhipu.d.ts +0 -2
- package/dist/providers/zhipu.d.ts.map +0 -1
- package/dist/providers/zhipu.js +0 -21
- package/dist/providers/zhipu.js.map +0 -1
- package/dist/tui-v2.d.ts +0 -5
- package/dist/tui-v2.d.ts.map +0 -1
- package/dist/tui-v2.jsx +0 -624
- package/dist/tui-v2.jsx.map +0 -1
- package/dist/tui.d.ts.map +0 -1
|
@@ -0,0 +1,607 @@
|
|
|
1
|
+
import type { Node } from "jsonc-parser";
|
|
2
|
+
import type { QuotaWindow } from "../core/types.js";
|
|
3
|
+
import { describeQuotaProviderRequest, type QuotaProviderDefinition } from "../lib/quota-providers.js";
|
|
4
|
+
type NumberBounds = {
|
|
5
|
+
min?: number;
|
|
6
|
+
above?: number;
|
|
7
|
+
max?: number;
|
|
8
|
+
};
|
|
9
|
+
export type SettingRule = ({
|
|
10
|
+
kind: "boolean";
|
|
11
|
+
} | {
|
|
12
|
+
kind: "choice";
|
|
13
|
+
values: readonly string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* `above` is an exclusive lower bound, `min` and `max` inclusive ones. `word` is a word the
|
|
17
|
+
* setting takes instead of a number ("fill").
|
|
18
|
+
*/
|
|
19
|
+
| ({
|
|
20
|
+
kind: "number";
|
|
21
|
+
integer: boolean;
|
|
22
|
+
nullable?: boolean;
|
|
23
|
+
word?: string;
|
|
24
|
+
} & NumberBounds)
|
|
25
|
+
/** An absolute or `~/` path without `..`; also "" or a command name when allowed. */
|
|
26
|
+
| {
|
|
27
|
+
kind: "path";
|
|
28
|
+
allowEmpty?: boolean;
|
|
29
|
+
allowCommand?: boolean;
|
|
30
|
+
} | {
|
|
31
|
+
kind: "providers" | "customProviders" | "strings" | "names" | "rowOrder" | "window" | "color" | "separator";
|
|
32
|
+
}) & {
|
|
33
|
+
default: unknown;
|
|
34
|
+
/** Only the file sets it (by hand or by an agent): `saveSettings` needs `allowFileOnly`. */
|
|
35
|
+
fileOnly?: boolean;
|
|
36
|
+
};
|
|
37
|
+
/** The names a color setting takes besides "#rrggbb": theme colors, and the row's bar color. */
|
|
38
|
+
export declare const THEME_COLOR_NAMES: readonly string[];
|
|
39
|
+
/** Every setting by its dotted key with its default, in the order a new file lists them. */
|
|
40
|
+
export declare const SETTINGS_SCHEMA: {
|
|
41
|
+
readonly version: {
|
|
42
|
+
readonly kind: "number";
|
|
43
|
+
readonly integer: true;
|
|
44
|
+
readonly min: number;
|
|
45
|
+
readonly max: number | undefined;
|
|
46
|
+
readonly default: 6;
|
|
47
|
+
};
|
|
48
|
+
readonly "sidebar.show": {
|
|
49
|
+
readonly kind: "boolean";
|
|
50
|
+
readonly default: boolean;
|
|
51
|
+
};
|
|
52
|
+
readonly "sidebar.sessionTokens": {
|
|
53
|
+
readonly kind: "boolean";
|
|
54
|
+
readonly default: boolean;
|
|
55
|
+
};
|
|
56
|
+
readonly "sidebar.runsOut": {
|
|
57
|
+
readonly kind: "boolean";
|
|
58
|
+
readonly default: boolean;
|
|
59
|
+
};
|
|
60
|
+
readonly "sidebar.hidden": {
|
|
61
|
+
readonly kind: "strings";
|
|
62
|
+
readonly default: readonly [];
|
|
63
|
+
};
|
|
64
|
+
readonly "sidebar.providerOrder": {
|
|
65
|
+
readonly kind: "strings";
|
|
66
|
+
readonly default: readonly [];
|
|
67
|
+
};
|
|
68
|
+
readonly "sidebar.rowOrder": {
|
|
69
|
+
readonly kind: "rowOrder";
|
|
70
|
+
readonly default: {};
|
|
71
|
+
};
|
|
72
|
+
readonly "sidebar.names": {
|
|
73
|
+
readonly kind: "names";
|
|
74
|
+
readonly default: {};
|
|
75
|
+
};
|
|
76
|
+
readonly "collapsed.show": {
|
|
77
|
+
readonly kind: "boolean";
|
|
78
|
+
readonly default: boolean;
|
|
79
|
+
};
|
|
80
|
+
readonly "collapsed.runsOut": {
|
|
81
|
+
readonly kind: "boolean";
|
|
82
|
+
readonly default: boolean;
|
|
83
|
+
};
|
|
84
|
+
readonly "collapsed.hidden": {
|
|
85
|
+
readonly kind: "strings";
|
|
86
|
+
readonly default: readonly [];
|
|
87
|
+
};
|
|
88
|
+
readonly "collapsed.providerOrder": {
|
|
89
|
+
readonly kind: "strings";
|
|
90
|
+
readonly default: readonly [];
|
|
91
|
+
};
|
|
92
|
+
readonly "collapsed.rowOrder": {
|
|
93
|
+
readonly kind: "rowOrder";
|
|
94
|
+
readonly default: {};
|
|
95
|
+
};
|
|
96
|
+
/** A window by provider id; `ALL_PROVIDERS` ("*") for every provider without its own. */
|
|
97
|
+
readonly "collapsed.window": {
|
|
98
|
+
readonly kind: "window";
|
|
99
|
+
readonly default: {};
|
|
100
|
+
};
|
|
101
|
+
readonly "statusLine.show": {
|
|
102
|
+
readonly kind: "boolean";
|
|
103
|
+
readonly default: boolean;
|
|
104
|
+
};
|
|
105
|
+
/** Also while a sidebar panel shows quota; else only when none is on screen. */
|
|
106
|
+
readonly "statusLine.withSidebar": {
|
|
107
|
+
readonly kind: "boolean";
|
|
108
|
+
readonly default: boolean;
|
|
109
|
+
};
|
|
110
|
+
readonly "statusLine.runsOut": {
|
|
111
|
+
readonly kind: "boolean";
|
|
112
|
+
readonly default: boolean;
|
|
113
|
+
};
|
|
114
|
+
readonly "statusLine.hidden": {
|
|
115
|
+
readonly kind: "strings";
|
|
116
|
+
readonly default: readonly [];
|
|
117
|
+
};
|
|
118
|
+
readonly "statusLine.providerOrder": {
|
|
119
|
+
readonly kind: "strings";
|
|
120
|
+
readonly default: readonly [];
|
|
121
|
+
};
|
|
122
|
+
readonly "statusLine.rowOrder": {
|
|
123
|
+
readonly kind: "rowOrder";
|
|
124
|
+
readonly default: {};
|
|
125
|
+
};
|
|
126
|
+
readonly "statusLine.window": {
|
|
127
|
+
readonly kind: "window";
|
|
128
|
+
readonly default: {};
|
|
129
|
+
};
|
|
130
|
+
readonly "statusLine.detail": {
|
|
131
|
+
readonly kind: "choice";
|
|
132
|
+
readonly values: readonly ["auto", "one", "full", "bar", "reset", "numbers"];
|
|
133
|
+
readonly default: "auto" | "bar" | "full" | "numbers" | "one" | "reset";
|
|
134
|
+
};
|
|
135
|
+
readonly "statusLine.width": {
|
|
136
|
+
readonly kind: "number";
|
|
137
|
+
readonly integer: true;
|
|
138
|
+
readonly min: number;
|
|
139
|
+
readonly max: number | undefined;
|
|
140
|
+
readonly default: 0;
|
|
141
|
+
};
|
|
142
|
+
readonly "statusLine.autoScrollSeconds": {
|
|
143
|
+
readonly kind: "number";
|
|
144
|
+
readonly integer: true;
|
|
145
|
+
readonly min: number;
|
|
146
|
+
readonly max: number | undefined;
|
|
147
|
+
readonly default: 0;
|
|
148
|
+
};
|
|
149
|
+
readonly "statusLine.home": {
|
|
150
|
+
readonly kind: "boolean";
|
|
151
|
+
readonly default: boolean;
|
|
152
|
+
};
|
|
153
|
+
readonly "toast.show": {
|
|
154
|
+
readonly kind: "boolean";
|
|
155
|
+
readonly default: boolean;
|
|
156
|
+
};
|
|
157
|
+
readonly "toast.runsOut": {
|
|
158
|
+
readonly kind: "boolean";
|
|
159
|
+
readonly default: boolean;
|
|
160
|
+
};
|
|
161
|
+
readonly "toast.hidden": {
|
|
162
|
+
readonly kind: "strings";
|
|
163
|
+
readonly default: readonly [];
|
|
164
|
+
};
|
|
165
|
+
readonly "toast.providerOrder": {
|
|
166
|
+
readonly kind: "strings";
|
|
167
|
+
readonly default: readonly [];
|
|
168
|
+
};
|
|
169
|
+
readonly "toast.rowOrder": {
|
|
170
|
+
readonly kind: "rowOrder";
|
|
171
|
+
readonly default: {};
|
|
172
|
+
};
|
|
173
|
+
readonly "toast.names": {
|
|
174
|
+
readonly kind: "names";
|
|
175
|
+
readonly default: {};
|
|
176
|
+
};
|
|
177
|
+
readonly "toast.afterReply": {
|
|
178
|
+
readonly kind: "choice";
|
|
179
|
+
readonly values: readonly ["off", "always", "low"];
|
|
180
|
+
readonly default: "always" | "low" | "off";
|
|
181
|
+
};
|
|
182
|
+
readonly "toast.afterQuestion": {
|
|
183
|
+
readonly kind: "boolean";
|
|
184
|
+
readonly default: boolean;
|
|
185
|
+
};
|
|
186
|
+
readonly "toast.afterCompaction": {
|
|
187
|
+
readonly kind: "boolean";
|
|
188
|
+
readonly default: boolean;
|
|
189
|
+
};
|
|
190
|
+
readonly "toast.whenAllFail": {
|
|
191
|
+
readonly kind: "boolean";
|
|
192
|
+
readonly default: boolean;
|
|
193
|
+
};
|
|
194
|
+
readonly "toast.resetNotice": {
|
|
195
|
+
readonly kind: "choice";
|
|
196
|
+
readonly values: readonly ["off", "weekly", "all"];
|
|
197
|
+
readonly default: "all" | "off" | "weekly";
|
|
198
|
+
};
|
|
199
|
+
/** "grouped": a line per row under its provider; "detailed": v5's two lines per row. */
|
|
200
|
+
readonly "toast.layout": {
|
|
201
|
+
readonly kind: "choice";
|
|
202
|
+
readonly values: readonly ["grouped", "detailed"];
|
|
203
|
+
readonly default: "detailed" | "grouped";
|
|
204
|
+
};
|
|
205
|
+
readonly "toast.seconds": {
|
|
206
|
+
readonly kind: "number";
|
|
207
|
+
readonly integer: true;
|
|
208
|
+
readonly min: number;
|
|
209
|
+
readonly max: number | undefined;
|
|
210
|
+
readonly default: 9;
|
|
211
|
+
};
|
|
212
|
+
readonly "toast.sessionTokens": {
|
|
213
|
+
readonly kind: "boolean";
|
|
214
|
+
readonly default: boolean;
|
|
215
|
+
};
|
|
216
|
+
readonly "colors.good": {
|
|
217
|
+
readonly kind: "color";
|
|
218
|
+
readonly default: undefined;
|
|
219
|
+
};
|
|
220
|
+
readonly "colors.warning": {
|
|
221
|
+
readonly kind: "color";
|
|
222
|
+
readonly default: undefined;
|
|
223
|
+
};
|
|
224
|
+
readonly "colors.low": {
|
|
225
|
+
readonly kind: "color";
|
|
226
|
+
readonly default: undefined;
|
|
227
|
+
};
|
|
228
|
+
readonly "colors.empty": {
|
|
229
|
+
readonly kind: "color";
|
|
230
|
+
readonly default: undefined;
|
|
231
|
+
};
|
|
232
|
+
readonly "colors.title": {
|
|
233
|
+
readonly kind: "color";
|
|
234
|
+
readonly default: undefined;
|
|
235
|
+
};
|
|
236
|
+
readonly "colors.provider": {
|
|
237
|
+
readonly kind: "color";
|
|
238
|
+
readonly default: undefined;
|
|
239
|
+
};
|
|
240
|
+
readonly "colors.account": {
|
|
241
|
+
readonly kind: "color";
|
|
242
|
+
readonly default: undefined;
|
|
243
|
+
};
|
|
244
|
+
readonly "colors.label": {
|
|
245
|
+
readonly kind: "color";
|
|
246
|
+
readonly default: undefined;
|
|
247
|
+
};
|
|
248
|
+
readonly "colors.percent": {
|
|
249
|
+
readonly kind: "color";
|
|
250
|
+
readonly default: undefined;
|
|
251
|
+
};
|
|
252
|
+
readonly "colors.reset": {
|
|
253
|
+
readonly kind: "color";
|
|
254
|
+
readonly default: undefined;
|
|
255
|
+
};
|
|
256
|
+
readonly "colors.value": {
|
|
257
|
+
readonly kind: "color";
|
|
258
|
+
readonly default: undefined;
|
|
259
|
+
};
|
|
260
|
+
readonly "colors.error": {
|
|
261
|
+
readonly kind: "color";
|
|
262
|
+
readonly default: undefined;
|
|
263
|
+
};
|
|
264
|
+
readonly "colors.statusName": {
|
|
265
|
+
readonly kind: "color";
|
|
266
|
+
readonly default: undefined;
|
|
267
|
+
};
|
|
268
|
+
readonly "colors.separator": {
|
|
269
|
+
readonly kind: "color";
|
|
270
|
+
readonly default: undefined;
|
|
271
|
+
};
|
|
272
|
+
readonly "colors.arrows": {
|
|
273
|
+
readonly kind: "color";
|
|
274
|
+
readonly default: undefined;
|
|
275
|
+
};
|
|
276
|
+
readonly "colors.warningBelow": {
|
|
277
|
+
readonly kind: "number";
|
|
278
|
+
readonly integer: true;
|
|
279
|
+
readonly min: number;
|
|
280
|
+
readonly max: number | undefined;
|
|
281
|
+
readonly default: 50;
|
|
282
|
+
};
|
|
283
|
+
readonly "colors.lowBelow": {
|
|
284
|
+
readonly kind: "number";
|
|
285
|
+
readonly integer: true;
|
|
286
|
+
readonly min: number;
|
|
287
|
+
readonly max: number | undefined;
|
|
288
|
+
readonly default: 20;
|
|
289
|
+
};
|
|
290
|
+
readonly "layout.bar": {
|
|
291
|
+
readonly kind: "choice";
|
|
292
|
+
readonly values: readonly ["blocks", "shades", "line", "squares", "dots", "none"];
|
|
293
|
+
readonly default: "blocks" | "dots" | "line" | "none" | "shades" | "squares";
|
|
294
|
+
};
|
|
295
|
+
/** "fill": the room the other columns leave, up to each place's most. */
|
|
296
|
+
readonly "layout.barWidth": {
|
|
297
|
+
readonly kind: "number";
|
|
298
|
+
readonly integer: true;
|
|
299
|
+
readonly min: number;
|
|
300
|
+
readonly max: number | undefined;
|
|
301
|
+
readonly word: "fill";
|
|
302
|
+
readonly default: "fill";
|
|
303
|
+
};
|
|
304
|
+
/** The ┃ mark where even use would be, in every place's bars (the Limits tab always has it). */
|
|
305
|
+
readonly "layout.evenUse": {
|
|
306
|
+
readonly kind: "boolean";
|
|
307
|
+
readonly default: boolean;
|
|
308
|
+
};
|
|
309
|
+
readonly "layout.indent": {
|
|
310
|
+
readonly kind: "number";
|
|
311
|
+
readonly integer: true;
|
|
312
|
+
readonly min: number;
|
|
313
|
+
readonly max: number | undefined;
|
|
314
|
+
readonly default: 1;
|
|
315
|
+
};
|
|
316
|
+
readonly "layout.labelWidth": {
|
|
317
|
+
readonly kind: "number";
|
|
318
|
+
readonly integer: true;
|
|
319
|
+
readonly min: number;
|
|
320
|
+
readonly max: number | undefined;
|
|
321
|
+
readonly default: 8;
|
|
322
|
+
};
|
|
323
|
+
readonly "layout.providerGap": {
|
|
324
|
+
readonly kind: "number";
|
|
325
|
+
readonly integer: true;
|
|
326
|
+
readonly min: number;
|
|
327
|
+
readonly max: number | undefined;
|
|
328
|
+
readonly default: 1;
|
|
329
|
+
};
|
|
330
|
+
readonly "layout.separator": {
|
|
331
|
+
readonly kind: "separator";
|
|
332
|
+
readonly default: " · ";
|
|
333
|
+
};
|
|
334
|
+
/** The words every client uses: "58% left", "58% remaining", "58%", or "42% used". */
|
|
335
|
+
readonly "words.percent": {
|
|
336
|
+
readonly kind: "choice";
|
|
337
|
+
readonly values: readonly ["left", "remaining", "bare", "used"];
|
|
338
|
+
readonly default: "bare" | "left" | "remaining" | "used";
|
|
339
|
+
};
|
|
340
|
+
/** "4.5d" (smart), "2h 14m", "2h14m", "2h", or "2.2h" (with `resetDecimals`). */
|
|
341
|
+
readonly "words.reset": {
|
|
342
|
+
readonly kind: "choice";
|
|
343
|
+
readonly values: readonly ["smart", "exact", "compact", "short", "decimal"];
|
|
344
|
+
readonly default: "compact" | "decimal" | "exact" | "short" | "smart";
|
|
345
|
+
};
|
|
346
|
+
readonly "words.resetDecimals": {
|
|
347
|
+
readonly kind: "number";
|
|
348
|
+
readonly integer: true;
|
|
349
|
+
readonly min: number;
|
|
350
|
+
readonly max: number | undefined;
|
|
351
|
+
readonly default: 1;
|
|
352
|
+
};
|
|
353
|
+
/** Rows named by their window ("5h", "7d") where that tells them apart, or by their labels. */
|
|
354
|
+
readonly "words.rowNames": {
|
|
355
|
+
readonly kind: "choice";
|
|
356
|
+
readonly values: readonly ["short", "full"];
|
|
357
|
+
readonly default: "full" | "short";
|
|
358
|
+
};
|
|
359
|
+
/** "detailed" also shows supplementary rows. */
|
|
360
|
+
readonly "words.detail": {
|
|
361
|
+
readonly kind: "choice";
|
|
362
|
+
readonly values: readonly ["summary", "detailed"];
|
|
363
|
+
readonly default: "detailed" | "summary";
|
|
364
|
+
};
|
|
365
|
+
/** Show only the providers serving the session's current model. */
|
|
366
|
+
readonly "words.onlyCurrentModel": {
|
|
367
|
+
readonly kind: "boolean";
|
|
368
|
+
readonly default: boolean;
|
|
369
|
+
};
|
|
370
|
+
/** Session tokens of this session, or with its subagents. */
|
|
371
|
+
readonly "words.sessionTokens": {
|
|
372
|
+
readonly kind: "choice";
|
|
373
|
+
readonly values: readonly ["current", "tree"];
|
|
374
|
+
readonly default: "current" | "tree";
|
|
375
|
+
};
|
|
376
|
+
readonly "providers.off": {
|
|
377
|
+
readonly kind: "providers";
|
|
378
|
+
readonly default: readonly [];
|
|
379
|
+
};
|
|
380
|
+
readonly "providers.custom": {
|
|
381
|
+
readonly kind: "customProviders";
|
|
382
|
+
readonly default: readonly [];
|
|
383
|
+
readonly fileOnly: true;
|
|
384
|
+
};
|
|
385
|
+
/** The Claude CLI quota runs for Claude limits. */
|
|
386
|
+
readonly "providers.anthropic.binaryPath": {
|
|
387
|
+
readonly kind: "path";
|
|
388
|
+
readonly allowCommand: true;
|
|
389
|
+
readonly default: "claude";
|
|
390
|
+
readonly fileOnly: true;
|
|
391
|
+
};
|
|
392
|
+
readonly "providers.cursor.plan": {
|
|
393
|
+
readonly kind: "choice";
|
|
394
|
+
readonly values: readonly ["none", "pro", "pro-plus", "ultra"];
|
|
395
|
+
readonly default: "none" | "pro" | "pro-plus" | "ultra";
|
|
396
|
+
};
|
|
397
|
+
readonly "providers.cursor.includedApiUsd": {
|
|
398
|
+
readonly kind: "number";
|
|
399
|
+
readonly integer: false;
|
|
400
|
+
readonly above: 0;
|
|
401
|
+
readonly nullable: true;
|
|
402
|
+
readonly default: null;
|
|
403
|
+
};
|
|
404
|
+
readonly "providers.cursor.billingCycleStartDay": {
|
|
405
|
+
readonly kind: "number";
|
|
406
|
+
readonly integer: true;
|
|
407
|
+
readonly min: number;
|
|
408
|
+
readonly max: number | undefined;
|
|
409
|
+
readonly nullable: true;
|
|
410
|
+
readonly default: null;
|
|
411
|
+
};
|
|
412
|
+
readonly "providers.opencode.monthlyLimitUsd": {
|
|
413
|
+
readonly kind: "number";
|
|
414
|
+
readonly integer: false;
|
|
415
|
+
readonly above: 0;
|
|
416
|
+
readonly nullable: true;
|
|
417
|
+
readonly default: null;
|
|
418
|
+
};
|
|
419
|
+
readonly "providers.checking.minIntervalMs": {
|
|
420
|
+
readonly kind: "number";
|
|
421
|
+
readonly integer: false;
|
|
422
|
+
readonly above: 0;
|
|
423
|
+
readonly default: number;
|
|
424
|
+
};
|
|
425
|
+
readonly "providers.checking.requestTimeoutMs": {
|
|
426
|
+
readonly kind: "number";
|
|
427
|
+
readonly integer: false;
|
|
428
|
+
readonly above: 0;
|
|
429
|
+
readonly default: number;
|
|
430
|
+
};
|
|
431
|
+
readonly "providers.checking.waitForQuotaReset": {
|
|
432
|
+
readonly kind: "boolean";
|
|
433
|
+
readonly default: boolean;
|
|
434
|
+
};
|
|
435
|
+
readonly "providers.pricing.source": {
|
|
436
|
+
readonly kind: "choice";
|
|
437
|
+
readonly values: readonly ["auto", "bundled", "runtime"];
|
|
438
|
+
readonly default: "auto" | "bundled" | "runtime";
|
|
439
|
+
};
|
|
440
|
+
readonly "providers.pricing.autoRefreshDays": {
|
|
441
|
+
readonly kind: "number";
|
|
442
|
+
readonly integer: true;
|
|
443
|
+
readonly min: number;
|
|
444
|
+
readonly max: number | undefined;
|
|
445
|
+
readonly default: 7;
|
|
446
|
+
};
|
|
447
|
+
readonly "system.exportFile": {
|
|
448
|
+
readonly kind: "boolean";
|
|
449
|
+
readonly default: boolean;
|
|
450
|
+
};
|
|
451
|
+
/** "" = `$XDG_CACHE_HOME/opencode/quota-export.json`. */
|
|
452
|
+
readonly "system.exportPath": {
|
|
453
|
+
readonly kind: "path";
|
|
454
|
+
readonly allowEmpty: true;
|
|
455
|
+
readonly default: "";
|
|
456
|
+
readonly fileOnly: true;
|
|
457
|
+
};
|
|
458
|
+
readonly "system.telemetry": {
|
|
459
|
+
readonly kind: "boolean";
|
|
460
|
+
readonly default: boolean;
|
|
461
|
+
};
|
|
462
|
+
/** The 4.x and 5.x /tokens_* commands, each `/quota_usage` on its range. */
|
|
463
|
+
readonly "system.oldCommands": {
|
|
464
|
+
readonly kind: "boolean";
|
|
465
|
+
readonly default: boolean;
|
|
466
|
+
};
|
|
467
|
+
};
|
|
468
|
+
type KindValue = {
|
|
469
|
+
boolean: boolean;
|
|
470
|
+
number: number;
|
|
471
|
+
path: string;
|
|
472
|
+
providers: string[];
|
|
473
|
+
strings: string[];
|
|
474
|
+
names: Record<string, string>;
|
|
475
|
+
rowOrder: Record<string, string[]>;
|
|
476
|
+
window: Record<string, "lowest" | QuotaWindow>;
|
|
477
|
+
color: "text" | "muted" | "accent" | "green" | "yellow" | "red" | "blue" | "bar" | `#${string}` | undefined;
|
|
478
|
+
separator: string;
|
|
479
|
+
customProviders: QuotaProviderDefinition[];
|
|
480
|
+
};
|
|
481
|
+
type ValueOf<R> = R extends {
|
|
482
|
+
values: readonly (infer V)[];
|
|
483
|
+
} ? V : R extends {
|
|
484
|
+
word: infer W extends string;
|
|
485
|
+
} ? number | W : R extends {
|
|
486
|
+
nullable: true;
|
|
487
|
+
} ? number | null : R extends {
|
|
488
|
+
kind: infer K extends keyof KindValue;
|
|
489
|
+
} ? KindValue[K] : never;
|
|
490
|
+
type Head<K> = K extends `${infer Group}.${string}` ? Group : K;
|
|
491
|
+
type Under<T, Group extends string> = {
|
|
492
|
+
[K in keyof T as K extends `${Group}.${infer Rest}` ? Rest : never]: T[K];
|
|
493
|
+
};
|
|
494
|
+
/** `{ "a.b": X }` as `{ a: { b: X } }`. */
|
|
495
|
+
type Nest<T> = {
|
|
496
|
+
[K in keyof T as Head<K>]: K extends `${infer Group}.${string}` ? Nest<Under<T, Group>> : T[K];
|
|
497
|
+
};
|
|
498
|
+
type Schema = typeof SETTINGS_SCHEMA;
|
|
499
|
+
export type Settings = Nest<{
|
|
500
|
+
-readonly [K in keyof Schema]: ValueOf<Schema[K]>;
|
|
501
|
+
}>;
|
|
502
|
+
type Patch<T> = T extends readonly unknown[] ? T : T extends object ? {
|
|
503
|
+
[K in keyof T]?: Patch<T[K]> | null;
|
|
504
|
+
} : T;
|
|
505
|
+
/** A JSON merge patch of the settings: objects merge, null resets a key or a whole group. */
|
|
506
|
+
export type SettingsPatch = Patch<Settings>;
|
|
507
|
+
export type PercentStyle = Settings["words"]["percent"];
|
|
508
|
+
export type ResetStyle = Settings["words"]["reset"];
|
|
509
|
+
export type CursorPlan = Settings["providers"]["cursor"]["plan"];
|
|
510
|
+
export declare function defaultSettings(): Settings;
|
|
511
|
+
export declare function isSettingsGroup(key: string): boolean;
|
|
512
|
+
/** Whether `key` is a file-only setting or a group that holds one. */
|
|
513
|
+
export declare function isFileOnly(key: string): boolean;
|
|
514
|
+
/** The names directly inside `group` ("" = the top level), in file order. */
|
|
515
|
+
export declare function keysUnder(group: string): string[];
|
|
516
|
+
/** Provider ids `providers.off` accepts; `custom` switches all custom providers off. */
|
|
517
|
+
export declare const PROVIDER_IDS: readonly string[];
|
|
518
|
+
/** What a rule accepts, in words, for issue messages and the agent tools. */
|
|
519
|
+
export declare function describeRule(rule: SettingRule): string;
|
|
520
|
+
export type SettingsIssue = {
|
|
521
|
+
key: string;
|
|
522
|
+
message: string;
|
|
523
|
+
};
|
|
524
|
+
/** A checked value: `value` to use when present, and what was wrong with it. */
|
|
525
|
+
export type CheckedSetting = {
|
|
526
|
+
value?: unknown;
|
|
527
|
+
issues: SettingsIssue[];
|
|
528
|
+
};
|
|
529
|
+
export declare function isRecordSetting(key: string): boolean;
|
|
530
|
+
/** Checks one value against its rule; `key` must be in SETTINGS_SCHEMA. */
|
|
531
|
+
export declare function checkSetting(key: string, value: unknown): CheckedSetting;
|
|
532
|
+
/** One `key: value` a file or a patch sets, in the order it sets them. */
|
|
533
|
+
type Assignment = {
|
|
534
|
+
key: string;
|
|
535
|
+
value: unknown;
|
|
536
|
+
};
|
|
537
|
+
/** How to walk a value: plain JSON values, or jsonc-parser nodes (which keep duplicate keys). */
|
|
538
|
+
type Walker<T> = {
|
|
539
|
+
entries(value: T): Array<[string, T]> | undefined;
|
|
540
|
+
leaf(value: T): unknown;
|
|
541
|
+
};
|
|
542
|
+
export declare const PLAIN_WALKER: Walker<unknown>;
|
|
543
|
+
export declare const NODE_WALKER: Walker<Node>;
|
|
544
|
+
/** A file sets a key twice: reading uses the last valid value, saving refuses. */
|
|
545
|
+
export declare const DUPLICATE_KEY = "duplicate key; the last valid value is used";
|
|
546
|
+
/** A name with a dot ("words.percent") is not read (settings nest), and saving refuses it. */
|
|
547
|
+
export declare const DOTTED_KEY = "a key with a dot is not read";
|
|
548
|
+
/**
|
|
549
|
+
* The settings an object sets, as dotted keys in order. Unknown, duplicate and dotted keys
|
|
550
|
+
* become issues; a group set to something other than an object becomes an assignment of the group
|
|
551
|
+
* key, so the caller decides (an issue when reading, a reset when a patch says null). An issue
|
|
552
|
+
* names a settings key, or the position of a name that is not one: a name that is not a setting
|
|
553
|
+
* is never repeated, so a secret typed as a key name stays out of every message.
|
|
554
|
+
*/
|
|
555
|
+
export declare function flattenSettings<T>(walker: Walker<T>, value: T, prefix?: string): {
|
|
556
|
+
assignments: Assignment[];
|
|
557
|
+
issues: SettingsIssue[];
|
|
558
|
+
};
|
|
559
|
+
/** Sets a dotted key in a nested object, making the groups on the way. */
|
|
560
|
+
export declare function setPath(target: object, key: string, value: unknown): void;
|
|
561
|
+
/**
|
|
562
|
+
* The defaults with every valid assignment applied in order. An invalid value is reported and
|
|
563
|
+
* changes nothing, so a bad value later in the file never replaces a good one before it.
|
|
564
|
+
*/
|
|
565
|
+
export declare function settingsFrom(assignments: readonly Assignment[]): {
|
|
566
|
+
settings: Settings;
|
|
567
|
+
issues: SettingsIssue[];
|
|
568
|
+
fromFile: string[];
|
|
569
|
+
};
|
|
570
|
+
/** Every setting whose value differs between `before` and `after`. */
|
|
571
|
+
export declare function diffSettings(before: Settings, after: Settings): Array<{
|
|
572
|
+
key: string;
|
|
573
|
+
before: unknown;
|
|
574
|
+
after: unknown;
|
|
575
|
+
}>;
|
|
576
|
+
/** A custom provider as the quota window's Providers tab shows it, with its on/off switch. */
|
|
577
|
+
export type CustomProviderSwitch = {
|
|
578
|
+
id: string;
|
|
579
|
+
label: string;
|
|
580
|
+
enabled: boolean;
|
|
581
|
+
/** Where it sends its key, and which key; null for a local estimate, which sends nothing. */
|
|
582
|
+
request: ReturnType<typeof describeQuotaProviderRequest>;
|
|
583
|
+
/** `customProviderFingerprint`: switching it on sends it back, so it is this definition. */
|
|
584
|
+
fingerprint: string;
|
|
585
|
+
};
|
|
586
|
+
/** Why a custom provider is not switched on: its definition is not the one the user saw. */
|
|
587
|
+
export declare const CHANGED_SINCE_REVIEW = "changed since you reviewed it; look again";
|
|
588
|
+
/**
|
|
589
|
+
* A hash of what the user checks before switching a custom provider on (`request`) and of the
|
|
590
|
+
* fields that decide where its request goes and which key it reads.
|
|
591
|
+
*/
|
|
592
|
+
export declare function customProviderFingerprint(definition: QuotaProviderDefinition): string;
|
|
593
|
+
/** The file settings a client shows and edits in the quota window. */
|
|
594
|
+
export type ClientSettings = {
|
|
595
|
+
/** Every setting but `version` and the file-only ones, by dotted key ("words.percent"). */
|
|
596
|
+
values: Record<string, unknown>;
|
|
597
|
+
/** The ids `providers.off` takes, with their names. */
|
|
598
|
+
providers: Array<{
|
|
599
|
+
id: string;
|
|
600
|
+
label: string;
|
|
601
|
+
}>;
|
|
602
|
+
/** The custom providers in settings.jsonc, without the maintained tunings. */
|
|
603
|
+
custom: CustomProviderSwitch[];
|
|
604
|
+
};
|
|
605
|
+
export declare function clientSettings(settings: Settings): ClientSettings;
|
|
606
|
+
export {};
|
|
607
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/settings/schema.ts"],"names":[],"mappings":"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"}
|