nolo-cli 0.78.0-alpha.1 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/{_executeModel-T3FPYFVF.js → _executeModel-W26HVI75.js} +46 -46
- package/{action-D22U6CTH.js → action-6DXQGJMX.js} +11 -11
- package/{addContentAction-XAPUTGL4.js → addContentAction-I7VX5SAC.js} +9 -9
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-OJSFV7DZ.js} +8 -8
- package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-XNFWCKBH.js} +30 -28
- package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-XYOZGQ6F.js} +61 -59
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
- package/{agentListCommands-IFUOWXP3.js → agentListCommands-DFWFU6XO.js} +38 -30
- package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-2EANXBQS.js} +30 -28
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-ZBYHGTGY.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
- package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-DRY5LE4F.js} +58 -56
- package/{agentRunCommand-IRSZYCEU.js → agentRunCommand-YONMYI4X.js} +59 -57
- package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-2JFG4HDU.js} +28 -26
- package/{agentSlice-EACXUOWW.js → agentSlice-ZNLGFUB5.js} +10 -10
- package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-2UN4N2NR.js} +30 -28
- package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-37D74KRR.js} +30 -28
- package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-QBLWL2IA.js} +30 -28
- package/{appGetCommands-3VOGIZ7T.js → appGetCommands-6KXIDF2T.js} +30 -28
- package/{appListCommands-A6ROBW7P.js → appListCommands-G2WFGEWQ.js} +30 -28
- package/{authCommand-EVGFLAHO.js → authCommand-V2DJ7DB7.js} +164 -24
- package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
- package/builtinSkillRegistry-WBGYKIAZ.js +33 -0
- package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-XCJHIY3R.js} +24 -24
- package/chunk-2ADBVBEM.js +1625 -0
- package/{chunk-FPTQQSS6.js → chunk-2AYMFHUG.js} +26 -5
- package/{chunk-EXMHJN7C.js → chunk-2F4VYGFW.js} +2 -2
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-MGU5ADIQ.js → chunk-36ZJDN6A.js} +10 -10
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-PZM3EENV.js → chunk-3CR2LC6X.js} +1 -1
- package/{chunk-DWPNOYMB.js → chunk-3R5PH4IP.js} +1 -1
- package/{chunk-ZY4K4CZR.js → chunk-4BYPU626.js} +909 -304
- package/{chunk-ZZCJUXUI.js → chunk-4DRWWIOL.js} +2 -2
- package/{chunk-H7UKKEIS.js → chunk-576IMUGH.js} +1 -1
- package/{chunk-QRBAZ5PW.js → chunk-5DFFKASO.js} +3 -3
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/{chunk-CDVGNZDA.js → chunk-5V4NJHRM.js} +11 -173
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-BJCWNHVU.js → chunk-6BEA566T.js} +2 -2
- package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
- package/{chunk-XEEHSS64.js → chunk-74UCTXK3.js} +1199 -51
- package/{chunk-U6LKJRJB.js → chunk-7MYYE7WX.js} +42 -26
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-AFIWC5NH.js → chunk-A2C4AKKM.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-MYU3MJCF.js → chunk-CLI4LFSM.js} +175 -7
- package/{chunk-PYXL2CJL.js → chunk-DNQPPRHY.js} +1 -1
- package/{chunk-3QPYFHAH.js → chunk-DPQ2WVBY.js} +1 -1
- package/{chunk-733J6D44.js → chunk-EXTJ4GXV.js} +6 -6
- package/{chunk-DSRXPQWA.js → chunk-F2CGG72C.js} +43 -43
- package/{chunk-P7FA2HMM.js → chunk-FQYMLZ6C.js} +13 -15
- package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
- package/{chunk-FSFQ3A7S.js → chunk-GRYGRGPS.js} +10 -10
- package/{chunk-D74EWXL4.js → chunk-HMEMJ7GH.js} +386 -46
- package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-ALGK6TIE.js → chunk-HYZHJ5GW.js} +3 -3
- package/{chunk-Q6FF2MCK.js → chunk-IIKPWSPX.js} +1 -1
- package/{chunk-X7Z7U4Z6.js → chunk-JBBZ5KUM.js} +15 -15
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/{chunk-4EJ5QYB5.js → chunk-JTK3TJYV.js} +1 -1
- package/{chunk-CMH2SYHX.js → chunk-K7M3MWCE.js} +2 -2
- package/{chunk-5J7W2VWW.js → chunk-L2ICPOAL.js} +6 -265
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-PGSKWZCB.js → chunk-MJHQ3NRV.js} +1 -1
- package/{chunk-ZLPA7K55.js → chunk-N3OAPEZE.js} +29 -10
- package/{chunk-K7AG465Q.js → chunk-ND2J3NRB.js} +4 -2
- package/{chunk-XWNRAIUL.js → chunk-PH5J5VUY.js} +6 -16
- package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
- package/chunk-Q5FJJ6XI.js +103 -0
- package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
- package/{chunk-KIS76A2P.js → chunk-QHETQ3KI.js} +38 -4
- package/{chunk-UZ6XXCVR.js → chunk-RZANZZL2.js} +15 -2
- package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
- package/{chunk-QC5LGHYP.js → chunk-SMZSWB44.js} +10 -5
- package/chunk-TL6L5XUT.js +266 -0
- package/{chunk-QUH3XHL5.js → chunk-TVNI5FLG.js} +7 -7
- package/{chunk-YFADVSZE.js → chunk-UA5S3LQQ.js} +6 -6
- package/{chunk-G3NT6BM3.js → chunk-UMGHLCDZ.js} +141 -58
- package/{chunk-QA6YKM3H.js → chunk-UTCCPWB2.js} +32 -4
- package/{chunk-E36HZARC.js → chunk-VHJLQHPQ.js} +3 -3
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-UJ63UXGE.js → chunk-VRLI2WNW.js} +1073 -752
- package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
- package/{chunk-MEVSATIF.js → chunk-WXPVOQD7.js} +66 -792
- package/{chunk-AFIKMMGC.js → chunk-XKQJJK4F.js} +1 -1
- package/{chunk-SZLVDREM.js → chunk-XMGHGEN6.js} +3 -3
- package/{chunk-L2Y24GRM.js → chunk-XTUY5EL4.js} +16 -12
- package/{chunk-V3ZKNK5D.js → chunk-YOXYA2GU.js} +10 -10
- package/{chunk-GBPZKFYK.js → chunk-Z33ARZCP.js} +4 -4
- package/chunk-ZAB3A45K.js +677 -0
- package/{chunk-UDQWGU7F.js → chunk-ZBT3WNBK.js} +1 -1
- package/{contentThunks-3SPROFG5.js → contentThunks-VURN3DFW.js} +25 -25
- package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-QZAAY77R.js} +25 -25
- package/{createDialogAction-RLUSTN4D.js → createDialogAction-CHGXVTAC.js} +28 -28
- package/{createPageAction-4Y52G7WG.js → createPageAction-IOGAFIN7.js} +26 -26
- package/{dbSlice-GKGGFNOB.js → dbSlice-YXQ6RYIH.js} +8 -8
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-G223U5WU.js → dialogCommands-XREAP6WQ.js} +32 -30
- package/{dialogSlice-THY45JWM.js → dialogSlice-DOPGWGS4.js} +24 -24
- package/{docCreateCommands-2P47IJDK.js → docCreateCommands-3PYZGSCL.js} +31 -29
- package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-3Y6MU44Q.js} +32 -30
- package/{docReadCommands-6BFV2HI7.js → docReadCommands-UBANMAFR.js} +31 -29
- package/{docStore-ZQ3ECOPY.js → docStore-SYYFBENY.js} +9 -9
- package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-4GK2X6BN.js} +31 -29
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-F2C65RIX.js} +4 -4
- package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-NPVTY2GE.js} +24 -24
- package/index.js +83 -75
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-4OT7KVCD.js → machineCommands-LES3MCTZ.js} +58 -56
- package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-FZLFAUUP.js} +56 -54
- package/{memberThunks-KATHH3F4.js → memberThunks-5T4J6KXQ.js} +9 -9
- package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-OCWWKBSD.js +214 -0
- package/providerRegistry-ZJQU7AJ7.js +31 -0
- package/{read-LC6HVYBN.js → read-M2Q6WEKB.js} +5 -4
- package/{readDocTool-N3ERJHHF.js → readDocTool-T37P3YPB.js} +1 -1
- package/{readlineWorkspace-GSL5CYNJ.js → readlineWorkspace-OZBKHD4T.js} +195 -110
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-HB3JBVAI.js} +11 -11
- package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-3NDADLVE.js} +45 -45
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-4XLHRV37.js} +9 -9
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-C3JOFC4W.js} +11 -11
- package/{settingSlice-OEJA4NQO.js → settingSlice-CZRURSTH.js} +10 -10
- package/{spaceCommands-MRP5U3C3.js → spaceCommands-ENYCUUZH.js} +29 -27
- package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-634OFUSR.js} +57 -56
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-C6KVUKJP.js} +8 -8
- package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
- package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
- package/{tools-JS475NYO.js → tools-ILBLCF7D.js} +41 -39
- package/tuiSummaryLlmCaller-LFUBZKXK.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-RKFET73N.js} +45 -28
- package/chunk-3IT2PFHL.js +0 -611
- package/chunk-I42VC5KR.js +0 -15
- package/codingSkills-E6KSDNSJ.js +0 -48
- package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
- package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
- package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
- 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-
|
|
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,27 +40,27 @@ import {
|
|
|
40
40
|
} from "./chunk-DWUCB2A3.js";
|
|
41
41
|
import {
|
|
42
42
|
buildLocalAgentLookupKeys
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-IIKPWSPX.js";
|
|
44
44
|
import {
|
|
45
45
|
LOCAL_CODEX_AGENT_ID,
|
|
46
46
|
LOCAL_CODEX_AGENT_KEY,
|
|
47
47
|
NOLO_DEFAULT_AGENT_ID,
|
|
48
48
|
NOLO_DEFAULT_AGENT_KEY
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-SAFZABH7.js";
|
|
50
50
|
import {
|
|
51
51
|
CliProviderQuotaError,
|
|
52
52
|
executeCli
|
|
53
53
|
} from "./chunk-MP64VFGD.js";
|
|
54
54
|
import {
|
|
55
55
|
inferCaptureIntent
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-DPQ2WVBY.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-
|
|
63
|
+
} from "./chunk-HYZHJ5GW.js";
|
|
64
64
|
import {
|
|
65
65
|
getServerProviderSecret
|
|
66
66
|
} from "./chunk-HS7MLR74.js";
|
|
@@ -78,11 +78,11 @@ import {
|
|
|
78
78
|
rememberMemoryFunctionSchema,
|
|
79
79
|
resolveAgentRequiredPackIds,
|
|
80
80
|
setTodoListFunc
|
|
81
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-WXPVOQD7.js";
|
|
82
82
|
import {
|
|
83
83
|
fetchWithTransientRetry,
|
|
84
84
|
isTransientFetchError
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-5UTFL4QJ.js";
|
|
86
86
|
import {
|
|
87
87
|
TASK_PREVIEW_MAX,
|
|
88
88
|
formatListRunsCard,
|
|
@@ -101,19 +101,20 @@ import {
|
|
|
101
101
|
prepareTokenUsageData,
|
|
102
102
|
resolveBuiltinPlatformAgentConfig,
|
|
103
103
|
runKeyed
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-HMEMJ7GH.js";
|
|
105
105
|
import {
|
|
106
|
+
BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
|
|
106
107
|
BUILTIN_TITLE_LLM_CONFIG
|
|
107
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-MC4XLIJ7.js";
|
|
108
109
|
import {
|
|
109
110
|
fetchServerSyncedCredential
|
|
110
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-TVNI5FLG.js";
|
|
111
112
|
import {
|
|
112
113
|
require_date_fns
|
|
113
114
|
} from "./chunk-M76ECQRD.js";
|
|
114
115
|
import {
|
|
115
116
|
getDefaultCliLocalRuntimeDb
|
|
116
|
-
} from "./chunk-
|
|
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-
|
|
127
|
+
} from "./chunk-CLI4LFSM.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-
|
|
164
|
+
} from "./chunk-4BYPU626.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-
|
|
176
|
+
} from "./chunk-SMZSWB44.js";
|
|
175
177
|
import {
|
|
176
178
|
resolveAgentRuntimeConfigFromRecord,
|
|
177
179
|
resolveHistoricalToolContentCap
|
|
178
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-QHETQ3KI.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-
|
|
194
|
+
} from "./chunk-YOXYA2GU.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-
|
|
212
|
+
} from "./chunk-F2CGG72C.js";
|
|
208
213
|
import {
|
|
209
214
|
clipCompactText,
|
|
210
215
|
createProviderCallTimingTracker,
|
|
211
216
|
finalizeProviderCallTiming,
|
|
212
217
|
observeMeaningfulProviderResponseAt,
|
|
213
218
|
withProviderCallTimingFields
|
|
214
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-VHJLQHPQ.js";
|
|
215
220
|
import {
|
|
216
221
|
estimateTokenCount
|
|
217
222
|
} from "./chunk-PSCNXBYA.js";
|
|
218
223
|
import {
|
|
219
224
|
isAdaptiveThinkingModelId
|
|
220
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
261
|
-
import {
|
|
262
|
-
asTrimmedString
|
|
263
|
-
} from "./chunk-3EUW3WEO.js";
|
|
265
|
+
} from "./chunk-TL6L5XUT.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";
|
|
@@ -574,6 +579,10 @@ var STRINGS = {
|
|
|
574
579
|
en: "\u2713 Copied the selection to the clipboard.",
|
|
575
580
|
zh: "\u2713 \u5DF2\u590D\u5236\u9009\u533A\u5230\u526A\u8D34\u677F\u3002"
|
|
576
581
|
},
|
|
582
|
+
copiedSelectionBusy: {
|
|
583
|
+
en: "\u2713 Copied the selection to the clipboard. Press Esc to stop generating.",
|
|
584
|
+
zh: "\u2713 \u5DF2\u590D\u5236\u9009\u533A\u5230\u526A\u8D34\u677F\u3002\u6309 Esc \u505C\u6B62\u751F\u6210\u3002"
|
|
585
|
+
},
|
|
577
586
|
copiedAllHistory: {
|
|
578
587
|
en: "\u2713 Copied the full conversation to the clipboard.",
|
|
579
588
|
zh: "\u2713 \u5DF2\u590D\u5236\u5B8C\u6574\u5BF9\u8BDD\u5230\u526A\u8D34\u677F\u3002"
|
|
@@ -1715,6 +1724,9 @@ function buildCliChromeConnectorOpenAiTools(args) {
|
|
|
1715
1724
|
function buildOpenAiTools(args) {
|
|
1716
1725
|
const toolset = buildLocalWorkspaceToolsetForEnv(args);
|
|
1717
1726
|
const workspaceToolNames = toolset.toolNames;
|
|
1727
|
+
const modelWorkspaceToolNames = (args.effectiveToolNames ?? workspaceToolNames).filter(
|
|
1728
|
+
(toolName) => toolName !== "taskWait" || !hasRunWakeChannel(args.env)
|
|
1729
|
+
);
|
|
1718
1730
|
const toolNameSet = new Set(args.toolNames ?? []);
|
|
1719
1731
|
const uiAskChoiceTools = toolNameSet.has("ask_user") ? prepareTools(["ask_user"]) : [];
|
|
1720
1732
|
const readPastedTextTools = toolNameSet.has("readPastedText") ? [
|
|
@@ -1756,7 +1768,7 @@ function buildOpenAiTools(args) {
|
|
|
1756
1768
|
...uiAskChoiceTools,
|
|
1757
1769
|
...readPastedTextTools,
|
|
1758
1770
|
...buildLocalWorkspaceOpenAiTools({
|
|
1759
|
-
toolNames:
|
|
1771
|
+
toolNames: modelWorkspaceToolNames,
|
|
1760
1772
|
exposeShellTools: toolset.exposeShellTools
|
|
1761
1773
|
}),
|
|
1762
1774
|
...buildCliChromeConnectorOpenAiTools({ toolNames: args.toolNames }),
|
|
@@ -9311,6 +9323,59 @@ var resolveCursorTransport = async (ctx) => {
|
|
|
9311
9323
|
return null;
|
|
9312
9324
|
};
|
|
9313
9325
|
|
|
9326
|
+
// packages/cli/client/providerResolution/devinTransport.ts
|
|
9327
|
+
var resolveDevinTransport = async (ctx) => {
|
|
9328
|
+
const {
|
|
9329
|
+
agentConfig,
|
|
9330
|
+
apiKeyRefResolver,
|
|
9331
|
+
deps,
|
|
9332
|
+
buildProviderOpenAiTools,
|
|
9333
|
+
additionalToolNames
|
|
9334
|
+
} = ctx;
|
|
9335
|
+
if (isDevinOAuthAgent(agentConfig)) {
|
|
9336
|
+
const accessToken = await apiKeyRefResolver("devin");
|
|
9337
|
+
if (!accessToken) {
|
|
9338
|
+
throw new Error(
|
|
9339
|
+
'OAuth credential for "devin" not found locally. Run `nolo auth devin`.'
|
|
9340
|
+
);
|
|
9341
|
+
}
|
|
9342
|
+
const model = agentConfig.model || "swe-2-max";
|
|
9343
|
+
const { requestedToolNames, tools } = resolveProviderOpenAiToolBundle(
|
|
9344
|
+
agentConfig,
|
|
9345
|
+
deps.env,
|
|
9346
|
+
buildProviderOpenAiTools,
|
|
9347
|
+
additionalToolNames
|
|
9348
|
+
);
|
|
9349
|
+
const devinProvider = createDevinProvider({
|
|
9350
|
+
token: accessToken,
|
|
9351
|
+
model,
|
|
9352
|
+
fetchImpl: ctx.fetchImpl,
|
|
9353
|
+
tools,
|
|
9354
|
+
// agentConfig.temperature reaches every transport except the Devin one;
|
|
9355
|
+
// forward it so the agent form's sampling knob stops being a no-op here.
|
|
9356
|
+
// Left undefined it keeps the upstream client's value.
|
|
9357
|
+
temperature: typeof agentConfig.temperature === "number" ? agentConfig.temperature : void 0
|
|
9358
|
+
});
|
|
9359
|
+
logLocalRuntimeDiagnostic("provider.selected", {
|
|
9360
|
+
agentKey: agentConfig.key,
|
|
9361
|
+
transport: "devin-connect",
|
|
9362
|
+
provider: "devin",
|
|
9363
|
+
model,
|
|
9364
|
+
hasApiKey: true,
|
|
9365
|
+
toolCount: tools.length,
|
|
9366
|
+
requestedToolNames,
|
|
9367
|
+
temperature: typeof agentConfig.temperature === "number" ? agentConfig.temperature : null
|
|
9368
|
+
});
|
|
9369
|
+
return {
|
|
9370
|
+
model,
|
|
9371
|
+
complete: async (messages, options) => {
|
|
9372
|
+
return devinProvider.complete(messages, options);
|
|
9373
|
+
}
|
|
9374
|
+
};
|
|
9375
|
+
}
|
|
9376
|
+
return null;
|
|
9377
|
+
};
|
|
9378
|
+
|
|
9314
9379
|
// packages/cli/client/providerResolution/directOpenAiCompatibleTransport.ts
|
|
9315
9380
|
var resolveDirectOpenAiCompatibleTransport = async (ctx) => {
|
|
9316
9381
|
const { agentConfig, deps, fetchImpl, loopbackRequest, additionalToolNames, buildProviderOpenAiTools, recordLocalAvailability, apiKeyRefResolver, credentialBroker, syncFetcher, serverUrl, authToken } = ctx;
|
|
@@ -9704,6 +9769,7 @@ var TRANSPORTS = [
|
|
|
9704
9769
|
resolveAnthropicOAuthTransport,
|
|
9705
9770
|
resolveCodexOAuthTransport,
|
|
9706
9771
|
resolveCursorTransport,
|
|
9772
|
+
resolveDevinTransport,
|
|
9707
9773
|
resolveGeminiNativeToolTransport,
|
|
9708
9774
|
resolvePlatformProxyTransport,
|
|
9709
9775
|
// 兜底必须留在最后。
|
|
@@ -11679,7 +11745,7 @@ var REFRESH_BY_PROVIDER = {
|
|
|
11679
11745
|
cursor: cursorRefresh
|
|
11680
11746
|
};
|
|
11681
11747
|
function isOAuthProvider(value) {
|
|
11682
|
-
return value === "chatgpt" || value === "xai" || value === "antigravity" || value === "claude" || value === "cursor";
|
|
11748
|
+
return value === "chatgpt" || value === "xai" || value === "antigravity" || value === "claude" || value === "cursor" || value === "devin";
|
|
11683
11749
|
}
|
|
11684
11750
|
function createOAuthApiKeyRefResolver(options = {}) {
|
|
11685
11751
|
return async (ref, opts) => {
|
|
@@ -11771,13 +11837,18 @@ async function generateLocalDialogTitle(input) {
|
|
|
11771
11837
|
return { title: fallbackTitle, source: "fallback" };
|
|
11772
11838
|
}
|
|
11773
11839
|
if (input.resolveProviderConfig && input.buildRequest && input.parseResponse) {
|
|
11774
|
-
|
|
11775
|
-
|
|
11776
|
-
|
|
11777
|
-
|
|
11778
|
-
|
|
11779
|
-
|
|
11780
|
-
const
|
|
11840
|
+
const resolveProviderConfig = input.resolveProviderConfig;
|
|
11841
|
+
const buildRequest = input.buildRequest;
|
|
11842
|
+
const parseResponse = input.parseResponse;
|
|
11843
|
+
const attemptPlatformTitle = async (model) => {
|
|
11844
|
+
try {
|
|
11845
|
+
const agentConfig = model ? { ...BUILTIN_TITLE_LLM_CONFIG, model } : BUILTIN_TITLE_LLM_CONFIG;
|
|
11846
|
+
const providerConfig = await resolveProviderConfig({
|
|
11847
|
+
agentConfig: { ...agentConfig, key: agentConfig.id },
|
|
11848
|
+
env
|
|
11849
|
+
});
|
|
11850
|
+
if (!providerConfig?.authToken) return null;
|
|
11851
|
+
const request = buildRequest({
|
|
11781
11852
|
providerConfig,
|
|
11782
11853
|
messages: [
|
|
11783
11854
|
{
|
|
@@ -11809,21 +11880,26 @@ async function generateLocalDialogTitle(input) {
|
|
|
11809
11880
|
body: JSON.stringify(patchedBody),
|
|
11810
11881
|
signal: AbortSignal.timeout(timeoutMs)
|
|
11811
11882
|
});
|
|
11812
|
-
if (res.ok)
|
|
11813
|
-
|
|
11814
|
-
|
|
11815
|
-
|
|
11816
|
-
|
|
11817
|
-
|
|
11818
|
-
|
|
11819
|
-
|
|
11820
|
-
|
|
11821
|
-
|
|
11822
|
-
|
|
11823
|
-
}
|
|
11824
|
-
}
|
|
11883
|
+
if (!res.ok) return null;
|
|
11884
|
+
const raw = await res.text().catch(() => "");
|
|
11885
|
+
const data = safeParseJson(raw);
|
|
11886
|
+
if (!data) return null;
|
|
11887
|
+
const parsed = parseResponse({ providerConfig, data });
|
|
11888
|
+
const generated = normalizeDialogTitle(
|
|
11889
|
+
extractTitleFromLlmContent(parsed.content)
|
|
11890
|
+
);
|
|
11891
|
+
return generated || null;
|
|
11892
|
+
} catch {
|
|
11893
|
+
return null;
|
|
11825
11894
|
}
|
|
11826
|
-
}
|
|
11895
|
+
};
|
|
11896
|
+
const primaryTitle = await attemptPlatformTitle();
|
|
11897
|
+
if (primaryTitle) return { title: primaryTitle, source: "llm" };
|
|
11898
|
+
const fallbackModelTitle = await attemptPlatformTitle(
|
|
11899
|
+
BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL
|
|
11900
|
+
);
|
|
11901
|
+
if (fallbackModelTitle) {
|
|
11902
|
+
return { title: fallbackModelTitle, source: "llm" };
|
|
11827
11903
|
}
|
|
11828
11904
|
}
|
|
11829
11905
|
if (input.resolveDirectProviderConfig) {
|
|
@@ -12583,7 +12659,14 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12583
12659
|
agentKey: agentConfig?.key,
|
|
12584
12660
|
...runtimeToolExecutionLimits
|
|
12585
12661
|
});
|
|
12586
|
-
const exposedAgentConfig = agentConfig ? {
|
|
12662
|
+
const exposedAgentConfig = agentConfig ? {
|
|
12663
|
+
...agentConfig,
|
|
12664
|
+
exposedToolNames: activeAgentToolNames,
|
|
12665
|
+
toolSurface: {
|
|
12666
|
+
...agentConfig.toolSurface ?? {},
|
|
12667
|
+
finalToolNames: activeAgentToolNames
|
|
12668
|
+
}
|
|
12669
|
+
} : agentConfig;
|
|
12587
12670
|
if (exposedAgentConfig && !deps.pastedTextStore) {
|
|
12588
12671
|
preparedAgentRuntimeCache.set(cacheKey, {
|
|
12589
12672
|
agentConfig: exposedAgentConfig,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buildLocalAgentLookupKeys,
|
|
3
3
|
shouldReadAgentKeyRemotely
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IIKPWSPX.js";
|
|
5
5
|
import {
|
|
6
6
|
resolveCliAgentKeyInput
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-SAFZABH7.js";
|
|
8
8
|
import {
|
|
9
9
|
toErrorMessage
|
|
10
10
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from "./chunk-A7GB5UGH.js";
|
|
22
22
|
import {
|
|
23
23
|
createAgentKey
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-VMFTFOWF.js";
|
|
25
25
|
|
|
26
26
|
// packages/cli/agentRecordHelpers.ts
|
|
27
27
|
import { readFileSync } from "node:fs";
|
|
@@ -459,6 +459,7 @@ function parseAgentUpdateArgs(args) {
|
|
|
459
459
|
const name = readOption(args, "--name");
|
|
460
460
|
const customProviderUrl = readOption(args, "--custom-provider-url");
|
|
461
461
|
const apiKey = readOption(args, "--api-key") ?? readOption(args, "--provider-api-key");
|
|
462
|
+
const presetId = readOption(args, "--preset") ?? readOption(args, "--provider-preset");
|
|
462
463
|
const verify = args.includes("--verify");
|
|
463
464
|
const verifyPrompt = readOption(args, "--verify-prompt");
|
|
464
465
|
const maxConcurrent = parsePositiveIntegerOption(
|
|
@@ -498,13 +499,40 @@ function parseAgentUpdateArgs(args) {
|
|
|
498
499
|
throw new Error("No updates provided. Use --model / --cli-provider / --api-source / --field key=value.");
|
|
499
500
|
}
|
|
500
501
|
}
|
|
501
|
-
return { agentInput, updates, promptDoc, copyProviderFrom, verify, verifyPrompt };
|
|
502
|
+
return { agentInput, updates, promptDoc, copyProviderFrom, verify, verifyPrompt, presetId };
|
|
502
503
|
}
|
|
503
504
|
async function buildCreatedAgentRecord(args) {
|
|
504
505
|
const serverUrl = args.cliArgs ? resolveServerUrl(args.cliArgs, args.env) : resolveServerUrl(args.env);
|
|
505
506
|
const userId = parseUserIdFromAuthToken(args.authToken);
|
|
506
507
|
const resolvedAgentInput = resolveCliAgentKeyInput(args.parsed.agentInput);
|
|
507
508
|
const agentKey = resolvedAgentInput.startsWith("agent-") ? resolvedAgentInput : createAgentKey.private(userId || "local", resolvedAgentInput);
|
|
509
|
+
if (args.parsed.presetId) {
|
|
510
|
+
const { resolveProviderPresetFields } = await import("./providerPresetApply-OCWWKBSD.js");
|
|
511
|
+
const fields = resolveProviderPresetFields(args.parsed.presetId);
|
|
512
|
+
if (fields.kind === "manual") {
|
|
513
|
+
throw new Error(
|
|
514
|
+
`unknown --preset "${args.parsed.presetId}". Run \`nolo agent providers\` to list preset ids.`
|
|
515
|
+
);
|
|
516
|
+
}
|
|
517
|
+
if (fields.kind === "oauth" || fields.requiresDesktopOAuth) {
|
|
518
|
+
throw new Error(
|
|
519
|
+
`--preset "${args.parsed.presetId}" is an OAuth subscription; create it in Nolo Desktop (OAuth login required).`
|
|
520
|
+
);
|
|
521
|
+
}
|
|
522
|
+
const u = args.parsed.updates;
|
|
523
|
+
u.apiSource = "custom";
|
|
524
|
+
u.provider = u.provider ?? fields.provider;
|
|
525
|
+
if (fields.customProviderUrl && !u.customProviderUrl) {
|
|
526
|
+
u.customProviderUrl = fields.customProviderUrl;
|
|
527
|
+
}
|
|
528
|
+
if (fields.apiKeyHeader && !u.apiKeyHeader) {
|
|
529
|
+
u.apiKeyHeader = fields.apiKeyHeader;
|
|
530
|
+
}
|
|
531
|
+
if (!u.model && fields.model) u.model = fields.model;
|
|
532
|
+
if (fields.defaultReasoningEffort && u.reasoning_effort == null) {
|
|
533
|
+
u.reasoning_effort = fields.defaultReasoningEffort;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
508
536
|
if (args.parsed.copyProviderFrom) {
|
|
509
537
|
const providerSource = await resolveAgentRecordFromHybridStore({
|
|
510
538
|
agentInput: args.parsed.copyProviderFrom,
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
} from "./chunk-DWLEOOGR.js";
|
|
7
7
|
import {
|
|
8
8
|
addContentAction
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-4DRWWIOL.js";
|
|
10
10
|
import {
|
|
11
11
|
upload
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-UA5S3LQQ.js";
|
|
13
13
|
import {
|
|
14
14
|
getRuntimeServerContext
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UKWGR5SS.js";
|
|
16
16
|
import {
|
|
17
17
|
API_ENDPOINTS
|
|
18
18
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
asOptionalFiniteNumber
|
|
3
3
|
} from "./chunk-WWC7I6TA.js";
|
|
4
|
-
import {
|
|
5
|
-
asNonEmptyStringArray
|
|
6
|
-
} from "./chunk-I42VC5KR.js";
|
|
7
4
|
import {
|
|
8
5
|
asTrimmedString
|
|
9
6
|
} from "./chunk-3EUW3WEO.js";
|
|
@@ -2393,6 +2390,17 @@ var require_rambda = __commonJS({
|
|
|
2393
2390
|
}
|
|
2394
2391
|
});
|
|
2395
2392
|
|
|
2393
|
+
// packages/core/stringArray.ts
|
|
2394
|
+
function asNonEmptyStringArray(value) {
|
|
2395
|
+
if (!Array.isArray(value)) return [];
|
|
2396
|
+
return value.filter(
|
|
2397
|
+
(item) => typeof item === "string" && !!item.trim()
|
|
2398
|
+
);
|
|
2399
|
+
}
|
|
2400
|
+
function asTrimmedNonEmptyStringArray(value) {
|
|
2401
|
+
return asNonEmptyStringArray(value).map((item) => item.trim());
|
|
2402
|
+
}
|
|
2403
|
+
|
|
2396
2404
|
// packages/core/toTrimmedString.ts
|
|
2397
2405
|
function toTrimmedString(value) {
|
|
2398
2406
|
return typeof value === "string" ? value.trim() : value == null ? "" : String(value).trim();
|
|
@@ -3169,6 +3177,8 @@ var sanitizeShareData = (data) => {
|
|
|
3169
3177
|
};
|
|
3170
3178
|
|
|
3171
3179
|
export {
|
|
3180
|
+
asNonEmptyStringArray,
|
|
3181
|
+
asTrimmedNonEmptyStringArray,
|
|
3172
3182
|
ulid,
|
|
3173
3183
|
toTrimmedString,
|
|
3174
3184
|
toNonEmptyString,
|