@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
|
@@ -5,16 +5,8 @@
|
|
|
5
5
|
* remote/provider error text cannot inject terminal control codes into
|
|
6
6
|
* toasts or transcript output.
|
|
7
7
|
*/
|
|
8
|
-
import type { QuotaProviderResult, QuotaToastEntry, QuotaToastError, SessionTokensData } from "./entries.js";
|
|
9
|
-
import type { QuotaRenderData } from "./quota-render-data.js";
|
|
10
8
|
export declare function sanitizeDisplayText(text: string): string;
|
|
11
9
|
export declare function sanitizeSingleLineDisplayText(text: string): string;
|
|
12
10
|
export declare function sanitizeDisplaySnippet(text: string, maxLength: number): string;
|
|
13
11
|
export declare function sanitizeSingleLineDisplaySnippet(text: string, maxLength: number): string;
|
|
14
|
-
export declare function sanitizeOptionalDisplayText(value?: string): string | undefined;
|
|
15
|
-
export declare function sanitizeQuotaToastEntry(entry: QuotaToastEntry): QuotaToastEntry;
|
|
16
|
-
export declare function sanitizeQuotaToastError(error: QuotaToastError): QuotaToastError;
|
|
17
|
-
export declare function sanitizeQuotaProviderResult(result: QuotaProviderResult): QuotaProviderResult;
|
|
18
|
-
export declare function sanitizeSessionTokensData(data?: SessionTokensData): SessionTokensData | undefined;
|
|
19
|
-
export declare function sanitizeQuotaRenderData(data: QuotaRenderData): QuotaRenderData;
|
|
20
12
|
//# sourceMappingURL=display-sanitize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-sanitize.d.ts","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"display-sanitize.d.ts","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExF"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* remote/provider error text cannot inject terminal control codes into
|
|
6
6
|
* toasts or transcript output.
|
|
7
7
|
*/
|
|
8
|
-
import { cloneAccountingBasisFact, cloneAccountingQuantity, cloneAccountingSemantic, cloneQuotaToastEntry, isPercentEntry, isQuantityEntry, isValueEntry, } from "./entries.js";
|
|
9
8
|
// Remove terminal escape sequences (CSI/OSC/DCS/APC/PM/SOS) and other control
|
|
10
9
|
// characters except newline/tab so provider text cannot inject terminal actions.
|
|
11
10
|
// eslint-disable-next-line no-control-regex
|
|
@@ -24,142 +23,4 @@ export function sanitizeDisplaySnippet(text, maxLength) {
|
|
|
24
23
|
export function sanitizeSingleLineDisplaySnippet(text, maxLength) {
|
|
25
24
|
return sanitizeSingleLineDisplayText(text).slice(0, maxLength);
|
|
26
25
|
}
|
|
27
|
-
export function sanitizeOptionalDisplayText(value) {
|
|
28
|
-
return typeof value === "string" ? sanitizeDisplayText(value) : undefined;
|
|
29
|
-
}
|
|
30
|
-
function sanitizeAccountingQuantity(quantity) {
|
|
31
|
-
if (quantity.unit.kind !== "custom")
|
|
32
|
-
return cloneAccountingQuantity(quantity);
|
|
33
|
-
return {
|
|
34
|
-
decimal: quantity.decimal,
|
|
35
|
-
unit: {
|
|
36
|
-
kind: "custom",
|
|
37
|
-
symbol: sanitizeSingleLineDisplayText(quantity.unit.symbol),
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
function sanitizeAccountingSemantic(semantic) {
|
|
42
|
-
const cloned = cloneAccountingSemantic(semantic);
|
|
43
|
-
if (cloned.metric.kind !== "named")
|
|
44
|
-
return cloned;
|
|
45
|
-
return {
|
|
46
|
-
...cloned,
|
|
47
|
-
metric: {
|
|
48
|
-
kind: "named",
|
|
49
|
-
name: sanitizeSingleLineDisplayText(cloned.metric.name),
|
|
50
|
-
},
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function sanitizeAccountingBasis(basis) {
|
|
54
|
-
const sanitizeFact = (fact) => ({
|
|
55
|
-
...cloneAccountingBasisFact(fact),
|
|
56
|
-
quantity: sanitizeAccountingQuantity(fact.quantity),
|
|
57
|
-
});
|
|
58
|
-
return {
|
|
59
|
-
...(basis.used ? { used: sanitizeFact(basis.used) } : {}),
|
|
60
|
-
...(basis.limit ? { limit: sanitizeFact(basis.limit) } : {}),
|
|
61
|
-
...(basis.remaining ? { remaining: sanitizeFact(basis.remaining) } : {}),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
export function sanitizeQuotaToastEntry(entry) {
|
|
65
|
-
const sanitized = cloneQuotaToastEntry(entry);
|
|
66
|
-
sanitized.name = sanitizeDisplayText(entry.name);
|
|
67
|
-
if (entry.group !== undefined)
|
|
68
|
-
sanitized.group = sanitizeDisplayText(entry.group);
|
|
69
|
-
if (entry.label !== undefined)
|
|
70
|
-
sanitized.label = sanitizeDisplayText(entry.label);
|
|
71
|
-
if (entry.metricLabel !== undefined) {
|
|
72
|
-
sanitized.metricLabel = sanitizeDisplayText(entry.metricLabel);
|
|
73
|
-
}
|
|
74
|
-
if (entry.right !== undefined)
|
|
75
|
-
sanitized.right = sanitizeDisplayText(entry.right);
|
|
76
|
-
if (entry.semantic)
|
|
77
|
-
sanitized.semantic = sanitizeAccountingSemantic(entry.semantic);
|
|
78
|
-
if (isValueEntry(sanitized)) {
|
|
79
|
-
sanitized.value = sanitizeDisplayText(sanitized.value);
|
|
80
|
-
}
|
|
81
|
-
else if (isQuantityEntry(sanitized)) {
|
|
82
|
-
sanitized.quantity = sanitizeAccountingQuantity(sanitized.quantity);
|
|
83
|
-
}
|
|
84
|
-
else if (isPercentEntry(sanitized) && sanitized.basis) {
|
|
85
|
-
sanitized.basis = sanitizeAccountingBasis(sanitized.basis);
|
|
86
|
-
}
|
|
87
|
-
return sanitized;
|
|
88
|
-
}
|
|
89
|
-
export function sanitizeQuotaToastError(error) {
|
|
90
|
-
return {
|
|
91
|
-
label: sanitizeDisplayText(error.label),
|
|
92
|
-
message: sanitizeDisplayText(error.message),
|
|
93
|
-
...(error.retryable === true ? { retryable: true } : {}),
|
|
94
|
-
...(error.kind ? { kind: error.kind } : {}),
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
export function sanitizeQuotaProviderResult(result) {
|
|
98
|
-
return {
|
|
99
|
-
attempted: result.attempted,
|
|
100
|
-
entries: result.entries.map(sanitizeQuotaToastEntry),
|
|
101
|
-
errors: result.errors.map(sanitizeQuotaToastError),
|
|
102
|
-
...(result.diagnostics
|
|
103
|
-
? {
|
|
104
|
-
diagnostics: result.diagnostics.map((diagnostic) => ({
|
|
105
|
-
...diagnostic,
|
|
106
|
-
modelIds: diagnostic.modelIds ? [...diagnostic.modelIds] : null,
|
|
107
|
-
checkedPaths: [...diagnostic.checkedPaths],
|
|
108
|
-
credentialDatabasePaths: [...diagnostic.credentialDatabasePaths],
|
|
109
|
-
})),
|
|
110
|
-
}
|
|
111
|
-
: {}),
|
|
112
|
-
...(result.statusDetails
|
|
113
|
-
? {
|
|
114
|
-
statusDetails: result.statusDetails.map((detail) => ({
|
|
115
|
-
key: sanitizeDisplayText(detail.key),
|
|
116
|
-
value: sanitizeDisplayText(detail.value),
|
|
117
|
-
})),
|
|
118
|
-
}
|
|
119
|
-
: {}),
|
|
120
|
-
...(result.rawDetails
|
|
121
|
-
? {
|
|
122
|
-
rawDetails: result.rawDetails.map((detail) => ({
|
|
123
|
-
key: sanitizeDisplayText(detail.key),
|
|
124
|
-
value: sanitizeDisplayText(detail.value),
|
|
125
|
-
})),
|
|
126
|
-
}
|
|
127
|
-
: {}),
|
|
128
|
-
...(result.presentation
|
|
129
|
-
? {
|
|
130
|
-
presentation: {
|
|
131
|
-
...result.presentation,
|
|
132
|
-
...(result.presentation.singleWindowDisplayName !== undefined
|
|
133
|
-
? {
|
|
134
|
-
singleWindowDisplayName: sanitizeDisplayText(result.presentation.singleWindowDisplayName),
|
|
135
|
-
}
|
|
136
|
-
: {}),
|
|
137
|
-
...(result.presentation.redundantQuotaFamily !== undefined
|
|
138
|
-
? {
|
|
139
|
-
redundantQuotaFamily: sanitizeDisplayText(result.presentation.redundantQuotaFamily),
|
|
140
|
-
}
|
|
141
|
-
: {}),
|
|
142
|
-
},
|
|
143
|
-
}
|
|
144
|
-
: {}),
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
export function sanitizeSessionTokensData(data) {
|
|
148
|
-
if (!data)
|
|
149
|
-
return undefined;
|
|
150
|
-
return {
|
|
151
|
-
...data,
|
|
152
|
-
models: data.models.map((model) => ({
|
|
153
|
-
...model,
|
|
154
|
-
modelID: sanitizeDisplayText(model.modelID),
|
|
155
|
-
})),
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
export function sanitizeQuotaRenderData(data) {
|
|
159
|
-
return {
|
|
160
|
-
entries: data.entries.map(sanitizeQuotaToastEntry),
|
|
161
|
-
errors: data.errors.map(sanitizeQuotaToastError),
|
|
162
|
-
sessionTokens: sanitizeSessionTokensData(data.sessionTokens),
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
26
|
//# sourceMappingURL=display-sanitize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-sanitize.js","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"display-sanitize.js","sourceRoot":"","sources":["../../src/lib/display-sanitize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,8EAA8E;AAC9E,iFAAiF;AACjF,4CAA4C;AAC5C,MAAM,0BAA0B,GAC9B,uIAAuI,CAAC;AAC1I,4CAA4C;AAC5C,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AAEpE,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,SAAiB;IACpE,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAY,EAAE,SAAiB;IAC9E,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/lib/entries.d.ts
CHANGED
|
@@ -1,237 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The provider interface and what a provider is given. Providers return the row contract
|
|
3
|
+
* (`ProviderFetchResult`, see `providers/contract.ts`).
|
|
4
|
+
*/
|
|
5
|
+
import type { ProviderFetchResult } from "../providers/contract.js";
|
|
6
|
+
import type { CursorQuotaPlan } from "./cursor-pricing.js";
|
|
1
7
|
import type { QuotaProviderDefinition } from "./quota-providers.js";
|
|
2
|
-
import type { QuotaTelemetryToken } from "./quota-telemetry.js";
|
|
3
8
|
import type { ResolvedAuthIdentity } from "./resolved-auth-identity.js";
|
|
4
9
|
import type { RuntimeProviderIdResolver } from "./runtime-provider-ids.js";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Normalized quota output model.
|
|
8
|
-
*
|
|
9
|
-
* Providers should map their internal quota shapes into these types so that
|
|
10
|
-
* formatting and toast display stays universal across providers.
|
|
11
|
-
*/
|
|
12
|
-
export type AccountingResultType = "quota" | "rate_limit" | "usage" | "spend" | "budget" | "balance" | "status";
|
|
13
|
-
export type AccountingAcquisitionMethod = "remote_api" | "dashboard_scrape" | "local_cli" | "local_runtime_accounting" | "local_estimation";
|
|
14
|
-
export type AccountingOwnership = "maintained" | "user_configured";
|
|
15
|
-
export type AccountingAuthority = "provider_reported" | "locally_derived";
|
|
16
|
-
export type AccountingProminence = "primary" | "supplementary";
|
|
17
|
-
export type AccountingWindow = "rpm" | "hour" | "five_hour" | "day" | "week" | "month" | "year" | "mcp" | "code_review";
|
|
18
|
-
export type AccountingComponent = "current_balance" | "total_balance" | "cash_balance" | "gift_balance" | "granted_balance" | "topped_up_balance" | "remaining_credits" | "auto_reload" | "auto_reload_amount" | "auto_reload_trigger";
|
|
19
|
-
export type AccountingMetric = {
|
|
20
|
-
kind: "aggregate";
|
|
21
|
-
} | {
|
|
22
|
-
kind: "window";
|
|
23
|
-
window: AccountingWindow;
|
|
24
|
-
} | {
|
|
25
|
-
kind: "component";
|
|
26
|
-
component: AccountingComponent;
|
|
27
|
-
} | {
|
|
28
|
-
kind: "named";
|
|
29
|
-
name: string;
|
|
30
|
-
};
|
|
31
|
-
export interface AccountingSemantic {
|
|
32
|
-
metric: AccountingMetric;
|
|
33
|
-
prominence: AccountingProminence;
|
|
34
|
-
}
|
|
35
|
-
export type AccountingCountUnit = "request" | "token" | "credit" | "message" | "interaction" | "unit";
|
|
36
|
-
export type AccountingUnit = {
|
|
37
|
-
kind: "currency";
|
|
38
|
-
code: string;
|
|
39
|
-
} | {
|
|
40
|
-
kind: "count";
|
|
41
|
-
unit: AccountingCountUnit;
|
|
42
|
-
} | {
|
|
43
|
-
kind: "custom";
|
|
44
|
-
symbol: string;
|
|
45
|
-
};
|
|
46
|
-
export interface AccountingQuantity {
|
|
47
|
-
decimal: string;
|
|
48
|
-
unit: AccountingUnit;
|
|
49
|
-
}
|
|
50
|
-
export type AccountingFactAuthority = AccountingAuthority | "user_configured";
|
|
51
|
-
export interface AccountingBasisFact {
|
|
52
|
-
quantity: AccountingQuantity;
|
|
53
|
-
authority: AccountingFactAuthority;
|
|
54
|
-
}
|
|
55
|
-
export interface AccountingPercentageBasis {
|
|
56
|
-
used?: AccountingBasisFact;
|
|
57
|
-
limit?: AccountingBasisFact;
|
|
58
|
-
remaining?: AccountingBasisFact;
|
|
59
|
-
}
|
|
60
|
-
export interface AccountingMetadata {
|
|
61
|
-
/** What the row represents, independent of its percent/value render shape. */
|
|
62
|
-
resultType: AccountingResultType;
|
|
63
|
-
/** How the accounting value was acquired. */
|
|
64
|
-
acquisitionMethod: AccountingAcquisitionMethod;
|
|
65
|
-
/** Whether opencode-quota or the user owns the source definition. */
|
|
66
|
-
ownership: AccountingOwnership;
|
|
67
|
-
/** Whether the value came from the provider or was derived locally. */
|
|
68
|
-
authority: AccountingAuthority;
|
|
69
|
-
/** Stable configured source identity when one aggregate provider owns multiple sources. */
|
|
70
|
-
sourceId?: string;
|
|
71
|
-
/** Source observation time only; never application fetch or cache time. */
|
|
72
|
-
observedAtIso?: string;
|
|
73
|
-
}
|
|
10
|
+
/** When the current fixed quota window started, as its provider reports it. */
|
|
74
11
|
export interface FixedWindowProjectionEvidence {
|
|
75
|
-
kind: "fixed_window";
|
|
76
12
|
startedAtIso: string;
|
|
77
|
-
observedAtIso: string;
|
|
78
|
-
endsAtIso: string;
|
|
79
|
-
fullReset: true;
|
|
80
|
-
}
|
|
81
|
-
export type QuotaRunwayProjection = {
|
|
82
|
-
kind: "before_reset";
|
|
83
|
-
projectedAtIso: string;
|
|
84
|
-
} | {
|
|
85
|
-
kind: "lasts_past_reset";
|
|
86
|
-
};
|
|
87
|
-
export interface GroupedQuotaEntryMeta {
|
|
88
|
-
/** Required provider-neutral accounting semantics for this row. */
|
|
89
|
-
accounting: AccountingMetadata;
|
|
90
|
-
/** Optional provider/account group header for grouped toast and /quota output. */
|
|
91
|
-
group?: string;
|
|
92
|
-
/** Optional row label inside the group, e.g. "5h:" or "Usage:". */
|
|
93
|
-
label?: string;
|
|
94
|
-
/** Optional legacy label for verbose command output when it differs from resultType. */
|
|
95
|
-
metricLabel?: string;
|
|
96
|
-
/** Complete provider-neutral row semantics. Rich providers require this on every row. */
|
|
97
|
-
semantic?: AccountingSemantic;
|
|
98
|
-
/** Optional compact right-hand summary for legacy and configured providers only. */
|
|
99
|
-
right?: string;
|
|
100
|
-
/** Optional stable row priority within a group; lower values render first. */
|
|
101
|
-
sortPriority?: number;
|
|
102
|
-
}
|
|
103
|
-
type SemanticGroupedQuotaEntryMeta = Omit<GroupedQuotaEntryMeta, "semantic"> & {
|
|
104
|
-
semantic: AccountingSemantic;
|
|
105
|
-
};
|
|
106
|
-
export type QuotaPercentEntry = GroupedQuotaEntryMeta & {
|
|
107
|
-
/** The optional discriminant preserves the existing percent-entry shape. */
|
|
108
|
-
kind?: "percent";
|
|
109
|
-
name: string;
|
|
110
|
-
/** Remaining quota as a percentage (may be below 0 when over quota). */
|
|
111
|
-
percentRemaining: number;
|
|
112
|
-
/** Optional typed operands. Renderers never derive a percentage from these facts. */
|
|
113
|
-
basis?: AccountingPercentageBasis;
|
|
114
|
-
resetTimeIso?: string;
|
|
115
|
-
/** Internal provider evidence for fixed-window exhaustion projection. */
|
|
116
|
-
fixedWindow?: FixedWindowProjectionEvidence;
|
|
117
|
-
/** Presentation-only projection. Provider caches must never persist this field. */
|
|
118
|
-
runway?: QuotaRunwayProjection;
|
|
119
|
-
};
|
|
120
|
-
export type QuotaValueEntry = GroupedQuotaEntryMeta & {
|
|
121
|
-
/** Legacy formatted text value. */
|
|
122
|
-
kind: "value";
|
|
123
|
-
name: string;
|
|
124
|
-
value: string;
|
|
125
|
-
resetTimeIso?: string;
|
|
126
|
-
};
|
|
127
|
-
export type QuotaQuantityEntry = SemanticGroupedQuotaEntryMeta & {
|
|
128
|
-
kind: "quantity";
|
|
129
|
-
name: string;
|
|
130
|
-
quantity: AccountingQuantity;
|
|
131
|
-
resetTimeIso?: string;
|
|
132
|
-
};
|
|
133
|
-
export type QuotaBooleanEntry = SemanticGroupedQuotaEntryMeta & {
|
|
134
|
-
kind: "boolean";
|
|
135
|
-
name: string;
|
|
136
|
-
value: boolean;
|
|
137
|
-
resetTimeIso?: string;
|
|
138
|
-
};
|
|
139
|
-
export type QuotaToastEntry = QuotaPercentEntry | QuotaValueEntry | QuotaQuantityEntry | QuotaBooleanEntry;
|
|
140
|
-
export declare function isValueEntry(e: QuotaToastEntry): e is QuotaValueEntry;
|
|
141
|
-
export declare function isQuantityEntry(e: QuotaToastEntry): e is QuotaQuantityEntry;
|
|
142
|
-
export declare function isBooleanEntry(e: QuotaToastEntry): e is QuotaBooleanEntry;
|
|
143
|
-
export declare function isPercentEntry(e: QuotaToastEntry): e is QuotaPercentEntry;
|
|
144
|
-
export declare function cloneAccountingUnit(unit: AccountingUnit): AccountingUnit;
|
|
145
|
-
export declare function cloneAccountingQuantity(quantity: AccountingQuantity): AccountingQuantity;
|
|
146
|
-
export declare function cloneAccountingSemantic(semantic: AccountingSemantic): AccountingSemantic;
|
|
147
|
-
export declare function cloneAccountingBasisFact(fact: AccountingBasisFact): AccountingBasisFact;
|
|
148
|
-
export declare function cloneAccountingPercentageBasis(basis: AccountingPercentageBasis): AccountingPercentageBasis;
|
|
149
|
-
export declare function cloneQuotaToastEntry(entry: QuotaToastEntry): QuotaToastEntry;
|
|
150
|
-
export interface QuotaToastError {
|
|
151
|
-
/** Short label that will be rendered as "label: message". */
|
|
152
|
-
label: string;
|
|
153
|
-
message: string;
|
|
154
|
-
/** Whether a later refresh may succeed without user action. */
|
|
155
|
-
retryable?: boolean;
|
|
156
|
-
/** Intentional diagnostics remain verbose but do not count as compact-status issues. */
|
|
157
|
-
kind?: "intentional-filter";
|
|
158
|
-
}
|
|
159
|
-
/** Per-model token summary for current session (toast display). */
|
|
160
|
-
export interface SessionTokenModel {
|
|
161
|
-
modelID: string;
|
|
162
|
-
input: number;
|
|
163
|
-
cachedInput?: number;
|
|
164
|
-
totalInput?: number;
|
|
165
|
-
output: number;
|
|
166
|
-
}
|
|
167
|
-
/** Session tokens data for toast display. */
|
|
168
|
-
export interface SessionTokensData {
|
|
169
|
-
models: SessionTokenModel[];
|
|
170
|
-
totalInput: number;
|
|
171
|
-
totalCachedInput?: number;
|
|
172
|
-
totalCombinedInput?: number;
|
|
173
|
-
totalOutput: number;
|
|
174
|
-
}
|
|
175
|
-
export interface QuotaProviderStatusDetail {
|
|
176
|
-
readonly key: string;
|
|
177
|
-
readonly value: string;
|
|
178
|
-
}
|
|
179
|
-
export interface QuotaProviderPresentation {
|
|
180
|
-
singleWindowDisplayName?: string;
|
|
181
|
-
singleWindowShowRight?: boolean;
|
|
182
|
-
/**
|
|
183
|
-
* A family label that display projections should replace with a generic
|
|
184
|
-
* quota label. Raw provider entries remain unchanged.
|
|
185
|
-
*/
|
|
186
|
-
redundantQuotaFamily?: string;
|
|
187
|
-
/**
|
|
188
|
-
* When set to "preserve", the provider's entries are kept individually
|
|
189
|
-
* (one per window) even in single-window format styles.
|
|
190
|
-
*/
|
|
191
|
-
classicStrategy?: "preserve";
|
|
192
|
-
}
|
|
193
|
-
export interface QuotaProviderDiagnostic {
|
|
194
|
-
sourceId: string;
|
|
195
|
-
providerId: string;
|
|
196
|
-
mode: QuotaProviderDefinition["mode"];
|
|
197
|
-
format?: Extract<QuotaProviderDefinition, {
|
|
198
|
-
mode: "remote-api";
|
|
199
|
-
}>["format"];
|
|
200
|
-
/** Null means the source covers every model for providerId. */
|
|
201
|
-
modelIds: string[] | null;
|
|
202
|
-
/** Explicit environment-variable name only; never its value. */
|
|
203
|
-
apiKeyEnv: string | null;
|
|
204
|
-
selected: true;
|
|
205
|
-
attempted: boolean;
|
|
206
|
-
credentialSource: "explicit_env" | "global_opencode_json" | "global_opencode_jsonc" | "opencode_db" | null;
|
|
207
|
-
outcome: "missing_credential" | "success" | "http_error" | "redirect_error" | "timeout" | "body_too_large" | "invalid_content_type" | "invalid_json" | "invalid_response" | "network_error" | "local_state_error";
|
|
208
|
-
httpStatus?: number;
|
|
209
|
-
entryCount: number;
|
|
210
|
-
checkedPaths: string[];
|
|
211
|
-
credentialDatabasePaths: string[];
|
|
212
|
-
statePath?: string;
|
|
213
|
-
stateHealth?: "missing" | "healthy" | "malformed" | "version_mismatch";
|
|
214
|
-
stateVersion?: number | null;
|
|
215
|
-
stateLastUpdatedAt?: number | null;
|
|
216
|
-
}
|
|
217
|
-
export interface QuotaProviderResult {
|
|
218
|
-
/** True when provider had enough configuration to attempt a query. */
|
|
219
|
-
attempted: boolean;
|
|
220
|
-
entries: QuotaToastEntry[];
|
|
221
|
-
errors: QuotaToastError[];
|
|
222
|
-
/** Internal provider diagnostics; not projected into normal presentation/export surfaces. */
|
|
223
|
-
diagnostics?: QuotaProviderDiagnostic[];
|
|
224
|
-
/**
|
|
225
|
-
* Safe, single-line provider details from this fetch attempt. Diagnostic consumers
|
|
226
|
-
* may reuse them, but must not refetch when details are absent.
|
|
227
|
-
*/
|
|
228
|
-
statusDetails?: readonly QuotaProviderStatusDetail[];
|
|
229
|
-
/** Safe provider-owned facts preserved in cache and JSON exports, never human presentation. */
|
|
230
|
-
rawDetails?: readonly QuotaProviderStatusDetail[];
|
|
231
|
-
presentation?: QuotaProviderPresentation;
|
|
232
13
|
}
|
|
233
14
|
export interface QuotaProviderMatchContext {
|
|
234
15
|
enabledProviders: string[] | "auto";
|
|
16
|
+
automaticDiscovery?: boolean;
|
|
235
17
|
quotaProviders?: QuotaProviderDefinition[];
|
|
236
18
|
currentProviderID?: string;
|
|
237
19
|
}
|
|
@@ -245,11 +27,6 @@ export interface QuotaProviderContext {
|
|
|
245
27
|
}>;
|
|
246
28
|
};
|
|
247
29
|
}>;
|
|
248
|
-
get: () => Promise<{
|
|
249
|
-
data?: {
|
|
250
|
-
model?: string;
|
|
251
|
-
};
|
|
252
|
-
}>;
|
|
253
30
|
};
|
|
254
31
|
};
|
|
255
32
|
resolveRuntimeProviderIds: RuntimeProviderIdResolver;
|
|
@@ -263,19 +40,17 @@ export interface QuotaProviderContext {
|
|
|
263
40
|
cursorPlan: CursorQuotaPlan;
|
|
264
41
|
cursorIncludedApiUsd?: number;
|
|
265
42
|
cursorBillingCycleStartDay?: number;
|
|
266
|
-
opencodeGoWindows?: OpenCodeGoWindowKey[];
|
|
267
43
|
opencodeMonthlyLimit?: number;
|
|
268
44
|
requestTimeoutMs?: number;
|
|
269
|
-
/**
|
|
270
|
-
providerCacheTtlMs?: number;
|
|
271
|
-
/** True when requestTimeoutMs came from user config rather than DEFAULT_CONFIG. */
|
|
45
|
+
/** True when the settings file sets providers.checking.requestTimeoutMs (not its default). */
|
|
272
46
|
requestTimeoutMsConfigured?: boolean;
|
|
273
47
|
onlyCurrentModel?: boolean;
|
|
274
48
|
currentModel?: string;
|
|
275
49
|
currentProviderID?: string;
|
|
276
50
|
enabledProviders: string[] | "auto";
|
|
51
|
+
/** The list filters automatic discovery, rather than explicitly enrolling providers. */
|
|
52
|
+
automaticDiscovery?: boolean;
|
|
277
53
|
quotaProviders?: QuotaProviderDefinition[];
|
|
278
|
-
telemetryToken?: QuotaTelemetryToken;
|
|
279
54
|
};
|
|
280
55
|
}
|
|
281
56
|
export interface QuotaProviderCacheContext {
|
|
@@ -294,8 +69,8 @@ export interface QuotaProvider {
|
|
|
294
69
|
id: string;
|
|
295
70
|
/** Best-effort availability check (no network if possible) */
|
|
296
71
|
isAvailable: (ctx: QuotaProviderContext) => Promise<boolean>;
|
|
297
|
-
/** Fetch
|
|
298
|
-
fetch: (ctx: QuotaProviderContext, cacheContext?: QuotaProviderCacheContext) => Promise<
|
|
72
|
+
/** Fetch quota as the row contract. */
|
|
73
|
+
fetch: (ctx: QuotaProviderContext, cacheContext?: QuotaProviderCacheContext) => Promise<ProviderFetchResult>;
|
|
299
74
|
/**
|
|
300
75
|
* Shared-cache safety policy. Canonical runtime providers are classified in
|
|
301
76
|
* the registry. Missing policy fails closed as uncached; account-neutral
|
|
@@ -305,5 +80,4 @@ export interface QuotaProvider {
|
|
|
305
80
|
/** Optional provider match for onlyCurrentModel filtering */
|
|
306
81
|
matchesCurrentModel?: (model: string, context?: QuotaProviderMatchContext) => boolean;
|
|
307
82
|
}
|
|
308
|
-
export {};
|
|
309
83
|
//# sourceMappingURL=entries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,+EAA+E;AAC/E,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACpC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE;QACN,MAAM,EAAE;YACN,SAAS,EAAE,MAAM,OAAO,CAAC;gBAAE,IAAI,CAAC,EAAE;oBAAE,SAAS,EAAE,KAAK,CAAC;wBAAE,EAAE,EAAE,MAAM,CAAA;qBAAE,CAAC,CAAA;iBAAE,CAAA;aAAE,CAAC,CAAC;SAC3E,CAAC;KACH,CAAC;IACF,yBAAyB,EAAE,yBAAyB,CAAC;IACrD;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE;QACN,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,eAAe,CAAC;QAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,8FAA8F;QAC9F,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QACpC,wFAAwF;QACxF,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;KAC5C,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,6BAA6B,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACpE;AAED,MAAM,MAAM,wBAAwB,GAChC;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,eAAe,EAAE,CACf,GAAG,EAAE,oBAAoB,EACzB,YAAY,EAAE,yBAAyB,KACpC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CAC3C,CAAC;AAEN,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IAEX,8DAA8D;IAC9D,WAAW,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7D,uCAAuC;IACvC,KAAK,EAAE,CACL,GAAG,EAAE,oBAAoB,EACzB,YAAY,CAAC,EAAE,yBAAyB,KACrC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC;;;;OAIG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAEvC,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,OAAO,CAAC;CACvF"}
|
package/dist/lib/entries.js
CHANGED
|
@@ -1,47 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
return e.kind === "value";
|
|
3
|
-
}
|
|
4
|
-
export function isQuantityEntry(e) {
|
|
5
|
-
return e.kind === "quantity";
|
|
6
|
-
}
|
|
7
|
-
export function isBooleanEntry(e) {
|
|
8
|
-
return e.kind === "boolean";
|
|
9
|
-
}
|
|
10
|
-
export function isPercentEntry(e) {
|
|
11
|
-
return e.kind === undefined || e.kind === "percent";
|
|
12
|
-
}
|
|
13
|
-
export function cloneAccountingUnit(unit) {
|
|
14
|
-
return { ...unit };
|
|
15
|
-
}
|
|
16
|
-
export function cloneAccountingQuantity(quantity) {
|
|
17
|
-
return { decimal: quantity.decimal, unit: cloneAccountingUnit(quantity.unit) };
|
|
18
|
-
}
|
|
19
|
-
export function cloneAccountingSemantic(semantic) {
|
|
20
|
-
return { metric: { ...semantic.metric }, prominence: semantic.prominence };
|
|
21
|
-
}
|
|
22
|
-
export function cloneAccountingBasisFact(fact) {
|
|
23
|
-
return { quantity: cloneAccountingQuantity(fact.quantity), authority: fact.authority };
|
|
24
|
-
}
|
|
25
|
-
export function cloneAccountingPercentageBasis(basis) {
|
|
26
|
-
return {
|
|
27
|
-
...(basis.used ? { used: cloneAccountingBasisFact(basis.used) } : {}),
|
|
28
|
-
...(basis.limit ? { limit: cloneAccountingBasisFact(basis.limit) } : {}),
|
|
29
|
-
...(basis.remaining ? { remaining: cloneAccountingBasisFact(basis.remaining) } : {}),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
export function cloneQuotaToastEntry(entry) {
|
|
33
|
-
return {
|
|
34
|
-
...entry,
|
|
35
|
-
accounting: { ...entry.accounting },
|
|
36
|
-
...(entry.semantic ? { semantic: cloneAccountingSemantic(entry.semantic) } : {}),
|
|
37
|
-
...(isPercentEntry(entry) && entry.basis
|
|
38
|
-
? { basis: cloneAccountingPercentageBasis(entry.basis) }
|
|
39
|
-
: {}),
|
|
40
|
-
...(isPercentEntry(entry) && entry.fixedWindow
|
|
41
|
-
? { fixedWindow: { ...entry.fixedWindow } }
|
|
42
|
-
: {}),
|
|
43
|
-
...(isPercentEntry(entry) && entry.runway ? { runway: { ...entry.runway } } : {}),
|
|
44
|
-
...(isQuantityEntry(entry) ? { quantity: cloneAccountingQuantity(entry.quantity) } : {}),
|
|
45
|
-
};
|
|
46
|
-
}
|
|
1
|
+
export {};
|
|
47
2
|
//# sourceMappingURL=entries.js.map
|
package/dist/lib/entries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The lock was taken over, or what the work read changed, while it ran: nothing was written, and
|
|
3
|
+
* the work runs again.
|
|
4
|
+
*/
|
|
5
|
+
export declare class LockLostError extends Error {
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Throws when the lock no longer holds our token. Call it right before the write that commits
|
|
9
|
+
* (the atomic rename over the file). A takeover between this check and that rename still slips
|
|
10
|
+
* through: a window of microseconds that also needs a waiter that stalled since it saw an
|
|
11
|
+
* abandoned lock.
|
|
12
|
+
*/
|
|
13
|
+
export type LockFence = () => Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Runs `work` while holding the lock file `lock`, making its folder (mode 700) first. `work`
|
|
16
|
+
* calls the fence it gets right before it commits; when the lock was lost, the work runs again
|
|
17
|
+
* under a new lock. After `waitMs` without the lock it fails with `busyMessage`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function withFileLock<T>(lock: string, work: (fence: LockFence) => Promise<T>, options: {
|
|
20
|
+
waitMs: number;
|
|
21
|
+
busyMessage: string;
|
|
22
|
+
}): Promise<T>;
|
|
23
|
+
//# sourceMappingURL=file-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/lib/file-lock.ts"],"names":[],"mappings":"AAuFA;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EACtC,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,CAAC,CAAC,CAwBZ"}
|