@codexhost/cli-darwin-x64 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20183,6 +20183,7 @@ var KiroAcpTransport = class {
20183
20183
  #replay = null;
20184
20184
  #sessionId = null;
20185
20185
  #stderrTail = "";
20186
+ #configUpdates = /* @__PURE__ */ new Set();
20186
20187
  constructor(options) {
20187
20188
  this.#options = options;
20188
20189
  this.#commandTimeoutMs = options.commandTimeoutMs ?? 3e4;
@@ -20341,13 +20342,28 @@ var KiroAcpTransport = class {
20341
20342
  };
20342
20343
  }
20343
20344
  async #setConfigOptionOnSession(connection, sessionId, configId, value) {
20345
+ const confirmation = Promise.withResolvers();
20346
+ const listener = {
20347
+ update: (params) => {
20348
+ if (params.sessionId !== sessionId || params.update.sessionUpdate !== "config_option_update")
20349
+ return;
20350
+ try {
20351
+ confirmation.resolve(confirmedKiroConfig(params.update, configId, value));
20352
+ } catch {
20353
+ }
20354
+ },
20355
+ cancel: () => confirmation.reject(new KiroTransportError("unavailable", "Kiro Session closed during configuration"))
20356
+ };
20357
+ void confirmation.promise.catch(() => void 0);
20358
+ this.#configUpdates.add(listener);
20344
20359
  try {
20345
- const result = await withTimeout(connection.setSessionConfigOption({
20346
- sessionId,
20347
- configId,
20348
- value
20349
- }), this.#commandTimeoutMs, `Kiro set_config_option (${configId})`);
20350
- return confirmedKiroConfig(result, configId, value);
20360
+ return await withTimeout((async () => {
20361
+ const result = await connection.setSessionConfigOption({ sessionId, configId, value });
20362
+ if (configId === "model" && Array.isArray(result.configOptions) && !result.configOptions.some((option) => option.id === "model")) {
20363
+ return confirmation.promise;
20364
+ }
20365
+ return confirmedKiroConfig(result, configId, value);
20366
+ })(), this.#commandTimeoutMs, `Kiro set_config_option (${configId})`);
20351
20367
  } catch (error51) {
20352
20368
  if (error51 instanceof KiroRequestTimeoutError) {
20353
20369
  this.#fault(error51);
@@ -20356,6 +20372,8 @@ var KiroAcpTransport = class {
20356
20372
  throw new KiroTransportError("unavailable", `Failed to set ${configId} config option`, {
20357
20373
  cause: error51
20358
20374
  });
20375
+ } finally {
20376
+ this.#configUpdates.delete(listener);
20359
20377
  }
20360
20378
  }
20361
20379
  async #forkSession(params) {
@@ -20506,6 +20524,8 @@ var KiroAcpTransport = class {
20506
20524
  return initialize;
20507
20525
  }
20508
20526
  #handleUpdate(params) {
20527
+ for (const listener of this.#configUpdates)
20528
+ listener.update(params);
20509
20529
  const update = params.update;
20510
20530
  const meta3 = isRecord4(update) && isRecord4(update._meta) ? update._meta : void 0;
20511
20531
  const kiroMeta = meta3 && isRecord4(meta3.kiro) ? meta3.kiro : void 0;
@@ -20608,6 +20628,9 @@ var KiroAcpTransport = class {
20608
20628
  return;
20609
20629
  this.#closed = true;
20610
20630
  this.#closing = true;
20631
+ for (const listener of this.#configUpdates)
20632
+ listener.cancel();
20633
+ this.#configUpdates.clear();
20611
20634
  try {
20612
20635
  if (this.#child) {
20613
20636
  const child = this.#child;