nolo-cli 0.64.2 → 0.66.0-alpha.2
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-R26QYY66.js → _executeModel-FIWTVU3A.js} +21 -21
- package/{agentDeleteCommand-6R6EXQOR.js → agentDeleteCommand-2L2IHCNI.js} +11 -11
- package/{agentEmailCommands-AKENZOKO.js → agentEmailCommands-QVKPWFUJ.js} +26 -26
- package/{agentListCommands-XJU3JJQO.js → agentListCommands-N5GDSFYM.js} +18 -13
- package/{agentMachineCommands-V7IJDPAY.js → agentMachineCommands-GOLJW4U5.js} +12 -12
- package/{agentRecordCommands-VIEINDIV.js → agentRecordCommands-VU3IKYKX.js} +25 -25
- package/{agentRunCommand-GT5ZTYRM.js → agentRunCommand-NRS5Z2H6.js} +25 -25
- package/{agentRunControl-WECMOO6O.js → agentRunControl-T44MESII.js} +1 -1
- package/{agentRuntimeLocal-HGJ4D3JF.js → agentRuntimeLocal-7OO6AW2D.js} +11 -11
- package/{agentSlice-7XJH5WQF.js → agentSlice-PS4PXWGK.js} +1 -1
- package/{appDeleteCommands-VG2UVW4T.js → appDeleteCommands-KY5FQZ6V.js} +11 -11
- package/{appDeployCommands-PABMVMN2.js → appDeployCommands-6ZMG2KK4.js} +11 -11
- package/{appDeployStatusCommands-X7WEU4TU.js → appDeployStatusCommands-MVEBIK32.js} +11 -11
- package/{appGetCommands-NQYXHVJL.js → appGetCommands-T3EKMNGI.js} +11 -11
- package/{appListCommands-5NGZQ6IK.js → appListCommands-RUFZFTUF.js} +11 -11
- package/{authCommand-WOTWLJNF.js → authCommand-QHMBXOOH.js} +7 -7
- package/{chatQueueReduxAdapter-F3R253JE.js → chatQueueReduxAdapter-33RTTNSP.js} +7 -7
- package/{chunk-BWIPK2PD.js → chunk-4Y4FN2LO.js} +53 -16
- package/{chunk-LJ6OKZ6D.js → chunk-55QEURAR.js} +17 -13
- package/{chunk-7KELZLC2.js → chunk-5BJ6YU5G.js} +10 -10
- package/{chunk-22BTGNSP.js → chunk-5YIL5WDC.js} +38 -5
- package/{chunk-FKFMIBTT.js → chunk-6IT5ECCC.js} +1 -1
- package/{chunk-NO42UD73.js → chunk-747NDZ5B.js} +1 -1
- package/{chunk-ZRSJ3JEH.js → chunk-AJF6YRN7.js} +5 -11
- package/{chunk-N6HLMLKE.js → chunk-B2BF4MPL.js} +1 -1
- package/{chunk-MXUDQZXQ.js → chunk-BNATE77Z.js} +1 -1
- package/{chunk-QEFJJS2I.js → chunk-CTYGL4ST.js} +8 -8
- package/{chunk-3ROJR3TG.js → chunk-H5X7CHZ7.js} +7 -7
- package/{chunk-45YO6H7P.js → chunk-HH65VA5U.js} +21 -0
- package/{chunk-VAKVNHK5.js → chunk-IZPSDMML.js} +7 -7
- package/{chunk-XAVSS3KE.js → chunk-KFE6BJJS.js} +8 -1
- package/{chunk-3BLB7QKO.js → chunk-N2COMZCD.js} +55 -2
- package/{chunk-SYNKICCB.js → chunk-OGYAS6L4.js} +2 -2
- package/{chunk-DWYSDNOH.js → chunk-OUZQS7HJ.js} +4 -4
- package/{chunk-F44FAXP2.js → chunk-PBD6MZSF.js} +3 -3
- package/{chunk-7A3RRUCQ.js → chunk-PGX53HOY.js} +2 -2
- package/{chunk-OOCYHKCV.js → chunk-PLHF5L4X.js} +1 -1
- package/{chunk-5ZYA4JJ3.js → chunk-Q6FPSY5O.js} +2 -2
- package/{chunk-PQDIDWGX.js → chunk-RSDPPLSM.js} +1 -1
- package/{chunk-E3YVTQWT.js → chunk-RW76G3YN.js} +2 -2
- package/{chunk-3QGUVVX5.js → chunk-SHPRRU2W.js} +2 -2
- package/{chunk-LJKICKVC.js → chunk-SQDGTW2T.js} +2 -2
- package/{chunk-MMZ6ZTVO.js → chunk-TQC77XVE.js} +4 -3
- package/{chunk-CQ2OZMLQ.js → chunk-V6J56AWD.js} +28 -24
- package/{chunk-URHZKKK7.js → chunk-VBMG2KME.js} +3 -3
- package/{chunk-RDBARW6T.js → chunk-VLQRD7ZJ.js} +2 -2
- package/{chunk-TBHAHL33.js → chunk-VTTBOV4G.js} +16 -12
- package/{chunk-GSXDRMDO.js → chunk-W7YUBKTY.js} +2 -2
- package/{chunk-XOKOSO35.js → chunk-Y7PULBIA.js} +1 -1
- package/{chunk-QEW2MFDQ.js → chunk-ZW22L5ES.js} +1 -1
- package/{codingSkills-TKROLCBA.js → codingSkills-DB4QPUND.js} +2 -2
- package/{contentThunks-OZPK5B4Z.js → contentThunks-V3J2MQ4F.js} +8 -8
- package/{createAgentAutomationAction-LCIBGE5T.js → createAgentAutomationAction-Z7ZGVMC4.js} +8 -8
- package/{createDialogAction-JPJZMHJE.js → createDialogAction-OMUP4F64.js} +10 -10
- package/{createPageAction-6P2WLNHO.js → createPageAction-WA3GXFVF.js} +8 -8
- package/{dialogCommands-HGMV4NQJ.js → dialogCommands-XUUKQIDU.js} +11 -11
- package/{dialogSlice-R5RZHFTU.js → dialogSlice-RG72CSE7.js} +7 -7
- package/{docCreateCommands-WQT5EZG2.js → docCreateCommands-7MJN7XQJ.js} +11 -11
- package/{docDeleteCommands-GUMELBKM.js → docDeleteCommands-GOGPGPHN.js} +11 -11
- package/{docReadCommands-T6FDDKJ3.js → docReadCommands-VVCG7D7A.js} +11 -11
- package/{docStore-DKWZ6XJ5.js → docStore-REBBJ26A.js} +1 -1
- package/{docUpdateCommands-GBWGXG2G.js → docUpdateCommands-WV5XALDB.js} +11 -11
- package/{getPricing-NM3NUTAS.js → getPricing-JRNHI5CV.js} +3 -3
- package/{handleSendMessageAction-UQGKM4UX.js → handleSendMessageAction-QFLWVH6S.js} +7 -7
- package/index.js +52 -52
- package/{machineCommands-SCGLQQCA.js → machineCommands-XCKQBA7O.js} +25 -25
- package/{machineWsRunDispatch-EAH5VIEL.js → machineWsRunDispatch-BFBMKHS2.js} +25 -25
- package/{models-FAMINFZ7.js → models-NBVTQACP.js} +2 -2
- package/package.json +1 -1
- package/{readlineWorkspace-PKOMYDRS.js → readlineWorkspace-TVRHMQYP.js} +195 -41
- package/{runAgentClientLoop-Y6HWP2PT.js → runAgentClientLoop-5YFXYEBP.js} +19 -19
- package/{spaceCommands-76ECKNFH.js → spaceCommands-3GWFIK3N.js} +11 -11
- package/{streamAgentChatTurn-6WFQJ4DY.js → streamAgentChatTurn-5UBPDCFQ.js} +22 -22
- package/{tools-RR53D65Q.js → tools-TEYPTVPC.js} +14 -14
- package/{tuiSummaryLlmCaller-F3DPFFZM.js → tuiSummaryLlmCaller-D7CCLLS7.js} +5 -5
- package/{updateDialogTitleAction-WXS3AKOL.js → updateDialogTitleAction-CTTQA4RH.js} +8 -8
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
refreshAntigravityOAuthToken,
|
|
5
5
|
refreshOpenAiCodexToken,
|
|
6
6
|
xaiRefresh
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BNATE77Z.js";
|
|
8
8
|
import {
|
|
9
9
|
defaultLoopbackRequest
|
|
10
10
|
} from "./chunk-EADNWBAZ.js";
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
terminateRunProcess,
|
|
25
25
|
transitionRunToTerminal,
|
|
26
26
|
withQueueLock
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-HH65VA5U.js";
|
|
28
28
|
import {
|
|
29
29
|
clearCredentialAvailability,
|
|
30
30
|
markCredentialUnavailable,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
import {
|
|
56
56
|
inlineImageUrlsForCustomProvider,
|
|
57
57
|
prepareTools
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-OGYAS6L4.js";
|
|
59
59
|
import {
|
|
60
60
|
getServerProviderSecret
|
|
61
61
|
} from "./chunk-HS7MLR74.js";
|
|
@@ -72,7 +72,7 @@ import {
|
|
|
72
72
|
rememberMemoryFunctionSchema,
|
|
73
73
|
resolveAgentRequiredPackIds,
|
|
74
74
|
setTodoListFunc
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-V6J56AWD.js";
|
|
76
76
|
import {
|
|
77
77
|
fetchWithTransientRetry,
|
|
78
78
|
isTransientFetchError
|
|
@@ -96,13 +96,13 @@ import {
|
|
|
96
96
|
prepareTokenUsageData,
|
|
97
97
|
resolveBuiltinPlatformAgentConfig,
|
|
98
98
|
runKeyed
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-VTTBOV4G.js";
|
|
100
100
|
import {
|
|
101
101
|
BUILTIN_TITLE_LLM_CONFIG
|
|
102
102
|
} from "./chunk-EVBFYPDC.js";
|
|
103
103
|
import {
|
|
104
104
|
fetchServerSyncedCredential
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-PBD6MZSF.js";
|
|
106
106
|
import {
|
|
107
107
|
require_date_fns
|
|
108
108
|
} from "./chunk-M76ECQRD.js";
|
|
@@ -118,7 +118,7 @@ import {
|
|
|
118
118
|
applySystemBuiltinSkillFilter,
|
|
119
119
|
expandEnabledPacks,
|
|
120
120
|
resolveEffectiveEnabledPacks
|
|
121
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-AJF6YRN7.js";
|
|
122
122
|
import {
|
|
123
123
|
DEFAULT_HYBRID_READ_TIMEOUT_MS,
|
|
124
124
|
Duration_exports,
|
|
@@ -154,7 +154,7 @@ import {
|
|
|
154
154
|
resolveOpenAiCompatibleProviderConfig,
|
|
155
155
|
shouldUseGeminiNativeToolRoute,
|
|
156
156
|
summarizeToolArguments
|
|
157
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-H5X7CHZ7.js";
|
|
158
158
|
import {
|
|
159
159
|
PlatformStreamInterruptedError,
|
|
160
160
|
buildPlatformChatCompletionRequest,
|
|
@@ -166,11 +166,11 @@ import {
|
|
|
166
166
|
readSseDataValues,
|
|
167
167
|
resolvePlatformChatProviderConfig,
|
|
168
168
|
shouldUsePlatformChatProvider
|
|
169
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-PGX53HOY.js";
|
|
170
170
|
import {
|
|
171
171
|
resolveAgentRuntimeConfigFromRecord,
|
|
172
172
|
resolveHistoricalToolContentCap
|
|
173
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-Y7PULBIA.js";
|
|
174
174
|
import {
|
|
175
175
|
collectStablePromptPrefix,
|
|
176
176
|
convertMessagesToResponsesInput,
|
|
@@ -179,10 +179,10 @@ import {
|
|
|
179
179
|
} from "./chunk-XTJTN3RW.js";
|
|
180
180
|
import {
|
|
181
181
|
isAntigravityOAuthAgent
|
|
182
|
-
} from "./chunk-
|
|
182
|
+
} from "./chunk-ZW22L5ES.js";
|
|
183
183
|
import {
|
|
184
184
|
resolvePlatformAuthToken
|
|
185
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-VLQRD7ZJ.js";
|
|
186
186
|
import {
|
|
187
187
|
buildNoloWorkspaceOpenAiTools,
|
|
188
188
|
parseNoloWorkspaceToolArguments,
|
|
@@ -209,7 +209,7 @@ import {
|
|
|
209
209
|
} from "./chunk-PSCNXBYA.js";
|
|
210
210
|
import {
|
|
211
211
|
isAdaptiveThinkingModelId
|
|
212
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-TQC77XVE.js";
|
|
213
213
|
import {
|
|
214
214
|
compactWhitespace
|
|
215
215
|
} from "./chunk-DWLEOOGR.js";
|
|
@@ -10778,6 +10778,9 @@ function buildRunStatusPayload(reconciled, deps, opts = {}) {
|
|
|
10778
10778
|
startedAt: reconciled.startedAt,
|
|
10779
10779
|
endedAt: reconciled.endedAt ?? null,
|
|
10780
10780
|
exitCode: reconciled.exitCode ?? null,
|
|
10781
|
+
...reconciled.failureReason ? { failureReason: reconciled.failureReason } : {},
|
|
10782
|
+
...typeof reconciled.toolCallCount === "number" ? { toolCallCount: reconciled.toolCallCount } : {},
|
|
10783
|
+
...reconciled.lastAssistantText ? { lastAssistantText: reconciled.lastAssistantText } : {},
|
|
10781
10784
|
// Non-ephemeral runs expose dialogId so the caller can read the
|
|
10782
10785
|
// agent's actual output via `nolo dialog read <dialogId>`. Ephemeral
|
|
10783
10786
|
// runs do not persist a dialog (their ephemeral dialogId is synthetic)
|
|
@@ -10803,6 +10806,7 @@ function buildRunStatusPayload(reconciled, deps, opts = {}) {
|
|
|
10803
10806
|
startedAt: readTimestamp(reconciled.startedAt),
|
|
10804
10807
|
finishedAt: readTimestamp(reconciled.endedAt)
|
|
10805
10808
|
},
|
|
10809
|
+
...typeof reconciled.toolCallCount === "number" ? { toolCallCount: reconciled.toolCallCount } : {},
|
|
10806
10810
|
logLines,
|
|
10807
10811
|
labels
|
|
10808
10812
|
})
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
clipMultilineText,
|
|
9
9
|
fetchAndSerializeTable,
|
|
10
10
|
resolveBuiltinSkillPage
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-V6J56AWD.js";
|
|
12
12
|
import {
|
|
13
13
|
isGatewayHttpStatus
|
|
14
14
|
} from "./chunk-NF64D32W.js";
|
|
@@ -29,25 +29,25 @@ import {
|
|
|
29
29
|
} from "./chunk-MEYIRKDN.js";
|
|
30
30
|
import {
|
|
31
31
|
fetchAndCacheMessages
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-VTTBOV4G.js";
|
|
33
33
|
import {
|
|
34
34
|
shouldUseServerProxy
|
|
35
35
|
} from "./chunk-YYLHWIW6.js";
|
|
36
36
|
import {
|
|
37
37
|
fetchServerSyncedCredential
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-PBD6MZSF.js";
|
|
39
39
|
import {
|
|
40
40
|
buildSkillGuidancePromptBlock,
|
|
41
41
|
extractRuntimePageCapabilities,
|
|
42
42
|
resolveSkillGraphFromRoots
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-RW76G3YN.js";
|
|
44
44
|
import {
|
|
45
45
|
buildIdentityBlock,
|
|
46
46
|
buildRuntimeGuidanceBlocks,
|
|
47
47
|
compileContextLayers,
|
|
48
48
|
normalizeChatCompletionsBodyForProvider,
|
|
49
49
|
resolveToolGuidedSections
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-CTYGL4ST.js";
|
|
51
51
|
import {
|
|
52
52
|
convertMessagesToResponsesInput,
|
|
53
53
|
getUsageRequestOptions,
|
|
@@ -57,15 +57,15 @@ import {
|
|
|
57
57
|
import {
|
|
58
58
|
ANTIGRAVITY_CLOUD_CODE_BASE_URL,
|
|
59
59
|
isAntigravityOAuthAgent
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-ZW22L5ES.js";
|
|
61
61
|
import {
|
|
62
62
|
buildProviderAuthHeaders
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-VLQRD7ZJ.js";
|
|
64
64
|
import {
|
|
65
65
|
isOpenAiResponsesModel,
|
|
66
66
|
resolvePlatformChatCompletionsEndpoint,
|
|
67
67
|
resolvePlatformResponsesEndpoint
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-SQDGTW2T.js";
|
|
69
69
|
import {
|
|
70
70
|
estimateTokenCount
|
|
71
71
|
} from "./chunk-PSCNXBYA.js";
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
clampReasoningEffort,
|
|
74
74
|
getModelConfig,
|
|
75
75
|
isModelSupportReasoningEffort
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-TQC77XVE.js";
|
|
77
77
|
import {
|
|
78
78
|
createFileCredentialBroker
|
|
79
79
|
} from "./chunk-3JQ2NRYU.js";
|
|
@@ -92,7 +92,7 @@ import {
|
|
|
92
92
|
isDeepInfraKimiModel,
|
|
93
93
|
isFireworksKimiModel,
|
|
94
94
|
resolveFireworksKimiModel
|
|
95
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-5YIL5WDC.js";
|
|
96
96
|
import {
|
|
97
97
|
createSpaceKey
|
|
98
98
|
} from "./chunk-UAD2WT54.js";
|
|
@@ -233,11 +233,12 @@ var PLATFORM_HOSTED_ROUTING_TABLE = {
|
|
|
233
233
|
wire: "responses",
|
|
234
234
|
agentRunHosted: false
|
|
235
235
|
},
|
|
236
|
+
// DeepSeek V4 Pro -> 官方 DeepSeek Responses API(2026-09-14 起官方继续提供
|
|
237
|
+
// V4 Pro,model id 直传,不再 remap 到 flash)。
|
|
236
238
|
[PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL]: {
|
|
237
239
|
endpoint: "https://api.deepseek.com/responses",
|
|
238
240
|
usageProvider: "deepseek",
|
|
239
241
|
keyName: "deepseek",
|
|
240
|
-
upstreamModelId: PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
241
242
|
wire: "responses",
|
|
242
243
|
agentRunHosted: false
|
|
243
244
|
}
|
|
@@ -522,6 +523,22 @@ var PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE = {
|
|
|
522
523
|
output: toCnyCredits(4)
|
|
523
524
|
// ¥4
|
|
524
525
|
};
|
|
526
|
+
var PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE = {
|
|
527
|
+
input: toCnyCredits(9),
|
|
528
|
+
// ¥9
|
|
529
|
+
inputCacheHit: toCnyCredits(0.3),
|
|
530
|
+
// ¥0.30
|
|
531
|
+
output: toCnyCredits(27)
|
|
532
|
+
// ¥27
|
|
533
|
+
};
|
|
534
|
+
var PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE = {
|
|
535
|
+
input: toCnyCredits(4.5),
|
|
536
|
+
// ¥4.5
|
|
537
|
+
inputCacheHit: toCnyCredits(0.15),
|
|
538
|
+
// ¥0.15
|
|
539
|
+
output: toCnyCredits(13.5)
|
|
540
|
+
// ¥13.5
|
|
541
|
+
};
|
|
525
542
|
var PLATFORM_HOSTED_NEMOTRON_35_LIGHTNING_PRICE = {
|
|
526
543
|
input: toPlatformCredits(0.05),
|
|
527
544
|
inputCacheHit: toPlatformCredits(0.01),
|
|
@@ -529,8 +546,7 @@ var PLATFORM_HOSTED_NEMOTRON_35_LIGHTNING_PRICE = {
|
|
|
529
546
|
};
|
|
530
547
|
var PLATFORM_HOSTED_LEGACY_DEEPSEEK_MODELS = [
|
|
531
548
|
"deepseek-v4-flash",
|
|
532
|
-
"deepseek-v4-flash-vision-exp"
|
|
533
|
-
"deepseek-v4-pro"
|
|
549
|
+
"deepseek-v4-flash-vision-exp"
|
|
534
550
|
];
|
|
535
551
|
var isDeepSeekOffPeakBeijingTime = (nowMs = Date.now()) => {
|
|
536
552
|
const beijing = new Date(nowMs + 8 * 60 * 60 * 1e3);
|
|
@@ -540,13 +556,16 @@ var isDeepSeekOffPeakBeijingTime = (nowMs = Date.now()) => {
|
|
|
540
556
|
const isPeakWindow = beijingHour >= 9 && beijingHour < 12 || beijingHour >= 14 && beijingHour < 18;
|
|
541
557
|
return !isPeakWindow;
|
|
542
558
|
};
|
|
543
|
-
var getPlatformHostedDeepSeekV4Price = (
|
|
559
|
+
var getPlatformHostedDeepSeekV4Price = (model, nowMs = Date.now()) => {
|
|
544
560
|
const isOffPeak = isDeepSeekOffPeakBeijingTime(nowMs);
|
|
561
|
+
if (asTrimmedLowercaseString(model) === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL) {
|
|
562
|
+
return isOffPeak ? PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE : PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE;
|
|
563
|
+
}
|
|
545
564
|
return isOffPeak ? PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE : PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE;
|
|
546
565
|
};
|
|
547
566
|
var isPlatformHostedDeepSeekModel = (model) => {
|
|
548
567
|
const m = asTrimmedLowercaseString(model);
|
|
549
|
-
return m === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || PLATFORM_HOSTED_LEGACY_DEEPSEEK_MODELS.includes(m);
|
|
568
|
+
return m === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || m === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL || PLATFORM_HOSTED_LEGACY_DEEPSEEK_MODELS.includes(m);
|
|
550
569
|
};
|
|
551
570
|
var isPlatformHostedDeepseekModel = isPlatformHostedDeepSeekModel;
|
|
552
571
|
var isPlatformHostedDeepSeekV4Model = isPlatformHostedDeepSeekModel;
|
|
@@ -636,6 +655,19 @@ var platformHostedModels = [
|
|
|
636
655
|
supportsTool: true,
|
|
637
656
|
supportsReasoningEffort: true
|
|
638
657
|
},
|
|
658
|
+
{
|
|
659
|
+
name: PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL,
|
|
660
|
+
displayName: "DeepSeek V4 Pro",
|
|
661
|
+
hasVision: false,
|
|
662
|
+
price: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
|
|
663
|
+
peakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
|
|
664
|
+
offPeakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE },
|
|
665
|
+
// 官方「输出长度 最大 384K」= 384_000(与 flash 条目同口径,非 384×1024)
|
|
666
|
+
maxOutputTokens: 384e3,
|
|
667
|
+
contextWindow: 1e6,
|
|
668
|
+
supportsTool: true,
|
|
669
|
+
supportsReasoningEffort: true
|
|
670
|
+
},
|
|
639
671
|
{
|
|
640
672
|
name: PLATFORM_HOSTED_GLM_53_FLASH_MODEL,
|
|
641
673
|
displayName: "GLM 5.3 Flash",
|
|
@@ -819,6 +851,7 @@ export {
|
|
|
819
851
|
resolveFireworksKimiModel,
|
|
820
852
|
PLATFORM_HOSTED_GLM_53_FLASH_MODEL,
|
|
821
853
|
PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
854
|
+
PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL,
|
|
822
855
|
resolvePlatformHostedRouting,
|
|
823
856
|
NOLO_CLIENT_VERSION_HEADER,
|
|
824
857
|
CLIENT_VERSION_TOO_OLD_CODE,
|
|
@@ -5,31 +5,25 @@ import {
|
|
|
5
5
|
|
|
6
6
|
// packages/ai/tools/codeWorkDiscipline.ts
|
|
7
7
|
var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
|
|
8
|
-
- \u4E0D\u590D\u8FF0\u9700\u6C42\
|
|
9
|
-
- \
|
|
10
|
-
- \u5C0F\u6539\u52A8\u8D70\u6700\u77ED\u8DEF\u5F84\uFF1A\u4F18\u5148\u7528 \`rg\` \u641C\u4EE3\u7801/\u6587\u672C\u3001\`find\`/\`fd\` \u5B9A\u4F4D\u6587\u4EF6 \u2192 readFile \u786E\u8BA4 \u2192 editFile \u7CBE\u786E\u66FF\u6362\u3002\u80FD\u4E00\u6B21\u547D\u4E2D\u5C31\u4E0D\u8981\u53CD\u590D\u8BFB\u6587\u4EF6\u3002
|
|
11
|
-
- \u5DF2\u7ECF\u77E5\u9053\u6587\u4EF6\u548C\u4F4D\u7F6E\u65F6\uFF0C\u8DF3\u8FC7\u591A\u4F59\u7684 search/read\uFF0C\u76F4\u63A5 edit\u3002
|
|
12
|
-
- \u7981\u6B62\u4E3A\u4E00\u4E2A\u5C0F\u6539\u52A8\u6574\u9875\u91CD\u5199\u6216\u8FDE\u5E26\u6539\u52A8\u672A\u547D\u4E2D\u7684\u90E8\u5206\u3002
|
|
8
|
+
- \u4E0D\u590D\u8FF0\u9700\u6C42\u3001\u4E0D\u89E3\u91CA\u300C\u6253\u7B97\u600E\u4E48\u505A\u300D\uFF0C\u76F4\u63A5\u52A8\u624B\uFF1B\u6539\u5B8C\u4E00\u4E24\u53E5\u8BDD\u8BF4\u6E05\u300C\u6539\u4E86\u4EC0\u4E48\u3001\u53BB\u54EA\u770B\u300D\u3002\u601D\u8003\u7B80\u77ED\u3002
|
|
9
|
+
- \u5C0F\u6539\u52A8\u8D70\u6700\u77ED\u8DEF\u5F84\uFF1A\`rg\` \u5B9A\u4F4D \u2192 readFile \u786E\u8BA4 \u2192 editFile \u7CBE\u786E\u66FF\u6362\uFF1B\u5DF2\u77E5\u4F4D\u7F6E\u5C31\u76F4\u63A5\u6539\uFF0C\u4E0D\u53CD\u590D\u8BFB\u6587\u4EF6\uFF0C\u4E5F\u4E0D\u987A\u624B\u91CD\u5199\u672A\u547D\u4E2D\u7684\u90E8\u5206\u3002
|
|
13
10
|
|
|
14
11
|
## \u4EE3\u7801\u4FEE\u6539\u7EAA\u5F8B
|
|
15
12
|
- \u7F16\u8F91\u524D\u5148 readFile \u786E\u8BA4\u5F53\u524D\u5185\u5BB9\uFF0C\u907F\u514D stale hash \u9519\u8BEF\u3002
|
|
16
13
|
- \u53EA\u78B0\u4EFB\u52A1\u4E66\u5217\u51FA\u7684\u6587\u4EF6\uFF1B\u6539\u5B8C\u7528 \`git status --short\` \u81EA\u67E5\uFF0C\u82E5\u6539\u5230\u6E05\u5355\u5916\u6587\u4EF6\uFF0C\u5982\u5B9E\u62A5\u544A\u3002
|
|
17
14
|
- \u4E0D\u8981 \`git add\` / \`git commit\` / \`git push\` / \`git stash\` / \`git reset\` / \`git checkout\` / \`git clean\`\u2014\u2014\u6539\u52A8\u7559\u5728\u5DE5\u4F5C\u533A\uFF0C\u63D0\u4EA4\u7531\u8C03\u7528\u65B9\u9A8C\u6536\u540E\u5904\u7406\u3002\u4ED3\u5E93\u5E38\u6709\u591A\u4E2A\u4F1A\u8BDD\u5171\u7528\u4E00\u4E2A checkout\uFF0C\u4F60\u4E00\u63D0\u4EA4\u5C31\u4F1A\u628A\u522B\u4EBA\u7684\u5728\u9014\u6587\u4EF6\u5377\u8FDB\u6765\u3002
|
|
18
15
|
- \u53EA\u8DD1\u4EFB\u52A1\u91CC\u5217\u51FA\u7684\u6D4B\u8BD5\u6587\u4EF6\uFF0C\u4E0D\u8981\u8DD1 broader \u6D4B\u8BD5\uFF08broaden \u6D4B\u8BD5\u7684\u5931\u8D25\u662F\u9884\u5B58\u7684\uFF0C\u548C\u4F60\u7684\u6539\u52A8\u65E0\u5173\uFF09\u3002
|
|
19
|
-
- \u540C\u4E00\u4E2A\u6587\u4EF6\u8BFB\u8FC7\u4E00\u6B21\u540E\u8BB0\u4F4F\u5185\u5BB9\uFF0C\u4E0D\u8981\u91CD\u590D\u8BFB\u53D6\u3002
|
|
20
|
-
- \u5982\u679C editFile \u5931\u8D25\u5E76\u63D0\u793A "expected 1 replacement but found 0"\uFF0C\u5148\u7528 \`file <path>\` \u68C0\u67E5\u662F\u5426\u6709 CRLF\u3002\u5982\u679C\u6709\uFF0C\u7528 \`tr -d '\\r' < <path> > /tmp/clean.ts && mv /tmp/clean.ts <path>\` \u8F6C\u6362\u540E\u91CD\u8BD5\u3002
|
|
21
16
|
- \u53EA\u8BFB\u4EFB\u52A1\u76F8\u5173\u7684\u6587\u4EF6\uFF0C\u4E0D\u8981 grep \u6574\u4E2A repo \u67E5\u627E\u89C4\u5219\u6216\u914D\u7F6E\u3002
|
|
22
17
|
- **\u5EFA\u8BAE\u6C47\u62A5**\uFF1A\u4EA4\u4ED8\u65F6\u628A\u8FC7\u7A0B\u4E2D\u53D1\u73B0\u7684**\u4EFB\u4F55\u503C\u5F97\u7528\u6237\u77E5\u9053\u7684\u4E8B**\u90FD\u5217\u51FA\u6765\uFF08\u9884\u5B58\u65E0\u5173\u6539\u52A8\u3001\u65E2\u6709\u6D4B\u8BD5\u9694\u79BB\u95EE\u9898\u3001\u6F5C\u5728\u98CE\u9669\u3001\u540E\u7EED\u53EF\u4F18\u5316\u70B9\u3001\u9700\u7528\u6237\u51B3\u7B56\u7684\u4E8B\u9879\uFF09\uFF0C\u4E0D\u8981\u53EA\u62A5\u300C\u505A\u5B8C\u4E86\u300D\u3002
|
|
23
18
|
|
|
24
19
|
## Review \u7EAA\u5F8B\uFF08commit \u524D\u786C\u95E8\uFF09
|
|
25
20
|
- **\u9636\u6BB5\u5212\u5206**\uFF1A\u4E25\u683C\u533A\u5206\u300C\u5B9E\u73B0/\u6784\u5EFA/\u5B89\u88C5/\u7528\u6237\u6D4B\u8BD5/\u6839\u636E\u53CD\u9988\u8FED\u4EE3\u300D\u4E0E\u300C\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u300D\u9636\u6BB5\u3002UI/\u524D\u7AEF\u53CA\u5176\u4ED6\u9700\u7528\u6237\u9A8C\u6536\u7684\u4EFB\u52A1\uFF0C\u5728\u5B9E\u73B0\u9636\u6BB5\u4E0D\u5F97\u89E6\u53D1\u6216\u7B49\u5F85\u6700\u7EC8\u72EC\u7ACB review\uFF0C\u5E94\u5148\u4EA4\u4ED8\u53EF\u6D4B\u8BD5\u4EA7\u7269\u7B49\u5F85\u7528\u6237\u53CD\u9988\u3002
|
|
26
|
-
- \u6700\u7EC8 review \u4EC5\u5728\u7528\u6237\u660E\u786E\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u65F6\u8FDB\u884C\u3002\u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\uFF08\u9519\u522B\u5B57/\u683C\u5F0F/CSS \u5FAE\u8C03\uFF09\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 \u5DE5\u4F5C\u533A diff\uFF08\`git diff\`\uFF0C\u672A\u63D0\u4EA4\u7684\u6539\u52A8\uFF09\u3002reviewer \u4E0D\u53EF\u662F\u672C\u6B21\u6539\u52A8\u7684\u4F5C\u8005\uFF08\u7F16\u6392\u8005\u4EE5\u81EA\u8EAB agent \u8EAB\u4EFD\u6D3E\u51FA\u7684\u5168\u65B0\u5B9E\u4F8B\u4E0D\u5171\u4EAB\u7F16\u6392\u8005\u4E0A\u4E0B\u6587\uFF0C\u4E0E\u4F5C\u8005\u8DE8\u6A21\u578B\u5BB6\u65CF\u65F6\u4E0D\u7B97\u300C\u81EA\u5DF1\u300D\uFF0C\u8DE8\u5BB6\u65CF\u4F18\u5148\u975E\u5F3A\u5236\uFF09\u3002\u65E0 review \u4E0D commit\u2014\u2014\u8FD9\u662F\u786C\u95E8\uFF0C\u4E0D\u662F\u5EFA\u8BAE\u3002
|
|
27
|
-
- \u6D3E\u53D1\u8D70 \`startAgentRun(agentKey, task
|
|
21
|
+
- \u6700\u7EC8 review \u4EC5\u5728\u7528\u6237\u660E\u786E\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u65F6\u8FDB\u884C\uFF08\u9664\u975E\u8C03\u7528\u65B9\u660E\u786E\u8BF4\u300C\u53EA\u6539\u4E0D\u5BA1\u300D\u6216\u7528\u6237\u660E\u786E\u8DF3\u8FC7\uFF09\u3002\u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\uFF08\u9519\u522B\u5B57/\u683C\u5F0F/CSS \u5FAE\u8C03\uFF09\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 \u5DE5\u4F5C\u533A diff\uFF08\`git diff\`\uFF0C\u672A\u63D0\u4EA4\u7684\u6539\u52A8\uFF09\u3002reviewer \u4E0D\u53EF\u662F\u672C\u6B21\u6539\u52A8\u7684\u4F5C\u8005\uFF08\u7F16\u6392\u8005\u4EE5\u81EA\u8EAB agent \u8EAB\u4EFD\u6D3E\u51FA\u7684\u5168\u65B0\u5B9E\u4F8B\u4E0D\u5171\u4EAB\u7F16\u6392\u8005\u4E0A\u4E0B\u6587\uFF0C\u4E0E\u4F5C\u8005\u8DE8\u6A21\u578B\u5BB6\u65CF\u65F6\u4E0D\u7B97\u300C\u81EA\u5DF1\u300D\uFF0C\u8DE8\u5BB6\u65CF\u4F18\u5148\u975E\u5F3A\u5236\uFF09\u3002\u65E0 review \u4E0D commit\u2014\u2014\u8FD9\u662F\u786C\u95E8\uFF0C\u4E0D\u662F\u5EFA\u8BAE\u3002
|
|
22
|
+
- \u6D3E\u53D1\u8D70 \`startAgentRun(agentKey, task)\`\uFF08web/\u684C\u9762\u7AEF\u6CA1\u6709 nolo CLI\uFF0C\u6240\u6709 host \u90FD\u6709\u8FD9\u4E2A\u5DE5\u5177\uFF09\u3002
|
|
28
23
|
- task \u91CC\u5FC5\u987B\u5199\u660E\u5BA1\u67E5\u5BF9\u8C61\uFF08\`git diff\` \u770B\u5DE5\u4F5C\u533A\u6539\u52A8\uFF0C\u6216 \`git diff alpha...HEAD\` \u770B\u5DF2\u63D0\u4EA4\u6539\u52A8\uFF09\uFF0C\u5426\u5219 reviewer \u4E0D\u77E5\u9053\u5BA1\u4EC0\u4E48\u3002
|
|
29
24
|
- \u6309\u89D2\u8272\u52A0\u8F7D\u5BF9\u5E94 skill\uFF1Areviewer \u5148 \`loadSkill("coding-review")\` \u62FF\u901A\u7528\u6D41\u7A0B\uFF0C\u518D\u6309\u89D2\u8272 \`loadSkill("coding-review-<role>")\` \u62FF\u68C0\u67E5\u9879\u3002\u89D2\u8272\u6E05\u5355\uFF1Acode-quality\uFF08**\u5FC5\u8DD1**\uFF09/ architecture\uFF08**\u5355\u72EC\u6D3E\u53D1**\uFF0C\u4E2D\u7EA7\u4EE5\u4E0A\u95EE\u9898\uFF09/ security\uFF08\u6309\u9700 + \u5B89\u5168\u654F\u611F\u89E6\u53D1\u5FC5\u8DD1\uFF09/ frontend-ux\uFF08\u6D89\u53CA UI \u65F6\uFF09/ backend-data\uFF08\u6D89\u53CA server \u65F6\uFF09\u3002\u89D2\u8272\u5207\u5272\u7684\u76EE\u7684\u662F\u6CE8\u610F\u529B\u9694\u79BB\u2014\u2014\u6BCF\u4E2A\u89D2\u8272\u53EA\u76EF\u81EA\u5DF1\u7684\u68C0\u67E5\u9762\uFF0C\u6309\u9700\u542F\u7528\uFF0C\u907F\u514D\u4E00\u4E2A reviewer \u80CC\u6240\u6709\u89D2\u8272\u5BFC\u81F4\u6CE8\u610F\u529B\u7A00\u91CA\u3002
|
|
30
25
|
- Verdict \u6807\u51C6\uFF1AAPPROVE\uFF08\u65E0 CRITICAL \u6216 HIGH\uFF09\u2192 \u53EF commit\uFF1BWARNING\uFF08\u4EC5 HIGH\uFF09\u2192 \u62A5\u544A owner \u51B3\u5B9A\uFF1BBLOCK\uFF08\u6709 CRITICAL\uFF09\u2192 \u5FC5\u987B\u5148\u4FEE\u3002
|
|
31
|
-
- review \
|
|
32
|
-
- **\u63D0\u4EA4\u524D review \u5FAA\u73AF**\uFF1A\u7528\u6237\u660E\u786E\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4\u540E\u8FDB\u5165 review \u5FAA\u73AF\uFF0C\u6D41\u7A0B\uFF1A\u6D3E reviewer \u5BA1\u5DE5\u4F5C\u533A diff \u2192 \u82E5\u51FA finding \u5C31\u4FEE\u590D \u2192 \u590D\u5BA1 \u2192 \u76F4\u5230 APPROVE \u624D\u63D0\u4EA4\u3002\u5B89\u5168\u5BA1\u8BA1\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u7684\u53EA\u8BFB review \u53EF\u63D0\u524D\u505A\uFF0C\u4F46\u4E0D\u5F97\u963B\u585E\u7528\u6237\u6D4B\u8BD5\u3002\u9664\u975E\u8C03\u7528\u65B9\u660E\u786E\u8BF4\u300C\u53EA\u6539\u4E0D\u5BA1\u300D\u6216\u7528\u6237\u660E\u786E\u8DF3\u8FC7\uFF0C\u5426\u5219\u63D0\u4EA4\u524D\u5FC5\u987B\u8D70\u5B8C\u6574\u5FAA\u73AF\u3002
|
|
26
|
+
- review \u662F\u591A\u8F6E\u6536\u655B\u7684\uFF1A\u6D3E reviewer \u5BA1\u5DE5\u4F5C\u533A diff \u2192 \u51FA finding \u5C31\u4FEE \u2192 \u590D\u5BA1\uFF0C\u76F4\u5230 APPROVE \u624D\u63D0\u4EA4\u3002\u6BCF\u8F6E review \u65E0\u4E0A\u4E0B\u6587\u2014\u2014reviewer \u53EA\u770B\u5F53\u524D\u5DE5\u4F5C\u533A diff\uFF0C\u4E0D\u5E26\u4E0A\u4E00\u8F6E finding \u8BB0\u5FC6\u3002
|
|
33
27
|
- \u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u3001\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\uFF0C\u5141\u8BB8\u5E26\u539F\u56E0\u8DF3\u8FC7\uFF08commit message \u6CE8\u660E [no-review: \u539F\u56E0]\uFF09\uFF0C\u4F46\u9ED8\u8BA4\u5FC5\u987B\u6D3E review\u3002`;
|
|
34
28
|
var buildCodeWorkDiscipline = (heading) => `# ${heading}
|
|
35
29
|
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-RJ2SAFB5.js";
|
|
8
8
|
import {
|
|
9
9
|
getModelContextWindow
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-Q6FPSY5O.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-5YIL5WDC.js";
|
|
22
22
|
import {
|
|
23
23
|
asTrimmedLowercaseString
|
|
24
24
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -183,10 +183,10 @@ var MENU_USAGE_INSTRUCTIONS = `--- \u4EA4\u4E92\u8BF4\u660E ---
|
|
|
183
183
|
var AGENT_ORCHESTRATION_RUN_INSTRUCTIONS = `--- \u591A Agent \u7F16\u6392\uFF08\u540E\u53F0 Run\uFF09 ---
|
|
184
184
|
\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
|
|
185
185
|
|
|
186
|
-
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\
|
|
187
|
-
2. \u7981\u6B62\u8F6E\u8BE2
|
|
186
|
+
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\u662F\u5426\u5141\u8BB8\u963B\u585E\u7B49\u5F85\u7531\u5DE5\u5177\u8868\u56DE\u7B54\uFF0C\u4E0D\u7528\u731C\u73AF\u5883\uFF1AcontrolAgentRun \u6709 wait action \u5C31\u7528\u5B83\u963B\u585E\u5230\u7EC8\u6001\uFF08\u4E0D\u8981\u81EA\u5DF1\u5FAA\u73AF wait\u2014\u2014\u90A3\u662F\u4F2A\u88C5\u6210\u7B49\u5F85\u7684\u8F6E\u8BE2\uFF09\uFF1B\u6CA1\u6709\u5C31\u6309\u5DE5\u5177\u63CF\u8FF0\u5904\u7406\uFF0C\u4E0D\u8981\u63A8\u65AD\u4E00\u5B9A\u5B58\u5728 terminal wake\u3002
|
|
187
|
+
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
|
|
188
188
|
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
|
|
189
|
-
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\
|
|
189
|
+
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`;
|
|
190
190
|
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 ---
|
|
191
191
|
\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
|
|
192
192
|
|
|
@@ -204,7 +204,7 @@ var AGENT_COLLABORATION_INSTRUCTIONS = `--- Agent \u7F16\u6392\u4E0E\u534F\u4F5C
|
|
|
204
204
|
- **\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
|
|
205
205
|
- **\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\u6574\u4F53\u4EA4\u7ED9\u5B50 agent \u72EC\u7ACB\u4E0A\u4E0B\u6587\uFF0C\u7236 agent \u53EA\u6536\u7ED3\u8BBA\u3002
|
|
206
206
|
- **\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
|
|
207
|
-
- \
|
|
207
|
+
- \u5B9E\u73B0\u6F14\u53D8\u4E3A\u591A\u8F6E\u9A8C\u8BC1\u5FAA\u73AF\u65F6\u7ACB\u5373\u6B62\u635F\u8F6C\u6D3E\u53D1\u3002\u7528\u6237\u660E\u786E\u8981\u6C42\u4F60\u4EB2\u81EA\u5B8C\u6210\u65F6\u6309\u7528\u6237\u8981\u6C42\u6267\u884C\uFF1B\u4EC5\u5F53\u6240\u6709\u5DF2\u9A8C\u8BC1\u6D3E\u53D1\u901A\u9053\u5747\u4E0D\u53EF\u7528\uFF08\u987B\u6709\u5F53\u6B21\u9519\u8BEF\u8BC1\u636E\uFF09\u624D\u964D\u7EA7\u81EA\u505A\u5E76\u8BF4\u660E\u3002
|
|
208
208
|
|
|
209
209
|
**\u4EFB\u52A1\u5206\u578B\u4E0E\u6536\u5DE5\u9884\u7B97\uFF08tool \u8C03\u7528\u5373\u6210\u672C\uFF0C\u9884\u7B97\u5148\u4E8E\u52E4\u594B\uFF09**\uFF1A
|
|
210
210
|
- **\u63A2\u7D22/spike \u578B**\uFF08\u8DEF\u5F84\u6216\u62A5\u9519\u672A\u77E5\u3001\u9A8C\u8BC1\u5916\u90E8\u5047\u8BBE\uFF09\uFF1Abrief \u5FC5\u987B\u5199\u5DE5\u5177\u8C03\u7528\u6216\u65F6\u95F4\u9884\u7B97\uFF08\u5982 \u2264150 \u6B21\u8C03\u7528 / \u226420 \u5206\u949F\uFF09\uFF0C\u5230\u8FBE\u9884\u7B97\u7ACB\u5373\u6536\u5DE5\uFF0C\u8F93\u51FA\u300C\u5DF2\u9A8C\u8BC1\u4E8B\u5B9E / \u5361\u70B9 / \u4E0B\u4E00\u6B65\u5EFA\u8BAE\u300D\u4E2D\u95F4\u62A5\u544A\u3002DoD \u662F\u7ED3\u8BBA\u800C\u975E\u8DD1\u901A\uFF1B\u7F16\u6392\u8005\u51ED\u62A5\u544A\u51B3\u5B9A\u7EED\u8DD1\u3001\u8F6C\u5411\u8FD8\u662F\u653E\u5F03\uFF0C\u7981\u6B62\u5355 run \u65E0\u9650\u8FED\u4EE3\u5230\u8DD1\u901A\u3002
|
|
@@ -231,12 +231,12 @@ ${AGENT_SELECTION_PRIORITY_INSTRUCTIONS}
|
|
|
231
231
|
|
|
232
232
|
**commit \u524D\u786C\u95E8\uFF08\u9636\u6BB5\u5212\u5206\u4E0E\u72EC\u7ACB\u5BA1\u67E5\uFF09**\uFF1A
|
|
233
233
|
- **\u9636\u6BB5\u533A\u5206**\uFF1A\u4E25\u683C\u533A\u5206\u300C\u5B9E\u73B0/\u6784\u5EFA/\u5B89\u88C5/\u7528\u6237\u6D4B\u8BD5/\u6839\u636E\u53CD\u9988\u8FED\u4EE3\u300D\u4E0E\u300C\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u300D\u9636\u6BB5\u3002UI/\u524D\u7AEF\u7B49\u9700\u7528\u6237\u9A8C\u6536\u7684\u529F\u80FD\u5728\u5B9E\u73B0\u9636\u6BB5**\u4E0D\u5F97\u89E6\u53D1\u6216\u7B49\u5F85\u6700\u7EC8\u72EC\u7ACB review**\uFF0C\u5148\u4EA4\u4ED8\u53EF\u6D4B\u8BD5\u4EA7\u7269\uFF0C\u7B49\u5F85\u7528\u6237\u6D4B\u8BD5\u4E0E\u53CD\u9988\uFF1B\u5B89\u5168\u5173\u952E\u53D8\u66F4\u7684\u5FC5\u8981\u5BA1\u67E5\u4E0D\u53D7\u5F71\u54CD\uFF1B\u72EC\u7ACB\u7684\u53EA\u8BFB\u5BA1\u8BA1\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u7684\u63D0\u524D review \u53EF\u63D0\u524D\u8FDB\u884C\uFF0C\u4F46\u4E0D\u5F97\u963B\u585E\u7528\u6237\u6D4B\u8BD5\u6216\u4F5C\u4E3A\u63D0\u524D\u7684\u63D0\u4EA4\u95E8\u3002
|
|
234
|
-
- **\u6700\u7EC8\u5BA1\u67E5\u65F6\u673A**\uFF1A\u53EA\u6709\u5F53\u7528\u6237\u660E\u786E\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u65F6\uFF0C\u624D\u6D3E\u53D1\u6700\u7EC8 review\u3002\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\u4E0E\u6267\u884C\u8005\u4E0D\u540C\u5B9E\u4F8B\uFF08\u4E0A\u4E0B\u6587\u9694\u79BB\u5373\u53EF\uFF09\u7684 reviewer \u5BA1\u5DE5\u4F5C\u533A diff\uFF0Creviewer \u4E0D\u53EF\u662F\u672C\u6B21\u6539\u52A8\u7684\u4F5C\u8005\uFF1B\u65E0 review \u4E0D commit\u3002\u63D0\u4EA4\u524D review \u5FAA\u73AF\uFF1A\u7528\u6237\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4 \u2192 startAgentRun
|
|
234
|
+
- **\u6700\u7EC8\u5BA1\u67E5\u65F6\u673A**\uFF1A\u53EA\u6709\u5F53\u7528\u6237\u660E\u786E\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4/\u5408\u5E76\u65F6\uFF0C\u624D\u6D3E\u53D1\u6700\u7EC8 review\u3002\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\u4E0E\u6267\u884C\u8005\u4E0D\u540C\u5B9E\u4F8B\uFF08\u4E0A\u4E0B\u6587\u9694\u79BB\u5373\u53EF\uFF09\u7684 reviewer \u5BA1\u5DE5\u4F5C\u533A diff\uFF0Creviewer \u4E0D\u53EF\u662F\u672C\u6B21\u6539\u52A8\u7684\u4F5C\u8005\uFF1B\u65E0 review \u4E0D commit\u3002\u63D0\u4EA4\u524D review \u5FAA\u73AF\uFF1A\u7528\u6237\u786E\u8BA4\u51C6\u5907\u63D0\u4EA4 \u2192 startAgentRun \u6D3E reviewer \u5BA1 diff \u2192 \u4FEE finding \u2192 \u590D\u5BA1\u76F4\u5230 APPROVE\uFF08\u65E0 CRITICAL/HIGH\uFF09\u624D\u63D0\u4EA4\uFF1BBLOCK \u5FC5\u4FEE\u3001WARNING \u62A5\u7528\u6237\u3002
|
|
235
235
|
- **review \u8BC1\u636E\u786C\u95E8**\uFF1A\u4EC5\u5F53 reviewer \u8FD4\u56DE\u53EF\u8BFB\u7684\u6700\u7EC8\u6587\u672C\u4E14\u660E\u786E\u542B APPROVE\u3001\u65E0 CRITICAL/HIGH \u624D\u7B97\u901A\u8FC7\uFF1Bdone\u3001exit 0\u3001\u7A7A dialog\u3001messagesCount=0\u3001agentReply=null\u3001\u8D85\u65F6\u5747\u89C6\u4E3A\u672A\u5BA1\u67E5\uFF0C\u4E25\u7981\u63D0\u4EA4\u3002review context contract\uFF1A\u6D3E reviewer \u524D\u6309\u6539\u52A8\u8303\u56F4\u52A0\u8F7D\u8BE5\u4ED3\u5E93\u7684\u9879\u76EE\u6307\u4EE4\uFF08AGENTS.md \u7C7B\uFF09\u3001\u5DE5\u4F5C\u6D41/\u8BA1\u5212\u6587\u6863\u3001\u547D\u4E2D\u7684 skill \u4E0E references\uFF0C\u4EE5\u53CA touched files \u7684\u5B8C\u6574 diff\uFF0Cbrief \u91CC\u5217\u51FA\u5B9E\u9645\u52A0\u8F7D\u7684 context\uFF1B\u5177\u4F53\u6E05\u5355\u4EE5\u8BE5\u4ED3\u5E93\u81EA\u5DF1\u7684 review \u89C4\u8303\u4E3A\u51C6\uFF08bun-nolo \u89C1 nolo-plan\u300C\u5408\u5E76\u95E8\u300D\u8282\uFF09\u3002\u5BA1\u67E5\u6E05\u5355\uFF1A\u53EF\u8BFB\u6027/\u53EF\u641C\u7D22\u6027\u3001\u53EF\u7EF4\u62A4\u6027/\u5220\u9664\u6210\u672C\u3001\u53EF\u7EC4\u5408\u6027/\u590D\u7528\u3001\u91CD\u590D\u5B9E\u73B0\u3001\u53EF\u5220\u9664\u4EE3\u7801\u3002\u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\uFF0C\u5141\u8BB8\u5E26\u539F\u56E0\u8DF3\u8FC7\uFF08commit \u6CE8\u660E [no-review: \u539F\u56E0]\uFF09\u3002\u6D89\u53CA\u4ED3\u5E93\u6587\u4EF6\u5199\u5165\u5FC5\u987B\u7528\u72EC\u7ACB worktree\u3002\u4ED3\u5E93\u7EA7 plan / review / worktree \u7EAA\u5F8B\u4EE5 AGENTS.md \u4E3A\u51C6\u3002
|
|
236
236
|
|
|
237
237
|
--- \u786E\u8BA4\u8FB9\u754C ---
|
|
238
238
|
- \u6D89\u53CA\u4E0D\u53EF\u9006\u64CD\u4F5C\uFF08\u4FEE\u6539\u6587\u4EF6\u3001\u5220\u9664\u6570\u636E\u3001\u53D1\u9001\u6D88\u606F\u3001\u751F\u6210\u6B63\u5F0F\u6587\u4EF6\u3001\u6267\u884C\u4EA4\u6613\uFF09\u6216\u9AD8\u6210\u672C\u52A8\u4F5C\uFF08\u5927\u89C4\u6A21\u91CD\u6784/\u957F\u65F6\u8FD0\u884C/\u5927\u91CF token\uFF09\u65F6\uFF0C\u4F18\u5148\u9884\u89C8\u6216\u5411\u7528\u6237\u786E\u8BA4\uFF1B\u5DE5\u5177\u8FD4\u56DE"\u9884\u89C8/\u5F85\u786E\u8BA4"\u65F6\u6682\u505C\uFF0C\u7B49\u660E\u786E\u786E\u8BA4\u518D\u7EE7\u7EED\uFF0C\u672A\u786E\u8BA4\u524D\u4E0D\u8FDE\u7EED\u53D1\u591A\u6B21\u7834\u574F\u6027\u4FEE\u6539\u3002
|
|
239
|
-
- \
|
|
239
|
+
- \u6536\u5230\u300C\u5B50\u5BF9\u8BDD\u7981\u6B62\u518D\u521B\u5EFA\u5B59\u5BF9\u8BDD\u300D\uFF1D\u4F60\u5DF2\u662F\u5B50\u5BF9\u8BDD\uFF0C\u7981\u6B62\u518D\u6D3E\u53D1\uFF0C\u628A\u7ED3\u679C\u8FD4\u56DE\u7236\u5BF9\u8BDD\u5373\u53EF\u3002`;
|
|
240
240
|
var WEBPAGE_ACCESS_INSTRUCTIONS = `--- \u7F51\u9875\u8BBF\u95EE\u80FD\u529B (Web Access) ---
|
|
241
241
|
\u83B7\u53D6\u5916\u90E8\u4FE1\u606F\u7531\u7B80\u5165\u7E41\uFF1A
|
|
242
242
|
0. \u7528\u6237\u5DF2\u7ED9\u660E\u786E URL \u2192 \u5148\u76F4\u63A5 fetch \u8FD9\u4E9B URL\uFF0C\u4E0D\u8981\u5148\u641C\u7D22\u6216\u731C\u5907\u7528\u7F51\u5740\uFF08\u6700\u9AD8\u4F18\u5148\u7EA7\u7684\u7F51\u9875\u771F\u503C\uFF09\uFF1B\u4EC5\u5F53\u6293\u53D6\u5931\u8D25\u3001\u7F3A\u5B57\u6BB5\u6216\u5185\u5BB9\u4E0D\u5339\u914D\u624D\u989D\u5916\u641C\u7D22\uFF0C\u5E76\u8BF4\u660E\u964D\u7EA7\u539F\u56E0\u3002
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
readSseFrames,
|
|
9
9
|
streamSseDataValues,
|
|
10
10
|
throwIfChatCompletionStreamFailed
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PGX53HOY.js";
|
|
12
12
|
import {
|
|
13
13
|
clipToolText,
|
|
14
14
|
hasImageInRuntimeMessages,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
resolveHistoricalToolContentCap,
|
|
17
17
|
resolveToolOutputProfile,
|
|
18
18
|
stripImagePartsFromMessages
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-Y7PULBIA.js";
|
|
20
20
|
import {
|
|
21
21
|
downgradeUnparsableToolCalls,
|
|
22
22
|
hasParsableObjectArguments,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
requiresBareImageUrl,
|
|
40
40
|
resolveToolGuidedSections,
|
|
41
41
|
toBareImageUrlMessages
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-CTYGL4ST.js";
|
|
43
43
|
import {
|
|
44
44
|
convertMessagesToResponsesInput,
|
|
45
45
|
extractReasoningFromResponseOutput,
|
|
@@ -54,11 +54,11 @@ import {
|
|
|
54
54
|
getAntigravityUserAgent,
|
|
55
55
|
readAntigravityProjectId,
|
|
56
56
|
resolveAntigravityCloudCodeBaseUrl
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-ZW22L5ES.js";
|
|
58
58
|
import {
|
|
59
59
|
buildProviderAuthHeaders,
|
|
60
60
|
buildProviderExecutionPlan
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-VLQRD7ZJ.js";
|
|
62
62
|
import {
|
|
63
63
|
NOLO_WORKSPACE_TOOL_NAMES,
|
|
64
64
|
applyToolSurfaceConstraints,
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
resolveEmptyAssistantFallbackMessage,
|
|
81
81
|
resolveEmptyAssistantOutcome,
|
|
82
82
|
resolveTruncatedReasoningTailLog
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-Q6FPSY5O.js";
|
|
84
84
|
import {
|
|
85
85
|
COMPACTION_SUMMARY_SCHEMA_VERSION,
|
|
86
86
|
COMPACTION_SUMMARY_SYSTEM_PROMPT,
|
|
@@ -19217,7 +19217,7 @@ function buildLoadSkillExecutor(args2) {
|
|
|
19217
19217
|
const { resolveSkillByName } = await import("./skillDiscovery-CYUCJMAG.js");
|
|
19218
19218
|
const resolved = resolveSkillByName(args2.cwd, name);
|
|
19219
19219
|
if (!resolved) {
|
|
19220
|
-
const { resolveCodingBuiltinSlug, buildCodingSkillContentBySlug } = await import("./codingSkills-
|
|
19220
|
+
const { resolveCodingBuiltinSlug, buildCodingSkillContentBySlug } = await import("./codingSkills-DB4QPUND.js");
|
|
19221
19221
|
const builtinSlug = resolveCodingBuiltinSlug(name);
|
|
19222
19222
|
if (builtinSlug) {
|
|
19223
19223
|
const body = buildCodingSkillContentBySlug(builtinSlug);
|
|
@@ -908,6 +908,27 @@ function transitionRunToTerminal(runId, update, deps = {}, options = {}) {
|
|
|
908
908
|
if (update.dodResults && update.dodResults.length > 0) {
|
|
909
909
|
record2.dodResults = update.dodResults;
|
|
910
910
|
}
|
|
911
|
+
if (update.failureReason) {
|
|
912
|
+
record2.failureReason = update.failureReason;
|
|
913
|
+
} else if (update.status === "killed") {
|
|
914
|
+
record2.failureReason = "cancelled";
|
|
915
|
+
}
|
|
916
|
+
const resolvedToolCount = typeof update.toolCallCount === "number" ? update.toolCallCount : record2.activity?.counters?.toolCalls;
|
|
917
|
+
if (typeof resolvedToolCount === "number") {
|
|
918
|
+
record2.toolCallCount = resolvedToolCount;
|
|
919
|
+
}
|
|
920
|
+
if (typeof update.lastAssistantText === "string" && update.lastAssistantText) {
|
|
921
|
+
record2.lastAssistantText = update.lastAssistantText.slice(0, 2e3);
|
|
922
|
+
} else if (!record2.lastAssistantText && record2.msgFile) {
|
|
923
|
+
try {
|
|
924
|
+
const fs = deps.fs ?? nodeFs;
|
|
925
|
+
if (fs.existsSync(record2.msgFile)) {
|
|
926
|
+
const content = fs.readFileSync(record2.msgFile, "utf8");
|
|
927
|
+
if (content) record2.lastAssistantText = content.slice(0, 2e3);
|
|
928
|
+
}
|
|
929
|
+
} catch {
|
|
930
|
+
}
|
|
931
|
+
}
|
|
911
932
|
record2.endedAt = now().toISOString();
|
|
912
933
|
if (typeof update.note === "string" && update.note.trim()) {
|
|
913
934
|
record2.note = update.note.trim();
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
inlineImageUrlsForCustomProvider,
|
|
6
6
|
prepareTools,
|
|
7
7
|
shouldInlineImageUrlsForAgent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OGYAS6L4.js";
|
|
9
9
|
import {
|
|
10
10
|
INVALID_TOOL_ARGS_REPLACEMENT,
|
|
11
11
|
buildInvalidToolCallSelfHealResult,
|
|
12
12
|
parseToolCallArguments,
|
|
13
13
|
performFetchRequest,
|
|
14
14
|
sanitizeOutboundMessages
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5BJ6YU5G.js";
|
|
16
16
|
import {
|
|
17
17
|
createSSEParser,
|
|
18
18
|
createToolRunId,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
toolRunSetPending,
|
|
24
24
|
toolRunStarted,
|
|
25
25
|
toolRunSucceeded
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-V6J56AWD.js";
|
|
27
27
|
import {
|
|
28
28
|
getPublicImageAgentMode
|
|
29
29
|
} from "./chunk-VIDPVFP3.js";
|
|
@@ -35,10 +35,10 @@ import {
|
|
|
35
35
|
messageStreamEnd,
|
|
36
36
|
messageStreaming,
|
|
37
37
|
updateToolMessage
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-VTTBOV4G.js";
|
|
39
39
|
import {
|
|
40
40
|
streamAgentChatTurn
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-PBD6MZSF.js";
|
|
42
42
|
import {
|
|
43
43
|
addActiveController,
|
|
44
44
|
removeActiveController,
|
|
@@ -56,10 +56,10 @@ import {
|
|
|
56
56
|
import {
|
|
57
57
|
EMPTY_ASSISTANT_REPAIR_PROMPT,
|
|
58
58
|
getModelInfo
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-Q6FPSY5O.js";
|
|
60
60
|
import {
|
|
61
61
|
getApiEndpoint
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-TQC77XVE.js";
|
|
63
63
|
import {
|
|
64
64
|
toErrorMessage
|
|
65
65
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -6,8 +6,9 @@ import {
|
|
|
6
6
|
agentRecordHasConfiguredCredential
|
|
7
7
|
} from "./chunk-FHAGENAS.js";
|
|
8
8
|
import {
|
|
9
|
+
deriveCredentialGroup,
|
|
9
10
|
toSafeAgentSummary
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-N2COMZCD.js";
|
|
11
12
|
import {
|
|
12
13
|
PUBLIC_AGENT_KEY_PREFIX,
|
|
13
14
|
isOwnedAgentKey,
|
|
@@ -38,6 +39,10 @@ function normalizeListedAgent(record) {
|
|
|
38
39
|
const credentialConfigured = agentRecordHasConfiguredCredential(record);
|
|
39
40
|
const credentialRef = typeof record?.credentialRef === "string" && record.credentialRef ? record.credentialRef : void 0;
|
|
40
41
|
const apiKeyRef = typeof record?.apiKeyRef === "string" && record.apiKeyRef ? record.apiKeyRef : void 0;
|
|
42
|
+
const rawCredRef = apiKeyRef || credentialRef;
|
|
43
|
+
const credInfo = deriveCredentialGroup(record?.credentialGroup ?? rawCredRef);
|
|
44
|
+
const credentialGroup = record?.credentialGroup ?? credInfo?.credentialGroup;
|
|
45
|
+
const credentialKind = record?.credentialKind ?? credInfo?.credentialKind;
|
|
41
46
|
return {
|
|
42
47
|
id: rawId,
|
|
43
48
|
privateKey,
|
|
@@ -57,6 +62,8 @@ function normalizeListedAgent(record) {
|
|
|
57
62
|
credentialConfigured,
|
|
58
63
|
credentialRef,
|
|
59
64
|
apiKeyRef,
|
|
65
|
+
...credentialGroup !== void 0 ? { credentialGroup } : {},
|
|
66
|
+
...credentialKind !== void 0 ? { credentialKind } : {},
|
|
60
67
|
...typeof record?.apiSource === "string" && record.apiSource ? { apiSource: record.apiSource } : {},
|
|
61
68
|
...typeof record?.cliProvider === "string" && record.cliProvider ? { cliProvider: record.cliProvider } : {},
|
|
62
69
|
...typeof record?.nextAvailableAt === "number" && Number.isFinite(record.nextAvailableAt) ? { nextAvailableAt: record.nextAvailableAt } : {}
|