nolo-cli 0.16.0-alpha.9 → 0.17.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/{_executeModel-ABTND4KZ.js → _executeModel-WPNX5DH4.js} +46 -41
- package/{action-F5JACQBG.js → action-LT7BRFLK.js} +10 -9
- package/{addContentAction-AQXEYRBE.js → addContentAction-PL3KKBDH.js} +9 -8
- package/{addDialogAgentAction-EJHHJZWW.js → addDialogAgentAction-FCMSKYAF.js} +8 -7
- package/{agentDeleteCommand-ARMAV46L.js → agentDeleteCommand-L3357EFL.js} +28 -26
- package/{agentEmailCommands-BKPZP4UP.js → agentEmailCommands-N65AVLEI.js} +58 -53
- package/{agentListCommands-5J7RRXUO.js → agentListCommands-CH27FTI2.js} +27 -25
- package/{agentMachineCommands-VXWJXXPF.js → agentMachineCommands-PPK5HJZB.js} +26 -24
- package/{agentPullCommand-6HWUT3SW.js → agentPullCommand-ZZGU5KOY.js} +4 -4
- package/{agentRecordCommands-INDJINPN.js → agentRecordCommands-HTVXD4TT.js} +53 -48
- package/{agentRunCommand-KBN6HBY4.js → agentRunCommand-MGLVJUA5.js} +59 -51
- package/{agentRunControl-6ADXVYMR.js → agentRunControl-P75VPTGS.js} +24 -1
- package/{agentRuntimeLocal-AH2RYWGP.js → agentRuntimeLocal-QUTBSY3I.js} +22 -20
- package/{agentSlice-R4PELU57.js → agentSlice-DOGRCMWK.js} +9 -8
- package/{appDeleteCommands-FRWMPQNS.js → appDeleteCommands-FEEVXUBG.js} +25 -23
- package/{appDeployCommands-IRF3T35Z.js → appDeployCommands-C4HCGC4B.js} +25 -23
- package/{appDeployStatusCommands-ADFERYPU.js → appDeployStatusCommands-IR5ZUZBQ.js} +25 -23
- package/{appGetCommands-FTEOXWMS.js → appGetCommands-6RJGZ66Z.js} +25 -23
- package/{appListCommands-WBY7UWYD.js → appListCommands-VMTF5YZF.js} +25 -23
- package/{authCommand-QU5BXRBH.js → authCommand-WJZPOLSS.js} +13 -12
- package/{authCommands-YXGOXNBZ.js → authCommands-XTBV7OFZ.js} +6 -5
- package/{chunk-XPC5C7BK.js → chunk-3ND52WIL.js} +2 -2
- package/{chunk-SOTZ6RDN.js → chunk-3Q7WHGCB.js} +1 -1
- package/{chunk-WVDAUR2S.js → chunk-45BY7RLP.js} +2 -8
- package/{chunk-KKY4B2Q2.js → chunk-4PWB7JRR.js} +4 -1
- package/{chunk-6N4KODMN.js → chunk-4T5F7YZQ.js} +1 -1
- package/chunk-7BUYEZ6U.js +671 -0
- package/{chunk-AS3ZQ3O2.js → chunk-7OBMZCRD.js} +1 -1
- package/{chunk-4N7QA72L.js → chunk-AAODAAUQ.js} +1 -1
- package/{chunk-QLUFR47U.js → chunk-AL2V7U3E.js} +1 -1
- package/{chunk-MTU75CZ2.js → chunk-B5TOXZAK.js} +1 -1
- package/{chunk-VK2HVKAO.js → chunk-BT6K76S7.js} +192 -249
- package/{chunk-G63IH3ZK.js → chunk-CEFXYF66.js} +1 -1
- package/{chunk-RLCXU7A5.js → chunk-D3HVJJIA.js} +1 -1
- package/{chunk-B4KT7RN2.js → chunk-DKZFOK24.js} +18 -89
- package/chunk-DL6EPNIK.js +50 -0
- package/{chunk-OELQ67TN.js → chunk-EGPCU42M.js} +57 -7
- package/{chunk-IWLUTMYX.js → chunk-ELT65PZW.js} +2 -2
- package/chunk-FKXFCYVO.js +221 -0
- package/{chunk-5Y5KEB7V.js → chunk-FPKLD4KB.js} +4 -4
- package/{chunk-FMYTM25W.js → chunk-FVIPEIVX.js} +10 -3
- package/{chunk-66X4VSRC.js → chunk-HQPG2PIV.js} +41 -1
- package/{chunk-ZPPTWRPT.js → chunk-HV2A3B4W.js} +1 -1
- package/{chunk-ASZ2C44S.js → chunk-IOOMJJ4Z.js} +1 -1
- package/{setDialogExtraReferencesAction-LR6MSIXO.js → chunk-JLA4FXYC.js} +2 -17
- package/{chunk-IFPY2BIE.js → chunk-JP7REMYP.js} +18 -0
- package/{chunk-R6ALN5F5.js → chunk-L2MLZQXU.js} +3 -3
- package/{chunk-HSLJ7QER.js → chunk-L6NVTGI7.js} +1 -1
- package/{chunk-BHVBFI6B.js → chunk-MD3V54DA.js} +6 -6
- package/{chunk-ZVDRAEZL.js → chunk-MUCU6ATG.js} +1 -1
- package/{chunk-KFHN5NGJ.js → chunk-MVQ4TBSD.js} +1 -1
- package/{chunk-7HECYFOI.js → chunk-NEKFSXOP.js} +316 -212
- package/{chunk-LSHKV3S7.js → chunk-NVB267BZ.js} +397 -324
- package/{chunk-SGRDLYRZ.js → chunk-NYUXSXLY.js} +33 -14
- package/{chunk-PEDT43JF.js → chunk-PZCBZO4J.js} +2 -2
- package/{chunk-LZYEWFPK.js → chunk-QCJITMYO.js} +16 -10
- package/{chunk-OOSFSFMA.js → chunk-R5V5G73M.js} +2 -0
- package/{chunk-QLWU2KOT.js → chunk-RG2U2MTJ.js} +1 -1
- package/{chunk-2XA3QGOH.js → chunk-RRGVDPH3.js} +3 -3
- package/{chunk-EABWT43X.js → chunk-RVOUXDFU.js} +5 -5
- package/{chunk-JTINRTBT.js → chunk-SKDNBYZK.js} +2 -2
- package/{chunk-BG7AP3Q7.js → chunk-SNZV4QCE.js} +34 -18
- package/{chunk-KMQPSTMJ.js → chunk-TRT4I4UD.js} +2 -2
- package/{chunk-MYMMNKYL.js → chunk-TSIYZBTH.js} +156 -6
- package/{chunk-J3VQSU5W.js → chunk-UB4RYYNQ.js} +1 -1
- package/{chunk-YJKXGHJ6.js → chunk-UGUW3FHG.js} +4 -4
- package/{chunk-XECKIDGJ.js → chunk-UZY4BEBR.js} +938 -91
- package/chunk-V5R4NZP2.js +78 -0
- package/{chunk-GWESD7AS.js → chunk-VDNQF5VI.js} +6 -6
- package/{chunk-ZVC2PCZN.js → chunk-VGMJ6PDJ.js} +5 -5
- package/{chunk-W4NVOSFF.js → chunk-WFHXMLHZ.js} +1 -1
- package/{chunk-H33743XH.js → chunk-WJRJDX2W.js} +1 -1
- package/chunk-X4Q4UZEY.js +26 -0
- package/{chunk-RPDGJO4D.js → chunk-XHG22OEX.js} +4 -4
- package/{chunk-DVRHHFEA.js → chunk-XMLRJUU5.js} +1 -1
- package/{chunk-3S2VOMIF.js → chunk-XRZJGPFI.js} +7 -7
- package/{chunk-AFNJWHKL.js → chunk-YLRTBX4Y.js} +26 -14
- package/{chunk-4EME3YTO.js → chunk-YXTRNO5W.js} +3 -3
- package/{chunk-VAT72PDP.js → chunk-ZJZCMKOR.js} +103 -174
- package/{chunk-F6JSVFHX.js → chunk-ZVOZH2HW.js} +1 -1
- package/chunk-ZZ2MH7LE.js +84 -0
- package/{cliExecutor-K3F7DMRO.js → cliExecutor-DNE7TCC4.js} +2 -2
- package/codingSkills-36KN5NQT.js +48 -0
- package/{createAgentAutomationAction-3KKRAYGE.js → createAgentAutomationAction-PMOLEPGJ.js} +18 -17
- package/{createDialogAction-S7NMQ4TZ.js → createDialogAction-DPRTYNAK.js} +20 -19
- package/{createPageAction-2EFBT4LQ.js → createPageAction-JGZK3WAM.js} +24 -23
- package/{dbSlice-7KQH6GOU.js → dbSlice-CGSRFJN3.js} +8 -7
- package/{deleteFile-WPWVZE4B.js → deleteFile-WDZ3VM7B.js} +3 -3
- package/{dialogCommands-J7XFIQRD.js → dialogCommands-XED6DKLV.js} +26 -24
- package/{dialogSlice-LNRRBUIC.js → dialogSlice-KO4NRNKC.js} +18 -17
- package/{docCreateCommands-MKO5WB34.js → docCreateCommands-P6DYWHH3.js} +24 -22
- package/{docDeleteCommands-RCBHRKUE.js → docDeleteCommands-KUWXAMSN.js} +25 -23
- package/{docReadCommands-66527P4G.js → docReadCommands-ECW55TKB.js} +24 -22
- package/{docStore-67MYPX7P.js → docStore-6KMERNUY.js} +19 -18
- package/{docUpdateCommands-UT5HSLOJ.js → docUpdateCommands-5J4BTJQN.js} +24 -22
- package/{fetchMessages-KTNM7QAR.js → fetchMessages-BMGVZVSE.js} +4 -3
- package/{getPricing-P4XRJRZB.js → getPricing-RYY6OBA4.js} +2 -2
- package/{handleSendMessageAction-VZ7226PB.js → handleSendMessageAction-R3ZHTVU4.js} +19 -18
- package/index.js +68 -68
- package/{localDialogRead-2VRI24F4.js → localDialogRead-HQZPVIE3.js} +1 -1
- package/{localRuntimeDb-LGDF6FQP.js → localRuntimeDb-THJZGAOJ.js} +1 -1
- package/{machineCommands-ATA7OSBJ.js → machineCommands-JF2YL34J.js} +59 -54
- package/{machineWsRunDispatch-ZDCZ645H.js → machineWsRunDispatch-ON4AEOJL.js} +51 -46
- package/package.json +1 -1
- package/queryRunOverlay-O4LOMMPO.js +161 -0
- package/{read-CN3TNXIP.js → read-3FMPZPER.js} +3 -3
- package/{readDocTool-WF3675ED.js → readDocTool-VSYHKK3V.js} +1 -1
- package/{readlineWorkspace-UUNABTLB.js → readlineWorkspace-SUCINTL7.js} +302 -134
- package/{removeDialogAgentAction-YDHBFEGI.js → removeDialogAgentAction-OAGA2G3U.js} +10 -9
- package/{runAgentClientLoop-2A577WBM.js → runAgentClientLoop-OBD2AVEL.js} +41 -36
- package/runOverlayPresentation-ZO4VCWEU.js +11 -0
- package/{runtimeDoctorCommands-THIHX2SY.js → runtimeDoctorCommands-E2OUORHK.js} +6 -6
- package/setDialogExtraReferencesAction-JZEXA5SL.js +27 -0
- package/{setPrimaryDialogAgentAction-IIVDCY5C.js → setPrimaryDialogAgentAction-4ZUQQKDG.js} +26 -17
- package/{settingSlice-O23YDK2O.js → settingSlice-7MNKHZ6R.js} +9 -8
- package/{skillDiscovery-6M2BZUFN.js → skillDiscovery-KJWT7JBU.js} +3 -3
- package/{spaceCommands-UNZVR2OS.js → spaceCommands-32NTNLHS.js} +27 -25
- package/{spaceSlice-MC7FYPMZ.js → spaceSlice-P7VOXLY6.js} +18 -17
- package/{streamAgentChatTurn-IEKPNM33.js → streamAgentChatTurn-UHEMNI3X.js} +91 -48
- package/{tableCommands-3P7MJ3PF.js → tableCommands-BEQAGE4I.js} +1 -1
- package/{tools-E6FHKTCF.js → tools-BMXIXHMB.js} +31 -26
- package/{tuiSummaryLlmCaller-QHPDD4WP.js → tuiSummaryLlmCaller-VUNVBRX3.js} +3 -3
- package/types-ZSTJ7MPR.js +7 -0
- package/{updateDialogTitleAction-SQJEEW2K.js → updateDialogTitleAction-LJBDYZLH.js} +21 -20
- package/{chunk-O4BU24WZ.js → chunk-6Y7A3OQQ.js} +3 -3
- package/{chunk-CMKUBIGW.js → chunk-X7W4TNB4.js} +3 -3
- package/{localRuntimeAuthority-TEGCOWX4.js → localRuntimeAuthority-4IXJCHZ7.js} +3 -3
|
@@ -8,45 +8,39 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
sortSafeAgentSummaries,
|
|
10
10
|
toSafeAgentSummary
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JP7REMYP.js";
|
|
12
12
|
import {
|
|
13
13
|
getUserDataItemTimestamp,
|
|
14
14
|
mergeAndDedupUserData
|
|
15
15
|
} from "./chunk-KQHGZWSV.js";
|
|
16
|
-
import {
|
|
17
|
-
createDocState
|
|
18
|
-
} from "./chunk-GWESD7AS.js";
|
|
19
16
|
import {
|
|
20
17
|
readDocFunc,
|
|
21
18
|
readDocFunctionSchema,
|
|
22
19
|
readPageFunc,
|
|
23
20
|
readPageFunctionSchema,
|
|
24
21
|
slateToSimplifiedMarkdown
|
|
25
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-4T5F7YZQ.js";
|
|
26
23
|
import {
|
|
27
24
|
markdownToSlate
|
|
28
25
|
} from "./chunk-3LY4F7SV.js";
|
|
26
|
+
import {
|
|
27
|
+
isSkillSummaryMarker
|
|
28
|
+
} from "./chunk-VF4K2QE6.js";
|
|
29
|
+
import {
|
|
30
|
+
createDocState
|
|
31
|
+
} from "./chunk-VDNQF5VI.js";
|
|
32
|
+
import {
|
|
33
|
+
setDialogExtraReferencesAction
|
|
34
|
+
} from "./chunk-JLA4FXYC.js";
|
|
29
35
|
import {
|
|
30
36
|
extractMentionsFromSlate
|
|
31
37
|
} from "./chunk-VP4WJWKW.js";
|
|
32
38
|
import {
|
|
33
39
|
slateToRenderMarkdown
|
|
34
40
|
} from "./chunk-63W5N6P3.js";
|
|
35
|
-
import {
|
|
36
|
-
isSkillSummaryMarker
|
|
37
|
-
} from "./chunk-VF4K2QE6.js";
|
|
38
41
|
import {
|
|
39
42
|
createDialogAction
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import {
|
|
42
|
-
buildSkillDocMarkdown,
|
|
43
|
-
normalizeSkillBudgetTier,
|
|
44
|
-
normalizeSkillModalities,
|
|
45
|
-
normalizeStringArray,
|
|
46
|
-
parseExternalSkillMarkdown,
|
|
47
|
-
parseSkillDocProtocol,
|
|
48
|
-
resolvePageSkillMetadata
|
|
49
|
-
} from "./chunk-VC6OZXO5.js";
|
|
43
|
+
} from "./chunk-NYUXSXLY.js";
|
|
50
44
|
import {
|
|
51
45
|
addCategory,
|
|
52
46
|
addContentToSpace,
|
|
@@ -63,6 +57,7 @@ import {
|
|
|
63
57
|
instance,
|
|
64
58
|
loadTableRows,
|
|
65
59
|
normalizeAppRouteId,
|
|
60
|
+
resolveDialogRuntimeAgentKey,
|
|
66
61
|
selectAllMemberSpaces,
|
|
67
62
|
selectAllMsgs,
|
|
68
63
|
selectCurrentDialogConfig,
|
|
@@ -76,19 +71,31 @@ import {
|
|
|
76
71
|
updateContentCategory,
|
|
77
72
|
updateContentTitle,
|
|
78
73
|
updateStep
|
|
79
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-NVB267BZ.js";
|
|
80
75
|
import {
|
|
81
76
|
createAgent,
|
|
82
77
|
runLlm,
|
|
83
78
|
streamAgentChatTurn,
|
|
84
79
|
updateAgent
|
|
85
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-MD3V54DA.js";
|
|
81
|
+
import {
|
|
82
|
+
buildCodingSkillContentBySlug,
|
|
83
|
+
buildCodingSkillPageKey,
|
|
84
|
+
resolveCodingBuiltinSlug
|
|
85
|
+
} from "./chunk-7BUYEZ6U.js";
|
|
86
|
+
import {
|
|
87
|
+
buildSkillDocMarkdown,
|
|
88
|
+
normalizeSkillBudgetTier,
|
|
89
|
+
normalizeSkillModalities,
|
|
90
|
+
normalizeStringArray,
|
|
91
|
+
parseExternalSkillMarkdown,
|
|
92
|
+
parseSkillDocProtocol,
|
|
93
|
+
resolvePageSkillMetadata
|
|
94
|
+
} from "./chunk-VC6OZXO5.js";
|
|
86
95
|
import {
|
|
87
96
|
NOLO_WORKSPACE_TOOL_NAMES,
|
|
88
97
|
buildNoloSubjectRefQueryTarget,
|
|
89
98
|
buildNoloTableQueryRequest,
|
|
90
|
-
canonicalizeToolName,
|
|
91
|
-
canonicalizeToolNames,
|
|
92
99
|
clampNoloPositiveInteger,
|
|
93
100
|
filterNoloDialogSubjectRefEvidence,
|
|
94
101
|
getNoloComparableUpdatedAt,
|
|
@@ -98,13 +105,25 @@ import {
|
|
|
98
105
|
redactAgentRecordForWorkspaceTool,
|
|
99
106
|
resolveNoloDialogInput,
|
|
100
107
|
verifyNoloDialogSubjectRefQuery
|
|
101
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-DKZFOK24.js";
|
|
102
109
|
import {
|
|
103
110
|
buildDatabaseFileContentUrl
|
|
104
|
-
} from "./chunk-
|
|
111
|
+
} from "./chunk-EGPCU42M.js";
|
|
105
112
|
import {
|
|
106
113
|
DEFAULT_MODEL
|
|
107
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-HQPG2PIV.js";
|
|
115
|
+
import {
|
|
116
|
+
toErrorMessage
|
|
117
|
+
} from "./chunk-HNMXYYJR.js";
|
|
118
|
+
import {
|
|
119
|
+
addContentAction,
|
|
120
|
+
createSpaceKey,
|
|
121
|
+
normalizeSpaceId
|
|
122
|
+
} from "./chunk-ELT65PZW.js";
|
|
123
|
+
import {
|
|
124
|
+
canonicalizeToolName,
|
|
125
|
+
canonicalizeToolNames
|
|
126
|
+
} from "./chunk-ZZ2MH7LE.js";
|
|
108
127
|
import {
|
|
109
128
|
ToolApiError,
|
|
110
129
|
buildToolRequestHeaders,
|
|
@@ -126,11 +145,16 @@ import {
|
|
|
126
145
|
compactWhitespace
|
|
127
146
|
} from "./chunk-DWLEOOGR.js";
|
|
128
147
|
import {
|
|
129
|
-
|
|
130
|
-
|
|
148
|
+
TASK_PREVIEW_MAX,
|
|
149
|
+
formatListRunsCard,
|
|
150
|
+
formatStartRunCard,
|
|
151
|
+
formatStatusRunCard,
|
|
152
|
+
formatStopRunCard,
|
|
153
|
+
resolveRunLabel
|
|
154
|
+
} from "./chunk-FKXFCYVO.js";
|
|
131
155
|
import {
|
|
132
156
|
shareResourceAction
|
|
133
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-UGUW3FHG.js";
|
|
134
158
|
import {
|
|
135
159
|
AGENT_UPDATE_FIELD_NAMES,
|
|
136
160
|
SYSTEM_AGENT_CAPABILITIES,
|
|
@@ -139,23 +163,19 @@ import {
|
|
|
139
163
|
selectAutoApproveSelfUpdateFields,
|
|
140
164
|
selectCurrentServer,
|
|
141
165
|
selectSyncServers
|
|
142
|
-
} from "./chunk-
|
|
166
|
+
} from "./chunk-RVOUXDFU.js";
|
|
143
167
|
import {
|
|
144
168
|
asRecordOrEmpty
|
|
145
169
|
} from "./chunk-KX6YBIHG.js";
|
|
146
|
-
import {
|
|
147
|
-
addContentAction,
|
|
148
|
-
createSpaceKey,
|
|
149
|
-
normalizeSpaceId
|
|
150
|
-
} from "./chunk-IWLUTMYX.js";
|
|
151
170
|
import {
|
|
152
171
|
patch,
|
|
153
172
|
read,
|
|
154
173
|
readAndWait,
|
|
155
174
|
readAndWaitAction,
|
|
175
|
+
selectById,
|
|
156
176
|
toTimestampMs,
|
|
157
177
|
write
|
|
158
|
-
} from "./chunk-
|
|
178
|
+
} from "./chunk-XRZJGPFI.js";
|
|
159
179
|
import {
|
|
160
180
|
SEPARATOR,
|
|
161
181
|
createAgentKey,
|
|
@@ -167,20 +187,20 @@ import {
|
|
|
167
187
|
rowKey,
|
|
168
188
|
toTrimmedString,
|
|
169
189
|
ulid
|
|
170
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-6Y7A3OQQ.js";
|
|
191
|
+
import {
|
|
192
|
+
asOptionalFiniteNumber
|
|
193
|
+
} from "./chunk-WWC7I6TA.js";
|
|
171
194
|
import {
|
|
172
195
|
asNonEmptyStringArray,
|
|
173
196
|
asTrimmedNonEmptyStringArray
|
|
174
197
|
} from "./chunk-I42VC5KR.js";
|
|
175
|
-
import {
|
|
176
|
-
asOptionalFiniteNumber
|
|
177
|
-
} from "./chunk-WWC7I6TA.js";
|
|
178
198
|
import {
|
|
179
199
|
asTrimmedLowercaseString
|
|
180
200
|
} from "./chunk-QSJ3HFEF.js";
|
|
181
201
|
import {
|
|
182
202
|
readAction
|
|
183
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-3ND52WIL.js";
|
|
184
204
|
import {
|
|
185
205
|
createAsyncThunk,
|
|
186
206
|
getRuntimeServerContext,
|
|
@@ -188,10 +208,10 @@ import {
|
|
|
188
208
|
selectIdentityToken,
|
|
189
209
|
selectIdentityUserId,
|
|
190
210
|
selectRuntimeSnapshot
|
|
191
|
-
} from "./chunk-
|
|
211
|
+
} from "./chunk-XMLRJUU5.js";
|
|
192
212
|
import {
|
|
193
213
|
isAbortError
|
|
194
|
-
} from "./chunk-
|
|
214
|
+
} from "./chunk-R5V5G73M.js";
|
|
195
215
|
import {
|
|
196
216
|
asTrimmedString
|
|
197
217
|
} from "./chunk-3EUW3WEO.js";
|
|
@@ -2101,6 +2121,7 @@ var chat_locale_default = {
|
|
|
2101
2121
|
copyContent: "Copy Content",
|
|
2102
2122
|
copyDiagnostics: "Copy diagnostics",
|
|
2103
2123
|
finishReasonLengthNotice: "Response was cut off at the model's output limit",
|
|
2124
|
+
retryProgress: "Auto-retrying {{attempt}}/{{maxAttempts}} \xB7 {{seconds}}s",
|
|
2104
2125
|
copyFailed: "Copy failed",
|
|
2105
2126
|
copySuccess: "Copied successfully",
|
|
2106
2127
|
createDialog: "Create Dialog",
|
|
@@ -2462,6 +2483,7 @@ var chat_locale_default = {
|
|
|
2462
2483
|
copyContent: "\u590D\u5236\u5185\u5BB9",
|
|
2463
2484
|
copyDiagnostics: "\u590D\u5236\u8BCA\u65AD\u4FE1\u606F",
|
|
2464
2485
|
finishReasonLengthNotice: "\u56DE\u7B54\u56E0\u8FBE\u5230\u6A21\u578B\u8F93\u51FA\u4E0A\u9650\u88AB\u622A\u65AD",
|
|
2486
|
+
retryProgress: "\u81EA\u52A8\u91CD\u8BD5 {{attempt}}/{{maxAttempts}} \xB7 {{seconds}}s",
|
|
2465
2487
|
copyFailed: "\u590D\u5236\u5931\u8D25",
|
|
2466
2488
|
copySuccess: "\u590D\u5236\u6210\u529F",
|
|
2467
2489
|
createDialog: "\u521B\u5EFA\u5BF9\u8BDD",
|
|
@@ -2818,6 +2840,7 @@ var chat_locale_default = {
|
|
|
2818
2840
|
copyContent: "\u8907\u88FD\u5167\u5BB9",
|
|
2819
2841
|
copyDiagnostics: "\u8907\u88FD\u8A3A\u65B7\u8CC7\u8A0A",
|
|
2820
2842
|
finishReasonLengthNotice: "\u56DE\u7B54\u56E0\u9054\u5230\u6A21\u578B\u8F38\u51FA\u4E0A\u9650\u88AB\u622A\u65B7",
|
|
2843
|
+
retryProgress: "\u81EA\u52D5\u91CD\u8A66 {{attempt}}/{{maxAttempts}} \xB7 {{seconds}}s",
|
|
2821
2844
|
copyFailed: "\u8907\u88FD\u5931\u6557",
|
|
2822
2845
|
copySuccess: "\u8907\u88FD\u6210\u529F",
|
|
2823
2846
|
createDialog: "\u5275\u5EFA\u5C0D\u8A71",
|
|
@@ -3102,6 +3125,7 @@ var chat_locale_default = {
|
|
|
3102
3125
|
copyContent: "\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30B3\u30D4\u30FC",
|
|
3103
3126
|
copyDiagnostics: "\u8A3A\u65AD\u60C5\u5831\u3092\u30B3\u30D4\u30FC",
|
|
3104
3127
|
finishReasonLengthNotice: "\u30E2\u30C7\u30EB\u306E\u51FA\u529B\u4E0A\u9650\u306B\u9054\u3057\u305F\u305F\u3081\u3001\u56DE\u7B54\u304C\u9014\u4E2D\u3067\u7D42\u4E86\u3057\u307E\u3057\u305F",
|
|
3128
|
+
retryProgress: "\u81EA\u52D5\u30EA\u30C8\u30E9\u30A4 {{attempt}}/{{maxAttempts}} \xB7 {{seconds}}s",
|
|
3105
3129
|
copyFailed: "\u30B3\u30D4\u30FC\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
3106
3130
|
copySuccess: "\u30B3\u30D4\u30FC\u306B\u6210\u529F\u3057\u307E\u3057\u305F",
|
|
3107
3131
|
createDialog: "\u5BFE\u8A71\u3092\u4F5C\u6210",
|
|
@@ -11205,7 +11229,7 @@ var i18n_default = instance;
|
|
|
11205
11229
|
var TOOL_PACKS = {
|
|
11206
11230
|
// L1 - 核心:交互 + 自我更新,所有 Agent 必有。
|
|
11207
11231
|
// rememberMemory 已移至「长期记忆」能力包(defaultEnabled:true),用户可单关。
|
|
11208
|
-
CORE: ["
|
|
11232
|
+
CORE: ["ask_user", "read", "searchDialogMessages", "createDoc", "updateDoc", "search_workspace", "search_all_spaces", "updateSelf", "queryModelUsage", "queryUserGrowthReport", "createAgentAutomation", "notifyUser"],
|
|
11209
11233
|
// L2 - 联网搜索:与 CAPABILITY_PACKS「web-search」对齐。
|
|
11210
11234
|
// 社交读工具属于「social-reader」包,不得因 exa_search 被旁路注入。
|
|
11211
11235
|
LIGHT_WEB: ["exa_search", "fetchWebpage"],
|
|
@@ -11226,8 +11250,8 @@ var CAPABILITY_PACKS = [
|
|
|
11226
11250
|
{
|
|
11227
11251
|
id: "long-term-memory",
|
|
11228
11252
|
label: "\u957F\u671F\u8BB0\u5FC6",
|
|
11229
|
-
description: "\
|
|
11230
|
-
tools: ["rememberMemory"],
|
|
11253
|
+
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",
|
|
11254
|
+
tools: ["queryMemory", "rememberMemory"],
|
|
11231
11255
|
defaultEnabled: true,
|
|
11232
11256
|
icon: "\u{1F9E0}"
|
|
11233
11257
|
},
|
|
@@ -11266,7 +11290,30 @@ var CAPABILITY_PACKS = [
|
|
|
11266
11290
|
"listProcesses"
|
|
11267
11291
|
],
|
|
11268
11292
|
defaultEnabled: false,
|
|
11269
|
-
icon: "\u{1F4BB}"
|
|
11293
|
+
icon: "\u{1F4BB}",
|
|
11294
|
+
promptPatch: `# \u4EE3\u7801\u6267\u884C\u80FD\u529B\u5305 \u2014 \u64CD\u4F5C\u7EAA\u5F8B
|
|
11295
|
+
|
|
11296
|
+
## \u6548\u7387\u4F18\u5148\uFF08\u7701 token\uFF09
|
|
11297
|
+
- \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
|
|
11298
|
+
- \u601D\u8003\u7B80\u77ED\uFF1A\u5B9A\u4F4D\u95EE\u9898\u5373\u53EF\uFF0C\u4E0D\u505A\u957F\u7BC7\u63A8\u6F14\u3002
|
|
11299
|
+
- \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
|
|
11300
|
+
- \u5DF2\u7ECF\u77E5\u9053\u6587\u4EF6\u548C\u4F4D\u7F6E\u65F6\uFF0C\u8DF3\u8FC7\u591A\u4F59\u7684 search/read\uFF0C\u76F4\u63A5 edit\u3002
|
|
11301
|
+
- \u7981\u6B62\u4E3A\u4E00\u4E2A\u5C0F\u6539\u52A8\u6574\u9875\u91CD\u5199\u6216\u8FDE\u5E26\u6539\u52A8\u672A\u547D\u4E2D\u7684\u90E8\u5206\u3002
|
|
11302
|
+
|
|
11303
|
+
## \u4EE3\u7801\u4FEE\u6539\u7EAA\u5F8B
|
|
11304
|
+
- \u7F16\u8F91\u524D\u5148 readFile \u786E\u8BA4\u5F53\u524D\u5185\u5BB9\uFF0C\u907F\u514D stale hash \u9519\u8BEF\u3002
|
|
11305
|
+
- \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
|
|
11306
|
+
- \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
|
|
11307
|
+
- \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
|
|
11308
|
+
|
|
11309
|
+
## Review \u7EAA\u5F8B\uFF08commit \u524D\u786C\u95E8\uFF09
|
|
11310
|
+
- \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
|
|
11311
|
+
- \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
|
|
11312
|
+
- 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
|
|
11313
|
+
- \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
|
|
11314
|
+
- 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
|
|
11315
|
+
- 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
|
|
11316
|
+
- \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`
|
|
11270
11317
|
},
|
|
11271
11318
|
{
|
|
11272
11319
|
id: "skills",
|
|
@@ -11434,7 +11481,7 @@ function appendEnabledPackPromptPatches(prompt, enabledPacks) {
|
|
|
11434
11481
|
|
|
11435
11482
|
${addition}`;
|
|
11436
11483
|
}
|
|
11437
|
-
var FORCED_TOOLS = ["
|
|
11484
|
+
var FORCED_TOOLS = ["ask_user"];
|
|
11438
11485
|
function applyDisabledTools(toolNames, disabledTools) {
|
|
11439
11486
|
if (!Array.isArray(disabledTools) || disabledTools.length === 0) {
|
|
11440
11487
|
return toolNames;
|
|
@@ -11724,7 +11771,7 @@ var buildFormDataFromArgs = async (args) => {
|
|
|
11724
11771
|
const trimmedModel = toTrimmedString(model);
|
|
11725
11772
|
const trimmedProvider = toTrimmedString(provider);
|
|
11726
11773
|
const modelConfig = await findModelConfig(trimmedModel, trimmedProvider);
|
|
11727
|
-
const { getModelPricing } = await import("./getPricing-
|
|
11774
|
+
const { getModelPricing } = await import("./getPricing-RYY6OBA4.js");
|
|
11728
11775
|
const normalizedTools = tools ?? [];
|
|
11729
11776
|
const resolvedRuntimeToolPolicy = runtimeToolPolicy ?? (normalizedTools.includes("execShell") ? HOSTED_EXEC_RUNTIME_TOOL_POLICY : void 0);
|
|
11730
11777
|
const formData = {
|
|
@@ -12386,7 +12433,7 @@ var createSkillDocFunctionSchema = {
|
|
|
12386
12433
|
description: [
|
|
12387
12434
|
"\u521B\u5EFA\u4E00\u4E2A\u672C\u5730 skill \u6587\u6863\uFF0C\u5E76\u81EA\u52A8\u5199\u5165\u9690\u85CF\u7684 skill-config / eval-config \u534F\u8BAE\u5757\u3002",
|
|
12388
12435
|
"\u9002\u5408\u628A\u67D0\u4E2A\u80FD\u529B\u6D41\u7A0B\u6C89\u6DC0\u6210\u53EF\u88AB agent \u5F15\u7528\u7684 skill\uFF0C\u800C\u4E0D\u662F\u624B\u5199\u534F\u8BAE\u6CE8\u91CA\u3002",
|
|
12389
|
-
"\u521B\u5EFA\u6210\u529F\u540E\uFF0C\u5982\u679C\u7528\u6237\u8FD8\u6CA1\u8BF4\u660E\u4E0B\u4E00\u6B65\uFF0C\u4F18\u5148\u8C03\u7528
|
|
12436
|
+
"\u521B\u5EFA\u6210\u529F\u540E\uFF0C\u5982\u679C\u7528\u6237\u8FD8\u6CA1\u8BF4\u660E\u4E0B\u4E00\u6B65\uFF0C\u4F18\u5148\u8C03\u7528 ask_user \u7EE7\u7EED\u8BE2\u95EE\uFF1A\u4EC5\u4FDD\u5B58\u3001\u6302\u5230\u73B0\u6709 Agent\uFF0C\u8FD8\u662F\u65B0\u5EFA\u4E00\u4E2A Agent \u6765\u4F7F\u7528\u5B83\u3002"
|
|
12390
12437
|
].join("\n"),
|
|
12391
12438
|
parameters: {
|
|
12392
12439
|
type: "object",
|
|
@@ -12809,7 +12856,7 @@ var importSkillFunctionSchema = {
|
|
|
12809
12856
|
description: [
|
|
12810
12857
|
"\u4ECE\u5916\u90E8 SKILL.md\u3001GitHub \u5730\u5740\u6216\u539F\u59CB Markdown \u6587\u672C\u5BFC\u5165\u4E00\u4E2A skill\uFF0C\u5E76\u4FDD\u5B58\u4E3A\u5F53\u524D\u7A7A\u95F4\u4E2D\u7684\u666E\u901A\u6587\u6863\u3002",
|
|
12811
12858
|
"\u5BFC\u5165\u540E\u4F1A\u81EA\u52A8\u9644\u52A0\u9690\u85CF\u7684 skill-config \u534F\u8BAE\u5757\uFF1B\u65E0\u6CD5\u6620\u5C04\u7684\u811A\u672C\u73AF\u5883\u4F1A\u964D\u7EA7\u4E3A\u8BF4\u660E\u578B skill\u3002",
|
|
12812
|
-
"\u5BFC\u5165\u6210\u529F\u540E\uFF0C\u5982\u679C\u7528\u6237\u8FD8\u6CA1\u8BF4\u660E\u4E0B\u4E00\u6B65\uFF0C\u4F18\u5148\u8C03\u7528
|
|
12859
|
+
"\u5BFC\u5165\u6210\u529F\u540E\uFF0C\u5982\u679C\u7528\u6237\u8FD8\u6CA1\u8BF4\u660E\u4E0B\u4E00\u6B65\uFF0C\u4F18\u5148\u8C03\u7528 ask_user \u7EE7\u7EED\u8BE2\u95EE\uFF1A\u4EC5\u4FDD\u5B58\u3001\u6302\u5230\u73B0\u6709 Agent\uFF0C\u8FD8\u662F\u65B0\u5EFA\u4E00\u4E2A Agent \u6765\u4F7F\u7528\u5B83\u3002"
|
|
12813
12860
|
].join("\n"),
|
|
12814
12861
|
parameters: {
|
|
12815
12862
|
type: "object",
|
|
@@ -12911,7 +12958,8 @@ var loadSkillFunctionSchema = {
|
|
|
12911
12958
|
description: [
|
|
12912
12959
|
"\u6309\u540D\u79F0\u52A0\u8F7D\u4E00\u4E2A\u5DF2\u4FDD\u5B58\u7684 skill \u6587\u6863\uFF0C\u8FD4\u56DE\u5176\u5B8C\u6574\u6307\u4EE4\u6B63\u6587\u3002",
|
|
12913
12960
|
"name \u4F7F\u7528 skill \u4FDD\u5B58\u65F6\u5199\u5165 skill-config \u7684 name\uFF08\u4E5F\u63A5\u53D7 skillId\uFF09\u3002",
|
|
12914
|
-
"\u627E\u4E0D\u5230\u5BF9\u5E94 skill \u65F6\u8FD4\u56DE\u5F53\u524D\u53EF\u7528\u7684 skill \u540D\u79F0\u5217\u8868\uFF08\u4E0D\u62A5\u9519\uFF09\u3002"
|
|
12961
|
+
"\u627E\u4E0D\u5230\u5BF9\u5E94 skill \u65F6\u8FD4\u56DE\u5F53\u524D\u53EF\u7528\u7684 skill \u540D\u79F0\u5217\u8868\uFF08\u4E0D\u62A5\u9519\uFF09\u3002",
|
|
12962
|
+
'\u7CFB\u7EDF\u5185\u7F6E\u5199\u4EE3\u7801\u6280\u80FD\uFF1A\u5BF9\u8BDD\u8F6C\u5411\u5199\u4EE3\u7801\u65F6\u7528 loadSkill("coding") \u8F7D\u5165\u5199\u4EE3\u7801\u80FD\u529B\u4E0E\u4EE3\u7801\u5BA1\u67E5\u7EAA\u5F8B\uFF08\u542B review \u89D2\u8272\u5207\u5272\uFF09\u3002'
|
|
12915
12963
|
].join("\n"),
|
|
12916
12964
|
parameters: {
|
|
12917
12965
|
type: "object",
|
|
@@ -13003,7 +13051,33 @@ async function loadSkillFunc(args, thunkApi) {
|
|
|
13003
13051
|
const requestedName = asTrimmedString(args?.name);
|
|
13004
13052
|
if (!requestedName) throw new Error("loadSkill \u9700\u8981\u63D0\u4F9B name\u3002");
|
|
13005
13053
|
const candidates = await listSkillCandidates(thunkApi);
|
|
13006
|
-
|
|
13054
|
+
let matched = matchSkillCandidate(candidates, requestedName);
|
|
13055
|
+
const builtinSlug = !matched ? resolveCodingBuiltinSlug(requestedName) : null;
|
|
13056
|
+
if (builtinSlug) {
|
|
13057
|
+
const runtime2 = getRuntime(thunkApi);
|
|
13058
|
+
const userId = runtime2?.currentUserId;
|
|
13059
|
+
const body2 = buildCodingSkillContentBySlug(builtinSlug);
|
|
13060
|
+
const dbKey = userId ? buildCodingSkillPageKey(userId, builtinSlug) : builtinSlug;
|
|
13061
|
+
if (userId) {
|
|
13062
|
+
try {
|
|
13063
|
+
const { ensureCodingSkills } = await import("./codingSkills-36KN5NQT.js");
|
|
13064
|
+
await ensureCodingSkills(userId)(thunkApi?.dispatch ?? (() => Promise.resolve()));
|
|
13065
|
+
} catch {
|
|
13066
|
+
}
|
|
13067
|
+
}
|
|
13068
|
+
await persistLoadedSkillReference(thunkApi, dbKey, requestedName);
|
|
13069
|
+
return {
|
|
13070
|
+
rawData: {
|
|
13071
|
+
success: true,
|
|
13072
|
+
name: requestedName,
|
|
13073
|
+
dbKey,
|
|
13074
|
+
body: body2
|
|
13075
|
+
},
|
|
13076
|
+
displayData: `Skill "${requestedName}" loaded inline. Follow its instructions.
|
|
13077
|
+
|
|
13078
|
+
${body2}`
|
|
13079
|
+
};
|
|
13080
|
+
}
|
|
13007
13081
|
if (!matched) {
|
|
13008
13082
|
const availableNames = Array.from(
|
|
13009
13083
|
new Set(candidates.map((candidate) => candidate.name))
|
|
@@ -13025,6 +13099,7 @@ async function loadSkillFunc(args, thunkApi) {
|
|
|
13025
13099
|
dbKey: matched.dbKey
|
|
13026
13100
|
});
|
|
13027
13101
|
const body = extractSkillBody(page);
|
|
13102
|
+
await persistLoadedSkillReference(thunkApi, matched.dbKey, requestedName);
|
|
13028
13103
|
return {
|
|
13029
13104
|
rawData: {
|
|
13030
13105
|
success: true,
|
|
@@ -13037,6 +13112,27 @@ async function loadSkillFunc(args, thunkApi) {
|
|
|
13037
13112
|
${body}`
|
|
13038
13113
|
};
|
|
13039
13114
|
}
|
|
13115
|
+
async function persistLoadedSkillReference(thunkApi, dbKey, name) {
|
|
13116
|
+
try {
|
|
13117
|
+
const state = thunkApi?.getState?.();
|
|
13118
|
+
const currentDialogKey = getActiveDialogKey();
|
|
13119
|
+
if (!state || !currentDialogKey) return;
|
|
13120
|
+
const dialogConfig = selectById(
|
|
13121
|
+
state,
|
|
13122
|
+
currentDialogKey
|
|
13123
|
+
);
|
|
13124
|
+
const existing = dialogConfig?.extraReferences ?? [];
|
|
13125
|
+
const alreadyMounted = existing.some((ref) => ref.dbKey === dbKey);
|
|
13126
|
+
if (alreadyMounted) return;
|
|
13127
|
+
const newRef = {
|
|
13128
|
+
dbKey,
|
|
13129
|
+
title: name,
|
|
13130
|
+
type: "instruction"
|
|
13131
|
+
};
|
|
13132
|
+
await setDialogExtraReferencesAction([...existing, newRef], thunkApi);
|
|
13133
|
+
} catch {
|
|
13134
|
+
}
|
|
13135
|
+
}
|
|
13040
13136
|
|
|
13041
13137
|
// packages/ai/tools/category/createCategoryTool.ts
|
|
13042
13138
|
var createCategoryFunctionSchema = {
|
|
@@ -14154,7 +14250,7 @@ async function deleteDialogsFunc(args, thunkApi) {
|
|
|
14154
14250
|
const deletedDialogIds = [];
|
|
14155
14251
|
const deletedDialogKeys = [];
|
|
14156
14252
|
const failures = [];
|
|
14157
|
-
const { deleteDialog } = await import("./dialogSlice-
|
|
14253
|
+
const { deleteDialog } = await import("./dialogSlice-KO4NRNKC.js");
|
|
14158
14254
|
for (const target of targets) {
|
|
14159
14255
|
try {
|
|
14160
14256
|
await thunkApi.dispatch(deleteDialog(target.dbKey)).unwrap();
|
|
@@ -14220,10 +14316,11 @@ function formatAgentListCard(agents, maxDisplay = 20) {
|
|
|
14220
14316
|
const visible = agents.slice(0, maxDisplay);
|
|
14221
14317
|
for (const agent of visible) {
|
|
14222
14318
|
const star = agent.isFavorite ? "\u2605" : " ";
|
|
14319
|
+
const own = agent.isOwned ? "\u25CE" : " ";
|
|
14223
14320
|
const name = agent.name || "(unnamed)";
|
|
14224
14321
|
const model = agent.model || "\u2014";
|
|
14225
14322
|
const source = agent.apiSource || agent.provider || agent.cliProvider || "\u2014";
|
|
14226
|
-
lines.push(`${star} ${name} ${model} ${source}`);
|
|
14323
|
+
lines.push(`${star}${own} ${name} ${model} ${source}`);
|
|
14227
14324
|
}
|
|
14228
14325
|
if (total > maxDisplay) {
|
|
14229
14326
|
lines.push(`\u2026 +${total - maxDisplay} more`);
|
|
@@ -14232,7 +14329,7 @@ function formatAgentListCard(agents, maxDisplay = 20) {
|
|
|
14232
14329
|
}
|
|
14233
14330
|
var listAgentsFunctionSchema = {
|
|
14234
14331
|
name: "listAgents",
|
|
14235
|
-
description: "List the current user's Nolo agents as safe summaries.
|
|
14332
|
+
description: "List the current user's Nolo agents as safe summaries. The `agents` array in the JSON result carries each agent's runnable `agentKey` (agent-<userId>-<id> for owned, agent-pub-<id> for public) plus model, apiSource, tools, prices, isOwned, isFavorite. Copy `agentKey` verbatim into startAgentRun/callAgent. Prefer isOwned agents (use your own quota, no platform credits).",
|
|
14236
14333
|
parameters: {
|
|
14237
14334
|
type: "object",
|
|
14238
14335
|
properties: {
|
|
@@ -14281,11 +14378,14 @@ async function listAgentsFunc(args, thunkApi) {
|
|
|
14281
14378
|
}
|
|
14282
14379
|
var readAgentFunctionSchema = {
|
|
14283
14380
|
name: "readAgent",
|
|
14284
|
-
description: "Read one Nolo agent
|
|
14381
|
+
description: "Read one agent's full config from the Nolo workspace. Accepts an agent dbKey (agent-xxx), plain id, alias, or agent URL; resolves it (including public agents via agent-pub-<id>; the server runtime also falls back to handle lookup) and returns the runnable agentKey plus a redacted record with fields such as model, provider, apiSource, tools, prompt, inputPrice, outputPrice, and isPublic. Use it to inspect an agent's full capabilities/credential status before delegation. Note: startAgentRun/callAgent take the exact agentKey from listAgents/readAgent; readAgent is not required before every dispatch when listAgents already gave you the key.",
|
|
14285
14382
|
parameters: {
|
|
14286
14383
|
type: "object",
|
|
14287
14384
|
properties: {
|
|
14288
|
-
agent: {
|
|
14385
|
+
agent: {
|
|
14386
|
+
type: "string",
|
|
14387
|
+
description: "Agent dbKey (e.g. agent-xxx), agent id, alias, or agent URL."
|
|
14388
|
+
}
|
|
14289
14389
|
},
|
|
14290
14390
|
required: ["agent"]
|
|
14291
14391
|
}
|
|
@@ -14418,7 +14518,7 @@ var readSkillDocFunctionSchema = {
|
|
|
14418
14518
|
}
|
|
14419
14519
|
};
|
|
14420
14520
|
async function readSkillDocFunc(args, thunkApi) {
|
|
14421
|
-
const { buildReadDocResult } = await import("./readDocTool-
|
|
14521
|
+
const { buildReadDocResult } = await import("./readDocTool-VSYHKK3V.js");
|
|
14422
14522
|
const id = args?.id ?? args?.doc ?? args?.docKey ?? args?.pageKey;
|
|
14423
14523
|
if (typeof id !== "string" || !id.trim()) {
|
|
14424
14524
|
throw new Error("readSkillDoc requires id or doc.");
|
|
@@ -19868,7 +19968,7 @@ var selectUserIdFromState = (state) => typeof state?.auth?.currentUser?.userId =
|
|
|
19868
19968
|
var selectCurrentServerFromState = (state) => typeof state?.settings?.currentServer === "string" ? state.settings.currentServer : null;
|
|
19869
19969
|
async function addImageContentToSpace(input) {
|
|
19870
19970
|
const injectedAddContentAction = input.thunkApi?.extra?.addContentAction;
|
|
19871
|
-
const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-
|
|
19971
|
+
const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-PL3KKBDH.js")).addContentAction;
|
|
19872
19972
|
await addContentAction2(
|
|
19873
19973
|
{
|
|
19874
19974
|
spaceId: input.spaceId,
|
|
@@ -20620,10 +20720,20 @@ var rememberMemoryFunctionSchema = {
|
|
|
20620
20720
|
"\u53EA\u6709\u91CD\u590D\u51FA\u73B0\u7684\u53EF\u6267\u884C\u6D41\u7A0B/\u6392\u969C\u6B65\u9AA4\u624D\u4F20 kind=procedural\uFF1B\u4E00\u822C\u504F\u597D\u548C\u4E8B\u5B9E\u4FDD\u6301\u9ED8\u8BA4 episodic\u3002",
|
|
20621
20721
|
"scope \u6309\u5185\u5BB9\u6027\u8D28\u9009\uFF0C\u4E0D\u56FA\u5B9A\u4F18\u5148\u67D0\u4E00\u5C42\uFF1A",
|
|
20622
20722
|
" - Space \u534F\u4F5C\u7EA6\u5B9A/\u56E2\u961F\u89C4\u5219 \u2192 scope=space\uFF08\u5F53\u524D dialog \u7ED1\u5B9A space \u65F6\uFF09",
|
|
20623
|
-
" - \u7528\u6237\u4E2A\u4EBA\u8EAB\u4EFD\u6216\u7EAF\u4E2A\u4EBA\u504F\u597D \u2192 scope=
|
|
20624
|
-
" - \u4E0E\u5F53\u524D
|
|
20723
|
+
" - \u7528\u6237\u4E2A\u4EBA\u8EAB\u4EFD\u6216\u7EAF\u4E2A\u4EBA\u504F\u597D \u2192 scope=user\uFF08\u4E25\u683C\u4FDD\u5B58\u4E3A\u7528\u6237\u4E3B\u4F53\uFF09",
|
|
20724
|
+
" - \u4E0E\u5F53\u524D\u52A9\u624B\u5173\u7CFB\u6302\u94A9\u7684\u504F\u597D\u6216\u6709\u6548\u505A\u6CD5 \u2192 scope=auto\uFF08runtime \u4F7F\u7528\u5F53\u524D auto/fixed \u52A9\u624B\u4E3B\u4F53\uFF09",
|
|
20625
20725
|
" - \u5F53\u524D\u4EFB\u52A1\u7684\u4E34\u65F6\u8FDB\u5EA6 \u2192 \u4E0D\u8981\u8C03\u7528\uFF0C\u8D70\u5BF9\u8BDD\u4E0A\u4E0B\u6587",
|
|
20626
|
-
"\u5199\u6210\u4E00\u53E5\u7B80\u6D01\u3001\u672A\u6765\u4ECD\u53EF\u7406\u89E3\u7684\u8BDD\u3002\u9ED8\u8BA4\u9759\u9ED8\u6267\u884C\uFF0C\u4E0D\u7528\u5411\u7528\u6237\u6C47\u62A5\u5DF2\u8BB0\u4F4F\u3002"
|
|
20726
|
+
"\u5199\u6210\u4E00\u53E5\u7B80\u6D01\u3001\u672A\u6765\u4ECD\u53EF\u7406\u89E3\u7684\u8BDD\u3002\u9ED8\u8BA4\u9759\u9ED8\u6267\u884C\uFF0C\u4E0D\u7528\u5411\u7528\u6237\u6C47\u62A5\u5DF2\u8BB0\u4F4F\u3002",
|
|
20727
|
+
"",
|
|
20728
|
+
"\u3010\u5173\u952E\u89C4\u5219\u3011\u8BB0\u5FC6\u4E0D\u53EF\u7269\u7406\u5220\u9664\uFF0C\u53EA\u80FD\u964D\u7EA7/\u5F52\u6863/\u6807\u6CE8\u3002",
|
|
20729
|
+
"\u7269\u7406\u5220\u9664\u4F1A\u5207\u65AD\u89E3\u91CA\u94FE\u2014\u2014\u7CFB\u7EDF\u65E0\u6CD5\u56DE\u7B54'\u4E3A\u4EC0\u4E48\u53D8\u4E86'\u3001'\u66FE\u7ECF\u4FE1\u4EC0\u4E48'\u3002",
|
|
20730
|
+
"\u9519\u8BEF\u7684\u8BB0\u5FC6\u5E94\u901A\u8FC7 rememberMemory \u4FEE\u6B63\u5E76\u964D\u6743\uFF08\u964D\u4F4E\u7F6E\u4FE1\u5EA6\uFF09\uFF0C\u800C\u4E0D\u662F\u5220\u9664\u3002",
|
|
20731
|
+
"",
|
|
20732
|
+
"\u3010\u7F6E\u4FE1\u5EA6\u6765\u6E90\u3011\u6BCF\u6761\u8BB0\u5FC6\u5FC5\u987B\u6807\u6CE8\u6765\u6E90\uFF08\u4F9B\u53EC\u56DE\u65F6\u5224\u65AD\u53EF\u4FE1\u5EA6\uFF09\uFF1A",
|
|
20733
|
+
" - verified\uFF1A\u5DE5\u5177/\u547D\u4EE4\u5B9E\u6D4B\u9A8C\u8BC1\u8FC7\uFF08\u9AD8\u7F6E\u4FE1\u5EA6\uFF09",
|
|
20734
|
+
" - stated\uFF1A\u7528\u6237\u660E\u786E\u9648\u8FF0\uFF08\u4E2D\u9AD8\u7F6E\u4FE1\u5EA6\uFF09",
|
|
20735
|
+
" - inferred\uFF1A\u6A21\u578B\u63A8\u65AD/\u51ED\u5370\u8C61\uFF0C\u672A\u9A8C\u8BC1\uFF08\u4F4E\u7F6E\u4FE1\u5EA6\u2014\u2014\u5BB9\u6613\u7F16\u9020\uFF0C\u4F18\u5148\u6807\u8BB0\u5B58\u7591\uFF09",
|
|
20736
|
+
"\u8C03\u7528\u65F6\u5C3D\u91CF\u660E\u786E\u6765\u6E90\uFF0C\u65E0\u6CD5\u5224\u65AD\u7684\u4FDD\u5B88\u6807 inferred\u3002"
|
|
20627
20737
|
].join("\n"),
|
|
20628
20738
|
parameters: {
|
|
20629
20739
|
type: "object",
|
|
@@ -20635,7 +20745,7 @@ var rememberMemoryFunctionSchema = {
|
|
|
20635
20745
|
scope: {
|
|
20636
20746
|
type: "string",
|
|
20637
20747
|
enum: ["auto", "user", "space"],
|
|
20638
|
-
description: "\u8BB0\u5FC6\u8303\u56F4\
|
|
20748
|
+
description: "\u8BB0\u5FC6\u8303\u56F4\u3002Space \u534F\u4F5C\u5171\u8BC6\u4F20 space\uFF1B\u7528\u6237\u4E2A\u4EBA\u8EAB\u4EFD/\u504F\u597D\u4F20 user\uFF1B\u4E0E\u5F53\u524D\u52A9\u624B\u5173\u7CFB\u6302\u94A9\u7684\u504F\u597D\u4F20 auto\u3002auto \u65F6 runtime \u4F7F\u7528\u5F53\u524D auto/fixed \u52A9\u624B\u4E3B\u4F53\u3002"
|
|
20639
20749
|
},
|
|
20640
20750
|
kind: {
|
|
20641
20751
|
type: "string",
|
|
@@ -20675,6 +20785,52 @@ async function rememberMemoryFunc(args, thunkApi) {
|
|
|
20675
20785
|
};
|
|
20676
20786
|
}
|
|
20677
20787
|
|
|
20788
|
+
// packages/ai/tools/queryMemoryToolSchema.ts
|
|
20789
|
+
var queryMemoryFunctionSchema = {
|
|
20790
|
+
name: "queryMemory",
|
|
20791
|
+
description: [
|
|
20792
|
+
"\u6309\u9700\u67E5\u8BE2\u5F53\u524D\u7528\u6237\u3001Space \u548C\u5F53\u524D auto/fixed \u52A9\u624B\u4E3B\u4F53\u7684\u957F\u671F\u8BB0\u5FC6\u3002",
|
|
20793
|
+
"\u5BF9\u8BDD\u5F00\u59CB\u524D\u7CFB\u7EDF\u4F1A\u81EA\u52A8\u8F7D\u5165\u5C11\u91CF\u9AD8\u76F8\u5173\u8BB0\u5FC6\uFF1B\u53EA\u6709\u9884\u8F7D\u4E0D\u8DB3\u3001\u7528\u6237\u63D0\u5230\u8FC7\u53BB\u7EA6\u5B9A/\u504F\u597D/\u7EA0\u6B63/\u672A\u5B8C\u6210\u4E8B\u9879\u65F6\u624D\u8C03\u7528\u3002",
|
|
20794
|
+
"\u4E0D\u8981\u4E3A\u4E86\u666E\u901A\u4E8B\u5B9E\u95EE\u9898\u67E5\u8BE2\uFF0C\u4E5F\u4E0D\u8981\u5728\u540C\u4E00\u8F6E\u7528\u8FD1\u4E49\u8BCD\u53CD\u590D\u67E5\u8BE2\u3002",
|
|
20795
|
+
"",
|
|
20796
|
+
"\u3010\u53EC\u56DE\u89C4\u5219\u3011\u53EC\u56DE\u7684\u8BB0\u5FC6\u5FC5\u987B\u5E26\u5B8C\u6574\u5386\u53F2\u4E0A\u4E0B\u6587\uFF08\u6765\u6E90\u3001\u7F6E\u4FE1\u5EA6\u3001\u53D8\u66F4\u8BB0\u5F55\uFF09\uFF0C\u7981\u6B62\u81EA\u884C\u63A8\u7406\u586B\u8865\u3002",
|
|
20797
|
+
"\u5982\u679C\u8BB0\u5FC6\u6765\u6E90\u662F inferred\uFF08\u63A8\u65AD\uFF09\uFF0C\u5FC5\u987B\u660E\u786E\u6807\u6CE8\u5B58\u7591\uFF0C\u4E0D\u80FD\u5F53\u6210\u9A8C\u8BC1\u8FC7\u7684\u4E8B\u5B9E\u4F7F\u7528\u3002",
|
|
20798
|
+
"\u9AD8\u7F6E\u4FE1\u5EA6\u8BB0\u5FC6\uFF08verified/stated\uFF09\u4F18\u5148\u4F7F\u7528\uFF1B\u4F4E\u7F6E\u4FE1\u5EA6\u8BB0\u5FC6\uFF08inferred\uFF09\u9700\u9A8C\u8BC1\u540E\u518D\u91C7\u7EB3\u3002"
|
|
20799
|
+
].join("\n"),
|
|
20800
|
+
parameters: {
|
|
20801
|
+
type: "object",
|
|
20802
|
+
properties: {
|
|
20803
|
+
query: {
|
|
20804
|
+
type: "string",
|
|
20805
|
+
description: "\u8981\u4ECE\u957F\u671F\u8BB0\u5FC6\u4E2D\u68C0\u7D22\u7684\u81EA\u7136\u8BED\u8A00\u95EE\u9898\u6216\u5173\u952E\u8BCD\u3002"
|
|
20806
|
+
}
|
|
20807
|
+
},
|
|
20808
|
+
required: ["query"]
|
|
20809
|
+
}
|
|
20810
|
+
};
|
|
20811
|
+
|
|
20812
|
+
// packages/ai/tools/queryMemoryTool.ts
|
|
20813
|
+
async function queryMemoryFunc(args, thunkApi) {
|
|
20814
|
+
const query = String(args.query ?? "").trim();
|
|
20815
|
+
if (!query) throw new Error("queryMemory \u9700\u8981\u975E\u7A7A query\u3002");
|
|
20816
|
+
const state = thunkApi.getState();
|
|
20817
|
+
const dialogKey = getActiveDialogKey();
|
|
20818
|
+
const dialog = dialogKey ? selectById(state, dialogKey) : null;
|
|
20819
|
+
const result = await callToolApi(
|
|
20820
|
+
thunkApi,
|
|
20821
|
+
"/api/memory/query",
|
|
20822
|
+
{
|
|
20823
|
+
agentKey: resolveDialogRuntimeAgentKey(dialog),
|
|
20824
|
+
userInput: query,
|
|
20825
|
+
...selectCurrentSpaceId(state) ? { spaceId: selectCurrentSpaceId(state) } : {}
|
|
20826
|
+
},
|
|
20827
|
+
{ withAuth: true }
|
|
20828
|
+
);
|
|
20829
|
+
const selectedItems = Array.isArray(result?.selectedItems) ? result.selectedItems : [];
|
|
20830
|
+
const displayData = selectedItems.length ? selectedItems.map((item) => String(item?.content ?? "").trim()).filter(Boolean).join("\n") : "\u6CA1\u6709\u627E\u5230\u76F8\u5173\u957F\u671F\u8BB0\u5FC6\u3002";
|
|
20831
|
+
return { rawData: result, displayData };
|
|
20832
|
+
}
|
|
20833
|
+
|
|
20678
20834
|
// packages/ai/tools/execShellTool.ts
|
|
20679
20835
|
var execShellFunctionSchema = {
|
|
20680
20836
|
name: "execShell",
|
|
@@ -21275,7 +21431,7 @@ var callAgentFunctionSchema = {
|
|
|
21275
21431
|
properties: {
|
|
21276
21432
|
agentKey: {
|
|
21277
21433
|
type: "string",
|
|
21278
|
-
description: "\u8981\u8C03\u7528\u7684 Agent \u7684\
|
|
21434
|
+
description: "\u8981\u8C03\u7528\u7684 Agent \u7684\u53EF\u8FD0\u884C dbKey\uFF0C\u5FC5\u987B\u662F listAgents \u8FD4\u56DE\u7684 agentKey \u5B57\u6BB5\uFF08owned: agent-<userId>-<id>\uFF1Bpublic: agent-pub-<id>\uFF09\u6216 readAgent \u8FD4\u56DE\u7684 agentKey\u3002\u53EA\u63A5\u53D7\u7CBE\u786E dbKey\uFF0C\u4E0D\u63A5\u53D7 name/handle/bare id\u3002"
|
|
21279
21435
|
},
|
|
21280
21436
|
task: {
|
|
21281
21437
|
type: "string",
|
|
@@ -21911,124 +22067,6 @@ async function runLlmToolFunc(args, thunkApi, _context) {
|
|
|
21911
22067
|
}
|
|
21912
22068
|
}
|
|
21913
22069
|
|
|
21914
|
-
// packages/ai/tools/agent/agentRunDisplayHelpers.ts
|
|
21915
|
-
function getAgentRunStatusIcon(status) {
|
|
21916
|
-
switch (status) {
|
|
21917
|
-
case "running":
|
|
21918
|
-
case "pending":
|
|
21919
|
-
return "\u23F3";
|
|
21920
|
-
case "done":
|
|
21921
|
-
return "\u2713";
|
|
21922
|
-
case "failed":
|
|
21923
|
-
case "timeout":
|
|
21924
|
-
return "\u2717";
|
|
21925
|
-
case "killed":
|
|
21926
|
-
case "cancelled":
|
|
21927
|
-
case "cancelling":
|
|
21928
|
-
return "\u{1F6D1}";
|
|
21929
|
-
case "not_found":
|
|
21930
|
-
default:
|
|
21931
|
-
return "?";
|
|
21932
|
-
}
|
|
21933
|
-
}
|
|
21934
|
-
var DEFAULT_LABELS = {
|
|
21935
|
-
runStatus: "Run status",
|
|
21936
|
-
runStarted: "Run started",
|
|
21937
|
-
runStopped: "Run stopped",
|
|
21938
|
-
logTail: "Log tail:",
|
|
21939
|
-
runs: (count) => `Runs (${count})`
|
|
21940
|
-
};
|
|
21941
|
-
function resolveLabels(labels) {
|
|
21942
|
-
return {
|
|
21943
|
-
runStatus: labels?.runStatus ?? DEFAULT_LABELS.runStatus,
|
|
21944
|
-
runStarted: labels?.runStarted ?? DEFAULT_LABELS.runStarted,
|
|
21945
|
-
runStopped: labels?.runStopped ?? DEFAULT_LABELS.runStopped,
|
|
21946
|
-
logTail: labels?.logTail ?? DEFAULT_LABELS.logTail,
|
|
21947
|
-
runs: labels?.runs ?? DEFAULT_LABELS.runs
|
|
21948
|
-
};
|
|
21949
|
-
}
|
|
21950
|
-
function isAgentNameFallback(agentName) {
|
|
21951
|
-
const trimmed = typeof agentName === "string" ? agentName.trim() : "";
|
|
21952
|
-
return !trimmed || trimmed === "agent";
|
|
21953
|
-
}
|
|
21954
|
-
function resolveRunLabel(run) {
|
|
21955
|
-
for (const candidate of [run.agentName, run.name, run.agentKey, run.runId]) {
|
|
21956
|
-
if (typeof candidate === "string" && !isAgentNameFallback(candidate)) {
|
|
21957
|
-
return candidate.trim();
|
|
21958
|
-
}
|
|
21959
|
-
}
|
|
21960
|
-
return "agent";
|
|
21961
|
-
}
|
|
21962
|
-
function formatStartRunCard(agentName, status = "running", labels) {
|
|
21963
|
-
const L = resolveLabels(labels);
|
|
21964
|
-
const icon = getAgentRunStatusIcon(status);
|
|
21965
|
-
const lines = [L.runStarted];
|
|
21966
|
-
if (!isAgentNameFallback(agentName)) {
|
|
21967
|
-
lines.push(` agent ${agentName}`);
|
|
21968
|
-
}
|
|
21969
|
-
lines.push(` status ${icon} ${status}`);
|
|
21970
|
-
return lines.join("\n");
|
|
21971
|
-
}
|
|
21972
|
-
function formatStatusRunCard(agentName, status = "running", opts) {
|
|
21973
|
-
const L = resolveLabels(opts?.labels);
|
|
21974
|
-
const icon = getAgentRunStatusIcon(status);
|
|
21975
|
-
const lines = [L.runStatus, ` ${icon} ${status}`];
|
|
21976
|
-
if (!isAgentNameFallback(agentName)) {
|
|
21977
|
-
lines.push(` agent ${agentName}`);
|
|
21978
|
-
}
|
|
21979
|
-
if (opts?.pollCount !== void 0 && opts.pollCount > 0) {
|
|
21980
|
-
lines.push(` polls ${opts.pollCount}`);
|
|
21981
|
-
}
|
|
21982
|
-
if (typeof opts?.elapsedMs === "number" && Number.isFinite(opts.elapsedMs)) {
|
|
21983
|
-
lines.push(` last ${Math.round(opts.elapsedMs)}ms`);
|
|
21984
|
-
}
|
|
21985
|
-
if (opts?.lastToolNames && opts.lastToolNames.length > 0) {
|
|
21986
|
-
lines.push(` lastTools ${opts.lastToolNames.join(", ")}`);
|
|
21987
|
-
}
|
|
21988
|
-
if (opts?.toolCallCount !== void 0) {
|
|
21989
|
-
lines.push(` toolCalls ${opts.toolCallCount}`);
|
|
21990
|
-
}
|
|
21991
|
-
if (opts?.errorMessage?.trim()) {
|
|
21992
|
-
lines.push(` error ${opts.errorMessage.trim()}`);
|
|
21993
|
-
}
|
|
21994
|
-
const includeLog = opts?.includeLogTail !== false;
|
|
21995
|
-
if (includeLog && opts?.logLines && opts.logLines.length > 0) {
|
|
21996
|
-
lines.push("", L.logTail, ...opts.logLines.map((l) => ` ${l}`));
|
|
21997
|
-
}
|
|
21998
|
-
return lines.join("\n");
|
|
21999
|
-
}
|
|
22000
|
-
function formatStopRunCard(status = "killed", labels) {
|
|
22001
|
-
const L = resolveLabels(labels);
|
|
22002
|
-
const icon = getAgentRunStatusIcon(status);
|
|
22003
|
-
return `${L.runStopped}
|
|
22004
|
-
${icon} ${status}`;
|
|
22005
|
-
}
|
|
22006
|
-
function formatListRunsCard(runs, labels) {
|
|
22007
|
-
const L = resolveLabels(labels);
|
|
22008
|
-
const lines = [L.runs(runs.length)];
|
|
22009
|
-
for (const run of runs) {
|
|
22010
|
-
const status = run.status ?? "\u2014";
|
|
22011
|
-
const icon = getAgentRunStatusIcon(status);
|
|
22012
|
-
lines.push(` ${icon} ${resolveRunLabel(run)}`);
|
|
22013
|
-
}
|
|
22014
|
-
return lines.join("\n");
|
|
22015
|
-
}
|
|
22016
|
-
function formatNotFoundRunCard(labels) {
|
|
22017
|
-
const L = resolveLabels(labels);
|
|
22018
|
-
return `${L.runStatus}
|
|
22019
|
-
? not_found`;
|
|
22020
|
-
}
|
|
22021
|
-
var AGENT_RUN_TERMINAL_STATUSES = /* @__PURE__ */ new Set([
|
|
22022
|
-
"done",
|
|
22023
|
-
"failed",
|
|
22024
|
-
"timeout",
|
|
22025
|
-
"killed",
|
|
22026
|
-
"cancelled"
|
|
22027
|
-
]);
|
|
22028
|
-
function isAgentRunTerminalStatus(status) {
|
|
22029
|
-
return typeof status === "string" && AGENT_RUN_TERMINAL_STATUSES.has(status);
|
|
22030
|
-
}
|
|
22031
|
-
|
|
22032
22070
|
// packages/ai/tools/agent/startAgentRunTool.ts
|
|
22033
22071
|
var startAgentRunFunctionSchema = {
|
|
22034
22072
|
name: "startAgentRun",
|
|
@@ -22038,7 +22076,7 @@ var startAgentRunFunctionSchema = {
|
|
|
22038
22076
|
properties: {
|
|
22039
22077
|
agentKey: {
|
|
22040
22078
|
type: "string",
|
|
22041
|
-
description: "\u8981\u542F\u52A8\u7684 Agent \u7684\u53EF\u8FD0\u884C dbKey\
|
|
22079
|
+
description: "\u8981\u542F\u52A8\u7684 Agent \u7684\u53EF\u8FD0\u884C dbKey\uFF0C\u5FC5\u987B\u662F listAgents \u8FD4\u56DE\u7684 agentKey \u5B57\u6BB5\uFF08owned: agent-<userId>-<id>\uFF1Bpublic: agent-pub-<id>\uFF09\u6216 readAgent \u8FD4\u56DE\u7684 agentKey\u3002\u53EA\u63A5\u53D7\u7CBE\u786E dbKey\uFF0C\u4E0D\u63A5\u53D7 name/handle/bare id\u3002"
|
|
22042
22080
|
},
|
|
22043
22081
|
task: {
|
|
22044
22082
|
type: "string",
|
|
@@ -22054,14 +22092,23 @@ var startAgentRunFunctionSchema = {
|
|
|
22054
22092
|
ephemeral: {
|
|
22055
22093
|
type: "boolean",
|
|
22056
22094
|
description: "\u53EF\u9009\u3002\u4E3A true \u65F6\u672C\u6B21 run \u4E0D\u6301\u4E45\u5316 dialog\uFF08\u4E0D\u7559\u8BB0\u5F55\uFF09\u3002\u7528\u4E8E\u4E00\u6B21\u6027\u5BA1\u67E5\uFF08review\uFF09\u7B49\u4E0D\u9700\u7559\u75D5\u7684\u573A\u666F\u3002\u9ED8\u8BA4 false\u3002"
|
|
22095
|
+
},
|
|
22096
|
+
batchId: {
|
|
22097
|
+
type: "string",
|
|
22098
|
+
description: "\u53EF\u9009\u3002\u6279\u6B21 id\uFF0C\u7528\u4E8E\u628A\u591A\u4E2A\u5E76\u884C run \u5F52\u4E3A\u4E00\u7EC4\uFF0C\u4FBF\u4E8E\u540E\u7EED controlAgentRun(list, batchId=...) \u6309\u6279\u67E5\u8BE2\u3002\u672A\u4F20\u65F6\u81EA\u52A8\u751F\u6210\u4E00\u4E2A\u5E76\u5728\u8FD4\u56DE\u503C\u4E2D\u5E26\u56DE\uFF0C\u8C03\u7528\u65B9\u65E0\u9700\u5148\u521B\u5EFA\u3002"
|
|
22099
|
+
},
|
|
22100
|
+
trackTodo: {
|
|
22101
|
+
type: "boolean",
|
|
22102
|
+
description: '\u53EF\u9009\u3002\u4E3A true \u65F6\u672C\u6B21 run \u4F1A\u88AB\u8BB0\u5F55\u8FDB runtime todo\uFF08~/.nolo/todos.json\uFF09\u3002\u4F20\u4E86 batchId \u65F6\u9ED8\u8BA4\u5373\u8BB0\u5F55\uFF08\u6BCF\u6279\u5BF9\u5E94\u4E00\u9879 todo\uFF09\u3002todo \u72B6\u6001\u7531\u5173\u8054 run \u72B6\u6001 + review \u7ED3\u8BBA\u63A8\u5BFC\uFF0C\u7528 controlAgentRun(action:"todo") \u67E5\u8BE2\u3002'
|
|
22057
22103
|
}
|
|
22058
22104
|
},
|
|
22059
22105
|
required: ["agentKey", "task"]
|
|
22060
22106
|
}
|
|
22061
22107
|
};
|
|
22062
22108
|
async function startAgentRunFunc(args, thunkApi, _context) {
|
|
22063
|
-
const { agentKey, task, input, agentName, ephemeral } = args;
|
|
22109
|
+
const { agentKey, task, input, agentName, ephemeral, batchId } = args;
|
|
22064
22110
|
const { dispatch } = thunkApi;
|
|
22111
|
+
const effectiveBatchId = typeof batchId === "string" && batchId.trim() ? batchId.trim() : `batch-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}-${Math.random().toString(36).slice(2, 8)}`;
|
|
22065
22112
|
if (!agentKey) {
|
|
22066
22113
|
throw new Error("startAgentRun: \u7F3A\u5C11 agentKey \u53C2\u6570\u3002");
|
|
22067
22114
|
}
|
|
@@ -22085,14 +22132,24 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
22085
22132
|
const status = bgResult.status ?? "pending";
|
|
22086
22133
|
const resolvedName = agentName?.trim() || bgResult.agentName || bgResult.name;
|
|
22087
22134
|
const identity = { agentName: resolvedName, agentKey, runId };
|
|
22135
|
+
const taskPreview = task.replace(/\s+/g, " ").trim().slice(0, TASK_PREVIEW_MAX);
|
|
22088
22136
|
return {
|
|
22089
22137
|
rawData: {
|
|
22090
22138
|
runId,
|
|
22091
22139
|
status,
|
|
22092
22140
|
agentKey,
|
|
22093
|
-
|
|
22094
|
-
|
|
22095
|
-
|
|
22141
|
+
// batchId is always returned — minted above when the caller didn't
|
|
22142
|
+
// supply one — so controlAgentRun(list, batchId=...) works on every
|
|
22143
|
+
// host. On the server path the id lives in the tool return; on the
|
|
22144
|
+
// CLI local path it is also persisted on the run record.
|
|
22145
|
+
batchId: effectiveBatchId,
|
|
22146
|
+
...resolvedName ? { agentName: resolvedName } : {},
|
|
22147
|
+
...taskPreview ? { taskPreview } : {}
|
|
22148
|
+
},
|
|
22149
|
+
displayData: formatStartRunCard(resolveRunLabel(identity), status, {
|
|
22150
|
+
task: taskPreview,
|
|
22151
|
+
runId
|
|
22152
|
+
})
|
|
22096
22153
|
};
|
|
22097
22154
|
} catch (e) {
|
|
22098
22155
|
throw new Error(`startAgentRun \u542F\u52A8 Agent [${agentKey}] \u5931\u8D25: ${toErrorMessage(e)}`);
|
|
@@ -22102,14 +22159,14 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
22102
22159
|
// packages/ai/tools/agent/controlAgentRunTool.ts
|
|
22103
22160
|
var controlAgentRunFunctionSchema = {
|
|
22104
22161
|
name: "controlAgentRun",
|
|
22105
|
-
description: "\u89C2\u5BDF\u548C\u63A7\u5236\u540E\u53F0 agent run\u3002\u4E00\u4E2A\u5DE5\u5177\u4E09\u4E2A action\uFF1Alist\uFF08\u5217\u51FA
|
|
22162
|
+
description: "\u89C2\u5BDF\u548C\u63A7\u5236\u540E\u53F0 agent run\u3002\u4E00\u4E2A\u5DE5\u5177\u4E09\u4E2A action\uFF1Alist\uFF08\u5217\u51FA run\uFF0C\u652F\u6301\u6309\u6279\u6B21/\u72B6\u6001\u8FC7\u6EE4\u4E0E\u5206\u9875\uFF09\u3001status\uFF08\u67E5\u5355\u6761 + \u53EF\u9009\u65E5\u5FD7\uFF09\u3001stop\uFF08\u53D6\u6D88 run\uFF09\u3002\u76F8\u5F53\u4E8E Unix \u7684 wait + signal + /proc\u3002\u7528 startAgentRun \u62FF\u5230 runId \u540E\uFF0C\u7528\u672C\u5DE5\u5177\u8DDF\u8FDB\u5EA6\u6216\u53EB\u505C\u3002list \u9ED8\u8BA4\u53EA\u8FD4\u56DE\u6700\u8FD1 20 \u6761\uFF0C\u907F\u514D\u5168\u91CF\u51B2\u7206\u4E0A\u4E0B\u6587\uFF1B\u7528 status/batchId/limit/offset \u53D6\u6240\u9700\u5206\u9875\u3002",
|
|
22106
22163
|
parameters: {
|
|
22107
22164
|
type: "object",
|
|
22108
22165
|
properties: {
|
|
22109
22166
|
action: {
|
|
22110
22167
|
type: "string",
|
|
22111
|
-
enum: ["list", "status", "stop"],
|
|
22112
|
-
description: "\u8981\u6267\u884C\u7684\u64CD\u4F5C\uFF1Alist=\u5217\u51FA
|
|
22168
|
+
enum: ["list", "status", "stop", "todo"],
|
|
22169
|
+
description: "\u8981\u6267\u884C\u7684\u64CD\u4F5C\uFF1Alist=\u5217\u51FA run\uFF08\u7701\u7565 runId\uFF09\uFF1Bstatus=\u67E5\u5355\u6761 run \u72B6\u6001 + \u53EF\u9009\u65E5\u5FD7\uFF1Bstop=\u53D6\u6D88 run\uFF1Btodo=\u5217\u51FA runtime todo\uFF08\u7531 startAgentRun \u7684 batchId/trackTodo \u4EA7\u751F\uFF0C\u72B6\u6001\u7531\u5173\u8054 run \u63A8\u5BFC\uFF09\u3002"
|
|
22113
22170
|
},
|
|
22114
22171
|
runId: {
|
|
22115
22172
|
type: "string",
|
|
@@ -22120,23 +22177,38 @@ var controlAgentRunFunctionSchema = {
|
|
|
22120
22177
|
description: "\u53EF\u9009\u3002action=status \u65F6\uFF1A0=\u53EA\u8FD4\u56DE\u72B6\u6001\u6458\u8981\uFF0C>0=\u540C\u65F6\u8FD4\u56DE\u6700\u8FD1 N \u884C\u65E5\u5FD7\uFF08\u9ED8\u8BA4 0\uFF09\u3002",
|
|
22121
22178
|
default: 0
|
|
22122
22179
|
},
|
|
22180
|
+
batchId: {
|
|
22181
|
+
type: "string",
|
|
22182
|
+
description: "\u53EF\u9009\u3002action=list \u65F6\u53EA\u8FD4\u56DE\u8BE5\u6279\u6B21\u7684 run\uFF08startAgentRun \u8FD4\u56DE\u503C\u6216\u5165\u53C2\u4E2D\u7684 batchId\uFF09\u3002"
|
|
22183
|
+
},
|
|
22184
|
+
status: {
|
|
22185
|
+
type: "string",
|
|
22186
|
+
description: "\u53EF\u9009\u3002action=list \u65F6\u6309\u72B6\u6001\u8FC7\u6EE4\uFF0C\u652F\u6301\u5355\u503C\u6216\u9017\u53F7\u5206\u9694\u591A\u503C\uFF08\u5982 'running,orphaned'\uFF09\u3002\u4E0E statusFilter \u540C\u4E49\uFF0Cstatus \u4F18\u5148\uFF1B\u53D6\u503C\u5305\u542B orphaned\uFF08pid \u5DF2\u6B7B\u4F46\u8BB0\u5F55\u4ECD running \u7684\u5B64\u513F run\uFF09\u3002\u9ED8\u8BA4 all\uFF08\u4E0D\u8FC7\u6EE4\uFF09\u3002"
|
|
22187
|
+
},
|
|
22123
22188
|
statusFilter: {
|
|
22124
22189
|
type: "string",
|
|
22125
|
-
enum: ["running", "done", "failed", "cancelled", "all"],
|
|
22126
|
-
description: "\u53EF\u9009\u3002action=list \u65F6\u6309\u72B6\u6001\u8FC7\u6EE4\uFF0C\u9ED8\u8BA4 all\u3002"
|
|
22190
|
+
enum: ["running", "done", "failed", "cancelled", "orphaned", "all"],
|
|
22191
|
+
description: "\u53EF\u9009\u3002action=list \u65F6\u6309\u72B6\u6001\u8FC7\u6EE4\uFF0C\u9ED8\u8BA4 all\u3002\u4E0E status \u540C\u4E49\uFF08status \u4F18\u5148\uFF0C\u4E14 status \u652F\u6301\u591A\u503C\uFF09\u3002"
|
|
22127
22192
|
},
|
|
22128
22193
|
limit: {
|
|
22129
22194
|
type: "number",
|
|
22130
|
-
description: "\u53EF\u9009\u3002action=list \u65F6\u9650\u5236\u8FD4\u56DE\u6570\u91CF\uFF0C\u9ED8\u8BA4 20\u3002"
|
|
22195
|
+
description: "\u53EF\u9009\u3002action=list \u65F6\u9650\u5236\u8FD4\u56DE\u6570\u91CF\uFF0C\u9ED8\u8BA4 20\uFF0C\u4E0A\u9650 200\u3002\u4E0D\u5E26\u4EFB\u4F55\u53C2\u6570\u4E0D\u4F1A\u8FD4\u56DE\u5168\u91CF\u3002"
|
|
22196
|
+
},
|
|
22197
|
+
offset: {
|
|
22198
|
+
type: "number",
|
|
22199
|
+
description: "\u53EF\u9009\u3002action=list \u65F6\u8DF3\u8FC7\u524D N \u6761\uFF0C\u914D\u5408 limit \u7FFB\u9875\u3002\u9ED8\u8BA4 0\u3002"
|
|
22131
22200
|
}
|
|
22132
22201
|
},
|
|
22133
22202
|
required: ["action"]
|
|
22134
22203
|
}
|
|
22135
22204
|
};
|
|
22136
22205
|
async function controlAgentRunFunc(args, thunkApi, _context) {
|
|
22137
|
-
const { action, runId, tailLines, statusFilter, limit } = args;
|
|
22206
|
+
const { action, runId, tailLines, batchId, status, statusFilter, limit, offset } = args;
|
|
22138
22207
|
if (action === "list") {
|
|
22139
|
-
return handleList(thunkApi, { statusFilter, limit });
|
|
22208
|
+
return handleList(thunkApi, { batchId, status, statusFilter, limit, offset });
|
|
22209
|
+
}
|
|
22210
|
+
if (action === "todo") {
|
|
22211
|
+
return handleTodo(thunkApi, { status });
|
|
22140
22212
|
}
|
|
22141
22213
|
if (action === "status") {
|
|
22142
22214
|
if (!runId) throw new Error('controlAgentRun(action:"status"): \u7F3A\u5C11 runId\u3002');
|
|
@@ -22151,8 +22223,11 @@ async function controlAgentRunFunc(args, thunkApi, _context) {
|
|
|
22151
22223
|
async function handleList(thunkApi, opts) {
|
|
22152
22224
|
try {
|
|
22153
22225
|
const body = { action: "list" };
|
|
22154
|
-
|
|
22226
|
+
const statusVal = opts.status ?? opts.statusFilter;
|
|
22227
|
+
if (statusVal) body.statusFilter = statusVal;
|
|
22228
|
+
if (opts.batchId) body.batchId = opts.batchId;
|
|
22155
22229
|
if (opts.limit !== void 0) body.limit = opts.limit;
|
|
22230
|
+
if (opts.offset !== void 0) body.offset = opts.offset;
|
|
22156
22231
|
const data = await callToolApi(
|
|
22157
22232
|
thunkApi,
|
|
22158
22233
|
"/api/agent/runs/control",
|
|
@@ -22161,9 +22236,10 @@ async function handleList(thunkApi, opts) {
|
|
|
22161
22236
|
);
|
|
22162
22237
|
const resData = data?.data ?? data;
|
|
22163
22238
|
const runs = resData?.runs ?? [];
|
|
22164
|
-
const
|
|
22239
|
+
const total = typeof resData?.total === "number" ? resData.total : runs.length;
|
|
22240
|
+
const hasMore = typeof resData?.hasMore === "boolean" ? resData.hasMore : false;
|
|
22165
22241
|
return {
|
|
22166
|
-
rawData: { runs, count },
|
|
22242
|
+
rawData: { runs, count: runs.length, total, hasMore },
|
|
22167
22243
|
displayData: formatListRunsCard(runs)
|
|
22168
22244
|
};
|
|
22169
22245
|
} catch (e) {
|
|
@@ -22192,9 +22268,12 @@ async function handleStatus(thunkApi, opts) {
|
|
|
22192
22268
|
return {
|
|
22193
22269
|
rawData: { found: true, ...run, ...logLines ? { logLines } : {} },
|
|
22194
22270
|
displayData: formatStatusRunCard(name, run.status, {
|
|
22271
|
+
runId: opts.runId,
|
|
22195
22272
|
lastToolNames: run.lastToolNames,
|
|
22196
22273
|
toolCallCount: run.toolCallCount,
|
|
22274
|
+
lastAssistantText: run.lastAssistantText,
|
|
22197
22275
|
errorMessage: run.errorMessage,
|
|
22276
|
+
timing: { startedAt: run.startedAt, finishedAt: run.finishedAt },
|
|
22198
22277
|
logLines
|
|
22199
22278
|
})
|
|
22200
22279
|
};
|
|
@@ -22220,6 +22299,28 @@ async function handleStop(thunkApi, opts) {
|
|
|
22220
22299
|
throw new Error(`controlAgentRun(stop) \u5931\u8D25: ${toErrorMessage(e)}`);
|
|
22221
22300
|
}
|
|
22222
22301
|
}
|
|
22302
|
+
async function handleTodo(thunkApi, opts) {
|
|
22303
|
+
try {
|
|
22304
|
+
const body = { action: "todo" };
|
|
22305
|
+
if (opts.status) body.status = opts.status;
|
|
22306
|
+
const data = await callToolApi(
|
|
22307
|
+
thunkApi,
|
|
22308
|
+
"/api/agent/runs/control",
|
|
22309
|
+
body,
|
|
22310
|
+
{ withAuth: true }
|
|
22311
|
+
);
|
|
22312
|
+
const resData = data?.data ?? data;
|
|
22313
|
+
const todos = resData?.todos ?? [];
|
|
22314
|
+
return {
|
|
22315
|
+
rawData: { todos, count: todos.length },
|
|
22316
|
+
displayData: formatListRunsCard(
|
|
22317
|
+
todos.map((t) => ({ agentName: t?.title ?? t?.id, status: t?.status }))
|
|
22318
|
+
)
|
|
22319
|
+
};
|
|
22320
|
+
} catch (e) {
|
|
22321
|
+
throw new Error(`controlAgentRun(todo) \u5931\u8D25: ${toErrorMessage(e)}`);
|
|
22322
|
+
}
|
|
22323
|
+
}
|
|
22223
22324
|
|
|
22224
22325
|
// packages/ai/tools/agent/agentTools.ts
|
|
22225
22326
|
var agentToolDefinitions = [
|
|
@@ -23413,7 +23514,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
23413
23514
|
if (!executionInput) {
|
|
23414
23515
|
throw new Error(`ToolRun ${id} has no input to execute with.`);
|
|
23415
23516
|
}
|
|
23416
|
-
const { findToolExecutor: findToolExecutor2 } = await import("./tools-
|
|
23517
|
+
const { findToolExecutor: findToolExecutor2 } = await import("./tools-BMXIXHMB.js");
|
|
23417
23518
|
const { executor } = findToolExecutor2(run.toolName);
|
|
23418
23519
|
toolRunStarted({
|
|
23419
23520
|
id: run.id,
|
|
@@ -23437,7 +23538,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
23437
23538
|
const latestState = thunkApi.getState();
|
|
23438
23539
|
const userId = latestState.auth?.currentUser?.userId;
|
|
23439
23540
|
if (userId) {
|
|
23440
|
-
const { fetchUserSpaceMemberships } = await import("./spaceSlice-
|
|
23541
|
+
const { fetchUserSpaceMemberships } = await import("./spaceSlice-P7VOXLY6.js");
|
|
23441
23542
|
await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
|
|
23442
23543
|
}
|
|
23443
23544
|
}
|
|
@@ -25920,7 +26021,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
25920
26021
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
25921
26022
|
};
|
|
25922
26023
|
await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
|
|
25923
|
-
const { getDocState, applyExternalDocUpdate } = await import("./docStore-
|
|
26024
|
+
const { getDocState, applyExternalDocUpdate } = await import("./docStore-6KMERNUY.js");
|
|
25924
26025
|
if (getDocState().pageKey === id) {
|
|
25925
26026
|
applyExternalDocUpdate({
|
|
25926
26027
|
slateData: finalSlateData,
|
|
@@ -25945,7 +26046,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
25945
26046
|
// packages/ai/tools/updateUserPreferenceProfileTool.ts
|
|
25946
26047
|
async function dispatchSetSettings(thunkApi, changes) {
|
|
25947
26048
|
const injectedSetSettings = thunkApi?.extra?.setSettings;
|
|
25948
|
-
const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-
|
|
26049
|
+
const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-7MNKHZ6R.js")).setSettings;
|
|
25949
26050
|
await thunkApi.dispatch(setSettings(changes)).unwrap();
|
|
25950
26051
|
}
|
|
25951
26052
|
var updateUserPreferenceProfileFunctionSchema = {
|
|
@@ -26542,12 +26643,23 @@ var baseToolDefinitions = [
|
|
|
26542
26643
|
schema: uiAskChoiceFunctionSchema,
|
|
26543
26644
|
executor: uiAskChoiceFunc,
|
|
26544
26645
|
description: {
|
|
26545
|
-
name: "
|
|
26646
|
+
name: "ask_user",
|
|
26546
26647
|
description: "\u5411\u7528\u6237\u63D0\u51FA\u4E00\u4E2A\u5E26\u591A\u4E2A\u9009\u9879\u7684\u95EE\u9898\uFF0C\u8BA9\u754C\u9762\u5C55\u793A\u6309\u94AE\u4F9B\u7528\u6237\u9009\u62E9\u3002",
|
|
26547
26648
|
category: "\u4EA4\u4E92 / UI"
|
|
26548
26649
|
},
|
|
26549
26650
|
behavior: "answer"
|
|
26550
26651
|
},
|
|
26652
|
+
{
|
|
26653
|
+
id: "queryMemory",
|
|
26654
|
+
schema: queryMemoryFunctionSchema,
|
|
26655
|
+
executor: queryMemoryFunc,
|
|
26656
|
+
description: {
|
|
26657
|
+
name: "queryMemory",
|
|
26658
|
+
description: "\u6309\u9700\u67E5\u8BE2\u5F53\u524D\u7528\u6237\u3001Space \u548C\u52A9\u624B\u4E3B\u4F53\u7684\u957F\u671F\u8BB0\u5FC6\u3002",
|
|
26659
|
+
category: "\u8BB0\u5FC6 / \u957F\u671F\u4E0A\u4E0B\u6587"
|
|
26660
|
+
},
|
|
26661
|
+
behavior: "data"
|
|
26662
|
+
},
|
|
26551
26663
|
{
|
|
26552
26664
|
id: "rememberMemory",
|
|
26553
26665
|
schema: rememberMemoryFunctionSchema,
|
|
@@ -27362,7 +27474,7 @@ var baseToolDefinitions = [
|
|
|
27362
27474
|
executor: readAgentFunc,
|
|
27363
27475
|
description: {
|
|
27364
27476
|
name: "readAgent",
|
|
27365
|
-
description: "Read a Nolo agent config.",
|
|
27477
|
+
description: "Read a Nolo agent's full config and resolve its runnable agentKey.",
|
|
27366
27478
|
category: "Nolo workspace"
|
|
27367
27479
|
},
|
|
27368
27480
|
behavior: "data",
|
|
@@ -28186,14 +28298,6 @@ export {
|
|
|
28186
28298
|
readXPostFunc,
|
|
28187
28299
|
readXhsProfileFunctionSchema,
|
|
28188
28300
|
readXhsProfileFunc,
|
|
28189
|
-
isAgentNameFallback,
|
|
28190
|
-
resolveRunLabel,
|
|
28191
|
-
formatStartRunCard,
|
|
28192
|
-
formatStatusRunCard,
|
|
28193
|
-
formatStopRunCard,
|
|
28194
|
-
formatListRunsCard,
|
|
28195
|
-
formatNotFoundRunCard,
|
|
28196
|
-
isAgentRunTerminalStatus,
|
|
28197
28301
|
TOOL_PACKS,
|
|
28198
28302
|
resolveEffectiveEnabledPacks,
|
|
28199
28303
|
addDefaultSystemCapabilityTools,
|