nolo-cli 0.152.0-alpha.1 → 0.153.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 (148) hide show
  1. package/{_executeModel-4KHFMQT4.js → _executeModel-YAHIA3TR.js} +44 -45
  2. package/{accountResolver-7RYB4D2P.js → accountResolver-55EDKEIK.js} +1 -1
  3. package/{action-SXJD5N5R.js → action-GPPJC5TI.js} +4 -4
  4. package/{addContentAction-ZV774PHH.js → addContentAction-BI6RDRTQ.js} +8 -8
  5. package/{addDialogAgentAction-A6SMKAGH.js → addDialogAgentAction-4RJYUSIK.js} +7 -7
  6. package/{agentDeleteCommand-EKFV5FC7.js → agentDeleteCommand-6W2VQADC.js} +57 -57
  7. package/{agentEmailCommands-MNV3MUH5.js → agentEmailCommands-ZTS5JSP5.js} +59 -59
  8. package/{agentListCommands-E6FYKXC3.js → agentListCommands-MM5OLPBY.js} +23 -23
  9. package/{agentMachineCommands-2GFUU7GF.js → agentMachineCommands-WPFV4TSD.js} +22 -21
  10. package/{agentProviderCommands-HL6MBLCL.js → agentProviderCommands-MKG2OOEY.js} +2 -2
  11. package/{agentRecordCommands-LPHHTEPM.js → agentRecordCommands-YW7XO5CX.js} +57 -57
  12. package/{agentRunCommand-JSPW7W32.js → agentRunCommand-R2JTIRPZ.js} +59 -58
  13. package/{agentRunControl-IFM7IGMG.js → agentRunControl-2C5GM3BW.js} +5 -5
  14. package/{agentRuntimeLocal-ARS4TV77.js → agentRuntimeLocal-RJKTDWNN.js} +16 -16
  15. package/{agentSlice-IP4DZNNV.js → agentSlice-7FNTOPHE.js} +8 -8
  16. package/{appDeleteCommands-JHTLKQSX.js → appDeleteCommands-7EOM274T.js} +21 -21
  17. package/{appDeployCommands-5V26M2KA.js → appDeployCommands-2I3QYJ5G.js} +21 -21
  18. package/{appDeployStatusCommands-SBSPS627.js → appDeployStatusCommands-LEML7FPR.js} +21 -21
  19. package/{appGetCommands-NKPD2L45.js → appGetCommands-ZQSVHGQM.js} +21 -21
  20. package/{appListCommands-ZOGRZFYY.js → appListCommands-BVA7XKQO.js} +21 -21
  21. package/{authCommand-QYN47CQD.js → authCommand-NIV3DKPF.js} +13 -293
  22. package/{authCommands-77CHYBGF.js → authCommands-AMNIAKEG.js} +2 -2
  23. package/{builtinSkillRegistry-TDQ6JB2E.js → builtinSkillRegistry-H3AY27TR.js} +3 -3
  24. package/{chromeCommands-OBBNJCLS.js → chromeCommands-IY4NVSXZ.js} +17 -10
  25. package/{chunk-SW4S4XYB.js → chunk-2AB2HA4M.js} +84 -34
  26. package/{chunk-VNP54NZL.js → chunk-2EROINJB.js} +14 -14
  27. package/{chunk-4PXHOOFA.js → chunk-2MTE2PEH.js} +3 -3
  28. package/{chunk-4YRTZIVN.js → chunk-2SGAI64X.js} +2 -2
  29. package/{chunk-QFEW2ULV.js → chunk-32ZKZET7.js} +1 -1
  30. package/{chunk-GQV5KHJU.js → chunk-3C2QLERX.js} +1 -1
  31. package/{chunk-XPWGOTBQ.js → chunk-3L2WKC3W.js} +1 -8
  32. package/{chunk-WD4XYDYC.js → chunk-3WIXU4XO.js} +224 -1
  33. package/{chunk-MZHOLWW5.js → chunk-4J4RVSHE.js} +3 -3
  34. package/{chunk-YBNHPX4S.js → chunk-4RJJDA57.js} +1 -1
  35. package/{chunk-OFVFQYIE.js → chunk-6COBMDV4.js} +19 -13
  36. package/{chunk-HL3O3PCQ.js → chunk-6TF64IF2.js} +2 -2
  37. package/{chunk-BNDETALN.js → chunk-7NSQJKGA.js} +45 -13
  38. package/{chunk-UUPR3TD7.js → chunk-7RF4O6AT.js} +1 -3
  39. package/{chunk-LC23WBCU.js → chunk-ACTR4SH2.js} +6 -6
  40. package/{chunk-HSJPKBLC.js → chunk-ANJTRG52.js} +2 -2
  41. package/{chunk-2GGXHQIW.js → chunk-BLVSFYQ3.js} +4 -2
  42. package/{chunk-ISQL4V7C.js → chunk-C3OK72G3.js} +1 -1
  43. package/{chunk-CHCS6XPJ.js → chunk-CGFNDIKK.js} +65 -0
  44. package/{chunk-F32Z66T4.js → chunk-CON6SI7N.js} +1 -1
  45. package/{chunk-HIQ4GF53.js → chunk-DC3SZCRR.js} +7 -3
  46. package/{chunk-RQ6E3G5L.js → chunk-DRPDGHQB.js} +18 -2
  47. package/{chunk-RVWMAFIT.js → chunk-FYYSDHVQ.js} +1 -1
  48. package/{chunk-XTWDF6RU.js → chunk-GLUL4C5S.js} +21 -17
  49. package/{chunk-TYYRSFBG.js → chunk-HB4XPBC7.js} +3 -35
  50. package/{chunk-6MJNEXUU.js → chunk-HGDKT2D6.js} +4 -0
  51. package/{chunk-UBUH2TCC.js → chunk-I2RMFLLH.js} +2 -2
  52. package/{chunk-VJXHL6MH.js → chunk-ICRRXBRN.js} +3 -3
  53. package/{chunk-XS47QOFV.js → chunk-IE5PXKVU.js} +2 -264
  54. package/{chunk-KMM2X7LP.js → chunk-ILVOUUMR.js} +3 -3
  55. package/{chunk-KFHQQ3NO.js → chunk-INFHX73M.js} +1 -1
  56. package/{chunk-XRUSXPCQ.js → chunk-IPAW7XLD.js} +57 -4
  57. package/{chunk-PLSVXHSA.js → chunk-IRTOYSA2.js} +3 -3
  58. package/{chunk-GCKHQECX.js → chunk-IYBIRCQV.js} +1 -1
  59. package/{chunk-ILU2NPWY.js → chunk-J2ATF74A.js} +2 -2
  60. package/{chunk-XZNCX52W.js → chunk-JGRPBIZZ.js} +1 -1
  61. package/{chunk-E2AKSW7L.js → chunk-JPJGMOIM.js} +2 -2
  62. package/{chunk-6LIKQYG4.js → chunk-JZYIISJB.js} +21 -23
  63. package/{chunk-44WXLHFI.js → chunk-K43ZF2C3.js} +1 -1
  64. package/{chunk-I2ZMGXXF.js → chunk-KFHREHUQ.js} +1 -1
  65. package/{chunk-JKMLSTZK.js → chunk-KLA62VVE.js} +3 -3
  66. package/{chunk-AHYBQP3M.js → chunk-L57R6PFF.js} +3 -3
  67. package/{chunk-DYYMIUN4.js → chunk-L6EQV5OC.js} +4 -4
  68. package/{chunk-EZVK3N5L.js → chunk-LOEO7LRC.js} +56 -0
  69. package/{chunk-EDX5XSJM.js → chunk-M2P3OGXZ.js} +3 -3
  70. package/{chunk-YVLQXTUB.js → chunk-MM3662RS.js} +1 -1
  71. package/{chunk-CBHGZRCE.js → chunk-MYOH447Z.js} +1 -1
  72. package/{chunk-A4MW3YZL.js → chunk-NDZOXXIM.js} +18 -4
  73. package/{chunk-EHFS4XZO.js → chunk-NKBMD4TC.js} +12 -8
  74. package/{chunk-64PFYIAY.js → chunk-OJ2PQXBV.js} +674 -637
  75. package/{chunk-36OMEXXR.js → chunk-OON4OBWI.js} +1 -1
  76. package/{chunk-SEJ5OS6F.js → chunk-PXYBUFDB.js} +4 -0
  77. package/{chunk-XCA6HQGS.js → chunk-QEONMOV7.js} +5 -5
  78. package/{chunk-USHQX6VT.js → chunk-QPY264HO.js} +1 -1
  79. package/{chunk-PFBIXTFB.js → chunk-QSKN3E7Q.js} +52 -26
  80. package/{chunk-TNIX77YM.js → chunk-R5GO3YZP.js} +34 -1
  81. package/{chunk-I5V3V2H4.js → chunk-RL2OOQUM.js} +37 -25
  82. package/{chunk-AIZE5TDM.js → chunk-SPKLALBU.js} +2 -2
  83. package/{chunk-K2AER7RX.js → chunk-SUKSWFLP.js} +2 -2
  84. package/{chunk-I4SN4NUQ.js → chunk-TRW43TSC.js} +1 -1
  85. package/{chunk-D2QN6CTI.js → chunk-UCLSOLX4.js} +8 -6
  86. package/{chunk-TYJ5XFEA.js → chunk-UFYBYB26.js} +1 -1
  87. package/{chunk-SCMHQUMK.js → chunk-US6MKPE7.js} +1 -1
  88. package/{chunk-ZIWPQEFU.js → chunk-VYNMQ6HW.js} +1 -28
  89. package/{chunk-PPU323UE.js → chunk-W2NNEHHW.js} +183 -66
  90. package/{chunk-IJERIUXS.js → chunk-WRCZXJ4N.js} +6 -3
  91. package/chunk-Y5GCAMGP.js +9 -0
  92. package/{chunk-GKXCHNTE.js → chunk-Y6ORVLSS.js} +1 -1
  93. package/{chunk-RSHPU4PD.js → chunk-YANF2RR4.js} +2 -2
  94. package/{chunk-EYWJT7A2.js → chunk-YPG7TUQD.js} +3 -3
  95. package/{chunk-PMYAE4OZ.js → chunk-YPY2S3DV.js} +3 -3
  96. package/{chunk-ZF6526IQ.js → chunk-ZEY4NJRE.js} +2 -2
  97. package/{chunk-JWTSWUPS.js → chunk-ZGG7BBVE.js} +7 -6
  98. package/{chunk-T5BHHWA5.js → chunk-ZGSW3HWM.js} +7 -7
  99. package/{chunk-74RAWNQN.js → chunk-ZVQHBIWV.js} +6 -6
  100. package/{chunk-DTODXBHK.js → chunk-ZWG3C7VI.js} +2 -2
  101. package/{commandRegistry-VBALU4Q4.js → commandRegistry-ZPK4AUWM.js} +79 -87
  102. package/{contentThunks-HPY2QNWZ.js → contentThunks-SXEQLAFP.js} +20 -20
  103. package/{createAgentAutomationAction-6ADGPGY6.js → createAgentAutomationAction-INVACTI3.js} +20 -20
  104. package/{createDialogAction-6ABMSEW2.js → createDialogAction-FDO3DYW4.js} +21 -21
  105. package/{createPageAction-OC4NNRPC.js → createPageAction-Q5CQPEQH.js} +20 -20
  106. package/{dbSlice-J37OGIXH.js → dbSlice-DC2J53RC.js} +7 -7
  107. package/{deleteFile-6JWDDRVP.js → deleteFile-KYWEMNFX.js} +4 -4
  108. package/{dialogCommands-EIGBRSQP.js → dialogCommands-MUFYPVMP.js} +24 -23
  109. package/{dialogSlice-SI45KJOH.js → dialogSlice-DS22VO6X.js} +19 -19
  110. package/{docCreateCommands-3JDBBMU5.js → docCreateCommands-OPWOKG62.js} +19 -19
  111. package/{docDeleteCommands-5M6C7UUB.js → docDeleteCommands-IBV3WMKI.js} +20 -20
  112. package/{docReadCommands-DUB57F6V.js → docReadCommands-LVALHMLZ.js} +19 -19
  113. package/{docStore-L43MDEK4.js → docStore-UFEWRQ5W.js} +8 -8
  114. package/{docUpdateCommands-WF7MAMPK.js → docUpdateCommands-Z5OUEAK7.js} +19 -19
  115. package/{getPricing-FKK3F5EJ.js → getPricing-TX35D7PI.js} +3 -3
  116. package/{handleSendMessageAction-BSMU7SVS.js → handleSendMessageAction-AOPC2RYQ.js} +33 -33
  117. package/index.js +7 -7
  118. package/{localRuntimeAdapter-N5PDR26F.js → localRuntimeAdapter-OK722XHN.js} +57 -55
  119. package/{machineCommands-TMXJKZCE.js → machineCommands-NW3KT5RE.js} +61 -59
  120. package/{machineWsRunDispatch-25H63KEH.js → machineWsRunDispatch-EWQDI6TL.js} +56 -56
  121. package/{memberThunks-66DH6ABQ.js → memberThunks-2DWKLE6W.js} +8 -8
  122. package/{models-LAS4B2B5.js → models-PZQC7VV4.js} +2 -2
  123. package/package.json +1 -1
  124. package/{profileConfig-ZGOFORWV.js → profileConfig-KN3N2BLF.js} +7 -1
  125. package/{providerPresetApply-MY66I6NT.js → providerPresetApply-GSJI4JBJ.js} +6 -6
  126. package/{providerRegistry-QOE2FT57.js → providerRegistry-TSSTPGWF.js} +6 -6
  127. package/{read-DC4NUGN6.js → read-L7QEJETH.js} +5 -5
  128. package/{readDocTool-NCJ5NT25.js → readDocTool-QELXV2GW.js} +1 -1
  129. package/{readlineWorkspace-BS7WVCL2.js → readlineWorkspace-ZTNEFMTX.js} +330 -118
  130. package/{removeDialogAgentAction-E2H3OZU6.js → removeDialogAgentAction-376XSUP2.js} +9 -9
  131. package/{runAgentClientLoop-BVKRI4SY.js → runAgentClientLoop-PQTFXXFA.js} +48 -44
  132. package/{runtimeDoctorCommands-GIOGC5SC.js → runtimeDoctorCommands-56NWKNON.js} +5 -5
  133. package/{secretCommands-ZXZRLR3R.js → secretCommands-DNY56NSU.js} +11 -1
  134. package/{setDialogExtraReferencesAction-SITRPMYU.js → setDialogExtraReferencesAction-QBDSH63D.js} +8 -8
  135. package/{setPrimaryDialogAgentAction-U7N45TGC.js → setPrimaryDialogAgentAction-537QFGW3.js} +9 -9
  136. package/settingThunks-4Z43ZSAT.js +923 -0
  137. package/{spaceCommands-5EWREUWS.js → spaceCommands-AWIIP7J5.js} +19 -19
  138. package/{streamAgentChatTurn-B4VFUV52.js → streamAgentChatTurn-I4M3CUBF.js} +53 -103
  139. package/{switchDialogAgentAction-OMGBD3N2.js → switchDialogAgentAction-CSO6AKRL.js} +7 -7
  140. package/{tableCommands-U3QDY4L6.js → tableCommands-LBH3QPPO.js} +1 -1
  141. package/{toolApiClient-7WSJJJBV.js → toolApiClient-HGNO53TC.js} +2 -2
  142. package/{tools-5WYAUKMK.js → tools-TOSN72UD.js} +37 -37
  143. package/{tuiSummaryLlmCaller-PPU7YDBG.js → tuiSummaryLlmCaller-KLK6K3Q3.js} +8 -8
  144. package/{updateCommands-NQXAGFM7.js → updateCommands-LXZLG44Y.js} +2 -2
  145. package/{updateDialogTitleAction-YJHDKHFX.js → updateDialogTitleAction-TJWFUJX4.js} +20 -20
  146. package/{workloadLifecycle-36DXRZKU.js → workloadLifecycle-6O6PMISX.js} +2 -2
  147. package/chunk-W4S6OTSC.js +0 -35
  148. package/settingThunks-Y7SVJOMZ.js +0 -1371
@@ -37,7 +37,7 @@ import {
37
37
  getProfileTokens,
38
38
  loadProfileConfig,
39
39
  saveDefaultProfile
40
- } from "./chunk-TNIX77YM.js";
40
+ } from "./chunk-R5GO3YZP.js";
41
41
 
42
42
  // packages/cli/authCommands.ts
43
43
  import { createInterface } from "node:readline/promises";
@@ -13,6 +13,9 @@ function getSessionSnapshotForState(state) {
13
13
  }
14
14
  return getBoundSessionSnapshot();
15
15
  }
16
+ function getSessionGenerationForState(state) {
17
+ return getSessionSnapshotForState(state)?.sessionGeneration;
18
+ }
16
19
 
17
20
  // packages/identity/selectors.local.ts
18
21
  var LOCAL_USER_ID = (typeof process !== "undefined" ? process.env?.NOLO_LOCAL_USER_ID : void 0) || (typeof process !== "undefined" ? process.env?.NOLO_USER_ID : void 0) || "local";
@@ -42,6 +45,7 @@ var selectIdentityUserBalance = (state) => void 0;
42
45
 
43
46
  export {
44
47
  getSessionSnapshotForState,
48
+ getSessionGenerationForState,
45
49
  selectIdentityUserId,
46
50
  selectIdentityToken,
47
51
  selectIdentityUser,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-OFVFQYIE.js";
3
+ } from "./chunk-6COBMDV4.js";
4
4
  import {
5
5
  format,
6
6
  prepareAndPersistMessage,
7
7
  uiAskChoiceFunc,
8
8
  uiAskChoiceFunctionSchema
9
- } from "./chunk-PFBIXTFB.js";
9
+ } from "./chunk-QSKN3E7Q.js";
10
10
  import {
11
11
  formatISO
12
12
  } from "./chunk-ZRAU6T47.js";
@@ -16,13 +16,13 @@ import {
16
16
  removeCachedEntity,
17
17
  upsertSSREntity,
18
18
  write
19
- } from "./chunk-74RAWNQN.js";
19
+ } from "./chunk-ZVQHBIWV.js";
20
20
  import {
21
21
  isDevelopment
22
22
  } from "./chunk-6Q7UTJKR.js";
23
23
  import {
24
24
  selectIdentityUserId
25
- } from "./chunk-SEJ5OS6F.js";
25
+ } from "./chunk-PXYBUFDB.js";
26
26
  import {
27
27
  buildBuiltinObjectSkillReference
28
28
  } from "./chunk-JZX2XLKC.js";
@@ -52,7 +52,7 @@ import {
52
52
  import {
53
53
  PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
54
54
  PLATFORM_HOSTED_KIMI_PROVIDER
55
- } from "./chunk-CHCS6XPJ.js";
55
+ } from "./chunk-CGFNDIKK.js";
56
56
 
57
57
  // packages/chat/dialog/objectAssistantRegistry.ts
58
58
  var OBJECT_ASSISTANT_TO_SKILL = {
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-ZF6526IQ.js";
5
+ } from "./chunk-ZEY4NJRE.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-OXME3PEE.js";
@@ -14,13 +14,13 @@ import {
14
14
  } from "./chunk-QYPE3TS3.js";
15
15
  import {
16
16
  runLlm
17
- } from "./chunk-LC23WBCU.js";
17
+ } from "./chunk-ACTR4SH2.js";
18
18
  import {
19
19
  getApproxPricePerImage
20
20
  } from "./chunk-4JH2UMJR.js";
21
21
  import {
22
22
  cleanupCliSessionForDialog
23
- } from "./chunk-PLSVXHSA.js";
23
+ } from "./chunk-IRTOYSA2.js";
24
24
  import {
25
25
  getActiveDialogAgentId,
26
26
  getDialogAgentIds,
@@ -56,7 +56,7 @@ import {
56
56
  } from "./chunk-XI7DGLUK.js";
57
57
  import {
58
58
  addContentAction
59
- } from "./chunk-EDX5XSJM.js";
59
+ } from "./chunk-M2P3OGXZ.js";
60
60
  import {
61
61
  patch,
62
62
  read,
@@ -64,19 +64,19 @@ import {
64
64
  selectById,
65
65
  upload,
66
66
  write
67
- } from "./chunk-74RAWNQN.js";
67
+ } from "./chunk-ZVQHBIWV.js";
68
68
  import {
69
69
  getRuntimeServerContext,
70
70
  parseOwnerUserIdFromDbKey,
71
71
  scheduleDeleteReplication
72
- } from "./chunk-4YRTZIVN.js";
72
+ } from "./chunk-2SGAI64X.js";
73
73
  import {
74
74
  asyncThunkCreator,
75
75
  buildCreateSlice,
76
76
  createAsyncThunk,
77
77
  createEntityAdapter,
78
78
  createSelector
79
- } from "./chunk-IJERIUXS.js";
79
+ } from "./chunk-WRCZXJ4N.js";
80
80
  import {
81
81
  createClientLogger
82
82
  } from "./chunk-QQ56R7KS.js";
@@ -84,7 +84,7 @@ import {
84
84
  selectIdentityToken,
85
85
  selectIdentityUser,
86
86
  selectIdentityUserId
87
- } from "./chunk-SEJ5OS6F.js";
87
+ } from "./chunk-PXYBUFDB.js";
88
88
  import {
89
89
  getRecordTimestamp,
90
90
  getTombstoneTimestamp,
@@ -93,7 +93,7 @@ import {
93
93
  } from "./chunk-D2MDMY2M.js";
94
94
  import {
95
95
  nolotusId
96
- } from "./chunk-GKXCHNTE.js";
96
+ } from "./chunk-Y6ORVLSS.js";
97
97
  import {
98
98
  DEFAULT_AUTO_EXECUTION_PROFILE,
99
99
  EMPTY_ASSISTANT_FALLBACK_MESSAGE,
@@ -105,7 +105,7 @@ import {
105
105
  extractReferenceKeysFromMessage,
106
106
  normalizeUsage,
107
107
  resolveAutoExecutionProfile
108
- } from "./chunk-DTODXBHK.js";
108
+ } from "./chunk-ZWG3C7VI.js";
109
109
  import {
110
110
  COMPACTION_SUMMARY_SYSTEM_PROMPT,
111
111
  DEFAULT_CONTEXT_WINDOW,
@@ -119,7 +119,7 @@ import {
119
119
  getModelInfo,
120
120
  planCompression,
121
121
  serializeMessageContent
122
- } from "./chunk-4PXHOOFA.js";
122
+ } from "./chunk-2MTE2PEH.js";
123
123
  import {
124
124
  asRecordOrEmpty
125
125
  } from "./chunk-KX6YBIHG.js";
@@ -132,7 +132,7 @@ import {
132
132
  builtinRuntimeFallbackEntries,
133
133
  isBuiltinPlatformAgentKey,
134
134
  parseBuiltinPlatformAgentId
135
- } from "./chunk-EZVK3N5L.js";
135
+ } from "./chunk-LOEO7LRC.js";
136
136
  import {
137
137
  extractCustomId,
138
138
  extractUserId,
@@ -152,7 +152,7 @@ import {
152
152
  import {
153
153
  findModelConfig,
154
154
  getModelConfig
155
- } from "./chunk-I4SN4NUQ.js";
155
+ } from "./chunk-TRW43TSC.js";
156
156
  import {
157
157
  isRecord
158
158
  } from "./chunk-KUG52IAP.js";
@@ -188,7 +188,7 @@ import {
188
188
  isPlatformManagedProvider,
189
189
  resolvePlatformEffectiveModel,
190
190
  resolvePlatformHostedRouting
191
- } from "./chunk-CHCS6XPJ.js";
191
+ } from "./chunk-CGFNDIKK.js";
192
192
  import {
193
193
  asTrimmedLowercaseString
194
194
  } from "./chunk-QSJ3HFEF.js";
@@ -576,6 +576,8 @@ var fetchAndCacheMessagesLocalFirst = async ({
576
576
  const remotePromise = Promise.all(serverPromises).then(
577
577
  (results) => results.flat()
578
578
  );
579
+ void remotePromise.catch(() => {
580
+ });
579
581
  let localSettledAt = null;
580
582
  const localTimingPromise = localPromise.then((value) => {
581
583
  localSettledAt = typeof performance !== "undefined" ? performance.now() : Date.now();
@@ -7029,6 +7031,10 @@ var space_locale_default = {
7029
7031
  unpin: "Unpin",
7030
7032
  favorite: "Favorite",
7031
7033
  unfavorite: "Unfavorite",
7034
+ quickAddToRail: "Add to Rail Shortcut",
7035
+ quickRemoveFromRail: "Remove from Rail Shortcut",
7036
+ quickMoveRailUp: "Move Rail Shortcut Up",
7037
+ quickMoveRailDown: "Move Rail Shortcut Down",
7032
7038
  pinUpdated: "Pin status updated",
7033
7039
  pinUpdateFailed: "Failed to update pin status",
7034
7040
  moveToSpace: "Move to Space",
@@ -7135,6 +7141,8 @@ var space_locale_default = {
7135
7141
  search_placeholder: "Search content...",
7136
7142
  allView: {
7137
7143
  recent: "Recent",
7144
+ work: "Work",
7145
+ projects: "Projects",
7138
7146
  favorites: "Favorites",
7139
7147
  shares: "My Shares",
7140
7148
  expanded: "Expanded",
@@ -7349,6 +7357,10 @@ var space_locale_default = {
7349
7357
  unpin: "\u53D6\u6D88\u7F6E\u9876",
7350
7358
  favorite: "\u6536\u85CF",
7351
7359
  unfavorite: "\u53D6\u6D88\u6536\u85CF",
7360
+ quickAddToRail: "\u52A0\u5165\u5FEB\u6377",
7361
+ quickRemoveFromRail: "\u4ECE\u5FEB\u6377\u79FB\u9664",
7362
+ quickMoveRailUp: "\u5FEB\u6377\u4E0A\u79FB",
7363
+ quickMoveRailDown: "\u5FEB\u6377\u4E0B\u79FB",
7352
7364
  pinUpdated: "\u7F6E\u9876\u72B6\u6001\u5DF2\u66F4\u65B0",
7353
7365
  pinUpdateFailed: "\u7F6E\u9876\u72B6\u6001\u66F4\u65B0\u5931\u8D25",
7354
7366
  moveToSpace: "\u79FB\u52A8\u5230\u7A7A\u95F4",
@@ -7455,6 +7467,8 @@ var space_locale_default = {
7455
7467
  search_placeholder: "\u641C\u7D22\u5185\u5BB9...",
7456
7468
  allView: {
7457
7469
  recent: "\u6700\u8FD1",
7470
+ work: "\u5DE5\u4F5C",
7471
+ projects: "\u9879\u76EE",
7458
7472
  favorites: "\u6211\u7684\u6536\u85CF",
7459
7473
  shares: "\u6211\u7684\u5206\u4EAB",
7460
7474
  expanded: "\u5DF2\u5C55\u5F00",
@@ -7668,6 +7682,10 @@ var space_locale_default = {
7668
7682
  unpin: "\u53D6\u6D88\u7F6E\u9802",
7669
7683
  favorite: "\u6536\u85CF",
7670
7684
  unfavorite: "\u53D6\u6D88\u6536\u85CF",
7685
+ quickAddToRail: "\u52A0\u5165\u5FEB\u6377",
7686
+ quickRemoveFromRail: "\u5F9E\u5FEB\u6377\u79FB\u9664",
7687
+ quickMoveRailUp: "\u5FEB\u6377\u4E0A\u79FB",
7688
+ quickMoveRailDown: "\u5FEB\u6377\u4E0B\u79FB",
7671
7689
  pinUpdated: "\u7F6E\u9802\u72C0\u614B\u5DF2\u66F4\u65B0",
7672
7690
  pinUpdateFailed: "\u7F6E\u9802\u72C0\u614B\u66F4\u65B0\u5931\u6557",
7673
7691
  moveToSpace: "\u79FB\u52D5\u5230\u7A7A\u9593",
@@ -7774,6 +7792,8 @@ var space_locale_default = {
7774
7792
  search_placeholder: "\u641C\u5C0B\u5167\u5BB9...",
7775
7793
  allView: {
7776
7794
  recent: "\u6700\u8FD1",
7795
+ work: "\u5DE5\u4F5C",
7796
+ projects: "\u5C08\u6848",
7777
7797
  favorites: "\u6211\u7684\u6536\u85CF",
7778
7798
  shares: "\u6211\u7684\u5206\u4EAB",
7779
7799
  expanded: "\u5DF2\u5C55\u958B",
@@ -7988,6 +8008,10 @@ var space_locale_default = {
7988
8008
  unpin: "\u30D4\u30F3\u7559\u3081\u89E3\u9664",
7989
8009
  favorite: "\u304A\u6C17\u306B\u5165\u308A",
7990
8010
  unfavorite: "\u304A\u6C17\u306B\u5165\u308A\u89E3\u9664",
8011
+ quickAddToRail: "\u30EC\u30FC\u30EB\u306B\u8FFD\u52A0",
8012
+ quickRemoveFromRail: "\u30EC\u30FC\u30EB\u304B\u3089\u524A\u9664",
8013
+ quickMoveRailUp: "\u30EC\u30FC\u30EB\u5185\u3067\u4E0A\u3078\u79FB\u52D5",
8014
+ quickMoveRailDown: "\u30EC\u30FC\u30EB\u5185\u3067\u4E0B\u3078\u79FB\u52D5",
7991
8015
  pinUpdated: "\u30D4\u30F3\u7559\u3081\u306E\u72B6\u614B\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",
7992
8016
  pinUpdateFailed: "\u30D4\u30F3\u7559\u3081\u306E\u72B6\u614B\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
7993
8017
  moveToSpace: "\u30B9\u30DA\u30FC\u30B9\u306B\u79FB\u52D5",
@@ -8095,6 +8119,8 @@ var space_locale_default = {
8095
8119
  search_placeholder: "\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u691C\u7D22...",
8096
8120
  allView: {
8097
8121
  recent: "\u6700\u8FD1",
8122
+ work: "\u4F5C\u696D",
8123
+ projects: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8",
8098
8124
  favorites: "\u304A\u6C17\u306B\u5165\u308A",
8099
8125
  shares: "\u81EA\u5206\u306E\u5171\u6709",
8100
8126
  expanded: "\u5C55\u958B\u6E08\u307F",
@@ -10926,7 +10952,7 @@ var messageSlice = createSliceWithThunks({
10926
10952
  runtimeOptions: args.runtimeOptions
10927
10953
  });
10928
10954
  if (agentKeyToUse) {
10929
- const { streamAgentChatTurn } = await import("./agentSlice-IP4DZNNV.js");
10955
+ const { streamAgentChatTurn } = await import("./agentSlice-7FNTOPHE.js");
10930
10956
  await dispatch(
10931
10957
  streamAgentChatTurn({
10932
10958
  agentKey: agentKeyToUse,
@@ -13681,7 +13707,7 @@ var deleteOwnedDialogAttachments = async (args) => {
13681
13707
  metadataReadFailures
13682
13708
  });
13683
13709
  if (!plan.deleteCandidates.length) return plan;
13684
- const { deleteFileAction } = await import("./deleteFile-6JWDDRVP.js");
13710
+ const { deleteFileAction } = await import("./deleteFile-KYWEMNFX.js");
13685
13711
  for (const candidate of plan.deleteCandidates) {
13686
13712
  if (candidate.fileDbKey) {
13687
13713
  await deleteFileAction(candidate.fileDbKey, args.thunkApi);
@@ -13743,7 +13769,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
13743
13769
  }
13744
13770
  if (isCurrentDialog) {
13745
13771
  await thunkApi.dispatch(resetMsgs());
13746
- const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-SI45KJOH.js");
13772
+ const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-DS22VO6X.js");
13747
13773
  dispatch(clearPendingAttachments2());
13748
13774
  }
13749
13775
  return { dialogKey, isCurrentDialog, attachmentPlan };
@@ -13751,39 +13777,39 @@ var deleteDialogThunk = async (payload, thunkApi) => {
13751
13777
 
13752
13778
  // packages/chat/dialog/dialogSlice.ts
13753
13779
  var runCreateDialogAction = async (args, thunkApi) => {
13754
- const { createDialogAction } = await import("./createDialogAction-6ABMSEW2.js");
13780
+ const { createDialogAction } = await import("./createDialogAction-FDO3DYW4.js");
13755
13781
  return createDialogAction(args, thunkApi);
13756
13782
  };
13757
13783
  var runCreateAgentAutomationAction = async (args, thunkApi) => {
13758
- const { createAgentAutomationAction } = await import("./createAgentAutomationAction-6ADGPGY6.js");
13784
+ const { createAgentAutomationAction } = await import("./createAgentAutomationAction-INVACTI3.js");
13759
13785
  return createAgentAutomationAction(args, thunkApi);
13760
13786
  };
13761
13787
  var runUpdateDialogTitleAction = async (args, thunkApi) => {
13762
- const { updateDialogTitleAction } = await import("./updateDialogTitleAction-YJHDKHFX.js");
13788
+ const { updateDialogTitleAction } = await import("./updateDialogTitleAction-TJWFUJX4.js");
13763
13789
  return updateDialogTitleAction(args, thunkApi);
13764
13790
  };
13765
13791
  var runAddDialogAgentAction = async (args, thunkApi) => {
13766
- const { addDialogAgentAction } = await import("./addDialogAgentAction-A6SMKAGH.js");
13792
+ const { addDialogAgentAction } = await import("./addDialogAgentAction-4RJYUSIK.js");
13767
13793
  return addDialogAgentAction(args, thunkApi);
13768
13794
  };
13769
13795
  var runRemoveDialogAgentAction = async (args, thunkApi) => {
13770
- const { removeDialogAgentAction } = await import("./removeDialogAgentAction-E2H3OZU6.js");
13796
+ const { removeDialogAgentAction } = await import("./removeDialogAgentAction-376XSUP2.js");
13771
13797
  return removeDialogAgentAction(args, thunkApi);
13772
13798
  };
13773
13799
  var runSetPrimaryDialogAgentAction = async (args, thunkApi) => {
13774
- const { setPrimaryDialogAgentAction } = await import("./setPrimaryDialogAgentAction-U7N45TGC.js");
13800
+ const { setPrimaryDialogAgentAction } = await import("./setPrimaryDialogAgentAction-537QFGW3.js");
13775
13801
  return setPrimaryDialogAgentAction(args, thunkApi);
13776
13802
  };
13777
13803
  var runSwitchDialogAgentAction = async (args, thunkApi) => {
13778
- const { switchDialogAgentAction } = await import("./switchDialogAgentAction-OMGBD3N2.js");
13804
+ const { switchDialogAgentAction } = await import("./switchDialogAgentAction-CSO6AKRL.js");
13779
13805
  return switchDialogAgentAction(args, thunkApi);
13780
13806
  };
13781
13807
  var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
13782
- const { setDialogExtraReferencesAction } = await import("./setDialogExtraReferencesAction-SITRPMYU.js");
13808
+ const { setDialogExtraReferencesAction } = await import("./setDialogExtraReferencesAction-QBDSH63D.js");
13783
13809
  return setDialogExtraReferencesAction(args, thunkApi);
13784
13810
  };
13785
13811
  var runHandleSendMessageAction = async (args, thunkApi) => {
13786
- const { handleSendMessageAction } = await import("./handleSendMessageAction-BSMU7SVS.js");
13812
+ const { handleSendMessageAction } = await import("./handleSendMessageAction-AOPC2RYQ.js");
13787
13813
  return handleSendMessageAction(args, thunkApi);
13788
13814
  };
13789
13815
  function clearDialogState() {
@@ -13796,7 +13822,7 @@ var createPageAndAddReference = createAsyncThunk(
13796
13822
  async (payload, { dispatch, getState, rejectWithValue }) => {
13797
13823
  const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
13798
13824
  try {
13799
- const { createDocState } = await import("./docStore-L43MDEK4.js");
13825
+ const { createDocState } = await import("./docStore-UFEWRQ5W.js");
13800
13826
  const pageKey = await createDocState(
13801
13827
  { slateData, title },
13802
13828
  { dispatch, getState }
@@ -34,6 +34,10 @@ function canonicalizeNoloServerUrl(value) {
34
34
  }
35
35
 
36
36
  // packages/cli/client/profileConfig.ts
37
+ var PERMISSION_GRANT_KINDS = ["local", "remote"];
38
+ function permissionGrantList(grants) {
39
+ return PERMISSION_GRANT_KINDS.filter((kind) => grants?.[kind] === true);
40
+ }
37
41
  var normalizeProfileServerUrl = canonicalizeNoloServerUrl;
38
42
  function isProtectedHomeProfileWrite(path) {
39
43
  if (process.env.NODE_ENV !== "test") return false;
@@ -129,7 +133,11 @@ function buildEnvFromProfile(config) {
129
133
  ...getProfileTokens(config)[0] ? { AUTH_TOKEN: getProfileTokens(config)[0] } : {},
130
134
  ...profile.agentKey ? { NOLO_AGENT: profile.agentKey } : {},
131
135
  ...profile.agentName ? { NOLO_AGENT_NAME: profile.agentName } : {},
132
- ...profile.locale ? { NOLO_LANG: profile.locale } : {}
136
+ ...profile.locale ? { NOLO_LANG: profile.locale } : {},
137
+ ...(() => {
138
+ const granted = permissionGrantList(profile.permissionGrants);
139
+ return granted.length > 0 ? { NOLO_PERMISSION_GRANTS: granted.join(",") } : {};
140
+ })()
133
141
  };
134
142
  }
135
143
  function buildCliRuntimeEnv(processEnv, config) {
@@ -164,6 +172,28 @@ function saveProfileLocale(locale, path = getDefaultProfileConfigPath()) {
164
172
  `, "utf8");
165
173
  return config;
166
174
  }
175
+ function saveProfilePermissionGrant(kind, value, path = getDefaultProfileConfigPath()) {
176
+ if (isProtectedHomeProfileWrite(path)) return null;
177
+ const config = loadProfileConfig(path);
178
+ if (!config) return null;
179
+ const profile = config.profiles[config.currentProfile];
180
+ if (!profile) return null;
181
+ const grants = { ...profile.permissionGrants ?? {} };
182
+ if (value === true) {
183
+ grants[kind] = true;
184
+ } else {
185
+ delete grants[kind];
186
+ }
187
+ if (permissionGrantList(grants).length > 0) {
188
+ profile.permissionGrants = grants;
189
+ } else {
190
+ delete profile.permissionGrants;
191
+ }
192
+ mkdirSync(dirname(path), { recursive: true });
193
+ writeFileSync(path, `${JSON.stringify(config, null, 2)}
194
+ `, "utf8");
195
+ return config;
196
+ }
167
197
  function getAgentSelectionAuditPath(configPath = getDefaultProfileConfigPath()) {
168
198
  return join(dirname(configPath), "agent-selection.log");
169
199
  }
@@ -308,6 +338,8 @@ function saveProfileOAuthSync(provider, sync, path = getDefaultProfileConfigPath
308
338
  }
309
339
 
310
340
  export {
341
+ PERMISSION_GRANT_KINDS,
342
+ permissionGrantList,
311
343
  normalizeProfileServerUrl,
312
344
  isProtectedHomeProfileWrite,
313
345
  getDefaultProfileConfigPath,
@@ -320,6 +352,7 @@ export {
320
352
  buildCliRuntimeEnv,
321
353
  getCurrentProfile,
322
354
  saveProfileLocale,
355
+ saveProfilePermissionGrant,
323
356
  getAgentSelectionAuditPath,
324
357
  redactArgvSecrets,
325
358
  appendAgentSelectionAudit,
@@ -9,7 +9,7 @@ import {
9
9
  resolveRawAgentInput,
10
10
  resolveServerUrl,
11
11
  writeUsage
12
- } from "./chunk-RQ6E3G5L.js";
12
+ } from "./chunk-DRPDGHQB.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-64PFYIAY.js";
30
+ } from "./chunk-OJ2PQXBV.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-ZF6526IQ.js";
63
+ } from "./chunk-ZEY4NJRE.js";
61
64
  import {
62
65
  isLocalCliAgentKey
63
66
  } from "./chunk-NBTY7YJF.js";
@@ -72,30 +75,27 @@ import {
72
75
  } from "./chunk-BMQ2MJUK.js";
73
76
  import {
74
77
  resolveCliLocalRuntimeKeyCapability
75
- } from "./chunk-PPU323UE.js";
78
+ } from "./chunk-W2NNEHHW.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-EHFS4XZO.js";
85
+ } from "./chunk-NKBMD4TC.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-XCA6HQGS.js";
94
+ } from "./chunk-QEONMOV7.js";
95
95
  import {
96
96
  API_REPORTED_COST_MULTIPLIER,
97
97
  parseUiAskChoiceContent
98
- } from "./chunk-PFBIXTFB.js";
98
+ } from "./chunk-QSKN3E7Q.js";
99
99
  import {
100
100
  isOAuthApiKeyRef
101
101
  } from "./chunk-UKZX3NHN.js";
@@ -107,11 +107,11 @@ import {
107
107
  LOCAL_AGENT_CONFIG_MISSING_CODE,
108
108
  LOCAL_TURN_ABORTED_CODE,
109
109
  readActionGate
110
- } from "./chunk-BNDETALN.js";
110
+ } from "./chunk-7NSQJKGA.js";
111
111
  import {
112
112
  devinChannelContextWindow,
113
113
  resolveAgentRuntimeConfigFromRecord
114
- } from "./chunk-HSJPKBLC.js";
114
+ } from "./chunk-ANJTRG52.js";
115
115
  import {
116
116
  isDevinOAuthAgent
117
117
  } from "./chunk-5ZUL4CUO.js";
@@ -137,10 +137,10 @@ import {
137
137
  } from "./chunk-3MZAGMYY.js";
138
138
  import {
139
139
  normalizeUsage
140
- } from "./chunk-DTODXBHK.js";
140
+ } from "./chunk-ZWG3C7VI.js";
141
141
  import {
142
142
  findModelContextWindow
143
- } from "./chunk-4PXHOOFA.js";
143
+ } from "./chunk-2MTE2PEH.js";
144
144
  import {
145
145
  clipCompactText
146
146
  } from "./chunk-5MMAK75Q.js";
@@ -156,7 +156,7 @@ import {
156
156
  BUILTIN_NOLO_AGENT_NAME,
157
157
  builtinAgentCatalogEntryById,
158
158
  parseBuiltinPlatformAgentId
159
- } from "./chunk-EZVK3N5L.js";
159
+ } from "./chunk-LOEO7LRC.js";
160
160
  import {
161
161
  parsePublicAgentId
162
162
  } from "./chunk-M2EJHDJP.js";
@@ -166,7 +166,7 @@ import {
166
166
  } from "./chunk-5EMSBTQ6.js";
167
167
  import {
168
168
  isAntigravityOAuthAgent
169
- } from "./chunk-XZNCX52W.js";
169
+ } from "./chunk-JGRPBIZZ.js";
170
170
  import {
171
171
  createRunActivityTracker,
172
172
  createShellApprovalChild,
@@ -179,7 +179,7 @@ import {
179
179
  serverOriginForDialog,
180
180
  settleRunTerminalAuthoritatively,
181
181
  spawnLocalBackgroundRun
182
- } from "./chunk-YVLQXTUB.js";
182
+ } from "./chunk-MM3662RS.js";
183
183
  import {
184
184
  formatAgentListCard,
185
185
  formatFinishedRunCard,
@@ -195,10 +195,10 @@ import {
195
195
  } from "./chunk-PSCNXBYA.js";
196
196
  import {
197
197
  resolveClientVersion
198
- } from "./chunk-K2AER7RX.js";
198
+ } from "./chunk-SUKSWFLP.js";
199
199
  import {
200
200
  findModelConfig
201
- } from "./chunk-I4SN4NUQ.js";
201
+ } from "./chunk-TRW43TSC.js";
202
202
  import {
203
203
  asTrimmedString
204
204
  } from "./chunk-3EUW3WEO.js";
@@ -231,7 +231,7 @@ import {
231
231
  CLIENT_VERSION_TOO_OLD_CODE,
232
232
  NOLO_CLIENT_VERSION_HEADER,
233
233
  buildClientVersionUpgradeMessage
234
- } from "./chunk-CHCS6XPJ.js";
234
+ } from "./chunk-CGFNDIKK.js";
235
235
  import {
236
236
  asTrimmedLowercaseString
237
237
  } from "./chunk-QSJ3HFEF.js";
@@ -11245,7 +11245,7 @@ function isBalanceExhaustedError(error) {
11245
11245
 
11246
11246
  // packages/cli/client/agentRun.ts
11247
11247
  async function loadRunLocalAgentTurn() {
11248
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-ARS4TV77.js");
11248
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-RJKTDWNN.js");
11249
11249
  return runLocalAgentTurn;
11250
11250
  }
11251
11251
  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 +11342,8 @@ function buildDefaultLocalRuntimeAdapter(options) {
11342
11342
  // runtimeKey 接线:不传下去则本地 run 的 runtimeKey 在 agentRun 层就断了
11343
11343
  // ——adapter 收不到 → docker workload 永不创建,非 docker 云后端也不会
11344
11344
  // fail-closed(死代码)。
11345
- ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {}
11345
+ ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {},
11346
+ ...options.dockerWorkspaceMode ? { dockerWorkspaceMode: options.dockerWorkspaceMode } : {}
11346
11347
  });
11347
11348
  }
11348
11349
  function resolveLocalRuntimeAdapter(options) {
@@ -11350,7 +11351,8 @@ function resolveLocalRuntimeAdapter(options) {
11350
11351
  cwd: options.localRuntimeCwd,
11351
11352
  // 与 buildDefaultLocalRuntimeAdapter 同口径:注入式 factory 也必须拿到
11352
11353
  // runtimeKey,否则注入了 adapter 的本地 run 会静默丢掉 docker 语义。
11353
- ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {}
11354
+ ...options.runtimeKey ? { runtimeKey: options.runtimeKey } : {},
11355
+ ...options.dockerWorkspaceMode ? { dockerWorkspaceMode: options.dockerWorkspaceMode } : {}
11354
11356
  }) || buildDefaultLocalRuntimeAdapter(options);
11355
11357
  }
11356
11358
  function wrapAdapterEphemeral(adapter) {
@@ -12341,6 +12343,9 @@ async function runLocalAgentTurnForCliWithAdapter(options, settings, resolvedBas
12341
12343
  parentDialogId: options.parentDialogId,
12342
12344
  runtimeContext: runtimeContextWithOwnership,
12343
12345
  runKind: options.env.NOLO_AGENT_RUN_CHILD === "1" ? "subtask" : "interactive",
12346
+ // 展示能力由宿主声明(TUI=narrow),非交互 CLI/后台留空 → unknown;
12347
+ // 排版段只在能力已知时由 localLoop 注入,server 线不读该字段。
12348
+ ...options.responseViewport ? { responseViewport: options.responseViewport } : {},
12344
12349
  background: options.background,
12345
12350
  noStream: options.noStream,
12346
12351
  ...options.contextBlockScopes?.length ? { contextBlockScopes: options.contextBlockScopes } : options.extraContextBlocks?.length ? { contextBlocks: options.extraContextBlocks } : {},
@@ -15770,6 +15775,12 @@ async function runAgentRunCommand(args, deps) {
15770
15775
  } } : {},
15771
15776
  agentName: targetAgentKey,
15772
15777
  agentKey: targetAgentKey,
15778
+ // 当前执行链未提供可靠的最终展示能力,按约定使用 unknown(只注入行为段,不猜
15779
+ // 宽/窄屏;`stdout.isTTY` 只说明是不是终端,说明不了宽度)。这不表示宿主永远
15780
+ // 无法获得尺寸:将来接入时应传展示能力,不应由调用方拼接准则文本。
15781
+ // 放在 buildRunOptions 这个唯一构造点上,首轮 / quota fallback / 队列 drain
15782
+ // 三处 runner(...) 调用自动一致;远端分支走 server 线,不读该字段。
15783
+ responseViewport: "unknown",
15773
15784
  serverUrl: resolveServerUrl(env),
15774
15785
  message: formatTurnMessage(turnMessage),
15775
15786
  imageUrls: parsed.imageUrls.map(normalizeCliImageInput),
@@ -15789,6 +15800,7 @@ async function runAgentRunCommand(args, deps) {
15789
15800
  // runtimeKey 与 machine-shell 的组合已在 parseAgentRunArgs 入口显式拒绝,
15790
15801
  // 这里直接透传即可(不再静默丢弃参数)。
15791
15802
  ...parsed.runtimeKey ? { runtimeKey: parsed.runtimeKey } : {},
15803
+ ...parsed.dockerWorkspaceMode ? { dockerWorkspaceMode: parsed.dockerWorkspaceMode } : {},
15792
15804
  ...parsed.continueDialogId ? { continueDialogId: parsed.continueDialogId } : {},
15793
15805
  ...parsed.strictContinueHistory ? { strictContinueHistory: true } : {},
15794
15806
  ...parsed.spaceId ? { spaceId: parsed.spaceId } : {},
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  getRuntimeServerContext,
3
3
  scheduleDeleteReplication
4
- } from "./chunk-4YRTZIVN.js";
4
+ } from "./chunk-2SGAI64X.js";
5
5
  import {
6
6
  fetchFromClientDb
7
7
  } from "./chunk-6Q7UTJKR.js";
8
8
  import {
9
9
  selectIdentityToken
10
- } from "./chunk-SEJ5OS6F.js";
10
+ } from "./chunk-PXYBUFDB.js";
11
11
  import {
12
12
  buildTombstoneRecord
13
13
  } from "./chunk-D2MDMY2M.js";
@@ -4,7 +4,7 @@ import {
4
4
  resolvePlatformHostedCredentialProvider,
5
5
  resolvePlatformProxyChatGatewayEndpoint,
6
6
  resolvePlatformResponsesEndpoint
7
- } from "./chunk-UBUH2TCC.js";
7
+ } from "./chunk-I2RMFLLH.js";
8
8
  import {
9
9
  CLI_PROVIDER_VALUES
10
10
  } from "./chunk-5BHQICF2.js";
@@ -21,7 +21,7 @@ import {
21
21
  CLIENT_VERSION_TOO_OLD_CODE,
22
22
  buildClientVersionGateErrorDetail,
23
23
  evaluatePlatformHostedClientVersionGate
24
- } from "./chunk-CHCS6XPJ.js";
24
+ } from "./chunk-CGFNDIKK.js";
25
25
  import {
26
26
  asTrimmedLowercaseString
27
27
  } from "./chunk-QSJ3HFEF.js";
@@ -9,7 +9,7 @@ import {
9
9
  platformHostedModels,
10
10
  toCnyCredits,
11
11
  zaiModels
12
- } from "./chunk-CHCS6XPJ.js";
12
+ } from "./chunk-CGFNDIKK.js";
13
13
 
14
14
  // packages/integrations/qwen/models.ts
15
15
  var qwenModels = [