nolo-cli 0.176.0-alpha.1 → 0.177.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/{_executeModel-OV72YSE4.js → _executeModel-V4F6LXUR.js} +14 -14
  2. package/{accountResolver-YGMLY3WW.js → accountResolver-OHS53Q75.js} +2 -2
  3. package/{agentDeleteCommand-HOWS5BAT.js → agentDeleteCommand-Q34SO5JA.js} +18 -18
  4. package/{agentEmailCommands-3EETPZFC.js → agentEmailCommands-UKGXC6EZ.js} +20 -20
  5. package/{agentListCommands-7ZZHM4GC.js → agentListCommands-TKISVN5E.js} +8 -8
  6. package/{agentMachineCommands-BGQVXERS.js → agentMachineCommands-KH5DKZLK.js} +9 -9
  7. package/{agentRecordCommands-L2O46J54.js → agentRecordCommands-IS2D3GFH.js} +19 -19
  8. package/{agentRunCommand-7HDQ4RLO.js → agentRunCommand-FVBEBQY5.js} +20 -20
  9. package/{agentRuntimeLocal-3QX3FMER.js → agentRuntimeLocal-3WVVZA4K.js} +8 -8
  10. package/{agentSlice-VC7BZD5N.js → agentSlice-QNH6SH4J.js} +1 -1
  11. package/{appDeleteCommands-NJAVC6F4.js → appDeleteCommands-3FLNWSML.js} +8 -8
  12. package/{appDeployCommands-POTCQDWQ.js → appDeployCommands-SO2UPSMM.js} +8 -8
  13. package/{appDeployStatusCommands-YIG5S2ET.js → appDeployStatusCommands-TDUC6XEA.js} +8 -8
  14. package/{appGetCommands-HSXKEA64.js → appGetCommands-WOEMW3PO.js} +8 -8
  15. package/{appListCommands-GKLZKGKZ.js → appListCommands-2BXN56DM.js} +8 -8
  16. package/{authCommand-2IUG2PX7.js → authCommand-R2VRZLJY.js} +3 -3
  17. package/{chromeCommands-Z5LDHMYN.js → chromeCommands-VANHVOCE.js} +2 -2
  18. package/{chromeOpsCommands-CHBIUDJD.js → chromeOpsCommands-RY776THN.js} +2 -2
  19. package/{chunk-73FHDE7C.js → chunk-32Z3HRB4.js} +2 -2
  20. package/{chunk-P3KTMRQ2.js → chunk-33A622FT.js} +1 -1
  21. package/{chunk-S4SXPMPC.js → chunk-3TPHYXLU.js} +2 -2
  22. package/{chunk-GJU7F5IR.js → chunk-45QG4FAQ.js} +1 -1
  23. package/{chunk-U3YGSKXD.js → chunk-AEZBL2MY.js} +1 -1
  24. package/{chunk-DRR5E2EM.js → chunk-D6QFFZVF.js} +2 -2
  25. package/{chunk-MR7SWXO4.js → chunk-F5FKWNKF.js} +16 -16
  26. package/{chunk-36OQE7ZU.js → chunk-FQAQNSLP.js} +9 -9
  27. package/{chunk-SRZ6BQIP.js → chunk-HIVDQPQR.js} +9 -1
  28. package/{chunk-IR55JAHL.js → chunk-IWJROEPD.js} +3 -3
  29. package/{chunk-TV6QW46C.js → chunk-KVCFBIRU.js} +8 -8
  30. package/{chunk-IJOJMOCX.js → chunk-KYAMW3AY.js} +4 -4
  31. package/{chunk-GHNRJ3TK.js → chunk-KZMDDWPY.js} +3 -3
  32. package/{chunk-QMFYP3O4.js → chunk-NCBXTFBP.js} +2 -2
  33. package/{chunk-QA5LXQFO.js → chunk-NOW2BQI4.js} +56 -20
  34. package/{chunk-GA4NE7QH.js → chunk-OD6ENIKN.js} +3 -3
  35. package/{chunk-3ERN2PSD.js → chunk-OEVWFVSS.js} +3 -3
  36. package/{chunk-XIM37FAU.js → chunk-PSJXWKPQ.js} +8 -8
  37. package/{chunk-SYIWIP4D.js → chunk-QABYIMXP.js} +2 -2
  38. package/{chunk-JJE5HQ6M.js → chunk-SDONLCYB.js} +5 -5
  39. package/{chunk-CCWUO2ZE.js → chunk-SLSWIH7D.js} +2 -2
  40. package/{chunk-XRU4QTSX.js → chunk-SOY7VHZN.js} +0 -3
  41. package/{chunk-33AGCT5W.js → chunk-TM2I6CPS.js} +1 -1
  42. package/{chunk-UPJVQK5J.js → chunk-UVOA25PV.js} +2 -2
  43. package/{chunk-LQRXBYTS.js → chunk-VYQMMIBR.js} +8 -8
  44. package/{chunk-CS4FUKMG.js → chunk-XEAOB5YS.js} +2 -2
  45. package/{chunk-DPQYIS6D.js → chunk-YUXSWHQC.js} +3 -2
  46. package/{commandRegistry-B24YK3LB.js → commandRegistry-DRJQWHOB.js} +51 -51
  47. package/{contentThunks-F4Y7V4IH.js → contentThunks-BMJI3JJA.js} +3 -3
  48. package/{createAgentAutomationAction-7K5M7ULU.js → createAgentAutomationAction-VC3PLYUE.js} +3 -3
  49. package/{createDialogAction-SYA2LFEN.js → createDialogAction-VAB5FNNF.js} +4 -4
  50. package/{createPageAction-FAYZZVYI.js → createPageAction-QECNYENN.js} +3 -3
  51. package/{dialogCommands-K6AQZTAS.js → dialogCommands-XJEBD7GL.js} +8 -8
  52. package/{dialogSlice-QRWP73XJ.js → dialogSlice-JOMW24BQ.js} +2 -2
  53. package/{docCreateCommands-3ZDCDYLH.js → docCreateCommands-6W77Z3OF.js} +8 -8
  54. package/{docDeleteCommands-O74MHZEA.js → docDeleteCommands-BXROTTZN.js} +8 -8
  55. package/{docReadCommands-QJPAFQS3.js → docReadCommands-63O7O5GV.js} +8 -8
  56. package/{docStore-TABPPAGD.js → docStore-4KT7EHZO.js} +1 -1
  57. package/{docUpdateCommands-M3THSN6V.js → docUpdateCommands-BHCB5LCK.js} +8 -8
  58. package/{handleSendMessageAction-FRBUFXEC.js → handleSendMessageAction-OGUIPOMS.js} +8 -8
  59. package/index.js +4 -4
  60. package/{localRuntimeAdapter-2YSA5D7P.js → localRuntimeAdapter-UTNONWD3.js} +18 -18
  61. package/{machineCommands-LVRRVNPD.js → machineCommands-FKJYH63H.js} +19 -19
  62. package/{machineWsRunDispatch-HUQ6HPSC.js → machineWsRunDispatch-UYJUTEXN.js} +19 -19
  63. package/package.json +1 -1
  64. package/{readlineWorkspace-N74QNU7H.js → readlineWorkspace-JBPJ53IJ.js} +20 -20
  65. package/{runAgentClientLoop-NYZWX6JF.js → runAgentClientLoop-RDYMQTSB.js} +12 -12
  66. package/{spaceCommands-5ZN5J2X3.js → spaceCommands-XOBEB5PB.js} +8 -8
  67. package/{streamAgentChatTurn-LP3RQ3K5.js → streamAgentChatTurn-UOBJLR2V.js} +16 -16
  68. package/{tools-KYFVARQ5.js → tools-B55PB6ML.js} +7 -7
  69. package/{tuiSummaryLlmCaller-OM3V6TZG.js → tuiSummaryLlmCaller-H2CLON2B.js} +4 -4
  70. package/{updateDialogTitleAction-4ESKJ7L6.js → updateDialogTitleAction-NPNSXH5Z.js} +3 -3
@@ -2,7 +2,7 @@ import {
2
2
  DEVIN_CONNECT_URL,
3
3
  parseSseDataLineJson,
4
4
  parseSseDataLineObject
5
- } from "./chunk-QMFYP3O4.js";
5
+ } from "./chunk-NCBXTFBP.js";
6
6
  import {
7
7
  applyChatCompletionDelta,
8
8
  applyResponsesToolEvent,
@@ -11,7 +11,7 @@ import {
11
11
  flushChatCompletionStream,
12
12
  providerHttpFailure,
13
13
  throwIfChatCompletionStreamFailed
14
- } from "./chunk-DRR5E2EM.js";
14
+ } from "./chunk-D6QFFZVF.js";
15
15
  import {
16
16
  readSseFrames
17
17
  } from "./chunk-HNUWUO75.js";
@@ -23,12 +23,13 @@ import {
23
23
  EXECUTION_BACKEND_KINDS
24
24
  } from "./chunk-PWTNI4N7.js";
25
25
  import {
26
+ formatImageSummary,
26
27
  readLocalImage
27
- } from "./chunk-SRZ6BQIP.js";
28
+ } from "./chunk-HIVDQPQR.js";
28
29
  import {
29
30
  hasImageInRuntimeMessages,
30
31
  stripImagePartsFromMessages
31
- } from "./chunk-CS4FUKMG.js";
32
+ } from "./chunk-XEAOB5YS.js";
32
33
  import {
33
34
  clipToolText,
34
35
  resolveHistoricalToolContentCap,
@@ -37,7 +38,7 @@ import {
37
38
  import {
38
39
  resolveAgentImageInputSupport,
39
40
  resolveToolImagePolicy
40
- } from "./chunk-XRU4QTSX.js";
41
+ } from "./chunk-SOY7VHZN.js";
41
42
  import {
42
43
  applyShapingCounts,
43
44
  attachProjectionFacts,
@@ -96,7 +97,7 @@ import {
96
97
  toOpenAiCompatibleMessages,
97
98
  toResponsesTools,
98
99
  transferDowngradedToolTurnOrigin
99
- } from "./chunk-U3YGSKXD.js";
100
+ } from "./chunk-AEZBL2MY.js";
100
101
  import {
101
102
  TOOL_HAD_IMAGES,
102
103
  TOOL_IMAGES,
@@ -109,7 +110,7 @@ import {
109
110
  toolImageDelivery,
110
111
  toolImages,
111
112
  withoutToolImages
112
- } from "./chunk-IJOJMOCX.js";
113
+ } from "./chunk-KYAMW3AY.js";
113
114
  import {
114
115
  BRIDGE_STREAM_MAX_CHARS,
115
116
  CLI_NOLO_WORKSPACE_TOOL_NAMES,
@@ -16017,11 +16018,9 @@ function createHostWindowCapture(options = {}) {
16017
16018
  const path = fileURLToPath2(uri);
16018
16019
  const image = await (options.readImage ?? readLocalImage)(path);
16019
16020
  if (!image.images?.length) throw new Error("portal image could not be decoded");
16020
- const dimensions = /\[image (\d+x\d+) (\d+) bytes/.exec(image.content);
16021
- if (!dimensions) throw new Error("invalid image summary");
16022
16021
  return {
16023
16022
  ...image,
16024
- content: `[screenshot ${dimensions[1]} ${Math.round(Number(dimensions[2]) / 1024)}KB \u2192 ${path}]
16023
+ content: `${formatImageSummary({ kind: "screenshot", ...image.imageSummary })}
16025
16024
  \u6765\u6E90\uFF1A\u5BBF\u4E3B portal \u5168\u5C4F/\u4EA4\u4E92\u9009\u62E9\u7ED3\u679C\uFF1Bportal \u672A\u63D0\u4F9B\u5E94\u7528/\u7A97\u53E3\u8EAB\u4EFD\uFF0C\u65E0\u6CD5\u786E\u8BA4\u7A97\u53E3\u540D\u3002`
16026
16025
  };
16027
16026
  } finally {
@@ -16886,8 +16885,17 @@ function buildWorkspaceToolDefinition(toolName) {
16886
16885
  type: "function",
16887
16886
  function: {
16888
16887
  name: "read_image",
16889
- description: "Read one local PNG/JPEG/WebP/GIF image. Long edges above 1568px are resized to JPEG q80. Maximum encoded base64 size is 2MiB.",
16890
- parameters: { type: "object", properties: { path: buildWorkspacePathProperty() }, required: ["path"], additionalProperties: false }
16888
+ description: "Read 1 to 4 local PNG/JPEG/WebP/GIF images in one call. Supply either path (one image) or paths (1\u20134 images), never both. Any failure rejects the entire batch. Long edges above 1568px are resized to JPEG q80. Maximum encoded base64 size is 2MiB per image; request budget remains 4 images / 8MiB.",
16889
+ parameters: {
16890
+ type: "object",
16891
+ properties: {
16892
+ path: buildWorkspacePathProperty(),
16893
+ paths: { type: "array", items: buildWorkspacePathProperty(), minItems: 1, maxItems: 4 }
16894
+ },
16895
+ // 不用 oneOf:不少兼容网关/严格模式不支持参数级组合子,模型会两个都传 →
16896
+ // 执行器拒绝 → 反复重试形成死循环(2026-10-27 实测)。互斥由执行器校验。
16897
+ additionalProperties: false
16898
+ }
16891
16899
  }
16892
16900
  };
16893
16901
  }
@@ -17898,7 +17906,7 @@ async function captureVisualStateTool(args2) {
17898
17906
  `waitSelector: ${captureArgs.waitSelector}`,
17899
17907
  ...captureArgs.focusSelector ? [`focusSelector: ${captureArgs.focusSelector}`] : [],
17900
17908
  ...captureArgs.expectText ? [`expectText: ${captureArgs.expectText}`] : [],
17901
- image.content.replace("[image ", "[screenshot ").replace(/(\d+) bytes/, (_, bytes) => `${Math.ceil(Number(bytes) / 1024)}KB`)
17909
+ formatImageSummary({ kind: "screenshot", ...image.imageSummary })
17902
17910
  ].join("\n"),
17903
17911
  images: image.images,
17904
17912
  metadata: {
@@ -18298,13 +18306,41 @@ function createLocalWorkspaceToolExecutors(args2) {
18298
18306
  },
18299
18307
  read_image: async (call) => {
18300
18308
  const parsed = parseWorkspaceToolArguments(call.arguments);
18301
- if (Object.keys(parsed).some((key) => key !== "path")) throw new Error("read_image accepts exactly one path");
18302
- const absolutePath = await resolveLocalWorkspaceToolPath({
18303
- workspaceRoot: args2.workspaceRoot,
18304
- requestedPath: requireWorkspaceToolPath(parsed),
18305
- ...fileAccess
18306
- });
18307
- return readLocalImage(absolutePath);
18309
+ if (Object.keys(parsed).some((key) => key !== "path" && key !== "paths")) {
18310
+ throw new Error("read_image accepts only path or paths");
18311
+ }
18312
+ const mergedPaths = [];
18313
+ if ("paths" in parsed) {
18314
+ if (!Array.isArray(parsed.paths)) throw new Error("read_image: paths must be an array of strings");
18315
+ mergedPaths.push(...parsed.paths);
18316
+ }
18317
+ if ("path" in parsed) mergedPaths.unshift(requireWorkspaceToolPath(parsed));
18318
+ if (mergedPaths.length === 0) {
18319
+ throw new Error("read_image requires path or paths");
18320
+ }
18321
+ if (mergedPaths.length > 4) {
18322
+ throw new Error(`read_image: maximum 4 images; received ${mergedPaths.length}`);
18323
+ }
18324
+ const paths = mergedPaths;
18325
+ if (!Array.isArray(paths) || paths.length === 0 || paths.some((path) => typeof path !== "string" || !path.trim())) {
18326
+ throw new Error("read_image: paths must contain 1 to 4 non-empty string paths (maximum 4 images)");
18327
+ }
18328
+ const results2 = await Promise.all(paths.map(async (path) => {
18329
+ try {
18330
+ const absolutePath = await resolveLocalWorkspaceToolPath({
18331
+ workspaceRoot: args2.workspaceRoot,
18332
+ requestedPath: path,
18333
+ ...fileAccess
18334
+ });
18335
+ return await readLocalImage(absolutePath);
18336
+ } catch (error) {
18337
+ throw new Error(`read_image: failed to read ${JSON.stringify(path)}: ${error instanceof Error ? error.message : String(error)}`);
18338
+ }
18339
+ }));
18340
+ return {
18341
+ content: results2.map((result4) => result4.content).join("\n"),
18342
+ images: results2.flatMap((result4) => result4.images ?? [])
18343
+ };
18308
18344
  },
18309
18345
  readFile: (call) => readFileTool({
18310
18346
  call,
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-HS7MLR74.js";
4
4
  import {
5
5
  performServerProxyFetchWithRetry
6
- } from "./chunk-UPJVQK5J.js";
6
+ } from "./chunk-UVOA25PV.js";
7
7
  import {
8
8
  fetchServerSyncedCredential
9
- } from "./chunk-GHNRJ3TK.js";
9
+ } from "./chunk-KZMDDWPY.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-U3YGSKXD.js";
35
+ } from "./chunk-AEZBL2MY.js";
36
36
  import {
37
37
  resolveAgentCallPlan,
38
38
  resolveClientWire
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-UPJVQK5J.js";
4
+ } from "./chunk-UVOA25PV.js";
5
5
  import {
6
6
  updateTokensAction
7
- } from "./chunk-LQRXBYTS.js";
7
+ } from "./chunk-VYQMMIBR.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-U3YGSKXD.js";
15
+ } from "./chunk-AEZBL2MY.js";
16
16
  import {
17
17
  isRecord
18
18
  } from "./chunk-KUG52IAP.js";
@@ -5,7 +5,7 @@ import {
5
5
  inlineImageUrlsForCustomProvider,
6
6
  prepareTools,
7
7
  shouldInlineImageUrlsForAgent
8
- } from "./chunk-CCWUO2ZE.js";
8
+ } from "./chunk-SLSWIH7D.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-GA4NE7QH.js";
17
+ } from "./chunk-OD6ENIKN.js";
18
18
  import {
19
19
  findToolExecutor,
20
20
  toolDefinitionsByName
21
- } from "./chunk-TV6QW46C.js";
21
+ } from "./chunk-KVCFBIRU.js";
22
22
  import {
23
23
  classifyApiError,
24
24
  classifyGenerationError,
25
25
  extractErrorDiagnostics
26
- } from "./chunk-UPJVQK5J.js";
26
+ } from "./chunk-UVOA25PV.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-SYIWIP4D.js";
35
+ } from "./chunk-QABYIMXP.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-LQRXBYTS.js";
45
+ } from "./chunk-VYQMMIBR.js";
46
46
  import {
47
47
  streamAgentChatTurn
48
- } from "./chunk-GHNRJ3TK.js";
48
+ } from "./chunk-KZMDDWPY.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-U3YGSKXD.js";
88
+ } from "./chunk-AEZBL2MY.js";
89
89
  import {
90
90
  EMPTY_ASSISTANT_REPAIR_PROMPT
91
91
  } from "./chunk-T7HBI3WZ.js";
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-VYNMQ6HW.js";
9
9
  import {
10
10
  fetchAndCacheTableRows
11
- } from "./chunk-GJU7F5IR.js";
11
+ } from "./chunk-45QG4FAQ.js";
12
12
  import {
13
13
  require_react
14
14
  } from "./chunk-YDH3FDFQ.js";
@@ -521,7 +521,7 @@ var executeToolRun = createAsyncThunk(
521
521
  if (!executionInput) {
522
522
  throw new Error(`ToolRun ${id} has no input to execute with.`);
523
523
  }
524
- const { findToolExecutor } = await import("./tools-KYFVARQ5.js");
524
+ const { findToolExecutor } = await import("./tools-B55PB6ML.js");
525
525
  const { executor } = findToolExecutor(run.toolName);
526
526
  toolRunStarted({
527
527
  id: run.id,
@@ -7,7 +7,7 @@ import {
7
7
  mergeReferences,
8
8
  resolveReferenceAssets,
9
9
  resolveToolsFromKeys
10
- } from "./chunk-UPJVQK5J.js";
10
+ } from "./chunk-UVOA25PV.js";
11
11
  import {
12
12
  UI_CARD_ENVELOPE_MAX_BYTES,
13
13
  getAllToolRuns,
@@ -20,7 +20,7 @@ import {
20
20
  selectSpaceContextLevel,
21
21
  selectUserTonePreset,
22
22
  uiCardFallback
23
- } from "./chunk-SYIWIP4D.js";
23
+ } from "./chunk-QABYIMXP.js";
24
24
  import {
25
25
  resolveToolBaseUrl
26
26
  } from "./chunk-MYOH447Z.js";
@@ -32,15 +32,15 @@ import {
32
32
  } from "./chunk-TDNAAXUQ.js";
33
33
  import {
34
34
  getDocState
35
- } from "./chunk-S4SXPMPC.js";
35
+ } from "./chunk-3TPHYXLU.js";
36
36
  import {
37
37
  getTableState
38
- } from "./chunk-GJU7F5IR.js";
38
+ } from "./chunk-45QG4FAQ.js";
39
39
  import {
40
40
  PERSONALIZATION_DIALOG_CATEGORY,
41
41
  buildPersonalizationDialogPolicyContext,
42
42
  selectAllMsgs
43
- } from "./chunk-LQRXBYTS.js";
43
+ } from "./chunk-VYQMMIBR.js";
44
44
  import {
45
45
  getCurrentSpaceIdRaw,
46
46
  getViewMode
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-TV6QW46C.js";
3
+ } from "./chunk-KVCFBIRU.js";
4
4
  import {
5
5
  runtime_default
6
- } from "./chunk-LQRXBYTS.js";
6
+ } from "./chunk-VYQMMIBR.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
9
  } from "./chunk-5EBLANFT.js";
@@ -98,9 +98,6 @@ var resolveToolImagePolicy = (input) => {
98
98
  reason: "legacy"
99
99
  };
100
100
  }
101
- if (input.routeKind === "antigravity" && env?.NOLO_TOOL_IMAGES_ALLOW_ANTIGRAVITY !== "1") {
102
- return { supportsToolImages: false, reason: "route-unsupported" };
103
- }
104
101
  const catalog = resolveCatalogImageSupport(input);
105
102
  if (catalog !== void 0) return { supportsToolImages: catalog, reason: "catalog" };
106
103
  if (typeof input.hasVision === "boolean") {
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-62TBKWTV.js";
7
7
  import {
8
8
  clearCliLocalRuntimePreparedAgentCache
9
- } from "./chunk-MR7SWXO4.js";
9
+ } from "./chunk-F5FKWNKF.js";
10
10
  import {
11
11
  readCredentialAvailability
12
12
  } from "./chunk-R4BMKAR5.js";
@@ -2,7 +2,7 @@ import {
2
2
  clipMultilineText,
3
3
  fetchAndSerializeTable,
4
4
  waitForAbortableDelay
5
- } from "./chunk-SYIWIP4D.js";
5
+ } from "./chunk-QABYIMXP.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-LQRXBYTS.js";
24
+ } from "./chunk-VYQMMIBR.js";
25
25
  import {
26
26
  createSpaceKey
27
27
  } from "./chunk-UAD2WT54.js";
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-QYPE3TS3.js";
12
12
  import {
13
13
  runLlm
14
- } from "./chunk-GHNRJ3TK.js";
14
+ } from "./chunk-KZMDDWPY.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-VC7BZD5N.js");
11067
+ const { streamAgentChatTurn } = await import("./agentSlice-QNH6SH4J.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-QRWP73XJ.js");
13884
+ const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-JOMW24BQ.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-SYA2LFEN.js");
13892
+ const { createDialogAction } = await import("./createDialogAction-VAB5FNNF.js");
13893
13893
  return createDialogAction(args, thunkApi);
13894
13894
  };
13895
13895
  var runCreateAgentAutomationAction = async (args, thunkApi) => {
13896
- const { createAgentAutomationAction } = await import("./createAgentAutomationAction-7K5M7ULU.js");
13896
+ const { createAgentAutomationAction } = await import("./createAgentAutomationAction-VC3PLYUE.js");
13897
13897
  return createAgentAutomationAction(args, thunkApi);
13898
13898
  };
13899
13899
  var runUpdateDialogTitleAction = async (args, thunkApi) => {
13900
- const { updateDialogTitleAction } = await import("./updateDialogTitleAction-4ESKJ7L6.js");
13900
+ const { updateDialogTitleAction } = await import("./updateDialogTitleAction-NPNSXH5Z.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-FRBUFXEC.js");
13924
+ const { handleSendMessageAction } = await import("./handleSendMessageAction-OGUIPOMS.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-TABPPAGD.js");
13937
+ const { createDocState } = await import("./docStore-4KT7EHZO.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-XRU4QTSX.js";
3
+ } from "./chunk-SOY7VHZN.js";
4
4
  import {
5
5
  TOOL_HAD_IMAGES,
6
6
  hadToolImages
7
- } from "./chunk-IJOJMOCX.js";
7
+ } from "./chunk-KYAMW3AY.js";
8
8
  import {
9
9
  asOptionalFiniteNumber
10
10
  } from "./chunk-WWC7I6TA.js";
@@ -1,6 +1,7 @@
1
1
  import {
2
+ formatImageSummary,
2
3
  readLocalImage
3
- } from "./chunk-SRZ6BQIP.js";
4
+ } from "./chunk-HIVDQPQR.js";
4
5
  import {
5
6
  isRecord
6
7
  } from "./chunk-KUG52IAP.js";
@@ -247,7 +248,7 @@ async function screenshotResult(result) {
247
248
  const image = await readLocalImage(path);
248
249
  return {
249
250
  content: `${JSON.stringify({ ok: true, result: { ...summary, savedTo: path } })}
250
- ${image.content.replace(/^\[image /, "[screenshot ")}`,
251
+ ${formatImageSummary({ kind: "screenshot", ...image.imageSummary })}`,
251
252
  images: image.images
252
253
  };
253
254
  } catch (error) {