nolo-cli 0.79.0-alpha.2 → 0.79.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-U5V7LOJX.js} +46 -46
- package/{action-D22U6CTH.js → action-EXQVY3UO.js} +11 -11
- package/{addContentAction-XAPUTGL4.js → addContentAction-6IXQSRD2.js} +9 -9
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-FZOB4BYM.js} +8 -8
- package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-4MIJFQQB.js} +30 -28
- package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-JUXT36BY.js} +62 -60
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
- package/{agentListCommands-IFUOWXP3.js → agentListCommands-MUVKMMZ5.js} +38 -30
- package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-56FTZLYV.js} +30 -28
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-TOMVKJOV.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
- package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-FST3KAKG.js} +59 -57
- package/{agentRunCommand-UKJAECQ6.js → agentRunCommand-UMUEVIY2.js} +60 -58
- package/{agentRunControl-T44MESII.js → agentRunControl-XLGD3UZ5.js} +1 -1
- package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-NH6GSGAJ.js} +28 -26
- package/{agentSlice-EACXUOWW.js → agentSlice-YZK6KG73.js} +10 -10
- package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-U45KXYX7.js} +30 -28
- package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-LWQIQCFX.js} +30 -28
- package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-LZO33PGD.js} +30 -28
- package/{appGetCommands-3VOGIZ7T.js → appGetCommands-OJSO6BCF.js} +30 -28
- package/{appListCommands-A6ROBW7P.js → appListCommands-NE56V7DI.js} +30 -28
- package/{authCommand-EVGFLAHO.js → authCommand-U5LA6H4Y.js} +164 -24
- package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
- package/builtinSkillRegistry-4NB7PCOF.js +33 -0
- package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-FRMSYX7N.js} +24 -24
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-U6LKJRJB.js → chunk-377KM42Z.js} +42 -26
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-AFIWC5NH.js → chunk-3XMOAYRC.js} +1 -1
- package/{chunk-UJ63UXGE.js → chunk-4CAPEGHN.js} +1077 -752
- package/{chunk-DWPNOYMB.js → chunk-4JBZUECA.js} +1 -1
- package/{chunk-NG4UT4K4.js → chunk-4QKBQHPQ.js} +1 -1
- package/{chunk-UZ6XXCVR.js → chunk-546FPOW3.js} +15 -2
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
- package/{chunk-G3NT6BM3.js → chunk-7IBK6MYW.js} +142 -59
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/{chunk-H7UKKEIS.js → chunk-AQDH76OK.js} +1 -1
- package/{chunk-L2Y24GRM.js → chunk-B4S7MR5S.js} +16 -12
- package/{chunk-E36HZARC.js → chunk-BF2K6MRF.js} +3 -3
- package/{chunk-MGU5ADIQ.js → chunk-BKP7CFUD.js} +10 -10
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-AFIKMMGC.js → chunk-COM7GG76.js} +1 -1
- package/{chunk-HH65VA5U.js → chunk-CPH3W5A7.js} +15 -3
- package/{chunk-XWNRAIUL.js → chunk-DM4UNXPK.js} +6 -16
- package/{chunk-ZLPA7K55.js → chunk-DSX6K7C2.js} +29 -10
- package/{chunk-QA6YKM3H.js → chunk-E2NP7ZQU.js} +32 -4
- package/{chunk-FSFQ3A7S.js → chunk-E3VQ6S3A.js} +10 -10
- package/{chunk-YFADVSZE.js → chunk-F3UTRUDO.js} +6 -6
- package/{chunk-KIS76A2P.js → chunk-G5X57NDE.js} +38 -4
- package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
- package/{chunk-DSRXPQWA.js → chunk-GRDSMV4V.js} +43 -43
- package/{chunk-733J6D44.js → chunk-HGRDL36J.js} +6 -6
- package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-QC5LGHYP.js → chunk-HWZAXNO7.js} +10 -5
- package/{chunk-Q6FF2MCK.js → chunk-IIKPWSPX.js} +1 -1
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/{chunk-AJHEFRGJ.js → chunk-JTYPAMGP.js} +155 -1
- package/{chunk-UDQWGU7F.js → chunk-KR3YI36B.js} +1 -1
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-SZLVDREM.js → chunk-LSSBA2TN.js} +3 -3
- package/{chunk-CMH2SYHX.js → chunk-MBEEYLGL.js} +2 -2
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-PGSKWZCB.js → chunk-NKIH4Q7W.js} +1 -1
- package/{chunk-FPTQQSS6.js → chunk-OH7H6LPC.js} +26 -5
- package/{chunk-5J7W2VWW.js → chunk-OOLWKQSM.js} +6 -265
- 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-P7FA2HMM.js → chunk-QMASIHYZ.js} +13 -15
- package/{chunk-ZY4K4CZR.js → chunk-R2YY6MWV.js} +909 -304
- package/chunk-RLEWGSM5.js +677 -0
- package/{chunk-PYXL2CJL.js → chunk-RZYQMSQA.js} +1 -1
- package/{chunk-EOU7ZSTU.js → chunk-S3UI4IUJ.js} +1198 -50
- package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
- package/{chunk-QRBAZ5PW.js → chunk-SASGLNUD.js} +3 -3
- package/{chunk-D74EWXL4.js → chunk-SUERPXJZ.js} +390 -47
- package/{chunk-3QPYFHAH.js → chunk-TMAZ3VHN.js} +1 -1
- package/{chunk-BJCWNHVU.js → chunk-U47DH2WO.js} +2 -2
- package/{chunk-MEVSATIF.js → chunk-UBNV6CS6.js} +66 -792
- package/{chunk-EXMHJN7C.js → chunk-UDEFS2PV.js} +4 -3
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-4EJ5QYB5.js → chunk-VOOTT7HA.js} +1 -1
- package/{chunk-PZM3EENV.js → chunk-W2E6HIIK.js} +1 -1
- package/chunk-WKEUHK57.js +1625 -0
- package/{chunk-GBPZKFYK.js → chunk-WON762L4.js} +4 -4
- package/{chunk-X7Z7U4Z6.js → chunk-WP6BC7OF.js} +15 -15
- package/{chunk-QUH3XHL5.js → chunk-X2ZTVRXP.js} +7 -7
- package/{chunk-MYU3MJCF.js → chunk-XAQAF25W.js} +175 -7
- package/chunk-XGJAR4T5.js +283 -0
- package/{chunk-ZZCJUXUI.js → chunk-XLGHBHGP.js} +2 -2
- package/{chunk-V3ZKNK5D.js → chunk-YOXYA2GU.js} +10 -10
- package/{chunk-ALGK6TIE.js → chunk-YPYMGGPJ.js} +3 -3
- package/{chunk-K7AG465Q.js → chunk-ZHUTWJ3N.js} +4 -2
- package/{chunk-CDVGNZDA.js → chunk-ZKMYGRO7.js} +11 -173
- package/{contentThunks-3SPROFG5.js → contentThunks-TC3AENBY.js} +25 -25
- package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-67EOD3WK.js} +25 -25
- package/{createDialogAction-RLUSTN4D.js → createDialogAction-4OCQC5MW.js} +28 -28
- package/{createPageAction-4Y52G7WG.js → createPageAction-JLGVP57B.js} +26 -26
- package/{dbSlice-GKGGFNOB.js → dbSlice-RDGCE5MU.js} +8 -8
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-G223U5WU.js → dialogCommands-JHSDKCR5.js} +32 -30
- package/{dialogSlice-THY45JWM.js → dialogSlice-I2DK32ZT.js} +24 -24
- package/{docCreateCommands-2P47IJDK.js → docCreateCommands-QUL6VWK2.js} +31 -29
- package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-DMQ2MU6I.js} +32 -30
- package/{docReadCommands-6BFV2HI7.js → docReadCommands-FVHENBU6.js} +31 -29
- package/{docStore-ZQ3ECOPY.js → docStore-OLC6MD7B.js} +9 -9
- package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-VA6V5C6L.js} +31 -29
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-YYXTEPBP.js} +4 -4
- package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-GRDIRXAK.js} +24 -24
- package/index.js +88 -80
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-4OT7KVCD.js → machineCommands-IJJ66MYU.js} +59 -57
- package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-PP2ZBS6D.js} +57 -55
- package/{memberThunks-KATHH3F4.js → memberThunks-WQGQWYYT.js} +9 -9
- package/{models-GS72DVJS.js → models-UN7YGMPM.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-NO73BG45.js +214 -0
- package/providerRegistry-OVY4VKNN.js +31 -0
- package/{read-LC6HVYBN.js → read-S4WC2OUK.js} +5 -4
- package/{readDocTool-N3ERJHHF.js → readDocTool-PQNM63KV.js} +1 -1
- package/{readlineWorkspace-RE3P324X.js → readlineWorkspace-ASJECDJD.js} +192 -109
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-YJZ6XJV6.js} +11 -11
- package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-KIOQSDRC.js} +45 -45
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-E6A3WL4E.js} +9 -9
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-WBLIVICQ.js} +11 -11
- package/{settingSlice-OEJA4NQO.js → settingSlice-JR6S7TRD.js} +10 -10
- package/{spaceCommands-MRP5U3C3.js → spaceCommands-WDUNCAK5.js} +29 -27
- package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-EGQDPMAO.js} +57 -56
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-DTR36ZY2.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-AOVE5LKM.js} +41 -39
- package/tuiSummaryLlmCaller-XRQCSNYQ.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-T66TXHIR.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
|
@@ -285,6 +285,27 @@ function saveProfileAgentSelection(selection, path = getDefaultProfileConfigPath
|
|
|
285
285
|
`, "utf8");
|
|
286
286
|
return config;
|
|
287
287
|
}
|
|
288
|
+
function getProfileOAuthSync(provider, path = getDefaultProfileConfigPath()) {
|
|
289
|
+
const config = loadProfileConfig(path);
|
|
290
|
+
if (!config) return void 0;
|
|
291
|
+
const profile = config.profiles[config.currentProfile];
|
|
292
|
+
return profile?.oauthSync?.[provider];
|
|
293
|
+
}
|
|
294
|
+
function saveProfileOAuthSync(provider, sync, path = getDefaultProfileConfigPath()) {
|
|
295
|
+
if (isProtectedHomeProfileWrite(path)) return null;
|
|
296
|
+
const config = loadProfileConfig(path);
|
|
297
|
+
if (!config) return null;
|
|
298
|
+
const profile = config.profiles[config.currentProfile];
|
|
299
|
+
if (!profile) return null;
|
|
300
|
+
profile.oauthSync = {
|
|
301
|
+
...profile.oauthSync ?? {},
|
|
302
|
+
[provider]: sync
|
|
303
|
+
};
|
|
304
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
305
|
+
writeFileSync(path, `${JSON.stringify(config, null, 2)}
|
|
306
|
+
`, "utf8");
|
|
307
|
+
return config;
|
|
308
|
+
}
|
|
288
309
|
|
|
289
310
|
export {
|
|
290
311
|
getDefaultProfileConfigPath,
|
|
@@ -299,5 +320,7 @@ export {
|
|
|
299
320
|
saveProfileLocale,
|
|
300
321
|
getAgentSelectionAuditPath,
|
|
301
322
|
readLastAgentSelectionAudit,
|
|
302
|
-
saveProfileAgentSelection
|
|
323
|
+
saveProfileAgentSelection,
|
|
324
|
+
getProfileOAuthSync,
|
|
325
|
+
saveProfileOAuthSync
|
|
303
326
|
};
|
|
@@ -405,6 +405,8 @@ function createRunActivityTracker(runId, deps = {}, options = {}) {
|
|
|
405
405
|
const fs = deps.fs ?? nodeFs;
|
|
406
406
|
const now = deps.now ?? (() => /* @__PURE__ */ new Date());
|
|
407
407
|
const minWriteIntervalMs = options.minWriteIntervalMs ?? DEFAULT_ACTIVITY_WRITE_INTERVAL_MS;
|
|
408
|
+
const keepAlive = options.keepAlive ?? true;
|
|
409
|
+
let disposed = false;
|
|
408
410
|
let lastEventAt = now().toISOString();
|
|
409
411
|
let inFlight = null;
|
|
410
412
|
const counters = { llmCalls: 0, toolCalls: 0, fileEdits: 0 };
|
|
@@ -425,7 +427,9 @@ function createRunActivityTracker(runId, deps = {}, options = {}) {
|
|
|
425
427
|
};
|
|
426
428
|
}
|
|
427
429
|
function doWrite() {
|
|
430
|
+
if (disposed) return;
|
|
428
431
|
writeTimer = void 0;
|
|
432
|
+
const attemptAt = now().getTime();
|
|
429
433
|
withRunRecordLock(
|
|
430
434
|
runId,
|
|
431
435
|
deps,
|
|
@@ -438,7 +442,10 @@ function createRunActivityTracker(runId, deps = {}, options = {}) {
|
|
|
438
442
|
},
|
|
439
443
|
{ strict: true }
|
|
440
444
|
);
|
|
445
|
+
if (lastWriteAt < attemptAt) lastWriteAt = attemptAt;
|
|
446
|
+
if (keepAlive) scheduleWrite();
|
|
441
447
|
}
|
|
448
|
+
scheduleWrite();
|
|
442
449
|
function scheduleWrite() {
|
|
443
450
|
if (writeTimer !== void 0) return;
|
|
444
451
|
const elapsed = now().getTime() - lastWriteAt;
|
|
@@ -446,6 +453,7 @@ function createRunActivityTracker(runId, deps = {}, options = {}) {
|
|
|
446
453
|
writeTimer = setTimeout(doWrite, delay);
|
|
447
454
|
}
|
|
448
455
|
function onLoopEvent(event) {
|
|
456
|
+
if (disposed) return;
|
|
449
457
|
lastEventAt = new Date(event.atMs).toISOString();
|
|
450
458
|
switch (event.kind) {
|
|
451
459
|
case "llm-start":
|
|
@@ -480,6 +488,7 @@ function createRunActivityTracker(runId, deps = {}, options = {}) {
|
|
|
480
488
|
doWrite();
|
|
481
489
|
}
|
|
482
490
|
function dispose() {
|
|
491
|
+
disposed = true;
|
|
483
492
|
if (writeTimer !== void 0) {
|
|
484
493
|
clearTimeout(writeTimer);
|
|
485
494
|
writeTimer = void 0;
|
|
@@ -817,10 +826,13 @@ async function spawnLocalBackgroundRun(input, deps = {}) {
|
|
|
817
826
|
});
|
|
818
827
|
proc.unref();
|
|
819
828
|
if (typeof proc.pid === "number") {
|
|
820
|
-
record.pid = proc.pid;
|
|
821
829
|
const processStartedAt = (deps.getProcessStartTime ?? defaultGetProcessStartTime)(proc.pid);
|
|
822
|
-
|
|
823
|
-
|
|
830
|
+
withRunRecordLock(runId, deps, () => {
|
|
831
|
+
const latest = readRunRecord(runId, deps) ?? record;
|
|
832
|
+
latest.pid = proc.pid;
|
|
833
|
+
if (processStartedAt) latest.processStartedAt = processStartedAt.toISOString();
|
|
834
|
+
writeRunRecord(latest, deps);
|
|
835
|
+
});
|
|
824
836
|
}
|
|
825
837
|
return { runId, pid: proc.pid, logPath, queuePath, batchId };
|
|
826
838
|
}
|
|
@@ -2,8 +2,9 @@ import {
|
|
|
2
2
|
parsePositiveFiniteNumberOrFallback
|
|
3
3
|
} from "./chunk-Y5GCAMGP.js";
|
|
4
4
|
import {
|
|
5
|
-
DEFAULT_SYSTEM_AGENT_CAPABILITIES
|
|
6
|
-
|
|
5
|
+
DEFAULT_SYSTEM_AGENT_CAPABILITIES,
|
|
6
|
+
noloAgentId
|
|
7
|
+
} from "./chunk-546FPOW3.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-
|
|
17
|
+
} from "./chunk-F3UTRUDO.js";
|
|
17
18
|
import {
|
|
18
19
|
createUserKey,
|
|
19
20
|
createUserPreferenceKey,
|
|
20
21
|
ulid
|
|
21
|
-
} from "./chunk-
|
|
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-
|
|
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,
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-PUOC4YRO.js";
|
|
5
5
|
import {
|
|
6
6
|
AGENT_SELECTION_PRIORITY_INSTRUCTIONS
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YOXYA2GU.js";
|
|
8
8
|
import {
|
|
9
9
|
getModelContextWindow
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GRDSMV4V.js";
|
|
11
11
|
import {
|
|
12
12
|
estimateTokenCount
|
|
13
13
|
} from "./chunk-PSCNXBYA.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
PLATFORM_HOSTED_KIMI_K3_MODEL,
|
|
19
19
|
isFireworksKimiModel,
|
|
20
20
|
isNoloHostedProvider
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JTYPAMGP.js";
|
|
22
22
|
import {
|
|
23
23
|
asTrimmedLowercaseString
|
|
24
24
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -91,6 +91,13 @@ var buildStartupProtocolBlock = (options = {}) => {
|
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
// packages/agent-runtime/runtimeGuidance.ts
|
|
94
|
+
var NOLO_WORKING_PHILOSOPHY = [
|
|
95
|
+
"--- Nolo \u5DE5\u4F5C\u539F\u5219 ---",
|
|
96
|
+
"\u9002\u5E94\u7528\u6237\u7684\u5DE5\u4F5C\u65B9\u5F0F\uFF0C\u800C\u4E0D\u662F\u8981\u6C42\u7528\u6237\u9002\u5E94\u4F60\u3002\u4FDD\u62A4\u7528\u6237\u6709\u9650\u7684\u6CE8\u610F\u529B\uFF1A\u80FD\u53EF\u9760\u5904\u7406\u7684\u5E38\u89C4\u590D\u6742\u6027\u5C3D\u91CF\u81EA\u884C\u5904\u7406\uFF1B\u771F\u6B63\u5F71\u54CD\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u548C\u65B9\u5411\u7684\u51B3\u5B9A\u7559\u7ED9\u7528\u6237\u3002",
|
|
97
|
+
"\u5C0A\u91CD\u7528\u6237\u7684\u610F\u56FE\u4E0E\u5224\u65AD\uFF0C\u4F46\u4E0D\u8981\u76F2\u4ECE\uFF1B\u5F53\u786E\u5B9E\u80FD\u6539\u53D8\u7ED3\u679C\u65F6\uFF0C\u6307\u51FA\u91CD\u8981\u76F2\u533A\u3001\u98CE\u9669\u3001\u66F4\u597D\u7684\u65B9\u6848\u6216\u65B0\u7684\u53EF\u80FD\u3002\u4E0D\u8981\u4E3A\u4E86\u663E\u5F97\u6709\u601D\u8003\u800C\u523B\u610F\u53CD\u9A73\u3002",
|
|
98
|
+
"\u5229\u7528\u76F8\u5173\u7684 Space\u3001\u8BB0\u5FC6\u3001\u5386\u53F2\u51B3\u5B9A\u548C\u5F53\u524D\u4E0A\u4E0B\u6587\uFF0C\u8BA9\u5408\u4F5C\u4EA7\u751F\u79EF\u7D2F\uFF1B\u4E0D\u8981\u56E0\u4E3A\u5B58\u5728\u65E7\u4E0A\u4E0B\u6587\u5C31\u5F3A\u884C\u5E26\u5165\u65E0\u5173\u4EFB\u52A1\uFF0C\u4E5F\u4E0D\u8981\u8BA9\u7528\u6237\u91CD\u590D\u8BF4\u660E\u5DF2\u7ECF\u53EF\u7528\u7684\u4FE1\u606F\u3002",
|
|
99
|
+
"\u76EE\u6807\u4E0D\u662F\u66FF\u7528\u6237\u505A\u6240\u6709\u51B3\u5B9A\uFF0C\u4E5F\u4E0D\u662F\u628A\u6240\u6709\u9009\u62E9\u91CD\u65B0\u4E22\u7ED9\u7528\u6237\uFF0C\u800C\u662F\u51CF\u5C11\u65E0\u610F\u4E49\u7684\u6253\u6270\uFF0C\u8BA9\u7528\u6237\u628A\u6CE8\u610F\u529B\u653E\u5728\u771F\u6B63\u9700\u8981\u5176\u5224\u65AD\u7684\u5730\u65B9\u3002"
|
|
100
|
+
].join("\n");
|
|
94
101
|
var normalizeToolName = (name) => name.replace(/[-_]/g, "").toLowerCase();
|
|
95
102
|
var hasAnyTool = (normalizedTools, candidates) => candidates.some((candidate) => normalizedTools.has(normalizeToolName(candidate)));
|
|
96
103
|
var hasAllTools = (normalizedTools, candidates) => candidates.every((candidate) => normalizedTools.has(normalizeToolName(candidate)));
|
|
@@ -146,11 +153,14 @@ var resolveRuntimeGuidanceToolOptions = (tools = []) => {
|
|
|
146
153
|
var buildRuntimeGuidanceBlocks = (tools = []) => {
|
|
147
154
|
const options = resolveRuntimeGuidanceToolOptions(tools);
|
|
148
155
|
const normalizedTools = canonicalizeToolNames(tools);
|
|
156
|
+
const startupProtocol = buildStartupProtocolBlock({
|
|
157
|
+
hasCheckEnvTool: options.hasCheckEnvTool,
|
|
158
|
+
hasExecShellTool: options.hasExecShellTool
|
|
159
|
+
});
|
|
149
160
|
return {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}),
|
|
161
|
+
// 复用现有 startup-protocol session-scope 槽位,保证 web/server/local 三条
|
|
162
|
+
// 装配线无需各自新增一份全局哲学;具体 startup protocol 为空时原则仍常驻。
|
|
163
|
+
startupProtocol: [NOLO_WORKING_PHILOSOPHY, startupProtocol].filter(Boolean).join("\n\n"),
|
|
154
164
|
contextLayerContract: buildContextLayerContractBlock({
|
|
155
165
|
hasRememberMemoryTool: options.hasRememberMemoryTool,
|
|
156
166
|
hasDocTools: options.hasDocTools
|
|
@@ -190,13 +200,22 @@ var TOOL_USE_GUIDANCE = `--- \u5DE5\u5177\u4F7F\u7528\u7EAA\u5F8B ---
|
|
|
190
200
|
var AGENT_ORCHESTRATION_RUN_INSTRUCTIONS = `--- \u591A Agent \u7F16\u6392\uFF08\u540E\u53F0 Run\uFF09 ---
|
|
191
201
|
\u7528 startAgentRun \u542F\u52A8\u5B50 Agent\uFF08wait:false \u5F02\u6B65 fork+exec \u8FD4\u56DE runId\uFF1Bwait:true \u540C\u6B65\u7B49\u7ED3\u679C\uFF09\uFF0C\u7528 controlAgentRun \u63A7\u5236/\u8BCA\u65AD\u3002\u4F55\u65F6\u6D3E\u53D1\u89C1\u300C\u591A Agent \u534F\u4F5C\u300D\u6BB5\uFF1B\u672C\u6BB5\u53EA\u8BB2\u6D3E\u53D1\u4E4B\u540E\u7684\u76EF\u68A2\u4E0E\u6392\u9519\u3002
|
|
192
202
|
|
|
193
|
-
1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\
|
|
203
|
+
1. \u76EF\u68A2\uFF1A**\u5F02\u6B65\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\uFF0C\u7B49\u7EC8\u6001\u901A\u77E5\u3002** \u4E32\u884C\u4F9D\u8D56\u4E0D\u662F\u963B\u585E\u5BF9\u8BDD\u7684\u7406\u7531\u3002\u7B49\u5F85\u65B9\u5F0F\u6309\u73AF\u5883\u5206\u4E09\u79CD\uFF1A\u2460 controlAgentRun \u6709 wait action \u2192 \u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4EC5\u9650\u9884\u8BA1 <100s \u4E14\u9A6C\u4E0A\u8981\u7528\u7ED3\u679C\u7684\u573A\u666F\uFF0C\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u540C\u6B65\u7B49\u5F85\uFF09\uFF1B\u2461 \u65E0 wait action \u4F46\u5BBF\u4E3B\u6709 terminal wake \u2192 \u6D3E\u53D1\u540E\u76F4\u63A5\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u5230\u7EC8\u6001\u65F6\u5BBF\u4E3B\u81EA\u52A8\u628A\u7236\u5BF9\u8BDD\u63A5\u56DE\u6765\uFF0C\u4E0D\u9700\u8981\u4EFB\u4F55\u4E3B\u52A8\u7B49\u5F85\uFF1B\u2462 \u65E0 wait action \u4E14\u65E0 terminal wake \u2192 \u6D3E\u53D1\u540E\u540C\u6837\u7ED3\u675F\u672C\u8F6E\u56DE\u590D\uFF0Crun \u7ED3\u675F\u65F6\u4E0D\u4F1A\u88AB\u81EA\u52A8\u63A5\u56DE\u6765\uFF0C\u8FD9\u662F\u5BBF\u4E3B\u9650\u5236\uFF0C\u5E94\u5728\u56DE\u590D\u4E2D\u5982\u5B9E\u544A\u77E5\u7528\u6237\u300Crun \u5DF2\u5728\u540E\u53F0\u8FD0\u884C\uFF0C\u7ED3\u679C\u9700\u624B\u52A8\u67E5\u8BE2\u300D\uFF0C\u800C\u4E0D\u662F\u7528 execShell sleep \u8F6E\u8BE2\u7ED5\u8FC7\u3002**execShell sleep \u6C38\u8FDC\u4E0D\u662F\u7B49\u5F85 agent run \u7684\u6B63\u786E\u65B9\u5F0F**\uFF1A\u547D\u4EE4\u8D85 5s \u4F1A\u88AB\u81EA\u52A8 detach \u6210\u540E\u53F0\u4EFB\u52A1\uFF0C\u6BCF\u4E2A\u5B8C\u6210\u90FD\u4EA7\u751F\u4E00\u6761\u901A\u77E5\uFF0C\u5F62\u6210\u566A\u97F3\u4E14\u5B8C\u5168\u65E0\u6548\u3002
|
|
194
204
|
2. \u7981\u6B62\u8F6E\u8BE2\u3001\u7981\u7A7A\u8F6C\u3001\u522B\u590D\u8FF0 status\uFF1B\u8BED\u4E49\u4EE5\u5DE5\u5177\u63CF\u8FF0\u4E3A\u51C6\u3002status \u4EC5\u7528\u4E8E\u5F02\u5E38\u8BCA\u65AD\u2014\u2014\u6000\u7591\u5361\u6B7B\u3001failed \u540E\u770B\u8BE6\u60C5/\u65E5\u5FD7\u3001\u7528\u6237\u660E\u786E\u8BE2\u95EE\u6267\u884C\u7EC6\u8282\uFF08tailLines:0 \u53EA\u770B\u6458\u8981\uFF09\uFF1B\u5B83\u4E0D\u662F stop \u524D\u7684 preflight\u3002\u5E76\u884C\uFF1A\u65E0\u6587\u4EF6\u4EA4\u96C6\u3001\u65E0\u771F\u5B9E\u6570\u636E\u4F9D\u8D56\u7684\u72EC\u7ACB\u5B50\u4EFB\u52A1\u9ED8\u8BA4\u5E76\u53D1\u6D3E\u53D1\uFF1B\u4E0D\u8981\u56E0\u5171\u7528\u540C\u4E00\u6267\u884C agent/\u901A\u9053\u800C\u81EA\u884C\u52A0\u300C\u901A\u9053\u4E32\u884C\u300D\u4FDD\u5B88\u5047\u8BBE\uFF08\u540C\u901A\u9053\u5141\u8BB8\u5E76\u53D1 fork\uFF0C\u5B9E\u4F8B\u95F4\u65E0\u4E0A\u4E0B\u6587\u5171\u4EAB\uFF09\uFF0C\u53EA\u6709\u771F\u5B9E\u6587\u4EF6/\u6570\u636E\u4F9D\u8D56\u6216 brief \u660E\u793A\u51B2\u7A81\u9762\u65F6\u624D\u4E32\u884C\u3002
|
|
195
205
|
3. \u6392\u9519\u5148\u5206\u8BCA\uFF1AagentKey \u6CA1\u7167\u6284 listAgents \u5C31\u5148\u4FEE key\uFF08\u4E0D\u7B97\u901A\u9053\u6545\u969C\uFF09\uFF1B\u62A5\u9519\u542B not found / invalid ref / Local agent config not found \u2192 \u5148 readAgent \u590D\u6838\uFF0C**\u7981\u6B62**\u636E\u6B64\u63A8\u65AD\u51ED\u8BC1\u7F3A\u5931\u6216\u901A\u9053\u5168\u6302\uFF1B\u540C\u4E00\u5DF2\u9A8C\u8BC1 key \u4ECD\u5931\u8D25\u4E14\u9519\u8BEF\u660E\u786E\u6307\u5411\u901A\u9053\uFF08429\u3001\u9274\u6743\u5931\u8D25\u3001machine offline\uFF09\u624D\u8BB0\u4E3A\u901A\u9053\u6545\u969C\u3002\u5224\u5B9A\u300C\u6D3E\u53D1\u901A\u9053\u6574\u4F53\u4E0D\u53EF\u7528\u300D\u9700 \u22652 \u4E2A\u4E0D\u540C\u5019\u9009\u5404\u81EA\u5B8C\u6210\u300C\u5DF2\u9A8C\u8BC1 key + \u4E00\u6B21\u771F\u5B9E\u6D3E\u53D1\u300D\u4E14\u5931\u8D25\uFF0C\u5019\u9009\u4E0D\u8DB3\u5C31\u5982\u5B9E\u62A5\u544A\u300C\u4EC5\u6B64\u5019\u9009\u4E14\u901A\u9053\u5931\u8D25\u300D\uFF0C\u4E0D\u5F97\u5938\u5927\u6210\u5168\u5E93\u4E0D\u53EF\u7528\u3002
|
|
196
206
|
4. \u53EA\u6709 status=failed/\u8D85\u65F6\u6216 progress \u957F\u65F6\u95F4\u65E0\u52A8\u9759\uFF08\u7591\u4F3C\u5361\u6B7B\uFF09\u624D\u62C9 tailLines:30 \u770B\u65E5\u5FD7\u3002append \u53EF\u76F4\u63A5\u8C03\u7528\u2014\u2014not found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u5165\u961F\u7531 executor \u81EA\u8BC1\uFF1Bstop \u53EF\u76F4\u63A5\u8C03\u7528\uFF0Cnot found/\u5DF2\u7EC8\u6001/\u8FD0\u884C\u4E2D\u7531\u63A7\u5236\u5E73\u9762\u81EA\u884C\u5904\u7406\uFF08\u5DF2\u7EC8\u6001\u539F\u6837\u8FD4\u56DE\u3001\u4E0D\u4F1A\u88AB\u8986\u76D6\uFF09\u3002`;
|
|
197
207
|
var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C\uFF08\u591A Agent \u534F\u4F5C\uFF1A\u8BA1\u5212 \u2192 \u6309\u9700\u6D3E\u53D1 \u2192 \u5BA1\u67E5\uFF09 ---
|
|
198
208
|
\u4EA7\u51FA\u4F18\u5148\uFF1A\u4E0D\u4E3A\u300C\u51D1\u6570\u91CF\u300D\u6D3E\u53D1\uFF0C\u4E5F\u4E0D\u5305\u529E\u53EF\u5E76\u884C\u7684\u72EC\u7ACB\u9886\u57DF\uFF1B\u6BCF\u8F6E\u63A8\u8FDB\u5F53\u524D\u6700\u6709\u4EF7\u503C\u7684\u52A8\u4F5C\uFF0C\u62FF\u8BC1\u636E\u518D\u5224\u65AD\u3002
|
|
199
209
|
|
|
210
|
+
**\u6D3E\u53D1\u4EF7\u503C\uFF08\u5148\u5224\u65AD\u503C\u4E0D\u503C\u5F97\u6D3E\uFF0C\u518D\u9009\u4EBA\uFF09**\uFF1A
|
|
211
|
+
- \u4E0D\u4E3A\u201C\u770B\u8D77\u6765\u50CF\u591A Agent\u201D\u800C\u6D3E\u53D1\u3002\u53EA\u6709\u9884\u671F\u65B0\u589E\u4EF7\u503C\u660E\u663E\u5927\u4E8E\u534F\u4F5C\u6210\u672C\u65F6\u624D\u6D3E\u3002
|
|
212
|
+
- \u4EF7\u503C\u4E0D\u53EA\u770B\u201C\u4E3B Agent \u505A\u4E0D\u52A8\u201D\u3002\u81F3\u5C11\u4ECE\u4E09\u79CD\u6760\u6746\u5224\u65AD\uFF1A
|
|
213
|
+
1. **\u4E0A\u4E0B\u6587\u6760\u6746\uFF08Context leverage\uFF09**\uFF1A\u628A\u673A\u68B0 inventory\u3001\u5927\u8F93\u51FA\u3001\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u8BC1\u636E\u641C\u96C6\u9694\u79BB\u51FA\u53BB\uFF0C\u4FDD\u62A4\u4E3B\u5BF9\u8BDD\u4E0A\u4E0B\u6587\u4E0E\u6CE8\u610F\u529B\u3002
|
|
214
|
+
2. **\u5E76\u884C\u6760\u6746\uFF08Parallel leverage\uFF09**\uFF1A\u4E24\u4E2A\u6216\u66F4\u591A\u4E92\u4E0D\u4F9D\u8D56\u7684\u5DE5\u4F5C\u6D41\u53EF\u4EE5\u540C\u65F6\u63A8\u8FDB\uFF0C\u7F29\u77ED\u603B\u5B8C\u6210\u65F6\u95F4\u3002
|
|
215
|
+
3. **\u8BA4\u77E5\u6760\u6746\uFF08Cognitive leverage\uFF09**\uFF1A\u72EC\u7ACB\u89C6\u89D2\u3001\u53CD\u65B9\u5BA1\u67E5\u3001\u521B\u610F\u5206\u652F\u3001\u9886\u57DF\u4E13\u5BB6\u6216\u4E0D\u540C\u6A21\u578B\u80FD\u663E\u8457\u63D0\u9AD8\u65B9\u6848\u8D28\u91CF\u3001\u53D1\u73B0\u76F2\u533A\u6216\u964D\u4F4E\u5171\u4EAB\u9519\u8BEF\u98CE\u9669\u3002\u4EA7\u54C1\u3001\u8BBE\u8BA1\u3001\u7814\u7A76\u3001\u5199\u4F5C\u3001\u6218\u7565\u548C\u590D\u6742\u51B3\u7B56\u540C\u6837\u9002\u7528\uFF0C\u4E0D\u9650\u4E8E\u4EE3\u7801\u3002
|
|
216
|
+
- **\u53CD\u7EA6\u675F**\uFF1A\u5982\u679C\u5B50 Agent \u9884\u8BA1\u53EA\u4F1A\u590D\u8FF0\u7236 Agent \u5DF2\u77E5\u4FE1\u606F\u3001\u6CA1\u6709\u72EC\u7ACB\u8BC1\u636E/\u89C6\u89D2/\u5E76\u884C\u6536\u76CA\uFF0C\u5C31\u4E0D\u8981\u6D3E\u3002\u4E0D\u8981\u628A\u534F\u8C03\u5F00\u9500\u4F2A\u88C5\u6210\u201C\u66F4\u8BA4\u771F\u201D\u3002
|
|
217
|
+
- **\u4FDD\u62A4\u7528\u6237\u6CE8\u610F\u529B**\uFF1A\u7F16\u6392\u8005\u5E94\u5148\u5728\u5185\u90E8\u5B8C\u6210\u80FD\u53EF\u9760\u5B8C\u6210\u7684\u6BD4\u8F83\u3001\u7B5B\u9009\u4E0E\u9ED8\u8BA4\u5224\u65AD\uFF1B\u53EA\u6709\u76EE\u6807\u3001\u98CE\u9669\u3001\u5BA1\u7F8E\u3001\u8D39\u7528\u3001\u6743\u9650\u3001\u4E0D\u53EF\u9006\u540E\u679C\u7B49\u771F\u6B63\u9700\u8981\u7528\u6237\u51B3\u5B9A\u7684\u4E8B\u9879\u624D\u6253\u65AD\u7528\u6237\u3002\u4E0D\u8981\u628A\u201C\u8BF7\u9009\u62E9 A/B/C\u201D\u5F53\u4F5C\u5DF2\u7ECF\u5B8C\u6210\u89C4\u5212\uFF1B\u6709\u8DB3\u591F\u4F9D\u636E\u65F6\u5148\u7ED9\u63A8\u8350\u4E0E\u7406\u7531\uFF0C\u5E76\u8BF4\u660E\u4F55\u79CD\u6761\u4EF6\u4E0B\u5E94\u6539\u9009\u3002
|
|
218
|
+
|
|
200
219
|
**\u5E73\u53F0 Agent / \u5E73\u53F0\u79EF\u5206\u6263\u8D39\u786E\u8BA4\u786C\u95F8\u95E8\uFF08\u5FC5\u987B\u5148\u786E\u8BA4\uFF0C\u540E\u8C03\u7528\uFF09**\uFF1A
|
|
201
220
|
- \u53EA\u8981\u5019\u9009 Agent \u7684 apiSource \u4E3A platform\uFF0C\u6216\u65E0\u6CD5\u786E\u8BA4\u8C03\u7528\u662F\u5426\u6D88\u8017\u5E73\u53F0\u79EF\u5206/\u989D\u5EA6\uFF0C\u5C31\u5FC5\u987B\u628A\u5B83\u89C6\u4E3A\u53EF\u80FD\u6263\u8D39\u7684\u9AD8\u6210\u672C\u8C03\u7528\u3002
|
|
202
221
|
- **\u4EC5\u544A\u77E5\u7528\u6237\u201C\u4F1A\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u201D\u4E0D\u7B49\u4E8E\u83B7\u5F97\u6388\u6743\u3002** \u8C03\u7528 startAgentRun \u524D\uFF0C\u5FC5\u987B\u5148\u5411\u7528\u6237\u8BF4\u660E\uFF1A\u539F\u4F18\u5148\u901A\u9053\u4E3A\u4F55\u4E0D\u53EF\u7528\u3001\u5019\u9009\u5E73\u53F0 Agent\u3001\u9884\u8BA1\u6263\u8D39/\u79EF\u5206\u5F71\u54CD\uFF0C\u5E76\u505C\u4E0B\u6765\u7B49\u5F85\u7528\u6237\u5F53\u6B21\u660E\u786E\u80AF\u5B9A\u6388\u6743\u3002
|
|
@@ -208,7 +227,7 @@ var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C
|
|
|
208
227
|
**\u6D3E\u53D1\u524D\u81EA\u68C0**\uFF1A\u6BCF\u6B21\u8C03\u7528 startAgentRun \u524D\uFF0C\u5148\u6838\u5BF9 agentKey \u7684 apiSource\u3001\u6536\u85CF/\u79C1\u6709\u72B6\u6001\u3001\u5360\u7528\u72B6\u6001\uFF08\u4EC5\u5F53\u5DE5\u5177/\u901A\u9053\u660E\u786E\u8FD4\u56DE\u8BE5\u5019\u9009\u4E0D\u53EF\u7528\uFF0C\u6216\u9879\u76EE\u660E\u786E\u89C4\u5B9A\u5B58\u5728\u540C\u4E00 Agent \u7684\u8D44\u6E90\u9501\u65F6\u6210\u7ACB\uFF09\u548C\u5F53\u524D\u6388\u6743\uFF1B\u65E0\u6CD5\u786E\u8BA4\u6263\u8D39\u72B6\u6001\u65F6\u6309\u53EF\u80FD\u6263\u8D39\u5904\u7406\uFF0C\u5148\u8BE2\u95EE\uFF0C\u4E0D\u5F97\u731C\u6D4B\u3002
|
|
209
228
|
|
|
210
229
|
**\u5206\u6863\u6807\u51C6\uFF08\u4E24\u8D26\u5224\u636E\uFF1A\u4E0A\u4E0B\u6587\u8D26 / \u5E76\u884C\u8D26\uFF1B\u6A21\u578B\u6210\u672C\u4E0D\u6784\u6210\u6D3E\u53D1\u7406\u7531\uFF09**\uFF1A
|
|
211
|
-
- **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u76F4\u63A5\u56DE\u7B54\uFF1B\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
|
|
230
|
+
- **\u81EA\u5DF1\u505A**\uFF1A\u7EAF\u95EE\u7B54/\u54A8\u8BE2/\u95F2\u804A\u9ED8\u8BA4\u76F4\u63A5\u56DE\u7B54\u2014\u2014\u4F46\u82E5\u95EE\u9898\u672C\u8EAB\u662F\u5F00\u653E\u5F0F\u521B\u4F5C\u3001\u590D\u6742\u53D6\u820D\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u3001\u91CD\u5927\u51B3\u7B56\u6216\u660E\u786E\u5B58\u5728\u591A\u89C6\u89D2\u4EF7\u503C\uFF0C\u8BA4\u77E5\u6760\u6746\u547D\u4E2D\u5373\u6309\u53D1\u6563/\u4F1A\u5546\u6D3E\u53D1\uFF1B\u53EA\u6709\u786E\u5B9E\u6CA1\u6709\u65B0\u589E\u89C6\u89D2/\u8BC1\u636E/\u5E76\u884C\u6536\u76CA\u65F6\u624D\u76F4\u63A5\u56DE\u7B54\u3002\u4E24\u8D26\u5747\u4E0D\u547D\u4E2D\u7684\u4E2D\u5C0F\u5B9E\u73B0\uFF08\u5178\u578B \u22643 \u4E2A\u6587\u4EF6\u30011~2 \u6B21\u9A8C\u8BC1\u5F80\u8FD4\u3001\u65E0\u5927\u8F93\u51FA\u3001\u65E0 \u22652 \u4E2A\u72EC\u7ACB\u9886\u57DF\uFF09\u76F4\u63A5\u5B8C\u6210\uFF0C\u4E0D\u58F0\u660E\u3001\u4E0D\u6D3E\u53D1\u3002
|
|
212
231
|
- **\u4E0A\u4E0B\u6587\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u9A8C\u8BC1\u5FAA\u73AF \u22653 \u6B21\u300C\u8DD1\u547D\u4EE4\u2192\u770B\u62A5\u9519\u2192\u6539\u300D\uFF0C\u6216\u5355\u6B65\u5927\u8F93\u51FA\uFF08\u5168\u91CF typecheck \u62A5\u9519\u3001\u957F\u6D4B\u8BD5\u6808\u3001\u5927 diff\u3001\u5927\u6587\u4EF6\u8BFB\u53D6\uFF09\u2014\u2014\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u4E0E\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u4EA4\u7ED9\u5B50 Agent\uFF1B\u7236 Agent \u63A5\u6536\u7ED3\u6784\u5316\u8BC1\u636E\uFF0C\u5E76\u4EB2\u81EA\u590D\u6838\u6240\u6709\u5F71\u54CD\u5173\u952E\u51B3\u7B56\u7684\u539F\u59CB\u8BC1\u636E\u3002
|
|
213
232
|
- **\u5173\u952E\u51B3\u7B56\u4E0A\u4E0B\u6587\u4E0D\u5916\u5305**\uFF1A\u4E0A\u4E0B\u6587\u8D26\u53EA\u51B3\u5B9A\u91CD\u590D\u9A8C\u8BC1\u5FAA\u73AF\u3001\u5927\u8F93\u51FA\u5904\u7406\u3001\u673A\u68B0 inventory/\u8BC1\u636E\u5B9A\u4F4D\u7684\u6D3E\u53D1\uFF1B\u6D89\u53CA\u67B6\u6784\u3001\u8BA1\u8D39\u3001\u5B89\u5168\u3001\u6743\u9650\u3001\u6570\u636E\u5B8C\u6574\u6027\u3001\u4E0D\u53EF\u9006\u8FC1\u79FB\u3001\u957F\u671F\u4EA7\u54C1\u8BED\u4E49\u65F6\uFF0C\u7F16\u6392\u8005\u5FC5\u987B\u4EB2\u81EA\u8BFB\u53D6\u8DB3\u4EE5\u51B3\u7B56\u7684\u4E00\u7EA7\u4EE3\u7801\u3001\u6B63\u5F0F\u771F\u503C\u3001\u539F\u59CB\u65E5\u5FD7\u548C\u771F\u5B9E\u6570\u636E\u8BC1\u636E\uFF1B\u5B50 Agent \u53EF\u505A\u5B9A\u4F4D\u3001\u673A\u68B0\u6536\u96C6\u3001\u72EC\u7ACB\u590D\u6838\u4E0E\u53CD\u65B9\u5BA1\u67E5\uFF0C\u4F46\u5176\u6458\u8981\u4E0D\u80FD\u66FF\u4EE3\u5173\u952E\u4E0A\u4E0B\u6587\u4EB2\u8BFB\u3002
|
|
214
233
|
- **\u5E76\u884C\u8D26\u547D\u4E2D \u2192 \u6D3E\u53D1**\uFF1A\u22652 \u4E2A\u4E92\u4E0D\u4F9D\u8D56\u7684\u72EC\u7ACB\u9886\u57DF\uFF0C\u6216\u4ED3\u5E93\u6539\u52A8\uFF0B\u9A8C\u8BC1\uFF0B\u53D1\u5E03/\u8FC1\u79FB\u957F\u94FE\u8DEF \u2192 \u6309\u9886\u57DF\u5E76\u53D1\u6D3E\u53D1\u3002
|
|
@@ -283,7 +302,7 @@ var TOOL_ROUND_ECONOMY_INSTRUCTIONS = `--- \u5DE5\u5177\u8F6E\u6B21\u7ECF\u6D4E\
|
|
|
283
302
|
- **\u5DF2\u7ECF\u77E5\u9053\u8981\u505A\u7684\u3001\u4E92\u4E0D\u4F9D\u8D56\u7684\u8C03\u7528\uFF0C\u5728\u540C\u4E00\u8F6E\u91CC\u4E00\u6B21\u53D1\u5B8C**\uFF08\u8BFB\u591A\u4E2A\u6587\u4EF6\u3001\u67E5\u591A\u5904\u5F15\u7528\u3001\u51E0\u5904\u72EC\u7ACB\u7684\u68C0\u67E5\uFF09\uFF0C\u4E0D\u8981\u4E00\u4E2A\u4E00\u4E2A\u6765\u56DE\u95EE\u3002
|
|
284
303
|
- \u53EA\u6709\u300C\u4E0B\u4E00\u6B65\u8981\u505A\u4EC0\u4E48\u53D6\u51B3\u4E8E\u4E0A\u4E00\u6B65\u7684\u7ED3\u679C\u300D\u65F6\u624D\u5206\u8F6E\u3002
|
|
285
304
|
- \u4E00\u6B21\u8C03\u7528\u91CC\u80FD\u8868\u8FBE\u7684\u5C31\u522B\u62C6\u6210\u591A\u6B21\uFF1A\u7528 glob \u7684\u82B1\u62EC\u53F7\u7EC4\u4E00\u6B21\u5339\u914D\u591A\u79CD\u540E\u7F00\u3001\u7528\u4E00\u6761\u547D\u4EE4\u4EE3\u66FF\u4E09\u6761\u3001\u6309\u9700\u8981\u7684\u884C\u8303\u56F4\u8BFB\u6587\u4EF6\u800C\u4E0D\u662F\u5148\u5168\u8BFB\u518D\u56DE\u5934\u627E\u3002
|
|
286
|
-
- \u7B49\u5F85\u7C7B\u5DE5\u5177\
|
|
305
|
+
- \u82E5\u5F53\u524D\u5BBF\u4E3B\u63D0\u4F9B\u7B49\u5F85\u7C7B\u5DE5\u5177\uFF0C\u6309\u9884\u8BA1\u8017\u65F6\u4E00\u6B21\u7ED9\u8DB3\u9884\u7B97\u3001\u4E0D\u8981\u7528\u77ED\u8D85\u65F6\u53CD\u590D\u7EED\u7B49\uFF08\u90A3\u662F\u628A\u5FAA\u73AF\u653E\u5728\u4E86\u6700\u8D35\u7684\u5730\u65B9\uFF09\uFF1B\u5DF2\u6709\u7EC8\u6001\u81EA\u52A8\u5524\u9192\u65F6\u4E0D\u5FC5\u518D\u7B49\u5F85\u3002`;
|
|
287
306
|
var PRIVILEGE_ESCALATION_INSTRUCTIONS = `--- \u6743\u9650\u63D0\u5347 ---
|
|
288
307
|
\u547D\u4EE4\u5931\u8D25\u4E14\u539F\u56E0\u6307\u5411\u6743\u9650\u4E0D\u8DB3\uFF08sudo: \u9700\u8981\u5BC6\u7801 / Permission denied / EACCES / Operation not permitted\uFF09\u65F6\uFF0C\u4F18\u5148\u628A\u300C\u8F93\u5BC6\u7801\u300D\u8FD9\u4E00\u6B65\u4EA4\u8FD8\u7ED9\u7528\u6237\u7684\u56FE\u5F62\u6388\u6743\u901A\u9053\uFF0C\u800C\u4E0D\u662F\u628A sudo \u547D\u4EE4\u629B\u56DE\u7ED9\u7528\u6237\u624B\u6284\uFF1A
|
|
289
308
|
1. \u684C\u9762\u4F1A\u8BDD\uFF08Linux \u6709 DISPLAY/WAYLAND_DISPLAY\uFF09\u76F4\u63A5\u8DD1 \`pkexec <\u547D\u4EE4>\`\uFF1Apolkit \u4F1A\u5728\u7528\u6237\u5C4F\u5E55\u5F39 GUI \u5BC6\u7801\u6846\u3002\u5F39\u4E4B\u524D\u5148\u4E00\u53E5\u8BDD\u8BF4\u660E\u8981\u505A\u4EC0\u4E48\u3001\u4E3A\u4F55\u9700\u8981 root\uFF0C\u907F\u514D\u51ED\u7A7A\u5F39\u7A97\uFF1B\u590D\u6742\u547D\u4EE4\u5148\u5199\u6210\u811A\u672C\u518D \`pkexec bash /tmp/xxx.sh\`\u3002
|
|
@@ -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-NO73BG45.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,
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
listUserRecordsFromServers,
|
|
8
8
|
readDbRecordFromServers,
|
|
9
9
|
readLiveDbRecordAfterTombstoneMerge
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3XMOAYRC.js";
|
|
11
11
|
import {
|
|
12
12
|
fetchWithTransientRetry
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-5UTFL4QJ.js";
|
|
14
14
|
import {
|
|
15
15
|
DRAIN_EXHAUSTED_USER_MESSAGE,
|
|
16
16
|
isDrainExhaustedResponse
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
buildDialogAttachmentPlan,
|
|
20
20
|
extractFileContentIds
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-3BMYXEUW.js";
|
|
22
22
|
import {
|
|
23
23
|
isLevelLockError
|
|
24
24
|
} from "./chunk-URMS4XY2.js";
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
boundSummaryText,
|
|
31
31
|
buildDialogReadEnvelope,
|
|
32
32
|
projectDialogReadForAgent
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-YOXYA2GU.js";
|
|
34
34
|
import {
|
|
35
35
|
toErrorMessage
|
|
36
36
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -51,19 +51,19 @@ import {
|
|
|
51
51
|
import {
|
|
52
52
|
asNonEmptyStringArray,
|
|
53
53
|
asTrimmedNonEmptyStringArray
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-VMFTFOWF.js";
|
|
55
55
|
import {
|
|
56
56
|
createClientLogger
|
|
57
57
|
} from "./chunk-QOKAKDPE.js";
|
|
58
58
|
import {
|
|
59
59
|
isLevelNotFoundError
|
|
60
60
|
} from "./chunk-OW765XBU.js";
|
|
61
|
-
import {
|
|
62
|
-
asTrimmedString
|
|
63
|
-
} from "./chunk-3EUW3WEO.js";
|
|
64
61
|
import {
|
|
65
62
|
isRecord
|
|
66
63
|
} from "./chunk-KUG52IAP.js";
|
|
64
|
+
import {
|
|
65
|
+
asTrimmedString
|
|
66
|
+
} from "./chunk-3EUW3WEO.js";
|
|
67
67
|
import {
|
|
68
68
|
DEFAULT_LOCAL_API_ORIGIN
|
|
69
69
|
} from "./chunk-4SN6J65J.js";
|
|
@@ -724,7 +724,7 @@ function isExplicitDialogIdMismatch(meta, dialogId) {
|
|
|
724
724
|
return meta && typeof meta === "object" && "id" in meta && meta.id != null && String(meta.id) !== dialogId;
|
|
725
725
|
}
|
|
726
726
|
async function readDialogFromLocalDb(dialogKey, dialogId, limit, readLocalDialog) {
|
|
727
|
-
const reader = readLocalDialog ?? (await import("./localDialogRead-
|
|
727
|
+
const reader = readLocalDialog ?? (await import("./localDialogRead-BTFJ4V2I.js")).readDialogFromLocalDb;
|
|
728
728
|
const result = await reader({ dialogKey, dialogId, limit });
|
|
729
729
|
return {
|
|
730
730
|
...result,
|
|
@@ -741,7 +741,7 @@ async function readLocalDialogAtDbPathDefault(args) {
|
|
|
741
741
|
const [{ Level }, { safeJsonEncoding }, { fetchMessages }] = await Promise.all([
|
|
742
742
|
import("./levelLazyShim-GZBKODGI.js"),
|
|
743
743
|
import("./serverStoreFactory-YMXDF4NI.js"),
|
|
744
|
-
import("./fetchMessages-
|
|
744
|
+
import("./fetchMessages-EIU7UFFK.js")
|
|
745
745
|
]);
|
|
746
746
|
const db = new Level(args.dbPath, {
|
|
747
747
|
valueEncoding: safeJsonEncoding,
|
|
@@ -2,17 +2,17 @@ import {
|
|
|
2
2
|
fileKey,
|
|
3
3
|
getFileIdFromKey,
|
|
4
4
|
ulid
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VMFTFOWF.js";
|
|
6
6
|
import {
|
|
7
7
|
loadFileFromIndexedDb,
|
|
8
8
|
removeAction,
|
|
9
9
|
saveFileToIndexedDb
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ABQYVJBJ.js";
|
|
11
11
|
import {
|
|
12
12
|
readAction,
|
|
13
13
|
readRequestManager,
|
|
14
14
|
resolveAgentReadServers
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-OOLWKQSM.js";
|
|
16
16
|
import {
|
|
17
17
|
asyncThunkCreator,
|
|
18
18
|
buildCreateSlice,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
shouldReplaceLocalWithRemoteRecord,
|
|
33
33
|
shouldReplicateLocalRecord,
|
|
34
34
|
uploadToCurrentServer
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-UKWGR5SS.js";
|
|
36
36
|
import {
|
|
37
37
|
fetchFromClientDb,
|
|
38
38
|
fetchFromServer,
|
|
@@ -712,7 +712,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
712
712
|
// 动态 import 在调用期解析,避开 TDZ/求值顺序问题(同下方 share)。
|
|
713
713
|
read: create.asyncThunk(
|
|
714
714
|
async (payload, thunkApi) => {
|
|
715
|
-
const { readAction: readAction2 } = await import("./read-
|
|
715
|
+
const { readAction: readAction2 } = await import("./read-S4WC2OUK.js");
|
|
716
716
|
return readAction2(payload, thunkApi);
|
|
717
717
|
},
|
|
718
718
|
{
|
|
@@ -786,7 +786,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
786
786
|
// 这里改成动态 import,运行期才解析,彻底断开这条边。
|
|
787
787
|
share: create.asyncThunk(
|
|
788
788
|
async (config, thunkApi) => {
|
|
789
|
-
const { shareResourceAction } = await import("./action-
|
|
789
|
+
const { shareResourceAction } = await import("./action-EXQVY3UO.js");
|
|
790
790
|
return shareResourceAction(config, thunkApi);
|
|
791
791
|
}
|
|
792
792
|
),
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isDevinOAuthAgent
|
|
3
|
+
} from "./chunk-5ZUL4CUO.js";
|
|
4
|
+
import {
|
|
5
|
+
getModelContextWindow
|
|
6
|
+
} from "./chunk-GRDSMV4V.js";
|
|
1
7
|
import {
|
|
2
8
|
findModelConfig,
|
|
3
9
|
getProviderByModelName
|
|
4
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4CAPEGHN.js";
|
|
5
11
|
import {
|
|
6
12
|
asOptionalFiniteNumber
|
|
7
13
|
} from "./chunk-WWC7I6TA.js";
|
|
8
14
|
import {
|
|
9
15
|
asTrimmedLowercaseString
|
|
10
16
|
} from "./chunk-QSJ3HFEF.js";
|
|
11
|
-
import {
|
|
12
|
-
asTrimmedString
|
|
13
|
-
} from "./chunk-3EUW3WEO.js";
|
|
14
17
|
import {
|
|
15
18
|
isRecord
|
|
16
19
|
} from "./chunk-KUG52IAP.js";
|
|
20
|
+
import {
|
|
21
|
+
asTrimmedString
|
|
22
|
+
} from "./chunk-3EUW3WEO.js";
|
|
17
23
|
import {
|
|
18
24
|
asOptionalTrimmedString
|
|
19
25
|
} from "./chunk-G3SUCT4W.js";
|
|
@@ -120,6 +126,33 @@ async function stripImagePartsForTextOnlyAgent(messages, agentConfig) {
|
|
|
120
126
|
return { messages: !supportsVision && hasImages ? stripImagePartsFromMessages(messages) : messages };
|
|
121
127
|
}
|
|
122
128
|
|
|
129
|
+
// packages/agent-runtime/devin/devinChannelWindows.ts
|
|
130
|
+
var DEVIN_CHANNEL_CONTEXT_WINDOWS = {
|
|
131
|
+
// SWE-2 家族(catalog 无裸 swe-2 selector;旧点号/裸写法如 swe-2、
|
|
132
|
+
// swe-1.7 实测均 permission_denied,已不是可用 selector)。
|
|
133
|
+
"swe-2-max": 262e3,
|
|
134
|
+
"swe-2-high": 262e3,
|
|
135
|
+
"swe-2-medium": 262e3,
|
|
136
|
+
// SWE-1.7 家族。
|
|
137
|
+
"swe-1-7": 262e3,
|
|
138
|
+
"swe-1-7-medium": 262e3,
|
|
139
|
+
"swe-1-7-lightning": 202752,
|
|
140
|
+
// SWE-1.6 家族(免费档默认)。
|
|
141
|
+
"swe-1-6": 2e5,
|
|
142
|
+
"swe-1-6-fast": 2e5,
|
|
143
|
+
// 经 devin 通道转售、且与厂商原生窗口不同的模型(catalog 枚举型 selector)。
|
|
144
|
+
"MODEL_GPT_5_2_LOW": 384e3,
|
|
145
|
+
"MODEL_GPT_5_2_MEDIUM": 384e3,
|
|
146
|
+
"MODEL_GPT_5_2_HIGH": 384e3,
|
|
147
|
+
"MODEL_GPT_5_2_XHIGH": 384e3
|
|
148
|
+
};
|
|
149
|
+
var devinChannelContextWindow = (model) => {
|
|
150
|
+
const raw = model?.trim();
|
|
151
|
+
if (!raw) return void 0;
|
|
152
|
+
return DEVIN_CHANNEL_CONTEXT_WINDOWS[raw];
|
|
153
|
+
};
|
|
154
|
+
var resolveAgentContextWindow = (agent) => (isDevinOAuthAgent(agent) ? devinChannelContextWindow(agent.model) : void 0) ?? getModelContextWindow(agent.model ?? "");
|
|
155
|
+
|
|
123
156
|
// packages/agent-runtime/agentRecordConfig.ts
|
|
124
157
|
function stringField(record, key) {
|
|
125
158
|
const value = record[key];
|
|
@@ -540,6 +573,7 @@ export {
|
|
|
540
573
|
resolveHistoricalToolContentCap,
|
|
541
574
|
projectToolMessageContent,
|
|
542
575
|
clipToolText,
|
|
576
|
+
resolveAgentContextWindow,
|
|
543
577
|
resolveAgentRuntimeConfigFromRecord,
|
|
544
578
|
buildDesktopAgentRuntimeAgentConfigSnapshot,
|
|
545
579
|
buildDesktopAgentRuntimeDialogHistorySnapshot,
|