@dan-ai-studio/dshopencodego 0.1.29 → 0.1.30

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/lib/client.js CHANGED
@@ -562,7 +562,7 @@ if (!document.querySelector("style[data-plugin-css=" + JSON.stringify(id) + "]")
562
562
  style.textContent = ".d7lz0W_root{color:var(--dsw-alias-label-primary);flex-direction:column;gap:1.25rem;display:flex}.d7lz0W_title{margin:0;font-size:1.05rem}.d7lz0W_hint{color:var(--dsw-alias-label-secondary);margin:0;font-size:.8rem}.d7lz0W_warn{color:var(--dsw-alias-state-warn-primary);margin:0;font-size:.8rem}.d7lz0W_ok{color:var(--dsw-alias-state-success-primary);font-size:.8rem}.d7lz0W_block{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:.6rem;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.d7lz0W_row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.d7lz0W_row>strong{margin-right:auto}.d7lz0W_input{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);min-width:10rem;color:var(--dsw-alias-label-primary);font:inherit;border-radius:.35rem;flex:14rem;padding:.35rem .5rem;font-size:.85rem}.d7lz0W_button{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:.35rem;padding:.35rem .7rem;font-size:.8rem}.d7lz0W_button:disabled{color:var(--dsw-alias-state-idle-primary);cursor:default}.d7lz0W_number{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:5rem;color:var(--dsw-alias-label-primary);font:inherit;border-radius:.35rem;padding:.25rem .4rem;font-size:.8rem}.d7lz0W_select{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:auto;max-width:100%;color:var(--dsw-alias-label-primary);font:inherit;border-radius:.35rem;padding:.25rem .4rem;font-size:.8rem}.d7lz0W_list{flex-direction:column;display:flex}.d7lz0W_item{border-top:1px solid var(--dsw-alias-border-l1);align-items:flex-start;gap:.5rem;padding:.45rem .15rem;display:flex}.d7lz0W_item input[type=checkbox]{accent-color:var(--dsw-alias-brand-primary);margin-top:.15rem}.d7lz0W_itemBody{flex-direction:column;gap:.15rem;min-width:0;display:flex}.d7lz0W_itemMain{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.d7lz0W_itemMeta{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:.75rem;font-size:.75rem;display:flex}.d7lz0W_itemModalities{color:var(--dsw-alias-label-secondary);font-size:.75rem}.d7lz0W_name{color:var(--dsw-alias-label-primary)}.d7lz0W_mono{color:var(--dsw-alias-label-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.d7lz0W_badge{color:var(--dsw-alias-brand-primary)}";
563
563
  document.head.appendChild(style);
564
564
  }
565
- var section_default = { "root": "d7lz0W_root", "ok": "d7lz0W_ok", "badge": "d7lz0W_badge", "hint": "d7lz0W_hint", "block": "d7lz0W_block", "row": "d7lz0W_row", "number": "d7lz0W_number", "select": "d7lz0W_select", "itemModalities": "d7lz0W_itemModalities", "title": "d7lz0W_title", "list": "d7lz0W_list", "itemBody": "d7lz0W_itemBody", "itemMeta": "d7lz0W_itemMeta", "button": "d7lz0W_button", "itemMain": "d7lz0W_itemMain", "input": "d7lz0W_input", "mono": "d7lz0W_mono", "item": "d7lz0W_item", "warn": "d7lz0W_warn", "name": "d7lz0W_name" };
565
+ var section_default = { "name": "d7lz0W_name", "itemBody": "d7lz0W_itemBody", "itemMeta": "d7lz0W_itemMeta", "number": "d7lz0W_number", "block": "d7lz0W_block", "title": "d7lz0W_title", "root": "d7lz0W_root", "input": "d7lz0W_input", "button": "d7lz0W_button", "select": "d7lz0W_select", "ok": "d7lz0W_ok", "row": "d7lz0W_row", "mono": "d7lz0W_mono", "itemModalities": "d7lz0W_itemModalities", "badge": "d7lz0W_badge", "item": "d7lz0W_item", "list": "d7lz0W_list", "itemMain": "d7lz0W_itemMain", "hint": "d7lz0W_hint", "warn": "d7lz0W_warn" };
566
566
 
567
567
  // src/client/Section.tsx
568
568
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -1335,7 +1335,7 @@ if (!document.querySelector("style[data-plugin-css=" + JSON.stringify(id2) + "]"
1335
1335
  style.textContent = ".mMNkkW_root{align-items:center;display:inline-flex;position:relative}.mMNkkW_trigger{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;padding:.35rem .6rem;font-size:.8rem;line-height:1}.mMNkkW_trigger:hover{color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l2)}.mMNkkW_panel{z-index:20;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-overlay);width:18rem;color:var(--dsw-alias-label-primary);border-radius:.6rem;flex-direction:column;gap:.6rem;padding:.75rem .85rem;display:flex;position:absolute;bottom:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #0000002e}.mMNkkW_window{flex-direction:column;gap:.25rem;display:flex}.mMNkkW_row{justify-content:space-between;gap:.5rem;font-size:.85rem;display:flex}.mMNkkW_hint{color:var(--dsw-alias-label-secondary);margin:0;font-size:.75rem}.mMNkkW_progress{width:100%;height:.35rem;accent-color:var(--dsw-alias-brand-primary)}.mMNkkW_limited{color:var(--dsw-alias-state-warn-primary);font-size:.75rem}.mMNkkW_warning{border:1px solid var(--dsw-alias-state-warn-primary);color:var(--dsw-alias-label-primary);border-radius:.4rem;padding:.4rem .5rem;font-size:.75rem}.mMNkkW_retry{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:.35rem;align-self:flex-start;padding:.25rem .5rem;font-size:.75rem}.mMNkkW_local{border-top:1px solid var(--dsw-alias-border-l1);flex-direction:column;gap:.2rem;padding-top:.5rem;display:flex}";
1336
1336
  document.head.appendChild(style);
1337
1337
  }
1338
- var pill_default = { "root": "mMNkkW_root", "trigger": "mMNkkW_trigger", "hint": "mMNkkW_hint", "warning": "mMNkkW_warning", "progress": "mMNkkW_progress", "retry": "mMNkkW_retry", "local": "mMNkkW_local", "panel": "mMNkkW_panel", "row": "mMNkkW_row", "limited": "mMNkkW_limited", "window": "mMNkkW_window" };
1338
+ var pill_default = { "warning": "mMNkkW_warning", "hint": "mMNkkW_hint", "limited": "mMNkkW_limited", "panel": "mMNkkW_panel", "row": "mMNkkW_row", "root": "mMNkkW_root", "progress": "mMNkkW_progress", "local": "mMNkkW_local", "window": "mMNkkW_window", "trigger": "mMNkkW_trigger", "retry": "mMNkkW_retry" };
1339
1339
 
1340
1340
  // src/client/UsagePill.tsx
1341
1341
  var import_jsx_runtime2 = require("react/jsx-runtime");
package/lib/index.js CHANGED
@@ -561,9 +561,10 @@ var OpencodeGoCatalog = class {
561
561
  * the id but this build cannot configure it, naming the reason.
562
562
  */
563
563
  async forModel(id) {
564
- const cached = this.served;
565
564
  let snapshot = await this.snapshot();
566
- if (!snapshot.facts.has(id) && snapshot === cached) snapshot = await this.snapshot(true);
565
+ if (!snapshot.facts.has(id) && !snapshot.unavailable.has(id)) {
566
+ snapshot = await this.snapshot(true);
567
+ }
567
568
  const reason = snapshot.unavailable.get(id);
568
569
  if (reason !== void 0) {
569
570
  throw new LlmError4(
@@ -2082,7 +2083,7 @@ function createUpdateChecker(deps) {
2082
2083
  }
2083
2084
 
2084
2085
  // src/update/version.ts
2085
- var PLUGIN_VERSION = true ? "0.1.29" : "0.0.0-dev";
2086
+ var PLUGIN_VERSION = true ? "0.1.30" : "0.0.0-dev";
2086
2087
 
2087
2088
  // src/update/service.ts
2088
2089
  import { TypertRemoteService as TypertRemoteService2 } from "@deepseek-ai/dsh-typert-protocol";
@@ -113,10 +113,21 @@ export class OpencodeGoCatalog {
113
113
  * the id but this build cannot configure it, naming the reason.
114
114
  */
115
115
  async forModel(id) {
116
- const cached = this.served;
117
116
  let snapshot = await this.snapshot();
118
- if (!snapshot.facts.has(id) && snapshot === cached)
117
+ // A snapshot that cannot serve this id forces one revalidation, because
118
+ // "this build has not seen the id" and "the id was just published" are
119
+ // indistinguishable from here.
120
+ //
121
+ // The condition must not compare the snapshot with what was cached before
122
+ // the await: on a cold catalog there is nothing cached, so that comparison
123
+ // was false and the revalidation was skipped — an id missing from the
124
+ // very first build then failed as UNKNOWN_MODEL instead of being retried.
125
+ // Presence in `unavailable` is a positive statement (the gateway
126
+ // advertises the id but this build cannot configure it), so it needs no
127
+ // revalidation and is reported below.
128
+ if (!snapshot.facts.has(id) && !snapshot.unavailable.has(id)) {
119
129
  snapshot = await this.snapshot(true);
130
+ }
120
131
  const reason = snapshot.unavailable.get(id);
121
132
  if (reason !== undefined) {
122
133
  throw new LlmError(`opencode-go model "${id}" is advertised but cannot be configured: ${reason};`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dan-ai-studio/dshopencodego",
3
- "version": "0.1.29",
3
+ "version": "0.1.30",
4
4
  "description": "OpenCode Go provider for DeepSeek Harness: live gateway catalog, per-conversation session header, usage",
5
5
  "type": "module",
6
6
  "license": "MIT",