nolo-cli 0.178.0-alpha.2 → 0.180.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 (78) hide show
  1. package/{_executeModel-ZP6M2EWK.js → _executeModel-ACI2KGWO.js} +19 -19
  2. package/{accountResolver-OHS53Q75.js → accountResolver-HPVXZJYD.js} +1 -1
  3. package/{agentDeleteCommand-7TH3MY5U.js → agentDeleteCommand-LVSLONDD.js} +21 -21
  4. package/{agentEmailCommands-LVSCPVGC.js → agentEmailCommands-BKH3Q6I6.js} +22 -22
  5. package/{agentListCommands-67HVR7KB.js → agentListCommands-JPKRBHMP.js} +10 -10
  6. package/{agentMachineCommands-36IZWYUV.js → agentMachineCommands-HRORJN73.js} +8 -8
  7. package/{agentRecordCommands-4AIFNXVY.js → agentRecordCommands-OSZF2EHL.js} +21 -21
  8. package/{agentRunCommand-3B224VOA.js → agentRunCommand-FCGNSB4D.js} +22 -22
  9. package/{agentRuntimeLocal-I4J6XDO7.js → agentRuntimeLocal-SWG5ULIJ.js} +5 -5
  10. package/{agentSlice-XYVD7VDW.js → agentSlice-FCDRLXVA.js} +1 -1
  11. package/{appDeleteCommands-VBI7C4IO.js → appDeleteCommands-YH3BYQYK.js} +9 -9
  12. package/{appDeployCommands-FYUG5XWE.js → appDeployCommands-F44TNQJG.js} +9 -9
  13. package/{appDeployStatusCommands-TYHJOMUA.js → appDeployStatusCommands-BFTGFVQY.js} +9 -9
  14. package/{appGetCommands-HINYK5UT.js → appGetCommands-SFLFIXPW.js} +9 -9
  15. package/{appListCommands-NWDNQT4A.js → appListCommands-RUO5SEAJ.js} +9 -9
  16. package/{builtinSkillRegistry-V76JTNCJ.js → builtinSkillRegistry-MRI4FNCR.js} +4 -4
  17. package/{chromeCommands-VANHVOCE.js → chromeCommands-BGL6JZMB.js} +1 -1
  18. package/{chromeOpsCommands-RY776THN.js → chromeOpsCommands-IWKUA4C3.js} +37 -10
  19. package/{chunk-KPSNHLFI.js → chunk-2D3YKEAQ.js} +1 -1
  20. package/{chunk-BAXCQF6H.js → chunk-4FZUUCXQ.js} +1 -1
  21. package/{chunk-CUVJE3L5.js → chunk-4KDYRX3O.js} +2 -2
  22. package/{chunk-3LNVSFTH.js → chunk-5LZBJZLT.js} +2 -2
  23. package/{chunk-TWJYVVUB.js → chunk-6MXCQLLB.js} +74 -321
  24. package/{chunk-Y3BUTWUJ.js → chunk-6PHS6ADB.js} +2 -2
  25. package/{chunk-GPA3EA3Q.js → chunk-CGKN34IJ.js} +15 -15
  26. package/{chunk-UVPKOBVG.js → chunk-COXNBVP7.js} +4 -4
  27. package/{chunk-RPZNVBA5.js → chunk-CTEEJJVR.js} +1 -1
  28. package/{chunk-UTZF3X4Z.js → chunk-DTA4JVXW.js} +3 -3
  29. package/{chunk-LY4HX6OD.js → chunk-DVSXZC7F.js} +9 -9
  30. package/{chunk-RUKAOMXD.js → chunk-EAWOT7M6.js} +1 -1
  31. package/{chunk-IAOVXFL7.js → chunk-GCAOOTIS.js} +3 -3
  32. package/{chunk-L7PTHI3I.js → chunk-GHKEUJ6I.js} +2 -2
  33. package/{chunk-YUXSWHQC.js → chunk-GKKIZRJ6.js} +29 -3
  34. package/{chunk-ENIQIEAF.js → chunk-H63VHVFY.js} +1 -1
  35. package/{chunk-PP4TMS3T.js → chunk-HS7JBDUJ.js} +3 -3
  36. package/{chunk-YOXGSXOV.js → chunk-HTSXDJHA.js} +8 -8
  37. package/{chunk-QWNMFO5E.js → chunk-KUGOIFXV.js} +3 -3
  38. package/{chunk-NYYFIKHI.js → chunk-MMKP2XWK.js} +35 -6
  39. package/{chunk-FSTHTTI6.js → chunk-NJI5HZQA.js} +3 -3
  40. package/{chunk-EEEBL4MX.js → chunk-OBKPOFOB.js} +7 -7
  41. package/{chunk-P34IX26T.js → chunk-OXYSTN6B.js} +1 -1
  42. package/{chunk-M7ZURZLR.js → chunk-PD4KNHVU.js} +3 -3
  43. package/{chunk-ZEOR6XPJ.js → chunk-POYXVOYU.js} +2 -2
  44. package/{chunk-CIM3IW2X.js → chunk-PT6335JZ.js} +2 -2
  45. package/{chunk-LRXTGAZ4.js → chunk-QOKJFYJK.js} +7 -7
  46. package/{chunk-X7YSFSY3.js → chunk-QUCQVMYZ.js} +4 -4
  47. package/{chunk-LOCHKPC4.js → chunk-SGATEZV5.js} +14 -14
  48. package/{chunk-WXOKJP3W.js → chunk-SK2UMOZC.js} +1 -1
  49. package/{chunk-LM7VJUSD.js → chunk-TCCBECTT.js} +1 -1
  50. package/{chunk-NQKFBJD4.js → chunk-WQAOAJ5Q.js} +2 -2
  51. package/{chunk-5EBLANFT.js → chunk-XJBWPOIL.js} +1 -1
  52. package/{chunk-IU4FJDRU.js → chunk-YAN7XTXO.js} +5 -5
  53. package/{chunk-2GRXE3YJ.js → chunk-ZEQ6L6MZ.js} +1 -1
  54. package/{commandRegistry-YGDYRIAX.js → commandRegistry-A2RXELBX.js} +53 -49
  55. package/{contentThunks-WNBEFSCD.js → contentThunks-GZUPF67H.js} +3 -3
  56. package/{createAgentAutomationAction-NTL5ST3J.js → createAgentAutomationAction-ZOFCBZRE.js} +3 -3
  57. package/{createDialogAction-JWGDTE6S.js → createDialogAction-G7QCYQT7.js} +6 -6
  58. package/{createPageAction-FPM5RD4C.js → createPageAction-Z6JQZYS5.js} +3 -3
  59. package/{dialogCommands-D4MNLDBH.js → dialogCommands-MITLWDBY.js} +9 -9
  60. package/{dialogSlice-QVQO4JCU.js → dialogSlice-PKFXK5WM.js} +2 -2
  61. package/{docCreateCommands-765YJTNP.js → docCreateCommands-G3S3LZMZ.js} +8 -8
  62. package/{docDeleteCommands-G5U77546.js → docDeleteCommands-MLRCMLVB.js} +9 -9
  63. package/{docReadCommands-5YU7WGGT.js → docReadCommands-6A6SBCOP.js} +8 -8
  64. package/{docStore-VN2HSHLZ.js → docStore-NAEY4CEK.js} +1 -1
  65. package/{docUpdateCommands-H2AHPZRW.js → docUpdateCommands-UZQC2NDO.js} +8 -8
  66. package/{handleSendMessageAction-DMXH4YLX.js → handleSendMessageAction-HUQLERJP.js} +11 -11
  67. package/index.js +46 -21
  68. package/{localRuntimeAdapter-CQH4RFZC.js → localRuntimeAdapter-4DJDFM7A.js} +19 -19
  69. package/{machineCommands-TVCJZ5K5.js → machineCommands-A3WO3FMB.js} +20 -20
  70. package/{machineWsRunDispatch-663CSUA3.js → machineWsRunDispatch-CIJDSHTA.js} +20 -20
  71. package/package.json +1 -1
  72. package/{readlineWorkspace-C3FPP5KC.js → readlineWorkspace-YCNAWRDL.js} +26 -26
  73. package/{runAgentClientLoop-J3CTCBSI.js → runAgentClientLoop-K7WRMT27.js} +17 -17
  74. package/{spaceCommands-2ESFYAZG.js → spaceCommands-L537SH5I.js} +8 -8
  75. package/{streamAgentChatTurn-Z4DGKLGP.js → streamAgentChatTurn-HKUZ7OCA.js} +19 -19
  76. package/{tools-A2L3DK2Y.js → tools-NS37KPGT.js} +13 -13
  77. package/{updateCommands-C56QMWHF.js → updateCommands-BXGFH4VX.js} +1 -1
  78. package/{updateDialogTitleAction-WM5YYYFZ.js → updateDialogTitleAction-UUZ5HDM2.js} +3 -3
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  assembleAgentDiscoveryResult,
3
3
  resolveDiscoveryScope
4
- } from "./chunk-KPSNHLFI.js";
4
+ } from "./chunk-2D3YKEAQ.js";
5
5
  import {
6
6
  fetchWithTransientRetry
7
7
  } from "./chunk-KFHREHUQ.js";
@@ -20,7 +20,7 @@ import {
20
20
  toolRunUpdated,
21
21
  uiCardFallback,
22
22
  waitForAbortableDelay
23
- } from "./chunk-FSTHTTI6.js";
23
+ } from "./chunk-NJI5HZQA.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-CUVJE3L5.js";
67
+ } from "./chunk-4KDYRX3O.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-M7ZURZLR.js";
82
+ } from "./chunk-PD4KNHVU.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-LM7VJUSD.js";
105
+ } from "./chunk-TCCBECTT.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-YOXGSXOV.js";
118
+ } from "./chunk-HTSXDJHA.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-PP4TMS3T.js";
129
+ } from "./chunk-HS7JBDUJ.js";
130
130
  import {
131
131
  getCurrentSpaceId,
132
132
  getCurrentSpaceIdRaw,
@@ -199,10 +199,10 @@ import {
199
199
  import {
200
200
  listBuiltinSkills,
201
201
  resolveBuiltinSkillByName
202
- } from "./chunk-3LNVSFTH.js";
202
+ } from "./chunk-5LZBJZLT.js";
203
203
  import {
204
204
  CAPABILITY_PACKS
205
- } from "./chunk-WXOKJP3W.js";
205
+ } from "./chunk-SK2UMOZC.js";
206
206
  import {
207
207
  buildSkillDocMarkdown,
208
208
  normalizeSkillModalities,
@@ -229,7 +229,7 @@ import {
229
229
  resolveNoloDialogInput,
230
230
  resolveReadOnlyToolConstraints,
231
231
  verifyNoloDialogSubjectRefQuery
232
- } from "./chunk-2GRXE3YJ.js";
232
+ } from "./chunk-ZEQ6L6MZ.js";
233
233
  import {
234
234
  clipCompactText
235
235
  } from "./chunk-5MMAK75Q.js";
@@ -248,14 +248,14 @@ import {
248
248
  import {
249
249
  canonicalizeToolName,
250
250
  canonicalizeToolNames
251
- } from "./chunk-5EBLANFT.js";
251
+ } from "./chunk-XJBWPOIL.js";
252
252
  import {
253
253
  CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES,
254
254
  chromeConnectorToolSchemas,
255
255
  chromeConnectorUnavailableFunc,
256
256
  getChromeConnectorToolBehavior,
257
257
  getChromeConnectorToolDefaultConsent
258
- } from "./chunk-NYYFIKHI.js";
258
+ } from "./chunk-MMKP2XWK.js";
259
259
  import {
260
260
  extractCustomId
261
261
  } from "./chunk-M2EJHDJP.js";
@@ -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-QVQO4JCU.js");
3885
+ const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-PKFXK5WM.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-VN2HSHLZ.js");
18566
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-NAEY4CEK.js");
18567
18567
  if (getDocState().pageKey === id) {
18568
18568
  applyExternalDocUpdate({
18569
18569
  slateData: finalSlateData,
@@ -20399,7 +20399,7 @@ var baseToolDefinitions = [
20399
20399
  },
20400
20400
  behavior: getChromeConnectorToolBehavior(name),
20401
20401
  capability: "browser_automation",
20402
- riskLevel: name === "browser_click_element" || name === "browser_type" ? "medium" : "low",
20402
+ riskLevel: name === "browser_click_element" || name === "browser_type" || name === "browser_set_select_value" ? "medium" : "low",
20403
20403
  costLevel: "low",
20404
20404
  defaultConsent: getChromeConnectorToolDefaultConsent(name),
20405
20405
  cancelable: true
@@ -73,7 +73,7 @@ import {
73
73
  hashStablePrefixContent,
74
74
  resolveResponseGuidelines,
75
75
  resolveToolGuidedSections
76
- } from "./chunk-ZEOR6XPJ.js";
76
+ } from "./chunk-POYXVOYU.js";
77
77
  import {
78
78
  classifyUnparsableToolArgs,
79
79
  collectStablePromptPrefix,
@@ -130,7 +130,7 @@ import {
130
130
  parseNoloWorkspaceToolArguments,
131
131
  readTextStreamUpToChars,
132
132
  resolveNoloDialogInput
133
- } from "./chunk-2GRXE3YJ.js";
133
+ } from "./chunk-ZEQ6L6MZ.js";
134
134
  import {
135
135
  buildDialogFallbackTitleFromUserInput
136
136
  } from "./chunk-2MBTWINN.js";
@@ -190,7 +190,7 @@ import {
190
190
  import {
191
191
  canonicalizeToolName,
192
192
  canonicalizeToolNames
193
- } from "./chunk-5EBLANFT.js";
193
+ } from "./chunk-XJBWPOIL.js";
194
194
  import {
195
195
  dialogMessageKey,
196
196
  dialogMessageRange
@@ -22355,7 +22355,7 @@ function buildLoadSkillExecutor(args2) {
22355
22355
  const { resolveSkillByName } = await import("./skillDiscovery-QC35EQY4.js");
22356
22356
  const resolved = resolveSkillByName(args2.cwd, name);
22357
22357
  if (!resolved) {
22358
- const { resolveBuiltinSkillByName } = await import("./builtinSkillRegistry-V76JTNCJ.js");
22358
+ const { resolveBuiltinSkillByName } = await import("./builtinSkillRegistry-MRI4FNCR.js");
22359
22359
  const builtin = resolveBuiltinSkillByName(name);
22360
22360
  if (builtin) {
22361
22361
  return {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-2GRXE3YJ.js";
4
+ } from "./chunk-ZEQ6L6MZ.js";
5
5
 
6
6
  // packages/agent-runtime/oauthProviderRefs.ts
7
7
  var OAUTH_PROVIDER_REFS = [
@@ -2,7 +2,7 @@ import {
2
2
  clipMultilineText,
3
3
  fetchAndSerializeTable,
4
4
  waitForAbortableDelay
5
- } from "./chunk-FSTHTTI6.js";
5
+ } from "./chunk-NJI5HZQA.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-YOXGSXOV.js";
24
+ } from "./chunk-HTSXDJHA.js";
25
25
  import {
26
26
  createSpaceKey
27
27
  } from "./chunk-UAD2WT54.js";
@@ -35,7 +35,7 @@ import {
35
35
  extractRuntimePageCapabilities,
36
36
  resolveBuiltinSkillPage,
37
37
  resolveSkillGraphFromRoots
38
- } from "./chunk-3LNVSFTH.js";
38
+ } from "./chunk-5LZBJZLT.js";
39
39
  import {
40
40
  isAbortError
41
41
  } from "./chunk-7DPNBQSV.js";
@@ -9,7 +9,7 @@ import {
9
9
  resolveRawAgentInput,
10
10
  resolveServerUrl,
11
11
  writeUsage
12
- } from "./chunk-CIM3IW2X.js";
12
+ } from "./chunk-PT6335JZ.js";
13
13
  import {
14
14
  getReadableCliDb
15
15
  } from "./chunk-62TBKWTV.js";
@@ -31,7 +31,7 @@ import {
31
31
  resolveFileWriteGateEnabled,
32
32
  resolveLocalUserId,
33
33
  validateInstaboxWorkspaceSelection
34
- } from "./chunk-LOCHKPC4.js";
34
+ } from "./chunk-SGATEZV5.js";
35
35
  import {
36
36
  clearCredentialAvailability,
37
37
  readEffectiveCredentialEntry,
@@ -64,7 +64,7 @@ import {
64
64
  import {
65
65
  readDbRecord,
66
66
  resolveAgentRecordFromHybridStore
67
- } from "./chunk-P34IX26T.js";
67
+ } from "./chunk-OXYSTN6B.js";
68
68
  import {
69
69
  isLocalCliAgentKey
70
70
  } from "./chunk-NBTY7YJF.js";
@@ -79,14 +79,14 @@ import {
79
79
  } from "./chunk-BMQ2MJUK.js";
80
80
  import {
81
81
  resolveCliLocalRuntimeKeyCapability
82
- } from "./chunk-GPA3EA3Q.js";
82
+ } from "./chunk-CGKN34IJ.js";
83
83
  import {
84
84
  isTransientFetchError
85
85
  } from "./chunk-KFHREHUQ.js";
86
86
  import {
87
87
  parseUiCard,
88
88
  uiCardFallback
89
- } from "./chunk-FSTHTTI6.js";
89
+ } from "./chunk-NJI5HZQA.js";
90
90
  import {
91
91
  isGatewayHttpStatus
92
92
  } from "./chunk-NF64D32W.js";
@@ -95,7 +95,7 @@ import {
95
95
  chooseMemoryOwners,
96
96
  loadMemoryCandidatesFromDb,
97
97
  resolveAgentMemoryPolicy
98
- } from "./chunk-M7ZURZLR.js";
98
+ } from "./chunk-PD4KNHVU.js";
99
99
  import {
100
100
  API_REPORTED_COST_MULTIPLIER,
101
101
  estimateMessagesTokens,
@@ -103,7 +103,7 @@ import {
103
103
  resolveAgentContextWindow,
104
104
  resolveOccupancy,
105
105
  resolveOccupancyWindow
106
- } from "./chunk-YOXGSXOV.js";
106
+ } from "./chunk-HTSXDJHA.js";
107
107
  import {
108
108
  buildSkillDiscoveryContextLayer
109
109
  } from "./chunk-AU7AXHUL.js";
@@ -115,7 +115,7 @@ import {
115
115
  LOCAL_AGENT_CONFIG_MISSING_CODE,
116
116
  LOCAL_TURN_ABORTED_CODE,
117
117
  readActionGate
118
- } from "./chunk-UVPKOBVG.js";
118
+ } from "./chunk-COXNBVP7.js";
119
119
  import {
120
120
  resolveAgentRuntimeConfigFromRecord
121
121
  } from "./chunk-CR5WXQX7.js";
@@ -11376,7 +11376,7 @@ function isBalanceExhaustedError(error) {
11376
11376
 
11377
11377
  // packages/cli/client/agentRun.ts
11378
11378
  async function loadRunLocalAgentTurn() {
11379
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-I4J6XDO7.js");
11379
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-SWG5ULIJ.js");
11380
11380
  return runLocalAgentTurn;
11381
11381
  }
11382
11382
  var stripDebugNoise = (s) => s.replace(/\s*raw="[\s\S]*"/g, "").replace(/\s*raw=\S+/g, "").replace(/\s*headers=\[[^\]]*\]/g, "").replace(/\s*headers=\S+/g, "").trim();
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-P34IX26T.js";
5
+ } from "./chunk-OXYSTN6B.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-OXME3PEE.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-GPA3EA3Q.js";
3
+ } from "./chunk-CGKN34IJ.js";
4
4
  import {
5
5
  runtime_default
6
- } from "./chunk-YOXGSXOV.js";
6
+ } from "./chunk-HTSXDJHA.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
- } from "./chunk-5EBLANFT.js";
9
+ } from "./chunk-XJBWPOIL.js";
10
10
  import {
11
11
  isRecord
12
12
  } from "./chunk-KUG52IAP.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-UTZF3X4Z.js";
4
+ } from "./chunk-DTA4JVXW.js";
5
5
  import {
6
6
  updateTokensAction
7
- } from "./chunk-YOXGSXOV.js";
7
+ } from "./chunk-HTSXDJHA.js";
8
8
  import {
9
9
  applyUpdateTokensFulfilled
10
10
  } from "./chunk-OWYYDMGJ.js";
@@ -301,6 +301,7 @@ var CHROME_TOOL_ACTIONS = {
301
301
  browser_read_page: "read_page",
302
302
  browser_click_element: "click",
303
303
  browser_type: "type",
304
+ browser_set_select_value: "set_select_value",
304
305
  browser_press: "press",
305
306
  browser_scroll: "scroll",
306
307
  browser_screenshot: "screenshot",
@@ -313,6 +314,7 @@ var CHROME_TOOL_ACTIONS = {
313
314
  chrome_read_page: "read_page",
314
315
  chrome_click: "click",
315
316
  chrome_type: "type",
317
+ chrome_set_select_value: "set_select_value",
316
318
  chrome_press: "press",
317
319
  chrome_scroll: "scroll",
318
320
  chrome_screenshot: "screenshot",
@@ -357,8 +359,14 @@ function errorPayload(error) {
357
359
  ...error?.details !== void 0 ? { details: error.details } : {}
358
360
  };
359
361
  }
360
- var TARGET_REQUIRED_ACTIONS = /* @__PURE__ */ new Set(["click", "type", "set_files"]);
361
- var TAB_ID_REQUIRED_ACTIONS = /* @__PURE__ */ new Set(["close_tab", "detach", "set_files", "prepare_browser_action"]);
362
+ var TARGET_REQUIRED_ACTIONS = /* @__PURE__ */ new Set(["click", "type", "set_select_value", "set_files"]);
363
+ var TAB_ID_REQUIRED_ACTIONS = /* @__PURE__ */ new Set([
364
+ "close_tab",
365
+ "detach",
366
+ "set_files",
367
+ "set_select_value",
368
+ "prepare_browser_action"
369
+ ]);
362
370
  var ALLOWED_PREPARE_SUB_ACTIONS = /* @__PURE__ */ new Set(["click", "type", "press"]);
363
371
  function validateChromeConnectorPayload(action, payload) {
364
372
  if (TAB_ID_REQUIRED_ACTIONS.has(action)) {
@@ -371,7 +379,13 @@ function validateChromeConnectorPayload(action, payload) {
371
379
  );
372
380
  }
373
381
  }
374
- for (const credentialKey of ["challengeId", "prepareId", "preparedActionId", "grantTicket"]) {
382
+ for (const credentialKey of [
383
+ "challengeId",
384
+ "prepareId",
385
+ "preparedActionId",
386
+ "grantTicket",
387
+ "approvalId"
388
+ ]) {
375
389
  if (payload[credentialKey] !== void 0) {
376
390
  const val = payload[credentialKey];
377
391
  if (typeof val !== "string" || !val.trim()) {
@@ -431,6 +445,17 @@ function validateChromeConnectorPayload(action, payload) {
431
445
  "Provide elementRef from browser_read_page or a CSS selector."
432
446
  );
433
447
  }
448
+ if (action === "set_select_value") {
449
+ const hasValue = typeof payload.value === "string";
450
+ const hasLabel = typeof payload.label === "string";
451
+ if (hasValue === hasLabel) {
452
+ throw createConnectorError(
453
+ "OPTION_TARGET_REQUIRED",
454
+ "Provide exactly one of value or label for the option to select."
455
+ );
456
+ }
457
+ return;
458
+ }
434
459
  if (action === "set_files") {
435
460
  if (!Array.isArray(payload.files) || payload.files.length === 0) {
436
461
  throw createConnectorError(
@@ -501,6 +526,7 @@ var REQUIRED_CHROME_CONNECTOR_FEATURES = {
501
526
  read_page: ["compact_observation_v2"],
502
527
  click: ["compact_observation_v2", "action_gate"],
503
528
  type: ["compact_observation_v2", "action_gate"],
529
+ set_select_value: ["compact_observation_v2", "action_gate"],
504
530
  press: ["compact_observation_v2", "action_gate"],
505
531
  scroll: ["compact_observation_v2"],
506
532
  // Both browsers advertise the dedicated `screenshot` feature: Chrome serves it through
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  requireTokenUser
3
- } from "./chunk-BAXCQF6H.js";
3
+ } from "./chunk-4FZUUCXQ.js";
4
4
  import {
5
5
  t
6
6
  } from "./chunk-TDX2L4W2.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-ZP6M2EWK.js");
350
+ const { _executeModel } = await import("./_executeModel-ACI2KGWO.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-J3CTCBSI.js");
371
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-K7WRMT27.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-Z4DGKLGP.js");
387
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-HKUZ7OCA.js");
388
388
  return streamAgentChatTurnHandler(args, thunkApi);
389
389
  }),
390
390
  /**
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-QYPE3TS3.js";
12
12
  import {
13
13
  runLlm
14
- } from "./chunk-PP4TMS3T.js";
14
+ } from "./chunk-HS7JBDUJ.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-XYVD7VDW.js");
11067
+ const { streamAgentChatTurn } = await import("./agentSlice-FCDRLXVA.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-QVQO4JCU.js");
13884
+ const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-PKFXK5WM.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-JWGDTE6S.js");
13892
+ const { createDialogAction } = await import("./createDialogAction-G7QCYQT7.js");
13893
13893
  return createDialogAction(args, thunkApi);
13894
13894
  };
13895
13895
  var runCreateAgentAutomationAction = async (args, thunkApi) => {
13896
- const { createAgentAutomationAction } = await import("./createAgentAutomationAction-NTL5ST3J.js");
13896
+ const { createAgentAutomationAction } = await import("./createAgentAutomationAction-ZOFCBZRE.js");
13897
13897
  return createAgentAutomationAction(args, thunkApi);
13898
13898
  };
13899
13899
  var runUpdateDialogTitleAction = async (args, thunkApi) => {
13900
- const { updateDialogTitleAction } = await import("./updateDialogTitleAction-WM5YYYFZ.js");
13900
+ const { updateDialogTitleAction } = await import("./updateDialogTitleAction-UUZ5HDM2.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-DMXH4YLX.js");
13924
+ const { handleSendMessageAction } = await import("./handleSendMessageAction-HUQLERJP.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-VN2HSHLZ.js");
13937
+ const { createDocState } = await import("./docStore-NAEY4CEK.js");
13938
13938
  const pageKey = await createDocState(
13939
13939
  { slateData, title },
13940
13940
  { dispatch, getState }
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  listUserRecordsFromServers,
3
3
  readLiveDbRecordAfterTombstoneMerge
4
- } from "./chunk-RUKAOMXD.js";
4
+ } from "./chunk-EAWOT7M6.js";
5
5
  import {
6
6
  agentRecordHasConfiguredCredential
7
- } from "./chunk-P34IX26T.js";
7
+ } from "./chunk-OXYSTN6B.js";
8
8
  import {
9
9
  deriveCredentialGroup
10
- } from "./chunk-KPSNHLFI.js";
10
+ } from "./chunk-2D3YKEAQ.js";
11
11
  import {
12
12
  isTombstoneRecord
13
13
  } from "./chunk-D2MDMY2M.js";
@@ -6,6 +6,7 @@ var CHROME_CONNECTOR_TOOL_NAMES = [
6
6
  "browser_read_page",
7
7
  "browser_click_element",
8
8
  "browser_type",
9
+ "browser_set_select_value",
9
10
  "browser_press",
10
11
  "browser_scroll",
11
12
  "browser_screenshot",
@@ -19,6 +20,7 @@ var CHROME_CONNECTOR_LEGACY_TOOL_ALIASES = {
19
20
  chrome_read_page: "browser_read_page",
20
21
  chrome_click: "browser_click_element",
21
22
  chrome_type: "browser_type",
23
+ chrome_set_select_value: "browser_set_select_value",
22
24
  chrome_press: "browser_press",
23
25
  chrome_scroll: "browser_scroll",
24
26
  chrome_screenshot: "browser_screenshot",
@@ -141,19 +143,24 @@ var chromeReadPageFunctionSchema = baseSchema(
141
143
  },
142
144
  ["tabId"]
143
145
  );
146
+ var approvalId = {
147
+ type: "string",
148
+ description: `Only echo a value the connector returned in a USER_APPROVAL_PENDING response for this same action: after the user clicks "Allow once", retry with that approvalId. It grants nothing by itself (it is the lookup key for the user's decision), never invent or reuse one, and do not pass a previous id to a different action \u2014 it is single-use and expires quickly.`
149
+ };
144
150
  var chromeClickFunctionSchema = baseSchema(
145
151
  "browser_click_element",
146
- "Click a visible element in a browser tab by elementRef from browser_read_page, or by CSS selector. Controls whose name indicates an irreversible external action (payment, send, delete, publish, permission change) are refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION: this desktop runtime has no approval channel, so name the control and ask the user to activate it themselves.",
152
+ 'Click a visible element in a browser tab by elementRef from browser_read_page, or by CSS selector. Clicking an element whose accessible name indicates an irreversible external action \u2014 whatever its tag, including a div with a click handler, an anchor or a custom element \u2014 opens a confirmation request for the user and returns USER_APPROVAL_PENDING (approval_pending) with an approvalId: ask the user to click "Allow once" in the Nolo window, then retry the same click. Do not retry without that approvalId, and do not switch to another selector or elementRef to get around the gate.',
147
153
  {
148
154
  tabId,
149
155
  elementRef,
150
- selector
156
+ selector,
157
+ approvalId
151
158
  },
152
159
  ["tabId"]
153
160
  );
154
161
  var chromeTypeFunctionSchema = baseSchema(
155
162
  "browser_type",
156
- "Type text into a browser page element identified by elementRef from browser_read_page or by CSS selector. Typing into a control whose name indicates an irreversible external action is refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION, same as clicking it.",
163
+ "Type text into a browser page element identified by elementRef from browser_read_page or by CSS selector. Typing into an operable control whose name indicates an irreversible external action behaves like clicking it: a confirmation request goes to the user and the call returns USER_APPROVAL_PENDING with an approvalId \u2014 ask the user to allow it, then retry with that approvalId.",
157
164
  {
158
165
  tabId,
159
166
  elementRef,
@@ -165,19 +172,40 @@ var chromeTypeFunctionSchema = baseSchema(
165
172
  clearFirst: {
166
173
  type: "boolean",
167
174
  description: "Whether to clear the field before typing. Defaults to true."
168
- }
175
+ },
176
+ approvalId
169
177
  },
170
178
  ["tabId", "text"]
171
179
  );
180
+ var chromeSetSelectValueSchema = baseSchema(
181
+ "browser_set_select_value",
182
+ `Choose an option in a native <select> element and verify the result. Use this for real <select> controls instead of click/press: clicking a select never changes its value (type reports value_mismatch, key presses have no observable effect, and <option> elements do not appear in browser_read_page). Provide exactly one of value (matched exactly against option values) or label (the option's visible text, which must match exactly one option). When the option is missing (OPTION_NOT_FOUND), several options share the label (OPTION_AMBIGUOUS) or the option is disabled (OPTION_DISABLED), the call fails with that code instead of guessing \u2014 call browser_read_page again and pass the exact value. The result is ok only when the select reads back the requested option after input/change were dispatched (verified is true on that same read-back); SELECT_VALUE_NOT_APPLIED means the page rejected or reverted the choice. If the select cannot be read back at all \u2014 for example a change listener removed it \u2014 the call returns ok:false with effect "uncertain" and code SELECT_GONE (or SELECT_VALUE_UNVERIFIED when the read never returned), which means unverified, not success: re-read the page before reporting the choice. Custom (non-native) dropdowns still need browser_click_element. Selecting an option in a control whose accessible name indicates an irreversible external action (delete, \u652F\u4ED8, \u53D1\u9001\u2026) opens a confirmation request for the user and returns USER_APPROVAL_PENDING with an approvalId: ask the user to click "Allow once" in the Nolo window, then retry this same call with that approvalId. Do not retry without it, and do not switch to another selector or elementRef to get around the gate.`,
183
+ {
184
+ tabId,
185
+ elementRef,
186
+ selector,
187
+ value: {
188
+ type: "string",
189
+ description: "Exact option value to select. Mutually exclusive with label."
190
+ },
191
+ label: {
192
+ type: "string",
193
+ description: "Visible option text to select; must match exactly one option. Mutually exclusive with value."
194
+ },
195
+ approvalId
196
+ },
197
+ ["tabId"]
198
+ );
172
199
  var chromePressFunctionSchema = baseSchema(
173
200
  "browser_press",
174
- "Send a keyboard key or shortcut to a browser tab. Enter-like keys are refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION when the focused control is an irreversible action.",
201
+ "Send a keyboard key or shortcut to a browser tab. Enter-like keys on a focused operable control whose name indicates an irreversible action first ask the user for confirmation and return USER_APPROVAL_PENDING with an approvalId.",
175
202
  {
176
203
  tabId,
177
204
  key: {
178
205
  type: "string",
179
206
  description: "Key or shortcut, for example Enter, Escape, ArrowDown, or Meta+L."
180
- }
207
+ },
208
+ approvalId
181
209
  },
182
210
  ["tabId", "key"]
183
211
  );
@@ -248,6 +276,7 @@ var chromeConnectorToolSchemas = [
248
276
  chromeReadPageFunctionSchema,
249
277
  chromeClickFunctionSchema,
250
278
  chromeTypeFunctionSchema,
279
+ chromeSetSelectValueSchema,
251
280
  chromePressFunctionSchema,
252
281
  chromeScrollFunctionSchema,
253
282
  chromeScreenshotFunctionSchema,
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-VYNMQ6HW.js";
9
9
  import {
10
10
  fetchAndCacheTableRows
11
- } from "./chunk-LM7VJUSD.js";
11
+ } from "./chunk-TCCBECTT.js";
12
12
  import {
13
13
  require_react
14
14
  } from "./chunk-YDH3FDFQ.js";
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  resolveBuiltinCapability,
24
24
  resolveBuiltinSkillEntry
25
- } from "./chunk-3LNVSFTH.js";
25
+ } from "./chunk-5LZBJZLT.js";
26
26
  import {
27
27
  DEFAULT_SYSTEM_AGENT_CAPABILITIES
28
28
  } from "./chunk-EUGTFFO6.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-A2L3DK2Y.js");
524
+ const { findToolExecutor } = await import("./tools-NS37KPGT.js");
525
525
  const { executor } = findToolExecutor(run.toolName);
526
526
  toolRunStarted({
527
527
  id: run.id,