@slkiser/opencode-quota 3.11.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -62
- package/dist/bin/opencode-quota.d.ts.map +1 -1
- package/dist/bin/opencode-quota.js +16 -7
- package/dist/bin/opencode-quota.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/cli-show.d.ts.map +1 -1
- package/dist/lib/cli-show.js +11 -7
- package/dist/lib/cli-show.js.map +1 -1
- package/dist/lib/command-surfaces.d.ts +10 -0
- package/dist/lib/command-surfaces.d.ts.map +1 -0
- package/dist/lib/command-surfaces.js +9 -0
- package/dist/lib/command-surfaces.js.map +1 -0
- package/dist/lib/config-file-utils.d.ts +5 -0
- package/dist/lib/config-file-utils.d.ts.map +1 -1
- package/dist/lib/config-file-utils.js +20 -3
- package/dist/lib/config-file-utils.js.map +1 -1
- package/dist/lib/config.d.ts +5 -3
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +124 -32
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/copilot.d.ts +19 -12
- package/dist/lib/copilot.d.ts.map +1 -1
- package/dist/lib/copilot.js +462 -566
- package/dist/lib/copilot.js.map +1 -1
- package/dist/lib/display-sanitize.d.ts.map +1 -1
- package/dist/lib/display-sanitize.js +13 -0
- package/dist/lib/display-sanitize.js.map +1 -1
- package/dist/lib/entries.d.ts +53 -4
- package/dist/lib/entries.d.ts.map +1 -1
- package/dist/lib/entries.js.map +1 -1
- package/dist/lib/init-installer.d.ts +11 -1
- package/dist/lib/init-installer.d.ts.map +1 -1
- package/dist/lib/init-installer.js +524 -158
- package/dist/lib/init-installer.js.map +1 -1
- package/dist/lib/opencode-config-editor.d.ts +53 -0
- package/dist/lib/opencode-config-editor.d.ts.map +1 -0
- package/dist/lib/opencode-config-editor.js +274 -0
- package/dist/lib/opencode-config-editor.js.map +1 -0
- package/dist/lib/opencode-config-providers.d.ts +18 -0
- package/dist/lib/opencode-config-providers.d.ts.map +1 -1
- package/dist/lib/opencode-config-providers.js +75 -4
- package/dist/lib/opencode-config-providers.js.map +1 -1
- package/dist/lib/opencode-runtime-paths.d.ts.map +1 -1
- package/dist/lib/opencode-runtime-paths.js +10 -3
- package/dist/lib/opencode-runtime-paths.js.map +1 -1
- package/dist/lib/opencode-storage.d.ts +10 -0
- package/dist/lib/opencode-storage.d.ts.map +1 -1
- package/dist/lib/opencode-storage.js +75 -0
- package/dist/lib/opencode-storage.js.map +1 -1
- package/dist/lib/provider-add-command.d.ts +35 -0
- package/dist/lib/provider-add-command.d.ts.map +1 -0
- package/dist/lib/provider-add-command.js +185 -0
- package/dist/lib/provider-add-command.js.map +1 -0
- package/dist/lib/provider-add.d.ts +21 -0
- package/dist/lib/provider-add.d.ts.map +1 -0
- package/dist/lib/provider-add.js +210 -0
- package/dist/lib/provider-add.js.map +1 -0
- package/dist/lib/provider-metadata.d.ts +1 -1
- package/dist/lib/provider-metadata.d.ts.map +1 -1
- package/dist/lib/provider-metadata.js +11 -5
- package/dist/lib/provider-metadata.js.map +1 -1
- package/dist/lib/quota-command-format.d.ts +2 -0
- package/dist/lib/quota-command-format.d.ts.map +1 -1
- package/dist/lib/quota-command-format.js +94 -26
- package/dist/lib/quota-command-format.js.map +1 -1
- package/dist/lib/quota-dialog-commands.d.ts.map +1 -1
- package/dist/lib/quota-dialog-commands.js +8 -4
- package/dist/lib/quota-dialog-commands.js.map +1 -1
- package/dist/lib/quota-export-types.d.ts +48 -27
- package/dist/lib/quota-export-types.d.ts.map +1 -1
- package/dist/lib/quota-export-types.js +0 -7
- package/dist/lib/quota-export-types.js.map +1 -1
- package/dist/lib/quota-export.d.ts.map +1 -1
- package/dist/lib/quota-export.js +63 -16
- package/dist/lib/quota-export.js.map +1 -1
- package/dist/lib/quota-providers-local.d.ts +55 -0
- package/dist/lib/quota-providers-local.d.ts.map +1 -0
- package/dist/lib/quota-providers-local.js +313 -0
- package/dist/lib/quota-providers-local.js.map +1 -0
- package/dist/lib/quota-providers-remote.d.ts +23 -0
- package/dist/lib/quota-providers-remote.d.ts.map +1 -0
- package/dist/lib/quota-providers-remote.js +318 -0
- package/dist/lib/quota-providers-remote.js.map +1 -0
- package/dist/lib/quota-providers.d.ts +77 -0
- package/dist/lib/quota-providers.d.ts.map +1 -0
- package/dist/lib/quota-providers.js +630 -0
- package/dist/lib/quota-providers.js.map +1 -0
- package/dist/lib/quota-render-data.d.ts +1 -0
- package/dist/lib/quota-render-data.d.ts.map +1 -1
- package/dist/lib/quota-render-data.js +35 -16
- package/dist/lib/quota-render-data.js.map +1 -1
- package/dist/lib/quota-runtime-context.d.ts.map +1 -1
- package/dist/lib/quota-runtime-context.js +3 -4
- package/dist/lib/quota-runtime-context.js.map +1 -1
- package/dist/lib/quota-state.d.ts +5 -2
- package/dist/lib/quota-state.d.ts.map +1 -1
- package/dist/lib/quota-state.js +268 -51
- package/dist/lib/quota-state.js.map +1 -1
- package/dist/lib/quota-status.d.ts +2 -1
- package/dist/lib/quota-status.d.ts.map +1 -1
- package/dist/lib/quota-status.js +247 -69
- package/dist/lib/quota-status.js.map +1 -1
- package/dist/lib/qwen-local-quota.d.ts +12 -11
- package/dist/lib/qwen-local-quota.d.ts.map +1 -1
- package/dist/lib/qwen-local-quota.js +82 -87
- package/dist/lib/qwen-local-quota.js.map +1 -1
- package/dist/lib/scoped-update.d.ts.map +1 -1
- package/dist/lib/scoped-update.js +32 -22
- package/dist/lib/scoped-update.js.map +1 -1
- package/dist/lib/tui-runtime.d.ts +2 -0
- package/dist/lib/tui-runtime.d.ts.map +1 -1
- package/dist/lib/tui-runtime.js +33 -9
- package/dist/lib/tui-runtime.js.map +1 -1
- package/dist/lib/types.d.ts +51 -15
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +2 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +75 -100
- 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 +35 -4
- package/dist/providers/alibaba-coding-plan.js.map +1 -1
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +13 -1
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/chutes.d.ts.map +1 -1
- package/dist/providers/chutes.js +6 -0
- package/dist/providers/chutes.js.map +1 -1
- package/dist/providers/copilot.d.ts +2 -1
- package/dist/providers/copilot.d.ts.map +1 -1
- package/dist/providers/copilot.js +143 -60
- package/dist/providers/copilot.js.map +1 -1
- package/dist/providers/cursor.d.ts.map +1 -1
- package/dist/providers/cursor.js +30 -1
- package/dist/providers/cursor.js.map +1 -1
- package/dist/providers/deepseek.d.ts.map +1 -1
- package/dist/providers/deepseek.js +13 -1
- package/dist/providers/deepseek.js.map +1 -1
- package/dist/providers/google-agy.d.ts.map +1 -1
- package/dist/providers/google-agy.js +7 -1
- package/dist/providers/google-agy.js.map +1 -1
- package/dist/providers/google-antigravity.d.ts.map +1 -1
- package/dist/providers/google-antigravity.js +10 -2
- package/dist/providers/google-antigravity.js.map +1 -1
- package/dist/providers/google-gemini-cli.d.ts.map +1 -1
- package/dist/providers/google-gemini-cli.js +8 -2
- package/dist/providers/google-gemini-cli.js.map +1 -1
- package/dist/providers/kimi-code.d.ts.map +1 -1
- package/dist/providers/kimi-code.js +6 -0
- 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 +12 -4
- package/dist/providers/minimax-coding-plan.js.map +1 -1
- package/dist/providers/nanogpt.d.ts.map +1 -1
- package/dist/providers/nanogpt.js +19 -1
- package/dist/providers/nanogpt.js.map +1 -1
- package/dist/providers/ollama-cloud.d.ts.map +1 -1
- package/dist/providers/ollama-cloud.js +12 -0
- package/dist/providers/ollama-cloud.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +6 -0
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/opencode-go.d.ts.map +1 -1
- package/dist/providers/opencode-go.js +9 -1
- package/dist/providers/opencode-go.js.map +1 -1
- package/dist/providers/quota-providers.d.ts +6 -0
- package/dist/providers/quota-providers.d.ts.map +1 -0
- package/dist/providers/quota-providers.js +276 -0
- package/dist/providers/quota-providers.js.map +1 -0
- package/dist/providers/qwen-code.d.ts.map +1 -1
- package/dist/providers/qwen-code.js +29 -3
- package/dist/providers/qwen-code.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +2 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/result-helpers.d.ts +2 -1
- package/dist/providers/result-helpers.d.ts.map +1 -1
- package/dist/providers/result-helpers.js +6 -1
- package/dist/providers/result-helpers.js.map +1 -1
- package/dist/providers/synthetic.d.ts.map +1 -1
- package/dist/providers/synthetic.js +7 -1
- package/dist/providers/synthetic.js.map +1 -1
- package/dist/providers/zai.d.ts.map +1 -1
- package/dist/providers/zai.js +7 -1
- package/dist/providers/zai.js.map +1 -1
- package/dist/providers/zhipu.d.ts.map +1 -1
- package/dist/providers/zhipu.js +7 -1
- package/dist/providers/zhipu.js.map +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +345 -41
- package/dist/tui.tsx +267 -18
- package/package.json +28 -21
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</picture>
|
|
8
8
|
</a>
|
|
9
9
|
</p>
|
|
10
|
-
<p align="center">Quota, usage, and token visibility
|
|
10
|
+
<p align="center">Quota, usage, and token visibility in OpenCode and your terminal.</p>
|
|
11
11
|
<p align="center">
|
|
12
12
|
<a href="https://www.npmjs.com/package/@slkiser/opencode-quota"><img alt="npm" src="https://img.shields.io/npm/v/%40slkiser%2Fopencode-quota?style=flat-square" /></a>
|
|
13
13
|
<a href="https://www.npmjs.com/package/@slkiser/opencode-quota"><img alt="npm downloads" src="https://img.shields.io/npm/dm/%40slkiser%2Fopencode-quota?style=flat-square" /></a>
|
|
@@ -26,15 +26,19 @@ npx @slkiser/opencode-quota init
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
> [!IMPORTANT]
|
|
29
|
-
>
|
|
29
|
+
> Node.js `>= 22` is required.
|
|
30
|
+
|
|
31
|
+
Upgrading from v3? Read the [v4 migration guide](docs/readme/v4-migration.md).
|
|
32
|
+
|
|
33
|
+
After installation:
|
|
30
34
|
|
|
31
35
|
1. Restart OpenCode.
|
|
32
|
-
2. Run
|
|
33
|
-
3. If you enabled the
|
|
34
|
-
4. If you enabled
|
|
36
|
+
2. Run a slash command in OpenCode, or use `opencode-quota show` from your terminal.
|
|
37
|
+
3. If you enabled the sidebar, open the session sidebar and look for `Quota`.
|
|
38
|
+
4. If you enabled the compact status line, look at the bottom of Home or below the message input.
|
|
35
39
|
5. If something looks wrong, run `/quota_status` in OpenCode or see [Troubleshooting](docs/readme/troubleshooting.md).
|
|
36
40
|
|
|
37
|
-
##
|
|
41
|
+
## Updating
|
|
38
42
|
|
|
39
43
|
1. Close OpenCode.
|
|
40
44
|
2. Run:
|
|
@@ -46,7 +50,7 @@ npx @slkiser/opencode-quota init
|
|
|
46
50
|
3. Review the exact config edits and cache directories, then confirm.
|
|
47
51
|
4. Restart OpenCode.
|
|
48
52
|
|
|
49
|
-
Use `--dry-run` to preview without changing anything.
|
|
53
|
+
Use `--dry-run` to preview without changing anything. Otherwise, `update` shows the OpenCode Quota config and cache changes and asks before applying them. It leaves your other plugins and settings alone. Use `--yes` only when you intentionally need a noninteractive run.
|
|
50
54
|
|
|
51
55
|
## What you get
|
|
52
56
|
|
|
@@ -61,7 +65,7 @@ Use `--dry-run` to preview without changing anything. Use `--yes` only for expli
|
|
|
61
65
|
</tr>
|
|
62
66
|
<tr>
|
|
63
67
|
<td width="50%" align="center"><strong>Sidebar panel</strong><br />A full quota view in OpenCode's session sidebar.</td>
|
|
64
|
-
<td width="50%" align="center"><strong>
|
|
68
|
+
<td width="50%" align="center"><strong>TUI toast</strong><br />Quota checks can appear automatically while you work.</td>
|
|
65
69
|
</tr>
|
|
66
70
|
<tr>
|
|
67
71
|
<td width="50%">
|
|
@@ -72,17 +76,17 @@ Use `--dry-run` to preview without changing anything. Use `--yes` only for expli
|
|
|
72
76
|
</td>
|
|
73
77
|
</tr>
|
|
74
78
|
<tr>
|
|
75
|
-
<td width="50%" align="center"><strong>Compact status line</strong><br />Short quota text on
|
|
79
|
+
<td width="50%" align="center"><strong>Compact status line</strong><br />Short quota text on Home and below the message input.</td>
|
|
76
80
|
<td width="50%" align="center"><strong>Token reports</strong><br /><code>/tokens_today</code>, <code>/tokens_weekly</code>, session reports, and more.</td>
|
|
77
81
|
</tr>
|
|
78
82
|
</table>
|
|
79
83
|
|
|
80
84
|
More ways to use it:
|
|
81
85
|
|
|
82
|
-
-
|
|
83
|
-
- JSON output
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
+
- Check quota from a terminal with `opencode-quota show`
|
|
87
|
+
- Use JSON output in scripts, status bars, CI checks, and other tools
|
|
88
|
+
- Run the same slash commands in the TUI, Web, and Desktop
|
|
89
|
+
- Diagnose authentication, quota sources, pricing, and maintainer notices
|
|
86
90
|
|
|
87
91
|
See [Configuration](docs/readme/configuration.md) for UI options and [Manual install](docs/readme/manual-install.md) for setup details.
|
|
88
92
|
|
|
@@ -90,66 +94,79 @@ See [Configuration](docs/readme/configuration.md) for UI options and [Manual ins
|
|
|
90
94
|
|
|
91
95
|
### Core slash commands
|
|
92
96
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
| `/
|
|
98
|
-
| `/
|
|
99
|
-
| `/
|
|
100
|
-
| `/
|
|
101
|
-
| `/
|
|
102
|
-
| `/
|
|
103
|
-
| `/
|
|
104
|
-
| `/
|
|
105
|
-
| `/
|
|
106
|
-
| `/
|
|
107
|
-
| `/tokens_session_all` | Show current session plus descendant sessions |
|
|
108
|
-
| `/tokens_between YYYY-MM-DD YYYY-MM-DD` | Show tokens used between two dates |
|
|
97
|
+
| Command | Use when |
|
|
98
|
+
| --------------------------------------- | --------------------------------------------------------------- |
|
|
99
|
+
| `/quota` | Show current quota |
|
|
100
|
+
| `/quota_status` | Diagnose setup, authentication, providers, pricing, and notices |
|
|
101
|
+
| `/quota_announcements` | Read active bundled maintainer notices |
|
|
102
|
+
| `/pricing_refresh` | Refresh local runtime pricing from `models.dev` |
|
|
103
|
+
| `/tokens_today` | Show tokens used today |
|
|
104
|
+
| `/tokens_daily` | Show tokens used in the last 24 hours |
|
|
105
|
+
| `/tokens_weekly` | Show tokens used in the last 7 days |
|
|
106
|
+
| `/tokens_monthly` | Show tokens used in the last 30 days, including pricing |
|
|
107
|
+
| `/tokens_all` | Show tokens used across all local history |
|
|
108
|
+
| `/tokens_session` | Show tokens used in the current session |
|
|
109
|
+
| `/tokens_session_all` | Show current session plus descendant sessions |
|
|
110
|
+
| `/tokens_between YYYY-MM-DD YYYY-MM-DD` | Show tokens used between two dates |
|
|
109
111
|
|
|
110
112
|
### CLI commands
|
|
111
113
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
|
115
|
-
|
|
|
116
|
-
| `opencode-quota
|
|
117
|
-
| `opencode-quota
|
|
118
|
-
| `opencode-quota
|
|
119
|
-
| `opencode-quota show
|
|
114
|
+
Use the CLI for scripts, CI, or a quick terminal check outside OpenCode.
|
|
115
|
+
|
|
116
|
+
| Command | Use when |
|
|
117
|
+
| ---------------------------------------------- | ------------------------------------------------------------ |
|
|
118
|
+
| `opencode-quota init --dry-run` | Validate and preview installer changes without writing files |
|
|
119
|
+
| `opencode-quota update` | Preview, confirm, and apply a scoped OpenCode Quota update |
|
|
120
|
+
| `opencode-quota update --dry-run` | Preview exact config and cache targets without changing them |
|
|
121
|
+
| `opencode-quota show` | Check quota from your terminal |
|
|
122
|
+
| `opencode-quota show --provider <id>` | Check one provider only, such as `copilot` or `openai` |
|
|
123
|
+
| `opencode-quota show --json` | Print JSON for scripts, status bars, and other tools |
|
|
124
|
+
| `opencode-quota show --json --threshold <pct>` | Fail when quota is low; return exit 2 for incomplete results |
|
|
120
125
|
|
|
121
126
|
## Providers
|
|
122
127
|
|
|
128
|
+
### Pre-configured providers
|
|
129
|
+
|
|
123
130
|
Most providers work automatically. If a provider has a “Needs setup” link, open that setup note only if you use that provider.
|
|
124
131
|
|
|
125
|
-
| Provider | Auth/setup |
|
|
126
|
-
| ------------------------ | -------------------------------------------------------------- | ------------------ |
|
|
127
|
-
| Anthropic (Claude) | [Needs setup](docs/readme/providers.md#anthropic-claude) | Local CLI/OAuth |
|
|
128
|
-
| GitHub Copilot |
|
|
129
|
-
| OpenAI | Automatic | Remote API |
|
|
130
|
-
| Cursor | [Needs setup](docs/readme/providers.md#cursor) | Local estimate |
|
|
131
|
-
| Qwen Code | [Needs setup](docs/readme/providers.md#qwen-code) | Local estimate |
|
|
132
|
-
| Alibaba Coding Plan | OpenCode config | Local estimate |
|
|
133
|
-
| MiniMax Coding Plan | OpenCode config | Remote API |
|
|
134
|
-
| MiniMax Coding Plan (CN) | OpenCode config | Remote API |
|
|
135
|
-
| Kimi Code | OpenCode config | Remote API |
|
|
136
|
-
| Chutes AI | API key/config | Remote API |
|
|
137
|
-
| Synthetic | Automatic | Remote API | Quota
|
|
138
|
-
| Google Antigravity | [Needs setup](docs/readme/providers.md#google-antigravity) | Remote API |
|
|
139
|
-
| Google AGY | [Needs setup](docs/readme/providers.md#google-agy-quick-setup) | Remote API |
|
|
140
|
-
| Gemini CLI | [Needs setup](docs/readme/providers.md#gemini-cli) | Remote API |
|
|
141
|
-
| Z.ai Coding Plan | OpenCode config | Remote API |
|
|
142
|
-
| Zhipu Coding Plan | OpenCode config | Remote API |
|
|
143
|
-
| NanoGPT | API key/config | Remote API |
|
|
144
|
-
| DeepSeek | API key/config | Remote API | Balance
|
|
145
|
-
| Ollama Cloud | [Needs setup](docs/readme/providers.md#ollama-cloud) | Dashboard scraping |
|
|
146
|
-
| OpenCode Go | [Needs setup](docs/readme/providers.md#opencode-go) | Dashboard scraping |
|
|
147
|
-
|
|
148
|
-
|
|
132
|
+
| Provider | Auth/setup | Data from | Reports |
|
|
133
|
+
| ------------------------ | -------------------------------------------------------------- | ------------------ | ------------------ |
|
|
134
|
+
| Anthropic (Claude) | [Needs setup](docs/readme/providers.md#anthropic-claude) | Local CLI/OAuth | Quota |
|
|
135
|
+
| GitHub Copilot | [Needs setup](docs/readme/providers.md#github-copilot) | Remote API | Usage and budget |
|
|
136
|
+
| OpenAI | Automatic | Remote API | Quota |
|
|
137
|
+
| Cursor | [Needs setup](docs/readme/providers.md#cursor) | Local estimate | Budget and spend |
|
|
138
|
+
| Qwen Code | [Needs setup](docs/readme/providers.md#qwen-code) | Local estimate | Quota |
|
|
139
|
+
| Alibaba Coding Plan | OpenCode config | Local estimate | Quota |
|
|
140
|
+
| MiniMax Coding Plan | OpenCode config | Remote API | Quota |
|
|
141
|
+
| MiniMax Coding Plan (CN) | OpenCode config | Remote API | Quota |
|
|
142
|
+
| Kimi Code | OpenCode config | Remote API | Quota |
|
|
143
|
+
| Chutes AI | API key/config | Remote API | Quota |
|
|
144
|
+
| Synthetic | Automatic | Remote API | Quota |
|
|
145
|
+
| Google Antigravity | [Needs setup](docs/readme/providers.md#google-antigravity) | Remote API | Quota |
|
|
146
|
+
| Google AGY | [Needs setup](docs/readme/providers.md#google-agy-quick-setup) | Remote API | Quota |
|
|
147
|
+
| Gemini CLI | [Needs setup](docs/readme/providers.md#gemini-cli) | Remote API | Quota |
|
|
148
|
+
| Z.ai Coding Plan | OpenCode config | Remote API | Quota |
|
|
149
|
+
| Zhipu Coding Plan | OpenCode config | Remote API | Quota |
|
|
150
|
+
| NanoGPT | API key/config | Remote API | Quota and balance |
|
|
151
|
+
| DeepSeek | API key/config | Remote API | Balance and status |
|
|
152
|
+
| Ollama Cloud | [Needs setup](docs/readme/providers.md#ollama-cloud) | Dashboard scraping | Quota |
|
|
153
|
+
| OpenCode Go | [Needs setup](docs/readme/providers.md#opencode-go) | Dashboard scraping | Quota |
|
|
154
|
+
|
|
155
|
+
The quota view uses short labels such as `Day quota`, `5h quota`, `Day budget`, and `Balance`. Bar width varies by surface. JSON keeps the precise accounting type for scripts.
|
|
156
|
+
|
|
157
|
+
### Custom providers
|
|
158
|
+
|
|
159
|
+
A quota provider definition tells OpenCode Quota how to obtain accounting data for an OpenCode provider. Run the guided command. It asks only structural questions, previews the exact global OpenCode config change, and asks before writing:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
npx @slkiser/opencode-quota@latest provider add
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Setup details live in the [Provider setup guide](docs/readme/providers.md#custom-providers).
|
|
149
166
|
|
|
150
167
|
## Troubleshooting
|
|
151
168
|
|
|
152
|
-
|
|
169
|
+
If quota or token data looks wrong:
|
|
153
170
|
|
|
154
171
|
1. Run `/quota_status`, or start with `opencode-quota show` for a terminal quota summary.
|
|
155
172
|
2. Confirm the expected provider appears in the detected provider list.
|
|
@@ -159,12 +176,23 @@ Start here when quota or token data looks wrong:
|
|
|
159
176
|
|
|
160
177
|
## Reference
|
|
161
178
|
|
|
179
|
+
Project guides:
|
|
180
|
+
|
|
162
181
|
- [Manual install](docs/readme/manual-install.md)
|
|
163
182
|
- [Configuration](docs/readme/configuration.md)
|
|
164
183
|
- [Providers](docs/readme/providers.md)
|
|
165
184
|
- [Troubleshooting](docs/readme/troubleshooting.md)
|
|
166
185
|
- [External integration](docs/readme/external-integration.md)
|
|
167
186
|
|
|
187
|
+
External references:
|
|
188
|
+
|
|
189
|
+
- [OpenCode docs](https://opencode.ai/docs/)
|
|
190
|
+
- [OpenCode config](https://opencode.ai/docs/config/)
|
|
191
|
+
- [OpenCode plugins](https://opencode.ai/docs/plugins/)
|
|
192
|
+
- [OpenCode TUI](https://opencode.ai/docs/tui/)
|
|
193
|
+
- [models.dev pricing data](https://models.dev/)
|
|
194
|
+
- [Node.js downloads](https://nodejs.org/en/download)
|
|
195
|
+
|
|
168
196
|
## Contributors
|
|
169
197
|
|
|
170
198
|
Thanks to everyone who has contributed to OpenCode Quota.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-quota.d.ts","sourceRoot":"","sources":["../../src/bin/opencode-quota.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"opencode-quota.d.ts","sourceRoot":"","sources":["../../src/bin/opencode-quota.ts"],"names":[],"mappings":";AA2CA,wBAAgB,gBAAgB,CAC9B,KAAK,GAAE,MAAM,GAAG,SAA2B,EAC3C,UAAU,GAAE,MAAuC,EACnD,WAAW,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAuB,GACzD,OAAO,CAMT;AAED,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwCxE"}
|
|
@@ -5,21 +5,25 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
import { runInitInstaller } from "../lib/init-installer.js";
|
|
6
6
|
const USAGE = [
|
|
7
7
|
"Usage:",
|
|
8
|
-
" npx @slkiser/opencode-quota init [--sync-legacy-config]",
|
|
8
|
+
" npx @slkiser/opencode-quota init [--dry-run] [--sync-legacy-config]",
|
|
9
9
|
" npx @slkiser/opencode-quota show [--provider <provider-id>] [--json] [--threshold <pct>]",
|
|
10
10
|
" npx @slkiser/opencode-quota update [--dry-run] [--yes]",
|
|
11
|
+
" npx @slkiser/opencode-quota provider add [--dry-run]",
|
|
11
12
|
" npx @slkiser/opencode-quota --help",
|
|
12
13
|
"",
|
|
13
14
|
"Commands:",
|
|
14
15
|
" init Run the interactive quota installer",
|
|
16
|
+
" --dry-run Preview validated changes without writing files",
|
|
15
17
|
" --sync-legacy-config also writes experimental.quotaToast",
|
|
16
18
|
" show Print a quick quota glance",
|
|
17
19
|
" --json Machine-readable JSON output (reads from cache)",
|
|
18
|
-
" --threshold <pct> With --json, exit 1 if below <pct>%, 2 if
|
|
20
|
+
" --threshold <pct> With --json, exit 1 if below <pct>%, 2 if incomplete/not comparable",
|
|
19
21
|
" --provider <id> Filter to one provider",
|
|
20
22
|
" update Safely refresh only OpenCode Quota config and verified cache entries",
|
|
21
23
|
" --dry-run Preview without changing config or cache",
|
|
22
24
|
" --yes Apply noninteractively after printing the preview",
|
|
25
|
+
" provider add Add or update one global quotaProviders definition",
|
|
26
|
+
" --dry-run Preview the exact global OpenCode config without writing",
|
|
23
27
|
].join("\n");
|
|
24
28
|
function printUsage() {
|
|
25
29
|
console.log(USAGE);
|
|
@@ -49,11 +53,12 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
49
53
|
return 0;
|
|
50
54
|
}
|
|
51
55
|
if (command === "init") {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
const allowed = new Set(["--dry-run", "--sync-legacy-config"]);
|
|
57
|
+
if (rest.every((arg) => allowed.has(arg)) && new Set(rest).size === rest.length) {
|
|
58
|
+
return await runInitInstaller({
|
|
59
|
+
...(rest.includes("--dry-run") ? { dryRun: true } : {}),
|
|
60
|
+
...(rest.includes("--sync-legacy-config") ? { syncLegacyConfig: true } : {}),
|
|
61
|
+
});
|
|
57
62
|
}
|
|
58
63
|
}
|
|
59
64
|
if (command === "show") {
|
|
@@ -64,6 +69,10 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
64
69
|
const { runScopedUpdateCommand } = await import("../lib/scoped-update.js");
|
|
65
70
|
return await runScopedUpdateCommand({ argv: rest });
|
|
66
71
|
}
|
|
72
|
+
if (command === "provider" && rest[0] === "add") {
|
|
73
|
+
const { runProviderAddCommand } = await import("../lib/provider-add-command.js");
|
|
74
|
+
return await runProviderAddCommand({ argv: rest.slice(1) });
|
|
75
|
+
}
|
|
67
76
|
printUsage();
|
|
68
77
|
return 1;
|
|
69
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-quota.js","sourceRoot":"","sources":["../../src/bin/opencode-quota.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,KAAK,GAAG;IACZ,QAAQ;IACR,
|
|
1
|
+
{"version":3,"file":"opencode-quota.js","sourceRoot":"","sources":["../../src/bin/opencode-quota.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,5 +11,7 @@ declare const pluginModule: {
|
|
|
11
11
|
};
|
|
12
12
|
export default pluginModule;
|
|
13
13
|
export { QuotaToastPlugin } from "./plugin.js";
|
|
14
|
+
export { QUOTA_PROVIDER_MODES, QUOTA_PROVIDER_REMOTE_FORMATS, QUOTA_PROVIDER_WINDOW_TYPES, validateQuotaProviders, } from "./lib/quota-providers.js";
|
|
15
|
+
export type { QuotaProviderDefinition, RemoteApiQuotaProviderDefinition, LocalEstimateQuotaProviderDefinition, LocalEstimateWindow, } from "./lib/quota-providers.js";
|
|
14
16
|
export type { QuotaToastConfig, MaintainerAnnouncementsConfig, GoogleModelId, PricingSnapshotSource, CopilotEnterpriseUsageResult, CopilotOrganizationUsageResult, CopilotQuotaResult, GoogleQuotaResult, GoogleModelQuota, MiniMaxResult, MiniMaxResultEntry, } from "./lib/types.js";
|
|
15
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,QAAA,MAAM,YAAY;;;CAGQ,CAAC;AAE3B,eAAe,YAAY,CAAC;AAI5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,YAAY,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,EACrB,4BAA4B,EAC5B,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,QAAA,MAAM,YAAY;;;CAGQ,CAAC;AAE3B,eAAe,YAAY,CAAC;AAI5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,uBAAuB,EACvB,gCAAgC,EAChC,oCAAoC,EACpC,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,aAAa,EACb,qBAAqB,EACrB,4BAA4B,EAC5B,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,4 +18,6 @@ export default pluginModule;
|
|
|
18
18
|
// Keep the named export for backward compatibility with consumers that import
|
|
19
19
|
// { QuotaToastPlugin } directly.
|
|
20
20
|
export { QuotaToastPlugin } from "./plugin.js";
|
|
21
|
+
// Re-export types for consumers (types are erased at runtime, so safe to export)
|
|
22
|
+
export { QUOTA_PROVIDER_MODES, QUOTA_PROVIDER_REMOTE_FORMATS, QUOTA_PROVIDER_WINDOW_TYPES, validateQuotaProviders, } from "./lib/quota-providers.js";
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,qDAAqD;AACrD,6EAA6E;AAC7E,wEAAwE;AACxE,yCAAyC;AACzC,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,yBAAyB;IAC7B,MAAM,EAAE,gBAAgB;CACA,CAAC;AAE3B,eAAe,YAAY,CAAC;AAE5B,8EAA8E;AAC9E,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,qDAAqD;AACrD,6EAA6E;AAC7E,wEAAwE;AACxE,yCAAyC;AACzC,MAAM,YAAY,GAAG;IACnB,EAAE,EAAE,yBAAyB;IAC7B,MAAM,EAAE,gBAAgB;CACA,CAAC;AAE3B,eAAe,YAAY,CAAC;AAE5B,8EAA8E;AAC9E,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,iFAAiF;AACjF,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-show.d.ts","sourceRoot":"","sources":["../../src/lib/cli-show.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CAC5C;
|
|
1
|
+
{"version":3,"file":"cli-show.d.ts","sourceRoot":"","sources":["../../src/lib/cli-show.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CAC5C;AAqOD,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CAyF/F"}
|
package/dist/lib/cli-show.js
CHANGED
|
@@ -16,8 +16,8 @@ const SHOW_USAGE = [
|
|
|
16
16
|
"Options:",
|
|
17
17
|
" --provider <provider-id> Show quota for one provider",
|
|
18
18
|
" --json Machine-readable JSON output (reads from cache)",
|
|
19
|
-
" --threshold <pct> With --json, exit 1 if any cached percentage is below
|
|
20
|
-
" remaining (exit 2 if
|
|
19
|
+
" --threshold <pct> With --json, exit 1 if any complete cached percentage is below",
|
|
20
|
+
" <pct>% remaining (exit 2 if data is incomplete or not comparable)",
|
|
21
21
|
" --help, -h Show help",
|
|
22
22
|
].join("\n");
|
|
23
23
|
function parseShowArgs(argv) {
|
|
@@ -165,7 +165,11 @@ async function runCliShowJsonOutput(params) {
|
|
|
165
165
|
});
|
|
166
166
|
writeLine(stdout, JSON.stringify(exportData, null, 2));
|
|
167
167
|
if (threshold !== undefined) {
|
|
168
|
-
const
|
|
168
|
+
const providerResults = Object.values(exportData.providers);
|
|
169
|
+
if (providerResults.some((provider) => provider.status !== "ok")) {
|
|
170
|
+
return 2;
|
|
171
|
+
}
|
|
172
|
+
const okProviders = providerResults.filter((p) => p.status === "ok");
|
|
169
173
|
if (okProviders.length === 0) {
|
|
170
174
|
// No cached quota to compare against: distinct from "below threshold" (1).
|
|
171
175
|
return 2;
|
|
@@ -173,8 +177,8 @@ async function runCliShowJsonOutput(params) {
|
|
|
173
177
|
let hasComparablePercent = false;
|
|
174
178
|
for (const provider of okProviders) {
|
|
175
179
|
const percents = provider.entries
|
|
176
|
-
.
|
|
177
|
-
.
|
|
180
|
+
.filter((entry) => entry.renderType === "percent")
|
|
181
|
+
.map((entry) => entry.percentRemaining);
|
|
178
182
|
if (percents.length === 0)
|
|
179
183
|
continue;
|
|
180
184
|
hasComparablePercent = true;
|
|
@@ -242,7 +246,7 @@ export async function runCliShowCommand(options = {}) {
|
|
|
242
246
|
providers: runtime.providers,
|
|
243
247
|
});
|
|
244
248
|
if (!result.data) {
|
|
245
|
-
writeLine(stderr, "No
|
|
249
|
+
writeLine(stderr, "No provider data available.");
|
|
246
250
|
return 1;
|
|
247
251
|
}
|
|
248
252
|
const data = sanitizeQuotaRenderData(result.data);
|
|
@@ -256,7 +260,7 @@ export async function runCliShowCommand(options = {}) {
|
|
|
256
260
|
percentDisplayMode: config.percentDisplayMode,
|
|
257
261
|
});
|
|
258
262
|
if (!output.trim()) {
|
|
259
|
-
writeLine(stderr, "No
|
|
263
|
+
writeLine(stderr, "No provider data available.");
|
|
260
264
|
return 1;
|
|
261
265
|
}
|
|
262
266
|
writeLine(stdout, output);
|
package/dist/lib/cli-show.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-show.js","sourceRoot":"","sources":["../../src/lib/cli-show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EACL,gCAAgC,EAChC,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAalF,MAAM,UAAU,GAAG;IACjB,QAAQ;IACR,4FAA4F;IAC5F,EAAE;IACF,UAAU;IACV,yDAAyD;IACzD,6EAA6E;IAC7E,
|
|
1
|
+
{"version":3,"file":"cli-show.js","sourceRoot":"","sources":["../../src/lib/cli-show.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The embedded TUI worker already exposes local dialog commands.
|
|
3
|
+
* Registering the server copies there creates duplicate slash rows.
|
|
4
|
+
* Main-thread hosts, including mini, rely on the server catalog.
|
|
5
|
+
*/
|
|
6
|
+
export declare function shouldRegisterServerSlashCommands(params: {
|
|
7
|
+
isMainThread: boolean;
|
|
8
|
+
argv: readonly string[];
|
|
9
|
+
}): boolean;
|
|
10
|
+
//# sourceMappingURL=command-surfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-surfaces.d.ts","sourceRoot":"","sources":["../../src/lib/command-surfaces.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB,GAAG,OAAO,CAEV"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The embedded TUI worker already exposes local dialog commands.
|
|
3
|
+
* Registering the server copies there creates duplicate slash rows.
|
|
4
|
+
* Main-thread hosts, including mini, rely on the server catalog.
|
|
5
|
+
*/
|
|
6
|
+
export function shouldRegisterServerSlashCommands(params) {
|
|
7
|
+
return params.isMainThread;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=command-surfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-surfaces.js","sourceRoot":"","sources":["../../src/lib/command-surfaces.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAAC,MAGjD;IACC,OAAO,MAAM,CAAC,YAAY,CAAC;AAC7B,CAAC"}
|
|
@@ -2,8 +2,10 @@ export type ConfigFileKind = "opencode" | "tui";
|
|
|
2
2
|
export type ConfigFileFormat = "json" | "jsonc";
|
|
3
3
|
export interface EditableConfigPath {
|
|
4
4
|
path: string;
|
|
5
|
+
sourcePath: string;
|
|
5
6
|
format: ConfigFileFormat;
|
|
6
7
|
existed: boolean;
|
|
8
|
+
removeSourcePath?: string;
|
|
7
9
|
}
|
|
8
10
|
export interface RuntimeContextRootHints {
|
|
9
11
|
workspaceRoot?: string | null;
|
|
@@ -31,9 +33,12 @@ export declare function getEffectiveConfigRoot(fallback: string): string;
|
|
|
31
33
|
export declare function resolveRuntimeContextRoots(params: RuntimeContextRootHints): RuntimeContextRoots;
|
|
32
34
|
export declare function findGitWorktreeRoot(startDir: string): string | null;
|
|
33
35
|
export declare function getConfigFileCandidatePaths(dir: string, kind: ConfigFileKind): string[];
|
|
36
|
+
export declare function resolveExistingConfigPath(dir: string, kind: ConfigFileKind): string | null;
|
|
34
37
|
export declare function resolveEditableConfigPath(params: {
|
|
35
38
|
dir: string;
|
|
36
39
|
kind: ConfigFileKind;
|
|
40
|
+
preferredFormat?: ConfigFileFormat;
|
|
41
|
+
convertJsonToJsonc?: boolean;
|
|
37
42
|
}): EditableConfigPath;
|
|
38
43
|
export declare function getPluginSpecFromEntry(entry: unknown): string | null;
|
|
39
44
|
export declare function extractPluginSpecsFromParsedConfig(parsed: unknown): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file-utils.d.ts","sourceRoot":"","sources":["../../src/lib/config-file-utils.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,KAAK,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config-file-utils.d.ts","sourceRoot":"","sources":["../../src/lib/config-file-utils.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,KAAK,CAAC;AAChD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW/D;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,mBAAmB,CAc/F;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAcnE;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAEvF;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAE1F;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,CAAC;IACrB,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,kBAAkB,CAuCrB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAcpE;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAwB5E;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAW5E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAc7E"}
|
|
@@ -61,28 +61,45 @@ export function findGitWorktreeRoot(startDir) {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
export function getConfigFileCandidatePaths(dir, kind) {
|
|
64
|
-
return [join(dir, `${kind}.
|
|
64
|
+
return [join(dir, `${kind}.jsonc`), join(dir, `${kind}.json`)];
|
|
65
|
+
}
|
|
66
|
+
export function resolveExistingConfigPath(dir, kind) {
|
|
67
|
+
return getConfigFileCandidatePaths(dir, kind).find((path) => existsSync(path)) ?? null;
|
|
65
68
|
}
|
|
66
69
|
export function resolveEditableConfigPath(params) {
|
|
67
70
|
const jsoncPath = join(params.dir, `${params.kind}.jsonc`);
|
|
68
71
|
if (existsSync(jsoncPath)) {
|
|
69
72
|
return {
|
|
70
73
|
path: jsoncPath,
|
|
74
|
+
sourcePath: jsoncPath,
|
|
71
75
|
format: "jsonc",
|
|
72
76
|
existed: true,
|
|
73
77
|
};
|
|
74
78
|
}
|
|
75
79
|
const jsonPath = join(params.dir, `${params.kind}.json`);
|
|
76
80
|
if (existsSync(jsonPath)) {
|
|
81
|
+
if (params.preferredFormat === "jsonc" && params.convertJsonToJsonc) {
|
|
82
|
+
return {
|
|
83
|
+
path: jsoncPath,
|
|
84
|
+
sourcePath: jsonPath,
|
|
85
|
+
format: "jsonc",
|
|
86
|
+
existed: true,
|
|
87
|
+
removeSourcePath: jsonPath,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
77
90
|
return {
|
|
78
91
|
path: jsonPath,
|
|
92
|
+
sourcePath: jsonPath,
|
|
79
93
|
format: "json",
|
|
80
94
|
existed: true,
|
|
81
95
|
};
|
|
82
96
|
}
|
|
97
|
+
const format = params.preferredFormat ?? "jsonc";
|
|
98
|
+
const path = join(params.dir, `${params.kind}.${format}`);
|
|
83
99
|
return {
|
|
84
|
-
path
|
|
85
|
-
|
|
100
|
+
path,
|
|
101
|
+
sourcePath: path,
|
|
102
|
+
format,
|
|
86
103
|
existed: false,
|
|
87
104
|
};
|
|
88
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file-utils.js","sourceRoot":"","sources":["../../src/lib/config-file-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config-file-utils.js","sourceRoot":"","sources":["../../src/lib/config-file-utils.ts"],"names":[],"mappings":"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"}
|