zcode-acp-server 0.42.1 → 0.42.3

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 (40) hide show
  1. package/README.md +1 -1
  2. package/dist/backend/index.d.ts +1 -1
  3. package/dist/backend/index.d.ts.map +1 -1
  4. package/dist/backend/index.js +1 -1
  5. package/dist/backend/index.js.map +1 -1
  6. package/dist/backend/resolve.d.ts +18 -0
  7. package/dist/backend/resolve.d.ts.map +1 -1
  8. package/dist/backend/resolve.js +46 -0
  9. package/dist/backend/resolve.js.map +1 -1
  10. package/dist/backend/types.d.ts +30 -0
  11. package/dist/backend/types.d.ts.map +1 -1
  12. package/dist/code-fingerprint.json +2 -2
  13. package/dist/config/account-provider.d.ts +67 -0
  14. package/dist/config/account-provider.d.ts.map +1 -0
  15. package/dist/config/account-provider.js +250 -0
  16. package/dist/config/account-provider.js.map +1 -0
  17. package/dist/config/options.d.ts +5 -1
  18. package/dist/config/options.d.ts.map +1 -1
  19. package/dist/config/options.js +15 -7
  20. package/dist/config/options.js.map +1 -1
  21. package/dist/config/runtime-model.d.ts +12 -8
  22. package/dist/config/runtime-model.d.ts.map +1 -1
  23. package/dist/config/runtime-model.js +84 -22
  24. package/dist/config/runtime-model.js.map +1 -1
  25. package/dist/handlers/session.d.ts.map +1 -1
  26. package/dist/handlers/session.js +26 -1
  27. package/dist/handlers/session.js.map +1 -1
  28. package/dist/remote/hub-server.d.ts +6 -0
  29. package/dist/remote/hub-server.d.ts.map +1 -1
  30. package/dist/remote/hub-server.js +44 -10
  31. package/dist/remote/hub-server.js.map +1 -1
  32. package/dist/server.d.ts +13 -0
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +13 -2
  35. package/dist/server.js.map +1 -1
  36. package/docs/ARCHITECTURE.md +5 -2
  37. package/docs/REMOTE-CLIENTS.md +7 -4
  38. package/docs/REMOTE.md +2 -1
  39. package/docs/TROUBLESHOOTING.md +18 -3
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -244,7 +244,7 @@ Thanks to everyone who has contributed (updated automatically from the
244
244
  <a href="https://github.com/william0wang/zcode-acp/graphs/contributors">
245
245
  <!-- release-please re-stamps &v= on every release: the new URL busts the
246
246
  contrib.rocks and GitHub camo image caches. -->
247
- <img src="https://contrib.rocks/image?repo=william0wang/zcode-acp&v=0.42.1" alt="Contributors" /> <!-- x-release-please-version -->
247
+ <img src="https://contrib.rocks/image?repo=william0wang/zcode-acp&v=0.42.3" alt="Contributors" /> <!-- x-release-please-version -->
248
248
  </a>
249
249
 
250
250
  ## Related Projects
@@ -1,7 +1,7 @@
1
1
  /** Backend layer barrel: ZCode subprocess client + listener + resolve + credentials. */
2
2
  export { ZcodeBackend, type ServerRequest, type EventListener } from "./client.js";
3
3
  export { EventStreamListener, TurnMonitor, type NextId } from "./listener.js";
4
- export { resolveZcodeCommand } from "./resolve.js";
4
+ export { resolveZcodeCommand, builtinProviderEnv } from "./resolve.js";
5
5
  export { loadZcodeCredentials, mergeEnvWithCreds, type ZcodeCredentials } from "./credentials.js";
6
6
  export { SANDBOX_ENV, appendSandboxAllow, armSandboxArgv, buildSandboxProfile, collectSandboxWorkspaces, projectSandboxEnabled, readSandboxConfig, resetSandboxDecisionForTest, sandboxActive, sandboxConfigPath, type SandboxConfig, } from "./sandbox.js";
7
7
  export type { ZcodeRequest, ZcodeNotification, ZcodeResponse, ZcodeInbound, ZcodeSessionInfo, ZcodeCreateResult, ZcodeSessionListItem, ZcodeListResult, ZcodeEvent, ZcodeEventType, ZcodeSubscribeResult, ZcodeSnapshot, ZcodeProjection, ZcodeMessage, ZcodeMessagePart, ZcodeMessagesResult, ZcodeReadResult, ZcodeInteractionPermissionParams, ZcodeInteractionUserInputParams, ZcodeInteractionResponse, } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EAChC,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EAChC,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /** Backend layer barrel: ZCode subprocess client + listener + resolve + credentials. */
2
2
  export { ZcodeBackend } from "./client.js";
3
3
  export { EventStreamListener, TurnMonitor } from "./listener.js";
4
- export { resolveZcodeCommand } from "./resolve.js";
4
+ export { resolveZcodeCommand, builtinProviderEnv } from "./resolve.js";
5
5
  export { loadZcodeCredentials, mergeEnvWithCreds } from "./credentials.js";
6
6
  export { SANDBOX_ENV, appendSandboxAllow, armSandboxArgv, buildSandboxProfile, collectSandboxWorkspaces, projectSandboxEnabled, readSandboxConfig, resetSandboxDecisionForTest, sandboxActive, sandboxConfigPath, } from "./sandbox.js";
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,YAAY,EAA0C,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAe,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAClG,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,GAElB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backend/index.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EAAE,YAAY,EAA0C,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAe,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAClG,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,GAElB,MAAM,cAAc,CAAC"}
@@ -6,6 +6,24 @@
6
6
  * so the shebang fails. We sidestep it by constructing `[node, zcode.cjs,
7
7
  * "app-server", "--stdio"]` with an explicit, sqlite-capable Node binary.
8
8
  */
9
+ export declare const BUILTIN_PROVIDER_ENV = "ZCODE_BUILTIN_PROVIDER_CONFIG_FILE";
10
+ /**
11
+ * Env vars pointing the CLI at its built-in provider table, mirroring the
12
+ * desktop host's own injection. Locates the file next to the resolved CLI
13
+ * entry (sibling `provider/` — npm/dev layout — or `../config/provider/` —
14
+ * the .app bundle layout) and returns `{ZCODE_BUILTIN_PROVIDER_CONFIG_FILE}`;
15
+ * `{}` when the entry is not a JS file, is missing, or carries no provider
16
+ * config anywhere (old CLIs, PATH installs) — those boot without one.
17
+ *
18
+ * The derived value deliberately OVERRIDES any inherited ambient env: the
19
+ * host injects version-keyed runtime paths
20
+ * (`…/runtime/provider/<plat>/<appVersion>/endpoint-<hash>/zcode-builtin.json`)
21
+ * that go stale or vanish across app updates, while the derived path always
22
+ * matches the entry about to be launched. Only a {} result (no adjacent
23
+ * config) leaves the ambient value untouched — for a non-bundled CLI that
24
+ * ambient value is the best hint.
25
+ */
26
+ export declare function builtinProviderEnv(entryArg?: string): NodeJS.ProcessEnv;
9
27
  /**
10
28
  * The backend subcommand and its flags, shared by every launch path.
11
29
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/backend/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4JH;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAGtC;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CA4B9C"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/backend/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+HH,eAAO,MAAM,oBAAoB,uCAAuC,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,UAAU,CAYvE;AA8CD;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAGtC;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CA4B9C"}
@@ -118,6 +118,52 @@ function discoverZcodeBin() {
118
118
  }
119
119
  return null;
120
120
  }
121
+ // ---------- provider-runtime env injection (3.12.3+ desktop bundles) ----------
122
+ /**
123
+ * The CLI's built-in provider table. The desktop app's host resolves it as
124
+ * `<resources>/config/provider/zcode-builtin.json` and hands it to the CLI via
125
+ * `ZCODE_BUILTIN_PROVIDER_CONFIG_FILE` (verified in app.asar 3.12.3 — the env
126
+ * skips the CLI's own file lookup entirely). That lookup only knows the
127
+ * npm/dev layouts (`<entryDir>/provider/` and a five-up `config/` for the
128
+ * monorepo tree), so a .app-bundled `zcode.cjs` launched bare exits during
129
+ * boot with `无法定位 CLI ZCode Built-in Provider Config` (observed 2026-09:
130
+ * exit 1 in <1s, every bridge backend spawn dead until the CLI's
131
+ * `~zcode/v2/runtime/provider` sync happens to run — which itself needs a
132
+ * valid source, so post-update machines sit dead).
133
+ */
134
+ const PROVIDER_CONFIG_NAME = "zcode-builtin.json";
135
+ export const BUILTIN_PROVIDER_ENV = "ZCODE_BUILTIN_PROVIDER_CONFIG_FILE";
136
+ /**
137
+ * Env vars pointing the CLI at its built-in provider table, mirroring the
138
+ * desktop host's own injection. Locates the file next to the resolved CLI
139
+ * entry (sibling `provider/` — npm/dev layout — or `../config/provider/` —
140
+ * the .app bundle layout) and returns `{ZCODE_BUILTIN_PROVIDER_CONFIG_FILE}`;
141
+ * `{}` when the entry is not a JS file, is missing, or carries no provider
142
+ * config anywhere (old CLIs, PATH installs) — those boot without one.
143
+ *
144
+ * The derived value deliberately OVERRIDES any inherited ambient env: the
145
+ * host injects version-keyed runtime paths
146
+ * (`…/runtime/provider/<plat>/<appVersion>/endpoint-<hash>/zcode-builtin.json`)
147
+ * that go stale or vanish across app updates, while the derived path always
148
+ * matches the entry about to be launched. Only a {} result (no adjacent
149
+ * config) leaves the ambient value untouched — for a non-bundled CLI that
150
+ * ambient value is the best hint.
151
+ */
152
+ export function builtinProviderEnv(entryArg) {
153
+ const entry = entryArg ?? process.env.ZCODE_BIN ?? discoverZcodeBin();
154
+ if (!entry || !/\.(cjs|mjs|js)$/.test(entry))
155
+ return {};
156
+ const abs = path.resolve(entry);
157
+ if (!existsSync(abs))
158
+ return {};
159
+ const dir = path.dirname(abs);
160
+ const candidates = [
161
+ path.join(dir, "provider", PROVIDER_CONFIG_NAME),
162
+ path.join(dir, "..", "config", "provider", PROVIDER_CONFIG_NAME),
163
+ ];
164
+ const found = candidates.find((c) => existsSync(c));
165
+ return found ? { [BUILTIN_PROVIDER_ENV]: found } : {};
166
+ }
121
167
  /**
122
168
  * Happy Eyeballs (`autoSelectFamily`, on by default since Node 20.13) gives
123
169
  * each connect attempt a 250ms budget. On a network with no IPv6 route where
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/backend/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/backend/resolve.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,36 @@ export interface ZcodeSessionInfo {
38
38
  }
39
39
  export interface ZcodeCreateResult {
40
40
  session: ZcodeSessionInfo;
41
+ /**
42
+ * Session settings snapshot. `model.available` is the FULL registry listing
43
+ * (with per-model reasoning metadata) — only create/resume return it;
44
+ * `session/read` answers with the current model alone. See
45
+ * `server.modelAvailability`.
46
+ */
47
+ settings?: {
48
+ model?: {
49
+ current?: {
50
+ providerId?: string;
51
+ modelId?: string;
52
+ };
53
+ available?: Array<{
54
+ ref?: {
55
+ providerId?: string;
56
+ modelId?: string;
57
+ };
58
+ reasoning?: {
59
+ defaultLevel?: string;
60
+ levels?: Array<{
61
+ value?: string;
62
+ }>;
63
+ };
64
+ }>;
65
+ };
66
+ thoughtLevel?: {
67
+ current?: string;
68
+ defaultLevel?: string;
69
+ };
70
+ };
41
71
  }
42
72
  export interface ZcodeSessionListItem {
43
73
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  {
2
- "fingerprint": "3ab6ab4d577a57090b28f9d92c0cc27d68618f6f2d49cab2a73d2064c942f43d",
3
- "fileCount": 82
2
+ "fingerprint": "ae7d79b0eb0ffb9523a3eae5fb807210607fe2a39f8bed33aefe2b4384a21f56",
3
+ "fileCount": 83
4
4
  }
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Account-provider config: mirror the desktop host's
3
+ * `provider/updateAccountConfig` push.
4
+ *
5
+ * 3.12+ app-servers build their provider registry from three sources: the
6
+ * bundled `zcode-builtin.json` table, the personal `provider_config.json`, and
7
+ * an ACCOUNT snapshot that the desktop host computes from the signed-in user's
8
+ * plan state and pushes over `provider/updateAccountConfig`. Headless launches
9
+ * have no host to push it, and standalone credential-derived entitlement
10
+ * proved unreliable (2026-09: every `account:*` provider read `entitled:false`
11
+ * while the desktop run of the same machine had
12
+ * `account:bigmodel-individual-coding-plan` entitled — the GLM models the user's
13
+ * config selects were missing from `settings.model.available` entirely, and
14
+ * `session/setModel` failed with "Provider Registry 中不存在 Model").
15
+ *
16
+ * Pushing the snapshot ourselves restores parity: verified 2026-09, a push
17
+ * turned `settings.model.available` from 3 third-party models into 21 including
18
+ * `account:bigmodel-individual-coding-plan/GLM-5.3`, and the switch succeeded.
19
+ *
20
+ * The push needs the exact `basedOnZCodeBuiltinRevision` the runtime computed:
21
+ * `zcode-builtin:<file.revision>:<sha256(resolve(activeConfigFilePath))>` (the
22
+ * hash covers the PATH, not the bytes — verified against the runtime's own
23
+ * logged revision). A mismatch is accepted by the schema but the registry
24
+ * ignores it, so the path we hash must be the same one the CLI resolved.
25
+ */
26
+ import type { ZcodeBackend } from "../backend/client.js";
27
+ /**
28
+ * Map a config.json builtin provider id to the account-provider id the
29
+ * registry actually exposes. `builtin:<family>-coding-plan` is the
30
+ * individual-plan spelling in config.json, while the table names it
31
+ * `account:<family>-individual-coding-plan`; other plan spellings match
32
+ * one-to-one. Unknown ids pass through unchanged.
33
+ */
34
+ export declare function accountProviderIdFor(providerId: string): string;
35
+ /** Reverse map: account-provider id → the config.json id it corresponds to. */
36
+ export declare function configProviderIdFor(providerId: string): string;
37
+ /** The `provider/updateAccountConfig` payload (schema-verified shape). */
38
+ export interface AccountProviderPayload {
39
+ revision: string;
40
+ basedOnZCodeBuiltinRevision: string;
41
+ providers: Record<string, {
42
+ builtinModelIds?: string[];
43
+ access: {
44
+ type: string;
45
+ entitled: boolean;
46
+ };
47
+ }>;
48
+ states: Record<string, {
49
+ availability: "available" | "pending" | "unavailable" | "unknown";
50
+ entitled: boolean;
51
+ current: boolean;
52
+ }>;
53
+ }
54
+ /**
55
+ * Build the account snapshot: every coding-plan provider the bundled table
56
+ * declares, with entitlement taken from config.json's enabled builtin plans.
57
+ * Returns null when there is nothing to push (no table, no zhipu providers).
58
+ */
59
+ export declare function buildAccountProviderConfig(): AccountProviderPayload | null;
60
+ /**
61
+ * Push the account snapshot to the backend. Best-effort: a failure logs and
62
+ * returns false — session creation must proceed regardless (the account
63
+ * providers simply stay absent from the model dropdown). A backend that does
64
+ * not know the method (older CLI) is a quiet no-op, not a warning.
65
+ */
66
+ export declare function pushAccountProviderConfig(backend: ZcodeBackend, nextId: () => number): Promise<boolean>;
67
+ //# sourceMappingURL=account-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-provider.d.ts","sourceRoot":"","sources":["../../src/config/account-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AA+EzD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB/D;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAU9D;AAuED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B,EAAE,MAAM,CAAC;IACpC,SAAS,EAAE,MAAM,CACf,MAAM,EACN;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAC5E,CAAC;IACF,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,YAAY,EAAE,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;QAClE,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;KAClB,CACF,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,sBAAsB,GAAG,IAAI,CA6B1E;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CA2BlB"}
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Account-provider config: mirror the desktop host's
3
+ * `provider/updateAccountConfig` push.
4
+ *
5
+ * 3.12+ app-servers build their provider registry from three sources: the
6
+ * bundled `zcode-builtin.json` table, the personal `provider_config.json`, and
7
+ * an ACCOUNT snapshot that the desktop host computes from the signed-in user's
8
+ * plan state and pushes over `provider/updateAccountConfig`. Headless launches
9
+ * have no host to push it, and standalone credential-derived entitlement
10
+ * proved unreliable (2026-09: every `account:*` provider read `entitled:false`
11
+ * while the desktop run of the same machine had
12
+ * `account:bigmodel-individual-coding-plan` entitled — the GLM models the user's
13
+ * config selects were missing from `settings.model.available` entirely, and
14
+ * `session/setModel` failed with "Provider Registry 中不存在 Model").
15
+ *
16
+ * Pushing the snapshot ourselves restores parity: verified 2026-09, a push
17
+ * turned `settings.model.available` from 3 third-party models into 21 including
18
+ * `account:bigmodel-individual-coding-plan/GLM-5.3`, and the switch succeeded.
19
+ *
20
+ * The push needs the exact `basedOnZCodeBuiltinRevision` the runtime computed:
21
+ * `zcode-builtin:<file.revision>:<sha256(resolve(activeConfigFilePath))>` (the
22
+ * hash covers the PATH, not the bytes — verified against the runtime's own
23
+ * logged revision). A mismatch is accepted by the schema but the registry
24
+ * ignores it, so the path we hash must be the same one the CLI resolved.
25
+ */
26
+ import { createHash } from "node:crypto";
27
+ import { existsSync, readFileSync } from "node:fs";
28
+ import os from "node:os";
29
+ import path from "node:path";
30
+ import { BUILTIN_PROVIDER_ENV, builtinProviderEnv } from "../backend/resolve.js";
31
+ import { log, warn, ZCODE_CREDS_PATH } from "../utils.js";
32
+ /** The bundled provider-table file the CLI boots from. */
33
+ const PROVIDER_CONFIG_NAME = "zcode-builtin.json";
34
+ /**
35
+ * Locate the built-in provider table — the process the backend will resolve to,
36
+ * because `basedOnZCodeBuiltinRevision` hashes the PATH and the runtime rejects
37
+ * a snapshot whose revision does not match its own.
38
+ *
39
+ * Order matters: the DERIVED injection first (that is the value `ensureBackend`
40
+ * merges into the spawn env and therefore the path the CLI boots from), then
41
+ * the ambient env as a fallback. Reading the ambient var first is wrong on a
42
+ * desktop-attached host: it points at a version-keyed `runtime/provider/…`
43
+ * copy, and hashing that path yields a revision the backend rejects
44
+ * (verified 2026-09 — the push reported "received" but entitlement never
45
+ * applied, switch stayed "Provider Registry 中不存在 Model").
46
+ */
47
+ function builtinTablePath() {
48
+ const injected = builtinProviderEnv()[BUILTIN_PROVIDER_ENV];
49
+ if (injected)
50
+ return injected;
51
+ const fromEnv = process.env[BUILTIN_PROVIDER_ENV]?.trim();
52
+ if (fromEnv)
53
+ return fromEnv;
54
+ const bundled = process.platform === "win32"
55
+ ? path.join(process.env.LOCALAPPDATA ?? path.join(os.homedir(), "AppData", "Local"), "Programs", "ZCode", "resources", "config", "provider", PROVIDER_CONFIG_NAME)
56
+ : "/Applications/ZCode.app/Contents/Resources/config/provider/zcode-builtin.json";
57
+ return existsSync(bundled) ? bundled : null;
58
+ }
59
+ function readBuiltinTable() {
60
+ const file = builtinTablePath();
61
+ if (!file)
62
+ return null;
63
+ try {
64
+ return { table: JSON.parse(readFileSync(file, "utf8")), file };
65
+ }
66
+ catch (e) {
67
+ warn(`account-provider: unreadable provider table (${e instanceof Error ? e.message : String(e)})`);
68
+ return null;
69
+ }
70
+ }
71
+ /**
72
+ * The revision the runtime derives for the bundled table:
73
+ * `zcode-builtin:<revision>:<sha256(path)>`. The hash is over the resolved
74
+ * PATH (verified against the runtime's logged `configRevision`), so it must be
75
+ * computed from the exact path we hand the backend.
76
+ */
77
+ function builtinRevision(file, revision) {
78
+ const hash = createHash("sha256").update(path.resolve(file)).digest("hex");
79
+ return `zcode-builtin:${revision ?? 0}:${hash}`;
80
+ }
81
+ /**
82
+ * Map a config.json builtin provider id to the account-provider id the
83
+ * registry actually exposes. `builtin:<family>-coding-plan` is the
84
+ * individual-plan spelling in config.json, while the table names it
85
+ * `account:<family>-individual-coding-plan`; other plan spellings match
86
+ * one-to-one. Unknown ids pass through unchanged.
87
+ */
88
+ export function accountProviderIdFor(providerId) {
89
+ if (!providerId.startsWith("builtin:"))
90
+ return providerId;
91
+ const rules = readBuiltinTable()?.table.config?.providerConfigRules?.providerRules?.filter((r) => r.config?.access?.type === "zhipu-account") ?? [];
92
+ const slug = providerId.slice("builtin:".length); // e.g. "bigmodel-coding-plan"
93
+ // "<family>-<plan>" — split on the FIRST dash so multi-hyphen families survive.
94
+ const dash = slug.indexOf("-");
95
+ if (dash <= 0)
96
+ return providerId;
97
+ const family = slug.slice(0, dash);
98
+ let plan = slug.slice(dash + 1); // "coding-plan" | "start-plan"
99
+ if (plan === "coding-plan")
100
+ plan = "individual-coding-plan";
101
+ const hit = rules.find((r) => r.config?.access?.accountType === family && r.config?.access?.mode === plan);
102
+ return hit?.providerId ?? providerId;
103
+ }
104
+ /** Reverse map: account-provider id → the config.json id it corresponds to. */
105
+ export function configProviderIdFor(providerId) {
106
+ if (!providerId.startsWith("account:"))
107
+ return providerId;
108
+ const rule = readBuiltinTable()?.table.config?.providerConfigRules?.providerRules?.find((r) => r.providerId === providerId);
109
+ const family = rule?.config?.access?.accountType;
110
+ const mode = rule?.config?.access?.mode;
111
+ if (!family || !mode)
112
+ return providerId;
113
+ const plan = mode === "individual-coding-plan" ? "coding-plan" : mode;
114
+ return `builtin:${family}-${plan}`;
115
+ }
116
+ /**
117
+ * The plans the user actually holds, keyed by the LEGACY `builtin:<family>-<plan>`
118
+ * id — the id every entitlement source below speaks.
119
+ *
120
+ * Three on-disk signals, unioned so any single one being stale still yields the
121
+ * truth. Ranked by authority:
122
+ *
123
+ * 1. `coding-plan-cache.json` — the desktop's own availability verdict
124
+ * (`{items: {"builtin:bigmodel-coding-plan": {status:"available" | "unavailable"}}}`).
125
+ * Carries the resolved available/not-entitled decision, not a raw flag.
126
+ * Desktop-only, so a headless-only machine falls through.
127
+ * 2. `setting.json` — what the user picked in the Settings UI
128
+ * (`modelProviderFamilySelectedKeys`: {"bigmodel":
129
+ * "coding-plan:builtin:bigmodel-coding-plan"}). This is the account plan
130
+ * binding; a family present here holds a plan.
131
+ * 3. `config.json` (legacy CLI config) — `builtin:*` entries with
132
+ * `enabled:true` AND an apiKey. Still written by the app; the fallback.
133
+ *
134
+ * Verified 2026-09 against the desktop's own pushed account snapshot: this
135
+ * derivation produced exactly its entitlement set (bigmodel individual true,
136
+ * every zai/start/team plan false).
137
+ */
138
+ function entitledBuiltinProviders() {
139
+ const out = new Set();
140
+ const credsDir = path.dirname(ZCODE_CREDS_PATH);
141
+ // 1) Desktop availability cache (authoritative: the resolved verdict).
142
+ try {
143
+ const cache = JSON.parse(readFileSync(path.join(credsDir, "coding-plan-cache.json"), "utf8"));
144
+ for (const [pid, entry] of Object.entries(cache.entryStatus?.items ?? {})) {
145
+ if (entry?.status === "available")
146
+ out.add(pid);
147
+ }
148
+ }
149
+ catch {
150
+ // cache absent/unreadable — the other sources decide
151
+ }
152
+ // 2) Legacy config.json (still the app's own provider enablement).
153
+ try {
154
+ const cfg = JSON.parse(readFileSync(ZCODE_CREDS_PATH, "utf8"));
155
+ for (const [pid, p] of Object.entries(cfg.provider ?? {})) {
156
+ if (!pid.startsWith("builtin:"))
157
+ continue;
158
+ if (p?.enabled === true && p.options?.apiKey)
159
+ out.add(pid);
160
+ }
161
+ }
162
+ catch {
163
+ // unreadable config — the other sources decide
164
+ }
165
+ if (out.size > 0)
166
+ return out;
167
+ // 3) Last resort only (both sources above empty — a machine that has never
168
+ // written them): the Settings UI's remembered pick per family. This is a
169
+ // SELECTION record, not an entitlement — `zai` sitting there means the
170
+ // user opened that family's picker, not that the plan is held (observed
171
+ // 2026-09: it named an unentitled zai plan). Never union it with the
172
+ // authoritative sources above.
173
+ try {
174
+ const setting = JSON.parse(readFileSync(path.join(credsDir, "setting.json"), "utf8"));
175
+ for (const selected of Object.values(setting.modelProviderFamilySelectedKeys ?? {})) {
176
+ const m = /(builtin:[a-z0-9-]+)/.exec(selected);
177
+ if (m)
178
+ out.add(m[1]);
179
+ }
180
+ }
181
+ catch {
182
+ // setting.json absent (headless-only) — nothing to infer
183
+ }
184
+ return out;
185
+ }
186
+ /**
187
+ * Build the account snapshot: every coding-plan provider the bundled table
188
+ * declares, with entitlement taken from config.json's enabled builtin plans.
189
+ * Returns null when there is nothing to push (no table, no zhipu providers).
190
+ */
191
+ export function buildAccountProviderConfig() {
192
+ const found = readBuiltinTable();
193
+ if (!found)
194
+ return null;
195
+ const rules = found.table.config?.providerConfigRules?.providerRules?.filter((r) => r.config?.access?.type === "zhipu-account") ?? [];
196
+ if (rules.length === 0)
197
+ return null;
198
+ const enabled = entitledBuiltinProviders();
199
+ const providers = {};
200
+ const states = {};
201
+ for (const rule of rules) {
202
+ const entitled = enabled.has(configProviderIdFor(rule.providerId));
203
+ providers[rule.providerId] = {
204
+ builtinModelIds: rule.config?.builtinModelIds,
205
+ access: { type: "zhipu-account", entitled },
206
+ };
207
+ states[rule.providerId] = {
208
+ availability: entitled ? "available" : "unavailable",
209
+ entitled,
210
+ current: entitled,
211
+ };
212
+ }
213
+ return {
214
+ revision: `account:bridge:${Date.now()}`,
215
+ basedOnZCodeBuiltinRevision: builtinRevision(found.file, found.table.revision),
216
+ providers,
217
+ states,
218
+ };
219
+ }
220
+ /**
221
+ * Push the account snapshot to the backend. Best-effort: a failure logs and
222
+ * returns false — session creation must proceed regardless (the account
223
+ * providers simply stay absent from the model dropdown). A backend that does
224
+ * not know the method (older CLI) is a quiet no-op, not a warning.
225
+ */
226
+ export async function pushAccountProviderConfig(backend, nextId) {
227
+ const payload = buildAccountProviderConfig();
228
+ if (!payload)
229
+ return false;
230
+ try {
231
+ const resp = await backend.request(nextId(), "provider/updateAccountConfig", payload, 10000);
232
+ if (resp.error) {
233
+ if (resp.error.code === -32601) {
234
+ log("account-provider: backend has no provider/updateAccountConfig (old CLI) — skipped");
235
+ }
236
+ else {
237
+ warn(`account-provider: push failed: ${resp.error.message}`);
238
+ }
239
+ return false;
240
+ }
241
+ const result = (resp.result ?? {});
242
+ log(`account-provider: pushed ${result.providerCount ?? Object.keys(payload.providers).length} provider(s) (${result.status ?? "ok"})`);
243
+ return true;
244
+ }
245
+ catch (e) {
246
+ warn(`account-provider: push threw: ${e instanceof Error ? e.message : String(e)}`);
247
+ return false;
248
+ }
249
+ }
250
+ //# sourceMappingURL=account-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-provider.js","sourceRoot":"","sources":["../../src/config/account-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1D,0DAA0D;AAC1D,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAkBlD;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC5D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CACP,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EACvE,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,oBAAoB,CACrB;QACH,CAAC,CAAC,+EAA+E,CAAC;IACtF,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAiB,EAAE,IAAI,EAAE,CAAC;IACjF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CACF,gDAAgD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAC9F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,QAA4B;IACjE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,OAAO,iBAAiB,QAAQ,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1D,MAAM,KAAK,GACT,gBAAgB,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAC1E,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,eAAe,CAClD,IAAI,EAAE,CAAC;IACV,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B;IAChF,gFAAgF;IAChF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,+BAA+B;IAChE,IAAI,IAAI,KAAK,aAAa;QAAE,IAAI,GAAG,wBAAwB,CAAC;IAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,CACnF,CAAC;IACF,OAAO,GAAG,EAAE,UAAU,IAAI,UAAU,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1D,MAAM,IAAI,GAAG,gBAAgB,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,IAAI,CACrF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CACnC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;IACxC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;QAAE,OAAO,UAAU,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,OAAO,WAAW,MAAM,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,wBAAwB;IAC/B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,uEAAuE;IACvE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,EAAE,MAAM,CAAC,CACC,CAAC;QACvE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1E,IAAI,KAAK,EAAE,MAAM,KAAK,WAAW;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IACD,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAE5D,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,SAAS;YAC1C,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC7B,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,wEAAwE;IACxE,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAEnF,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,IAAI,EAAE,CAAC,EAAE,CAAC;YACpF,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAoBD;;;;GAIG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,eAAe,CAClD,IAAI,EAAE,CAAC;IACV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,wBAAwB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;YAC3B,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe;YAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE;SAC5C,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG;YACxB,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa;YACpD,QAAQ;YACR,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE;QACxC,2BAA2B,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC9E,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAqB,EACrB,MAAoB;IAEpB,MAAM,OAAO,GAAG,0BAA0B,EAAE,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAChC,MAAM,EAAE,EACR,8BAA8B,EAC9B,OAA6C,EAC7C,KAAK,CACN,CAAC;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,GAAG,CAAC,mFAAmF,CAAC,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,kCAAkC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAgD,CAAC;QAClF,GAAG,CACD,4BAA4B,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,iBAAiB,MAAM,CAAC,MAAM,IAAI,IAAI,GAAG,CACnI,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,iCAAiC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -61,7 +61,11 @@ export declare function providerSelectable(pid: string, p: ProviderEntry | undef
61
61
  * Collect models from config.json for the dropdown.
62
62
  */
63
63
  export declare function loadAllModels(): ModelRef[];
64
- /** Look up a provider entry by id (any provider, not just enabled). */
64
+ /** Look up a provider entry by id (any provider, not just enabled).
65
+ *
66
+ * 3.12+ registries spell coding-plan providers `account:<family>-<plan>` while
67
+ * config.json keeps the legacy `builtin:<family>-<plan>` — normalize before
68
+ * lookup so both spellings resolve. */
65
69
  export declare function findProviderConfig(providerId: string): ProviderEntry | null;
66
70
  /** Read the context-window size for a provider+model from config.json. */
67
71
  export declare function modelContextWindow(providerId: string, modelId: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/config/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/config/options.ts"],"names":[],"mappings":"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"}