nolo-cli 0.18.0 → 0.24.0-alpha.13
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 +9 -18
- package/{_executeModel-X5PCIZN6.js → _executeModel-ZPNYAEFW.js} +46 -44
- package/{action-LT7BRFLK.js → action-5MNAXR5B.js} +7 -6
- package/{addContentAction-PL3KKBDH.js → addContentAction-UNSYTVTB.js} +5 -5
- package/{addDialogAgentAction-FCMSKYAF.js → addDialogAgentAction-LJGNP2AO.js} +5 -5
- package/{agentDeleteCommand-2BZDQV36.js → agentDeleteCommand-5ZV4433K.js} +27 -26
- package/{agentEmailCommands-2QJDGRMB.js → agentEmailCommands-Z7KOYDVQ.js} +57 -55
- package/{agentListCommands-6VEPTKBI.js → agentListCommands-UQUXJYUN.js} +30 -26
- package/{agentMachineCommands-NVVHNWYI.js → agentMachineCommands-53O6P6L5.js} +25 -24
- package/{agentRecordCommands-4GGRDMD4.js → agentRecordCommands-ZRYNBSSS.js} +52 -50
- package/{agentRunCommand-XOLQNKBZ.js → agentRunCommand-B73MKVOG.js} +55 -54
- package/{agentRunControl-Y5AFH5PQ.js → agentRunControl-SNUKXN6J.js} +6 -2
- package/{agentRuntimeLocal-7WYWCGL4.js → agentRuntimeLocal-GVNERRKQ.js} +21 -18
- package/{agentSlice-EAXPGEYV.js → agentSlice-OJBHIL34.js} +5 -5
- package/{appDeleteCommands-77KR2RJ4.js → appDeleteCommands-23Z3Z6KE.js} +23 -22
- package/{appDeployCommands-K7CAHGBI.js → appDeployCommands-3MFAR4Z7.js} +23 -22
- package/{appDeployStatusCommands-4OEKLTBT.js → appDeployStatusCommands-JHU6GSN4.js} +23 -22
- package/{appGetCommands-VM2WDLAZ.js → appGetCommands-24J55H2Y.js} +23 -22
- package/{appListCommands-GX6BBA6U.js → appListCommands-HE5KP3PH.js} +23 -22
- package/{authCommand-DY6UUL6O.js → authCommand-KGRK6MNU.js} +12 -13
- package/{authCommands-XTBV7OFZ.js → authCommands-JSOG2H4E.js} +4 -5
- package/{chunk-OWOHNGCN.js → chunk-2MBTWINN.js} +42 -3
- package/{chunk-MVQ4TBSD.js → chunk-54VHTARN.js} +1 -1
- package/{chunk-RQN4SEKL.js → chunk-5DWZ46RJ.js} +1 -1
- package/{chunk-VYHDJEQD.js → chunk-5EDKWSQN.js} +136 -78
- package/{chunk-Z4NR32XR.js → chunk-5RGU3J7P.js} +13 -0
- package/{chunk-7BUYEZ6U.js → chunk-7H3UTGPM.js} +12 -72
- package/{chunk-3ZX7PERL.js → chunk-AAWJ5S3G.js} +20 -7
- package/{chunk-SCTYAHYK.js → chunk-ADE6577S.js} +237 -142
- package/{chunk-PJSV3IZ5.js → chunk-AOPOTHFK.js} +1 -1
- package/{chunk-3ND52WIL.js → chunk-ATWUOTJP.js} +180 -24
- package/{chunk-SWDPIPOY.js → chunk-AZW5AHMW.js} +1 -1
- package/chunk-CF7S2RYZ.js +376 -0
- package/{chunk-L4F3I4SR.js → chunk-CV6BM7LU.js} +4 -6
- package/{chunk-G5U6LDLG.js → chunk-CWTT2NZ6.js} +6 -6
- package/{chunk-MKA6QE5E.js → chunk-CZHE6LLV.js} +135 -55
- package/{chunk-KFEVY3ST.js → chunk-D34RI6NI.js} +18 -8
- package/{chunk-XRZJGPFI.js → chunk-FON47ACC.js} +4 -4
- package/{chunk-K6EUAOW3.js → chunk-FXFGNOT2.js} +67 -1
- package/{chunk-LLWKHDG4.js → chunk-G36SUBHA.js} +14 -6
- package/{chunk-REA4JLBH.js → chunk-GD23ZX7Z.js} +7 -6
- package/{chunk-ROWQEJRP.js → chunk-GE6IWA5N.js} +12 -4
- package/{chunk-EDV7EBOI.js → chunk-GGB6MPHD.js} +2155 -1503
- package/{chunk-IYEXFJPC.js → chunk-GNGOZMU2.js} +64 -57
- package/{chunk-4T5F7YZQ.js → chunk-I6RJGORZ.js} +1 -1
- package/{chunk-DFCFMCY6.js → chunk-J2WT5CEO.js} +2 -2
- package/{chunk-AHCY2S2I.js → chunk-JJ2WUBFN.js} +1 -1
- package/{chunk-UGUW3FHG.js → chunk-JMSCXQUG.js} +2 -2
- package/{chunk-VDXCXCXH.js → chunk-KURQBS7S.js} +1 -1
- package/{chunk-FQZZLA3C.js → chunk-KXKQO4Q6.js} +17 -0
- package/{chunk-3Q7WHGCB.js → chunk-L65QKSVJ.js} +1 -1
- package/{chunk-UAIVG4J6.js → chunk-LEHTC2FI.js} +1 -8
- package/{chunk-UBHAWFQ6.js → chunk-LLDGWLML.js} +42 -19
- package/{chunk-JLA4FXYC.js → chunk-MALVZUYL.js} +1 -1
- package/{chunk-N54HIJVJ.js → chunk-MCXQNEJ3.js} +101 -9
- package/{chunk-GFUIQ4RY.js → chunk-MXFQHRSS.js} +1 -1
- package/{chunk-LSFAWXKC.js → chunk-N7J63Q6C.js} +1 -0
- package/{chunk-6Y7A3OQQ.js → chunk-NRY4GCKJ.js} +2 -0
- package/{chunk-ELT65PZW.js → chunk-OXLLFZNF.js} +1 -1
- package/{chunk-YGW4G5W5.js → chunk-P3RZ6DHN.js} +133 -25
- package/{chunk-5MIDPSSK.js → chunk-PB7G5MAM.js} +3 -3
- package/{chunk-HEGV7BH3.js → chunk-PMCKFQYC.js} +1 -1
- package/{chunk-23FZYPLC.js → chunk-PTKI7TIN.js} +911 -1064
- package/{chunk-MHSGJW4Z.js → chunk-PXPISYEH.js} +44 -14
- package/{chunk-I2ZJKTG5.js → chunk-PY7VGC5M.js} +29 -10
- package/{chunk-PIZYJVHQ.js → chunk-RM464B7I.js} +4 -4
- package/{chunk-XHG22OEX.js → chunk-ROJI6DRT.js} +2 -2
- package/{chunk-VNAEBGDK.js → chunk-RZNYL4LW.js} +123 -26
- package/{chunk-RVOUXDFU.js → chunk-S6KVFOUG.js} +6 -34
- package/{chunk-BV4VEE3W.js → chunk-S7AV3NCK.js} +277 -357
- package/{chunk-R35XMF6F.js → chunk-SIUEKVK4.js} +484 -67
- package/{chunk-B5TOXZAK.js → chunk-SIZQB7BD.js} +1 -1
- package/{chunk-DFFIZ25G.js → chunk-SLOGKB7M.js} +4 -1
- package/{chunk-MPVYDS7I.js → chunk-TLYHUIWF.js} +3 -3
- package/{chunk-HWW2M4SN.js → chunk-TNM27YZ7.js} +5 -4
- package/{chunk-OK6YSWLH.js → chunk-TWA4L7J7.js} +1 -1
- package/chunk-UZ6XXCVR.js +50 -0
- package/{chunk-DKZFOK24.js → chunk-WCP5FDTF.js} +16 -304
- package/{chunk-TRT4I4UD.js → chunk-WSQLK2KR.js} +2 -2
- package/{chunk-FXUSIQC2.js → chunk-XNZJVYFS.js} +1 -1
- package/{chunk-V3ED5AWK.js → chunk-YJY7HODU.js} +27 -16
- package/chunk-YYLHWIW6.js +48 -0
- package/{chunk-CZ6NYQTV.js → chunk-ZFL3LTU7.js} +2 -2
- package/{chunk-34WPV75U.js → chunk-ZUXIXYJI.js} +1 -1
- package/{chunk-VC6OZXO5.js → chunk-ZWJOGMKH.js} +2 -26
- package/{cliExecutor-DNE7TCC4.js → cliExecutor-K3F7DMRO.js} +2 -2
- package/{codingSkills-36KN5NQT.js → codingSkills-EN6Z6G6U.js} +4 -4
- package/{createAgentAutomationAction-GNFF524X.js → createAgentAutomationAction-PO62NUR7.js} +19 -18
- package/{createDialogAction-RB55KCLO.js → createDialogAction-ORFRYI3C.js} +22 -20
- package/{createPageAction-Y7343GLU.js → createPageAction-XWVMNTYH.js} +20 -19
- package/{db-W3O47YGF.js → db-W5UHK4P3.js} +150 -0
- package/{dbSlice-CGSRFJN3.js → dbSlice-5BKDURDL.js} +4 -4
- package/{dialogCommands-IAZK6YHQ.js → dialogCommands-XTJHROXM.js} +24 -23
- package/{dialogSlice-UQAXF23P.js → dialogSlice-DJXC53YW.js} +24 -18
- package/{docCreateCommands-I2EWZGCI.js → docCreateCommands-T2XRVXYS.js} +24 -27
- package/{docDeleteCommands-IZ45UZKG.js → docDeleteCommands-L7RXFXY3.js} +25 -24
- package/{docReadCommands-R6Z4QJYU.js → docReadCommands-M5PYNADQ.js} +24 -23
- package/{docStore-5HOJ4D7D.js → docStore-6LKLLFDW.js} +20 -19
- package/{docUpdateCommands-2LRBKQPY.js → docUpdateCommands-OA5EGPLQ.js} +24 -27
- package/{fetchMessages-BMGVZVSE.js → fetchMessages-W4IKHPCS.js} +2 -3
- package/{getPricing-G7DLAST6.js → getPricing-6C3C47Y4.js} +3 -3
- package/{handleSendMessageAction-Q4HY35WX.js → handleSendMessageAction-ILFGZTN5.js} +23 -20
- package/index.js +74 -74
- package/{localDialogRead-4H3QJFLW.js → localDialogRead-JXTAHW2E.js} +2 -2
- package/{machineCommands-PKBPQKTY.js → machineCommands-AKAQGPAO.js} +59 -57
- package/{machineWsRunDispatch-UZAW4OXJ.js → machineWsRunDispatch-RSBERM64.js} +51 -49
- package/{models-DJFSJ7SW.js → models-ILWKIX2Y.js} +2 -2
- package/package.json +1 -1
- package/{read-3FMPZPER.js → read-F3L3T2WJ.js} +2 -1
- package/{readDocTool-VSYHKK3V.js → readDocTool-FOHWVA4R.js} +1 -1
- package/{readlineWorkspace-Y2RDOFZG.js → readlineWorkspace-TUH3SFHO.js} +937 -430
- package/{removeDialogAgentAction-OAGA2G3U.js → removeDialogAgentAction-QCFGIUIH.js} +8 -7
- package/{runAgentClientLoop-NBPIKJ6J.js → runAgentClientLoop-C3QB2EXV.js} +45 -38
- package/{setDialogExtraReferencesAction-JZEXA5SL.js → setDialogExtraReferencesAction-DK4CKERU.js} +5 -5
- package/{setPrimaryDialogAgentAction-4ZUQQKDG.js → setPrimaryDialogAgentAction-SJSO6N27.js} +8 -7
- package/{settingSlice-7MNKHZ6R.js → settingSlice-XNM5AFPU.js} +6 -5
- package/{spaceCommands-DHCZ7J5I.js → spaceCommands-SXYOFGUJ.js} +25 -24
- package/{spaceSlice-ZXLLG3CR.js → spaceSlice-6BHMRP5O.js} +21 -18
- package/{streamAgentChatTurn-L3YW6LSB.js → streamAgentChatTurn-GF5W5OIP.js} +140 -98
- package/switchDialogAgentAction-4OAC6QRN.js +61 -0
- package/{tableCommands-BEQAGE4I.js → tableCommands-QSZILI7I.js} +1 -1
- package/{toolApiClient-QI3YBNWB.js → toolApiClient-ISM4ZQX4.js} +2 -2
- package/{tools-ECGXR5QF.js → tools-KBCLJ43G.js} +36 -33
- package/{tuiSummaryLlmCaller-OMSCNHXA.js → tuiSummaryLlmCaller-ARIMGILF.js} +6 -6
- package/{updateCommands-XTW55TOT.js → updateCommands-AK2RDOFR.js} +8 -2
- package/{updateDialogTitleAction-HQ2EUDFT.js → updateDialogTitleAction-LMHZUY4Q.js} +28 -27
- package/chunk-DL6EPNIK.js +0 -50
- package/chunk-V5R4NZP2.js +0 -78
- package/chunk-X4Q4UZEY.js +0 -26
- package/queryRunOverlay-O4LOMMPO.js +0 -161
- package/runOverlayPresentation-ZO4VCWEU.js +0 -11
- package/types-ZSTJ7MPR.js +0 -7
- package/{chunk-X7W4TNB4.js → chunk-CMKUBIGW.js} +3 -3
- package/{runtimeDoctorCommands-E2OUORHK.js → runtimeDoctorCommands-HSU632DY.js} +3 -3
|
@@ -18,6 +18,9 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
shouldReplaceWithNextRecord
|
|
20
20
|
} from "./chunk-GBRG75BQ.js";
|
|
21
|
+
import {
|
|
22
|
+
publicAgentKey
|
|
23
|
+
} from "./chunk-SLOGKB7M.js";
|
|
21
24
|
import {
|
|
22
25
|
NOLO_CLUSTER_SERVERS,
|
|
23
26
|
normalizeKnownServerOrigin
|
|
@@ -26,30 +29,182 @@ import {
|
|
|
26
29
|
normalizeServerOrigin
|
|
27
30
|
} from "./chunk-CF7PE763.js";
|
|
28
31
|
|
|
29
|
-
// packages/core/
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
32
|
+
// packages/core/builtinAgentCatalog.ts
|
|
33
|
+
var BUILTIN_AGENT_CATALOG = [
|
|
34
|
+
// ── 平台内置 6 个(builtinAgents BUILTIN_*)──
|
|
35
|
+
{
|
|
36
|
+
id: "01NOLOAPPBLD000000019KCKT0",
|
|
37
|
+
group: "builtin",
|
|
38
|
+
name: "nolo",
|
|
39
|
+
provider: "nolo",
|
|
40
|
+
model: "deepseek-v4-flash",
|
|
41
|
+
runtimeFallback: true
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: "01APPBUILDER00000001YAII3I",
|
|
45
|
+
group: "builtin",
|
|
46
|
+
name: "\u5E94\u7528\u6784\u5EFA\u52A9\u624B",
|
|
47
|
+
provider: "nolo",
|
|
48
|
+
model: "deepseek-v4-flash"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: "01ECOMMERCEAG00000001PYQ2J",
|
|
52
|
+
group: "builtin",
|
|
53
|
+
name: "\u7535\u5546\u5546\u54C1\u53C2\u6570\u52A9\u624B",
|
|
54
|
+
provider: "openai",
|
|
55
|
+
model: "gpt-5.6-luna"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "01NOLOAGENTCRT000000000001",
|
|
59
|
+
group: "builtin",
|
|
60
|
+
name: "AI \u521B\u5EFA\u52A9\u624B",
|
|
61
|
+
provider: "nolo",
|
|
62
|
+
model: "deepseek-v4-flash"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: "01NOLOFEEDBACKA000000000R2",
|
|
66
|
+
group: "builtin",
|
|
67
|
+
name: "\u53CD\u9988\u5165\u53E3",
|
|
68
|
+
provider: "nolo",
|
|
69
|
+
model: "deepseek-v4-flash"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: "01CHROMEOPR000000000001",
|
|
73
|
+
group: "builtin",
|
|
74
|
+
name: "Chrome \u64CD\u4F5C\u5458",
|
|
75
|
+
provider: "nolo",
|
|
76
|
+
model: "deepseek-v4-flash"
|
|
77
|
+
},
|
|
78
|
+
// ── quick-chat 档位 / 图片档 public(runtimeFallback)──
|
|
79
|
+
{
|
|
80
|
+
id: "01DSV4FLASHPB00000000JFPFD",
|
|
81
|
+
group: "public",
|
|
82
|
+
name: "DeepSeek V4 Flash",
|
|
83
|
+
provider: "nolo",
|
|
84
|
+
model: "deepseek-v4-flash",
|
|
85
|
+
runtimeFallback: true
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: "01DSV4PRONPB00000001VIR3EK",
|
|
89
|
+
group: "public",
|
|
90
|
+
name: "DeepSeek V4 Pro",
|
|
91
|
+
provider: "nolo",
|
|
92
|
+
model: "deepseek-v4-pro",
|
|
93
|
+
runtimeFallback: true
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
id: "01KIMIK26OLLAMA0000000001",
|
|
97
|
+
group: "public",
|
|
98
|
+
name: "Kimi K2.6",
|
|
99
|
+
provider: "nolo",
|
|
100
|
+
model: "kimi-k2.6",
|
|
101
|
+
runtimeFallback: true
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: "01GPTIMG2GEN00000000SSEBOS",
|
|
105
|
+
group: "public",
|
|
106
|
+
name: "GPT Image 2 \u56FE\u7247\u751F\u6210\u5668",
|
|
107
|
+
provider: "openai",
|
|
108
|
+
model: "gpt-5.6-luna",
|
|
109
|
+
runtimeFallback: true,
|
|
110
|
+
hasImageOutput: true,
|
|
111
|
+
imageModel: "gpt-image-2",
|
|
112
|
+
imageWorkflow: "generate",
|
|
113
|
+
imageConfig: { enabled: true }
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
id: "01GPTIMG2EDT00000001R4R4H4",
|
|
117
|
+
group: "public",
|
|
118
|
+
name: "GPT Image 2 \u56FE\u7247\u7F16\u8F91\u5668",
|
|
119
|
+
provider: "openai",
|
|
120
|
+
model: "gpt-5.6-luna",
|
|
121
|
+
runtimeFallback: true,
|
|
122
|
+
hasImageOutput: true,
|
|
123
|
+
imageModel: "gpt-image-2",
|
|
124
|
+
imageWorkflow: "edit",
|
|
125
|
+
imageConfig: { enabled: true }
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
id: "01GPTIMG2CNT00000000USKZFO",
|
|
129
|
+
group: "public",
|
|
130
|
+
name: "GPT Image 2 \u8FDE\u7EED\u521B\u4F5C\u52A9\u624B",
|
|
131
|
+
provider: "openai",
|
|
132
|
+
model: "gpt-5.6-luna",
|
|
133
|
+
runtimeFallback: true,
|
|
134
|
+
hasImageOutput: true,
|
|
135
|
+
imageModel: "gpt-image-2",
|
|
136
|
+
imageWorkflow: "continuous",
|
|
137
|
+
imageConfig: { enabled: true }
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "01NB2LITEGEN00000001XE1MNO",
|
|
141
|
+
group: "public",
|
|
142
|
+
name: "Nano Banana 2 Lite \u6587\u751F\u56FE",
|
|
143
|
+
provider: "google",
|
|
144
|
+
model: "gemini-3.1-flash-lite-image",
|
|
145
|
+
runtimeFallback: true,
|
|
146
|
+
hasImageOutput: true
|
|
147
|
+
}
|
|
51
148
|
];
|
|
149
|
+
var CATALOG_BY_ID = new Map(BUILTIN_AGENT_CATALOG.map((e) => [e.id, e]));
|
|
150
|
+
function builtinAgentCatalogEntryById(id) {
|
|
151
|
+
if (!id) return void 0;
|
|
152
|
+
return CATALOG_BY_ID.get(id);
|
|
153
|
+
}
|
|
154
|
+
function builtinRuntimeFallbackEntries() {
|
|
155
|
+
return BUILTIN_AGENT_CATALOG.filter((e) => e.runtimeFallback === true);
|
|
156
|
+
}
|
|
157
|
+
function builtinPlatformEntries() {
|
|
158
|
+
return BUILTIN_AGENT_CATALOG.filter((e) => e.group === "builtin");
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// packages/core/builtinAgents.ts
|
|
162
|
+
var entry = (id) => {
|
|
163
|
+
const e = builtinAgentCatalogEntryById(id);
|
|
164
|
+
if (!e) throw new Error(`missing builtin agent catalog entry: ${id}`);
|
|
165
|
+
return e;
|
|
166
|
+
};
|
|
167
|
+
var BUILTIN_NOLO_AGENT_ID = entry("01NOLOAPPBLD000000019KCKT0").id;
|
|
168
|
+
var BUILTIN_NOLO_AGENT_KEY = publicAgentKey(BUILTIN_NOLO_AGENT_ID);
|
|
169
|
+
var BUILTIN_APP_BUILDER_AGENT_ID = entry("01APPBUILDER00000001YAII3I").id;
|
|
170
|
+
var BUILTIN_APP_BUILDER_AGENT_KEY = publicAgentKey(BUILTIN_APP_BUILDER_AGENT_ID);
|
|
171
|
+
var BUILTIN_ECOMMERCE_AGENT_ID = entry("01ECOMMERCEAG00000001PYQ2J").id;
|
|
172
|
+
var BUILTIN_ECOMMERCE_AGENT_KEY = publicAgentKey(BUILTIN_ECOMMERCE_AGENT_ID);
|
|
173
|
+
var BUILTIN_AGENT_CREATOR_AGENT_ID = entry("01NOLOAGENTCRT000000000001").id;
|
|
174
|
+
var BUILTIN_AGENT_CREATOR_AGENT_KEY = publicAgentKey(BUILTIN_AGENT_CREATOR_AGENT_ID);
|
|
175
|
+
var BUILTIN_FEEDBACK_AGENT_ID = entry("01NOLOFEEDBACKA000000000R2").id;
|
|
176
|
+
var BUILTIN_FEEDBACK_AGENT_KEY = publicAgentKey(BUILTIN_FEEDBACK_AGENT_ID);
|
|
177
|
+
var BUILTIN_CHROME_OPERATOR_AGENT_ID = entry("01CHROMEOPR000000000001").id;
|
|
178
|
+
var BUILTIN_CHROME_OPERATOR_AGENT_KEY = publicAgentKey(BUILTIN_CHROME_OPERATOR_AGENT_ID);
|
|
179
|
+
var BUILTIN_PLATFORM_AGENT_KEYS = builtinPlatformEntries().map(
|
|
180
|
+
(e) => publicAgentKey(e.id)
|
|
181
|
+
);
|
|
52
182
|
var BUILTIN_PLATFORM_AGENT_KEY_SET = new Set(BUILTIN_PLATFORM_AGENT_KEYS);
|
|
183
|
+
var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID = entry("01DSV4FLASHPB00000000JFPFD").id;
|
|
184
|
+
var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID);
|
|
185
|
+
var PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID = entry("01DSV4PRONPB00000001VIR3EK").id;
|
|
186
|
+
var PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID);
|
|
187
|
+
var PUBLIC_KIMI_K26_IMAGE_AGENT_ID = entry("01KIMIK26OLLAMA0000000001").id;
|
|
188
|
+
var PUBLIC_KIMI_K26_IMAGE_AGENT_KEY = publicAgentKey(PUBLIC_KIMI_K26_IMAGE_AGENT_ID);
|
|
189
|
+
var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID = entry("01GPTIMG2GEN00000000SSEBOS").id;
|
|
190
|
+
var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID);
|
|
191
|
+
var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID = entry("01GPTIMG2EDT00000001R4R4H4").id;
|
|
192
|
+
var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID);
|
|
193
|
+
var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID = entry("01GPTIMG2CNT00000000USKZFO").id;
|
|
194
|
+
var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID);
|
|
195
|
+
var PUBLIC_NANO_BANANA_2_LITE_AGENT_ID = entry("01NB2LITEGEN00000001XE1MNO").id;
|
|
196
|
+
var PUBLIC_NANO_BANANA_2_LITE_AGENT_KEY = publicAgentKey(PUBLIC_NANO_BANANA_2_LITE_AGENT_ID);
|
|
197
|
+
var DEFAULT_CODE_PLANNER_EXECUTOR_CANDIDATE_KEYS = [
|
|
198
|
+
PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY
|
|
199
|
+
];
|
|
200
|
+
var SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS = [
|
|
201
|
+
PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
|
|
202
|
+
PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY
|
|
203
|
+
];
|
|
204
|
+
var SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET = new Set(
|
|
205
|
+
SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS
|
|
206
|
+
);
|
|
207
|
+
var isSystemBuiltinTrustedAgentKey = (key) => typeof key === "string" && SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET.has(key);
|
|
53
208
|
|
|
54
209
|
// packages/database/actions/agentReadResolution.ts
|
|
55
210
|
var BUILTIN_PLATFORM_AGENT_KEYS2 = [
|
|
@@ -465,11 +620,12 @@ var readAction = async (payload, thunkApi) => {
|
|
|
465
620
|
|
|
466
621
|
export {
|
|
467
622
|
readRequestManager,
|
|
623
|
+
builtinRuntimeFallbackEntries,
|
|
468
624
|
BUILTIN_NOLO_AGENT_KEY,
|
|
469
625
|
PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
|
|
470
|
-
PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
|
|
471
|
-
PUBLIC_GLM_52_AGENT_KEY,
|
|
472
626
|
PUBLIC_KIMI_K26_IMAGE_AGENT_KEY,
|
|
627
|
+
DEFAULT_CODE_PLANNER_EXECUTOR_CANDIDATE_KEYS,
|
|
628
|
+
isSystemBuiltinTrustedAgentKey,
|
|
473
629
|
resolveAgentReadServers,
|
|
474
630
|
readAction
|
|
475
631
|
};
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SYSTEM_AGENT_CAPABILITIES,
|
|
3
|
+
SYSTEM_AGENT_CAPABILITY_IDS
|
|
4
|
+
} from "./chunk-UZ6XXCVR.js";
|
|
5
|
+
|
|
6
|
+
// packages/ai/tools/codeWorkDiscipline.ts
|
|
7
|
+
var CODE_WORK_DISCIPLINE_BODY = `## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
|
|
8
|
+
- \u4E0D\u590D\u8FF0\u9700\u6C42\uFF0C\u4E0D\u89E3\u91CA\u300C\u6253\u7B97\u600E\u4E48\u505A\u300D\uFF0C\u76F4\u63A5\u52A8\u624B\u3002\u6539\u5B8C\u53EA\u7528\u4E00\u4E24\u53E5\u8BDD\u8BF4\u6E05\u300C\u6539\u4E86\u4EC0\u4E48\u3001\u53BB\u54EA\u770B\u300D\u3002
|
|
9
|
+
- \u601D\u8003\u7B80\u77ED\uFF1A\u5B9A\u4F4D\u95EE\u9898\u5373\u53EF\uFF0C\u4E0D\u505A\u957F\u7BC7\u63A8\u6F14\u3002
|
|
10
|
+
- \u5C0F\u6539\u52A8\u8D70\u6700\u77ED\u8DEF\u5F84\uFF1AsearchFiles/globFiles \u5B9A\u4F4D \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
|
|
13
|
+
|
|
14
|
+
## \u4EE3\u7801\u4FEE\u6539\u7EAA\u5F8B
|
|
15
|
+
- \u7F16\u8F91\u524D\u5148 readFile \u786E\u8BA4\u5F53\u524D\u5185\u5BB9\uFF0C\u907F\u514D stale hash \u9519\u8BEF\u3002
|
|
16
|
+
- \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
|
+
- \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
|
+
- \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
|
+
- **\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
|
|
20
|
+
|
|
21
|
+
## Review \u7EAA\u5F8B\uFF08commit \u524D\u786C\u95E8\uFF09
|
|
22
|
+
- \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\u81EA\u5DF1\u3002\u65E0 review \u4E0D commit\u2014\u2014\u8FD9\u662F\u786C\u95E8\uFF0C\u4E0D\u662F\u5EFA\u8BAE\u3002
|
|
23
|
+
- \u6D3E\u53D1\u8D70 \`startAgentRun(agentKey, task, { ephemeral: true })\`\uFF08web/\u684C\u9762\u7AEF\u6CA1\u6709 nolo CLI\uFF0C\u6240\u6709 host \u90FD\u6709\u8FD9\u4E2A\u5DE5\u5177\uFF09\u3002ephemeral \u8BA9 review \u5B8C\u6210\u540E\u4E0D\u7559 dialog \u8BB0\u5F55\u3002
|
|
24
|
+
- 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
|
|
25
|
+
- \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
|
|
26
|
+
- 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
|
|
27
|
+
- review \u53EF\u80FD\u591A\u8F6E\u6536\u655B\uFF08\u6709 finding\u2192\u4FEE\u2192\u518D\u5BA1\u2192\u76F4\u5230 APPROVE\uFF09\u3002\u6BCF\u8F6E review \u662F\u65E0\u4E0A\u4E0B\u6587\u7684\u2014\u2014reviewer \u53EA\u770B\u5F53\u524D\u5DE5\u4F5C\u533A diff\uFF0C\u4E0D\u5E26\u4E0A\u4E00\u8F6E finding \u8BB0\u5FC6\u3002
|
|
28
|
+
- **\u81EA\u52A8 review \u5FAA\u73AF**\uFF1A\u4EFB\u52A1\u5B8C\u6210\u540E**\u81EA\u52A8\u8FDB\u5165 review \u5FAA\u73AF**\uFF0C\u4E0D\u8981\u505C\u5728\u300C\u6539\u5B8C\u4EA4\u4ED8\u300D\u5C31\u7B49\u8C03\u7528\u65B9\u3002\u6D41\u7A0B\uFF1A\u6539\u5B8C \u2192 \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\u9664\u975E\u8C03\u7528\u65B9\u660E\u786E\u8BF4\u300C\u53EA\u6539\u4E0D\u5BA1\u300D\uFF0C\u5426\u5219\u9ED8\u8BA4\u8D70\u5B8C\u6574\u5FAA\u73AF\u3002
|
|
29
|
+
- \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`;
|
|
30
|
+
var buildCodeWorkDiscipline = (heading) => `# ${heading}
|
|
31
|
+
|
|
32
|
+
${CODE_WORK_DISCIPLINE_BODY}`;
|
|
33
|
+
|
|
34
|
+
// packages/ai/tools/toolPacks.ts
|
|
35
|
+
var TOOL_PACKS = {
|
|
36
|
+
// L1 - 核心:交互 + 自我更新,所有 Agent 必有。
|
|
37
|
+
// rememberMemory 已移至「长期记忆」能力包(defaultEnabled:true),用户可单关。
|
|
38
|
+
// searchDialogMessages 已改为内置 skill(search-dialog-messages),按需
|
|
39
|
+
// loadSkill 加载,不再随 CORE 常驻。
|
|
40
|
+
// search_all_spaces 已改为内置 skill(search-all-spaces),按需 loadSkill
|
|
41
|
+
// 加载,不再随 CORE 常驻;全部视图(All View)运行时只给 recommended hint,
|
|
42
|
+
// 不自动注入工具。search_workspace 保持常驻(分类视图的「当前空间」检索)。
|
|
43
|
+
CORE: [
|
|
44
|
+
"ask_user",
|
|
45
|
+
"read",
|
|
46
|
+
"createDoc",
|
|
47
|
+
"updateDoc",
|
|
48
|
+
"search_workspace",
|
|
49
|
+
"updateSelf",
|
|
50
|
+
"queryModelUsage",
|
|
51
|
+
"queryUserGrowthReport",
|
|
52
|
+
"createAgentAutomation",
|
|
53
|
+
"notifyUser",
|
|
54
|
+
"setTodoList"
|
|
55
|
+
],
|
|
56
|
+
// L2 - 联网搜索:与 CAPABILITY_PACKS「web-search」对齐。
|
|
57
|
+
// 社交读工具属于「social-reader」包,不得因 exa_search 被旁路注入。
|
|
58
|
+
LIGHT_WEB: ["exa_search", "fetchWebpage"],
|
|
59
|
+
// 本地工作区代码读写与执行。唯一真相源——「代码执行」能力包与 coding skill
|
|
60
|
+
// 都从这里取。以前两边各抄一份(coding 还多抄了 agent-orchestration 那 3 个),
|
|
61
|
+
// 改一个忘另一个就会静默不同步。
|
|
62
|
+
CODE: [
|
|
63
|
+
"readFile",
|
|
64
|
+
"writeFile",
|
|
65
|
+
"editFile",
|
|
66
|
+
"applyEdit",
|
|
67
|
+
"applyLineEdits",
|
|
68
|
+
"codeSearch",
|
|
69
|
+
"globFiles",
|
|
70
|
+
"searchFiles",
|
|
71
|
+
"listFiles",
|
|
72
|
+
"execShell",
|
|
73
|
+
"launchProcess",
|
|
74
|
+
"listProcesses"
|
|
75
|
+
],
|
|
76
|
+
// 表格读写。唯一真相源——app-builder 能力包与 table object skill 都从这里取,
|
|
77
|
+
// 以前两边各抄一份,改一个忘另一个就会静默不同步。
|
|
78
|
+
TABLE: [
|
|
79
|
+
"createTable",
|
|
80
|
+
"addTableRow",
|
|
81
|
+
"addTableRows",
|
|
82
|
+
"queryTableRows",
|
|
83
|
+
"updateTableRow",
|
|
84
|
+
"deleteTableRow"
|
|
85
|
+
],
|
|
86
|
+
// L3 - 深度浏览器:全套复杂网页交互(与「full-browser」包对齐)
|
|
87
|
+
FULL_BROWSER: [
|
|
88
|
+
"browser_openSession",
|
|
89
|
+
"browser_closeSession",
|
|
90
|
+
"browser_click",
|
|
91
|
+
"browser_typeText",
|
|
92
|
+
"browser_readContent",
|
|
93
|
+
"browser_selectOption",
|
|
94
|
+
"fetchWebpage"
|
|
95
|
+
]
|
|
96
|
+
};
|
|
97
|
+
var SYSTEM_AGENT_CAPABILITY_PACKS = SYSTEM_AGENT_CAPABILITIES.map((capability) => ({ ...capability }));
|
|
98
|
+
var CAPABILITY_PACKS = [
|
|
99
|
+
...SYSTEM_AGENT_CAPABILITY_PACKS,
|
|
100
|
+
{
|
|
101
|
+
id: "long-term-memory",
|
|
102
|
+
label: "\u957F\u671F\u8BB0\u5FC6",
|
|
103
|
+
description: "\u5BF9\u8BDD\u524D\u81EA\u52A8\u8F7D\u5165\u9AD8\u76F8\u5173\u8BB0\u5FC6\uFF0C\u5E76\u5141\u8BB8 agent \u6309\u9700\u67E5\u8BE2\u6216\u5199\u5165\u957F\u671F\u8BB0\u5FC6\u3002",
|
|
104
|
+
tools: ["queryMemory", "rememberMemory"],
|
|
105
|
+
defaultEnabled: true,
|
|
106
|
+
icon: "\u{1F9E0}"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
id: "full-browser",
|
|
110
|
+
label: "\u6DF1\u5EA6\u6D4F\u89C8\u5668",
|
|
111
|
+
description: "\u5B8C\u6574\u6D4F\u89C8\u5668\u81EA\u52A8\u5316\uFF1A\u6253\u5F00\u9875\u9762\u3001\u70B9\u51FB\u3001\u8F93\u5165\u3001\u8BFB\u53D6\u52A8\u6001\u6E32\u67D3\u5185\u5BB9\u3002",
|
|
112
|
+
tools: TOOL_PACKS.FULL_BROWSER,
|
|
113
|
+
defaultEnabled: false,
|
|
114
|
+
icon: "\u{1F5A5}"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: "social-reader",
|
|
118
|
+
label: "\u793E\u4EA4\u5185\u5BB9\u8BFB\u53D6",
|
|
119
|
+
description: "\u8BFB\u53D6 X/Twitter \u5E16\u5B50\u3001\u5C0F\u7EA2\u4E66\u7528\u6237\u753B\u50CF\u7B49\u793E\u4EA4\u5E73\u53F0\u5185\u5BB9\u3002",
|
|
120
|
+
tools: ["read_x_post", "read_xhs_profile"],
|
|
121
|
+
defaultEnabled: false,
|
|
122
|
+
icon: "\u{1F4E1}"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
id: "code",
|
|
126
|
+
label: "\u4EE3\u7801\u6267\u884C",
|
|
127
|
+
description: "\u8BFB\u5199\u4EE3\u7801\u6587\u4EF6\u3001\u641C\u7D22\u4EE3\u7801\u5E93\u3001\u6267\u884C shell \u547D\u4EE4\u2014\u2014\u8BA9 agent \u80FD\u6539\u4EE3\u7801\u3001\u8DD1\u6D4B\u8BD5\u3002",
|
|
128
|
+
tools: [...TOOL_PACKS.CODE],
|
|
129
|
+
defaultEnabled: false,
|
|
130
|
+
icon: "\u{1F4BB}",
|
|
131
|
+
promptPatch: buildCodeWorkDiscipline("\u4EE3\u7801\u6267\u884C\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B")
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: "skills",
|
|
135
|
+
label: "\u6280\u80FD\u52A0\u8F7D",
|
|
136
|
+
description: "\u6309\u540D\u52A0\u8F7D\u5DE5\u4F5C\u533A\u6280\u80FD\uFF08SKILL.md\uFF09\u5E76\u8BFB\u53D6\u6280\u80FD\u6587\u6863\u2014\u2014\u8BA9 agent \u5728\u9700\u8981\u65F6\u628A\u5BF9\u5E94\u6280\u80FD\u7684\u65B9\u6CD5\u8BBA\u3001\u547D\u4EE4\u548C\u6D41\u7A0B\u62C9\u8FDB\u4E0A\u4E0B\u6587\u518D\u6267\u884C\u3002",
|
|
137
|
+
tools: ["loadSkill", "readSkillDoc"],
|
|
138
|
+
defaultEnabled: true,
|
|
139
|
+
icon: "\u{1F4DA}"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
id: "app-builder",
|
|
143
|
+
label: "\u5E94\u7528\u6784\u5EFA",
|
|
144
|
+
description: "\u6784\u5EFA/\u4FEE\u6539/\u53D1\u5E03 Web \u5E94\u7528\uFF1A\u8BFB\u53D6\u5E94\u7528\u6E90\u7801\u3001\u5B9A\u70B9\u4FEE\u6539\u3001\u9884\u68C0\u3001\u90E8\u7F72\uFF0C\u65E0\u9700\u7F16\u7A0B\u7ECF\u9A8C\u3002",
|
|
145
|
+
tools: [
|
|
146
|
+
"appRead",
|
|
147
|
+
"appFileList",
|
|
148
|
+
"appFileSearch",
|
|
149
|
+
"appFileRead",
|
|
150
|
+
"appFileReplace",
|
|
151
|
+
"appFileWrite",
|
|
152
|
+
"appList",
|
|
153
|
+
...TOOL_PACKS.TABLE,
|
|
154
|
+
"openAIGptImage"
|
|
155
|
+
],
|
|
156
|
+
defaultEnabled: false,
|
|
157
|
+
icon: "\u{1F5A5}",
|
|
158
|
+
// 部署那三件(预检 / 部署 / 删除)拆去 app-deploy,这里组合回来:
|
|
159
|
+
// 对外行为不变,但用户可以单独关掉发布权限而保留改代码的能力。
|
|
160
|
+
includes: ["app-deploy"],
|
|
161
|
+
promptPatch: `# \u5E94\u7528\u6784\u5EFA\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B
|
|
162
|
+
|
|
163
|
+
## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
|
|
164
|
+
- \u4E0D\u590D\u8FF0\u7528\u6237\u9700\u6C42\uFF0C\u4E0D\u89E3\u91CA\u4F60\u300C\u6253\u7B97\u600E\u4E48\u505A\u300D\uFF0C\u76F4\u63A5\u52A8\u624B\u3002\u6539\u5B8C\u53EA\u7528\u4E00\u4E24\u53E5\u8BDD\u8BF4\u6E05\u300C\u6539\u4E86\u4EC0\u4E48\u3001\u53BB\u54EA\u770B\u300D\u3002
|
|
165
|
+
- \u601D\u8003\u7B80\u77ED\uFF1A\u5B9A\u4F4D\u95EE\u9898\u5373\u53EF\uFF0C\u4E0D\u505A\u957F\u7BC7\u63A8\u6F14\u3002
|
|
166
|
+
- \u5C0F\u6539\u52A8\uFF08\u6539\u6587\u5B57\u3001\u989C\u8272\u3001\u95F4\u8DDD\u3001\u5706\u89D2\u3001\u5355\u4E2A\u7EC4\u4EF6\uFF09\u8D70\u6700\u77ED\u8DEF\u5F84\uFF1A\`appFileSearch\` \u6216 \`appFileRead\` \u5B9A\u4F4D \u2192 \`appFileReplace\` \u7CBE\u786E\u66FF\u6362 \u2192 \`appPreflight\` \u2192 \`appDeploy\`\u3002\u80FD\u4E00\u6B21\u547D\u4E2D\u5C31\u4E0D\u8981\u53CD\u590D\u8BFB\u6587\u4EF6\u3002
|
|
167
|
+
- \u5DF2\u7ECF\u77E5\u9053\u6587\u4EF6\u548C\u4F4D\u7F6E\u65F6\uFF0C\u8DF3\u8FC7\u591A\u4F59\u7684 search/read\uFF0C\u76F4\u63A5 replace\u3002
|
|
168
|
+
- \u7981\u6B62\u4E3A\u4E00\u4E2A\u5C0F\u6539\u52A8\u6574\u9875\u91CD\u5199\u6216\u8FDE\u5E26\u6539\u52A8\u672A\u547D\u4E2D\u7684\u90E8\u5206\u3002
|
|
169
|
+
|
|
170
|
+
## \u5B9A\u70B9\u4FEE\u6539
|
|
171
|
+
- \u5982\u679C\u4E0A\u4E0B\u6587\u91CC\u5E26\u6709\u7528\u6237\u300C\u9009\u4E2D\u7684\u5143\u7D20\u300D\uFF08cssPath / HTML \u7247\u6BB5 / \u6E90\u7801\u4F4D\u7F6E\uFF09\uFF0C\u76F4\u63A5\u636E\u6B64\u5B9A\u4F4D\uFF0C\u4E0D\u8981\u518D\u5168\u5C40\u641C\u7D22\u3002
|
|
172
|
+
- \u4FEE\u6539\u6536\u655B\u5728\u547D\u4E2D\u7684\u5143\u7D20\u53CA\u5176\u6837\u5F0F\u6765\u6E90\uFF08\u7EC4\u4EF6 / \u7C7B / design token\uFF09\u3002
|
|
173
|
+
|
|
174
|
+
## \u6301\u7EED\u8FED\u4EE3\u6D41\u7A0B
|
|
175
|
+
- \u7528\u6237\u8981\u6539\u529F\u80FD\u6216\u6837\u5F0F\u65F6\uFF0C\u5148\u7528 appList \u627E\u5230\u76EE\u6807\u5E94\u7528\uFF0C\u518D\u7528 appRead \u5224\u65AD\u5F53\u524D\u662F\u6E90\u7801\u5DE5\u4F5C\u533A\u8FD8\u662F\u90E8\u7F72\u4EA7\u7269\uFF1B\u4E00\u65E6\u62FF\u5230 appId\uFF0C\u540E\u7EED\u90FD\u5FC5\u987B\u590D\u7528\u540C\u4E00\u4E2A appId\u3002
|
|
176
|
+
- \u6539\u5B8C\u8D70\u300C\u5E94\u7528\u53D1\u5E03\u300D\u80FD\u529B\u5305\u7684\u9884\u68C0\u90E8\u7F72\u6D41\u7A0B\uFF08appPreflight \u2192 appDeploy\uFF09\u3002\u82E5\u8BE5\u80FD\u529B\u5305\u672A\u542F\u7528\uFF0C\u8BF4\u660E\u672C agent \u53EA\u6709\u6539\u4EE3\u7801\u6743\u9650\u6CA1\u6709\u53D1\u5E03\u6743\u9650\uFF0C\u5982\u5B9E\u544A\u77E5\u7528\u6237\u3002
|
|
177
|
+
|
|
178
|
+
## Nolo React SSR \u7EF4\u62A4\u7EAA\u5F8B\uFF08\u5F53\u524D\u9ED8\u8BA4\u8DEF\u5F84\uFF09
|
|
179
|
+
- \u65B0\u5EFA\u548C\u7EF4\u62A4\u7684\u5E94\u7528\u4F18\u5148\u8D70 Nolo React SSR\uFF08framework: "nolo-react", renderMode: "ssr"\uFF09\u3002
|
|
180
|
+
- \u5F53 appRead \u8FD4\u56DE workspaceRef / sourceFiles / sourceOmitted \u65F6\uFF0C\u4E0D\u8981\u6574\u7AD9\u91CD\u5199\uFF1B\u4F7F\u7528\u53D7\u9650 workspace \u6587\u4EF6\u5DE5\u5177\uFF1AappFileList / appFileSearch / appFileRead / appFileReplace / appFileWrite\u3002
|
|
181
|
+
- \u5C0F\u6539\u52A8\u5FC5\u987B\u4F18\u5148 appFileReplace\uFF1B\u53EA\u6709\u65B0\u5EFA\u6587\u4EF6\u6216\u786E\u5B9E\u9700\u8981\u6574\u6587\u4EF6\u91CD\u5199\u65F6\u624D appFileWrite\u3002
|
|
182
|
+
- \u4E0D\u8981\u9759\u9ED8\u628A nolo-react \u5E94\u7528\u9000\u56DE react-spa \u6216\u5355\u6587\u4EF6 Worker\u3002
|
|
183
|
+
- \u89C6\u89C9\u5FAE\u8C03\u4F18\u5148\u6539 theme / tokens / design system\uFF1B\u65E7\u5199\u6CD5\u5E94\u7528\u53EF\u5148\u505A\u6700\u5C0F token \u8FC1\u79FB\uFF0C\u518D\u6539\u89C6\u89C9\u53C2\u6570\u3002
|
|
184
|
+
|
|
185
|
+
## \u8868\u5355 / \u6570\u636E\u6536\u96C6
|
|
186
|
+
- \u7559\u8A00\u3001\u8054\u7CFB\u8868\u5355\u3001\u9884\u7EA6\u3001\u8BA2\u9605\u3001\u53CD\u9988\u6536\u96C6\u4F18\u5148\u7528\u8868\u5DE5\u5177\uFF0C\u4E0D\u8981\u81EA\u5DF1\u53D1\u660E JSON \u6587\u4EF6\u5B58\u50A8\u3002
|
|
187
|
+
- \u516C\u5F00\u7F51\u9875\u8868\u5355\u5148 createTable\uFF0C\u5E76\u914D\u7F6E publicIntake\uFF08enabled\u3001slug\u3001allowedFields\u3001requiredFields\u3001\u53EF\u9009 honeypotField\uFF09\u3002
|
|
188
|
+
- \u516C\u5F00\u8BBF\u5BA2\u63D0\u4EA4\u53EA\u80FD\u8C03\u7528 /api/table/public-submit\uFF1B\u4E0D\u8981\u628A tenantId\u3001tableId\u3001token \u5199\u8FDB\u516C\u5F00\u5E94\u7528\u4EE3\u7801\u3002
|
|
189
|
+
|
|
190
|
+
## \u9879\u76EE\u7D20\u6750
|
|
191
|
+
- \u9996\u9875\u63D2\u753B\u3001\u5C01\u9762\u3001\u6A2A\u5E45\u3001\u6309\u94AE\u56FE\u6807\u7B49\u89C6\u89C9\u7D20\u6750\uFF0C\u4F18\u5148 openAIGptImage\uFF0C\u518D\u63A5\u5165\u5E94\u7528\u3002
|
|
192
|
+
|
|
193
|
+
## \u901A\u9053\u5F02\u5E38\u6B62\u635F
|
|
194
|
+
- \u5982\u679C\u5DE5\u5177\u8FD4\u56DE HTML / \u975E JSON / transport failure / retryable=false\uFF0C\u505C\u6B62\u81EA\u52A8\u91CD\u8BD5\uFF0C\u8BF4\u660E\u662F\u5E73\u53F0\u901A\u9053\u5F02\u5E38\u3002
|
|
195
|
+
|
|
196
|
+
## \u7F3A\u5C11\u6E90\u7801\u8981\u8BF4\u660E\u98CE\u9669
|
|
197
|
+
- \u5982\u679C appRead \u8BFB\u51FA\u6765\u7684\u662F HTML \u58F3\u3001importmap\u3001\u538B\u7F29 bundle\uFF0C\u5FC5\u987B\u5148\u544A\u77E5\u7528\u6237\u5F53\u524D\u66F4\u50CF\u90E8\u7F72\u4EA7\u7269\u800C\u4E0D\u662F\u53EF\u7EF4\u62A4\u6E90\u7801\uFF0C\u5F97\u5230\u786E\u8BA4\u540E\u518D\u7EE7\u7EED\u5927\u6539\u3002
|
|
198
|
+
`
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
id: "app-deploy",
|
|
202
|
+
label: "\u5E94\u7528\u53D1\u5E03",
|
|
203
|
+
description: "\u9884\u68C0\u5E76\u53D1\u5E03\u5E94\u7528\u5230\u7EBF\u4E0A\uFF0C\u4EE5\u53CA\u5220\u9664\u5DF2\u53D1\u5E03\u7684\u5E94\u7528\u3002\u4E0E\u300C\u5E94\u7528\u6784\u5EFA\u300D\u5206\u5F00\uFF0C\u53EF\u4EE5\u53EA\u7ED9\u6539\u4EE3\u7801\u7684\u80FD\u529B\u800C\u4E0D\u7ED9\u53D1\u5E03\u6743\u9650\u3002",
|
|
204
|
+
tools: ["appPreflight", "appDeploy", "appDelete"],
|
|
205
|
+
defaultEnabled: false,
|
|
206
|
+
icon: "\u{1F680}",
|
|
207
|
+
promptPatch: `# \u5E94\u7528\u53D1\u5E03\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B
|
|
208
|
+
|
|
209
|
+
## \u9884\u68C0\u4E0E\u90E8\u7F72
|
|
210
|
+
- \u6BCF\u6B21\u4FEE\u6539\u540E\uFF1AappPreflight \u2192 appDeploy\uFF1BappDeploy \u5FC5\u987B\u7EE7\u7EED\u4F20\u540C\u4E00\u4E2A appId\u3002
|
|
211
|
+
- \u6536\u5230 repairPlan \u5C31\u76F4\u63A5\u4FEE\uFF1A\u6309\u8FD4\u56DE issues \u5B9A\u70B9\u4FEE\u590D\u5E76\u91CD\u65B0\u9884\u68C0\uFF0C\u4E0D\u8981\u6574\u7AD9\u91CD\u5199\uFF0C\u4E5F\u4E0D\u8981\u5148\u95EE\u7528\u6237\u8981\u4E0D\u8981\u4FEE\u3002
|
|
212
|
+
- \u672A\u7ECF\u7528\u6237\u786E\u8BA4\u4E0D\u8981 appDelete\u3002
|
|
213
|
+
|
|
214
|
+
## \u90E8\u7F72\u5E94\u7B54\u6A21\u677F
|
|
215
|
+
\u90E8\u7F72\u6210\u529F\u540E\uFF1A
|
|
216
|
+
"\u2705 \u4F60\u7684\u5E94\u7528\u5DF2\u7ECF\u597D\u4E86\uFF01
|
|
217
|
+
|
|
218
|
+
\u{1F517} \u8BBF\u95EE\u94FE\u63A5\uFF1A[URL]
|
|
219
|
+
|
|
220
|
+
\u8FD9\u4E2A\u5E94\u7528\u53EF\u4EE5\u5E2E\u4F60 [\u4E00\u53E5\u8BDD\u529F\u80FD\u63CF\u8FF0]\u3002\u60F3\u8981\u4FEE\u6539\u6216\u6DFB\u52A0\u529F\u80FD\uFF0C\u76F4\u63A5\u544A\u8BC9\u6211\u5C31\u884C\uFF01"`
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
id: "video-transcription",
|
|
224
|
+
label: "\u89C6\u9891\u8F6C\u5199",
|
|
225
|
+
description: "\u8D34\u89C6\u9891\u94FE\u63A5\u5373\u53EF\u8F6C\u5199\u4E3A\u5E26\u6807\u70B9\u6587\u672C\u4E0E SRT\u3002\u652F\u6301 B \u7AD9\u5206 P\uFF08\u9ED8\u8BA4\u5168\u90E8\u5904\u7406\uFF09\u3001YouTube \u7B49\uFF1B\u6296\u97F3\u8BF7\u5728\u684C\u9762\u7AEF\u6D4F\u89C8\u5668\u4F7F\u7528\u3002",
|
|
226
|
+
tools: ["transcribeVideo"],
|
|
227
|
+
defaultEnabled: false,
|
|
228
|
+
icon: "\u{1F3AC}",
|
|
229
|
+
promptPatch: `# \u89C6\u9891\u8F6C\u5199\u80FD\u529B\u5305
|
|
230
|
+
|
|
231
|
+
## \u7528\u6CD5
|
|
232
|
+
- \u7528\u6237\u8D34\u4E0A\u89C6\u9891\u94FE\u63A5\u65F6\uFF0C\u76F4\u63A5\u8C03\u7528 \`transcribeVideo({ url })\`\uFF0C\u4E0D\u8981\u5148\u95EE\u8981\u4E0D\u8981\u8F6C\u5199\u3002
|
|
233
|
+
- B \u7AD9\u5206 P / \u5408\u96C6\uFF1A\u7F3A\u7701\u5904\u7406\u5168\u90E8\uFF1B\u82E5\u7528\u6237\u6307\u5B9A\u300C\u53EA\u8981\u7B2C 3\u30014 \u96C6\u300D\u5219\u4F20 \`p: [3, 4]\`\u3002
|
|
234
|
+
- \u8FD4\u56DE\u91CC\u7684 \`processedParts\` / \`availableParts\` \u5FC5\u987B\u5411\u7528\u6237\u8BF4\u6E05\u695A\uFF0C\u907F\u514D\u9759\u9ED8\u4E22\u5206 P\u3002
|
|
235
|
+
- \u6296\u97F3\u82E5\u62A5\u300C\u8BE5\u5E73\u53F0\u9700\u8981\u767B\u5F55\u6001\uFF0C\u8BF7\u5728\u684C\u9762\u7AEF\u6D4F\u89C8\u5668\u4E2D\u4F7F\u7528\u300D\uFF0C\u63D0\u793A\u7528\u6237\u6539\u8D70\u684C\u9762\u7AEF\u6D4F\u89C8\u80FD\u529B\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u4F20 cookie\u3002
|
|
236
|
+
`
|
|
237
|
+
}
|
|
238
|
+
];
|
|
239
|
+
var CAPABILITY_PACK_BY_ID = CAPABILITY_PACKS.reduce(
|
|
240
|
+
(acc, pack) => {
|
|
241
|
+
acc[pack.id] = pack;
|
|
242
|
+
return acc;
|
|
243
|
+
},
|
|
244
|
+
{}
|
|
245
|
+
);
|
|
246
|
+
var PACK_MANAGED_TOOLS = new Set(
|
|
247
|
+
CAPABILITY_PACKS.flatMap((pack) => pack.tools)
|
|
248
|
+
);
|
|
249
|
+
var DEFAULT_ENABLED_PACKS = CAPABILITY_PACKS.filter(
|
|
250
|
+
(pack) => pack.defaultEnabled
|
|
251
|
+
).map((pack) => pack.id);
|
|
252
|
+
var ALWAYS_ON_PACK_IDS = [
|
|
253
|
+
"long-term-memory",
|
|
254
|
+
"skills"
|
|
255
|
+
];
|
|
256
|
+
function resolveEffectiveEnabledPacks(args) {
|
|
257
|
+
const base = args.enabledPacks ?? [];
|
|
258
|
+
if (args.declaredOnly === true) return [...base];
|
|
259
|
+
return [
|
|
260
|
+
.../* @__PURE__ */ new Set([
|
|
261
|
+
...base,
|
|
262
|
+
...base.length === 0 ? args.emptyFallbackPacks ?? [] : [],
|
|
263
|
+
...args.hostPacks ?? [],
|
|
264
|
+
...ALWAYS_ON_PACK_IDS
|
|
265
|
+
])
|
|
266
|
+
];
|
|
267
|
+
}
|
|
268
|
+
var SYSTEM_BUILTIN_SKILL_PACK_IDS = SYSTEM_AGENT_CAPABILITY_IDS;
|
|
269
|
+
var DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS = ["agent-orchestration"];
|
|
270
|
+
function getDefaultSystemCapabilityTools() {
|
|
271
|
+
const ids = DEFAULT_MOUNT_SYSTEM_CAPABILITY_IDS;
|
|
272
|
+
return SYSTEM_AGENT_CAPABILITY_PACKS.filter((pack) => ids.includes(pack.id)).flatMap((pack) => [...pack.tools]);
|
|
273
|
+
}
|
|
274
|
+
function addDefaultSystemCapabilityTools(toolNames) {
|
|
275
|
+
return [.../* @__PURE__ */ new Set([...toolNames, ...getDefaultSystemCapabilityTools()])];
|
|
276
|
+
}
|
|
277
|
+
function applySystemBuiltinSkillFilter(toolNames, systemBuiltinSkills) {
|
|
278
|
+
if (!systemBuiltinSkills) return toolNames;
|
|
279
|
+
const disabledToolSet = /* @__PURE__ */ new Set();
|
|
280
|
+
for (const packId of SYSTEM_BUILTIN_SKILL_PACK_IDS) {
|
|
281
|
+
const enabled = systemBuiltinSkills[packId];
|
|
282
|
+
if (enabled === false) {
|
|
283
|
+
const pack = CAPABILITY_PACK_BY_ID[packId];
|
|
284
|
+
if (pack) pack.tools.forEach((t) => disabledToolSet.add(t));
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
if (disabledToolSet.size === 0) return toolNames;
|
|
288
|
+
return toolNames.filter((t) => !disabledToolSet.has(t));
|
|
289
|
+
}
|
|
290
|
+
function collectPackIdsWithIncludes(enabledPacks) {
|
|
291
|
+
const out = [];
|
|
292
|
+
const seen = /* @__PURE__ */ new Set();
|
|
293
|
+
const visit = (id) => {
|
|
294
|
+
if (seen.has(id)) return;
|
|
295
|
+
seen.add(id);
|
|
296
|
+
out.push(id);
|
|
297
|
+
for (const child of CAPABILITY_PACK_BY_ID[id]?.includes ?? []) visit(child);
|
|
298
|
+
};
|
|
299
|
+
for (const id of enabledPacks ?? []) visit(id);
|
|
300
|
+
return out;
|
|
301
|
+
}
|
|
302
|
+
function expandEnabledPacks(enabledPacks, explicitTools = []) {
|
|
303
|
+
const packTools = collectPackIdsWithIncludes(enabledPacks).map((id) => CAPABILITY_PACK_BY_ID[id]?.tools ?? []).flat();
|
|
304
|
+
return [.../* @__PURE__ */ new Set([...packTools, ...explicitTools ?? []])];
|
|
305
|
+
}
|
|
306
|
+
function expandEnabledPackPromptPatches(enabledPacks) {
|
|
307
|
+
return collectPackIdsWithIncludes(enabledPacks).map((id) => CAPABILITY_PACK_BY_ID[id]?.promptPatch).filter((patch) => typeof patch === "string" && patch.length > 0);
|
|
308
|
+
}
|
|
309
|
+
function appendEnabledPackPromptPatches(prompt, enabledPacks) {
|
|
310
|
+
const patches = expandEnabledPackPromptPatches(enabledPacks);
|
|
311
|
+
if (patches.length === 0) return prompt ?? void 0;
|
|
312
|
+
const base = typeof prompt === "string" ? prompt.trim() : "";
|
|
313
|
+
const addition = patches.join("\n\n");
|
|
314
|
+
if (!base) return addition;
|
|
315
|
+
if (base.includes(addition)) return base;
|
|
316
|
+
return `${base}
|
|
317
|
+
|
|
318
|
+
${addition}`;
|
|
319
|
+
}
|
|
320
|
+
var FORCED_TOOLS = ["ask_user"];
|
|
321
|
+
function applyDisabledTools(toolNames, disabledTools) {
|
|
322
|
+
if (!Array.isArray(disabledTools) || disabledTools.length === 0) {
|
|
323
|
+
return toolNames;
|
|
324
|
+
}
|
|
325
|
+
const disabled = new Set(disabledTools);
|
|
326
|
+
const forced = new Set(FORCED_TOOLS);
|
|
327
|
+
return toolNames.filter((name) => !disabled.has(name) || forced.has(name));
|
|
328
|
+
}
|
|
329
|
+
var WEB_SEARCH_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
330
|
+
"fetchWebpage",
|
|
331
|
+
"exa_search",
|
|
332
|
+
"firecrawl_scrape",
|
|
333
|
+
"firecrawl_search"
|
|
334
|
+
]);
|
|
335
|
+
function isWebSearchTool(name) {
|
|
336
|
+
return WEB_SEARCH_TOOL_NAMES.has(name);
|
|
337
|
+
}
|
|
338
|
+
function isBrowserTool(name) {
|
|
339
|
+
return name.startsWith("browser_");
|
|
340
|
+
}
|
|
341
|
+
function addDefaultLightWebToolsForConfiguredAgents(toolNames, agentConfig) {
|
|
342
|
+
const explicitToolNames = Array.isArray(
|
|
343
|
+
agentConfig?.toolSurface?.explicitToolNames
|
|
344
|
+
) ? agentConfig.toolSurface.explicitToolNames : agentConfig?.toolNames;
|
|
345
|
+
if (!Array.isArray(explicitToolNames) || explicitToolNames.length === 0)
|
|
346
|
+
return toolNames;
|
|
347
|
+
const webSearch = explicitToolNames.some(isWebSearchTool);
|
|
348
|
+
if (!webSearch) return toolNames;
|
|
349
|
+
return [.../* @__PURE__ */ new Set([...toolNames, ...TOOL_PACKS.LIGHT_WEB])];
|
|
350
|
+
}
|
|
351
|
+
function applyDefaultWebToolPacks(args) {
|
|
352
|
+
const enhanced = new Set(args.toolNames);
|
|
353
|
+
if (!args.skipWeb && args.toolNames.some(isWebSearchTool)) {
|
|
354
|
+
TOOL_PACKS.LIGHT_WEB.forEach((t) => enhanced.add(t));
|
|
355
|
+
}
|
|
356
|
+
if (args.toolNames.some(isBrowserTool)) {
|
|
357
|
+
TOOL_PACKS.FULL_BROWSER.forEach((t) => enhanced.add(t));
|
|
358
|
+
}
|
|
359
|
+
return [...enhanced];
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
export {
|
|
363
|
+
buildCodeWorkDiscipline,
|
|
364
|
+
TOOL_PACKS,
|
|
365
|
+
CAPABILITY_PACKS,
|
|
366
|
+
resolveEffectiveEnabledPacks,
|
|
367
|
+
addDefaultSystemCapabilityTools,
|
|
368
|
+
applySystemBuiltinSkillFilter,
|
|
369
|
+
expandEnabledPacks,
|
|
370
|
+
expandEnabledPackPromptPatches,
|
|
371
|
+
appendEnabledPackPromptPatches,
|
|
372
|
+
FORCED_TOOLS,
|
|
373
|
+
applyDisabledTools,
|
|
374
|
+
addDefaultLightWebToolsForConfiguredAgents,
|
|
375
|
+
applyDefaultWebToolPacks
|
|
376
|
+
};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readDbRecord,
|
|
3
3
|
writeAgentRecord
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-J2WT5CEO.js";
|
|
5
5
|
import {
|
|
6
6
|
buildSkillSummaryMarker
|
|
7
7
|
} from "./chunk-VF4K2QE6.js";
|
|
8
|
-
import {
|
|
9
|
-
createSpaceKey
|
|
10
|
-
} from "./chunk-ELT65PZW.js";
|
|
11
8
|
import {
|
|
12
9
|
parseUserIdFromAuthToken,
|
|
13
10
|
readOption,
|
|
14
11
|
resolveAuthToken,
|
|
15
12
|
resolveServerUrl
|
|
16
13
|
} from "./chunk-A7GB5UGH.js";
|
|
14
|
+
import {
|
|
15
|
+
createSpaceKey
|
|
16
|
+
} from "./chunk-OXLLFZNF.js";
|
|
17
17
|
import {
|
|
18
18
|
asTrimmedLowercaseString
|
|
19
19
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -140,9 +140,7 @@ function readTitle(args) {
|
|
|
140
140
|
"--tools",
|
|
141
141
|
"--required-skills",
|
|
142
142
|
"--recommended-skills",
|
|
143
|
-
"--preferred-agents",
|
|
144
143
|
"--trigger-mode",
|
|
145
|
-
"--budget-tier",
|
|
146
144
|
"--prompt-patch",
|
|
147
145
|
"--token",
|
|
148
146
|
"--server"
|