nolo-cli 0.83.0-alpha.1 → 0.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/{_executeModel-TRYFRXDJ.js → _executeModel-LUNEV235.js} +48 -48
- package/{action-D22U6CTH.js → action-YVYQEAAV.js} +11 -11
- package/{addContentAction-XAPUTGL4.js → addContentAction-O7R66HEX.js} +9 -9
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-74OA7KYP.js} +8 -8
- package/{agentDeleteCommand-EKSPHWHV.js → agentDeleteCommand-2YAHAZFJ.js} +31 -30
- package/{agentEmailCommands-QD2K4YG6.js → agentEmailCommands-G6A7IRPQ.js} +67 -64
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-M3XFO6EN.js} +2 -2
- package/{agentListCommands-WFBYAQKO.js → agentListCommands-KMS675GZ.js} +40 -33
- package/{agentMachineCommands-F5DKXCQP.js → agentMachineCommands-W2SMNSQ3.js} +31 -30
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-GNPTL5XR.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-O5MPVJ5E.js} +3 -3
- package/agentRecordCommands-D7BRMFNI.js +128 -0
- package/{agentRunCommand-4VMDFEQF.js → agentRunCommand-VL6MMEUB.js} +65 -62
- package/{agentRunControl-T44MESII.js → agentRunControl-AVJR4JW4.js} +2 -2
- package/{agentRuntimeLocal-FMOEMRUU.js → agentRuntimeLocal-VXZSDIGT.js} +27 -26
- package/{agentSlice-Q5XOM2PN.js → agentSlice-5YJHUO47.js} +10 -10
- package/{appDeleteCommands-AXB7XZE7.js → appDeleteCommands-32MHLR4L.js} +31 -30
- package/{appDeployCommands-ZLWI4QUC.js → appDeployCommands-WCQOUSOB.js} +31 -30
- package/{appDeployStatusCommands-2RAEYJQF.js → appDeployStatusCommands-6QKB7DYN.js} +31 -30
- package/{appGetCommands-QYUXS4W4.js → appGetCommands-SFAPP5PB.js} +31 -30
- package/{appListCommands-GQLN4J5X.js → appListCommands-EKUBDRUO.js} +31 -30
- package/{authCommand-7N2G6MXP.js → authCommand-F4EFRRX6.js} +89 -24
- package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
- package/builtinSkillRegistry-FUAVTRVZ.js +33 -0
- package/{chatQueueReduxAdapter-WICMMQZT.js → chatQueueReduxAdapter-PQMRR2PK.js} +24 -24
- package/{chromeCommands-VOIRNJBL.js → chromeCommands-FZYAU75D.js} +1 -1
- package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-62P2Q2YB.js} +31 -1
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-3QPYFHAH.js → chunk-3DII57IT.js} +1 -1
- package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
- package/{chunk-DWUCB2A3.js → chunk-42V6BK2E.js} +1 -1
- package/{chunk-XRMBP7IW.js → chunk-45C5ER5U.js} +10 -10
- package/{chunk-DSRXPQWA.js → chunk-4OEFYTWL.js} +43 -43
- package/{chunk-6RUOYAPM.js → chunk-4S5QUMJP.js} +7 -7
- package/{chunk-GBPZKFYK.js → chunk-53HEEOTT.js} +4 -4
- package/{chunk-5Q5LYRJH.js → chunk-5FBTLSFG.js} +155 -795
- package/{chunk-KIS76A2P.js → chunk-5H7KJX7J.js} +38 -4
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
- package/{chunk-KVDUCO4Q.js → chunk-6IG4XSS6.js} +16 -12
- package/{chunk-CMH2SYHX.js → chunk-6OZ36FXI.js} +2 -2
- package/{chunk-5BVAAVIF.js → chunk-6Q33GUCC.js} +1 -1
- package/{chunk-EWRS6HJ3.js → chunk-6VFARHZW.js} +625 -303
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/chunk-ACTMNVHM.js +93 -0
- package/{chunk-NRALD3CC.js → chunk-AEOE4Z6Q.js} +54 -10
- package/{chunk-XWNRAIUL.js → chunk-AFUORTY4.js} +6 -16
- package/chunk-BNGW5ASC.js +344 -0
- package/{chunk-SZLVDREM.js → chunk-BP4XNZRM.js} +3 -3
- package/{chunk-JZYXSXMZ.js → chunk-BTI7PJDX.js} +15 -15
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-GCJ3IS5M.js → chunk-DHDMC6FO.js} +175 -6
- package/{chunk-E36HZARC.js → chunk-DNCEALKX.js} +93 -17
- package/{chunk-N5KGQ5AD.js → chunk-DRGSDQBL.js} +3 -3
- package/{chunk-D6XYLSOS.js → chunk-ETI2NYVF.js} +1 -1
- package/{chunk-EXMHJN7C.js → chunk-EYAQT56M.js} +4 -3
- package/{chunk-CJCJF5XB.js → chunk-FDTR4QJ6.js} +4 -2
- package/{chunk-JPVNC5B2.js → chunk-G2O6V3HJ.js} +3 -3
- package/{chunk-WL2RKIBF.js → chunk-GEPUP7OO.js} +1 -1
- package/{chunk-PYXL2CJL.js → chunk-GPCZ7UXG.js} +1 -1
- package/{chunk-K7AG465Q.js → chunk-GQBOR3G6.js} +4 -2
- package/{chunk-YFADVSZE.js → chunk-H62HCIUP.js} +6 -6
- package/{chunk-PZM3EENV.js → chunk-HJUYAD4A.js} +1 -1
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-HH65VA5U.js → chunk-I3TQJXQ7.js} +109 -6
- package/{chunk-ZVN6I33J.js → chunk-IIVGDG4I.js} +6 -5
- package/{chunk-UDQWGU7F.js → chunk-J4MOO56S.js} +1 -1
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/chunk-JRQFUXY7.js +1625 -0
- package/chunk-KQ4ONNQD.js +677 -0
- package/{chunk-CPSZJBLK.js → chunk-L5UXH3B2.js} +105 -26
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-BJIRLHJR.js → chunk-M2EJHDJP.js} +4 -0
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-DUJWWUGV.js → chunk-NA35QHCF.js} +1 -1
- package/{chunk-FNGAF7C4.js → chunk-OEVAY4J6.js} +137 -12
- package/{chunk-UJ63UXGE.js → chunk-OIVSQH2O.js} +1006 -801
- package/{chunk-LZIMZZYT.js → chunk-ORYWEJO4.js} +13 -15
- package/{chunk-LKSDMMY2.js → chunk-Q2XN3EOZ.js} +40 -30
- package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
- package/{chunk-FMODTASJ.js → chunk-Q5FJJ6XI.js} +1 -7
- package/{chunk-AJHEFRGJ.js → chunk-Q67DOFOO.js} +214 -5
- package/{chunk-UZ6XXCVR.js → chunk-QDSINZM3.js} +15 -2
- package/{chunk-BHXK3KPV.js → chunk-QVKRR2SS.js} +2314 -66
- package/{chunk-BNQK6UPC.js → chunk-RFCKMYDK.js} +11 -173
- package/{chunk-YWG6EMH3.js → chunk-RG6JBBX5.js} +10 -6
- package/{chunk-QCZX4FTW.js → chunk-SH43IESU.js} +173 -15
- package/{chunk-YIR5OYHU.js → chunk-SSDAAEC2.js} +1235 -59
- package/{chunk-SPAQ4PVV.js → chunk-SV5IJK6K.js} +1 -1
- package/{chunk-BJCWNHVU.js → chunk-TOP2VXOR.js} +2 -2
- package/{chunk-4EJ5QYB5.js → chunk-UKZDAFYT.js} +1 -1
- package/{chunk-PGSKWZCB.js → chunk-UZGQNTVW.js} +1 -1
- package/{chunk-ZZCJUXUI.js → chunk-V4MJDUSR.js} +2 -2
- package/{chunk-JYYZCK2Z.js → chunk-V7E4PXQD.js} +1 -1
- package/{chunk-OZX2IPKM.js → chunk-VLTIYV3X.js} +1 -1
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-5J7W2VWW.js → chunk-WV42OMV7.js} +6 -265
- package/{chunk-PFDKB7IZ.js → chunk-X6DN5HBD.js} +6 -6
- package/{chunk-Q7TA25PG.js → chunk-YFE4A4O7.js} +731 -90
- package/{chunk-BOYUESO7.js → chunk-Z77CRGTW.js} +1 -1
- package/{chunk-QC5LGHYP.js → chunk-ZCYXJSTU.js} +10 -5
- package/{contentThunks-A2ZG3SW6.js → contentThunks-GJV22WVZ.js} +25 -25
- package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-REAWYVTY.js} +2 -2
- package/{createAgentAutomationAction-QFQQPG35.js → createAgentAutomationAction-6V25TZEO.js} +25 -25
- package/{createDialogAction-WI73R5EQ.js → createDialogAction-SX36BGSX.js} +28 -28
- package/{createPageAction-XN237WPJ.js → createPageAction-IR4BGJSI.js} +26 -26
- package/{dbSlice-GKGGFNOB.js → dbSlice-XVWBAGYN.js} +8 -8
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-SFRDEMB3.js → dialogCommands-5J56DFWN.js} +35 -32
- package/{dialogSlice-56G4Q4RU.js → dialogSlice-UNX2FAPZ.js} +24 -24
- package/{docCreateCommands-OMQLZ3OW.js → docCreateCommands-KYI2DC2U.js} +32 -31
- package/{docDeleteCommands-7RCC6P23.js → docDeleteCommands-67REUSRY.js} +33 -32
- package/{docReadCommands-5FABO4UV.js → docReadCommands-HOSVSBDJ.js} +32 -31
- package/{docStore-PZSZWXX3.js → docStore-JWVG5NDO.js} +9 -9
- package/{docUpdateCommands-P5AQI6HB.js → docUpdateCommands-EMGCSMXY.js} +32 -31
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-LUSEABA6.js} +4 -4
- package/{handleSendMessageAction-MHKC4R3Q.js → handleSendMessageAction-B75UOJKF.js} +24 -24
- package/index.js +99 -86
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-VJABZGD2.js → machineCommands-GFPTOY6L.js} +64 -61
- package/{machineWsRunDispatch-5SPILS2O.js → machineWsRunDispatch-46PSZ3DJ.js} +62 -59
- package/{memberThunks-KATHH3F4.js → memberThunks-QGFLFVCI.js} +9 -9
- package/{models-GS72DVJS.js → models-T3SG6MJ5.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-FG6NZ57W.js +214 -0
- package/providerRegistry-757OWH3O.js +31 -0
- package/{read-LC6HVYBN.js → read-COE3ZYR6.js} +5 -4
- package/{readDocTool-N3ERJHHF.js → readDocTool-5USN4A6V.js} +1 -1
- package/{readlineWorkspace-GMYIPMRU.js → readlineWorkspace-UFSWHFKD.js} +144 -109
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-IX3MN2ZO.js} +11 -11
- package/{runAgentClientLoop-U3GEPCQI.js → runAgentClientLoop-25LJ4XGV.js} +47 -47
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-X4HCPNZL.js} +9 -9
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-4GMIQLOD.js} +11 -11
- package/{settingSlice-OEJA4NQO.js → settingSlice-ZQZVUPKK.js} +10 -10
- package/{spaceCommands-FNXBNF5X.js → spaceCommands-NKJVJCQQ.js} +30 -29
- package/{streamAgentChatTurn-DAGDJH3L.js → streamAgentChatTurn-A46QFV4O.js} +59 -58
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-N52LRPA3.js} +8 -8
- package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
- package/{toolApiClient-VGYUB4P5.js → toolApiClient-QVJ6HDNN.js} +2 -2
- package/{tools-73VPBNX3.js → tools-TTDGRNY6.js} +43 -43
- package/tuiSummaryLlmCaller-WFRWERGK.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-RFQONESQ.js → updateDialogTitleAction-QJPZGF52.js} +45 -28
- package/agentRecordCommands-DAZ2FDZP.js +0 -125
- package/chunk-I42VC5KR.js +0 -15
- package/chunk-NB5SIWC4.js +0 -611
- package/chunk-NG4UT4K4.js +0 -79
- package/codingSkills-7S6523WH.js +0 -48
- package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
- package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
- package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
- package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
selectCurrentServer,
|
|
3
3
|
selectRemoteServers
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AFUORTY4.js";
|
|
5
5
|
import {
|
|
6
6
|
createUserKey,
|
|
7
7
|
extractAgentInfo,
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
sanitizeShareData,
|
|
11
11
|
shareKey,
|
|
12
12
|
toNonEmptyString
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-VMFTFOWF.js";
|
|
14
14
|
import {
|
|
15
15
|
noloDeleteRequest,
|
|
16
16
|
noloWriteRequest
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-UKWGR5SS.js";
|
|
18
18
|
import {
|
|
19
19
|
normalizeTimeFields
|
|
20
20
|
} from "./chunk-QOKAKDPE.js";
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
inlineImageUrlsForCustomProvider,
|
|
6
6
|
prepareTools,
|
|
7
7
|
shouldInlineImageUrlsForAgent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DRGSDQBL.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-Q2XN3EOZ.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-5FBTLSFG.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-QVKRR2SS.js";
|
|
39
39
|
import {
|
|
40
40
|
streamAgentChatTurn
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-4S5QUMJP.js";
|
|
42
42
|
import {
|
|
43
43
|
addActiveController,
|
|
44
44
|
removeActiveController,
|
|
@@ -56,42 +56,42 @@ import {
|
|
|
56
56
|
import {
|
|
57
57
|
EMPTY_ASSISTANT_REPAIR_PROMPT,
|
|
58
58
|
getModelInfo
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-4OEFYTWL.js";
|
|
60
60
|
import {
|
|
61
61
|
getApiEndpoint
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-OIVSQH2O.js";
|
|
63
63
|
import {
|
|
64
64
|
toErrorMessage
|
|
65
65
|
} from "./chunk-HNMXYYJR.js";
|
|
66
66
|
import {
|
|
67
67
|
selectCurrentServer
|
|
68
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-AFUORTY4.js";
|
|
69
69
|
import {
|
|
70
70
|
write
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-H62HCIUP.js";
|
|
72
72
|
import {
|
|
73
73
|
createDialogMessageKeyAndId,
|
|
74
74
|
dialogMessageKey,
|
|
75
75
|
toTrimmedString
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-VMFTFOWF.js";
|
|
77
77
|
import {
|
|
78
78
|
extractCustomId
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-M2EJHDJP.js";
|
|
80
80
|
import {
|
|
81
81
|
createAsyncThunk
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-UKWGR5SS.js";
|
|
83
83
|
import {
|
|
84
84
|
isAbortError
|
|
85
85
|
} from "./chunk-QOKAKDPE.js";
|
|
86
86
|
import {
|
|
87
87
|
selectIdentityToken
|
|
88
88
|
} from "./chunk-SEJ5OS6F.js";
|
|
89
|
-
import {
|
|
90
|
-
asTrimmedString
|
|
91
|
-
} from "./chunk-3EUW3WEO.js";
|
|
92
89
|
import {
|
|
93
90
|
isRecord
|
|
94
91
|
} from "./chunk-KUG52IAP.js";
|
|
92
|
+
import {
|
|
93
|
+
asTrimmedString
|
|
94
|
+
} from "./chunk-3EUW3WEO.js";
|
|
95
95
|
import {
|
|
96
96
|
asOptionalTrimmedString
|
|
97
97
|
} from "./chunk-G3SUCT4W.js";
|
|
@@ -285,6 +285,27 @@ function saveProfileAgentSelection(selection, path = getDefaultProfileConfigPath
|
|
|
285
285
|
`, "utf8");
|
|
286
286
|
return config;
|
|
287
287
|
}
|
|
288
|
+
function getProfileOAuthSync(provider, path = getDefaultProfileConfigPath()) {
|
|
289
|
+
const config = loadProfileConfig(path);
|
|
290
|
+
if (!config) return void 0;
|
|
291
|
+
const profile = config.profiles[config.currentProfile];
|
|
292
|
+
return profile?.oauthSync?.[provider];
|
|
293
|
+
}
|
|
294
|
+
function saveProfileOAuthSync(provider, sync, path = getDefaultProfileConfigPath()) {
|
|
295
|
+
if (isProtectedHomeProfileWrite(path)) return null;
|
|
296
|
+
const config = loadProfileConfig(path);
|
|
297
|
+
if (!config) return null;
|
|
298
|
+
const profile = config.profiles[config.currentProfile];
|
|
299
|
+
if (!profile) return null;
|
|
300
|
+
profile.oauthSync = {
|
|
301
|
+
...profile.oauthSync ?? {},
|
|
302
|
+
[provider]: sync
|
|
303
|
+
};
|
|
304
|
+
mkdirSync(dirname(path), { recursive: true });
|
|
305
|
+
writeFileSync(path, `${JSON.stringify(config, null, 2)}
|
|
306
|
+
`, "utf8");
|
|
307
|
+
return config;
|
|
308
|
+
}
|
|
288
309
|
|
|
289
310
|
export {
|
|
290
311
|
getDefaultProfileConfigPath,
|
|
@@ -299,5 +320,7 @@ export {
|
|
|
299
320
|
saveProfileLocale,
|
|
300
321
|
getAgentSelectionAuditPath,
|
|
301
322
|
readLastAgentSelectionAudit,
|
|
302
|
-
saveProfileAgentSelection
|
|
323
|
+
saveProfileAgentSelection,
|
|
324
|
+
getProfileOAuthSync,
|
|
325
|
+
saveProfileOAuthSync
|
|
303
326
|
};
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
buildSkillDocMarkdown
|
|
3
|
+
} from "./chunk-Q554LLSI.js";
|
|
1
4
|
import {
|
|
2
5
|
SYSTEM_AGENT_CAPABILITIES,
|
|
3
6
|
SYSTEM_AGENT_CAPABILITY_IDS
|
|
4
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QDSINZM3.js";
|
|
8
|
+
import {
|
|
9
|
+
createKey
|
|
10
|
+
} from "./chunk-VMFTFOWF.js";
|
|
5
11
|
|
|
6
12
|
// packages/ai/tools/codeWorkDiscipline.ts
|
|
7
13
|
var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
|
|
@@ -44,6 +50,9 @@ var TOOL_PACKS = {
|
|
|
44
50
|
// queryModelUsage / queryUserGrowthReport:server-only 工具(web/CLI executor
|
|
45
51
|
// 直接返回 serverOnlyResult),不随 CORE 常驻——server 端由 agent 显式
|
|
46
52
|
// tools 配置按需挂载(utilityServerTools 执行器),web 端不再挂死 schema。
|
|
53
|
+
// setTodoList 已移至「conversation-todo」系统能力包(defaultEnabled:true)
|
|
54
|
+
// 作为唯一 owner——single source of truth:普通 agent 默认仍有 setTodoList,
|
|
55
|
+
// 但关闭「对话 Todo」开关即可真正摘掉它(CORE 常驻时该开关形同虚设)。
|
|
47
56
|
CORE: [
|
|
48
57
|
"read",
|
|
49
58
|
"createDoc",
|
|
@@ -52,8 +61,7 @@ var TOOL_PACKS = {
|
|
|
52
61
|
"updateSelf",
|
|
53
62
|
"ask_user",
|
|
54
63
|
"createAgentAutomation",
|
|
55
|
-
"notifyUser"
|
|
56
|
-
"setTodoList"
|
|
64
|
+
"notifyUser"
|
|
57
65
|
],
|
|
58
66
|
// L2 - 联网搜索:与 CAPABILITY_PACKS「web-search」对齐。
|
|
59
67
|
// 社交读工具属于「social-reader」包,不得因 exa_search 被旁路注入。
|
|
@@ -73,7 +81,6 @@ var TOOL_PACKS = {
|
|
|
73
81
|
"launchProcess",
|
|
74
82
|
"listProcesses",
|
|
75
83
|
"taskWait",
|
|
76
|
-
"taskLogs",
|
|
77
84
|
"taskStop",
|
|
78
85
|
// watchCompletion:push 后登记「业务终态订阅」,部署结束时服务端唤醒父对话
|
|
79
86
|
// (等待期间 0 轮询 0 token)。与代码工作流同链路(push → CI → 通知),随
|
|
@@ -273,7 +280,10 @@ function resolveEffectiveEnabledPacks(args) {
|
|
|
273
280
|
];
|
|
274
281
|
}
|
|
275
282
|
var SYSTEM_BUILTIN_SKILL_PACK_IDS = SYSTEM_AGENT_CAPABILITY_IDS;
|
|
276
|
-
var DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS = [
|
|
283
|
+
var DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS = [
|
|
284
|
+
"agent-orchestration",
|
|
285
|
+
"conversation-todo"
|
|
286
|
+
];
|
|
277
287
|
function getDefaultSystemCapabilityTools() {
|
|
278
288
|
const ids = DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS;
|
|
279
289
|
return SYSTEM_AGENT_CAPABILITY_PACKS.filter((pack) => ids.includes(pack.id)).flatMap((pack) => [...pack.tools]);
|
|
@@ -366,6 +376,160 @@ function applyDefaultWebToolPacks(args) {
|
|
|
366
376
|
return [...enhanced];
|
|
367
377
|
}
|
|
368
378
|
|
|
379
|
+
// packages/ai/skills/builtinObjectSkills.ts
|
|
380
|
+
var BUILTIN_OBJECT_SKILL_IDS = {
|
|
381
|
+
table: "builtin-table-skill-v1",
|
|
382
|
+
doc: "builtin-doc-skill-v1",
|
|
383
|
+
// key 改名为 code-style(它本来就叫「编码风格技能」,"code" 这个名字是它抢的,
|
|
384
|
+
// 与「代码执行」能力包撞车)。**id 值保持不变**——skillId 与页面 key 都从它派生,
|
|
385
|
+
// 改了会让存量 agent.references 失配。
|
|
386
|
+
"code-style": "builtin-code-skill-v1",
|
|
387
|
+
image: "builtin-image-skill-v1",
|
|
388
|
+
file: "builtin-file-skill-v1",
|
|
389
|
+
pagebuilder: "builtin-pagebuilder-skill-v1"
|
|
390
|
+
};
|
|
391
|
+
var SKILL_DEFS = {
|
|
392
|
+
doc: {
|
|
393
|
+
id: BUILTIN_OBJECT_SKILL_IDS.doc,
|
|
394
|
+
name: "\u6587\u6863\u7F16\u8F91\u6280\u80FD",
|
|
395
|
+
description: "\u63D0\u4F9B\u6587\u6863\u8BFB\u53D6\u4E0E\u66F4\u65B0\u80FD\u529B\uFF0C\u4F9B\u6587\u6863\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u6587\u6863\u3001\u6DA6\u8272\u3001\u6539\u5199\u3001\u7EED\u5199\u3001\u6392\u7248\u3001\u6587\u7AE0\u3001document\u3001polish\u3002",
|
|
396
|
+
toolNames: ["readDoc", "updateDoc"],
|
|
397
|
+
promptPatch: [
|
|
398
|
+
"\u6587\u6863\u7F16\u8F91\u6307\u5357\uFF1A",
|
|
399
|
+
"1. \u4FEE\u6539\u524D\u5148 readDoc \u8BFB\u53D6\u5F53\u524D\u6587\u6863\u771F\u503C\uFF0C\u518D\u57FA\u4E8E\u73B0\u6709\u5185\u5BB9\u7528 updateDoc \u505A\u5B9A\u70B9\u589E\u91CF\u7F16\u8F91\u3002",
|
|
400
|
+
"2. \u4E0D\u8981\u8131\u79BB\u73B0\u6709\u5185\u5BB9\u7A7A\u60F3\u91CD\u5199\uFF1B\u6DA6\u8272/\u6539\u5199/\u7EED\u5199\u90FD\u5E94\u4FDD\u7559\u7528\u6237\u539F\u6709\u7684\u7ED3\u6784\u4E0E\u4E8B\u5B9E\u3002"
|
|
401
|
+
].join("\n")
|
|
402
|
+
},
|
|
403
|
+
table: {
|
|
404
|
+
id: BUILTIN_OBJECT_SKILL_IDS.table,
|
|
405
|
+
name: "\u8868\u683C\u7F16\u8F91\u6280\u80FD",
|
|
406
|
+
description: "\u63D0\u4F9B\u8868\u683C\u521B\u5EFA\u3001\u67E5\u8BE2\u3001\u65B0\u589E\u3001\u66F4\u65B0\u4E0E\u5220\u9664\u80FD\u529B\uFF0C\u4F9B\u8868\u683C\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u8868\u683C\u3001\u5EFA\u8868\u3001\u65B0\u589E\u4E00\u884C\u3001\u8BB0\u5F55\u3001\u5B57\u6BB5\u3001table\u3001spreadsheet\u3001csv\u3002",
|
|
407
|
+
// 与 app-builder 能力包共用同一份清单(TOOL_PACKS.TABLE)。
|
|
408
|
+
// 以前两边各抄一份,改一个忘另一个就会静默不同步。
|
|
409
|
+
toolNames: [...TOOL_PACKS.TABLE],
|
|
410
|
+
promptPatch: [
|
|
411
|
+
"\u8868\u683C\u64CD\u4F5C\u6307\u5357\uFF1A",
|
|
412
|
+
"1. \u7528\u6237\u8981\u65B0\u5EFA\u8868\u683C\u65F6\uFF0C\u8C03\u7528 createTable\uFF0C\u5E76\u4ECE\u9700\u6C42\u63A8\u65AD\u5408\u7406\u7684\u5B57\u6BB5\u8BBE\u8BA1\uFF08\u5B57\u6BB5\u540D\u3001\u7C7B\u578B\u3001\u5FC5\u586B\u3001\u53EF\u9009\u503C\uFF09\u3002",
|
|
413
|
+
"2. \u65B0\u589E\u8BB0\u5F55\u5FC5\u987B\u8C03\u7528 addTableRow / addTableRows\uFF0C\u4E0D\u8981\u53EA\u5728\u56DE\u7B54\u91CC\u53E3\u5934\u63CF\u8FF0\u3002",
|
|
414
|
+
"3. addTableRow \u7684 values \u662F\u5BF9\u8C61\uFF0Ckey \u5FC5\u987B\u7528\u5B57\u6BB5\u540D\uFF08name\uFF0C\u4E0D\u662F\u663E\u793A\u540D label\uFF09\uFF1B\u5C3D\u91CF\u4ECE\u7528\u6237\u81EA\u7136\u8BED\u8A00\u63A8\u65AD\u5E76\u586B\u6EE1\u76F8\u5173\u5B57\u6BB5\uFF0C\u5FC5\u586B\u5B57\u6BB5\u5C24\u5176\u6CE8\u610F\uFF1B\u7528\u6237\u6CA1\u63D0\u5230\u7684\u5B57\u6BB5\u53EF\u7528\u7A7A\u5B57\u7B26\u4E32\u6216 null \u5360\u4F4D\uFF1B\u7EDD\u4E0D\u8981\u4F20\u7A7A\u5BF9\u8C61 {}\u3002",
|
|
415
|
+
"4. \u66F4\u65B0\u6216\u5220\u9664\u524D\uFF0C\u5148\u7528 queryTableRows \u786E\u8BA4\u76EE\u6807\u884C\uFF0C\u5FC5\u8981\u65F6\u5411\u7528\u6237\u786E\u8BA4\u76EE\u6807\u884C/\u5B57\u6BB5\u3002"
|
|
416
|
+
].join("\n")
|
|
417
|
+
},
|
|
418
|
+
"code-style": {
|
|
419
|
+
id: BUILTIN_OBJECT_SKILL_IDS["code-style"],
|
|
420
|
+
name: "\u7F16\u7801\u98CE\u683C\u6280\u80FD",
|
|
421
|
+
description: "\u63D0\u4F9B\u7F16\u7801\u89C4\u8303\u4E0E\u98CE\u683C\u7EA6\u675F\uFF0C\u4F9B\u4EE3\u7801\u4EFB\u52A1\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u4EE3\u7801\u3001\u7F16\u7801\u3001\u91CD\u6784\u3001\u4FEEbug\u3001code\u3001refactor\u3001bugfix\u3001coding-style\u3002",
|
|
422
|
+
toolNames: [],
|
|
423
|
+
promptPatch: [
|
|
424
|
+
"\u7F16\u7801\u98CE\u683C\u4E0E\u89C4\u8303\u6307\u5357\uFF1A",
|
|
425
|
+
"1. \u6587\u4EF6\u62C6\u5206\uFF1A\u4F18\u5148\u62C6\u5206\u4E3A\u591A\u6587\u4EF6\uFF08MANY SMALL FILES\uFF09\uFF0C\u5178\u578B\u957F\u5EA6 200-400 \u884C\uFF0C\u5355\u6587\u4EF6\u6700\u591A 800 \u884C\uFF08800 max\uFF09\u3002",
|
|
426
|
+
"2. \u51FD\u6570\u4E0E\u5D4C\u5957\uFF1A\u51FD\u6570\u4FDD\u6301\u77ED\u5C0F\uFF08<50 lines\uFF09\uFF0C\u4F18\u5148\u4F7F\u7528 early returns \u63D0\u524D\u8FD4\u56DE\uFF0C\u5D4C\u5957\u5C42\u7EA7\u4E0D\u8D85\u8FC7 4 \u5C42\uFF08nesting \u22644\uFF09\u3002",
|
|
427
|
+
"3. \u4E0D\u53EF\u53D8\u6027\uFF08immutability\uFF09\uFF1A\u4FDD\u6301\u6570\u636E\u4E0D\u53EF\u53D8\uFF0C\u4E0D\u8981\u539F\u5730 mutate \u73B0\u6709\u5BF9\u8C61\u6216\u6570\u7EC4\uFF0C\u5FC5\u987B\u8FD4\u56DE\u65B0\u5BF9\u8C61/\u6570\u7EC4\u3002",
|
|
428
|
+
"4. \u9519\u8BEF\u5904\u7406\u4E0E\u6821\u9A8C\uFF1A\u663E\u5F0F\u5904\u7406\u6240\u6709\u9519\u8BEF\uFF08explicit error handling\uFF09\uFF0C\u5728\u7CFB\u7EDF\u8FB9\u754C\u5B8C\u6210\u6821\u9A8C\uFF08validate at boundaries\uFF09\uFF0C\u4E0D\u9690\u5F0F\u541E\u9519\u3002",
|
|
429
|
+
"5. \u5B8C\u6210\u524D Checklist\uFF1A\u5B8C\u6210\u524D\u81EA\u67E5\u51FD\u6570/\u6587\u4EF6\u5C3A\u5BF8\u3001\u5D4C\u5957\u6DF1\u5EA6\u3001\u4E0D\u53EF\u53D8\u6027\u4E0E\u8FB9\u754C\u9519\u8BEF\u5904\u7406\u3002"
|
|
430
|
+
].join("\n")
|
|
431
|
+
},
|
|
432
|
+
image: {
|
|
433
|
+
id: BUILTIN_OBJECT_SKILL_IDS.image,
|
|
434
|
+
name: "\u56FE\u7247\u5206\u6790\u6280\u80FD",
|
|
435
|
+
description: "\u63D0\u4F9B\u56FE\u7247\u7406\u89E3\u3001\u63CF\u8FF0\u4E0E\u6574\u7406\u5EFA\u8BAE\u80FD\u529B\uFF0C\u4F9B\u56FE\u7247\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u56FE\u7247\u3001\u56FE\u50CF\u3001\u5206\u6790\u3001\u63CF\u8FF0\u3001\u547D\u540D\u3001\u6574\u7406\u3001image\u3001photo\u3001picture\u3002",
|
|
436
|
+
toolNames: [],
|
|
437
|
+
promptPatch: [
|
|
438
|
+
"\u56FE\u7247\u5206\u6790\u6307\u5357\uFF1A",
|
|
439
|
+
"1. \u5F53\u524D\u9636\u6BB5\u91CD\u70B9\u56F4\u7ED5\u5F53\u524D\u56FE\u7247\u505A\u7406\u89E3\u3001\u63CF\u8FF0\u3001\u63D0\u70BC\u91CD\u70B9\u3001\u7ED9\u51FA\u547D\u540D/\u6574\u7406\u5EFA\u8BAE\u548C\u540E\u7EED\u5904\u7406\u5EFA\u8BAE\u3002",
|
|
440
|
+
"2. \u4E0D\u8981\u5047\u88C5\u5DF2\u7ECF\u5177\u5907\u590D\u6742\u56FE\u7247\u7F16\u8F91\u80FD\u529B\uFF1B\u5982\u679C\u7528\u6237\u8981\u66F4\u5F3A\u64CD\u4F5C\uFF0C\u660E\u786E\u8BF4\u660E\u5F53\u524D\u53EF\u505A\u7684\u662F\u5206\u6790\u4E0E\u7EC4\u7EC7\u3002"
|
|
441
|
+
].join("\n")
|
|
442
|
+
},
|
|
443
|
+
file: {
|
|
444
|
+
id: BUILTIN_OBJECT_SKILL_IDS.file,
|
|
445
|
+
name: "\u6587\u4EF6\u5904\u7406\u6280\u80FD",
|
|
446
|
+
description: "\u63D0\u4F9B\u6587\u4EF6\u7406\u89E3\u3001\u6574\u7406\u4E0E\u5904\u7406\u5EFA\u8BAE\u80FD\u529B\uFF0C\u4F9B\u6587\u4EF6\u52A9\u624B\u4F7F\u7528\u3002\u89E6\u53D1\u8BCD\uFF1A\u6587\u4EF6\u3001\u89E3\u6790\u3001\u63D0\u53D6\u3001\u6574\u7406\u3001\u5904\u7406\u3001file\u3001document\u3001pdf\u3002",
|
|
447
|
+
toolNames: [],
|
|
448
|
+
promptPatch: [
|
|
449
|
+
"\u6587\u4EF6\u5904\u7406\u6307\u5357\uFF1A",
|
|
450
|
+
"1. \u5F53\u524D\u9636\u6BB5\u91CD\u70B9\u56F4\u7ED5\u5F53\u524D\u6587\u4EF6\u63D0\u4F9B\u7406\u89E3\u3001\u6574\u7406\u3001\u63D0\u53D6\u4E0E\u540E\u7EED\u5904\u7406\u5EFA\u8BAE\u3002",
|
|
451
|
+
"2. \u4E0D\u8981\u5047\u88C5\u5DF2\u7ECF\u5B8C\u6210\u6587\u4EF6\u5185\u5BB9\u89E3\u6790\uFF1B\u5FC5\u8981\u65F6\u660E\u786E\u544A\u8BC9\u7528\u6237\u5F53\u524D\u66F4\u591A\u662F\u5360\u4F4D\u578B\u5DE5\u4F5C\u6D41\u5165\u53E3\uFF0C\u7B49\u5F85\u540E\u7EED\u63A5\u5165\u66F4\u5B8C\u6574\u7684\u6587\u4EF6\u5904\u7406\u80FD\u529B\u3002"
|
|
452
|
+
].join("\n")
|
|
453
|
+
},
|
|
454
|
+
pagebuilder: {
|
|
455
|
+
id: BUILTIN_OBJECT_SKILL_IDS.pagebuilder,
|
|
456
|
+
name: "\u52A8\u6001\u4EA4\u4E92\u7EC4\u4EF6\u751F\u6210\u6280\u80FD",
|
|
457
|
+
description: "\u628A\u4E00\u53E5\u8BDD\u9700\u6C42\u53D8\u6210\u53EF\u770B\u7684\u4EA4\u4E92\u9875\u9762\u3001\u62A5\u544A\u3001\u770B\u677F\u3001\u4E3B\u9875\u3001\u6559\u7A0B\u3001\u5BF9\u6BD4\u9875\u6216\u8BA1\u5212\u9875\u3002\u4EFB\u4F55 agent \u5728\u9700\u8981\u8F93\u51FA\u53EF\u4EA4\u4E92\u53EF\u89C6\u5316\u6D88\u606F\u65F6\u6309\u9700\u52A0\u8F7D\u3002\u89E6\u53D1\u8BCD\uFF1A\u9875\u9762\u3001\u62A5\u8868\u3001\u770B\u677F\u3001\u65E5\u62A5\u3001\u5468\u62A5\u3001\u4E3B\u9875\u3001\u6559\u7A0B\u3001\u5BF9\u6BD4\u9875\u3001\u8BA1\u5212\u9875\u3001\u53EF\u89C6\u5316\u3001\u4EA4\u4E92\u9875\u9762\u3001\u4EEA\u8868\u76D8\u3001dashboard\u3001report\u3001page\u3001landing\u3002",
|
|
458
|
+
toolNames: [],
|
|
459
|
+
promptPatch: [
|
|
460
|
+
"\u52A8\u6001\u4EA4\u4E92\u7EC4\u4EF6\u751F\u6210\u89C4\u5219\uFF1A",
|
|
461
|
+
"\u4F60\u73B0\u5728\u7684\u4EFB\u52A1\u662F\u628A\u7528\u6237\u9700\u6C42\u53D8\u6210\u4E00\u4E2A\u53EF\u770B\u7684\u4EA4\u4E92\u9875\u9762/\u62A5\u544A/\u770B\u677F/\u4E3B\u9875/\u6559\u7A0B/\u5BF9\u6BD4\u9875/\u8BA1\u5212\u9875\u3002\u7528\u6237\u770B\u4E0D\u5230\u6E90\u7801\uFF0C\u53EA\u4F1A\u770B\u5230\u9875\u9762\u7ED3\u679C\u3002",
|
|
462
|
+
"",
|
|
463
|
+
"\u7EDD\u5BF9\u89C4\u5219\uFF1A",
|
|
464
|
+
"1. \u53EA\u8F93\u51FA\u4E00\u4E2A Markdown \u4EE3\u7801\u5757\uFF0C\u4EE3\u7801\u5757\u8BED\u8A00\u5FC5\u987B\u662F tsx preview\u3002",
|
|
465
|
+
"2. \u4EE3\u7801\u5757\u5916\u4E0D\u8981\u8F93\u51FA\u89E3\u91CA\u3001\u524D\u8A00\u3001\u7ED3\u5C3E\u3001\u6E05\u5355\u6216\u601D\u8003\u8FC7\u7A0B\u3002",
|
|
466
|
+
"3. \u4EE3\u7801\u5FC5\u987B\u5B9A\u4E49\u9876\u5C42 function Example()\uFF0C\u4E0D\u8981\u8C03\u7528 render()\uFF0C\u4E0D\u8981 export default\u3002",
|
|
467
|
+
"4. \u4E0D\u8981\u5199 import\u3002\u8FD0\u884C\u73AF\u5883\u5DF2\u7ECF\u63D0\u4F9B React\u3001useState\u3001useEffect\u3001useMemo\u3001useCallback\u3001useRef\u3001ReactECharts\u3001react-icons/lu \u7684\u56FE\u6807\u7EC4\u4EF6\u3002",
|
|
468
|
+
"5. \u6240\u6709\u4EA4\u4E92\u5FC5\u987B\u5728 Example \u5185\u7528 React state \u5B9E\u73B0\uFF0C\u6309\u94AE\u3001Tab\u3001FAQ\u3001\u6B65\u9AA4\u5207\u6362\u3001\u7B5B\u9009\u90FD\u8981\u771F\u7684\u53EF\u70B9\u51FB\u3002",
|
|
469
|
+
"6. \u4E3A\u4E3B\u8981\u533A\u5757\u52A0 data-artifact-section \u5C5E\u6027\u3002",
|
|
470
|
+
"7. \u751F\u6210\u7ED3\u679C\u4F18\u5148\u662F\u4E00\u9875\u5B8C\u6574\u53EF\u7528\u7684\u9875\u9762\uFF0C\u4E0D\u8981\u53EA\u505A\u5B64\u7ACB\u5361\u7247\u6216\u4E00\u4E2A\u56FE\u3002",
|
|
471
|
+
"8. \u5982\u679C\u7528\u6237\u6CA1\u6709\u7ED9\u5177\u4F53\u6570\u636E\uFF0C\u53EF\u4EE5\u751F\u6210\u5408\u7406\u7684\u793A\u4F8B\u6570\u636E\uFF0C\u4F46\u8981\u4FDD\u6301\u4E1A\u52A1\u53EF\u4FE1\u3002",
|
|
472
|
+
"",
|
|
473
|
+
"\u5404\u7C7B\u9875\u9762\u9ED8\u8BA4\u7ED3\u6784\uFF1A",
|
|
474
|
+
"- \u4FE1\u606F\u5C55\u793A\u7C7B\uFF08\u4E3B\u9875\u3001\u4EA7\u54C1\u4ECB\u7ECD\u3001\u670D\u52A1\u9875\u3001\u4F5C\u54C1\u96C6\u3001\u6D3B\u52A8\u9875\uFF09\uFF1A\u9996\u5C4F\u5B9A\u4F4D\u3001\u670D\u52A1/\u80FD\u529B\u5361\u7247\u3001\u4EE3\u8868\u6210\u679C\u5361\u7247\u3001\u53EF\u4FE1\u80CC\u4E66\u3001\u8054\u7CFB\u6216\u884C\u52A8\u6309\u94AE\u3002",
|
|
475
|
+
"- \u6570\u636E\u5206\u6790\u7C7B\uFF08\u65E5\u62A5\u3001\u5468\u62A5\u3001\u770B\u677F\u3001\u8D28\u68C0\u3001\u9500\u552E\u6F0F\u6597\u3001\u53CD\u9988\u5206\u6790\uFF09\uFF1A\u9876\u90E8\u6458\u8981\u3001\u6838\u5FC3\u6307\u6807\u3001\u8D8B\u52BF\u56FE\u3001\u660E\u7EC6\u8868\u683C\u6216\u5F02\u5E38\u5217\u8868\u3001\u4E0B\u4E00\u6B65\u5EFA\u8BAE\u3002",
|
|
476
|
+
"- \u6D41\u7A0B\u8BF4\u660E\u7C7B\uFF08\u6559\u7A0B\u3001SOP\u3001onboarding\u3001\u64CD\u4F5C\u6307\u5357\u3001\u8BFE\u7A0B\u6B65\u9AA4\uFF09\uFF1A\u5B66\u4E60\u76EE\u6807\u3001\u6B65\u9AA4\u5361\u7247\u3001\u793A\u4F8B/\u7EC3\u4E60\u3001\u68C0\u67E5\u6E05\u5355\u6216\u4E0B\u4E00\u6B65\u6309\u94AE\u3002",
|
|
477
|
+
"- \u51B3\u7B56\u6BD4\u8F83\u7C7B\uFF08\u65B9\u6848\u5BF9\u6BD4\u3001\u4EA7\u54C1\u9009\u578B\u3001\u7ADE\u54C1\u5206\u6790\u3001\u91C7\u8D2D\u5EFA\u8BAE\uFF09\uFF1A\u5BF9\u6BD4\u7EF4\u5EA6\u8868\u683C\u3001\u4F18\u7F3A\u70B9\u5361\u7247\u3001\u8BC4\u5206\u6216\u9002\u914D\u5EA6\u3001\u63A8\u8350\u7ED3\u8BBA\u3002",
|
|
478
|
+
"- \u8BA1\u5212\u6392\u5E03\u7C7B\uFF08\u9879\u76EE\u8BA1\u5212\u3001\u5B66\u4E60\u8BA1\u5212\u3001\u5185\u5BB9\u65E5\u5386\u3001\u53D1\u5E03\u8282\u594F\uFF09\uFF1A\u9636\u6BB5\u76EE\u6807\u3001\u4EFB\u52A1\u5217\u8868\u3001\u4F18\u5148\u7EA7\u3001\u91CC\u7A0B\u7891\u5361\u7247\u3001\u98CE\u9669\u63D0\u9192\u3002",
|
|
479
|
+
"- \u6DF7\u5408\u6C47\u62A5\u7C7B\uFF08\u878D\u8D44\u9875\u3001\u9879\u76EE\u6982\u89C8\u3001\u590D\u6742\u6C47\u62A5\uFF09\uFF1A\u81F3\u5C11\u5305\u542B MetricCard\u3001Chart\u3001Table \u548C Section\uFF0C\u4E0D\u8981\u53EA\u505A\u5355\u4E00\u5217\u8868\u3002",
|
|
480
|
+
"- \u6559\u7A0B/\u6B65\u9AA4/FAQ/Tab/\u7B5B\u9009/\u9875\u9762\u5185\u8DF3\u8F6C\u5FC5\u987B\u505A\u6210\u771F\u5B9E\u53EF\u70B9\u51FB\u4EA4\u4E92\u3002",
|
|
481
|
+
"",
|
|
482
|
+
"\u4EE3\u7801\u98CE\u683C\uFF1A",
|
|
483
|
+
"1. \u4F7F\u7528\u5185\u8054 style \u6216\u7EC4\u4EF6\u5185 <style>\uFF0C\u4E0D\u8981\u4F9D\u8D56 Tailwind \u6216\u5916\u90E8 CSS\u3002",
|
|
484
|
+
"2. \u9875\u9762\u5BBD\u5EA6\u3001\u95F4\u8DDD\u3001\u5B57\u53F7\u8981\u9002\u5408\u6D88\u606F\u5185\u9884\u89C8\uFF1B\u4E0D\u8981\u7528\u8FC7\u5927\u7684\u843D\u5730\u9875 hero\u3002",
|
|
485
|
+
"3. \u989C\u8272\u8981\u514B\u5236\uFF0C\u6709\u5C42\u6B21\uFF1B\u907F\u514D\u6574\u9875\u5355\u4E00\u84DD\u7D2B\u6E10\u53D8\u3002",
|
|
486
|
+
"4. \u8868\u683C\u3001\u56FE\u8868\u3001\u5361\u7247\u3001\u6309\u94AE\u90FD\u8981\u6709 hover/active/focus \u7684\u7EC6\u8282\u3002",
|
|
487
|
+
"5. \u5FC5\u8981\u65F6\u4F7F\u7528 ReactECharts \u753B\u56FE\uFF1B\u7B80\u5355\u67F1\u72B6\u56FE\u4E5F\u53EF\u4EE5\u7528 div \u5B9E\u73B0\uFF0C\u4FDD\u8BC1\u7A33\u5B9A\u3002",
|
|
488
|
+
"6. \u4EE3\u7801\u5C3D\u91CF\u77ED\u800C\u5B8C\u6574\uFF0C\u9ED8\u8BA4 150-260 \u884C\u4EE5\u5185\u3002",
|
|
489
|
+
"",
|
|
490
|
+
"\u8F93\u51FA\u683C\u5F0F\u793A\u4F8B\uFF1A",
|
|
491
|
+
"```tsx preview",
|
|
492
|
+
"function Example() {",
|
|
493
|
+
" const [tab, setTab] = useState('overview');",
|
|
494
|
+
" return <main><section data-artifact-section>...</section></main>;",
|
|
495
|
+
"}",
|
|
496
|
+
"```"
|
|
497
|
+
].join("\n")
|
|
498
|
+
}
|
|
499
|
+
};
|
|
500
|
+
function buildBuiltinObjectSkillConfig(kind) {
|
|
501
|
+
const def = SKILL_DEFS[kind];
|
|
502
|
+
return {
|
|
503
|
+
version: "0.1",
|
|
504
|
+
kind: "skill",
|
|
505
|
+
id: def.id,
|
|
506
|
+
name: def.name,
|
|
507
|
+
description: def.description,
|
|
508
|
+
triggerMode: "explicit",
|
|
509
|
+
toolNames: def.toolNames,
|
|
510
|
+
promptPatch: def.promptPatch
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
function buildBuiltinObjectSkillDbKey(kind, userId) {
|
|
514
|
+
return createKey("page" /* DOC */, userId, BUILTIN_OBJECT_SKILL_IDS[kind]);
|
|
515
|
+
}
|
|
516
|
+
function buildBuiltinObjectSkillReference(kind, userId) {
|
|
517
|
+
return {
|
|
518
|
+
dbKey: buildBuiltinObjectSkillDbKey(kind, userId),
|
|
519
|
+
title: SKILL_DEFS[kind].name,
|
|
520
|
+
type: "instruction"
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
function buildBuiltinObjectSkillPageContent(kind) {
|
|
524
|
+
const def = SKILL_DEFS[kind];
|
|
525
|
+
return buildSkillDocMarkdown({
|
|
526
|
+
body: `# ${def.name}
|
|
527
|
+
|
|
528
|
+
${def.description}`,
|
|
529
|
+
skillConfig: buildBuiltinObjectSkillConfig(kind)
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
|
|
369
533
|
export {
|
|
370
534
|
buildCodeWorkDiscipline,
|
|
371
535
|
TOOL_PACKS,
|
|
@@ -379,5 +543,10 @@ export {
|
|
|
379
543
|
FORCED_TOOLS,
|
|
380
544
|
applyDisabledTools,
|
|
381
545
|
addDefaultLightWebToolsForConfiguredAgents,
|
|
382
|
-
applyDefaultWebToolPacks
|
|
546
|
+
applyDefaultWebToolPacks,
|
|
547
|
+
BUILTIN_OBJECT_SKILL_IDS,
|
|
548
|
+
buildBuiltinObjectSkillConfig,
|
|
549
|
+
buildBuiltinObjectSkillDbKey,
|
|
550
|
+
buildBuiltinObjectSkillReference,
|
|
551
|
+
buildBuiltinObjectSkillPageContent
|
|
383
552
|
};
|
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
} from "./chunk-DWLEOOGR.js";
|
|
7
7
|
import {
|
|
8
8
|
addContentAction
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-V4MJDUSR.js";
|
|
10
10
|
import {
|
|
11
11
|
upload
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-H62HCIUP.js";
|
|
13
13
|
import {
|
|
14
14
|
getRuntimeServerContext
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UKWGR5SS.js";
|
|
16
16
|
import {
|
|
17
17
|
API_ENDPOINTS
|
|
18
18
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -367,6 +367,7 @@ var truncateToolOutputForContext = (text, contextWindow) => {
|
|
|
367
367
|
// packages/ai/context/planCompression.ts
|
|
368
368
|
var MIN_COMPRESS_COUNT = 5;
|
|
369
369
|
var ACTIVE_SUMMARY_TAIL_KEEP_COUNT = 2;
|
|
370
|
+
var COMPACTION_RETENTION_CUSHION_RATIO = 0.18;
|
|
370
371
|
var MIN_TRIGGER_PENDING_COUNT = MIN_COMPRESS_COUNT + ACTIVE_SUMMARY_TAIL_KEEP_COUNT;
|
|
371
372
|
var getMessageTokenCount = (msg) => {
|
|
372
373
|
const content = serializeMessageContent(msg.content) || "";
|
|
@@ -409,13 +410,14 @@ var normalizeContextUsageRatio = (value) => {
|
|
|
409
410
|
const ratio = value > 1 ? value / 100 : value;
|
|
410
411
|
return ratio >= 0 && ratio <= 1 ? ratio : void 0;
|
|
411
412
|
};
|
|
412
|
-
var emptyPlan = (startIndex) => ({
|
|
413
|
+
var emptyPlan = (startIndex, diagnostics) => ({
|
|
413
414
|
shouldCompress: false,
|
|
414
415
|
compressCount: 0,
|
|
415
416
|
msgsToCompress: [],
|
|
416
417
|
msgsToKeep: [],
|
|
417
418
|
newSummarizedBeforeId: void 0,
|
|
418
|
-
startIndex
|
|
419
|
+
startIndex,
|
|
420
|
+
...diagnostics ? { diagnostics } : {}
|
|
419
421
|
});
|
|
420
422
|
function findPendingMessages(allMsgs, summarizedBeforeId) {
|
|
421
423
|
let startIndex = 0;
|
|
@@ -464,15 +466,42 @@ function calculateCompressCount(pendingMsgs, rawMessageBudget, opts) {
|
|
|
464
466
|
}
|
|
465
467
|
return pendingMsgs.length - keepCount;
|
|
466
468
|
}
|
|
469
|
+
function resolveEffectiveCompactionBudgets(args) {
|
|
470
|
+
const {
|
|
471
|
+
contextWindow,
|
|
472
|
+
triggerRatio,
|
|
473
|
+
historyBudget,
|
|
474
|
+
rawMessageBudget,
|
|
475
|
+
summaryTokens,
|
|
476
|
+
cushionRatio = COMPACTION_RETENTION_CUSHION_RATIO
|
|
477
|
+
} = args;
|
|
478
|
+
const maxRetainedRatio = Math.max(
|
|
479
|
+
0.2,
|
|
480
|
+
Number((triggerRatio - cushionRatio).toFixed(4))
|
|
481
|
+
);
|
|
482
|
+
const maxRetainedHistoryBudget = Math.floor(contextWindow * maxRetainedRatio);
|
|
483
|
+
const effectiveHistoryBudget = Math.min(historyBudget, maxRetainedHistoryBudget);
|
|
484
|
+
const effectiveRawMessageBudget = Math.min(
|
|
485
|
+
rawMessageBudget,
|
|
486
|
+
Math.max(0, effectiveHistoryBudget - summaryTokens)
|
|
487
|
+
);
|
|
488
|
+
return {
|
|
489
|
+
effectiveHistoryBudget,
|
|
490
|
+
effectiveRawMessageBudget,
|
|
491
|
+
maxRetainedRatio
|
|
492
|
+
};
|
|
493
|
+
}
|
|
467
494
|
function guardToolChainBoundary(pendingMsgs, compressCount) {
|
|
468
495
|
let count = compressCount;
|
|
469
|
-
while (count
|
|
470
|
-
count
|
|
496
|
+
while (count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
|
|
497
|
+
count++;
|
|
471
498
|
}
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
499
|
+
while (count > 0 && hasOpenEndedToolCall(pendingMsgs[count - 1])) {
|
|
500
|
+
if (count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
|
|
501
|
+
count++;
|
|
502
|
+
} else {
|
|
475
503
|
count--;
|
|
504
|
+
break;
|
|
476
505
|
}
|
|
477
506
|
}
|
|
478
507
|
return count;
|
|
@@ -489,7 +518,20 @@ function planCompression(input) {
|
|
|
489
518
|
coldResume
|
|
490
519
|
} = input;
|
|
491
520
|
const { pendingMsgs, startIndex } = findPendingMessages(allMsgs, summarizedBeforeId);
|
|
492
|
-
if (pendingMsgs.length === 0)
|
|
521
|
+
if (pendingMsgs.length === 0) {
|
|
522
|
+
return emptyPlan(startIndex, {
|
|
523
|
+
pendingMsgCount: 0,
|
|
524
|
+
totalUsed: estimateTokenCount(summary || ""),
|
|
525
|
+
historyBudget: 0,
|
|
526
|
+
triggerRatio: resolveCompressionTriggerRatio(contextWindow),
|
|
527
|
+
realUsageRatio: normalizeContextUsageRatio(realContextUsagePercent),
|
|
528
|
+
triggeredByRealUsage: false,
|
|
529
|
+
triggeredByEstimate: false,
|
|
530
|
+
triggeredByColdResume: false,
|
|
531
|
+
shouldRunActiveSummary: false,
|
|
532
|
+
emptyReason: "no-pending"
|
|
533
|
+
});
|
|
534
|
+
}
|
|
493
535
|
const summaryTokens = estimateTokenCount(summary || "");
|
|
494
536
|
const pendingTokens = pendingMsgs.reduce((sum, msg) => sum + getMessageTokenCount(msg), 0);
|
|
495
537
|
const totalUsed = summaryTokens + pendingTokens;
|
|
@@ -517,14 +559,47 @@ function planCompression(input) {
|
|
|
517
559
|
coldResume,
|
|
518
560
|
lastMsg: pendingMsgs[pendingMsgs.length - 1]
|
|
519
561
|
});
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
keepTailCount: shouldRunActiveSummary || triggeredByRealUsage || triggeredByColdResume,
|
|
562
|
+
const diagnostics = {
|
|
563
|
+
pendingMsgCount: pendingMsgs.length,
|
|
523
564
|
totalUsed,
|
|
524
|
-
historyBudget
|
|
565
|
+
historyBudget,
|
|
566
|
+
triggerRatio,
|
|
567
|
+
realUsageRatio: normalizeContextUsageRatio(realContextUsagePercent),
|
|
568
|
+
triggeredByRealUsage,
|
|
569
|
+
triggeredByEstimate: normalizeContextUsageRatio(realContextUsagePercent) === void 0 && totalUsed >= historyBudget,
|
|
570
|
+
triggeredByColdResume,
|
|
571
|
+
shouldRunActiveSummary
|
|
572
|
+
};
|
|
573
|
+
if (!trigger) {
|
|
574
|
+
return emptyPlan(startIndex, {
|
|
575
|
+
...diagnostics,
|
|
576
|
+
emptyReason: "not-triggered"
|
|
577
|
+
});
|
|
578
|
+
}
|
|
579
|
+
const { effectiveHistoryBudget, effectiveRawMessageBudget } = resolveEffectiveCompactionBudgets({
|
|
580
|
+
contextWindow,
|
|
581
|
+
triggerRatio,
|
|
582
|
+
historyBudget,
|
|
583
|
+
rawMessageBudget,
|
|
584
|
+
summaryTokens
|
|
525
585
|
});
|
|
586
|
+
let compressCount = calculateCompressCount(
|
|
587
|
+
pendingMsgs,
|
|
588
|
+
effectiveRawMessageBudget,
|
|
589
|
+
{
|
|
590
|
+
keepTailCount: shouldRunActiveSummary || triggeredByRealUsage || triggeredByColdResume,
|
|
591
|
+
totalUsed,
|
|
592
|
+
historyBudget: effectiveHistoryBudget
|
|
593
|
+
}
|
|
594
|
+
);
|
|
526
595
|
compressCount = guardToolChainBoundary(pendingMsgs, compressCount);
|
|
527
|
-
if (compressCount < MIN_COMPRESS_COUNT)
|
|
596
|
+
if (compressCount < MIN_COMPRESS_COUNT) {
|
|
597
|
+
return emptyPlan(startIndex, {
|
|
598
|
+
...diagnostics,
|
|
599
|
+
compressCount,
|
|
600
|
+
emptyReason: "below-min-compress-count"
|
|
601
|
+
});
|
|
602
|
+
}
|
|
528
603
|
const msgsToCompress = pendingMsgs.slice(0, compressCount);
|
|
529
604
|
const msgsToKeep = pendingMsgs.slice(compressCount);
|
|
530
605
|
const newSummarizedBeforeId = msgsToCompress[msgsToCompress.length - 1].id;
|
|
@@ -534,7 +609,8 @@ function planCompression(input) {
|
|
|
534
609
|
msgsToCompress,
|
|
535
610
|
msgsToKeep,
|
|
536
611
|
newSummarizedBeforeId,
|
|
537
|
-
startIndex
|
|
612
|
+
startIndex,
|
|
613
|
+
diagnostics: { ...diagnostics, compressCount }
|
|
538
614
|
};
|
|
539
615
|
}
|
|
540
616
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
toolRegistry
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5FBTLSFG.js";
|
|
4
4
|
import {
|
|
5
5
|
i18n_default
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QVKRR2SS.js";
|
|
7
7
|
import {
|
|
8
8
|
canonicalizeToolNames
|
|
9
9
|
} from "./chunk-O6OSWFZQ.js";
|
|
10
10
|
import {
|
|
11
11
|
isNoloHostedProvider
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Q67DOFOO.js";
|
|
13
13
|
import {
|
|
14
14
|
asTrimmedLowercaseString
|
|
15
15
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-AGGIDPCZ.js";
|
|
7
7
|
import {
|
|
8
8
|
getModelConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OIVSQH2O.js";
|
|
10
10
|
import {
|
|
11
11
|
isPlatformHostedImageModel
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Q67DOFOO.js";
|
|
13
13
|
import {
|
|
14
14
|
asOptionalFiniteNumber
|
|
15
15
|
} from "./chunk-WWC7I6TA.js";
|
|
@@ -31,9 +31,10 @@ var getModelPricing = (provider, modelName, _requestedServiceTier) => {
|
|
|
31
31
|
};
|
|
32
32
|
var getModelPricingForModel = (provider, modelName, model) => {
|
|
33
33
|
if (!model.price) return null;
|
|
34
|
+
const rawCacheHit = typeof model.price.inputCacheHit === "number" ? model.price.inputCacheHit : model.price.cachingRead;
|
|
34
35
|
return {
|
|
35
36
|
inputPrice: model.price.input,
|
|
36
|
-
inputCacheHitPrice: typeof
|
|
37
|
+
inputCacheHitPrice: typeof rawCacheHit === "number" ? rawCacheHit : 0,
|
|
37
38
|
outputPrice: model.price.output
|
|
38
39
|
};
|
|
39
40
|
};
|
|
@@ -46,6 +46,7 @@ function extractMessage(error) {
|
|
|
46
46
|
}
|
|
47
47
|
function parseResetsInMs(text) {
|
|
48
48
|
if (!text) return void 0;
|
|
49
|
+
const sanitized = text.replace(/\btrace[\s_-]?id\b[^)\n]*/gi, " ").replace(/\b[0-9a-f]{16,}\b/gi, " ");
|
|
49
50
|
const unitMs = (n, unit) => {
|
|
50
51
|
if (/^d/.test(unit)) return n * 24 * 3600 * 1e3;
|
|
51
52
|
if (/^h/.test(unit)) return n * 3600 * 1e3;
|
|
@@ -54,12 +55,13 @@ function parseResetsInMs(text) {
|
|
|
54
55
|
return NaN;
|
|
55
56
|
};
|
|
56
57
|
const re = /(\d+)\s*(d(?:ay|ays)?|h(?:r|rs|our|ours)?|m(?:in|ins|inute|inutes)?|s(?:ec|ecs|econd|econds)?)/gi;
|
|
58
|
+
const MAX_SINGLE_MATCH_MS = 7 * 24 * 3600 * 1e3;
|
|
57
59
|
let totalMs = 0;
|
|
58
60
|
let matched = false;
|
|
59
61
|
let m;
|
|
60
|
-
while ((m = re.exec(
|
|
62
|
+
while ((m = re.exec(sanitized)) !== null) {
|
|
61
63
|
const ms = unitMs(Number(m[1]), m[2]);
|
|
62
|
-
if (!Number.isFinite(ms)) continue;
|
|
64
|
+
if (!Number.isFinite(ms) || ms > MAX_SINGLE_MATCH_MS) continue;
|
|
63
65
|
totalMs += ms;
|
|
64
66
|
matched = true;
|
|
65
67
|
}
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
patch,
|
|
12
12
|
readAndWait
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-H62HCIUP.js";
|
|
14
14
|
import {
|
|
15
15
|
asOptionalTrimmedString
|
|
16
16
|
} from "./chunk-G3SUCT4W.js";
|
|
@@ -326,7 +326,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
326
326
|
).unwrap();
|
|
327
327
|
if (dbSpaceId) {
|
|
328
328
|
try {
|
|
329
|
-
const { updateContentTitle } = await import("./contentThunks-
|
|
329
|
+
const { updateContentTitle } = await import("./contentThunks-GJV22WVZ.js");
|
|
330
330
|
await dispatch(
|
|
331
331
|
updateContentTitle({
|
|
332
332
|
spaceId: dbSpaceId,
|
|
@@ -365,7 +365,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
367
|
async function createDocState(args, thunkApi) {
|
|
368
|
-
const { createPageAction } = await import("./createPageAction-
|
|
368
|
+
const { createPageAction } = await import("./createPageAction-IR4BGJSI.js");
|
|
369
369
|
return createPageAction(args, thunkApi);
|
|
370
370
|
}
|
|
371
371
|
function subscribe(listener) {
|