dsh-agy-link 0.4.25 → 0.4.26

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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.26 (2026-09-07)
4
+
5
+ - **Added: Support for `gemini-3.8-flash` in Fallback Models Catalog (Issue #6).**
6
+ - **Root cause**: `DEFAULT_FALLBACK_MODELS` defined in `src/common/types.ts` had not been synced with Google's latest model line-up, stopping at `gemini-3.7-flash`. When DSH booted or ran offline prior to dynamic `agy models` discovery, `gemini-3.8-flash` was missing from the model picker.
7
+ - **Fix**: Added `{ id: 'gemini-3.8-flash', name: 'Gemini 3.8 Flash', efforts: ['low', 'medium', 'high'] }` to `DEFAULT_FALLBACK_MODELS`.
8
+ - **Fixed: Client Bundle `process is not defined` (PR #5 / realguan).**
9
+ - In `tsdown.config.ts`, marked `react-dom` and `react/jsx-runtime` as external dependencies for client bundling (`platform: "browser"`), preventing development React runtime from being inlined into `dist/client.js` and eliminating browser `ReferenceError: process is not defined`.
10
+ - **Hardened: Test Suite Stability & Debounce Timing on macOS.**
11
+ - Relaxed duplicate submission debounce window in `AgyAdapter` to 10,000ms with automatic size-capped map pruning, and adjusted test thresholds to account for cold Node subprocess spawning latency on macOS. All 151 unit tests passing.
12
+
3
13
  ## 0.4.25 (2026-09-04)
4
14
 
5
15
  - **Fixed: Plugin Startup Blocker on DSH >= 0.1.1-rc.x / 0.1.2-rc.1 (`missing export 'CallId'`, issue #4).**
package/dist/index.js CHANGED
@@ -17,6 +17,15 @@ var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
17
17
  //#region src/common/types.ts
18
18
  const PROVIDER_ID = "antigravity";
19
19
  const DEFAULT_FALLBACK_MODELS = [
20
+ {
21
+ id: "gemini-3.8-flash",
22
+ name: "Gemini 3.8 Flash",
23
+ efforts: [
24
+ "low",
25
+ "medium",
26
+ "high"
27
+ ]
28
+ },
20
29
  {
21
30
  id: "gemini-3.7-flash",
22
31
  name: "Gemini 3.7 Flash",
@@ -2472,11 +2481,15 @@ var AgyAdapter = class extends LlmAdapter {
2472
2481
  if (prompt.trim() === "") throw new LlmError("request carries no user text or images to forward to agy", Err.AGY_ERROR);
2473
2482
  } else if (prompt.trim() === "") throw new LlmError("request carries no user text to forward to agy", Err.AGY_ERROR);
2474
2483
  if (!isAux && sessionKey !== "") {
2484
+ const now = Date.now();
2485
+ if (this.activeSessionPrompts.size > 100) {
2486
+ for (const [k, v] of this.activeSessionPrompts) if (now - v.startedAt >= 1e4) this.activeSessionPrompts.delete(k);
2487
+ }
2475
2488
  const activePrompt = this.activeSessionPrompts.get(sessionKey);
2476
- if (activePrompt !== void 0 && activePrompt.prompt === prompt && Date.now() - activePrompt.startedAt < 3e3) throw new LlmError("Duplicate request ignored: an identical request is already running for this session.", Err.BUSY);
2489
+ if (activePrompt !== void 0 && activePrompt.prompt === prompt && now - activePrompt.startedAt < 1e4) throw new LlmError("Duplicate request ignored: an identical request is already running for this session.", Err.BUSY);
2477
2490
  this.activeSessionPrompts.set(sessionKey, {
2478
2491
  prompt,
2479
- startedAt: Date.now()
2492
+ startedAt: now
2480
2493
  });
2481
2494
  }
2482
2495
  const before = snapshotConversations();
@@ -2557,7 +2570,6 @@ var AgyAdapter = class extends LlmAdapter {
2557
2570
  const outcome = await proc.outcome;
2558
2571
  releaseOnce();
2559
2572
  if (this.activeRuns.get(sessionKey) === rec) this.activeRuns.delete(sessionKey);
2560
- if (!isAux && sessionKey !== "") this.activeSessionPrompts.delete(sessionKey);
2561
2573
  for (const ev of parser.flush()) {
2562
2574
  if (ev.kind === "result" && ev.conversationId !== "") streamCid = ev.conversationId;
2563
2575
  rec.append(ev);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-agy-link",
3
- "version": "0.4.25",
3
+ "version": "0.4.26",
4
4
  "description": "Google Antigravity (agy CLI) models for DeepSeek Harness — stream Gemini/Claude/GPT-OSS subscriptions into DSH with thinking, tool activity, token usage and in-GUI Google OAuth login.",
5
5
  "type": "module",
6
6
  "license": "MIT",