@namzu/cli 33.2.1 → 34.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/CHANGELOG.md +15 -0
- package/README.md +12 -11
- package/dist/doctor/checks/chain.d.ts.map +1 -1
- package/dist/doctor/checks/chain.js +15 -8
- package/dist/doctor/checks/chain.js.map +1 -1
- package/dist/doctor/checks/credentials.d.ts.map +1 -1
- package/dist/doctor/checks/credentials.js +12 -3
- package/dist/doctor/checks/credentials.js.map +1 -1
- package/dist/integrations/providers/access.d.ts +3 -2
- package/dist/integrations/providers/access.d.ts.map +1 -1
- package/dist/integrations/providers/access.js +3 -2
- package/dist/integrations/providers/access.js.map +1 -1
- package/dist/integrations/providers/discover.d.ts +5 -5
- package/dist/integrations/providers/discover.d.ts.map +1 -1
- package/dist/integrations/providers/discover.js +4 -4
- package/dist/integrations/providers/registry.js +1 -1
- package/dist/integrations/providers/registry.js.map +1 -1
- package/dist/integrations/providers/setup.d.ts.map +1 -1
- package/dist/integrations/providers/setup.js +7 -3
- package/dist/integrations/providers/setup.js.map +1 -1
- package/dist/tui/Picker.js +4 -2
- package/dist/tui/Picker.js.map +1 -1
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +24 -6
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/provider-list.d.ts +3 -3
- package/dist/tui/provider-list.d.ts.map +1 -1
- package/dist/tui/provider-list.js +8 -4
- package/dist/tui/provider-list.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @namzu/cli
|
|
2
2
|
|
|
3
|
+
## 34.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 29b142f: Zen Go no longer includes `glm-5.1`, `qwen3.6-plus`, or `qwen3.7-max` in its bundled supported model roster. The service still lists these IDs, but its current documentation provides no route or price for them. Applications relying on these IDs should select a documented model or, if they have independently verified the wire, configure `ZenGoProvider` with an explicit `protocol`. The CLI no longer offers these reviewed omissions.
|
|
8
|
+
|
|
9
|
+
The default anonymous Zen model changes from `muse-spark-1.3-contributor-free` to `space-bunny-free` in both the SDK and CLI. Callers that need the old choice must pass `model: 'muse-spark-1.3-contributor-free'` explicitly and try credentialed Zen access, subject to gateway admission. The gateway currently rejects direct keyless Namzu requests to Muse and six other documented free models with HTTP 403; only Space Bunny Free completed a live keyless text and tool-continuation test. Anonymous model discovery now admits only that verified model while retaining the other free models for credentialed use.
|
|
10
|
+
|
|
11
|
+
Zen and Zen Go now follow the reference client's route overrides for DeepSeek V4 Flash and MiniMax, handle Muse Spark reasoning continuation without replaying gateway-bound ciphertext, and read the current Zen Go price table when refreshing the catalogue. These keyed routes have wire-fixture coverage but were not live-tested with an account. The CLI distinguishes model listing from verified inference and explains the gateway's specific HTTP 403 free-tier refusal.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [29b142f]
|
|
16
|
+
- @namzu/zen@3.0.0
|
|
17
|
+
|
|
3
18
|
## 33.2.1
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -169,12 +169,12 @@ these:`, each marked with the variable that sets it up (`needs
|
|
|
169
169
|
OPENROUTER_API_KEY`), and selecting one opens the paste field for that provider.
|
|
170
170
|
|
|
171
171
|
Zen and Zen Go appear as separate providers in `/model` (press
|
|
172
|
-
`p` to change providers).
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
172
|
+
`p` to change providers). Without a key, Zen defaults to `space-bunny-free`,
|
|
173
|
+
which completed keyless text and tool-continuation turns through Namzu on
|
|
174
|
+
2026-09-28. The other seven bundled free models returned HTTP 403 to direct
|
|
175
|
+
Namzu requests that day, so they are not offered for anonymous selection.
|
|
176
|
+
Selecting the anonymous option does not open a login or key prompt. Use a Zen
|
|
177
|
+
API key for credentialed access to other models.
|
|
178
178
|
|
|
179
179
|
For paid Zen models, set `OPENCODE_API_KEY` or `OPENCODE_ZEN_API_KEY`; Go
|
|
180
180
|
requires `OPENCODE_GO_API_KEY` or its own installed API credential. When both
|
|
@@ -190,17 +190,18 @@ Namzu reads the `opencode` entry for Zen and `opencode-go` for Go, accepts
|
|
|
190
190
|
only API-key entries, and leaves the file unchanged. OAuth entries are not
|
|
191
191
|
converted into API keys, and a Zen key is never reused for Go. Keys entered
|
|
192
192
|
in the picker remain temporary.
|
|
193
|
-
|
|
194
|
-
and carries the label `
|
|
193
|
+
Anonymous Zen is listed after existing accounts and reachable local providers
|
|
194
|
+
and carries the label `anonymous option · access unverified`.
|
|
195
195
|
|
|
196
196
|
```bash
|
|
197
197
|
namzu exec --provider zen "Explain this project"
|
|
198
|
-
namzu exec --provider zen --model
|
|
198
|
+
namzu exec --provider zen --model space-bunny-free "Explain this project"
|
|
199
199
|
namzu exec --provider zen-go --model glm-5.3-flash "Explain this project"
|
|
200
200
|
```
|
|
201
201
|
|
|
202
|
-
The Zen commands
|
|
203
|
-
own credential. All use the
|
|
202
|
+
The Zen commands attempt anonymous access when no key is available; the
|
|
203
|
+
gateway may refuse that request. Go requires its own credential. All use the
|
|
204
|
+
existing folder-trust rules. The same
|
|
204
205
|
provider/model flags work with `exec --json`.
|
|
205
206
|
The picker lists each service's supported models from the provider catalogue;
|
|
206
207
|
an explicit model selection is saved using the existing preferences flow.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAUhE,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,0CAA0C,CAAA;AAKlG,MAAM,WAAW,yBAAyB;IACzC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,GAAE,yBAA8B,GACrC,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAUhE,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,0CAA0C,CAAA;AAKlG,MAAM,WAAW,yBAAyB;IACzC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,GAAE,yBAA8B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CA8K5B;AAED,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAA"}
|
|
@@ -104,6 +104,7 @@ export async function describeProviderChain(options = {}) {
|
|
|
104
104
|
const lines = [];
|
|
105
105
|
let unusable = 0;
|
|
106
106
|
let primaryUnusable = false;
|
|
107
|
+
let anonymousZen = false;
|
|
107
108
|
for (const [index, member] of members.entries()) {
|
|
108
109
|
const entry = PROVIDER_REGISTRY[member.id];
|
|
109
110
|
const position = index === 0 ? 'primary' : `fallback ${index}`;
|
|
@@ -116,6 +117,8 @@ export async function describeProviderChain(options = {}) {
|
|
|
116
117
|
const det = detected.find((d) => d.entry.id === member.id);
|
|
117
118
|
const needsKey = requiresCredentialForModel(entry, member.model ?? entry.defaultModel);
|
|
118
119
|
const usable = needsKey ? hasApiCredential(entry, det?.apiKey) : Boolean(det);
|
|
120
|
+
if (entry.id === 'zen' && usable && !hasApiCredential(entry, det?.apiKey))
|
|
121
|
+
anonymousZen = true;
|
|
119
122
|
if (!usable) {
|
|
120
123
|
unusable++;
|
|
121
124
|
if (index === 0)
|
|
@@ -128,7 +131,7 @@ export async function describeProviderChain(options = {}) {
|
|
|
128
131
|
: entry.id === 'zen' && usable
|
|
129
132
|
? hasApiCredential(entry, det?.apiKey)
|
|
130
133
|
? 'credential found'
|
|
131
|
-
: '
|
|
134
|
+
: 'anonymous option (inference access unverified)'
|
|
132
135
|
: usable
|
|
133
136
|
? 'reachable'
|
|
134
137
|
: 'NOT REACHABLE';
|
|
@@ -176,17 +179,21 @@ export async function describeProviderChain(options = {}) {
|
|
|
176
179
|
: 'The primary provider could not be loaded, so no turn can start. Run `namzu` to pick a provider that can.',
|
|
177
180
|
};
|
|
178
181
|
}
|
|
179
|
-
if (unusable > 0 || unreadable.length > 0 || disagreements.length > 0) {
|
|
182
|
+
if (unusable > 0 || unreadable.length > 0 || disagreements.length > 0 || anonymousZen) {
|
|
180
183
|
return {
|
|
181
|
-
//
|
|
182
|
-
//
|
|
184
|
+
// Anonymous Zen may be refused at inference time even when its model
|
|
185
|
+
// catalogue answers. That is unverified, not a failed credential check.
|
|
183
186
|
status: 'warn',
|
|
184
187
|
message: unusable > 0
|
|
185
188
|
? `${unusable} of ${members.length} chain member(s) cannot be used:\n${message}`
|
|
186
|
-
:
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
189
|
+
: anonymousZen
|
|
190
|
+
? `provider chain configured, with unverified access:\n${message}`
|
|
191
|
+
: `provider chain usable, with limitations:\n${message}`,
|
|
192
|
+
remediation: anonymousZen
|
|
193
|
+
? 'Discovering an anonymous Zen option does not prove inference access. If a turn is refused, configure OPENCODE_API_KEY or choose another provider.'
|
|
194
|
+
: unusable > 0
|
|
195
|
+
? 'The primary still works, so turns will start. But a fallback with no credential is not a fallback — set its key, or take it out of the chain.'
|
|
196
|
+
: 'The primary still works. A fallback that declares less than your primary will serve shorter or less capable turns if the chain ever falls over to it.',
|
|
190
197
|
};
|
|
191
198
|
}
|
|
192
199
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/doctor/checks/chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAKhE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAmEpC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hasApiCredential } from '../../integrations/providers/access.js';
|
|
1
2
|
import { discoverProviders } from '../../integrations/providers/discover.js';
|
|
2
3
|
/**
|
|
3
4
|
* Which credential sources namzu actually scanned, and what each yielded.
|
|
@@ -42,9 +43,11 @@ export const credentialSourcesCheck = {
|
|
|
42
43
|
const lines = detected.map((d) => {
|
|
43
44
|
switch (d.source.kind) {
|
|
44
45
|
case 'env':
|
|
46
|
+
if (d.entry.id === 'zen' && !hasApiCredential(d.entry, d.apiKey))
|
|
47
|
+
return `${d.entry.id} (env · ${d.source.envName}=public; inference access unverified)`;
|
|
45
48
|
return `${d.entry.id} (env · ${d.source.envName})`;
|
|
46
49
|
case 'public':
|
|
47
|
-
return `${d.entry.id} (
|
|
50
|
+
return `${d.entry.id} (anonymous option · inference access unverified)`;
|
|
48
51
|
case 'opencode-file':
|
|
49
52
|
return `${d.entry.id} (OpenCode API key · ${d.source.path})`;
|
|
50
53
|
case 'keychain':
|
|
@@ -65,9 +68,15 @@ export const credentialSourcesCheck = {
|
|
|
65
68
|
return `${d.entry.id} (typed · current session)`;
|
|
66
69
|
}
|
|
67
70
|
});
|
|
71
|
+
const onlyAnonymousZen = detected.every((d) => d.entry.id === 'zen' && !hasApiCredential(d.entry, d.apiKey));
|
|
68
72
|
return {
|
|
69
|
-
status: 'pass',
|
|
70
|
-
message: `${detected.length} provider source(s)
|
|
73
|
+
status: onlyAnonymousZen ? 'warn' : 'pass',
|
|
74
|
+
message: `${detected.length} provider source(s) discovered: ${lines.join(', ')}`,
|
|
75
|
+
...(onlyAnonymousZen
|
|
76
|
+
? {
|
|
77
|
+
remediation: 'Discovering an anonymous Zen option does not prove inference access. If a turn is refused, configure OPENCODE_API_KEY or choose another provider.',
|
|
78
|
+
}
|
|
79
|
+
: {}),
|
|
71
80
|
};
|
|
72
81
|
},
|
|
73
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAE5E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAgB;IAClD,EAAE,EAAE,uBAAuB;IAC3B,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,KAAK,IAAgC,EAAE;QAC3C,IAAI,QAAuD,CAAA;QAC3D,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAA;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,oEAAoE;YACpE,sEAAsE;YACtE,OAAO;gBACN,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC3F,CAAA;QACF,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACN,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EACV,kTAAkT;aACnT,CAAA;QACF,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,KAAK;oBACT,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAA;gBACnD,KAAK,QAAQ;oBACZ,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import type { ProviderRegistryEntry } from './registry.js';
|
|
|
2
2
|
/** The service's public marker is not an account credential. */
|
|
3
3
|
export declare function hasApiCredential(entry: ProviderRegistryEntry, apiKey: string | undefined): boolean;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
* the
|
|
5
|
+
* Direct anonymous Zen admission uses the driver's curated access flag, not
|
|
6
|
+
* every model the service advertises as free. Read the session's active
|
|
7
|
+
* catalogue, which the background refresh can replace.
|
|
7
8
|
*/
|
|
8
9
|
export declare function requiresCredentialForModel(entry: ProviderRegistryEntry, model: string): boolean;
|
|
9
10
|
export declare function canSelectModel(entry: ProviderRegistryEntry, apiKey: string | undefined, model: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAG1D,gEAAgE;AAChE,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAKT;AAED
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAG1D,gEAAgE;AAChE,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAK/F;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,MAAM,GACX,OAAO,CAET"}
|
|
@@ -7,8 +7,9 @@ export function hasApiCredential(entry, apiKey) {
|
|
|
7
7
|
return Boolean(apiKey);
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
* the
|
|
10
|
+
* Direct anonymous Zen admission uses the driver's curated access flag, not
|
|
11
|
+
* every model the service advertises as free. Read the session's active
|
|
12
|
+
* catalogue, which the background refresh can replace.
|
|
12
13
|
*/
|
|
13
14
|
export function requiresCredentialForModel(entry, model) {
|
|
14
15
|
return (entry.requiresApiKey ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../../src/integrations/providers/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAC/B,KAA4B,EAC5B,MAA0B;IAE1B,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../../src/integrations/providers/access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAC/B,KAA4B,EAC5B,MAA0B;IAE1B,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA4B,EAAE,KAAa;IACrF,OAAO,CACN,KAAK,CAAC,cAAc;QACpB,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC,CAC1F,CAAA;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,KAA4B,EAC5B,MAA0B,EAC1B,KAAa;IAEb,OAAO,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACpF,CAAC"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* API environment alternatives. Gemini prefers environment API keys, then a
|
|
6
6
|
* Namzu-owned saved key, then its installed CLI Google session. Zen/Go use
|
|
7
7
|
* direct API environment variables, then exact API entries in OpenCode's owner
|
|
8
|
-
* store. Anonymous Zen is
|
|
9
|
-
* and is ordered last.
|
|
8
|
+
* store. Anonymous Zen is offered without a credential or local installation
|
|
9
|
+
* and is ordered last; discovery has not verified inference access.
|
|
10
10
|
*
|
|
11
|
-
* A public source
|
|
12
|
-
*
|
|
11
|
+
* A public source means the documented anonymous option exists. It does not
|
|
12
|
+
* assert model inference access or network reachability. Local servers require a
|
|
13
13
|
* successful bounded probe. Discovery never writes borrowed credentials.
|
|
14
14
|
*/
|
|
15
15
|
import type { CredentialOrigin } from './oauth.js';
|
|
@@ -18,7 +18,7 @@ export type DetectionSource = {
|
|
|
18
18
|
readonly kind: 'env';
|
|
19
19
|
readonly envName: string;
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
21
|
+
/** Anonymous Zen option; inference access and connectivity are unverified. */
|
|
22
22
|
| {
|
|
23
23
|
readonly kind: 'public';
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAoBH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE9F,MAAM,MAAM,eAAe,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AACpD,
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* API environment alternatives. Gemini prefers environment API keys, then a
|
|
6
6
|
* Namzu-owned saved key, then its installed CLI Google session. Zen/Go use
|
|
7
7
|
* direct API environment variables, then exact API entries in OpenCode's owner
|
|
8
|
-
* store. Anonymous Zen is
|
|
9
|
-
* and is ordered last.
|
|
8
|
+
* store. Anonymous Zen is offered without a credential or local installation
|
|
9
|
+
* and is ordered last; discovery has not verified inference access.
|
|
10
10
|
*
|
|
11
|
-
* A public source
|
|
12
|
-
*
|
|
11
|
+
* A public source means the documented anonymous option exists. It does not
|
|
12
|
+
* assert model inference access or network reachability. Local servers require a
|
|
13
13
|
* successful bounded probe. Discovery never writes borrowed credentials.
|
|
14
14
|
*/
|
|
15
15
|
import { EnvCredentialProvider } from '@namzu/sdk';
|
|
@@ -141,7 +141,7 @@ export const PROVIDER_REGISTRY = Object.freeze({
|
|
|
141
141
|
vendor: 'zen',
|
|
142
142
|
envVars: ['OPENCODE_API_KEY', 'OPENCODE_ZEN_API_KEY'],
|
|
143
143
|
defaultBaseUrl: 'https://opencode.ai/zen/v1',
|
|
144
|
-
defaultModel: '
|
|
144
|
+
defaultModel: 'space-bunny-free',
|
|
145
145
|
requiresApiKey: false,
|
|
146
146
|
acceptsTypedCredential: true,
|
|
147
147
|
constructible: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/integrations/providers/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/integrations/providers/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/setup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAgBlB,CAAA;AACV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAC3D,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACvB;AAED,iGAAiG;AACjG,wBAAgB,eAAe,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACR,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C,GACC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAiGpE;AAED,wBAAsB,cAAc,CACnC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,EAAE,CAAC,CA0BvB;AAED,wBAAgB,cAAc,CAC7B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE;UArI7D,MAAM,GAAG,IAAI;YAAU,MAAM;aAAW,OAAO;GA+IjE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { execFile, spawn } from 'node:child_process';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { resolveNpmInvocation } from '../npm-invocation.js';
|
|
4
|
+
import { hasApiCredential } from './access.js';
|
|
4
5
|
export const SETUP_HARNESSES = [
|
|
5
6
|
{ id: 'codex', label: 'Codex', binary: 'codex', npmPackage: '@openai/codex', provider: 'codex' },
|
|
6
7
|
{
|
|
@@ -126,13 +127,16 @@ export async function probeHarnesses(detected, cwd, signal) {
|
|
|
126
127
|
signal,
|
|
127
128
|
timeoutMs: 3000,
|
|
128
129
|
});
|
|
129
|
-
const
|
|
130
|
+
const provider = detected.find((item) => item.entry.id === harness.provider);
|
|
131
|
+
const source = provider?.source;
|
|
130
132
|
return {
|
|
131
133
|
harness,
|
|
132
134
|
installed: !result.missing,
|
|
133
135
|
version: result.code === 0 ? (result.output.trim().split('\n')[0] ?? '') : 'Version check failed',
|
|
134
|
-
access:
|
|
135
|
-
|
|
136
|
+
access: harness.provider === 'zen' &&
|
|
137
|
+
provider !== undefined &&
|
|
138
|
+
!hasApiCredential(provider.entry, provider.apiKey)
|
|
139
|
+
? 'Anonymous Zen option · inference access unverified'
|
|
136
140
|
: source
|
|
137
141
|
? `Credential detected · ${source.kind}`
|
|
138
142
|
: 'Not connected · sign in or add an API key',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/integrations/providers/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/integrations/providers/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/Picker.js
CHANGED
|
@@ -9,7 +9,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
9
9
|
*/
|
|
10
10
|
import { Box, Text, useInput, useWindowSize } from 'ink';
|
|
11
11
|
import { Fragment, useCallback, useEffect, useRef, useState } from 'react';
|
|
12
|
-
import { canSelectModel } from '../integrations/providers/access.js';
|
|
12
|
+
import { canSelectModel, hasApiCredential } from '../integrations/providers/access.js';
|
|
13
13
|
import { ALL_PROVIDER_IDS, PROVIDER_REGISTRY, signedInSubscriptionProviders, unsupportedProviderMessage, } from '../integrations/providers/index.js';
|
|
14
14
|
import { describeProviderModels, verifyCredential } from './agent.js';
|
|
15
15
|
import { classifyCredential, describeDisposition, keyLooksUsable, maskKey, sessionCredential, } from './credential-entry.js';
|
|
@@ -1263,9 +1263,11 @@ function describePath(path) {
|
|
|
1263
1263
|
function describeSource(d) {
|
|
1264
1264
|
switch (d.source.kind) {
|
|
1265
1265
|
case 'env':
|
|
1266
|
+
if (d.entry.id === 'zen' && !hasApiCredential(d.entry, d.apiKey))
|
|
1267
|
+
return 'anonymous option · access unverified';
|
|
1266
1268
|
return `env · ${d.source.envName}`;
|
|
1267
1269
|
case 'public':
|
|
1268
|
-
return '
|
|
1270
|
+
return 'anonymous option · access unverified';
|
|
1269
1271
|
case 'opencode-file':
|
|
1270
1272
|
return 'OpenCode API key · this device';
|
|
1271
1273
|
case 'probe':
|