chatroom-cli 1.96.0 → 1.97.0

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
@@ -32087,10 +32087,10 @@ var init_cursor_sdk = __esm(() => {
32087
32087
  init_cursor_sdk_stream_adapter();
32088
32088
  });
32089
32089
 
32090
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/types.gen.js
32090
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/types.gen.js
32091
32091
  var init_types_gen = () => {};
32092
32092
 
32093
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
32093
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
32094
32094
  var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) => {
32095
32095
  let lastEventId;
32096
32096
  const sleep5 = sseSleepFn ?? ((ms) => new Promise((resolve2) => setTimeout(resolve2, ms)));
@@ -32199,7 +32199,7 @@ var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseVa
32199
32199
  return { stream };
32200
32200
  };
32201
32201
 
32202
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.js
32202
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.js
32203
32203
  var getAuthToken = async (auth, callback) => {
32204
32204
  const token = typeof callback === "function" ? await callback(auth) : callback;
32205
32205
  if (!token) {
@@ -32214,7 +32214,7 @@ var getAuthToken = async (auth, callback) => {
32214
32214
  return token;
32215
32215
  };
32216
32216
 
32217
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.js
32217
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.js
32218
32218
  var jsonBodySerializer;
32219
32219
  var init_bodySerializer_gen = __esm(() => {
32220
32220
  jsonBodySerializer = {
@@ -32222,7 +32222,7 @@ var init_bodySerializer_gen = __esm(() => {
32222
32222
  };
32223
32223
  });
32224
32224
 
32225
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.js
32225
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.js
32226
32226
  var separatorArrayExplode = (style) => {
32227
32227
  switch (style) {
32228
32228
  case "label":
@@ -32320,7 +32320,7 @@ var separatorArrayExplode = (style) => {
32320
32320
  return style === "label" || style === "matrix" ? separator + joinedValues : joinedValues;
32321
32321
  };
32322
32322
 
32323
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.js
32323
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.js
32324
32324
  var PATH_PARAM_RE, defaultPathSerializer = ({ path, url: _url }) => {
32325
32325
  let url = _url;
32326
32326
  const matches = _url.match(PATH_PARAM_RE);
@@ -32389,7 +32389,7 @@ var init_utils_gen = __esm(() => {
32389
32389
  PATH_PARAM_RE = /\{[^{}]+\}/g;
32390
32390
  });
32391
32391
 
32392
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.js
32392
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.js
32393
32393
  class Interceptors {
32394
32394
  _fns;
32395
32395
  constructor() {
@@ -32592,7 +32592,7 @@ var init_utils_gen2 = __esm(() => {
32592
32592
  };
32593
32593
  });
32594
32594
 
32595
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.js
32595
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.js
32596
32596
  var createClient = (config2 = {}) => {
32597
32597
  let _config = mergeConfigs(createConfig(), config2);
32598
32598
  const getConfig2 = () => ({ ..._config });
@@ -32743,7 +32743,7 @@ var init_client_gen = __esm(() => {
32743
32743
  init_utils_gen2();
32744
32744
  });
32745
32745
 
32746
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.js
32746
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.js
32747
32747
  var extraPrefixesMap, extraPrefixes;
32748
32748
  var init_params_gen = __esm(() => {
32749
32749
  extraPrefixesMap = {
@@ -32755,7 +32755,7 @@ var init_params_gen = __esm(() => {
32755
32755
  extraPrefixes = Object.entries(extraPrefixesMap);
32756
32756
  });
32757
32757
 
32758
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/client/index.js
32758
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client/index.js
32759
32759
  var init_client3 = __esm(() => {
32760
32760
  init_bodySerializer_gen();
32761
32761
  init_params_gen();
@@ -32763,7 +32763,7 @@ var init_client3 = __esm(() => {
32763
32763
  init_utils_gen2();
32764
32764
  });
32765
32765
 
32766
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/client.gen.js
32766
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/client.gen.js
32767
32767
  var client2;
32768
32768
  var init_client_gen2 = __esm(() => {
32769
32769
  init_client3();
@@ -32772,7 +32772,7 @@ var init_client_gen2 = __esm(() => {
32772
32772
  }));
32773
32773
  });
32774
32774
 
32775
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.js
32775
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.js
32776
32776
  class _HeyApiClient {
32777
32777
  _client = client2;
32778
32778
  constructor(args2) {
@@ -33423,7 +33423,7 @@ var init_sdk_gen = __esm(() => {
33423
33423
  };
33424
33424
  });
33425
33425
 
33426
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/error-interceptor.js
33426
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/error-interceptor.js
33427
33427
  function wrapClientError(error, response, request2, opts) {
33428
33428
  if (!opts?.throwOnError)
33429
33429
  return error;
@@ -33450,7 +33450,7 @@ function describe(request2, response) {
33450
33450
  return `${method} ${url}${status3 ? " → " + status3 : ""}${statusText ? " " + statusText : ""}`;
33451
33451
  }
33452
33452
 
33453
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/client.js
33453
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/client.js
33454
33454
  function pick3(value, fallback) {
33455
33455
  if (!value)
33456
33456
  return;
@@ -33960,17 +33960,17 @@ var require_cross_spawn = __commonJS((exports, module) => {
33960
33960
  module.exports._enoent = enoent;
33961
33961
  });
33962
33962
 
33963
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/process.js
33963
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/process.js
33964
33964
  var init_process2 = () => {};
33965
33965
 
33966
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/server.js
33966
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/server.js
33967
33967
  var import_cross_spawn;
33968
33968
  var init_server2 = __esm(() => {
33969
33969
  init_process2();
33970
33970
  import_cross_spawn = __toESM(require_cross_spawn(), 1);
33971
33971
  });
33972
33972
 
33973
- // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.10/node_modules/@opencode-ai/sdk/dist/index.js
33973
+ // ../../node_modules/.pnpm/@opencode-ai+sdk@1.18.18/node_modules/@opencode-ai/sdk/dist/index.js
33974
33974
  var init_dist = __esm(() => {
33975
33975
  init_client4();
33976
33976
  init_server2();
@@ -42724,13 +42724,13 @@ var require_detect_libc = __commonJS((exports, module) => {
42724
42724
  };
42725
42725
  });
42726
42726
 
42727
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/debug.js
42727
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js
42728
42728
  var require_debug = __commonJS((exports, module) => {
42729
42729
  var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args2) => console.error("SEMVER", ...args2) : () => {};
42730
42730
  module.exports = debug;
42731
42731
  });
42732
42732
 
42733
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/constants.js
42733
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js
42734
42734
  var require_constants2 = __commonJS((exports, module) => {
42735
42735
  var SEMVER_SPEC_VERSION = "2.0.0";
42736
42736
  var MAX_LENGTH = 256;
@@ -42758,7 +42758,7 @@ var require_constants2 = __commonJS((exports, module) => {
42758
42758
  };
42759
42759
  });
42760
42760
 
42761
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/re.js
42761
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js
42762
42762
  var require_re = __commonJS((exports, module) => {
42763
42763
  var {
42764
42764
  MAX_SAFE_COMPONENT_LENGTH,
@@ -42843,7 +42843,7 @@ var require_re = __commonJS((exports, module) => {
42843
42843
  createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
42844
42844
  });
42845
42845
 
42846
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/parse-options.js
42846
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js
42847
42847
  var require_parse_options = __commonJS((exports, module) => {
42848
42848
  var looseOption = Object.freeze({ loose: true });
42849
42849
  var emptyOpts = Object.freeze({});
@@ -42859,7 +42859,7 @@ var require_parse_options = __commonJS((exports, module) => {
42859
42859
  module.exports = parseOptions;
42860
42860
  });
42861
42861
 
42862
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/identifiers.js
42862
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js
42863
42863
  var require_identifiers = __commonJS((exports, module) => {
42864
42864
  var numeric = /^[0-9]+$/;
42865
42865
  var compareIdentifiers = (a, b) => {
@@ -42881,13 +42881,25 @@ var require_identifiers = __commonJS((exports, module) => {
42881
42881
  };
42882
42882
  });
42883
42883
 
42884
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/classes/semver.js
42884
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js
42885
42885
  var require_semver = __commonJS((exports, module) => {
42886
42886
  var debug = require_debug();
42887
42887
  var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants2();
42888
42888
  var { safeRe: re, t } = require_re();
42889
42889
  var parseOptions = require_parse_options();
42890
42890
  var { compareIdentifiers } = require_identifiers();
42891
+ var isPrereleaseIdentifier = (prerelease, identifier2) => {
42892
+ const identifiers = identifier2.split(".");
42893
+ if (identifiers.length > prerelease.length) {
42894
+ return false;
42895
+ }
42896
+ for (let i2 = 0;i2 < identifiers.length; i2++) {
42897
+ if (compareIdentifiers(prerelease[i2], identifiers[i2]) !== 0) {
42898
+ return false;
42899
+ }
42900
+ }
42901
+ return true;
42902
+ };
42891
42903
 
42892
42904
  class SemVer {
42893
42905
  constructor(version2, options) {
@@ -43127,8 +43139,9 @@ var require_semver = __commonJS((exports, module) => {
43127
43139
  if (identifierBase === false) {
43128
43140
  prerelease = [identifier2];
43129
43141
  }
43130
- if (compareIdentifiers(this.prerelease[0], identifier2) === 0) {
43131
- if (isNaN(this.prerelease[1])) {
43142
+ if (isPrereleaseIdentifier(this.prerelease, identifier2)) {
43143
+ const prereleaseBase = this.prerelease[identifier2.split(".").length];
43144
+ if (isNaN(prereleaseBase)) {
43132
43145
  this.prerelease = prerelease;
43133
43146
  }
43134
43147
  } else {
@@ -43150,7 +43163,7 @@ var require_semver = __commonJS((exports, module) => {
43150
43163
  module.exports = SemVer;
43151
43164
  });
43152
43165
 
43153
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/parse.js
43166
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js
43154
43167
  var require_parse2 = __commonJS((exports, module) => {
43155
43168
  var SemVer = require_semver();
43156
43169
  var parse2 = (version2, options, throwErrors = false) => {
@@ -43169,7 +43182,7 @@ var require_parse2 = __commonJS((exports, module) => {
43169
43182
  module.exports = parse2;
43170
43183
  });
43171
43184
 
43172
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/coerce.js
43185
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js
43173
43186
  var require_coerce = __commonJS((exports, module) => {
43174
43187
  var SemVer = require_semver();
43175
43188
  var parse2 = require_parse2();
@@ -43212,21 +43225,21 @@ var require_coerce = __commonJS((exports, module) => {
43212
43225
  module.exports = coerce;
43213
43226
  });
43214
43227
 
43215
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/compare.js
43228
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js
43216
43229
  var require_compare = __commonJS((exports, module) => {
43217
43230
  var SemVer = require_semver();
43218
43231
  var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
43219
43232
  module.exports = compare;
43220
43233
  });
43221
43234
 
43222
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/gte.js
43235
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js
43223
43236
  var require_gte = __commonJS((exports, module) => {
43224
43237
  var compare = require_compare();
43225
43238
  var gte = (a, b, loose) => compare(a, b, loose) >= 0;
43226
43239
  module.exports = gte;
43227
43240
  });
43228
43241
 
43229
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/internal/lrucache.js
43242
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js
43230
43243
  var require_lrucache = __commonJS((exports, module) => {
43231
43244
  class LRUCache {
43232
43245
  constructor() {
@@ -43261,42 +43274,42 @@ var require_lrucache = __commonJS((exports, module) => {
43261
43274
  module.exports = LRUCache;
43262
43275
  });
43263
43276
 
43264
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/eq.js
43277
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js
43265
43278
  var require_eq = __commonJS((exports, module) => {
43266
43279
  var compare = require_compare();
43267
43280
  var eq = (a, b, loose) => compare(a, b, loose) === 0;
43268
43281
  module.exports = eq;
43269
43282
  });
43270
43283
 
43271
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/neq.js
43284
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js
43272
43285
  var require_neq = __commonJS((exports, module) => {
43273
43286
  var compare = require_compare();
43274
43287
  var neq = (a, b, loose) => compare(a, b, loose) !== 0;
43275
43288
  module.exports = neq;
43276
43289
  });
43277
43290
 
43278
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/gt.js
43291
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js
43279
43292
  var require_gt = __commonJS((exports, module) => {
43280
43293
  var compare = require_compare();
43281
43294
  var gt = (a, b, loose) => compare(a, b, loose) > 0;
43282
43295
  module.exports = gt;
43283
43296
  });
43284
43297
 
43285
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/lt.js
43298
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js
43286
43299
  var require_lt = __commonJS((exports, module) => {
43287
43300
  var compare = require_compare();
43288
43301
  var lt = (a, b, loose) => compare(a, b, loose) < 0;
43289
43302
  module.exports = lt;
43290
43303
  });
43291
43304
 
43292
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/lte.js
43305
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js
43293
43306
  var require_lte = __commonJS((exports, module) => {
43294
43307
  var compare = require_compare();
43295
43308
  var lte = (a, b, loose) => compare(a, b, loose) <= 0;
43296
43309
  module.exports = lte;
43297
43310
  });
43298
43311
 
43299
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/cmp.js
43312
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js
43300
43313
  var require_cmp = __commonJS((exports, module) => {
43301
43314
  var eq = require_eq();
43302
43315
  var neq = require_neq();
@@ -43343,7 +43356,7 @@ var require_cmp = __commonJS((exports, module) => {
43343
43356
  module.exports = cmp;
43344
43357
  });
43345
43358
 
43346
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/classes/comparator.js
43359
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js
43347
43360
  var require_comparator = __commonJS((exports, module) => {
43348
43361
  var ANY = Symbol("SemVer ANY");
43349
43362
 
@@ -43454,7 +43467,7 @@ var require_comparator = __commonJS((exports, module) => {
43454
43467
  var Range = require_range();
43455
43468
  });
43456
43469
 
43457
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/classes/range.js
43470
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js
43458
43471
  var require_range = __commonJS((exports, module) => {
43459
43472
  var SPACE_CHARACTERS = /\s+/g;
43460
43473
 
@@ -43523,6 +43536,7 @@ var require_range = __commonJS((exports, module) => {
43523
43536
  return this.range;
43524
43537
  }
43525
43538
  parseRange(range) {
43539
+ range = range.replace(BUILDSTRIPRE, "");
43526
43540
  const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
43527
43541
  const memoKey = memoOpts + ":" + range;
43528
43542
  const cached4 = cache.get(memoKey);
@@ -43604,12 +43618,14 @@ var require_range = __commonJS((exports, module) => {
43604
43618
  var SemVer = require_semver();
43605
43619
  var {
43606
43620
  safeRe: re,
43621
+ src,
43607
43622
  t,
43608
43623
  comparatorTrimReplace,
43609
43624
  tildeTrimReplace,
43610
43625
  caretTrimReplace
43611
43626
  } = require_re();
43612
43627
  var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants2();
43628
+ var BUILDSTRIPRE = new RegExp(src[t.BUILD], "g");
43613
43629
  var isNullSet = (c) => c.value === "<0.0.0-0";
43614
43630
  var isAny = (c) => c.value === "";
43615
43631
  var isSatisfiable = (comparators, options) => {
@@ -43638,20 +43654,22 @@ var require_range = __commonJS((exports, module) => {
43638
43654
  return comp;
43639
43655
  };
43640
43656
  var isX = (id3) => !id3 || id3.toLowerCase() === "x" || id3 === "*";
43657
+ var invalidXRangeOrder = (M, m, p) => isX(M) && !isX(m) || isX(m) && p && !isX(p);
43641
43658
  var replaceTildes = (comp, options) => {
43642
43659
  return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
43643
43660
  };
43644
43661
  var replaceTilde = (comp, options) => {
43645
43662
  const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
43663
+ const z = options.includePrerelease ? "-0" : "";
43646
43664
  return comp.replace(r, (_, M, m, p, pr) => {
43647
43665
  debug("tilde", comp, _, M, m, p, pr);
43648
43666
  let ret;
43649
43667
  if (isX(M)) {
43650
43668
  ret = "";
43651
43669
  } else if (isX(m)) {
43652
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
43670
+ ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
43653
43671
  } else if (isX(p)) {
43654
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
43672
+ ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
43655
43673
  } else if (pr) {
43656
43674
  debug("replaceTilde pr", pr);
43657
43675
  ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
@@ -43697,9 +43715,9 @@ var require_range = __commonJS((exports, module) => {
43697
43715
  debug("no pr");
43698
43716
  if (M === "0") {
43699
43717
  if (m === "0") {
43700
- ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
43718
+ ret = `>=${M}.${m}.${p} <${M}.${m}.${+p + 1}-0`;
43701
43719
  } else {
43702
- ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
43720
+ ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
43703
43721
  }
43704
43722
  } else {
43705
43723
  ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
@@ -43718,6 +43736,9 @@ var require_range = __commonJS((exports, module) => {
43718
43736
  const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
43719
43737
  return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
43720
43738
  debug("xRange", comp, ret, gtlt, M, m, p, pr);
43739
+ if (invalidXRangeOrder(M, m, p)) {
43740
+ return comp;
43741
+ }
43721
43742
  const xM = isX(M);
43722
43743
  const xm = xM || isX(m);
43723
43744
  const xp = xm || isX(p);
@@ -43828,7 +43849,7 @@ var require_range = __commonJS((exports, module) => {
43828
43849
  };
43829
43850
  });
43830
43851
 
43831
- // ../../node_modules/.pnpm/semver@7.7.4/node_modules/semver/functions/satisfies.js
43852
+ // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js
43832
43853
  var require_satisfies = __commonJS((exports, module) => {
43833
43854
  var Range = require_range();
43834
43855
  var satisfies = (version2, range, options) => {
@@ -98877,7 +98898,15 @@ var init_team_agent_settings = __esm(() => {
98877
98898
  });
98878
98899
 
98879
98900
  // ../../services/backend/src/domain/handoff/parse-session-augmentation.ts
98880
- function resolveSessionAugmentationForRole(_handoffContent, role) {
98901
+ function resolveSessionAugmentationForTask(task, role) {
98902
+ if (task.startInNewSession !== undefined)
98903
+ return task.startInNewSession ? "new_session" : "none";
98904
+ return resolveSessionAugmentationForRole(role);
98905
+ }
98906
+ function shouldEmitSessionAugmentation(role, mode) {
98907
+ return roleSupportsSessionAugmentation(role) || mode === "new_session";
98908
+ }
98909
+ function resolveSessionAugmentationForRole(role) {
98881
98910
  if (!roleSupportsSessionAugmentation(role))
98882
98911
  return "none";
98883
98912
  return "new_session";
@@ -98892,6 +98921,71 @@ var init_parse_session_augmentation = __esm(() => {
98892
98921
  init_team_agent_settings();
98893
98922
  });
98894
98923
 
98924
+ // src/daemon/entry/native-delivery/native-cold-session-before-inject.ts
98925
+ function sleep5(ms) {
98926
+ return new Promise((resolve4) => setTimeout(resolve4, ms));
98927
+ }
98928
+ async function waitForHarnessSessionId(agentMgr, chatroomId, role) {
98929
+ const deadline = Date.now() + HARNESS_SESSION_READY_TIMEOUT_MS;
98930
+ while (Date.now() < deadline) {
98931
+ const id3 = agentMgr.getSlot(chatroomId, role)?.harnessSessionId;
98932
+ if (id3)
98933
+ return id3;
98934
+ await sleep5(100);
98935
+ }
98936
+ return null;
98937
+ }
98938
+ async function ensureColdSessionBeforeNativeInject(task, deps) {
98939
+ if (!task.startInNewSession)
98940
+ return null;
98941
+ const { chatroomId, agentConfig, taskId } = task;
98942
+ const { role, agentHarness, model, workingDir } = agentConfig;
98943
+ if (!workingDir || !model)
98944
+ return null;
98945
+ await deps.agentMgr.stop({
98946
+ chatroomId,
98947
+ role,
98948
+ reason: "platform.task_start_in_new_session"
98949
+ });
98950
+ const spawn3 = await deps.agentMgr.ensureRunning({
98951
+ chatroomId,
98952
+ role,
98953
+ agentHarness,
98954
+ model,
98955
+ workingDir,
98956
+ reason: "platform.task_start_in_new_session",
98957
+ wantResume: false
98958
+ });
98959
+ if (!spawn3.success)
98960
+ return null;
98961
+ const harnessSessionId = await waitForHarnessSessionId(deps.agentMgr, chatroomId, role);
98962
+ if (!harnessSessionId)
98963
+ return null;
98964
+ await deps.backend.mutation(api.participants.join, {
98965
+ sessionId: deps.sessionId,
98966
+ chatroomId,
98967
+ role,
98968
+ action: NATIVE_WAITING_ACTION,
98969
+ taskId
98970
+ });
98971
+ await deps.backend.mutation(api.machines.emitSessionAugmented, {
98972
+ sessionId: deps.sessionId,
98973
+ machineId: deps.machineId,
98974
+ chatroomId,
98975
+ role,
98976
+ taskId,
98977
+ mode: "new_session",
98978
+ newSessionStarted: true,
98979
+ harnessSessionId
98980
+ });
98981
+ return harnessSessionId;
98982
+ }
98983
+ var init_native_cold_session_before_inject = __esm(() => {
98984
+ init_reliability();
98985
+ init_participant();
98986
+ init_api3();
98987
+ });
98988
+
98895
98989
  // src/daemon/entry/native-delivery/native-task-injector.ts
98896
98990
  async function emitTaskDeliveryFailed(deps, args2) {
98897
98991
  try {
@@ -98905,35 +98999,132 @@ async function emitTaskDeliveryFailed(deps, args2) {
98905
98999
  });
98906
99000
  } catch {}
98907
99001
  }
98908
- function runNativeInjectionEffect(task, harnessSessionId, deps) {
99002
+ function reportDeliveryFailureEffect(deps, args2) {
99003
+ return exports_Effect.tryPromise({
99004
+ try: () => emitTaskDeliveryFailed(deps, args2),
99005
+ catch: () => {
99006
+ return;
99007
+ }
99008
+ }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
99009
+ }
99010
+ function applyColdSessionIfRequested(task, deps, chatroomId, role, taskId) {
98909
99011
  return exports_Effect.gen(function* () {
98910
- const { chatroomId, taskId, taskContent, agentConfig, status: status3 } = task;
99012
+ const coldSessionResult = yield* exports_Effect.tryPromise({
99013
+ try: () => ensureColdSessionBeforeNativeInject(task, deps),
99014
+ catch: (err) => err
99015
+ }).pipe(exports_Effect.either);
99016
+ if (coldSessionResult._tag === "Left" || !coldSessionResult.right) {
99017
+ const error51 = coldSessionResult._tag === "Left" ? getErrorMessage(coldSessionResult.left) : "cold session restart failed";
99018
+ yield* reportDeliveryFailureEffect(deps, {
99019
+ chatroomId,
99020
+ role,
99021
+ taskId,
99022
+ error: error51
99023
+ });
99024
+ return { failed: true, error: error51 };
99025
+ }
99026
+ return { harnessSessionId: coldSessionResult.right };
99027
+ });
99028
+ }
99029
+ function claimPendingTaskIfNeeded(task, deps) {
99030
+ return exports_Effect.gen(function* () {
99031
+ if (task.status !== "pending")
99032
+ return;
99033
+ const { chatroomId, taskId, agentConfig } = task;
98911
99034
  const { role } = agentConfig;
98912
- if (status3 === "pending") {
98913
- const claimResult = yield* exports_Effect.tryPromise({
98914
- try: () => deps.backend.mutation(api.tasks.claimTask, {
98915
- sessionId: deps.sessionId,
98916
- chatroomId,
98917
- role,
98918
- taskId
98919
- }),
98920
- catch: (err) => err
98921
- }).pipe(exports_Effect.either);
98922
- if (claimResult._tag === "Left") {
98923
- yield* exports_Effect.tryPromise({
98924
- try: () => emitTaskDeliveryFailed(deps, {
98925
- chatroomId,
98926
- role,
98927
- taskId,
98928
- error: getErrorMessage(claimResult.left)
98929
- }),
98930
- catch: () => {
98931
- return;
98932
- }
98933
- }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
98934
- return yield* exports_Effect.fail(claimResult.left);
98935
- }
99035
+ const claimResult = yield* exports_Effect.tryPromise({
99036
+ try: () => deps.backend.mutation(api.tasks.claimTask, {
99037
+ sessionId: deps.sessionId,
99038
+ chatroomId,
99039
+ role,
99040
+ taskId
99041
+ }),
99042
+ catch: (err) => err
99043
+ }).pipe(exports_Effect.either);
99044
+ if (claimResult._tag === "Left") {
99045
+ yield* reportDeliveryFailureEffect(deps, {
99046
+ chatroomId,
99047
+ role,
99048
+ taskId,
99049
+ error: getErrorMessage(claimResult.left)
99050
+ });
99051
+ return yield* exports_Effect.fail(claimResult.left);
99052
+ }
99053
+ });
99054
+ }
99055
+ function resolveHarnessSessionForInject(task, deps, initialHarnessSessionId) {
99056
+ return exports_Effect.gen(function* () {
99057
+ const { chatroomId, taskId, agentConfig } = task;
99058
+ const { role } = agentConfig;
99059
+ if (!task.startInNewSession) {
99060
+ return { harnessSessionId: initialHarnessSessionId, sessionAugmentationEmitted: false };
99061
+ }
99062
+ const coldSession = yield* applyColdSessionIfRequested(task, deps, chatroomId, role, taskId);
99063
+ if ("failed" in coldSession) {
99064
+ return yield* exports_Effect.fail(new Error(coldSession.error));
99065
+ }
99066
+ return {
99067
+ harnessSessionId: coldSession.harnessSessionId,
99068
+ sessionAugmentationEmitted: true
99069
+ };
99070
+ });
99071
+ }
99072
+ function emitSessionAugmentationIfNeeded(task, deps, harnessSessionId, sessionAugmentationEmitted, augmentationMode) {
99073
+ const { chatroomId, taskId, agentConfig } = task;
99074
+ const { role } = agentConfig;
99075
+ if (!shouldEmitSessionAugmentation(role, augmentationMode) || sessionAugmentationEmitted) {
99076
+ return exports_Effect.void;
99077
+ }
99078
+ return exports_Effect.tryPromise({
99079
+ try: () => deps.backend.mutation(api.machines.emitSessionAugmented, {
99080
+ sessionId: deps.sessionId,
99081
+ machineId: deps.machineId,
99082
+ chatroomId,
99083
+ role,
99084
+ taskId,
99085
+ mode: augmentationMode,
99086
+ newSessionStarted: sessionAugmentationNewSessionStarted(augmentationMode),
99087
+ harnessSessionId
99088
+ }),
99089
+ catch: (err) => err
99090
+ }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
99091
+ }
99092
+ function resumeHarnessWithPrompt(task, deps, prompt) {
99093
+ return exports_Effect.gen(function* () {
99094
+ const { chatroomId, taskId, agentConfig } = task;
99095
+ const { role } = agentConfig;
99096
+ const resumeResult = yield* exports_Effect.tryPromise({
99097
+ try: () => deps.agentMgr.resumeTurnForSlot({ chatroomId, role, prompt }),
99098
+ catch: (err) => err
99099
+ }).pipe(exports_Effect.either);
99100
+ if (resumeResult._tag === "Left") {
99101
+ const error51 = getErrorMessage(resumeResult.left);
99102
+ console.warn(`[NativeTaskInjector] resumeTurn failed for ${role}@${chatroomId}: ${error51}`);
99103
+ yield* reportDeliveryFailureEffect(deps, {
99104
+ chatroomId,
99105
+ role,
99106
+ taskId,
99107
+ error: error51
99108
+ });
99109
+ return;
98936
99110
  }
99111
+ yield* exports_Effect.tryPromise({
99112
+ try: () => deps.backend.mutation(api.machines.emitTaskDelivered, {
99113
+ sessionId: deps.sessionId,
99114
+ machineId: deps.machineId,
99115
+ chatroomId,
99116
+ role,
99117
+ taskId
99118
+ }),
99119
+ catch: (err) => err
99120
+ }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
99121
+ deps.onTaskDelivered?.({ chatroomId, role, taskId });
99122
+ });
99123
+ }
99124
+ function loadNativeInjectionPrompt(task, deps) {
99125
+ return exports_Effect.gen(function* () {
99126
+ const { chatroomId, taskId, taskContent, agentConfig } = task;
99127
+ const { role } = agentConfig;
98937
99128
  const deliveryResult = yield* exports_Effect.tryPromise({
98938
99129
  try: () => deps.backend.query(api.messages.getTaskDeliveryPrompt, {
98939
99130
  sessionId: deps.sessionId,
@@ -98945,25 +99136,29 @@ function runNativeInjectionEffect(task, harnessSessionId, deps) {
98945
99136
  catch: (err) => err
98946
99137
  }).pipe(exports_Effect.either);
98947
99138
  if (deliveryResult._tag === "Left") {
98948
- yield* exports_Effect.tryPromise({
98949
- try: () => emitTaskDeliveryFailed(deps, {
98950
- chatroomId,
98951
- role,
98952
- taskId,
98953
- error: getErrorMessage(deliveryResult.left)
98954
- }),
98955
- catch: () => {
98956
- return;
98957
- }
98958
- }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
99139
+ yield* reportDeliveryFailureEffect(deps, {
99140
+ chatroomId,
99141
+ role,
99142
+ taskId,
99143
+ error: getErrorMessage(deliveryResult.left)
99144
+ });
98959
99145
  return yield* exports_Effect.fail(deliveryResult.left);
98960
99146
  }
98961
- const delivery = deliveryResult.right;
98962
- const augmentationMode = resolveSessionAugmentationForRole(taskContent, role);
98963
- const prompt = buildNativeInjectionPrompt({
98964
- taskDeliveryOutput: delivery.fullCliOutput,
98965
- augmentationMode
98966
- });
99147
+ const augmentationMode = resolveSessionAugmentationForTask({ content: taskContent, startInNewSession: task.startInNewSession }, role);
99148
+ return {
99149
+ augmentationMode,
99150
+ prompt: buildNativeInjectionPrompt({
99151
+ taskDeliveryOutput: deliveryResult.right.fullCliOutput,
99152
+ augmentationMode
99153
+ })
99154
+ };
99155
+ });
99156
+ }
99157
+ function injectNativeTaskPrompt(task, deps, harnessSessionId, sessionAugmentationEmitted) {
99158
+ return exports_Effect.gen(function* () {
99159
+ const { chatroomId, taskId, agentConfig } = task;
99160
+ const { role } = agentConfig;
99161
+ const { prompt, augmentationMode } = yield* loadNativeInjectionPrompt(task, deps);
98967
99162
  yield* exports_Effect.tryPromise({
98968
99163
  try: () => deps.backend.mutation(api.participants.join, {
98969
99164
  sessionId: deps.sessionId,
@@ -98985,59 +99180,22 @@ function runNativeInjectionEffect(task, harnessSessionId, deps) {
98985
99180
  }),
98986
99181
  catch: (err) => err
98987
99182
  });
98988
- if (roleSupportsSessionAugmentation(role)) {
98989
- yield* exports_Effect.tryPromise({
98990
- try: () => deps.backend.mutation(api.machines.emitSessionAugmented, {
98991
- sessionId: deps.sessionId,
98992
- machineId: deps.machineId,
98993
- chatroomId,
98994
- role,
98995
- taskId,
98996
- mode: augmentationMode,
98997
- newSessionStarted: sessionAugmentationNewSessionStarted(augmentationMode),
98998
- harnessSessionId
98999
- }),
99000
- catch: (err) => err
99001
- }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
99002
- }
99003
- const resumeResult = yield* exports_Effect.tryPromise({
99004
- try: () => deps.agentMgr.resumeTurnForSlot({ chatroomId, role, prompt }),
99005
- catch: (err) => err
99006
- }).pipe(exports_Effect.either);
99007
- if (resumeResult._tag === "Left") {
99008
- const error51 = getErrorMessage(resumeResult.left);
99009
- console.warn(`[NativeTaskInjector] resumeTurn failed for ${role}@${chatroomId}: ${error51}`);
99010
- yield* exports_Effect.tryPromise({
99011
- try: () => emitTaskDeliveryFailed(deps, {
99012
- chatroomId,
99013
- role,
99014
- taskId,
99015
- error: error51
99016
- }),
99017
- catch: () => {
99018
- return;
99019
- }
99020
- }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
99021
- return;
99022
- }
99023
- yield* exports_Effect.tryPromise({
99024
- try: () => deps.backend.mutation(api.machines.emitTaskDelivered, {
99025
- sessionId: deps.sessionId,
99026
- machineId: deps.machineId,
99027
- chatroomId,
99028
- role,
99029
- taskId
99030
- }),
99031
- catch: (err) => err
99032
- }).pipe(exports_Effect.catchAll(() => exports_Effect.void));
99033
- deps.onTaskDelivered?.({ chatroomId, role, taskId });
99183
+ yield* emitSessionAugmentationIfNeeded(task, deps, harnessSessionId, sessionAugmentationEmitted, augmentationMode);
99184
+ yield* resumeHarnessWithPrompt(task, deps, prompt);
99185
+ });
99186
+ }
99187
+ function runNativeInjectionEffect(task, initialHarnessSessionId, deps) {
99188
+ return exports_Effect.gen(function* () {
99189
+ yield* claimPendingTaskIfNeeded(task, deps);
99190
+ const session2 = yield* resolveHarnessSessionForInject(task, deps, initialHarnessSessionId);
99191
+ yield* injectNativeTaskPrompt(task, deps, session2.harnessSessionId, session2.sessionAugmentationEmitted);
99034
99192
  });
99035
99193
  }
99036
99194
  var init_native_task_injector = __esm(() => {
99037
99195
  init_participant();
99038
- init_team_agent_settings();
99039
99196
  init_parse_session_augmentation();
99040
99197
  init_esm();
99198
+ init_native_cold_session_before_inject();
99041
99199
  init_native_task_injector_logic();
99042
99200
  init_api3();
99043
99201
  init_convex_error();
@@ -99068,7 +99226,8 @@ function mapAssignedTaskSnapshot(row) {
99068
99226
  function mapAssignedTaskView(row) {
99069
99227
  return {
99070
99228
  ...mapAssignedTaskSnapshot(row),
99071
- taskContent: row.taskContent
99229
+ taskContent: row.taskContent,
99230
+ startInNewSession: row.startInNewSession
99072
99231
  };
99073
99232
  }
99074
99233
  function mapAssignedTaskSnapshotList(rows) {
@@ -99267,7 +99426,10 @@ class NativeTaskDeliveryCoordinator {
99267
99426
  machineId: sessionDeps.machineId,
99268
99427
  backend: sessionDeps.backend,
99269
99428
  agentMgr: {
99270
- resumeTurnForSlot: (args2) => exports_Effect.runPromise(agentMgr.resumeTurnForSlot(args2))
99429
+ resumeTurnForSlot: (args2) => exports_Effect.runPromise(agentMgr.resumeTurnForSlot(args2)),
99430
+ stop: (opts) => exports_Effect.runPromise(agentMgr.stop(opts)),
99431
+ ensureRunning: (opts) => exports_Effect.runPromise(agentMgr.ensureRunning(opts)),
99432
+ getSlot: (chatroomId, role2) => agentMgr.getSlot(chatroomId, role2)
99271
99433
  },
99272
99434
  convexUrl: sessionDeps.convexUrl,
99273
99435
  onTaskDelivered: ({ chatroomId, role: role2, taskId: deliveredTaskId }) => {
@@ -99342,10 +99504,10 @@ async function emitPhase(deps, event, phase, detail) {
99342
99504
  detail
99343
99505
  });
99344
99506
  }
99345
- function sleep5(ms) {
99507
+ function sleep6(ms) {
99346
99508
  return new Promise((resolve4) => setTimeout(resolve4, ms));
99347
99509
  }
99348
- async function waitForHarnessSessionId(deps, event, pid) {
99510
+ async function waitForHarnessSessionId2(deps, event, pid) {
99349
99511
  const initial = deps.agentMgr.getSlot(event.chatroomId, event.role);
99350
99512
  if (initial?.harnessSessionId) {
99351
99513
  return initial.harnessSessionId;
@@ -99356,7 +99518,7 @@ async function waitForHarnessSessionId(deps, event, pid) {
99356
99518
  if (slot?.harnessSessionId) {
99357
99519
  return slot.harnessSessionId;
99358
99520
  }
99359
- await sleep5(100);
99521
+ await sleep6(100);
99360
99522
  }
99361
99523
  await deps.agentMgr.stop({
99362
99524
  chatroomId: event.chatroomId,
@@ -99422,7 +99584,10 @@ async function deliverOneTask(deps, event, snapshot) {
99422
99584
  agentMgr: {
99423
99585
  resumeTurnForSlot: async (args2) => {
99424
99586
  await exports_Effect.runPromise(deps.agentMgr.resumeTurnForSlot(args2));
99425
- }
99587
+ },
99588
+ stop: (opts) => exports_Effect.runPromise(deps.agentMgr.stop(opts)),
99589
+ ensureRunning: (opts) => exports_Effect.runPromise(deps.agentMgr.ensureRunning(opts)),
99590
+ getSlot: (chatroomId, role) => deps.agentMgr.getSlot(chatroomId, role)
99426
99591
  },
99427
99592
  onTaskDelivered: ({ chatroomId, role, taskId }) => {
99428
99593
  deliveredToHarness = true;
@@ -99479,7 +99644,7 @@ async function runRestartOrchestrator(deps, event) {
99479
99644
  return;
99480
99645
  }
99481
99646
  await emitPhase(deps, event, "await_session");
99482
- const harnessSessionId = await waitForHarnessSessionId(deps, event, spawnResult.pid);
99647
+ const harnessSessionId = await waitForHarnessSessionId2(deps, event, spawnResult.pid);
99483
99648
  if (!harnessSessionId) {
99484
99649
  await emitPhase(deps, event, "failed", "harnessSessionId timeout");
99485
99650
  return;
@@ -99743,7 +99908,7 @@ function logWaitingForShutdown(pid) {
99743
99908
  function logDaemonAlreadyRunning(pid) {
99744
99909
  console.error(`❌ Daemon already running for ${getConvexUrl()} (PID: ${pid})`);
99745
99910
  }
99746
- async function waitForLockOrTimeout(deadline, intervalMs, sleep6) {
99911
+ async function waitForLockOrTimeout(deadline, intervalMs, sleep7) {
99747
99912
  let loggedWait = false;
99748
99913
  while (Date.now() < deadline) {
99749
99914
  if (tryAcquireLock()) {
@@ -99754,16 +99919,16 @@ async function waitForLockOrTimeout(deadline, intervalMs, sleep6) {
99754
99919
  logWaitingForShutdown(pid);
99755
99920
  loggedWait = true;
99756
99921
  }
99757
- await sleep6(intervalMs);
99922
+ await sleep7(intervalMs);
99758
99923
  }
99759
99924
  return false;
99760
99925
  }
99761
99926
  async function acquireLockWithRetry(options) {
99762
99927
  const intervalMs = options?.intervalMs ?? LOCK_RETRY_INTERVAL_MS;
99763
99928
  const maxWaitMs = options?.maxWaitMs ?? LOCK_RETRY_MAX_WAIT_MS;
99764
- const sleep6 = options?.sleep ?? ((ms) => new Promise((resolve4) => setTimeout(resolve4, ms)));
99929
+ const sleep7 = options?.sleep ?? ((ms) => new Promise((resolve4) => setTimeout(resolve4, ms)));
99765
99930
  const deadline = Date.now() + maxWaitMs;
99766
- if (await waitForLockOrTimeout(deadline, intervalMs, sleep6)) {
99931
+ if (await waitForLockOrTimeout(deadline, intervalMs, sleep7)) {
99767
99932
  return true;
99768
99933
  }
99769
99934
  const { pid } = isDaemonRunning();
@@ -110515,16 +110680,14 @@ var init_git_workspace_hierarchy = __esm(() => {
110515
110680
  init_run_command();
110516
110681
  });
110517
110682
 
110518
- // ../../node_modules/.pnpm/readdirp@5.0.0/node_modules/readdirp/index.js
110683
+ // ../../node_modules/.pnpm/readdirp@5.1.1/node_modules/readdirp/index.js
110519
110684
  import { lstat, readdir as readdir2, realpath as realpath2, stat as stat4 } from "node:fs/promises";
110520
- import { join as pjoin, relative as prelative, resolve as presolve, sep as psep } from "node:path";
110685
+ import { join as pjoin, resolve as presolve, sep as psep } from "node:path";
110521
110686
  import { Readable as Readable4 } from "node:stream";
110522
110687
  function readdirp(root, options = {}) {
110523
110688
  let type = options.entryType || options.type;
110524
110689
  if (type === "both")
110525
110690
  type = EntryTypes.FILE_DIR_TYPE;
110526
- if (type)
110527
- options.type = type;
110528
110691
  if (!root) {
110529
110692
  throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");
110530
110693
  } else if (typeof root !== "string") {
@@ -110532,8 +110695,10 @@ function readdirp(root, options = {}) {
110532
110695
  } else if (type && !ALL_TYPES.includes(type)) {
110533
110696
  throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(", ")}`);
110534
110697
  }
110535
- options.root = root;
110536
- return new ReaddirpStream(options);
110698
+ const opts = { ...options, root };
110699
+ if (type)
110700
+ opts.type = type;
110701
+ return new ReaddirpStream(opts);
110537
110702
  }
110538
110703
  var EntryTypes, defaultOptions, RECURSIVE_ERROR_CODE = "READDIRP_RECURSIVE_ERROR", NORMAL_FLOW_ERRORS, ALL_TYPES, DIR_TYPES, FILE_TYPES, isNormalFlowError = (error51) => NORMAL_FLOW_ERRORS.has(error51.code), wantBigintFsStats, emptyFn = (_entryInfo) => true, normalizeFilter = (filter9) => {
110539
110704
  if (filter9 === undefined)
@@ -110565,7 +110730,7 @@ var init_readdirp = __esm(() => {
110565
110730
  lstat: false,
110566
110731
  depth: 2147483648,
110567
110732
  alwaysStat: false,
110568
- highWaterMark: 4096
110733
+ highWaterMark: 256
110569
110734
  };
110570
110735
  Object.freeze(defaultOptions);
110571
110736
  NORMAL_FLOW_ERRORS = new Set(["ENOENT", "EPERM", "EACCES", "ELOOP", RECURSIVE_ERROR_CODE]);
@@ -110601,14 +110766,16 @@ var init_readdirp = __esm(() => {
110601
110766
  _rdOptions;
110602
110767
  _fileFilter;
110603
110768
  _directoryFilter;
110769
+ _relStart;
110604
110770
  constructor(options = {}) {
110605
110771
  super({
110606
110772
  objectMode: true,
110607
110773
  autoDestroy: true,
110608
- highWaterMark: options.highWaterMark
110774
+ highWaterMark: options.highWaterMark ?? defaultOptions.highWaterMark
110609
110775
  });
110610
110776
  const opts = { ...defaultOptions, ...options };
110611
- const { root, type } = opts;
110777
+ const root = opts.root ?? defaultOptions.root;
110778
+ const type = opts.type ?? defaultOptions.type;
110612
110779
  this._fileFilter = normalizeFilter(opts.fileFilter);
110613
110780
  this._directoryFilter = normalizeFilter(opts.directoryFilter);
110614
110781
  const statMethod = opts.lstat ? lstat : stat4;
@@ -110618,14 +110785,17 @@ var init_readdirp = __esm(() => {
110618
110785
  this._stat = statMethod;
110619
110786
  }
110620
110787
  this._maxDepth = opts.depth != null && Number.isSafeInteger(opts.depth) ? opts.depth : defaultOptions.depth;
110621
- this._wantsDir = type ? DIR_TYPES.has(type) : false;
110622
- this._wantsFile = type ? FILE_TYPES.has(type) : false;
110788
+ this._wantsDir = DIR_TYPES.has(type);
110789
+ this._wantsFile = FILE_TYPES.has(type);
110623
110790
  this._wantsEverything = type === EntryTypes.EVERYTHING_TYPE;
110624
110791
  this._root = presolve(root);
110792
+ this._relStart = this._root.endsWith(psep) ? this._root.length : this._root.length + 1;
110625
110793
  this._isDirent = !opts.alwaysStat;
110626
110794
  this._statsProp = this._isDirent ? "dirent" : "stats";
110627
110795
  this._rdOptions = { encoding: "utf8", withFileTypes: this._isDirent };
110628
- this.parents = [this._exploreDir(root, 1)];
110796
+ const rootDir = { path: this._root, depth: 1 };
110797
+ rootDir.pending = this._exploreDir(this._root, 1);
110798
+ this.parents = [rootDir];
110629
110799
  this.reading = false;
110630
110800
  this.parent = undefined;
110631
110801
  }
@@ -110640,16 +110810,18 @@ var init_readdirp = __esm(() => {
110640
110810
  if (fil && fil.length > 0) {
110641
110811
  const { path: path6, depth } = par2;
110642
110812
  const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent, path6));
110643
- const awaited = await Promise.all(slice);
110813
+ const awaited = this._isDirent ? slice : await Promise.all(slice);
110644
110814
  for (const entry of awaited) {
110645
110815
  if (!entry)
110646
110816
  continue;
110647
110817
  if (this.destroyed)
110648
110818
  return;
110649
- const entryType = await this._getEntryType(entry);
110819
+ let entryType = this._getEntryType(entry);
110820
+ if (typeof entryType !== "string")
110821
+ entryType = await entryType;
110650
110822
  if (entryType === "directory" && this._directoryFilter(entry)) {
110651
110823
  if (depth <= this._maxDepth) {
110652
- this.parents.push(this._exploreDir(entry.fullPath, depth + 1));
110824
+ this.parents.push({ path: entry.fullPath, depth: depth + 1 });
110653
110825
  }
110654
110826
  if (this._wantsDir) {
110655
110827
  this.push(entry);
@@ -110668,7 +110840,12 @@ var init_readdirp = __esm(() => {
110668
110840
  this.push(null);
110669
110841
  break;
110670
110842
  }
110671
- this.parent = await parent;
110843
+ const dir = parent.pending ?? this._exploreDir(parent.path, parent.depth);
110844
+ const next4 = this.parents[this.parents.length - 1];
110845
+ if (next4 && !next4.pending) {
110846
+ next4.pending = this._exploreDir(next4.path, next4.depth);
110847
+ }
110848
+ this.parent = await dir;
110672
110849
  if (this.destroyed)
110673
110850
  return;
110674
110851
  }
@@ -110688,18 +110865,21 @@ var init_readdirp = __esm(() => {
110688
110865
  }
110689
110866
  return { files, depth, path: path6 };
110690
110867
  }
110691
- async _formatEntry(dirent, path6) {
110692
- let entry;
110868
+ _formatEntry(dirent, path6) {
110693
110869
  const basename3 = this._isDirent ? dirent.name : dirent;
110694
- try {
110695
- const fullPath = presolve(pjoin(path6, basename3));
110696
- entry = { path: prelative(this._root, fullPath), fullPath, basename: basename3 };
110697
- entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath);
110698
- } catch (err) {
110870
+ const fullPath = pjoin(path6, basename3);
110871
+ const entry = { path: fullPath.slice(this._relStart), fullPath, basename: basename3 };
110872
+ if (this._isDirent) {
110873
+ entry.dirent = dirent;
110874
+ return entry;
110875
+ }
110876
+ return this._stat(fullPath).then((stats) => {
110877
+ entry.stats = stats;
110878
+ return entry;
110879
+ }, (err) => {
110699
110880
  this._onError(err);
110700
110881
  return;
110701
- }
110702
- return entry;
110882
+ });
110703
110883
  }
110704
110884
  _onError(err) {
110705
110885
  if (isNormalFlowError(err) && !this.destroyed) {
@@ -110708,8 +110888,8 @@ var init_readdirp = __esm(() => {
110708
110888
  this.destroy(err);
110709
110889
  }
110710
110890
  }
110711
- async _getEntryType(entry) {
110712
- if (!entry && this._statsProp in entry) {
110891
+ _getEntryType(entry) {
110892
+ if (!entry || !(this._statsProp in entry)) {
110713
110893
  return "";
110714
110894
  }
110715
110895
  const stats = entry[this._statsProp];
@@ -110717,28 +110897,32 @@ var init_readdirp = __esm(() => {
110717
110897
  return "file";
110718
110898
  if (stats.isDirectory())
110719
110899
  return "directory";
110720
- if (stats && stats.isSymbolicLink()) {
110721
- const full = entry.fullPath;
110722
- try {
110723
- const entryRealPath = await realpath2(full);
110724
- const entryRealPathStats = await lstat(entryRealPath);
110725
- if (entryRealPathStats.isFile()) {
110726
- return "file";
110727
- }
110728
- if (entryRealPathStats.isDirectory()) {
110729
- const len2 = entryRealPath.length;
110730
- if (full.startsWith(entryRealPath) && full.substr(len2, 1) === psep) {
110731
- const recursiveError = new Error(`Circular symlink detected: "${full}" points to "${entryRealPath}"`);
110732
- recursiveError.code = RECURSIVE_ERROR_CODE;
110733
- return this._onError(recursiveError);
110734
- }
110735
- return "directory";
110900
+ if (stats.isSymbolicLink())
110901
+ return this._getSymlinkEntryType(entry);
110902
+ return "";
110903
+ }
110904
+ async _getSymlinkEntryType(entry) {
110905
+ const full = entry.fullPath;
110906
+ try {
110907
+ const entryRealPath = await realpath2(full);
110908
+ const entryRealPathStats = await lstat(entryRealPath);
110909
+ if (entryRealPathStats.isFile()) {
110910
+ return "file";
110911
+ }
110912
+ if (entryRealPathStats.isDirectory()) {
110913
+ const len2 = entryRealPath.length;
110914
+ if (full.startsWith(entryRealPath) && full[len2] === psep) {
110915
+ const recursiveError = new Error(`Circular symlink detected: "${full}" points to "${entryRealPath}"`);
110916
+ recursiveError.code = RECURSIVE_ERROR_CODE;
110917
+ this._onError(recursiveError);
110918
+ return "";
110736
110919
  }
110737
- } catch (error51) {
110738
- this._onError(error51);
110739
- return "";
110920
+ return "directory";
110740
110921
  }
110922
+ } catch (error51) {
110923
+ this._onError(error51);
110741
110924
  }
110925
+ return "";
110742
110926
  }
110743
110927
  _includeAsFile(entry) {
110744
110928
  const stats = entry && entry[this._statsProp];
@@ -113897,13 +114081,13 @@ var init_task_monitor_logic = __esm(() => {
113897
114081
 
113898
114082
  // src/daemon/entry/task-monitor-runtime.ts
113899
114083
  function resolveTaskWantResume(task) {
113900
- return sessionAugmentationToWantResume(resolveSessionAugmentationForRole(task.taskContent ?? "", task.agentConfig.role));
114084
+ return sessionAugmentationToWantResume(resolveSessionAugmentationForTask({ content: task.taskContent ?? "", startInNewSession: task.startInNewSession }, task.agentConfig.role));
113901
114085
  }
113902
114086
  function buildCliNudgeLogLine(task) {
113903
114087
  const { chatroomId, agentConfig } = task;
113904
114088
  const { role } = agentConfig;
113905
114089
  const lastSeenAction = task.participant?.lastSeenAction ?? "unknown";
113906
- const augmentationMode = resolveSessionAugmentationForRole(task.taskContent ?? "", role);
114090
+ const augmentationMode = resolveSessionAugmentationForTask({ content: task.taskContent ?? "", startInNewSession: task.startInNewSession }, role);
113907
114091
  const wantResume = resolveTaskWantResume(task);
113908
114092
  return `[TaskMonitor] nudging ${role}@${chatroomId} — pending task ${task.taskId}, lastSeenAction=${lastSeenAction}, session_augmentation=${augmentationMode}, wantResume=${wantResume}`;
113909
114093
  }
@@ -113926,7 +114110,7 @@ function executeCliNudge(task, runtime4, effectContext2, agentMgr, sessionDeps,
113926
114110
  if (!ctx)
113927
114111
  return;
113928
114112
  const { chatroomId, agentConfig, role, workingDir, wantResume } = ctx;
113929
- const augmentationMode = resolveSessionAugmentationForRole(task.taskContent ?? "", role);
114113
+ const augmentationMode = resolveSessionAugmentationForTask({ content: task.taskContent ?? "", startInNewSession: task.startInNewSession }, role);
113930
114114
  exports_Runtime.runFork(runtime4)(exports_Effect.gen(function* () {
113931
114115
  yield* agentMgr.stop({ chatroomId, role, reason: "platform.task_monitor_nudge" });
113932
114116
  yield* agentMgr.ensureRunning({
@@ -113938,7 +114122,7 @@ function executeCliNudge(task, runtime4, effectContext2, agentMgr, sessionDeps,
113938
114122
  reason: "platform.task_monitor_nudge",
113939
114123
  wantResume
113940
114124
  });
113941
- if (roleSupportsSessionAugmentation(role)) {
114125
+ if (shouldEmitSessionAugmentation(role, augmentationMode)) {
113942
114126
  yield* exports_Effect.tryPromise({
113943
114127
  try: () => sessionDeps.backend.mutation(api.machines.emitSessionAugmented, {
113944
114128
  sessionId: sessionDeps.sessionId,
@@ -114183,7 +114367,7 @@ var startTaskMonitorEffect = (wsClient2) => exports_Effect.gen(function* () {
114183
114367
  var init_task_monitor_runtime = __esm(() => {
114184
114368
  init_reliability();
114185
114369
  init_participant();
114186
- init_team_agent_settings();
114370
+ init_parse_session_augmentation();
114187
114371
  init_parse_session_augmentation();
114188
114372
  init_assigned_task_monitor_contract();
114189
114373
  init_esm();
@@ -128969,4 +129153,4 @@ program2.hook("preAction", async (_thisCommand, actionCommand) => {
128969
129153
  });
128970
129154
  program2.parse();
128971
129155
 
128972
- //# debugId=2445D97C1319365564756E2164756E21
129156
+ //# debugId=8169BF8DA0BD25A464756E2164756E21