@moxxy/cli 0.13.2 → 0.14.1

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/dist/bin.js CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { z as z$1, createMutex, defineTunnelProvider, definePlugin, defineProvider, defineTool, MoxxyError, asTurnId, defineMode, asPluginId, defineCommand, defineChannel, defineWorkflowExecutor, toFriendlyError, estimateTextTokens, classifyHttpStatus, createStuckLoopDetector, runCompactionIfNeeded, runElisionIfNeeded, collectProviderStream, usageEventFields, isContextOverflowError, emitRequestsAndDetectStuck, executeToolUses, buildSystemPromptWithSkills, projectMessages, defineCompactor, defineCacheStrategy, denyByDefaultResolver, createAllowListResolver, zodToJsonSchema, fileDiffSummary, runSingleShotTurn, defineSurface, runManualCompaction, isFileDiffDisplay, renderFrontmatter, defineEmbedder, migrateModeName, skillFrontmatterSchema, asSkillId, getInstallHint, parseFrontmatterFile, createDeferredPermissionResolver, encodeLoginPrompt, defineTranscriber, summarizeTokensByModel, countNodes, moxxyPackageSchema, classifyNetworkError, addModelTotals, createJsonFileStore, ISOLATION_RANK, MOXXY_PCM16_24KHZ_MIME, fileDiffVerb, parseFrontmatter, createCallbackResolver, autoAllowResolver, asSessionId, asToolCallId, defineViewRenderer, DEFAULT_VIEW_TAGS, assertNever, isSafeViewUrl, evaluateToolRule, summarizeSessionTokensFromEvents, toDiffRows, diffGutterNo, computeElisionState, toolResultStubbed, toolResultStub, toolResultBytes, conversationalStubbed, conversationalStub, asEventId } from '@moxxy/sdk';
3
+ import { z as z$1, createMutex, defineTunnelProvider, definePlugin, defineProvider, defineTool, MoxxyError, asTurnId, defineMode, asPluginId, defineCommand, defineChannel, defineWorkflowExecutor, toFriendlyError, estimateTextTokens, classifyHttpStatus, createStuckLoopDetector, runCompactionIfNeeded, runElisionIfNeeded, collectProviderStream, usageEventFields, isContextOverflowError, emitRequestsAndDetectStuck, executeToolUses, buildSystemPromptWithSkills, projectMessages, defineCompactor, defineCacheStrategy, denyByDefaultResolver, createAllowListResolver, zodToJsonSchema, fileDiffSummary, runSingleShotTurn, defineSurface, runManualCompaction, isFileDiffDisplay, renderFrontmatter, defineEmbedder, migrateModeName, skillFrontmatterSchema, asSkillId, getInstallHint, parseFrontmatterFile, createDeferredPermissionResolver, encodeLoginPrompt, defineTranscriber, summarizeTokensByModel, countNodes, moxxyPackageSchema, classifyNetworkError, addModelTotals, createJsonFileStore, ISOLATION_RANK, MOXXY_PCM16_24KHZ_MIME, fileDiffVerb, parseFrontmatter, createCallbackResolver, autoAllowResolver, asSessionId, asToolCallId, defineViewRenderer, DEFAULT_VIEW_TAGS, isSafeViewUrl, evaluateToolRule, summarizeSessionTokensFromEvents, toDiffRows, diffGutterNo, computeElisionState, toolResultStubbed, toolResultStub, toolResultBytes, conversationalStubbed, conversationalStub, asEventId } from '@moxxy/sdk';
4
4
  import * as fs32 from 'fs';
5
5
  import fs32__default, { existsSync, promises, ReadStream, mkdirSync, statSync, readdirSync, writeFileSync, readFileSync, unlinkSync, chmodSync, watch, createReadStream } from 'fs';
6
6
  import * as path3 from 'path';
7
- import path3__default, { join, dirname, basename } from 'path';
7
+ import path3__default, { join, dirname, resolve, relative, isAbsolute, basename } from 'path';
8
8
  import { isCliTunnelAvailable, writeFileAtomic, spawnCliTunnel, moxxyPath, moxxyHome, bearerTokenMatches, resolveChannelToken, rotateChannelToken, readRequestBody, MOXXY_WS_SUBPROTOCOL, bearerGuard, tokenFromWsProtocolHeader, writeFileAtomicSync } from '@moxxy/sdk/server';
9
9
  import { z } from 'zod';
10
10
  import * as os5 from 'os';
@@ -892,7 +892,7 @@ async function* runTurn(session, prompt, opts = {}) {
892
892
  yield queue.shift();
893
893
  if (done)
894
894
  break;
895
- await new Promise((resolve12) => waiters.push(resolve12));
895
+ await new Promise((resolve13) => waiters.push(resolve13));
896
896
  }
897
897
  } finally {
898
898
  unsubscribe();
@@ -2967,6 +2967,8 @@ var init_workflow_executors = __esm({
2967
2967
  };
2968
2968
  }
2969
2969
  });
2970
+
2971
+ // ../core/dist/requirements.js
2970
2972
  function issue(requirement, code, message) {
2971
2973
  return {
2972
2974
  requirement,
@@ -2985,9 +2987,10 @@ function activeModeName(modes) {
2985
2987
  return null;
2986
2988
  }
2987
2989
  }
2988
- var RequirementRegistry;
2990
+ var ALWAYS_ACTIVE, RequirementRegistry, TARGET_DESCRIPTORS;
2989
2991
  var init_requirements = __esm({
2990
2992
  "../core/dist/requirements.js"() {
2993
+ ALWAYS_ACTIVE = () => true;
2991
2994
  RequirementRegistry = class {
2992
2995
  opts;
2993
2996
  runtime = /* @__PURE__ */ new Map();
@@ -3050,52 +3053,54 @@ var init_requirements = __esm({
3050
3053
  return null;
3051
3054
  }
3052
3055
  targetInfo(kind3, name) {
3053
- switch (kind3) {
3054
- case "plugin": {
3055
- const plugin5 = this.plugins.get(name);
3056
- return plugin5 ? { kind: kind3, name, version: plugin5.version, active: true } : null;
3057
- }
3058
- case "provider": {
3059
- const def = this.opts.providers.list().find((p3) => p3.name === name);
3060
- return def ? { kind: kind3, name, active: this.opts.providers.getActiveName() === name } : null;
3061
- }
3062
- case "tool": {
3063
- const def = this.opts.tools.get(name);
3064
- return def ? { kind: kind3, name, active: true } : null;
3065
- }
3066
- case "transcriber": {
3067
- const def = this.opts.transcribers.list().find((t2) => t2.name === name);
3068
- return def ? { kind: kind3, name, active: this.opts.transcribers.getActiveName() === name } : null;
3069
- }
3070
- case "synthesizer": {
3071
- const def = this.opts.synthesizers.list().find((s2) => s2.name === name);
3072
- return def ? { kind: kind3, name, active: this.opts.synthesizers.getActiveName() === name } : null;
3073
- }
3074
- case "mode": {
3075
- const def = this.opts.modes.list().find((m3) => m3.name === name);
3076
- return def ? { kind: kind3, name, active: activeModeName(this.opts.modes) === name } : null;
3077
- }
3078
- case "compactor": {
3079
- const def = this.opts.compactors.list().find((c2) => c2.name === name);
3080
- return def ? { kind: kind3, name, active: this.opts.compactors.getActive()?.name === name } : null;
3081
- }
3082
- case "channel": {
3083
- const def = this.opts.channels.get(name);
3084
- return def ? { kind: kind3, name, active: true } : null;
3085
- }
3086
- case "agent": {
3087
- const def = this.opts.agents.get(name);
3088
- return def ? { kind: kind3, name, active: true } : null;
3089
- }
3090
- case "command": {
3091
- const def = this.opts.commands.get(name);
3092
- return def ? { kind: kind3, name, active: true } : null;
3093
- }
3094
- case "runtime":
3095
- return null;
3096
- default:
3097
- return assertNever(kind3);
3056
+ if (kind3 === "plugin") {
3057
+ const plugin5 = this.plugins.get(name);
3058
+ return plugin5 ? { kind: kind3, name, version: plugin5.version, active: true } : null;
3098
3059
  }
3060
+ if (kind3 === "runtime")
3061
+ return null;
3062
+ const descriptor = TARGET_DESCRIPTORS[kind3];
3063
+ if (!descriptor.present(this.opts, name))
3064
+ return null;
3065
+ return { kind: kind3, name, active: descriptor.active(this.opts, name) };
3066
+ }
3067
+ };
3068
+ TARGET_DESCRIPTORS = {
3069
+ provider: {
3070
+ present: (opts, name) => opts.providers.list().some((p3) => p3.name === name),
3071
+ active: (opts, name) => opts.providers.getActiveName() === name
3072
+ },
3073
+ tool: {
3074
+ present: (opts, name) => opts.tools.get(name) !== void 0,
3075
+ active: ALWAYS_ACTIVE
3076
+ },
3077
+ transcriber: {
3078
+ present: (opts, name) => opts.transcribers.list().some((t2) => t2.name === name),
3079
+ active: (opts, name) => opts.transcribers.getActiveName() === name
3080
+ },
3081
+ synthesizer: {
3082
+ present: (opts, name) => opts.synthesizers.list().some((s2) => s2.name === name),
3083
+ active: (opts, name) => opts.synthesizers.getActiveName() === name
3084
+ },
3085
+ mode: {
3086
+ present: (opts, name) => opts.modes.list().some((m3) => m3.name === name),
3087
+ active: (opts, name) => activeModeName(opts.modes) === name
3088
+ },
3089
+ compactor: {
3090
+ present: (opts, name) => opts.compactors.list().some((c2) => c2.name === name),
3091
+ active: (opts, name) => opts.compactors.getActive()?.name === name
3092
+ },
3093
+ channel: {
3094
+ present: (opts, name) => opts.channels.get(name) !== void 0,
3095
+ active: ALWAYS_ACTIVE
3096
+ },
3097
+ agent: {
3098
+ present: (opts, name) => opts.agents.get(name) !== void 0,
3099
+ active: ALWAYS_ACTIVE
3100
+ },
3101
+ command: {
3102
+ present: (opts, name) => opts.commands.get(name) !== void 0,
3103
+ active: ALWAYS_ACTIVE
3099
3104
  }
3100
3105
  };
3101
3106
  }
@@ -7317,8 +7322,8 @@ var require_jiti = __commonJS({
7317
7322
  }
7318
7323
  const He2 = /^[/\\]{2}/, ze2 = /^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/, Je2 = /^[A-Za-z]:$/, Ye2 = /.(\.[^./]+|\.)$/, pathe_M_eThtNZ_normalize = function(e5) {
7319
7324
  if (0 === e5.length) return ".";
7320
- const t4 = (e5 = pathe_M_eThtNZ_normalizeWindowsPath(e5)).match(He2), i3 = isAbsolute5(e5), n3 = "/" === e5[e5.length - 1];
7321
- return 0 === (e5 = normalizeString(e5, !i3)).length ? i3 ? "/" : n3 ? "./" : "." : (n3 && (e5 += "/"), Je2.test(e5) && (e5 += "/"), t4 ? i3 ? `//${e5}` : `//./${e5}` : i3 && !isAbsolute5(e5) ? `/${e5}` : e5);
7325
+ const t4 = (e5 = pathe_M_eThtNZ_normalizeWindowsPath(e5)).match(He2), i3 = isAbsolute6(e5), n3 = "/" === e5[e5.length - 1];
7326
+ return 0 === (e5 = normalizeString(e5, !i3)).length ? i3 ? "/" : n3 ? "./" : "." : (n3 && (e5 += "/"), Je2.test(e5) && (e5 += "/"), t4 ? i3 ? `//${e5}` : `//./${e5}` : i3 && !isAbsolute6(e5) ? `/${e5}` : e5);
7322
7327
  }, pathe_M_eThtNZ_join = function(...e5) {
7323
7328
  let t4 = "";
7324
7329
  for (const i3 of e5) if (i3) if (t4.length > 0) {
@@ -7334,9 +7339,9 @@ var require_jiti = __commonJS({
7334
7339
  let t4 = "", i3 = false;
7335
7340
  for (let n3 = (e5 = e5.map((e6) => pathe_M_eThtNZ_normalizeWindowsPath(e6))).length - 1; n3 >= -1 && !i3; n3--) {
7336
7341
  const a3 = n3 >= 0 ? e5[n3] : pathe_M_eThtNZ_cwd();
7337
- a3 && 0 !== a3.length && (t4 = `${a3}/${t4}`, i3 = isAbsolute5(a3));
7342
+ a3 && 0 !== a3.length && (t4 = `${a3}/${t4}`, i3 = isAbsolute6(a3));
7338
7343
  }
7339
- return t4 = normalizeString(t4, !i3), i3 && !isAbsolute5(t4) ? `/${t4}` : t4.length > 0 ? t4 : ".";
7344
+ return t4 = normalizeString(t4, !i3), i3 && !isAbsolute6(t4) ? `/${t4}` : t4.length > 0 ? t4 : ".";
7340
7345
  };
7341
7346
  function normalizeString(e5, t4) {
7342
7347
  let i3 = "", n3 = 0, a3 = -1, c3 = 0, l3 = null;
@@ -7367,7 +7372,7 @@ var require_jiti = __commonJS({
7367
7372
  }
7368
7373
  return i3;
7369
7374
  }
7370
- const isAbsolute5 = function(e5) {
7375
+ const isAbsolute6 = function(e5) {
7371
7376
  return ze2.test(e5);
7372
7377
  }, extname2 = function(e5) {
7373
7378
  if (".." === e5) return "";
@@ -7375,7 +7380,7 @@ var require_jiti = __commonJS({
7375
7380
  return t4 && t4[1] || "";
7376
7381
  }, pathe_M_eThtNZ_dirname = function(e5) {
7377
7382
  const t4 = pathe_M_eThtNZ_normalizeWindowsPath(e5).replace(/\/$/, "").split("/").slice(0, -1);
7378
- return 1 === t4.length && Je2.test(t4[0]) && (t4[0] += "/"), t4.join("/") || (isAbsolute5(e5) ? "/" : ".");
7383
+ return 1 === t4.length && Je2.test(t4[0]) && (t4[0] += "/"), t4.join("/") || (isAbsolute6(e5) ? "/" : ".");
7379
7384
  }, basename8 = function(e5, t4) {
7380
7385
  const i3 = pathe_M_eThtNZ_normalizeWindowsPath(e5).split("/");
7381
7386
  let n3 = "";
@@ -7851,7 +7856,7 @@ Default "index" lookups for the main are deprecated for ES modules.`, "Deprecati
7851
7856
  }
7852
7857
  if (/(?:node|data|http|https):/.test(e5)) return e5;
7853
7858
  if (st3.has(e5)) return "node:" + e5;
7854
- if (e5.startsWith("file://") && (e5 = fileURLToPath10(e5)), isAbsolute5(e5)) try {
7859
+ if (e5.startsWith("file://") && (e5 = fileURLToPath10(e5)), isAbsolute6(e5)) try {
7855
7860
  if ((0, $e2.statSync)(e5).isFile()) return pathToFileURL3(e5);
7856
7861
  } catch (e6) {
7857
7862
  if ("ENOENT" !== e6?.code) throw e6;
@@ -8088,7 +8093,7 @@ Default "index" lookups for the main are deprecated for ES modules.`, "Deprecati
8088
8093
  }
8089
8094
  function nativeImportOrRequire(e5, t4, i3) {
8090
8095
  return i3 && e5.nativeImport ? e5.nativeImport((function(e6) {
8091
- return ni && isAbsolute5(e6) ? pathToFileURL3(e6) : e6;
8096
+ return ni && isAbsolute6(e6) ? pathToFileURL3(e6) : e6;
8092
8097
  })(t4)).then((t5) => jitiInteropDefault(e5, t5)) : jitiInteropDefault(e5, e5.nativeRequire(t4));
8093
8098
  }
8094
8099
  const Ti = "9";
@@ -21473,7 +21478,7 @@ function consumeBody() {
21473
21478
  let accum = [];
21474
21479
  let accumBytes = 0;
21475
21480
  let abort2 = false;
21476
- return new Body.Promise(function(resolve12, reject) {
21481
+ return new Body.Promise(function(resolve13, reject) {
21477
21482
  let resTimeout;
21478
21483
  if (_this4.timeout) {
21479
21484
  resTimeout = setTimeout(function() {
@@ -21507,7 +21512,7 @@ function consumeBody() {
21507
21512
  }
21508
21513
  clearTimeout(resTimeout);
21509
21514
  try {
21510
- resolve12(Buffer.concat(accum, accumBytes));
21515
+ resolve13(Buffer.concat(accum, accumBytes));
21511
21516
  } catch (err) {
21512
21517
  reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err));
21513
21518
  }
@@ -21770,7 +21775,7 @@ function fetch3(url2, opts) {
21770
21775
  throw new Error("native promise missing, set fetch.Promise to your favorite alternative");
21771
21776
  }
21772
21777
  Body.Promise = fetch3.Promise;
21773
- return new fetch3.Promise(function(resolve12, reject) {
21778
+ return new fetch3.Promise(function(resolve13, reject) {
21774
21779
  const request = new Request2(url2, opts);
21775
21780
  const options = getNodeRequestOptions(request);
21776
21781
  const send = (options.protocol === "https:" ? https : http).request;
@@ -21903,7 +21908,7 @@ function fetch3(url2, opts) {
21903
21908
  requestOpts.body = void 0;
21904
21909
  requestOpts.headers.delete("content-length");
21905
21910
  }
21906
- resolve12(fetch3(new Request2(locationURL, requestOpts)));
21911
+ resolve13(fetch3(new Request2(locationURL, requestOpts)));
21907
21912
  finalize();
21908
21913
  return;
21909
21914
  }
@@ -21924,7 +21929,7 @@ function fetch3(url2, opts) {
21924
21929
  const codings = headers.get("Content-Encoding");
21925
21930
  if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) {
21926
21931
  response = new Response3(body, response_options);
21927
- resolve12(response);
21932
+ resolve13(response);
21928
21933
  return;
21929
21934
  }
21930
21935
  const zlibOptions = {
@@ -21934,7 +21939,7 @@ function fetch3(url2, opts) {
21934
21939
  if (codings == "gzip" || codings == "x-gzip") {
21935
21940
  body = body.pipe(zlib.createGunzip(zlibOptions));
21936
21941
  response = new Response3(body, response_options);
21937
- resolve12(response);
21942
+ resolve13(response);
21938
21943
  return;
21939
21944
  }
21940
21945
  if (codings == "deflate" || codings == "x-deflate") {
@@ -21946,12 +21951,12 @@ function fetch3(url2, opts) {
21946
21951
  body = body.pipe(zlib.createInflateRaw());
21947
21952
  }
21948
21953
  response = new Response3(body, response_options);
21949
- resolve12(response);
21954
+ resolve13(response);
21950
21955
  });
21951
21956
  raw.on("end", function() {
21952
21957
  if (!response) {
21953
21958
  response = new Response3(body, response_options);
21954
- resolve12(response);
21959
+ resolve13(response);
21955
21960
  }
21956
21961
  });
21957
21962
  return;
@@ -21959,11 +21964,11 @@ function fetch3(url2, opts) {
21959
21964
  if (codings == "br" && typeof zlib.createBrotliDecompress === "function") {
21960
21965
  body = body.pipe(zlib.createBrotliDecompress());
21961
21966
  response = new Response3(body, response_options);
21962
- resolve12(response);
21967
+ resolve13(response);
21963
21968
  return;
21964
21969
  }
21965
21970
  response = new Response3(body, response_options);
21966
- resolve12(response);
21971
+ resolve13(response);
21967
21972
  });
21968
21973
  writeToStream(req, request);
21969
21974
  });
@@ -35482,7 +35487,7 @@ var require_frameworks = __commonJS({
35482
35487
  end: () => resolveResponse({ status: 204 }),
35483
35488
  respond: (json) => resolveResponse({ jsonBody: json }),
35484
35489
  unauthorized: () => resolveResponse({ status: 401, body: WRONG_TOKEN_ERROR }),
35485
- handlerReturn: new Promise((resolve12) => resolveResponse = resolve12)
35490
+ handlerReturn: new Promise((resolve13) => resolveResponse = resolve13)
35486
35491
  };
35487
35492
  };
35488
35493
  var bun = (request) => {
@@ -35506,8 +35511,8 @@ var require_frameworks = __commonJS({
35506
35511
  };
35507
35512
  var cloudflare = (event) => {
35508
35513
  let resolveResponse;
35509
- event.respondWith(new Promise((resolve12) => {
35510
- resolveResponse = resolve12;
35514
+ event.respondWith(new Promise((resolve13) => {
35515
+ resolveResponse = resolve13;
35511
35516
  }));
35512
35517
  return {
35513
35518
  get update() {
@@ -35591,12 +35596,12 @@ var require_frameworks = __commonJS({
35591
35596
  const secretHeaderFromRequest = req.headers[SECRET_HEADER_LOWERCASE];
35592
35597
  return {
35593
35598
  get update() {
35594
- return new Promise((resolve12, reject) => {
35599
+ return new Promise((resolve13, reject) => {
35595
35600
  const chunks = [];
35596
35601
  req.on("data", (chunk) => chunks.push(chunk)).once("end", () => {
35597
35602
  const raw = Buffer.concat(chunks).toString("utf-8");
35598
35603
  try {
35599
- resolve12(JSON.parse(raw));
35604
+ resolve13(JSON.parse(raw));
35600
35605
  } catch (err) {
35601
35606
  reject(err);
35602
35607
  }
@@ -35846,7 +35851,7 @@ var require_webhook = __commonJS({
35846
35851
  function timeoutIfNecessary(task, onTimeout, timeout) {
35847
35852
  if (timeout === Infinity)
35848
35853
  return task;
35849
- return new Promise((resolve12, reject) => {
35854
+ return new Promise((resolve13, reject) => {
35850
35855
  const handle2 = setTimeout(() => {
35851
35856
  debugErr(`Request timed out after ${timeout} ms`);
35852
35857
  if (onTimeout === "throw") {
@@ -35854,7 +35859,7 @@ var require_webhook = __commonJS({
35854
35859
  } else {
35855
35860
  if (typeof onTimeout === "function")
35856
35861
  onTimeout();
35857
- resolve12();
35862
+ resolve13();
35858
35863
  }
35859
35864
  const now = Date.now();
35860
35865
  task.finally(() => {
@@ -35862,7 +35867,7 @@ var require_webhook = __commonJS({
35862
35867
  debugErr(`Request completed ${diff2} ms after timeout!`);
35863
35868
  });
35864
35869
  }, timeout);
35865
- task.then(resolve12).catch(reject).finally(() => clearTimeout(handle2));
35870
+ task.then(resolve13).catch(reject).finally(() => clearTimeout(handle2));
35866
35871
  });
35867
35872
  }
35868
35873
  }
@@ -38473,7 +38478,7 @@ var init_protocol = __esm({
38473
38478
  return;
38474
38479
  }
38475
38480
  const pollInterval = task2.pollInterval ?? this._options?.defaultTaskPollInterval ?? 1e3;
38476
- await new Promise((resolve12) => setTimeout(resolve12, pollInterval));
38481
+ await new Promise((resolve13) => setTimeout(resolve13, pollInterval));
38477
38482
  options?.signal?.throwIfAborted();
38478
38483
  }
38479
38484
  } catch (error2) {
@@ -38490,7 +38495,7 @@ var init_protocol = __esm({
38490
38495
  */
38491
38496
  request(request, resultSchema, options) {
38492
38497
  const { relatedRequestId, resumptionToken, onresumptiontoken, task, relatedTask } = options ?? {};
38493
- return new Promise((resolve12, reject) => {
38498
+ return new Promise((resolve13, reject) => {
38494
38499
  const earlyReject = (error2) => {
38495
38500
  reject(error2);
38496
38501
  };
@@ -38568,7 +38573,7 @@ var init_protocol = __esm({
38568
38573
  if (!parseResult.success) {
38569
38574
  reject(parseResult.error);
38570
38575
  } else {
38571
- resolve12(parseResult.data);
38576
+ resolve13(parseResult.data);
38572
38577
  }
38573
38578
  } catch (error2) {
38574
38579
  reject(error2);
@@ -38829,12 +38834,12 @@ var init_protocol = __esm({
38829
38834
  }
38830
38835
  } catch {
38831
38836
  }
38832
- return new Promise((resolve12, reject) => {
38837
+ return new Promise((resolve13, reject) => {
38833
38838
  if (signal.aborted) {
38834
38839
  reject(new McpError(ErrorCode.InvalidRequest, "Request cancelled"));
38835
38840
  return;
38836
38841
  }
38837
- const timeoutId = setTimeout(resolve12, interval);
38842
+ const timeoutId = setTimeout(resolve13, interval);
38838
38843
  signal.addEventListener("abort", () => {
38839
38844
  clearTimeout(timeoutId);
38840
38845
  reject(new McpError(ErrorCode.InvalidRequest, "Request cancelled"));
@@ -41839,7 +41844,7 @@ var require_compile = __commonJS({
41839
41844
  const schOrFunc = root.refs[ref];
41840
41845
  if (schOrFunc)
41841
41846
  return schOrFunc;
41842
- let _sch = resolve12.call(this, root, ref);
41847
+ let _sch = resolve13.call(this, root, ref);
41843
41848
  if (_sch === void 0) {
41844
41849
  const schema = (_a3 = root.localRefs) === null || _a3 === void 0 ? void 0 : _a3[ref];
41845
41850
  const { schemaId } = this.opts;
@@ -41866,7 +41871,7 @@ var require_compile = __commonJS({
41866
41871
  function sameSchemaEnv(s1, s2) {
41867
41872
  return s1.schema === s2.schema && s1.root === s2.root && s1.baseId === s2.baseId;
41868
41873
  }
41869
- function resolve12(root, ref) {
41874
+ function resolve13(root, ref) {
41870
41875
  let sch;
41871
41876
  while (typeof (sch = this.refs[ref]) == "string")
41872
41877
  ref = sch;
@@ -42494,55 +42499,55 @@ var require_fast_uri = __commonJS({
42494
42499
  }
42495
42500
  return uri;
42496
42501
  }
42497
- function resolve12(baseURI, relativeURI, options) {
42502
+ function resolve13(baseURI, relativeURI, options) {
42498
42503
  const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
42499
42504
  const resolved = resolveComponent(parse2(baseURI, schemelessOptions), parse2(relativeURI, schemelessOptions), schemelessOptions, true);
42500
42505
  schemelessOptions.skipEscape = true;
42501
42506
  return serialize(resolved, schemelessOptions);
42502
42507
  }
42503
- function resolveComponent(base2, relative5, options, skipNormalization) {
42508
+ function resolveComponent(base2, relative6, options, skipNormalization) {
42504
42509
  const target = {};
42505
42510
  if (!skipNormalization) {
42506
42511
  base2 = parse2(serialize(base2, options), options);
42507
- relative5 = parse2(serialize(relative5, options), options);
42512
+ relative6 = parse2(serialize(relative6, options), options);
42508
42513
  }
42509
42514
  options = options || {};
42510
- if (!options.tolerant && relative5.scheme) {
42511
- target.scheme = relative5.scheme;
42512
- target.userinfo = relative5.userinfo;
42513
- target.host = relative5.host;
42514
- target.port = relative5.port;
42515
- target.path = removeDotSegments(relative5.path || "");
42516
- target.query = relative5.query;
42515
+ if (!options.tolerant && relative6.scheme) {
42516
+ target.scheme = relative6.scheme;
42517
+ target.userinfo = relative6.userinfo;
42518
+ target.host = relative6.host;
42519
+ target.port = relative6.port;
42520
+ target.path = removeDotSegments(relative6.path || "");
42521
+ target.query = relative6.query;
42517
42522
  } else {
42518
- if (relative5.userinfo !== void 0 || relative5.host !== void 0 || relative5.port !== void 0) {
42519
- target.userinfo = relative5.userinfo;
42520
- target.host = relative5.host;
42521
- target.port = relative5.port;
42522
- target.path = removeDotSegments(relative5.path || "");
42523
- target.query = relative5.query;
42523
+ if (relative6.userinfo !== void 0 || relative6.host !== void 0 || relative6.port !== void 0) {
42524
+ target.userinfo = relative6.userinfo;
42525
+ target.host = relative6.host;
42526
+ target.port = relative6.port;
42527
+ target.path = removeDotSegments(relative6.path || "");
42528
+ target.query = relative6.query;
42524
42529
  } else {
42525
- if (!relative5.path) {
42530
+ if (!relative6.path) {
42526
42531
  target.path = base2.path;
42527
- if (relative5.query !== void 0) {
42528
- target.query = relative5.query;
42532
+ if (relative6.query !== void 0) {
42533
+ target.query = relative6.query;
42529
42534
  } else {
42530
42535
  target.query = base2.query;
42531
42536
  }
42532
42537
  } else {
42533
- if (relative5.path[0] === "/") {
42534
- target.path = removeDotSegments(relative5.path);
42538
+ if (relative6.path[0] === "/") {
42539
+ target.path = removeDotSegments(relative6.path);
42535
42540
  } else {
42536
42541
  if ((base2.userinfo !== void 0 || base2.host !== void 0 || base2.port !== void 0) && !base2.path) {
42537
- target.path = "/" + relative5.path;
42542
+ target.path = "/" + relative6.path;
42538
42543
  } else if (!base2.path) {
42539
- target.path = relative5.path;
42544
+ target.path = relative6.path;
42540
42545
  } else {
42541
- target.path = base2.path.slice(0, base2.path.lastIndexOf("/") + 1) + relative5.path;
42546
+ target.path = base2.path.slice(0, base2.path.lastIndexOf("/") + 1) + relative6.path;
42542
42547
  }
42543
42548
  target.path = removeDotSegments(target.path);
42544
42549
  }
42545
- target.query = relative5.query;
42550
+ target.query = relative6.query;
42546
42551
  }
42547
42552
  target.userinfo = base2.userinfo;
42548
42553
  target.host = base2.host;
@@ -42550,7 +42555,7 @@ var require_fast_uri = __commonJS({
42550
42555
  }
42551
42556
  target.scheme = base2.scheme;
42552
42557
  }
42553
- target.fragment = relative5.fragment;
42558
+ target.fragment = relative6.fragment;
42554
42559
  return target;
42555
42560
  }
42556
42561
  function equal(uriA, uriB, options) {
@@ -42752,7 +42757,7 @@ var require_fast_uri = __commonJS({
42752
42757
  var fastUri = {
42753
42758
  SCHEMES,
42754
42759
  normalize: normalize4,
42755
- resolve: resolve12,
42760
+ resolve: resolve13,
42756
42761
  resolveComponent,
42757
42762
  equal,
42758
42763
  serialize,
@@ -46582,12 +46587,12 @@ var require_isexe = __commonJS({
46582
46587
  if (typeof Promise !== "function") {
46583
46588
  throw new TypeError("callback not provided");
46584
46589
  }
46585
- return new Promise(function(resolve12, reject) {
46590
+ return new Promise(function(resolve13, reject) {
46586
46591
  isexe(path62, options || {}, function(er2, is) {
46587
46592
  if (er2) {
46588
46593
  reject(er2);
46589
46594
  } else {
46590
- resolve12(is);
46595
+ resolve13(is);
46591
46596
  }
46592
46597
  });
46593
46598
  });
@@ -46653,27 +46658,27 @@ var require_which = __commonJS({
46653
46658
  opt = {};
46654
46659
  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
46655
46660
  const found = [];
46656
- const step = (i2) => new Promise((resolve12, reject) => {
46661
+ const step = (i2) => new Promise((resolve13, reject) => {
46657
46662
  if (i2 === pathEnv.length)
46658
- return opt.all && found.length ? resolve12(found) : reject(getNotFoundError(cmd));
46663
+ return opt.all && found.length ? resolve13(found) : reject(getNotFoundError(cmd));
46659
46664
  const ppRaw = pathEnv[i2];
46660
46665
  const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
46661
46666
  const pCmd = path62.join(pathPart, cmd);
46662
46667
  const p3 = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
46663
- resolve12(subStep(p3, i2, 0));
46668
+ resolve13(subStep(p3, i2, 0));
46664
46669
  });
46665
- const subStep = (p3, i2, ii) => new Promise((resolve12, reject) => {
46670
+ const subStep = (p3, i2, ii) => new Promise((resolve13, reject) => {
46666
46671
  if (ii === pathExt.length)
46667
- return resolve12(step(i2 + 1));
46672
+ return resolve13(step(i2 + 1));
46668
46673
  const ext = pathExt[ii];
46669
46674
  isexe(p3 + ext, { pathExt: pathExtExe }, (er2, is) => {
46670
46675
  if (!er2 && is) {
46671
46676
  if (opt.all)
46672
46677
  found.push(p3 + ext);
46673
46678
  else
46674
- return resolve12(p3 + ext);
46679
+ return resolve13(p3 + ext);
46675
46680
  }
46676
- return resolve12(subStep(p3, i2, ii + 1));
46681
+ return resolve13(subStep(p3, i2, ii + 1));
46677
46682
  });
46678
46683
  });
46679
46684
  return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
@@ -47069,7 +47074,7 @@ var init_stdio2 = __esm({
47069
47074
  if (this._process) {
47070
47075
  throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");
47071
47076
  }
47072
- return new Promise((resolve12, reject) => {
47077
+ return new Promise((resolve13, reject) => {
47073
47078
  this._process = (0, import_cross_spawn.default)(this._serverParams.command, this._serverParams.args ?? [], {
47074
47079
  // merge default env with server env because mcp server needs some env vars
47075
47080
  env: {
@@ -47086,7 +47091,7 @@ var init_stdio2 = __esm({
47086
47091
  this.onerror?.(error2);
47087
47092
  });
47088
47093
  this._process.on("spawn", () => {
47089
- resolve12();
47094
+ resolve13();
47090
47095
  });
47091
47096
  this._process.on("close", (_code) => {
47092
47097
  this._process = void 0;
@@ -47145,22 +47150,22 @@ var init_stdio2 = __esm({
47145
47150
  if (this._process) {
47146
47151
  const processToClose = this._process;
47147
47152
  this._process = void 0;
47148
- const closePromise = new Promise((resolve12) => {
47153
+ const closePromise = new Promise((resolve13) => {
47149
47154
  processToClose.once("close", () => {
47150
- resolve12();
47155
+ resolve13();
47151
47156
  });
47152
47157
  });
47153
47158
  try {
47154
47159
  processToClose.stdin?.end();
47155
47160
  } catch {
47156
47161
  }
47157
- await Promise.race([closePromise, new Promise((resolve12) => setTimeout(resolve12, 2e3).unref())]);
47162
+ await Promise.race([closePromise, new Promise((resolve13) => setTimeout(resolve13, 2e3).unref())]);
47158
47163
  if (processToClose.exitCode === null) {
47159
47164
  try {
47160
47165
  processToClose.kill("SIGTERM");
47161
47166
  } catch {
47162
47167
  }
47163
- await Promise.race([closePromise, new Promise((resolve12) => setTimeout(resolve12, 2e3).unref())]);
47168
+ await Promise.race([closePromise, new Promise((resolve13) => setTimeout(resolve13, 2e3).unref())]);
47164
47169
  }
47165
47170
  if (processToClose.exitCode === null) {
47166
47171
  try {
@@ -47172,15 +47177,15 @@ var init_stdio2 = __esm({
47172
47177
  this._readBuffer.clear();
47173
47178
  }
47174
47179
  send(message) {
47175
- return new Promise((resolve12) => {
47180
+ return new Promise((resolve13) => {
47176
47181
  if (!this._process?.stdin) {
47177
47182
  throw new Error("Not connected");
47178
47183
  }
47179
47184
  const json = serializeMessage(message);
47180
47185
  if (this._process.stdin.write(json)) {
47181
- resolve12();
47186
+ resolve13();
47182
47187
  } else {
47183
- this._process.stdin.once("drain", resolve12);
47188
+ this._process.stdin.once("drain", resolve13);
47184
47189
  }
47185
47190
  });
47186
47191
  }
@@ -48609,7 +48614,7 @@ var init_sse = __esm({
48609
48614
  }
48610
48615
  _startOrAuth() {
48611
48616
  const fetchImpl2 = this?._eventSourceInit?.fetch ?? this._fetch ?? fetch;
48612
- return new Promise((resolve12, reject) => {
48617
+ return new Promise((resolve13, reject) => {
48613
48618
  this._eventSource = new EventSource(this._url.href, {
48614
48619
  ...this._eventSourceInit,
48615
48620
  fetch: async (url2, init3) => {
@@ -48630,7 +48635,7 @@ var init_sse = __esm({
48630
48635
  this._abortController = new AbortController();
48631
48636
  this._eventSource.onerror = (event) => {
48632
48637
  if (event.code === 401 && this._authProvider) {
48633
- this._authThenStart().then(resolve12, reject);
48638
+ this._authThenStart().then(resolve13, reject);
48634
48639
  return;
48635
48640
  }
48636
48641
  const error2 = new SseError(event.code, event.message, event);
@@ -48652,7 +48657,7 @@ var init_sse = __esm({
48652
48657
  void this.close();
48653
48658
  return;
48654
48659
  }
48655
- resolve12();
48660
+ resolve13();
48656
48661
  });
48657
48662
  this._eventSource.onmessage = (event) => {
48658
48663
  const messageEvent = event;
@@ -49253,7 +49258,7 @@ var init_types2 = __esm({
49253
49258
  }
49254
49259
  });
49255
49260
  async function runMcpCallWithFallback(callPromise, signal, toolName) {
49256
- return await new Promise((resolve12, reject) => {
49261
+ return await new Promise((resolve13, reject) => {
49257
49262
  let settled = false;
49258
49263
  const settle = (fn) => {
49259
49264
  if (settled)
@@ -49270,7 +49275,7 @@ async function runMcpCallWithFallback(callPromise, signal, toolName) {
49270
49275
  settle(() => reject(new Error(`MCP tool "${toolName}" timed out after ${MCP_CALL_TIMEOUT_MS}ms`)));
49271
49276
  }, MCP_CALL_TIMEOUT_MS);
49272
49277
  signal.addEventListener("abort", onAbort, { once: true });
49273
- callPromise.then((v3) => settle(() => resolve12(v3)), (err) => settle(() => reject(err instanceof Error ? err : new Error(String(err)))));
49278
+ callPromise.then((v3) => settle(() => resolve13(v3)), (err) => settle(() => reject(err instanceof Error ? err : new Error(String(err)))));
49274
49279
  });
49275
49280
  }
49276
49281
  async function wrapMcpServerTools(opts) {
@@ -52013,14 +52018,14 @@ var require_react_development = __commonJS({
52013
52018
  var thenableResult = result;
52014
52019
  var wasAwaited = false;
52015
52020
  var thenable = {
52016
- then: function(resolve12, reject) {
52021
+ then: function(resolve13, reject) {
52017
52022
  wasAwaited = true;
52018
52023
  thenableResult.then(function(returnValue2) {
52019
52024
  popActScope(prevActScopeDepth);
52020
52025
  if (actScopeDepth === 0) {
52021
- recursivelyFlushAsyncActWork(returnValue2, resolve12, reject);
52026
+ recursivelyFlushAsyncActWork(returnValue2, resolve13, reject);
52022
52027
  } else {
52023
- resolve12(returnValue2);
52028
+ resolve13(returnValue2);
52024
52029
  }
52025
52030
  }, function(error3) {
52026
52031
  popActScope(prevActScopeDepth);
@@ -52050,20 +52055,20 @@ var require_react_development = __commonJS({
52050
52055
  ReactCurrentActQueue.current = null;
52051
52056
  }
52052
52057
  var _thenable = {
52053
- then: function(resolve12, reject) {
52058
+ then: function(resolve13, reject) {
52054
52059
  if (ReactCurrentActQueue.current === null) {
52055
52060
  ReactCurrentActQueue.current = [];
52056
- recursivelyFlushAsyncActWork(returnValue, resolve12, reject);
52061
+ recursivelyFlushAsyncActWork(returnValue, resolve13, reject);
52057
52062
  } else {
52058
- resolve12(returnValue);
52063
+ resolve13(returnValue);
52059
52064
  }
52060
52065
  }
52061
52066
  };
52062
52067
  return _thenable;
52063
52068
  } else {
52064
52069
  var _thenable2 = {
52065
- then: function(resolve12, reject) {
52066
- resolve12(returnValue);
52070
+ then: function(resolve13, reject) {
52071
+ resolve13(returnValue);
52067
52072
  }
52068
52073
  };
52069
52074
  return _thenable2;
@@ -52079,7 +52084,7 @@ var require_react_development = __commonJS({
52079
52084
  actScopeDepth = prevActScopeDepth;
52080
52085
  }
52081
52086
  }
52082
- function recursivelyFlushAsyncActWork(returnValue, resolve12, reject) {
52087
+ function recursivelyFlushAsyncActWork(returnValue, resolve13, reject) {
52083
52088
  {
52084
52089
  var queue = ReactCurrentActQueue.current;
52085
52090
  if (queue !== null) {
@@ -52088,16 +52093,16 @@ var require_react_development = __commonJS({
52088
52093
  enqueueTask(function() {
52089
52094
  if (queue.length === 0) {
52090
52095
  ReactCurrentActQueue.current = null;
52091
- resolve12(returnValue);
52096
+ resolve13(returnValue);
52092
52097
  } else {
52093
- recursivelyFlushAsyncActWork(returnValue, resolve12, reject);
52098
+ recursivelyFlushAsyncActWork(returnValue, resolve13, reject);
52094
52099
  }
52095
52100
  });
52096
52101
  } catch (error3) {
52097
52102
  reject(error3);
52098
52103
  }
52099
52104
  } else {
52100
- resolve12(returnValue);
52105
+ resolve13(returnValue);
52101
52106
  }
52102
52107
  }
52103
52108
  }
@@ -82772,8 +82777,8 @@ var init_ink = __esm({
82772
82777
  }
82773
82778
  }
82774
82779
  async waitUntilExit() {
82775
- this.exitPromise ||= new Promise((resolve12, reject) => {
82776
- this.resolveExitPromise = resolve12;
82780
+ this.exitPromise ||= new Promise((resolve13, reject) => {
82781
+ this.resolveExitPromise = resolve13;
82777
82782
  this.rejectExitPromise = reject;
82778
82783
  });
82779
82784
  return this.exitPromise;
@@ -87493,14 +87498,14 @@ function usePermissionQueue(session, registerInteractiveResolver) {
87493
87498
  if (yoloRef.current) {
87494
87499
  return { mode: "allow", reason: "yolo mode" };
87495
87500
  }
87496
- return new Promise((resolve12) => {
87497
- setPendingPermissions((prev) => [...prev, { call, ctx, resolve: resolve12 }]);
87501
+ return new Promise((resolve13) => {
87502
+ setPendingPermissions((prev) => [...prev, { call, ctx, resolve: resolve13 }]);
87498
87503
  });
87499
87504
  });
87500
87505
  session.setApprovalResolver({
87501
87506
  name: "tui-approval",
87502
- confirm: (request) => new Promise((resolve12) => {
87503
- setPendingApproval({ request, resolve: resolve12 });
87507
+ confirm: (request) => new Promise((resolve13) => {
87508
+ setPendingApproval({ request, resolve: resolve13 });
87504
87509
  })
87505
87510
  });
87506
87511
  return () => {
@@ -87583,14 +87588,14 @@ async function startVoiceRecording(opts = {}) {
87583
87588
  while (Buffer$1.concat(stderrChunks).byteLength > 16384)
87584
87589
  stderrChunks.shift();
87585
87590
  });
87586
- const closed = new Promise((resolve12) => {
87591
+ const closed = new Promise((resolve13) => {
87587
87592
  child.once("close", (code, signal) => {
87588
87593
  closeState = { code, signal };
87589
- resolve12();
87594
+ resolve13();
87590
87595
  });
87591
87596
  });
87592
- await new Promise((resolve12, reject) => {
87593
- child.once("spawn", resolve12);
87597
+ await new Promise((resolve13, reject) => {
87598
+ child.once("spawn", resolve13);
87594
87599
  child.once("error", (err) => reject(toSpawnError(command, err)));
87595
87600
  });
87596
87601
  let stopPromise = null;
@@ -87613,14 +87618,14 @@ async function checkVoiceCaptureAvailable(opts = {}) {
87613
87618
  const child = (opts.spawnImpl ?? spawn)(command, ["-version"], {
87614
87619
  stdio: ["ignore", "ignore", "ignore"]
87615
87620
  });
87616
- return new Promise((resolve12) => {
87621
+ return new Promise((resolve13) => {
87617
87622
  let settled = false;
87618
87623
  const done = (check) => {
87619
87624
  if (settled)
87620
87625
  return;
87621
87626
  settled = true;
87622
87627
  clearTimeout(timer);
87623
- resolve12(check);
87628
+ resolve13(check);
87624
87629
  };
87625
87630
  const timer = setTimeout(() => {
87626
87631
  if (!child.killed)
@@ -89797,9 +89802,9 @@ var init_SessionView = __esm({
89797
89802
  }, onApprovalDecide: (decision) => {
89798
89803
  if (!pendingApproval)
89799
89804
  return;
89800
- const { resolve: resolve12 } = pendingApproval;
89805
+ const { resolve: resolve13 } = pendingApproval;
89801
89806
  permissions.setPendingApproval(null);
89802
- resolve12(decision);
89807
+ resolve13(decision);
89803
89808
  }, onPickerSelect: handlePickerSelect, onPickerCancel: () => setPicker(null), onSubmit: handleSubmit, onPasteText: images.handlePasteText }), (0, import_jsx_runtime37.jsx)(StatusLine, { busyStartedAt: turn.busy && !pendingPermission && !pendingApproval ? turn.busyStartedAt : null, queueCount: turn.queueCount, modeName, modeBadge, provider: providerName2, model: activeModel2, mcp: mcpStatus, contextUsed, ...contextWindow ? { contextWindow } : {}, ...version ? { version } : {}, ...updateAvailable ? { updateLatest: updateAvailable.latest } : {} })] });
89804
89809
  };
89805
89810
  }
@@ -94581,10 +94586,10 @@ var require_browser2 = __commonJS({
94581
94586
  text = canvas;
94582
94587
  canvas = void 0;
94583
94588
  }
94584
- return new Promise(function(resolve12, reject) {
94589
+ return new Promise(function(resolve13, reject) {
94585
94590
  try {
94586
94591
  const data = QRCode2.create(text, opts);
94587
- resolve12(renderFunc(data, canvas, opts));
94592
+ resolve13(renderFunc(data, canvas, opts));
94588
94593
  } catch (e3) {
94589
94594
  reject(e3);
94590
94595
  }
@@ -94665,11 +94670,11 @@ var require_server = __commonJS({
94665
94670
  }
94666
94671
  function render2(renderFunc, text, params) {
94667
94672
  if (!params.cb) {
94668
- return new Promise(function(resolve12, reject) {
94673
+ return new Promise(function(resolve13, reject) {
94669
94674
  try {
94670
94675
  const data = QRCode2.create(text, params.opts);
94671
94676
  return renderFunc(data, params.opts, function(err, data2) {
94672
- return err ? reject(err) : resolve12(data2);
94677
+ return err ? reject(err) : resolve13(data2);
94673
94678
  });
94674
94679
  } catch (e3) {
94675
94680
  reject(e3);
@@ -96541,9 +96546,9 @@ var require_dispatcher_base = __commonJS({
96541
96546
  }
96542
96547
  close(callback) {
96543
96548
  if (callback === void 0) {
96544
- return new Promise((resolve12, reject) => {
96549
+ return new Promise((resolve13, reject) => {
96545
96550
  this.close((err, data) => {
96546
- return err ? reject(err) : resolve12(data);
96551
+ return err ? reject(err) : resolve13(data);
96547
96552
  });
96548
96553
  });
96549
96554
  }
@@ -96581,12 +96586,12 @@ var require_dispatcher_base = __commonJS({
96581
96586
  err = null;
96582
96587
  }
96583
96588
  if (callback === void 0) {
96584
- return new Promise((resolve12, reject) => {
96589
+ return new Promise((resolve13, reject) => {
96585
96590
  this.destroy(err, (err2, data) => {
96586
96591
  return err2 ? (
96587
96592
  /* istanbul ignore next: should never error */
96588
96593
  reject(err2)
96589
- ) : resolve12(data);
96594
+ ) : resolve13(data);
96590
96595
  });
96591
96596
  });
96592
96597
  }
@@ -98836,8 +98841,8 @@ var require_util3 = __commonJS({
98836
98841
  function createDeferredPromise() {
98837
98842
  let res;
98838
98843
  let rej;
98839
- const promise = new Promise((resolve12, reject) => {
98840
- res = resolve12;
98844
+ const promise = new Promise((resolve13, reject) => {
98845
+ res = resolve13;
98841
98846
  rej = reject;
98842
98847
  });
98843
98848
  return { promise, resolve: res, reject: rej };
@@ -101009,12 +101014,12 @@ upgrade: ${upgrade}\r
101009
101014
  cb();
101010
101015
  }
101011
101016
  }
101012
- const waitForDrain = () => new Promise((resolve12, reject) => {
101017
+ const waitForDrain = () => new Promise((resolve13, reject) => {
101013
101018
  assert(callback === null);
101014
101019
  if (socket[kError]) {
101015
101020
  reject(socket[kError]);
101016
101021
  } else {
101017
- callback = resolve12;
101022
+ callback = resolve13;
101018
101023
  }
101019
101024
  });
101020
101025
  socket.on("close", onDrain).on("drain", onDrain);
@@ -101650,12 +101655,12 @@ var require_client_h2 = __commonJS({
101650
101655
  cb();
101651
101656
  }
101652
101657
  }
101653
- const waitForDrain = () => new Promise((resolve12, reject) => {
101658
+ const waitForDrain = () => new Promise((resolve13, reject) => {
101654
101659
  assert(callback === null);
101655
101660
  if (socket[kError]) {
101656
101661
  reject(socket[kError]);
101657
101662
  } else {
101658
- callback = resolve12;
101663
+ callback = resolve13;
101659
101664
  }
101660
101665
  });
101661
101666
  h2stream.on("close", onDrain).on("drain", onDrain);
@@ -102128,16 +102133,16 @@ var require_client2 = __commonJS({
102128
102133
  return this[kNeedDrain] < 2;
102129
102134
  }
102130
102135
  async [kClose]() {
102131
- return new Promise((resolve12) => {
102136
+ return new Promise((resolve13) => {
102132
102137
  if (this[kSize]) {
102133
- this[kClosedResolve] = resolve12;
102138
+ this[kClosedResolve] = resolve13;
102134
102139
  } else {
102135
- resolve12(null);
102140
+ resolve13(null);
102136
102141
  }
102137
102142
  });
102138
102143
  }
102139
102144
  async [kDestroy](err) {
102140
- return new Promise((resolve12) => {
102145
+ return new Promise((resolve13) => {
102141
102146
  const requests = this[kQueue].splice(this[kPendingIdx]);
102142
102147
  for (let i2 = 0; i2 < requests.length; i2++) {
102143
102148
  const request = requests[i2];
@@ -102148,7 +102153,7 @@ var require_client2 = __commonJS({
102148
102153
  this[kClosedResolve]();
102149
102154
  this[kClosedResolve] = null;
102150
102155
  }
102151
- resolve12(null);
102156
+ resolve13(null);
102152
102157
  };
102153
102158
  if (this[kHTTPContext]) {
102154
102159
  this[kHTTPContext].destroy(err, callback);
@@ -102199,7 +102204,7 @@ var require_client2 = __commonJS({
102199
102204
  });
102200
102205
  }
102201
102206
  try {
102202
- const socket = await new Promise((resolve12, reject) => {
102207
+ const socket = await new Promise((resolve13, reject) => {
102203
102208
  client[kConnector]({
102204
102209
  host,
102205
102210
  hostname,
@@ -102211,7 +102216,7 @@ var require_client2 = __commonJS({
102211
102216
  if (err) {
102212
102217
  reject(err);
102213
102218
  } else {
102214
- resolve12(socket2);
102219
+ resolve13(socket2);
102215
102220
  }
102216
102221
  });
102217
102222
  });
@@ -102545,8 +102550,8 @@ var require_pool_base = __commonJS({
102545
102550
  if (this[kQueue].isEmpty()) {
102546
102551
  await Promise.all(this[kClients].map((c2) => c2.close()));
102547
102552
  } else {
102548
- await new Promise((resolve12) => {
102549
- this[kClosedResolve] = resolve12;
102553
+ await new Promise((resolve13) => {
102554
+ this[kClosedResolve] = resolve13;
102550
102555
  });
102551
102556
  }
102552
102557
  }
@@ -103753,7 +103758,7 @@ var require_readable = __commonJS({
103753
103758
  if (this._readableState.closeEmitted) {
103754
103759
  return null;
103755
103760
  }
103756
- return await new Promise((resolve12, reject) => {
103761
+ return await new Promise((resolve13, reject) => {
103757
103762
  if (this[kContentLength] > limit2) {
103758
103763
  this.destroy(new AbortError2());
103759
103764
  }
@@ -103766,7 +103771,7 @@ var require_readable = __commonJS({
103766
103771
  if (signal?.aborted) {
103767
103772
  reject(signal.reason ?? new AbortError2());
103768
103773
  } else {
103769
- resolve12(null);
103774
+ resolve13(null);
103770
103775
  }
103771
103776
  }).on("error", noop3).on("data", function(chunk) {
103772
103777
  limit2 -= chunk.length;
@@ -103785,7 +103790,7 @@ var require_readable = __commonJS({
103785
103790
  }
103786
103791
  async function consume(stream, type) {
103787
103792
  assert(!stream[kConsume]);
103788
- return new Promise((resolve12, reject) => {
103793
+ return new Promise((resolve13, reject) => {
103789
103794
  if (isUnusable(stream)) {
103790
103795
  const rState = stream._readableState;
103791
103796
  if (rState.destroyed && rState.closeEmitted === false) {
@@ -103802,7 +103807,7 @@ var require_readable = __commonJS({
103802
103807
  stream[kConsume] = {
103803
103808
  type,
103804
103809
  stream,
103805
- resolve: resolve12,
103810
+ resolve: resolve13,
103806
103811
  reject,
103807
103812
  length: 0,
103808
103813
  body: []
@@ -103872,18 +103877,18 @@ var require_readable = __commonJS({
103872
103877
  return buffer;
103873
103878
  }
103874
103879
  function consumeEnd(consume2) {
103875
- const { type, body, resolve: resolve12, stream, length } = consume2;
103880
+ const { type, body, resolve: resolve13, stream, length } = consume2;
103876
103881
  try {
103877
103882
  if (type === "text") {
103878
- resolve12(chunksDecode(body, length));
103883
+ resolve13(chunksDecode(body, length));
103879
103884
  } else if (type === "json") {
103880
- resolve12(JSON.parse(chunksDecode(body, length)));
103885
+ resolve13(JSON.parse(chunksDecode(body, length)));
103881
103886
  } else if (type === "arrayBuffer") {
103882
- resolve12(chunksConcat(body, length).buffer);
103887
+ resolve13(chunksConcat(body, length).buffer);
103883
103888
  } else if (type === "blob") {
103884
- resolve12(new Blob(body, { type: stream[kContentType] }));
103889
+ resolve13(new Blob(body, { type: stream[kContentType] }));
103885
103890
  } else if (type === "bytes") {
103886
- resolve12(chunksConcat(body, length));
103891
+ resolve13(chunksConcat(body, length));
103887
103892
  }
103888
103893
  consumeFinish(consume2);
103889
103894
  } catch (err) {
@@ -104139,9 +104144,9 @@ var require_api_request = __commonJS({
104139
104144
  };
104140
104145
  function request(opts, callback) {
104141
104146
  if (callback === void 0) {
104142
- return new Promise((resolve12, reject) => {
104147
+ return new Promise((resolve13, reject) => {
104143
104148
  request.call(this, opts, (err, data) => {
104144
- return err ? reject(err) : resolve12(data);
104149
+ return err ? reject(err) : resolve13(data);
104145
104150
  });
104146
104151
  });
104147
104152
  }
@@ -104363,9 +104368,9 @@ var require_api_stream = __commonJS({
104363
104368
  };
104364
104369
  function stream(opts, factory2, callback) {
104365
104370
  if (callback === void 0) {
104366
- return new Promise((resolve12, reject) => {
104371
+ return new Promise((resolve13, reject) => {
104367
104372
  stream.call(this, opts, factory2, (err, data) => {
104368
- return err ? reject(err) : resolve12(data);
104373
+ return err ? reject(err) : resolve13(data);
104369
104374
  });
104370
104375
  });
104371
104376
  }
@@ -104648,9 +104653,9 @@ var require_api_upgrade = __commonJS({
104648
104653
  };
104649
104654
  function upgrade(opts, callback) {
104650
104655
  if (callback === void 0) {
104651
- return new Promise((resolve12, reject) => {
104656
+ return new Promise((resolve13, reject) => {
104652
104657
  upgrade.call(this, opts, (err, data) => {
104653
- return err ? reject(err) : resolve12(data);
104658
+ return err ? reject(err) : resolve13(data);
104654
104659
  });
104655
104660
  });
104656
104661
  }
@@ -104741,9 +104746,9 @@ var require_api_connect = __commonJS({
104741
104746
  };
104742
104747
  function connect(opts, callback) {
104743
104748
  if (callback === void 0) {
104744
- return new Promise((resolve12, reject) => {
104749
+ return new Promise((resolve13, reject) => {
104745
104750
  connect.call(this, opts, (err, data) => {
104746
- return err ? reject(err) : resolve12(data);
104751
+ return err ? reject(err) : resolve13(data);
104747
104752
  });
104748
104753
  });
104749
104754
  }
@@ -108565,7 +108570,7 @@ var require_fetch = __commonJS({
108565
108570
  function dispatch3({ body }) {
108566
108571
  const url2 = requestCurrentURL(request);
108567
108572
  const agent = fetchParams.controller.dispatcher;
108568
- return new Promise((resolve12, reject) => agent.dispatch(
108573
+ return new Promise((resolve13, reject) => agent.dispatch(
108569
108574
  {
108570
108575
  path: url2.pathname + url2.search,
108571
108576
  origin: url2.origin,
@@ -108641,7 +108646,7 @@ var require_fetch = __commonJS({
108641
108646
  }
108642
108647
  }
108643
108648
  const onError2 = this.onError.bind(this);
108644
- resolve12({
108649
+ resolve13({
108645
108650
  status,
108646
108651
  statusText,
108647
108652
  headersList,
@@ -108687,7 +108692,7 @@ var require_fetch = __commonJS({
108687
108692
  for (let i2 = 0; i2 < rawHeaders.length; i2 += 2) {
108688
108693
  headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i2]), rawHeaders[i2 + 1].toString("latin1"), true);
108689
108694
  }
108690
- resolve12({
108695
+ resolve13({
108691
108696
  status,
108692
108697
  statusText: STATUS_CODES2[status],
108693
108698
  headersList,
@@ -112338,8 +112343,8 @@ var require_util9 = __commonJS({
112338
112343
  return true;
112339
112344
  }
112340
112345
  function delay(ms) {
112341
- return new Promise((resolve12) => {
112342
- setTimeout(resolve12, ms).unref();
112346
+ return new Promise((resolve13) => {
112347
+ setTimeout(resolve13, ms).unref();
112343
112348
  });
112344
112349
  }
112345
112350
  module.exports = {
@@ -113287,7 +113292,7 @@ function classify(input, signals) {
113287
113292
  }
113288
113293
  var CMD_TIMEOUT_MS = 5 * 6e4;
113289
113294
  function runCmd(cmd, args, cwd2) {
113290
- return new Promise((resolve12) => {
113295
+ return new Promise((resolve13) => {
113291
113296
  const child = spawn(cmd, [...args], { cwd: cwd2, stdio: ["ignore", "pipe", "pipe"] });
113292
113297
  let output = "";
113293
113298
  const onData = (d2) => {
@@ -113298,11 +113303,11 @@ function runCmd(cmd, args, cwd2) {
113298
113303
  const timer = setTimeout(() => child.kill("SIGKILL"), CMD_TIMEOUT_MS);
113299
113304
  child.on("error", (err) => {
113300
113305
  clearTimeout(timer);
113301
- resolve12({ exitCode: -1, output: `${cmd} failed to start: ${err.message}` });
113306
+ resolve13({ exitCode: -1, output: `${cmd} failed to start: ${err.message}` });
113302
113307
  });
113303
113308
  child.on("close", (code) => {
113304
113309
  clearTimeout(timer);
113305
- resolve12({ exitCode: code ?? -1, output });
113310
+ resolve13({ exitCode: code ?? -1, output });
113306
113311
  });
113307
113312
  });
113308
113313
  }
@@ -113383,7 +113388,7 @@ function shortName(pkg) {
113383
113388
  return pkg.startsWith(SCOPE) ? pkg.slice(SCOPE.length) : pkg;
113384
113389
  }
113385
113390
  function run(cmd, args, cwd2, timeoutMs = BUILD_TIMEOUT_MS) {
113386
- return new Promise((resolve12) => {
113391
+ return new Promise((resolve13) => {
113387
113392
  const child = spawn(cmd, [...args], { cwd: cwd2, stdio: ["ignore", "pipe", "pipe"] });
113388
113393
  let output = "";
113389
113394
  const onData = (d2) => {
@@ -113394,11 +113399,11 @@ function run(cmd, args, cwd2, timeoutMs = BUILD_TIMEOUT_MS) {
113394
113399
  const timer = setTimeout(() => child.kill("SIGKILL"), timeoutMs);
113395
113400
  child.on("error", (err) => {
113396
113401
  clearTimeout(timer);
113397
- resolve12({ code: -1, output: `${cmd} failed to start: ${err.message}` });
113402
+ resolve13({ code: -1, output: `${cmd} failed to start: ${err.message}` });
113398
113403
  });
113399
113404
  child.on("close", (code) => {
113400
113405
  clearTimeout(timer);
113401
- resolve12({ code: code ?? -1, output });
113406
+ resolve13({ code: code ?? -1, output });
113402
113407
  });
113403
113408
  });
113404
113409
  }
@@ -116660,7 +116665,7 @@ async function ensurePackageJson(dir) {
116660
116665
  }
116661
116666
  }
116662
116667
  function runNpm(args, signal) {
116663
- return new Promise((resolve12, reject) => {
116668
+ return new Promise((resolve13, reject) => {
116664
116669
  if (signal?.aborted) {
116665
116670
  reject(new Error("npm aborted before start"));
116666
116671
  return;
@@ -116686,7 +116691,7 @@ function runNpm(args, signal) {
116686
116691
  });
116687
116692
  child.on("close", (code) => {
116688
116693
  signal?.removeEventListener("abort", onAbort);
116689
- resolve12({ exitCode: code ?? -1, stdout, stderr });
116694
+ resolve13({ exitCode: code ?? -1, stdout, stderr });
116690
116695
  });
116691
116696
  });
116692
116697
  }
@@ -118134,14 +118139,14 @@ var WebhookServer = class {
118134
118139
  });
118135
118140
  });
118136
118141
  this.server = server;
118137
- await new Promise((resolve12, reject) => {
118142
+ await new Promise((resolve13, reject) => {
118138
118143
  server.once("error", reject);
118139
118144
  server.listen(this.opts.port, this.opts.host, () => {
118140
118145
  this.opts.logger?.info?.("webhooks: listening", {
118141
118146
  host: this.opts.host,
118142
118147
  port: this.opts.port
118143
118148
  });
118144
- resolve12();
118149
+ resolve13();
118145
118150
  });
118146
118151
  });
118147
118152
  return {
@@ -118155,7 +118160,7 @@ var WebhookServer = class {
118155
118160
  return;
118156
118161
  const s2 = this.server;
118157
118162
  this.server = null;
118158
- await new Promise((resolve12) => s2.close(() => resolve12()));
118163
+ await new Promise((resolve13) => s2.close(() => resolve13()));
118159
118164
  }
118160
118165
  async handle(req, res) {
118161
118166
  const url2 = req.url ?? "/";
@@ -119426,7 +119431,7 @@ var inprocIsolator = {
119426
119431
  internal.abort(signal.reason ?? new Error(`[security:inproc] tool '${call.toolName}' aborted`));
119427
119432
  }
119428
119433
  };
119429
- return new Promise((resolve12, reject) => {
119434
+ return new Promise((resolve13, reject) => {
119430
119435
  if (signal.aborted) {
119431
119436
  onExternalAbort();
119432
119437
  reject(new Error(`[security:inproc] tool '${call.toolName}' aborted`));
@@ -119446,7 +119451,7 @@ var inprocIsolator = {
119446
119451
  runHandler(handler, call.input, handlerSignal).then((out) => {
119447
119452
  clearTimeout(timer);
119448
119453
  signal.removeEventListener("abort", onAbort);
119449
- resolve12(out);
119454
+ resolve13(out);
119450
119455
  }, (err) => {
119451
119456
  clearTimeout(timer);
119452
119457
  signal.removeEventListener("abort", onAbort);
@@ -119758,7 +119763,7 @@ async function brokerExec(args, { caps, cwd: cwd2, signal }) {
119758
119763
  throw new Error(`[broker:exec] command '${command}' is outside the tool's declared commands allowlist`);
119759
119764
  }
119760
119765
  }
119761
- return await new Promise((resolve12, reject) => {
119766
+ return await new Promise((resolve13, reject) => {
119762
119767
  const child = spawn(command, [...argv], {
119763
119768
  cwd: opts.cwd ?? cwd2,
119764
119769
  // Filter the parent env through the tool's `caps.env` allowlist (or a
@@ -119823,7 +119828,7 @@ async function brokerExec(args, { caps, cwd: cwd2, signal }) {
119823
119828
  });
119824
119829
  child.on("close", (exitCode) => {
119825
119830
  clearKill();
119826
- finish(() => resolve12({
119831
+ finish(() => resolve13({
119827
119832
  stdout: Buffer.concat(outChunks).toString("utf8"),
119828
119833
  stderr: Buffer.concat(errChunks).toString("utf8"),
119829
119834
  exitCode
@@ -120093,7 +120098,7 @@ function createWorkerIsolator(opts = {}) {
120093
120098
  maxYoungGenerationSizeMb: Math.max(16, Math.floor(memMb / 4))
120094
120099
  }
120095
120100
  });
120096
- return new Promise((resolve12, reject) => {
120101
+ return new Promise((resolve13, reject) => {
120097
120102
  const cleanup = /* @__PURE__ */ new Set();
120098
120103
  let settled = false;
120099
120104
  let terminated = false;
@@ -120150,7 +120155,7 @@ function createWorkerIsolator(opts = {}) {
120150
120155
  if (settled)
120151
120156
  return;
120152
120157
  if (msg.ok) {
120153
- finish(() => resolve12(msg.value));
120158
+ finish(() => resolve13(msg.value));
120154
120159
  } else {
120155
120160
  const e3 = new Error(msg.errorMessage);
120156
120161
  e3.name = msg.errorName;
@@ -120291,7 +120296,7 @@ function createSubprocessIsolator(opts = {}) {
120291
120296
  env: env3,
120292
120297
  stdio: ["pipe", "pipe", "pipe"]
120293
120298
  });
120294
- return new Promise((resolve12, reject) => {
120299
+ return new Promise((resolve13, reject) => {
120295
120300
  let stderr = "";
120296
120301
  let stdoutBuffer = "";
120297
120302
  let settled = false;
@@ -120365,7 +120370,7 @@ function createSubprocessIsolator(opts = {}) {
120365
120370
  return;
120366
120371
  }
120367
120372
  if (msg.ok) {
120368
- finish(() => resolve12(msg.value));
120373
+ finish(() => resolve13(msg.value));
120369
120374
  } else {
120370
120375
  const e3 = new Error(msg.errorMessage);
120371
120376
  e3.name = msg.errorName;
@@ -121674,8 +121679,8 @@ function _addRequestID(value, response) {
121674
121679
  }
121675
121680
  var APIPromise = class _APIPromise extends Promise {
121676
121681
  constructor(responsePromise, parseResponse2 = defaultParseResponse) {
121677
- super((resolve12) => {
121678
- resolve12(null);
121682
+ super((resolve13) => {
121683
+ resolve13(null);
121679
121684
  });
121680
121685
  this.responsePromise = responsePromise;
121681
121686
  this.parseResponse = parseResponse2;
@@ -122267,7 +122272,7 @@ var startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
122267
122272
  var isAbsoluteURL = (url2) => {
122268
122273
  return startsWithSchemeRegexp.test(url2);
122269
122274
  };
122270
- var sleep = (ms) => new Promise((resolve12) => setTimeout(resolve12, ms));
122275
+ var sleep = (ms) => new Promise((resolve13) => setTimeout(resolve13, ms));
122271
122276
  var validatePositiveInteger = (name, n2) => {
122272
122277
  if (typeof n2 !== "number" || !Number.isInteger(n2)) {
122273
122278
  throw new AnthropicError(`${name} must be an integer`);
@@ -122877,12 +122882,12 @@ var BetaMessageStream = class _BetaMessageStream {
122877
122882
  }
122878
122883
  return this._emit("error", new AnthropicError(String(error2)));
122879
122884
  });
122880
- __classPrivateFieldSet7(this, _BetaMessageStream_connectedPromise, new Promise((resolve12, reject) => {
122881
- __classPrivateFieldSet7(this, _BetaMessageStream_resolveConnectedPromise, resolve12, "f");
122885
+ __classPrivateFieldSet7(this, _BetaMessageStream_connectedPromise, new Promise((resolve13, reject) => {
122886
+ __classPrivateFieldSet7(this, _BetaMessageStream_resolveConnectedPromise, resolve13, "f");
122882
122887
  __classPrivateFieldSet7(this, _BetaMessageStream_rejectConnectedPromise, reject, "f");
122883
122888
  }));
122884
- __classPrivateFieldSet7(this, _BetaMessageStream_endPromise, new Promise((resolve12, reject) => {
122885
- __classPrivateFieldSet7(this, _BetaMessageStream_resolveEndPromise, resolve12, "f");
122889
+ __classPrivateFieldSet7(this, _BetaMessageStream_endPromise, new Promise((resolve13, reject) => {
122890
+ __classPrivateFieldSet7(this, _BetaMessageStream_resolveEndPromise, resolve13, "f");
122886
122891
  __classPrivateFieldSet7(this, _BetaMessageStream_rejectEndPromise, reject, "f");
122887
122892
  }));
122888
122893
  __classPrivateFieldGet8(this, _BetaMessageStream_connectedPromise, "f").catch(() => {
@@ -123040,11 +123045,11 @@ var BetaMessageStream = class _BetaMessageStream {
123040
123045
  * const message = await stream.emitted('message') // rejects if the stream errors
123041
123046
  */
123042
123047
  emitted(event) {
123043
- return new Promise((resolve12, reject) => {
123048
+ return new Promise((resolve13, reject) => {
123044
123049
  __classPrivateFieldSet7(this, _BetaMessageStream_catchingPromiseCreated, true);
123045
123050
  if (event !== "error")
123046
123051
  this.once("error", reject);
123047
- this.once(event, resolve12);
123052
+ this.once(event, resolve13);
123048
123053
  });
123049
123054
  }
123050
123055
  async done() {
@@ -123325,7 +123330,7 @@ var BetaMessageStream = class _BetaMessageStream {
123325
123330
  if (done) {
123326
123331
  return { value: void 0, done: true };
123327
123332
  }
123328
- return new Promise((resolve12, reject) => readQueue.push({ resolve: resolve12, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
123333
+ return new Promise((resolve13, reject) => readQueue.push({ resolve: resolve13, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
123329
123334
  }
123330
123335
  const chunk = pushQueue.shift();
123331
123336
  return { value: chunk, done: false };
@@ -123597,12 +123602,12 @@ var MessageStream = class _MessageStream {
123597
123602
  }
123598
123603
  return this._emit("error", new AnthropicError(String(error2)));
123599
123604
  });
123600
- __classPrivateFieldSet8(this, _MessageStream_connectedPromise, new Promise((resolve12, reject) => {
123601
- __classPrivateFieldSet8(this, _MessageStream_resolveConnectedPromise, resolve12, "f");
123605
+ __classPrivateFieldSet8(this, _MessageStream_connectedPromise, new Promise((resolve13, reject) => {
123606
+ __classPrivateFieldSet8(this, _MessageStream_resolveConnectedPromise, resolve13, "f");
123602
123607
  __classPrivateFieldSet8(this, _MessageStream_rejectConnectedPromise, reject, "f");
123603
123608
  }));
123604
- __classPrivateFieldSet8(this, _MessageStream_endPromise, new Promise((resolve12, reject) => {
123605
- __classPrivateFieldSet8(this, _MessageStream_resolveEndPromise, resolve12, "f");
123609
+ __classPrivateFieldSet8(this, _MessageStream_endPromise, new Promise((resolve13, reject) => {
123610
+ __classPrivateFieldSet8(this, _MessageStream_resolveEndPromise, resolve13, "f");
123606
123611
  __classPrivateFieldSet8(this, _MessageStream_rejectEndPromise, reject, "f");
123607
123612
  }));
123608
123613
  __classPrivateFieldGet9(this, _MessageStream_connectedPromise, "f").catch(() => {
@@ -123760,11 +123765,11 @@ var MessageStream = class _MessageStream {
123760
123765
  * const message = await stream.emitted('message') // rejects if the stream errors
123761
123766
  */
123762
123767
  emitted(event) {
123763
- return new Promise((resolve12, reject) => {
123768
+ return new Promise((resolve13, reject) => {
123764
123769
  __classPrivateFieldSet8(this, _MessageStream_catchingPromiseCreated, true);
123765
123770
  if (event !== "error")
123766
123771
  this.once("error", reject);
123767
- this.once(event, resolve12);
123772
+ this.once(event, resolve13);
123768
123773
  });
123769
123774
  }
123770
123775
  async done() {
@@ -124045,7 +124050,7 @@ var MessageStream = class _MessageStream {
124045
124050
  if (done) {
124046
124051
  return { value: void 0, done: true };
124047
124052
  }
124048
- return new Promise((resolve12, reject) => readQueue.push({ resolve: resolve12, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
124053
+ return new Promise((resolve13, reject) => readQueue.push({ resolve: resolve13, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
124049
124054
  }
124050
124055
  const chunk = pushQueue.shift();
124051
124056
  return { value: chunk, done: false };
@@ -125830,8 +125835,8 @@ function _addRequestID2(value, response) {
125830
125835
  }
125831
125836
  var APIPromise2 = class _APIPromise extends Promise {
125832
125837
  constructor(responsePromise, parseResponse2 = defaultParseResponse2) {
125833
- super((resolve12) => {
125834
- resolve12(null);
125838
+ super((resolve13) => {
125839
+ resolve13(null);
125835
125840
  });
125836
125841
  this.responsePromise = responsePromise;
125837
125842
  this.parseResponse = parseResponse2;
@@ -126406,7 +126411,7 @@ var startsWithSchemeRegexp2 = /^[a-z][a-z0-9+.-]*:/i;
126406
126411
  var isAbsoluteURL2 = (url2) => {
126407
126412
  return startsWithSchemeRegexp2.test(url2);
126408
126413
  };
126409
- var sleep2 = (ms) => new Promise((resolve12) => setTimeout(resolve12, ms));
126414
+ var sleep2 = (ms) => new Promise((resolve13) => setTimeout(resolve13, ms));
126410
126415
  var validatePositiveInteger2 = (name, n2) => {
126411
126416
  if (typeof n2 !== "number" || !Number.isInteger(n2)) {
126412
126417
  throw new OpenAIError(`${name} must be an integer`);
@@ -126837,12 +126842,12 @@ var EventStream = class {
126837
126842
  _EventStream_errored.set(this, false);
126838
126843
  _EventStream_aborted.set(this, false);
126839
126844
  _EventStream_catchingPromiseCreated.set(this, false);
126840
- __classPrivateFieldSet11(this, _EventStream_connectedPromise, new Promise((resolve12, reject) => {
126841
- __classPrivateFieldSet11(this, _EventStream_resolveConnectedPromise, resolve12, "f");
126845
+ __classPrivateFieldSet11(this, _EventStream_connectedPromise, new Promise((resolve13, reject) => {
126846
+ __classPrivateFieldSet11(this, _EventStream_resolveConnectedPromise, resolve13, "f");
126842
126847
  __classPrivateFieldSet11(this, _EventStream_rejectConnectedPromise, reject, "f");
126843
126848
  }));
126844
- __classPrivateFieldSet11(this, _EventStream_endPromise, new Promise((resolve12, reject) => {
126845
- __classPrivateFieldSet11(this, _EventStream_resolveEndPromise, resolve12, "f");
126849
+ __classPrivateFieldSet11(this, _EventStream_endPromise, new Promise((resolve13, reject) => {
126850
+ __classPrivateFieldSet11(this, _EventStream_resolveEndPromise, resolve13, "f");
126846
126851
  __classPrivateFieldSet11(this, _EventStream_rejectEndPromise, reject, "f");
126847
126852
  }));
126848
126853
  __classPrivateFieldGet12(this, _EventStream_connectedPromise, "f").catch(() => {
@@ -126926,11 +126931,11 @@ var EventStream = class {
126926
126931
  * const message = await stream.emitted('message') // rejects if the stream errors
126927
126932
  */
126928
126933
  emitted(event) {
126929
- return new Promise((resolve12, reject) => {
126934
+ return new Promise((resolve13, reject) => {
126930
126935
  __classPrivateFieldSet11(this, _EventStream_catchingPromiseCreated, true);
126931
126936
  if (event !== "error")
126932
126937
  this.once("error", reject);
126933
- this.once(event, resolve12);
126938
+ this.once(event, resolve13);
126934
126939
  });
126935
126940
  }
126936
126941
  async done() {
@@ -127081,7 +127086,7 @@ var AssistantStream = class _AssistantStream extends EventStream {
127081
127086
  if (done) {
127082
127087
  return { value: void 0, done: true };
127083
127088
  }
127084
- return new Promise((resolve12, reject) => readQueue.push({ resolve: resolve12, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
127089
+ return new Promise((resolve13, reject) => readQueue.push({ resolve: resolve13, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
127085
127090
  }
127086
127091
  const chunk = pushQueue.shift();
127087
127092
  return { value: chunk, done: false };
@@ -128485,7 +128490,7 @@ var ChatCompletionStream = class _ChatCompletionStream extends AbstractChatCompl
128485
128490
  arguments_delta: toolCallDelta.function?.arguments ?? ""
128486
128491
  });
128487
128492
  } else {
128488
- assertNever3(toolCallSnapshot?.type);
128493
+ assertNever2(toolCallSnapshot?.type);
128489
128494
  }
128490
128495
  }
128491
128496
  }
@@ -128510,7 +128515,7 @@ var ChatCompletionStream = class _ChatCompletionStream extends AbstractChatCompl
128510
128515
  parsed_arguments: isAutoParsableTool(inputTool) ? inputTool.$parseRaw(toolCallSnapshot.function.arguments) : inputTool?.function.strict ? JSON.parse(toolCallSnapshot.function.arguments) : null
128511
128516
  });
128512
128517
  } else {
128513
- assertNever3(toolCallSnapshot.type);
128518
+ assertNever2(toolCallSnapshot.type);
128514
128519
  }
128515
128520
  }, _ChatCompletionStream_emitContentDoneEvents = function _ChatCompletionStream_emitContentDoneEvents2(choiceSnapshot) {
128516
128521
  const state = __classPrivateFieldGet15(this, _ChatCompletionStream_instances, "m", _ChatCompletionStream_getChoiceEventState).call(this, choiceSnapshot);
@@ -128686,7 +128691,7 @@ var ChatCompletionStream = class _ChatCompletionStream extends AbstractChatCompl
128686
128691
  if (done) {
128687
128692
  return { value: void 0, done: true };
128688
128693
  }
128689
- return new Promise((resolve12, reject) => readQueue.push({ resolve: resolve12, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
128694
+ return new Promise((resolve13, reject) => readQueue.push({ resolve: resolve13, reject })).then((chunk2) => chunk2 ? { value: chunk2, done: false } : { value: void 0, done: true });
128690
128695
  }
128691
128696
  const chunk = pushQueue.shift();
128692
128697
  return { value: chunk, done: false };
@@ -128790,7 +128795,7 @@ ${str(snapshot)}`);
128790
128795
  function str(x4) {
128791
128796
  return JSON.stringify(x4);
128792
128797
  }
128793
- function assertNever3(_x) {
128798
+ function assertNever2(_x) {
128794
128799
  }
128795
128800
 
128796
128801
  // ../../node_modules/.pnpm/openai@4.104.0_encoding@0.1.13_ws@8.20.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionStreamingRunner.mjs
@@ -130332,7 +130337,7 @@ var ResponseStream = class _ResponseStream extends EventStream {
130332
130337
  if (done) {
130333
130338
  return { value: void 0, done: true };
130334
130339
  }
130335
- return new Promise((resolve12, reject) => readQueue.push({ resolve: resolve12, reject })).then((event2) => event2 ? { value: event2, done: false } : { value: void 0, done: true });
130340
+ return new Promise((resolve13, reject) => readQueue.push({ resolve: resolve13, reject })).then((event2) => event2 ? { value: event2, done: false } : { value: void 0, done: true });
130336
130341
  }
130337
130342
  const event = pushQueue.shift();
130338
130343
  return { value: event, done: false };
@@ -131310,7 +131315,7 @@ var openaiPlugin = definePlugin({
131310
131315
  init_pkce();
131311
131316
  async function openInBrowser(url2) {
131312
131317
  const { cmd, args, verbatim } = browserOpenCommand(url2);
131313
- await new Promise((resolve12, reject) => {
131318
+ await new Promise((resolve13, reject) => {
131314
131319
  const child = spawn(cmd, args, {
131315
131320
  stdio: "ignore",
131316
131321
  detached: true,
@@ -131320,7 +131325,7 @@ async function openInBrowser(url2) {
131320
131325
  });
131321
131326
  child.once("error", reject);
131322
131327
  child.unref();
131323
- setTimeout(resolve12, 50);
131328
+ setTimeout(resolve13, 50);
131324
131329
  });
131325
131330
  }
131326
131331
  function browserOpenCommand(url2, platform2 = process.platform) {
@@ -131336,7 +131341,7 @@ function browserOpenCommand(url2, platform2 = process.platform) {
131336
131341
  return { cmd: "xdg-open", args: [url2] };
131337
131342
  }
131338
131343
  function waitForCallback(opts) {
131339
- return new Promise((resolve12, reject) => {
131344
+ return new Promise((resolve13, reject) => {
131340
131345
  const servers = [];
131341
131346
  let settled = false;
131342
131347
  const settle = (fn) => {
@@ -131410,7 +131415,7 @@ function waitForCallback(opts) {
131410
131415
  }
131411
131416
  res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
131412
131417
  res.end(htmlPage("Authorized", "You can close this window \u2014 moxxy received the token."));
131413
- settle(() => resolve12(code));
131418
+ settle(() => resolve13(code));
131414
131419
  };
131415
131420
  const onFatalError = (e3) => {
131416
131421
  if (e3.code === "EADDRINUSE") {
@@ -131611,10 +131616,10 @@ function abortedError(label3) {
131611
131616
  });
131612
131617
  }
131613
131618
  function sleep3(ms, signal, label3) {
131614
- return new Promise((resolve12, reject) => {
131619
+ return new Promise((resolve13, reject) => {
131615
131620
  if (signal?.aborted)
131616
131621
  return reject(abortedError(label3));
131617
- const t2 = setTimeout(resolve12, ms);
131622
+ const t2 = setTimeout(resolve13, ms);
131618
131623
  const onAbort = () => {
131619
131624
  clearTimeout(t2);
131620
131625
  reject(abortedError(label3));
@@ -131922,7 +131927,7 @@ async function acquireFileLock(lockPath, staleMs, pollMs, waitMs) {
131922
131927
  }
131923
131928
  }
131924
131929
  function sleep4(ms) {
131925
- return new Promise((resolve12) => setTimeout(resolve12, ms));
131930
+ return new Promise((resolve13) => setTimeout(resolve13, ms));
131926
131931
  }
131927
131932
  async function refreshAndStore(vault, spec, stored, retried = false) {
131928
131933
  if (!stored.tokenSet.refreshToken) {
@@ -133237,7 +133242,7 @@ async function refreshClaudeUnderLock(vault, baseline) {
133237
133242
  }
133238
133243
  var fetchImpl = fetch;
133239
133244
  var openBrowserImpl = openInBrowser;
133240
- var sleepImpl = (ms) => new Promise((resolve12) => setTimeout(resolve12, ms));
133245
+ var sleepImpl = (ms) => new Promise((resolve13) => setTimeout(resolve13, ms));
133241
133246
  var TOKEN_POST_MAX_ATTEMPTS = 3;
133242
133247
  var TOKEN_POST_BACKOFF_MS = [600, 1800];
133243
133248
  async function exchangeClaudeCode(code, state, verifier) {
@@ -133926,7 +133931,7 @@ var bashTool = defineTool({
133926
133931
  if (ctx.signal.aborted) {
133927
133932
  throw new MoxxyError({ code: "ABORTED", message: `Bash aborted before start: ${command}` });
133928
133933
  }
133929
- return await new Promise((resolve12, reject) => {
133934
+ return await new Promise((resolve13, reject) => {
133930
133935
  const child = spawn("/bin/sh", ["-lc", command], {
133931
133936
  cwd: cwd2 ?? ctx.cwd,
133932
133937
  env: env3 ? { ...process.env, ...env3 } : process.env,
@@ -133979,9 +133984,9 @@ ${err.text.trimEnd()}
133979
133984
  ` : "") + `[exit ${code ?? "null"}]`;
133980
133985
  const dropped = out.dropped + err.dropped;
133981
133986
  if (dropped === 0) {
133982
- resolve12(clampString(combined, OUTPUT_LIMIT));
133987
+ resolve13(clampString(combined, OUTPUT_LIMIT));
133983
133988
  } else {
133984
- resolve12(combined.slice(0, OUTPUT_LIMIT) + `
133989
+ resolve13(combined.slice(0, OUTPUT_LIMIT) + `
133985
133990
  ... [truncated ${combined.length + dropped - OUTPUT_LIMIT} chars]`);
133986
133991
  }
133987
133992
  });
@@ -134296,8 +134301,8 @@ async function* walk(root, regex2, cursor, signal, visited) {
134296
134301
  yield* walk(root, regex2, full, signal, visited);
134297
134302
  }
134298
134303
  if (isFile2) {
134299
- const relative5 = path3.relative(root, full);
134300
- if (regex2.test(relative5))
134304
+ const relative6 = path3.relative(root, full);
134305
+ if (regex2.test(relative6))
134301
134306
  yield full;
134302
134307
  }
134303
134308
  }
@@ -134580,10 +134585,10 @@ var sleepTool = defineTool({
134580
134585
  if (ctx.signal.aborted) {
134581
134586
  throw new MoxxyError({ code: "ABORTED", message: "Sleep aborted before start" });
134582
134587
  }
134583
- await new Promise((resolve12, reject) => {
134588
+ await new Promise((resolve13, reject) => {
134584
134589
  const timer = setTimeout(() => {
134585
134590
  ctx.signal.removeEventListener("abort", onAbort);
134586
- resolve12();
134591
+ resolve13();
134587
134592
  }, totalMs);
134588
134593
  const onAbort = () => {
134589
134594
  clearTimeout(timer);
@@ -134656,16 +134661,16 @@ function retryBackoffMs(attempt) {
134656
134661
  const cap = 3e4;
134657
134662
  return Math.min(cap, base2 * 2 ** Math.max(0, attempt - 1));
134658
134663
  }
134659
- var sleepImpl2 = (ms, signal) => new Promise((resolve12) => {
134664
+ var sleepImpl2 = (ms, signal) => new Promise((resolve13) => {
134660
134665
  if (signal.aborted)
134661
- return resolve12();
134666
+ return resolve13();
134662
134667
  const timer = setTimeout(() => {
134663
134668
  signal.removeEventListener("abort", onAbort);
134664
- resolve12();
134669
+ resolve13();
134665
134670
  }, ms);
134666
134671
  const onAbort = () => {
134667
134672
  clearTimeout(timer);
134668
- resolve12();
134673
+ resolve13();
134669
134674
  };
134670
134675
  signal.addEventListener("abort", onAbort, { once: true });
134671
134676
  });
@@ -135974,8 +135979,8 @@ var JsonRpcPeer = class {
135974
135979
  if (this.closed)
135975
135980
  return Promise.reject(new RpcError("rpc peer is closed"));
135976
135981
  const id = this.nextId++;
135977
- return new Promise((resolve12, reject) => {
135978
- this.pending.set(id, { resolve: resolve12, reject });
135982
+ return new Promise((resolve13, reject) => {
135983
+ this.pending.set(id, { resolve: resolve13, reject });
135979
135984
  const frame = { id, method, ...params !== void 0 ? { params } : {} };
135980
135985
  this.transport.send(frame);
135981
135986
  });
@@ -136067,11 +136072,11 @@ function runnerSocketPath() {
136067
136072
  return platformSocket("serve", path3__default.join(os5__default.homedir(), ".moxxy", "serve.sock"));
136068
136073
  }
136069
136074
  function isRunnerUp(socketPath = runnerSocketPath()) {
136070
- return new Promise((resolve12) => {
136075
+ return new Promise((resolve13) => {
136071
136076
  const socket = net2.connect(socketPath);
136072
136077
  const finish = (up) => {
136073
136078
  socket.destroy();
136074
- resolve12(up);
136079
+ resolve13(up);
136075
136080
  };
136076
136081
  socket.once("connect", () => finish(true));
136077
136082
  socket.once("error", () => finish(false));
@@ -136153,11 +136158,11 @@ async function createUnixSocketServer(socketPath, logger = stderrLogger) {
136153
136158
  const transport = new NdjsonTransport(socket);
136154
136159
  connectionHandler?.(transport);
136155
136160
  });
136156
- await new Promise((resolve12, reject) => {
136161
+ await new Promise((resolve13, reject) => {
136157
136162
  server.once("error", reject);
136158
136163
  server.listen(socketPath, () => {
136159
136164
  server.removeListener("error", reject);
136160
- resolve12();
136165
+ resolve13();
136161
136166
  });
136162
136167
  });
136163
136168
  if (process.platform !== "win32") {
@@ -136176,7 +136181,7 @@ async function createUnixSocketServer(socketPath, logger = stderrLogger) {
136176
136181
  connectionHandler = handler;
136177
136182
  },
136178
136183
  close() {
136179
- return new Promise((resolve12) => {
136184
+ return new Promise((resolve13) => {
136180
136185
  server.close(() => {
136181
136186
  if (process.platform !== "win32") {
136182
136187
  try {
@@ -136184,7 +136189,7 @@ async function createUnixSocketServer(socketPath, logger = stderrLogger) {
136184
136189
  } catch {
136185
136190
  }
136186
136191
  }
136187
- resolve12();
136192
+ resolve13();
136188
136193
  });
136189
136194
  });
136190
136195
  }
@@ -136193,7 +136198,7 @@ async function createUnixSocketServer(socketPath, logger = stderrLogger) {
136193
136198
  var DEFAULT_CONNECT_TIMEOUT_MS = 1e4;
136194
136199
  function connectUnixSocket(socketPath, opts = {}) {
136195
136200
  const timeoutMs = opts.timeoutMs ?? DEFAULT_CONNECT_TIMEOUT_MS;
136196
- return new Promise((resolve12, reject) => {
136201
+ return new Promise((resolve13, reject) => {
136197
136202
  const socket = net2.connect(socketPath);
136198
136203
  let settled = false;
136199
136204
  const timer = setTimeout(() => {
@@ -136218,7 +136223,7 @@ function connectUnixSocket(socketPath, opts = {}) {
136218
136223
  settled = true;
136219
136224
  clearTimeout(timer);
136220
136225
  socket.removeListener("error", onError2);
136221
- resolve12(new NdjsonTransport(socket));
136226
+ resolve13(new NdjsonTransport(socket));
136222
136227
  });
136223
136228
  });
136224
136229
  }
@@ -136261,7 +136266,7 @@ async function reclaimStaleSocket(socketPath) {
136261
136266
 
136262
136267
  // ../runner/dist/server.js
136263
136268
  init_dist();
136264
- var RUNNER_PROTOCOL_VERSION = 8;
136269
+ var RUNNER_PROTOCOL_VERSION = 9;
136265
136270
  var MIN_COMPATIBLE_PROTOCOL_VERSION = 1;
136266
136271
  var RunnerMethod = {
136267
136272
  /** client->server: handshake; returns the initial info snapshot. */
@@ -136284,6 +136289,8 @@ var RunnerMethod = {
136284
136289
  SetResolver: "setResolver",
136285
136290
  /** client->server: switch the active mode. */
136286
136291
  ModeSetActive: "mode.setActive",
136292
+ /** client->server: set the session's reasoning/thinking effort (v9). */
136293
+ SessionSetReasoning: "session.setReasoning",
136287
136294
  /** client->server: switch the active provider (server resolves credentials). */
136288
136295
  ProviderSetActive: "provider.setActive",
136289
136296
  /** client->server: enable/disable a provider (v7; persists to preferences). */
@@ -136400,6 +136407,9 @@ var setResolverParamsSchema = z.object({
136400
136407
  approval: z.boolean().optional()
136401
136408
  });
136402
136409
  var modeSetActiveParamsSchema = z.object({ name: z.string() });
136410
+ var sessionSetReasoningParamsSchema = z.object({
136411
+ effort: z.enum(["off", "low", "medium", "high"])
136412
+ });
136403
136413
  var providerSetActiveParamsSchema = z.object({
136404
136414
  name: z.string(),
136405
136415
  config: z.record(z.unknown()).optional()
@@ -136729,6 +136739,12 @@ function handleModeSetActive(ctx, raw) {
136729
136739
  ctx.session.modes.setActive(name);
136730
136740
  return {};
136731
136741
  }
136742
+ function handleSessionSetReasoning(ctx, raw) {
136743
+ const { effort } = sessionSetReasoningParamsSchema.parse(raw);
136744
+ ctx.session.reasoning = effort === "off" ? void 0 : { effort };
136745
+ ctx.broadcastInfo();
136746
+ return {};
136747
+ }
136732
136748
  async function handlePermissionAddAllow(ctx, raw) {
136733
136749
  const { name, reason } = permissionAddAllowParamsSchema.parse(raw);
136734
136750
  await ctx.session.permissions.addAllow({ name, ...reason ? { reason } : {} });
@@ -136849,6 +136865,7 @@ var RunnerServer = class {
136849
136865
  peer.handle(RunnerMethod.SessionReset, () => this.handleSessionReset());
136850
136866
  peer.handle(RunnerMethod.SetResolver, (raw) => this.handleSetResolver(client, raw));
136851
136867
  peer.handle(RunnerMethod.ModeSetActive, (raw) => handleModeSetActive(ctx, raw));
136868
+ peer.handle(RunnerMethod.SessionSetReasoning, (raw) => handleSessionSetReasoning(ctx, raw));
136852
136869
  peer.handle(RunnerMethod.ProviderSetActive, (raw) => handleProviderSetActive(ctx, raw));
136853
136870
  peer.handle(RunnerMethod.ProviderSetEnabled, (raw) => handleProviderSetEnabled(ctx, raw));
136854
136871
  peer.handle(RunnerMethod.ProviderRefreshReady, () => handleProviderRefreshReady(ctx));
@@ -137285,6 +137302,10 @@ function makeProviderAdminView(ctx) {
137285
137302
  configure: async (name, patch) => {
137286
137303
  requireServerProtocol(7, "Configuring a provider");
137287
137304
  await peer.request(RunnerMethod.ProviderConfigure, { name, patch });
137305
+ },
137306
+ setReasoning: async (effort) => {
137307
+ requireServerProtocol(9, "Setting reasoning effort");
137308
+ await peer.request(RunnerMethod.SessionSetReasoning, { effort });
137288
137309
  }
137289
137310
  };
137290
137311
  }
@@ -137367,7 +137388,7 @@ var TurnStream = class {
137367
137388
  yield this.queue.shift();
137368
137389
  if (this.done)
137369
137390
  break;
137370
- await new Promise((resolve12) => this.waiters.push(resolve12));
137391
+ await new Promise((resolve13) => this.waiters.push(resolve13));
137371
137392
  }
137372
137393
  if (this.error)
137373
137394
  throw new Error(this.error);
@@ -137757,7 +137778,7 @@ async function isMoxxyProcess(pid) {
137757
137778
  }
137758
137779
  async function pidCommand(pid) {
137759
137780
  const { spawn: spawn17 } = await import('child_process');
137760
- return await new Promise((resolve12) => {
137781
+ return await new Promise((resolve13) => {
137761
137782
  let out = "";
137762
137783
  try {
137763
137784
  const child = spawn17("ps", ["-p", String(pid), "-o", "command="], {
@@ -137766,10 +137787,10 @@ async function pidCommand(pid) {
137766
137787
  child.stdout.on("data", (b3) => {
137767
137788
  out += b3.toString();
137768
137789
  });
137769
- child.on("error", () => resolve12(""));
137770
- child.on("close", () => resolve12(out.trim()));
137790
+ child.on("error", () => resolve13(""));
137791
+ child.on("close", () => resolve13(out.trim()));
137771
137792
  } catch {
137772
- resolve12("");
137793
+ resolve13("");
137773
137794
  }
137774
137795
  });
137775
137796
  }
@@ -137799,7 +137820,7 @@ async function pidsListeningOnPort(port) {
137799
137820
  }
137800
137821
  async function runLsof(args) {
137801
137822
  const { spawn: spawn17 } = await import('child_process');
137802
- return await new Promise((resolve12) => {
137823
+ return await new Promise((resolve13) => {
137803
137824
  let out = "";
137804
137825
  try {
137805
137826
  const child = spawn17("lsof", [...args], {
@@ -137808,10 +137829,10 @@ async function runLsof(args) {
137808
137829
  child.stdout.on("data", (b3) => {
137809
137830
  out += b3.toString();
137810
137831
  });
137811
- child.on("error", () => resolve12([]));
137812
- child.on("close", () => resolve12(parsePids(out)));
137832
+ child.on("error", () => resolve13([]));
137833
+ child.on("close", () => resolve13(parsePids(out)));
137813
137834
  } catch {
137814
- resolve12([]);
137835
+ resolve13([]);
137815
137836
  }
137816
137837
  });
137817
137838
  }
@@ -138397,6 +138418,8 @@ var CollaborationState = class {
138397
138418
  return;
138398
138419
  agent.status = status;
138399
138420
  this.emitFn({ kind: "agent_status", agentId, status, ...detail ? { detail } : {} });
138421
+ if (status === "crashed" || status === "killed")
138422
+ this.releaseAllFor(agentId);
138400
138423
  }
138401
138424
  markDone(agentId, summary, artifacts) {
138402
138425
  const agent = this.agents.get(agentId);
@@ -138523,6 +138546,9 @@ var CollaborationState = class {
138523
138546
  if (owner)
138524
138547
  return { ok: false, ownedBy: owner, paths };
138525
138548
  let item = id ? this.board.get(id) : void 0;
138549
+ if (item && item.owner && item.owner !== by) {
138550
+ return { ok: false, ownedBy: item.owner, paths };
138551
+ }
138526
138552
  if (!item) {
138527
138553
  item = {
138528
138554
  id: id ?? `t${++this.boardSeq}`,
@@ -138546,7 +138572,7 @@ var CollaborationState = class {
138546
138572
  return { ok: true, item: { ...item } };
138547
138573
  }
138548
138574
  boardRelease(by, opts) {
138549
- const targets = opts.id ? [this.board.get(opts.id)].filter(Boolean) : this.boardOrder.map((id) => this.board.get(id)).filter((it4) => it4.owner === by && it4.paths && opts.paths?.some((p3) => it4.paths.some((q3) => pathsConflict(p3, q3))));
138575
+ const targets = opts.id ? [this.board.get(opts.id)].filter((it4) => it4 !== void 0 && it4.owner === by) : this.boardOrder.map((id) => this.board.get(id)).filter((it4) => it4.owner === by && it4.paths && opts.paths?.some((p3) => it4.paths.some((q3) => pathsConflict(p3, q3))));
138550
138576
  for (const item of targets) {
138551
138577
  delete item.owner;
138552
138578
  item.updatedBy = by;
@@ -138554,6 +138580,21 @@ var CollaborationState = class {
138554
138580
  this.emitFn({ kind: "board", action: "release", item: { ...item } });
138555
138581
  }
138556
138582
  }
138583
+ /** Drop every exclusive lease an agent holds (e.g. when it crashed/was
138584
+ * killed), emitting a release event per item so peers + the UI stay in sync.
138585
+ * Without this a dead owner would hold its file locks forever, deadlocking
138586
+ * any survivor that needs those paths. */
138587
+ releaseAllFor(agentId) {
138588
+ for (const id of this.boardOrder) {
138589
+ const item = this.board.get(id);
138590
+ if (item.owner !== agentId)
138591
+ continue;
138592
+ delete item.owner;
138593
+ item.updatedBy = agentId;
138594
+ item.updatedAt = this.now();
138595
+ this.emitFn({ kind: "board", action: "release", item: { ...item } });
138596
+ }
138597
+ }
138557
138598
  // --- contracts ------------------------------------------------------------
138558
138599
  contractList() {
138559
138600
  return this.contractOrder.map((id) => ({ ...this.contracts.get(id) }));
@@ -138821,10 +138862,10 @@ function stripUndefined(obj) {
138821
138862
  }
138822
138863
  var IDENTITY = ["-c", "user.name=moxxy-collab", "-c", "user.email=collab@moxxy.local"];
138823
138864
  function git(cwd2, args) {
138824
- return new Promise((resolve12) => {
138865
+ return new Promise((resolve13) => {
138825
138866
  execFile("git", args, { cwd: cwd2, maxBuffer: 64 * 1024 * 1024 }, (err, stdout, stderr) => {
138826
138867
  const code = err && typeof err.code === "number" ? err.code : err ? 1 : 0;
138827
- resolve12({ code, stdout: stdout.toString(), stderr: stderr.toString() });
138868
+ resolve13({ code, stdout: stdout.toString(), stderr: stderr.toString() });
138828
138869
  });
138829
138870
  });
138830
138871
  }
@@ -138916,6 +138957,15 @@ async function promoteStaging(repoCwd, stagingBranchName) {
138916
138957
  async function deleteBranch(repoCwd, name) {
138917
138958
  await git(repoCwd, ["branch", "-D", name]);
138918
138959
  }
138960
+ function resolveWithin(baseDir, requested) {
138961
+ const base2 = resolve(baseDir);
138962
+ const target = resolve(base2, requested);
138963
+ const rel = relative(base2, target);
138964
+ if (rel === "" || rel === "." || !rel.startsWith("..") && !isAbsolute(rel)) {
138965
+ return target;
138966
+ }
138967
+ throw new Error("path escapes the worktree");
138968
+ }
138919
138969
  function peerReaderFor(worktrees, baseSha) {
138920
138970
  const dirFor = (agentId) => {
138921
138971
  const dir = worktrees.get(agentId);
@@ -138929,10 +138979,7 @@ function peerReaderFor(worktrees, baseSha) {
138929
138979
  },
138930
138980
  async read(agentId, path62) {
138931
138981
  const dir = dirFor(agentId);
138932
- const resolved = join(dir, path62);
138933
- if (!resolved.startsWith(dir))
138934
- throw new Error("path escapes the worktree");
138935
- return readFile(resolved, "utf8");
138982
+ return readFile(resolveWithin(dir, path62), "utf8");
138936
138983
  },
138937
138984
  async diff(agentId) {
138938
138985
  return diffVsBase(dirFor(agentId), baseSha);
@@ -139017,8 +139064,8 @@ var PeerSupervisor = class {
139017
139064
  }
139018
139065
  if (live.length === 0)
139019
139066
  return;
139020
- await new Promise((resolve12) => {
139021
- const timer = setTimeout(resolve12, FORCE_KILL_GRACE_MS);
139067
+ await new Promise((resolve13) => {
139068
+ const timer = setTimeout(resolve13, FORCE_KILL_GRACE_MS);
139022
139069
  timer.unref?.();
139023
139070
  });
139024
139071
  for (const p3 of this.peers.values()) {
@@ -139381,15 +139428,19 @@ async function waitForAgents(hub, ids, signal, timeoutMs) {
139381
139428
  }
139382
139429
  }
139383
139430
  function sleep5(ms, signal) {
139384
- return new Promise((resolve12) => {
139431
+ return new Promise((resolve13) => {
139385
139432
  if (signal.aborted)
139386
- return resolve12();
139387
- const t2 = setTimeout(resolve12, ms);
139388
- t2.unref?.();
139389
- signal.addEventListener("abort", () => {
139433
+ return resolve13();
139434
+ const onAbort = () => {
139390
139435
  clearTimeout(t2);
139391
- resolve12();
139392
- }, { once: true });
139436
+ resolve13();
139437
+ };
139438
+ const t2 = setTimeout(() => {
139439
+ signal.removeEventListener("abort", onAbort);
139440
+ resolve13();
139441
+ }, ms);
139442
+ t2.unref?.();
139443
+ signal.addEventListener("abort", onAbort, { once: true });
139393
139444
  });
139394
139445
  }
139395
139446
  function toCollabEvent(ctx, e3) {
@@ -139691,14 +139742,19 @@ function formatInboxNudge(messages) {
139691
139742
  return lines.join("\n");
139692
139743
  }
139693
139744
  function sleep6(ms, signal) {
139694
- return new Promise((resolve12) => {
139745
+ return new Promise((resolve13) => {
139695
139746
  if (signal.aborted)
139696
- return resolve12();
139697
- const t2 = setTimeout(resolve12, ms);
139698
- signal.addEventListener("abort", () => {
139747
+ return resolve13();
139748
+ const onAbort = () => {
139699
139749
  clearTimeout(t2);
139700
- resolve12();
139701
- }, { once: true });
139750
+ resolve13();
139751
+ };
139752
+ const t2 = setTimeout(() => {
139753
+ signal.removeEventListener("abort", onAbort);
139754
+ resolve13();
139755
+ }, ms);
139756
+ t2.unref?.();
139757
+ signal.addEventListener("abort", onAbort, { once: true });
139702
139758
  });
139703
139759
  }
139704
139760
  function abort(ctx, reason) {
@@ -139977,11 +140033,11 @@ var TelegramPermissionResolver = class {
139977
140033
  if (!this.deciderFn) {
139978
140034
  return { mode: "deny", reason: "no decider attached (bot not running)" };
139979
140035
  }
139980
- const decision = await new Promise((resolve12) => {
139981
- this.pending.set(call.callId, { callId: call.callId, call, ctx, resolve: resolve12 });
140036
+ const decision = await new Promise((resolve13) => {
140037
+ this.pending.set(call.callId, { callId: call.callId, call, ctx, resolve: resolve13 });
139982
140038
  this.deciderFn(call, ctx).catch((err) => {
139983
140039
  this.pending.delete(call.callId);
139984
- resolve12({ mode: "deny", reason: err instanceof Error ? err.message : String(err) });
140040
+ resolve13({ mode: "deny", reason: err instanceof Error ? err.message : String(err) });
139985
140041
  });
139986
140042
  });
139987
140043
  if (decision.mode === "allow_session")
@@ -140019,11 +140075,11 @@ var TelegramApprovalResolver = class {
140019
140075
  return { optionId: request.defaultOptionId ?? request.options[0]?.id ?? "approve" };
140020
140076
  }
140021
140077
  const id = `appr_${this.nextId++}`;
140022
- return new Promise((resolve12) => {
140023
- this.pending.set(id, { id, request, resolve: resolve12 });
140078
+ return new Promise((resolve13) => {
140079
+ this.pending.set(id, { id, request, resolve: resolve13 });
140024
140080
  this.deciderFn(id, request).catch((err) => {
140025
140081
  this.pending.delete(id);
140026
- resolve12({
140082
+ resolve13({
140027
140083
  optionId: request.defaultOptionId ?? request.options[0]?.id ?? "cancel",
140028
140084
  text: `decider failed: ${err instanceof Error ? err.message : String(err)}`
140029
140085
  });
@@ -142591,8 +142647,8 @@ async function runPairFlow(ctx) {
142591
142647
  });
142592
142648
  session.setPermissionResolver(channel.permissionResolver);
142593
142649
  let issuedResolve = null;
142594
- const issued = new Promise((resolve12) => {
142595
- issuedResolve = resolve12;
142650
+ const issued = new Promise((resolve13) => {
142651
+ issuedResolve = resolve13;
142596
142652
  });
142597
142653
  const unsubscribe = channel.onPairingIssued((e3) => {
142598
142654
  issuedResolve?.(e3);
@@ -143184,11 +143240,11 @@ var HttpChannel = class {
143184
143240
  this.server = server;
143185
143241
  let rejectRunning;
143186
143242
  let resolveRunning;
143187
- const running = new Promise((resolve12, reject) => {
143188
- resolveRunning = resolve12;
143243
+ const running = new Promise((resolve13, reject) => {
143244
+ resolveRunning = resolve13;
143189
143245
  rejectRunning = reject;
143190
143246
  });
143191
- const listening = new Promise((resolve12, reject) => {
143247
+ const listening = new Promise((resolve13, reject) => {
143192
143248
  const onListenError = (err) => reject(err);
143193
143249
  server.once("error", onListenError);
143194
143250
  server.listen(this.port, this.host, () => {
@@ -143204,7 +143260,7 @@ var HttpChannel = class {
143204
143260
  port: this.boundPortValue,
143205
143261
  authEnabled: this.authToken !== null
143206
143262
  });
143207
- resolve12();
143263
+ resolve13();
143208
143264
  });
143209
143265
  });
143210
143266
  await listening;
@@ -143213,10 +143269,10 @@ var HttpChannel = class {
143213
143269
  running,
143214
143270
  stop: async () => {
143215
143271
  const srv = this.server;
143216
- await new Promise((resolve12) => {
143272
+ await new Promise((resolve13) => {
143217
143273
  if (!srv)
143218
- return resolve12();
143219
- srv.close(() => resolve12());
143274
+ return resolve13();
143275
+ srv.close(() => resolve13());
143220
143276
  });
143221
143277
  if (this.server === srv) {
143222
143278
  this.server = null;
@@ -143363,17 +143419,17 @@ function isAddrInUse(err) {
143363
143419
  }
143364
143420
  async function captureStdout(cmd, args) {
143365
143421
  const { spawn: spawn17 } = await import('child_process');
143366
- return await new Promise((resolve12) => {
143422
+ return await new Promise((resolve13) => {
143367
143423
  let out = "";
143368
143424
  try {
143369
143425
  const child = spawn17(cmd, [...args], { stdio: ["ignore", "pipe", "ignore"] });
143370
143426
  child.stdout.on("data", (b3) => {
143371
143427
  out += b3.toString();
143372
143428
  });
143373
- child.on("error", () => resolve12(""));
143374
- child.on("close", () => resolve12(out));
143429
+ child.on("error", () => resolve13(""));
143430
+ child.on("close", () => resolve13(out));
143375
143431
  } catch {
143376
- resolve12("");
143432
+ resolve13("");
143377
143433
  }
143378
143434
  });
143379
143435
  }
@@ -143518,7 +143574,7 @@ var WebChannel = class {
143518
143574
  await this.openTunnel();
143519
143575
  this.publishSurface?.({ url: this.shareUrl, nextViewId: () => `v_srv_${++this.viewSeq}` });
143520
143576
  this.publishControls?.({ retunnel: () => this.retunnel() });
143521
- const running = new Promise((resolve12) => server.once("close", () => resolve12()));
143577
+ const running = new Promise((resolve13) => server.once("close", () => resolve13()));
143522
143578
  return { running, stop: () => this.stop() };
143523
143579
  }
143524
143580
  /**
@@ -143531,7 +143587,7 @@ var WebChannel = class {
143531
143587
  * surface actually got (the share URL embeds the real port either way).
143532
143588
  */
143533
143589
  async bindServerWithRetry(server) {
143534
- const tryListen = () => new Promise((resolve12, reject) => {
143590
+ const tryListen = () => new Promise((resolve13, reject) => {
143535
143591
  const onError2 = (err) => {
143536
143592
  server.off("listening", onListening);
143537
143593
  reject(err);
@@ -143542,7 +143598,7 @@ var WebChannel = class {
143542
143598
  if (addr && typeof addr === "object")
143543
143599
  this.port = addr.port;
143544
143600
  this.logger?.info?.("web channel listening", { url: this.url });
143545
- resolve12();
143601
+ resolve13();
143546
143602
  };
143547
143603
  server.once("error", onError2);
143548
143604
  server.once("listening", onListening);
@@ -143623,8 +143679,8 @@ var WebChannel = class {
143623
143679
  }
143624
143680
  }
143625
143681
  this.clients.clear();
143626
- await new Promise((resolve12) => this.wss ? this.wss.close(() => resolve12()) : resolve12());
143627
- await new Promise((resolve12) => this.server ? this.server.close(() => resolve12()) : resolve12());
143682
+ await new Promise((resolve13) => this.wss ? this.wss.close(() => resolve13()) : resolve13());
143683
+ await new Promise((resolve13) => this.server ? this.server.close(() => resolve13()) : resolve13());
143628
143684
  }
143629
143685
  validToken(reqUrl) {
143630
143686
  try {
@@ -144030,9 +144086,9 @@ async function createWebSocketTransportServer(opts) {
144030
144086
  for (const handler of connectionHandlers)
144031
144087
  handler(transport);
144032
144088
  });
144033
- await new Promise((resolve12, reject) => {
144089
+ await new Promise((resolve13, reject) => {
144034
144090
  wss.once("error", reject);
144035
- wss.once("listening", resolve12);
144091
+ wss.once("listening", resolve13);
144036
144092
  });
144037
144093
  const bound = wss.address();
144038
144094
  const boundPort = typeof bound === "object" && bound !== null ? bound.port : opts.port;
@@ -144053,10 +144109,10 @@ async function createWebSocketTransportServer(opts) {
144053
144109
  return connections;
144054
144110
  },
144055
144111
  close() {
144056
- return new Promise((resolve12) => {
144112
+ return new Promise((resolve13) => {
144057
144113
  for (const client of wss.clients)
144058
144114
  client.terminate();
144059
- wss.close(() => resolve12());
144115
+ wss.close(() => resolve13());
144060
144116
  });
144061
144117
  }
144062
144118
  };
@@ -144235,7 +144291,18 @@ var ipcInputSchemas = {
144235
144291
  workspaceId: z.string().min(1).max(256),
144236
144292
  path: z.string().max(4096).optional()
144237
144293
  }),
144294
+ "workspace.readFile": z.object({
144295
+ workspaceId: z.string().min(1).max(256),
144296
+ path: z.string().min(1).max(4096),
144297
+ force: z.boolean().optional()
144298
+ }),
144238
144299
  "settings.fetchProviderModels": z.object({ provider: providerName }),
144300
+ // Session config mutation — pin the effort to the known enum so a renderer
144301
+ // can't push an arbitrary string through to the runner / provider request.
144302
+ "settings.setReasoning": z.object({
144303
+ workspaceId: optionalWorkspace,
144304
+ effort: z.enum(["off", "low", "medium", "high"])
144305
+ }),
144239
144306
  "settings.writeSkill": z.object({ name: skillName, body: z.string().max(1e6) }),
144240
144307
  "settings.readSkill": z.object({ name: skillName }),
144241
144308
  "settings.deleteSkill": z.object({ name: skillName }),
@@ -144249,6 +144316,13 @@ var ipcInputSchemas = {
144249
144316
  // takes nothing — pin it to "nothing" so no args can be smuggled across.
144250
144317
  "anonymizer.pickDocument": z.undefined(),
144251
144318
  "anonymizer.parseDocument": z.object({ path: z.string().min(1).max(4096) }),
144319
+ // A drag-dropped doc: the renderer sends the dropped file's BYTES (base64),
144320
+ // not a path — so there's no arbitrary-file-read to gate, only a size to cap.
144321
+ // ~67 MB of base64 ≈ 50 MB of file, matching the picker's practical ceiling.
144322
+ "anonymizer.parseDocumentBytes": z.object({
144323
+ name: z.string().min(1).max(255),
144324
+ dataBase64: z.string().min(1).max(67e6)
144325
+ }),
144252
144326
  "anonymizer.saveRedacted": z.object({
144253
144327
  suggestedName: z.string().min(1).max(255),
144254
144328
  content: z.string().max(2e7)
@@ -144584,8 +144658,8 @@ var MobileSessionHost = class {
144584
144658
  for (const controller of this.turns.values())
144585
144659
  controller.abort();
144586
144660
  this.turns.clear();
144587
- for (const resolve12 of this.pendingAsks.values())
144588
- resolve12({ mode: "deny" });
144661
+ for (const resolve13 of this.pendingAsks.values())
144662
+ resolve13({ mode: "deny" });
144589
144663
  this.pendingAsks.clear();
144590
144664
  this.session.setApprovalResolver(null);
144591
144665
  }
@@ -144637,17 +144711,17 @@ var MobileSessionHost = class {
144637
144711
  if (this.disposed)
144638
144712
  return Promise.resolve({ mode: "deny" });
144639
144713
  const requestId = `ask-${++this.askCounter}`;
144640
- return new Promise((resolve12) => {
144641
- this.pendingAsks.set(requestId, resolve12);
144714
+ return new Promise((resolve13) => {
144715
+ this.pendingAsks.set(requestId, resolve13);
144642
144716
  this.bus.broadcast("ask.request", { ...req, requestId });
144643
144717
  });
144644
144718
  }
144645
144719
  answerAsk(requestId, response) {
144646
- const resolve12 = this.pendingAsks.get(requestId);
144647
- if (!resolve12)
144720
+ const resolve13 = this.pendingAsks.get(requestId);
144721
+ if (!resolve13)
144648
144722
  return;
144649
144723
  this.pendingAsks.delete(requestId);
144650
- resolve12(response);
144724
+ resolve13(response);
144651
144725
  }
144652
144726
  };
144653
144727
  var TOKEN_FILE = "mobile-token";
@@ -144871,8 +144945,8 @@ var MobileChannel = class {
144871
144945
  throw err;
144872
144946
  }
144873
144947
  let resolveRunning;
144874
- const running = new Promise((resolve12) => {
144875
- resolveRunning = resolve12;
144948
+ const running = new Promise((resolve13) => {
144949
+ resolveRunning = resolve13;
144876
144950
  });
144877
144951
  return {
144878
144952
  running,
@@ -145435,7 +145509,7 @@ ${tail}` : " (no stderr captured)")
145435
145509
  throw new MoxxyError({ code: "NETWORK_ABORTED", message: "browser_session aborted" });
145436
145510
  const id = randomUUID();
145437
145511
  const req = { id, method, params };
145438
- return new Promise((resolve12, reject) => {
145512
+ return new Promise((resolve13, reject) => {
145439
145513
  const onAbort = () => {
145440
145514
  if (this.pending.delete(id))
145441
145515
  reject(new MoxxyError({ code: "NETWORK_ABORTED", message: "browser_session aborted" }));
@@ -145444,7 +145518,7 @@ ${tail}` : " (no stderr captured)")
145444
145518
  this.pending.set(id, {
145445
145519
  resolve: (v3) => {
145446
145520
  cleanup();
145447
- resolve12(v3);
145521
+ resolve13(v3);
145448
145522
  },
145449
145523
  reject: (e3) => {
145450
145524
  cleanup();
@@ -145596,7 +145670,7 @@ async function installPlaywrightPackage(opts) {
145596
145670
  opts.onProgress?.("Playwright installed.");
145597
145671
  }
145598
145672
  function runProcess(cmd, args, opts) {
145599
- return new Promise((resolve12, reject) => {
145673
+ return new Promise((resolve13, reject) => {
145600
145674
  if (opts.signal?.aborted)
145601
145675
  return reject(new Error("install aborted"));
145602
145676
  const child = spawn(cmd, args, { cwd: opts.rootDir, stdio: ["ignore", "pipe", "pipe"] });
@@ -145621,7 +145695,7 @@ function runProcess(cmd, args, opts) {
145621
145695
  child.once("close", (code) => {
145622
145696
  opts.signal?.removeEventListener("abort", onAbort);
145623
145697
  if (code === 0)
145624
- resolve12();
145698
+ resolve13();
145625
145699
  else
145626
145700
  reject(new Error(`\`${cmd} ${args.join(" ")}\` failed (exit ${code}): ${tail.trim() || "(no output)"}`));
145627
145701
  });
@@ -145689,6 +145763,10 @@ function buildBrowserSurface(deps) {
145689
145763
  inFlight = false;
145690
145764
  }
145691
145765
  };
145766
+ const bump = () => {
145767
+ void tick();
145768
+ setTimeout(() => void tick(), 140);
145769
+ };
145692
145770
  startPolling();
145693
145771
  const runInstall3 = async () => {
145694
145772
  if (installing)
@@ -145725,6 +145803,12 @@ function buildBrowserSurface(deps) {
145725
145803
  needsInstall: true,
145726
145804
  text: "The browser engine (Playwright) is not installed. It is a one-time ~200MB download."
145727
145805
  } : last ? { type: "frame", base64: last.base64, mime: last.mediaType, url: last.url } : { type: "status", text: "Starting browser\u2026" },
145806
+ resize: async (size) => {
145807
+ if (!size.width || !size.height)
145808
+ return;
145809
+ await browserSidecarCall("setviewport", { width: size.width, height: size.height }, deps).catch(() => void 0);
145810
+ void tick();
145811
+ },
145728
145812
  input: async (msg) => {
145729
145813
  if (msg.type === "install") {
145730
145814
  await runInstall3();
@@ -145739,16 +145823,23 @@ function buildBrowserSurface(deps) {
145739
145823
  const text = err instanceof Error ? err.message : String(err);
145740
145824
  emit2({ type: "status", text });
145741
145825
  }
145742
- void tick();
145743
- } else if (msg.type === "click" && typeof msg.fx === "number" && typeof msg.fy === "number") {
145744
- await browserSidecarCall("mouse", { x: msg.fx * vw, y: msg.fy * vh }, deps).catch(() => void 0);
145826
+ bump();
145827
+ } else if ((msg.type === "click" || msg.type === "dblclick") && typeof msg.fx === "number" && typeof msg.fy === "number") {
145828
+ const count = msg.type === "dblclick" ? 2 : 1;
145829
+ await browserSidecarCall("mouse", { x: msg.fx * vw, y: msg.fy * vh, count }, deps).catch(() => void 0);
145830
+ bump();
145831
+ } else if (msg.type === "move" && typeof msg.fx === "number" && typeof msg.fy === "number") {
145832
+ await browserSidecarCall("mousemove", { x: msg.fx * vw, y: msg.fy * vh }, deps).catch(() => void 0);
145745
145833
  void tick();
145746
145834
  } else if (msg.type === "key" && typeof msg.key === "string") {
145747
145835
  await browserSidecarCall("key", { key: msg.key }, deps).catch(() => void 0);
145748
- void tick();
145836
+ bump();
145749
145837
  } else if (msg.type === "scroll" && typeof msg.dy === "number") {
145750
145838
  await browserSidecarCall("scroll", { dy: msg.dy }, deps).catch(() => void 0);
145751
- void tick();
145839
+ bump();
145840
+ } else if (msg.type === "back" || msg.type === "forward" || msg.type === "reload") {
145841
+ await browserSidecarCall(msg.type, {}, deps).catch(() => void 0);
145842
+ bump();
145752
145843
  }
145753
145844
  },
145754
145845
  close: () => {
@@ -146062,7 +146153,7 @@ function buildTerminalTool() {
146062
146153
  });
146063
146154
  }
146064
146155
  function runCommand(proc, command, marker, timeoutMs) {
146065
- return new Promise((resolve12) => {
146156
+ return new Promise((resolve13) => {
146066
146157
  let acc = "";
146067
146158
  let settled = false;
146068
146159
  const finish = (exitCode, timedOut) => {
@@ -146071,7 +146162,7 @@ function runCommand(proc, command, marker, timeoutMs) {
146071
146162
  settled = true;
146072
146163
  unsub();
146073
146164
  clearTimeout(timer);
146074
- resolve12({ output: cleanOutput(acc, command, marker), exitCode, timedOut });
146165
+ resolve13({ output: cleanOutput(acc, command, marker), exitCode, timedOut });
146075
146166
  };
146076
146167
  const sentinel2 = new RegExp(`${marker} (\\d+)`);
146077
146168
  const carry = marker.length + 32;
@@ -146732,7 +146823,7 @@ function procFailureCause(proc, timeoutMs) {
146732
146823
  return "";
146733
146824
  }
146734
146825
  function runProcess2(cmd, args, opts = {}) {
146735
- return new Promise((resolve12, reject) => {
146826
+ return new Promise((resolve13, reject) => {
146736
146827
  const child = spawn(cmd, [...args], { stdio: ["pipe", "pipe", "pipe"] });
146737
146828
  const stdoutChunks = [];
146738
146829
  let stderr = "";
@@ -146780,7 +146871,7 @@ function runProcess2(cmd, args, opts = {}) {
146780
146871
  if (timer)
146781
146872
  clearTimeout(timer);
146782
146873
  opts.signal?.removeEventListener("abort", onAbort);
146783
- resolve12({
146874
+ resolve13({
146784
146875
  exitCode: code ?? -1,
146785
146876
  stdout: Buffer.concat(stdoutChunks).toString("utf8"),
146786
146877
  stderr,
@@ -147195,7 +147286,7 @@ var computerControlPlugin = definePlugin({
147195
147286
  tools: [...computerControlTools]
147196
147287
  });
147197
147288
 
147198
- // src/setup/voice-admin-plugin.ts
147289
+ // ../plugin-voice-admin/dist/index.js
147199
147290
  init_dist();
147200
147291
  function buildVoiceAdminPlugin(session) {
147201
147292
  const voiceNames = () => [
@@ -147229,9 +147320,7 @@ function buildVoiceAdminPlugin(session) {
147229
147320
  return { active: "system" };
147230
147321
  }
147231
147322
  if (!session.synthesizers.has(synthesizer)) {
147232
- throw new Error(
147233
- `No synthesizer named "${synthesizer}". Available: ${voiceNames().join(", ")}.`
147234
- );
147323
+ throw new Error(`No synthesizer named "${synthesizer}". Available: ${voiceNames().join(", ")}.`);
147235
147324
  }
147236
147325
  session.synthesizers.setActive(synthesizer);
147237
147326
  return { active: synthesizer };
@@ -151708,7 +151797,7 @@ function makeStdinLinePrompt(input) {
151708
151797
  const queued = lineQueue.shift();
151709
151798
  if (queued !== void 0) return Promise.resolve(queued);
151710
151799
  if (stdinEnded) return Promise.resolve("");
151711
- return new Promise((resolve12) => lineWaiters.push(resolve12));
151800
+ return new Promise((resolve13) => lineWaiters.push(resolve13));
151712
151801
  };
151713
151802
  return async (question, promptOpts) => {
151714
151803
  process.stdout.write(encodeLoginPrompt({ question, mask: promptOpts?.mask === true }));
@@ -151865,8 +151954,8 @@ function titleCase(s2) {
151865
151954
  // src/commands/run-tui.ts
151866
151955
  async function killStaleRunnerAt(socketPath) {
151867
151956
  if (!existsSync(socketPath)) return;
151868
- const pid = await new Promise((resolve12) => {
151869
- if (process.platform === "win32") return resolve12(null);
151957
+ const pid = await new Promise((resolve13) => {
151958
+ if (process.platform === "win32") return resolve13(null);
151870
151959
  let out = "";
151871
151960
  try {
151872
151961
  const child = spawn("lsof", ["-t", socketPath], {
@@ -151875,13 +151964,13 @@ async function killStaleRunnerAt(socketPath) {
151875
151964
  child.stdout.on("data", (b3) => {
151876
151965
  out += b3.toString();
151877
151966
  });
151878
- child.on("error", () => resolve12(null));
151967
+ child.on("error", () => resolve13(null));
151879
151968
  child.on("close", () => {
151880
151969
  const parsed = parseInt(out.trim().split("\n")[0] ?? "", 10);
151881
- resolve12(Number.isFinite(parsed) && parsed > 0 ? parsed : null);
151970
+ resolve13(Number.isFinite(parsed) && parsed > 0 ? parsed : null);
151882
151971
  });
151883
151972
  } catch {
151884
- resolve12(null);
151973
+ resolve13(null);
151885
151974
  }
151886
151975
  });
151887
151976
  if (pid && pid !== process.pid) {
@@ -155749,14 +155838,14 @@ var HELP14 = formatHelp({
155749
155838
  async function runCommand2(cmd) {
155750
155839
  const [bin, ...args] = cmd;
155751
155840
  if (!bin) return 1;
155752
- return new Promise((resolve12) => {
155841
+ return new Promise((resolve13) => {
155753
155842
  const proc = spawn(bin, args, {
155754
155843
  stdio: "inherit",
155755
155844
  // npm/pnpm/yarn/bun are `.cmd` shims on Windows — needs a shell to launch.
155756
155845
  shell: process.platform === "win32"
155757
155846
  });
155758
- proc.on("error", () => resolve12(127));
155759
- proc.on("exit", (code) => resolve12(code ?? 1));
155847
+ proc.on("error", () => resolve13(127));
155848
+ proc.on("exit", (code) => resolve13(code ?? 1));
155760
155849
  });
155761
155850
  }
155762
155851
  async function runUpdateCommand(argv, deps = {}) {