@slkiser/opencode-quota 4.10.5 → 5.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 +43 -31
- package/dist/bin/opencode-quota.d.ts +6 -0
- package/dist/bin/opencode-quota.d.ts.map +1 -1
- package/dist/bin/opencode-quota.js +17 -0
- package/dist/bin/opencode-quota.js.map +1 -1
- package/dist/data/modelsdev-pricing.min.json +83 -2
- package/dist/index.d.ts +1 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/lib/accounting-format.js +1 -1
- package/dist/lib/accounting-format.js.map +1 -1
- package/dist/lib/alibaba-auth.d.ts +5 -5
- package/dist/lib/alibaba-auth.d.ts.map +1 -1
- package/dist/lib/alibaba-auth.js +15 -8
- package/dist/lib/alibaba-auth.js.map +1 -1
- package/dist/lib/alibaba-token-plan.d.ts +7 -4
- package/dist/lib/alibaba-token-plan.d.ts.map +1 -1
- package/dist/lib/alibaba-token-plan.js +32 -10
- package/dist/lib/alibaba-token-plan.js.map +1 -1
- package/dist/lib/anthropic-auth.d.ts +4 -1
- package/dist/lib/anthropic-auth.d.ts.map +1 -1
- package/dist/lib/anthropic-auth.js +5 -1
- package/dist/lib/anthropic-auth.js.map +1 -1
- package/dist/lib/anthropic.d.ts +7 -1
- package/dist/lib/anthropic.d.ts.map +1 -1
- package/dist/lib/anthropic.js +61 -7
- package/dist/lib/anthropic.js.map +1 -1
- package/dist/lib/api-key-resolver.d.ts +27 -16
- package/dist/lib/api-key-resolver.d.ts.map +1 -1
- package/dist/lib/api-key-resolver.js +46 -19
- package/dist/lib/api-key-resolver.js.map +1 -1
- package/dist/lib/chutes-config.d.ts +2 -2
- package/dist/lib/chutes-config.d.ts.map +1 -1
- package/dist/lib/chutes-config.js +4 -4
- package/dist/lib/chutes-config.js.map +1 -1
- package/dist/lib/cli-reports.d.ts +30 -0
- package/dist/lib/cli-reports.d.ts.map +1 -0
- package/dist/lib/cli-reports.js +172 -0
- package/dist/lib/cli-reports.js.map +1 -0
- package/dist/lib/cli-show.d.ts +14 -1
- package/dist/lib/cli-show.d.ts.map +1 -1
- package/dist/lib/cli-show.js +40 -138
- package/dist/lib/cli-show.js.map +1 -1
- package/dist/lib/cli-status.d.ts.map +1 -1
- package/dist/lib/cli-status.js +9 -36
- package/dist/lib/cli-status.js.map +1 -1
- package/dist/lib/config-file-utils.d.ts +10 -13
- package/dist/lib/config-file-utils.d.ts.map +1 -1
- package/dist/lib/config-file-utils.js +28 -30
- package/dist/lib/config-file-utils.js.map +1 -1
- package/dist/lib/config.d.ts +2 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +6 -17
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/copilot.d.ts +4 -1
- package/dist/lib/copilot.d.ts.map +1 -1
- package/dist/lib/copilot.js +17 -19
- package/dist/lib/copilot.js.map +1 -1
- package/dist/lib/cursor-detection.d.ts +1 -1
- package/dist/lib/cursor-detection.d.ts.map +1 -1
- package/dist/lib/cursor-detection.js +54 -51
- package/dist/lib/cursor-detection.js.map +1 -1
- package/dist/lib/cursor-pricing.d.ts +1 -1
- package/dist/lib/cursor-pricing.d.ts.map +1 -1
- package/dist/lib/cursor-pricing.js +85 -0
- package/dist/lib/cursor-pricing.js.map +1 -1
- package/dist/lib/deepseek-auth.d.ts +2 -2
- package/dist/lib/deepseek-auth.d.ts.map +1 -1
- package/dist/lib/deepseek-auth.js +4 -4
- package/dist/lib/deepseek-auth.js.map +1 -1
- package/dist/lib/display-sanitize.js +1 -1
- package/dist/lib/display-sanitize.js.map +1 -1
- package/dist/lib/entries.d.ts +7 -2
- package/dist/lib/entries.d.ts.map +1 -1
- package/dist/lib/format-utils.d.ts +1 -1
- package/dist/lib/format-utils.js +1 -1
- package/dist/lib/glm-coding-plan.d.ts +1 -0
- package/dist/lib/glm-coding-plan.d.ts.map +1 -1
- package/dist/lib/glm-coding-plan.js +3 -1
- package/dist/lib/glm-coding-plan.js.map +1 -1
- package/dist/lib/google-agy.d.ts +6 -12
- package/dist/lib/google-agy.d.ts.map +1 -1
- package/dist/lib/google-agy.js +26 -24
- package/dist/lib/google-agy.js.map +1 -1
- package/dist/lib/google-companion-credentials.d.ts.map +1 -1
- package/dist/lib/google-companion-credentials.js +76 -26
- package/dist/lib/google-companion-credentials.js.map +1 -1
- package/dist/lib/google-gemini-cli.d.ts +7 -12
- package/dist/lib/google-gemini-cli.d.ts.map +1 -1
- package/dist/lib/google-gemini-cli.js +42 -31
- package/dist/lib/google-gemini-cli.js.map +1 -1
- package/dist/lib/init-installer.d.ts +3 -1
- package/dist/lib/init-installer.d.ts.map +1 -1
- package/dist/lib/init-installer.js +69 -172
- package/dist/lib/init-installer.js.map +1 -1
- package/dist/lib/kilo-config.d.ts +2 -2
- package/dist/lib/kilo-config.d.ts.map +1 -1
- package/dist/lib/kilo-config.js +6 -5
- package/dist/lib/kilo-config.js.map +1 -1
- package/dist/lib/kimi-auth.d.ts +2 -2
- package/dist/lib/kimi-auth.d.ts.map +1 -1
- package/dist/lib/kimi-auth.js +4 -4
- package/dist/lib/kimi-auth.js.map +1 -1
- package/dist/lib/maintainer-announcements.d.ts.map +1 -1
- package/dist/lib/maintainer-announcements.js +5 -5
- package/dist/lib/maintainer-announcements.js.map +1 -1
- package/dist/lib/mimo-config.d.ts.map +1 -1
- package/dist/lib/mimo-config.js +2 -3
- package/dist/lib/mimo-config.js.map +1 -1
- package/dist/lib/minimax-auth.d.ts +6 -6
- package/dist/lib/minimax-auth.d.ts.map +1 -1
- package/dist/lib/minimax-auth.js +18 -17
- package/dist/lib/minimax-auth.js.map +1 -1
- package/dist/lib/nanogpt-config.d.ts +2 -2
- package/dist/lib/nanogpt-config.d.ts.map +1 -1
- package/dist/lib/nanogpt-config.js +4 -4
- package/dist/lib/nanogpt-config.js.map +1 -1
- package/dist/lib/ollama-cloud-config.d.ts +2 -2
- package/dist/lib/ollama-cloud-config.d.ts.map +1 -1
- package/dist/lib/ollama-cloud-config.js +6 -5
- package/dist/lib/ollama-cloud-config.js.map +1 -1
- package/dist/lib/openai.d.ts +7 -2
- package/dist/lib/openai.d.ts.map +1 -1
- package/dist/lib/openai.js +22 -8
- package/dist/lib/openai.js.map +1 -1
- package/dist/lib/opencode-auth-sqlite.d.ts +17 -0
- package/dist/lib/opencode-auth-sqlite.d.ts.map +1 -0
- package/dist/lib/opencode-auth-sqlite.js +105 -0
- package/dist/lib/opencode-auth-sqlite.js.map +1 -0
- package/dist/lib/opencode-auth.d.ts +127 -14
- package/dist/lib/opencode-auth.d.ts.map +1 -1
- package/dist/lib/opencode-auth.js +373 -46
- package/dist/lib/opencode-auth.js.map +1 -1
- package/dist/lib/opencode-config-providers.d.ts.map +1 -1
- package/dist/lib/opencode-config-providers.js +17 -18
- package/dist/lib/opencode-config-providers.js.map +1 -1
- package/dist/lib/opencode-console-auth.d.ts +47 -0
- package/dist/lib/opencode-console-auth.d.ts.map +1 -0
- package/dist/lib/opencode-console-auth.js +63 -0
- package/dist/lib/opencode-console-auth.js.map +1 -0
- package/dist/lib/opencode-db-path.d.ts +9 -0
- package/dist/lib/opencode-db-path.d.ts.map +1 -0
- package/dist/lib/opencode-db-path.js +16 -0
- package/dist/lib/opencode-db-path.js.map +1 -0
- package/dist/lib/opencode-go-auth.d.ts +4 -2
- package/dist/lib/opencode-go-auth.d.ts.map +1 -1
- package/dist/lib/opencode-go-auth.js +9 -5
- package/dist/lib/opencode-go-auth.js.map +1 -1
- package/dist/lib/opencode-go.d.ts +12 -0
- package/dist/lib/opencode-go.d.ts.map +1 -1
- package/dist/lib/opencode-go.js +113 -0
- package/dist/lib/opencode-go.js.map +1 -1
- package/dist/lib/opencode-runtime-paths.d.ts +6 -12
- package/dist/lib/opencode-runtime-paths.d.ts.map +1 -1
- package/dist/lib/opencode-runtime-paths.js +12 -82
- package/dist/lib/opencode-runtime-paths.js.map +1 -1
- package/dist/lib/opencode-sqlite.d.ts +4 -0
- package/dist/lib/opencode-sqlite.d.ts.map +1 -1
- package/dist/lib/opencode-sqlite.js +17 -52
- package/dist/lib/opencode-sqlite.js.map +1 -1
- package/dist/lib/opencode-storage.d.ts +4 -8
- package/dist/lib/opencode-storage.d.ts.map +1 -1
- package/dist/lib/opencode-storage.js +66 -90
- package/dist/lib/opencode-storage.js.map +1 -1
- package/dist/lib/opencode-version.d.ts +6 -0
- package/dist/lib/opencode-version.d.ts.map +1 -0
- package/dist/lib/opencode-version.js +26 -0
- package/dist/lib/opencode-version.js.map +1 -0
- package/dist/lib/opencode-zen.d.ts +10 -4
- package/dist/lib/opencode-zen.d.ts.map +1 -1
- package/dist/lib/opencode-zen.js +23 -13
- package/dist/lib/opencode-zen.js.map +1 -1
- package/dist/lib/provider-registration.d.ts +3 -4
- package/dist/lib/provider-registration.d.ts.map +1 -1
- package/dist/lib/provider-registration.js +3 -4
- package/dist/lib/provider-registration.js.map +1 -1
- package/dist/lib/quota-dialog-command-specs.d.ts +59 -0
- package/dist/lib/quota-dialog-command-specs.d.ts.map +1 -0
- package/dist/lib/quota-dialog-command-specs.js +145 -0
- package/dist/lib/quota-dialog-command-specs.js.map +1 -0
- package/dist/lib/quota-dialog-commands.d.ts +1 -25
- package/dist/lib/quota-dialog-commands.d.ts.map +1 -1
- package/dist/lib/quota-dialog-commands.js +13 -132
- package/dist/lib/quota-dialog-commands.js.map +1 -1
- package/dist/lib/quota-export.d.ts.map +1 -1
- package/dist/lib/quota-export.js +1 -0
- package/dist/lib/quota-export.js.map +1 -1
- package/dist/lib/quota-providers-remote.d.ts +2 -2
- package/dist/lib/quota-providers-remote.d.ts.map +1 -1
- package/dist/lib/quota-providers-remote.js +6 -4
- package/dist/lib/quota-providers-remote.js.map +1 -1
- package/dist/lib/quota-render-data.d.ts +3 -0
- package/dist/lib/quota-render-data.d.ts.map +1 -1
- package/dist/lib/quota-render-data.js +2 -0
- package/dist/lib/quota-render-data.js.map +1 -1
- package/dist/lib/quota-report-message.d.ts +21 -0
- package/dist/lib/quota-report-message.d.ts.map +1 -0
- package/dist/lib/quota-report-message.js +40 -0
- package/dist/lib/quota-report-message.js.map +1 -0
- package/dist/lib/quota-runtime-context.d.ts +1 -0
- package/dist/lib/quota-runtime-context.d.ts.map +1 -1
- package/dist/lib/quota-runtime-context.js +1 -0
- package/dist/lib/quota-runtime-context.js.map +1 -1
- package/dist/lib/quota-state-codec.js +5 -5
- package/dist/lib/quota-state-codec.js.map +1 -1
- package/dist/lib/quota-stats.js +2 -1
- package/dist/lib/quota-stats.js.map +1 -1
- package/dist/lib/quota-status.d.ts +2 -10
- package/dist/lib/quota-status.d.ts.map +1 -1
- package/dist/lib/quota-status.js +33 -42
- package/dist/lib/quota-status.js.map +1 -1
- package/dist/lib/quota-surface-data.d.ts +26 -0
- package/dist/lib/quota-surface-data.d.ts.map +1 -0
- package/dist/lib/quota-surface-data.js +299 -0
- package/dist/lib/quota-surface-data.js.map +1 -0
- package/dist/lib/scoped-update-migration.d.ts +4 -4
- package/dist/lib/scoped-update-migration.d.ts.map +1 -1
- package/dist/lib/scoped-update-migration.js +11 -18
- package/dist/lib/scoped-update-migration.js.map +1 -1
- package/dist/lib/scoped-update.d.ts +5 -1
- package/dist/lib/scoped-update.d.ts.map +1 -1
- package/dist/lib/scoped-update.js +73 -51
- package/dist/lib/scoped-update.js.map +1 -1
- package/dist/lib/synthetic-config.d.ts +2 -2
- package/dist/lib/synthetic-config.d.ts.map +1 -1
- package/dist/lib/synthetic-config.js +4 -4
- package/dist/lib/synthetic-config.js.map +1 -1
- package/dist/lib/toast-format-grouped.js +1 -1
- package/dist/lib/toast-format-grouped.js.map +1 -1
- package/dist/lib/tui-panel-state.d.ts +0 -49
- package/dist/lib/tui-panel-state.d.ts.map +1 -1
- package/dist/lib/tui-panel-state.js +1 -41
- package/dist/lib/tui-panel-state.js.map +1 -1
- package/dist/lib/tui-sidebar-format.d.ts.map +1 -1
- package/dist/lib/tui-sidebar-format.js +8 -1
- package/dist/lib/tui-sidebar-format.js.map +1 -1
- package/dist/lib/types.d.ts +26 -7
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +1 -2
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/xai.d.ts +5 -1
- package/dist/lib/xai.d.ts.map +1 -1
- package/dist/lib/xai.js +13 -4
- package/dist/lib/xai.js.map +1 -1
- package/dist/lib/zai-auth.d.ts +2 -2
- package/dist/lib/zai-auth.d.ts.map +1 -1
- package/dist/lib/zai-auth.js +4 -4
- package/dist/lib/zai-auth.js.map +1 -1
- package/dist/lib/zai.d.ts +1 -0
- package/dist/lib/zai.d.ts.map +1 -1
- package/dist/lib/zai.js.map +1 -1
- package/dist/lib/zhipu-auth.d.ts +2 -2
- package/dist/lib/zhipu-auth.d.ts.map +1 -1
- package/dist/lib/zhipu-auth.js +4 -4
- package/dist/lib/zhipu-auth.js.map +1 -1
- package/dist/lib/zhipu.d.ts +1 -0
- package/dist/lib/zhipu.d.ts.map +1 -1
- package/dist/lib/zhipu.js.map +1 -1
- package/dist/plugin.d.ts +6 -9
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +213 -259
- package/dist/plugin.js.map +1 -1
- package/dist/providers/alibaba-coding-plan.d.ts.map +1 -1
- package/dist/providers/alibaba-coding-plan.js +1 -1
- 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 +1 -0
- package/dist/providers/alibaba-token-plan.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +83 -1
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/cache-policies.d.ts +2 -2
- package/dist/providers/cache-policies.d.ts.map +1 -1
- package/dist/providers/cache-policies.js +10 -9
- package/dist/providers/cache-policies.js.map +1 -1
- package/dist/providers/copilot.d.ts.map +1 -1
- package/dist/providers/copilot.js +60 -9
- package/dist/providers/copilot.js.map +1 -1
- package/dist/providers/deepseek.js +1 -1
- package/dist/providers/deepseek.js.map +1 -1
- package/dist/providers/glm-coding-plan-provider.d.ts +13 -1
- package/dist/providers/glm-coding-plan-provider.d.ts.map +1 -1
- package/dist/providers/glm-coding-plan-provider.js +53 -0
- package/dist/providers/glm-coding-plan-provider.js.map +1 -1
- package/dist/providers/google-agy.d.ts.map +1 -1
- package/dist/providers/google-agy.js +56 -7
- 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 +72 -7
- package/dist/providers/google-gemini-cli.js.map +1 -1
- package/dist/providers/kilo.js +1 -1
- package/dist/providers/kilo.js.map +1 -1
- package/dist/providers/kimi-code.d.ts.map +1 -1
- package/dist/providers/kimi-code.js +60 -1
- package/dist/providers/kimi-code.js.map +1 -1
- package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
- package/dist/providers/minimax-coding-plan.js +52 -1
- package/dist/providers/minimax-coding-plan.js.map +1 -1
- package/dist/providers/nanogpt.js +1 -1
- package/dist/providers/nanogpt.js.map +1 -1
- package/dist/providers/ollama-cloud.js +1 -1
- package/dist/providers/ollama-cloud.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +59 -29
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/opencode-go.d.ts.map +1 -1
- package/dist/providers/opencode-go.js +207 -55
- 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 +39 -54
- package/dist/providers/opencode-zen.js.map +1 -1
- package/dist/providers/openrouter.js +1 -1
- package/dist/providers/openrouter.js.map +1 -1
- package/dist/providers/quota-providers.js +9 -9
- package/dist/providers/quota-providers.js.map +1 -1
- package/dist/providers/result-helpers.d.ts +2 -2
- package/dist/providers/result-helpers.d.ts.map +1 -1
- package/dist/providers/result-helpers.js +2 -2
- package/dist/providers/result-helpers.js.map +1 -1
- package/dist/providers/xai.d.ts.map +1 -1
- package/dist/providers/xai.js +49 -1
- package/dist/providers/xai.js.map +1 -1
- package/dist/providers/zai.d.ts.map +1 -1
- package/dist/providers/zai.js +3 -1
- package/dist/providers/zai.js.map +1 -1
- package/dist/providers/zhipu.d.ts.map +1 -1
- package/dist/providers/zhipu.js +3 -1
- package/dist/providers/zhipu.js.map +1 -1
- package/dist/rpc.d.ts +72 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/rpc.js +77 -0
- package/dist/rpc.js.map +1 -0
- package/dist/tui-v2.d.ts +5 -0
- package/dist/tui-v2.d.ts.map +1 -0
- package/dist/tui-v2.jsx +498 -0
- package/dist/tui-v2.jsx.map +1 -0
- package/dist/tui.d.ts +4 -6
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +542 -955
- package/package.json +7 -19
- package/dist/lib/cache.d.ts +0 -39
- package/dist/lib/cache.d.ts.map +0 -1
- package/dist/lib/cache.js +0 -124
- package/dist/lib/cache.js.map +0 -1
- package/dist/lib/command-handled.d.ts +0 -17
- package/dist/lib/command-handled.d.ts.map +0 -1
- package/dist/lib/command-handled.js +0 -36
- package/dist/lib/command-handled.js.map +0 -1
- package/dist/lib/command-surfaces.d.ts +0 -10
- package/dist/lib/command-surfaces.d.ts.map +0 -1
- package/dist/lib/command-surfaces.js +0 -9
- package/dist/lib/command-surfaces.js.map +0 -1
- package/dist/lib/opencode-zen-config.d.ts +0 -33
- package/dist/lib/opencode-zen-config.d.ts.map +0 -1
- package/dist/lib/opencode-zen-config.js +0 -158
- package/dist/lib/opencode-zen-config.js.map +0 -1
- package/dist/lib/path-pick.d.ts +0 -2
- package/dist/lib/path-pick.d.ts.map +0 -1
- package/dist/lib/path-pick.js +0 -15
- package/dist/lib/path-pick.js.map +0 -1
- package/dist/lib/quota-toast-runtime.d.ts +0 -60
- package/dist/lib/quota-toast-runtime.d.ts.map +0 -1
- package/dist/lib/quota-toast-runtime.js +0 -766
- package/dist/lib/quota-toast-runtime.js.map +0 -1
- package/dist/lib/tui-config-diagnostics.d.ts +0 -17
- package/dist/lib/tui-config-diagnostics.d.ts.map +0 -1
- package/dist/lib/tui-config-diagnostics.js +0 -72
- package/dist/lib/tui-config-diagnostics.js.map +0 -1
- package/dist/lib/tui-line-style.d.ts +0 -3
- package/dist/lib/tui-line-style.d.ts.map +0 -1
- package/dist/lib/tui-line-style.js +0 -7
- package/dist/lib/tui-line-style.js.map +0 -1
- package/dist/lib/tui-native-provider-quota.d.ts +0 -7
- package/dist/lib/tui-native-provider-quota.d.ts.map +0 -1
- package/dist/lib/tui-native-provider-quota.js +0 -25
- package/dist/lib/tui-native-provider-quota.js.map +0 -1
- package/dist/lib/tui-refresh-lifecycle.d.ts +0 -17
- package/dist/lib/tui-refresh-lifecycle.d.ts.map +0 -1
- package/dist/lib/tui-refresh-lifecycle.js +0 -82
- package/dist/lib/tui-refresh-lifecycle.js.map +0 -1
- package/dist/lib/tui-runtime.d.ts +0 -84
- package/dist/lib/tui-runtime.d.ts.map +0 -1
- package/dist/lib/tui-runtime.js +0 -527
- package/dist/lib/tui-runtime.js.map +0 -1
- package/dist/lib/tui-sidebar-content.d.ts +0 -32
- package/dist/lib/tui-sidebar-content.d.ts.map +0 -1
- package/dist/lib/tui-sidebar-content.js +0 -52
- package/dist/lib/tui-sidebar-content.js.map +0 -1
- package/dist/tui.tsx +0 -1030
package/dist/plugin.js
CHANGED
|
@@ -1,284 +1,238 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* OpenCode
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Triggers on session.idle, session.compacted, and question tool completion.
|
|
2
|
+
* OpenCode V2 server plugin: quota slash commands for every client, a diagnostics tool, and
|
|
3
|
+
* the quota RPC that computes the TUI surfaces. Inside OpenCode, logins are read only here,
|
|
4
|
+
* through OpenCode's integration API.
|
|
6
5
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { handled } from "./lib/command-handled.js";
|
|
10
|
-
import { shouldRegisterServerSlashCommands } from "./lib/command-surfaces.js";
|
|
11
|
-
import { findGitWorktreeRoot, getEffectiveConfigRoot } from "./lib/config-file-utils.js";
|
|
6
|
+
import { Plugin } from "@opencode/plugin";
|
|
7
|
+
import { resolveOpenCodeLocationRoots } from "./lib/config-file-utils.js";
|
|
12
8
|
import { sanitizeDisplayText } from "./lib/display-sanitize.js";
|
|
9
|
+
import { bindCredentialSource, createIntegrationCredentialSource, notifyCredentialsChanged, scrubCredentialErrorText, } from "./lib/opencode-auth.js";
|
|
13
10
|
import { reconcileDetectedProvidersInGlobalConfig } from "./lib/opencode-config-providers.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const target = stripped(cfg.default_agent);
|
|
22
|
-
const matches = Object.keys(cfg.agent).filter((key) => stripped(key) === target);
|
|
23
|
-
if (matches.length === 1) {
|
|
24
|
-
cfg.default_agent = matches[0];
|
|
25
|
-
}
|
|
11
|
+
import { QUOTA_DIALOG_COMMANDS, } from "./lib/quota-dialog-command-specs.js";
|
|
12
|
+
import { buildQuotaDialogCommandOutput } from "./lib/quota-dialog-commands.js";
|
|
13
|
+
import { containsQuotaReport, formatQuotaReportMessage, QUOTA_REPORT_METADATA_KEY, removeQuotaReports, } from "./lib/quota-report-message.js";
|
|
14
|
+
import { getQuotaFooter, getQuotaMessage, writeQuotaExportIfEnabled, } from "./lib/quota-surface-data.js";
|
|
15
|
+
import { QuotaRpc } from "./rpc.js";
|
|
16
|
+
function hasQuotaReportText(part) {
|
|
17
|
+
return part.type === "text" && typeof part.text === "string" && containsQuotaReport(part.text);
|
|
26
18
|
}
|
|
27
|
-
// =============================================================================
|
|
28
|
-
// Plugin Implementation
|
|
29
|
-
// =============================================================================
|
|
30
19
|
/**
|
|
31
|
-
*
|
|
20
|
+
* Drops quota report messages, found by their metadata, and cuts reports out of the text of
|
|
21
|
+
* the remaining user messages. The cut covers compaction checkpoints, which hold copied
|
|
22
|
+
* message text without its metadata, and title requests, which get plain text only.
|
|
32
23
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
body: {
|
|
57
|
-
service: "quota-toast",
|
|
58
|
-
level: "warn",
|
|
59
|
-
message: "Failed to inject raw output",
|
|
60
|
-
extra: { error: err instanceof Error ? err.message : String(err) },
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
if (options.rethrow) {
|
|
64
|
-
throw err;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
24
|
+
function withoutQuotaReports(messages) {
|
|
25
|
+
return messages.flatMap((message) => {
|
|
26
|
+
if (message.role !== "user")
|
|
27
|
+
return [message];
|
|
28
|
+
if (message.metadata?.[QUOTA_REPORT_METADATA_KEY] !== undefined)
|
|
29
|
+
return [];
|
|
30
|
+
if (!message.content.some(hasQuotaReportText))
|
|
31
|
+
return [message];
|
|
32
|
+
const content = message.content.map((part) => hasQuotaReportText(part) ? { ...part, text: removeQuotaReports(part.text) } : part);
|
|
33
|
+
return [{ ...message, content }];
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/** An error as one line that is safe to log: tokens redacted, at most 120 characters. */
|
|
37
|
+
function logReason(error) {
|
|
38
|
+
return scrubCredentialErrorText(error instanceof Error ? error.message : String(error));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Runs an RPC handler and logs its failure in the OpenCode service before rethrowing it.
|
|
42
|
+
* The client gets only OpenCode's `rpc.internal` error, so the reason shows only here.
|
|
43
|
+
*/
|
|
44
|
+
async function logRpcFailure(method, handler) {
|
|
45
|
+
try {
|
|
46
|
+
return await handler();
|
|
67
47
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
function getPluginRuntimeRootHints() {
|
|
72
|
-
const cwd = directory || process.cwd();
|
|
73
|
-
const workspaceRoot = findGitWorktreeRoot(cwd) ?? cwd;
|
|
74
|
-
const configRoot = getEffectiveConfigRoot(workspaceRoot);
|
|
75
|
-
return {
|
|
76
|
-
workspaceRoot,
|
|
77
|
-
configRoot,
|
|
78
|
-
fallbackDirectory: cwd,
|
|
79
|
-
};
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.warn(`[opencode-quota] ${method} RPC failed: ${logReason(error)}`);
|
|
50
|
+
throw error;
|
|
80
51
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
52
|
+
}
|
|
53
|
+
export const QuotaToastPlugin = Plugin.define({
|
|
54
|
+
id: "@slkiser/opencode-quota.server",
|
|
55
|
+
async setup(ctx) {
|
|
56
|
+
const roots = resolveOpenCodeLocationRoots(ctx.location.directory);
|
|
57
|
+
// The quota collector accepts a small V1-shaped configuration client. V2
|
|
58
|
+
// does not expose a mutable global config to plugins; quota settings are
|
|
59
|
+
// read from the plugin's own config file by the collector.
|
|
60
|
+
const client = {
|
|
61
|
+
config: {
|
|
62
|
+
get: async () => ({ data: {} }),
|
|
63
|
+
providers: async () => ({
|
|
64
|
+
data: {
|
|
65
|
+
providers: (await ctx.provider.list()).data.map((provider) => ({ id: provider.id })),
|
|
66
|
+
},
|
|
67
|
+
}),
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
// In auto mode, /quota_status reports the providers it detected. The slash commands and
|
|
71
|
+
// the tool add them to the global OpenCode config; the TUI palette (via RPC) never writes it.
|
|
72
|
+
const buildOutput = (command, sessionID, argumentsText, options) => buildQuotaDialogCommandOutput({
|
|
93
73
|
command,
|
|
94
|
-
arguments:
|
|
95
|
-
client
|
|
96
|
-
roots
|
|
97
|
-
sessionID
|
|
98
|
-
resolveSessionMeta: (
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
lastSessionTokenError = error;
|
|
74
|
+
arguments: argumentsText,
|
|
75
|
+
client,
|
|
76
|
+
roots,
|
|
77
|
+
sessionID,
|
|
78
|
+
resolveSessionMeta: async (id) => {
|
|
79
|
+
const session = await ctx.session.get({ sessionID: id });
|
|
80
|
+
return { modelID: session.model?.id, providerID: session.model?.providerID };
|
|
102
81
|
},
|
|
103
|
-
|
|
82
|
+
onDetectedProviderIds: options.reconcileDetectedProviders
|
|
83
|
+
? async (providerIds) => {
|
|
84
|
+
if (providerIds.length === 0)
|
|
85
|
+
return;
|
|
86
|
+
try {
|
|
87
|
+
await reconcileDetectedProvidersInGlobalConfig({
|
|
88
|
+
configRootDir: roots.configRoot,
|
|
89
|
+
detectedProviderIds: providerIds,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.warn("Failed to add detected providers to global OpenCode config", error);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
: undefined,
|
|
104
97
|
});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
handled();
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Log a message (debug level)
|
|
112
|
-
*/
|
|
113
|
-
async function log(message, extra) {
|
|
114
|
-
try {
|
|
115
|
-
await typedClient.app.log({
|
|
116
|
-
body: {
|
|
117
|
-
service: "quota-toast",
|
|
118
|
-
level: "debug",
|
|
119
|
-
message,
|
|
120
|
-
extra,
|
|
121
|
-
},
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
catch {
|
|
125
|
-
// Ignore logging errors
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
async function reconcileDetectedProviderConfig(providerIds) {
|
|
129
|
-
if (!directory || providerIds.length === 0)
|
|
130
|
-
return;
|
|
131
|
-
const reconcile = async () => {
|
|
98
|
+
// The TUI reads the session model from its local store, which has nothing for an
|
|
99
|
+
// unknown session. The RPC handlers match that: a failed lookup means no model.
|
|
100
|
+
const resolveSessionMeta = async (id) => {
|
|
132
101
|
try {
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
await log("Added detected providers to global OpenCode config", {
|
|
139
|
-
path: result.path,
|
|
140
|
-
format: result.format,
|
|
141
|
-
providers: result.addedProviderIds,
|
|
142
|
-
});
|
|
143
|
-
}
|
|
102
|
+
const session = await ctx.session.get({ sessionID: id });
|
|
103
|
+
return { modelID: session.model?.id, providerID: session.model?.providerID };
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
return {};
|
|
144
107
|
}
|
|
145
|
-
|
|
108
|
+
};
|
|
109
|
+
const surfaceHost = { client, roots, resolveSessionMeta };
|
|
110
|
+
// Awaited so the plugin is active only once the RPC is registered: OpenCode waits for
|
|
111
|
+
// activation before it routes an RPC call, so the first TUI call cannot miss it.
|
|
112
|
+
await ctx.rpc.register(QuotaRpc, {
|
|
113
|
+
surface: (input) => logRpcFailure("surface", async () => ({
|
|
114
|
+
quota: (await getQuotaMessage(surfaceHost, input.sessionID, input.surface)) ?? null,
|
|
115
|
+
})),
|
|
116
|
+
footer: (input) => logRpcFailure("footer", async () => ({
|
|
117
|
+
lines: await getQuotaFooter(surfaceHost, input.sessionID, input.surface),
|
|
118
|
+
})),
|
|
119
|
+
writeExport: () => logRpcFailure("writeExport", async () => ({
|
|
120
|
+
written: await writeQuotaExportIfEnabled(surfaceHost),
|
|
121
|
+
})),
|
|
122
|
+
command: async (input) => {
|
|
146
123
|
try {
|
|
147
|
-
await
|
|
148
|
-
|
|
149
|
-
service: "quota-toast",
|
|
150
|
-
level: "warn",
|
|
151
|
-
message: "Failed to add detected providers to global OpenCode config",
|
|
152
|
-
extra: { error: error instanceof Error ? error.message : String(error) },
|
|
153
|
-
},
|
|
124
|
+
return await buildOutput(input.command, input.sessionID, input.arguments, {
|
|
125
|
+
reconcileDetectedProviders: false,
|
|
154
126
|
});
|
|
155
127
|
}
|
|
156
|
-
catch {
|
|
157
|
-
//
|
|
128
|
+
catch (error) {
|
|
129
|
+
// Return the reason as output so the TUI shows it instead of OpenCode's rpc.internal.
|
|
130
|
+
const spec = QUOTA_DIALOG_COMMANDS.find((item) => item.id === input.command);
|
|
131
|
+
return {
|
|
132
|
+
state: "output",
|
|
133
|
+
command: input.command,
|
|
134
|
+
title: spec.title,
|
|
135
|
+
output: sanitizeDisplayText(error instanceof Error ? error.message : String(error)),
|
|
136
|
+
dialogSize: spec.dialogSize,
|
|
137
|
+
};
|
|
158
138
|
}
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
const response = await typedClient.session.get({ path: { id: sessionID } });
|
|
170
|
-
// Subagent sessions have a parentID
|
|
171
|
-
return !!response.data?.parentID;
|
|
172
|
-
}
|
|
173
|
-
catch {
|
|
174
|
-
// If we can't determine, assume it's a primary session
|
|
175
|
-
return false;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Get the current model metadata from the active session.
|
|
180
|
-
*
|
|
181
|
-
* Only uses session-scoped model lookup. Does NOT fall back to
|
|
182
|
-
* client.config.get() because that returns the global/default model
|
|
183
|
-
* which can be stale across sessions.
|
|
184
|
-
*/
|
|
185
|
-
async function getSessionModelMeta(sessionID) {
|
|
186
|
-
if (!sessionID)
|
|
187
|
-
return {};
|
|
188
|
-
try {
|
|
189
|
-
const sessionResp = await typedClient.session.get({ path: { id: sessionID } });
|
|
190
|
-
return {
|
|
191
|
-
modelID: sessionResp.data?.model?.id,
|
|
192
|
-
providerID: sessionResp.data?.model?.providerID,
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
catch {
|
|
196
|
-
return {};
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
const quotaToastRuntime = createQuotaToastRuntime({
|
|
200
|
-
client: typedClient,
|
|
201
|
-
roots: getPluginRuntimeRootHints,
|
|
202
|
-
resolveSessionMeta: (sessionID) => getSessionModelMeta(sessionID),
|
|
203
|
-
isSubagentSession,
|
|
204
|
-
reconcileDetectedProviders: reconcileDetectedProviderConfig,
|
|
205
|
-
setSessionTokenError: (error) => {
|
|
206
|
-
lastSessionTokenError = error;
|
|
207
|
-
},
|
|
208
|
-
showToast: (body) => typedClient.tui.showToast({ body }),
|
|
209
|
-
log,
|
|
210
|
-
onInitialized: (extra) => {
|
|
211
|
-
void typedClient.app
|
|
212
|
-
.log({
|
|
213
|
-
body: {
|
|
214
|
-
service: "quota-toast",
|
|
215
|
-
level: "info",
|
|
216
|
-
message: "plugin initialized",
|
|
217
|
-
extra,
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
await ctx.tool.transform((editor) => {
|
|
142
|
+
editor.add({
|
|
143
|
+
name: "quota_status",
|
|
144
|
+
description: "Diagnostics for toast, TUI, pricing and local storage.",
|
|
145
|
+
input: {
|
|
146
|
+
type: "object",
|
|
147
|
+
properties: {},
|
|
148
|
+
additionalProperties: false,
|
|
218
149
|
},
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
});
|
|
223
|
-
// Return hook implementations
|
|
224
|
-
return {
|
|
225
|
-
dispose: async () => {
|
|
226
|
-
disposeQuotaTelemetryOwner(typedClient);
|
|
227
|
-
},
|
|
228
|
-
config: async (input) => {
|
|
229
|
-
const cfg = input;
|
|
230
|
-
opencodeConfig = cfg;
|
|
231
|
-
if (shouldRegisterServerSlashCommands({ isMainThread, argv: process.argv })) {
|
|
232
|
-
registerDeterministicSlashCommands(cfg);
|
|
233
|
-
}
|
|
234
|
-
// Keep the config-time correction for #39. injectRawOutput repeats the
|
|
235
|
-
// same correction after later config hooks have run to handle #169.
|
|
236
|
-
normalizeDefaultAgent(cfg);
|
|
237
|
-
},
|
|
238
|
-
"command.execute.before": async (input) => {
|
|
239
|
-
if (!isQuotaDialogCommand(input.command))
|
|
240
|
-
return;
|
|
241
|
-
await handleDeterministicSlashCommand(input);
|
|
242
|
-
},
|
|
243
|
-
tool: {
|
|
244
|
-
quota_status: tool({
|
|
245
|
-
description: "Diagnostics for toast + TUI + pricing + local storage (includes unknown pricing report).",
|
|
246
|
-
args: {},
|
|
247
|
-
async execute(_args, context) {
|
|
248
|
-
const result = await buildQuotaDialogCommandOutput({
|
|
249
|
-
command: "quota_status",
|
|
250
|
-
client: typedClient,
|
|
251
|
-
roots: getPluginRuntimeRootHints(),
|
|
252
|
-
sessionID: context.sessionID,
|
|
253
|
-
resolveSessionMeta: (sessionID) => getSessionModelMeta(sessionID),
|
|
254
|
-
lastSessionTokenError,
|
|
255
|
-
log,
|
|
256
|
-
onDetectedProviderIds: reconcileDetectedProviderConfig,
|
|
150
|
+
async execute(_input, context) {
|
|
151
|
+
const result = await buildOutput("quota_status", context.sessionID, undefined, {
|
|
152
|
+
reconcileDetectedProviders: true,
|
|
257
153
|
});
|
|
258
|
-
|
|
259
|
-
return "";
|
|
260
|
-
context.metadata({ title: "Quota Status" });
|
|
261
|
-
await injectRawOutput(context.sessionID, result.output);
|
|
262
|
-
return ""; // Empty return - output already injected with noReply
|
|
154
|
+
return { content: result.state === "output" ? sanitizeDisplayText(result.output) : "" };
|
|
263
155
|
},
|
|
264
|
-
})
|
|
265
|
-
}
|
|
266
|
-
//
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
// Web, Desktop, and the TUI list these in their "/" menu. In "dialog" mode the TUI runs a
|
|
159
|
+
// typed command itself over the quota RPC, so it never reaches this. When a report does
|
|
160
|
+
// arrive, the TUI follows tuiCommandDisplay: "dialog" opens its dialog and cancels the
|
|
161
|
+
// posted report, "inline" leaves it in the chat. Its command palette runs the same reports
|
|
162
|
+
// without posting them.
|
|
163
|
+
await ctx.command.transform((editor) => {
|
|
164
|
+
for (const spec of QUOTA_DIALOG_COMMANDS) {
|
|
165
|
+
editor.add({
|
|
166
|
+
name: spec.slashName,
|
|
167
|
+
description: spec.description,
|
|
168
|
+
async execute(invocation) {
|
|
169
|
+
const result = await buildOutput(spec.id, invocation.sessionID, invocation.prompt.text.trim() || undefined, { reconcileDetectedProviders: true });
|
|
170
|
+
if (result.state === "noop")
|
|
171
|
+
return;
|
|
172
|
+
// A message admitted while the AI works is delivered into that turn at its next
|
|
173
|
+
// step, and can make the AI take one more step. Wait until the session is idle.
|
|
174
|
+
await ctx.session.wait({ sessionID: invocation.sessionID });
|
|
175
|
+
const metadata = {
|
|
176
|
+
command: spec.id,
|
|
177
|
+
title: result.title,
|
|
178
|
+
at: Date.now(),
|
|
179
|
+
};
|
|
180
|
+
// The report is posted as the user's message. resume: false admits it without
|
|
181
|
+
// starting a model turn, so it waits in the session inbox, where Web, Desktop,
|
|
182
|
+
// and the TUI show it. "steer" delivers it together with the user's next message;
|
|
183
|
+
// "queue" would later give it a model turn of its own.
|
|
184
|
+
await ctx.session.prompt({
|
|
185
|
+
sessionID: invocation.sessionID,
|
|
186
|
+
text: formatQuotaReportMessage(sanitizeDisplayText(result.output)),
|
|
187
|
+
metadata: { [QUOTA_REPORT_METADATA_KEY]: metadata },
|
|
188
|
+
delivery: "steer",
|
|
189
|
+
resume: false,
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
// Keep quota reports out of every model request built from session history:
|
|
196
|
+
// normal turns, compaction summaries, and generate requests.
|
|
197
|
+
for (const hook of ["context", "compaction", "generate"]) {
|
|
198
|
+
await ctx.session.hook(hook, (event) => {
|
|
199
|
+
event.messages = withoutQuotaReports(event.messages);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
// OpenCode titles a new session from its first user message, which can be a report.
|
|
203
|
+
// With nothing else to title from, skip the title request and keep the default title.
|
|
204
|
+
await ctx.session.hook("title", (event) => {
|
|
205
|
+
if (!event.messages.some((message) => message.content.some(hasQuotaReportText)))
|
|
272
206
|
return;
|
|
207
|
+
event.messages = withoutQuotaReports(event.messages);
|
|
208
|
+
const textLeft = event.messages.some((message) => message.content.some((part) => part.type === "text" && part.text.trim() !== ""));
|
|
209
|
+
if (!textLeft)
|
|
210
|
+
event.result = "";
|
|
211
|
+
});
|
|
212
|
+
// Every login read in this process goes through this location's `ctx.integration`. Bound
|
|
213
|
+
// last, so a setup that fails part way leaves no binding behind. OpenCode routes tools,
|
|
214
|
+
// commands and RPC calls to the plugin only after setup, so no read comes earlier.
|
|
215
|
+
const unbindCredentialSource = bindCredentialSource(createIntegrationCredentialSource(ctx.integration));
|
|
216
|
+
// A login added, changed or switched in OpenCode drops cached logins and failed-login
|
|
217
|
+
// entries, so the next read asks OpenCode again. If the subscription fails, cached logins
|
|
218
|
+
// stay until they expire; the log says why. The cleanup's abort ends it silently.
|
|
219
|
+
const credentialEvents = new AbortController();
|
|
220
|
+
void (async () => {
|
|
221
|
+
for await (const event of ctx.event.subscribe({ signal: credentialEvents.signal })) {
|
|
222
|
+
if (event.type === "credential.updated" || event.type === "credential.switched") {
|
|
223
|
+
notifyCredentialsChanged();
|
|
224
|
+
}
|
|
273
225
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
// Tool execute hook for question tool
|
|
277
|
-
"tool.execute.after": async (input, _output) => {
|
|
278
|
-
if (input.tool !== "question")
|
|
226
|
+
})().catch((error) => {
|
|
227
|
+
if (credentialEvents.signal.aborted)
|
|
279
228
|
return;
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
|
|
229
|
+
console.warn(`[opencode-quota] credential event subscription stopped: ${logReason(error)}`);
|
|
230
|
+
});
|
|
231
|
+
return () => {
|
|
232
|
+
credentialEvents.abort();
|
|
233
|
+
unbindCredentialSource();
|
|
234
|
+
};
|
|
235
|
+
},
|
|
236
|
+
});
|
|
237
|
+
export default QuotaToastPlugin;
|
|
284
238
|
//# sourceMappingURL=plugin.js.map
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wCAAwC,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EAEzB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,cAAc,EACd,eAAe,EAEf,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAA8B,MAAM,UAAU,CAAC;AAUhE,SAAS,kBAAkB,CAAC,IAAsB;IAChD,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjG,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAyB,QAAa;IAChE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAO,EAAE;QACvC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,yBAAyB,CAAC,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAC7F,CAAC;QACF,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yFAAyF;AACzF,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,wBAAwB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAI,MAAc,EAAE,OAAyB;IACvE,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,oBAAoB,MAAM,gBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,gCAAgC;IACpC,KAAK,CAAC,KAAK,CAAC,GAAG;QACb,MAAM,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnE,yEAAyE;QACzE,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,MAAM,GAAG;YACb,MAAM,EAAE;gBACN,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC/B,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;oBACtB,IAAI,EAAE;wBACJ,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;qBACrF;iBACF,CAAC;aACH;SACF,CAAC;QAEF,wFAAwF;QACxF,8FAA8F;QAC9F,MAAM,WAAW,GAAG,CAClB,OAA6B,EAC7B,SAA6B,EAC7B,aAAiC,EACjC,OAAgD,EAChD,EAAE,CACF,6BAA6B,CAAC;YAC5B,OAAO;YACP,SAAS,EAAE,aAAa;YACxB,MAAM;YACN,KAAK;YACL,SAAS;YACT,kBAAkB,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;YAC/E,CAAC;YACD,qBAAqB,EAAE,OAAO,CAAC,0BAA0B;gBACvD,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;oBACpB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO;oBACrC,IAAI,CAAC;wBACH,MAAM,wCAAwC,CAAC;4BAC7C,aAAa,EAAE,KAAK,CAAC,UAAU;4BAC/B,mBAAmB,EAAE,WAAW;yBACjC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEL,iFAAiF;QACjF,gFAAgF;QAChF,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAU,EAAqC,EAAE;YACjF,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QACF,MAAM,WAAW,GAAqB,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAE5E,sFAAsF;QACtF,iFAAiF;QACjF,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,aAAa,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACpC,KAAK,EAAE,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI;aACpF,CAAC,CAAC;YACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,aAAa,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACnC,KAAK,EAAE,MAAM,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;aACzE,CAAC,CAAC;YACL,WAAW,EAAE,GAAG,EAAE,CAChB,aAAa,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACxC,OAAO,EAAE,MAAM,yBAAyB,CAAC,WAAW,CAAC;aACtD,CAAC,CAAC;YACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAkC,EAAE;gBACvD,IAAI,CAAC;oBACH,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;wBACxE,0BAA0B,EAAE,KAAK;qBAClC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,sFAAsF;oBACtF,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAE,CAAC;oBAC9E,OAAO;wBACL,KAAK,EAAE,QAAQ;wBACf,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,MAAM,EAAE,mBAAmB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACnF,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,CAAC,GAAG,CAAC;gBACT,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,wDAAwD;gBACrE,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE,EAAE;oBACd,oBAAoB,EAAE,KAAK;iBAC5B;gBACD,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO;oBAC3B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;wBAC7E,0BAA0B,EAAE,IAAI;qBACjC,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC1F,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,0FAA0F;QAC1F,wFAAwF;QACxF,uFAAuF;QACvF,2FAA2F;QAC3F,wBAAwB;QACxB,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC;oBACT,IAAI,EAAE,IAAI,CAAC,SAAS;oBACpB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,KAAK,CAAC,OAAO,CAAC,UAAU;wBACtB,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,IAAI,CAAC,EAAE,EACP,UAAU,CAAC,SAAS,EACpB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS,EAC1C,EAAE,0BAA0B,EAAE,IAAI,EAAE,CACrC,CAAC;wBACF,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM;4BAAE,OAAO;wBACpC,gFAAgF;wBAChF,gFAAgF;wBAChF,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;wBAC5D,MAAM,QAAQ,GAAwB;4BACpC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAChB,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;yBACf,CAAC;wBACF,8EAA8E;wBAC9E,+EAA+E;wBAC/E,kFAAkF;wBAClF,uDAAuD;wBACvD,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;4BACvB,SAAS,EAAE,UAAU,CAAC,SAAS;4BAC/B,IAAI,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;4BAClE,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,QAAQ,EAAE;4BACnD,QAAQ,EAAE,OAAO;4BACjB,MAAM,EAAE,KAAK;yBACd,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,4EAA4E;QAC5E,6DAA6D;QAC7D,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAU,EAAE,CAAC;YAClE,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrC,KAAK,CAAC,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC;QACD,oFAAoF;QACpF,sFAAsF;QACtF,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAAE,OAAO;YACxF,KAAK,CAAC,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAChF,CAAC;YACF,IAAI,CAAC,QAAQ;gBAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,yFAAyF;QACzF,wFAAwF;QACxF,mFAAmF;QACnF,MAAM,sBAAsB,GAAG,oBAAoB,CACjD,iCAAiC,CAAC,GAAG,CAAC,WAAW,CAAC,CACnD,CAAC;QACF,sFAAsF;QACtF,0FAA0F;QAC1F,kFAAkF;QAClF,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAC/C,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBACnF,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;oBAChF,wBAAwB,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YAC5C,OAAO,CAAC,IAAI,CAAC,2DAA2D,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,sBAAsB,EAAE,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alibaba-coding-plan.d.ts","sourceRoot":"","sources":["../../src/providers/alibaba-coding-plan.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAe3B,eAAO,MAAM,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"alibaba-coding-plan.d.ts","sourceRoot":"","sources":["../../src/providers/alibaba-coding-plan.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAe3B,eAAO,MAAM,yBAAyB,EAAE,aAkIvC,CAAC"}
|
|
@@ -37,7 +37,7 @@ export const alibabaCodingPlanProvider = {
|
|
|
37
37
|
"alibaba auth configured": diagnostics.state === "none" ? "false" : "true",
|
|
38
38
|
alibaba_api_key_source: diagnostics.source ?? "(none)",
|
|
39
39
|
alibaba_api_key_checked_paths: diagnostics.checkedPaths.join(" | ") || "(none)",
|
|
40
|
-
|
|
40
|
+
alibaba_api_key_credential_database_paths: diagnostics.credentialDatabasePaths.join(" | ") || "(none)",
|
|
41
41
|
alibaba_coding_plan: diagnostics.state === "configured"
|
|
42
42
|
? diagnostics.tier
|
|
43
43
|
: diagnostics.state === "invalid"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alibaba-coding-plan.js","sourceRoot":"","sources":["../../src/providers/alibaba-coding-plan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,EACrC,mCAAmC,EACnC,gBAAgB,EAChB,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,2CAA2C,CAAC;AAOnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAkB;IACtD,EAAE,EAAE,qBAAqB;IAEzB,KAAK,CAAC,WAAW,CAAC,IAA0B;QAC1C,MAAM,IAAI,GAAG,MAAM,kCAAkC,CAAC;YACpD,QAAQ,EAAE,qCAAqC;YAC/C,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,OAAO;QACxC,OAAO,OAAO,EAAE,iBAAiB;YAC/B,CAAC,CAAC,OAAO,CAAC,iBAAiB,KAAK,qBAAqB;gBACjD,OAAO,CAAC,iBAAiB,KAAK,SAAS;YAC3C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAyB;QACnC,MAAM,WAAW,GAAG,MAAM,mCAAmC,CAAC;YAC5D,QAAQ,EAAE,qCAAqC;YAC/C,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,kCAAkC,CAAC;YACpD,QAAQ,EAAE,qCAAqC;YAC/C,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,6BAA6B,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,2BAA2B,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;QAC9F,MAAM,UAAU,GACd,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,aAAa,GAAG,uBAAuB,CAAC;YAC5C,yBAAyB,EAAE,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC1E,sBAAsB,EAAE,WAAW,CAAC,MAAM,IAAI,QAAQ;YACtD,6BAA6B,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,QAAQ;YAC/E,
|
|
1
|
+
{"version":3,"file":"alibaba-coding-plan.js","sourceRoot":"","sources":["../../src/providers/alibaba-coding-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alibaba-token-plan.d.ts","sourceRoot":"","sources":["../../src/providers/alibaba-token-plan.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAwE3B,eAAO,MAAM,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"alibaba-token-plan.d.ts","sourceRoot":"","sources":["../../src/providers/alibaba-token-plan.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,aAAa,EAId,MAAM,mBAAmB,CAAC;AAwE3B,eAAO,MAAM,wBAAwB,EAAE,aAoCtC,CAAC"}
|
|
@@ -82,6 +82,7 @@ export const alibabaTokenPlanProvider = {
|
|
|
82
82
|
async fetch(ctx) {
|
|
83
83
|
const result = await queryAlibabaTokenPlanQuota({
|
|
84
84
|
requestTimeoutMs: ctx.config?.requestTimeoutMs ?? REQUEST_TIMEOUT_MS,
|
|
85
|
+
runtime: { cwd: ctx.workspaceRoot },
|
|
85
86
|
});
|
|
86
87
|
return withStatusDetails(mapClosedResult(result), statusDetailsFromResult(result, process.platform));
|
|
87
88
|
},
|