nolo-cli 0.157.0-alpha.1 → 0.158.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/{_executeModel-5WS2PA62.js → _executeModel-6BMU3URY.js} +35 -35
  2. package/{accountResolver-7RYB4D2P.js → accountResolver-55EDKEIK.js} +1 -1
  3. package/{action-ZJYUBXFC.js → action-GPPJC5TI.js} +4 -4
  4. package/{addContentAction-TVHB4526.js → addContentAction-BI6RDRTQ.js} +7 -7
  5. package/{addDialogAgentAction-FDPBU6K6.js → addDialogAgentAction-4RJYUSIK.js} +6 -6
  6. package/{agentDeleteCommand-Q6M4F3U6.js → agentDeleteCommand-Q2XWGBC2.js} +42 -42
  7. package/{agentEmailCommands-FNH6FEHS.js → agentEmailCommands-XFBE2A3F.js} +44 -44
  8. package/{agentListCommands-JUNMFS6E.js → agentListCommands-OROMT4P3.js} +12 -12
  9. package/{agentMachineCommands-VNLDEKNT.js → agentMachineCommands-ULK5YKKJ.js} +11 -10
  10. package/{agentProviderCommands-X2HQE6HY.js → agentProviderCommands-MKG2OOEY.js} +2 -2
  11. package/{agentRecordCommands-47XXRVPI.js → agentRecordCommands-3VHBLS6P.js} +42 -42
  12. package/{agentRunCommand-QEXFJUXQ.js → agentRunCommand-LCIMEAQY.js} +44 -43
  13. package/{agentRuntimeLocal-O5GDAFTN.js → agentRuntimeLocal-NPJS2QDP.js} +5 -5
  14. package/{agentSlice-E3XS5FTQ.js → agentSlice-VRAPG6CH.js} +7 -7
  15. package/{appDeleteCommands-C2J5RQ3I.js → appDeleteCommands-AZ3KS4HK.js} +10 -10
  16. package/{appDeployCommands-3YRK7PSU.js → appDeployCommands-BTV22ICJ.js} +10 -10
  17. package/{appDeployStatusCommands-FPAX7MOK.js → appDeployStatusCommands-JSW3HPIW.js} +10 -10
  18. package/{appGetCommands-XAC2V766.js → appGetCommands-5KTTFIMV.js} +10 -10
  19. package/{appListCommands-ZJL2W5O7.js → appListCommands-3BJPAE2U.js} +10 -10
  20. package/{authCommand-J3XILHWW.js → authCommand-NIV3DKPF.js} +7 -287
  21. package/{authCommands-77CHYBGF.js → authCommands-AMNIAKEG.js} +2 -2
  22. package/{builtinSkillRegistry-A6VSPJEJ.js → builtinSkillRegistry-H3AY27TR.js} +1 -1
  23. package/{chromeCommands-OBBNJCLS.js → chromeCommands-IY4NVSXZ.js} +17 -10
  24. package/{chunk-SW4S4XYB.js → chunk-2AB2HA4M.js} +84 -34
  25. package/{chunk-VSOWPETY.js → chunk-2BKUVRC5.js} +7 -7
  26. package/{chunk-Z6KQDSZW.js → chunk-2SGAI64X.js} +2 -2
  27. package/{chunk-KOB75UNU.js → chunk-2SOS7OSQ.js} +18 -2
  28. package/{chunk-C5VPAHIU.js → chunk-32ZKZET7.js} +1 -1
  29. package/{chunk-XPWGOTBQ.js → chunk-3L2WKC3W.js} +1 -8
  30. package/{chunk-PEO24UB5.js → chunk-3TBHZPNG.js} +33 -6
  31. package/{chunk-YBNHPX4S.js → chunk-4RJJDA57.js} +1 -1
  32. package/{chunk-X5SUT4CN.js → chunk-4UOEOHY3.js} +6 -6
  33. package/{chunk-UUPR3TD7.js → chunk-7RF4O6AT.js} +1 -3
  34. package/{chunk-FPWT3RH2.js → chunk-AJ4V34SG.js} +10 -10
  35. package/{chunk-2GGXHQIW.js → chunk-BLVSFYQ3.js} +4 -2
  36. package/{chunk-SKPPKHD3.js → chunk-BYQOCH75.js} +2 -2
  37. package/{chunk-UTIMX333.js → chunk-C3OK72G3.js} +1 -1
  38. package/{chunk-ZWG3C7VI.js → chunk-C6FY7HWI.js} +35 -0
  39. package/{chunk-RUNKPFM5.js → chunk-CDWHHLK5.js} +12 -8
  40. package/{chunk-ROPSATAB.js → chunk-CON6SI7N.js} +1 -1
  41. package/{chunk-4Z245KOA.js → chunk-DC3SZCRR.js} +6 -2
  42. package/{chunk-OH2M7WEU.js → chunk-EQGFFDNA.js} +3 -3
  43. package/{chunk-ANJTRG52.js → chunk-G2WP7VPD.js} +0 -37
  44. package/{chunk-7A4LJCDR.js → chunk-G476FQ7Q.js} +4 -4
  45. package/{chunk-DW7MGLMG.js → chunk-GAVUTXM5.js} +21 -17
  46. package/{chunk-PSJWPSKS.js → chunk-HB4XPBC7.js} +0 -32
  47. package/{chunk-6MJNEXUU.js → chunk-HGDKT2D6.js} +4 -0
  48. package/{chunk-EM3YOZJ4.js → chunk-ICRRXBRN.js} +3 -3
  49. package/{chunk-7KYVUFDG.js → chunk-IE5PXKVU.js} +1 -263
  50. package/{chunk-T6CBQ6BN.js → chunk-INFHX73M.js} +1 -1
  51. package/{chunk-CE7PIHQD.js → chunk-IRTOYSA2.js} +3 -3
  52. package/{chunk-WZ6OU4NX.js → chunk-J2ATF74A.js} +2 -2
  53. package/{chunk-TJ2VPCBE.js → chunk-JPJGMOIM.js} +2 -2
  54. package/{chunk-I2ZMGXXF.js → chunk-KFHREHUQ.js} +1 -1
  55. package/{chunk-7GC3EKUG.js → chunk-KKKHAF3P.js} +2 -2
  56. package/{chunk-KX6LPG7W.js → chunk-KLA62VVE.js} +1 -1
  57. package/{chunk-TYND6RDQ.js → chunk-LV4LV2B4.js} +72 -1
  58. package/{chunk-TZTWMGE3.js → chunk-M2P3OGXZ.js} +3 -3
  59. package/{chunk-CBHGZRCE.js → chunk-MYOH447Z.js} +1 -1
  60. package/{chunk-6MPAEODB.js → chunk-NDZOXXIM.js} +17 -3
  61. package/{chunk-MVJVF4ED.js → chunk-NKPAHRMA.js} +7 -6
  62. package/{chunk-ZD2BLOY6.js → chunk-O4ZERG3M.js} +3 -3
  63. package/{chunk-36OMEXXR.js → chunk-OON4OBWI.js} +1 -1
  64. package/{chunk-SEJ5OS6F.js → chunk-PXYBUFDB.js} +4 -0
  65. package/{chunk-G47IPDOK.js → chunk-QPY264HO.js} +1 -1
  66. package/{chunk-TNIX77YM.js → chunk-R5GO3YZP.js} +34 -1
  67. package/{chunk-EJU23ST5.js → chunk-S72LMV7T.js} +670 -627
  68. package/{chunk-D4OWHT5Y.js → chunk-SPKLALBU.js} +2 -2
  69. package/{chunk-FDT27L7S.js → chunk-UCLSOLX4.js} +7 -5
  70. package/{chunk-B2EGWZJG.js → chunk-UFYBYB26.js} +1 -1
  71. package/{chunk-3XZKV7QQ.js → chunk-US6MKPE7.js} +1 -1
  72. package/{chunk-VAZHH6FO.js → chunk-VDEVDGEM.js} +18 -12
  73. package/{chunk-HXHSTRGH.js → chunk-VYNMQ6HW.js} +0 -27
  74. package/{chunk-7BSQK2UC.js → chunk-WRCZXJ4N.js} +2 -2
  75. package/{chunk-H4KACZMG.js → chunk-WTFRBJT5.js} +261 -126
  76. package/{chunk-QDA4Y5O6.js → chunk-WXFZ4P6O.js} +18 -14
  77. package/chunk-Y5GCAMGP.js +9 -0
  78. package/{chunk-SCJD2PNK.js → chunk-YPG7TUQD.js} +3 -3
  79. package/{chunk-XFKZ3MCV.js → chunk-YTXQ2U2X.js} +221 -65
  80. package/{chunk-ZEHTARJA.js → chunk-ZBXIKCZ4.js} +38 -92
  81. package/{chunk-HKT6QXP3.js → chunk-ZEY4NJRE.js} +2 -2
  82. package/{chunk-HP6O6LTV.js → chunk-ZVQHBIWV.js} +6 -6
  83. package/{commandRegistry-OUBQIF62.js → commandRegistry-D6JTVYKG.js} +73 -81
  84. package/{contentThunks-B3FRQGP7.js → contentThunks-DYQO4CTI.js} +14 -13
  85. package/{createAgentAutomationAction-T2YFJ6MY.js → createAgentAutomationAction-LW26KIBP.js} +14 -13
  86. package/{createDialogAction-2NFGFBXW.js → createDialogAction-VLLBRD52.js} +15 -14
  87. package/{createPageAction-LDAVZDN7.js → createPageAction-PDACOLI6.js} +14 -13
  88. package/{dbSlice-5QGKMQLO.js → dbSlice-DC2J53RC.js} +6 -6
  89. package/{deleteFile-EW6QNRRT.js → deleteFile-KYWEMNFX.js} +4 -4
  90. package/{dialogCommands-ZLBEAQHE.js → dialogCommands-F3Y4KCPZ.js} +12 -11
  91. package/{dialogSlice-64S3J6CP.js → dialogSlice-ERMZYMS6.js} +13 -12
  92. package/{docCreateCommands-XOG5BBFQ.js → docCreateCommands-YMWZLW64.js} +8 -8
  93. package/{docDeleteCommands-NCW3BBRX.js → docDeleteCommands-6KJ3ESK4.js} +9 -9
  94. package/{docReadCommands-OT7X44Y3.js → docReadCommands-YQGFVLWI.js} +8 -8
  95. package/{docStore-NIP7OO4I.js → docStore-HXKI6W5D.js} +7 -7
  96. package/{docUpdateCommands-JW7OWW2J.js → docUpdateCommands-QLSGXUEX.js} +8 -8
  97. package/{handleSendMessageAction-TOKA7ED7.js → handleSendMessageAction-2XCOZPXY.js} +25 -24
  98. package/index.js +6 -6
  99. package/{localRuntimeAdapter-EQM6LFYC.js → localRuntimeAdapter-VOFUPXNF.js} +42 -40
  100. package/{machineCommands-WJ7FZ67T.js → machineCommands-IN5O7CIO.js} +46 -44
  101. package/{machineWsRunDispatch-BQT4DEA2.js → machineWsRunDispatch-TH3GMSR3.js} +41 -41
  102. package/{memberThunks-KRV5YXOB.js → memberThunks-2DWKLE6W.js} +7 -7
  103. package/package.json +1 -1
  104. package/{profileConfig-ZGOFORWV.js → profileConfig-KN3N2BLF.js} +7 -1
  105. package/{providerPresetApply-CRZFMQD5.js → providerPresetApply-GSJI4JBJ.js} +1 -1
  106. package/{providerRegistry-7IS43D3X.js → providerRegistry-TSSTPGWF.js} +1 -1
  107. package/{read-5KAZHHDM.js → read-L7QEJETH.js} +4 -4
  108. package/{readDocTool-5QO34OSX.js → readDocTool-QELXV2GW.js} +1 -1
  109. package/{readlineWorkspace-JHJSU5DS.js → readlineWorkspace-EIEQUTEZ.js} +317 -104
  110. package/{removeDialogAgentAction-6X63HMI3.js → removeDialogAgentAction-376XSUP2.js} +8 -8
  111. package/{runAgentClientLoop-5QIGEALK.js → runAgentClientLoop-3KHKKBZI.js} +39 -34
  112. package/{secretCommands-ZXZRLR3R.js → secretCommands-DNY56NSU.js} +11 -1
  113. package/{setDialogExtraReferencesAction-4MAYKKYW.js → setDialogExtraReferencesAction-QBDSH63D.js} +7 -7
  114. package/{setPrimaryDialogAgentAction-EGBAMREH.js → setPrimaryDialogAgentAction-537QFGW3.js} +8 -8
  115. package/settingThunks-4Z43ZSAT.js +923 -0
  116. package/{spaceCommands-ZWDPTURU.js → spaceCommands-T5Z4U7HP.js} +8 -8
  117. package/{streamAgentChatTurn-456DWXNY.js → streamAgentChatTurn-DMXXSEVX.js} +39 -39
  118. package/{switchDialogAgentAction-YBKTD6DO.js → switchDialogAgentAction-CSO6AKRL.js} +6 -6
  119. package/{tableCommands-U3QDY4L6.js → tableCommands-LBH3QPPO.js} +1 -1
  120. package/{toolApiClient-7WSJJJBV.js → toolApiClient-HGNO53TC.js} +2 -2
  121. package/{tools-IWNXKK4Y.js → tools-RMT7NAMC.js} +29 -28
  122. package/{updateCommands-NQXAGFM7.js → updateCommands-LXZLG44Y.js} +2 -2
  123. package/{updateDialogTitleAction-SX53FZWO.js → updateDialogTitleAction-Z4WNUH6Y.js} +14 -13
  124. package/{workloadLifecycle-36DXRZKU.js → workloadLifecycle-6O6PMISX.js} +2 -2
  125. package/chunk-W4S6OTSC.js +0 -35
  126. package/settingThunks-FTDRZNSJ.js +0 -1371
@@ -9,7 +9,7 @@ import {
9
9
  resolveRawAgentInput,
10
10
  resolveServerUrl,
11
11
  writeUsage
12
- } from "./chunk-KOB75UNU.js";
12
+ } from "./chunk-2SOS7OSQ.js";
13
13
  import {
14
14
  getReadableCliDb
15
15
  } from "./chunk-P5QACQDK.js";
@@ -27,7 +27,7 @@ import {
27
27
  resolveBoundMachineId,
28
28
  resolveFileWriteGateEnabled,
29
29
  resolveLocalUserId
30
- } from "./chunk-EJU23ST5.js";
30
+ } from "./chunk-S72LMV7T.js";
31
31
  import {
32
32
  clearCredentialAvailability,
33
33
  readCredentialEntry,
@@ -39,7 +39,7 @@ import {
39
39
  t,
40
40
  toolLabel,
41
41
  toolLabelVariants
42
- } from "./chunk-SW4S4XYB.js";
42
+ } from "./chunk-2AB2HA4M.js";
43
43
  import {
44
44
  _appendEntityBatch,
45
45
  _appendEvidenceBatch,
@@ -54,10 +54,13 @@ import {
54
54
  loadMemoryVNextCatalog,
55
55
  putMemoryEvidenceVNext
56
56
  } from "./chunk-TY3TIUJK.js";
57
+ import {
58
+ parsePositiveFiniteNumberOrFallback
59
+ } from "./chunk-Y5GCAMGP.js";
57
60
  import {
58
61
  readDbRecord,
59
62
  resolveAgentRecordFromHybridStore
60
- } from "./chunk-HKT6QXP3.js";
63
+ } from "./chunk-ZEY4NJRE.js";
61
64
  import {
62
65
  isLocalCliAgentKey
63
66
  } from "./chunk-NBTY7YJF.js";
@@ -72,30 +75,31 @@ import {
72
75
  } from "./chunk-BMQ2MJUK.js";
73
76
  import {
74
77
  resolveCliLocalRuntimeKeyCapability
75
- } from "./chunk-XFKZ3MCV.js";
78
+ } from "./chunk-YTXQ2U2X.js";
76
79
  import {
77
80
  isTransientFetchError
78
- } from "./chunk-I2ZMGXXF.js";
81
+ } from "./chunk-KFHREHUQ.js";
79
82
  import {
80
83
  parseUiCard,
81
84
  uiCardFallback
82
- } from "./chunk-RUNKPFM5.js";
85
+ } from "./chunk-CDWHHLK5.js";
83
86
  import {
84
87
  isGatewayHttpStatus
85
88
  } from "./chunk-NF64D32W.js";
86
- import {
87
- parsePositiveFiniteNumberOrFallback
88
- } from "./chunk-XPWGOTBQ.js";
89
89
  import {
90
90
  buildMemorySubjectsForAgent,
91
91
  chooseMemoryOwners,
92
92
  loadMemoryCandidatesFromDb,
93
93
  resolveAgentMemoryPolicy
94
- } from "./chunk-7A4LJCDR.js";
94
+ } from "./chunk-G476FQ7Q.js";
95
95
  import {
96
96
  API_REPORTED_COST_MULTIPLIER,
97
- parseUiAskChoiceContent
98
- } from "./chunk-H4KACZMG.js";
97
+ estimateMessagesTokens,
98
+ parseUiAskChoiceContent,
99
+ resolveAgentContextWindow,
100
+ resolveOccupancy,
101
+ resolveOccupancyWindow
102
+ } from "./chunk-WTFRBJT5.js";
99
103
  import {
100
104
  isOAuthApiKeyRef
101
105
  } from "./chunk-UKZX3NHN.js";
@@ -107,14 +111,10 @@ import {
107
111
  LOCAL_AGENT_CONFIG_MISSING_CODE,
108
112
  LOCAL_TURN_ABORTED_CODE,
109
113
  readActionGate
110
- } from "./chunk-PEO24UB5.js";
114
+ } from "./chunk-3TBHZPNG.js";
111
115
  import {
112
- devinChannelContextWindow,
113
116
  resolveAgentRuntimeConfigFromRecord
114
- } from "./chunk-ANJTRG52.js";
115
- import {
116
- isDevinOAuthAgent
117
- } from "./chunk-5ZUL4CUO.js";
117
+ } from "./chunk-G2WP7VPD.js";
118
118
  import {
119
119
  createThinkParserState,
120
120
  flushThinkParser,
@@ -137,10 +137,7 @@ import {
137
137
  } from "./chunk-3MZAGMYY.js";
138
138
  import {
139
139
  normalizeUsage
140
- } from "./chunk-ZWG3C7VI.js";
141
- import {
142
- findModelContextWindow
143
- } from "./chunk-2MTE2PEH.js";
140
+ } from "./chunk-C6FY7HWI.js";
144
141
  import {
145
142
  clipCompactText
146
143
  } from "./chunk-5MMAK75Q.js";
@@ -190,9 +187,6 @@ import {
190
187
  formatStopRunCard,
191
188
  isAgentRunTerminalStatus
192
189
  } from "./chunk-PJNFNEJE.js";
193
- import {
194
- estimateTokenCount
195
- } from "./chunk-PSCNXBYA.js";
196
190
  import {
197
191
  resolveClientVersion
198
192
  } from "./chunk-SUKSWFLP.js";
@@ -434,40 +428,6 @@ ${cardText}` : cardText;
434
428
  // packages/chat/messages/attachmentWriteRollout.ts
435
429
  var ENABLE_REMOTE_ATTACHMENT_PART_WRITES = false;
436
430
 
437
- // packages/ai/context/contextOccupancy.ts
438
- function estimateMessagesTokens(messages) {
439
- return messages.reduce((total, message) => {
440
- const content = typeof message.content === "string" ? message.content : message.content == null ? "" : JSON.stringify(message.content);
441
- return total + estimateTokenCount(content) + 4;
442
- }, 0);
443
- }
444
- function historyTokensBeforeLatestAssistant(messages) {
445
- const total = estimateMessagesTokens(messages);
446
- const latest = messages[messages.length - 1];
447
- if (latest?.role !== "assistant") return total;
448
- return Math.max(0, total - estimateMessagesTokens([latest]));
449
- }
450
- function resolveOccupancy(input) {
451
- if (input.authoritativeInput !== void 0 && input.authoritativeInput > 0) {
452
- const generated = Math.max(0, input.generatedSinceAuthority ?? 0);
453
- return {
454
- tokens: input.authoritativeInput + generated,
455
- estimated: generated > 0
456
- };
457
- }
458
- return {
459
- tokens: Math.max(0, input.baselineEstimate ?? 0),
460
- estimated: true
461
- };
462
- }
463
- function resolveOccupancyWindow(ref) {
464
- if (!ref.model) return void 0;
465
- if (isDevinOAuthAgent(ref)) {
466
- return devinChannelContextWindow(ref.model) ?? findModelContextWindow(ref.model, ref.provider);
467
- }
468
- return findModelContextWindow(ref.model, ref.provider);
469
- }
470
-
471
431
  // packages/cli/client/tokenUsage.ts
472
432
  var PLATFORM_CREDIT_UNIT = "credits";
473
433
  var isUsableModelId = (model) => {
@@ -491,34 +451,10 @@ function resolveAgentModelIdentity(opts) {
491
451
  ...model ? { model } : {}
492
452
  };
493
453
  }
494
- function resolveAgentContextWindow(opts) {
454
+ function resolveAgentContextWindow2(opts) {
495
455
  const model = resolveEffectiveModel(opts);
496
456
  if (model) return resolveContextWindow(model);
497
- const byName = opts.agentName?.trim() ? resolveOccupancyWindow({ model: opts.agentName }) : void 0;
498
- if (byName !== void 0) return byName;
499
- const candidates = [
500
- ...modelSlugCandidates(opts.agentKey, 2),
501
- ...modelSlugCandidates(opts.agentName, 1)
502
- ];
503
- for (const candidate of candidates) {
504
- const window = resolveOccupancyWindow({ model: candidate });
505
- if (window !== void 0) return window;
506
- }
507
- return void 0;
508
- }
509
- var AGENT_KEY_PREFIX = /^agent-[a-z0-9]+-/i;
510
- function modelSlugCandidates(source, maxDrop) {
511
- const raw = source?.trim();
512
- if (!raw) return [];
513
- const base = raw.replace(/\s+/g, "-").toLowerCase();
514
- const seed = base.replace(AGENT_KEY_PREFIX, "");
515
- const out = [seed];
516
- if (seed !== base) out.push(base);
517
- const segments = seed.split("-");
518
- for (let drop = 1; drop <= maxDrop && drop < segments.length; drop++) {
519
- out.push(segments.slice(drop).join("-"));
520
- }
521
- return [...new Set(out.filter(Boolean))];
457
+ return resolveAgentContextWindow(opts);
522
458
  }
523
459
  var PROVIDER_LOOKUP_ORDER = [
524
460
  "openrouter",
@@ -11245,7 +11181,7 @@ function isBalanceExhaustedError(error) {
11245
11181
 
11246
11182
  // packages/cli/client/agentRun.ts
11247
11183
  async function loadRunLocalAgentTurn() {
11248
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-O5GDAFTN.js");
11184
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-NPJS2QDP.js");
11249
11185
  return runLocalAgentTurn;
11250
11186
  }
11251
11187
  var stripDebugNoise = (s) => s.replace(/\s*raw="[\s\S]*"/g, "").replace(/\s*raw=\S+/g, "").replace(/\s*headers=\[[^\]]*\]/g, "").replace(/\s*headers=\S+/g, "").trim();
@@ -11342,7 +11278,8 @@ function buildDefaultLocalRuntimeAdapter(options) {
11342
11278
  // runtimeKey 接线:不传下去则本地 run 的 runtimeKey 在 agentRun 层就断了
11343
11279
  // ——adapter 收不到 → docker workload 永不创建,非 docker 云后端也不会
11344
11280
  // fail-closed(死代码)。
11345
- ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {}
11281
+ ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {},
11282
+ ...options.dockerWorkspaceMode ? { dockerWorkspaceMode: options.dockerWorkspaceMode } : {}
11346
11283
  });
11347
11284
  }
11348
11285
  function resolveLocalRuntimeAdapter(options) {
@@ -11350,7 +11287,8 @@ function resolveLocalRuntimeAdapter(options) {
11350
11287
  cwd: options.localRuntimeCwd,
11351
11288
  // 与 buildDefaultLocalRuntimeAdapter 同口径:注入式 factory 也必须拿到
11352
11289
  // runtimeKey,否则注入了 adapter 的本地 run 会静默丢掉 docker 语义。
11353
- ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {}
11290
+ ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {},
11291
+ ...options.dockerWorkspaceMode ? { dockerWorkspaceMode: options.dockerWorkspaceMode } : {}
11354
11292
  }) || buildDefaultLocalRuntimeAdapter(options);
11355
11293
  }
11356
11294
  function wrapAdapterEphemeral(adapter) {
@@ -12341,6 +12279,9 @@ async function runLocalAgentTurnForCliWithAdapter(options, settings, resolvedBas
12341
12279
  parentDialogId: options.parentDialogId,
12342
12280
  runtimeContext: runtimeContextWithOwnership,
12343
12281
  runKind: options.env.NOLO_AGENT_RUN_CHILD === "1" ? "subtask" : "interactive",
12282
+ // 展示能力由宿主声明(TUI=narrow),非交互 CLI/后台留空 → unknown;
12283
+ // 排版段只在能力已知时由 localLoop 注入,server 线不读该字段。
12284
+ ...options.responseViewport ? { responseViewport: options.responseViewport } : {},
12344
12285
  background: options.background,
12345
12286
  noStream: options.noStream,
12346
12287
  ...options.contextBlockScopes?.length ? { contextBlockScopes: options.contextBlockScopes } : options.extraContextBlocks?.length ? { contextBlocks: options.extraContextBlocks } : {},
@@ -15770,6 +15711,12 @@ async function runAgentRunCommand(args, deps) {
15770
15711
  } } : {},
15771
15712
  agentName: targetAgentKey,
15772
15713
  agentKey: targetAgentKey,
15714
+ // 当前执行链未提供可靠的最终展示能力,按约定使用 unknown(只注入行为段,不猜
15715
+ // 宽/窄屏;`stdout.isTTY` 只说明是不是终端,说明不了宽度)。这不表示宿主永远
15716
+ // 无法获得尺寸:将来接入时应传展示能力,不应由调用方拼接准则文本。
15717
+ // 放在 buildRunOptions 这个唯一构造点上,首轮 / quota fallback / 队列 drain
15718
+ // 三处 runner(...) 调用自动一致;远端分支走 server 线,不读该字段。
15719
+ responseViewport: "unknown",
15773
15720
  serverUrl: resolveServerUrl(env),
15774
15721
  message: formatTurnMessage(turnMessage),
15775
15722
  imageUrls: parsed.imageUrls.map(normalizeCliImageInput),
@@ -15789,6 +15736,7 @@ async function runAgentRunCommand(args, deps) {
15789
15736
  // runtimeKey 与 machine-shell 的组合已在 parseAgentRunArgs 入口显式拒绝,
15790
15737
  // 这里直接透传即可(不再静默丢弃参数)。
15791
15738
  ...parsed.runtimeKey ? { runtimeKey: parsed.runtimeKey } : {},
15739
+ ...parsed.dockerWorkspaceMode ? { dockerWorkspaceMode: parsed.dockerWorkspaceMode } : {},
15792
15740
  ...parsed.continueDialogId ? { continueDialogId: parsed.continueDialogId } : {},
15793
15741
  ...parsed.strictContinueHistory ? { strictContinueHistory: true } : {},
15794
15742
  ...parsed.spaceId ? { spaceId: parsed.spaceId } : {},
@@ -16059,10 +16007,8 @@ export {
16059
16007
  redactSecrets,
16060
16008
  safeAskText,
16061
16009
  TUI_TREE_MARKER,
16062
- estimateMessagesTokens,
16063
- historyTokensBeforeLatestAssistant,
16064
16010
  resolveAgentModelIdentity,
16065
- resolveAgentContextWindow,
16011
+ resolveAgentContextWindow2 as resolveAgentContextWindow,
16066
16012
  platformCreditsFromUsage,
16067
16013
  formatCreditsChip,
16068
16014
  formatTokenCount,
@@ -3,7 +3,7 @@ import {
3
3
  classifyAgentApiKeyRef,
4
4
  formatUnsupportedAgentApiKeyRefMessage,
5
5
  shouldReadAgentKeyRemotely
6
- } from "./chunk-UUPR3TD7.js";
6
+ } from "./chunk-7RF4O6AT.js";
7
7
  import {
8
8
  resolveCliAgentKeyInput
9
9
  } from "./chunk-NBTY7YJF.js";
@@ -556,7 +556,7 @@ async function buildCreatedAgentRecord(args) {
556
556
  const resolvedAgentInput = resolveCliAgentKeyInput(args.parsed.agentInput);
557
557
  const agentKey = resolvedAgentInput.startsWith("agent-") ? resolvedAgentInput : createAgentKey.private(userId || "local", resolvedAgentInput);
558
558
  if (args.parsed.presetId) {
559
- const { resolveProviderPresetFields } = await import("./providerPresetApply-CRZFMQD5.js");
559
+ const { resolveProviderPresetFields } = await import("./providerPresetApply-GSJI4JBJ.js");
560
560
  const fields = resolveProviderPresetFields(args.parsed.presetId);
561
561
  if (fields.kind === "manual") {
562
562
  throw new Error(
@@ -6,12 +6,12 @@ import {
6
6
  readAction,
7
7
  readRequestManager,
8
8
  resolveAgentReadServers
9
- } from "./chunk-6MPAEODB.js";
9
+ } from "./chunk-NDZOXXIM.js";
10
10
  import {
11
11
  loadFileFromIndexedDb,
12
12
  removeAction,
13
13
  saveFileToIndexedDb
14
- } from "./chunk-D4OWHT5Y.js";
14
+ } from "./chunk-SPKLALBU.js";
15
15
  import {
16
16
  beginWriteAck,
17
17
  compareRemoteRecordsByComparableTime,
@@ -28,13 +28,13 @@ import {
28
28
  shouldReplaceLocalWithRemoteRecord,
29
29
  shouldReplicateLocalRecord,
30
30
  uploadToCurrentServer
31
- } from "./chunk-Z6KQDSZW.js";
31
+ } from "./chunk-2SGAI64X.js";
32
32
  import {
33
33
  asyncThunkCreator,
34
34
  buildCreateSlice,
35
35
  createEntityAdapter,
36
36
  noloDeleteRequest
37
- } from "./chunk-7BSQK2UC.js";
37
+ } from "./chunk-WRCZXJ4N.js";
38
38
  import {
39
39
  fetchFromClientDb,
40
40
  fetchFromServer,
@@ -706,7 +706,7 @@ var dbSlice = createSliceWithThunks({
706
706
  // 动态 import 在调用期解析,避开 TDZ/求值顺序问题(同下方 share)。
707
707
  read: create.asyncThunk(
708
708
  async (payload, thunkApi) => {
709
- const { readAction: readAction2 } = await import("./read-5KAZHHDM.js");
709
+ const { readAction: readAction2 } = await import("./read-L7QEJETH.js");
710
710
  return readAction2(payload, thunkApi);
711
711
  },
712
712
  {
@@ -780,7 +780,7 @@ var dbSlice = createSliceWithThunks({
780
780
  // 这里改成动态 import,运行期才解析,彻底断开这条边。
781
781
  share: create.asyncThunk(
782
782
  async (config, thunkApi) => {
783
- const { shareResourceAction } = await import("./action-ZJYUBXFC.js");
783
+ const { shareResourceAction } = await import("./action-GPPJC5TI.js");
784
784
  return shareResourceAction(config, thunkApi);
785
785
  }
786
786
  ),