nolo-cli 0.177.0-alpha.3 → 0.178.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 (65) hide show
  1. package/{_executeModel-V4F6LXUR.js → _executeModel-4NEMABMW.js} +14 -14
  2. package/{agentDeleteCommand-ZW6A5N5R.js → agentDeleteCommand-7PYJJDKV.js} +16 -16
  3. package/{agentEmailCommands-PSWCVDBS.js → agentEmailCommands-UYTOH7YV.js} +18 -18
  4. package/{agentListCommands-NYYOKQ2U.js → agentListCommands-VONVOI52.js} +7 -7
  5. package/{agentMachineCommands-3QKXW7CS.js → agentMachineCommands-XVBXKT5N.js} +8 -8
  6. package/{agentRecordCommands-WVMYMRVI.js → agentRecordCommands-2R4K5YRD.js} +17 -17
  7. package/{agentRunCommand-VT7XPW4E.js → agentRunCommand-7FNT4GPD.js} +18 -18
  8. package/{agentRuntimeLocal-OIEOKQ26.js → agentRuntimeLocal-5ZHRXBGT.js} +7 -7
  9. package/{agentSlice-QNH6SH4J.js → agentSlice-5EC6UO2Q.js} +1 -1
  10. package/{appDeleteCommands-DJBT6TXH.js → appDeleteCommands-I56YU5PK.js} +7 -7
  11. package/{appDeployCommands-PO2OTNLX.js → appDeployCommands-2BRC7I7B.js} +7 -7
  12. package/{appDeployStatusCommands-I65SVQFQ.js → appDeployStatusCommands-2AM4QUP3.js} +7 -7
  13. package/{appGetCommands-NBSDDOG4.js → appGetCommands-6NBJYX6X.js} +7 -7
  14. package/{appListCommands-NUDI4I6D.js → appListCommands-QVJMOKWQ.js} +7 -7
  15. package/{authCommand-R2VRZLJY.js → authCommand-R6RPVFOB.js} +3 -3
  16. package/{chunk-KZMDDWPY.js → chunk-2435U3W7.js} +3 -3
  17. package/{chunk-SLSWIH7D.js → chunk-2JNBSOOP.js} +2 -2
  18. package/{chunk-45QG4FAQ.js → chunk-2SK76UW2.js} +1 -1
  19. package/{chunk-XWKEZYHG.js → chunk-3TI7DQZT.js} +1 -1
  20. package/{chunk-D6QFFZVF.js → chunk-52J3DJHF.js} +6 -6
  21. package/{chunk-PSJXWKPQ.js → chunk-77357UA3.js} +8 -8
  22. package/{chunk-KVCFBIRU.js → chunk-7EEVCDHJ.js} +8 -8
  23. package/{chunk-OEVWFVSS.js → chunk-7KZSSY4Z.js} +3 -3
  24. package/{chunk-VYQMMIBR.js → chunk-ARLRYGPE.js} +8 -8
  25. package/{chunk-XEAOB5YS.js → chunk-CPCC25EW.js} +2 -2
  26. package/{chunk-UVOA25PV.js → chunk-D44HRXTA.js} +2 -2
  27. package/{chunk-KYAMW3AY.js → chunk-E2BESSAW.js} +8 -5
  28. package/{chunk-SOY7VHZN.js → chunk-IM3STC63.js} +5 -3
  29. package/{chunk-AEZBL2MY.js → chunk-JDCX5RWD.js} +3 -3
  30. package/{chunk-OD6ENIKN.js → chunk-JGG265CD.js} +3 -3
  31. package/{chunk-G3Y3E6JT.js → chunk-JT5UEE22.js} +3 -3
  32. package/{chunk-NCBXTFBP.js → chunk-MRJABJ7J.js} +11 -9
  33. package/{chunk-STT5PIQ5.js → chunk-ND4TKDIA.js} +21 -21
  34. package/{chunk-QABYIMXP.js → chunk-OVQJYTGD.js} +2 -2
  35. package/{chunk-SDONLCYB.js → chunk-QTIJKYFI.js} +5 -5
  36. package/{chunk-33A622FT.js → chunk-QULQPNYV.js} +1 -1
  37. package/{chunk-3TPHYXLU.js → chunk-T2CVDTOD.js} +2 -2
  38. package/{chunk-NS3FGNV6.js → chunk-V4P5F66H.js} +9 -9
  39. package/{chunk-3QTBKJPI.js → chunk-VHBA3RHI.js} +9 -8
  40. package/{chunk-32Z3HRB4.js → chunk-Y3ZG4J2D.js} +2 -2
  41. package/{commandRegistry-QST6FMJ6.js → commandRegistry-GS5FPBNY.js} +47 -47
  42. package/{contentThunks-BMJI3JJA.js → contentThunks-SGJWVRBO.js} +3 -3
  43. package/{createAgentAutomationAction-VC3PLYUE.js → createAgentAutomationAction-2USDJSCP.js} +3 -3
  44. package/{createDialogAction-VAB5FNNF.js → createDialogAction-ZY4NCOX7.js} +4 -4
  45. package/{createPageAction-QECNYENN.js → createPageAction-JCMWP6AG.js} +3 -3
  46. package/{dialogCommands-PQPI2B4F.js → dialogCommands-ZMYGE7YA.js} +7 -7
  47. package/{dialogSlice-JOMW24BQ.js → dialogSlice-3YNAYWAK.js} +2 -2
  48. package/{docCreateCommands-K4KZUG7I.js → docCreateCommands-ADLHK2RD.js} +7 -7
  49. package/{docDeleteCommands-S53LJIXM.js → docDeleteCommands-52UOQ4CB.js} +7 -7
  50. package/{docReadCommands-ACBGMNCO.js → docReadCommands-M3SUWJ6Q.js} +7 -7
  51. package/{docStore-4KT7EHZO.js → docStore-A5HGECT6.js} +1 -1
  52. package/{docUpdateCommands-LL7IVHSL.js → docUpdateCommands-5YL5DPYY.js} +7 -7
  53. package/{handleSendMessageAction-OGUIPOMS.js → handleSendMessageAction-EVFYTUQM.js} +8 -8
  54. package/index.js +4 -4
  55. package/{localRuntimeAdapter-ZCRX2PAA.js → localRuntimeAdapter-KFRYLFNW.js} +16 -16
  56. package/{machineCommands-KYLK4EMZ.js → machineCommands-ZTMLAMH5.js} +17 -17
  57. package/{machineWsRunDispatch-5QYFBWBB.js → machineWsRunDispatch-GU2J67QW.js} +17 -17
  58. package/package.json +1 -1
  59. package/{readlineWorkspace-PWT6GHCI.js → readlineWorkspace-KV3J6BSP.js} +18 -18
  60. package/{runAgentClientLoop-RDYMQTSB.js → runAgentClientLoop-7VHCVJ5F.js} +12 -12
  61. package/{spaceCommands-HKDI3T3V.js → spaceCommands-TJX3HZPD.js} +7 -7
  62. package/{streamAgentChatTurn-UOBJLR2V.js → streamAgentChatTurn-K22LTOCL.js} +16 -16
  63. package/{tools-B55PB6ML.js → tools-4225EUMQ.js} +7 -7
  64. package/{tuiSummaryLlmCaller-H2CLON2B.js → tuiSummaryLlmCaller-AECO3FZT.js} +4 -4
  65. package/{updateDialogTitleAction-NPNSXH5Z.js → updateDialogTitleAction-5KXZAYTF.js} +3 -3
@@ -18,23 +18,23 @@ import "./chunk-RPZNVBA5.js";
18
18
  import "./chunk-NBTY7YJF.js";
19
19
  import "./chunk-VF4K2QE6.js";
20
20
  import "./chunk-UAD2WT54.js";
21
- import "./chunk-3QTBKJPI.js";
22
- import "./chunk-NCBXTFBP.js";
21
+ import "./chunk-VHBA3RHI.js";
22
+ import "./chunk-MRJABJ7J.js";
23
23
  import "./chunk-ZNFJWEN4.js";
24
- import "./chunk-D6QFFZVF.js";
24
+ import "./chunk-52J3DJHF.js";
25
25
  import "./chunk-HNUWUO75.js";
26
26
  import "./chunk-CHOZJMJS.js";
27
27
  import "./chunk-PWTNI4N7.js";
28
28
  import "./chunk-HIVDQPQR.js";
29
- import "./chunk-XEAOB5YS.js";
29
+ import "./chunk-CPCC25EW.js";
30
30
  import "./chunk-2WZXXAQD.js";
31
- import "./chunk-SOY7VHZN.js";
31
+ import "./chunk-IM3STC63.js";
32
32
  import "./chunk-G6OOUQWJ.js";
33
33
  import "./chunk-56GBUMO5.js";
34
34
  import "./chunk-WJZOQR2J.js";
35
35
  import "./chunk-ZEOR6XPJ.js";
36
- import "./chunk-AEZBL2MY.js";
37
- import "./chunk-KYAMW3AY.js";
36
+ import "./chunk-JDCX5RWD.js";
37
+ import "./chunk-E2BESSAW.js";
38
38
  import "./chunk-2GRXE3YJ.js";
39
39
  import "./chunk-JLR5NWP2.js";
40
40
  import "./chunk-XAFCJN32.js";
@@ -18,23 +18,23 @@ import "./chunk-RPZNVBA5.js";
18
18
  import "./chunk-NBTY7YJF.js";
19
19
  import "./chunk-VF4K2QE6.js";
20
20
  import "./chunk-UAD2WT54.js";
21
- import "./chunk-3QTBKJPI.js";
22
- import "./chunk-NCBXTFBP.js";
21
+ import "./chunk-VHBA3RHI.js";
22
+ import "./chunk-MRJABJ7J.js";
23
23
  import "./chunk-ZNFJWEN4.js";
24
- import "./chunk-D6QFFZVF.js";
24
+ import "./chunk-52J3DJHF.js";
25
25
  import "./chunk-HNUWUO75.js";
26
26
  import "./chunk-CHOZJMJS.js";
27
27
  import "./chunk-PWTNI4N7.js";
28
28
  import "./chunk-HIVDQPQR.js";
29
- import "./chunk-XEAOB5YS.js";
29
+ import "./chunk-CPCC25EW.js";
30
30
  import "./chunk-2WZXXAQD.js";
31
- import "./chunk-SOY7VHZN.js";
31
+ import "./chunk-IM3STC63.js";
32
32
  import "./chunk-G6OOUQWJ.js";
33
33
  import "./chunk-56GBUMO5.js";
34
34
  import "./chunk-WJZOQR2J.js";
35
35
  import "./chunk-ZEOR6XPJ.js";
36
- import "./chunk-AEZBL2MY.js";
37
- import "./chunk-KYAMW3AY.js";
36
+ import "./chunk-JDCX5RWD.js";
37
+ import "./chunk-E2BESSAW.js";
38
38
  import "./chunk-2GRXE3YJ.js";
39
39
  import "./chunk-JLR5NWP2.js";
40
40
  import "./chunk-XAFCJN32.js";
@@ -65,10 +65,10 @@ import {
65
65
  detectLocalDevinCredentials,
66
66
  extractDevinToken,
67
67
  fetchAntigravityCloudCodeCompletion
68
- } from "./chunk-NCBXTFBP.js";
68
+ } from "./chunk-MRJABJ7J.js";
69
69
  import "./chunk-HNUWUO75.js";
70
- import "./chunk-SOY7VHZN.js";
71
- import "./chunk-KYAMW3AY.js";
70
+ import "./chunk-IM3STC63.js";
71
+ import "./chunk-E2BESSAW.js";
72
72
  import "./chunk-XAFCJN32.js";
73
73
  import "./chunk-5ZUL4CUO.js";
74
74
  import "./chunk-UKZX3NHN.js";
@@ -347,7 +347,7 @@ var slice = createSliceWithThunks({
347
347
  const overrides = {};
348
348
  if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
349
349
  if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
350
- const { _executeModel } = await import("./_executeModel-V4F6LXUR.js");
350
+ const { _executeModel } = await import("./_executeModel-4NEMABMW.js");
351
351
  return _executeModel(
352
352
  {
353
353
  isStreaming: args.isStreaming ?? false,
@@ -368,7 +368,7 @@ var slice = createSliceWithThunks({
368
368
  * - 循环直到无工具调用或触发其他运行时停止条件
369
369
  */
370
370
  runAgent: create.asyncThunk(async (args, thunkApi) => {
371
- const { runAgentClientLoop } = await import("./runAgentClientLoop-RDYMQTSB.js");
371
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-7VHCVJ5F.js");
372
372
  const { content: loopContent, toolCallCount } = await runAgentClientLoop(
373
373
  {
374
374
  agentKey: args.agentKey,
@@ -384,7 +384,7 @@ var slice = createSliceWithThunks({
384
384
  * 聊天轮次流式 Agent 调用
385
385
  */
386
386
  streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
387
- const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-UOBJLR2V.js");
387
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-K22LTOCL.js");
388
388
  return streamAgentChatTurnHandler(args, thunkApi);
389
389
  }),
390
390
  /**
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-KVCFBIRU.js";
3
+ } from "./chunk-7EEVCDHJ.js";
4
4
  import {
5
5
  runtime_default
6
- } from "./chunk-VYQMMIBR.js";
6
+ } from "./chunk-ARLRYGPE.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
9
  } from "./chunk-5EBLANFT.js";
@@ -2,7 +2,7 @@ import {
2
2
  deleteDialog,
3
3
  runtime_default,
4
4
  toast
5
- } from "./chunk-VYQMMIBR.js";
5
+ } from "./chunk-ARLRYGPE.js";
6
6
  import {
7
7
  getCurrentSpaceId,
8
8
  getCurrentSpaceIdRaw,
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-62TBKWTV.js";
7
7
  import {
8
8
  clearCliLocalRuntimePreparedAgentCache
9
- } from "./chunk-STT5PIQ5.js";
9
+ } from "./chunk-ND4TKDIA.js";
10
10
  import {
11
11
  readCredentialAvailability
12
12
  } from "./chunk-R4BMKAR5.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HNUWUO75.js";
4
4
  import {
5
5
  resolveToolImagePolicy
6
- } from "./chunk-SOY7VHZN.js";
6
+ } from "./chunk-IM3STC63.js";
7
7
  import {
8
8
  accumulateToolCallDelta,
9
9
  createThinkParserState,
@@ -30,7 +30,7 @@ import {
30
30
  stablePromptCacheKey,
31
31
  toOpenAiCompatibleMessages,
32
32
  toResponsesTools
33
- } from "./chunk-AEZBL2MY.js";
33
+ } from "./chunk-JDCX5RWD.js";
34
34
  import {
35
35
  isMeaningfulChatCompletionOutput,
36
36
  isMeaningfulResponsesOutput
@@ -531,24 +531,24 @@ function buildPlatformChatCompletionRequest(args) {
531
531
  // Responses 协议天然支持 reasoning 数组回放,因此不 stripReasoningContent。
532
532
  input: convertMessagesToResponsesInput(
533
533
  toOpenAiCompatibleMessages(sanitizedMessages, {
534
- supportsToolImages: resolveToolImagePolicy({
534
+ ...resolveToolImagePolicy({
535
535
  routeKind: "platform",
536
536
  provider: args.providerConfig.usageProvider ?? args.providerConfig.provider,
537
537
  model: args.providerConfig.model,
538
538
  customProviderUrl: args.providerConfig.endpoint,
539
539
  hasVision: args.providerConfig.hasVision
540
- }).supportsToolImages
540
+ })
541
541
  })
542
542
  )
543
543
  } : {
544
544
  messages: toOpenAiCompatibleMessages(sanitizedMessages, {
545
- supportsToolImages: resolveToolImagePolicy({
545
+ ...resolveToolImagePolicy({
546
546
  routeKind: "platform",
547
547
  provider: args.providerConfig.usageProvider ?? args.providerConfig.provider,
548
548
  model: args.providerConfig.model,
549
549
  customProviderUrl: args.providerConfig.endpoint,
550
550
  hasVision: args.providerConfig.hasVision
551
- }).supportsToolImages,
551
+ }),
552
552
  stripReasoningContent: shouldStripReasoning
553
553
  })
554
554
  },
@@ -5,7 +5,7 @@ import {
5
5
  inlineImageUrlsForCustomProvider,
6
6
  prepareTools,
7
7
  shouldInlineImageUrlsForAgent
8
- } from "./chunk-SLSWIH7D.js";
8
+ } from "./chunk-2JNBSOOP.js";
9
9
  import {
10
10
  CONFIRMATION_INPUT_KEYS,
11
11
  INVALID_TOOL_ARGS_REPLACEMENT,
@@ -14,16 +14,16 @@ import {
14
14
  performFetchRequest,
15
15
  sanitizeOutboundMessages,
16
16
  stripModelToolArgs
17
- } from "./chunk-OD6ENIKN.js";
17
+ } from "./chunk-JGG265CD.js";
18
18
  import {
19
19
  findToolExecutor,
20
20
  toolDefinitionsByName
21
- } from "./chunk-KVCFBIRU.js";
21
+ } from "./chunk-7EEVCDHJ.js";
22
22
  import {
23
23
  classifyApiError,
24
24
  classifyGenerationError,
25
25
  extractErrorDiagnostics
26
- } from "./chunk-UVOA25PV.js";
26
+ } from "./chunk-D44HRXTA.js";
27
27
  import {
28
28
  createSSEParser,
29
29
  createToolRunId,
@@ -32,7 +32,7 @@ import {
32
32
  toolRunSetPending,
33
33
  toolRunStarted,
34
34
  toolRunSucceeded
35
- } from "./chunk-QABYIMXP.js";
35
+ } from "./chunk-OVQJYTGD.js";
36
36
  import {
37
37
  getPublicImageAgentMode
38
38
  } from "./chunk-VIDPVFP3.js";
@@ -42,10 +42,10 @@ import {
42
42
  messageStreaming,
43
43
  toolResultNeedsUserConfirmation,
44
44
  updateToolMessage
45
- } from "./chunk-VYQMMIBR.js";
45
+ } from "./chunk-ARLRYGPE.js";
46
46
  import {
47
47
  streamAgentChatTurn
48
- } from "./chunk-KZMDDWPY.js";
48
+ } from "./chunk-2435U3W7.js";
49
49
  import {
50
50
  getCurrentSpaceId
51
51
  } from "./chunk-ZJ7UHBJS.js";
@@ -85,7 +85,7 @@ import {
85
85
  } from "./chunk-56GBUMO5.js";
86
86
  import {
87
87
  normalizeChatCompletionsBodyForProvider
88
- } from "./chunk-AEZBL2MY.js";
88
+ } from "./chunk-JDCX5RWD.js";
89
89
  import {
90
90
  EMPTY_ASSISTANT_REPAIR_PROMPT
91
91
  } from "./chunk-T7HBI3WZ.js";
@@ -20,7 +20,7 @@ import {
20
20
  toolRunUpdated,
21
21
  uiCardFallback,
22
22
  waitForAbortableDelay
23
- } from "./chunk-QABYIMXP.js";
23
+ } from "./chunk-OVQJYTGD.js";
24
24
  import {
25
25
  isGatewayHttpStatus
26
26
  } from "./chunk-NF64D32W.js";
@@ -64,7 +64,7 @@ import {
64
64
  } from "./chunk-VF4K2QE6.js";
65
65
  import {
66
66
  createDocState
67
- } from "./chunk-3TPHYXLU.js";
67
+ } from "./chunk-T2CVDTOD.js";
68
68
  import {
69
69
  addMemberSpace,
70
70
  fetchAuthoritativeRemoteSpace,
@@ -79,7 +79,7 @@ import {
79
79
  } from "./chunk-BAWAKW7X.js";
80
80
  import {
81
81
  createDialogAction
82
- } from "./chunk-32Z3HRB4.js";
82
+ } from "./chunk-Y3ZG4J2D.js";
83
83
  import {
84
84
  setDialogExtraReferencesAction
85
85
  } from "./chunk-IF7V3CBU.js";
@@ -102,7 +102,7 @@ import {
102
102
  updateContentCategory,
103
103
  updateContentTitle,
104
104
  writeStoredCollapsedCategories
105
- } from "./chunk-45QG4FAQ.js";
105
+ } from "./chunk-2SK76UW2.js";
106
106
  import {
107
107
  buildDatabaseFileContentUrl,
108
108
  deleteDialog,
@@ -115,7 +115,7 @@ import {
115
115
  selectMsgById,
116
116
  uiAskChoiceFunc,
117
117
  uiAskChoiceFunctionSchema
118
- } from "./chunk-VYQMMIBR.js";
118
+ } from "./chunk-ARLRYGPE.js";
119
119
  import {
120
120
  buildMediaToolConfirmation,
121
121
  normalizeMediaConfirmExecutionRevision
@@ -126,7 +126,7 @@ import {
126
126
  runLlm,
127
127
  streamAgentChatTurn,
128
128
  updateAgent
129
- } from "./chunk-KZMDDWPY.js";
129
+ } from "./chunk-2435U3W7.js";
130
130
  import {
131
131
  getCurrentSpaceId,
132
132
  getCurrentSpaceIdRaw,
@@ -3882,7 +3882,7 @@ async function deleteDialogsFunc(args, thunkApi) {
3882
3882
  const deletedDialogIds = [];
3883
3883
  const deletedDialogKeys = [];
3884
3884
  const failures = [];
3885
- const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-JOMW24BQ.js");
3885
+ const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-3YNAYWAK.js");
3886
3886
  for (const target of targets) {
3887
3887
  try {
3888
3888
  await thunkApi.dispatch(deleteDialog2(target.dbKey)).unwrap();
@@ -18563,7 +18563,7 @@ async function updateDocFunc(args, thunkApi) {
18563
18563
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
18564
18564
  };
18565
18565
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
18566
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-4KT7EHZO.js");
18566
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-A5HGECT6.js");
18567
18567
  if (getDocState().pageKey === id) {
18568
18568
  applyExternalDocUpdate({
18569
18569
  slateData: finalSlateData,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-UVOA25PV.js";
4
+ } from "./chunk-D44HRXTA.js";
5
5
  import {
6
6
  updateTokensAction
7
- } from "./chunk-VYQMMIBR.js";
7
+ } from "./chunk-ARLRYGPE.js";
8
8
  import {
9
9
  applyUpdateTokensFulfilled
10
10
  } from "./chunk-OWYYDMGJ.js";
@@ -12,7 +12,7 @@ import {
12
12
  extractReasoningFromResponseOutput,
13
13
  extractTextFromResponseOutput,
14
14
  extractToolCallsFromResponseOutput
15
- } from "./chunk-AEZBL2MY.js";
15
+ } from "./chunk-JDCX5RWD.js";
16
16
  import {
17
17
  isRecord
18
18
  } from "./chunk-KUG52IAP.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-QYPE3TS3.js";
12
12
  import {
13
13
  runLlm
14
- } from "./chunk-KZMDDWPY.js";
14
+ } from "./chunk-2435U3W7.js";
15
15
  import {
16
16
  getApproxPricePerImage
17
17
  } from "./chunk-4JH2UMJR.js";
@@ -11064,7 +11064,7 @@ var messageSlice = createSliceWithThunks({
11064
11064
  runtimeOptions: args.runtimeOptions
11065
11065
  });
11066
11066
  if (agentKeyToUse) {
11067
- const { streamAgentChatTurn } = await import("./agentSlice-QNH6SH4J.js");
11067
+ const { streamAgentChatTurn } = await import("./agentSlice-5EC6UO2Q.js");
11068
11068
  await dispatch(
11069
11069
  streamAgentChatTurn({
11070
11070
  agentKey: agentKeyToUse,
@@ -13881,7 +13881,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
13881
13881
  }
13882
13882
  if (isCurrentDialog) {
13883
13883
  await thunkApi.dispatch(resetMsgs());
13884
- const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-JOMW24BQ.js");
13884
+ const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-3YNAYWAK.js");
13885
13885
  dispatch(clearPendingAttachments2());
13886
13886
  }
13887
13887
  return { dialogKey, isCurrentDialog, attachmentPlan };
@@ -13889,15 +13889,15 @@ var deleteDialogThunk = async (payload, thunkApi) => {
13889
13889
 
13890
13890
  // packages/chat/dialog/dialogSlice.ts
13891
13891
  var runCreateDialogAction = async (args, thunkApi) => {
13892
- const { createDialogAction } = await import("./createDialogAction-VAB5FNNF.js");
13892
+ const { createDialogAction } = await import("./createDialogAction-ZY4NCOX7.js");
13893
13893
  return createDialogAction(args, thunkApi);
13894
13894
  };
13895
13895
  var runCreateAgentAutomationAction = async (args, thunkApi) => {
13896
- const { createAgentAutomationAction } = await import("./createAgentAutomationAction-VC3PLYUE.js");
13896
+ const { createAgentAutomationAction } = await import("./createAgentAutomationAction-2USDJSCP.js");
13897
13897
  return createAgentAutomationAction(args, thunkApi);
13898
13898
  };
13899
13899
  var runUpdateDialogTitleAction = async (args, thunkApi) => {
13900
- const { updateDialogTitleAction } = await import("./updateDialogTitleAction-NPNSXH5Z.js");
13900
+ const { updateDialogTitleAction } = await import("./updateDialogTitleAction-5KXZAYTF.js");
13901
13901
  return updateDialogTitleAction(args, thunkApi);
13902
13902
  };
13903
13903
  var runAddDialogAgentAction = async (args, thunkApi) => {
@@ -13921,7 +13921,7 @@ var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
13921
13921
  return setDialogExtraReferencesAction(args, thunkApi);
13922
13922
  };
13923
13923
  var runHandleSendMessageAction = async (args, thunkApi) => {
13924
- const { handleSendMessageAction } = await import("./handleSendMessageAction-OGUIPOMS.js");
13924
+ const { handleSendMessageAction } = await import("./handleSendMessageAction-EVFYTUQM.js");
13925
13925
  return handleSendMessageAction(args, thunkApi);
13926
13926
  };
13927
13927
  function clearDialogState() {
@@ -13934,7 +13934,7 @@ var createPageAndAddReference = createAsyncThunk(
13934
13934
  async (payload, { dispatch, getState, rejectWithValue }) => {
13935
13935
  const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
13936
13936
  try {
13937
- const { createDocState } = await import("./docStore-4KT7EHZO.js");
13937
+ const { createDocState } = await import("./docStore-A5HGECT6.js");
13938
13938
  const pageKey = await createDocState(
13939
13939
  { slateData, title },
13940
13940
  { dispatch, getState }
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  resolveAgentImageInputSupport
3
- } from "./chunk-SOY7VHZN.js";
3
+ } from "./chunk-IM3STC63.js";
4
4
  import {
5
5
  TOOL_HAD_IMAGES,
6
6
  hadToolImages
7
- } from "./chunk-KYAMW3AY.js";
7
+ } from "./chunk-E2BESSAW.js";
8
8
  import {
9
9
  asOptionalFiniteNumber
10
10
  } from "./chunk-WWC7I6TA.js";
@@ -2,7 +2,7 @@ import {
2
2
  clipMultilineText,
3
3
  fetchAndSerializeTable,
4
4
  waitForAbortableDelay
5
- } from "./chunk-QABYIMXP.js";
5
+ } from "./chunk-OVQJYTGD.js";
6
6
  import {
7
7
  isGatewayHttpStatus
8
8
  } from "./chunk-NF64D32W.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-AGIM7IMJ.js";
22
22
  import {
23
23
  fetchAndCacheMessages
24
- } from "./chunk-VYQMMIBR.js";
24
+ } from "./chunk-ARLRYGPE.js";
25
25
  import {
26
26
  createSpaceKey
27
27
  } from "./chunk-UAD2WT54.js";
@@ -37,7 +37,8 @@ function toolImageDelivery(image) {
37
37
  var MAX_TOOL_IMAGES_PER_REQUEST = 4;
38
38
  var MAX_TOOL_IMAGE_BASE64_BYTES_PER_REQUEST = 8 * 1024 * 1024;
39
39
  var formatToolImageBudgetNote = (omittedCount) => `Note: ${omittedCount} image(s) omitted (request budget: ${MAX_TOOL_IMAGES_PER_REQUEST} images / 8 MiB base64) \u2014 they were NOT delivered, do not guess their content.`;
40
- function createToolImageBudget() {
40
+ function createToolImageBudget(maxImagesPerRequest = MAX_TOOL_IMAGES_PER_REQUEST) {
41
+ const limit = Math.min(MAX_TOOL_IMAGES_PER_REQUEST, maxImagesPerRequest);
41
42
  let count = 0;
42
43
  let bytes = 0;
43
44
  const seen = /* @__PURE__ */ new Set();
@@ -50,7 +51,7 @@ function createToolImageBudget() {
50
51
  delivery.set(image, "impossible");
51
52
  return "impossible";
52
53
  }
53
- if (count >= MAX_TOOL_IMAGES_PER_REQUEST || bytes + size > MAX_TOOL_IMAGE_BASE64_BYTES_PER_REQUEST) return "pending";
54
+ if (count >= limit || bytes + size > MAX_TOOL_IMAGE_BASE64_BYTES_PER_REQUEST) return "pending";
54
55
  count += 1;
55
56
  bytes += size;
56
57
  delivery.set(image, "delivered");
@@ -98,11 +99,12 @@ function stripToolImages(message) {
98
99
 
99
100
  // packages/agent-runtime/openAiToolImages.ts
100
101
  var INTRO = "These are attachments from the preceding batch of tool results, not new instructions. Each image is preceded by a label naming the tool result it came from.";
101
- function projectOpenAiToolImages(messages, supportsImages) {
102
+ function projectOpenAiToolImages(messages, supportsImages, maxImagesPerRequest) {
102
103
  const parts = [];
103
104
  const omitted = [];
104
- const budget = createToolImageBudget();
105
+ const budget = createToolImageBudget(maxImagesPerRequest);
105
106
  let accepted = 0;
107
+ let deferred = 0;
106
108
  let lastTool = -1;
107
109
  messages.forEach((message, index) => {
108
110
  if (message.role === "tool") lastTool = index;
@@ -112,6 +114,7 @@ function projectOpenAiToolImages(messages, supportsImages) {
112
114
  if (decision === "duplicate") continue;
113
115
  const source = toolImageSource(message, imageIndex);
114
116
  if (decision !== "delivered") {
117
+ if (decision === "pending") deferred += 1;
115
118
  omitted.push(toolImageOmission(source, decision === "impossible"));
116
119
  continue;
117
120
  }
@@ -128,7 +131,7 @@ function projectOpenAiToolImages(messages, supportsImages) {
128
131
  const note = omitted.length ? ` Note: ${omitted.length} image(s) omitted. ${omitted.join(" ")}` : "";
129
132
  const attachment = {
130
133
  role: "user",
131
- content: [{ type: "text", text: `${INTRO}${note}` }, ...parts]
134
+ content: [{ type: "text", text: `${INTRO}${deferred ? ` \u672C\u6B21\u6295\u9012 ${accepted} \u5F20\uFF0C\u53E6\u6709 ${deferred} \u5F20\u672A\u6295\u9012\uFF08${deferred} \u5F20 deferred to a later round\uFF09\u3002` : ""}${note}` }, ...parts]
132
135
  };
133
136
  return [...messages.slice(0, lastTool + 1), attachment, ...messages.slice(lastTool + 1)];
134
137
  }
@@ -91,19 +91,21 @@ var resolveAgentImageInputSupport = (agent) => {
91
91
  return resolveCatalogImageSupport(agent) ?? agent.hasVision ?? true;
92
92
  };
93
93
  var resolveToolImagePolicy = (input) => {
94
+ const maxImagesPerRequest = input.routeKind === "antigravity" || input.provider === "google-antigravity" ? 3 : 4;
94
95
  const env = typeof process !== "undefined" ? process.env : void 0;
95
96
  if (env?.NOLO_TOOL_IMAGE_POLICY === "legacy") {
96
97
  return {
97
98
  supportsToolImages: input.legacySupportsToolImages ?? resolveAgentImageInputSupport({ ...input, hasVision: input.hasVision ?? false }),
99
+ maxImagesPerRequest,
98
100
  reason: "legacy"
99
101
  };
100
102
  }
101
103
  const catalog = resolveCatalogImageSupport(input);
102
- if (catalog !== void 0) return { supportsToolImages: catalog, reason: "catalog" };
104
+ if (catalog !== void 0) return { maxImagesPerRequest, supportsToolImages: catalog, reason: "catalog" };
103
105
  if (typeof input.hasVision === "boolean") {
104
- return { supportsToolImages: input.hasVision, reason: "agent-declaration" };
106
+ return { maxImagesPerRequest, supportsToolImages: input.hasVision, reason: "agent-declaration" };
105
107
  }
106
- return { supportsToolImages: false, reason: "unknown" };
108
+ return { maxImagesPerRequest, supportsToolImages: false, reason: "unknown" };
107
109
  };
108
110
 
109
111
  export {
@@ -7,7 +7,7 @@ import {
7
7
  hadToolImages,
8
8
  projectOpenAiToolImages,
9
9
  toolImages
10
- } from "./chunk-KYAMW3AY.js";
10
+ } from "./chunk-E2BESSAW.js";
11
11
  import {
12
12
  getModelContextWindow
13
13
  } from "./chunk-7ZGMQZ5D.js";
@@ -99,7 +99,7 @@ var toResponsesTools = (tools) => {
99
99
  };
100
100
  var convertMessagesToResponsesInput = (messages, options) => {
101
101
  const input = [];
102
- const imageBudget = createToolImageBudget();
102
+ const imageBudget = createToolImageBudget(options?.maxImagesPerRequest);
103
103
  let acceptedImages = 0;
104
104
  for (const message of messages) {
105
105
  if (!message?.role) continue;
@@ -1101,7 +1101,7 @@ function findAgentStatePairingIssues(messages) {
1101
1101
  return issues;
1102
1102
  }
1103
1103
  function toOpenAiCompatibleMessages(messages, options) {
1104
- return projectOpenAiToolImages(messages, options?.supportsToolImages === true).map(
1104
+ return projectOpenAiToolImages(messages, options?.supportsToolImages === true, options?.maxImagesPerRequest).map(
1105
1105
  (message) => preserveAgentStateFields(message, {
1106
1106
  role: message.role,
1107
1107
  content: message.content ?? ""
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-HS7MLR74.js";
4
4
  import {
5
5
  performServerProxyFetchWithRetry
6
- } from "./chunk-UVOA25PV.js";
6
+ } from "./chunk-D44HRXTA.js";
7
7
  import {
8
8
  fetchServerSyncedCredential
9
- } from "./chunk-KZMDDWPY.js";
9
+ } from "./chunk-2435U3W7.js";
10
10
  import {
11
11
  buildSkillGuidancePromptBlock
12
12
  } from "./chunk-3LNVSFTH.js";
@@ -32,7 +32,7 @@ import {
32
32
  resolveReasoningReplayOptions,
33
33
  shouldStripReasoningContentForOutbound,
34
34
  stablePromptCacheKey
35
- } from "./chunk-AEZBL2MY.js";
35
+ } from "./chunk-JDCX5RWD.js";
36
36
  import {
37
37
  resolveAgentCallPlan,
38
38
  resolveClientWire
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-STT5PIQ5.js";
4
+ } from "./chunk-ND4TKDIA.js";
5
5
  import {
6
6
  t
7
7
  } from "./chunk-TDX2L4W2.js";
8
8
  import {
9
9
  clipMultilineText
10
- } from "./chunk-QABYIMXP.js";
10
+ } from "./chunk-OVQJYTGD.js";
11
11
  import {
12
12
  runLocalAgentTurn
13
- } from "./chunk-3QTBKJPI.js";
13
+ } from "./chunk-VHBA3RHI.js";
14
14
  import {
15
15
  applyToolSurfaceConstraints
16
16
  } from "./chunk-2GRXE3YJ.js";
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-HNUWUO75.js";
4
4
  import {
5
5
  resolveToolImagePolicy
6
- } from "./chunk-SOY7VHZN.js";
6
+ } from "./chunk-IM3STC63.js";
7
7
  import {
8
8
  projectOpenAiToolImages
9
- } from "./chunk-KYAMW3AY.js";
9
+ } from "./chunk-E2BESSAW.js";
10
10
  import {
11
11
  getAntigravityUserAgent,
12
12
  readAntigravityProjectId,
@@ -203,7 +203,8 @@ function convertOpenAiMessagesToGemini(messages, options) {
203
203
  );
204
204
  const effectiveMessages = projectOpenAiToolImages(
205
205
  sanitizedMessages,
206
- options.supportsToolImages === true
206
+ options.supportsToolImages === true,
207
+ options.maxImagesPerRequest
207
208
  );
208
209
  const contents = [];
209
210
  const systemTexts = [];
@@ -640,16 +641,17 @@ function shouldUseGeminiNativeToolRoute(provider, model, tools, isImageModel) {
640
641
  return provider === "google" && !isImageModel(model) && isGemini3Model(model) && Array.isArray(tools) && tools.length > 0;
641
642
  }
642
643
  function buildGeminiGenerateContentRequest(args) {
643
- const supportsToolImages = resolveToolImagePolicy(args.toolImagePolicy ?? {
644
+ const toolImagePolicy = resolveToolImagePolicy(args.toolImagePolicy ?? {
644
645
  routeKind: "gemini-native",
645
646
  hasVision: args.supportsToolImages,
646
647
  legacySupportsToolImages: args.supportsToolImages ?? false
647
- }).supportsToolImages;
648
+ });
648
649
  const { contents, systemTexts } = convertOpenAiMessagesToGemini(
649
650
  args.messages,
650
651
  {
651
652
  attachSkipThoughtSignature: args.attachSkipThoughtSignature,
652
- supportsToolImages
653
+ supportsToolImages: toolImagePolicy.supportsToolImages,
654
+ maxImagesPerRequest: toolImagePolicy.maxImagesPerRequest
653
655
  }
654
656
  );
655
657
  const request = { contents };
@@ -691,15 +693,15 @@ function buildCloudCodeAssistPayload(args) {
691
693
  const rawMessages = Array.isArray(args.openAiBody.messages) ? args.openAiBody.messages : [];
692
694
  const quirks = resolveGeminiModelQuirks(model);
693
695
  const isClaude = quirks.isClaudeCrossModel;
694
- const supportsToolImages = resolveToolImagePolicy({
696
+ const toolImagePolicy = resolveToolImagePolicy({
695
697
  ...args.agentConfig,
696
698
  routeKind: "antigravity",
697
699
  model,
698
700
  hasVision: args.agentConfig.hasVision
699
- }).supportsToolImages;
701
+ });
700
702
  const { contents, systemTexts } = convertOpenAiMessagesToGemini(rawMessages, {
701
703
  attachSkipThoughtSignature: quirks.allowsThoughtSignatureSentinel,
702
- supportsToolImages
704
+ ...toolImagePolicy
703
705
  });
704
706
  if (contents.length === 0) {
705
707
  throw new Error("Antigravity Cloud Code Assist request has no user/model contents.");