nolo-cli 0.13.0 → 0.14.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{_executeModel-4F7VZR5U.js → _executeModel-KMUDFYY2.js} +27 -28
- package/{action-OTOWUMPW.js → action-N3KXFO5V.js} +7 -7
- package/{addContentAction-JGBUVR7K.js → addContentAction-4Z762DMR.js} +6 -6
- package/{addDialogAgentAction-V6CL2UCF.js → addDialogAgentAction-FALLEKPR.js} +5 -5
- package/{agentDeleteCommand-MMRSG6AB.js → agentDeleteCommand-AZDVM4HQ.js} +18 -18
- package/{agentEmailCommands-VQENDYL5.js → agentEmailCommands-AP6MX4XN.js} +34 -35
- package/{agentListCommands-2PZHIQ3I.js → agentListCommands-OJLOXSKL.js} +19 -19
- package/{agentMachineCommands-Q3I3VDWS.js → agentMachineCommands-G4T4GU42.js} +18 -18
- package/{agentRecordCommands-RY7CSPPL.js → agentRecordCommands-RNENEXQI.js} +32 -33
- package/{agentRunCommand-U76NZ2G6.js → agentRunCommand-2VTOTQWA.js} +33 -35
- package/{agentRuntimeLocal-QDJCBXM2.js → agentRuntimeLocal-4CM3VHR3.js} +16 -16
- package/{agentSlice-6JAJOU3X.js → agentSlice-BLHSFM3Q.js} +7 -7
- package/{authCommand-DMW336GT.js → authCommand-O7SL3WW5.js} +4 -4
- package/{chunk-MZHSAPZP.js → chunk-2Q5FTOQA.js} +52 -37
- package/{chunk-MG6BVV3T.js → chunk-33K5FKRL.js} +170 -98
- package/{chunk-JFANOO7I.js → chunk-3B2LFO6R.js} +6 -3
- package/{chunk-WVTBAALN.js → chunk-3FCSMQAC.js} +2 -2
- package/{chunk-4LG74DRG.js → chunk-4IJYA27C.js} +1 -1
- package/{chunk-O4FOPRCP.js → chunk-4UUJFFMK.js} +1 -1
- package/{chunk-CGDQDXKZ.js → chunk-5R73BS7Y.js} +1 -1
- package/{chunk-VKG4HXYV.js → chunk-A5V7UEZJ.js} +9 -9
- package/{chunk-DPFWKRHG.js → chunk-BHK5ZAW7.js} +2 -2
- package/{chunk-UWNSWEEC.js → chunk-BMZRD37B.js} +137 -55
- package/{chunk-IVAOVLM7.js → chunk-BOJVWKNA.js} +1 -1
- package/{chunk-Y5P3ZRGC.js → chunk-CPGQAMHA.js} +6 -6
- package/{chunk-YUMYYXPI.js → chunk-DQUUZXUZ.js} +16 -16
- package/{chunk-BTYBYAMP.js → chunk-GGQW6DXG.js} +2 -2
- package/{chunk-5V524MHX.js → chunk-HJAMZQFI.js} +14 -13
- package/{chunk-WPHL6ALY.js → chunk-JTINRTBT.js} +1 -1
- package/{chunk-FSUZIGIG.js → chunk-LVJFD5HS.js} +76 -62
- package/{chunk-XHQWJUW4.js → chunk-NJVPXLRY.js} +1 -1
- package/{chunk-H5Y2H2N6.js → chunk-OIMX7MM4.js} +1 -1
- package/{chunk-QAJWQTLB.js → chunk-ONJIZ7UF.js} +42 -30
- package/{chunk-5S4SWV5G.js → chunk-PB2DHBEQ.js} +1 -1
- package/{chunk-C3BFP57W.js → chunk-RTHJF57Z.js} +1 -1
- package/{chunk-QUHUVG6Y.js → chunk-RZALKBP4.js} +2 -2
- package/{chunk-JU7J7EAV.js → chunk-S5UACFUP.js} +56 -4
- package/{chunk-ARSC56DC.js → chunk-S6V2Y72C.js} +1 -1
- package/{chunk-KGI44L4E.js → chunk-SE4YDESE.js} +7 -7
- package/{chunk-QJSTNKJY.js → chunk-T3X232L6.js} +1 -1
- package/{chunk-OPM2DE2J.js → chunk-TLNEQI2R.js} +4 -4
- package/{chunk-VBSWHE5W.js → chunk-TQCONXQ3.js} +1 -1
- package/{chunk-LUKQQJFL.js → chunk-UW3WOIWJ.js} +1 -1
- package/{chunk-RWO5DGXI.js → chunk-V6VXDXGY.js} +3 -3
- package/{chunk-2BVGERJ2.js → chunk-VFGBWVXO.js} +106 -11
- package/{chunk-TA7VKOHU.js → chunk-VQFY3VXW.js} +6 -3
- package/{chunk-TQYYGE6G.js → chunk-XBZL4SGS.js} +3 -3
- package/{chunk-3MI5LDDU.js → chunk-XIDYAII4.js} +2 -2
- package/{createAgentAutomationAction-4NY4JLOK.js → createAgentAutomationAction-RIOI4YZI.js} +13 -13
- package/{createDialogAction-I5WUWFJ6.js → createDialogAction-QBHFBWM4.js} +14 -15
- package/{createPageAction-HFTIQ7TW.js → createPageAction-GHVLL7YQ.js} +13 -13
- package/{dbSlice-J4PUZ6Y5.js → dbSlice-7Q23HSWH.js} +5 -5
- package/{deleteFile-M7UNIUOO.js → deleteFile-WPWVZE4B.js} +3 -3
- package/{dialogCommands-SVXRJFZS.js → dialogCommands-BQDGLVMO.js} +19 -19
- package/{dialogSlice-35LA3ZRG.js → dialogSlice-VNKDTTHR.js} +13 -13
- package/{docCreateCommands-Z7RIAYKQ.js → docCreateCommands-K2MPMXYF.js} +18 -18
- package/{docDeleteCommands-NEYHUVZF.js → docDeleteCommands-NBAARB77.js} +19 -19
- package/{docReadCommands-I4US2SDE.js → docReadCommands-S3MO5RPS.js} +18 -18
- package/{docStore-3CP2IO6M.js → docStore-W4KEEPCW.js} +14 -14
- package/{docUpdateCommands-UU5HQBRP.js → docUpdateCommands-EHEI7FCE.js} +18 -18
- package/fetchMessages-KTNM7QAR.js +1 -1
- package/getPricing-UGDJHI7M.js +1 -1
- package/{handleSendMessageAction-FWTLQGOZ.js → handleSendMessageAction-6BFLKGWQ.js} +13 -13
- package/index.js +42 -42
- package/{machineCommands-NGE4ZARV.js → machineCommands-R27VIC5L.js} +33 -34
- package/{machineWsRunDispatch-FISQUBI2.js → machineWsRunDispatch-5JH6QGHK.js} +31 -32
- package/package.json +1 -1
- package/{read-2MIMRBZ2.js → read-SIWMJRHC.js} +3 -3
- package/{readDocTool-QHVGQHUJ.js → readDocTool-TCYJY4PP.js} +1 -1
- package/{readlineWorkspace-JK6P56TT.js → readlineWorkspace-RJ3TDGEK.js} +169 -57
- package/{removeDialogAgentAction-XUZYQBV4.js → removeDialogAgentAction-WKHZT6VJ.js} +7 -7
- package/{runAgentClientLoop-FP2K33ZO.js → runAgentClientLoop-6D7FP7CK.js} +24 -25
- package/{setDialogExtraReferencesAction-PTAIFKGM.js → setDialogExtraReferencesAction-GCI5QU6E.js} +5 -5
- package/{setPrimaryDialogAgentAction-HRFTDB44.js → setPrimaryDialogAgentAction-NRO57AS6.js} +7 -7
- package/{settingSlice-VGRJUSE5.js → settingSlice-FTWZ5ZHT.js} +8 -6
- package/{spaceCommands-GN73BCOB.js → spaceCommands-4R63UST3.js} +18 -18
- package/{spaceSlice-WTFNKOVA.js → spaceSlice-6PZEMRZM.js} +13 -13
- package/{streamAgentChatTurn-HBAQQVNK.js → streamAgentChatTurn-VW7433O6.js} +51 -42
- package/{tools-TPQYTLQZ.js → tools-MWNK4RKM.js} +18 -19
- package/{tuiSummaryLlmCaller-XDC7WG4K.js → tuiSummaryLlmCaller-2D65LKWM.js} +3 -3
- package/{updateDialogTitleAction-AWXNPUQJ.js → updateDialogTitleAction-3SKUPJIN.js} +13 -13
- package/chunk-HNW7IJSK.js +0 -71
- package/chunk-XENYHRUE.js +0 -104
- package/understanding-3CUQQ6SV.js +0 -271
- package/{chunk-PDL2AV3E.js → chunk-5CS33IBL.js} +3 -3
- package/{chunk-TSUJOM6N.js → chunk-DVRHHFEA.js} +3 -3
- package/{chunk-TOILAPLH.js → chunk-EHLHSX7R.js} +3 -3
- package/{chunk-TYPHUVK5.js → chunk-KTFJUPDW.js} +3 -3
- package/{chunk-NCGFB7NN.js → chunk-OIQPORYI.js} +3 -3
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
readPageFunc,
|
|
20
20
|
readPageFunctionSchema,
|
|
21
21
|
slateToSimplifiedMarkdown
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-BOJVWKNA.js";
|
|
23
23
|
import {
|
|
24
24
|
markdownToSlate
|
|
25
25
|
} from "./chunk-3LY4F7SV.js";
|
|
@@ -34,10 +34,10 @@ import {
|
|
|
34
34
|
} from "./chunk-VF4K2QE6.js";
|
|
35
35
|
import {
|
|
36
36
|
createDocState
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-XBZL4SGS.js";
|
|
38
38
|
import {
|
|
39
39
|
createDialogAction
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-VFGBWVXO.js";
|
|
41
41
|
import {
|
|
42
42
|
buildSkillDocMarkdown,
|
|
43
43
|
normalizeSkillBudgetTier,
|
|
@@ -76,13 +76,13 @@ import {
|
|
|
76
76
|
updateContentCategory,
|
|
77
77
|
updateContentTitle,
|
|
78
78
|
updateStep
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-LVJFD5HS.js";
|
|
80
80
|
import {
|
|
81
81
|
createAgent,
|
|
82
82
|
runLlm,
|
|
83
83
|
streamAgentChatTurn,
|
|
84
84
|
updateAgent
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-CPGQAMHA.js";
|
|
86
86
|
import {
|
|
87
87
|
NOLO_WORKSPACE_TOOL_NAMES,
|
|
88
88
|
buildNoloSubjectRefQueryTarget,
|
|
@@ -101,7 +101,7 @@ import {
|
|
|
101
101
|
} from "./chunk-B4KT7RN2.js";
|
|
102
102
|
import {
|
|
103
103
|
buildDatabaseFileContentUrl
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-3B2LFO6R.js";
|
|
105
105
|
import {
|
|
106
106
|
DEFAULT_MODEL
|
|
107
107
|
} from "./chunk-OGGHETUE.js";
|
|
@@ -122,22 +122,24 @@ import {
|
|
|
122
122
|
selectCurrentDialogKey,
|
|
123
123
|
selectPendingRawDataByPageKey
|
|
124
124
|
} from "./chunk-3ASDTTEI.js";
|
|
125
|
-
import {
|
|
126
|
-
toErrorMessage
|
|
127
|
-
} from "./chunk-HNMXYYJR.js";
|
|
128
125
|
import {
|
|
129
126
|
compactWhitespace
|
|
130
127
|
} from "./chunk-DWLEOOGR.js";
|
|
128
|
+
import {
|
|
129
|
+
toErrorMessage
|
|
130
|
+
} from "./chunk-HNMXYYJR.js";
|
|
131
131
|
import {
|
|
132
132
|
shareResourceAction
|
|
133
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-BHK5ZAW7.js";
|
|
134
134
|
import {
|
|
135
135
|
AGENT_UPDATE_FIELD_NAMES,
|
|
136
|
+
SYSTEM_AGENT_CAPABILITIES,
|
|
137
|
+
SYSTEM_AGENT_CAPABILITY_IDS,
|
|
136
138
|
normalizeAgentUpdateFieldList,
|
|
137
139
|
selectAutoApproveSelfUpdateFields,
|
|
138
140
|
selectCurrentServer,
|
|
139
141
|
selectSyncServers
|
|
140
|
-
} from "./chunk-
|
|
142
|
+
} from "./chunk-S5UACFUP.js";
|
|
141
143
|
import {
|
|
142
144
|
asRecordOrEmpty
|
|
143
145
|
} from "./chunk-KX6YBIHG.js";
|
|
@@ -145,7 +147,7 @@ import {
|
|
|
145
147
|
addContentAction,
|
|
146
148
|
createSpaceKey,
|
|
147
149
|
normalizeSpaceId
|
|
148
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-3FCSMQAC.js";
|
|
149
151
|
import {
|
|
150
152
|
patch,
|
|
151
153
|
read,
|
|
@@ -153,7 +155,7 @@ import {
|
|
|
153
155
|
readAndWaitAction,
|
|
154
156
|
toTimestampMs,
|
|
155
157
|
write
|
|
156
|
-
} from "./chunk-
|
|
158
|
+
} from "./chunk-A5V7UEZJ.js";
|
|
157
159
|
import {
|
|
158
160
|
SEPARATOR,
|
|
159
161
|
createAgentKey,
|
|
@@ -178,7 +180,7 @@ import {
|
|
|
178
180
|
} from "./chunk-QSJ3HFEF.js";
|
|
179
181
|
import {
|
|
180
182
|
readAction
|
|
181
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-NJVPXLRY.js";
|
|
182
184
|
import {
|
|
183
185
|
createAsyncThunk,
|
|
184
186
|
getRuntimeServerContext,
|
|
@@ -186,16 +188,16 @@ import {
|
|
|
186
188
|
selectIdentityToken,
|
|
187
189
|
selectIdentityUserId,
|
|
188
190
|
selectRuntimeSnapshot
|
|
189
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-DVRHHFEA.js";
|
|
190
192
|
import {
|
|
191
193
|
isAbortError
|
|
192
194
|
} from "./chunk-OOSFSFMA.js";
|
|
193
|
-
import {
|
|
194
|
-
isRecord
|
|
195
|
-
} from "./chunk-KUG52IAP.js";
|
|
196
195
|
import {
|
|
197
196
|
asTrimmedString
|
|
198
197
|
} from "./chunk-3EUW3WEO.js";
|
|
198
|
+
import {
|
|
199
|
+
isRecord
|
|
200
|
+
} from "./chunk-KUG52IAP.js";
|
|
199
201
|
import {
|
|
200
202
|
API_ENDPOINTS
|
|
201
203
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -11211,15 +11213,9 @@ var TOOL_PACKS = {
|
|
|
11211
11213
|
"fetchWebpage"
|
|
11212
11214
|
]
|
|
11213
11215
|
};
|
|
11216
|
+
var SYSTEM_AGENT_CAPABILITY_PACKS = SYSTEM_AGENT_CAPABILITIES.map((capability) => ({ ...capability }));
|
|
11214
11217
|
var CAPABILITY_PACKS = [
|
|
11215
|
-
|
|
11216
|
-
id: "web-search",
|
|
11217
|
-
label: "\u8054\u7F51\u641C\u7D22",
|
|
11218
|
-
description: "\u8BA9 agent \u80FD\u641C\u7D22\u4E92\u8054\u7F51\u3001\u6293\u53D6\u7F51\u9875\u5185\u5BB9\uFF0C\u83B7\u53D6\u6700\u65B0\u4FE1\u606F\u3002",
|
|
11219
|
-
tools: ["exa_search", "fetchWebpage"],
|
|
11220
|
-
defaultEnabled: true,
|
|
11221
|
-
icon: "\u{1F310}"
|
|
11222
|
-
},
|
|
11218
|
+
...SYSTEM_AGENT_CAPABILITY_PACKS,
|
|
11223
11219
|
{
|
|
11224
11220
|
id: "long-term-memory",
|
|
11225
11221
|
label: "\u957F\u671F\u8BB0\u5FC6",
|
|
@@ -11367,6 +11363,20 @@ var PACK_MANAGED_TOOLS = new Set(
|
|
|
11367
11363
|
var DEFAULT_ENABLED_PACKS = CAPABILITY_PACKS.filter(
|
|
11368
11364
|
(pack) => pack.defaultEnabled
|
|
11369
11365
|
).map((pack) => pack.id);
|
|
11366
|
+
var SYSTEM_BUILTIN_SKILL_PACK_IDS = SYSTEM_AGENT_CAPABILITY_IDS;
|
|
11367
|
+
function applySystemBuiltinSkillFilter(toolNames, systemBuiltinSkills) {
|
|
11368
|
+
if (!systemBuiltinSkills) return toolNames;
|
|
11369
|
+
const disabledToolSet = /* @__PURE__ */ new Set();
|
|
11370
|
+
for (const packId of SYSTEM_BUILTIN_SKILL_PACK_IDS) {
|
|
11371
|
+
const enabled = systemBuiltinSkills[packId];
|
|
11372
|
+
if (enabled === false) {
|
|
11373
|
+
const pack = CAPABILITY_PACK_BY_ID[packId];
|
|
11374
|
+
if (pack) pack.tools.forEach((t) => disabledToolSet.add(t));
|
|
11375
|
+
}
|
|
11376
|
+
}
|
|
11377
|
+
if (disabledToolSet.size === 0) return toolNames;
|
|
11378
|
+
return toolNames.filter((t) => !disabledToolSet.has(t));
|
|
11379
|
+
}
|
|
11370
11380
|
function expandEnabledPacks(enabledPacks, explicitTools = []) {
|
|
11371
11381
|
const packTools = (enabledPacks ?? []).map((id) => CAPABILITY_PACK_BY_ID[id]?.tools ?? []).flat();
|
|
11372
11382
|
return [.../* @__PURE__ */ new Set([...packTools, ...explicitTools ?? []])];
|
|
@@ -14104,7 +14114,7 @@ async function deleteDialogsFunc(args, thunkApi) {
|
|
|
14104
14114
|
const deletedDialogIds = [];
|
|
14105
14115
|
const deletedDialogKeys = [];
|
|
14106
14116
|
const failures = [];
|
|
14107
|
-
const { deleteDialog } = await import("./dialogSlice-
|
|
14117
|
+
const { deleteDialog } = await import("./dialogSlice-VNKDTTHR.js");
|
|
14108
14118
|
for (const target of targets) {
|
|
14109
14119
|
try {
|
|
14110
14120
|
await thunkApi.dispatch(deleteDialog(target.dbKey)).unwrap();
|
|
@@ -14368,7 +14378,7 @@ var readSkillDocFunctionSchema = {
|
|
|
14368
14378
|
}
|
|
14369
14379
|
};
|
|
14370
14380
|
async function readSkillDocFunc(args, thunkApi) {
|
|
14371
|
-
const { buildReadDocResult } = await import("./readDocTool-
|
|
14381
|
+
const { buildReadDocResult } = await import("./readDocTool-TCYJY4PP.js");
|
|
14372
14382
|
const id = args?.id ?? args?.doc ?? args?.docKey ?? args?.pageKey;
|
|
14373
14383
|
if (typeof id !== "string" || !id.trim()) {
|
|
14374
14384
|
throw new Error("readSkillDoc requires id or doc.");
|
|
@@ -19756,7 +19766,7 @@ var selectUserIdFromState = (state) => typeof state?.auth?.currentUser?.userId =
|
|
|
19756
19766
|
var selectCurrentServerFromState = (state) => typeof state?.settings?.currentServer === "string" ? state.settings.currentServer : null;
|
|
19757
19767
|
async function addImageContentToSpace(input) {
|
|
19758
19768
|
const injectedAddContentAction = input.thunkApi?.extra?.addContentAction;
|
|
19759
|
-
const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-
|
|
19769
|
+
const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-4Z762DMR.js")).addContentAction;
|
|
19760
19770
|
await addContentAction2(
|
|
19761
19771
|
{
|
|
19762
19772
|
spaceId: input.spaceId,
|
|
@@ -20498,19 +20508,20 @@ var remotionRenderVideoFunc = async (args, thunkApi) => {
|
|
|
20498
20508
|
};
|
|
20499
20509
|
};
|
|
20500
20510
|
|
|
20501
|
-
// packages/ai/tools/
|
|
20511
|
+
// packages/ai/tools/rememberMemoryToolSchema.ts
|
|
20502
20512
|
var rememberMemoryFunctionSchema = {
|
|
20503
20513
|
name: "rememberMemory",
|
|
20504
20514
|
description: [
|
|
20505
|
-
"\
|
|
20506
|
-
"\u9ED8\u8BA4\
|
|
20515
|
+
"\u628A\u503C\u5F97\u957F\u671F\u8BB0\u4F4F\u7684\u7528\u6237\u504F\u597D\u3001\u7EA0\u6B63\u3001\u51B3\u7B56\u4E60\u60EF\u6216\u5F53\u524D Space \u5171\u8BC6\u5199\u6210\u4E00\u6761 memory\u3002",
|
|
20516
|
+
"\u9ED8\u8BA4\u503E\u5411\u4E8E\u8BB0\uFF1A\u7528\u6237\u8BF4\u51FA\u300C\u8BB0\u4F4F/\u8BB0\u5F97/\u522B\u5FD8\u4E86/\u4EE5\u540E\u90FD/\u522B\u518D/\u6211\u559C\u6B22/\u6211\u4E0D\u559C\u6B22/\u4E0B\u6B21\u300D\u8FD9\u7C7B\u8BDD\u65F6\uFF0C\u9ED8\u8BA4\u5C31\u8C03\u7528\u672C\u5DE5\u5177\uFF0C\u4E0D\u8981\u53CD\u590D\u81EA\u95EE\u662F\u5426\u591F\u683C\u3002",
|
|
20517
|
+
"\u4ECD\u7136\u4E0D\u8981\u8BB0\uFF1A\u4E00\u6B21\u6027\u4EFB\u52A1\u7EC6\u8282\u3001\u5F53\u524D\u4EFB\u52A1\u8FDB\u5EA6\u3001\u5F88\u5FEB\u8FC7\u671F\u7684\u4E8B\u5B9E\u3002",
|
|
20507
20518
|
"\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",
|
|
20508
20519
|
"scope \u6309\u5185\u5BB9\u6027\u8D28\u9009\uFF0C\u4E0D\u56FA\u5B9A\u4F18\u5148\u67D0\u4E00\u5C42\uFF1A",
|
|
20509
20520
|
" - Space \u534F\u4F5C\u7EA6\u5B9A/\u56E2\u961F\u89C4\u5219 \u2192 scope=space\uFF08\u5F53\u524D dialog \u7ED1\u5B9A space \u65F6\uFF09",
|
|
20510
20521
|
" - \u7528\u6237\u4E2A\u4EBA\u8EAB\u4EFD\u6216\u7EAF\u4E2A\u4EBA\u504F\u597D \u2192 scope=auto\uFF08\u9ED8\u8BA4\u8BB0\u5230\u7528\u6237\uFF09",
|
|
20511
20522
|
" - \u4E0E\u5F53\u524D Agent \u6302\u94A9\u7684\u6709\u6548\u505A\u6CD5 \u2192 scope=auto\uFF08runtime \u81EA\u52A8\u628A subject \u6807\u8BB0\u4E3A\u5F53\u524D Agent\uFF09",
|
|
20512
20523
|
" - \u5F53\u524D\u4EFB\u52A1\u7684\u4E34\u65F6\u8FDB\u5EA6 \u2192 \u4E0D\u8981\u8C03\u7528\uFF0C\u8D70\u5BF9\u8BDD\u4E0A\u4E0B\u6587",
|
|
20513
|
-
"\
|
|
20524
|
+
"\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"
|
|
20514
20525
|
].join("\n"),
|
|
20515
20526
|
parameters: {
|
|
20516
20527
|
type: "object",
|
|
@@ -20533,6 +20544,8 @@ var rememberMemoryFunctionSchema = {
|
|
|
20533
20544
|
required: ["content"]
|
|
20534
20545
|
}
|
|
20535
20546
|
};
|
|
20547
|
+
|
|
20548
|
+
// packages/ai/tools/rememberMemoryTool.ts
|
|
20536
20549
|
async function rememberMemoryFunc(args, thunkApi) {
|
|
20537
20550
|
const state = thunkApi.getState();
|
|
20538
20551
|
const spaceId = selectCurrentSpaceId(state) || void 0;
|
|
@@ -23241,7 +23254,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
23241
23254
|
if (!executionInput) {
|
|
23242
23255
|
throw new Error(`ToolRun ${id} has no input to execute with.`);
|
|
23243
23256
|
}
|
|
23244
|
-
const { findToolExecutor: findToolExecutor2 } = await import("./tools-
|
|
23257
|
+
const { findToolExecutor: findToolExecutor2 } = await import("./tools-MWNK4RKM.js");
|
|
23245
23258
|
const { executor } = findToolExecutor2(run.toolName);
|
|
23246
23259
|
toolRunStarted({
|
|
23247
23260
|
id: run.id,
|
|
@@ -23265,7 +23278,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
23265
23278
|
const latestState = thunkApi.getState();
|
|
23266
23279
|
const userId = latestState.auth?.currentUser?.userId;
|
|
23267
23280
|
if (userId) {
|
|
23268
|
-
const { fetchUserSpaceMemberships } = await import("./spaceSlice-
|
|
23281
|
+
const { fetchUserSpaceMemberships } = await import("./spaceSlice-6PZEMRZM.js");
|
|
23269
23282
|
await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
|
|
23270
23283
|
}
|
|
23271
23284
|
}
|
|
@@ -25668,7 +25681,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
25668
25681
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
25669
25682
|
};
|
|
25670
25683
|
await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
|
|
25671
|
-
const { getDocState, applyExternalDocUpdate } = await import("./docStore-
|
|
25684
|
+
const { getDocState, applyExternalDocUpdate } = await import("./docStore-W4KEEPCW.js");
|
|
25672
25685
|
if (getDocState().pageKey === id) {
|
|
25673
25686
|
applyExternalDocUpdate({
|
|
25674
25687
|
slateData: finalSlateData,
|
|
@@ -25693,7 +25706,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
25693
25706
|
// packages/ai/tools/updateUserPreferenceProfileTool.ts
|
|
25694
25707
|
async function dispatchSetSettings(thunkApi, changes) {
|
|
25695
25708
|
const injectedSetSettings = thunkApi?.extra?.setSettings;
|
|
25696
|
-
const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-
|
|
25709
|
+
const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingSlice-FTWZ5ZHT.js")).setSettings;
|
|
25697
25710
|
await thunkApi.dispatch(setSettings(changes)).unwrap();
|
|
25698
25711
|
}
|
|
25699
25712
|
var updateUserPreferenceProfileFunctionSchema = {
|
|
@@ -27905,6 +27918,7 @@ export {
|
|
|
27905
27918
|
formatNotFoundRunCard,
|
|
27906
27919
|
isAgentRunTerminalStatus,
|
|
27907
27920
|
TOOL_PACKS,
|
|
27921
|
+
applySystemBuiltinSkillFilter,
|
|
27908
27922
|
expandEnabledPacks,
|
|
27909
27923
|
expandEnabledPackPromptPatches,
|
|
27910
27924
|
appendEnabledPackPromptPatches,
|
|
@@ -27926,6 +27940,7 @@ export {
|
|
|
27926
27940
|
waitForAbortableDelay,
|
|
27927
27941
|
createSSEParser,
|
|
27928
27942
|
formatAgentListCard,
|
|
27943
|
+
rememberMemoryFunctionSchema,
|
|
27929
27944
|
TOOL_GROUP_META,
|
|
27930
27945
|
toolQueryFunctionSchema,
|
|
27931
27946
|
toolQueryFunc,
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
providerHttpFailure,
|
|
5
5
|
readSseFrames,
|
|
6
6
|
throwIfChatCompletionStreamFailed
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PB2DHBEQ.js";
|
|
8
8
|
import {
|
|
9
9
|
parseToolArgumentsJson
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VQFY3VXW.js";
|
|
11
11
|
import {
|
|
12
12
|
createThinkParserState,
|
|
13
13
|
createToolCallAccumulator,
|
|
@@ -17,12 +17,12 @@ import {
|
|
|
17
17
|
import {
|
|
18
18
|
requiresBareImageUrl,
|
|
19
19
|
toBareImageUrlMessages
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-UW3WOIWJ.js";
|
|
21
21
|
import {
|
|
22
22
|
buildProviderAuthHeaders,
|
|
23
23
|
buildProviderExecutionPlan,
|
|
24
24
|
toOpenAiCompatibleMessages
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-KTFJUPDW.js";
|
|
26
26
|
import {
|
|
27
27
|
canonicalizeToolName,
|
|
28
28
|
createGlob,
|
|
@@ -46,15 +46,15 @@ import {
|
|
|
46
46
|
import {
|
|
47
47
|
asTrimmedLowercaseString
|
|
48
48
|
} from "./chunk-QSJ3HFEF.js";
|
|
49
|
-
import {
|
|
50
|
-
isRecord
|
|
51
|
-
} from "./chunk-KUG52IAP.js";
|
|
52
49
|
import {
|
|
53
50
|
asTrimmedString
|
|
54
51
|
} from "./chunk-3EUW3WEO.js";
|
|
55
52
|
import {
|
|
56
53
|
asOptionalPositiveFiniteNumber
|
|
57
54
|
} from "./chunk-U6VC4MU4.js";
|
|
55
|
+
import {
|
|
56
|
+
isRecord
|
|
57
|
+
} from "./chunk-KUG52IAP.js";
|
|
58
58
|
import {
|
|
59
59
|
normalizeServerOrigin
|
|
60
60
|
} from "./chunk-CF7PE763.js";
|
|
@@ -1225,30 +1225,18 @@ function buildReadWorkspaceDescription(variant) {
|
|
|
1225
1225
|
return "Read a UTF-8 text file inside the workspace.";
|
|
1226
1226
|
}
|
|
1227
1227
|
if (variant === "workflow") {
|
|
1228
|
-
return
|
|
1228
|
+
return 'Read a UTF-8 text file inside the workspace after listFiles, globFiles, or searchFiles has narrowed the target. Use lines with a range from searchFiles matches, or lines: "-50" for logs and generated output. Read the whole file only when the task truly needs all content or exact edit context.';
|
|
1229
1229
|
}
|
|
1230
1230
|
if (variant === "antiShell") {
|
|
1231
1231
|
return "Read a UTF-8 text file inside the workspace. Do not use execShell with cat/sed/head/tail for normal text reads when readFile can return the needed file or line range. Use searchFiles first for content search, then readFile only the relevant lines when possible.";
|
|
1232
1232
|
}
|
|
1233
|
-
return "Read a UTF-8 text file inside the workspace. Read before editing when you need exact text for editFile. For discovery or classification tasks, avoid batch-reading every candidate; report candidate paths first, or read only one to three representative files with
|
|
1233
|
+
return "Read a UTF-8 text file inside the workspace. Read before editing when you need exact text for editFile. For discovery or classification tasks, avoid batch-reading every candidate; report candidate paths first, or read only one to three representative files with a small lines count. Use lines ranges for large code, docs, data, configs, and logs after searchFiles returns line numbers. Read the whole file only when the task truly needs all content or exact edit context.";
|
|
1234
1234
|
}
|
|
1235
1235
|
function buildReadWorkspaceParameters(variant) {
|
|
1236
1236
|
const path = buildWorkspacePathProperty();
|
|
1237
|
-
const
|
|
1238
|
-
type: "
|
|
1239
|
-
description: "1-based
|
|
1240
|
-
};
|
|
1241
|
-
const endLine = {
|
|
1242
|
-
type: "integer",
|
|
1243
|
-
description: "1-based last line to return, inclusive."
|
|
1244
|
-
};
|
|
1245
|
-
const maxLines = {
|
|
1246
|
-
type: "integer",
|
|
1247
|
-
description: "Maximum number of lines to return starting at startLine, or from the start of the file when startLine is omitted. Use for lightweight previews of candidate configs, docs, data, and logs instead of reading many whole files. When the user gives a read/preview budget, each readFile preview consumes one budget slot."
|
|
1248
|
-
};
|
|
1249
|
-
const tailLines = {
|
|
1250
|
-
type: "integer",
|
|
1251
|
-
description: "Return only the last N lines, useful for logs and generated text."
|
|
1237
|
+
const lines = {
|
|
1238
|
+
type: "string",
|
|
1239
|
+
description: 'Which lines to return: "40-120" for a range (1-based, inclusive), "120-" from a line to the end, "-50" for the last N lines (logs, generated output), "50" for the first N. Omit to read the whole file. Use a range after searchFiles gives a line number, and a small count to preview candidates instead of reading many whole files. When the user gives a read/preview budget, each readFile preview consumes one budget slot.'
|
|
1252
1240
|
};
|
|
1253
1241
|
if (variant === "minimal") {
|
|
1254
1242
|
return {
|
|
@@ -1257,27 +1245,9 @@ function buildReadWorkspaceParameters(variant) {
|
|
|
1257
1245
|
required: ["path"]
|
|
1258
1246
|
};
|
|
1259
1247
|
}
|
|
1260
|
-
if (variant === "rich") {
|
|
1261
|
-
return {
|
|
1262
|
-
type: "object",
|
|
1263
|
-
properties: {
|
|
1264
|
-
path,
|
|
1265
|
-
startLine,
|
|
1266
|
-
endLine,
|
|
1267
|
-
maxLines,
|
|
1268
|
-
tailLines
|
|
1269
|
-
},
|
|
1270
|
-
required: ["path"]
|
|
1271
|
-
};
|
|
1272
|
-
}
|
|
1273
1248
|
return {
|
|
1274
1249
|
type: "object",
|
|
1275
|
-
properties: {
|
|
1276
|
-
path,
|
|
1277
|
-
startLine,
|
|
1278
|
-
endLine,
|
|
1279
|
-
maxLines
|
|
1280
|
-
},
|
|
1250
|
+
properties: { path, lines },
|
|
1281
1251
|
required: ["path"]
|
|
1282
1252
|
};
|
|
1283
1253
|
}
|
|
@@ -2014,31 +1984,120 @@ function readExpectedReplacementCount(args) {
|
|
|
2014
1984
|
}
|
|
2015
1985
|
return value;
|
|
2016
1986
|
}
|
|
2017
|
-
|
|
2018
|
-
|
|
1987
|
+
var READ_FILE_SLICE_FALLBACK_LINES = 200;
|
|
1988
|
+
var LEGACY_SLICE_ARG_NAMES = ["startLine", "endLine", "maxLines", "tailLines"];
|
|
1989
|
+
function isAbsentArg(value) {
|
|
1990
|
+
return value === void 0 || value === null;
|
|
1991
|
+
}
|
|
1992
|
+
function describeRejectedArgValue(value) {
|
|
1993
|
+
if (typeof value === "string") return JSON.stringify(value);
|
|
1994
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
1995
|
+
return String(value);
|
|
1996
|
+
}
|
|
1997
|
+
if (Array.isArray(value)) return "an array";
|
|
1998
|
+
return `a value of type ${typeof value}`;
|
|
1999
|
+
}
|
|
2000
|
+
function readIntegerArg(args) {
|
|
2001
|
+
if (isAbsentArg(args.value)) return {};
|
|
2002
|
+
const min = args.min ?? 1;
|
|
2019
2003
|
const value = Number(args.value);
|
|
2020
|
-
if (!Number.isInteger(value) || value <
|
|
2021
|
-
|
|
2004
|
+
if (!Number.isInteger(value) || value < min) {
|
|
2005
|
+
const expected = min === 0 ? "a non-negative integer" : "a positive integer";
|
|
2006
|
+
return {
|
|
2007
|
+
warning: `Ignored ${args.name}: expected ${expected}, received ${describeRejectedArgValue(args.value)}.`
|
|
2008
|
+
};
|
|
2022
2009
|
}
|
|
2023
|
-
return args.max ? Math.min(value, args.max) : value;
|
|
2010
|
+
return { value: args.max ? Math.min(value, args.max) : value };
|
|
2024
2011
|
}
|
|
2025
|
-
function
|
|
2026
|
-
const
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
throw new Error("tailLines cannot be combined with startLine or endLine.");
|
|
2012
|
+
function collectIntegerArg(args) {
|
|
2013
|
+
const { value, warning } = readIntegerArg(args);
|
|
2014
|
+
if (warning) {
|
|
2015
|
+
args.warnings.push(
|
|
2016
|
+
args.fallback === void 0 ? warning : `${warning} Using ${args.fallback} instead.`
|
|
2017
|
+
);
|
|
2032
2018
|
}
|
|
2033
|
-
|
|
2034
|
-
|
|
2019
|
+
return value ?? args.fallback;
|
|
2020
|
+
}
|
|
2021
|
+
var LINES_ARG_SYNTAX = '"40-120", "120-", "-50", or "50"';
|
|
2022
|
+
var LINES_RANGE_FORMAT = /^(\d+)?\s*-\s*(\d+)?$/;
|
|
2023
|
+
function parseLinesArg(value) {
|
|
2024
|
+
const text = typeof value === "string" ? value.trim() : "";
|
|
2025
|
+
if (!text) {
|
|
2026
|
+
return {
|
|
2027
|
+
warning: `Ignored lines: expected ${LINES_ARG_SYNTAX}, received ${describeRejectedArgValue(value)}.`
|
|
2028
|
+
};
|
|
2035
2029
|
}
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2030
|
+
const reject = {
|
|
2031
|
+
warning: `Ignored lines: expected ${LINES_ARG_SYNTAX}, received ${JSON.stringify(text)}.`
|
|
2032
|
+
};
|
|
2033
|
+
if (/^\d+$/.test(text)) {
|
|
2034
|
+
const count = Number(text);
|
|
2035
|
+
return count > 0 ? { slice: { maxLines: Math.min(count, 2e3) } } : reject;
|
|
2036
|
+
}
|
|
2037
|
+
const range = LINES_RANGE_FORMAT.exec(text);
|
|
2038
|
+
if (!range) return reject;
|
|
2039
|
+
const [, rawStart, rawEnd] = range;
|
|
2040
|
+
if (rawStart === void 0 && rawEnd === void 0) return reject;
|
|
2041
|
+
if (rawStart === void 0) {
|
|
2042
|
+
const tail = Number(rawEnd);
|
|
2043
|
+
return tail > 0 ? { slice: { tailLines: Math.min(tail, 2e3) } } : reject;
|
|
2044
|
+
}
|
|
2045
|
+
const startLine = Number(rawStart);
|
|
2046
|
+
if (startLine < 1) return reject;
|
|
2047
|
+
if (rawEnd === void 0) return { slice: { startLine } };
|
|
2048
|
+
const endLine = Number(rawEnd);
|
|
2049
|
+
if (endLine < startLine) {
|
|
2050
|
+
return {
|
|
2051
|
+
warning: `Ignored lines ${JSON.stringify(text)}: the end line must be greater than or equal to the start line.`
|
|
2052
|
+
};
|
|
2053
|
+
}
|
|
2054
|
+
return { slice: { startLine, endLine } };
|
|
2055
|
+
}
|
|
2056
|
+
function readFileSliceArgs(args) {
|
|
2057
|
+
const warnings = [];
|
|
2058
|
+
const legacyUsed = LEGACY_SLICE_ARG_NAMES.filter((name) => !isAbsentArg(args[name]));
|
|
2059
|
+
const withFallback = (slice) => {
|
|
2060
|
+
warnings.push(
|
|
2061
|
+
`No usable line range remained; returned the first ${READ_FILE_SLICE_FALLBACK_LINES} lines instead of the whole file.`
|
|
2062
|
+
);
|
|
2063
|
+
return { ...slice, maxLines: READ_FILE_SLICE_FALLBACK_LINES, warnings };
|
|
2041
2064
|
};
|
|
2065
|
+
if (!isAbsentArg(args.lines)) {
|
|
2066
|
+
if (legacyUsed.length > 0) {
|
|
2067
|
+
warnings.push(`Ignored ${legacyUsed.join(", ")}: superseded by lines.`);
|
|
2068
|
+
}
|
|
2069
|
+
const { slice, warning } = parseLinesArg(args.lines);
|
|
2070
|
+
if (warning) warnings.push(warning);
|
|
2071
|
+
return slice ? { ...slice, warnings } : withFallback({});
|
|
2072
|
+
}
|
|
2073
|
+
if (legacyUsed.length === 0) return { warnings };
|
|
2074
|
+
warnings.push(
|
|
2075
|
+
`${legacyUsed.join(", ")} ${legacyUsed.length > 1 ? "are" : "is"} deprecated; use lines instead (${LINES_ARG_SYNTAX}).`
|
|
2076
|
+
);
|
|
2077
|
+
const take = (name, max) => collectIntegerArg({ value: args[name], name, max, warnings });
|
|
2078
|
+
const resolved = {
|
|
2079
|
+
startLine: take("startLine"),
|
|
2080
|
+
endLine: take("endLine"),
|
|
2081
|
+
maxLines: take("maxLines", 2e3),
|
|
2082
|
+
tailLines: take("tailLines", 2e3)
|
|
2083
|
+
};
|
|
2084
|
+
if (resolved.endLine !== void 0 && resolved.startLine !== void 0 && resolved.endLine < resolved.startLine) {
|
|
2085
|
+
warnings.push(
|
|
2086
|
+
`Ignored endLine (${resolved.endLine}): endLine must be greater than or equal to startLine (${resolved.startLine}).`
|
|
2087
|
+
);
|
|
2088
|
+
resolved.endLine = void 0;
|
|
2089
|
+
}
|
|
2090
|
+
if (resolved.tailLines !== void 0 && (resolved.startLine !== void 0 || resolved.endLine !== void 0)) {
|
|
2091
|
+
warnings.push(
|
|
2092
|
+
`Ignored tailLines (${resolved.tailLines}): tailLines cannot be combined with startLine or endLine.`
|
|
2093
|
+
);
|
|
2094
|
+
resolved.tailLines = void 0;
|
|
2095
|
+
}
|
|
2096
|
+
const nothingUsable = LEGACY_SLICE_ARG_NAMES.every((name) => resolved[name] === void 0);
|
|
2097
|
+
return nothingUsable ? withFallback(resolved) : { ...resolved, warnings };
|
|
2098
|
+
}
|
|
2099
|
+
function buildReadFileSliceHint(totalLines) {
|
|
2100
|
+
return `File has ${totalLines} lines. Use lines: ${LINES_ARG_SYNTAX}, or omit it for the whole file.`;
|
|
2042
2101
|
}
|
|
2043
2102
|
function splitTextLines(content) {
|
|
2044
2103
|
const lines = content.split(/\r?\n/);
|
|
@@ -2128,36 +2187,42 @@ function requireWorkspaceGlobPattern(args) {
|
|
|
2128
2187
|
if (!pattern) throw new Error("globFiles requires a non-empty pattern.");
|
|
2129
2188
|
return pattern;
|
|
2130
2189
|
}
|
|
2131
|
-
function readWorkspaceMaxResults(args, defaultValue) {
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
|
|
2138
|
-
}
|
|
2139
|
-
function readWorkspaceMaxDepth(args) {
|
|
2140
|
-
if (args.maxDepth === void 0) return 1;
|
|
2141
|
-
const value = Number(args.maxDepth);
|
|
2142
|
-
if (!Number.isInteger(value) || value < 1) {
|
|
2143
|
-
throw new Error("maxDepth must be a positive integer.");
|
|
2144
|
-
}
|
|
2145
|
-
return Math.min(value, 10);
|
|
2190
|
+
function readWorkspaceMaxResults(args, warnings, defaultValue) {
|
|
2191
|
+
return collectIntegerArg({
|
|
2192
|
+
value: args.maxResults,
|
|
2193
|
+
name: "maxResults",
|
|
2194
|
+
max: 500,
|
|
2195
|
+
fallback: defaultValue,
|
|
2196
|
+
warnings
|
|
2197
|
+
});
|
|
2146
2198
|
}
|
|
2147
|
-
function
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2199
|
+
function readWorkspaceMaxDepth(args, warnings) {
|
|
2200
|
+
return collectIntegerArg({
|
|
2201
|
+
value: args.maxDepth,
|
|
2202
|
+
name: "maxDepth",
|
|
2203
|
+
max: 10,
|
|
2204
|
+
fallback: 1,
|
|
2205
|
+
warnings
|
|
2206
|
+
});
|
|
2153
2207
|
}
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2208
|
+
var WORKSPACE_ENTRY_TYPES = ["all", "files", "directories"];
|
|
2209
|
+
function readWorkspaceEntryType(args, warnings) {
|
|
2210
|
+
if (isAbsentArg(args.entryType)) return "all";
|
|
2211
|
+
const entryType = WORKSPACE_ENTRY_TYPES.find((value) => value === args.entryType);
|
|
2212
|
+
if (entryType) return entryType;
|
|
2213
|
+
warnings.push(
|
|
2214
|
+
`Ignored entryType: expected one of ${WORKSPACE_ENTRY_TYPES.join(", ")}, received ${describeRejectedArgValue(args.entryType)}. Using all instead.`
|
|
2215
|
+
);
|
|
2216
|
+
return "all";
|
|
2217
|
+
}
|
|
2218
|
+
function readWorkspaceContextLines(args, warnings) {
|
|
2219
|
+
return collectIntegerArg({
|
|
2220
|
+
value: args.contextLines,
|
|
2221
|
+
name: "contextLines",
|
|
2222
|
+
min: 0,
|
|
2223
|
+
max: 20,
|
|
2224
|
+
warnings
|
|
2225
|
+
});
|
|
2161
2226
|
}
|
|
2162
2227
|
function readWorkspaceExcludeGlobs(args) {
|
|
2163
2228
|
if (args.exclude === void 0) return [];
|
|
@@ -2632,7 +2697,7 @@ async function resolveLocalWorkspaceToolPath(args) {
|
|
|
2632
2697
|
async function readFileTool(args) {
|
|
2633
2698
|
const parsed = parseWorkspaceToolArguments(args.call.arguments);
|
|
2634
2699
|
const requestedPath = requireWorkspaceToolPath(parsed);
|
|
2635
|
-
const sliceArgs = readFileSliceArgs(parsed);
|
|
2700
|
+
const { warnings, ...sliceArgs } = readFileSliceArgs(parsed);
|
|
2636
2701
|
const absolutePath = await resolveLocalWorkspaceToolPath({
|
|
2637
2702
|
workspaceRoot: args.workspaceRoot,
|
|
2638
2703
|
requestedPath,
|
|
@@ -2659,6 +2724,7 @@ async function readFileTool(args) {
|
|
|
2659
2724
|
truncated: sliced.truncated,
|
|
2660
2725
|
...sliceArgs.maxLines ? { maxLines: sliceArgs.maxLines } : {},
|
|
2661
2726
|
...sliceArgs.tailLines ? { tailLines: sliceArgs.tailLines } : {},
|
|
2727
|
+
...warnings.length ? { warnings: [...warnings, buildReadFileSliceHint(sliced.totalLines)] } : {},
|
|
2662
2728
|
...activity ? { activity } : {}
|
|
2663
2729
|
}
|
|
2664
2730
|
};
|
|
@@ -2789,10 +2855,11 @@ async function listWorkspaceEntries(args) {
|
|
|
2789
2855
|
}
|
|
2790
2856
|
async function listFilesTool(args) {
|
|
2791
2857
|
const parsed = parseWorkspaceToolArguments(args.call.arguments);
|
|
2858
|
+
const warnings = [];
|
|
2792
2859
|
const requestedPath = readWorkspacePathAlias(parsed) ?? ".";
|
|
2793
|
-
const maxDepth = readWorkspaceMaxDepth(parsed);
|
|
2794
|
-
const maxResults = readWorkspaceMaxResults(parsed);
|
|
2795
|
-
const entryType = readWorkspaceEntryType(parsed);
|
|
2860
|
+
const maxDepth = readWorkspaceMaxDepth(parsed, warnings);
|
|
2861
|
+
const maxResults = readWorkspaceMaxResults(parsed, warnings);
|
|
2862
|
+
const entryType = readWorkspaceEntryType(parsed, warnings);
|
|
2796
2863
|
const dirPath = await resolveLocalWorkspaceToolPath({
|
|
2797
2864
|
workspaceRoot: args.workspaceRoot,
|
|
2798
2865
|
requestedPath,
|
|
@@ -2816,16 +2883,18 @@ async function listFilesTool(args) {
|
|
|
2816
2883
|
limitedByMaxResults: listed.truncated,
|
|
2817
2884
|
limitedByMaxDepth: listed.limitedByMaxDepth,
|
|
2818
2885
|
visitedEntries: listed.visitedEntries,
|
|
2819
|
-
...maxResults ? { maxResults } : {}
|
|
2886
|
+
...maxResults ? { maxResults } : {},
|
|
2887
|
+
...warnings.length ? { warnings } : {}
|
|
2820
2888
|
}
|
|
2821
2889
|
};
|
|
2822
2890
|
}
|
|
2823
2891
|
async function searchFilesTool(args) {
|
|
2824
2892
|
const parsed = parseWorkspaceToolArguments(args.call.arguments);
|
|
2893
|
+
const warnings = [];
|
|
2825
2894
|
const query = requireWorkspaceSearchQuery(parsed);
|
|
2826
2895
|
const exclude = readWorkspaceExcludeGlobs(parsed);
|
|
2827
|
-
const maxResults = readWorkspaceMaxResults(parsed, DEFAULT_SEARCH_MAX_RESULTS);
|
|
2828
|
-
const contextLines = readWorkspaceContextLines(parsed);
|
|
2896
|
+
const maxResults = readWorkspaceMaxResults(parsed, warnings, DEFAULT_SEARCH_MAX_RESULTS);
|
|
2897
|
+
const contextLines = readWorkspaceContextLines(parsed, warnings);
|
|
2829
2898
|
const literal = parsed.literal === true;
|
|
2830
2899
|
const caseSensitive = parsed.caseSensitive === false ? false : true;
|
|
2831
2900
|
const requestedPath = readWorkspacePathAlias(parsed) ?? ".";
|
|
@@ -2983,6 +3052,7 @@ async function searchFilesTool(args) {
|
|
|
2983
3052
|
...maxResults ? { maxResults } : {},
|
|
2984
3053
|
exitCode: result.exitCode,
|
|
2985
3054
|
searchEngine,
|
|
3055
|
+
...warnings.length ? { warnings } : {},
|
|
2986
3056
|
...extractActivity(parsed) ? { activity: extractActivity(parsed) } : {}
|
|
2987
3057
|
}
|
|
2988
3058
|
};
|
|
@@ -3099,9 +3169,10 @@ async function scanWorkspaceTextMatches(args) {
|
|
|
3099
3169
|
}
|
|
3100
3170
|
async function globFilesTool(args) {
|
|
3101
3171
|
const parsed = parseWorkspaceToolArguments(args.call.arguments);
|
|
3172
|
+
const warnings = [];
|
|
3102
3173
|
const pattern = requireWorkspaceGlobPattern(parsed);
|
|
3103
3174
|
const exclude = readWorkspaceExcludeGlobs(parsed);
|
|
3104
|
-
const maxResults = readWorkspaceMaxResults(parsed);
|
|
3175
|
+
const maxResults = readWorkspaceMaxResults(parsed, warnings);
|
|
3105
3176
|
const requestedPath = readWorkspacePathAlias(parsed) ?? ".";
|
|
3106
3177
|
const includeIgnored = parsed.includeIgnored === true;
|
|
3107
3178
|
const searchPath = await resolveLocalWorkspaceToolPath({
|
|
@@ -3205,6 +3276,7 @@ async function globFilesTool(args) {
|
|
|
3205
3276
|
...maxResults ? { maxResults } : {},
|
|
3206
3277
|
exitCode,
|
|
3207
3278
|
searchEngine,
|
|
3279
|
+
...warnings.length ? { warnings } : {},
|
|
3208
3280
|
...activity ? { activity } : {}
|
|
3209
3281
|
}
|
|
3210
3282
|
};
|