opencode-blablador 0.1.2 → 0.1.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.
package/README.md CHANGED
@@ -54,9 +54,11 @@ the credential with `/connect` re-runs discovery without a restart.
54
54
 
55
55
  ## Use
56
56
 
57
- Select **Blablador** in the model picker. Models that reason expose variants such as `low`,
58
- `medium`, `high`, and `xhigh`. Picking no variant leaves the field unset, so the backend default
59
- applies.
57
+ Select **Blablador** in the model picker. Rows read `<deployment> (<alias>)` so the aliases of one
58
+ model sort together: `alias-large` and `alias-qwen3.8-flash-next` both serve
59
+ `nvidia/Qwen3.8-Flash-Next-NVFP4` and show up side by side. Models that reason expose variants such
60
+ as `low`, `medium`, `high`, and `xhigh`. Picking no variant leaves the field unset, so the backend
61
+ default applies.
60
62
 
61
63
  The output cap is 16,384 tokens, including reasoning tokens.
62
64
 
@@ -82,6 +84,7 @@ know returns HTTP 400, so the plugin maps OpenCode's levels per family:
82
84
  | Kimi | `alias-kimi-k3-1m` | `none`, `low`, `high`, `max` |
83
85
  | DeepSeek | `alias-deepseek-*`, `deepseek-v4.1-flash-at-hzdr` | `none`, `low`, `high`, `xhigh`, `max` |
84
86
  | Muse | `alias-muse-spark` | `low`, `medium`, `high`, `xhigh` |
87
+ | Mistral | `alias-mistral-large` | `low`, `medium`, `high`, `xhigh`, `max` |
85
88
  | Generic | unlisted aliases | `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max` |
86
89
  | None | Apertus, Eve, OCR | the field is never sent |
87
90
 
@@ -101,13 +104,14 @@ At startup the plugin:
101
104
  3. Fills missing roots and context windows from the bundled catalog.
102
105
  4. Replaces the fallback list only if at least five chat models remain.
103
106
 
104
- Discovery runs at startup and again whenever the Blablador credential changes. The output cap
107
+ Discovery runs at startup, whenever the Blablador credential changes, and on a ten-minute timer;
108
+ the provider is republished only when the alias list actually moved. The output cap
105
109
  shrinks below 16,384 for any model whose live window is smaller than the gateway ceiling, so the
106
110
  prompt always keeps room inside the window.
107
111
 
108
112
  ## Limitations
109
113
 
110
- - The live catalog is fetched at startup, not on every model-picker open.
114
+ - The live catalog is refreshed every ten minutes, not on every model-picker open.
111
115
  - Vision support is a fixed allowlist because `/v1/models` does not report modalities.
112
116
  - Blablador returns no prompt-cache accounting, so the plugin does not configure caching.
113
117
  - Blablador is a shared research service; rate limits and alias availability are controlled by JSC.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Plugin } from "@opencode/plugin";
2
+ export declare const REFRESH_TTL_MS: number;
2
3
  declare const _default: Plugin.Plugin;
3
4
  export default _default;
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,EAAY,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,EAAY,MAAM,kBAAkB,CAAC;AA0BxE,eAAO,MAAM,cAAc,QAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -4,11 +4,22 @@ const PACKAGE = "@opencode/ai/providers/openai-compatible";
4
4
  const PROVIDER_ID = Provider.ID.make("blablador");
5
5
  const INTEGRATION_ID = Integration.ID.make("blablador");
6
6
  const FETCH_TIMEOUT_MS = 10_000;
7
+ // Re-discovery TTL. A TUI outlives its startup conditions: the alias set moves, a failed fetch has to
8
+ // heal, and a token exported after launch has to start working. Matches pi's REFRESH_TTL_MS.
9
+ export const REFRESH_TTL_MS = 10 * 60 * 1000;
10
+ /** Order-insensitive identity of a catalog: what a republish would actually change. */
11
+ function catalogSignature(models) {
12
+ return models
13
+ .map((model) => `${model.id}|${model.root ?? ""}|${model.contextWindow}`)
14
+ .sort()
15
+ .join("\n");
16
+ }
7
17
  function modelInfo(model) {
8
18
  const base = Model.Info.default(PROVIDER_ID, Model.ID.make(model.id));
9
19
  return {
10
20
  ...base,
11
- name: displayName(model),
21
+ // Root first: the aliases of one deployment (alias-large, alias-qwen3.8-flash-next) sort together.
22
+ name: displayName(model, true),
12
23
  capabilities: {
13
24
  ...base.capabilities,
14
25
  input: VISION.has(model.id) ? ["text", "image"] : ["text"],
@@ -56,18 +67,28 @@ export default Plugin.define({
56
67
  : undefined;
57
68
  return resolveToken(credential, process.env[TOKEN_ENV]);
58
69
  }
70
+ let lastError = "";
59
71
  async function discover() {
60
72
  const token = await currentToken();
61
73
  if (!token)
62
- return;
74
+ return false;
63
75
  try {
64
76
  const models = await fetchLiveModels(token, AbortSignal.timeout(FETCH_TIMEOUT_MS));
77
+ lastError = "";
78
+ if (catalogSignature(models) === catalogSignature(catalog.models))
79
+ return false;
65
80
  catalog.models = models;
66
81
  catalog.roots = new Map(models.map((model) => [model.id, model.root]));
82
+ return true;
67
83
  }
68
84
  catch (error) {
69
85
  const message = error instanceof Error ? error.message : String(error);
70
- console.warn(`blablador: keeping the ${catalog.models.length}-model catalog; ${message}`);
86
+ // One line per distinct failure: an offline TUI would otherwise log the same error every tick.
87
+ if (message !== lastError) {
88
+ lastError = message;
89
+ console.warn(`blablador: keeping the ${catalog.models.length}-model catalog; ${message}`);
90
+ }
91
+ return false;
71
92
  }
72
93
  }
73
94
  await discover();
@@ -122,11 +143,27 @@ export default Plugin.define({
122
143
  ctx.session.hook("title", sanitize, { providerID: PROVIDER_ID }),
123
144
  ctx.session.hook("http.request", trimAuth, { providerID: PROVIDER_ID }),
124
145
  ]);
125
- // /connect or a credential switch changes the key and the reachable aliases: re-discover and
126
- // reload instead of telling the user to restart. Switched is what `credential create` emits
127
- // when a new key becomes active; a bad key just keeps the fallback with a warning.
146
+ // /connect or a credential switch changes the key and the reachable aliases, and the alias set
147
+ // moves under a long-running TUI anyway: re-discover on either and reload only if the catalog
148
+ // actually moved. Switched is what `credential create` emits when a new key becomes active; a
149
+ // bad key just keeps the last good catalog with a warning.
128
150
  const watch = new AbortController();
129
151
  let refreshing = false;
152
+ async function refreshCatalog() {
153
+ if (refreshing)
154
+ return;
155
+ refreshing = true;
156
+ try {
157
+ if (await discover())
158
+ await ctx.provider.reload();
159
+ }
160
+ catch (error) {
161
+ console.warn("blablador: catalog refresh failed", error);
162
+ }
163
+ finally {
164
+ refreshing = false;
165
+ }
166
+ }
130
167
  void (async () => {
131
168
  try {
132
169
  for await (const event of ctx.event.subscribe({ signal: watch.signal })) {
@@ -134,16 +171,7 @@ export default Plugin.define({
134
171
  continue;
135
172
  if (event.data.integrationID !== INTEGRATION_ID)
136
173
  continue;
137
- if (refreshing)
138
- continue;
139
- refreshing = true;
140
- try {
141
- await discover();
142
- await ctx.provider.reload();
143
- }
144
- finally {
145
- refreshing = false;
146
- }
174
+ await refreshCatalog();
147
175
  }
148
176
  }
149
177
  catch (error) {
@@ -151,7 +179,12 @@ export default Plugin.define({
151
179
  console.warn("blablador: credential watch stopped", error);
152
180
  }
153
181
  })();
182
+ // unref: a pending refresh must not hold the process open, or a one-shot CLI command hangs for
183
+ // ten minutes after it has printed its models.
184
+ const refresh = setInterval(() => void refreshCatalog(), REFRESH_TTL_MS);
185
+ refresh.unref?.();
154
186
  return async () => {
187
+ clearInterval(refresh);
155
188
  watch.abort();
156
189
  await Promise.all(registrations.map((registration) => registration.dispose()));
157
190
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-blablador",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Blablador (Helmholtz / JSC) provider plugin for OpenCode: measured context windows, live catalog, and reasoning effort mapping",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,7 +39,7 @@
39
39
  "@opencode/plugin": ">=2.1.4"
40
40
  },
41
41
  "dependencies": {
42
- "blablador-core": "0.1.2"
42
+ "blablador-core": "0.1.3"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@opencode/plugin": "2.1.4",