nolo-cli 0.47.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/{_executeModel-Q4NLKUPH.js → _executeModel-36GKPAEZ.js} +25 -25
  2. package/{action-FLLC2SIX.js → action-IU6ON7ZB.js} +4 -4
  3. package/{addContentAction-SVSPUUK4.js → addContentAction-5V5CCI3I.js} +3 -3
  4. package/{addDialogAgentAction-W3JGU4F7.js → addDialogAgentAction-KF3KZZNZ.js} +2 -2
  5. package/{agentDeleteCommand-6MHA67Q2.js → agentDeleteCommand-SBODEUPE.js} +12 -12
  6. package/{agentEmailCommands-L3XZ237J.js → agentEmailCommands-ME7BCY5S.js} +30 -30
  7. package/{agentListCommands-6PIBJFKH.js → agentListCommands-QBWPKN5D.js} +12 -12
  8. package/{agentMachineCommands-POTNZ57E.js → agentMachineCommands-KFFUPELZ.js} +13 -13
  9. package/{agentRecordCommands-IMRKLUIK.js → agentRecordCommands-4BF6JIHS.js} +29 -29
  10. package/{agentRunCommand-LFZCDJLJ.js → agentRunCommand-4MA7D6SV.js} +29 -29
  11. package/{agentRuntimeLocal-BVUV26QD.js → agentRuntimeLocal-RD52NPCG.js} +12 -12
  12. package/{agentSlice-CIN6FY6Z.js → agentSlice-AJABGQHU.js} +3 -3
  13. package/{appDeleteCommands-QZBYALTD.js → appDeleteCommands-I42NL3LP.js} +14 -14
  14. package/{appDeployCommands-UDUJPOBN.js → appDeployCommands-CZWHXVPU.js} +14 -14
  15. package/{appDeployStatusCommands-P2ZTUCDR.js → appDeployStatusCommands-PIQYXACM.js} +14 -14
  16. package/{appGetCommands-346YWTIX.js → appGetCommands-CI2OWLT7.js} +14 -14
  17. package/{appListCommands-ML7PAZXO.js → appListCommands-LWLSHPCP.js} +14 -14
  18. package/{authCommand-7A4LJ7RD.js → authCommand-WLWOEVYI.js} +6 -6
  19. package/{chatQueueReduxAdapter-46OTJS77.js → chatQueueReduxAdapter-V37RK3A6.js} +11 -11
  20. package/{chunk-Z5NW3O7V.js → chunk-2JYSSXLY.js} +8 -0
  21. package/{chunk-D45NILIX.js → chunk-3YVCM5PE.js} +1 -1
  22. package/{chunk-3EEK7T3D.js → chunk-4RXXP6WD.js} +1 -1
  23. package/{chunk-UYWXQCPH.js → chunk-4ZL2KBI7.js} +1 -1
  24. package/{chunk-UL3AIGAQ.js → chunk-5SLTA66C.js} +22 -22
  25. package/{chunk-FJHLA6SX.js → chunk-5XCW6RQG.js} +1 -1
  26. package/{chunk-FTGZTG2J.js → chunk-67Q6IHM5.js} +184 -50
  27. package/{chunk-WVGEBWA6.js → chunk-76UA7376.js} +3 -3
  28. package/{chunk-YB7675WX.js → chunk-AV4Z57LV.js} +3 -1
  29. package/{chunk-K3HS5RNN.js → chunk-AZ6DT2UD.js} +1 -1
  30. package/{chunk-LFLWZX76.js → chunk-B54WOZ77.js} +1 -1
  31. package/{chunk-UX4WJK6W.js → chunk-BO3YFOZR.js} +10 -1
  32. package/{chunk-H3YNPYSN.js → chunk-CY5KIIPU.js} +10 -10
  33. package/{chunk-QPIMHSA5.js → chunk-DFY6O64O.js} +8 -8
  34. package/{chunk-MKZRKDQM.js → chunk-DIQCV4FR.js} +1 -1
  35. package/{chunk-V5LQH25J.js → chunk-F22JQTSX.js} +2 -2
  36. package/{chunk-U72222TN.js → chunk-H5QLIP6S.js} +1 -1
  37. package/{chunk-2X5S4IBZ.js → chunk-HCBQVVFZ.js} +1 -1
  38. package/{chunk-GK74OOFT.js → chunk-HR5XDXYM.js} +2 -2
  39. package/{chunk-CKCHKUQZ.js → chunk-IVKEJD7I.js} +1 -1
  40. package/{chunk-2PGAWTDB.js → chunk-JBL24PK6.js} +1 -1
  41. package/{chunk-BEDKTILE.js → chunk-JVKFKKYN.js} +1 -1
  42. package/{chunk-EK6J2BLB.js → chunk-KOZ2G3ZG.js} +4 -4
  43. package/{chunk-HMMOAG2I.js → chunk-OZKJBDG4.js} +6 -3
  44. package/{chunk-6DYGT4IA.js → chunk-PGKZ2KGE.js} +20 -20
  45. package/{chunk-KZCDMZ6M.js → chunk-PJASTA2U.js} +3 -3
  46. package/{chunk-OTYXCO4M.js → chunk-POLE2QLO.js} +26 -21
  47. package/{chunk-QKF5I66W.js → chunk-QF27IZB3.js} +3 -3
  48. package/{chunk-D57WA7W3.js → chunk-QTH72J3N.js} +6 -6
  49. package/{chunk-AYXSUBVC.js → chunk-RO2IUWZE.js} +1 -1
  50. package/{chunk-HAPCUPEO.js → chunk-SG65C33A.js} +2 -2
  51. package/{chunk-HGDOIDQ4.js → chunk-SQTVMYMU.js} +1 -1
  52. package/{chunk-5Z7NTYAZ.js → chunk-TZRB2I2M.js} +14 -13
  53. package/{chunk-4UOFNBUR.js → chunk-VKSBVRGP.js} +1 -1
  54. package/{chunk-E5HKZ4TR.js → chunk-W3RZLXMA.js} +1 -1
  55. package/{chunk-EMEUU5IY.js → chunk-X7S7OFUX.js} +2 -2
  56. package/{chunk-IGQMIZ5L.js → chunk-XB7ACJFH.js} +2 -2
  57. package/{chunk-XY3V7K4L.js → chunk-XPW6JLOB.js} +22 -4
  58. package/{createAgentAutomationAction-OFRNHZWC.js → createAgentAutomationAction-5OZIWOK4.js} +12 -12
  59. package/{createDialogAction-2FF2JSWP.js → createDialogAction-334CHPJF.js} +13 -13
  60. package/{createPageAction-6MTVIU3J.js → createPageAction-LXY22WTA.js} +12 -12
  61. package/{dbSlice-XWUM4QOF.js → dbSlice-FWF5F4L7.js} +2 -2
  62. package/{dialogCommands-MMLBXSBC.js → dialogCommands-4MGUHAJI.js} +12 -12
  63. package/{dialogSlice-MONRO6AH.js → dialogSlice-76W7S3C4.js} +11 -11
  64. package/{docCreateCommands-K53AHACN.js → docCreateCommands-346W5443.js} +13 -13
  65. package/{docDeleteCommands-MJVGF67W.js → docDeleteCommands-FKEEPUUS.js} +13 -13
  66. package/{docReadCommands-VWNRVF6W.js → docReadCommands-AACI4DVO.js} +13 -13
  67. package/{docStore-A3UWWGMV.js → docStore-N7QTPHAX.js} +13 -13
  68. package/{docUpdateCommands-QUDD5TUR.js → docUpdateCommands-WHWVZ2XE.js} +13 -13
  69. package/{getPricing-AQ5MSXFO.js → getPricing-JNOCWYDH.js} +2 -2
  70. package/{handleSendMessageAction-6TQ7JM5X.js → handleSendMessageAction-EAXEX5AX.js} +11 -11
  71. package/index.js +47 -47
  72. package/{machineCommands-W7QEV6Q6.js → machineCommands-XNWLQVTN.js} +29 -29
  73. package/{machineWsRunDispatch-5P6X4WMI.js → machineWsRunDispatch-56HWQ67L.js} +29 -29
  74. package/package.json +1 -1
  75. package/{read-DQQ75VI3.js → read-J7RVVCHH.js} +1 -1
  76. package/{readDocTool-HCQQFAZD.js → readDocTool-G2WBM4IH.js} +1 -1
  77. package/{readlineWorkspace-PPPF6OCO.js → readlineWorkspace-AXTB7DJC.js} +142 -93
  78. package/{removeDialogAgentAction-DNONRKST.js → removeDialogAgentAction-RMPISD42.js} +4 -4
  79. package/{runAgentClientLoop-YBZTAE2J.js → runAgentClientLoop-PU3R3UXA.js} +23 -23
  80. package/{setDialogExtraReferencesAction-ERHUPT3F.js → setDialogExtraReferencesAction-7BUTHDAL.js} +3 -3
  81. package/{setPrimaryDialogAgentAction-6C2HYNEC.js → setPrimaryDialogAgentAction-WCYIBGZ4.js} +4 -4
  82. package/{settingSlice-YVRJFKQX.js → settingSlice-7NN2MI6Y.js} +3 -3
  83. package/{spaceCommands-FDZ4P33G.js → spaceCommands-JYI3X4N2.js} +12 -12
  84. package/{spaceSlice-NTZBL55S.js → spaceSlice-ERZ3RGWC.js} +12 -12
  85. package/{streamAgentChatTurn-N56LGQG4.js → streamAgentChatTurn-2IH4MTQC.js} +27 -27
  86. package/{switchDialogAgentAction-HP57XYFP.js → switchDialogAgentAction-WGMMQHDI.js} +2 -2
  87. package/{tools-GROQHVCL.js → tools-DJUTQEMP.js} +18 -18
  88. package/{tuiSummaryLlmCaller-32XPVSRB.js → tuiSummaryLlmCaller-U4EGD2SX.js} +8 -8
  89. package/{updateDialogTitleAction-WYAVJPLS.js → updateDialogTitleAction-OVOPGTC3.js} +12 -12
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-A7GB5UGH.js";
14
14
  import {
15
15
  createSpaceKey
16
- } from "./chunk-3EEK7T3D.js";
16
+ } from "./chunk-4RXXP6WD.js";
17
17
  import {
18
18
  asTrimmedLowercaseString
19
19
  } from "./chunk-QSJ3HFEF.js";
@@ -305,7 +305,16 @@ var xaiModels = [
305
305
  displayName: "Grok 4.6",
306
306
  hasVision: true,
307
307
  contextWindow: 5e5,
308
- price: { input: 16, output: 48 },
308
+ price: { input: 16, output: 48, inputCacheHit: 4 },
309
+ pricingStrategy: {
310
+ type: "tiered_context",
311
+ tiers: [
312
+ {
313
+ minContext: 200001,
314
+ price: { input: 32, output: 96, inputCacheHit: 8 }
315
+ }
316
+ ]
317
+ },
309
318
  fnCall: true,
310
319
  jsonOutput: true
311
320
  }
@@ -5,14 +5,14 @@ import {
5
5
  inlineImageUrlsForCustomProvider,
6
6
  prepareTools,
7
7
  shouldInlineImageUrlsForAgent
8
- } from "./chunk-U72222TN.js";
8
+ } from "./chunk-H5QLIP6S.js";
9
9
  import {
10
10
  INVALID_TOOL_ARGS_REPLACEMENT,
11
11
  buildInvalidToolCallSelfHealResult,
12
12
  parseToolCallArguments,
13
13
  performFetchRequest,
14
14
  sanitizeOutboundMessages
15
- } from "./chunk-5Z7NTYAZ.js";
15
+ } from "./chunk-TZRB2I2M.js";
16
16
  import {
17
17
  createSSEParser,
18
18
  createToolRunId,
@@ -23,22 +23,22 @@ import {
23
23
  toolRunSetPending,
24
24
  toolRunStarted,
25
25
  toolRunSucceeded
26
- } from "./chunk-UL3AIGAQ.js";
26
+ } from "./chunk-5SLTA66C.js";
27
27
  import {
28
28
  getPublicImageAgentMode
29
29
  } from "./chunk-VIDPVFP3.js";
30
30
  import {
31
31
  getCurrentSpaceId
32
- } from "./chunk-QPIMHSA5.js";
32
+ } from "./chunk-DFY6O64O.js";
33
33
  import {
34
34
  addToolMessage,
35
35
  messageStreamEnd,
36
36
  messageStreaming,
37
37
  updateToolMessage
38
- } from "./chunk-6DYGT4IA.js";
38
+ } from "./chunk-PGKZ2KGE.js";
39
39
  import {
40
40
  streamAgentChatTurn
41
- } from "./chunk-EK6J2BLB.js";
41
+ } from "./chunk-KOZ2G3ZG.js";
42
42
  import {
43
43
  addActiveController,
44
44
  removeActiveController,
@@ -56,19 +56,19 @@ import {
56
56
  import {
57
57
  EMPTY_ASSISTANT_REPAIR_PROMPT,
58
58
  getModelInfo
59
- } from "./chunk-V5LQH25J.js";
59
+ } from "./chunk-F22JQTSX.js";
60
60
  import {
61
61
  getApiEndpoint
62
- } from "./chunk-UX4WJK6W.js";
62
+ } from "./chunk-BO3YFOZR.js";
63
63
  import {
64
64
  toErrorMessage
65
65
  } from "./chunk-HNMXYYJR.js";
66
66
  import {
67
67
  selectCurrentServer
68
- } from "./chunk-EMEUU5IY.js";
68
+ } from "./chunk-X7S7OFUX.js";
69
69
  import {
70
70
  write
71
- } from "./chunk-WVGEBWA6.js";
71
+ } from "./chunk-76UA7376.js";
72
72
  import {
73
73
  createDialogMessageKeyAndId,
74
74
  dialogMessageKey,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  deleteDialog,
3
3
  toast
4
- } from "./chunk-6DYGT4IA.js";
4
+ } from "./chunk-PGKZ2KGE.js";
5
5
  import {
6
6
  deleteServerSyncedCredential
7
- } from "./chunk-EK6J2BLB.js";
7
+ } from "./chunk-KOZ2G3ZG.js";
8
8
  import {
9
9
  require_date_fns
10
10
  } from "./chunk-M76ECQRD.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-HNMXYYJR.js";
20
20
  import {
21
21
  isSystemAdmin
22
- } from "./chunk-EMEUU5IY.js";
22
+ } from "./chunk-X7S7OFUX.js";
23
23
  import {
24
24
  asRecordOrEmpty
25
25
  } from "./chunk-KX6YBIHG.js";
@@ -30,7 +30,7 @@ import {
30
30
  createSpaceKey,
31
31
  localSpaceAuthorityPatchStamp,
32
32
  normalizeSpaceId
33
- } from "./chunk-3EEK7T3D.js";
33
+ } from "./chunk-4RXXP6WD.js";
34
34
  import {
35
35
  patch,
36
36
  read,
@@ -43,7 +43,7 @@ import {
43
43
  uploadFileAction,
44
44
  upsertSSREntity,
45
45
  write
46
- } from "./chunk-WVGEBWA6.js";
46
+ } from "./chunk-76UA7376.js";
47
47
  import {
48
48
  DB_PREFIX,
49
49
  SEPARATOR,
@@ -72,7 +72,7 @@ import {
72
72
  } from "./chunk-I42VC5KR.js";
73
73
  import {
74
74
  readAction
75
- } from "./chunk-Z5NW3O7V.js";
75
+ } from "./chunk-2JYSSXLY.js";
76
76
  import {
77
77
  extractUserId
78
78
  } from "./chunk-BJIRLHJR.js";
@@ -7053,7 +7053,7 @@ var fetchSpaceAction = async (input, thunkAPI) => {
7053
7053
  const spaceKey = createSpaceKey.space(spaceId);
7054
7054
  const readSpace = async (dbKey) => {
7055
7055
  try {
7056
- const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-XWUM4QOF.js");
7056
+ const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-FWF5F4L7.js");
7057
7057
  if (fresh) {
7058
7058
  return await dispatch(readAndWait2(dbKey)).unwrap();
7059
7059
  }
@@ -7467,7 +7467,7 @@ var spaceSlice = createSliceWithThunks2({
7467
7467
  markDialogRead: create.asyncThunk(
7468
7468
  async (payload, thunkAPI) => {
7469
7469
  if (payload.dialogKey) {
7470
- const { patch: patch2 } = await import("./dbSlice-XWUM4QOF.js");
7470
+ const { patch: patch2 } = await import("./dbSlice-FWF5F4L7.js");
7471
7471
  try {
7472
7472
  await thunkAPI.dispatch(
7473
7473
  patch2({ dbKey: payload.dialogKey, changes: { unreadAt: null } })
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  requireTokenUser
3
- } from "./chunk-LFLWZX76.js";
3
+ } from "./chunk-B54WOZ77.js";
4
4
  import {
5
5
  resolveServerUrl
6
6
  } from "./chunk-A7GB5UGH.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  MODEL_LOOKUP_MAP
3
- } from "./chunk-UX4WJK6W.js";
3
+ } from "./chunk-BO3YFOZR.js";
4
4
  import {
5
5
  ALL_MODELS
6
6
  } from "./chunk-Y7TGWSUN.js";
7
7
  import {
8
8
  PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY
9
- } from "./chunk-Z5NW3O7V.js";
9
+ } from "./chunk-2JYSSXLY.js";
10
10
 
11
11
  // packages/ai/llm/getModelContextWindow.ts
12
12
  var DEFAULT_CONTEXT_WINDOW = 256e3;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-UL3AIGAQ.js";
4
+ } from "./chunk-5SLTA66C.js";
5
5
  import {
6
6
  canonicalizeToolNames
7
7
  } from "./chunk-O6OSWFZQ.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  patch,
9
9
  selectById
10
- } from "./chunk-WVGEBWA6.js";
10
+ } from "./chunk-76UA7376.js";
11
11
  import {
12
12
  __toESM
13
13
  } from "./chunk-4VNS5WPM.js";
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-DWLEOOGR.js";
4
4
  import {
5
5
  addContentAction
6
- } from "./chunk-3EEK7T3D.js";
6
+ } from "./chunk-4RXXP6WD.js";
7
7
  import {
8
8
  upload
9
- } from "./chunk-WVGEBWA6.js";
9
+ } from "./chunk-76UA7376.js";
10
10
  import {
11
11
  getRuntimeServerContext
12
12
  } from "./chunk-HHBXCRJS.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-OTYXCO4M.js";
3
+ } from "./chunk-POLE2QLO.js";
4
4
  import {
5
5
  getReadableCliDb
6
6
  } from "./chunk-43CXXVJD.js";
@@ -3,7 +3,7 @@ import {
3
3
  resolvePlatformChatCompletionsEndpoint,
4
4
  resolvePlatformHostedCredentialProvider,
5
5
  resolvePlatformResponsesEndpoint
6
- } from "./chunk-YB7675WX.js";
6
+ } from "./chunk-AV4Z57LV.js";
7
7
  import {
8
8
  CLIENT_VERSION_TOO_OLD_CODE,
9
9
  buildClientVersionGateErrorDetail,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-5Z7NTYAZ.js";
4
+ } from "./chunk-TZRB2I2M.js";
5
5
 
6
6
  // packages/ai/agent/fetchAgentContexts.ts
7
7
  async function fetchAgentContexts(references, dispatch) {
@@ -11,7 +11,7 @@ import {
11
11
  patch,
12
12
  remove,
13
13
  write
14
- } from "./chunk-WVGEBWA6.js";
14
+ } from "./chunk-76UA7376.js";
15
15
  import {
16
16
  createAgentKey,
17
17
  toTrimmedString
@@ -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-Q4NLKUPH.js");
307
+ const { _executeModel } = await import("./_executeModel-36GKPAEZ.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-YBZTAE2J.js");
328
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-PU3R3UXA.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-N56LGQG4.js");
344
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-2IH4MTQC.js");
345
345
  return streamAgentChatTurnHandler(args, thunkApi);
346
346
  }),
347
347
  /**
@@ -156,9 +156,11 @@ var MENU_USAGE_INSTRUCTIONS = `--- \u4EA4\u4E92\u8BF4\u660E ---
156
156
  \u6240\u6709\u7528\u6237\u8F93\u5165\u5747\u4E3A\u7EAF\u6587\u672C\u6D88\u606F\uFF0C\u76F4\u63A5\u7406\u89E3\u5373\u53EF\uFF0C\u4E0D\u8981\u5728\u56DE\u590D\u4E2D\u63D0\u53CA\u6309\u94AE\u3001\u83DC\u5355\u3001\u754C\u9762\u7B49 UI \u5143\u7D20\u3002
157
157
 
158
158
  ## \u4F55\u65F6\u8C03\u7528 ask_user
159
- \u9ED8\u8BA4\u76F4\u63A5\u884C\u52A8\uFF1A\u80FD\u57FA\u4E8E\u73B0\u6709\u4E0A\u4E0B\u6587\u7ED9\u51FA\u9AD8\u8D28\u91CF\u7B54\u6848\u65F6\u5C31\u76F4\u63A5\u505A\uFF0C\u4E0D\u8981\u4E3A\u4E86\u95EE\u800C\u95EE\u3002\u5224\u636E\u662F**\u7528\u6237\u662F\u5426\u9700\u8981\u4E3A\u8FD9\u4E2A\u9009\u62E9\u627F\u62C5\u540E\u679C**\uFF08\u82B1\u94B1\u3001\u6CC4\u9732\u6570\u636E\u3001\u52A8\u7EBF\u4E0A\u3001\u4E0D\u53EF\u56DE\u6EDA\uFF1B\u6216\u8BE5\u9009\u62E9\u7EAF\u5C5E\u4E2A\u4EBA\u53E3\u5473\u3001\u65E0\u4ECE\u63A8\u65AD\uFF09\uFF0C\u800C\u4E0D\u662F"\u8FD9\u4E2A\u9009\u62E9\u4F1A\u4E0D\u4F1A\u5F71\u54CD\u540E\u7EED\u8D70\u5411"\u3002\u4EC5\u4E09\u79CD\u60C5\u51B5\u8C03\u7528\uFF1A1\uFF09\u9700\u6C42\u5BBD\u6CDB\u6216\u6A21\u7CCA\uFF0C\u7ED9\u51FA 2\uFF5E5 \u4E2A\u4E92\u65A5\u4E14\u90FD\u5408\u7406\u7684\u65B9\u5411\u8BA9\u7528\u6237\u5148\u9009\uFF1B2\uFF09\u5206\u53C9\u7684\u540E\u679C\u7531\u7528\u6237\u627F\u62C5\u4E14\u65E0\u6CD5\u4ECE\u4E0A\u4E0B\u6587\u63A8\u65AD\u5176\u504F\u597D\uFF1B3\uFF09\u65B0\u4F1A\u8BDD\u5F00\u5934\u9700\u8981\u6309\u7528\u6237\u753B\u50CF\u505A\u529F\u80FD\u5BFC\u822A\u6216\u5F15\u5BFC\u3002
159
+ \u9ED8\u8BA4\u76F4\u63A5\u884C\u52A8\uFF08\u65E5\u5E38\u5C0F\u4E8B\uFF09\uFF1A\u95EE\u7B54\u3001\u5355\u6587\u4EF6\u5C0F\u6539\u3001\u6267\u884C\u987A\u5E8F/\u8DEF\u5F84\u9009\u62E9\u7B49\u80FD\u57FA\u4E8E\u73B0\u6709\u4E0A\u4E0B\u6587\u7ED9\u51FA\u9AD8\u8D28\u91CF\u7B54\u6848\u7684\u65E5\u5E38\u5C0F\u4E8B\uFF0C\u76F4\u63A5\u505A\uFF0C\u4E0D\u8981\u4E3A\u4E86\u95EE\u800C\u95EE\u3002\u5224\u636E\u662F**\u7528\u6237\u662F\u5426\u9700\u8981\u4E3A\u8FD9\u4E2A\u9009\u62E9\u627F\u62C5\u540E\u679C**\uFF08\u82B1\u94B1\u3001\u6CC4\u9732\u6570\u636E\u3001\u52A8\u7EBF\u4E0A\u3001\u4E0D\u53EF\u56DE\u6EDA\uFF1B\u6216\u8BE5\u9009\u62E9\u7EAF\u5C5E\u4E2A\u4EBA\u53E3\u5473\u3001\u65E0\u4ECE\u63A8\u65AD\uFF09\uFF0C\u800C\u4E0D\u662F"\u8FD9\u4E2A\u9009\u62E9\u4F1A\u4E0D\u4F1A\u5F71\u54CD\u540E\u7EED\u8D70\u5411"\u3002\u4EC5\u4E09\u79CD\u60C5\u51B5\u8C03\u7528\uFF1A1\uFF09\u9700\u6C42\u5BBD\u6CDB\u6216\u6A21\u7CCA\uFF0C\u7ED9\u51FA 2\uFF5E5 \u4E2A\u4E92\u65A5\u4E14\u90FD\u5408\u7406\u7684\u65B9\u5411\u8BA9\u7528\u6237\u5148\u9009\uFF1B2\uFF09\u5206\u53C9\u7684\u540E\u679C\u7531\u7528\u6237\u627F\u62C5\u4E14\u65E0\u6CD5\u4ECE\u4E0A\u4E0B\u6587\u63A8\u65AD\u5176\u504F\u597D\uFF1B3\uFF09\u65B0\u4F1A\u8BDD\u5F00\u5934\u9700\u8981\u6309\u7528\u6237\u753B\u50CF\u505A\u529F\u80FD\u5BFC\u822A\u6216\u5F15\u5BFC\u3002
160
160
 
161
- \u4E0D\u8981\u95EE\u7684\uFF08\u5C5E\u4E8E\u4F60\u7684\u804C\u8D23\uFF0C\u95EE\u51FA\u6765\u662F\u628A\u672C\u8BE5\u4F60\u505A\u7684\u5224\u65AD\u63A8\u7ED9\u7528\u6237\uFF09\uFF1A\u5148\u505A\u54EA\u4E2A\u4EFB\u52A1\u3001\u6309\u4EC0\u4E48\u987A\u5E8F\u63A8\u8FDB\u3001\u8981\u4E0D\u8981\u987A\u624B\u4FEE\u67D0\u5904\u3001\u65E5\u5E38\u5B9E\u73B0\u7EC6\u8282\u7528\u54EA\u79CD\u5199\u6CD5\u3001\u8981\u4E0D\u8981\u518D\u68C0\u67E5\u4E00\u904D\u3002\u8FD9\u4E9B\u81EA\u5DF1\u5B9A\uFF0C\u505A\u5B8C\u5728\u56DE\u590D\u91CC\u8BF4\u660E\u7406\u7531\u5373\u53EF\u3002\u6CE8\u610F\u533A\u5206\uFF1A\u67B6\u6784\u9009\u578B\u3001\u6280\u672F\u6808\u3001\u6570\u636E\u5B58\u50A8\u65B9\u6848\u7B49\u957F\u671F\u4E14\u96BE\u56DE\u6EDA\u7684\u6280\u672F\u51B3\u7B56\u4E0D\u5728\u6B64\u5217\u2014\u2014\u5B83\u4EEC\u7684\u540E\u679C\u7531\u7528\u6237\u627F\u62C5\uFF0C\u6309\u4E0A\u8FF0\u7B2C 2 \u6761\u8BE5\u95EE\u5C31\u95EE\u3002\u7528\u6237\u76EE\u6807\u5DF2\u5177\u4F53\u6E05\u6670\u65F6\uFF0C\u5373\u4FBF\u5F62\u5F0F\u4E0A\u6EE1\u8DB3\u524D\u8FF0\u4E09\u79CD\u60C5\u51B5\u4E5F\u4F18\u5148\u76F4\u63A5\u56DE\u7B54\uFF0C\u4E0D\u5F3A\u884C\u5F39\u83DC\u5355\uFF1B\u5C31\u540C\u4E00\u4EF6\u4E8B\u7B2C\u4E8C\u6B21\u5F39\u83DC\u5355\u524D\uFF0C\u5148\u81EA\u68C0\u5224\u636E\u662F\u4E0D\u662F\u7528\u9519\u4E86\u3002
161
+ \u89C4\u6A21\u5316\u5F00\u5DE5\u5148\u786E\u8BA4\uFF1A\u4EFB\u52A1\u89C4\u6A21\u8D85\u51FA\u65E5\u5E38\u5C0F\u4E8B\uFF08\u9884\u8BA1\u4FEE\u6539 \u22653 \u4E2A\u6587\u4EF6\u3001\u65B0\u589E\u5B8C\u6574\u529F\u80FD/\u5DE5\u4F5C\u6D41\u3001\u957F\u65F6\u8FD0\u884C\u4EFB\u52A1\u3001\u4EA7\u51FA\u6B63\u5F0F\u4EA4\u4ED8\u7269\uFF09\u4E14\u7528\u6237\u53EA\u7528\u4E00\u4E24\u53E5\u8BDD\u5E26\u8FC7\u9700\u6C42\u65F6\uFF0C\u5148\u7ED9\u4E00\u6BB5\u7B80\u77ED\u8BA1\u5212\uFF08\u505A\u4EC0\u4E48 / \u4E0D\u505A\u4EC0\u4E48 / \u4EA4\u4ED8\u4EC0\u4E48\uFF09\u7B49\u7528\u6237\u786E\u8BA4\uFF0C\u6216\u7528 ask_user \u7ED9\u51FA\u65B9\u6848\u9009\u9879\u3002\u5B81\u53EF\u5F00\u5DE5\u524D\u591A\u82B1\u4E00\u8F6E\u786E\u8BA4\uFF0C\u4E0D\u8981\u4EA4\u4ED8\u540E\u8FD4\u5DE5\u3002
162
+
163
+ \u4E0D\u8981\u95EE\u7684\uFF08\u5C5E\u4E8E\u4F60\u7684\u804C\u8D23\uFF0C\u95EE\u51FA\u6765\u662F\u628A\u672C\u8BE5\u4F60\u505A\u7684\u5224\u65AD\u63A8\u7ED9\u7528\u6237\uFF09\uFF1A\u5148\u505A\u54EA\u4E2A\u4EFB\u52A1\u3001\u6309\u4EC0\u4E48\u987A\u5E8F\u63A8\u8FDB\u3001\u8981\u4E0D\u8981\u987A\u624B\u4FEE\u67D0\u5904\u3001\u65E5\u5E38\u5B9E\u73B0\u7EC6\u8282\u7528\u54EA\u79CD\u5199\u6CD5\u3001\u8981\u4E0D\u8981\u518D\u68C0\u67E5\u4E00\u904D\u3002\u8FD9\u4E9B\u81EA\u5DF1\u5B9A\uFF0C\u505A\u5B8C\u5728\u56DE\u590D\u91CC\u8BF4\u660E\u7406\u7531\u5373\u53EF\u3002\u8FB9\u754C\uFF1A\u4E0A\u9762\u8FD9\u4E9B\uFF08\u5148\u505A\u54EA\u4E2A\u4EFB\u52A1\u3001\u6309\u4EC0\u4E48\u987A\u5E8F\u63A8\u8FDB\u7B49\uFF09\u5C5E\u4E8E\u987A\u5E8F\u4E0E\u8DEF\u5F84\u9009\u62E9\uFF0C\u81EA\u5B9A\u5373\u53EF\uFF1B**\u4EA4\u4ED8\u8303\u56F4\uFF08\u505A\u4EC0\u4E48\u3001\u505A\u5230\u4EC0\u4E48\u7A0B\u5EA6\u3001\u4EA4\u4ED8\u4EC0\u4E48\u4EA7\u7269\uFF09\u4E0D\u5C5E\u6B64\u7C7B**\u2014\u2014\u8303\u56F4\u6A21\u7CCA\u65F6\u8BE5\u95EE\u5C31\u95EE\u3002\u6CE8\u610F\u533A\u5206\uFF1A\u67B6\u6784\u9009\u578B\u3001\u6280\u672F\u6808\u3001\u6570\u636E\u5B58\u50A8\u65B9\u6848\u7B49\u957F\u671F\u4E14\u96BE\u56DE\u6EDA\u7684\u6280\u672F\u51B3\u7B56\u4E0D\u5728\u6B64\u5217\u2014\u2014\u5B83\u4EEC\u7684\u540E\u679C\u7531\u7528\u6237\u627F\u62C5\uFF0C\u6309\u4E0A\u8FF0\u7B2C 2 \u6761\u8BE5\u95EE\u5C31\u95EE\u3002\u7528\u6237\u76EE\u6807\u5DF2\u5177\u4F53\u6E05\u6670\u65F6\uFF0C\u5373\u4FBF\u5F62\u5F0F\u4E0A\u6EE1\u8DB3\u524D\u8FF0\u4E09\u79CD\u60C5\u51B5\u4E5F\u4F18\u5148\u76F4\u63A5\u56DE\u7B54\uFF0C\u4E0D\u5F3A\u884C\u5F39\u83DC\u5355\uFF1B\u5C31\u540C\u4E00\u4EF6\u4E8B\u7B2C\u4E8C\u6B21\u5F39\u83DC\u5355\u524D\uFF0C\u5148\u81EA\u68C0\u5224\u636E\u662F\u4E0D\u662F\u7528\u9519\u4E86\u3002
162
164
 
163
165
  ## \u8C03\u7528\u89C4\u8303
164
166
  - \u5148\u5728\u666E\u901A\u56DE\u590D\u6587\u672C\u91CC\u5199\u6E05\u80CC\u666F\u3001\u7406\u7531\u4E0E\u6743\u8861\u518D\u8C03\u7528\u5DE5\u5177\uFF1B\u65E0\u660E\u786E\u63A8\u8350\u9879\u65F6\uFF0C\u5FC5\u987B\u9010\u4E2A\u7B80\u8FF0\u9009\u9879\u4F18\u7F3A\u70B9\u5E2E\u52A9\u6743\u8861\uFF1B
@@ -203,8 +205,9 @@ ${AGENT_SELECTION_PRIORITY_INSTRUCTIONS}
203
205
 
204
206
  **\u72EC\u7ACB\u5BA1\u67E5\uFF08commit \u524D\u786C\u95E8\uFF09**\uFF1A\u9664 \u22642 \u6B65\u96F6\u903B\u8F91\u98CE\u9669\u7684\u673A\u68B0\u6539\u52A8\u5916\uFF0C\u6240\u6709\u4EE3\u7801\u53D8\u66F4 commit \u524D\u5FC5\u987B\u5148\u6D3E**\u5176\u4ED6 agent**\uFF08\u4E0D\u540C\u6A21\u578B\u5BB6\u65CF\u4F18\u5148\uFF09review\uFF0Creviewer \u4E0D\u53EF\u662F\u672C\u6B21\u6539\u52A8\u7684\u4F5C\u8005\uFF08\u7F16\u6392\u8005\u4EE5\u81EA\u8EAB agent \u8EAB\u4EFD\u6D3E\u51FA\u7684\u5168\u65B0\u5B9E\u4F8B\u4E0D\u5171\u4EAB\u7F16\u6392\u8005\u4E0A\u4E0B\u6587\uFF0C\u4E0E\u4F5C\u8005\u8DE8\u6A21\u578B\u5BB6\u65CF\u65F6\u4E0D\u7B97\u300C\u81EA\u5DF1\u300D\uFF09\uFF1B\u5168\u90E8\u8DE8\u5BB6\u65CF\u901A\u9053\u4E0D\u53EF\u7528\u65F6\uFF0C\u540C\u6A21\u578B\u5BB6\u65CF\u7684\u6D3E\u53D1\u65B0\u5B9E\u4F8B\uFF08\u4E0A\u4E0B\u6587\u4ECD\u9694\u79BB\uFF09\u7ECF owner \u6388\u6743\u53EF\u4F5C\u964D\u7EA7 reviewer\uFF0Ctrailer \u6CE8\u660E\u5B9E\u9645\u5BA1\u67E5\u8005\u4E0E\u539F\u56E0\uFF1B\u65E0 review \u4E0D commit\u3002\u81EA\u52A8\u5FAA\u73AF\uFF1A\u6539\u5B8C \u2192 startAgentRun(ephemeral:true) \u6D3E reviewer \u5BA1 diff \u2192 \u6709 finding \u5219\u4FEE \u2192 \u590D\u5BA1\u76F4\u5230 APPROVE\uFF08\u65E0 CRITICAL/HIGH\uFF09\u624D\u63D0\u4EA4\uFF1BBLOCK \u5FC5\u4FEE\u3001WARNING \u62A5\u7528\u6237\u3002review \u8BC1\u636E\u786C\u95E8\uFF1A\u4EC5\u5F53 reviewer \u8FD4\u56DE\u53EF\u8BFB\u7684\u6700\u7EC8\u6587\u672C\u4E14\u660E\u786E\u542B APPROVE\u3001\u65E0 CRITICAL/HIGH \u624D\u7B97\u901A\u8FC7\uFF1Bdone\u3001exit 0\u3001\u7A7A dialog\u3001messagesCount=0\u3001agentReply=null\u3001\u8D85\u65F6\u5747\u89C6\u4E3A\u672A\u5BA1\u67E5\uFF0C\u4E25\u7981\u63D0\u4EA4\u3002review context contract\uFF1A\u6D3E reviewer \u524D\u6309\u6539\u52A8\u8303\u56F4\u8BFB\u53D6 AGENTS.md\u3001docs/workflow.md\u3001\u5F53\u524D plan/progress\u3001\u547D\u4E2D\u7684 SKILL.md\u3001references\u3001\u6D89\u53CA\u4EA7\u54C1\u53D6\u820D\u65F6\u7684 docs/product-positioning.md\uFF0C\u4EE5\u53CA touched files \u7684\u5B8C\u6574 diff\uFF0Cbrief \u91CC\u5217\u51FA\u5B9E\u9645\u52A0\u8F7D\u7684 context\u3002\u5BA1\u67E5\u6E05\u5355\uFF1A\u53EF\u8BFB\u6027/\u53EF\u641C\u7D22\u6027\u3001\u53EF\u7EF4\u62A4\u6027/\u5220\u9664\u6210\u672C\u3001\u53EF\u7EC4\u5408\u6027/\u590D\u7528\u3001\u91CD\u590D\u5B9E\u73B0\u3001\u53EF\u5220\u9664\u4EE3\u7801\u3002\u82E5\u5904\u4E8E\u5355 Agent \u72EC\u5360\u73AF\u5883\u3001\u5176\u4ED6 agent \u4E0D\u53EF\u8FBE\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u76F4\u63A5\u63D0\u4EA4\uFF0C\u5141\u8BB8\u5E26\u539F\u56E0\u8DF3\u8FC7\uFF08commit \u6CE8\u660E [no-review: \u539F\u56E0]\uFF09\u3002\u6D89\u53CA\u4ED3\u5E93\u6587\u4EF6\u5199\u5165\u5FC5\u987B\u7528\u72EC\u7ACB worktree\u3002\u4ED3\u5E93\u7EA7 plan / review / worktree \u7EAA\u5F8B\u4EE5 AGENTS.md \u4E3A\u51C6\u3002
205
207
 
208
+ --- \u786E\u8BA4\u8FB9\u754C ---
206
209
  **\u5371\u9669 / \u4E0D\u53EF\u9006\u64CD\u4F5C**\uFF1A
207
- - \u6D89\u53CA\u4E0D\u53EF\u9006\u64CD\u4F5C\uFF08\u4FEE\u6539\u6587\u4EF6\u3001\u5220\u9664\u6570\u636E\u3001\u53D1\u9001\u6D88\u606F\u3001\u751F\u6210\u6B63\u5F0F\u6587\u4EF6\u3001\u6267\u884C\u4EA4\u6613\u7B49\uFF09\u65F6\uFF0C\u4F18\u5148\u9884\u89C8\u6216\u5411\u7528\u6237\u786E\u8BA4\u3002
210
+ - \u6D89\u53CA\u4E0D\u53EF\u9006\u64CD\u4F5C\uFF08\u4FEE\u6539\u6587\u4EF6\u3001\u5220\u9664\u6570\u636E\u3001\u53D1\u9001\u6D88\u606F\u3001\u751F\u6210\u6B63\u5F0F\u6587\u4EF6\u3001\u6267\u884C\u4EA4\u6613\u7B49\uFF09**\u6216\u9AD8\u6210\u672C\u52A8\u4F5C**\uFF08\u5927\u89C4\u6A21\u91CD\u6784/\u6279\u91CF\u6539\u52A8\u3001\u957F\u65F6\u8FD0\u884C\u3001\u5927\u91CF token \u6D88\u8017\uFF09\u65F6\uFF0C\u4F18\u5148\u9884\u89C8\u6216\u5411\u7528\u6237\u786E\u8BA4\u3002
208
211
  - \u5DE5\u5177\u8FD4\u56DE"\u9884\u89C8"\u6216"\u5F85\u786E\u8BA4"\u72B6\u6001\u65F6\uFF0C\u6682\u505C\u8FDB\u4E00\u6B65\u81EA\u52A8\u4FEE\u6539\uFF0C\u7B49\u7528\u6237\u660E\u786E\u786E\u8BA4\u540E\u518D\u7EE7\u7EED\u3002\u4E0D\u8981\u5728\u7528\u6237\u672A\u786E\u8BA4\u524D\u8FDE\u7EED\u53D1\u51FA\u591A\u6B21\u7834\u574F\u6027\u4FEE\u6539\u3002
209
212
 
210
213
  \u81EA\u68C0\uFF1A\u5148\u5B8C\u6210\u4EFB\u52A1\u7406\u89E3\u4E0E\u5206\u6863\uFF1F\u53EA\u4FDD\u7559\u5F53\u524D\u52A8\u4F5C\u9700\u8981\u7684\u5DE5\u5177/\u5386\u53F2/\u6587\u4EF6\u5185\u5BB9\uFF1F\u6D3E\u53D1\u7684\u8BDD\u5B50\u4EFB\u52A1\u8FB9\u754C\u548C\u9A8C\u6536\u8BC1\u636E\u5199\u6E05\u4E86\u5417\uFF1F\u82E5\u6536\u5230\u300C\u5B50\u5BF9\u8BDD\u7981\u6B62\u518D\u521B\u5EFA\u5B59\u5BF9\u8BDD\u300D\u9519\u8BEF\uFF0C\u8BF4\u660E\u4F60\u5DF2\u662F\u5B50\u5BF9\u8BDD\uFF0C\u7981\u6B62\u518D\u6D3E\u53D1\uFF0C\u628A\u5DF2\u5B8C\u6210\u7684\u7ED3\u679C\u8FD4\u56DE\u7ED9\u7236\u5BF9\u8BDD\u5373\u53EF\u3002`;
@@ -10,13 +10,13 @@ import {
10
10
  } from "./chunk-YYLHWIW6.js";
11
11
  import {
12
12
  runLlm
13
- } from "./chunk-EK6J2BLB.js";
13
+ } from "./chunk-KOZ2G3ZG.js";
14
14
  import {
15
15
  getApproxPricePerImage
16
16
  } from "./chunk-AGGIDPCZ.js";
17
17
  import {
18
18
  cleanupCliSessionForDialog
19
- } from "./chunk-HAPCUPEO.js";
19
+ } from "./chunk-SG65C33A.js";
20
20
  import {
21
21
  getActiveDialogAgentId,
22
22
  getDialogAgentIds,
@@ -51,7 +51,7 @@ import {
51
51
  getModelContextWindow,
52
52
  getModelInfo,
53
53
  resolveAutoExecutionProfile
54
- } from "./chunk-V5LQH25J.js";
54
+ } from "./chunk-F22JQTSX.js";
55
55
  import {
56
56
  COMPACTION_SUMMARY_SYSTEM_PROMPT,
57
57
  buildCompactionMetricsFromPlan,
@@ -63,11 +63,11 @@ import {
63
63
  normalizeAssistantContentBuffer,
64
64
  planCompression,
65
65
  serializeMessageContent
66
- } from "./chunk-GK74OOFT.js";
66
+ } from "./chunk-HR5XDXYM.js";
67
67
  import {
68
68
  findModelConfig,
69
69
  getModelConfig
70
- } from "./chunk-UX4WJK6W.js";
70
+ } from "./chunk-BO3YFOZR.js";
71
71
  import {
72
72
  toErrorMessage
73
73
  } from "./chunk-HNMXYYJR.js";
@@ -82,7 +82,7 @@ import {
82
82
  } from "./chunk-VFN256RI.js";
83
83
  import {
84
84
  nolotusId
85
- } from "./chunk-EMEUU5IY.js";
85
+ } from "./chunk-X7S7OFUX.js";
86
86
  import {
87
87
  asRecordOrEmpty
88
88
  } from "./chunk-KX6YBIHG.js";
@@ -92,7 +92,7 @@ import {
92
92
  remove,
93
93
  selectById,
94
94
  write
95
- } from "./chunk-WVGEBWA6.js";
95
+ } from "./chunk-76UA7376.js";
96
96
  import {
97
97
  buildDialogAgentListIndexDeleteOps,
98
98
  createDialogMessageKeyAndId,
@@ -117,7 +117,7 @@ import {
117
117
  builtinAgentCatalogEntryById,
118
118
  builtinRuntimeFallbackEntries,
119
119
  isBuiltinPlatformAgentKey
120
- } from "./chunk-Z5NW3O7V.js";
120
+ } from "./chunk-2JYSSXLY.js";
121
121
  import {
122
122
  extractCustomId,
123
123
  extractUserId,
@@ -3584,7 +3584,7 @@ var messageSlice = createSliceWithThunks({
3584
3584
  runtimeOptions: args.runtimeOptions
3585
3585
  });
3586
3586
  if (agentKeyToUse) {
3587
- const { streamAgentChatTurn } = await import("./agentSlice-CIN6FY6Z.js");
3587
+ const { streamAgentChatTurn } = await import("./agentSlice-AJABGQHU.js");
3588
3588
  await dispatch(
3589
3589
  streamAgentChatTurn({
3590
3590
  agentKey: agentKeyToUse,
@@ -4848,7 +4848,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
4848
4848
  }
4849
4849
  if (isCurrentDialog) {
4850
4850
  await thunkApi.dispatch(resetMsgs());
4851
- const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-MONRO6AH.js");
4851
+ const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-76W7S3C4.js");
4852
4852
  dispatch(clearPendingAttachments2());
4853
4853
  }
4854
4854
  return { dialogKey, isCurrentDialog, attachmentPlan };
@@ -4856,39 +4856,39 @@ var deleteDialogThunk = async (payload, thunkApi) => {
4856
4856
 
4857
4857
  // packages/chat/dialog/dialogSlice.ts
4858
4858
  var runCreateDialogAction = async (args, thunkApi) => {
4859
- const { createDialogAction } = await import("./createDialogAction-2FF2JSWP.js");
4859
+ const { createDialogAction } = await import("./createDialogAction-334CHPJF.js");
4860
4860
  return createDialogAction(args, thunkApi);
4861
4861
  };
4862
4862
  var runCreateAgentAutomationAction = async (args, thunkApi) => {
4863
- const { createAgentAutomationAction } = await import("./createAgentAutomationAction-OFRNHZWC.js");
4863
+ const { createAgentAutomationAction } = await import("./createAgentAutomationAction-5OZIWOK4.js");
4864
4864
  return createAgentAutomationAction(args, thunkApi);
4865
4865
  };
4866
4866
  var runUpdateDialogTitleAction = async (args, thunkApi) => {
4867
- const { updateDialogTitleAction } = await import("./updateDialogTitleAction-WYAVJPLS.js");
4867
+ const { updateDialogTitleAction } = await import("./updateDialogTitleAction-OVOPGTC3.js");
4868
4868
  return updateDialogTitleAction(args, thunkApi);
4869
4869
  };
4870
4870
  var runAddDialogAgentAction = async (args, thunkApi) => {
4871
- const { addDialogAgentAction } = await import("./addDialogAgentAction-W3JGU4F7.js");
4871
+ const { addDialogAgentAction } = await import("./addDialogAgentAction-KF3KZZNZ.js");
4872
4872
  return addDialogAgentAction(args, thunkApi);
4873
4873
  };
4874
4874
  var runRemoveDialogAgentAction = async (args, thunkApi) => {
4875
- const { removeDialogAgentAction } = await import("./removeDialogAgentAction-DNONRKST.js");
4875
+ const { removeDialogAgentAction } = await import("./removeDialogAgentAction-RMPISD42.js");
4876
4876
  return removeDialogAgentAction(args, thunkApi);
4877
4877
  };
4878
4878
  var runSetPrimaryDialogAgentAction = async (args, thunkApi) => {
4879
- const { setPrimaryDialogAgentAction } = await import("./setPrimaryDialogAgentAction-6C2HYNEC.js");
4879
+ const { setPrimaryDialogAgentAction } = await import("./setPrimaryDialogAgentAction-WCYIBGZ4.js");
4880
4880
  return setPrimaryDialogAgentAction(args, thunkApi);
4881
4881
  };
4882
4882
  var runSwitchDialogAgentAction = async (args, thunkApi) => {
4883
- const { switchDialogAgentAction } = await import("./switchDialogAgentAction-HP57XYFP.js");
4883
+ const { switchDialogAgentAction } = await import("./switchDialogAgentAction-WGMMQHDI.js");
4884
4884
  return switchDialogAgentAction(args, thunkApi);
4885
4885
  };
4886
4886
  var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
4887
- const { setDialogExtraReferencesAction } = await import("./setDialogExtraReferencesAction-ERHUPT3F.js");
4887
+ const { setDialogExtraReferencesAction } = await import("./setDialogExtraReferencesAction-7BUTHDAL.js");
4888
4888
  return setDialogExtraReferencesAction(args, thunkApi);
4889
4889
  };
4890
4890
  var runHandleSendMessageAction = async (args, thunkApi) => {
4891
- const { handleSendMessageAction } = await import("./handleSendMessageAction-6TQ7JM5X.js");
4891
+ const { handleSendMessageAction } = await import("./handleSendMessageAction-EAXEX5AX.js");
4892
4892
  return handleSendMessageAction(args, thunkApi);
4893
4893
  };
4894
4894
  function clearDialogState() {
@@ -4901,7 +4901,7 @@ var createPageAndAddReference = createAsyncThunk(
4901
4901
  async (payload, { dispatch, getState, rejectWithValue }) => {
4902
4902
  const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
4903
4903
  try {
4904
- const { createDocState } = await import("./docStore-A3UWWGMV.js");
4904
+ const { createDocState } = await import("./docStore-N7QTPHAX.js");
4905
4905
  const pageKey = await createDocState(
4906
4906
  { slateData, title },
4907
4907
  { dispatch, getState }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  updateContentTitle
3
- } from "./chunk-QPIMHSA5.js";
3
+ } from "./chunk-DFY6O64O.js";
4
4
  import {
5
5
  require_date_fns
6
6
  } from "./chunk-M76ECQRD.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  patch,
15
15
  readAndWait
16
- } from "./chunk-WVGEBWA6.js";
16
+ } from "./chunk-76UA7376.js";
17
17
  import {
18
18
  asOptionalTrimmedString
19
19
  } from "./chunk-G3SUCT4W.js";
@@ -367,7 +367,7 @@ async function saveDocState(arg, { dispatch, getState }) {
367
367
  }
368
368
  }
369
369
  async function createDocState(args, thunkApi) {
370
- const { createPageAction } = await import("./createPageAction-6MTVIU3J.js");
370
+ const { createPageAction } = await import("./createPageAction-LXY22WTA.js");
371
371
  return createPageAction(args, thunkApi);
372
372
  }
373
373
  function subscribe(listener) {
@@ -4,7 +4,7 @@ import {
4
4
  refreshAntigravityOAuthToken,
5
5
  refreshOpenAiCodexToken,
6
6
  xaiRefresh
7
- } from "./chunk-D45NILIX.js";
7
+ } from "./chunk-3YVCM5PE.js";
8
8
  import {
9
9
  defaultLoopbackRequest
10
10
  } from "./chunk-EADNWBAZ.js";
@@ -49,14 +49,14 @@ import {
49
49
  } from "./chunk-WHVQA7PJ.js";
50
50
  import {
51
51
  inferCaptureIntent
52
- } from "./chunk-AYXSUBVC.js";
52
+ } from "./chunk-RO2IUWZE.js";
53
53
  import {
54
54
  buildCliPrompt
55
55
  } from "./chunk-ATNTHIZI.js";
56
56
  import {
57
57
  inlineImageUrlsForCustomProvider,
58
58
  prepareTools
59
- } from "./chunk-U72222TN.js";
59
+ } from "./chunk-H5QLIP6S.js";
60
60
  import {
61
61
  getServerProviderSecret
62
62
  } from "./chunk-HS7MLR74.js";
@@ -65,7 +65,7 @@ import {
65
65
  isAntigravityOAuthAgent,
66
66
  readAntigravityProjectId,
67
67
  resolveAntigravityCloudCodeBaseUrl
68
- } from "./chunk-UYWXQCPH.js";
68
+ } from "./chunk-4ZL2KBI7.js";
69
69
  import {
70
70
  deleteMemoryFunctionSchema,
71
71
  readXPostFunc,
@@ -75,7 +75,7 @@ import {
75
75
  rememberMemoryFunctionSchema,
76
76
  resolveAgentRequiredPackIds,
77
77
  setTodoListFunc
78
- } from "./chunk-UL3AIGAQ.js";
78
+ } from "./chunk-5SLTA66C.js";
79
79
  import {
80
80
  fetchWithTransientRetry,
81
81
  isTransientFetchError
@@ -98,13 +98,13 @@ import {
98
98
  prepareTokenUsageData,
99
99
  resolveBuiltinPlatformAgentConfig,
100
100
  runKeyed
101
- } from "./chunk-6DYGT4IA.js";
101
+ } from "./chunk-PGKZ2KGE.js";
102
102
  import {
103
103
  BUILTIN_TITLE_LLM_CONFIG
104
104
  } from "./chunk-EVBFYPDC.js";
105
105
  import {
106
106
  fetchServerSyncedCredential
107
- } from "./chunk-EK6J2BLB.js";
107
+ } from "./chunk-KOZ2G3ZG.js";
108
108
  import {
109
109
  require_date_fns
110
110
  } from "./chunk-M76ECQRD.js";
@@ -143,7 +143,7 @@ import {
143
143
  parseSyncServersEnv,
144
144
  resolveOpenAiCompatibleProviderConfig,
145
145
  summarizeToolArguments
146
- } from "./chunk-D57WA7W3.js";
146
+ } from "./chunk-QTH72J3N.js";
147
147
  import {
148
148
  buildPlatformChatCompletionRequest,
149
149
  canUsePlatformChatProvider,
@@ -155,18 +155,18 @@ import {
155
155
  resolvePlatformChatProviderConfig,
156
156
  shouldUsePlatformChatProvider,
157
157
  streamSseDataValues
158
- } from "./chunk-IGQMIZ5L.js";
158
+ } from "./chunk-XB7ACJFH.js";
159
159
  import {
160
160
  resolveAgentRuntimeConfigFromRecord,
161
161
  resolveHistoricalToolContentCap
162
- } from "./chunk-4UOFNBUR.js";
162
+ } from "./chunk-VKSBVRGP.js";
163
163
  import {
164
164
  convertMessagesToResponsesInput,
165
165
  toResponsesTools
166
166
  } from "./chunk-6BYAXNH5.js";
167
167
  import {
168
168
  resolvePlatformAuthToken
169
- } from "./chunk-2PGAWTDB.js";
169
+ } from "./chunk-JBL24PK6.js";
170
170
  import {
171
171
  buildNoloWorkspaceOpenAiTools,
172
172
  parseNoloWorkspaceToolArguments,
@@ -183,7 +183,7 @@ import {
183
183
  } from "./chunk-2MBTWINN.js";
184
184
  import {
185
185
  clipCompactText
186
- } from "./chunk-GK74OOFT.js";
186
+ } from "./chunk-HR5XDXYM.js";
187
187
  import {
188
188
  createFileCredentialBroker,
189
189
  resolveCurrentRunRuntimeToolPolicy,
@@ -198,7 +198,7 @@ import {
198
198
  } from "./chunk-FD36SCCD.js";
199
199
  import {
200
200
  isAdaptiveThinkingModelId
201
- } from "./chunk-UX4WJK6W.js";
201
+ } from "./chunk-BO3YFOZR.js";
202
202
  import {
203
203
  compactWhitespace
204
204
  } from "./chunk-DWLEOOGR.js";
@@ -229,7 +229,7 @@ import {
229
229
  } from "./chunk-QSJ3HFEF.js";
230
230
  import {
231
231
  isSystemBuiltinTrustedAgentKey
232
- } from "./chunk-Z5NW3O7V.js";
232
+ } from "./chunk-2JYSSXLY.js";
233
233
  import {
234
234
  isRecord
235
235
  } from "./chunk-KUG52IAP.js";
@@ -472,8 +472,12 @@ var STRINGS = {
472
472
  zh: "[nolo] \u5F53\u524D agent \u4F3C\u4E4E\u989D\u5EA6/\u901F\u7387\u53D7\u9650\uFF08429\uFF09\u3002\n\u53EF\u4EE5\u7528 /agent \u5207\u6362\u5230\u5176\u4ED6 agent \u540E\u7EE7\u7EED\uFF0C\u540C\u4E00\u5BF9\u8BDD\u4F1A\u4FDD\u7559\u4E0A\u4E0B\u6587\u3002"
473
473
  },
474
474
  balanceExhaustedHint: {
475
- en: '[nolo] Insufficient balance. Your message is saved in this dialog \u2014 top up, then send again or say "continue".',
476
- zh: "[nolo] \u4F59\u989D\u4E0D\u8DB3\u3002\u4F60\u521A\u53D1\u7684\u8BDD\u5DF2\u4FDD\u5B58\u5728\u5F53\u524D\u5BF9\u8BDD\u91CC\u2014\u2014\u5145\u503C\u540E\u76F4\u63A5\u518D\u8BF4\u4E00\u53E5\u6216\u8BF4\u300C\u7EE7\u7EED\u300D\u5373\u53EF\uFF0C\u4E0D\u4F1A\u4E22\u4E0A\u4E0B\u6587\u3002"
475
+ en: '[nolo] Your message is saved in this dialog \u2014 top up, then send again or say "continue" to pick up where you left off.',
476
+ zh: "[nolo] \u4F60\u521A\u53D1\u7684\u8BDD\u5DF2\u4FDD\u5B58\u5728\u5F53\u524D\u5BF9\u8BDD\u91CC\u2014\u2014\u5145\u503C\u540E\u76F4\u63A5\u518D\u8BF4\u4E00\u53E5\u6216\u8BF4\u300C\u7EE7\u7EED\u300D\u5373\u53EF\u63A5\u7740\u804A\uFF0C\u4E0D\u4F1A\u4E22\u4E0A\u4E0B\u6587\u3002"
477
+ },
478
+ balanceInsufficientReason: {
479
+ en: "Insufficient balance: requires > {required}, current balance {current}.",
480
+ zh: "\u4F59\u989D\u4E0D\u8DB3\uFF1A\u9700\u8981\u4F59\u989D > {required}\uFF0C\u5F53\u524D {current}\u3002"
477
481
  },
478
482
  dialogPreservedHint: {
479
483
  en: '[nolo] This turn failed, but the dialog is kept. Send another message (or say "continue") to keep going in the same conversation.',
@@ -912,10 +916,10 @@ var STRINGS = {
912
916
  runtimeUsage: { en: "Usage: /runtime <auto|local|server>", zh: "\u7528\u6CD5\uFF1A/runtime <auto|local|server>" },
913
917
  runtimeSet: { en: "Runtime: {0}", zh: "\u8FD0\u884C\u6A21\u5F0F\uFF1A{0}" },
914
918
  toolsCurrent: {
915
- en: "Tool display: {0} (hide | compact | verbose)",
916
- zh: "\u5DE5\u5177\u663E\u793A\uFF1A{0}\uFF08hide | compact | verbose\uFF09"
919
+ en: "Tool display: {0} (normal | pro | hide | verbose)",
920
+ zh: "\u5DE5\u5177\u663E\u793A\uFF1A{0}\uFF08\u666E\u901A normal | \u4E13\u4E1A pro | hide | verbose\uFF09"
917
921
  },
918
- toolsUsage: { en: "Usage: /tools <hide|compact|verbose>", zh: "\u7528\u6CD5\uFF1A/tools <hide|compact|verbose>" },
922
+ toolsUsage: { en: "Usage: /tools <normal|pro|hide|verbose>", zh: "\u7528\u6CD5\uFF1A/tools <normal|pro|hide|verbose>" },
919
923
  toolsSet: { en: "Tool display: {0}", zh: "\u5DE5\u5177\u663E\u793A\uFF1A{0}" },
920
924
  thinkingCurrent: {
921
925
  en: "Thinking display: {0} (show | hide)",
@@ -1090,8 +1094,9 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
1090
1094
  function t(key, ...params) {
1091
1095
  const text = STRINGS[key][currentLocale];
1092
1096
  if (params.length === 0) return text;
1093
- return text.replace(/\{(\d+)\}/g, (match, index) => {
1094
- const replacement = params[Number(index)];
1097
+ return text.replace(/\{(\d+|required|current)\}/g, (match, name) => {
1098
+ const index = name === "required" ? 0 : name === "current" ? 1 : Number(name);
1099
+ const replacement = params[index];
1095
1100
  return replacement === void 0 ? match : replacement;
1096
1101
  });
1097
1102
  }