nolo-cli 0.77.0-alpha.1 → 0.77.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 (137) hide show
  1. package/{_executeModel-MONX3AUM.js → _executeModel-G6BRN2BO.js} +43 -43
  2. package/{action-D22U6CTH.js → action-7GHFPDSQ.js} +10 -10
  3. package/{addContentAction-XAPUTGL4.js → addContentAction-ZNVB2NOV.js} +8 -8
  4. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-CIDFWATM.js} +7 -7
  5. package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-C5JTDBIX.js} +28 -26
  6. package/{agentEmailCommands-HXIX4KJE.js → agentEmailCommands-AYSYNUSH.js} +56 -54
  7. package/{agentListCommands-IFUOWXP3.js → agentListCommands-CVFL3P3D.js} +30 -28
  8. package/{agentMachineCommands-NEJEQV5S.js → agentMachineCommands-2EPX7IYC.js} +28 -26
  9. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-EHR3PV2V.js} +87 -0
  10. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-U73W5IBM.js} +1 -1
  11. package/{agentRecordCommands-USSLZKED.js → agentRecordCommands-DPZVHOOA.js} +54 -52
  12. package/{agentRunCommand-WZZSCEEP.js → agentRunCommand-BE53VNNN.js} +54 -52
  13. package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-BPN5IOFT.js} +27 -25
  14. package/{agentSlice-BLCUNM5V.js → agentSlice-PYJFXGZL.js} +9 -9
  15. package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-TREMNXCA.js} +28 -26
  16. package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-7FYCMERT.js} +28 -26
  17. package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-7LAYH7IX.js} +28 -26
  18. package/{appGetCommands-3VOGIZ7T.js → appGetCommands-BONTQ2XH.js} +28 -26
  19. package/{appListCommands-A6ROBW7P.js → appListCommands-BYIELWUL.js} +28 -26
  20. package/{authCommand-EVGFLAHO.js → authCommand-J5C7GS33.js} +92 -17
  21. package/{authCommands-ILTBI6JV.js → authCommands-VOTT6XWX.js} +3 -4
  22. package/builtinSkillRegistry-YITVDLWG.js +33 -0
  23. package/{chatQueueReduxAdapter-ROFM5SW7.js → chatQueueReduxAdapter-PIOXZBGH.js} +23 -23
  24. package/{chunk-EXMHJN7C.js → chunk-2F4VYGFW.js} +2 -2
  25. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  26. package/{chunk-3QPYFHAH.js → chunk-2XEVK4BT.js} +1 -1
  27. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  28. package/{chunk-AFIWC5NH.js → chunk-3DZIWHJ6.js} +1 -1
  29. package/{chunk-L2Y24GRM.js → chunk-4PAFEM6V.js} +3 -3
  30. package/{chunk-ERD7UXVL.js → chunk-5DAMTON3.js} +1 -1
  31. package/{chunk-YFADVSZE.js → chunk-5EJZGJS2.js} +6 -6
  32. package/chunk-5ZUL4CUO.js +10 -0
  33. package/{chunk-KIS76A2P.js → chunk-6HCLDVEI.js} +38 -4
  34. package/{chunk-FPTQQSS6.js → chunk-6LWO3QQS.js} +25 -4
  35. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  36. package/{chunk-2SFNAHL6.js → chunk-7TEU3WX2.js} +41 -25
  37. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  38. package/{chunk-N7DNNV6J.js → chunk-ACFF7U3F.js} +340 -76
  39. package/{chunk-AFIKMMGC.js → chunk-AGX5TE5W.js} +1 -1
  40. package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
  41. package/{chunk-ZDONXM5U.js → chunk-D4TJCP3V.js} +7 -7
  42. package/{chunk-PYXL2CJL.js → chunk-DNQPPRHY.js} +1 -1
  43. package/{chunk-QH6NK22I.js → chunk-DQD4PYQY.js} +60 -788
  44. package/{chunk-PI4DWFYV.js → chunk-FSISQCCB.js} +1132 -31
  45. package/{chunk-3SPWIDHH.js → chunk-FWGPT6VI.js} +3 -3
  46. package/{chunk-SZLVDREM.js → chunk-GIG262ZG.js} +3 -3
  47. package/{chunk-PZM3EENV.js → chunk-GXWEF4IZ.js} +1 -1
  48. package/chunk-HJKGQPYF.js +266 -0
  49. package/{chunk-QA6YKM3H.js → chunk-HLRYI5XO.js} +31 -3
  50. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  51. package/{chunk-UPQF3C7O.js → chunk-IEILL33V.js} +135 -56
  52. package/{chunk-UZ6XXCVR.js → chunk-IZAWJCG7.js} +15 -2
  53. package/{chunk-XWNRAIUL.js → chunk-JITSBA52.js} +6 -16
  54. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  55. package/{chunk-BGIWMGSP.js → chunk-JRFQPOPS.js} +10 -172
  56. package/chunk-JT7FRJP5.js +1625 -0
  57. package/{chunk-CMH2SYHX.js → chunk-K7M3MWCE.js} +2 -2
  58. package/{chunk-E36HZARC.js → chunk-KT6LENVP.js} +3 -3
  59. package/{chunk-FSFQ3A7S.js → chunk-LGSXBNWH.js} +9 -9
  60. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  61. package/{chunk-4EJ5QYB5.js → chunk-LSV2BOJL.js} +1 -1
  62. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  63. package/{chunk-PGSKWZCB.js → chunk-MJHQ3NRV.js} +1 -1
  64. package/{chunk-G3O3PD6Q.js → chunk-MRT4KARW.js} +14 -14
  65. package/{chunk-K7AG465Q.js → chunk-ND2J3NRB.js} +4 -2
  66. package/{chunk-Q6FF2MCK.js → chunk-OAJRZ35U.js} +1 -1
  67. package/{chunk-5J7W2VWW.js → chunk-OHUU52T3.js} +6 -265
  68. package/{chunk-V3ZKNK5D.js → chunk-OKCTLCKS.js} +9 -9
  69. package/{chunk-2R5EVB2O.js → chunk-PGO7O65Q.js} +5 -5
  70. package/{chunk-ZZCJUXUI.js → chunk-PHDKTASK.js} +2 -2
  71. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  72. package/chunk-Q5FJJ6XI.js +103 -0
  73. package/{chunk-RILY7TKG.js → chunk-RHB6OCZS.js} +9 -9
  74. package/chunk-RJ3TDODF.js +665 -0
  75. package/{chunk-QC5LGHYP.js → chunk-TIJK4PBP.js} +10 -5
  76. package/{chunk-CGRJWXTE.js → chunk-UDK3ZSMN.js} +19 -15
  77. package/{chunk-E6RGHPDR.js → chunk-UINEAQ2R.js} +3 -5
  78. package/{chunk-DWPNOYMB.js → chunk-UQ45IHLM.js} +1 -1
  79. package/{chunk-ZY4K4CZR.js → chunk-UQYEVBMM.js} +684 -96
  80. package/{chunk-BJCWNHVU.js → chunk-US463UAD.js} +2 -2
  81. package/{chunk-ZLPA7K55.js → chunk-UUVQJZ75.js} +28 -9
  82. package/{chunk-DSRXPQWA.js → chunk-VEJ4BOQV.js} +43 -43
  83. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  84. package/{chunk-UJ63UXGE.js → chunk-VRLI2WNW.js} +1073 -752
  85. package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
  86. package/{chunk-MYU3MJCF.js → chunk-XCSSFPTB.js} +175 -7
  87. package/{chunk-MQ25G6VQ.js → chunk-XIYOAH3S.js} +3 -3
  88. package/{chunk-UDQWGU7F.js → chunk-YZHP76TR.js} +1 -1
  89. package/{chunk-GBPZKFYK.js → chunk-Z33ARZCP.js} +4 -4
  90. package/{contentThunks-3BFZJFHI.js → contentThunks-RYZTYVUV.js} +24 -24
  91. package/{createAgentAutomationAction-YCWUKLMK.js → createAgentAutomationAction-GUBB2LWY.js} +24 -24
  92. package/{createDialogAction-VULS2PKA.js → createDialogAction-577E6FB2.js} +27 -27
  93. package/{createPageAction-MZZLQPFE.js → createPageAction-4CNYIRJ5.js} +25 -25
  94. package/{dbSlice-GKGGFNOB.js → dbSlice-4CUQE35F.js} +7 -7
  95. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  96. package/{dialogCommands-G223U5WU.js → dialogCommands-U4RQIRKK.js} +29 -27
  97. package/{dialogSlice-NQO5ZETL.js → dialogSlice-YXMORK5T.js} +23 -23
  98. package/{docCreateCommands-2P47IJDK.js → docCreateCommands-AXXATGCL.js} +29 -27
  99. package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-CRPIFYFA.js} +30 -28
  100. package/{docReadCommands-6BFV2HI7.js → docReadCommands-4IMZXFDR.js} +29 -27
  101. package/{docStore-AEJONTM4.js → docStore-3U5FBN2O.js} +8 -8
  102. package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-RRPRZXCE.js} +29 -27
  103. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  104. package/{getPricing-HRMSOF3E.js → getPricing-F2C65RIX.js} +4 -4
  105. package/{handleSendMessageAction-WIUO466V.js → handleSendMessageAction-BQIRKHC6.js} +23 -23
  106. package/index.js +61 -53
  107. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  108. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  109. package/{machineCommands-FUA7HBND.js → machineCommands-RNBADNTE.js} +54 -52
  110. package/{machineWsRunDispatch-URIG5N2V.js → machineWsRunDispatch-7J6WNF57.js} +52 -50
  111. package/{memberThunks-KATHH3F4.js → memberThunks-N35XAOC6.js} +8 -8
  112. package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
  113. package/package.json +1 -1
  114. package/providerPresetApply-SAJAK7C3.js +214 -0
  115. package/providerRegistry-COD57OVY.js +31 -0
  116. package/{read-LC6HVYBN.js → read-2PV4PN2E.js} +4 -3
  117. package/{readDocTool-N3ERJHHF.js → readDocTool-FGK5XGAW.js} +1 -1
  118. package/{readlineWorkspace-HVQLD7T3.js → readlineWorkspace-ZO2W3N4U.js} +135 -75
  119. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-O2POGBOE.js} +10 -10
  120. package/{runAgentClientLoop-QHL2HNAI.js → runAgentClientLoop-KJZ7DK6D.js} +42 -42
  121. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  122. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-KPSVVY3C.js} +8 -8
  123. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-RMJETONI.js} +10 -10
  124. package/{settingSlice-OEJA4NQO.js → settingSlice-I6MTTNDX.js} +9 -9
  125. package/{spaceCommands-MRP5U3C3.js → spaceCommands-VZRYKVWZ.js} +27 -25
  126. package/{streamAgentChatTurn-CE2H23VD.js → streamAgentChatTurn-L3SO4N2R.js} +54 -53
  127. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-OQSGWVQQ.js} +7 -7
  128. package/{tools-F25QG6XS.js → tools-GRV74JPO.js} +38 -36
  129. package/tuiSummaryLlmCaller-ATDKMGI5.js +127 -0
  130. package/{updateDialogTitleAction-Z333XUN4.js → updateDialogTitleAction-KRUWX66L.js} +44 -27
  131. package/chunk-3IT2PFHL.js +0 -611
  132. package/chunk-I42VC5KR.js +0 -15
  133. package/codingSkills-E6KSDNSJ.js +0 -48
  134. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  135. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  136. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  137. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -4,15 +4,15 @@ import {
4
4
  refreshAntigravityOAuthToken,
5
5
  refreshOpenAiCodexToken,
6
6
  xaiRefresh
7
- } from "./chunk-GBPZKFYK.js";
7
+ } from "./chunk-Z33ARZCP.js";
8
+ import {
9
+ defaultLoopbackRequest
10
+ } from "./chunk-EADNWBAZ.js";
8
11
  import {
9
12
  createChromeConnectorClient,
10
13
  createVerifiedChromeConnectorClient,
11
14
  executeChromeConnectorTool
12
15
  } from "./chunk-QCZX4FTW.js";
13
- import {
14
- defaultLoopbackRequest
15
- } from "./chunk-EADNWBAZ.js";
16
16
  import {
17
17
  ackRunRecord,
18
18
  appendRunQueue,
@@ -40,7 +40,7 @@ import {
40
40
  } from "./chunk-DWUCB2A3.js";
41
41
  import {
42
42
  buildLocalAgentLookupKeys
43
- } from "./chunk-Q6FF2MCK.js";
43
+ } from "./chunk-OAJRZ35U.js";
44
44
  import {
45
45
  LOCAL_CODEX_AGENT_ID,
46
46
  LOCAL_CODEX_AGENT_KEY,
@@ -53,14 +53,14 @@ import {
53
53
  } from "./chunk-MP64VFGD.js";
54
54
  import {
55
55
  inferCaptureIntent
56
- } from "./chunk-3QPYFHAH.js";
56
+ } from "./chunk-2XEVK4BT.js";
57
57
  import {
58
58
  buildCliPrompt
59
59
  } from "./chunk-ATNTHIZI.js";
60
60
  import {
61
61
  inlineImageUrlsForCustomProvider,
62
62
  prepareTools
63
- } from "./chunk-3SPWIDHH.js";
63
+ } from "./chunk-FWGPT6VI.js";
64
64
  import {
65
65
  getServerProviderSecret
66
66
  } from "./chunk-HS7MLR74.js";
@@ -78,7 +78,7 @@ import {
78
78
  rememberMemoryFunctionSchema,
79
79
  resolveAgentRequiredPackIds,
80
80
  setTodoListFunc
81
- } from "./chunk-QH6NK22I.js";
81
+ } from "./chunk-DQD4PYQY.js";
82
82
  import {
83
83
  fetchWithTransientRetry,
84
84
  isTransientFetchError
@@ -101,19 +101,20 @@ import {
101
101
  prepareTokenUsageData,
102
102
  resolveBuiltinPlatformAgentConfig,
103
103
  runKeyed
104
- } from "./chunk-N7DNNV6J.js";
104
+ } from "./chunk-ACFF7U3F.js";
105
105
  import {
106
+ BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
106
107
  BUILTIN_TITLE_LLM_CONFIG
107
- } from "./chunk-EVBFYPDC.js";
108
+ } from "./chunk-MC4XLIJ7.js";
108
109
  import {
109
110
  fetchServerSyncedCredential
110
- } from "./chunk-ZDONXM5U.js";
111
+ } from "./chunk-D4TJCP3V.js";
111
112
  import {
112
113
  require_date_fns
113
114
  } from "./chunk-M76ECQRD.js";
114
115
  import {
115
116
  getDefaultCliLocalRuntimeDb
116
- } from "./chunk-C3FZR5EC.js";
117
+ } from "./chunk-2F7RJC6L.js";
117
118
  import {
118
119
  FORCED_TOOLS,
119
120
  addDefaultLightWebToolsForConfiguredAgents,
@@ -123,7 +124,7 @@ import {
123
124
  applySystemBuiltinSkillFilter,
124
125
  expandEnabledPacks,
125
126
  resolveEffectiveEnabledPacks
126
- } from "./chunk-MYU3MJCF.js";
127
+ } from "./chunk-XCSSFPTB.js";
127
128
  import {
128
129
  DEFAULT_HYBRID_READ_TIMEOUT_MS,
129
130
  Duration_exports,
@@ -139,6 +140,7 @@ import {
139
140
  buildLocalWorkspaceToolset,
140
141
  buildNoloWorkspaceCliToolExecutors,
141
142
  codexStreamFailureStatus,
143
+ createDevinProvider,
142
144
  createHybridRecordStore,
143
145
  createLocalWorkspaceToolExecutors,
144
146
  evaluateFileWritePolicy,
@@ -159,7 +161,7 @@ import {
159
161
  resolveOpenAiCompatibleProviderConfig,
160
162
  shouldUseGeminiNativeToolRoute,
161
163
  summarizeToolArguments
162
- } from "./chunk-ZY4K4CZR.js";
164
+ } from "./chunk-UQYEVBMM.js";
163
165
  import {
164
166
  PlatformStreamInterruptedError,
165
167
  buildPlatformChatCompletionRequest,
@@ -171,53 +173,56 @@ import {
171
173
  readSseDataValues,
172
174
  resolvePlatformChatProviderConfig,
173
175
  shouldUsePlatformChatProvider
174
- } from "./chunk-QC5LGHYP.js";
176
+ } from "./chunk-TIJK4PBP.js";
175
177
  import {
176
178
  resolveAgentRuntimeConfigFromRecord,
177
179
  resolveHistoricalToolContentCap
178
- } from "./chunk-KIS76A2P.js";
180
+ } from "./chunk-6HCLDVEI.js";
181
+ import {
182
+ isDevinOAuthAgent
183
+ } from "./chunk-5ZUL4CUO.js";
179
184
  import {
180
185
  collectStablePromptPrefix,
181
186
  convertMessagesToResponsesInput,
182
187
  stablePromptCacheKey,
183
188
  toResponsesTools
184
189
  } from "./chunk-PUOC4YRO.js";
185
- import {
186
- isAntigravityOAuthAgent
187
- } from "./chunk-PGSKWZCB.js";
188
- import {
189
- resolvePlatformAuthToken
190
- } from "./chunk-CMH2SYHX.js";
191
190
  import {
192
191
  buildNoloWorkspaceOpenAiTools,
193
192
  parseNoloWorkspaceToolArguments,
194
193
  resolveRuntimeToolSurfaceForAgent
195
- } from "./chunk-V3ZKNK5D.js";
194
+ } from "./chunk-OKCTLCKS.js";
196
195
  import {
197
196
  mergeAvailabilityDeadline,
198
197
  resolveAvailabilityAction,
199
198
  resolveCooldownGate
200
199
  } from "./chunk-CJCJF5XB.js";
200
+ import {
201
+ isAntigravityOAuthAgent
202
+ } from "./chunk-MJHQ3NRV.js";
203
+ import {
204
+ resolvePlatformAuthToken
205
+ } from "./chunk-K7M3MWCE.js";
201
206
  import {
202
207
  buildDialogFallbackTitleFromUserInput,
203
208
  normalizeDialogTitle
204
209
  } from "./chunk-2MBTWINN.js";
205
210
  import {
206
211
  normalizeUsage
207
- } from "./chunk-DSRXPQWA.js";
212
+ } from "./chunk-VEJ4BOQV.js";
208
213
  import {
209
214
  clipCompactText,
210
215
  createProviderCallTimingTracker,
211
216
  finalizeProviderCallTiming,
212
217
  observeMeaningfulProviderResponseAt,
213
218
  withProviderCallTimingFields
214
- } from "./chunk-E36HZARC.js";
219
+ } from "./chunk-KT6LENVP.js";
215
220
  import {
216
221
  estimateTokenCount
217
222
  } from "./chunk-PSCNXBYA.js";
218
223
  import {
219
224
  isAdaptiveThinkingModelId
220
- } from "./chunk-UJ63UXGE.js";
225
+ } from "./chunk-VRLI2WNW.js";
221
226
  import {
222
227
  compactWhitespace
223
228
  } from "./chunk-DWLEOOGR.js";
@@ -226,7 +231,7 @@ import {
226
231
  resolveCurrentRunRuntimeToolPolicy,
227
232
  resolveLocalWorkspaceExecutorOptionsFromPolicy,
228
233
  resolveRequestedRuntimeToolNames
229
- } from "./chunk-3JQ2NRYU.js";
234
+ } from "./chunk-HVURBGF3.js";
230
235
  import {
231
236
  createOAuthTokenStore,
232
237
  isTokenExpired,
@@ -251,19 +256,19 @@ import {
251
256
  createTokenStatsKey,
252
257
  createUserKey,
253
258
  dialogMessageRange
254
- } from "./chunk-NHRQCXIQ.js";
259
+ } from "./chunk-VMFTFOWF.js";
255
260
  import {
256
261
  asTrimmedLowercaseString
257
262
  } from "./chunk-QSJ3HFEF.js";
258
263
  import {
259
264
  isSystemBuiltinTrustedAgentKey
260
- } from "./chunk-5J7W2VWW.js";
261
- import {
262
- asTrimmedString
263
- } from "./chunk-3EUW3WEO.js";
265
+ } from "./chunk-HJKGQPYF.js";
264
266
  import {
265
267
  isRecord
266
268
  } from "./chunk-KUG52IAP.js";
269
+ import {
270
+ asTrimmedString
271
+ } from "./chunk-3EUW3WEO.js";
267
272
  import {
268
273
  NOLO_CLUSTER_SERVERS
269
274
  } from "./chunk-LCBAMY2M.js";
@@ -1715,6 +1720,9 @@ function buildCliChromeConnectorOpenAiTools(args) {
1715
1720
  function buildOpenAiTools(args) {
1716
1721
  const toolset = buildLocalWorkspaceToolsetForEnv(args);
1717
1722
  const workspaceToolNames = toolset.toolNames;
1723
+ const modelWorkspaceToolNames = (args.effectiveToolNames ?? workspaceToolNames).filter(
1724
+ (toolName) => toolName !== "taskWait" || !hasRunWakeChannel(args.env)
1725
+ );
1718
1726
  const toolNameSet = new Set(args.toolNames ?? []);
1719
1727
  const uiAskChoiceTools = toolNameSet.has("ask_user") ? prepareTools(["ask_user"]) : [];
1720
1728
  const readPastedTextTools = toolNameSet.has("readPastedText") ? [
@@ -1756,7 +1764,7 @@ function buildOpenAiTools(args) {
1756
1764
  ...uiAskChoiceTools,
1757
1765
  ...readPastedTextTools,
1758
1766
  ...buildLocalWorkspaceOpenAiTools({
1759
- toolNames: args.effectiveToolNames ?? workspaceToolNames,
1767
+ toolNames: modelWorkspaceToolNames,
1760
1768
  exposeShellTools: toolset.exposeShellTools
1761
1769
  }),
1762
1770
  ...buildCliChromeConnectorOpenAiTools({ toolNames: args.toolNames }),
@@ -9311,6 +9319,59 @@ var resolveCursorTransport = async (ctx) => {
9311
9319
  return null;
9312
9320
  };
9313
9321
 
9322
+ // packages/cli/client/providerResolution/devinTransport.ts
9323
+ var resolveDevinTransport = async (ctx) => {
9324
+ const {
9325
+ agentConfig,
9326
+ apiKeyRefResolver,
9327
+ deps,
9328
+ buildProviderOpenAiTools,
9329
+ additionalToolNames
9330
+ } = ctx;
9331
+ if (isDevinOAuthAgent(agentConfig)) {
9332
+ const accessToken = await apiKeyRefResolver("devin");
9333
+ if (!accessToken) {
9334
+ throw new Error(
9335
+ 'OAuth credential for "devin" not found locally. Run `nolo auth devin`.'
9336
+ );
9337
+ }
9338
+ const model = agentConfig.model || "swe-2-max";
9339
+ const { requestedToolNames, tools } = resolveProviderOpenAiToolBundle(
9340
+ agentConfig,
9341
+ deps.env,
9342
+ buildProviderOpenAiTools,
9343
+ additionalToolNames
9344
+ );
9345
+ const devinProvider = createDevinProvider({
9346
+ token: accessToken,
9347
+ model,
9348
+ fetchImpl: ctx.fetchImpl,
9349
+ tools,
9350
+ // agentConfig.temperature reaches every transport except the Devin one;
9351
+ // forward it so the agent form's sampling knob stops being a no-op here.
9352
+ // Left undefined it keeps the upstream client's value.
9353
+ temperature: typeof agentConfig.temperature === "number" ? agentConfig.temperature : void 0
9354
+ });
9355
+ logLocalRuntimeDiagnostic("provider.selected", {
9356
+ agentKey: agentConfig.key,
9357
+ transport: "devin-connect",
9358
+ provider: "devin",
9359
+ model,
9360
+ hasApiKey: true,
9361
+ toolCount: tools.length,
9362
+ requestedToolNames,
9363
+ temperature: typeof agentConfig.temperature === "number" ? agentConfig.temperature : null
9364
+ });
9365
+ return {
9366
+ model,
9367
+ complete: async (messages, options) => {
9368
+ return devinProvider.complete(messages, options);
9369
+ }
9370
+ };
9371
+ }
9372
+ return null;
9373
+ };
9374
+
9314
9375
  // packages/cli/client/providerResolution/directOpenAiCompatibleTransport.ts
9315
9376
  var resolveDirectOpenAiCompatibleTransport = async (ctx) => {
9316
9377
  const { agentConfig, deps, fetchImpl, loopbackRequest, additionalToolNames, buildProviderOpenAiTools, recordLocalAvailability, apiKeyRefResolver, credentialBroker, syncFetcher, serverUrl, authToken } = ctx;
@@ -9704,6 +9765,7 @@ var TRANSPORTS = [
9704
9765
  resolveAnthropicOAuthTransport,
9705
9766
  resolveCodexOAuthTransport,
9706
9767
  resolveCursorTransport,
9768
+ resolveDevinTransport,
9707
9769
  resolveGeminiNativeToolTransport,
9708
9770
  resolvePlatformProxyTransport,
9709
9771
  // 兜底必须留在最后。
@@ -11679,7 +11741,7 @@ var REFRESH_BY_PROVIDER = {
11679
11741
  cursor: cursorRefresh
11680
11742
  };
11681
11743
  function isOAuthProvider(value) {
11682
- return value === "chatgpt" || value === "xai" || value === "antigravity" || value === "claude" || value === "cursor";
11744
+ return value === "chatgpt" || value === "xai" || value === "antigravity" || value === "claude" || value === "cursor" || value === "devin";
11683
11745
  }
11684
11746
  function createOAuthApiKeyRefResolver(options = {}) {
11685
11747
  return async (ref, opts) => {
@@ -11771,13 +11833,18 @@ async function generateLocalDialogTitle(input) {
11771
11833
  return { title: fallbackTitle, source: "fallback" };
11772
11834
  }
11773
11835
  if (input.resolveProviderConfig && input.buildRequest && input.parseResponse) {
11774
- try {
11775
- const providerConfig = await input.resolveProviderConfig({
11776
- agentConfig: { ...BUILTIN_TITLE_LLM_CONFIG, key: BUILTIN_TITLE_LLM_CONFIG.id },
11777
- env
11778
- });
11779
- if (providerConfig?.authToken) {
11780
- const request = input.buildRequest({
11836
+ const resolveProviderConfig = input.resolveProviderConfig;
11837
+ const buildRequest = input.buildRequest;
11838
+ const parseResponse = input.parseResponse;
11839
+ const attemptPlatformTitle = async (model) => {
11840
+ try {
11841
+ const agentConfig = model ? { ...BUILTIN_TITLE_LLM_CONFIG, model } : BUILTIN_TITLE_LLM_CONFIG;
11842
+ const providerConfig = await resolveProviderConfig({
11843
+ agentConfig: { ...agentConfig, key: agentConfig.id },
11844
+ env
11845
+ });
11846
+ if (!providerConfig?.authToken) return null;
11847
+ const request = buildRequest({
11781
11848
  providerConfig,
11782
11849
  messages: [
11783
11850
  {
@@ -11809,21 +11876,26 @@ async function generateLocalDialogTitle(input) {
11809
11876
  body: JSON.stringify(patchedBody),
11810
11877
  signal: AbortSignal.timeout(timeoutMs)
11811
11878
  });
11812
- if (res.ok) {
11813
- const raw = await res.text().catch(() => "");
11814
- const data = safeParseJson(raw);
11815
- if (data) {
11816
- const parsed = input.parseResponse({ providerConfig, data });
11817
- const generated = normalizeDialogTitle(
11818
- extractTitleFromLlmContent(parsed.content)
11819
- );
11820
- if (generated) {
11821
- return { title: generated, source: "llm" };
11822
- }
11823
- }
11824
- }
11879
+ if (!res.ok) return null;
11880
+ const raw = await res.text().catch(() => "");
11881
+ const data = safeParseJson(raw);
11882
+ if (!data) return null;
11883
+ const parsed = parseResponse({ providerConfig, data });
11884
+ const generated = normalizeDialogTitle(
11885
+ extractTitleFromLlmContent(parsed.content)
11886
+ );
11887
+ return generated || null;
11888
+ } catch {
11889
+ return null;
11825
11890
  }
11826
- } catch {
11891
+ };
11892
+ const primaryTitle = await attemptPlatformTitle();
11893
+ if (primaryTitle) return { title: primaryTitle, source: "llm" };
11894
+ const fallbackModelTitle = await attemptPlatformTitle(
11895
+ BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL
11896
+ );
11897
+ if (fallbackModelTitle) {
11898
+ return { title: fallbackModelTitle, source: "llm" };
11827
11899
  }
11828
11900
  }
11829
11901
  if (input.resolveDirectProviderConfig) {
@@ -12583,7 +12655,14 @@ function createCliLocalRuntimeAdapter(deps) {
12583
12655
  agentKey: agentConfig?.key,
12584
12656
  ...runtimeToolExecutionLimits
12585
12657
  });
12586
- const exposedAgentConfig = agentConfig ? { ...agentConfig, exposedToolNames: activeAgentToolNames } : agentConfig;
12658
+ const exposedAgentConfig = agentConfig ? {
12659
+ ...agentConfig,
12660
+ exposedToolNames: activeAgentToolNames,
12661
+ toolSurface: {
12662
+ ...agentConfig.toolSurface ?? {},
12663
+ finalToolNames: activeAgentToolNames
12664
+ }
12665
+ } : agentConfig;
12587
12666
  if (exposedAgentConfig && !deps.pastedTextStore) {
12588
12667
  preparedAgentRuntimeCache.set(cacheKey, {
12589
12668
  agentConfig: exposedAgentConfig,
@@ -1,3 +1,7 @@
1
+ import {
2
+ BUILTIN_NOLO_AGENT_KEY
3
+ } from "./chunk-HJKGQPYF.js";
4
+
1
5
  // packages/ai/tools/agentCapabilities.ts
2
6
  var SYSTEM_AGENT_CAPABILITIES = [
3
7
  {
@@ -13,7 +17,7 @@ var SYSTEM_AGENT_CAPABILITIES = [
13
17
  label: "\u6DF1\u5EA6\u7F51\u9875\u6293\u53D6",
14
18
  description: "\u5728\u666E\u901A\u8054\u7F51\u641C\u7D22\u4E4B\u5916\uFF0C\u7528 Firecrawl \u505A\u7ED3\u6784\u5316\u641C\u7D22\u4E0E\u6574\u9875\u6293\u53D6\uFF0C\u9002\u5408\u9700\u8981\u5B8C\u6574\u6B63\u6587\u3001\u6587\u6863\u7AD9\u70B9\u6216\u7AD9\u5185\u68C0\u7D22\u7684\u573A\u666F\u3002",
15
19
  tools: ["firecrawl_search", "firecrawl_scrape"],
16
- defaultEnabled: true,
20
+ defaultEnabled: false,
17
21
  icon: "\u{1F578}\uFE0F"
18
22
  },
19
23
  {
@@ -43,8 +47,17 @@ var DEFAULT_SYSTEM_AGENT_CAPABILITIES = Object.fromEntries(
43
47
  ])
44
48
  );
45
49
 
50
+ // packages/core/init.ts
51
+ var nolotusId = "0e95801d90";
52
+ var ADMIN_IDS = /* @__PURE__ */ new Set([nolotusId]);
53
+ var isSystemAdmin = (userId) => userId != null && ADMIN_IDS.has(userId);
54
+ var noloAgentId = BUILTIN_NOLO_AGENT_KEY;
55
+
46
56
  export {
47
57
  SYSTEM_AGENT_CAPABILITIES,
48
58
  SYSTEM_AGENT_CAPABILITY_IDS,
49
- DEFAULT_SYSTEM_AGENT_CAPABILITIES
59
+ DEFAULT_SYSTEM_AGENT_CAPABILITIES,
60
+ nolotusId,
61
+ isSystemAdmin,
62
+ noloAgentId
50
63
  };
@@ -2,8 +2,9 @@ import {
2
2
  parsePositiveFiniteNumberOrFallback
3
3
  } from "./chunk-Y5GCAMGP.js";
4
4
  import {
5
- DEFAULT_SYSTEM_AGENT_CAPABILITIES
6
- } from "./chunk-UZ6XXCVR.js";
5
+ DEFAULT_SYSTEM_AGENT_CAPABILITIES,
6
+ noloAgentId
7
+ } from "./chunk-IZAWJCG7.js";
7
8
  import {
8
9
  asRecordOrEmpty
9
10
  } from "./chunk-KX6YBIHG.js";
@@ -13,25 +14,22 @@ import {
13
14
  toTimestampMs,
14
15
  upsert,
15
16
  write
16
- } from "./chunk-YFADVSZE.js";
17
+ } from "./chunk-5EJZGJS2.js";
17
18
  import {
18
19
  createUserKey,
19
20
  createUserPreferenceKey,
20
21
  ulid
21
- } from "./chunk-NHRQCXIQ.js";
22
+ } from "./chunk-VMFTFOWF.js";
22
23
  import {
23
24
  asTrimmedLowercaseString
24
25
  } from "./chunk-QSJ3HFEF.js";
25
- import {
26
- BUILTIN_NOLO_AGENT_KEY
27
- } from "./chunk-5J7W2VWW.js";
28
26
  import {
29
27
  asyncThunkCreator,
30
28
  buildCreateSlice,
31
29
  createAction,
32
30
  createAsyncThunk,
33
31
  createSelector
34
- } from "./chunk-3RAG2NAD.js";
32
+ } from "./chunk-UKWGR5SS.js";
35
33
  import {
36
34
  getAllServers,
37
35
  getIsDesktopApp,
@@ -1016,12 +1014,6 @@ var withSettingsRecordSchema = (changes) => ({
1016
1014
  schemaVersion: SETTINGS_RECORD_SCHEMA_VERSION
1017
1015
  });
1018
1016
 
1019
- // packages/core/init.ts
1020
- var nolotusId = "0e95801d90";
1021
- var ADMIN_IDS = /* @__PURE__ */ new Set([nolotusId]);
1022
- var isSystemAdmin = (userId) => userId != null && ADMIN_IDS.has(userId);
1023
- var noloAgentId = BUILTIN_NOLO_AGENT_KEY;
1024
-
1025
1017
  // packages/app/settings/settingNormalizers.ts
1026
1018
  var hasOwn = (target, key) => Object.prototype.hasOwnProperty.call(target, key);
1027
1019
  var normalizeDefaultAgentIdSetting = (value) => {
@@ -1994,8 +1986,6 @@ export {
1994
1986
  AGENT_UPDATE_FIELD_NAMES,
1995
1987
  normalizeAgentUpdateFieldList,
1996
1988
  SYSTEM_DEFAULT_AGENT_ID,
1997
- nolotusId,
1998
- isSystemAdmin,
1999
1989
  normalizeSettingChanges,
2000
1990
  LOCAL_FIRST_APPEARANCE_KEYS,
2001
1991
  LOCAL_ONLY_SETTINGS_KEYS,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSkillDocMarkdown
3
- } from "./chunk-AETZ7AD6.js";
3
+ } from "./chunk-Q554LLSI.js";
4
4
 
5
5
  // packages/cli/docPageHelpers.ts
6
6
  import { readFileSync } from "node:fs";