nolo-cli 0.211.0 → 0.213.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.
Files changed (173) hide show
  1. package/{_executeModel-VVQEOY3D.js → _executeModel-CUJLCFWR.js} +57 -54
  2. package/{action-U235TV4P.js → action-DF5UYSJF.js} +4 -4
  3. package/{addContentAction-7C76J7ST.js → addContentAction-WERAONNY.js} +9 -9
  4. package/{addDialogAgentAction-KTYANUEC.js → addDialogAgentAction-7VI7YRML.js} +16 -13
  5. package/{agentDeleteCommand-WHRU6VDJ.js → agentDeleteCommand-XJORXPGU.js} +80 -76
  6. package/{agentEmailCommands-ALLHXPW3.js → agentEmailCommands-XTYYFR6Z.js} +85 -80
  7. package/{agentListCommands-POKMEKMS.js → agentListCommands-OBLRBLHS.js} +237 -115
  8. package/{agentMachineCommands-WJLZLBPI.js → agentMachineCommands-5FMT3OT5.js} +33 -31
  9. package/{agentProviderCommands-MN3ABDME.js → agentProviderCommands-Q5O33MED.js} +33 -4
  10. package/{agentRecordCommands-OULZW3KM.js → agentRecordCommands-ZQ7SVYGG.js} +75 -70
  11. package/{agentRunCommand-ZNG4LGNQ.js → agentRunCommand-WS7IGO2W.js} +77 -73
  12. package/{agentRunControl-AF7BMR22.js → agentRunControl-TAMHJQSR.js} +8 -7
  13. package/{agentRuntimeLocal-YMUHFV5M.js → agentRuntimeLocal-SOO2OPJG.js} +30 -27
  14. package/{agentSlice-WNGUIMQZ.js → agentSlice-CHR6KOZN.js} +13 -13
  15. package/{appDeleteCommands-6MXPLAVF.js → appDeleteCommands-GUP6P5YE.js} +34 -32
  16. package/{appDeployCommands-ERRSVASW.js → appDeployCommands-MH2FX4O5.js} +34 -32
  17. package/{appDeployStatusCommands-ULICISLI.js → appDeployStatusCommands-SUHN3HPJ.js} +34 -32
  18. package/{appGetCommands-WYYYWROF.js → appGetCommands-YWDEX6Z4.js} +34 -32
  19. package/{appListCommands-DFCUCRCV.js → appListCommands-ZQVMLPAY.js} +34 -32
  20. package/{authCommand-ZJMWXFMA.js → authCommand-PWX2ZNUP.js} +15 -15
  21. package/{authCommands-WK6E42L2.js → authCommands-HV3EAU3V.js} +2 -2
  22. package/{builtinSkillRegistry-HH75G5J3.js → builtinSkillRegistry-2QETTQPM.js} +5 -4
  23. package/{chromeOpsCommands-HEN5AX2J.js → chromeOpsCommands-DIVM2K3T.js} +1 -1
  24. package/{chunk-TRZP7JZ7.js → chunk-2QHFH3DR.js} +1 -0
  25. package/{chunk-XE4Q46FF.js → chunk-3CGG2PAL.js} +1 -1
  26. package/{chunk-YUXQAVRD.js → chunk-3UKL3HPD.js} +251 -14
  27. package/{chunk-BSISWVB4.js → chunk-4I7ERB7F.js} +1 -1
  28. package/{chunk-5ORJGHTL.js → chunk-4T2WNOY7.js} +6 -6
  29. package/{chunk-W5VC7F7V.js → chunk-5MQRBSMW.js} +84 -91
  30. package/{chunk-YLTLB5A7.js → chunk-6DWMYIUY.js} +7 -6
  31. package/chunk-6VLJ6YA7.js +11751 -0
  32. package/{chunk-KSTEXKL6.js → chunk-75XIDFBW.js} +4 -3
  33. package/{chunk-BTYQAODF.js → chunk-7BT37FK3.js} +196 -308
  34. package/{chunk-27E2CBBY.js → chunk-7OCO4TDT.js} +1 -1
  35. package/{chunk-V3M6IXQI.js → chunk-7QTZCMKL.js} +335 -131
  36. package/chunk-7RFNTILS.js +2213 -0
  37. package/{chunk-NHQKWPLP.js → chunk-7Y4YTDQF.js} +25 -23
  38. package/{chunk-CKAHAVMK.js → chunk-A7TFUNZO.js} +35 -25
  39. package/{chunk-PJNFNEJE.js → chunk-ALQ3657A.js} +28 -2
  40. package/{chunk-NV572QM3.js → chunk-BBJ22CLB.js} +15 -15
  41. package/chunk-CJEIOP3E.js +0 -0
  42. package/{chunk-4WCEC56C.js → chunk-COFEN36Z.js} +2 -2
  43. package/{chunk-25OB36GU.js → chunk-CRHOO2ZR.js} +4 -4
  44. package/{chunk-NTSRCTUX.js → chunk-CTPXME7U.js} +2 -2
  45. package/{chunk-TPCDYNJK.js → chunk-EHGEOAHI.js} +3 -3
  46. package/{chunk-Y2WUYX4I.js → chunk-EHSZD5OI.js} +1 -1
  47. package/{chunk-SU3QL7YG.js → chunk-FUGMREBO.js} +2 -2
  48. package/{chunk-UMEGDH6A.js → chunk-FW6YHHLI.js} +8 -8
  49. package/chunk-FY7F4Q6X.js +127 -0
  50. package/{chunk-25M2K6OA.js → chunk-G2BQWAVT.js} +3 -3
  51. package/chunk-G7MLNNEX.js +84 -0
  52. package/{chunk-DQLB4NQ3.js → chunk-GPVRUGGY.js} +2 -2
  53. package/{chunk-RQ22OZD7.js → chunk-H2TJUNCH.js} +1 -1
  54. package/{chunk-XPHZK3PJ.js → chunk-H4UOTUOX.js} +165 -51
  55. package/{chunk-CVCRAO6Q.js → chunk-H5HF7TJA.js} +9 -7
  56. package/{chunk-OP7PTBAJ.js → chunk-H7PPIYWP.js} +9 -9
  57. package/{chunk-QQM464AL.js → chunk-HPFCI4SK.js} +3 -3
  58. package/chunk-HRMJUN5J.js +26 -0
  59. package/{chunk-WI6OGHXJ.js → chunk-HSVBJRF4.js} +5 -5
  60. package/{chunk-RYWO5AKN.js → chunk-HUBHAQK2.js} +10 -10
  61. package/{chunk-LKDF3ATR.js → chunk-INUFILG6.js} +1 -1
  62. package/{chunk-NXCGNS4N.js → chunk-IXNGOHV5.js} +2 -2
  63. package/{chunk-ET2CWLIJ.js → chunk-J2NHJ7WX.js} +4 -4
  64. package/{chunk-ECX3NKRD.js → chunk-JY5NGFFH.js} +11 -0
  65. package/chunk-KC4XDTT3.js +227 -0
  66. package/{chunk-ADBWFYJD.js → chunk-KFLT5KAD.js} +9 -9
  67. package/{chunk-PLYWH7XM.js → chunk-KIM6CLW5.js} +7 -7
  68. package/{chunk-7IYBN7IA.js → chunk-LLRPJECG.js} +22 -13
  69. package/{chunk-3J3U3KXB.js → chunk-MDB67IWP.js} +5 -5
  70. package/chunk-MMA3LZ3W.js +105 -0
  71. package/{chunk-XDMGY5IU.js → chunk-MOIJOHA5.js} +227 -11
  72. package/{chunk-NLT32XBZ.js → chunk-NJLL224W.js} +2 -2
  73. package/{chunk-JBOUVTZX.js → chunk-NOKUNJON.js} +15 -4
  74. package/{chunk-C2XZM3K4.js → chunk-NSAPDIN2.js} +12 -27
  75. package/{chunk-PAFTGNWA.js → chunk-O2TZF4AI.js} +2 -2
  76. package/{chunk-UIOEHFF6.js → chunk-OQHIVPG4.js} +1 -0
  77. package/{chunk-TCTSYFDM.js → chunk-OQPKUBPB.js} +19 -6
  78. package/{chunk-X4F26D5K.js → chunk-P5L7CXOC.js} +58 -33
  79. package/{chunk-OXME3PEE.js → chunk-PCLE46CE.js} +1 -1
  80. package/{chunk-UCPAVEQB.js → chunk-PYRUW7XN.js} +1 -1
  81. package/{chunk-YXOBCDNW.js → chunk-QG4AOSON.js} +12 -49
  82. package/{chunk-RXCCWVA2.js → chunk-QHPRUL4O.js} +3 -3
  83. package/{chunk-I5PBXF7O.js → chunk-R5O4QAWG.js} +1 -1
  84. package/{chunk-HD3WR3TD.js → chunk-RLBNLZVC.js} +1 -1
  85. package/{chunk-SN5XE6GQ.js → chunk-RPQXPZZF.js} +4 -4
  86. package/{chunk-ZOO3WJIE.js → chunk-RSHTSUEG.js} +948 -108
  87. package/{chunk-6HVBI6TI.js → chunk-RZOV7OMV.js} +12 -229
  88. package/{chunk-D2MDMY2M.js → chunk-SVYO6AO7.js} +7 -1
  89. package/{chunk-IIHY4ZAI.js → chunk-TAKB25RM.js} +8 -4
  90. package/{chunk-ZN5AH4BY.js → chunk-TX5EYMGT.js} +6 -6
  91. package/{chunk-CKOO42G5.js → chunk-UHJGXRJ4.js} +4 -4
  92. package/{chunk-M4NTDZG3.js → chunk-UYD5HQ6T.js} +857 -295
  93. package/{chunk-WTKYP6QO.js → chunk-V5Y3R6BT.js} +114 -6
  94. package/{chunk-3RQVYR4B.js → chunk-VNYYOX3V.js} +59 -20
  95. package/{chunk-4LEGTOSR.js → chunk-VO4WSAVP.js} +3 -3
  96. package/{chunk-LNYHAKBP.js → chunk-W4S457LU.js} +1 -1
  97. package/{chunk-RIALQUSF.js → chunk-WMTBPBMP.js} +6 -6
  98. package/chunk-WPORQFYN.js +74 -0
  99. package/{chunk-Y6M7KJOA.js → chunk-WRYQ35LQ.js} +5 -5
  100. package/{chunk-YKFP6UGT.js → chunk-WYDI6TGM.js} +17 -17
  101. package/{chunk-SCYQJPGA.js → chunk-X7SDOJUM.js} +147 -20
  102. package/chunk-XFYFMTOM.js +92 -0
  103. package/{chunk-LT3EAHJY.js → chunk-XHQC4PXX.js} +65 -49
  104. package/{chunk-2WZXXAQD.js → chunk-YB3YZK56.js} +67 -1
  105. package/{chunk-JKW6LERJ.js → chunk-YJAFKXMU.js} +14 -14
  106. package/{chunk-GSQNH63I.js → chunk-YTF4WH7J.js} +3 -19
  107. package/{chunk-DA7CTWT4.js → chunk-YWSEPJ7C.js} +5 -5
  108. package/{chunk-3V2QMRNN.js → chunk-ZL5RAEEB.js} +3 -3
  109. package/{chunk-NEZGPBL7.js → chunk-ZNWI6OVT.js} +2 -2
  110. package/{chunk-MBS6CTZB.js → chunk-ZXOUUDCG.js} +266 -2014
  111. package/cliAgentConfigHelpers-WJBZQTLW.js +41 -0
  112. package/{commandRegistry-FI2IOQ3U.js → commandRegistry-W63CYRZJ.js} +91 -87
  113. package/{contentThunks-5LKNNDGY.js → contentThunks-U7PL5MQD.js} +27 -26
  114. package/{cooldownCommands-YXLWOXWR.js → cooldownCommands-TIGUHXTD.js} +3 -3
  115. package/{createAgentAutomationAction-TI4QG4CY.js → createAgentAutomationAction-OLBQDD6R.js} +27 -26
  116. package/{createDialogAction-TJ3JKLO4.js → createDialogAction-SVH6B3SB.js} +29 -28
  117. package/{createPageAction-GKXT6WEH.js → createPageAction-F4DIWZ2Z.js} +29 -28
  118. package/{dbSlice-LPMZ2DGJ.js → dbSlice-BVH2YZPQ.js} +8 -8
  119. package/{deleteFile-EPUQHKPA.js → deleteFile-5YOEKV4U.js} +4 -4
  120. package/{dialogCommands-IWPXIZ5P.js → dialogCommands-KHIEPY3M.js} +38 -36
  121. package/{dialogSlice-ZWNNS7GZ.js → dialogSlice-ZCTDV2PZ.js} +25 -24
  122. package/{dialogUsageCommand-ZCPPHPJ5.js → dialogUsageCommand-7KCPYGHG.js} +1 -1
  123. package/{docCreateCommands-HFSPKJSI.js → docCreateCommands-DPMZI7G5.js} +32 -30
  124. package/{docDeleteCommands-CRL62POH.js → docDeleteCommands-IRQQLUBT.js} +34 -33
  125. package/{docReadCommands-QOTOX3XW.js → docReadCommands-LK37XH6L.js} +32 -30
  126. package/{docStore-WYLRB7ED.js → docStore-V2KECILA.js} +11 -11
  127. package/{docUpdateCommands-7BMH4MCA.js → docUpdateCommands-O6T3HJHH.js} +32 -30
  128. package/{fetchMessages-YY4SATNR.js → fetchMessages-NR4KNQLO.js} +3 -3
  129. package/{getPricing-OQXBJ6VZ.js → getPricing-2MNMXEVG.js} +3 -3
  130. package/{handleSendMessageAction-P27YP2DQ.js → handleSendMessageAction-2PE25WM3.js} +49 -47
  131. package/hostCredentialCreate-S233UMAP.js +357 -0
  132. package/index.js +7 -7
  133. package/{keys-P4ZDOVJW.js → keys-BEGDOTRL.js} +3 -1
  134. package/{localDialogRead-5VCMQQZF.js → localDialogRead-7NNDVVF7.js} +1 -1
  135. package/{localRuntimeAdapter-GP6ZSSO3.js → localRuntimeAdapter-KY6WXNBR.js} +82 -75
  136. package/{machineCommands-6Z6H4BFX.js → machineCommands-Q6HA3IXF.js} +74 -69
  137. package/{machineWsRunDispatch-F2ZIXMYM.js → machineWsRunDispatch-WWJQ6WR3.js} +74 -69
  138. package/{memberThunks-YSEFJF47.js → memberThunks-7EDJADWU.js} +9 -9
  139. package/package.json +1 -1
  140. package/{projectArchive-PIGEOX3D.js → projectArchive-DRTDIMEV.js} +29 -28
  141. package/{providerPresetApply-ZYMLQA46.js → providerPresetApply-YXGV6NXB.js} +4 -4
  142. package/{providerRegistry-E34XWDLJ.js → providerRegistry-S6UL6UNA.js} +4 -4
  143. package/{read-DIIQBOOO.js → read-4V2RMG7N.js} +4 -4
  144. package/{readDocTool-HXYGOEA7.js → readDocTool-BH6ATGQO.js} +1 -1
  145. package/{readlineWorkspace-UG25G7KC.js → readlineWorkspace-2W4WRCOU.js} +437 -217
  146. package/{removeDialogAgentAction-ALJDUJ2E.js → removeDialogAgentAction-LYAZGNKW.js} +18 -15
  147. package/{runAgentClientLoop-IO5F7TCZ.js → runAgentClientLoop-J2VQBS2Z.js} +55 -52
  148. package/{runtimeDoctorCommands-PGAA47G5.js → runtimeDoctorCommands-QAI3MBKQ.js} +6 -6
  149. package/{secretCommands-ZCZ4KVET.js → secretCommands-LXDWOLZ6.js} +4 -4
  150. package/{setDialogExtraReferencesAction-O3SVMD5A.js → setDialogExtraReferencesAction-OCRPGPYH.js} +11 -11
  151. package/{setPrimaryDialogAgentAction-HE7RVFFF.js → setPrimaryDialogAgentAction-HFJDQIBU.js} +19 -16
  152. package/{settingThunks-BWWJQG4L.js → settingThunks-RAMHMTGM.js} +13 -12
  153. package/{spaceCommands-UAELIFEI.js → spaceCommands-KVJZVKVO.js} +32 -31
  154. package/{streamAgentChatTurn-VUKZQYJR.js → streamAgentChatTurn-GHBMJJ6S.js} +63 -60
  155. package/{switchDialogAgentAction-3VZS7SOS.js → switchDialogAgentAction-EBRMW3RA.js} +16 -13
  156. package/{tools-VRXJAVYI.js → tools-EWKCPKMS.js} +49 -46
  157. package/{tuiSummaryLlmCaller-TGCHZLSW.js → tuiSummaryLlmCaller-ALQYUUWB.js} +48 -19
  158. package/{updateCommands-Q6CYAEYJ.js → updateCommands-ZQYU6SCI.js} +5 -3
  159. package/{updateDialogTitleAction-MULWCJCW.js → updateDialogTitleAction-5GGMBTDF.js} +40 -72
  160. package/usageCommand-F4IPVMIZ.js +32 -0
  161. package/usageRebuildCommand-HAW2AD5N.js +626 -0
  162. package/{windowsSelfUpdate-XSQVF2GK.js → windowsSelfUpdate-257DV2T6.js} +2 -2
  163. package/{workloadLifecycle-4BEQHMSD.js → workloadLifecycle-4C42SVBD.js} +1 -0
  164. package/chunk-4LCOCOR5.js +0 -50
  165. package/chunk-7AUQ3WCW.js +0 -51
  166. package/chunk-ZRAU6T47.js +0 -56
  167. package/{agentFavoriteCommands-GAFEXKKP.js → agentFavoriteCommands-EDK743YA.js} +1 -1
  168. package/{agentGrantCommands-V5FOQKFD.js → agentGrantCommands-RQWK2TEV.js} +1 -1
  169. package/{agentPullCommand-2JMJP5BS.js → agentPullCommand-6EM3URVK.js} +1 -1
  170. package/{chunk-A2ZMIRLN.js → chunk-INN4LTAJ.js} +5 -5
  171. package/{chunk-PV6JJAUB.js → chunk-TCZHTTUU.js} +8 -8
  172. package/{chunk-AKE53VMW.js → chunk-ZCWRMUWT.js} +0 -0
  173. package/{tableCommands-D7WR4QSM.js → tableCommands-MP6VFSVT.js} +3 -3
@@ -1,12 +1,12 @@
1
- import {
2
- resolveNoloStateDir
3
- } from "./chunk-6UBGXX2W.js";
4
1
  import {
5
2
  toErrorMessage
6
3
  } from "./chunk-HNMXYYJR.js";
7
4
  import {
8
5
  isRecord
9
6
  } from "./chunk-KUG52IAP.js";
7
+ import {
8
+ resolveNoloStateDir
9
+ } from "./chunk-6UBGXX2W.js";
10
10
  import {
11
11
  asOptionalPositiveFiniteNumber
12
12
  } from "./chunk-U6VC4MU4.js";
@@ -168,6 +168,7 @@ var ProcessRegistry = class {
168
168
  byTaskId = /* @__PURE__ */ new Map();
169
169
  eventLog;
170
170
  terminalListeners = /* @__PURE__ */ new Set();
171
+ backgroundListeners = /* @__PURE__ */ new Set();
171
172
  constructor(eventLogOptions) {
172
173
  this.eventLog = new ProcessTaskEventLog(eventLogOptions);
173
174
  }
@@ -190,6 +191,21 @@ var ProcessRegistry = class {
190
191
  this.terminalListeners.delete(listener);
191
192
  };
192
193
  }
194
+ /** Payload-free invalidation for the listBackground() view; no replay. */
195
+ onBackgroundChange(listener) {
196
+ this.backgroundListeners.add(listener);
197
+ return () => {
198
+ this.backgroundListeners.delete(listener);
199
+ };
200
+ }
201
+ emitBackgroundChange() {
202
+ for (const listener of [...this.backgroundListeners]) {
203
+ try {
204
+ listener();
205
+ } catch {
206
+ }
207
+ }
208
+ }
193
209
  /** Emit a terminal notice synchronously; listener errors must not break registry callers. */
194
210
  emitTerminal(notice) {
195
211
  for (const listener of [...this.terminalListeners]) {
@@ -220,6 +236,7 @@ var ProcessRegistry = class {
220
236
  this.processes.set(proc.pid, record);
221
237
  this.byTaskId.set(record.taskId, proc.pid);
222
238
  this.eventLog.append({ taskId: record.taskId, pid: proc.pid, type: "started" });
239
+ if (!record.transient) this.emitBackgroundChange();
223
240
  return { ...record };
224
241
  }
225
242
  list() {
@@ -271,9 +288,11 @@ var ProcessRegistry = class {
271
288
  const item = this.processes.get(pid);
272
289
  if (!item) return void 0;
273
290
  if (!item.promoted) {
291
+ const wasTransient = item.transient;
274
292
  item.promoted = true;
275
293
  item.transient = false;
276
294
  this.eventLog.append({ taskId: item.taskId, pid, type: "promoted" });
295
+ if (wasTransient) this.emitBackgroundChange();
277
296
  }
278
297
  return { ...item };
279
298
  }
@@ -304,6 +323,8 @@ var ProcessRegistry = class {
304
323
  }
305
324
  }
306
325
  item.status = "stopped";
326
+ item.endedAt = Date.now();
327
+ if (!item.transient) this.emitBackgroundChange();
307
328
  this.eventLog.append({ taskId: item.taskId, pid, type: "killed" });
308
329
  this.emitTerminal({
309
330
  taskId: item.taskId,
@@ -334,6 +355,8 @@ var ProcessRegistry = class {
334
355
  }
335
356
  }
336
357
  item.status = "stopped";
358
+ item.endedAt = Date.now();
359
+ if (!item.transient) this.emitBackgroundChange();
337
360
  this.eventLog.append({ taskId: item.taskId, pid: item.pid, type: "killed" });
338
361
  this.emitTerminal({
339
362
  taskId: item.taskId,
@@ -352,6 +375,8 @@ var ProcessRegistry = class {
352
375
  item.exitCode = exitCode;
353
376
  if (resultCapsule) item.resultCapsule = resultCapsule;
354
377
  item.status = exitCode === 0 ? "exited" : "failed";
378
+ item.endedAt = Date.now();
379
+ if (!item.transient) this.emitBackgroundChange();
355
380
  this.eventLog.append({
356
381
  taskId: item.taskId,
357
382
  pid,
@@ -390,6 +415,7 @@ var ProcessRegistry = class {
390
415
  if (!item) return false;
391
416
  this.processes.delete(pid);
392
417
  this.byTaskId.delete(item.taskId);
418
+ if (!item.transient) this.emitBackgroundChange();
393
419
  return true;
394
420
  }
395
421
  clear() {
@@ -397,6 +423,7 @@ var ProcessRegistry = class {
397
423
  this.byTaskId.clear();
398
424
  this.eventLog.clear();
399
425
  this.terminalListeners.clear();
426
+ this.backgroundListeners.clear();
400
427
  }
401
428
  };
402
429
  var registry = null;
@@ -1315,7 +1342,7 @@ function removeSpillFile(path) {
1315
1342
  } catch {
1316
1343
  }
1317
1344
  }
1318
- function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BYTES) {
1345
+ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BYTES, capture) {
1319
1346
  if (!stream) return Promise.resolve("");
1320
1347
  const options = typeof maxBytesOrOptions === "number" ? { maxBytes: maxBytesOrOptions } : maxBytesOrOptions ?? {};
1321
1348
  const maxBytes = typeof options.maxBytes === "number" && Number.isFinite(options.maxBytes) && options.maxBytes >= 0 ? options.maxBytes : DEFAULT_MAX_STREAM_BUFFER_BYTES;
@@ -1326,6 +1353,13 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1326
1353
  const chunks = [];
1327
1354
  let totalBytes = 0;
1328
1355
  let settled = false;
1356
+ let captureResolved = false;
1357
+ const resolveCapture = (text) => {
1358
+ if (captureResolved) return;
1359
+ captureResolved = true;
1360
+ capture?.stopSignal.removeEventListener("abort", stopCapture);
1361
+ resolveStream(text);
1362
+ };
1329
1363
  let truncated = false;
1330
1364
  let spillState = spillPath ? "idle" : "disabled";
1331
1365
  let spillError = null;
@@ -1334,6 +1368,7 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1334
1368
  let spillSink = null;
1335
1369
  let sourcePausedForSpill = false;
1336
1370
  let sinkFinished = false;
1371
+ let spillSettlement;
1337
1372
  const formatLimit = maxBytes >= 1024 * 1024 ? `${Math.round(maxBytes / (1024 * 1024))}MB` : `${Math.round(maxBytes / 1024)}KB`;
1338
1373
  const resumeSourceIfPaused = () => {
1339
1374
  if (!sourcePausedForSpill) return;
@@ -1344,7 +1379,7 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1344
1379
  }
1345
1380
  };
1346
1381
  const markSpillFailed = (error) => {
1347
- if (spillState === "failed") return;
1382
+ if (spillSettlement || spillState === "failed") return;
1348
1383
  spillState = "failed";
1349
1384
  if (!spillError) {
1350
1385
  spillError = toErrorMessage(error);
@@ -1411,26 +1446,30 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1411
1446
  for (const head of headChunks) writeToSink(head);
1412
1447
  writeToSink(crossingChunk);
1413
1448
  };
1414
- const settleSpillRetention = async () => {
1415
- if (!spillPath || spillRetention === "keep") {
1416
- if (spillPath && spillRetention === "keep" && spillState === "ok") {
1417
- spillRetainedPath = spillPath;
1418
- }
1419
- return;
1420
- }
1421
- if (spillRetention === "promote" && spillState === "ok" && sourceEnded) {
1422
- const promoted = await promoteToolSpillFile(spillPath, {
1423
- workspaceRoot: options.spillWorkspaceRoot
1424
- });
1425
- if (promoted.ok) {
1426
- spillRetainedPath = promoted.displayPath;
1449
+ const settleSpillRetention = () => {
1450
+ if (spillSettlement) return spillSettlement;
1451
+ spillSettlement = Promise.resolve().then(async () => {
1452
+ if (!spillPath || spillRetention === "keep") {
1453
+ if (spillPath && spillRetention === "keep" && spillState === "ok") {
1454
+ spillRetainedPath = spillPath;
1455
+ }
1427
1456
  return;
1428
1457
  }
1429
- if (promoted.preservedPath) {
1430
- return;
1458
+ if (spillRetention === "promote" && spillState === "ok" && sourceEnded) {
1459
+ const promoted = await (capture?.promoteSpill ?? promoteToolSpillFile)(spillPath, {
1460
+ workspaceRoot: options.spillWorkspaceRoot
1461
+ });
1462
+ if (promoted.ok) {
1463
+ spillRetainedPath = promoted.displayPath;
1464
+ return;
1465
+ }
1466
+ if (promoted.preservedPath) {
1467
+ return;
1468
+ }
1431
1469
  }
1432
- }
1433
- removeSpillFile(spillPath);
1470
+ removeSpillFile(spillPath);
1471
+ });
1472
+ return spillSettlement;
1434
1473
  };
1435
1474
  const finalize = (wasTruncated) => {
1436
1475
  if (settled) return;
@@ -1438,7 +1477,9 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1438
1477
  const truncatedNow = wasTruncated || truncated;
1439
1478
  const baseText = Buffer.concat(chunks).toString("utf8");
1440
1479
  const done = async () => {
1480
+ if (captureResolved) return;
1441
1481
  await settleSpillRetention();
1482
+ if (captureResolved) return;
1442
1483
  let text = baseText;
1443
1484
  if (truncatedNow) {
1444
1485
  const notes = [`output exceeded ${formatLimit} buffer limit`];
@@ -1453,7 +1494,8 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1453
1494
 
1454
1495
  [stream pipe truncated: ${notes.join("; ")}]`;
1455
1496
  }
1456
- resolveStream(text);
1497
+ chunks.length = 0;
1498
+ resolveCapture(text);
1457
1499
  };
1458
1500
  const sink = spillSink;
1459
1501
  if (!sink || spillState !== "open") {
@@ -1486,6 +1528,23 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1486
1528
  settleSink(true, error);
1487
1529
  }
1488
1530
  };
1531
+ const stopCapture = () => {
1532
+ if (captureResolved) return;
1533
+ settled = true;
1534
+ const reason = "capture incomplete: post-exit drain grace exceeded";
1535
+ const snapshot = Buffer.concat(chunks).toString("utf8");
1536
+ chunks.length = 0;
1537
+ capture?.onIncomplete(reason);
1538
+ if (!spillSettlement) {
1539
+ markSpillFailed(new Error(reason));
1540
+ void settleSpillRetention();
1541
+ }
1542
+ resolveCapture(`${snapshot}
1543
+
1544
+ [${reason}]`);
1545
+ };
1546
+ capture?.stopSignal.addEventListener("abort", stopCapture, { once: true });
1547
+ if (capture?.stopSignal.aborted) stopCapture();
1489
1548
  stream.on("data", (chunk) => {
1490
1549
  if (settled) return;
1491
1550
  const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
@@ -1524,6 +1583,9 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1524
1583
  }
1525
1584
  resumeSourceIfPaused();
1526
1585
  void settleSpillRetention();
1586
+ captureResolved = true;
1587
+ capture?.stopSignal.removeEventListener("abort", stopCapture);
1588
+ chunks.length = 0;
1527
1589
  rejectStream(error);
1528
1590
  });
1529
1591
  stream.on("end", () => {
@@ -1533,14 +1595,6 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
1533
1595
  stream.on("close", () => finalize(false));
1534
1596
  });
1535
1597
  }
1536
- function waitForNodeProcessExit(proc) {
1537
- return new Promise((resolveExit, rejectExit) => {
1538
- proc.on("error", rejectExit);
1539
- proc.on("close", (code) => {
1540
- resolveExit(code ?? 0);
1541
- });
1542
- });
1543
- }
1544
1598
  function deriveLabel(command) {
1545
1599
  const trimmed = command.trim();
1546
1600
  if (!trimmed) return "process";
@@ -1588,6 +1642,7 @@ async function runWorkspaceCommand(args) {
1588
1642
  ...args.commandPrefix ?? [],
1589
1643
  ...args.command
1590
1644
  ];
1645
+ const spawnedAt = Date.now();
1591
1646
  const proc = spawnChildProcess(command[0] ?? "", command.slice(1), {
1592
1647
  cwd: resolve(args.workspaceRoot),
1593
1648
  stdio: [
@@ -1621,7 +1676,10 @@ async function runWorkspaceCommand(args) {
1621
1676
  owner: args.owner ?? null
1622
1677
  });
1623
1678
  }
1624
- const exitPromise = waitForNodeProcessExit(proc);
1679
+ const processExitPromise = new Promise((resolveExit, rejectExit) => {
1680
+ proc.once("exit", (code) => resolveExit(code ?? 0));
1681
+ proc.once("error", rejectExit);
1682
+ });
1625
1683
  const cleanupChildOnHostSignal = (signal) => {
1626
1684
  if (typeof proc.pid === "number") {
1627
1685
  try {
@@ -1641,21 +1699,50 @@ async function runWorkspaceCommand(args) {
1641
1699
  process.removeListener("SIGTERM", cleanupChildOnHostSignal);
1642
1700
  process.removeListener("SIGINT", cleanupChildOnHostSignal);
1643
1701
  };
1644
- exitPromise.then(detachSignalCleanup, detachSignalCleanup);
1702
+ const captureCutoff = new AbortController();
1703
+ let stdoutIncomplete;
1704
+ let stderrIncomplete;
1645
1705
  const stdoutCapture = stdoutPromiseResult(
1646
1706
  readNodeStream(proc.stdout, {
1647
1707
  spillPath: join3(tmpdir(), `nolo-stream-${randomUUID2()}.log`),
1648
1708
  spillRetention: "promote",
1649
1709
  spillWorkspaceRoot: args.workspaceRoot
1710
+ }, {
1711
+ stopSignal: captureCutoff.signal,
1712
+ onIncomplete: (reason) => {
1713
+ stdoutIncomplete = reason;
1714
+ }
1650
1715
  })
1651
- );
1716
+ ).then((result) => ({ ...result, error: result.error || stdoutIncomplete }));
1652
1717
  const stderrCapture = stdoutPromiseResult(
1653
1718
  readNodeStream(proc.stderr, {
1654
1719
  spillPath: join3(tmpdir(), `nolo-stream-${randomUUID2()}-stderr.log`),
1655
1720
  spillRetention: "promote",
1656
1721
  spillWorkspaceRoot: args.workspaceRoot
1722
+ }, {
1723
+ stopSignal: captureCutoff.signal,
1724
+ onIncomplete: (reason) => {
1725
+ stderrIncomplete = reason;
1726
+ }
1657
1727
  })
1658
- );
1728
+ ).then((result) => ({ ...result, error: result.error || stderrIncomplete }));
1729
+ const exitPromise = processExitPromise.then(async (code) => {
1730
+ const drainTimer = setTimeout(() => captureCutoff.abort(), 2e3);
1731
+ try {
1732
+ await Promise.all([stdoutCapture, stderrCapture]);
1733
+ return code;
1734
+ } finally {
1735
+ clearTimeout(drainTimer);
1736
+ }
1737
+ });
1738
+ let processExited = false;
1739
+ let terminationReason;
1740
+ let timeout;
1741
+ let forceKillTimer;
1742
+ const cleanupTerminationTimers = () => {
1743
+ if (timeout) clearTimeout(timeout);
1744
+ if (forceKillTimer) clearTimeout(forceKillTimer);
1745
+ };
1659
1746
  const killChild = (signal) => {
1660
1747
  if (detached && typeof proc.pid === "number") {
1661
1748
  try {
@@ -1669,7 +1756,22 @@ async function runWorkspaceCommand(args) {
1669
1756
  } catch {
1670
1757
  }
1671
1758
  };
1672
- let timeout;
1759
+ const onProcessExit = () => {
1760
+ processExited = true;
1761
+ cleanupTerminationTimers();
1762
+ detachSignalCleanup();
1763
+ };
1764
+ proc.once("exit", onProcessExit);
1765
+ proc.once("error", onProcessExit);
1766
+ const terminate = (reason) => {
1767
+ if (processExited || terminationReason) return;
1768
+ terminationReason = reason;
1769
+ if (timeout) clearTimeout(timeout);
1770
+ killChild("SIGTERM");
1771
+ forceKillTimer = setTimeout(() => {
1772
+ if (!processExited) killChild("SIGKILL");
1773
+ }, 500);
1774
+ };
1673
1775
  let detachTimer;
1674
1776
  const timeoutResult = Symbol("timeout");
1675
1777
  const abortResult = Symbol("abort");
@@ -1680,7 +1782,10 @@ async function runWorkspaceCommand(args) {
1680
1782
  resolveAbort(abortResult);
1681
1783
  return;
1682
1784
  }
1683
- abortListener = () => resolveAbort(abortResult);
1785
+ abortListener = () => {
1786
+ terminate("abort");
1787
+ resolveAbort(abortResult);
1788
+ };
1684
1789
  args.abortSignal.addEventListener("abort", abortListener, { once: true });
1685
1790
  }) : null;
1686
1791
  const effectiveDetachMs = resolveDetachMs(args.detachMs);
@@ -1690,7 +1795,12 @@ async function runWorkspaceCommand(args) {
1690
1795
  const exitOrTimeoutPromise = timeoutMs ? Promise.race([
1691
1796
  exitPromise,
1692
1797
  new Promise((resolveTimeout) => {
1693
- timeout = setTimeout(() => resolveTimeout(timeoutResult), timeoutMs);
1798
+ timeout = setTimeout(() => {
1799
+ if (processExited) return;
1800
+ const aborted2 = args.abortSignal?.aborted === true;
1801
+ terminate(aborted2 ? "abort" : "timeout");
1802
+ resolveTimeout(aborted2 ? abortResult : timeoutResult);
1803
+ }, Math.max(0, timeoutMs - (Date.now() - spawnedAt)));
1694
1804
  })
1695
1805
  ]) : exitPromise;
1696
1806
  const raceCandidates = [
@@ -1704,7 +1814,7 @@ async function runWorkspaceCommand(args) {
1704
1814
  try {
1705
1815
  raceWinner = await Promise.race(raceCandidates);
1706
1816
  } catch (error) {
1707
- if (timeout) clearTimeout(timeout);
1817
+ cleanupTerminationTimers();
1708
1818
  if (detachTimer) clearTimeout(detachTimer);
1709
1819
  if (abortListener && args.abortSignal) {
1710
1820
  args.abortSignal.removeEventListener("abort", abortListener);
@@ -1717,24 +1827,20 @@ async function runWorkspaceCommand(args) {
1717
1827
  }
1718
1828
  throw error;
1719
1829
  }
1720
- if (timeout) clearTimeout(timeout);
1721
1830
  if (detachTimer) clearTimeout(detachTimer);
1722
1831
  if (abortListener && args.abortSignal) {
1723
1832
  args.abortSignal.removeEventListener("abort", abortListener);
1724
1833
  }
1725
- const timedOut = raceWinner === timeoutResult;
1726
- const aborted = raceWinner === abortResult;
1834
+ const aborted = raceWinner === abortResult || raceWinner === timeoutResult && args.abortSignal?.aborted === true;
1835
+ const timedOut = raceWinner === timeoutResult && !aborted;
1727
1836
  const detachedProcess = raceWinner === detachResult;
1728
1837
  if (timedOut || aborted) {
1729
- killChild("SIGTERM");
1730
- const forceKillTimer = setTimeout(() => {
1731
- killChild("SIGKILL");
1732
- }, 500);
1838
+ terminate(aborted ? "abort" : "timeout");
1733
1839
  try {
1734
1840
  await exitPromise;
1735
1841
  } catch {
1736
1842
  } finally {
1737
- clearTimeout(forceKillTimer);
1843
+ cleanupTerminationTimers();
1738
1844
  }
1739
1845
  }
1740
1846
  if (detachedProcess) {
@@ -1752,9 +1858,9 @@ async function runWorkspaceCommand(args) {
1752
1858
  owner: args.owner ?? null
1753
1859
  });
1754
1860
  const taskId = envelope.taskId;
1755
- proc.on("close", (code) => {
1861
+ void exitPromise.then(() => {
1756
1862
  detachSignalCleanup();
1757
- const exitCode2 = code ?? 1;
1863
+ const exitCode2 = terminationReason === "abort" ? 130 : terminationReason === "timeout" ? 124 : proc.exitCode ?? 1;
1758
1864
  void (async () => {
1759
1865
  const [stdoutResult, stderrResult] = await Promise.all([
1760
1866
  stdoutCapture,
@@ -1763,10 +1869,15 @@ async function runWorkspaceCommand(args) {
1763
1869
  const stdout2 = stdoutResult.value;
1764
1870
  const stderr2 = stderrResult.value;
1765
1871
  let capsule;
1872
+ const terminalStderr = terminationReason === "abort" ? `${stderr2.trim() ? `${stderr2.trim()}
1873
+ ` : ""}command aborted by signal
1874
+ ` : terminationReason === "timeout" ? `${stderr2.trim() ? `${stderr2.trim()}
1875
+ ` : ""}command timed out after ${timeoutMs}ms
1876
+ ` : stderr2;
1766
1877
  try {
1767
1878
  capsule = buildProcessTaskResultCapsule({
1768
1879
  stdout: stdout2,
1769
- stderr: stderr2,
1880
+ stderr: terminalStderr,
1770
1881
  exitCode: exitCode2,
1771
1882
  // Duration is measured from the registry envelope's startedAt
1772
1883
  // (spawn moment), not from the detach moment.
@@ -1778,6 +1889,7 @@ async function runWorkspaceCommand(args) {
1778
1889
  }
1779
1890
  registry2.markExited(pid, exitCode2, capsule);
1780
1891
  })();
1892
+ }, () => {
1781
1893
  });
1782
1894
  const immediate = effectiveDetachMs === 0;
1783
1895
  const reason = immediate ? `command looks long-running; moved to background immediately (pid=${pid}, label=${label})` : `command detached to background after ${effectiveDetachMs}ms (pid=${pid}, label=${label})`;
@@ -1806,8 +1918,10 @@ Use listProcesses to inspect or stop it.`,
1806
1918
  stderrCapture
1807
1919
  ]);
1808
1920
  const stdout = stdoutCaptureResult.value;
1809
- const rawStderr = stderrCaptureResult.value;
1810
1921
  const streamCaptureError = [stdoutCaptureResult.error, stderrCaptureResult.error].filter(Boolean).join("; ");
1922
+ const rawStderr = streamCaptureError ? `${stderrCaptureResult.value}
1923
+ [${streamCaptureError}]
1924
+ ` : stderrCaptureResult.value;
1811
1925
  const exitCode = aborted ? 130 : timedOut ? 124 : Number(raceWinner);
1812
1926
  if (typeof proc.pid === "number") {
1813
1927
  registry2.completeTransient(proc.pid, exitCode);
@@ -10,13 +10,10 @@ import {
10
10
  } from "./chunk-E2BESSAW.js";
11
11
  import {
12
12
  getModelContextWindow
13
- } from "./chunk-BTYQAODF.js";
13
+ } from "./chunk-7BT37FK3.js";
14
14
  import {
15
15
  isRecord
16
16
  } from "./chunk-KUG52IAP.js";
17
- import {
18
- asOptionalTrimmedString
19
- } from "./chunk-G3SUCT4W.js";
20
17
  import {
21
18
  PLATFORM_HOSTED_KIMI_K3_MODEL,
22
19
  isFireworksKimiModel,
@@ -25,6 +22,9 @@ import {
25
22
  import {
26
23
  asTrimmedLowercaseString
27
24
  } from "./chunk-QSJ3HFEF.js";
25
+ import {
26
+ asOptionalTrimmedString
27
+ } from "./chunk-G3SUCT4W.js";
28
28
 
29
29
  // packages/integrations/openai/responsesHelpers.ts
30
30
  var RESPONSES_TOP_LEVEL_SCHEMA_KEYS = ["anyOf", "oneOf", "allOf", "enum", "not"];
@@ -154,11 +154,13 @@ var convertMessagesToResponsesInput = (messages, options) => {
154
154
  continue;
155
155
  }
156
156
  const role = message.role;
157
- if (role === "assistant" && !options?.stripReasoningContent && typeof message.reasoning_content === "string" && message.reasoning_content) {
157
+ const hasReplayableToolCalls = Array.isArray(message.tool_calls) && message.tool_calls.length > 0;
158
+ const reasoningText = typeof message.reasoning_content === "string" && message.reasoning_content.trim() ? message.reasoning_content : hasReplayableToolCalls && options?.replayReasoningPlaceholder?.trim() ? options.replayReasoningPlaceholder : void 0;
159
+ if (role === "assistant" && !options?.stripReasoningContent && reasoningText) {
158
160
  input.push({
159
161
  type: "reasoning",
160
162
  content: [
161
- { type: "reasoning_text", text: message.reasoning_content }
163
+ { type: "reasoning_text", text: reasoningText }
162
164
  ]
163
165
  });
164
166
  }
@@ -1127,7 +1129,7 @@ function shouldReplayReasoningContentForOutbound(provider, model) {
1127
1129
  const p = provider?.trim().toLowerCase();
1128
1130
  const m = model?.trim().toLowerCase();
1129
1131
  if (!p || !m) return false;
1130
- return (p === "opencode-go" || p === "opencode") && m.includes("deepseek");
1132
+ return shouldStripReasoningContentForOutbound(p, m) || (p === "opencode-go" || p === "opencode") && m.includes("deepseek");
1131
1133
  }
1132
1134
  function resolveReasoningReplayOptions(provider, model, stripReasoningContent) {
1133
1135
  if (stripReasoningContent) return {};
@@ -3,10 +3,10 @@ import {
3
3
  parseFlagWithOptionalValue,
4
4
  runCloudflareOAuthLogin,
5
5
  upsertEnvVariable
6
- } from "./chunk-27E2CBBY.js";
6
+ } from "./chunk-7OCO4TDT.js";
7
7
  import {
8
8
  defaultOpenBrowser
9
- } from "./chunk-XE4Q46FF.js";
9
+ } from "./chunk-3CGG2PAL.js";
10
10
  import {
11
11
  ANTHROPIC_OAUTH_AUTHORIZE_URL,
12
12
  ANTHROPIC_OAUTH_CALLBACK_PORT,
@@ -50,7 +50,7 @@ import {
50
50
  startCallbackServer,
51
51
  validateXAIEndpoint,
52
52
  xaiOAuthDiscovery
53
- } from "./chunk-SN5XE6GQ.js";
53
+ } from "./chunk-RPQXPZZF.js";
54
54
  import {
55
55
  extractGoogleValidationLink
56
56
  } from "./chunk-BMQ2MJUK.js";
@@ -60,11 +60,7 @@ import {
60
60
  detectLocalDevinCredentials,
61
61
  extractDevinToken,
62
62
  fetchAntigravityCloudCodeCompletion
63
- } from "./chunk-NTSRCTUX.js";
64
- import {
65
- createOAuthTokenStore,
66
- resolveFreshAccessToken
67
- } from "./chunk-G7Y4GXTY.js";
63
+ } from "./chunk-CTPXME7U.js";
68
64
  import {
69
65
  toErrorMessage
70
66
  } from "./chunk-HNMXYYJR.js";
@@ -80,7 +76,11 @@ import {
80
76
  } from "./chunk-R5GO3YZP.js";
81
77
  import {
82
78
  t
83
- } from "./chunk-3RQVYR4B.js";
79
+ } from "./chunk-VNYYOX3V.js";
80
+ import {
81
+ createOAuthTokenStore,
82
+ resolveFreshAccessToken
83
+ } from "./chunk-G7Y4GXTY.js";
84
84
  import {
85
85
  asOptionalFiniteNumber
86
86
  } from "./chunk-WWC7I6TA.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  selectCurrentServer,
3
3
  selectRemoteServers
4
- } from "./chunk-BSISWVB4.js";
4
+ } from "./chunk-4I7ERB7F.js";
5
5
  import {
6
6
  noloDeleteRequest,
7
7
  noloWriteRequest
8
- } from "./chunk-X4F26D5K.js";
8
+ } from "./chunk-P5L7CXOC.js";
9
9
  import {
10
10
  normalizeTimeFields
11
11
  } from "./chunk-AGP3YSEC.js";
@@ -21,7 +21,7 @@ import {
21
21
  sanitizeShareData,
22
22
  shareKey,
23
23
  toNonEmptyString
24
- } from "./chunk-ECX3NKRD.js";
24
+ } from "./chunk-JY5NGFFH.js";
25
25
 
26
26
  // packages/share/action.ts
27
27
  var generateToken = () => {
@@ -0,0 +1,26 @@
1
+ import {
2
+ resolvePlatformAuthToken
3
+ } from "./chunk-TCZHTTUU.js";
4
+
5
+ // packages/cli/client/localRuntimeHelpers.ts
6
+ var REMOTE_DIALOG_SYNC_TIMEOUT_MS = 1e4;
7
+ var remoteDialogSyncTimeoutMsForTest;
8
+ function setRemoteDialogSyncTimeoutForTest(ms) {
9
+ remoteDialogSyncTimeoutMsForTest = ms;
10
+ }
11
+ function remoteDialogSyncTimeout() {
12
+ return remoteDialogSyncTimeoutMsForTest ?? REMOTE_DIALOG_SYNC_TIMEOUT_MS;
13
+ }
14
+ function resolveRuntimeServerUrl(env) {
15
+ return (env?.NOLO_SERVER_URL || env?.NOLO_SERVER || env?.BASE_URL || "").replace(/\/+$/, "");
16
+ }
17
+ function resolveRuntimeAuthToken(env) {
18
+ return resolvePlatformAuthToken(env ?? {});
19
+ }
20
+
21
+ export {
22
+ setRemoteDialogSyncTimeoutForTest,
23
+ remoteDialogSyncTimeout,
24
+ resolveRuntimeServerUrl,
25
+ resolveRuntimeAuthToken
26
+ };
@@ -5,19 +5,19 @@ import {
5
5
  } from "./chunk-NBTY7YJF.js";
6
6
  import {
7
7
  resolveCliLocalRuntimeKeyCapability
8
- } from "./chunk-LT3EAHJY.js";
8
+ } from "./chunk-XHQC4PXX.js";
9
9
  import {
10
10
  HIGH_RISK_MUTATION_TOOL_NAMES
11
- } from "./chunk-6HVBI6TI.js";
11
+ } from "./chunk-KC4XDTT3.js";
12
+ import {
13
+ asTrimmedLowercaseString
14
+ } from "./chunk-QSJ3HFEF.js";
12
15
  import {
13
16
  DEFAULT_NOLO_SERVER_URL
14
17
  } from "./chunk-OLZBQWZU.js";
15
18
  import {
16
19
  normalizeServerOrigin
17
20
  } from "./chunk-CF7PE763.js";
18
- import {
19
- asTrimmedLowercaseString
20
- } from "./chunk-QSJ3HFEF.js";
21
21
 
22
22
  // packages/cli/agentRunArgs.ts
23
23
  import { readFileSync } from "node:fs";