nolo-cli 0.16.0-alpha.16 → 0.16.0-alpha.18
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/{_executeModel-UD2KY354.js → _executeModel-UREJOVS3.js} +39 -35
- package/{action-F5JACQBG.js → action-LT7BRFLK.js} +10 -9
- package/{addContentAction-AQXEYRBE.js → addContentAction-PL3KKBDH.js} +9 -8
- package/{addDialogAgentAction-EJHHJZWW.js → addDialogAgentAction-FCMSKYAF.js} +8 -7
- package/{agentDeleteCommand-UVL3YSRK.js → agentDeleteCommand-TJ2EAYDA.js} +27 -25
- package/{agentEmailCommands-77H4MECZ.js → agentEmailCommands-TOPVS5Q3.js} +50 -46
- package/{agentListCommands-J2F4E5C6.js → agentListCommands-WD5XYVGK.js} +25 -23
- package/{agentMachineCommands-DKDXHUDO.js → agentMachineCommands-24BLT7M4.js} +25 -23
- package/{agentPullCommand-6HWUT3SW.js → agentPullCommand-ZZGU5KOY.js} +4 -4
- package/{agentRecordCommands-KESYXWJZ.js → agentRecordCommands-FYRQB7SX.js} +45 -41
- package/{agentRunCommand-LZMUCDVH.js → agentRunCommand-TLW6PYPA.js} +46 -42
- package/{agentRuntimeLocal-44OVOJQ7.js → agentRuntimeLocal-K2J7IS6O.js} +18 -16
- package/{agentSlice-R4TX7ZSI.js → agentSlice-B6FQEOAF.js} +9 -8
- package/{appDeleteCommands-KXZCWKF2.js → appDeleteCommands-X7YGULGZ.js} +22 -20
- package/{appDeployCommands-JNXA3HP7.js → appDeployCommands-IMNPBUN7.js} +22 -20
- package/{appDeployStatusCommands-IZ225RMY.js → appDeployStatusCommands-2KFZUEET.js} +22 -20
- package/{appGetCommands-WALF7VTA.js → appGetCommands-AYG44S7G.js} +22 -20
- package/{appListCommands-Y3KMGFVO.js → appListCommands-Z7CLYPLH.js} +22 -20
- package/{authCommand-MSSBXCQ6.js → authCommand-WJZPOLSS.js} +9 -8
- package/{authCommands-YXGOXNBZ.js → authCommands-XTBV7OFZ.js} +6 -5
- package/{chunk-LBOJLRSS.js → chunk-37XKBS4O.js} +368 -320
- package/{chunk-XPC5C7BK.js → chunk-3ND52WIL.js} +2 -2
- package/{chunk-SOTZ6RDN.js → chunk-3Q7WHGCB.js} +1 -1
- package/{chunk-IPY6NKPP.js → chunk-4CQFPP2G.js} +9 -5
- package/{chunk-6N4KODMN.js → chunk-4T5F7YZQ.js} +1 -1
- package/{chunk-IRLFPNG7.js → chunk-5ICZUVFN.js} +2 -2
- package/chunk-7BUYEZ6U.js +671 -0
- package/{chunk-RADTZFVM.js → chunk-7TENCSE7.js} +40 -50
- package/{chunk-4PIVMGLG.js → chunk-A7QNCVO5.js} +10 -3
- package/{chunk-SR4IC7DS.js → chunk-B26VDWID.js} +2 -8
- package/{chunk-MTU75CZ2.js → chunk-B5TOXZAK.js} +1 -1
- package/{chunk-HYURMZU3.js → chunk-BLQ3U7UK.js} +3 -3
- package/{chunk-6HV3GSA4.js → chunk-BUTE3AHD.js} +6 -6
- package/{chunk-PXZY7NIS.js → chunk-C5SQSDB7.js} +6 -6
- package/{chunk-TX6S7JCM.js → chunk-C75ONZYN.js} +2 -2
- package/{chunk-UIVHASVR.js → chunk-CZAAQLAW.js} +3 -3
- package/{chunk-OSIJVBXP.js → chunk-DKZFOK24.js} +14 -85
- package/{chunk-IIHJMUV5.js → chunk-EGPCU42M.js} +6 -6
- package/{chunk-IWLUTMYX.js → chunk-ELT65PZW.js} +2 -2
- package/{chunk-X6LNYUFU.js → chunk-GO7R5K32.js} +5 -5
- package/{chunk-3ZLCL32L.js → chunk-I2NSE23G.js} +1 -1
- package/{chunk-SOW2GCA5.js → chunk-IOOMJJ4Z.js} +1 -1
- package/{setDialogExtraReferencesAction-LR6MSIXO.js → chunk-JLA4FXYC.js} +2 -17
- package/{chunk-FQLNGLOX.js → chunk-KO4PXGVN.js} +1 -1
- package/{chunk-ARJBFRBT.js → chunk-LP5UAY5I.js} +38 -54
- package/{chunk-QW7K3Y7V.js → chunk-LRYORNMJ.js} +63 -163
- package/{chunk-KFHN5NGJ.js → chunk-MVQ4TBSD.js} +1 -1
- package/{chunk-5PWAAPWU.js → chunk-OOKISU7J.js} +4 -4
- package/{chunk-Y62XMRMG.js → chunk-QCJITMYO.js} +10 -8
- package/{chunk-OOSFSFMA.js → chunk-R5V5G73M.js} +2 -0
- package/{chunk-EABWT43X.js → chunk-RVOUXDFU.js} +5 -5
- package/{chunk-JTINRTBT.js → chunk-SKDNBYZK.js} +2 -2
- package/{chunk-PVHN3TZV.js → chunk-TKV34RQ6.js} +138 -56
- package/{chunk-IAXU3LK5.js → chunk-TP6TE4L7.js} +16 -16
- package/{chunk-KMQPSTMJ.js → chunk-TRT4I4UD.js} +2 -2
- package/{chunk-YJKXGHJ6.js → chunk-UGUW3FHG.js} +4 -4
- package/{chunk-W4NVOSFF.js → chunk-WFHXMLHZ.js} +1 -1
- package/{chunk-H33743XH.js → chunk-WJRJDX2W.js} +1 -1
- package/chunk-X4Q4UZEY.js +26 -0
- package/{chunk-RPDGJO4D.js → chunk-XHG22OEX.js} +4 -4
- package/{chunk-DVRHHFEA.js → chunk-XMLRJUU5.js} +1 -1
- package/{chunk-3S2VOMIF.js → chunk-XRZJGPFI.js} +7 -7
- package/{chunk-DLH6BOUO.js → chunk-XU6XCPWB.js} +1 -1
- package/{chunk-NKN2NIW7.js → chunk-YEFSRF54.js} +10 -8
- package/chunk-ZZ2MH7LE.js +84 -0
- package/{cliExecutor-K3F7DMRO.js → cliExecutor-DNE7TCC4.js} +2 -2
- package/codingSkills-36KN5NQT.js +48 -0
- package/{createAgentAutomationAction-HXIGGMHG.js → createAgentAutomationAction-F62DAY54.js} +18 -17
- package/{createDialogAction-HDNEXHMH.js → createDialogAction-RPB6W3QN.js} +20 -19
- package/{createPageAction-F37QJEHE.js → createPageAction-APL7B2KC.js} +24 -23
- package/{dbSlice-7KQH6GOU.js → dbSlice-CGSRFJN3.js} +8 -7
- package/{deleteFile-WPWVZE4B.js → deleteFile-WDZ3VM7B.js} +3 -3
- package/{dialogCommands-6HHOMMSZ.js → dialogCommands-J7C6MB3Q.js} +23 -21
- package/{dialogSlice-ZCVFV3WX.js → dialogSlice-DMJVC2XX.js} +18 -17
- package/{docCreateCommands-C6DUOJZQ.js → docCreateCommands-Y7OSXNB6.js} +21 -19
- package/{docDeleteCommands-WAKYWSKE.js → docDeleteCommands-ALZGQRCE.js} +22 -20
- package/{docReadCommands-QXWKU7NB.js → docReadCommands-4BDDESGT.js} +21 -19
- package/{docStore-CSWTGKJJ.js → docStore-YAPW55HZ.js} +19 -18
- package/{docUpdateCommands-7AX4KLZZ.js → docUpdateCommands-LU2ZM2VE.js} +21 -19
- package/{fetchMessages-KTNM7QAR.js → fetchMessages-BMGVZVSE.js} +4 -3
- package/{handleSendMessageAction-3KHB7J7E.js → handleSendMessageAction-YDCWKDVY.js} +19 -18
- package/index.js +62 -62
- package/{localDialogRead-2VRI24F4.js → localDialogRead-HQZPVIE3.js} +1 -1
- package/{localRuntimeDb-LGDF6FQP.js → localRuntimeDb-THJZGAOJ.js} +1 -1
- package/{machineCommands-GKOAG4SD.js → machineCommands-QKGBDYER.js} +52 -48
- package/{machineWsRunDispatch-CBRB2L3Q.js → machineWsRunDispatch-25LT4UG6.js} +43 -39
- package/package.json +1 -1
- package/queryRunOverlay-O5IAGNXY.js +203 -0
- package/{read-CN3TNXIP.js → read-3FMPZPER.js} +3 -3
- package/{readDocTool-WF3675ED.js → readDocTool-VSYHKK3V.js} +1 -1
- package/{readlineWorkspace-LTW3NLCR.js → readlineWorkspace-U6UCWL4I.js} +66 -62
- package/{removeDialogAgentAction-YDHBFEGI.js → removeDialogAgentAction-OAGA2G3U.js} +10 -9
- package/{runAgentClientLoop-LVE52RH4.js → runAgentClientLoop-PDE63NNW.js} +35 -31
- package/runOverlayPresentation-BHD5POEM.js +79 -0
- package/{runtimeDoctorCommands-THIHX2SY.js → runtimeDoctorCommands-E2OUORHK.js} +6 -6
- package/setDialogExtraReferencesAction-JZEXA5SL.js +27 -0
- package/{setPrimaryDialogAgentAction-57GRIGX5.js → setPrimaryDialogAgentAction-4ZUQQKDG.js} +10 -9
- package/{settingSlice-O23YDK2O.js → settingSlice-7MNKHZ6R.js} +9 -8
- package/{spaceCommands-7RB3OWGN.js → spaceCommands-UG4QHSHD.js} +24 -22
- package/{spaceSlice-HLNFOVCA.js → spaceSlice-DPX4F5V3.js} +18 -17
- package/{streamAgentChatTurn-VS5W3C3N.js → streamAgentChatTurn-LYN66RLC.js} +66 -41
- package/{tableCommands-3P7MJ3PF.js → tableCommands-BEQAGE4I.js} +1 -1
- package/{tools-RWQXREN7.js → tools-VAJZFXRP.js} +29 -25
- package/types-ZSTJ7MPR.js +7 -0
- package/{updateDialogTitleAction-C6WFIIAW.js → updateDialogTitleAction-LE7SCNSB.js} +21 -20
- package/{chunk-O4BU24WZ.js → chunk-6Y7A3OQQ.js} +3 -3
- package/{chunk-CMKUBIGW.js → chunk-X7W4TNB4.js} +3 -3
- package/{localRuntimeAuthority-TEGCOWX4.js → localRuntimeAuthority-4IXJCHZ7.js} +3 -3
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
clipMultilineText,
|
|
7
7
|
fetchAndSerializeTable,
|
|
8
8
|
waitForAbortableDelay
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TKV34RQ6.js";
|
|
10
10
|
import {
|
|
11
11
|
createDrainExhaustedResponse,
|
|
12
12
|
isCoreDrainingBody,
|
|
@@ -16,27 +16,29 @@ import {
|
|
|
16
16
|
} from "./chunk-RQSOAMPJ.js";
|
|
17
17
|
import {
|
|
18
18
|
slateToSimplifiedMarkdown
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-4T5F7YZQ.js";
|
|
20
20
|
import {
|
|
21
21
|
extractCategorizedMentions
|
|
22
22
|
} from "./chunk-VP4WJWKW.js";
|
|
23
|
-
import {
|
|
24
|
-
resolvePageSkillMetadata
|
|
25
|
-
} from "./chunk-VC6OZXO5.js";
|
|
26
23
|
import {
|
|
27
24
|
fetchAndCacheMessages,
|
|
28
25
|
shouldUseServerProxy
|
|
29
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-37XKBS4O.js";
|
|
30
27
|
import {
|
|
31
28
|
fetchServerSyncedCredential
|
|
32
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-C5SQSDB7.js";
|
|
30
|
+
import {
|
|
31
|
+
buildSkillGuidancePromptBlock,
|
|
32
|
+
extractRuntimePageCapabilities,
|
|
33
|
+
resolveSkillGraphFromRoots
|
|
34
|
+
} from "./chunk-7BUYEZ6U.js";
|
|
33
35
|
import {
|
|
34
36
|
buildCurrentTimeBlock,
|
|
35
37
|
buildIdentityBlock,
|
|
36
38
|
buildRuntimeGuidanceBlocks,
|
|
37
39
|
requiresBareImageUrl,
|
|
38
40
|
toBareImageUrlMessages
|
|
39
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-IOOMJJ4Z.js";
|
|
40
42
|
import {
|
|
41
43
|
convertMessagesToResponsesInput,
|
|
42
44
|
preserveAgentStateFields
|
|
@@ -47,53 +49,50 @@ import {
|
|
|
47
49
|
resolvePlatformChatCompletionsEndpoint,
|
|
48
50
|
resolvePlatformResponsesEndpoint
|
|
49
51
|
} from "./chunk-MUCU6ATG.js";
|
|
50
|
-
import {
|
|
51
|
-
canonicalizeToolNames
|
|
52
|
-
} from "./chunk-OSIJVBXP.js";
|
|
53
52
|
import {
|
|
54
53
|
estimateTokenCount
|
|
55
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-EGPCU42M.js";
|
|
55
|
+
import {
|
|
56
|
+
createFileCredentialBroker
|
|
57
|
+
} from "./chunk-5CS33IBL.js";
|
|
56
58
|
import {
|
|
57
59
|
clampReasoningEffort,
|
|
58
60
|
getModelConfig,
|
|
59
61
|
isModelSupportReasoningEffort
|
|
60
62
|
} from "./chunk-HQPG2PIV.js";
|
|
61
63
|
import {
|
|
62
|
-
|
|
63
|
-
} from "./chunk-
|
|
64
|
+
toErrorMessage
|
|
65
|
+
} from "./chunk-HNMXYYJR.js";
|
|
66
|
+
import {
|
|
67
|
+
createSpaceKey
|
|
68
|
+
} from "./chunk-ELT65PZW.js";
|
|
64
69
|
import {
|
|
65
70
|
MEMORY_USE_GUIDANCE,
|
|
66
71
|
wrapHistoricalSummaryWithReplayGuard
|
|
67
72
|
} from "./chunk-4PWB7JRR.js";
|
|
73
|
+
import {
|
|
74
|
+
canonicalizeToolNames
|
|
75
|
+
} from "./chunk-ZZ2MH7LE.js";
|
|
68
76
|
import {
|
|
69
77
|
extractCustomId
|
|
70
78
|
} from "./chunk-DFFIZ25G.js";
|
|
71
|
-
import {
|
|
72
|
-
toErrorMessage
|
|
73
|
-
} from "./chunk-HNMXYYJR.js";
|
|
74
79
|
import {
|
|
75
80
|
isDeepInfraKimiModel,
|
|
76
81
|
isFireworksKimiModel,
|
|
77
82
|
resolveFireworksKimiModel
|
|
78
83
|
} from "./chunk-O6W2O2DA.js";
|
|
79
|
-
import {
|
|
80
|
-
createSpaceKey
|
|
81
|
-
} from "./chunk-IWLUTMYX.js";
|
|
82
84
|
import {
|
|
83
85
|
read
|
|
84
|
-
} from "./chunk-
|
|
85
|
-
import {
|
|
86
|
-
asNonEmptyStringArray
|
|
87
|
-
} from "./chunk-I42VC5KR.js";
|
|
86
|
+
} from "./chunk-XRZJGPFI.js";
|
|
88
87
|
import {
|
|
89
88
|
asTrimmedLowercaseString
|
|
90
89
|
} from "./chunk-QSJ3HFEF.js";
|
|
91
90
|
import {
|
|
92
91
|
getRuntimeServerContext
|
|
93
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-XMLRJUU5.js";
|
|
94
93
|
import {
|
|
95
94
|
isAbortError
|
|
96
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-R5V5G73M.js";
|
|
97
96
|
import {
|
|
98
97
|
asTrimmedString
|
|
99
98
|
} from "./chunk-3EUW3WEO.js";
|
|
@@ -107,126 +106,6 @@ import {
|
|
|
107
106
|
asOptionalTrimmedString
|
|
108
107
|
} from "./chunk-G3SUCT4W.js";
|
|
109
108
|
|
|
110
|
-
// packages/ai/skills/referenceRuntime.ts
|
|
111
|
-
var joinUniqueStrings = (...groups) => Array.from(new Set(groups.flatMap((items) => asNonEmptyStringArray(items))));
|
|
112
|
-
var extractRuntimePageCapabilities = (content) => {
|
|
113
|
-
const meta = resolvePageSkillMetadata(content);
|
|
114
|
-
const directTools = asNonEmptyStringArray(content?.tools);
|
|
115
|
-
const skillConfig = meta?.skillConfig;
|
|
116
|
-
const skillTools = skillConfig?.toolNames ?? [];
|
|
117
|
-
const softSkillHints = asNonEmptyStringArray([
|
|
118
|
-
skillConfig?.name,
|
|
119
|
-
...meta?.recommendedSkills ?? []
|
|
120
|
-
]);
|
|
121
|
-
return {
|
|
122
|
-
directTools,
|
|
123
|
-
hardSkillKeys: meta?.requiredSkills ?? [],
|
|
124
|
-
softSkillKeys: meta?.recommendedSkills ?? [],
|
|
125
|
-
hardSkillTools: meta?.kind === "skill" ? skillTools : [],
|
|
126
|
-
softSkillHints,
|
|
127
|
-
promptPatches: skillConfig?.promptPatch ? [skillConfig.promptPatch] : [],
|
|
128
|
-
shouldUpgradeReference: directTools.length > 0 || meta?.kind === "skill" || !!skillConfig?.promptPatch
|
|
129
|
-
};
|
|
130
|
-
};
|
|
131
|
-
var buildSkillGuidancePromptBlock = (options) => {
|
|
132
|
-
const title = asOptionalTrimmedString(options.title) ?? "--- \u6280\u80FD\u63D0\u793A ---";
|
|
133
|
-
const recommendedSkillHints = joinUniqueStrings(options.recommendedSkillHints);
|
|
134
|
-
const skillPromptPatches = joinUniqueStrings(options.skillPromptPatches);
|
|
135
|
-
if (recommendedSkillHints.length === 0 && skillPromptPatches.length === 0) {
|
|
136
|
-
return "";
|
|
137
|
-
}
|
|
138
|
-
return [
|
|
139
|
-
title,
|
|
140
|
-
recommendedSkillHints.length > 0 ? `\u4EE5\u4E0B\u6280\u80FD\u4E0E\u5F53\u524D\u4EFB\u52A1\u66F4\u76F8\u5173\uFF0C\u53EF\u4F18\u5148\u8003\u8651\uFF1A${recommendedSkillHints.join("\u3001")}` : "",
|
|
141
|
-
...skillPromptPatches
|
|
142
|
-
].filter(Boolean).join("\n");
|
|
143
|
-
};
|
|
144
|
-
var buildIdentifierCandidates = (identifier, contentByKey) => {
|
|
145
|
-
const trimmed = identifier.trim();
|
|
146
|
-
if (!trimmed || contentByKey.has(trimmed)) return trimmed;
|
|
147
|
-
const candidateToKey = /* @__PURE__ */ new Map();
|
|
148
|
-
for (const [key, page] of Array.from(contentByKey.entries())) {
|
|
149
|
-
const meta = resolvePageSkillMetadata(page);
|
|
150
|
-
for (const value of [key, page?.dbKey, page?.title, meta?.skillConfig?.id, meta?.skillConfig?.name]) {
|
|
151
|
-
const trimmedValue = asOptionalTrimmedString(value);
|
|
152
|
-
if (trimmedValue) {
|
|
153
|
-
candidateToKey.set(trimmedValue, key);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
return candidateToKey.get(trimmed) ?? trimmed;
|
|
158
|
-
};
|
|
159
|
-
async function resolveSkillGraphFromRoots(options) {
|
|
160
|
-
const contentByKey = new Map(options.contentByKey ?? []);
|
|
161
|
-
const requiredTools = /* @__PURE__ */ new Set();
|
|
162
|
-
const recommendedTools = /* @__PURE__ */ new Set();
|
|
163
|
-
const recommendedSkillHints = /* @__PURE__ */ new Set();
|
|
164
|
-
const skillPromptPatches = /* @__PURE__ */ new Set();
|
|
165
|
-
const visits = [];
|
|
166
|
-
const visited = /* @__PURE__ */ new Set();
|
|
167
|
-
const loadPageCached = async (identifier) => {
|
|
168
|
-
const resolvedIdentifier = buildIdentifierCandidates(identifier, contentByKey);
|
|
169
|
-
if (!resolvedIdentifier) return null;
|
|
170
|
-
if (contentByKey.has(resolvedIdentifier)) {
|
|
171
|
-
return contentByKey.get(resolvedIdentifier) ?? null;
|
|
172
|
-
}
|
|
173
|
-
const page = await options.loadPage(resolvedIdentifier);
|
|
174
|
-
if (page) {
|
|
175
|
-
contentByKey.set(resolvedIdentifier, page);
|
|
176
|
-
if (page.dbKey) {
|
|
177
|
-
contentByKey.set(page.dbKey, page);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
return page ?? null;
|
|
181
|
-
};
|
|
182
|
-
const visit = async (identifier, mode, sourceLabel) => {
|
|
183
|
-
const page = await loadPageCached(identifier);
|
|
184
|
-
if (!page?.dbKey) return;
|
|
185
|
-
const visitKey = `${mode}:${page.dbKey}`;
|
|
186
|
-
if (visited.has(visitKey)) return;
|
|
187
|
-
visited.add(visitKey);
|
|
188
|
-
const meta = resolvePageSkillMetadata(page);
|
|
189
|
-
const directTools = canonicalizeToolNames(page.tools ?? []);
|
|
190
|
-
const skillTools = canonicalizeToolNames(meta?.skillConfig?.toolNames ?? []);
|
|
191
|
-
const mergedTools = joinUniqueStrings(directTools, skillTools);
|
|
192
|
-
visits.push({
|
|
193
|
-
dbKey: page.dbKey,
|
|
194
|
-
title: page.title,
|
|
195
|
-
mode,
|
|
196
|
-
sourceLabel,
|
|
197
|
-
meta
|
|
198
|
-
});
|
|
199
|
-
if (mode === "required") {
|
|
200
|
-
mergedTools.forEach((toolName) => requiredTools.add(toolName));
|
|
201
|
-
if (meta?.skillConfig?.promptPatch) {
|
|
202
|
-
skillPromptPatches.add(meta.skillConfig.promptPatch);
|
|
203
|
-
}
|
|
204
|
-
} else {
|
|
205
|
-
mergedTools.forEach((toolName) => recommendedTools.add(toolName));
|
|
206
|
-
if (meta?.skillConfig?.name) {
|
|
207
|
-
recommendedSkillHints.add(meta.skillConfig.name);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
const nextHard = meta?.requiredSkills ?? meta?.skillConfig?.requiredSkills ?? [];
|
|
211
|
-
const nextSoft = meta?.recommendedSkills ?? meta?.skillConfig?.recommendedSkills ?? [];
|
|
212
|
-
if (mode === "required") {
|
|
213
|
-
await Promise.all(nextHard.map((childKey) => visit(childKey, "required", page.dbKey)));
|
|
214
|
-
await Promise.all(nextSoft.map((childKey) => visit(childKey, "recommended", page.dbKey)));
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
await Promise.all([...nextHard, ...nextSoft].map((childKey) => visit(childKey, "recommended", page.dbKey)));
|
|
218
|
-
};
|
|
219
|
-
await Promise.all(options.roots.map((root) => visit(root.identifier, root.mode, root.sourceLabel)));
|
|
220
|
-
return {
|
|
221
|
-
requiredTools: Array.from(requiredTools),
|
|
222
|
-
recommendedTools: Array.from(recommendedTools),
|
|
223
|
-
recommendedSkillHints: Array.from(recommendedSkillHints),
|
|
224
|
-
skillPromptPatches: Array.from(skillPromptPatches),
|
|
225
|
-
contentByKey,
|
|
226
|
-
visits
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
|
|
230
109
|
// packages/ai/agent/referenceUtils.ts
|
|
231
110
|
function mergeReferences(base, extra) {
|
|
232
111
|
const safeBase = Array.isArray(base) ? base : [];
|
|
@@ -762,38 +641,59 @@ var CONTEXT_USAGE_INSTRUCTIONS = `\u53C2\u8003\u8D44\u6599\u4F7F\u7528\u8BF4\u66
|
|
|
762
641
|
var AGENT_ORCHESTRATION_RUN_INSTRUCTIONS = `--- \u591A Agent \u7F16\u6392\uFF08\u540E\u53F0 Run\uFF09 ---
|
|
763
642
|
\u4F60\u53EF\u7528 startAgentRun \u540E\u53F0\u542F\u52A8\u5B50 Agent\uFF08fork+exec\uFF0C\u8FD4\u56DE runId\uFF09\uFF0C\u7528 controlAgentRun \u89C2\u5BDF/\u505C\u6B62\uFF08wait+signal+proc\uFF09\u3002\u6838\u5FC3\u7EAA\u5F8B\uFF08\u53CD\u9762\u6559\u6750\uFF1A\u5B50\u4EE3\u7406\u5D29\u6E83/\u6302\u8D77\u800C\u7F16\u6392\u5668\u6BEB\u65E0\u5BDF\u89C9\uFF09\uFF1A
|
|
764
643
|
1. \u5148\u53D1\u73B0\u518D\u6D3E\u53D1\u3002\u8C03\u7528 listAgents \u8BFB\u53D6\u5B89\u5168\u6458\u8981\u3002\u9009\u4EBA\u6309\u4F18\u5148\u7EA7\uFF1A\u7279\u5B9A\u5DE5\u5177\u9700\u6C42 \u2192 \u81EA\u5EFA agent \u4F18\u5148\uFF08isOwned=true \u6216 apiSource="custom"\uFF1A\u8D70\u7528\u6237\u81EA\u5DF1\u7684 API/OAuth\uFF0C\u4E0D\u6D88\u8017\u5E73\u53F0 credits\uFF0C\u4E0D\u82B1\u94B1\uFF09\u2192 \u4EFB\u52A1\u6863\u4E0E\u6210\u672C/\u80FD\u529B\u5339\u914D \u2192 \u80DC\u4EFB\u8005\u4E2D\u7684 isFavorite \u2192 modelAbility / inputPrice/outputPrice\u3002
|
|
765
|
-
- \u6D3E\u53D1\u524D\u5148\u5224\u65AD"\
|
|
766
|
-
- \u5148\u4F30\u4EFB\u52A1\u6863\uFF1A\u5FAE/\u7B80\u5355\uFF08\u22642 \u6B65\u3001\u6587\u6848\u3001\u5355\u70B9 polish\uFF09\uFF5C\u4E2D\uFF08\u591A\u6587\u4EF6\u8BFB\u6539\u9A8C\uFF09\uFF5C\u9AD8\uFF08\u67B6\u6784\u3001\u6DF1 review\u3001\u9AD8\u98CE\u9669\u63A8\u7406\uFF09\u3002
|
|
644
|
+
- \u6D3E\u53D1\u524D\u5148\u5224\u65AD"\u62C6\u4E0D\u62C6"\uFF1A\u672C\u7CFB\u7EDF\u9ED8\u8BA4\u5E76\u53D1\u3002\u51E1\u662F\u80FD\u62C6\u6210\u591A\u4E2A\u81EA\u5305\u542B\u5B50\u4EFB\u52A1\u7684\uFF0C\u5C31**\u5E76\u884C\u6D3E\u53D1**\uFF08\u4E00\u6B21 startAgentRun \u591A\u4E2A\uFF09\uFF0C\u4E0D\u8981\u81EA\u5DF1\u95F7\u5934\u4E32\u884C\u505A\u3002\u53EA\u6709\u5355\u4E2A\u539F\u5B50\u4EFB\u52A1\uFF08\u65E0\u6CD5\u62C6\u5206\u3001\u5FC5\u987B\u4E00\u6B65\u5B8C\u6210\uFF09\u624D\u81EA\u5DF1\u76F4\u63A5\u505A\u3002
|
|
645
|
+
- \u5148\u4F30\u4EFB\u52A1\u6863\uFF1A\u5FAE/\u7B80\u5355\uFF08\u22642 \u6B65\u3001\u6587\u6848\u3001\u5355\u70B9 polish\uFF09\uFF5C\u4E2D\uFF08\u591A\u6587\u4EF6\u8BFB\u6539\u9A8C\uFF09\uFF5C\u9AD8\uFF08\u67B6\u6784\u3001\u6DF1 review\u3001\u9AD8\u98CE\u9669\u63A8\u7406\uFF09\u3002\u591A\u8DEF\u72EC\u7ACB\u5B50\u4EFB\u52A1\u4F18\u5148\u5E76\u884C\uFF0C\u800C\u4E0D\u662F\u9010\u8DEF\u7B49\u5F85\u3002
|
|
767
646
|
- \u81EA\u52A8\u59D4\u6258\u7684\u9AD8\u7AEF\u6A21\u578B\u786C\u95E8\uFF1AOpus 5\u3001GPT-5.6 Sol \u53CA\u540C\u7EA7\u9876\u6863\u4EC5\u7528\u4E8E\u590D\u6742\u67B6\u6784/\u8DE8\u57DF\u8BBE\u8BA1\u3001\u91CD\u5927\u4E8B\u6545\u6216\u5B89\u5168/\u6570\u636E\u5B8C\u6574\u6027\u9AD8\u98CE\u9669\u5206\u6790\u3001\u6DF1 review\uFF08\u89C1\u4E0B\u91CF\u5316\u95E8\u69DB\uFF09\u3001\u6216\u4F4E\u4EF7\u80DC\u4EFB\u6A21\u578B\u5DF2\u6709\u5931\u8D25\u8BC1\u636E\u540E\u5347\u7EA7\u3002\u5FAE\u5C0F\u3001\u7B80\u5355\u548C\u666E\u901A\u4E2D\u7B49\u4EFB\u52A1\u7981\u6B62\u81EA\u52A8\u9009\u62E9\uFF1B\u7528\u6237\u660E\u786E\u70B9\u540D\u4F7F\u7528\u4E0D\u53D7\u6B64\u81EA\u52A8\u59D4\u6258\u9650\u5236\u3002
|
|
768
647
|
- \u6DF1 review \u91CF\u5316\u95E8\u69DB\uFF08\u8FBE\u5230\u624D\u5141\u8BB8\u9876\u6863\uFF09\uFF1A\u6539\u52A8\u6587\u4EF6\u6570 \u2265 30 \u4E14\u6D89\u53CA\u8BA1\u8D39/\u5B89\u5168/\u6570\u636E\u5B8C\u6574\u6027/\u6838\u5FC3\u8DEF\u7531\u5173\u952E\u8DEF\u5F84\uFF1B\u6216\u4F4E\u4EF7 reviewer \u5DF2\u7ED9\u51FA BLOCK/\u901A\u9053\u5931\u8D25\u540E\u7684\u5347\u7EA7\u3002\u666E\u901A review \u9ED8\u8BA4\u6D3E\u4E2D\u6863\u4F4E\u4EF7\u6A21\u578B\uFF08\u5982 DeepSeek V4 Flash\u3001agy-flash\u3001GLM \u7B49\uFF09\uFF0C\u4E0D\u6D3E\u9876\u6863\u3002
|
|
769
648
|
- \u9009\u62E9\u9876\u6863\u524D\u5FC5\u987B\u5728\u56DE\u590D\u4E2D\u7B80\u8FF0\u590D\u6742\u6027\u7406\u7531\uFF08\u5F15\u7528\u91CF\u5316\u95E8\u69DB\uFF09\uFF1B\u5931\u8D25\u5347\u7EA7\u5FC5\u987B\u6307\u51FA\u4F4E\u4EF7\u5019\u9009\u7684\u5177\u4F53\u5931\u8D25\u8BC1\u636E\u3002\u7981\u6B62\u51ED\u540D\u5B57\u7F16\u9020\u7EC6\u80FD\u529B\uFF0C\u4F46\u5141\u8BB8\u7528\u4EF7\u683C\u3001modelAbility \u53CA\u660E\u663E\u9876\u6863\u65CF\u7CFB\u505A\u7C97\u6863\u4F4D\u5339\u914D\u3002
|
|
770
649
|
- \u901A\u9053\u9884\u68C0\uFF1A\u6D3E\u53D1\u524D\u8DF3\u8FC7\u5DF2\u77E5\u574F\u901A\u9053\uFF08\u914D\u7F6E\u7F3A\u5931/\u533A\u57DF\u9650\u5236/\u7F51\u5173 400 \u7684 provider\uFF09\uFF0C\u907F\u514D\u6D6A\u8D39\u8F6E\u8BE2\u56DE\u5408\u3002
|
|
771
650
|
- \u7701\u94B1\u4F18\u5148\uFF1A\u540C\u7B49\u80DC\u4EFB\u4E0B\u4F18\u5148\u6D3E\u53D1**\u81EA\u5EFA agent**\uFF08isOwned=true\uFF0C\u81EA\u5DF1\u521B\u5EFA\u3001\u7528\u81EA\u5DF1\u7684 API key \u6216\u81EA\u5DF1\u7684 OAuth \u51ED\u8BC1\uFF09\u2014\u2014\u8FD9\u7C7B\u6D3E\u53D1\u8D70\u7528\u6237\u81EA\u5DF1\u7684\u914D\u989D\uFF0C\u4E0D\u6D88\u8017\u5E73\u53F0 credits\uFF1B\u5176\u6B21\u662F apiSource="custom" \u7684 agent\u3002\u4EC5\u5F53\u81EA\u5EFA/custom \u65E0\u80DC\u4EFB\u5019\u9009\u65F6\u624D\u6D3E\u53D1 apiSource="platform" \u7684 agent\u3002listAgents \u5361\u7247\u91CC\u81EA\u5EFA\u6807\u8BB0\u4E3A \u25CE\u3001\u6536\u85CF\u4E3A \u2605\u3002
|
|
772
|
-
2. coding \u662F\u9ED8\u8BA4\u80FD\u529B\
|
|
773
|
-
3.
|
|
651
|
+
2. **coding \u662F\u9ED8\u8BA4\u80FD\u529B\u2014\u2014\u684C\u9762\u7AEF\u548C CLI \u8FD0\u884C\u65F6\u9ED8\u8BA4\u62E5\u6709\u5168\u90E8\u4EE3\u7801\u5DE5\u5177\uFF08writeFile\u3001editFile\u3001execBash\u3001applyEdit\u3001gitCommit \u7B49\uFF09\uFF0C"tools" \u5B57\u6BB5\u53EA\u53CD\u6620\u989D\u5916\u80FD\u529B\uFF08\u6D4F\u89C8\u5668\u3001\u56FE\u7247\u3001\u8868\u683C\u3001\u90AE\u4EF6\u3001\u6570\u636E\u5E93\u7B49\uFF09**\u3002\u4E0D\u8981\u56E0\u4E3A coding agent \u7684 tools \u6458\u8981\u4E3A\u7A7A\u5C31\u5224\u5B9A\u5B83\u4E0D\u80FD\u5199\u4EE3\u7801\uFF1B\u4E5F\u4E0D\u8981\u56E0\u4E3A\u67D0\u4E2A agent \u6709 writeFile \u5C31\u8BEF\u8BFB\u6210\u5B83\u300C\u989D\u5916\u300D\u62E5\u6709\u8BE5\u5DE5\u5177\uFF0C\u90A3\u53EA\u662F\u9ED8\u8BA4\u57FA\u7EBF\u7684\u4E00\u90E8\u5206\u3002\u9009\u4EBA\u65F6\u53EA\u4EE5\u5DE5\u5177\u80FD\u529B\u662F\u5426\u8986\u76D6\u4EFB\u52A1\u4E3A\u51C6\uFF0C\u4E0D\u4EE5 tools \u5217\u8868\u957F\u77ED\u8BBA\u80DC\u4EFB\u3002
|
|
652
|
+
3. **agentKey \u7981\u6B62\u624B\u5DE5\u62FC\u63A5\u6216\u4ECE id/userId \u63A8\u5BFC\uFF08\u786C\u95E8\uFF09**\u3002\u5408\u6CD5\u6765\u6E90\u4EC5\u4E24\u79CD\uFF1A(a) \u672C\u8F6E\u6216\u8FD1\u671F\u4E0A\u4E0B\u6587\u4E2D\u5DF2\u5B8C\u6574\u51FA\u73B0\u7684 agentKey\uFF1B(b) \u5BF9\u672C\u8F6E\u9009\u4E2D\u5019\u9009\u8C03\u7528 readAgent \u540E\u8FD4\u56DE\u7684 agentKey \u5B57\u6BB5\u3002
|
|
653
|
+
- listAgents \u7684 id\u3001publicKey\u3001handle \u53EA\u662F\u5019\u9009\u6807\u8BC6\uFF0C**\u4E0D\u662F agentKey**\u3002\u4E25\u7981\u62FC\u63A5 "agent-<userId>-<id>"\uFF1AdbKey \u672B\u6BB5\u53EF\u80FD\u662F alias/handle \u800C\u975E id\uFF0C\u62FC\u51FA\u6765\u7684 key \u5728\u5E93\u91CC\u4E0D\u5B58\u5728\u3002
|
|
654
|
+
- \u6362\u4EBA\u3001\u6362\u5019\u9009\u3001\u6216\u4E0A\u6B21 key \u6D3E\u53D1\u62A5 not found \u65F6\uFF0C\u5FC5\u987B\u91CD\u65B0 readAgent\uFF0C\u4E0D\u5F97\u5957\u7528\u4E0A\u4E00\u4E2A key \u7684\u62FC\u63A5\u683C\u5F0F\u3002
|
|
655
|
+
- \u5931\u8D25\u75C7\u72B6\uFF1A\u51FA\u73B0\u300Cagent not found\u300D\u300CLocal agent config not found: \u2026\u300D\u65F6\uFF0C\u5148 readAgent \u590D\u6838 key\uFF1B\u7981\u6B62\u636E\u6B64\u63A8\u65AD\u51ED\u8BC1\u7F3A\u5931\u3001\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u4E22\u5931\u6216\u901A\u9053\u5168\u6302\u3002
|
|
656
|
+
- \u4E0D\u8981\u7D22\u53D6 prompt\u3001\u5BC6\u94A5\u6216\u6570\u636E\u5E93 key \u6765\u9009\u4EBA\u3002
|
|
774
657
|
4. \u6D3E\u53D1\u540E\u8F7B\u8F6E\u8BE2\u3002startAgentRun \u62FF\u5230 runId \u540E\uFF0C\u7528 controlAgentRun(action:"status", runId, tailLines:0) \u8F6E\u8BE2\u2014\u2014tailLines:0 \u53EA\u8FD4\u56DE\u72B6\u6001\u6458\u8981\uFF08\u4E0D\u62C9\u65E5\u5FD7\uFF09\uFF0C\u7701 token\u3002\u6BCF\u6B21\u8F6E\u8BE2 = \u7236 agent \u591A\u4E00\u4E2A turn = \u5168\u524D\u7F00\u91CD\u65B0\u8BA1\u4EF7\uFF0C\u6240\u4EE5\u95F4\u9694\u4E0D\u8981\u592A\u5BC6\uFF08\u5EFA\u8BAE 10\u201315s\uFF09\uFF0C\u4E0D\u8981 5s \u4E00\u6B21\u3002\u591A\u4E2A\u72EC\u7ACB\u5B50\u4EFB\u52A1\u4F18\u5148\u5E76\u884C\u6D3E\u53D1\uFF08\u4E00\u6B21 startAgentRun \u591A\u4E2A\uFF09\uFF0C\u7236 agent 1 \u4E2A turn \u6D3E\u53D1 + 1 \u4E2A turn \u6536\u96C6\u7ED3\u679C\uFF0C\u800C\u975E\u4E32\u884C\u7B49\u5F85 N \u4E2A turn\u3002
|
|
775
658
|
5. \u5F02\u5E38\u624D\u62C9\u65E5\u5FD7\u3002tailLines:0 \u663E\u793A running \u4E14\u8FDB\u5EA6\u6B63\u5E38 \u2192 \u7EE7\u7EED\u8F7B\u8F6E\u8BE2\uFF1B\u53EA\u6709 status=failed/\u8D85\u65F6/\u7591\u4F3C\u5361\u6B7B\u624D controlAgentRun(action:"status", runId, tailLines:30) \u62C9\u65E5\u5FD7\u8BCA\u65AD\u3002\u6B63\u5E38\u5B8C\u6210\u7684\u5B50 agent \u770B\u72B6\u6001\u6458\u8981\u5373\u53EF\uFF0C\u4E0D\u5FC5\u62C9\u5B8C\u6574\u65E5\u5FD7\u3002
|
|
776
|
-
6.
|
|
659
|
+
6. **\u6D3E\u53D1\u5931\u8D25\u5148\u5206\u8BCA\uFF0C\u518D\u4E0B\u7ED3\u8BBA**\u3002\u987A\u5E8F\uFF1A
|
|
660
|
+
\u2460 \u786E\u8BA4\u672C\u6B21 agentKey \u6765\u81EA readAgent \u6216\u4E0A\u4E0B\u6587\u5B8C\u6574\u7ED9\u51FA\uFF08\u5426\u5219\u5148\u4FEE\u6B63 key\uFF0C\u4E0D\u7B97\u901A\u9053\u6545\u969C\uFF09\uFF1B
|
|
661
|
+
\u2461 \u62A5\u9519\u50CF not found / invalid ref / Local agent config not found \u2192 \u4E00\u5F8B\u5148 readAgent \u590D\u6838\uFF0C\u7981\u6B62\u636E\u6B64\u63A8\u65AD\u73AF\u5883/\u51ED\u8BC1/\u901A\u9053\u5168\u6302\uFF1B
|
|
662
|
+
\u2462 \u540C\u4E00\u5DF2\u9A8C\u8BC1 agentKey \u4E0A\u4ECD\u5931\u8D25\uFF0C\u4E14\u9519\u8BEF\u660E\u786E\u6307\u5411\u901A\u9053\uFF08429\u3001\u9274\u6743\u5931\u8D25\u3001machine offline\uFF09\u2192 \u8BB0\u4E3A\u8BE5\u901A\u9053\u6545\u969C\u3002
|
|
663
|
+
- \u5224\u5B9A\u300C\u6D3E\u53D1\u901A\u9053\u6574\u4F53\u4E0D\u53EF\u7528\u300D\u524D\uFF1A\u81F3\u5C11\u5BF9 2 \u4E2A\u4E0D\u540C\u5019\u9009\u5404\u5B8C\u6210\u300C\u5DF2\u9A8C\u8BC1 key + \u4E00\u6B21\u771F\u5B9E\u6D3E\u53D1\u300D\uFF1B\u82E5\u5019\u9009\u4E0D\u8DB3 2 \u4E2A\uFF0C\u5219\u5728\u552F\u4E00\u5019\u9009\u4E0A\u5B8C\u6210 key \u590D\u6838\u540E\uFF0C\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\uFF0C\u4E5F\u4E0D\u5F97\u64C5\u81EA\u6539\u505A\u672C\u8BE5\u6D3E\u53D1\u7684\u4E8B\u3002
|
|
664
|
+
- \u4E0D\u8981\u7528\u300C\u4E0D\u540C provider \u5BB6\u65CF\u300D\u4F5C\u4E3A\u786C\u95E8\u69DB\uFF1B\u6709\u591A\u5BB6\u624D\u6362\uFF0C\u6CA1\u6709\u5C31\u505C\u3002
|
|
665
|
+
7. stop \u524D\u5148\u770B\u65E5\u5FD7\u3002\u7528 status(tailLines:30) \u5224\u65AD\u662F\u771F\u5361\u6B7B\u8FD8\u662F\u6B63\u5E38\u8DD1\uFF0C\u786E\u8BA4\u9700\u8981\u53EB\u505C\u518D controlAgentRun(action:"stop", runId)\uFF1B\u7528 list/status \u786E\u8BA4 run \u771F\u5B9E\u5B58\u5728\u4E14\u975E\u7EC8\u6001\uFF0C\u522B\u5047\u8BBE"\u6D3E\u53D1\u4E86\u5C31\u5728\u8DD1"\u3002
|
|
777
666
|
\u5DE5\u5177\u9009\u62E9\uFF1A\u5B50\u4EFB\u52A1 <100s \u4E14\u8981\u7ACB\u5373\u62FF\u7ED3\u679C \u2192 callAgent\uFF08\u540C\u6B65\uFF09\uFF1B\u957F\u4EFB\u52A1 / \u5E76\u884C / \u9700\u8981\u89C2\u5BDF\u6216\u53EB\u505C \u2192 startAgentRun\uFF08\u672C\u6BB5\uFF09\u3002`;
|
|
778
|
-
var AGENT_COLLABORATION_INSTRUCTIONS = `--- \u591A Agent \u534F\u4F5C\uFF08\u8BA1\u5212 \u2192 \u6D3E\u53D1 \u2192 \u5BA1\u67E5\uFF09 ---
|
|
779
|
-
\
|
|
780
|
-
1. \u8BA1\u5212\u5148\u884C\uFF1A\u52A8\u624B\u524D\u5148\u60F3\u6E05\u695A\u76EE\u6807\u3001\u8FB9\u754C\u3001\u9A8C\u8BC1\u65B9\u5F0F\u548C\u505C\u6B62\u6761\u4EF6\uFF1B\u9884\u8BA1 3 \u6B65\u4EE5\u4E0A\uFF08\u8BFB\u6539\u9A8C\u3001\u591A\u6587\u4EF6\u3001\u4EFB\u4F55\u6D3E\u53D1\uFF09\u5148\u5B9A\u8BA1\u5212\
|
|
781
|
-
- \
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
\
|
|
667
|
+
var AGENT_COLLABORATION_INSTRUCTIONS = `--- \u591A Agent \u534F\u4F5C\uFF08\u8BA1\u5212 \u2192 \u5E76\u53D1\u6D3E\u53D1 \u2192 \u5BA1\u67E5\uFF09 ---
|
|
668
|
+
\u672C\u7CFB\u7EDF\u5929\u751F\u591A agent\u3001\u591A review\uFF1A**\u9ED8\u8BA4\u5E76\u53D1\u4F7F\u7528\u591A\u4E2A agent \u540C\u65F6\u5904\u7406\u591A\u4EF6\u4E8B**\uFF0C\u800C\u4E0D\u662F\u4E32\u884C\u81EA\u5DF1\u6162\u6162\u505A\u3002\u6309\u4EE5\u4E0B\u7EAA\u5F8B\u6267\u884C\uFF1A
|
|
669
|
+
1. \u8BA1\u5212\u5148\u884C\uFF1A\u52A8\u624B\u524D\u5148\u60F3\u6E05\u695A\u76EE\u6807\u3001\u8FB9\u754C\u3001\u9A8C\u8BC1\u65B9\u5F0F\u548C\u505C\u6B62\u6761\u4EF6\uFF1B\u9884\u8BA1 3 \u6B65\u4EE5\u4E0A\uFF08\u8BFB\u6539\u9A8C\u3001\u591A\u6587\u4EF6\u3001\u4EFB\u4F55\u6D3E\u53D1\uFF09\u5148\u5B9A\u8BA1\u5212\u3002
|
|
670
|
+
- **\u9ED8\u8BA4\u5E76\u53D1\u62C6\u5206**\uFF1A\u628A\u4EFB\u52A1\u62C6\u6210\u81EA\u5305\u542B\u3001\u8FB9\u754C\u6E05\u6670\u3001\u4E92\u4E0D\u4F9D\u8D56\u7684\u5B50\u4EFB\u52A1\uFF0C**\u540C\u65F6**\uFF08\u4E00\u6B21 startAgentRun \u591A\u4E2A\uFF09\u6D3E\u7ED9\u4E0D\u540C agent \u5E76\u884C\u6267\u884C\uFF0C\u7236 agent \u7528\u4E00\u4E2A turn \u6D3E\u53D1 + \u4E00\u4E2A turn \u6536\u96C6\u7ED3\u679C\uFF0C\u800C\u4E0D\u662F\u4E32\u884C\u7B49\u5F85 N \u4E2A turn\u3002
|
|
671
|
+
- \u80FD\u62C6\u5C31\u62C6\uFF1A\u591A\u4E2A\u72EC\u7ACB\u4E8B\u9879\uFF08\u591A\u6587\u4EF6\u6539\u52A8\u3001\u591A\u6A21\u5757\u5206\u6790\u3001\u591A\u7EC4\u7814\u7A76\u3001\u591A\u8DEF review\uFF09**\u4F18\u5148\u5E76\u884C**\uFF0C\u800C\u4E0D\u662F\u81EA\u5DF1\u9010\u4E2A\u505A\u6216\u4E32\u884C\u6D3E\u53D1\u3002\u7236 agent \u662F\u534F\u8C03\u8005\uFF0C\u4E0D\u662F\u6267\u884C\u8005\u3002
|
|
672
|
+
- **\u5E76\u53D1 \u2260 \u6D6A\u8D39\u94B1**\uFF1A\u5E76\u53D1\u4E0B\u4F9D\u7136\u7701\u94B1\u2014\u2014\u6BCF\u4E2A\u5B50 agent \u7528**\u4FBF\u5B9C\u80DC\u4EFB**\u7684\u6A21\u578B\uFF08\u4F18\u5148\u81EA\u5EFA agent \u8D70\u7528\u6237\u81EA\u5DF1\u7684 API/OAuth\u3001\u4F18\u5148\u4F4E\u4EF7\u80DC\u4EFB\u5019\u9009\uFF0C\u4E0D\u6D3E\u9876\u6863\u505A\u666E\u901A\u5B50\u4EFB\u52A1\uFF09\uFF0C\u7236 agent \u8D1F\u8D23\u591A\u8BFB\u6C47\u603B\uFF0C\u628A\u5E76\u53D1\u5E26\u6765\u7684\u541E\u5410\u4F18\u52BF\u8F6C\u5316\u4E3A\u6210\u672C/\u65F6\u95F4\u53CC\u8D62\u3002\u5E76\u884C\u8BA9\u6BCF\u4E2A\u5B50 agent \u4E0A\u4E0B\u6587\u805A\u7126\u3001\u4E92\u4E0D\u6C61\u67D3\uFF0C\u6BD4\u7236 agent \u81EA\u5DF1\u80CC\u5168\u90E8\u4E0A\u4E0B\u6587\u4E32\u884C\u505A\u66F4\u7701\u3001\u66F4\u5FEB\u3002
|
|
673
|
+
2. **\u7F16\u6392\u8005\u53EA\u8BFB\u4E0D\u5199\uFF08\u786C\u95E8\uFF09**\uFF1A\u4F5C\u4E3A\u7F16\u6392\u8005\uFF0C\u4F60\u7684\u4EA7\u51FA\u662F\u8BA1\u5212\u3001\u6D3E\u53D1\u3001\u6C47\u603B\u548C\u9A8C\u6536\u3002**\u4EFB\u4F55\u5BF9\u4ED3\u5E93\u6587\u4EF6\u7684\u6301\u4E45\u5316\u5199\u5165\uFF08writeFile / editFile\uFF0C\u65E0\u8BBA\u4EE3\u7801\u3001\u914D\u7F6E\u3001\u6587\u6863\u3001\u6837\u5F0F\u3001\u811A\u672C\u8FD8\u662F\u6570\u636E\uFF09\u4E00\u5F8B\u6D3E\u53D1\u7ED9\u5B50 agent**\u2014\u2014\u5224\u5B9A\u770B\u7684\u662F"\u662F\u5426\u5199\u5165\u4ED3\u5E93\u6587\u4EF6"\uFF0C\u4E0D\u662F"\u7B97\u4E0D\u7B97\u4EE3\u7801"\u3002
|
|
674
|
+
- \u5141\u8BB8\u81EA\u5199\u7684\u4F8B\u5916**\u4EC5\u9650\u4E09\u79CD**\uFF1A\u2460\u5355\u6587\u4EF6\u4E14 \u22645 \u884C\u7684\u673A\u68B0\u6539\u52A8\uFF08typo\u3001\u5E38\u91CF\u503C\u3001\u5BFC\u5165\u884C\u3001\u7248\u672C\u53F7\u7B49\u65E0\u903B\u8F91\u5224\u65AD\u7684\u7F16\u8F91\uFF09\uFF1B\u2461\u6240\u6709\u6D3E\u53D1\u901A\u9053\u5747\u5DF2\u5B9E\u6D4B\u4E0D\u53EF\u7528\uFF08\u4EC5\u9650 429/\u9274\u6743\u5931\u8D25/\u670D\u52A1\u5B95\u673A\u7B49\u7CFB\u7EDF\u7EA7\u6545\u969C\uFF0C\u987B\u9644\u539F\u59CB\u62A5\u9519\uFF1B\u5B50 agent \u7ED3\u679C\u4E0D\u8FBE\u9884\u671F**\u4E0D\u7B97**\u901A\u9053\u5931\u8D25\uFF0C\u5E94\u4FEE\u6B63 task \u540E\u91CD\u6D3E\uFF09\uFF1B\u2462\u7528\u6237\u660E\u786E\u8981\u6C42\u4F60\u4EB2\u81EA\u505A\uFF08\u987B\u5F15\u7528\u7528\u6237\u539F\u8BDD\uFF09\u3002\u4F7F\u7528\u4F8B\u5916\u5FC5\u987B\u5728\u56DE\u590D\u4E2D\u5199\u660E\u5C5E\u4E8E\u54EA\u4E00\u6761\u5E76\u7ED9\u51FA\u4F9D\u636E\uFF0C**\u6CA1\u5199 = \u8FDD\u89C4**\u3002
|
|
675
|
+
- **\u63A2\u9488\u8C41\u514D**\uFF1A\u4E3A\u8BCA\u65AD\u6216\u9A8C\u8BC1\u6267\u884C\u7684\u4E00\u6B21\u6027 shell \u547D\u4EE4\u3001\u4E0D\u5199\u5165\u4ED3\u5E93\u7684\u4E34\u65F6\u811A\u672C\uFF08\u5982 /tmp \u4E0B\u7684\u63A2\u9488\uFF09\u4E0D\u53D7\u672C\u6761\u9650\u5236\u2014\u2014\u9F13\u52B1\u4F60\u5145\u5206\u9A8C\u8BC1\u3002
|
|
676
|
+
- \u7981\u62C6\u5206\u7ED5\u8FC7\uFF1A\u4E0D\u5F97\u628A\u540C\u4E00\u76EE\u6807\u7684\u6539\u52A8\u62C6\u6210\u591A\u4E2A"\u22645 \u884C"\u5206\u6B65\u81EA\u5199\uFF1B\u53EA\u8981\u540C\u4E00\u76EE\u6807\u7D2F\u8BA1 >5 \u884C\u6216\u6D89\u53CA\u903B\u8F91\u5224\u65AD\uFF0C\u5373\u5FC5\u987B\u6D3E\u53D1\u3002
|
|
677
|
+
- **\u7981\u6B62\u7528"\u8FD9\u662F\u539F\u5B50\u4EFB\u52A1/\u4E0D\u53EF\u62C6"\u7ED9\u81EA\u5DF1\u514D\u8D23**\u3002\u4E0D\u53EF\u62C6\u53EA\u8BF4\u660E\u5B83\u662F**\u4E00\u4E2A**\u5B50\u4EFB\u52A1\uFF0C\u4E0D\u8BF4\u660E\u5B83\u8BE5\u7531**\u4F60**\u6765\u505A\u2014\u2014\u5355\u4E2A\u5B50\u4EFB\u52A1\u540C\u6837\u5E94\u8BE5\u6D3E\u53D1\u3002
|
|
678
|
+
- **\u8B66\u60D5"\u4E0A\u4E0B\u6587\u5DF2\u5728\u624B"\u6ED1\u5761**\uFF1A\u8BFB\u5B8C\u6587\u4EF6\u540E\u4F1A\u5929\u7136\u4EA7\u751F"\u6211\u5DF2\u7ECF\u61C2\u4E86\uFF0C\u81EA\u5DF1\u5199\u66F4\u5FEB"\u7684\u51B2\u52A8\uFF0C\u8FD9\u662F\u6700\u5E38\u89C1\u7684\u8FDD\u89C4\u8DEF\u5F84\u3002\u4F60\u80FD\u7ED9 reviewer \u8D34\u51E0\u767E\u884C\u6750\u6599\uFF0C\u5C31\u80FD\u7ED9\u6267\u884C\u8005\u8D34\u540C\u6837\u7684\u6750\u6599\u3002
|
|
679
|
+
- \u6B63\u786E\u52A8\u4F5C\uFF1A\u628A\u5DF2\u8BFB\u5230\u7684\u5173\u952E\u7247\u6BB5\u3001\u7EA6\u675F\u3001\u9A8C\u6536\u6807\u51C6\u5199\u8FDB task\uFF0C\u7528 startAgentRun \u6D3E\u7ED9\u6267\u884C\u8005\uFF0C\u7136\u540E\u8F6E\u8BE2\u3001\u9A8C\u6536\u3001\u6C47\u603B\u3002
|
|
680
|
+
3. \u6D3E\u53D1\u539F\u5219\uFF1A\u5B50\u4EFB\u52A1\u81EA\u5305\u542B\u3001\u8FB9\u754C\u6E05\u6670\uFF1B**\u7ED9\u6267\u884C\u8005\u5199\u6E05\u4EFB\u52A1\u3001\u9A8C\u6536\u548C\u7981\u533A\uFF0C\u4FDD\u8BC1\u4EFB\u52A1\u786E\u5B9A\u6027**\uFF08\u7ED3\u679C\u53EF\u6838\u5BF9\u3001\u4E0D\u4F20\u65E0\u5173\u5386\u53F2\u3001\u660E\u786E\u5B8C\u6210\u6761\u4EF6\uFF09\uFF0C\u6D3E\u53D1\u540E\u8F7B\u8F6E\u8BE2\u7ED3\u679C\uFF0C\u4E0D\u5047\u8BBE\u6210\u529F\u3002
|
|
681
|
+
4. \u72EC\u7ACB\u5BA1\u67E5\uFF08commit \u524D\u786C\u95E8\uFF09\uFF1A\u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\u5916\uFF0C\u6240\u6709\u4EE3\u7801\u53D8\u66F4 commit \u524D\u5FC5\u987B\u5148\u6D3E**\u5176\u4ED6 agent**\uFF08\u4E0D\u540C\u6A21\u578B\u5BB6\u65CF\u4F18\u5148\uFF09review\u3002reviewer \u4E0D\u53EF\u662F\u81EA\u5DF1\u3002\u65E0 review \u4E0D commit\u2014\u2014\u8FD9\u662F\u786C\u95E8\uFF0C\u4E0D\u662F\u5EFA\u8BAE\u3002\u591A\u4E2A\u72EC\u7ACB\u6539\u52A8\u9762\u4F18\u5148\u5E76\u884C\u6D3E\u591A\u4E2A reviewer \u5404\u5BA1\u5404\u7684\u3002\u8BE6\u7EC6\u6D41\u7A0B\u89C1 coding-review\uFF08\u4EE3\u7801\u5C42\uFF09\u7684 Dispatch \u89C4\u8303\u3002
|
|
682
|
+
\u6700\u5C0F\u5B9E\u73B0\uFF1A\u80FD\u5220\u89E3\u51B3\u5C31\u4E0D\u52A0\uFF0C\u80FD\u590D\u7528\u5C31\u4E0D\u65B0\u5EFA\uFF1B\u65B0\u62BD\u8C61\u524D\u5148\u641C\u5DF2\u6709\u5B9E\u73B0\u3002**\u4E0D\u8981\u56E0\u4E3A"\u89C9\u5F97\u6D3E\u53D1\u663E\u5F97\u5FD9"\u5C31\u81EA\u5DF1\u95F7\u5934\u4E32\u884C\u505A\u2014\u2014\u5E76\u53D1\u662F\u672C\u7CFB\u7EDF\u7684\u9ED8\u8BA4\u5DE5\u4F5C\u65B9\u5F0F\uFF1B\u5E76\u53D1\u65F6\u4F9D\u7136\u8981\u7701\u94B1\u3001\u8981\u7ED9\u786E\u5B9A\u6027\u4EFB\u52A1\u3001\u8981\u7236 agent \u6C47\u603B\u3002**
|
|
683
|
+
\u81EA\u68C0\uFF08\u56DE\u590D\u524D\u95EE\u81EA\u5DF1\uFF09\uFF1A\u8FD9\u4E00\u8F6E\u6211\u662F\u5426\u4EB2\u624B\u5199\u4E86\u8D85\u51FA\u8C41\u514D\u8303\u56F4\u7684\u4EE3\u7801\uFF1F\u5982\u679C\u662F\uFF0C\u5E94\u5F53\u6D3E\u53D1\u800C\u975E\u81EA\u5199\uFF1B\u5DF2\u7ECF\u5199\u4E86\u5C31\u5982\u5B9E\u8BF4\u660E\u5E76\u7EA0\u6B63\uFF0C\u4E0D\u8981\u4E8B\u540E\u7F16\u9020"\u539F\u5B50\u4EFB\u52A1""\u91CD\u4F20\u6210\u672C\u9AD8"\u4E4B\u7C7B\u7684\u7406\u7531\u3002`;
|
|
785
684
|
var MENU_USAGE_INSTRUCTIONS = `--- \u4EA4\u4E92\u8BF4\u660E ---
|
|
786
685
|
\u6240\u6709\u7528\u6237\u8F93\u5165\u5747\u4E3A\u7EAF\u6587\u672C\u6D88\u606F\uFF0C\u76F4\u63A5\u7406\u89E3\u5373\u53EF\uFF0C\u4E0D\u8981\u5728\u56DE\u590D\u4E2D\u63D0\u53CA\u6309\u94AE\u3001\u83DC\u5355\u3001\u754C\u9762\u7B49 UI \u5143\u7D20\u3002
|
|
787
686
|
|
|
788
|
-
## \u4F55\u65F6\u8C03\u7528
|
|
789
|
-
\u9ED8\u8BA4\u503E\u5411"\u76F4\u63A5\u884C\u52A8"\uFF1A\u5F53\u4F60\u80FD\u57FA\u4E8E\u73B0\u6709\u4E0A\u4E0B\u6587\u7ED9\u51FA\u9AD8\u8D28\u91CF\u7B54\u6848\u6216\u6267\u884C\u65F6\uFF0C\u4F18\u5148\u76F4\u63A5\u505A\uFF0C\u4E0D\u8981\u4E3A\u4E86\u95EE\u800C\u95EE\u3002\u4EC5\u5728\u4EE5\u4E0B\u60C5\u51B5\u8C03\u7528
|
|
687
|
+
## \u4F55\u65F6\u8C03\u7528 ask_user
|
|
688
|
+
\u9ED8\u8BA4\u503E\u5411"\u76F4\u63A5\u884C\u52A8"\uFF1A\u5F53\u4F60\u80FD\u57FA\u4E8E\u73B0\u6709\u4E0A\u4E0B\u6587\u7ED9\u51FA\u9AD8\u8D28\u91CF\u7B54\u6848\u6216\u6267\u884C\u65F6\uFF0C\u4F18\u5148\u76F4\u63A5\u505A\uFF0C\u4E0D\u8981\u4E3A\u4E86\u95EE\u800C\u95EE\u3002\u4EC5\u5728\u4EE5\u4E0B\u60C5\u51B5\u8C03\u7528 ask_user\uFF1A
|
|
790
689
|
1\uFF09\u7528\u6237\u9700\u6C42\u5BBD\u6CDB\u6216\u6A21\u7CCA\uFF0C\u4E14\u4F60\u80FD\u7ED9\u51FA 2\uFF5E5 \u4E2A\u4E92\u65A5\u3001\u90FD\u5408\u7406\u7684\u65B9\u5411\u5019\u9009\u2014\u2014\u8BA9\u7528\u6237\u5148\u9009\u4E00\u4E2A\u65B9\u5411\u518D\u6DF1\u5165\uFF1B
|
|
791
690
|
2\uFF09\u8BA1\u5212/\u6D41\u7A0B\u5230\u4E86\u771F\u6B63\u7684\u5206\u652F\u8282\u70B9\uFF0C\u4E0D\u540C\u9009\u62E9\u4F1A\u5BFC\u81F4\u663E\u8457\u4E0D\u540C\u7684\u6210\u672C\u3001\u9690\u79C1\u6216\u7ED3\u679C\u8D70\u5411\uFF0C\u4E14\u4F60\u65E0\u6CD5\u4ECE\u4E0A\u4E0B\u6587\u63A8\u65AD\u7528\u6237\u504F\u597D\uFF1B
|
|
792
691
|
3\uFF09\u65B0\u4F1A\u8BDD\u5F00\u5934\uFF0C\u6839\u636E\u7528\u6237\u753B\u50CF\u7ED9\u51FA\u82E5\u5E72"\u63A5\u4E0B\u6765\u53EF\u4EE5\u5C1D\u8BD5\u7684\u4E8B\u60C5"\u4F5C\u4E3A\u529F\u80FD\u5BFC\u822A\u6216\u4F7F\u7528\u5F15\u5BFC\u3002
|
|
793
692
|
|
|
794
|
-
## \u8C03\u7528
|
|
693
|
+
## \u8C03\u7528 ask_user \u7684\u89C4\u8303
|
|
795
694
|
- \u8C03\u7528\u524D\u5FC5\u987B\u5148\u5728\u666E\u901A\u56DE\u590D\u6587\u672C\u91CC\u5199\u6E05\u80CC\u666F\u3001\u7406\u7531\u6216\u6743\u8861\uFF08\u5148\u89E3\u91CA\uFF0C\u518D\u8C03\u7528\u5DE5\u5177\uFF09\uFF1B
|
|
796
|
-
- \u63D0\u4F9B 2\uFF5E5 \u4E2A\u4E92\u65A5\u9009\u9879\uFF1B\u5982\u679C\u4F60\u6709\u63A8\u8350\u65B9\u5411\uFF0C\u628A\u5B83\u653E\u5728 choices \u7684\u7B2C\u4E00\u4F4D\uFF1B
|
|
695
|
+
- \u63D0\u4F9B 2\uFF5E5 \u4E2A\u4E92\u65A5\u9009\u9879\uFF1B\u5982\u679C\u4F60\u6709\u63A8\u8350\u65B9\u5411\uFF0C\u628A\u5B83\u653E\u5728 choices \u7684\u7B2C\u4E00\u4F4D\uFF0C\u5E76\u7ED9\u8BE5\u9009\u9879\u6807 recommended: true\uFF1B
|
|
696
|
+
- \u82E5\u6CA1\u6709\u660E\u786E\u7684\u63A8\u8350\u9879\uFF0C\u5FC5\u987B\u5728\u8C03\u7528\u524D\u7684\u666E\u901A\u56DE\u590D\u6587\u672C\u91CC\u7B80\u8981\u8BF4\u660E\u6BCF\u4E2A\u9009\u9879\u7684\u4F18\u7F3A\u70B9\uFF08\u6216\u5404\u9009\u9879\u7684\u5173\u952E\u5DEE\u5F02\uFF09\uFF0C\u5E2E\u52A9\u7528\u6237\u6743\u8861\uFF0C\u800C\u4E0D\u662F\u53EA\u5217\u51FA\u9009\u9879\u5C31\u5B8C\u4E8B\uFF1B
|
|
797
697
|
- \u9009\u9879\u53EA\u627F\u8F7D\u9002\u5EA6\u4FE1\u606F\uFF1Alabel \u4E3A\u7B80\u77ED\u6309\u94AE\u6587\u6848\uFF1Bdetail \u4E3A\u53EF\u9009\u3001\u81F3\u591A\u4E00\u53E5\u8BDD\u7684\u7B80\u77ED\u8865\u5145\uFF1B\u7981\u6B62\u628A\u957F\u6BB5\u89E3\u91CA\u6216\u6743\u8861\u585E\u8FDB choices/detail\uFF1B
|
|
798
698
|
- \u6BCF\u4E2A\u9009\u9879\u7684 userMessage \u5199\u6210\u5B8C\u6574\u7684\u4E0B\u4E00\u53E5\u8BDD\uFF0C\u65B9\u4FBF\u7528\u6237\u70B9\u51FB\u540E\u4E0A\u4E0B\u6587\u8FDE\u8D2F\uFF1B
|
|
799
699
|
- \u4E0D\u8981\u5728\u9009\u9879\u5217\u8868\u91CC\u653E"\u5176\u4ED6/Other"\u2014\u2014\u5BA2\u6237\u7AEF\u4F1A\u81EA\u52A8\u4E3A\u7528\u6237\u8FFD\u52A0\u81EA\u7531\u8F93\u5165\u7684\u9000\u8DEF\uFF1B
|
|
@@ -909,7 +809,7 @@ var TOOL_GUIDED_SECTIONS = [
|
|
|
909
809
|
],
|
|
910
810
|
build: () => AGENT_COLLABORATION_INSTRUCTIONS
|
|
911
811
|
},
|
|
912
|
-
{ id: "menuUsage", triggerTools: ["
|
|
812
|
+
{ id: "menuUsage", triggerTools: ["ask_user"], build: () => MENU_USAGE_INSTRUCTIONS },
|
|
913
813
|
{
|
|
914
814
|
id: "webAccess",
|
|
915
815
|
triggerTools: ["exa_search", "fetchWebpage", "browser_openSession", "read_x_post"],
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readDbRecord,
|
|
3
3
|
writeAgentRecord
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-A7QNCVO5.js";
|
|
5
5
|
import {
|
|
6
6
|
buildSkillSummaryMarker
|
|
7
7
|
} from "./chunk-VF4K2QE6.js";
|
|
8
|
+
import {
|
|
9
|
+
createSpaceKey
|
|
10
|
+
} from "./chunk-ELT65PZW.js";
|
|
8
11
|
import {
|
|
9
12
|
parseUserIdFromAuthToken,
|
|
10
13
|
readOption,
|
|
11
14
|
resolveAuthToken,
|
|
12
15
|
resolveServerUrl
|
|
13
16
|
} from "./chunk-A7GB5UGH.js";
|
|
14
|
-
import {
|
|
15
|
-
createSpaceKey
|
|
16
|
-
} from "./chunk-IWLUTMYX.js";
|
|
17
17
|
import {
|
|
18
18
|
asTrimmedLowercaseString
|
|
19
19
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -2,17 +2,14 @@ import {
|
|
|
2
2
|
buildCurrentTimeBlock,
|
|
3
3
|
buildIdentityBlock,
|
|
4
4
|
buildRuntimeGuidanceBlocks
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import {
|
|
7
|
-
canonicalizeToolNames
|
|
8
|
-
} from "./chunk-OSIJVBXP.js";
|
|
5
|
+
} from "./chunk-IOOMJJ4Z.js";
|
|
9
6
|
import {
|
|
10
7
|
estimateTokenCount,
|
|
11
8
|
getModelContextWindow,
|
|
12
9
|
planCompression,
|
|
13
10
|
planContextUsage,
|
|
14
11
|
serializeMessageContent
|
|
15
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EGPCU42M.js";
|
|
16
13
|
import {
|
|
17
14
|
clipCompactText
|
|
18
15
|
} from "./chunk-5MMAK75Q.js";
|
|
@@ -20,12 +17,15 @@ import {
|
|
|
20
17
|
findModelConfig,
|
|
21
18
|
getProviderByModelName
|
|
22
19
|
} from "./chunk-HQPG2PIV.js";
|
|
20
|
+
import {
|
|
21
|
+
toErrorMessage
|
|
22
|
+
} from "./chunk-HNMXYYJR.js";
|
|
23
23
|
import {
|
|
24
24
|
buildDialogSummaryLayer
|
|
25
25
|
} from "./chunk-AL2V7U3E.js";
|
|
26
26
|
import {
|
|
27
|
-
|
|
28
|
-
} from "./chunk-
|
|
27
|
+
canonicalizeToolNames
|
|
28
|
+
} from "./chunk-ZZ2MH7LE.js";
|
|
29
29
|
import {
|
|
30
30
|
asRecordOrEmpty
|
|
31
31
|
} from "./chunk-KX6YBIHG.js";
|
|
@@ -1151,7 +1151,9 @@ function applyPersistedTurnInput(messages, persistedInput, persistedInputReferen
|
|
|
1151
1151
|
async function runLocalAgentTurn(input) {
|
|
1152
1152
|
const agentConfig = await input.adapter.loadAgentConfig(input.agentRef);
|
|
1153
1153
|
if (!agentConfig) {
|
|
1154
|
-
const error = new Error(
|
|
1154
|
+
const error = new Error(
|
|
1155
|
+
`agentRef "${input.agentRef}" \u672A\u5339\u914D\u5230\u672C\u5730 agent\u3002\u8FD9\u4E0D\u662F\u914D\u7F6E\u7F3A\u5931\uFF0C\u8BF7\u7528 listAgents \u67E5\u770B\u53EF\u7528 agent\uFF0C\u518D\u7528 readAgent \u89E3\u6790 agentKey\uFF0C\u52FF\u624B\u5DE5\u62FC key\u3002`
|
|
1156
|
+
);
|
|
1155
1157
|
error.code = LOCAL_AGENT_CONFIG_MISSING_CODE;
|
|
1156
1158
|
error.agentRef = input.agentRef;
|
|
1157
1159
|
throw error;
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
var processEnv = typeof process !== "undefined" ? process.env : void 0;
|
|
14
14
|
var reactNativeDev = typeof globalThis !== "undefined" && "__DEV__" in globalThis ? globalThis.__DEV__ : void 0;
|
|
15
15
|
var isProduction = processEnv?.NOLO_FORCE_PRODUCTION === "1" || processEnv?.NODE_ENV === "production" || reactNativeDev === false;
|
|
16
|
+
var isDevelopment = !isProduction;
|
|
16
17
|
var getIsDesktopApp = () => (typeof process !== "undefined" ? process.env?.NOLO_DESKTOP : processEnv?.NOLO_DESKTOP) === "1" || typeof window !== "undefined" && window.__NOLO_DESKTOP__ === true;
|
|
17
18
|
var isDesktopApp = getIsDesktopApp();
|
|
18
19
|
|
|
@@ -258,6 +259,7 @@ var normalizeTimeFields = (data) => ({
|
|
|
258
259
|
|
|
259
260
|
export {
|
|
260
261
|
isProduction,
|
|
262
|
+
isDevelopment,
|
|
261
263
|
getIsDesktopApp,
|
|
262
264
|
createClientLogger,
|
|
263
265
|
isAbortError,
|
|
@@ -10,18 +10,18 @@ import {
|
|
|
10
10
|
toTimestampMs,
|
|
11
11
|
upsert,
|
|
12
12
|
write
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-XRZJGPFI.js";
|
|
14
14
|
import {
|
|
15
15
|
createUserKey,
|
|
16
16
|
createUserPreferenceKey,
|
|
17
17
|
ulid
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-6Y7A3OQQ.js";
|
|
19
19
|
import {
|
|
20
20
|
asTrimmedLowercaseString
|
|
21
21
|
} from "./chunk-QSJ3HFEF.js";
|
|
22
22
|
import {
|
|
23
23
|
BUILTIN_NOLO_AGENT_KEY
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-3ND52WIL.js";
|
|
25
25
|
import {
|
|
26
26
|
asyncThunkCreator,
|
|
27
27
|
buildCreateSlice,
|
|
@@ -29,12 +29,12 @@ import {
|
|
|
29
29
|
createAsyncThunk,
|
|
30
30
|
createSelector,
|
|
31
31
|
selectIdentityUserId
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-XMLRJUU5.js";
|
|
33
33
|
import {
|
|
34
34
|
getAllServers,
|
|
35
35
|
getIsDesktopApp,
|
|
36
36
|
isProduction
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-R5V5G73M.js";
|
|
38
38
|
import {
|
|
39
39
|
SERVERS
|
|
40
40
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getRuntimeServerContext,
|
|
3
3
|
scheduleDeleteReplication
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-XMLRJUU5.js";
|
|
5
5
|
import {
|
|
6
6
|
fetchFromClientDb
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-R5V5G73M.js";
|
|
8
8
|
import {
|
|
9
9
|
buildTombstoneRecord
|
|
10
10
|
} from "./chunk-GBRG75BQ.js";
|