@hasna/oldpal 0.4.1 → 0.5.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/index.js CHANGED
@@ -29,7 +29,7 @@ var __export = (target, all) => {
29
29
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
30
30
  var __require = import.meta.require;
31
31
 
32
- // node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.development.js
32
+ // node_modules/.bun/react@18.3.1/node_modules/react/cjs/react.development.js
33
33
  var require_react_development = __commonJS((exports, module) => {
34
34
  if (true) {
35
35
  (function() {
@@ -1832,7 +1832,7 @@ Check the top-level render call using <` + parentName + ">.";
1832
1832
  }
1833
1833
  });
1834
1834
 
1835
- // node_modules/.pnpm/react@18.3.1/node_modules/react/index.js
1835
+ // node_modules/.bun/react@18.3.1/node_modules/react/index.js
1836
1836
  var require_react = __commonJS((exports, module) => {
1837
1837
  var react_development = __toESM(require_react_development());
1838
1838
  if (false) {} else {
@@ -1840,7 +1840,7 @@ var require_react = __commonJS((exports, module) => {
1840
1840
  }
1841
1841
  });
1842
1842
 
1843
- // node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js
1843
+ // node_modules/.bun/signal-exit@3.0.7/node_modules/signal-exit/signals.js
1844
1844
  var require_signals = __commonJS((exports, module) => {
1845
1845
  module.exports = [
1846
1846
  "SIGABRT",
@@ -1857,7 +1857,7 @@ var require_signals = __commonJS((exports, module) => {
1857
1857
  }
1858
1858
  });
1859
1859
 
1860
- // node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js
1860
+ // node_modules/.bun/signal-exit@3.0.7/node_modules/signal-exit/index.js
1861
1861
  var require_signal_exit = __commonJS((exports, module) => {
1862
1862
  var process3 = global.process;
1863
1863
  var processOk = function(process4) {
@@ -2010,7 +2010,7 @@ var require_signal_exit = __commonJS((exports, module) => {
2010
2010
  var processEmit;
2011
2011
  });
2012
2012
 
2013
- // node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.development.js
2013
+ // node_modules/.bun/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.development.js
2014
2014
  var require_scheduler_development = __commonJS((exports) => {
2015
2015
  if (true) {
2016
2016
  (function() {
@@ -2453,7 +2453,7 @@ var require_scheduler_development = __commonJS((exports) => {
2453
2453
  }
2454
2454
  });
2455
2455
 
2456
- // node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js
2456
+ // node_modules/.bun/scheduler@0.23.2/node_modules/scheduler/index.js
2457
2457
  var require_scheduler = __commonJS((exports, module) => {
2458
2458
  var scheduler_development = __toESM(require_scheduler_development());
2459
2459
  if (false) {} else {
@@ -2461,7 +2461,7 @@ var require_scheduler = __commonJS((exports, module) => {
2461
2461
  }
2462
2462
  });
2463
2463
 
2464
- // node_modules/.pnpm/react-reconciler@0.29.2_react@18.3.1/node_modules/react-reconciler/cjs/react-reconciler.development.js
2464
+ // node_modules/.bun/react-reconciler@0.29.2+f4eacebf2041cd4f/node_modules/react-reconciler/cjs/react-reconciler.development.js
2465
2465
  var require_react_reconciler_development = __commonJS((exports, module) => {
2466
2466
  var React = __toESM(require_react());
2467
2467
  var Scheduler = __toESM(require_scheduler());
@@ -17207,14 +17207,14 @@ Check the render method of \`` + ownerName + "`.";
17207
17207
  }
17208
17208
  });
17209
17209
 
17210
- // node_modules/.pnpm/react-reconciler@0.29.2_react@18.3.1/node_modules/react-reconciler/index.js
17210
+ // node_modules/.bun/react-reconciler@0.29.2+f4eacebf2041cd4f/node_modules/react-reconciler/index.js
17211
17211
  var require_react_reconciler = __commonJS((exports, module) => {
17212
17212
  if (false) {} else {
17213
17213
  module.exports = require_react_reconciler_development();
17214
17214
  }
17215
17215
  });
17216
17216
 
17217
- // node_modules/.pnpm/react-reconciler@0.29.2_react@18.3.1/node_modules/react-reconciler/cjs/react-reconciler-constants.development.js
17217
+ // node_modules/.bun/react-reconciler@0.29.2+f4eacebf2041cd4f/node_modules/react-reconciler/cjs/react-reconciler-constants.development.js
17218
17218
  var require_react_reconciler_constants_development = __commonJS((exports) => {
17219
17219
  if (true) {
17220
17220
  (function() {
@@ -17238,14 +17238,14 @@ var require_react_reconciler_constants_development = __commonJS((exports) => {
17238
17238
  }
17239
17239
  });
17240
17240
 
17241
- // node_modules/.pnpm/react-reconciler@0.29.2_react@18.3.1/node_modules/react-reconciler/constants.js
17241
+ // node_modules/.bun/react-reconciler@0.29.2+f4eacebf2041cd4f/node_modules/react-reconciler/constants.js
17242
17242
  var require_constants = __commonJS((exports, module) => {
17243
17243
  if (false) {} else {
17244
17244
  module.exports = require_react_reconciler_constants_development();
17245
17245
  }
17246
17246
  });
17247
17247
 
17248
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/devtools-window-polyfill.js
17248
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/devtools-window-polyfill.js
17249
17249
  import ws from "ws";
17250
17250
  var customGlobal;
17251
17251
  var init_devtools_window_polyfill = __esm(() => {
@@ -17304,7 +17304,7 @@ var init_react_devtools_core = __esm(() => {
17304
17304
  react_devtools_core_default = { connectToDevTools: () => {} };
17305
17305
  });
17306
17306
 
17307
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/devtools.js
17307
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/devtools.js
17308
17308
  var exports_devtools = {};
17309
17309
  var init_devtools = __esm(() => {
17310
17310
  init_devtools_window_polyfill();
@@ -17312,7 +17312,7 @@ var init_devtools = __esm(() => {
17312
17312
  react_devtools_core_default.connectToDevTools();
17313
17313
  });
17314
17314
 
17315
- // node_modules/.pnpm/cli-boxes@3.0.0/node_modules/cli-boxes/boxes.json
17315
+ // node_modules/.bun/cli-boxes@3.0.0/node_modules/cli-boxes/boxes.json
17316
17316
  var require_boxes = __commonJS((exports, module) => {
17317
17317
  module.exports = {
17318
17318
  single: {
@@ -17398,14 +17398,14 @@ var require_boxes = __commonJS((exports, module) => {
17398
17398
  };
17399
17399
  });
17400
17400
 
17401
- // node_modules/.pnpm/cli-boxes@3.0.0/node_modules/cli-boxes/index.js
17401
+ // node_modules/.bun/cli-boxes@3.0.0/node_modules/cli-boxes/index.js
17402
17402
  var require_cli_boxes = __commonJS((exports, module) => {
17403
17403
  var cliBoxes = require_boxes();
17404
17404
  module.exports = cliBoxes;
17405
17405
  module.exports.default = cliBoxes;
17406
17406
  });
17407
17407
 
17408
- // node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js
17408
+ // node_modules/.bun/mimic-fn@2.1.0/node_modules/mimic-fn/index.js
17409
17409
  var require_mimic_fn = __commonJS((exports, module) => {
17410
17410
  var mimicFn = (to, from) => {
17411
17411
  for (const prop of Reflect.ownKeys(from)) {
@@ -17417,7 +17417,7 @@ var require_mimic_fn = __commonJS((exports, module) => {
17417
17417
  module.exports.default = mimicFn;
17418
17418
  });
17419
17419
 
17420
- // node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js
17420
+ // node_modules/.bun/onetime@5.1.2/node_modules/onetime/index.js
17421
17421
  var require_onetime = __commonJS((exports, module) => {
17422
17422
  var mimicFn = require_mimic_fn();
17423
17423
  var calledFunctions = new WeakMap;
@@ -17452,7 +17452,7 @@ var require_onetime = __commonJS((exports, module) => {
17452
17452
  };
17453
17453
  });
17454
17454
 
17455
- // node_modules/.pnpm/escape-string-regexp@2.0.0/node_modules/escape-string-regexp/index.js
17455
+ // node_modules/.bun/escape-string-regexp@2.0.0/node_modules/escape-string-regexp/index.js
17456
17456
  var require_escape_string_regexp = __commonJS((exports, module) => {
17457
17457
  var matchOperatorsRegex = /[|\\{}()[\]^$+*?.-]/g;
17458
17458
  module.exports = (string) => {
@@ -17463,7 +17463,7 @@ var require_escape_string_regexp = __commonJS((exports, module) => {
17463
17463
  };
17464
17464
  });
17465
17465
 
17466
- // node_modules/.pnpm/stack-utils@2.0.6/node_modules/stack-utils/index.js
17466
+ // node_modules/.bun/stack-utils@2.0.6/node_modules/stack-utils/index.js
17467
17467
  var require_stack_utils = __commonJS((exports, module) => {
17468
17468
  var escapeStringRegexp = require_escape_string_regexp();
17469
17469
  var cwd = typeof process === "object" && process && typeof process.cwd === "function" ? process.cwd() : ".";
@@ -17701,10 +17701,10 @@ var require_stack_utils = __commonJS((exports, module) => {
17701
17701
  module.exports = StackUtils;
17702
17702
  });
17703
17703
 
17704
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/version.mjs
17704
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/version.mjs
17705
17705
  var VERSION = "0.32.1";
17706
17706
 
17707
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/registry.mjs
17707
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/registry.mjs
17708
17708
  function setShims(shims, options = { auto: false }) {
17709
17709
  if (auto) {
17710
17710
  throw new Error(`you must \`import '@anthropic-ai/sdk/shims/${shims.kind}'\` before importing anything else from @anthropic-ai/sdk`);
@@ -17729,7 +17729,7 @@ function setShims(shims, options = { auto: false }) {
17729
17729
  }
17730
17730
  var auto = false, kind = undefined, fetch2 = undefined, Request2 = undefined, Response2 = undefined, Headers2 = undefined, FormData2 = undefined, Blob2 = undefined, File2 = undefined, ReadableStream2 = undefined, getMultipartRequestOptions = undefined, getDefaultAgent = undefined, fileFromPath = undefined, isFsReadStream = undefined;
17731
17731
 
17732
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs
17732
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/MultipartBody.mjs
17733
17733
  var MultipartBody;
17734
17734
  var init_MultipartBody = __esm(() => {
17735
17735
  MultipartBody = class MultipartBody {
@@ -17742,7 +17742,7 @@ var init_MultipartBody = __esm(() => {
17742
17742
  };
17743
17743
  });
17744
17744
 
17745
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/web-runtime.mjs
17745
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/web-runtime.mjs
17746
17746
  function getRuntime({ manuallyImported } = {}) {
17747
17747
  const recommendation = manuallyImported ? `You may need to use polyfills` : `Add one of these imports before your first \`import \u2026 from '@anthropic-ai/sdk'\`:
17748
17748
  - \`import '@anthropic-ai/sdk/shims/node'\` (if you're running on Node)
@@ -17800,7 +17800,7 @@ var init_web_runtime = __esm(() => {
17800
17800
  init_MultipartBody();
17801
17801
  });
17802
17802
 
17803
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/bun-runtime.mjs
17803
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/bun-runtime.mjs
17804
17804
  import { ReadStream as FsReadStream } from "fs";
17805
17805
  function getRuntime2() {
17806
17806
  const runtime = getRuntime();
@@ -17813,19 +17813,19 @@ var init_bun_runtime = __esm(() => {
17813
17813
  init_web_runtime();
17814
17814
  });
17815
17815
 
17816
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/auto/runtime-bun.mjs
17816
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/auto/runtime-bun.mjs
17817
17817
  var init_runtime_bun = __esm(() => {
17818
17818
  init_bun_runtime();
17819
17819
  });
17820
17820
 
17821
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/index.mjs
17821
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_shims/index.mjs
17822
17822
  var init__shims = __esm(() => {
17823
17823
  init_runtime_bun();
17824
17824
  if (!kind)
17825
17825
  setShims(getRuntime2(), { auto: true });
17826
17826
  });
17827
17827
 
17828
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/error.mjs
17828
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/error.mjs
17829
17829
  var AnthropicError, APIError, APIUserAbortError, APIConnectionError, APIConnectionTimeoutError, BadRequestError, AuthenticationError, PermissionDeniedError, NotFoundError, ConflictError, UnprocessableEntityError, RateLimitError, InternalServerError;
17830
17830
  var init_error = __esm(() => {
17831
17831
  init_core();
@@ -17949,7 +17949,7 @@ var init_error = __esm(() => {
17949
17949
  };
17950
17950
  });
17951
17951
 
17952
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs
17952
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/internal/decoders/line.mjs
17953
17953
  class LineDecoder {
17954
17954
  constructor() {
17955
17955
  this.buffer = [];
@@ -18026,7 +18026,7 @@ var init_line = __esm(() => {
18026
18026
  LineDecoder.NEWLINE_REGEXP = /\r\n|[\n\r]/g;
18027
18027
  });
18028
18028
 
18029
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/streaming.mjs
18029
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/streaming.mjs
18030
18030
  async function* _iterSSEMessages(response, controller) {
18031
18031
  if (!response.body) {
18032
18032
  controller.abort();
@@ -18310,7 +18310,7 @@ var init_streaming = __esm(() => {
18310
18310
  };
18311
18311
  });
18312
18312
 
18313
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/uploads.mjs
18313
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/uploads.mjs
18314
18314
  async function toFile(value, name, options) {
18315
18315
  value = await value;
18316
18316
  if (isFileLike(value)) {
@@ -18366,7 +18366,7 @@ var init_uploads = __esm(() => {
18366
18366
  init__shims();
18367
18367
  });
18368
18368
 
18369
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/core.mjs
18369
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/core.mjs
18370
18370
  async function defaultParseResponse(props) {
18371
18371
  const { response } = props;
18372
18372
  if (props.options.stream) {
@@ -18997,7 +18997,7 @@ var init_core = __esm(() => {
18997
18997
  startsWithSchemeRegexp = new RegExp("^(?:[a-z]+:)?//", "i");
18998
18998
  });
18999
18999
 
19000
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/pagination.mjs
19000
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/pagination.mjs
19001
19001
  var Page;
19002
19002
  var init_pagination = __esm(() => {
19003
19003
  init_core();
@@ -19048,14 +19048,14 @@ var init_pagination = __esm(() => {
19048
19048
  };
19049
19049
  });
19050
19050
 
19051
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resource.mjs
19051
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resource.mjs
19052
19052
  class APIResource {
19053
19053
  constructor(client) {
19054
19054
  this._client = client;
19055
19055
  }
19056
19056
  }
19057
19057
 
19058
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs
19058
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/internal/decoders/jsonl.mjs
19059
19059
  var JSONLDecoder;
19060
19060
  var init_jsonl = __esm(() => {
19061
19061
  init_error();
@@ -19090,7 +19090,7 @@ var init_jsonl = __esm(() => {
19090
19090
  };
19091
19091
  });
19092
19092
 
19093
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs
19093
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/messages/batches.mjs
19094
19094
  var Batches, BetaMessageBatchesPage;
19095
19095
  var init_batches = __esm(() => {
19096
19096
  init_core();
@@ -19173,7 +19173,7 @@ var init_batches = __esm(() => {
19173
19173
  Batches.BetaMessageBatchesPage = BetaMessageBatchesPage;
19174
19174
  });
19175
19175
 
19176
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs
19176
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/messages/messages.mjs
19177
19177
  var Messages;
19178
19178
  var init_messages = __esm(() => {
19179
19179
  init_batches();
@@ -19212,7 +19212,7 @@ var init_messages = __esm(() => {
19212
19212
  Messages.BetaMessageBatchesPage = BetaMessageBatchesPage;
19213
19213
  });
19214
19214
 
19215
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs
19215
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/_vendor/partial-json-parser/parser.mjs
19216
19216
  var tokenize4 = (input) => {
19217
19217
  let current = 0;
19218
19218
  let tokens = [];
@@ -19429,7 +19429,7 @@ var tokenize4 = (input) => {
19429
19429
  }, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize4(input)))));
19430
19430
  var init_parser = () => {};
19431
19431
 
19432
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/lib/PromptCachingBetaMessageStream.mjs
19432
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/lib/PromptCachingBetaMessageStream.mjs
19433
19433
  var __classPrivateFieldSet2 = function(receiver, state, value, kind2, f) {
19434
19434
  if (kind2 === "m")
19435
19435
  throw new TypeError("Private method is not writable");
@@ -19821,7 +19821,7 @@ var init_PromptCachingBetaMessageStream = __esm(() => {
19821
19821
  };
19822
19822
  });
19823
19823
 
19824
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/prompt-caching/messages.mjs
19824
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/prompt-caching/messages.mjs
19825
19825
  var Messages2;
19826
19826
  var init_messages2 = __esm(() => {
19827
19827
  init_PromptCachingBetaMessageStream();
@@ -19845,7 +19845,7 @@ var init_messages2 = __esm(() => {
19845
19845
  };
19846
19846
  });
19847
19847
 
19848
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/prompt-caching/prompt-caching.mjs
19848
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/prompt-caching/prompt-caching.mjs
19849
19849
  var PromptCaching;
19850
19850
  var init_prompt_caching = __esm(() => {
19851
19851
  init_messages2();
@@ -19859,7 +19859,7 @@ var init_prompt_caching = __esm(() => {
19859
19859
  PromptCaching.Messages = Messages2;
19860
19860
  });
19861
19861
 
19862
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs
19862
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/beta/beta.mjs
19863
19863
  var Beta;
19864
19864
  var init_beta = __esm(() => {
19865
19865
  init_messages();
@@ -19877,7 +19877,7 @@ var init_beta = __esm(() => {
19877
19877
  Beta.PromptCaching = PromptCaching;
19878
19878
  });
19879
19879
 
19880
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/completions.mjs
19880
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/completions.mjs
19881
19881
  var Completions;
19882
19882
  var init_completions = __esm(() => {
19883
19883
  Completions = class Completions extends APIResource {
@@ -19892,7 +19892,7 @@ var init_completions = __esm(() => {
19892
19892
  };
19893
19893
  });
19894
19894
 
19895
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs
19895
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/lib/MessageStream.mjs
19896
19896
  var __classPrivateFieldSet3 = function(receiver, state, value, kind2, f) {
19897
19897
  if (kind2 === "m")
19898
19898
  throw new TypeError("Private method is not writable");
@@ -20284,7 +20284,7 @@ var init_MessageStream = __esm(() => {
20284
20284
  };
20285
20285
  });
20286
20286
 
20287
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/messages.mjs
20287
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/messages.mjs
20288
20288
  var Messages3, DEPRECATED_MODELS;
20289
20289
  var init_messages3 = __esm(() => {
20290
20290
  init_MessageStream();
@@ -20314,14 +20314,14 @@ Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resour
20314
20314
  };
20315
20315
  });
20316
20316
 
20317
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/index.mjs
20317
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/resources/index.mjs
20318
20318
  var init_resources = __esm(() => {
20319
20319
  init_beta();
20320
20320
  init_completions();
20321
20321
  init_messages3();
20322
20322
  });
20323
20323
 
20324
- // node_modules/.pnpm/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/index.mjs
20324
+ // node_modules/.bun/@anthropic-ai+sdk@0.32.1/node_modules/@anthropic-ai/sdk/index.mjs
20325
20325
  var _a, Anthropic, sdk_default;
20326
20326
  var init_sdk = __esm(() => {
20327
20327
  init_core();
@@ -20617,7 +20617,7 @@ var init_anthropic = __esm(() => {
20617
20617
  init_sdk();
20618
20618
  });
20619
20619
 
20620
- // node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-dev-runtime.development.js
20620
+ // node_modules/.bun/react@18.3.1/node_modules/react/cjs/react-jsx-dev-runtime.development.js
20621
20621
  var require_react_jsx_dev_runtime_development = __commonJS((exports) => {
20622
20622
  var React11 = __toESM(require_react());
20623
20623
  if (true) {
@@ -21498,7 +21498,7 @@ Check the top-level render call using <` + parentName + ">.";
21498
21498
  }
21499
21499
  });
21500
21500
 
21501
- // node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-dev-runtime.js
21501
+ // node_modules/.bun/react@18.3.1/node_modules/react/jsx-dev-runtime.js
21502
21502
  var require_jsx_dev_runtime = __commonJS((exports, module) => {
21503
21503
  var react_jsx_dev_runtime_development = __toESM(require_react_jsx_dev_runtime_development());
21504
21504
  if (false) {} else {
@@ -21506,7 +21506,7 @@ var require_jsx_dev_runtime = __commonJS((exports, module) => {
21506
21506
  }
21507
21507
  });
21508
21508
 
21509
- // node_modules/.pnpm/cli-spinners@2.9.2/node_modules/cli-spinners/spinners.json
21509
+ // node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/spinners.json
21510
21510
  var require_spinners = __commonJS((exports, module) => {
21511
21511
  module.exports = {
21512
21512
  dots: {
@@ -23132,7 +23132,7 @@ var require_spinners = __commonJS((exports, module) => {
23132
23132
  };
23133
23133
  });
23134
23134
 
23135
- // node_modules/.pnpm/cli-spinners@2.9.2/node_modules/cli-spinners/index.js
23135
+ // node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/index.js
23136
23136
  var require_cli_spinners = __commonJS((exports, module) => {
23137
23137
  var spinners = Object.assign({}, require_spinners());
23138
23138
  var spinnersList = Object.keys(spinners);
@@ -23146,15 +23146,15 @@ var require_cli_spinners = __commonJS((exports, module) => {
23146
23146
  module.exports = spinners;
23147
23147
  });
23148
23148
 
23149
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/render.js
23149
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/render.js
23150
23150
  import { Stream } from "stream";
23151
23151
  import process12 from "process";
23152
23152
 
23153
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/ink.js
23153
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/ink.js
23154
23154
  var import_react10 = __toESM(require_react(), 1);
23155
23155
  import process11 from "process";
23156
23156
 
23157
- // node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/function/debounce.mjs
23157
+ // node_modules/.bun/es-toolkit@1.44.0/node_modules/es-toolkit/dist/function/debounce.mjs
23158
23158
  function debounce(func, debounceMs, { signal, edges } = {}) {
23159
23159
  let pendingThis = undefined;
23160
23160
  let pendingArgs = null;
@@ -23216,7 +23216,7 @@ function debounce(func, debounceMs, { signal, edges } = {}) {
23216
23216
  return debounced;
23217
23217
  }
23218
23218
 
23219
- // node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/compat/function/debounce.mjs
23219
+ // node_modules/.bun/es-toolkit@1.44.0/node_modules/es-toolkit/dist/compat/function/debounce.mjs
23220
23220
  function debounce2(func, debounceMs = 0, options = {}) {
23221
23221
  if (typeof options !== "object") {
23222
23222
  options = {};
@@ -23260,7 +23260,7 @@ function debounce2(func, debounceMs = 0, options = {}) {
23260
23260
  return debounced;
23261
23261
  }
23262
23262
 
23263
- // node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/compat/function/throttle.mjs
23263
+ // node_modules/.bun/es-toolkit@1.44.0/node_modules/es-toolkit/dist/compat/function/throttle.mjs
23264
23264
  function throttle(func, throttleMs = 0, options = {}) {
23265
23265
  const { leading = true, trailing = true } = options;
23266
23266
  return debounce2(func, throttleMs, {
@@ -23269,7 +23269,7 @@ function throttle(func, throttleMs = 0, options = {}) {
23269
23269
  trailing
23270
23270
  });
23271
23271
  }
23272
- // node_modules/.pnpm/ansi-escapes@7.2.0/node_modules/ansi-escapes/base.js
23272
+ // node_modules/.bun/ansi-escapes@7.2.0/node_modules/ansi-escapes/base.js
23273
23273
  var exports_base = {};
23274
23274
  __export(exports_base, {
23275
23275
  setCwd: () => setCwd,
@@ -23310,7 +23310,7 @@ __export(exports_base, {
23310
23310
  import process2 from "process";
23311
23311
  import os from "os";
23312
23312
 
23313
- // node_modules/.pnpm/environment@1.1.0/node_modules/environment/index.js
23313
+ // node_modules/.bun/environment@1.1.0/node_modules/environment/index.js
23314
23314
  var isBrowser = globalThis.window?.document !== undefined;
23315
23315
  var isNode = globalThis.process?.versions?.node !== undefined;
23316
23316
  var isBun = globalThis.process?.versions?.bun !== undefined;
@@ -23328,7 +23328,7 @@ var isLinux = platform === "Linux" || globalThis.navigator?.platform?.startsWith
23328
23328
  var isIos = platform === "iOS" || globalThis.navigator?.platform === "MacIntel" && globalThis.navigator?.maxTouchPoints > 1 || /iPad|iPhone|iPod/.test(globalThis.navigator?.platform);
23329
23329
  var isAndroid = platform === "Android" || globalThis.navigator?.platform === "Android" || globalThis.navigator?.userAgent?.includes(" Android ") === true || globalThis.process?.platform === "android";
23330
23330
 
23331
- // node_modules/.pnpm/ansi-escapes@7.2.0/node_modules/ansi-escapes/base.js
23331
+ // node_modules/.bun/ansi-escapes@7.2.0/node_modules/ansi-escapes/base.js
23332
23332
  var ESC = "\x1B[";
23333
23333
  var OSC = "\x1B]";
23334
23334
  var BEL = "\x07";
@@ -23464,12 +23464,12 @@ var ConEmu = {
23464
23464
  setCwd: (cwd = cwdFunction()) => wrapOsc(`${OSC}9;9;${cwd}${BEL}`)
23465
23465
  };
23466
23466
  var setCwd = (cwd = cwdFunction()) => iTerm.setCwd(cwd) + ConEmu.setCwd(cwd);
23467
- // node_modules/.pnpm/is-in-ci@1.0.0/node_modules/is-in-ci/index.js
23467
+ // node_modules/.bun/is-in-ci@1.0.0/node_modules/is-in-ci/index.js
23468
23468
  import { env } from "process";
23469
23469
  var isInCi = env.CI !== "0" && env.CI !== "false" && (("CI" in env) || ("CONTINUOUS_INTEGRATION" in env) || Object.keys(env).some((key) => key.startsWith("CI_")));
23470
23470
  var is_in_ci_default = isInCi;
23471
23471
 
23472
- // node_modules/.pnpm/auto-bind@5.0.1/node_modules/auto-bind/index.js
23472
+ // node_modules/.bun/auto-bind@5.0.1/node_modules/auto-bind/index.js
23473
23473
  var getAllProperties = (object) => {
23474
23474
  const properties = new Set;
23475
23475
  do {
@@ -23502,10 +23502,10 @@ function autoBind(self, { include, exclude } = {}) {
23502
23502
  return self;
23503
23503
  }
23504
23504
 
23505
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/ink.js
23505
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/ink.js
23506
23506
  var import_signal_exit2 = __toESM(require_signal_exit(), 1);
23507
23507
 
23508
- // node_modules/.pnpm/patch-console@2.0.0/node_modules/patch-console/dist/index.js
23508
+ // node_modules/.bun/patch-console@2.0.0/node_modules/patch-console/dist/index.js
23509
23509
  import { PassThrough } from "stream";
23510
23510
  var consoleMethods = [
23511
23511
  "assert",
@@ -23551,7 +23551,7 @@ var patchConsole = (callback) => {
23551
23551
  };
23552
23552
  var dist_default = patchConsole;
23553
23553
 
23554
- // node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/binaries/yoga-wasm-base64-esm.js
23554
+ // node_modules/.bun/yoga-layout@3.2.1/node_modules/yoga-layout/dist/binaries/yoga-wasm-base64-esm.js
23555
23555
  var loadYoga = (() => {
23556
23556
  var _scriptDir = import.meta.url;
23557
23557
  return function(loadYoga2) {
@@ -24856,7 +24856,7 @@ var loadYoga = (() => {
24856
24856
  })();
24857
24857
  var yoga_wasm_base64_esm_default = loadYoga;
24858
24858
 
24859
- // node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/generated/YGEnums.js
24859
+ // node_modules/.bun/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/generated/YGEnums.js
24860
24860
  var Align = /* @__PURE__ */ function(Align2) {
24861
24861
  Align2[Align2["Auto"] = 0] = "Auto";
24862
24862
  Align2[Align2["FlexStart"] = 1] = "FlexStart";
@@ -25059,7 +25059,7 @@ var constants = {
25059
25059
  };
25060
25060
  var YGEnums_default = constants;
25061
25061
 
25062
- // node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/wrapAssembly.js
25062
+ // node_modules/.bun/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/wrapAssembly.js
25063
25063
  function wrapAssembly(lib) {
25064
25064
  function patch(prototype, name, fn) {
25065
25065
  const original = prototype[name];
@@ -25161,16 +25161,16 @@ function wrapAssembly(lib) {
25161
25161
  };
25162
25162
  }
25163
25163
 
25164
- // node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/index.js
25164
+ // node_modules/.bun/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/index.js
25165
25165
  var Yoga = wrapAssembly(await yoga_wasm_base64_esm_default());
25166
25166
  var src_default = Yoga;
25167
25167
 
25168
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/reconciler.js
25168
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/reconciler.js
25169
25169
  var import_react_reconciler = __toESM(require_react_reconciler(), 1);
25170
25170
  var import_constants = __toESM(require_constants(), 1);
25171
25171
  import process3 from "process";
25172
25172
 
25173
- // node_modules/.pnpm/ansi-regex@6.2.2/node_modules/ansi-regex/index.js
25173
+ // node_modules/.bun/ansi-regex@6.2.2/node_modules/ansi-regex/index.js
25174
25174
  function ansiRegex({ onlyFirst = false } = {}) {
25175
25175
  const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
25176
25176
  const osc = `(?:\\u001B\\][\\s\\S]*?${ST})`;
@@ -25179,7 +25179,7 @@ function ansiRegex({ onlyFirst = false } = {}) {
25179
25179
  return new RegExp(pattern, onlyFirst ? undefined : "g");
25180
25180
  }
25181
25181
 
25182
- // node_modules/.pnpm/strip-ansi@7.1.2/node_modules/strip-ansi/index.js
25182
+ // node_modules/.bun/strip-ansi@7.1.2/node_modules/strip-ansi/index.js
25183
25183
  var regex = ansiRegex();
25184
25184
  function stripAnsi(string) {
25185
25185
  if (typeof string !== "string") {
@@ -25188,7 +25188,7 @@ function stripAnsi(string) {
25188
25188
  return string.replace(regex, "");
25189
25189
  }
25190
25190
 
25191
- // node_modules/.pnpm/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/lookup.js
25191
+ // node_modules/.bun/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/lookup.js
25192
25192
  function isAmbiguous(x) {
25193
25193
  return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
25194
25194
  }
@@ -25199,7 +25199,7 @@ function isWide(x) {
25199
25199
  return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
25200
25200
  }
25201
25201
 
25202
- // node_modules/.pnpm/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/index.js
25202
+ // node_modules/.bun/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/index.js
25203
25203
  function validate(codePoint) {
25204
25204
  if (!Number.isSafeInteger(codePoint)) {
25205
25205
  throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
@@ -25213,12 +25213,12 @@ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
25213
25213
  return 1;
25214
25214
  }
25215
25215
 
25216
- // node_modules/.pnpm/emoji-regex@10.6.0/node_modules/emoji-regex/index.mjs
25216
+ // node_modules/.bun/emoji-regex@10.6.0/node_modules/emoji-regex/index.mjs
25217
25217
  var emoji_regex_default = () => {
25218
25218
  return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
25219
25219
  };
25220
25220
 
25221
- // node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js
25221
+ // node_modules/.bun/string-width@7.2.0/node_modules/string-width/index.js
25222
25222
  var segmenter = new Intl.Segmenter;
25223
25223
  var defaultIgnorableCodePointRegex = /^\p{Default_Ignorable_Code_Point}$/u;
25224
25224
  function stringWidth(string, options = {}) {
@@ -25266,7 +25266,7 @@ function stringWidth(string, options = {}) {
25266
25266
  return width;
25267
25267
  }
25268
25268
 
25269
- // node_modules/.pnpm/widest-line@5.0.0/node_modules/widest-line/index.js
25269
+ // node_modules/.bun/widest-line@5.0.0/node_modules/widest-line/index.js
25270
25270
  function widestLine(string) {
25271
25271
  let lineWidth = 0;
25272
25272
  for (const line of string.split(`
@@ -25276,7 +25276,7 @@ function widestLine(string) {
25276
25276
  return lineWidth;
25277
25277
  }
25278
25278
 
25279
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/measure-text.js
25279
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/measure-text.js
25280
25280
  var cache = {};
25281
25281
  var measureText = (text) => {
25282
25282
  if (text.length === 0) {
@@ -25297,7 +25297,7 @@ var measureText = (text) => {
25297
25297
  };
25298
25298
  var measure_text_default = measureText;
25299
25299
 
25300
- // node_modules/.pnpm/ansi-styles@6.2.3/node_modules/ansi-styles/index.js
25300
+ // node_modules/.bun/ansi-styles@6.2.3/node_modules/ansi-styles/index.js
25301
25301
  var ANSI_BACKGROUND_OFFSET = 10;
25302
25302
  var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
25303
25303
  var wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
@@ -25474,7 +25474,7 @@ function assembleStyles() {
25474
25474
  var ansiStyles = assembleStyles();
25475
25475
  var ansi_styles_default = ansiStyles;
25476
25476
 
25477
- // node_modules/.pnpm/wrap-ansi@9.0.2/node_modules/wrap-ansi/index.js
25477
+ // node_modules/.bun/wrap-ansi@9.0.2/node_modules/wrap-ansi/index.js
25478
25478
  var ESCAPES = new Set([
25479
25479
  "\x1B",
25480
25480
  "\x9B"
@@ -25636,7 +25636,7 @@ function wrapAnsi(string, columns, options) {
25636
25636
  `);
25637
25637
  }
25638
25638
 
25639
- // node_modules/.pnpm/is-fullwidth-code-point@4.0.0/node_modules/is-fullwidth-code-point/index.js
25639
+ // node_modules/.bun/is-fullwidth-code-point@4.0.0/node_modules/is-fullwidth-code-point/index.js
25640
25640
  function isFullwidthCodePoint(codePoint) {
25641
25641
  if (!Number.isInteger(codePoint)) {
25642
25642
  return false;
@@ -25644,7 +25644,7 @@ function isFullwidthCodePoint(codePoint) {
25644
25644
  return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141);
25645
25645
  }
25646
25646
 
25647
- // node_modules/.pnpm/slice-ansi@5.0.0/node_modules/slice-ansi/index.js
25647
+ // node_modules/.bun/slice-ansi@5.0.0/node_modules/slice-ansi/index.js
25648
25648
  var astralRegex = /^[\uD800-\uDBFF][\uDC00-\uDFFF]$/;
25649
25649
  var ESCAPES2 = [
25650
25650
  "\x1B",
@@ -25727,7 +25727,7 @@ function sliceAnsi(string, begin, end) {
25727
25727
  return output;
25728
25728
  }
25729
25729
 
25730
- // node_modules/.pnpm/cli-truncate@4.0.0/node_modules/cli-truncate/index.js
25730
+ // node_modules/.bun/cli-truncate@4.0.0/node_modules/cli-truncate/index.js
25731
25731
  function getIndexOfNearestSpace(string, wantedIndex, shouldSearchRight) {
25732
25732
  if (string.charAt(wantedIndex) === " ") {
25733
25733
  return wantedIndex;
@@ -25799,7 +25799,7 @@ function cliTruncate(text, columns, options = {}) {
25799
25799
  throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${position}`);
25800
25800
  }
25801
25801
 
25802
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/wrap-text.js
25802
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/wrap-text.js
25803
25803
  var cache2 = {};
25804
25804
  var wrapText = (text, maxWidth, wrapType) => {
25805
25805
  const cacheKey = text + String(maxWidth) + String(wrapType);
@@ -25829,7 +25829,7 @@ var wrapText = (text, maxWidth, wrapType) => {
25829
25829
  };
25830
25830
  var wrap_text_default = wrapText;
25831
25831
 
25832
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/squash-text-nodes.js
25832
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/squash-text-nodes.js
25833
25833
  var squashTextNodes = (node) => {
25834
25834
  let text = "";
25835
25835
  for (let index = 0;index < node.childNodes.length; index++) {
@@ -25854,7 +25854,7 @@ var squashTextNodes = (node) => {
25854
25854
  };
25855
25855
  var squash_text_nodes_default = squashTextNodes;
25856
25856
 
25857
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/dom.js
25857
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/dom.js
25858
25858
  var createNode = (nodeName) => {
25859
25859
  const node = {
25860
25860
  nodeName,
@@ -25964,7 +25964,7 @@ var setTextNodeValue = (node, text) => {
25964
25964
  markNodeAsDirty(node);
25965
25965
  };
25966
25966
 
25967
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/styles.js
25967
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/styles.js
25968
25968
  var applyPositionStyles = (node, style) => {
25969
25969
  if ("position" in style) {
25970
25970
  node.setPositionType(style.position === "absolute" ? src_default.POSITION_TYPE_ABSOLUTE : src_default.POSITION_TYPE_RELATIVE);
@@ -26185,7 +26185,7 @@ var styles2 = (node, style = {}) => {
26185
26185
  };
26186
26186
  var styles_default = styles2;
26187
26187
 
26188
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/reconciler.js
26188
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/reconciler.js
26189
26189
  if (process3.env["DEV"] === "true") {
26190
26190
  try {
26191
26191
  await Promise.resolve().then(() => (init_devtools(), exports_devtools));
@@ -26387,7 +26387,7 @@ var reconciler_default = import_react_reconciler.default({
26387
26387
  }
26388
26388
  });
26389
26389
 
26390
- // node_modules/.pnpm/indent-string@5.0.0/node_modules/indent-string/index.js
26390
+ // node_modules/.bun/indent-string@5.0.0/node_modules/indent-string/index.js
26391
26391
  function indentString(string, count = 1, options = {}) {
26392
26392
  const {
26393
26393
  indent = " ",
@@ -26412,16 +26412,16 @@ function indentString(string, count = 1, options = {}) {
26412
26412
  return string.replace(regex2, indent.repeat(count));
26413
26413
  }
26414
26414
 
26415
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/get-max-width.js
26415
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/get-max-width.js
26416
26416
  var getMaxWidth = (yogaNode) => {
26417
26417
  return yogaNode.getComputedWidth() - yogaNode.getComputedPadding(src_default.EDGE_LEFT) - yogaNode.getComputedPadding(src_default.EDGE_RIGHT) - yogaNode.getComputedBorder(src_default.EDGE_LEFT) - yogaNode.getComputedBorder(src_default.EDGE_RIGHT);
26418
26418
  };
26419
26419
  var get_max_width_default = getMaxWidth;
26420
26420
 
26421
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/render-border.js
26421
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/render-border.js
26422
26422
  var import_cli_boxes = __toESM(require_cli_boxes(), 1);
26423
26423
 
26424
- // node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
26424
+ // node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js
26425
26425
  var ANSI_BACKGROUND_OFFSET2 = 10;
26426
26426
  var wrapAnsi162 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
26427
26427
  var wrapAnsi2562 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
@@ -26598,7 +26598,7 @@ function assembleStyles2() {
26598
26598
  var ansiStyles2 = assembleStyles2();
26599
26599
  var ansi_styles_default2 = ansiStyles2;
26600
26600
 
26601
- // node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js
26601
+ // node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/index.js
26602
26602
  import process4 from "process";
26603
26603
  import os2 from "os";
26604
26604
  import tty from "tty";
@@ -26730,7 +26730,7 @@ var supportsColor = {
26730
26730
  };
26731
26731
  var supports_color_default = supportsColor;
26732
26732
 
26733
- // node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/utilities.js
26733
+ // node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/utilities.js
26734
26734
  function stringReplaceAll(string, substring, replacer) {
26735
26735
  let index = string.indexOf(substring);
26736
26736
  if (index === -1) {
@@ -26763,7 +26763,7 @@ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index) {
26763
26763
  return returnValue;
26764
26764
  }
26765
26765
 
26766
- // node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/index.js
26766
+ // node_modules/.bun/chalk@5.6.2/node_modules/chalk/source/index.js
26767
26767
  var { stdout: stdoutColor, stderr: stderrColor } = supports_color_default;
26768
26768
  var GENERATOR = Symbol("GENERATOR");
26769
26769
  var STYLER = Symbol("STYLER");
@@ -26910,7 +26910,7 @@ var chalk = createChalk();
26910
26910
  var chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
26911
26911
  var source_default = chalk;
26912
26912
 
26913
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/colorize.js
26913
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/colorize.js
26914
26914
  var rgbRegex = /^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/;
26915
26915
  var ansiRegex2 = /^ansi256\(\s?(\d+)\s?\)$/;
26916
26916
  var isNamedColor = (color) => {
@@ -26952,7 +26952,7 @@ var colorize = (str, color, type) => {
26952
26952
  };
26953
26953
  var colorize_default = colorize;
26954
26954
 
26955
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/render-border.js
26955
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/render-border.js
26956
26956
  var renderBorder = (x, y, node, output) => {
26957
26957
  if (node.style.borderStyle) {
26958
26958
  const width = node.yogaNode.getComputedWidth();
@@ -27015,7 +27015,7 @@ var renderBorder = (x, y, node, output) => {
27015
27015
  };
27016
27016
  var render_border_default = renderBorder;
27017
27017
 
27018
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/render-node-to-output.js
27018
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/render-node-to-output.js
27019
27019
  var applyPaddingToText = (node, text) => {
27020
27020
  const yogaNode = node.childNodes[0]?.yogaNode;
27021
27021
  if (yogaNode) {
@@ -27087,7 +27087,7 @@ var renderNodeToOutput = (node, output, options) => {
27087
27087
  };
27088
27088
  var render_node_to_output_default = renderNodeToOutput;
27089
27089
 
27090
- // node_modules/.pnpm/is-fullwidth-code-point@5.1.0/node_modules/is-fullwidth-code-point/index.js
27090
+ // node_modules/.bun/is-fullwidth-code-point@5.1.0/node_modules/is-fullwidth-code-point/index.js
27091
27091
  function isFullwidthCodePoint2(codePoint) {
27092
27092
  if (!Number.isInteger(codePoint)) {
27093
27093
  return false;
@@ -27095,7 +27095,7 @@ function isFullwidthCodePoint2(codePoint) {
27095
27095
  return isFullWidth(codePoint) || isWide(codePoint);
27096
27096
  }
27097
27097
 
27098
- // node_modules/.pnpm/slice-ansi@7.1.2/node_modules/slice-ansi/index.js
27098
+ // node_modules/.bun/slice-ansi@7.1.2/node_modules/slice-ansi/index.js
27099
27099
  var ESCAPES3 = new Set([27, 155]);
27100
27100
  var CODE_POINT_0 = "0".codePointAt(0);
27101
27101
  var CODE_POINT_9 = "9".codePointAt(0);
@@ -27226,7 +27226,7 @@ function sliceAnsi2(string, start, end) {
27226
27226
  return returnValue;
27227
27227
  }
27228
27228
 
27229
- // node_modules/.pnpm/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.js
27229
+ // node_modules/.bun/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.js
27230
27230
  var ESCAPES4 = new Set([27, 155]);
27231
27231
  var endCodesSet2 = new Set;
27232
27232
  var endCodesMap2 = new Map;
@@ -27260,7 +27260,7 @@ function getEndCode2(code) {
27260
27260
  function ansiCodesToString(codes) {
27261
27261
  return codes.map((code) => code.code).join("");
27262
27262
  }
27263
- // node_modules/.pnpm/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/reduce.js
27263
+ // node_modules/.bun/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/reduce.js
27264
27264
  function reduceAnsiCodes2(codes) {
27265
27265
  return reduceAnsiCodesIncremental([], codes);
27266
27266
  }
@@ -27279,7 +27279,7 @@ function reduceAnsiCodesIncremental(codes, newCodes) {
27279
27279
  return ret;
27280
27280
  }
27281
27281
 
27282
- // node_modules/.pnpm/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/undo.js
27282
+ // node_modules/.bun/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/undo.js
27283
27283
  function undoAnsiCodes2(codes) {
27284
27284
  return reduceAnsiCodes2(codes).reverse().map((code) => ({
27285
27285
  ...code,
@@ -27287,7 +27287,7 @@ function undoAnsiCodes2(codes) {
27287
27287
  }));
27288
27288
  }
27289
27289
 
27290
- // node_modules/.pnpm/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/diff.js
27290
+ // node_modules/.bun/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/diff.js
27291
27291
  function diffAnsiCodes(from, to) {
27292
27292
  const endCodesInTo = new Set(to.map((code) => code.endCode));
27293
27293
  const startCodesInFrom = new Set(from.map((code) => code.code));
@@ -27296,7 +27296,7 @@ function diffAnsiCodes(from, to) {
27296
27296
  ...to.filter((code) => !startCodesInFrom.has(code.code))
27297
27297
  ];
27298
27298
  }
27299
- // node_modules/.pnpm/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/styledChars.js
27299
+ // node_modules/.bun/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/styledChars.js
27300
27300
  function styledCharsFromTokens(tokens) {
27301
27301
  let codes = [];
27302
27302
  const ret = [];
@@ -27328,7 +27328,7 @@ function styledCharsToString(chars) {
27328
27328
  }
27329
27329
  return ret;
27330
27330
  }
27331
- // node_modules/.pnpm/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/tokenize.js
27331
+ // node_modules/.bun/@alcalzone+ansi-tokenize@0.1.3/node_modules/@alcalzone/ansi-tokenize/build/tokenize.js
27332
27332
  function findNumberIndex2(str) {
27333
27333
  for (let index = 0;index < str.length; index++) {
27334
27334
  const charCode = str.charCodeAt(index);
@@ -27394,7 +27394,7 @@ function tokenize2(str, endChar = Number.POSITIVE_INFINITY) {
27394
27394
  }
27395
27395
  return ret;
27396
27396
  }
27397
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/output.js
27397
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/output.js
27398
27398
  class Output {
27399
27399
  width;
27400
27400
  height;
@@ -27532,7 +27532,7 @@ class Output {
27532
27532
  }
27533
27533
  }
27534
27534
 
27535
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/renderer.js
27535
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/renderer.js
27536
27536
  var renderer = (node) => {
27537
27537
  if (node.yogaNode) {
27538
27538
  const output = new Output({
@@ -27566,10 +27566,10 @@ var renderer = (node) => {
27566
27566
  };
27567
27567
  var renderer_default = renderer;
27568
27568
 
27569
- // node_modules/.pnpm/cli-cursor@4.0.0/node_modules/cli-cursor/index.js
27569
+ // node_modules/.bun/cli-cursor@4.0.0/node_modules/cli-cursor/index.js
27570
27570
  import process6 from "process";
27571
27571
 
27572
- // node_modules/.pnpm/restore-cursor@4.0.0/node_modules/restore-cursor/index.js
27572
+ // node_modules/.bun/restore-cursor@4.0.0/node_modules/restore-cursor/index.js
27573
27573
  var import_onetime = __toESM(require_onetime(), 1);
27574
27574
  var import_signal_exit = __toESM(require_signal_exit(), 1);
27575
27575
  import process5 from "process";
@@ -27580,7 +27580,7 @@ var restoreCursor = import_onetime.default(() => {
27580
27580
  });
27581
27581
  var restore_cursor_default = restoreCursor;
27582
27582
 
27583
- // node_modules/.pnpm/cli-cursor@4.0.0/node_modules/cli-cursor/index.js
27583
+ // node_modules/.bun/cli-cursor@4.0.0/node_modules/cli-cursor/index.js
27584
27584
  var isHidden = false;
27585
27585
  var cliCursor = {};
27586
27586
  cliCursor.show = (writableStream = process6.stderr) => {
@@ -27610,7 +27610,7 @@ cliCursor.toggle = (force, writableStream) => {
27610
27610
  };
27611
27611
  var cli_cursor_default = cliCursor;
27612
27612
 
27613
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/log-update.js
27613
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/log-update.js
27614
27614
  var create = (stream, { showCursor = false } = {}) => {
27615
27615
  let previousLineCount = 0;
27616
27616
  let previousOutput = "";
@@ -27648,16 +27648,16 @@ var create = (stream, { showCursor = false } = {}) => {
27648
27648
  var logUpdate = { create };
27649
27649
  var log_update_default = logUpdate;
27650
27650
 
27651
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/instances.js
27651
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/instances.js
27652
27652
  var instances = new WeakMap;
27653
27653
  var instances_default = instances;
27654
27654
 
27655
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/App.js
27655
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/App.js
27656
27656
  var import_react9 = __toESM(require_react(), 1);
27657
27657
  import { EventEmitter as EventEmitter2 } from "events";
27658
27658
  import process10 from "process";
27659
27659
 
27660
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/AppContext.js
27660
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/AppContext.js
27661
27661
  var import_react = __toESM(require_react(), 1);
27662
27662
  var AppContext = import_react.createContext({
27663
27663
  exit() {}
@@ -27665,7 +27665,7 @@ var AppContext = import_react.createContext({
27665
27665
  AppContext.displayName = "InternalAppContext";
27666
27666
  var AppContext_default = AppContext;
27667
27667
 
27668
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/StdinContext.js
27668
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/StdinContext.js
27669
27669
  var import_react2 = __toESM(require_react(), 1);
27670
27670
  import { EventEmitter } from "events";
27671
27671
  import process7 from "process";
@@ -27679,7 +27679,7 @@ var StdinContext = import_react2.createContext({
27679
27679
  StdinContext.displayName = "InternalStdinContext";
27680
27680
  var StdinContext_default = StdinContext;
27681
27681
 
27682
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/StdoutContext.js
27682
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/StdoutContext.js
27683
27683
  var import_react3 = __toESM(require_react(), 1);
27684
27684
  import process8 from "process";
27685
27685
  var StdoutContext = import_react3.createContext({
@@ -27689,7 +27689,7 @@ var StdoutContext = import_react3.createContext({
27689
27689
  StdoutContext.displayName = "InternalStdoutContext";
27690
27690
  var StdoutContext_default = StdoutContext;
27691
27691
 
27692
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/StderrContext.js
27692
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/StderrContext.js
27693
27693
  var import_react4 = __toESM(require_react(), 1);
27694
27694
  import process9 from "process";
27695
27695
  var StderrContext = import_react4.createContext({
@@ -27699,7 +27699,7 @@ var StderrContext = import_react4.createContext({
27699
27699
  StderrContext.displayName = "InternalStderrContext";
27700
27700
  var StderrContext_default = StderrContext;
27701
27701
 
27702
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/FocusContext.js
27702
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/FocusContext.js
27703
27703
  var import_react5 = __toESM(require_react(), 1);
27704
27704
  var FocusContext = import_react5.createContext({
27705
27705
  activeId: undefined,
@@ -27716,19 +27716,19 @@ var FocusContext = import_react5.createContext({
27716
27716
  FocusContext.displayName = "InternalFocusContext";
27717
27717
  var FocusContext_default = FocusContext;
27718
27718
 
27719
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/ErrorOverview.js
27719
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/ErrorOverview.js
27720
27720
  var import_react8 = __toESM(require_react(), 1);
27721
27721
  var import_stack_utils = __toESM(require_stack_utils(), 1);
27722
27722
  import * as fs from "fs";
27723
27723
  import { cwd } from "process";
27724
27724
 
27725
- // node_modules/.pnpm/convert-to-spaces@2.0.1/node_modules/convert-to-spaces/dist/index.js
27725
+ // node_modules/.bun/convert-to-spaces@2.0.1/node_modules/convert-to-spaces/dist/index.js
27726
27726
  var convertToSpaces = (input, spaces = 2) => {
27727
27727
  return input.replace(/^\t+/gm, ($1) => " ".repeat($1.length * spaces));
27728
27728
  };
27729
27729
  var dist_default2 = convertToSpaces;
27730
27730
 
27731
- // node_modules/.pnpm/code-excerpt@4.0.0/node_modules/code-excerpt/dist/index.js
27731
+ // node_modules/.bun/code-excerpt@4.0.0/node_modules/code-excerpt/dist/index.js
27732
27732
  var generateLineNumbers = (line, around) => {
27733
27733
  const lineNumbers = [];
27734
27734
  const min = line - around;
@@ -27754,7 +27754,7 @@ var codeExcerpt = (source, line, options = {}) => {
27754
27754
  };
27755
27755
  var dist_default3 = codeExcerpt;
27756
27756
 
27757
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/Box.js
27757
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/Box.js
27758
27758
  var import_react6 = __toESM(require_react(), 1);
27759
27759
  var Box = import_react6.forwardRef(({ children, ...style }, ref) => {
27760
27760
  return import_react6.default.createElement("ink-box", { ref, style: {
@@ -27772,7 +27772,7 @@ Box.defaultProps = {
27772
27772
  };
27773
27773
  var Box_default = Box;
27774
27774
 
27775
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/Text.js
27775
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/Text.js
27776
27776
  var import_react7 = __toESM(require_react(), 1);
27777
27777
  function Text({ color, backgroundColor, dimColor = false, bold = false, italic = false, underline = false, strikethrough = false, inverse = false, wrap = "wrap", children }) {
27778
27778
  if (children === undefined || children === null) {
@@ -27808,7 +27808,7 @@ function Text({ color, backgroundColor, dimColor = false, bold = false, italic =
27808
27808
  return import_react7.default.createElement("ink-text", { style: { flexGrow: 0, flexShrink: 1, flexDirection: "row", textWrap: wrap }, internal_transform: transform }, children);
27809
27809
  }
27810
27810
 
27811
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/ErrorOverview.js
27811
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/ErrorOverview.js
27812
27812
  var cleanupPath = (path) => {
27813
27813
  return path?.replace(`file://${cwd()}/`, "");
27814
27814
  };
@@ -27842,7 +27842,7 @@ function ErrorOverview({ error }) {
27842
27842
  })));
27843
27843
  }
27844
27844
 
27845
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/App.js
27845
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/App.js
27846
27846
  var tab = "\t";
27847
27847
  var shiftTab = "\x1B[Z";
27848
27848
  var escape = "\x1B";
@@ -28087,7 +28087,7 @@ Read about how to prevent this error on https://github.com/vadimdemedes/ink/#isr
28087
28087
  };
28088
28088
  }
28089
28089
 
28090
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/ink.js
28090
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/ink.js
28091
28091
  var noop = () => {};
28092
28092
 
28093
28093
  class Ink {
@@ -28285,7 +28285,7 @@ class Ink {
28285
28285
  }
28286
28286
  }
28287
28287
 
28288
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/render.js
28288
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/render.js
28289
28289
  var render = (node, options) => {
28290
28290
  const inkOptions = {
28291
28291
  stdout: process12.stdout,
@@ -28326,7 +28326,7 @@ var getInstance = (stdout, createInstance) => {
28326
28326
  }
28327
28327
  return instance;
28328
28328
  };
28329
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/Static.js
28329
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/Static.js
28330
28330
  var import_react11 = __toESM(require_react(), 1);
28331
28331
  function Static(props) {
28332
28332
  const { items, children: render2, style: customStyle } = props;
@@ -28347,16 +28347,16 @@ function Static(props) {
28347
28347
  }), [customStyle]);
28348
28348
  return import_react11.default.createElement("ink-box", { internal_static: true, style }, children);
28349
28349
  }
28350
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/Transform.js
28350
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/Transform.js
28351
28351
  var import_react12 = __toESM(require_react(), 1);
28352
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/Newline.js
28352
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/Newline.js
28353
28353
  var import_react13 = __toESM(require_react(), 1);
28354
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/components/Spacer.js
28354
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/components/Spacer.js
28355
28355
  var import_react14 = __toESM(require_react(), 1);
28356
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-input.js
28356
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-input.js
28357
28357
  var import_react16 = __toESM(require_react(), 1);
28358
28358
 
28359
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/parse-keypress.js
28359
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/parse-keypress.js
28360
28360
  import { Buffer as Buffer2 } from "buffer";
28361
28361
  var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
28362
28362
  var fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
@@ -28538,12 +28538,12 @@ var parseKeypress = (s = "") => {
28538
28538
  };
28539
28539
  var parse_keypress_default = parseKeypress;
28540
28540
 
28541
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-stdin.js
28541
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-stdin.js
28542
28542
  var import_react15 = __toESM(require_react(), 1);
28543
28543
  var useStdin = () => import_react15.useContext(StdinContext_default);
28544
28544
  var use_stdin_default = useStdin;
28545
28545
 
28546
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-input.js
28546
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-input.js
28547
28547
  var useInput = (inputHandler, options = {}) => {
28548
28548
  const { stdin, setRawMode, internal_exitOnCtrlC, internal_eventEmitter } = use_stdin_default();
28549
28549
  import_react16.useEffect(() => {
@@ -28600,20 +28600,20 @@ var useInput = (inputHandler, options = {}) => {
28600
28600
  }, [options.isActive, stdin, internal_exitOnCtrlC, inputHandler]);
28601
28601
  };
28602
28602
  var use_input_default = useInput;
28603
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-app.js
28603
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-app.js
28604
28604
  var import_react17 = __toESM(require_react(), 1);
28605
28605
  var useApp = () => import_react17.useContext(AppContext_default);
28606
28606
  var use_app_default = useApp;
28607
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-stdout.js
28607
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-stdout.js
28608
28608
  var import_react18 = __toESM(require_react(), 1);
28609
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-stderr.js
28609
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-stderr.js
28610
28610
  var import_react19 = __toESM(require_react(), 1);
28611
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-focus.js
28611
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-focus.js
28612
28612
  var import_react20 = __toESM(require_react(), 1);
28613
- // node_modules/.pnpm/ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1/node_modules/ink/build/hooks/use-focus-manager.js
28613
+ // node_modules/.bun/ink@5.2.1+f4eacebf2041cd4f/node_modules/ink/build/hooks/use-focus-manager.js
28614
28614
  var import_react21 = __toESM(require_react(), 1);
28615
28615
  // packages/terminal/src/components/App.tsx
28616
- var import_react26 = __toESM(require_react(), 1);
28616
+ var import_react27 = __toESM(require_react(), 1);
28617
28617
  // packages/shared/src/utils.ts
28618
28618
  import { randomUUID } from "crypto";
28619
28619
  function generateId() {
@@ -29868,7 +29868,8 @@ ARGUMENTS: ${args.join(" ")}`;
29868
29868
  const fullMatch = match[0];
29869
29869
  const command = match[1];
29870
29870
  try {
29871
- const output = await Bun.$`cd ${skillDir} && ${command}`.quiet().text();
29871
+ const fullCommand = `cd ${skillDir} && ${command}`;
29872
+ const output = await Bun.$`sh -c ${fullCommand}`.quiet().text();
29872
29873
  result = result.replace(fullMatch, output.trim());
29873
29874
  } catch (error) {
29874
29875
  const errorMsg = error instanceof Error ? error.message : String(error);
@@ -30259,6 +30260,7 @@ class BuiltinCommands {
30259
30260
  loader.register(this.helpCommand(loader));
30260
30261
  loader.register(this.clearCommand());
30261
30262
  loader.register(this.newCommand());
30263
+ loader.register(this.sessionCommand());
30262
30264
  loader.register(this.statusCommand());
30263
30265
  loader.register(this.tokensCommand());
30264
30266
  loader.register(this.compactCommand());
@@ -30381,6 +30383,29 @@ class BuiltinCommands {
30381
30383
  }
30382
30384
  };
30383
30385
  }
30386
+ sessionCommand() {
30387
+ return {
30388
+ name: "session",
30389
+ description: "List sessions or switch to a session by number",
30390
+ builtin: true,
30391
+ selfHandled: true,
30392
+ content: "",
30393
+ handler: async (args, context) => {
30394
+ const arg = args.trim();
30395
+ if (arg === "new") {
30396
+ context.emit("done");
30397
+ return { handled: true, sessionAction: "new" };
30398
+ }
30399
+ const num = parseInt(arg, 10);
30400
+ if (!isNaN(num) && num > 0) {
30401
+ context.emit("done");
30402
+ return { handled: true, sessionAction: "switch", sessionNumber: num };
30403
+ }
30404
+ context.emit("done");
30405
+ return { handled: true, sessionAction: "list" };
30406
+ }
30407
+ };
30408
+ }
30384
30409
  tokensCommand() {
30385
30410
  return {
30386
30411
  name: "tokens",
@@ -31423,11 +31448,158 @@ class EmbeddedClient {
31423
31448
  this.messages = [];
31424
31449
  this.logger.info("Conversation cleared");
31425
31450
  }
31451
+ getCwd() {
31452
+ return this.cwd;
31453
+ }
31454
+ getStartedAt() {
31455
+ return this.startedAt;
31456
+ }
31457
+ getMessages() {
31458
+ return [...this.messages];
31459
+ }
31460
+ }
31461
+ // packages/core/src/sessions/registry.ts
31462
+ class SessionRegistry {
31463
+ sessions = new Map;
31464
+ activeSessionId = null;
31465
+ chunkBuffers = new Map;
31466
+ chunkCallbacks = [];
31467
+ errorCallbacks = [];
31468
+ async createSession(cwd2) {
31469
+ const client = new EmbeddedClient(cwd2);
31470
+ await client.initialize();
31471
+ const sessionInfo = {
31472
+ id: client.getSessionId(),
31473
+ cwd: cwd2,
31474
+ startedAt: Date.now(),
31475
+ updatedAt: Date.now(),
31476
+ isProcessing: false,
31477
+ client
31478
+ };
31479
+ client.onChunk((chunk) => {
31480
+ this.handleChunk(sessionInfo.id, chunk);
31481
+ });
31482
+ client.onError((error) => {
31483
+ if (this.activeSessionId === sessionInfo.id) {
31484
+ for (const callback of this.errorCallbacks) {
31485
+ callback(error);
31486
+ }
31487
+ }
31488
+ });
31489
+ this.sessions.set(sessionInfo.id, sessionInfo);
31490
+ this.chunkBuffers.set(sessionInfo.id, []);
31491
+ if (this.activeSessionId === null) {
31492
+ this.activeSessionId = sessionInfo.id;
31493
+ }
31494
+ return sessionInfo;
31495
+ }
31496
+ handleChunk(sessionId, chunk) {
31497
+ const session = this.sessions.get(sessionId);
31498
+ if (session) {
31499
+ session.updatedAt = Date.now();
31500
+ if (chunk.type === "done") {
31501
+ session.isProcessing = false;
31502
+ }
31503
+ }
31504
+ if (sessionId === this.activeSessionId) {
31505
+ for (const callback of this.chunkCallbacks) {
31506
+ callback(chunk);
31507
+ }
31508
+ } else {
31509
+ const buffer = this.chunkBuffers.get(sessionId);
31510
+ if (buffer) {
31511
+ buffer.push(chunk);
31512
+ }
31513
+ }
31514
+ }
31515
+ async switchSession(id) {
31516
+ if (!this.sessions.has(id)) {
31517
+ throw new Error(`Session ${id} not found`);
31518
+ }
31519
+ if (this.activeSessionId === id) {
31520
+ return;
31521
+ }
31522
+ this.activeSessionId = id;
31523
+ const buffer = this.chunkBuffers.get(id);
31524
+ if (buffer && buffer.length > 0) {
31525
+ for (const chunk of buffer) {
31526
+ for (const callback of this.chunkCallbacks) {
31527
+ callback(chunk);
31528
+ }
31529
+ }
31530
+ this.chunkBuffers.set(id, []);
31531
+ }
31532
+ }
31533
+ listSessions() {
31534
+ return Array.from(this.sessions.values()).sort((a, b) => b.updatedAt - a.updatedAt);
31535
+ }
31536
+ getActiveSession() {
31537
+ if (!this.activeSessionId)
31538
+ return null;
31539
+ return this.sessions.get(this.activeSessionId) || null;
31540
+ }
31541
+ getActiveSessionId() {
31542
+ return this.activeSessionId;
31543
+ }
31544
+ getSession(id) {
31545
+ return this.sessions.get(id) || null;
31546
+ }
31547
+ getSessionIndex(id) {
31548
+ const sessions = this.listSessions();
31549
+ return sessions.findIndex((s) => s.id === id) + 1;
31550
+ }
31551
+ getSessionCount() {
31552
+ return this.sessions.size;
31553
+ }
31554
+ closeSession(id) {
31555
+ const session = this.sessions.get(id);
31556
+ if (session) {
31557
+ session.client.disconnect();
31558
+ this.sessions.delete(id);
31559
+ this.chunkBuffers.delete(id);
31560
+ if (this.activeSessionId === id) {
31561
+ const remaining = this.listSessions();
31562
+ this.activeSessionId = remaining.length > 0 ? remaining[0].id : null;
31563
+ }
31564
+ }
31565
+ }
31566
+ closeAll() {
31567
+ for (const session of this.sessions.values()) {
31568
+ session.client.disconnect();
31569
+ }
31570
+ this.sessions.clear();
31571
+ this.chunkBuffers.clear();
31572
+ this.activeSessionId = null;
31573
+ }
31574
+ onChunk(callback) {
31575
+ this.chunkCallbacks.push(callback);
31576
+ }
31577
+ onError(callback) {
31578
+ this.errorCallbacks.push(callback);
31579
+ }
31580
+ setProcessing(id, isProcessing) {
31581
+ const session = this.sessions.get(id);
31582
+ if (session) {
31583
+ session.isProcessing = isProcessing;
31584
+ session.updatedAt = Date.now();
31585
+ }
31586
+ }
31587
+ hasProcessingSession() {
31588
+ for (const session of this.sessions.values()) {
31589
+ if (session.isProcessing) {
31590
+ return true;
31591
+ }
31592
+ }
31593
+ return false;
31594
+ }
31595
+ getBackgroundProcessingSessions() {
31596
+ return Array.from(this.sessions.values()).filter((s) => s.isProcessing && s.id !== this.activeSessionId);
31597
+ }
31426
31598
  }
31427
31599
  // packages/terminal/src/components/Input.tsx
31428
31600
  var import_react23 = __toESM(require_react(), 1);
31429
31601
 
31430
- // node_modules/.pnpm/ink-text-input@6.0.0_ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1__react@18.3.1/node_modules/ink-text-input/build/index.js
31602
+ // node_modules/.bun/ink-text-input@6.0.0+58dde7413d65f393/node_modules/ink-text-input/build/index.js
31431
31603
  var import_react22 = __toESM(require_react(), 1);
31432
31604
  function TextInput({ value: originalValue, placeholder = "", focus = true, mask, highlightPastedText = false, showCursor = true, onChange, onSubmit }) {
31433
31605
  const [state, setState] = import_react22.useState({
@@ -31523,6 +31695,7 @@ var COMMANDS = [
31523
31695
  { name: "/help", description: "show available commands" },
31524
31696
  { name: "/clear", description: "clear the conversation" },
31525
31697
  { name: "/new", description: "start a new conversation" },
31698
+ { name: "/session", description: "list/switch sessions (Ctrl+S)" },
31526
31699
  { name: "/status", description: "show session status" },
31527
31700
  { name: "/tokens", description: "show token usage" },
31528
31701
  { name: "/cost", description: "show estimated API cost" },
@@ -32000,26 +32173,47 @@ function truncate(text, maxLength) {
32000
32173
 
32001
32174
  // packages/terminal/src/components/Status.tsx
32002
32175
  var jsx_dev_runtime4 = __toESM(require_jsx_dev_runtime(), 1);
32003
- function Status({ isProcessing, cwd: cwd2, queueLength = 0, tokenUsage }) {
32176
+ function Status({
32177
+ isProcessing,
32178
+ cwd: cwd2,
32179
+ queueLength = 0,
32180
+ tokenUsage,
32181
+ sessionIndex,
32182
+ sessionCount,
32183
+ backgroundProcessingCount = 0
32184
+ }) {
32004
32185
  let contextInfo = "";
32005
32186
  if (tokenUsage && tokenUsage.maxContextTokens > 0) {
32006
32187
  const percent = Math.round(tokenUsage.totalTokens / tokenUsage.maxContextTokens * 100);
32007
- contextInfo = `${percent}% context used`;
32188
+ contextInfo = `${percent}% context`;
32008
32189
  }
32190
+ const sessionInfo = sessionIndex && sessionCount ? `Session ${sessionIndex}/${sessionCount}` : "";
32191
+ const bgIndicator = backgroundProcessingCount > 0 ? ` (${backgroundProcessingCount} processing)` : "";
32009
32192
  return /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
32010
32193
  marginTop: 1,
32011
32194
  justifyContent: "space-between",
32012
32195
  children: [
32013
32196
  /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
32014
32197
  dimColor: true,
32015
- children: "/help for commands"
32016
- }, undefined, false, undefined, this),
32198
+ children: [
32199
+ "/help for commands",
32200
+ sessionCount && sessionCount > 1 ? " | Ctrl+S sessions" : ""
32201
+ ]
32202
+ }, undefined, true, undefined, this),
32017
32203
  /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Box_default, {
32018
32204
  children: [
32019
32205
  isProcessing && /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
32020
32206
  dimColor: true,
32021
32207
  children: "esc to stop \xB7 "
32022
32208
  }, undefined, false, undefined, this),
32209
+ sessionInfo && /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
32210
+ dimColor: true,
32211
+ children: [
32212
+ sessionInfo,
32213
+ bgIndicator,
32214
+ contextInfo ? " \xB7 " : ""
32215
+ ]
32216
+ }, undefined, true, undefined, this),
32023
32217
  contextInfo && /* @__PURE__ */ jsx_dev_runtime4.jsxDEV(Text, {
32024
32218
  dimColor: true,
32025
32219
  children: contextInfo
@@ -32030,7 +32224,7 @@ function Status({ isProcessing, cwd: cwd2, queueLength = 0, tokenUsage }) {
32030
32224
  }, undefined, true, undefined, this);
32031
32225
  }
32032
32226
 
32033
- // node_modules/.pnpm/ink-spinner@5.0.0_ink@5.2.1_@types+react@18.3.27_react-devtools-core@4.28.5_react@18.3.1__react@18.3.1/node_modules/ink-spinner/build/index.js
32227
+ // node_modules/.bun/ink-spinner@5.0.0+58dde7413d65f393/node_modules/ink-spinner/build/index.js
32034
32228
  var import_react24 = __toESM(require_react(), 1);
32035
32229
  var import_cli_spinners = __toESM(require_cli_spinners(), 1);
32036
32230
  function Spinner({ type = "dots" }) {
@@ -32218,8 +32412,131 @@ function WelcomeBanner({ version, model, directory }) {
32218
32412
  }, undefined, true, undefined, this);
32219
32413
  }
32220
32414
 
32221
- // packages/terminal/src/components/App.tsx
32415
+ // packages/terminal/src/components/SessionSelector.tsx
32416
+ var import_react26 = __toESM(require_react(), 1);
32222
32417
  var jsx_dev_runtime8 = __toESM(require_jsx_dev_runtime(), 1);
32418
+ function formatSessionTime(timestamp) {
32419
+ const date = new Date(timestamp);
32420
+ const now2 = new Date;
32421
+ const isToday = date.toDateString() === now2.toDateString();
32422
+ if (isToday) {
32423
+ return date.toLocaleTimeString("en-US", {
32424
+ hour: "numeric",
32425
+ minute: "2-digit",
32426
+ hour12: true
32427
+ }).toLowerCase();
32428
+ }
32429
+ return date.toLocaleDateString("en-US", {
32430
+ month: "short",
32431
+ day: "numeric",
32432
+ hour: "numeric",
32433
+ minute: "2-digit",
32434
+ hour12: true
32435
+ }).toLowerCase();
32436
+ }
32437
+ function formatPath(cwd2) {
32438
+ const home = process.env.HOME || "";
32439
+ if (cwd2.startsWith(home)) {
32440
+ return "~" + cwd2.slice(home.length);
32441
+ }
32442
+ return cwd2;
32443
+ }
32444
+ function SessionSelector({
32445
+ sessions,
32446
+ activeSessionId,
32447
+ onSelect,
32448
+ onNew,
32449
+ onCancel
32450
+ }) {
32451
+ const [selectedIndex, setSelectedIndex] = import_react26.useState(0);
32452
+ use_input_default((input, key) => {
32453
+ if (key.escape) {
32454
+ onCancel();
32455
+ return;
32456
+ }
32457
+ if (key.return) {
32458
+ if (selectedIndex === sessions.length) {
32459
+ onNew();
32460
+ } else {
32461
+ onSelect(sessions[selectedIndex].id);
32462
+ }
32463
+ return;
32464
+ }
32465
+ if (key.upArrow) {
32466
+ setSelectedIndex((prev) => Math.max(0, prev - 1));
32467
+ }
32468
+ if (key.downArrow) {
32469
+ setSelectedIndex((prev) => Math.min(sessions.length, prev + 1));
32470
+ }
32471
+ const num = parseInt(input, 10);
32472
+ if (!isNaN(num) && num >= 1 && num <= sessions.length) {
32473
+ onSelect(sessions[num - 1].id);
32474
+ }
32475
+ if (input === "n") {
32476
+ onNew();
32477
+ }
32478
+ });
32479
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32480
+ flexDirection: "column",
32481
+ paddingY: 1,
32482
+ children: [
32483
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32484
+ marginBottom: 1,
32485
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
32486
+ bold: true,
32487
+ children: "Sessions"
32488
+ }, undefined, false, undefined, this)
32489
+ }, undefined, false, undefined, this),
32490
+ sessions.map((session, index) => {
32491
+ const isActive = session.id === activeSessionId;
32492
+ const isSelected = index === selectedIndex;
32493
+ const prefix = isActive ? "[*]" : " ";
32494
+ const time = formatSessionTime(session.updatedAt);
32495
+ const path = formatPath(session.cwd);
32496
+ const processing = session.isProcessing ? " (processing)" : "";
32497
+ return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32498
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
32499
+ inverse: isSelected,
32500
+ color: isActive ? "green" : undefined,
32501
+ dimColor: !isSelected && !isActive,
32502
+ children: [
32503
+ prefix,
32504
+ " ",
32505
+ index + 1,
32506
+ ". ",
32507
+ time,
32508
+ " ",
32509
+ path,
32510
+ processing
32511
+ ]
32512
+ }, undefined, true, undefined, this)
32513
+ }, session.id, false, undefined, this);
32514
+ }),
32515
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32516
+ marginTop: 1,
32517
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
32518
+ inverse: selectedIndex === sessions.length,
32519
+ dimColor: selectedIndex !== sessions.length,
32520
+ children: "+ New session (n)"
32521
+ }, undefined, false, undefined, this)
32522
+ }, undefined, false, undefined, this),
32523
+ /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32524
+ marginTop: 1,
32525
+ children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
32526
+ dimColor: true,
32527
+ children: [
32528
+ "Enter to select | Esc to cancel | 1-",
32529
+ sessions.length,
32530
+ " to switch | n for new"
32531
+ ]
32532
+ }, undefined, true, undefined, this)
32533
+ }, undefined, false, undefined, this)
32534
+ ]
32535
+ }, undefined, true, undefined, this);
32536
+ }
32537
+
32538
+ // packages/terminal/src/components/App.tsx
32539
+ var jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
32223
32540
  function formatToolName(toolCall) {
32224
32541
  const { name, input } = toolCall;
32225
32542
  switch (name) {
@@ -32246,27 +32563,183 @@ function formatToolName(toolCall) {
32246
32563
  }
32247
32564
  function App2({ cwd: cwd2 }) {
32248
32565
  const { exit } = use_app_default();
32249
- const [client, setClient] = import_react26.useState(null);
32250
- const [messages, setMessages] = import_react26.useState([]);
32251
- const [currentResponse, setCurrentResponse] = import_react26.useState("");
32252
- const [currentToolCall, setCurrentToolCall] = import_react26.useState();
32253
- const [lastToolResult, setLastToolResult] = import_react26.useState();
32254
- const [isProcessing, setIsProcessing] = import_react26.useState(false);
32255
- const [isInitializing, setIsInitializing] = import_react26.useState(true);
32256
- const [error, setError] = import_react26.useState(null);
32257
- const [messageQueue, setMessageQueue] = import_react26.useState([]);
32258
- const [activityLog, setActivityLog] = import_react26.useState([]);
32259
- const [tokenUsage, setTokenUsage] = import_react26.useState();
32260
- const [processingStartTime, setProcessingStartTime] = import_react26.useState();
32261
- const [currentTurnTokens, setCurrentTurnTokens] = import_react26.useState(0);
32262
- const [scrollOffset, setScrollOffset] = import_react26.useState(0);
32263
- const [autoScroll, setAutoScroll] = import_react26.useState(true);
32264
- const responseRef = import_react26.useRef("");
32265
- const clientRef = import_react26.useRef(null);
32266
- const toolCallsRef = import_react26.useRef([]);
32267
- const toolResultsRef = import_react26.useRef([]);
32268
- const processQueue = import_react26.useCallback(async () => {
32269
- if (!clientRef.current || messageQueue.length === 0)
32566
+ const [registry2] = import_react27.useState(() => new SessionRegistry);
32567
+ const registryRef = import_react27.useRef(registry2);
32568
+ const [activeSessionId, setActiveSessionId] = import_react27.useState(null);
32569
+ const [isInitializing, setIsInitializing] = import_react27.useState(true);
32570
+ const [showSessionSelector, setShowSessionSelector] = import_react27.useState(false);
32571
+ const sessionUIStates = import_react27.useRef(new Map);
32572
+ const [messages, setMessages] = import_react27.useState([]);
32573
+ const [currentResponse, setCurrentResponse] = import_react27.useState("");
32574
+ const [currentToolCall, setCurrentToolCall] = import_react27.useState();
32575
+ const [isProcessing, setIsProcessing] = import_react27.useState(false);
32576
+ const [error, setError] = import_react27.useState(null);
32577
+ const [messageQueue, setMessageQueue] = import_react27.useState([]);
32578
+ const [activityLog, setActivityLog] = import_react27.useState([]);
32579
+ const [tokenUsage, setTokenUsage] = import_react27.useState();
32580
+ const [processingStartTime, setProcessingStartTime] = import_react27.useState();
32581
+ const [currentTurnTokens, setCurrentTurnTokens] = import_react27.useState(0);
32582
+ const [scrollOffset, setScrollOffset] = import_react27.useState(0);
32583
+ const [autoScroll, setAutoScroll] = import_react27.useState(true);
32584
+ const responseRef = import_react27.useRef("");
32585
+ const toolCallsRef = import_react27.useRef([]);
32586
+ const toolResultsRef = import_react27.useRef([]);
32587
+ const activityLogRef = import_react27.useRef([]);
32588
+ const saveCurrentSessionState = import_react27.useCallback(() => {
32589
+ if (activeSessionId) {
32590
+ sessionUIStates.current.set(activeSessionId, {
32591
+ messages,
32592
+ currentResponse: responseRef.current,
32593
+ activityLog: activityLogRef.current,
32594
+ tokenUsage,
32595
+ processingStartTime,
32596
+ currentTurnTokens,
32597
+ messageQueue,
32598
+ error
32599
+ });
32600
+ }
32601
+ }, [activeSessionId, messages, tokenUsage, processingStartTime, currentTurnTokens, messageQueue, error]);
32602
+ const loadSessionState = import_react27.useCallback((sessionId) => {
32603
+ const state = sessionUIStates.current.get(sessionId);
32604
+ if (state) {
32605
+ setMessages(state.messages);
32606
+ setCurrentResponse(state.currentResponse);
32607
+ responseRef.current = state.currentResponse;
32608
+ setActivityLog(state.activityLog);
32609
+ activityLogRef.current = state.activityLog;
32610
+ setTokenUsage(state.tokenUsage);
32611
+ setProcessingStartTime(state.processingStartTime);
32612
+ setCurrentTurnTokens(state.currentTurnTokens);
32613
+ setMessageQueue(state.messageQueue);
32614
+ setError(state.error);
32615
+ } else {
32616
+ setMessages([]);
32617
+ setCurrentResponse("");
32618
+ responseRef.current = "";
32619
+ setActivityLog([]);
32620
+ activityLogRef.current = [];
32621
+ setTokenUsage(undefined);
32622
+ setProcessingStartTime(undefined);
32623
+ setCurrentTurnTokens(0);
32624
+ setMessageQueue([]);
32625
+ setError(null);
32626
+ }
32627
+ setScrollOffset(0);
32628
+ setAutoScroll(true);
32629
+ }, []);
32630
+ const handleChunk = import_react27.useCallback((chunk) => {
32631
+ if (chunk.type === "text" && chunk.content) {
32632
+ responseRef.current += chunk.content;
32633
+ setCurrentResponse(responseRef.current);
32634
+ } else if (chunk.type === "tool_use" && chunk.toolCall) {
32635
+ if (responseRef.current.trim()) {
32636
+ const textEntry = {
32637
+ id: generateId(),
32638
+ type: "text",
32639
+ content: responseRef.current,
32640
+ timestamp: now()
32641
+ };
32642
+ activityLogRef.current = [...activityLogRef.current, textEntry];
32643
+ setActivityLog(activityLogRef.current);
32644
+ setCurrentResponse("");
32645
+ responseRef.current = "";
32646
+ }
32647
+ toolCallsRef.current.push(chunk.toolCall);
32648
+ const toolEntry = {
32649
+ id: generateId(),
32650
+ type: "tool_call",
32651
+ toolCall: chunk.toolCall,
32652
+ timestamp: now()
32653
+ };
32654
+ activityLogRef.current = [...activityLogRef.current, toolEntry];
32655
+ setActivityLog(activityLogRef.current);
32656
+ setCurrentToolCall(chunk.toolCall);
32657
+ } else if (chunk.type === "tool_result" && chunk.toolResult) {
32658
+ toolResultsRef.current.push(chunk.toolResult);
32659
+ const resultEntry = {
32660
+ id: generateId(),
32661
+ type: "tool_result",
32662
+ toolResult: chunk.toolResult,
32663
+ timestamp: now()
32664
+ };
32665
+ activityLogRef.current = [...activityLogRef.current, resultEntry];
32666
+ setActivityLog(activityLogRef.current);
32667
+ setCurrentToolCall(undefined);
32668
+ } else if (chunk.type === "error" && chunk.error) {
32669
+ setError(chunk.error);
32670
+ setIsProcessing(false);
32671
+ } else if (chunk.type === "exit") {
32672
+ registry2.closeAll();
32673
+ exit();
32674
+ } else if (chunk.type === "usage" && chunk.usage) {
32675
+ setTokenUsage(chunk.usage);
32676
+ setCurrentTurnTokens((prev) => prev + (chunk.usage?.outputTokens || 0));
32677
+ } else if (chunk.type === "done") {
32678
+ if (responseRef.current.trim()) {
32679
+ const textEntry = {
32680
+ id: generateId(),
32681
+ type: "text",
32682
+ content: responseRef.current,
32683
+ timestamp: now()
32684
+ };
32685
+ activityLogRef.current = [...activityLogRef.current, textEntry];
32686
+ }
32687
+ const fullContent = activityLogRef.current.filter((e) => e.type === "text").map((e) => e.content).join(`
32688
+ `) + (responseRef.current ? `
32689
+ ` + responseRef.current : "");
32690
+ if (fullContent.trim() || toolCallsRef.current.length > 0) {
32691
+ setMessages((prev) => [
32692
+ ...prev,
32693
+ {
32694
+ id: generateId(),
32695
+ role: "assistant",
32696
+ content: fullContent.trim(),
32697
+ timestamp: now(),
32698
+ toolCalls: toolCallsRef.current.length > 0 ? [...toolCallsRef.current] : undefined,
32699
+ toolResults: toolResultsRef.current.length > 0 ? [...toolResultsRef.current] : undefined
32700
+ }
32701
+ ]);
32702
+ }
32703
+ setCurrentResponse("");
32704
+ responseRef.current = "";
32705
+ toolCallsRef.current = [];
32706
+ toolResultsRef.current = [];
32707
+ setCurrentToolCall(undefined);
32708
+ setActivityLog([]);
32709
+ activityLogRef.current = [];
32710
+ setProcessingStartTime(undefined);
32711
+ setCurrentTurnTokens(0);
32712
+ setIsProcessing(false);
32713
+ const activeSession2 = registry2.getActiveSession();
32714
+ if (activeSession2) {
32715
+ setTokenUsage(activeSession2.client.getTokenUsage());
32716
+ }
32717
+ }
32718
+ }, [registry2, exit]);
32719
+ import_react27.useEffect(() => {
32720
+ const initSession = async () => {
32721
+ try {
32722
+ registry2.onChunk(handleChunk);
32723
+ registry2.onError((err) => {
32724
+ setError(err.message);
32725
+ setIsProcessing(false);
32726
+ });
32727
+ const session = await registry2.createSession(cwd2);
32728
+ setActiveSessionId(session.id);
32729
+ setIsInitializing(false);
32730
+ } catch (err) {
32731
+ setError(err instanceof Error ? err.message : String(err));
32732
+ setIsInitializing(false);
32733
+ }
32734
+ };
32735
+ initSession();
32736
+ return () => {
32737
+ registry2.closeAll();
32738
+ };
32739
+ }, [cwd2, registry2, handleChunk]);
32740
+ const processQueue = import_react27.useCallback(async () => {
32741
+ const activeSession2 = registryRef.current.getActiveSession();
32742
+ if (!activeSession2 || messageQueue.length === 0)
32270
32743
  return;
32271
32744
  const nextMessage = messageQueue[0];
32272
32745
  setMessageQueue((prev) => prev.slice(1));
@@ -32283,129 +32756,20 @@ function App2({ cwd: cwd2 }) {
32283
32756
  toolResultsRef.current = [];
32284
32757
  setError(null);
32285
32758
  setCurrentToolCall(undefined);
32286
- setLastToolResult(undefined);
32287
32759
  setActivityLog([]);
32760
+ activityLogRef.current = [];
32288
32761
  setProcessingStartTime(Date.now());
32289
32762
  setCurrentTurnTokens(0);
32290
32763
  setIsProcessing(true);
32291
- await clientRef.current.send(nextMessage);
32764
+ registryRef.current.setProcessing(activeSession2.id, true);
32765
+ await activeSession2.client.send(nextMessage);
32292
32766
  }, [messageQueue]);
32293
- import_react26.useEffect(() => {
32294
- const initClient = async () => {
32295
- try {
32296
- const newClient = new EmbeddedClient(cwd2);
32297
- clientRef.current = newClient;
32298
- newClient.onChunk((chunk) => {
32299
- if (chunk.type === "text" && chunk.content) {
32300
- responseRef.current += chunk.content;
32301
- setCurrentResponse(responseRef.current);
32302
- } else if (chunk.type === "tool_use" && chunk.toolCall) {
32303
- if (responseRef.current.trim()) {
32304
- setActivityLog((prev) => [
32305
- ...prev,
32306
- {
32307
- id: generateId(),
32308
- type: "text",
32309
- content: responseRef.current,
32310
- timestamp: now()
32311
- }
32312
- ]);
32313
- setCurrentResponse("");
32314
- responseRef.current = "";
32315
- }
32316
- toolCallsRef.current.push(chunk.toolCall);
32317
- setActivityLog((prev) => [
32318
- ...prev,
32319
- {
32320
- id: generateId(),
32321
- type: "tool_call",
32322
- toolCall: chunk.toolCall,
32323
- timestamp: now()
32324
- }
32325
- ]);
32326
- setCurrentToolCall(chunk.toolCall);
32327
- } else if (chunk.type === "tool_result" && chunk.toolResult) {
32328
- toolResultsRef.current.push(chunk.toolResult);
32329
- setActivityLog((prev) => [
32330
- ...prev,
32331
- {
32332
- id: generateId(),
32333
- type: "tool_result",
32334
- toolResult: chunk.toolResult,
32335
- timestamp: now()
32336
- }
32337
- ]);
32338
- setCurrentToolCall(undefined);
32339
- } else if (chunk.type === "error" && chunk.error) {
32340
- setError(chunk.error);
32341
- setIsProcessing(false);
32342
- } else if (chunk.type === "exit") {
32343
- exit();
32344
- } else if (chunk.type === "usage" && chunk.usage) {
32345
- setTokenUsage(chunk.usage);
32346
- setCurrentTurnTokens((prev) => prev + (chunk.usage?.outputTokens || 0));
32347
- } else if (chunk.type === "done") {
32348
- if (responseRef.current.trim()) {
32349
- setActivityLog((prev) => [
32350
- ...prev,
32351
- {
32352
- id: generateId(),
32353
- type: "text",
32354
- content: responseRef.current,
32355
- timestamp: now()
32356
- }
32357
- ]);
32358
- }
32359
- const fullContent = activityLog.filter((e) => e.type === "text").map((e) => e.content).join(`
32360
- `) + (responseRef.current ? `
32361
- ` + responseRef.current : "");
32362
- if (fullContent.trim() || toolCallsRef.current.length > 0) {
32363
- setMessages((prev) => [
32364
- ...prev,
32365
- {
32366
- id: generateId(),
32367
- role: "assistant",
32368
- content: fullContent.trim(),
32369
- timestamp: now(),
32370
- toolCalls: toolCallsRef.current.length > 0 ? [...toolCallsRef.current] : undefined,
32371
- toolResults: toolResultsRef.current.length > 0 ? [...toolResultsRef.current] : undefined
32372
- }
32373
- ]);
32374
- }
32375
- setCurrentResponse("");
32376
- responseRef.current = "";
32377
- toolCallsRef.current = [];
32378
- toolResultsRef.current = [];
32379
- setCurrentToolCall(undefined);
32380
- setActivityLog([]);
32381
- setProcessingStartTime(undefined);
32382
- setCurrentTurnTokens(0);
32383
- setIsProcessing(false);
32384
- if (newClient) {
32385
- setTokenUsage(newClient.getTokenUsage());
32386
- }
32387
- }
32388
- });
32389
- newClient.onError((err) => {
32390
- setError(err.message);
32391
- setIsProcessing(false);
32392
- });
32393
- await newClient.initialize();
32394
- setClient(newClient);
32395
- setIsInitializing(false);
32396
- } catch (err) {
32397
- setError(err instanceof Error ? err.message : String(err));
32398
- setIsInitializing(false);
32399
- }
32400
- };
32401
- initClient();
32402
- }, [cwd2]);
32403
- import_react26.useEffect(() => {
32767
+ import_react27.useEffect(() => {
32404
32768
  if (!isProcessing && messageQueue.length > 0) {
32405
32769
  processQueue();
32406
32770
  }
32407
32771
  }, [isProcessing, messageQueue.length, processQueue]);
32408
- import_react26.useEffect(() => {
32772
+ import_react27.useEffect(() => {
32409
32773
  if (autoScroll) {
32410
32774
  setScrollOffset(0);
32411
32775
  }
@@ -32413,10 +32777,48 @@ function App2({ cwd: cwd2 }) {
32413
32777
  const baseMaxVisible = 10;
32414
32778
  const toolCallsHeight = isProcessing ? Math.min(toolCallsRef.current.length, 5) : 0;
32415
32779
  const maxVisibleMessages = Math.max(3, baseMaxVisible - toolCallsHeight);
32780
+ const sessions = registry2.listSessions();
32781
+ const activeSession = registry2.getActiveSession();
32782
+ const sessionIndex = activeSessionId ? registry2.getSessionIndex(activeSessionId) : 0;
32783
+ const sessionCount = registry2.getSessionCount();
32784
+ const backgroundProcessingCount = registry2.getBackgroundProcessingSessions().length;
32785
+ const handleSessionSwitch = import_react27.useCallback(async (sessionId) => {
32786
+ if (sessionId === activeSessionId) {
32787
+ setShowSessionSelector(false);
32788
+ return;
32789
+ }
32790
+ saveCurrentSessionState();
32791
+ await registry2.switchSession(sessionId);
32792
+ setActiveSessionId(sessionId);
32793
+ loadSessionState(sessionId);
32794
+ const session = registry2.getSession(sessionId);
32795
+ if (session) {
32796
+ setIsProcessing(session.isProcessing);
32797
+ }
32798
+ setShowSessionSelector(false);
32799
+ }, [activeSessionId, registry2, saveCurrentSessionState, loadSessionState]);
32800
+ const handleNewSession = import_react27.useCallback(async () => {
32801
+ saveCurrentSessionState();
32802
+ const newSession = await registry2.createSession(cwd2);
32803
+ await registry2.switchSession(newSession.id);
32804
+ setActiveSessionId(newSession.id);
32805
+ loadSessionState(newSession.id);
32806
+ setIsProcessing(false);
32807
+ setShowSessionSelector(false);
32808
+ }, [cwd2, registry2, saveCurrentSessionState, loadSessionState]);
32416
32809
  use_input_default((input, key) => {
32810
+ if (showSessionSelector) {
32811
+ return;
32812
+ }
32813
+ if (key.ctrl && input === "s") {
32814
+ if (sessions.length > 0) {
32815
+ setShowSessionSelector(true);
32816
+ }
32817
+ return;
32818
+ }
32417
32819
  if (key.ctrl && input === "c") {
32418
- if (isProcessing && client) {
32419
- client.stop();
32820
+ if (isProcessing && activeSession) {
32821
+ activeSession.client.stop();
32420
32822
  if (responseRef.current) {
32421
32823
  setMessages((prev) => [
32422
32824
  ...prev,
@@ -32434,27 +32836,30 @@ function App2({ cwd: cwd2 }) {
32434
32836
  }
32435
32837
  setIsProcessing(false);
32436
32838
  } else {
32839
+ registry2.closeAll();
32437
32840
  exit();
32438
32841
  }
32439
32842
  }
32440
- if (key.escape && isProcessing && client) {
32441
- client.stop();
32442
- if (responseRef.current) {
32443
- setMessages((prev) => [
32444
- ...prev,
32445
- {
32446
- id: generateId(),
32447
- role: "assistant",
32448
- content: responseRef.current + `
32843
+ if (key.escape) {
32844
+ if (isProcessing && activeSession) {
32845
+ activeSession.client.stop();
32846
+ if (responseRef.current) {
32847
+ setMessages((prev) => [
32848
+ ...prev,
32849
+ {
32850
+ id: generateId(),
32851
+ role: "assistant",
32852
+ content: responseRef.current + `
32449
32853
 
32450
32854
  [stopped]`,
32451
- timestamp: now()
32452
- }
32453
- ]);
32454
- setCurrentResponse("");
32455
- responseRef.current = "";
32855
+ timestamp: now()
32856
+ }
32857
+ ]);
32858
+ setCurrentResponse("");
32859
+ responseRef.current = "";
32860
+ }
32861
+ setIsProcessing(false);
32456
32862
  }
32457
- setIsProcessing(false);
32458
32863
  }
32459
32864
  if (key.pageUp || key.shift && key.upArrow) {
32460
32865
  setScrollOffset((prev) => {
@@ -32483,16 +32888,30 @@ function App2({ cwd: cwd2 }) {
32483
32888
  setAutoScroll(true);
32484
32889
  }
32485
32890
  });
32486
- const handleSubmit = import_react26.useCallback(async (input, mode = "normal") => {
32487
- if (!client || !input.trim())
32891
+ const handleSubmit = import_react27.useCallback(async (input, mode = "normal") => {
32892
+ if (!activeSession || !input.trim())
32488
32893
  return;
32489
32894
  const trimmedInput = input.trim();
32895
+ if (trimmedInput.startsWith("/session")) {
32896
+ const arg = trimmedInput.slice(8).trim();
32897
+ if (arg === "new") {
32898
+ await handleNewSession();
32899
+ return;
32900
+ }
32901
+ const num = parseInt(arg, 10);
32902
+ if (!isNaN(num) && num > 0 && num <= sessions.length) {
32903
+ await handleSessionSwitch(sessions[num - 1].id);
32904
+ return;
32905
+ }
32906
+ setShowSessionSelector(true);
32907
+ return;
32908
+ }
32490
32909
  if (mode === "queue" || isProcessing && mode === "normal") {
32491
32910
  setMessageQueue((prev) => [...prev, trimmedInput]);
32492
32911
  return;
32493
32912
  }
32494
32913
  if (mode === "interrupt" && isProcessing) {
32495
- client.stop();
32914
+ activeSession.client.stop();
32496
32915
  if (responseRef.current) {
32497
32916
  setMessages((prev) => [
32498
32917
  ...prev,
@@ -32524,39 +32943,65 @@ function App2({ cwd: cwd2 }) {
32524
32943
  toolResultsRef.current = [];
32525
32944
  setError(null);
32526
32945
  setCurrentToolCall(undefined);
32527
- setLastToolResult(undefined);
32528
32946
  setActivityLog([]);
32947
+ activityLogRef.current = [];
32529
32948
  setProcessingStartTime(Date.now());
32530
32949
  setCurrentTurnTokens(0);
32531
32950
  setIsProcessing(true);
32532
- await client.send(trimmedInput);
32533
- }, [client, isProcessing]);
32951
+ registry2.setProcessing(activeSession.id, true);
32952
+ await activeSession.client.send(trimmedInput);
32953
+ }, [activeSession, isProcessing, registry2, sessions, handleNewSession, handleSessionSwitch]);
32534
32954
  if (isInitializing) {
32535
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32955
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
32536
32956
  flexDirection: "column",
32537
32957
  padding: 1,
32538
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Spinner2, {
32958
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Spinner2, {
32539
32959
  label: "Initializing..."
32540
32960
  }, undefined, false, undefined, this)
32541
32961
  }, undefined, false, undefined, this);
32542
32962
  }
32963
+ if (showSessionSelector) {
32964
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
32965
+ flexDirection: "column",
32966
+ padding: 1,
32967
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(SessionSelector, {
32968
+ sessions,
32969
+ activeSessionId,
32970
+ onSelect: handleSessionSwitch,
32971
+ onNew: handleNewSession,
32972
+ onCancel: () => setShowSessionSelector(false)
32973
+ }, undefined, false, undefined, this)
32974
+ }, undefined, false, undefined, this);
32975
+ }
32543
32976
  const toolCallEntries = activityLog.filter((e) => e.type === "tool_call" && e.toolCall).map((e) => {
32544
32977
  const result = activityLog.find((r) => r.type === "tool_result" && r.toolResult?.toolCallId === e.toolCall?.id)?.toolResult;
32545
32978
  return { toolCall: e.toolCall, result };
32546
32979
  });
32547
32980
  const isThinking = isProcessing && !currentResponse && !currentToolCall && toolCallEntries.length === 0;
32548
32981
  const showWelcome = messages.length === 0 && !isProcessing;
32549
- return /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32982
+ return /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
32550
32983
  flexDirection: "column",
32551
32984
  padding: 1,
32552
32985
  children: [
32553
- showWelcome && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(WelcomeBanner, {
32986
+ showWelcome && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(WelcomeBanner, {
32554
32987
  version: "0.4.1",
32555
32988
  model: "claude-sonnet-4",
32556
- directory: cwd2
32989
+ directory: activeSession?.cwd || cwd2
32557
32990
  }, undefined, false, undefined, this),
32558
- scrollOffset > 0 && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
32559
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
32991
+ backgroundProcessingCount > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
32992
+ marginBottom: 1,
32993
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
32994
+ color: "yellow",
32995
+ children: [
32996
+ backgroundProcessingCount,
32997
+ " session",
32998
+ backgroundProcessingCount > 1 ? "s" : "",
32999
+ " processing in background (Ctrl+S to switch)"
33000
+ ]
33001
+ }, undefined, true, undefined, this)
33002
+ }, undefined, false, undefined, this),
33003
+ scrollOffset > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
33004
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
32560
33005
  dimColor: true,
32561
33006
  children: [
32562
33007
  "\u2191 ",
@@ -32565,7 +33010,7 @@ function App2({ cwd: cwd2 }) {
32565
33010
  ]
32566
33011
  }, undefined, true, undefined, this)
32567
33012
  }, undefined, false, undefined, this),
32568
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Messages4, {
33013
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Messages4, {
32569
33014
  messages,
32570
33015
  currentResponse: isProcessing ? currentResponse : undefined,
32571
33016
  currentToolCall: undefined,
@@ -32574,9 +33019,9 @@ function App2({ cwd: cwd2 }) {
32574
33019
  scrollOffset,
32575
33020
  maxVisible: maxVisibleMessages
32576
33021
  }, undefined, false, undefined, this),
32577
- isProcessing && toolCallEntries.length > 0 && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
33022
+ isProcessing && toolCallEntries.length > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
32578
33023
  marginY: 1,
32579
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
33024
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
32580
33025
  dimColor: true,
32581
33026
  children: [
32582
33027
  "\u2699 ",
@@ -32589,9 +33034,9 @@ function App2({ cwd: cwd2 }) {
32589
33034
  ]
32590
33035
  }, undefined, true, undefined, this)
32591
33036
  }, undefined, false, undefined, this),
32592
- messageQueue.length > 0 && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
33037
+ messageQueue.length > 0 && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
32593
33038
  marginY: 1,
32594
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
33039
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
32595
33040
  dimColor: true,
32596
33041
  children: [
32597
33042
  messageQueue.length,
@@ -32601,9 +33046,9 @@ function App2({ cwd: cwd2 }) {
32601
33046
  ]
32602
33047
  }, undefined, true, undefined, this)
32603
33048
  }, undefined, false, undefined, this),
32604
- error && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
33049
+ error && /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Box_default, {
32605
33050
  marginY: 1,
32606
- children: /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
33051
+ children: /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Text, {
32607
33052
  color: "red",
32608
33053
  children: [
32609
33054
  "Error: ",
@@ -32611,29 +33056,32 @@ function App2({ cwd: cwd2 }) {
32611
33056
  ]
32612
33057
  }, undefined, true, undefined, this)
32613
33058
  }, undefined, false, undefined, this),
32614
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(ProcessingIndicator, {
33059
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(ProcessingIndicator, {
32615
33060
  isProcessing,
32616
33061
  startTime: processingStartTime,
32617
33062
  tokenCount: currentTurnTokens,
32618
33063
  isThinking
32619
33064
  }, undefined, false, undefined, this),
32620
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Input, {
33065
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Input, {
32621
33066
  onSubmit: handleSubmit,
32622
33067
  isProcessing,
32623
33068
  queueLength: messageQueue.length
32624
33069
  }, undefined, false, undefined, this),
32625
- /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Status, {
33070
+ /* @__PURE__ */ jsx_dev_runtime9.jsxDEV(Status, {
32626
33071
  isProcessing,
32627
- cwd: cwd2,
33072
+ cwd: activeSession?.cwd || cwd2,
32628
33073
  queueLength: messageQueue.length,
32629
- tokenUsage
33074
+ tokenUsage,
33075
+ sessionIndex,
33076
+ sessionCount,
33077
+ backgroundProcessingCount
32630
33078
  }, undefined, false, undefined, this)
32631
33079
  ]
32632
33080
  }, undefined, true, undefined, this);
32633
33081
  }
32634
33082
 
32635
33083
  // packages/terminal/src/index.tsx
32636
- var jsx_dev_runtime9 = __toESM(require_jsx_dev_runtime(), 1);
33084
+ var jsx_dev_runtime10 = __toESM(require_jsx_dev_runtime(), 1);
32637
33085
  var args = process.argv.slice(2);
32638
33086
  var options = {
32639
33087
  cwd: process.cwd(),
@@ -32665,11 +33113,11 @@ In interactive mode:
32665
33113
  `);
32666
33114
  process.exit(0);
32667
33115
  }
32668
- var { waitUntilExit } = render_default(/* @__PURE__ */ jsx_dev_runtime9.jsxDEV(App2, {
33116
+ var { waitUntilExit } = render_default(/* @__PURE__ */ jsx_dev_runtime10.jsxDEV(App2, {
32669
33117
  cwd: options.cwd
32670
33118
  }, undefined, false, undefined, this));
32671
33119
  waitUntilExit().then(() => {
32672
33120
  process.exit(0);
32673
33121
  });
32674
33122
 
32675
- //# debugId=165DC707B2BFFF8564756E2164756E21
33123
+ //# debugId=0B62EA62411114A964756E2164756E21