nolo-cli 0.16.0-alpha.12 → 0.16.0-alpha.14
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-LGHYA5XS.js → _executeModel-UU2JO5OB.js} +16 -15
- package/{agentDeleteCommand-PBIUC4FT.js → agentDeleteCommand-L6JRXPYK.js} +10 -10
- package/{agentEmailCommands-KC2QCPQV.js → agentEmailCommands-FE3GY3T5.js} +19 -18
- package/{agentListCommands-N64PHBXM.js → agentListCommands-ZWSAIC4W.js} +11 -11
- package/{agentMachineCommands-P7S5WAVA.js → agentMachineCommands-VWQ2GZBY.js} +10 -10
- package/{agentRecordCommands-JKZR2TZJ.js → agentRecordCommands-PYVZMRZM.js} +19 -18
- package/{agentRunCommand-2ELKCBWR.js → agentRunCommand-3ADJ2J5U.js} +24 -20
- package/{agentRunControl-6ADXVYMR.js → agentRunControl-YVLQ4BW5.js} +24 -1
- package/{agentRuntimeLocal-T6YECTNF.js → agentRuntimeLocal-LXTR6SAU.js} +7 -7
- package/{agentSlice-NXLMDKR7.js → agentSlice-TI6ECUGN.js} +1 -1
- package/{appDeleteCommands-D6B6Z4ZQ.js → appDeleteCommands-QIS37SXE.js} +11 -11
- package/{appDeployCommands-YMO5FK4T.js → appDeployCommands-WBHB7T5B.js} +11 -11
- package/{appDeployStatusCommands-EO5DWWPQ.js → appDeployStatusCommands-A3OUV6GO.js} +11 -11
- package/{appGetCommands-6SMZ3URQ.js → appGetCommands-LCVYIH63.js} +11 -11
- package/{appListCommands-RZXSWR2G.js → appListCommands-PC7QOBUO.js} +11 -11
- package/{chunk-4LXOVZ4W.js → chunk-2OK7P5XF.js} +54 -13
- package/{chunk-MSA4JAOZ.js → chunk-2ZLEOGS5.js} +1 -1
- package/{chunk-KKY4B2Q2.js → chunk-4PWB7JRR.js} +4 -1
- package/{chunk-VHXXRWNL.js → chunk-5QJFYG2N.js} +15 -5
- package/{chunk-F3UOACU4.js → chunk-64IEIMN4.js} +1 -1
- package/{chunk-XEWUC53Z.js → chunk-6IGLIDDE.js} +21 -9
- package/{chunk-AS3ZQ3O2.js → chunk-7OBMZCRD.js} +1 -1
- package/{chunk-QLUFR47U.js → chunk-AL2V7U3E.js} +1 -1
- package/{chunk-22NGXGN3.js → chunk-BOBNE3XT.js} +2 -2
- package/{chunk-MYMMNKYL.js → chunk-E5CLOOG5.js} +153 -6
- package/{chunk-ZXQ52OY2.js → chunk-ECGTEOC2.js} +3 -3
- package/chunk-FKXFCYVO.js +221 -0
- package/{chunk-6KBBMW4D.js → chunk-FTNTMGXT.js} +1 -1
- package/{chunk-6CRACQXW.js → chunk-GFPESFS6.js} +2 -2
- package/{chunk-47QUPRHO.js → chunk-GM37ZF7R.js} +2 -2
- package/{chunk-A7O4KKLZ.js → chunk-HGDFFA6T.js} +2 -2
- package/{chunk-C4MMO7W4.js → chunk-NZBK3ZET.js} +1 -1
- package/{chunk-JTMNCCWF.js → chunk-OSIJVBXP.js} +2 -2
- package/{chunk-OVBVEXZ7.js → chunk-PFW2ZEON.js} +53 -1
- package/{chunk-BXXECNBU.js → chunk-Q6B6XJBG.js} +15 -6
- package/{chunk-GPELDE6I.js → chunk-SOW2GCA5.js} +1 -1
- package/{chunk-HSASSW4L.js → chunk-TUWPYUVR.js} +7 -7
- package/{chunk-EQTZPEID.js → chunk-U3DCTSPN.js} +31 -49
- package/{chunk-D4NCEGGR.js → chunk-URVWRKFU.js} +166 -242
- package/{chunk-WBA6SIBB.js → chunk-UUDRNDC7.js} +1 -1
- package/{chunk-2WXMU64E.js → chunk-W63ZTRQU.js} +3 -3
- package/{chunk-ZH62XNZE.js → chunk-W6OKITU6.js} +678 -39
- package/{chunk-PU4LXVAC.js → chunk-XG7CSGP3.js} +1 -1
- package/{chunk-XRSPI6CP.js → chunk-YZXEEGKV.js} +1 -1
- package/{chunk-RIF3XLXK.js → chunk-ZDDHKIWB.js} +8 -4
- package/{createAgentAutomationAction-RKWIMKHW.js → createAgentAutomationAction-N4ZB7VX2.js} +3 -3
- package/{createDialogAction-VN7MEBS3.js → createDialogAction-KF6HXCCZ.js} +4 -4
- package/{createPageAction-JBUWBHHC.js → createPageAction-FXWSJONZ.js} +3 -3
- package/{dialogCommands-DFY5HJ6M.js → dialogCommands-ULS6HV5V.js} +11 -11
- package/{dialogSlice-NNYBU35K.js → dialogSlice-K32QLYS7.js} +3 -3
- package/{docCreateCommands-5L76YTI2.js → docCreateCommands-RZTRTRU4.js} +10 -10
- package/{docDeleteCommands-3GASP3VR.js → docDeleteCommands-FU36A663.js} +11 -11
- package/{docReadCommands-ALA77AZM.js → docReadCommands-IX4JXD4X.js} +10 -10
- package/{docStore-DR22GGF3.js → docStore-L6HBNJ3R.js} +4 -4
- package/{docUpdateCommands-6AZGXE5M.js → docUpdateCommands-W4OCR55Z.js} +10 -10
- package/{handleSendMessageAction-FHITDM7H.js → handleSendMessageAction-MFKKZXV7.js} +3 -3
- package/index.js +45 -45
- package/{machineCommands-3B4IHHVK.js → machineCommands-4MFLZERH.js} +18 -17
- package/{machineWsRunDispatch-AXZ6OL3V.js → machineWsRunDispatch-AAHRNKIR.js} +18 -17
- package/package.json +1 -1
- package/{readlineWorkspace-DBZCXS7Y.js → readlineWorkspace-7OPITHTN.js} +38 -29
- package/{runAgentClientLoop-AB7PQ3TB.js → runAgentClientLoop-HRWV7KE2.js} +12 -11
- package/{setPrimaryDialogAgentAction-IIVDCY5C.js → setPrimaryDialogAgentAction-57GRIGX5.js} +16 -8
- package/{skillDiscovery-6M2BZUFN.js → skillDiscovery-KJWT7JBU.js} +3 -3
- package/{spaceCommands-AB2D7A2R.js → spaceCommands-GMMQTMHK.js} +10 -10
- package/{spaceSlice-TEJDCU6A.js → spaceSlice-V2P5TTQU.js} +3 -3
- package/{streamAgentChatTurn-NZ3HLAXS.js → streamAgentChatTurn-ZANOYOUR.js} +64 -43
- package/{tools-M4USUF3R.js → tools-YHZP6NXU.js} +8 -7
- package/{updateDialogTitleAction-SMPQVKWT.js → updateDialogTitleAction-IKTPGPPE.js} +3 -3
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-KQHGZWSV.js";
|
|
16
16
|
import {
|
|
17
17
|
createDocState
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-GFPESFS6.js";
|
|
19
19
|
import {
|
|
20
20
|
readDocFunc,
|
|
21
21
|
readDocFunctionSchema,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
} from "./chunk-VF4K2QE6.js";
|
|
38
38
|
import {
|
|
39
39
|
createDialogAction
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-Q6B6XJBG.js";
|
|
41
41
|
import {
|
|
42
42
|
buildSkillDocMarkdown,
|
|
43
43
|
normalizeSkillBudgetTier,
|
|
@@ -63,6 +63,8 @@ import {
|
|
|
63
63
|
instance,
|
|
64
64
|
loadTableRows,
|
|
65
65
|
normalizeAppRouteId,
|
|
66
|
+
resolveDialogMemorySubjectId,
|
|
67
|
+
resolveDialogRuntimeAgentKey,
|
|
66
68
|
selectAllMemberSpaces,
|
|
67
69
|
selectAllMsgs,
|
|
68
70
|
selectCurrentDialogConfig,
|
|
@@ -76,13 +78,13 @@ import {
|
|
|
76
78
|
updateContentCategory,
|
|
77
79
|
updateContentTitle,
|
|
78
80
|
updateStep
|
|
79
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-2OK7P5XF.js";
|
|
80
82
|
import {
|
|
81
83
|
createAgent,
|
|
82
84
|
runLlm,
|
|
83
85
|
streamAgentChatTurn,
|
|
84
86
|
updateAgent
|
|
85
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-ECGTEOC2.js";
|
|
86
88
|
import {
|
|
87
89
|
NOLO_WORKSPACE_TOOL_NAMES,
|
|
88
90
|
buildNoloSubjectRefQueryTarget,
|
|
@@ -98,10 +100,10 @@ import {
|
|
|
98
100
|
redactAgentRecordForWorkspaceTool,
|
|
99
101
|
resolveNoloDialogInput,
|
|
100
102
|
verifyNoloDialogSubjectRefQuery
|
|
101
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-OSIJVBXP.js";
|
|
102
104
|
import {
|
|
103
105
|
buildDatabaseFileContentUrl
|
|
104
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-PFW2ZEON.js";
|
|
105
107
|
import {
|
|
106
108
|
DEFAULT_MODEL
|
|
107
109
|
} from "./chunk-HQPG2PIV.js";
|
|
@@ -125,6 +127,14 @@ import {
|
|
|
125
127
|
import {
|
|
126
128
|
compactWhitespace
|
|
127
129
|
} from "./chunk-DWLEOOGR.js";
|
|
130
|
+
import {
|
|
131
|
+
TASK_PREVIEW_MAX,
|
|
132
|
+
formatListRunsCard,
|
|
133
|
+
formatStartRunCard,
|
|
134
|
+
formatStatusRunCard,
|
|
135
|
+
formatStopRunCard,
|
|
136
|
+
resolveRunLabel
|
|
137
|
+
} from "./chunk-FKXFCYVO.js";
|
|
128
138
|
import {
|
|
129
139
|
toErrorMessage
|
|
130
140
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -153,6 +163,7 @@ import {
|
|
|
153
163
|
read,
|
|
154
164
|
readAndWait,
|
|
155
165
|
readAndWaitAction,
|
|
166
|
+
selectById,
|
|
156
167
|
toTimestampMs,
|
|
157
168
|
write
|
|
158
169
|
} from "./chunk-3S2VOMIF.js";
|
|
@@ -11230,8 +11241,8 @@ var CAPABILITY_PACKS = [
|
|
|
11230
11241
|
{
|
|
11231
11242
|
id: "long-term-memory",
|
|
11232
11243
|
label: "\u957F\u671F\u8BB0\u5FC6",
|
|
11233
|
-
description: "\
|
|
11234
|
-
tools: ["rememberMemory"],
|
|
11244
|
+
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",
|
|
11245
|
+
tools: ["queryMemory", "rememberMemory"],
|
|
11235
11246
|
defaultEnabled: true,
|
|
11236
11247
|
icon: "\u{1F9E0}"
|
|
11237
11248
|
},
|
|
@@ -14158,7 +14169,7 @@ async function deleteDialogsFunc(args, thunkApi) {
|
|
|
14158
14169
|
const deletedDialogIds = [];
|
|
14159
14170
|
const deletedDialogKeys = [];
|
|
14160
14171
|
const failures = [];
|
|
14161
|
-
const { deleteDialog } = await import("./dialogSlice-
|
|
14172
|
+
const { deleteDialog } = await import("./dialogSlice-K32QLYS7.js");
|
|
14162
14173
|
for (const target of targets) {
|
|
14163
14174
|
try {
|
|
14164
14175
|
await thunkApi.dispatch(deleteDialog(target.dbKey)).unwrap();
|
|
@@ -20628,10 +20639,20 @@ var rememberMemoryFunctionSchema = {
|
|
|
20628
20639
|
"\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",
|
|
20629
20640
|
"scope \u6309\u5185\u5BB9\u6027\u8D28\u9009\uFF0C\u4E0D\u56FA\u5B9A\u4F18\u5148\u67D0\u4E00\u5C42\uFF1A",
|
|
20630
20641
|
" - Space \u534F\u4F5C\u7EA6\u5B9A/\u56E2\u961F\u89C4\u5219 \u2192 scope=space\uFF08\u5F53\u524D dialog \u7ED1\u5B9A space \u65F6\uFF09",
|
|
20631
|
-
" - \u7528\u6237\u4E2A\u4EBA\u8EAB\u4EFD\u6216\u7EAF\u4E2A\u4EBA\u504F\u597D \u2192 scope=
|
|
20632
|
-
" - \u4E0E\u5F53\u524D
|
|
20642
|
+
" - \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",
|
|
20643
|
+
" - \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",
|
|
20633
20644
|
" - \u5F53\u524D\u4EFB\u52A1\u7684\u4E34\u65F6\u8FDB\u5EA6 \u2192 \u4E0D\u8981\u8C03\u7528\uFF0C\u8D70\u5BF9\u8BDD\u4E0A\u4E0B\u6587",
|
|
20634
|
-
"\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"
|
|
20645
|
+
"\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",
|
|
20646
|
+
"",
|
|
20647
|
+
"\u3010\u5173\u952E\u89C4\u5219\u3011\u8BB0\u5FC6\u4E0D\u53EF\u7269\u7406\u5220\u9664\uFF0C\u53EA\u80FD\u964D\u7EA7/\u5F52\u6863/\u6807\u6CE8\u3002",
|
|
20648
|
+
"\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",
|
|
20649
|
+
"\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",
|
|
20650
|
+
"",
|
|
20651
|
+
"\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",
|
|
20652
|
+
" - verified\uFF1A\u5DE5\u5177/\u547D\u4EE4\u5B9E\u6D4B\u9A8C\u8BC1\u8FC7\uFF08\u9AD8\u7F6E\u4FE1\u5EA6\uFF09",
|
|
20653
|
+
" - stated\uFF1A\u7528\u6237\u660E\u786E\u9648\u8FF0\uFF08\u4E2D\u9AD8\u7F6E\u4FE1\u5EA6\uFF09",
|
|
20654
|
+
" - 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",
|
|
20655
|
+
"\u8C03\u7528\u65F6\u5C3D\u91CF\u660E\u786E\u6765\u6E90\uFF0C\u65E0\u6CD5\u5224\u65AD\u7684\u4FDD\u5B88\u6807 inferred\u3002"
|
|
20635
20656
|
].join("\n"),
|
|
20636
20657
|
parameters: {
|
|
20637
20658
|
type: "object",
|
|
@@ -20643,7 +20664,7 @@ var rememberMemoryFunctionSchema = {
|
|
|
20643
20664
|
scope: {
|
|
20644
20665
|
type: "string",
|
|
20645
20666
|
enum: ["auto", "user", "space"],
|
|
20646
|
-
description: "\u8BB0\u5FC6\u8303\u56F4\
|
|
20667
|
+
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"
|
|
20647
20668
|
},
|
|
20648
20669
|
kind: {
|
|
20649
20670
|
type: "string",
|
|
@@ -20661,6 +20682,8 @@ async function rememberMemoryFunc(args, thunkApi) {
|
|
|
20661
20682
|
const spaceId = selectCurrentSpaceId(state) || void 0;
|
|
20662
20683
|
const content = String(args.content ?? "").trim();
|
|
20663
20684
|
const scope = args.scope ?? "auto";
|
|
20685
|
+
const dialogKey = getActiveDialogKey();
|
|
20686
|
+
const dialog = dialogKey ? selectById(state, dialogKey) : null;
|
|
20664
20687
|
const kind = args.kind ?? "episodic";
|
|
20665
20688
|
if (!content) {
|
|
20666
20689
|
throw new Error("rememberMemory \u9700\u8981\u975E\u7A7A content\u3002");
|
|
@@ -20672,7 +20695,8 @@ async function rememberMemoryFunc(args, thunkApi) {
|
|
|
20672
20695
|
content,
|
|
20673
20696
|
scope,
|
|
20674
20697
|
kind,
|
|
20675
|
-
spaceId
|
|
20698
|
+
spaceId,
|
|
20699
|
+
...scope === "auto" ? { memorySubjectId: resolveDialogMemorySubjectId(dialog) } : {}
|
|
20676
20700
|
},
|
|
20677
20701
|
{ withAuth: true }
|
|
20678
20702
|
);
|
|
@@ -20683,6 +20707,53 @@ async function rememberMemoryFunc(args, thunkApi) {
|
|
|
20683
20707
|
};
|
|
20684
20708
|
}
|
|
20685
20709
|
|
|
20710
|
+
// packages/ai/tools/queryMemoryToolSchema.ts
|
|
20711
|
+
var queryMemoryFunctionSchema = {
|
|
20712
|
+
name: "queryMemory",
|
|
20713
|
+
description: [
|
|
20714
|
+
"\u6309\u9700\u67E5\u8BE2\u5F53\u524D\u7528\u6237\u3001Space \u548C\u5F53\u524D auto/fixed \u52A9\u624B\u4E3B\u4F53\u7684\u957F\u671F\u8BB0\u5FC6\u3002",
|
|
20715
|
+
"\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",
|
|
20716
|
+
"\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",
|
|
20717
|
+
"",
|
|
20718
|
+
"\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",
|
|
20719
|
+
"\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",
|
|
20720
|
+
"\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"
|
|
20721
|
+
].join("\n"),
|
|
20722
|
+
parameters: {
|
|
20723
|
+
type: "object",
|
|
20724
|
+
properties: {
|
|
20725
|
+
query: {
|
|
20726
|
+
type: "string",
|
|
20727
|
+
description: "\u8981\u4ECE\u957F\u671F\u8BB0\u5FC6\u4E2D\u68C0\u7D22\u7684\u81EA\u7136\u8BED\u8A00\u95EE\u9898\u6216\u5173\u952E\u8BCD\u3002"
|
|
20728
|
+
}
|
|
20729
|
+
},
|
|
20730
|
+
required: ["query"]
|
|
20731
|
+
}
|
|
20732
|
+
};
|
|
20733
|
+
|
|
20734
|
+
// packages/ai/tools/queryMemoryTool.ts
|
|
20735
|
+
async function queryMemoryFunc(args, thunkApi) {
|
|
20736
|
+
const query = String(args.query ?? "").trim();
|
|
20737
|
+
if (!query) throw new Error("queryMemory \u9700\u8981\u975E\u7A7A query\u3002");
|
|
20738
|
+
const state = thunkApi.getState();
|
|
20739
|
+
const dialogKey = getActiveDialogKey();
|
|
20740
|
+
const dialog = dialogKey ? selectById(state, dialogKey) : null;
|
|
20741
|
+
const result = await callToolApi(
|
|
20742
|
+
thunkApi,
|
|
20743
|
+
"/api/memory/query",
|
|
20744
|
+
{
|
|
20745
|
+
agentKey: resolveDialogRuntimeAgentKey(dialog),
|
|
20746
|
+
memorySubjectId: resolveDialogMemorySubjectId(dialog),
|
|
20747
|
+
userInput: query,
|
|
20748
|
+
...selectCurrentSpaceId(state) ? { spaceId: selectCurrentSpaceId(state) } : {}
|
|
20749
|
+
},
|
|
20750
|
+
{ withAuth: true }
|
|
20751
|
+
);
|
|
20752
|
+
const selectedItems = Array.isArray(result?.selectedItems) ? result.selectedItems : [];
|
|
20753
|
+
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";
|
|
20754
|
+
return { rawData: result, displayData };
|
|
20755
|
+
}
|
|
20756
|
+
|
|
20686
20757
|
// packages/ai/tools/execShellTool.ts
|
|
20687
20758
|
var execShellFunctionSchema = {
|
|
20688
20759
|
name: "execShell",
|
|
@@ -21919,205 +21990,6 @@ async function runLlmToolFunc(args, thunkApi, _context) {
|
|
|
21919
21990
|
}
|
|
21920
21991
|
}
|
|
21921
21992
|
|
|
21922
|
-
// packages/ai/tools/agent/agentRunDisplayHelpers.ts
|
|
21923
|
-
function getAgentRunStatusIcon(status) {
|
|
21924
|
-
switch (status) {
|
|
21925
|
-
case "running":
|
|
21926
|
-
case "pending":
|
|
21927
|
-
return "\u23F3";
|
|
21928
|
-
case "done":
|
|
21929
|
-
return "\u2713";
|
|
21930
|
-
case "failed":
|
|
21931
|
-
case "timeout":
|
|
21932
|
-
return "\u2717";
|
|
21933
|
-
case "killed":
|
|
21934
|
-
case "cancelled":
|
|
21935
|
-
case "cancelling":
|
|
21936
|
-
return "\u{1F6D1}";
|
|
21937
|
-
case "not_found":
|
|
21938
|
-
default:
|
|
21939
|
-
return "?";
|
|
21940
|
-
}
|
|
21941
|
-
}
|
|
21942
|
-
var DEFAULT_LABELS = {
|
|
21943
|
-
runStatus: "Run status",
|
|
21944
|
-
runStarted: "Run started",
|
|
21945
|
-
runStopped: "Run stopped",
|
|
21946
|
-
runFinished: "Run finished",
|
|
21947
|
-
logTail: "Log tail:",
|
|
21948
|
-
runs: (count) => `Runs (${count})`
|
|
21949
|
-
};
|
|
21950
|
-
function resolveLabels(labels) {
|
|
21951
|
-
return {
|
|
21952
|
-
runStatus: labels?.runStatus ?? DEFAULT_LABELS.runStatus,
|
|
21953
|
-
runStarted: labels?.runStarted ?? DEFAULT_LABELS.runStarted,
|
|
21954
|
-
runStopped: labels?.runStopped ?? DEFAULT_LABELS.runStopped,
|
|
21955
|
-
runFinished: labels?.runFinished ?? DEFAULT_LABELS.runFinished,
|
|
21956
|
-
logTail: labels?.logTail ?? DEFAULT_LABELS.logTail,
|
|
21957
|
-
runs: labels?.runs ?? DEFAULT_LABELS.runs
|
|
21958
|
-
};
|
|
21959
|
-
}
|
|
21960
|
-
function shortRunId(runId) {
|
|
21961
|
-
const trimmed = typeof runId === "string" ? runId.trim() : "";
|
|
21962
|
-
if (!trimmed) return "";
|
|
21963
|
-
const segments = trimmed.split("-").filter(Boolean);
|
|
21964
|
-
let pick = segments[segments.length - 1] ?? trimmed;
|
|
21965
|
-
if (pick.length < 4 && segments.length >= 2) pick = segments.slice(-2).join("-");
|
|
21966
|
-
if (!pick) pick = trimmed;
|
|
21967
|
-
return pick.length > 8 ? pick.slice(-8) : pick;
|
|
21968
|
-
}
|
|
21969
|
-
function clipText(text, max) {
|
|
21970
|
-
const collapsed = text.replace(/\s+/g, " ").trim();
|
|
21971
|
-
return collapsed.length > max ? `${collapsed.slice(0, max - 1)}\u2026` : collapsed;
|
|
21972
|
-
}
|
|
21973
|
-
function formatDuration(ms) {
|
|
21974
|
-
const totalSec = Math.max(0, Math.floor(ms / 1e3));
|
|
21975
|
-
if (totalSec < 60) return `${totalSec}s`;
|
|
21976
|
-
const totalMin = Math.floor(totalSec / 60);
|
|
21977
|
-
if (totalMin < 60) return `${totalMin}m${String(totalSec % 60).padStart(2, "0")}s`;
|
|
21978
|
-
return `${Math.floor(totalMin / 60)}h${String(totalMin % 60).padStart(2, "0")}m`;
|
|
21979
|
-
}
|
|
21980
|
-
function formatRunAge(timing, now = Date.now()) {
|
|
21981
|
-
const startedAt = timing?.startedAt;
|
|
21982
|
-
if (typeof startedAt !== "number" || !Number.isFinite(startedAt) || startedAt <= 0) {
|
|
21983
|
-
return "";
|
|
21984
|
-
}
|
|
21985
|
-
const end = typeof timing?.finishedAt === "number" && Number.isFinite(timing.finishedAt) && timing.finishedAt > 0 ? timing.finishedAt : now;
|
|
21986
|
-
return formatDuration(end - startedAt);
|
|
21987
|
-
}
|
|
21988
|
-
function formatIdentityRow(agentName, runId) {
|
|
21989
|
-
const parts = [];
|
|
21990
|
-
if (!isAgentNameFallback(agentName)) parts.push(agentName);
|
|
21991
|
-
const short = shortRunId(runId);
|
|
21992
|
-
if (short) parts.push(`#${short}`);
|
|
21993
|
-
return parts.join(" ");
|
|
21994
|
-
}
|
|
21995
|
-
function isAgentNameFallback(agentName) {
|
|
21996
|
-
const trimmed = typeof agentName === "string" ? agentName.trim() : "";
|
|
21997
|
-
return !trimmed || trimmed === "agent";
|
|
21998
|
-
}
|
|
21999
|
-
function resolveRunLabel(run) {
|
|
22000
|
-
for (const candidate of [run.agentName, run.name, run.agentKey, run.runId]) {
|
|
22001
|
-
if (typeof candidate === "string" && !isAgentNameFallback(candidate)) {
|
|
22002
|
-
return candidate.trim();
|
|
22003
|
-
}
|
|
22004
|
-
}
|
|
22005
|
-
return "agent";
|
|
22006
|
-
}
|
|
22007
|
-
function formatStartRunCard(agentName, status = "running", opts) {
|
|
22008
|
-
const L = resolveLabels(opts?.labels);
|
|
22009
|
-
const icon = getAgentRunStatusIcon(status);
|
|
22010
|
-
const lines = [L.runStarted];
|
|
22011
|
-
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
22012
|
-
if (identity) {
|
|
22013
|
-
lines.push(` agent ${identity}`);
|
|
22014
|
-
}
|
|
22015
|
-
lines.push(` status ${icon} ${status}`);
|
|
22016
|
-
const task = opts?.task?.trim();
|
|
22017
|
-
if (task) {
|
|
22018
|
-
lines.push(` task ${clipText(task, TASK_PREVIEW_MAX)}`);
|
|
22019
|
-
}
|
|
22020
|
-
return lines.join("\n");
|
|
22021
|
-
}
|
|
22022
|
-
var TASK_PREVIEW_MAX = 72;
|
|
22023
|
-
var NOTE_PREVIEW_MAX = 72;
|
|
22024
|
-
function formatProgressRow(toolCallCount, lastToolNames) {
|
|
22025
|
-
const parts = [];
|
|
22026
|
-
if (typeof toolCallCount === "number" && Number.isFinite(toolCallCount)) {
|
|
22027
|
-
parts.push(`${toolCallCount} tools`);
|
|
22028
|
-
}
|
|
22029
|
-
if (lastToolNames && lastToolNames.length > 0) {
|
|
22030
|
-
parts.push(lastToolNames.join(", "));
|
|
22031
|
-
}
|
|
22032
|
-
return parts.join(" \xB7 ");
|
|
22033
|
-
}
|
|
22034
|
-
function formatStatusRunCard(agentName, status = "running", opts) {
|
|
22035
|
-
const L = resolveLabels(opts?.labels);
|
|
22036
|
-
const icon = getAgentRunStatusIcon(status);
|
|
22037
|
-
const age = formatRunAge(opts?.timing, opts?.now);
|
|
22038
|
-
const lines = [L.runStatus, ` ${icon} ${status}${age ? ` ${age}` : ""}`];
|
|
22039
|
-
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
22040
|
-
if (identity) {
|
|
22041
|
-
lines.push(` agent ${identity}`);
|
|
22042
|
-
}
|
|
22043
|
-
const progress = formatProgressRow(opts?.toolCallCount, opts?.lastToolNames);
|
|
22044
|
-
if (progress) {
|
|
22045
|
-
lines.push(` tools ${progress}`);
|
|
22046
|
-
}
|
|
22047
|
-
const note = opts?.lastAssistantText?.trim();
|
|
22048
|
-
if (note) {
|
|
22049
|
-
lines.push(` note ${clipText(note, NOTE_PREVIEW_MAX)}`);
|
|
22050
|
-
}
|
|
22051
|
-
if (opts?.errorMessage?.trim()) {
|
|
22052
|
-
lines.push(` error ${opts.errorMessage.trim()}`);
|
|
22053
|
-
}
|
|
22054
|
-
if (shouldShowLogTail(status, opts?.includeLogTail, opts?.logLines)) {
|
|
22055
|
-
lines.push("", L.logTail, ...opts.logLines.map((l) => ` ${l}`));
|
|
22056
|
-
}
|
|
22057
|
-
return lines.join("\n");
|
|
22058
|
-
}
|
|
22059
|
-
function runShowsLogTail(status) {
|
|
22060
|
-
return status === "failed" || status === "timeout";
|
|
22061
|
-
}
|
|
22062
|
-
function shouldShowLogTail(status, includeLogTail, logLines) {
|
|
22063
|
-
if (includeLogTail === false) return false;
|
|
22064
|
-
if (!logLines || logLines.length === 0) return false;
|
|
22065
|
-
return runShowsLogTail(status);
|
|
22066
|
-
}
|
|
22067
|
-
function formatFinishedRunCard(agentName, status, opts) {
|
|
22068
|
-
const L = resolveLabels(opts?.labels);
|
|
22069
|
-
const icon = getAgentRunStatusIcon(status);
|
|
22070
|
-
const age = formatRunAge(opts?.timing, opts?.now);
|
|
22071
|
-
const summary = [status, age, formatProgressRow(opts?.toolCallCount, opts?.lastToolNames)].filter(Boolean).join(" \xB7 ");
|
|
22072
|
-
const lines = [L.runFinished, ` ${icon} ${summary}`];
|
|
22073
|
-
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
22074
|
-
if (identity) {
|
|
22075
|
-
lines.push(` agent ${identity}`);
|
|
22076
|
-
}
|
|
22077
|
-
const note = opts?.lastAssistantText?.trim();
|
|
22078
|
-
if (note) {
|
|
22079
|
-
lines.push(` note ${clipText(note, NOTE_PREVIEW_MAX)}`);
|
|
22080
|
-
}
|
|
22081
|
-
if (opts?.errorMessage?.trim()) {
|
|
22082
|
-
lines.push(` error ${opts.errorMessage.trim()}`);
|
|
22083
|
-
}
|
|
22084
|
-
if (shouldShowLogTail(status, opts?.includeLogTail, opts?.logLines)) {
|
|
22085
|
-
lines.push("", L.logTail, ...opts.logLines.map((l) => ` ${l}`));
|
|
22086
|
-
}
|
|
22087
|
-
return lines.join("\n");
|
|
22088
|
-
}
|
|
22089
|
-
function formatStopRunCard(status = "killed", labels) {
|
|
22090
|
-
const L = resolveLabels(labels);
|
|
22091
|
-
const icon = getAgentRunStatusIcon(status);
|
|
22092
|
-
return `${L.runStopped}
|
|
22093
|
-
${icon} ${status}`;
|
|
22094
|
-
}
|
|
22095
|
-
function formatListRunsCard(runs, labels) {
|
|
22096
|
-
const L = resolveLabels(labels);
|
|
22097
|
-
const lines = [L.runs(runs.length)];
|
|
22098
|
-
for (const run of runs) {
|
|
22099
|
-
const status = run.status ?? "\u2014";
|
|
22100
|
-
const icon = getAgentRunStatusIcon(status);
|
|
22101
|
-
lines.push(` ${icon} ${resolveRunLabel(run)}`);
|
|
22102
|
-
}
|
|
22103
|
-
return lines.join("\n");
|
|
22104
|
-
}
|
|
22105
|
-
function formatNotFoundRunCard(labels) {
|
|
22106
|
-
const L = resolveLabels(labels);
|
|
22107
|
-
return `${L.runStatus}
|
|
22108
|
-
? not_found`;
|
|
22109
|
-
}
|
|
22110
|
-
var AGENT_RUN_TERMINAL_STATUSES = /* @__PURE__ */ new Set([
|
|
22111
|
-
"done",
|
|
22112
|
-
"failed",
|
|
22113
|
-
"timeout",
|
|
22114
|
-
"killed",
|
|
22115
|
-
"cancelled"
|
|
22116
|
-
]);
|
|
22117
|
-
function isAgentRunTerminalStatus(status) {
|
|
22118
|
-
return typeof status === "string" && AGENT_RUN_TERMINAL_STATUSES.has(status);
|
|
22119
|
-
}
|
|
22120
|
-
|
|
22121
21993
|
// packages/ai/tools/agent/startAgentRunTool.ts
|
|
22122
21994
|
var startAgentRunFunctionSchema = {
|
|
22123
21995
|
name: "startAgentRun",
|
|
@@ -22143,14 +22015,23 @@ var startAgentRunFunctionSchema = {
|
|
|
22143
22015
|
ephemeral: {
|
|
22144
22016
|
type: "boolean",
|
|
22145
22017
|
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"
|
|
22018
|
+
},
|
|
22019
|
+
batchId: {
|
|
22020
|
+
type: "string",
|
|
22021
|
+
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"
|
|
22022
|
+
},
|
|
22023
|
+
trackTodo: {
|
|
22024
|
+
type: "boolean",
|
|
22025
|
+
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'
|
|
22146
22026
|
}
|
|
22147
22027
|
},
|
|
22148
22028
|
required: ["agentKey", "task"]
|
|
22149
22029
|
}
|
|
22150
22030
|
};
|
|
22151
22031
|
async function startAgentRunFunc(args, thunkApi, _context) {
|
|
22152
|
-
const { agentKey, task, input, agentName, ephemeral } = args;
|
|
22032
|
+
const { agentKey, task, input, agentName, ephemeral, batchId } = args;
|
|
22153
22033
|
const { dispatch } = thunkApi;
|
|
22034
|
+
const effectiveBatchId = typeof batchId === "string" && batchId.trim() ? batchId.trim() : `batch-${(/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-")}-${Math.random().toString(36).slice(2, 8)}`;
|
|
22154
22035
|
if (!agentKey) {
|
|
22155
22036
|
throw new Error("startAgentRun: \u7F3A\u5C11 agentKey \u53C2\u6570\u3002");
|
|
22156
22037
|
}
|
|
@@ -22180,6 +22061,11 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
22180
22061
|
runId,
|
|
22181
22062
|
status,
|
|
22182
22063
|
agentKey,
|
|
22064
|
+
// batchId is always returned — minted above when the caller didn't
|
|
22065
|
+
// supply one — so controlAgentRun(list, batchId=...) works on every
|
|
22066
|
+
// host. On the server path the id lives in the tool return; on the
|
|
22067
|
+
// CLI local path it is also persisted on the run record.
|
|
22068
|
+
batchId: effectiveBatchId,
|
|
22183
22069
|
...resolvedName ? { agentName: resolvedName } : {},
|
|
22184
22070
|
...taskPreview ? { taskPreview } : {}
|
|
22185
22071
|
},
|
|
@@ -22196,14 +22082,14 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
22196
22082
|
// packages/ai/tools/agent/controlAgentRunTool.ts
|
|
22197
22083
|
var controlAgentRunFunctionSchema = {
|
|
22198
22084
|
name: "controlAgentRun",
|
|
22199
|
-
description: "\u89C2\u5BDF\u548C\u63A7\u5236\u540E\u53F0 agent run\u3002\u4E00\u4E2A\u5DE5\u5177\u4E09\u4E2A action\uFF1Alist\uFF08\u5217\u51FA
|
|
22085
|
+
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",
|
|
22200
22086
|
parameters: {
|
|
22201
22087
|
type: "object",
|
|
22202
22088
|
properties: {
|
|
22203
22089
|
action: {
|
|
22204
22090
|
type: "string",
|
|
22205
|
-
enum: ["list", "status", "stop"],
|
|
22206
|
-
description: "\u8981\u6267\u884C\u7684\u64CD\u4F5C\uFF1Alist=\u5217\u51FA
|
|
22091
|
+
enum: ["list", "status", "stop", "todo"],
|
|
22092
|
+
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"
|
|
22207
22093
|
},
|
|
22208
22094
|
runId: {
|
|
22209
22095
|
type: "string",
|
|
@@ -22214,23 +22100,38 @@ var controlAgentRunFunctionSchema = {
|
|
|
22214
22100
|
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",
|
|
22215
22101
|
default: 0
|
|
22216
22102
|
},
|
|
22103
|
+
batchId: {
|
|
22104
|
+
type: "string",
|
|
22105
|
+
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"
|
|
22106
|
+
},
|
|
22107
|
+
status: {
|
|
22108
|
+
type: "string",
|
|
22109
|
+
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"
|
|
22110
|
+
},
|
|
22217
22111
|
statusFilter: {
|
|
22218
22112
|
type: "string",
|
|
22219
|
-
enum: ["running", "done", "failed", "cancelled", "all"],
|
|
22220
|
-
description: "\u53EF\u9009\u3002action=list \u65F6\u6309\u72B6\u6001\u8FC7\u6EE4\uFF0C\u9ED8\u8BA4 all\u3002"
|
|
22113
|
+
enum: ["running", "done", "failed", "cancelled", "orphaned", "all"],
|
|
22114
|
+
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"
|
|
22221
22115
|
},
|
|
22222
22116
|
limit: {
|
|
22223
22117
|
type: "number",
|
|
22224
|
-
description: "\u53EF\u9009\u3002action=list \u65F6\u9650\u5236\u8FD4\u56DE\u6570\u91CF\uFF0C\u9ED8\u8BA4 20\u3002"
|
|
22118
|
+
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"
|
|
22119
|
+
},
|
|
22120
|
+
offset: {
|
|
22121
|
+
type: "number",
|
|
22122
|
+
description: "\u53EF\u9009\u3002action=list \u65F6\u8DF3\u8FC7\u524D N \u6761\uFF0C\u914D\u5408 limit \u7FFB\u9875\u3002\u9ED8\u8BA4 0\u3002"
|
|
22225
22123
|
}
|
|
22226
22124
|
},
|
|
22227
22125
|
required: ["action"]
|
|
22228
22126
|
}
|
|
22229
22127
|
};
|
|
22230
22128
|
async function controlAgentRunFunc(args, thunkApi, _context) {
|
|
22231
|
-
const { action, runId, tailLines, statusFilter, limit } = args;
|
|
22129
|
+
const { action, runId, tailLines, batchId, status, statusFilter, limit, offset } = args;
|
|
22232
22130
|
if (action === "list") {
|
|
22233
|
-
return handleList(thunkApi, { statusFilter, limit });
|
|
22131
|
+
return handleList(thunkApi, { batchId, status, statusFilter, limit, offset });
|
|
22132
|
+
}
|
|
22133
|
+
if (action === "todo") {
|
|
22134
|
+
return handleTodo(thunkApi, { status });
|
|
22234
22135
|
}
|
|
22235
22136
|
if (action === "status") {
|
|
22236
22137
|
if (!runId) throw new Error('controlAgentRun(action:"status"): \u7F3A\u5C11 runId\u3002');
|
|
@@ -22245,8 +22146,11 @@ async function controlAgentRunFunc(args, thunkApi, _context) {
|
|
|
22245
22146
|
async function handleList(thunkApi, opts) {
|
|
22246
22147
|
try {
|
|
22247
22148
|
const body = { action: "list" };
|
|
22248
|
-
|
|
22149
|
+
const statusVal = opts.status ?? opts.statusFilter;
|
|
22150
|
+
if (statusVal) body.statusFilter = statusVal;
|
|
22151
|
+
if (opts.batchId) body.batchId = opts.batchId;
|
|
22249
22152
|
if (opts.limit !== void 0) body.limit = opts.limit;
|
|
22153
|
+
if (opts.offset !== void 0) body.offset = opts.offset;
|
|
22250
22154
|
const data = await callToolApi(
|
|
22251
22155
|
thunkApi,
|
|
22252
22156
|
"/api/agent/runs/control",
|
|
@@ -22255,9 +22159,10 @@ async function handleList(thunkApi, opts) {
|
|
|
22255
22159
|
);
|
|
22256
22160
|
const resData = data?.data ?? data;
|
|
22257
22161
|
const runs = resData?.runs ?? [];
|
|
22258
|
-
const
|
|
22162
|
+
const total = typeof resData?.total === "number" ? resData.total : runs.length;
|
|
22163
|
+
const hasMore = typeof resData?.hasMore === "boolean" ? resData.hasMore : false;
|
|
22259
22164
|
return {
|
|
22260
|
-
rawData: { runs, count },
|
|
22165
|
+
rawData: { runs, count: runs.length, total, hasMore },
|
|
22261
22166
|
displayData: formatListRunsCard(runs)
|
|
22262
22167
|
};
|
|
22263
22168
|
} catch (e) {
|
|
@@ -22317,6 +22222,28 @@ async function handleStop(thunkApi, opts) {
|
|
|
22317
22222
|
throw new Error(`controlAgentRun(stop) \u5931\u8D25: ${toErrorMessage(e)}`);
|
|
22318
22223
|
}
|
|
22319
22224
|
}
|
|
22225
|
+
async function handleTodo(thunkApi, opts) {
|
|
22226
|
+
try {
|
|
22227
|
+
const body = { action: "todo" };
|
|
22228
|
+
if (opts.status) body.status = opts.status;
|
|
22229
|
+
const data = await callToolApi(
|
|
22230
|
+
thunkApi,
|
|
22231
|
+
"/api/agent/runs/control",
|
|
22232
|
+
body,
|
|
22233
|
+
{ withAuth: true }
|
|
22234
|
+
);
|
|
22235
|
+
const resData = data?.data ?? data;
|
|
22236
|
+
const todos = resData?.todos ?? [];
|
|
22237
|
+
return {
|
|
22238
|
+
rawData: { todos, count: todos.length },
|
|
22239
|
+
displayData: formatListRunsCard(
|
|
22240
|
+
todos.map((t) => ({ agentName: t?.title ?? t?.id, status: t?.status }))
|
|
22241
|
+
)
|
|
22242
|
+
};
|
|
22243
|
+
} catch (e) {
|
|
22244
|
+
throw new Error(`controlAgentRun(todo) \u5931\u8D25: ${toErrorMessage(e)}`);
|
|
22245
|
+
}
|
|
22246
|
+
}
|
|
22320
22247
|
|
|
22321
22248
|
// packages/ai/tools/agent/agentTools.ts
|
|
22322
22249
|
var agentToolDefinitions = [
|
|
@@ -23510,7 +23437,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
23510
23437
|
if (!executionInput) {
|
|
23511
23438
|
throw new Error(`ToolRun ${id} has no input to execute with.`);
|
|
23512
23439
|
}
|
|
23513
|
-
const { findToolExecutor: findToolExecutor2 } = await import("./tools-
|
|
23440
|
+
const { findToolExecutor: findToolExecutor2 } = await import("./tools-YHZP6NXU.js");
|
|
23514
23441
|
const { executor } = findToolExecutor2(run.toolName);
|
|
23515
23442
|
toolRunStarted({
|
|
23516
23443
|
id: run.id,
|
|
@@ -23534,7 +23461,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
23534
23461
|
const latestState = thunkApi.getState();
|
|
23535
23462
|
const userId = latestState.auth?.currentUser?.userId;
|
|
23536
23463
|
if (userId) {
|
|
23537
|
-
const { fetchUserSpaceMemberships } = await import("./spaceSlice-
|
|
23464
|
+
const { fetchUserSpaceMemberships } = await import("./spaceSlice-V2P5TTQU.js");
|
|
23538
23465
|
await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
|
|
23539
23466
|
}
|
|
23540
23467
|
}
|
|
@@ -26017,7 +25944,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
26017
25944
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
26018
25945
|
};
|
|
26019
25946
|
await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
|
|
26020
|
-
const { getDocState, applyExternalDocUpdate } = await import("./docStore-
|
|
25947
|
+
const { getDocState, applyExternalDocUpdate } = await import("./docStore-L6HBNJ3R.js");
|
|
26021
25948
|
if (getDocState().pageKey === id) {
|
|
26022
25949
|
applyExternalDocUpdate({
|
|
26023
25950
|
slateData: finalSlateData,
|
|
@@ -26645,6 +26572,17 @@ var baseToolDefinitions = [
|
|
|
26645
26572
|
},
|
|
26646
26573
|
behavior: "answer"
|
|
26647
26574
|
},
|
|
26575
|
+
{
|
|
26576
|
+
id: "queryMemory",
|
|
26577
|
+
schema: queryMemoryFunctionSchema,
|
|
26578
|
+
executor: queryMemoryFunc,
|
|
26579
|
+
description: {
|
|
26580
|
+
name: "queryMemory",
|
|
26581
|
+
description: "\u6309\u9700\u67E5\u8BE2\u5F53\u524D\u7528\u6237\u3001Space \u548C\u52A9\u624B\u4E3B\u4F53\u7684\u957F\u671F\u8BB0\u5FC6\u3002",
|
|
26582
|
+
category: "\u8BB0\u5FC6 / \u957F\u671F\u4E0A\u4E0B\u6587"
|
|
26583
|
+
},
|
|
26584
|
+
behavior: "data"
|
|
26585
|
+
},
|
|
26648
26586
|
{
|
|
26649
26587
|
id: "rememberMemory",
|
|
26650
26588
|
schema: rememberMemoryFunctionSchema,
|
|
@@ -28283,20 +28221,6 @@ export {
|
|
|
28283
28221
|
readXPostFunc,
|
|
28284
28222
|
readXhsProfileFunctionSchema,
|
|
28285
28223
|
readXhsProfileFunc,
|
|
28286
|
-
getAgentRunStatusIcon,
|
|
28287
|
-
shortRunId,
|
|
28288
|
-
formatRunAge,
|
|
28289
|
-
isAgentNameFallback,
|
|
28290
|
-
resolveRunLabel,
|
|
28291
|
-
formatStartRunCard,
|
|
28292
|
-
TASK_PREVIEW_MAX,
|
|
28293
|
-
formatStatusRunCard,
|
|
28294
|
-
runShowsLogTail,
|
|
28295
|
-
formatFinishedRunCard,
|
|
28296
|
-
formatStopRunCard,
|
|
28297
|
-
formatListRunsCard,
|
|
28298
|
-
formatNotFoundRunCard,
|
|
28299
|
-
isAgentRunTerminalStatus,
|
|
28300
28224
|
TOOL_PACKS,
|
|
28301
28225
|
resolveEffectiveEnabledPacks,
|
|
28302
28226
|
addDefaultSystemCapabilityTools,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createCliLocalRuntimeAdapter,
|
|
3
3
|
summarizeEndpoint
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-W6OKITU6.js";
|
|
5
5
|
import {
|
|
6
6
|
clipMultilineText
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-URVWRKFU.js";
|
|
8
8
|
import {
|
|
9
9
|
runLocalAgentTurn
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZDDHKIWB.js";
|
|
11
11
|
import {
|
|
12
12
|
resolveLocalRuntimeEnvFromPolicy
|
|
13
13
|
} from "./chunk-5CS33IBL.js";
|