pi-provider-qoder-cn 0.2.24 → 0.2.26

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.
Files changed (3) hide show
  1. package/README.md +38 -3
  2. package/dist/index.js +600 -667
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -25,14 +25,15 @@ pi install npm:pi-provider-qoder-cn
25
25
  | Seamless token refresh (deviceToken/refresh for drt- & PAT exchange) | ❌ (broken 403) | ✅ |
26
26
  | Enterprise (VPC) selection during `/login qoder-cn` | ❌ | ✅ |
27
27
  | Current CN model catalog (`qwen3.8-max` / `qwen3.8-flash`, …) | ❌ | ✅ |
28
- | Stable CN model ids for `enabledModels` | ❌ | ✅ |
28
+ | Model ids follow the live catalog (an upgrade gets a new id; retired models disappear) | ❌ | ✅ |
29
+ | `/qoder-cn.models` & `/qoder.models` manual catalog refresh | ❌ | ✅ |
29
30
  | Capacity-queue detection (`isQueued` / `RESOURCE_LIMIT` / lane) | ❌ | ✅ (recognised, honoured, adjustable) |
30
31
  | Per-turn wait budget + lane cooldown knobs | ❌ | ✅ |
31
32
  | Cache ownership tag (foreign catalogs discarded, not half-read) | ❌ | ✅ |
32
33
 
33
34
  Both `qoder` (Global) and `qoder-cn` (Domestic) providers are registered.
34
- - To use Global: run `/login qoder` and use `/model qoder/<id>`. Commands: `/qoder.usage`, `/qoder.claim`.
35
- - To use CN: run `/login qoder-cn` and use `/model qoder-cn/<id>`. Commands: `/qoder-cn.usage`, `/qoder-cn.claim`.
35
+ - To use Global: run `/login qoder` and use `/model qoder/<id>`. Commands: `/qoder.usage`, `/qoder.claim`., `/qoder.models`
36
+ - To use CN: run `/login qoder-cn` and use `/model qoder-cn/<id>`. Commands: `/qoder-cn.usage`, `/qoder-cn.claim`., `/qoder-cn.models`
36
37
 
37
38
  > Check with `pi list` and inspect `~/.pi/agent/extensions/`: a leftover
38
39
  > `pi-provider-qoder` extension directory registers the same provider ids.
@@ -148,12 +149,46 @@ Notes:
148
149
  `total`, so the row is keyed on any of `cap`, `used` or `remaining` carrying a
149
150
  value: a freshly refreshed cycle reports `used: 0`, and that used to drop the
150
151
  whole row and leave the view saying `Buckets none returned`.
152
+ - A `TOKEN_EXPIRE (token is not active)` refusal from the quota or check-in
153
+ endpoint usually means a deployment mismatch rather than a dead credential:
154
+ measured on a VPC (enterprise) account, its token served model requests and the
155
+ instance's own quota endpoint fine, while the same token aimed at the public
156
+ gateway was refused. The error text therefore names the endpoint it used and
157
+ says which way to fix it, plus a `token sha256:` fingerprint so a report
158
+ identifies the credential without revealing it.
151
159
  - `Expires never` means the API reported the year-9999 sentinel, i.e. the
152
160
  allowance has no expiry date.
153
161
  - `Note plan quota is prorated` appears after a mid-cycle plan change.
154
162
  - The command uses the same stored token as chat requests, refreshing it first,
155
163
  so it reports the same quota the model is actually billed against.
156
164
 
165
+ ### `/qoder-cn.models`
166
+
167
+ Refreshes the model catalog from `/algo/api/v2/model/list` and reports what moved:
168
+
169
+ ```text
170
+ Qoder CN Plan models · 11 offered by the catalog
171
+
172
+ New (4)
173
+ + kimi-k3.1-pro Kimi-K3.1-Pro · Qoder CN
174
+ + minimax-m3.1-flash MiniMax-M3.1-Flash · Qoder CN
175
+ Renamed upstream (1)
176
+ ~ deepseek-v4-pro DeepSeek V4 Pro · Qoder CN -> DeepSeek-V4-Pro · Qoder CN
177
+ Gone (4)
178
+ - kimi-k3 Kimi-K3 · Qoder CN
179
+ - minimax-m2.7 MiniMax M2.7 · Qoder CN
180
+ ```
181
+
182
+ The provider list is re-registered in the running session, so the change is usable
183
+ in `/model` immediately — no restart. Append `list` to print the models pi currently
184
+ has cached, without touching the network.
185
+
186
+ The catalog key is a slot, not a model: upstream has served Kimi-K2.6 through
187
+ Kimi-K3.1-Pro under `kmodel_latest`. Ids are therefore slugs of the display name, so
188
+ an upgrade arrives as a new id (`kimi-k3` -> `kimi-k3.1-pro`) and a model upstream
189
+ stops offering leaves the list. Retired ids still resolve for an existing
190
+ `settings.json` (they route to the key they always used) but are no longer advertised.
191
+
157
192
  ### `/qoder-cn.claim`
158
193
 
159
194
  Daily check-in command to claim the 100 free Credits reward on Qoder CN personal