nolo-cli 0.14.0-alpha.1 → 0.14.0-alpha.3

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/README.md +5 -2
  2. package/{_executeModel-SQVV6CXR.js → _executeModel-ERQQ5SO5.js} +16 -16
  3. package/{action-Q5CBVUV5.js → action-N3KXFO5V.js} +3 -3
  4. package/{addContentAction-ZCJJ3XOL.js → addContentAction-4Z762DMR.js} +2 -2
  5. package/{addDialogAgentAction-ROUQPBVI.js → addDialogAgentAction-FALLEKPR.js} +1 -1
  6. package/{agentDeleteCommand-TSY5OSG7.js → agentDeleteCommand-AZDVM4HQ.js} +9 -9
  7. package/{agentEmailCommands-YX57M3P7.js → agentEmailCommands-SBGSPBSS.js} +20 -20
  8. package/agentGrantCommands-B4MB23VQ.js +239 -0
  9. package/{agentListCommands-S65H4AVT.js → agentListCommands-OJLOXSKL.js} +10 -10
  10. package/{agentMachineCommands-ELNLSTE4.js → agentMachineCommands-Y7RXBTEY.js} +9 -9
  11. package/{agentRecordCommands-HVCGO2XK.js → agentRecordCommands-LFQ3RK24.js} +20 -20
  12. package/{agentRunCommand-EOFDKKFI.js → agentRunCommand-WARBRXRP.js} +20 -20
  13. package/{agentRuntimeLocal-F4FWS5Z4.js → agentRuntimeLocal-DSUBT77I.js} +6 -6
  14. package/{agentSlice-R3WAV3VG.js → agentSlice-F23RHRVB.js} +2 -2
  15. package/{authCommand-O7SL3WW5.js → authCommand-66ME4KZX.js} +8 -4
  16. package/{chunk-BRODTPXY.js → chunk-33K5FKRL.js} +1 -1
  17. package/{chunk-SJQVOEIV.js → chunk-3B2LFO6R.js} +5 -2
  18. package/{chunk-2MW6QFIQ.js → chunk-3FCSMQAC.js} +1 -1
  19. package/{chunk-IVOFAQ5R.js → chunk-4GTGSUMH.js} +3 -3
  20. package/{chunk-BHKOPLWJ.js → chunk-4QUXYE7J.js} +4 -4
  21. package/{chunk-YX4H7EP4.js → chunk-4UUJFFMK.js} +1 -1
  22. package/{chunk-TSJBYH7X.js → chunk-5R73BS7Y.js} +1 -1
  23. package/{chunk-K4S6CYKK.js → chunk-7EVWUQJZ.js} +65 -13
  24. package/{chunk-V6PGKRZC.js → chunk-A5V7UEZJ.js} +1 -1
  25. package/{chunk-CFX7LP6W.js → chunk-BHK5ZAW7.js} +1 -1
  26. package/{chunk-ACPNKI3V.js → chunk-CBLNDNYI.js} +3 -3
  27. package/{chunk-3DKS6UER.js → chunk-KPUM5RIE.js} +105 -47
  28. package/{chunk-HXPBV44X.js → chunk-LAVVL3GH.js} +142 -23
  29. package/{chunk-ZEYSZ5WG.js → chunk-NARL6TJS.js} +18 -18
  30. package/{chunk-XZY4TCZO.js → chunk-NFRS3JW4.js} +1 -1
  31. package/{chunk-AEMXZOAK.js → chunk-NVV3ABII.js} +9 -8
  32. package/{chunk-7ULBTAQK.js → chunk-PBP4KPF7.js} +9 -9
  33. package/{chunk-CANREHJB.js → chunk-RLOKCZNX.js} +1 -1
  34. package/{chunk-QRBZS6G4.js → chunk-RZALKBP4.js} +2 -2
  35. package/{chunk-EC2EU2F4.js → chunk-S5UACFUP.js} +54 -2
  36. package/{chunk-DSCG2DY5.js → chunk-T3X232L6.js} +1 -1
  37. package/{chunk-AGUNTRZV.js → chunk-TLNEQI2R.js} +1 -1
  38. package/{chunk-FLY6L3KA.js → chunk-TQCONXQ3.js} +1 -1
  39. package/{chunk-QV25QXE2.js → chunk-V6VXDXGY.js} +2 -2
  40. package/{chunk-O2S35KSZ.js → chunk-VIPFEPO4.js} +2 -2
  41. package/{chunk-7H3O7ZA2.js → chunk-VQFY3VXW.js} +1 -1
  42. package/{chunk-2KNEWIDU.js → chunk-X7NITNY4.js} +2 -2
  43. package/{chunk-4GXQ74DF.js → chunk-XIDYAII4.js} +2 -2
  44. package/{createAgentAutomationAction-LL2UAZL3.js → createAgentAutomationAction-YCBXLFWW.js} +7 -7
  45. package/{createDialogAction-MSMUS4NO.js → createDialogAction-LOE4IBWI.js} +8 -8
  46. package/{createPageAction-MGN4CQWL.js → createPageAction-MQPKRYSZ.js} +7 -7
  47. package/{dbSlice-35VY6LYX.js → dbSlice-7Q23HSWH.js} +1 -1
  48. package/{dialogCommands-7EKKHEGO.js → dialogCommands-BQDGLVMO.js} +10 -10
  49. package/{dialogSlice-ZRYCGVVH.js → dialogSlice-MLJL22KB.js} +7 -7
  50. package/{docCreateCommands-YCU2BINI.js → docCreateCommands-K2MPMXYF.js} +9 -9
  51. package/{docDeleteCommands-CEB54GNO.js → docDeleteCommands-NBAARB77.js} +10 -10
  52. package/{docReadCommands-Z2OZTAIA.js → docReadCommands-S3MO5RPS.js} +9 -9
  53. package/{docStore-AYLR7HES.js → docStore-CRULGCHQ.js} +8 -8
  54. package/{docUpdateCommands-VU2TNBPM.js → docUpdateCommands-EHEI7FCE.js} +9 -9
  55. package/{handleSendMessageAction-D4UALBU5.js → handleSendMessageAction-JSJC7RWU.js} +34 -8
  56. package/index.js +53 -41
  57. package/{machineCommands-65QZPPET.js → machineCommands-7WHQPMXF.js} +19 -19
  58. package/{machineWsRunDispatch-35QVFHKA.js → machineWsRunDispatch-EZ2IOYWT.js} +19 -19
  59. package/package.json +1 -1
  60. package/{readlineWorkspace-U4PN6GH2.js → readlineWorkspace-2KIRBLOS.js} +154 -40
  61. package/{removeDialogAgentAction-DPSDJL5F.js → removeDialogAgentAction-WKHZT6VJ.js} +3 -3
  62. package/{runAgentClientLoop-HND2XKNI.js → runAgentClientLoop-GFC2XHEC.js} +13 -13
  63. package/{setDialogExtraReferencesAction-6UPTOPJA.js → setDialogExtraReferencesAction-GCI5QU6E.js} +1 -1
  64. package/{setPrimaryDialogAgentAction-PFDHN53I.js → setPrimaryDialogAgentAction-NRO57AS6.js} +3 -3
  65. package/{settingSlice-6M2BKFW5.js → settingSlice-FTWZ5ZHT.js} +4 -2
  66. package/{spaceCommands-NP75DOJW.js → spaceCommands-4R63UST3.js} +9 -9
  67. package/{spaceSlice-J44RNCGS.js → spaceSlice-IYTGSETI.js} +7 -7
  68. package/{streamAgentChatTurn-MNBTNJDU.js → streamAgentChatTurn-42SBHJ6F.js} +28 -22
  69. package/{tools-R2M77NZJ.js → tools-BBNP7OHL.js} +11 -11
  70. package/{updateDialogTitleAction-ERVV47T7.js → updateDialogTitleAction-UOULZ7J2.js} +7 -7
@@ -2,20 +2,20 @@ import {
2
2
  runAgentCreateCommand,
3
3
  runAgentReadCommand,
4
4
  runAgentUpdateCommand
5
- } from "./chunk-O2S35KSZ.js";
6
- import "./chunk-3DKS6UER.js";
5
+ } from "./chunk-VIPFEPO4.js";
6
+ import "./chunk-KPUM5RIE.js";
7
7
  import "./chunk-EHLHSX7R.js";
8
8
  import "./chunk-CMKUBIGW.js";
9
9
  import "./chunk-JBTJAPUF.js";
10
10
  import "./chunk-W4NVOSFF.js";
11
- import "./chunk-TSJBYH7X.js";
12
- import "./chunk-FLY6L3KA.js";
11
+ import "./chunk-5R73BS7Y.js";
12
+ import "./chunk-TQCONXQ3.js";
13
13
  import "./chunk-VHBWHNVT.js";
14
- import "./chunk-DSCG2DY5.js";
14
+ import "./chunk-T3X232L6.js";
15
15
  import "./chunk-ATNTHIZI.js";
16
- import "./chunk-CANREHJB.js";
16
+ import "./chunk-RLOKCZNX.js";
17
17
  import "./chunk-OIMX7MM4.js";
18
- import "./chunk-HXPBV44X.js";
18
+ import "./chunk-LAVVL3GH.js";
19
19
  import "./chunk-RQSOAMPJ.js";
20
20
  import "./chunk-OOIN7HSO.js";
21
21
  import "./chunk-KQHGZWSV.js";
@@ -24,30 +24,30 @@ import "./chunk-3LY4F7SV.js";
24
24
  import "./chunk-VP4WJWKW.js";
25
25
  import "./chunk-63W5N6P3.js";
26
26
  import "./chunk-VF4K2QE6.js";
27
- import "./chunk-IVOFAQ5R.js";
28
- import "./chunk-2KNEWIDU.js";
27
+ import "./chunk-4GTGSUMH.js";
28
+ import "./chunk-X7NITNY4.js";
29
29
  import "./chunk-VC6OZXO5.js";
30
30
  import "./chunk-OWOHNGCN.js";
31
- import "./chunk-ZEYSZ5WG.js";
31
+ import "./chunk-NARL6TJS.js";
32
32
  import "./chunk-V2J635L5.js";
33
33
  import "./chunk-MRC4Q34M.js";
34
34
  import "./chunk-MTU75CZ2.js";
35
35
  import "./chunk-CWMSB67P.js";
36
- import "./chunk-BHKOPLWJ.js";
37
- import "./chunk-QV25QXE2.js";
36
+ import "./chunk-4QUXYE7J.js";
37
+ import "./chunk-V6VXDXGY.js";
38
38
  import "./chunk-Z4NR32XR.js";
39
39
  import "./chunk-M76ECQRD.js";
40
40
  import "./chunk-WZSRQNQG.js";
41
- import "./chunk-BRODTPXY.js";
42
- import "./chunk-PB2DHBEQ.js";
41
+ import "./chunk-33K5FKRL.js";
43
42
  import "./chunk-ZNFJWEN4.js";
43
+ import "./chunk-PB2DHBEQ.js";
44
44
  import "./chunk-OIQPORYI.js";
45
- import "./chunk-7H3O7ZA2.js";
45
+ import "./chunk-VQFY3VXW.js";
46
46
  import "./chunk-3WGLLTK4.js";
47
47
  import "./chunk-UW3WOIWJ.js";
48
48
  import "./chunk-KTFJUPDW.js";
49
49
  import "./chunk-B4KT7RN2.js";
50
- import "./chunk-SJQVOEIV.js";
50
+ import "./chunk-3B2LFO6R.js";
51
51
  import "./chunk-5MMAK75Q.js";
52
52
  import "./chunk-OGGHETUE.js";
53
53
  import "./chunk-5CS33IBL.js";
@@ -67,12 +67,12 @@ import "./chunk-SOTZ6RDN.js";
67
67
  import "./chunk-IDZTNRP2.js";
68
68
  import "./chunk-IKXL2HZ3.js";
69
69
  import "./chunk-524BDL33.js";
70
- import "./chunk-CFX7LP6W.js";
71
- import "./chunk-EC2EU2F4.js";
70
+ import "./chunk-BHK5ZAW7.js";
71
+ import "./chunk-S5UACFUP.js";
72
72
  import "./chunk-Y5GCAMGP.js";
73
73
  import "./chunk-KX6YBIHG.js";
74
- import "./chunk-2MW6QFIQ.js";
75
- import "./chunk-V6PGKRZC.js";
74
+ import "./chunk-3FCSMQAC.js";
75
+ import "./chunk-A5V7UEZJ.js";
76
76
  import "./chunk-O4BU24WZ.js";
77
77
  import "./chunk-I42VC5KR.js";
78
78
  import "./chunk-WWC7I6TA.js";
@@ -6,26 +6,26 @@ import {
6
6
  prependSubjectDialogMarker,
7
7
  resolveWorkflowReference,
8
8
  runAgentRunCommand
9
- } from "./chunk-K4S6CYKK.js";
9
+ } from "./chunk-7EVWUQJZ.js";
10
10
  import "./chunk-6HYVJV7B.js";
11
11
  import {
12
12
  parseAgentRunArgs
13
13
  } from "./chunk-3QAF2LTL.js";
14
- import "./chunk-3DKS6UER.js";
14
+ import "./chunk-KPUM5RIE.js";
15
15
  import "./chunk-EHLHSX7R.js";
16
16
  import "./chunk-CMKUBIGW.js";
17
17
  import "./chunk-JBTJAPUF.js";
18
18
  import "./chunk-W4NVOSFF.js";
19
- import "./chunk-TSJBYH7X.js";
20
- import "./chunk-FLY6L3KA.js";
19
+ import "./chunk-5R73BS7Y.js";
20
+ import "./chunk-TQCONXQ3.js";
21
21
  import "./chunk-VHBWHNVT.js";
22
22
  import "./chunk-LTRXGFMS.js";
23
- import "./chunk-DSCG2DY5.js";
23
+ import "./chunk-T3X232L6.js";
24
24
  import "./chunk-ATNTHIZI.js";
25
25
  import "./chunk-JEXVIMYZ.js";
26
- import "./chunk-CANREHJB.js";
26
+ import "./chunk-RLOKCZNX.js";
27
27
  import "./chunk-OIMX7MM4.js";
28
- import "./chunk-HXPBV44X.js";
28
+ import "./chunk-LAVVL3GH.js";
29
29
  import "./chunk-RQSOAMPJ.js";
30
30
  import "./chunk-OOIN7HSO.js";
31
31
  import "./chunk-KQHGZWSV.js";
@@ -34,31 +34,31 @@ import "./chunk-3LY4F7SV.js";
34
34
  import "./chunk-VP4WJWKW.js";
35
35
  import "./chunk-63W5N6P3.js";
36
36
  import "./chunk-VF4K2QE6.js";
37
- import "./chunk-IVOFAQ5R.js";
38
- import "./chunk-2KNEWIDU.js";
37
+ import "./chunk-4GTGSUMH.js";
38
+ import "./chunk-X7NITNY4.js";
39
39
  import "./chunk-VC6OZXO5.js";
40
40
  import "./chunk-OWOHNGCN.js";
41
- import "./chunk-ZEYSZ5WG.js";
41
+ import "./chunk-NARL6TJS.js";
42
42
  import "./chunk-V2J635L5.js";
43
43
  import "./chunk-MRC4Q34M.js";
44
44
  import "./chunk-MTU75CZ2.js";
45
45
  import "./chunk-CWMSB67P.js";
46
- import "./chunk-BHKOPLWJ.js";
47
- import "./chunk-QV25QXE2.js";
46
+ import "./chunk-4QUXYE7J.js";
47
+ import "./chunk-V6VXDXGY.js";
48
48
  import "./chunk-Z4NR32XR.js";
49
49
  import "./chunk-M76ECQRD.js";
50
50
  import "./chunk-AS3ZQ3O2.js";
51
51
  import "./chunk-WZSRQNQG.js";
52
- import "./chunk-BRODTPXY.js";
53
- import "./chunk-PB2DHBEQ.js";
52
+ import "./chunk-33K5FKRL.js";
54
53
  import "./chunk-ZNFJWEN4.js";
54
+ import "./chunk-PB2DHBEQ.js";
55
55
  import "./chunk-OIQPORYI.js";
56
- import "./chunk-7H3O7ZA2.js";
56
+ import "./chunk-VQFY3VXW.js";
57
57
  import "./chunk-3WGLLTK4.js";
58
58
  import "./chunk-UW3WOIWJ.js";
59
59
  import "./chunk-KTFJUPDW.js";
60
60
  import "./chunk-B4KT7RN2.js";
61
- import "./chunk-SJQVOEIV.js";
61
+ import "./chunk-3B2LFO6R.js";
62
62
  import "./chunk-5MMAK75Q.js";
63
63
  import "./chunk-OGGHETUE.js";
64
64
  import "./chunk-5CS33IBL.js";
@@ -78,12 +78,12 @@ import "./chunk-SOTZ6RDN.js";
78
78
  import "./chunk-IDZTNRP2.js";
79
79
  import "./chunk-IKXL2HZ3.js";
80
80
  import "./chunk-524BDL33.js";
81
- import "./chunk-CFX7LP6W.js";
82
- import "./chunk-EC2EU2F4.js";
81
+ import "./chunk-BHK5ZAW7.js";
82
+ import "./chunk-S5UACFUP.js";
83
83
  import "./chunk-Y5GCAMGP.js";
84
84
  import "./chunk-KX6YBIHG.js";
85
- import "./chunk-2MW6QFIQ.js";
86
- import "./chunk-V6PGKRZC.js";
85
+ import "./chunk-3FCSMQAC.js";
86
+ import "./chunk-A5V7UEZJ.js";
87
87
  import "./chunk-O4BU24WZ.js";
88
88
  import "./chunk-I42VC5KR.js";
89
89
  import "./chunk-WWC7I6TA.js";
@@ -18,7 +18,8 @@ import {
18
18
  resolveOpenAiCompatibleProviderConfig,
19
19
  shouldCacheHybridRemoteRecord,
20
20
  shouldFetchAgentRuntimeRecordRemotely
21
- } from "./chunk-BRODTPXY.js";
21
+ } from "./chunk-33K5FKRL.js";
22
+ import "./chunk-ZNFJWEN4.js";
22
23
  import {
23
24
  buildPlatformChatCompletionRequest,
24
25
  canUsePlatformChatProvider,
@@ -29,13 +30,12 @@ import {
29
30
  resolvePlatformChatProviderConfig,
30
31
  shouldUsePlatformChatProvider
31
32
  } from "./chunk-PB2DHBEQ.js";
32
- import "./chunk-ZNFJWEN4.js";
33
33
  import {
34
34
  resolveAgentRuntimeConfigFromRecord
35
35
  } from "./chunk-OIQPORYI.js";
36
36
  import {
37
37
  runLocalAgentTurn
38
- } from "./chunk-7H3O7ZA2.js";
38
+ } from "./chunk-VQFY3VXW.js";
39
39
  import "./chunk-3WGLLTK4.js";
40
40
  import "./chunk-UW3WOIWJ.js";
41
41
  import {
@@ -44,7 +44,7 @@ import {
44
44
  import {
45
45
  resolveRuntimeToolSurfaceForAgent
46
46
  } from "./chunk-B4KT7RN2.js";
47
- import "./chunk-SJQVOEIV.js";
47
+ import "./chunk-3B2LFO6R.js";
48
48
  import "./chunk-5MMAK75Q.js";
49
49
  import "./chunk-OGGHETUE.js";
50
50
  import {
@@ -62,8 +62,8 @@ import "./chunk-HNMXYYJR.js";
62
62
  import "./chunk-IKXL2HZ3.js";
63
63
  import "./chunk-524BDL33.js";
64
64
  import "./chunk-KX6YBIHG.js";
65
- import "./chunk-2MW6QFIQ.js";
66
- import "./chunk-V6PGKRZC.js";
65
+ import "./chunk-3FCSMQAC.js";
66
+ import "./chunk-A5V7UEZJ.js";
67
67
  import "./chunk-O4BU24WZ.js";
68
68
  import "./chunk-I42VC5KR.js";
69
69
  import "./chunk-WWC7I6TA.js";
@@ -7,11 +7,11 @@ import {
7
7
  slice,
8
8
  streamAgentChatTurn,
9
9
  updateAgent
10
- } from "./chunk-BHKOPLWJ.js";
10
+ } from "./chunk-4QUXYE7J.js";
11
11
  import "./chunk-5CS33IBL.js";
12
12
  import "./chunk-JZPBVBIY.js";
13
13
  import "./chunk-KX6YBIHG.js";
14
- import "./chunk-V6PGKRZC.js";
14
+ import "./chunk-A5V7UEZJ.js";
15
15
  import "./chunk-O4BU24WZ.js";
16
16
  import "./chunk-I42VC5KR.js";
17
17
  import "./chunk-WWC7I6TA.js";
@@ -213,8 +213,10 @@ async function runAnthropicOAuthLogin(deps = {}) {
213
213
  }
214
214
 
215
215
  // packages/cli/oauth/authCommand.ts
216
- var SYNC_HELP_LINE = ` --sync-to-server After local save, push the credential to your nolo server.
217
- --sync-only Push ~/.nolo/credentials/<provider>.json to the server without re-login.`;
216
+ var SYNC_HELP_LINE = ` --sync-to-server After local save, push the credential to your nolo server
217
+ (default when NOLO_SERVER + AUTH_TOKEN / profile are set).
218
+ --no-sync-to-server Skip server sync even when server config is available.
219
+ --sync-only Push ~/.nolo/credentials/<provider>.json to the server without re-login.`;
218
220
  var CHATGPT_HELP_TEXT = `Authorize nolo-cli to call the OpenAI Codex / ChatGPT Plus API on your behalf.
219
221
 
220
222
  This authorizes model API access only. It does NOT log you into the Nolo platform.
@@ -405,7 +407,7 @@ async function syncCredentialToServer(provider, credential, deps) {
405
407
  const syncConfig = (deps.resolveServerSyncConfig ?? resolveServerSyncConfig)();
406
408
  if (!syncConfig) {
407
409
  output.log(
408
- `[nolo] Warning: --sync-to-server requires NOLO_SERVER and AUTH_TOKEN env vars, or a configured profile. Skipping server sync.`
410
+ `[nolo] Warning: server sync requires NOLO_SERVER and AUTH_TOKEN env vars, or a configured profile. Skipping server sync.`
409
411
  );
410
412
  return;
411
413
  }
@@ -459,7 +461,9 @@ async function runAuthProviderCommand(provider, args, _ctx, deps = {}) {
459
461
  const useBrowser = args.includes("--browser");
460
462
  const noBrowser = args.includes("--no-browser") || deps.noBrowserByDefault;
461
463
  const syncOnly = args.includes("--sync-only");
462
- const syncToServer = args.includes("--sync-to-server") || syncOnly;
464
+ const syncConfigAvailable = !!(deps.resolveServerSyncConfig ?? resolveServerSyncConfig)();
465
+ const autoSyncDisabled = args.includes("--no-sync-to-server") || process.env.NOLO_OAUTH_AUTO_SYNC === "0";
466
+ const syncToServer = syncOnly || args.includes("--sync-to-server") || syncConfigAvailable && !autoSyncDisabled;
463
467
  const generateToken = args.includes("--generate-token");
464
468
  const writeToEnvRaw = parseFlagWithOptionalValue(args, "--write-to-env");
465
469
  const writeToEnvPath = typeof writeToEnvRaw === "string" ? writeToEnvRaw : writeToEnvRaw === true ? ".env" : void 0;
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-PB2DHBEQ.js";
8
8
  import {
9
9
  parseToolArgumentsJson
10
- } from "./chunk-7H3O7ZA2.js";
10
+ } from "./chunk-VQFY3VXW.js";
11
11
  import {
12
12
  createThinkParserState,
13
13
  createToolCallAccumulator,
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-IKXL2HZ3.js";
7
7
  import {
8
8
  addContentAction
9
- } from "./chunk-2MW6QFIQ.js";
9
+ } from "./chunk-3FCSMQAC.js";
10
10
  import {
11
11
  upload
12
- } from "./chunk-V6PGKRZC.js";
12
+ } from "./chunk-A5V7UEZJ.js";
13
13
  import {
14
14
  getRuntimeServerContext
15
15
  } from "./chunk-DVRHHFEA.js";
@@ -1832,6 +1832,9 @@ function fuzzyContextWindow(normalizedName) {
1832
1832
  if (normalizedName.includes("glm-5.2") || normalizedName.includes("glm5.2")) return GLM_5_2_CONTEXT_WINDOW;
1833
1833
  if (normalizedName.includes("deepseek")) return 1e6;
1834
1834
  if (normalizedName.includes("gpt-5") || normalizedName.includes("gpt-4.1")) return 1047576;
1835
+ if (normalizedName.startsWith("cursor-grok-4.5")) return 1e6;
1836
+ if (normalizedName.includes("claude-4.6")) return 1e6;
1837
+ if (normalizedName.includes("gemini-3.1")) return 1e6;
1835
1838
  if (normalizedName.includes("qwen3.6") || normalizedName.includes("qwen3p6")) return QWEN_3_6_CONTEXT_WINDOW;
1836
1839
  if (normalizedName.includes("qwen3.7") || normalizedName.includes("qwen3p7")) return 262144;
1837
1840
  if (normalizedName.includes("minimax-m2") || normalizedName.includes("minimax_m2")) return 262144;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  patch,
3
3
  read
4
- } from "./chunk-V6PGKRZC.js";
4
+ } from "./chunk-A5V7UEZJ.js";
5
5
  import {
6
6
  DEVICE_LOCAL_OWNER_ID,
7
7
  isDeviceLocalSpaceBody,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  updateContentTitle
3
- } from "./chunk-ZEYSZ5WG.js";
3
+ } from "./chunk-NARL6TJS.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-V6PGKRZC.js";
16
+ } from "./chunk-A5V7UEZJ.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-MGN4CQWL.js");
370
+ const { createPageAction } = await import("./createPageAction-MQPKRYSZ.js");
371
371
  return createPageAction(args, thunkApi);
372
372
  }
373
373
  function subscribe(listener) {
@@ -11,7 +11,7 @@ import {
11
11
  patch,
12
12
  remove,
13
13
  write
14
- } from "./chunk-V6PGKRZC.js";
14
+ } from "./chunk-A5V7UEZJ.js";
15
15
  import {
16
16
  createAgentKey,
17
17
  toTrimmedString
@@ -300,7 +300,7 @@ var slice = createSliceWithThunks({
300
300
  const overrides = {};
301
301
  if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
302
302
  if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
303
- const { _executeModel } = await import("./_executeModel-SQVV6CXR.js");
303
+ const { _executeModel } = await import("./_executeModel-ERQQ5SO5.js");
304
304
  return _executeModel(
305
305
  {
306
306
  isStreaming: args.isStreaming ?? false,
@@ -321,7 +321,7 @@ var slice = createSliceWithThunks({
321
321
  * - 循环直到无工具调用或触发其他运行时停止条件
322
322
  */
323
323
  runAgent: create.asyncThunk(async (args, thunkApi) => {
324
- const { runAgentClientLoop } = await import("./runAgentClientLoop-HND2XKNI.js");
324
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-GFC2XHEC.js");
325
325
  const { content: loopContent, toolCallCount } = await runAgentClientLoop(
326
326
  {
327
327
  agentKey: args.agentKey,
@@ -337,7 +337,7 @@ var slice = createSliceWithThunks({
337
337
  * 聊天轮次流式 Agent 调用
338
338
  */
339
339
  streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
340
- const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-MNBTNJDU.js");
340
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-42SBHJ6F.js");
341
341
  return streamAgentChatTurnHandler(args, thunkApi);
342
342
  }),
343
343
  /**
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-TSJBYH7X.js";
5
+ } from "./chunk-5R73BS7Y.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";
@@ -2,7 +2,7 @@ import {
2
2
  buildLocalAgentLookupKeys,
3
3
  normalizeAgentHandle,
4
4
  shouldReadAgentKeyRemotely
5
- } from "./chunk-FLY6L3KA.js";
5
+ } from "./chunk-TQCONXQ3.js";
6
6
  import {
7
7
  resolveCliAgentKeyInput
8
8
  } from "./chunk-VHBWHNVT.js";
@@ -18,7 +18,7 @@ import {
18
18
  isBuiltinNoloAgentRef,
19
19
  t,
20
20
  toolLabel
21
- } from "./chunk-3DKS6UER.js";
21
+ } from "./chunk-KPUM5RIE.js";
22
22
  import {
23
23
  CliProviderQuotaError
24
24
  } from "./chunk-CMKUBIGW.js";
@@ -28,10 +28,10 @@ import {
28
28
  import {
29
29
  readDbRecord,
30
30
  resolveAgentRecordFromHybridStore
31
- } from "./chunk-TSJBYH7X.js";
31
+ } from "./chunk-5R73BS7Y.js";
32
32
  import {
33
33
  normalizeAgentHandle
34
- } from "./chunk-FLY6L3KA.js";
34
+ } from "./chunk-TQCONXQ3.js";
35
35
  import {
36
36
  NOLO_PROJECT_MANAGER_AGENT_KEY,
37
37
  isLocalCliAgentKey
@@ -48,7 +48,7 @@ import {
48
48
  formatStatusRunCard,
49
49
  formatStopRunCard,
50
50
  isAgentRunTerminalStatus
51
- } from "./chunk-HXPBV44X.js";
51
+ } from "./chunk-LAVVL3GH.js";
52
52
  import {
53
53
  isGatewayHttpStatus
54
54
  } from "./chunk-RQSOAMPJ.js";
@@ -57,7 +57,7 @@ import {
57
57
  chooseMemoryOwners,
58
58
  loadMemoryCandidatesFromDb,
59
59
  resolveAgentMemoryPolicy
60
- } from "./chunk-2KNEWIDU.js";
60
+ } from "./chunk-X7NITNY4.js";
61
61
  import {
62
62
  parseExternalSkillMarkdown,
63
63
  parseSkillDocProtocol
@@ -66,7 +66,7 @@ import {
66
66
  API_REPORTED_COST_MULTIPLIER,
67
67
  normalizeUsage,
68
68
  parseUiAskChoiceContent
69
- } from "./chunk-ZEYSZ5WG.js";
69
+ } from "./chunk-NARL6TJS.js";
70
70
  import {
71
71
  buildSkillDiscoveryContextBlock
72
72
  } from "./chunk-AS3ZQ3O2.js";
@@ -82,14 +82,14 @@ import {
82
82
  LOCAL_TURN_ABORTED_CODE,
83
83
  readActionGate,
84
84
  readCommandActionGatePayload
85
- } from "./chunk-7H3O7ZA2.js";
85
+ } from "./chunk-VQFY3VXW.js";
86
86
  import {
87
87
  resolvePlatformChatCompletionsEndpoint
88
88
  } from "./chunk-KTFJUPDW.js";
89
89
  import {
90
90
  DEFAULT_CONTEXT_WINDOW,
91
91
  getModelContextWindow
92
- } from "./chunk-SJQVOEIV.js";
92
+ } from "./chunk-3B2LFO6R.js";
93
93
  import {
94
94
  clipCompactText
95
95
  } from "./chunk-5MMAK75Q.js";
@@ -2540,6 +2540,10 @@ function isFetchToolName(name) {
2540
2540
  if (!name) return false;
2541
2541
  return name === "fetchWebpage" || name === "fetch_webpage";
2542
2542
  }
2543
+ function isWebSearchToolName(name) {
2544
+ if (!name) return false;
2545
+ return name === "exa_search" || name === "exaSearch";
2546
+ }
2543
2547
  function isRunResultFoldable(event) {
2544
2548
  return Boolean(event.metadata?.actionGate) === false;
2545
2549
  }
@@ -2615,6 +2619,30 @@ function formatRunTreeBlockForCli(items, colorEnabled) {
2615
2619
  return `${headerLine}${treeLines}
2616
2620
  `;
2617
2621
  }
2622
+ function formatWebSearchTreeBlockForCli(items, colorEnabled) {
2623
+ if (items.length === 0) return "";
2624
+ const { count, lines } = formatSearchTreeLines(items);
2625
+ const titleText = toolLabel("exa_search");
2626
+ if (!colorEnabled) {
2627
+ const headerLine2 = `\u2022 ${titleText} (${count})
2628
+ `;
2629
+ const treeLines2 = lines.map((l) => ` ${l.connector}${l.queryText}`).join("\n");
2630
+ return `${headerLine2}${treeLines2}
2631
+ `;
2632
+ }
2633
+ const bullet = themeText("\u2022", "chrome", true);
2634
+ const title = styleCliText(titleText, "bold", true);
2635
+ const countText = themeText(`(${count})`, "muted", true);
2636
+ const headerLine = `${bullet} ${title} ${countText}
2637
+ `;
2638
+ const treeLines = lines.map((l) => {
2639
+ const connector = themeText(` ${l.connector}`, "chrome", true);
2640
+ const queryText = themeText(l.queryText, "muted", true);
2641
+ return `${connector}${queryText}`;
2642
+ }).join("\n");
2643
+ return `${headerLine}${treeLines}
2644
+ `;
2645
+ }
2618
2646
  function formatFetchTreeBlockForCli(items, colorEnabled) {
2619
2647
  if (items.length === 0) return "";
2620
2648
  const { count, lines } = formatFetchTreeLines(items);
@@ -2738,6 +2766,7 @@ function createToolEventFormatter(mode, colorEnabled = resolveCliColorEnabled())
2738
2766
  let searchBuffer = [];
2739
2767
  let runBuffer = [];
2740
2768
  let fetchBuffer = [];
2769
+ let webSearchBuffer = [];
2741
2770
  let statusFold = null;
2742
2771
  const lastEmittedLogByRunId = /* @__PURE__ */ new Map();
2743
2772
  const flushStatusFold = () => {
@@ -2808,6 +2837,16 @@ function createToolEventFormatter(mode, colorEnabled = resolveCliColorEnabled())
2808
2837
  fetchBuffer = [];
2809
2838
  out += formatFetchTreeBlockForCli(items, colorEnabled);
2810
2839
  }
2840
+ if (webSearchBuffer.length > 0) {
2841
+ const items = webSearchBuffer.map((evt) => {
2842
+ const call = pending.get(evt.toolCallId);
2843
+ const rawQuery = (typeof evt.metadata?.query === "string" ? evt.metadata.query : void 0) || (typeof evt.metadata?.pattern === "string" ? evt.metadata.pattern : void 0) || evt.argumentsPreview || call?.argumentsPreview || "";
2844
+ return { query: rawQuery };
2845
+ });
2846
+ for (const evt of webSearchBuffer) pending.delete(evt.toolCallId);
2847
+ webSearchBuffer = [];
2848
+ out += formatWebSearchTreeBlockForCli(items, colorEnabled);
2849
+ }
2811
2850
  return out;
2812
2851
  };
2813
2852
  const formatter = (event) => {
@@ -2916,6 +2955,19 @@ function createToolEventFormatter(mode, colorEnabled = resolveCliColorEnabled())
2916
2955
  return "";
2917
2956
  }
2918
2957
  }
2958
+ if (isWebSearchToolName(event.toolName)) {
2959
+ if (event.type === "tool-call") {
2960
+ pending.set(event.toolCallId, {
2961
+ toolName: event.toolName,
2962
+ argumentsPreview: event.argumentsPreview
2963
+ });
2964
+ return "";
2965
+ }
2966
+ if (event.type === "tool-result") {
2967
+ webSearchBuffer.push(event);
2968
+ return "";
2969
+ }
2970
+ }
2919
2971
  const flushed = flushBuffers();
2920
2972
  if (event.type === "tool-call") {
2921
2973
  pending.set(event.toolCallId, {
@@ -2944,10 +2996,10 @@ function createSseToolEventAdapter(onEvent) {
2944
2996
  const calls = Array.isArray(payload) ? payload : payload?.calls ?? [];
2945
2997
  pendingCalls = [];
2946
2998
  const events = [];
2947
- for (const name of calls) {
2999
+ for (const call of calls) {
2948
3000
  callIndex++;
2949
- const toolCallId = `sse-call-${callIndex}`;
2950
- const toolName = name || "tool";
3001
+ const toolCallId = typeof call === "string" && call.trim() ? `sse-call-${callIndex}` : typeof call === "object" && call.toolCallId ? call.toolCallId : `sse-call-${callIndex}`;
3002
+ const toolName = typeof call === "string" ? call || "tool" : call?.toolName || "tool";
2951
3003
  pendingCalls.push({ toolCallId, toolName });
2952
3004
  const event = {
2953
3005
  type: "tool-call",
@@ -3618,7 +3670,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3618
3670
  // packages/cli/client/agentRun.ts
3619
3671
  import { ulid } from "ulid";
3620
3672
  async function loadRunLocalAgentTurn() {
3621
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-F4FWS5Z4.js");
3673
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-DSUBT77I.js");
3622
3674
  return runLocalAgentTurn;
3623
3675
  }
3624
3676
  async function resolveCurrentMachineId(options) {
@@ -4055,7 +4107,7 @@ async function runLocalAgentTurnForCli(options, settings) {
4055
4107
  } : void 0;
4056
4108
  const currentDialogId = options.continueDialogId ?? ulid();
4057
4109
  const runChildTurn = async (input) => {
4058
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-F4FWS5Z4.js");
4110
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-DSUBT77I.js");
4059
4111
  return runLocalAgentTurn(input);
4060
4112
  };
4061
4113
  const createFreshChildBaseAdapter = () => {
@@ -778,7 +778,7 @@ var dbSlice = createSliceWithThunks({
778
778
  // 这里改成动态 import,运行期才解析,彻底断开这条边。
779
779
  share: create.asyncThunk(
780
780
  async (config, thunkApi) => {
781
- const { shareResourceAction } = await import("./action-Q5CBVUV5.js");
781
+ const { shareResourceAction } = await import("./action-N3KXFO5V.js");
782
782
  return shareResourceAction(config, thunkApi);
783
783
  }
784
784
  ),
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  selectCurrentServer,
3
3
  selectRemoteServers
4
- } from "./chunk-EC2EU2F4.js";
4
+ } from "./chunk-S5UACFUP.js";
5
5
  import {
6
6
  createUserKey,
7
7
  extractAgentInfo,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-3DKS6UER.js";
4
+ } from "./chunk-KPUM5RIE.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-HXPBV44X.js";
7
+ } from "./chunk-LAVVL3GH.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-7H3O7ZA2.js";
10
+ } from "./chunk-VQFY3VXW.js";
11
11
  import {
12
12
  resolveLocalRuntimeEnvFromPolicy
13
13
  } from "./chunk-5CS33IBL.js";