Commit eee598a
committed
release: v2.0.8 - route Console providers by ID instead of by error wording
v2.0.6 and v2.0.7 each fixed a case where the session-metadata fallback
failed to trigger because isFreeTierSessionRequired/isSessionMetadataRequired
didn't match Console's latest rejection wording. Message matching is
inherently reactive: it can only ever catch wording Console has already
shipped, and each new tier or phrasing needs its own plugin release.
Replace that as the primary path with something that can't go stale: the
configured provider ID is already known before any request is sent, and
every Console tier observed so far -- Zen "opencode", Go "opencode-go" --
needs session metadata unconditionally. isSessionOnlyProvider() checks the
provider ID at translator creation time and, for those providers, skips
the stateless attempt entirely rather than sending a request known to be
rejected and parsing the rejection.
- Add isSessionOnlyProvider(providerID): true for "opencode" and any
"opencode-*" provider. sessionRequired now starts true for these instead
of false, so ctx.generate.text() is never called for them.
- Keep isSessionMetadataRequired() (the message matcher from v2.0.6/2.0.7)
as a safety net for providers isSessionOnlyProvider doesn't recognize --
a not-yet-seen Console tier, or an unrelated provider that happens to
need session metadata for its own reasons. Wording drift there still
self-heals the way it does today; it just isn't the primary mechanism
for Console's own providers anymore.
- Add unit coverage: isSessionOnlyProvider's id matching (including that it
doesn't false-positive on providers that merely contain "opencode"), and
an end-to-end test asserting ctx.generate.text() is never invoked for a
session-only provider (the mock throws if it's called at all).
- Verified against the real opencode-go/gpt-5.6-luna backend: translation
succeeds with no stateless attempt in the request path.1 parent 8e4e6b2 commit eee598a
4 files changed
Lines changed: 67 additions & 25 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
137 | 137 | | |
138 | 138 | | |
139 | 139 | | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
152 | 154 | | |
153 | 155 | | |
154 | 156 | | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
155 | 162 | | |
156 | 163 | | |
157 | 164 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
26 | 36 | | |
27 | 37 | | |
28 | 38 | | |
| |||
36 | 46 | | |
37 | 47 | | |
38 | 48 | | |
39 | | - | |
| 49 | + | |
40 | 50 | | |
41 | 51 | | |
42 | 52 | | |
| |||
95 | 105 | | |
96 | 106 | | |
97 | 107 | | |
98 | | - | |
99 | | - | |
| 108 | + | |
| 109 | + | |
100 | 110 | | |
101 | 111 | | |
102 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
6 | 31 | | |
7 | 32 | | |
8 | 33 | | |
| |||
0 commit comments