nolo-cli 0.34.0-alpha.3 → 0.36.0-alpha.1

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.
Files changed (66) hide show
  1. package/{_executeModel-TMUXL7J5.js → _executeModel-2S6HNTBF.js} +15 -14
  2. package/{agentDeleteCommand-KA2IQAPG.js → agentDeleteCommand-EJ6RRIGV.js} +3 -3
  3. package/{agentEmailCommands-UIYBGCZW.js → agentEmailCommands-44XJPIUG.js} +15 -14
  4. package/{agentListCommands-L6JNUOLH.js → agentListCommands-HSWVSDLI.js} +3 -3
  5. package/{agentMachineCommands-5CQW5NZR.js → agentMachineCommands-VMWDSASB.js} +4 -4
  6. package/{agentRecordCommands-VUDJQIZH.js → agentRecordCommands-NLRF3ZCV.js} +15 -14
  7. package/{agentRunCommand-EJWYF3BL.js → agentRunCommand-RUCLOMIL.js} +16 -15
  8. package/{agentRuntimeLocal-XXBMDMBU.js → agentRuntimeLocal-GTNYV7LH.js} +3 -3
  9. package/{agentSlice-HTIEYKIU.js → agentSlice-LAILHBMM.js} +1 -1
  10. package/{appDeleteCommands-OUBL6VHB.js → appDeleteCommands-YDXSR75I.js} +3 -3
  11. package/{appDeployCommands-BZSS2MX4.js → appDeployCommands-4X5SN3EF.js} +3 -3
  12. package/{appDeployStatusCommands-P2ZQOY5X.js → appDeployStatusCommands-TK3JKBHH.js} +3 -3
  13. package/{appGetCommands-WCFWQZZM.js → appGetCommands-ZKQHHJYB.js} +3 -3
  14. package/{appListCommands-FVJ3QNL7.js → appListCommands-JRDOEEGV.js} +3 -3
  15. package/{chatQueueReduxAdapter-ZP2ZS63U.js → chatQueueReduxAdapter-DQWFZYNL.js} +2 -2
  16. package/{chunk-P2I7ELDC.js → chunk-2KO5QQFV.js} +1 -1
  17. package/{chunk-6HIGYUBQ.js → chunk-6XIE5ZGI.js} +1 -1
  18. package/{chunk-RKRXAL3V.js → chunk-7MWPUOKI.js} +5 -5
  19. package/chunk-AETZ7AD6.js +274 -0
  20. package/{chunk-IEEEWIVO.js → chunk-ANM6AIWX.js} +3 -3
  21. package/{chunk-PILJX4DH.js → chunk-ARFXKWJH.js} +8 -8
  22. package/{chunk-TLBZMLLJ.js → chunk-CVXDBLYH.js} +3 -3
  23. package/{chunk-QI3CHZUT.js → chunk-D72M3G32.js} +2 -2
  24. package/{chunk-XMFDQYWA.js → chunk-EJAL5LSG.js} +1 -1
  25. package/{chunk-AE5GVFMG.js → chunk-FXZBSLFK.js} +5 -5
  26. package/{chunk-WBZE7C6S.js → chunk-HRSIJO5A.js} +1 -1
  27. package/{chunk-5GQ6XCJY.js → chunk-JK7UM3LT.js} +11 -11
  28. package/{chunk-EY7V7REW.js → chunk-KHCLMKZZ.js} +6 -280
  29. package/{chunk-Z7COG62J.js → chunk-KR74XLMV.js} +2 -2
  30. package/{chunk-I7VDDN45.js → chunk-LBZHTQTD.js} +397 -14
  31. package/{chunk-ILZY5B4U.js → chunk-MUG4FG5J.js} +11 -11
  32. package/{chunk-Y5W623XU.js → chunk-NT3QRCVS.js} +3 -3
  33. package/chunk-OFZPJ3NT.js +114 -0
  34. package/{chunk-AA2YUJNV.js → chunk-P66M7LSQ.js} +4 -0
  35. package/{chunk-5LDKQUOT.js → chunk-QIMPDPEE.js} +1 -1
  36. package/{chunk-M3JQWYBC.js → chunk-T2BZICLK.js} +3 -1
  37. package/chunk-T5HJEUQN.js +956 -0
  38. package/{chunk-FT4XBCK4.js → chunk-YNAGAUJT.js} +7 -7
  39. package/{clipboardy-PRUHGPGC.js → clipboardy-BX4NMYHE.js} +7 -5
  40. package/{codingSkills-6F4EQFCM.js → codingSkills-H6N5EKSX.js} +3 -2
  41. package/{createAgentAutomationAction-TGUXUZCY.js → createAgentAutomationAction-767ZITQJ.js} +3 -3
  42. package/{createDialogAction-FD5AEOUF.js → createDialogAction-H75NDXYH.js} +6 -5
  43. package/{createPageAction-NPC3LYNK.js → createPageAction-KYJYZPLC.js} +5 -4
  44. package/{dialogCommands-ZF2RSNCG.js → dialogCommands-VYH2BY5H.js} +3 -3
  45. package/{dialogSlice-6BINHWQT.js → dialogSlice-YJV3AVFM.js} +2 -2
  46. package/{docCreateCommands-4VQ5MOHP.js → docCreateCommands-JS7A3OHQ.js} +6 -5
  47. package/{docDeleteCommands-M7WLNVPB.js → docDeleteCommands-HG5HNKZR.js} +6 -5
  48. package/{docReadCommands-6LU6P2WT.js → docReadCommands-BH4WN6HH.js} +6 -5
  49. package/{docStore-SIUFLABN.js → docStore-JOODSWDW.js} +4 -4
  50. package/{docUpdateCommands-S2LX4ENL.js → docUpdateCommands-TAXC7LHJ.js} +6 -5
  51. package/{handleSendMessageAction-QVG5YNZY.js → handleSendMessageAction-DGL6H4E4.js} +2 -2
  52. package/index.js +59 -46
  53. package/{machineCommands-OSEBN7BZ.js → machineCommands-4J5NN3JH.js} +15 -14
  54. package/{machineWsRunDispatch-NTJQCIIF.js → machineWsRunDispatch-KBPZKHM2.js} +15 -14
  55. package/package.json +1 -1
  56. package/{readlineWorkspace-JPME5S7A.js → readlineWorkspace-EP2W65SI.js} +35 -27
  57. package/{runAgentClientLoop-SOKEXCUF.js → runAgentClientLoop-B3TTKXIX.js} +12 -11
  58. package/{skillDiscovery-GPUDHDTZ.js → skillDiscovery-COX56OBO.js} +2 -1
  59. package/{spaceCommands-Z5JLMFFJ.js → spaceCommands-Y33JLAKF.js} +3 -3
  60. package/{spaceSlice-Z3BGCLGX.js → spaceSlice-ZKUZSVYD.js} +3 -3
  61. package/{streamAgentChatTurn-INF5RGK4.js → streamAgentChatTurn-PLTB7RMV.js} +14 -13
  62. package/{tools-ZELMSJZ3.js → tools-KQXDW66A.js} +9 -8
  63. package/{updateCommands-MNDUIKN7.js → updateCommands-IYKLF3JX.js} +3 -1
  64. package/{updateDialogTitleAction-EDUCIB7G.js → updateDialogTitleAction-OTYEQJAK.js} +3 -3
  65. package/chunk-2BWU4ORW.js +0 -2574
  66. package/chunk-VFVCYIRQ.js +0 -407
@@ -0,0 +1,274 @@
1
+ import {
2
+ dump,
3
+ load
4
+ } from "./chunk-KHCLMKZZ.js";
5
+ import {
6
+ asTrimmedNonEmptyStringArray
7
+ } from "./chunk-I42VC5KR.js";
8
+ import {
9
+ asOptionalTrimmedString
10
+ } from "./chunk-G3SUCT4W.js";
11
+
12
+ // packages/ai/skills/skillDocProtocol.ts
13
+ var SKILL_DOC_ENUMS = {
14
+ triggerMode: ["explicit", "required", "recommended"],
15
+ // budgetTier 只服务 WorkflowReferenceConfig;skill 侧已移除(零读点)。
16
+ budgetTier: ["low", "medium", "high"],
17
+ modality: ["text", "image", "video", "audio", "3d"],
18
+ docKind: ["knowledge", "instruction", "skill"]
19
+ };
20
+ var SKILL_CONFIG_BLOCK = "skill-config";
21
+ var EVAL_CONFIG_BLOCK = "eval-config";
22
+ var WORKFLOW_CONFIG_BLOCK = "workflow-config";
23
+ var normalizeStringArray = (value) => {
24
+ if (!Array.isArray(value)) return void 0;
25
+ const items = [...new Set(asTrimmedNonEmptyStringArray(value))];
26
+ return items.length > 0 ? items : void 0;
27
+ };
28
+ var normalizeSkillEnumValue = (key, value) => typeof value === "string" && SKILL_DOC_ENUMS[key].includes(value) ? value : void 0;
29
+ var normalizeSkillModalities = (value) => {
30
+ const raw = normalizeStringArray(value);
31
+ if (!raw) return void 0;
32
+ const filtered = raw.flatMap((item) => {
33
+ const modality = normalizeSkillEnumValue("modality", item);
34
+ return modality ? [modality] : [];
35
+ });
36
+ return filtered.length > 0 ? Array.from(new Set(filtered)) : void 0;
37
+ };
38
+ var normalizeSkillConfig = (value, fallbackTools) => {
39
+ if (!value || typeof value !== "object") return void 0;
40
+ const record = value;
41
+ const name = asOptionalTrimmedString(record.name) ?? "";
42
+ const description = asOptionalTrimmedString(record.description) ?? "";
43
+ if (!name || !description) return void 0;
44
+ const triggerMode = normalizeSkillEnumValue("triggerMode", record.triggerMode);
45
+ const modalities = normalizeSkillModalities(record.modalities);
46
+ const toolNames = normalizeStringArray(record.toolNames) ?? normalizeStringArray(fallbackTools) ?? void 0;
47
+ return {
48
+ version: "0.1",
49
+ kind: "skill",
50
+ id: asOptionalTrimmedString(record.id),
51
+ name,
52
+ description,
53
+ triggerMode,
54
+ toolNames,
55
+ modalities,
56
+ requiredSkills: normalizeStringArray(record.requiredSkills),
57
+ recommendedSkills: normalizeStringArray(record.recommendedSkills),
58
+ promptPatch: asOptionalTrimmedString(record.promptPatch)
59
+ };
60
+ };
61
+ var normalizeEvalConfig = (value) => {
62
+ if (!value || typeof value !== "object") return void 0;
63
+ const record = value;
64
+ if (!Array.isArray(record.cases)) return void 0;
65
+ const cases = [];
66
+ for (const item of record.cases) {
67
+ if (!item || typeof item !== "object") continue;
68
+ const testCase = item;
69
+ const input = asOptionalTrimmedString(testCase.input) ?? "";
70
+ if (!input) continue;
71
+ cases.push({
72
+ input,
73
+ expectedTools: normalizeStringArray(testCase.expectedTools),
74
+ expectedSignals: normalizeStringArray(testCase.expectedSignals),
75
+ forbiddenSignals: normalizeStringArray(testCase.forbiddenSignals)
76
+ });
77
+ }
78
+ return cases.length > 0 ? {
79
+ version: "0.1",
80
+ cases
81
+ } : void 0;
82
+ };
83
+ var normalizeWorkflowConfig = (value) => {
84
+ if (!value || typeof value !== "object") return void 0;
85
+ const record = value;
86
+ const name = asOptionalTrimmedString(record.name) ?? "";
87
+ const description = asOptionalTrimmedString(record.description) ?? "";
88
+ if (!name || !description) return void 0;
89
+ const budgetTier = normalizeSkillEnumValue("budgetTier", record.budgetTier);
90
+ return {
91
+ version: "0.1",
92
+ kind: "workflow",
93
+ id: asOptionalTrimmedString(record.id),
94
+ name,
95
+ description,
96
+ defaultAgent: asOptionalTrimmedString(record.defaultAgent),
97
+ inputs: normalizeStringArray(record.inputs),
98
+ recommendedTools: normalizeStringArray(record.recommendedTools),
99
+ requiredTools: normalizeStringArray(record.requiredTools),
100
+ requiredOutputs: normalizeStringArray(record.requiredOutputs),
101
+ gates: normalizeStringArray(record.gates),
102
+ budgetTier,
103
+ contextStrategy: asOptionalTrimmedString(record.contextStrategy),
104
+ failureProtocol: asOptionalTrimmedString(record.failureProtocol)
105
+ };
106
+ };
107
+ var normalizePageSkillMetadata = (value, fallbackTools) => {
108
+ if (!value || typeof value !== "object") return void 0;
109
+ const record = value;
110
+ const kind = normalizeSkillEnumValue("docKind", record.kind);
111
+ const meta = {
112
+ kind,
113
+ requiredSkills: normalizeStringArray(record.requiredSkills),
114
+ recommendedSkills: normalizeStringArray(record.recommendedSkills),
115
+ skillConfig: normalizeSkillConfig(record.skillConfig, fallbackTools),
116
+ evalConfig: normalizeEvalConfig(record.evalConfig),
117
+ workflowConfig: normalizeWorkflowConfig(record.workflowConfig)
118
+ };
119
+ if (meta.skillConfig && !meta.kind) {
120
+ meta.kind = "skill";
121
+ }
122
+ if (meta.workflowConfig && !meta.kind) {
123
+ meta.kind = "instruction";
124
+ }
125
+ return meta.kind || meta.requiredSkills || meta.recommendedSkills || meta.skillConfig || meta.evalConfig || meta.workflowConfig ? meta : void 0;
126
+ };
127
+ var extractCommentBlock = (markdown, blockName) => {
128
+ if (!markdown) return void 0;
129
+ const matcher = new RegExp(
130
+ `<!--\\s*${blockName}\\s*\\n([\\s\\S]*?)-->`,
131
+ "i"
132
+ );
133
+ const match = markdown.match(matcher);
134
+ return asOptionalTrimmedString(match?.[1]);
135
+ };
136
+ var removeCommentBlock = (markdown, blockName) => markdown.replace(
137
+ new RegExp(`\\n?<!--\\s*${blockName}\\s*\\n[\\s\\S]*?-->\\s*`, "gi"),
138
+ "\n\n"
139
+ );
140
+ var parseYamlObject = (raw) => {
141
+ if (!raw) return void 0;
142
+ try {
143
+ const parsed = load(raw);
144
+ return parsed && typeof parsed === "object" ? parsed : void 0;
145
+ } catch {
146
+ return void 0;
147
+ }
148
+ };
149
+ var parseSkillDocProtocol = (markdown, existingMeta, fallbackTools) => {
150
+ const source = typeof markdown === "string" ? markdown : "";
151
+ const skillBlock = parseYamlObject(extractCommentBlock(source, SKILL_CONFIG_BLOCK));
152
+ const evalBlock = parseYamlObject(extractCommentBlock(source, EVAL_CONFIG_BLOCK));
153
+ const workflowBlock = parseYamlObject(extractCommentBlock(source, WORKFLOW_CONFIG_BLOCK));
154
+ const cleanedContent = removeCommentBlock(
155
+ removeCommentBlock(
156
+ removeCommentBlock(source, SKILL_CONFIG_BLOCK),
157
+ EVAL_CONFIG_BLOCK
158
+ ),
159
+ WORKFLOW_CONFIG_BLOCK
160
+ ).replace(/\n{3,}/g, "\n\n").trim();
161
+ const parsedMeta = normalizePageSkillMetadata(
162
+ {
163
+ ...existingMeta ?? {},
164
+ ...skillBlock ? {
165
+ kind: existingMeta?.kind === "skill" || skillBlock.kind === "skill" ? "skill" : existingMeta?.kind,
166
+ requiredSkills: skillBlock.requiredSkills ?? existingMeta?.requiredSkills,
167
+ recommendedSkills: skillBlock.recommendedSkills ?? existingMeta?.recommendedSkills,
168
+ skillConfig: skillBlock
169
+ } : {},
170
+ ...evalBlock ? { evalConfig: evalBlock } : {},
171
+ ...workflowBlock ? { workflowConfig: workflowBlock } : {}
172
+ },
173
+ fallbackTools
174
+ );
175
+ return {
176
+ content: cleanedContent,
177
+ meta: parsedMeta
178
+ };
179
+ };
180
+ var resolvePageSkillMetadata = (page) => {
181
+ if (!page) return void 0;
182
+ const existingMeta = normalizePageSkillMetadata(page.meta, page.tools);
183
+ return parseSkillDocProtocol(page.content ?? "", existingMeta, page.tools).meta;
184
+ };
185
+ var yamlBlock = (value) => dump(value, { lineWidth: 120, noRefs: true }).trim();
186
+ var buildSkillConfigComment = (config) => {
187
+ const payload = {
188
+ version: config.version,
189
+ kind: config.kind,
190
+ ...config.id ? { id: config.id } : {},
191
+ name: config.name,
192
+ description: config.description,
193
+ ...config.triggerMode ? { triggerMode: config.triggerMode } : {},
194
+ ...config.requiredSkills?.length ? { requiredSkills: config.requiredSkills } : {},
195
+ ...config.recommendedSkills?.length ? { recommendedSkills: config.recommendedSkills } : {},
196
+ ...config.toolNames?.length ? { toolNames: config.toolNames } : {},
197
+ ...config.modalities?.length ? { modalities: config.modalities } : {},
198
+ ...config.promptPatch ? { promptPatch: config.promptPatch } : {}
199
+ };
200
+ return `<!-- ${SKILL_CONFIG_BLOCK}
201
+ ${yamlBlock(payload)}
202
+ -->`;
203
+ };
204
+ var buildEvalConfigComment = (config) => `<!-- ${EVAL_CONFIG_BLOCK}
205
+ ${yamlBlock({
206
+ version: config.version,
207
+ cases: config.cases
208
+ })}
209
+ -->`;
210
+ var buildWorkflowConfigComment = (config) => `<!-- ${WORKFLOW_CONFIG_BLOCK}
211
+ ${yamlBlock({
212
+ version: config.version,
213
+ kind: config.kind,
214
+ ...config.id ? { id: config.id } : {},
215
+ name: config.name,
216
+ description: config.description,
217
+ ...config.defaultAgent ? { defaultAgent: config.defaultAgent } : {},
218
+ ...config.inputs?.length ? { inputs: config.inputs } : {},
219
+ ...config.recommendedTools?.length ? { recommendedTools: config.recommendedTools } : {},
220
+ ...config.requiredTools?.length ? { requiredTools: config.requiredTools } : {},
221
+ ...config.requiredOutputs?.length ? { requiredOutputs: config.requiredOutputs } : {},
222
+ ...config.gates?.length ? { gates: config.gates } : {},
223
+ ...config.budgetTier ? { budgetTier: config.budgetTier } : {},
224
+ ...config.contextStrategy ? { contextStrategy: config.contextStrategy } : {},
225
+ ...config.failureProtocol ? { failureProtocol: config.failureProtocol } : {}
226
+ })}
227
+ -->`;
228
+ var buildSkillDocMarkdown = (options) => {
229
+ const sections = [
230
+ asOptionalTrimmedString(options.body) ?? "",
231
+ buildSkillConfigComment(options.skillConfig),
232
+ options.evalConfig ? buildEvalConfigComment(options.evalConfig) : "",
233
+ options.workflowConfig ? buildWorkflowConfigComment(options.workflowConfig) : ""
234
+ ].filter(Boolean);
235
+ return sections.join("\n\n").trim();
236
+ };
237
+ var extractFrontmatter = (markdown) => {
238
+ const match = markdown.match(/^\s*---\s*\n([\s\S]*?)\n\s*---\s*\n?/);
239
+ if (!match) return { body: markdown.trim() };
240
+ const frontmatter = parseYamlObject(match[1]);
241
+ const body = markdown.slice(match[0].length).trim();
242
+ return { frontmatter, body };
243
+ };
244
+ var normalizeAllowedTools = (value) => {
245
+ if (Array.isArray(value)) {
246
+ return normalizeStringArray(value) ?? [];
247
+ }
248
+ if (typeof value === "string") {
249
+ return value.split(/\s+/).map((item) => item.trim()).filter(Boolean);
250
+ }
251
+ return [];
252
+ };
253
+ var parseExternalSkillMarkdown = (markdown) => {
254
+ const { frontmatter, body } = extractFrontmatter(markdown);
255
+ return {
256
+ name: asOptionalTrimmedString(frontmatter?.name),
257
+ description: asOptionalTrimmedString(frontmatter?.description),
258
+ compatibility: asOptionalTrimmedString(frontmatter?.compatibility),
259
+ allowedTools: normalizeAllowedTools(frontmatter?.["allowed-tools"]),
260
+ metadata: frontmatter?.metadata && typeof frontmatter.metadata === "object" ? Object.fromEntries(
261
+ Object.entries(frontmatter.metadata).filter(([, value]) => typeof value === "string").map(([key, value]) => [key, String(value)])
262
+ ) : void 0,
263
+ body
264
+ };
265
+ };
266
+
267
+ export {
268
+ normalizeStringArray,
269
+ normalizeSkillModalities,
270
+ parseSkillDocProtocol,
271
+ resolvePageSkillMetadata,
272
+ buildSkillDocMarkdown,
273
+ parseExternalSkillMarkdown
274
+ };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-RKRXAL3V.js";
4
+ } from "./chunk-7MWPUOKI.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-5GQ6XCJY.js";
7
+ } from "./chunk-JK7UM3LT.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-I7VDDN45.js";
10
+ } from "./chunk-LBZHTQTD.js";
11
11
  import {
12
12
  resolveLocalRuntimeEnvFromPolicy
13
13
  } from "./chunk-NQ4N4IGO.js";
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-AGGIDPCZ.js";
14
14
  import {
15
15
  runLlm
16
- } from "./chunk-TLBZMLLJ.js";
16
+ } from "./chunk-CVXDBLYH.js";
17
17
  import {
18
18
  cleanupCliSessionForDialog
19
19
  } from "./chunk-MGIHZ5CJ.js";
@@ -3519,7 +3519,7 @@ var messageSlice = createSliceWithThunks({
3519
3519
  runtimeOptions: args.runtimeOptions
3520
3520
  });
3521
3521
  if (agentKeyToUse) {
3522
- const { streamAgentChatTurn } = await import("./agentSlice-HTIEYKIU.js");
3522
+ const { streamAgentChatTurn } = await import("./agentSlice-LAILHBMM.js");
3523
3523
  await dispatch(
3524
3524
  streamAgentChatTurn({
3525
3525
  agentKey: agentKeyToUse,
@@ -4742,7 +4742,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
4742
4742
  }
4743
4743
  if (isCurrentDialog) {
4744
4744
  await thunkApi.dispatch(resetMsgs());
4745
- const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-6BINHWQT.js");
4745
+ const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-YJV3AVFM.js");
4746
4746
  dispatch(clearPendingAttachments2());
4747
4747
  }
4748
4748
  return { dialogKey, isCurrentDialog, attachmentPlan };
@@ -4750,15 +4750,15 @@ var deleteDialogThunk = async (payload, thunkApi) => {
4750
4750
 
4751
4751
  // packages/chat/dialog/dialogSlice.ts
4752
4752
  var runCreateDialogAction = async (args, thunkApi) => {
4753
- const { createDialogAction } = await import("./createDialogAction-FD5AEOUF.js");
4753
+ const { createDialogAction } = await import("./createDialogAction-H75NDXYH.js");
4754
4754
  return createDialogAction(args, thunkApi);
4755
4755
  };
4756
4756
  var runCreateAgentAutomationAction = async (args, thunkApi) => {
4757
- const { createAgentAutomationAction } = await import("./createAgentAutomationAction-TGUXUZCY.js");
4757
+ const { createAgentAutomationAction } = await import("./createAgentAutomationAction-767ZITQJ.js");
4758
4758
  return createAgentAutomationAction(args, thunkApi);
4759
4759
  };
4760
4760
  var runUpdateDialogTitleAction = async (args, thunkApi) => {
4761
- const { updateDialogTitleAction } = await import("./updateDialogTitleAction-EDUCIB7G.js");
4761
+ const { updateDialogTitleAction } = await import("./updateDialogTitleAction-OTYEQJAK.js");
4762
4762
  return updateDialogTitleAction(args, thunkApi);
4763
4763
  };
4764
4764
  var runAddDialogAgentAction = async (args, thunkApi) => {
@@ -4782,7 +4782,7 @@ var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
4782
4782
  return setDialogExtraReferencesAction(args, thunkApi);
4783
4783
  };
4784
4784
  var runHandleSendMessageAction = async (args, thunkApi) => {
4785
- const { handleSendMessageAction } = await import("./handleSendMessageAction-QVG5YNZY.js");
4785
+ const { handleSendMessageAction } = await import("./handleSendMessageAction-DGL6H4E4.js");
4786
4786
  return handleSendMessageAction(args, thunkApi);
4787
4787
  };
4788
4788
  function clearDialogState() {
@@ -4795,7 +4795,7 @@ var createPageAndAddReference = createAsyncThunk(
4795
4795
  async (payload, { dispatch, getState, rejectWithValue }) => {
4796
4796
  const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
4797
4797
  try {
4798
- const { createDocState } = await import("./docStore-SIUFLABN.js");
4798
+ const { createDocState } = await import("./docStore-JOODSWDW.js");
4799
4799
  const pageKey = await createDocState(
4800
4800
  { slateData, title },
4801
4801
  { dispatch, getState }
@@ -304,7 +304,7 @@ var slice = createSliceWithThunks({
304
304
  const overrides = {};
305
305
  if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
306
306
  if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
307
- const { _executeModel } = await import("./_executeModel-TMUXL7J5.js");
307
+ const { _executeModel } = await import("./_executeModel-2S6HNTBF.js");
308
308
  return _executeModel(
309
309
  {
310
310
  isStreaming: args.isStreaming ?? false,
@@ -325,7 +325,7 @@ var slice = createSliceWithThunks({
325
325
  * - 循环直到无工具调用或触发其他运行时停止条件
326
326
  */
327
327
  runAgent: create.asyncThunk(async (args, thunkApi) => {
328
- const { runAgentClientLoop } = await import("./runAgentClientLoop-SOKEXCUF.js");
328
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-B3TTKXIX.js");
329
329
  const { content: loopContent, toolCallCount } = await runAgentClientLoop(
330
330
  {
331
331
  agentKey: args.agentKey,
@@ -341,7 +341,7 @@ var slice = createSliceWithThunks({
341
341
  * 聊天轮次流式 Agent 调用
342
342
  */
343
343
  streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
344
- const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-INF5RGK4.js");
344
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-PLTB7RMV.js");
345
345
  return streamAgentChatTurnHandler(args, thunkApi);
346
346
  }),
347
347
  /**
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  deleteDialog,
3
3
  toast
4
- } from "./chunk-PILJX4DH.js";
4
+ } from "./chunk-ARFXKWJH.js";
5
5
  import {
6
6
  deleteServerSyncedCredential
7
- } from "./chunk-TLBZMLLJ.js";
7
+ } from "./chunk-CVXDBLYH.js";
8
8
  import {
9
9
  require_date_fns
10
10
  } from "./chunk-M76ECQRD.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-5GQ6XCJY.js";
4
+ } from "./chunk-JK7UM3LT.js";
5
5
  import {
6
6
  canonicalizeToolNames
7
7
  } from "./chunk-O6OSWFZQ.js";
@@ -10,7 +10,7 @@ import {
10
10
  fetchAndSerializeTable,
11
11
  resolveBuiltinSkillPage,
12
12
  waitForAbortableDelay
13
- } from "./chunk-5GQ6XCJY.js";
13
+ } from "./chunk-JK7UM3LT.js";
14
14
  import {
15
15
  createDrainExhaustedResponse,
16
16
  isCoreDrainingBody,
@@ -26,18 +26,18 @@ import {
26
26
  } from "./chunk-MEYIRKDN.js";
27
27
  import {
28
28
  fetchAndCacheMessages
29
- } from "./chunk-PILJX4DH.js";
29
+ } from "./chunk-ARFXKWJH.js";
30
30
  import {
31
31
  shouldUseServerProxy
32
32
  } from "./chunk-YYLHWIW6.js";
33
33
  import {
34
34
  fetchServerSyncedCredential
35
- } from "./chunk-TLBZMLLJ.js";
35
+ } from "./chunk-CVXDBLYH.js";
36
36
  import {
37
37
  buildSkillGuidancePromptBlock,
38
38
  extractRuntimePageCapabilities,
39
39
  resolveSkillGraphFromRoots
40
- } from "./chunk-P2I7ELDC.js";
40
+ } from "./chunk-2KO5QQFV.js";
41
41
  import {
42
42
  buildCurrentTimeBlock,
43
43
  buildIdentityBlock,
@@ -45,7 +45,7 @@ import {
45
45
  requiresBareImageUrl,
46
46
  resolveToolGuidedSections,
47
47
  toBareImageUrlMessages
48
- } from "./chunk-M3JQWYBC.js";
48
+ } from "./chunk-T2BZICLK.js";
49
49
  import {
50
50
  convertMessagesToResponsesInput,
51
51
  getUsageRequestOptions,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-AE5GVFMG.js";
4
+ } from "./chunk-FXZBSLFK.js";
5
5
 
6
6
  // packages/ai/agent/fetchAgentContexts.ts
7
7
  async function fetchAgentContexts(references, dispatch) {
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-KXKQO4Q6.js";
32
32
  import {
33
33
  createDocState
34
- } from "./chunk-Z7COG62J.js";
34
+ } from "./chunk-KR74XLMV.js";
35
35
  import {
36
36
  ToolApiError,
37
37
  buildToolRequestHeaders,
@@ -61,7 +61,7 @@ import {
61
61
  buildBuiltinObjectSkillDbKey,
62
62
  buildBuiltinObjectSkillPageContent,
63
63
  createDialogAction
64
- } from "./chunk-Y5W623XU.js";
64
+ } from "./chunk-NT3QRCVS.js";
65
65
  import {
66
66
  addCategory,
67
67
  addContentToSpace,
@@ -81,7 +81,7 @@ import {
81
81
  loadTableRows,
82
82
  updateContentCategory,
83
83
  updateContentTitle
84
- } from "./chunk-QI3CHZUT.js";
84
+ } from "./chunk-D72M3G32.js";
85
85
  import {
86
86
  normalizeAppRouteId,
87
87
  resolveDialogRuntimeAgentKey,
@@ -91,13 +91,13 @@ import {
91
91
  selectMsgById,
92
92
  uiAskChoiceFunc,
93
93
  uiAskChoiceFunctionSchema
94
- } from "./chunk-PILJX4DH.js";
94
+ } from "./chunk-ARFXKWJH.js";
95
95
  import {
96
96
  createAgent,
97
97
  runLlm,
98
98
  streamAgentChatTurn,
99
99
  updateAgent
100
- } from "./chunk-TLBZMLLJ.js";
100
+ } from "./chunk-CVXDBLYH.js";
101
101
  import {
102
102
  getActiveDialogKey,
103
103
  require_react,
@@ -110,7 +110,7 @@ import {
110
110
  buildCodingSkillContentBySlug,
111
111
  buildCodingSkillId,
112
112
  buildCodingSkillPageKey
113
- } from "./chunk-P2I7ELDC.js";
113
+ } from "./chunk-2KO5QQFV.js";
114
114
  import {
115
115
  CAPABILITY_PACKS
116
116
  } from "./chunk-IIOHYLIG.js";
@@ -121,7 +121,7 @@ import {
121
121
  parseExternalSkillMarkdown,
122
122
  parseSkillDocProtocol,
123
123
  resolvePageSkillMetadata
124
- } from "./chunk-EY7V7REW.js";
124
+ } from "./chunk-AETZ7AD6.js";
125
125
  import {
126
126
  NOLO_WORKSPACE_TOOL_NAMES,
127
127
  buildAgentRuntimeAgentLookupKeys,
@@ -15303,7 +15303,7 @@ async function deleteDialogsFunc(args, thunkApi) {
15303
15303
  const deletedDialogIds = [];
15304
15304
  const deletedDialogKeys = [];
15305
15305
  const failures = [];
15306
- const { deleteDialog } = await import("./dialogSlice-6BINHWQT.js");
15306
+ const { deleteDialog } = await import("./dialogSlice-YJV3AVFM.js");
15307
15307
  for (const target of targets) {
15308
15308
  try {
15309
15309
  await thunkApi.dispatch(deleteDialog(target.dbKey)).unwrap();
@@ -24850,7 +24850,7 @@ var executeToolRun = createAsyncThunk(
24850
24850
  if (!executionInput) {
24851
24851
  throw new Error(`ToolRun ${id} has no input to execute with.`);
24852
24852
  }
24853
- const { findToolExecutor: findToolExecutor2 } = await import("./tools-ZELMSJZ3.js");
24853
+ const { findToolExecutor: findToolExecutor2 } = await import("./tools-KQXDW66A.js");
24854
24854
  const { executor } = findToolExecutor2(run.toolName);
24855
24855
  toolRunStarted({
24856
24856
  id: run.id,
@@ -24874,7 +24874,7 @@ var executeToolRun = createAsyncThunk(
24874
24874
  const latestState = thunkApi.getState();
24875
24875
  const userId = latestState.auth?.currentUser?.userId;
24876
24876
  if (userId) {
24877
- const { fetchUserSpaceMemberships } = await import("./spaceSlice-Z3BGCLGX.js");
24877
+ const { fetchUserSpaceMemberships } = await import("./spaceSlice-ZKUZSVYD.js");
24878
24878
  await thunkApi.dispatch(fetchUserSpaceMemberships(userId));
24879
24879
  }
24880
24880
  }
@@ -27357,7 +27357,7 @@ async function updateDocFunc(args, thunkApi) {
27357
27357
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
27358
27358
  };
27359
27359
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
27360
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-SIUFLABN.js");
27360
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-JOODSWDW.js");
27361
27361
  if (getDocState().pageKey === id) {
27362
27362
  applyExternalDocUpdate({
27363
27363
  slateData: finalSlateData,