@pentoshi/clai 4.15.1 → 4.15.2

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.
Files changed (34) hide show
  1. package/dist/commands/update/windows-stage.d.ts +1 -0
  2. package/dist/commands/update/windows-stage.js +14 -15
  3. package/dist/commands/update/windows-stage.js.map +1 -1
  4. package/dist/llm/provider-info-text.js +6 -2
  5. package/dist/llm/provider-info-text.js.map +1 -1
  6. package/dist/llm/sampling.js +5 -0
  7. package/dist/llm/sampling.js.map +1 -1
  8. package/dist/llm/transport-events.js +3 -0
  9. package/dist/llm/transport-events.js.map +1 -1
  10. package/dist/llm/wire/openai-stream.js +11 -0
  11. package/dist/llm/wire/openai-stream.js.map +1 -1
  12. package/dist/llm/wire/reasoning-loop.d.ts +7 -0
  13. package/dist/llm/wire/reasoning-loop.js +34 -0
  14. package/dist/llm/wire/reasoning-loop.js.map +1 -0
  15. package/dist/session-runtime/terminal-options.js +2 -1
  16. package/dist/session-runtime/terminal-options.js.map +1 -1
  17. package/dist/store/session-prompts.d.ts +2 -0
  18. package/dist/store/session-prompts.js +35 -1
  19. package/dist/store/session-prompts.js.map +1 -1
  20. package/dist/tui-v2/components/plan/plan-view.js +8 -4
  21. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  22. package/dist/tui-v2/components/status/status-line.js +20 -11
  23. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  24. package/dist/tui-v2/components/toast/toast-host.js +1 -1
  25. package/dist/ui-core/bootstrap/capabilities.d.ts +1 -0
  26. package/dist/ui-core/bootstrap/capabilities.js +4 -0
  27. package/dist/ui-core/bootstrap/capabilities.js.map +1 -1
  28. package/dist/ui-core/commands/picker-commands.js +1 -0
  29. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  30. package/dist/ui-core/commands/session-commands.js +10 -5
  31. package/dist/ui-core/commands/session-commands.js.map +1 -1
  32. package/dist/version.generated.d.ts +2 -2
  33. package/dist/version.generated.js +2 -2
  34. package/package.json +1 -1
@@ -15,6 +15,7 @@ export type WindowsUpdateTask = {
15
15
  readonly cleanup?: UpdateCommand;
16
16
  };
17
17
  export declare function windowsUpdateScript(encoded: string): string;
18
+ export declare function windowsWorkerLaunch(script: string, startupError: string, elevated?: boolean): UpdateCommand;
18
19
  export declare function stageWindowsUpdate(task: WindowsUpdateTask, options?: RunOptions & {
19
20
  readonly lockFile?: string;
20
21
  readonly lockToken?: string | undefined;
@@ -1,4 +1,3 @@
1
- import { spawn } from "node:child_process";
2
1
  import { createHash } from "node:crypto";
3
2
  import { copyFileSync, existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
4
3
  import { tmpdir } from "node:os";
@@ -136,6 +135,12 @@ try {
136
135
  }
137
136
  `;
138
137
  }
138
+ export function windowsWorkerLaunch(script, startupError, elevated = false) {
139
+ const bootstrap = `$ErrorActionPreference = 'Stop'; try { & ${psQuote(script)} } catch { $_.Exception.Message | Set-Content -LiteralPath ${psQuote(startupError)} -Encoding UTF8; exit 1 }`;
140
+ const argumentsText = `-NoProfile -NonInteractive -ExecutionPolicy Bypass -EncodedCommand ${Buffer.from(bootstrap, "utf16le").toString("base64")}`;
141
+ const invocation = `$ErrorActionPreference = 'Stop'; Start-Process -WindowStyle Hidden -Verb ${elevated ? "RunAs" : "Open"} -FilePath powershell.exe -ArgumentList ${psQuote(argumentsText)}`;
142
+ return { file: "powershell.exe", args: ["-NoProfile", "-NonInteractive", "-Command", invocation] };
143
+ }
139
144
  export async function stageWindowsUpdate(task, options = {}, elevated = false) {
140
145
  throwIfCancelled(options.signal);
141
146
  if (options.lockFile && !options.lockToken)
@@ -143,6 +148,7 @@ export async function stageWindowsUpdate(task, options = {}, elevated = false) {
143
148
  const stage = mkdtempSync(join(tmpdir(), "clai-update-stage-"));
144
149
  const identity = task.kind === "binary" ? task.destination : task.verification.file + task.verification.args.join("|");
145
150
  const status = join(tmpdir(), `clai-update-status-${createHash("sha256").update(identity).update(stage).digest("hex").slice(0, 20)}.json`);
151
+ const startupError = `${status}.startup-error.log`;
146
152
  let accepted = false;
147
153
  try {
148
154
  const stagedTask = task.kind === "binary" ? { ...task, source: join(stage, "clai.exe") } : task;
@@ -151,22 +157,15 @@ export async function stageWindowsUpdate(task, options = {}, elevated = false) {
151
157
  const encoded = Buffer.from(JSON.stringify({ task: stagedTask, stage, status, pid: process.pid, lockFile: options.lockFile, lockToken: options.lockToken })).toString("base64");
152
158
  const script = join(stage, "apply-update.ps1");
153
159
  writeFileSync(script, windowsUpdateScript(encoded));
154
- if (elevated) {
155
- const argumentsText = `-NoProfile -NonInteractive -ExecutionPolicy Bypass -File "${script}"`;
156
- await runUpdateCommand({ file: "powershell.exe", args: ["-NoProfile", "-NonInteractive", "-Command", `Start-Process -Verb RunAs -WindowStyle Hidden -FilePath powershell.exe -ArgumentList ${psQuote(argumentsText)}`] }, { ...options, timeoutMs: 120_000 });
157
- }
158
- else {
159
- await new Promise((resolve, reject) => {
160
- const child = spawn("powershell.exe", ["-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-File", script], { detached: true, stdio: "ignore", windowsHide: true });
161
- child.once("error", reject);
162
- child.once("spawn", () => { child.unref(); resolve(); });
163
- });
164
- }
165
- const deadline = Date.now() + 15_000;
160
+ await runUpdateCommand(windowsWorkerLaunch(script, startupError, elevated), { ...options, timeoutMs: 120_000 });
161
+ const deadline = Date.now() + 60_000;
166
162
  while (!existsSync(join(stage, "ready"))) {
167
163
  throwIfCancelled(options.signal);
168
- if (Date.now() >= deadline || !existsSync(stage)) {
169
- const failure = existsSync(status) ? readFileSync(status, "utf8") : "worker did not acknowledge the staged update";
164
+ if (Date.now() >= deadline || !existsSync(stage) || existsSync(startupError)) {
165
+ const failure = [status, startupError]
166
+ .filter((path) => existsSync(path))
167
+ .map((path) => readFileSync(path, "utf8").replace(/^\uFEFF/, "").trim())
168
+ .find((message) => message.length > 0) ?? "worker did not acknowledge the staged update after 60 seconds";
170
169
  throw new Error(`could not stage Windows update: ${failure.slice(0, 500)}`);
171
170
  }
172
171
  await new Promise((resolve) => setTimeout(resolve, 100));
@@ -1 +1 @@
1
- {"version":3,"file":"windows-stage.js","sourceRoot":"","sources":["../../../src/commands/update/windows-stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windows-stage.js","sourceRoot":"","sources":["../../../src/commands/update/windows-stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAuC,MAAM,cAAc,CAAC;AAMhH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,MAAM,CAAC,GAAG,CAAA;uEACoD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgI7E,CAAC;AACF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,YAAoB,EAAE,QAAQ,GAAG,KAAK;IACxF,MAAM,SAAS,GAAG,4CAA4C,OAAO,CAAC,MAAM,CAAC,8DAA8D,OAAO,CAAC,YAAY,CAAC,2BAA2B,CAAC;IAC5L,MAAM,aAAa,GAAG,sEAAsE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnJ,MAAM,UAAU,GAAG,4EAA4E,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,2CAA2C,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;IAC9L,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;AACrG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAuB,EAAE,UAAgG,EAAE,EAAE,QAAQ,GAAG,KAAK;IACpL,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC1H,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAC3I,MAAM,YAAY,GAAG,GAAG,MAAM,oBAAoB,CAAC;IACnD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzG,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC/C,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAChH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACrC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACzC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7E,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;qBACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBAClC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;qBACvE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,+DAA+D,CAAC;gBAC5G,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -11,6 +11,8 @@ export const providerInfo = {
11
11
  GLM-5.3-Flash: 1,048,576 context; 128K output; low / high / max (required).
12
12
  clai conservatively caps documented GLM output at 128,000 until live metadata.
13
13
  /effort follows the selected model's supported settings.
14
+ DeepSeek V4 uses recommended sampling defaults; sustained exact repetition
15
+ stops the stream rather than spending the remaining budget. Max effort is preserved.
14
16
  Unchanged history prefixes can reuse River's automatic cache when available.
15
17
  Cached input and reasoning tokens use API usage counters; hits are not guaranteed.
16
18
  Multiple keys, key rotation, local tools, subagents, images, and cancellation
@@ -162,9 +164,11 @@ MODELS
162
164
  CACHING
163
165
  - Claude models: clai places its own ephemeral cache marks on the system
164
166
  prompt and the tail of the conversation (at most four, as content blocks)
165
- so history is cached with certainty on every connection. Token Harbor
167
+ to make history eligible for upstream prompt caching. Token Harbor
166
168
  never rewrites a request that already carries a mark.
167
- - Every other model caches upstream automatically; clai adds nothing.
169
+ Hits still depend on prefix reuse, minimum length, routing, and the
170
+ five-minute cache lifetime. Cache writes are not cache hits.
171
+ - Other models cache upstream automatically when supported; clai adds nothing.
168
172
  - Gateway response caches (exact and semantic) are bypassed with
169
173
  X-TH-Cache-Control: bypass so an agent never gets a stale answer to a
170
174
  similar-looking question. Vendor prompt caching is unaffected.
@@ -1 +1 @@
1
- {"version":3,"file":"provider-info-text.js","sourceRoot":"","sources":["../../src/llm/provider-info-text.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,KAAK,EAAE;;;;;;;;;;;;;;;;;;8CAkBqC;IAC5C,OAAO,EAAE;;;;;;;;;;;;;;;;;;gDAkBqC;IAC9C,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA+CmE;IACzE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAoDmB;IAChC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA+DmB;IAChC,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFA4EuE;IAClF,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA2H0B;IACjC,MAAM,EAAE;;;;;;;;;;;;;;;UAeA;IACR,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA+CuB;IAC7B,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DA+C8C;IACzD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAgDgC;IACzC,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFA4DqE;IACjF,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEA6D+C;IAEhE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAgEoD;IAC7D,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA8CqC;IAC7C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA8BwB;IAClC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA8B4B;IAClC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA0CuB;IAC7B,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4BiB;IACtB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0BqB;IAC9B,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgCoB;IAC3B,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA+BiC;IACxC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA+Ce;IACzB,KAAK,EAAE,GAAG,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmCF;IACzC,OAAO,EAAE,GAAG,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAgCH;IACpC,IAAI,EAAE,GAAG,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqDL;IACrB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAwCS;CACpB,CAAC"}
1
+ {"version":3,"file":"provider-info-text.js","sourceRoot":"","sources":["../../src/llm/provider-info-text.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;8CAoBqC;IAC5C,OAAO,EAAE;;;;;;;;;;;;;;;;;;gDAkBqC;IAC9C,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EA+CmE;IACzE,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAoDmB;IAChC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAiEmB;IAChC,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFA4EuE;IAClF,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA2H0B;IACjC,MAAM,EAAE;;;;;;;;;;;;;;;UAeA;IACR,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA+CuB;IAC7B,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DA+C8C;IACzD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAgDgC;IACzC,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFA4DqE;IACjF,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEA6D+C;IAEhE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAgEoD;IAC7D,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+CA8CqC;IAC7C,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA8BwB;IAClC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA8B4B;IAClC,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA0CuB;IAC7B,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4BiB;IACtB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;gCA0BqB;IAC9B,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgCoB;IAC3B,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CA+BiC;IACxC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA+Ce;IACzB,KAAK,EAAE,GAAG,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmCF;IACzC,OAAO,EAAE,GAAG,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAgCH;IACpC,IAAI,EAAE,GAAG,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqDL;IACrB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAwCS;CACpB,CAAC"}
@@ -1,5 +1,10 @@
1
1
  export const DEFAULT_SAMPLING = { temperature: 0.2 };
2
2
  const SAMPLING_RULES = [
3
+ {
4
+ pattern: /deepseek-v4(?:[.-]|$)/i,
5
+ providers: ["river"],
6
+ defaults: { temperature: 1.0, topP: 0.95 },
7
+ },
3
8
  {
4
9
  pattern: /minimax-m3/i,
5
10
  defaults: { temperature: 1.0, topP: 0.95 },
@@ -1 +1 @@
1
- {"version":3,"file":"sampling.js","sourceRoot":"","sources":["../../src/llm/sampling.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,gBAAgB,GAAqB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;AAEvE,MAAM,cAAc,GAAmB;IACrC;QACE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;IACD,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE;IACvD;QACE,OAAO,EAAE,gBAAgB;QACzB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;IACD;QACE,OAAO,EAAE,0BAA0B;QACnC,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;IACD;QACE,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAIhC;IACC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAAE,SAAS;QAC5D,IACE,IAAI,CAAC,SAAS;YACd,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAC7D,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IAC3D,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAK/B;IACC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,oBAAoB,IAAI,MAAM,CAAC,WAAW;QAC7D,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sampling.js","sourceRoot":"","sources":["../../src/llm/sampling.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,gBAAgB,GAAqB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;AAEvE,MAAM,cAAc,GAAmB;IACrC;QACE,OAAO,EAAE,wBAAwB;QACjC,SAAS,EAAE,CAAC,OAAO,CAAC;QACpB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;IACD;QACE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;IACD,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE;IACvD;QACE,OAAO,EAAE,gBAAgB;QACzB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;IACD;QACE,OAAO,EAAE,0BAA0B;QACnC,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;IACD;QACE,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;KAC3C;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAIhC;IACC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAAE,SAAS;QAC5D,IACE,IAAI,CAAC,SAAS;YACd,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAC7D,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IAC3D,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAK/B;IACC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,oBAAoB,IAAI,MAAM,CAAC,WAAW;QAC7D,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { currentRequestPurpose } from "./request-purpose.js";
1
2
  const listeners = new Set();
2
3
  const emittedKeys = new Set();
3
4
  function eventKey(event) {
@@ -10,6 +11,8 @@ export function onTransportEvent(listener) {
10
11
  };
11
12
  }
12
13
  export function emitTransportEvent(event) {
14
+ if (currentRequestPurpose() === "auxiliary")
15
+ return;
13
16
  const key = eventKey(event);
14
17
  if (emittedKeys.has(key))
15
18
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"transport-events.js","sourceRoot":"","sources":["../../src/llm/transport-events.ts"],"names":[],"mappings":"AAiBA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC,SAAS,QAAQ,CAAC,KAAqB;IACrC,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAA2B;IAC1D,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IACjC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"transport-events.js","sourceRoot":"","sources":["../../src/llm/transport-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAmB7D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC,SAAS,QAAQ,CAAC,KAAqB;IACrC,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAA2B;IAC1D,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE;QACV,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,IAAI,qBAAqB,EAAE,KAAK,WAAW;QAAE,OAAO;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IACjC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC"}
@@ -15,6 +15,7 @@ import { readJson } from "./response-errors.js";
15
15
  import { MistralContentAccumulator, mistralContentText, mistralReasoningArtifacts } from "./mistral-content.js";
16
16
  import { currentRequestPurpose } from "../request-purpose.js";
17
17
  import { openAiCompatibleStreamViaResponses } from "./responses-first.js";
18
+ import { ReasoningLoopGuard } from "./reasoning-loop.js";
18
19
  import { createSseFrameAssembler, DEFAULT_STREAM_IDLE_TIMEOUT_MS, isFinalUsageFrame, STREAM_STALL_MARKER, THINKING_STREAM_IDLE_TIMEOUT_MS, THINKING_STREAM_INITIAL_IDLE_TIMEOUT_MS, } from "./stream-framing.js";
19
20
  export async function openAiCompatibleStream(request) {
20
21
  const responsesOptions = {
@@ -264,6 +265,9 @@ export async function openAiCompatibleStream(request) {
264
265
  let reasoningSeen = "";
265
266
  let contentWireSeen = "";
266
267
  let reasoningWireSeen = "";
268
+ const reasoningLoopGuard = options.providerId === "river" && /deepseek/i.test(options.model)
269
+ ? new ReasoningLoopGuard()
270
+ : undefined;
267
271
  const mistralContent = options.providerId === "mistral" ? new MistralContentAccumulator() : undefined;
268
272
  let finishReason;
269
273
  let terminalSignal;
@@ -552,10 +556,17 @@ export async function openAiCompatibleStream(request) {
552
556
  else if (finalUsageFrame && terminalSignal === undefined) {
553
557
  terminalSignal = "usage-chunk";
554
558
  }
559
+ if (token || toolProgress)
560
+ reasoningLoopGuard?.reset();
555
561
  if (reasoningToken) {
556
562
  const normalized = mistralContent ? { delta: reasoningToken, seen: reasoningWireSeen + reasoningToken } : normalizeChannelDelta(reasoningToken, reasoningWireSeen, options.providerId === "bynara" ? 1 : 64);
557
563
  reasoningWireSeen = normalized.seen;
558
564
  if (normalized.delta) {
565
+ if (reasoningLoopGuard?.append(normalized.delta)) {
566
+ const error = new ProviderError(`${options.provider} (model=${options.model}) stopped a repetitive reasoning loop to avoid exhausting the output budget. Retry with /effort high or choose another model.`, undefined, undefined, undefined, false);
567
+ idleController.abort(error);
568
+ throw error;
569
+ }
559
570
  reasoningArtifactSequence ??= artifactSequence;
560
571
  if (!reasoningSeen) {
561
572
  learnModelEmitsReasoning(options.providerId, options.model);
@@ -1 +1 @@
1
- {"version":3,"file":"openai-stream.js","sourceRoot":"","sources":["../../../src/llm/wire/openai-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-stream.js","sourceRoot":"","sources":["../../../src/llm/wire/openai-stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare const REASONING_LOOP_WINDOW_CHARS = 4096;
2
+ export declare class ReasoningLoopGuard {
3
+ private tail;
4
+ private uncheckedChars;
5
+ append(text: string): boolean;
6
+ reset(): void;
7
+ }
@@ -0,0 +1,34 @@
1
+ export const REASONING_LOOP_WINDOW_CHARS = 4_096;
2
+ const MIN_REPETITIONS = 32;
3
+ const CHECK_INTERVAL_CHARS = 128;
4
+ function hasRepetitiveReasoningSuffix(tail) {
5
+ const prefixes = new Uint16Array(tail.length);
6
+ let matched = 0;
7
+ for (let index = 1; index < tail.length; index += 1) {
8
+ while (matched > 0 && tail[index] !== tail[matched]) {
9
+ matched = prefixes[matched - 1];
10
+ }
11
+ if (tail[index] === tail[matched])
12
+ matched += 1;
13
+ prefixes[index] = matched;
14
+ }
15
+ const period = tail.length - prefixes[tail.length - 1];
16
+ return period <= tail.length / MIN_REPETITIONS;
17
+ }
18
+ export class ReasoningLoopGuard {
19
+ tail = "";
20
+ uncheckedChars = 0;
21
+ append(text) {
22
+ this.tail = (this.tail + text).slice(-REASONING_LOOP_WINDOW_CHARS);
23
+ this.uncheckedChars += text.length;
24
+ if (this.tail.length < REASONING_LOOP_WINDOW_CHARS || this.uncheckedChars < CHECK_INTERVAL_CHARS)
25
+ return false;
26
+ this.uncheckedChars = 0;
27
+ return hasRepetitiveReasoningSuffix(this.tail);
28
+ }
29
+ reset() {
30
+ this.tail = "";
31
+ this.uncheckedChars = 0;
32
+ }
33
+ }
34
+ //# sourceMappingURL=reasoning-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-loop.js","sourceRoot":"","sources":["../../../src/llm/wire/reasoning-loop.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AACjD,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,SAAS,4BAA4B,CAAC,IAAY;IAChD,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAE,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC;QAChD,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IACxD,OAAO,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;AACjD,CAAC;AAED,MAAM,OAAO,kBAAkB;IACrB,IAAI,GAAG,EAAE,CAAC;IACV,cAAc,GAAG,CAAC,CAAC;IAE3B,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACnE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,2BAA2B,IAAI,IAAI,CAAC,cAAc,GAAG,oBAAoB;YAAE,OAAO,KAAK,CAAC;QAC/G,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,OAAO,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
+ import { TERMINAL_IDENTITY_ENV_KEYS } from "../ui-core/bootstrap/capabilities.js";
1
2
  const TERMINAL_ENV_KEYS = new Set([
2
- "TERM", "COLORTERM", "TERM_PROGRAM", "TERM_PROGRAM_VERSION", "COLORFGBG",
3
+ ...TERMINAL_IDENTITY_ENV_KEYS, "COLORFGBG", "CLAI_THEME",
3
4
  "NO_COLOR", "FORCE_COLOR", "CLAI_CLASSIC_MOUSE", "CLAI_KITTY_KEYBOARD", "TMUX",
4
5
  ]);
5
6
  export function runtimeTerminalOptions(ui = "auto", env = process.env) {
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-options.js","sourceRoot":"","sources":["../../src/session-runtime/terminal-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-options.js","sourceRoot":"","sources":["../../src/session-runtime/terminal-options.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ export declare class SessionPromptStore {
29
29
  constructor(sessionId: string);
30
30
  append(input: SessionPromptInput): Promise<void>;
31
31
  seed(inputs: Iterable<SessionPromptInput>): Promise<void>;
32
+ inheritFrom(source: SessionPromptStore): Promise<void>;
32
33
  flush(): Promise<void>;
33
34
  captureCount(): Promise<number>;
34
35
  subscribe(listener: () => void): () => void;
@@ -36,6 +37,7 @@ export declare class SessionPromptStore {
36
37
  namingWindow(): Promise<NamingPromptWindow>;
37
38
  private enqueue;
38
39
  private write;
40
+ private notifyListeners;
39
41
  private appendEntry;
40
42
  }
41
43
  export declare function removeSessionPrompts(sessionId: string): Promise<boolean>;
@@ -1,5 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
- import { mkdir, open, rm, stat, truncate } from "node:fs/promises";
2
+ import { copyFile, mkdir, mkdtemp, open, rename, rm, stat, truncate } from "node:fs/promises";
3
3
  import { dirname, join } from "node:path";
4
4
  import { getHistoryDir } from "./paths.js";
5
5
  import { acquireJsonlWriteLock } from "./history/jsonl-lock.js";
@@ -80,6 +80,37 @@ export class SessionPromptStore {
80
80
  });
81
81
  });
82
82
  }
83
+ inheritFrom(source) {
84
+ const pendingSource = source.flush();
85
+ return this.enqueue(async () => {
86
+ await pendingSource;
87
+ const release = await acquireJsonlWriteLock();
88
+ let staged;
89
+ try {
90
+ if (await source.count() === 0)
91
+ return;
92
+ if (await this.count() > 0)
93
+ throw new Error("destination prompt journal is not empty");
94
+ await mkdir(dirname(this.root), { recursive: true, mode: 0o700 });
95
+ staged = await mkdtemp(join(dirname(this.root), ".prompts-"));
96
+ for (const file of ["prompts.md", "metadata.jsonl", "offsets.bin"]) {
97
+ await copyFile(join(source.root, file), join(staged, file));
98
+ }
99
+ await rename(staged, this.root);
100
+ staged = undefined;
101
+ }
102
+ finally {
103
+ try {
104
+ if (staged)
105
+ await rm(staged, { recursive: true, force: true });
106
+ }
107
+ finally {
108
+ await release();
109
+ }
110
+ }
111
+ this.notifyListeners();
112
+ });
113
+ }
83
114
  flush() {
84
115
  return this.pending;
85
116
  }
@@ -168,6 +199,9 @@ export class SessionPromptStore {
168
199
  await Promise.allSettled(handles.map((handle) => handle.close()));
169
200
  await release();
170
201
  }
202
+ this.notifyListeners();
203
+ }
204
+ notifyListeners() {
171
205
  for (const listener of this.listeners) {
172
206
  try {
173
207
  listener();
@@ -1 +1 @@
1
- {"version":3,"file":"session-prompts.js","sourceRoot":"","sources":["../../src/store/session-prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-prompts.js","sourceRoot":"","sources":["../../src/store/session-prompts.ts"],"names":[],"mappings":"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"}
@@ -44,11 +44,15 @@ function PlanViewImpl(props) {
44
44
  const innerW = Math.max(1, (widthProp ?? 36) - 4);
45
45
  const disclosure = useTaskDisclosure(plan, scrollRef, interactionRef, props.disclosureBinding);
46
46
  const displayTasks = disclosure.tasks;
47
- const revealedTaskId = focused ? disclosure.selectedId : activeId;
47
+ const previousTargets = useRef({ selectedId: undefined, activeId: undefined });
48
48
  useEffect(() => {
49
- if (revealedTaskId)
50
- revealTaskHeader(scrollRef.current, revealedTaskId);
51
- }, [revealedTaskId]);
49
+ const previous = previousTargets.current;
50
+ previousTargets.current = { selectedId: disclosure.selectedId, activeId };
51
+ const target = focused ? disclosure.selectedId : activeId;
52
+ const priorTarget = focused ? previous.selectedId : previous.activeId;
53
+ if (target && target !== priorTarget)
54
+ revealTaskHeader(scrollRef.current, target);
55
+ }, [focused, disclosure.selectedId, activeId]);
52
56
  const toggleTask = useCallback((id) => {
53
57
  if (services.overlay.isOpen())
54
58
  return;