nolo-cli 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +1 -1
  2. package/{_executeModel-UD44KGZ4.js → _executeModel-YAXYAUOK.js} +24 -24
  3. package/{action-ZJWE3Y5S.js → action-TLI3V62L.js} +8 -8
  4. package/{addContentAction-TVDBNJM5.js → addContentAction-PLWJSCOZ.js} +7 -7
  5. package/{addDialogAgentAction-EKH774VT.js → addDialogAgentAction-BJ6SB76X.js} +6 -6
  6. package/{agentDeleteCommand-TCPEFJTF.js → agentDeleteCommand-2VYX73U5.js} +6 -6
  7. package/{agentEmailCommands-CZ3UILZ4.js → agentEmailCommands-3GDZIX64.js} +27 -27
  8. package/{agentListCommands-SJKO2FFB.js → agentListCommands-UWVBT3LH.js} +7 -7
  9. package/{agentMachineCommands-PSNABISZ.js → agentMachineCommands-WOKMUG2Y.js} +6 -6
  10. package/{agentRecordCommands-MH2JKFHS.js → agentRecordCommands-MVNZRH3U.js} +27 -27
  11. package/{agentRunCommand-4KH6MIZR.js → agentRunCommand-K7THIJLA.js} +30 -28
  12. package/{agentRuntimeLocal-SKHJUWSS.js → agentRuntimeLocal-WJIGU24U.js} +3 -3
  13. package/{agentSlice-3WXXN4VK.js → agentSlice-LL5TKZEO.js} +7 -7
  14. package/{authCommand-PXFX6JDT.js → authCommand-TC2SW2CQ.js} +2 -2
  15. package/{authCommands-356AYWEK.js → authCommands-XPEHTKSM.js} +2 -2
  16. package/{chunk-CPB2YM4D.js → chunk-2O4IZNTG.js} +1 -1
  17. package/{chunk-KOCA5FCS.js → chunk-3Y3HW5PX.js} +89 -30
  18. package/{chunk-TSS3XJY4.js → chunk-4SIMLBEU.js} +5 -5
  19. package/{chunk-MGOJ5R6J.js → chunk-5JGGZCZL.js} +2 -2
  20. package/{chunk-7QRKCBOP.js → chunk-6JJWFVZ6.js} +3 -3
  21. package/{chunk-YBWOP46I.js → chunk-6KUOUWMP.js} +2 -2
  22. package/{chunk-XS466O7S.js → chunk-6SLCD4RB.js} +55 -20
  23. package/{chunk-KTVVPRJS.js → chunk-7KNKFIRO.js} +4 -4
  24. package/{chunk-2EISRLRC.js → chunk-7U44LYTR.js} +2 -2
  25. package/{chunk-6GANEXVO.js → chunk-A67QFHAA.js} +1 -1
  26. package/{chunk-XKIMRZO2.js → chunk-AS4PVWA4.js} +1 -1
  27. package/{chunk-COMXDWNM.js → chunk-BE2OOJ5P.js} +7 -7
  28. package/{chunk-2PUGVR6E.js → chunk-CDTLMEB3.js} +1 -1
  29. package/{chunk-GG4AJPSR.js → chunk-CL3IOKGK.js} +2 -2
  30. package/{chunk-ELRRLDWI.js → chunk-DSZUWUYB.js} +2 -2
  31. package/{chunk-LARL2V6G.js → chunk-EXXFGKF7.js} +84 -29
  32. package/{chunk-3WYQEUBI.js → chunk-HFASY3WO.js} +1 -1
  33. package/{chunk-PG5PNA7Y.js → chunk-HJGEVL7C.js} +5 -5
  34. package/{chunk-3TZDXYSF.js → chunk-HNW7IJSK.js} +1 -1
  35. package/{chunk-4K2KKCSD.js → chunk-I5URP43I.js} +8 -12
  36. package/{chunk-63SLEOLK.js → chunk-KBKYAONQ.js} +4 -4
  37. package/{chunk-PCWC3JTN.js → chunk-MTU75CZ2.js} +1 -1
  38. package/{chunk-5PJ3VWCS.js → chunk-NPVBXJY2.js} +3 -9
  39. package/{chunk-SH2CFQOH.js → chunk-O4BU24WZ.js} +2 -181
  40. package/chunk-OOSFSFMA.js +271 -0
  41. package/{chunk-7OOXPE3N.js → chunk-OR2XR25C.js} +2 -2
  42. package/{chunk-XE635NI4.js → chunk-OZMMKDBI.js} +11 -11
  43. package/{chunk-ZIG5LJ7X.js → chunk-PIVFPOW6.js} +54 -2294
  44. package/{chunk-2K2ECKSG.js → chunk-QAALPJS7.js} +2 -2
  45. package/{chunk-YYUCRDOK.js → chunk-SOTZ6RDN.js} +1 -1
  46. package/{chunk-G43KEVSC.js → chunk-T7R3NGUU.js} +3 -3
  47. package/{chunk-SBR32ZZS.js → chunk-TNPIMII7.js} +7 -7
  48. package/{chunk-MKMWT7SA.js → chunk-TYSCFY6S.js} +20 -20
  49. package/{chunk-EYEEHCU4.js → chunk-UTLZINAP.js} +1 -1
  50. package/{chunk-EXTIQUCI.js → chunk-VVX233PH.js} +1 -1
  51. package/{chunk-WKM6FH35.js → chunk-WPE4F4Z6.js} +1 -1
  52. package/{chunk-Q2YZULBH.js → chunk-XENYHRUE.js} +1 -1
  53. package/{chunk-UUJDGGAK.js → chunk-YIHFXH5Q.js} +3 -3
  54. package/{createAgentAutomationAction-63OIP6X5.js → createAgentAutomationAction-CCE7CWGQ.js} +13 -13
  55. package/{createDialogAction-ZLYZDYBB.js → createDialogAction-QTRR4AT7.js} +15 -15
  56. package/{createPageAction-AL5FSDCK.js → createPageAction-Y4KQOAJE.js} +13 -13
  57. package/{dbSlice-PR44QPXY.js → dbSlice-WWNV2SGX.js} +6 -6
  58. package/{deleteFile-4SKGPHOZ.js → deleteFile-OW53A6BX.js} +3 -3
  59. package/{dialogCommands-F6YI5742.js → dialogCommands-SMKIAC3Y.js} +8 -8
  60. package/{dialogSlice-JSBNZRLR.js → dialogSlice-PT7YBWNE.js} +13 -13
  61. package/{docCreateCommands-4CTO7ERT.js → docCreateCommands-RFNA4HNM.js} +6 -6
  62. package/{docDeleteCommands-VBWERDRG.js → docDeleteCommands-4YZ325M6.js} +7 -7
  63. package/{docReadCommands-KNP4MFYB.js → docReadCommands-RT6VAFFG.js} +6 -6
  64. package/{docStore-ADP5VYY4.js → docStore-QUQZAFZF.js} +14 -14
  65. package/{docUpdateCommands-4BCBJQHA.js → docUpdateCommands-EKKKNYPW.js} +6 -6
  66. package/{fetchMessages-U6ZHN56A.js → fetchMessages-KTNM7QAR.js} +2 -2
  67. package/{handleSendMessageAction-IJDQ6ARA.js → handleSendMessageAction-5NSYAS53.js} +13 -13
  68. package/index.js +55 -55
  69. package/{localDialogRead-Z5UTAJPU.js → localDialogRead-2VRI24F4.js} +1 -1
  70. package/{machineCommands-EA3M4XTN.js → machineCommands-DOOSIUKG.js} +26 -26
  71. package/{machineWsRunDispatch-NAPKE5ZA.js → machineWsRunDispatch-PIOIQRBW.js} +26 -26
  72. package/package.json +4 -2
  73. package/{read-RIJCIVKX.js → read-GW7ZEI23.js} +3 -3
  74. package/{readDocTool-GZD2N3LO.js → readDocTool-HUFU6OCT.js} +1 -1
  75. package/{readlineWorkspace-KMWT4T4S.js → readlineWorkspace-QEAOH5EP.js} +45 -40
  76. package/{removeDialogAgentAction-GJQJNDW6.js → removeDialogAgentAction-OHMCNSSD.js} +8 -8
  77. package/{runAgentClientLoop-U5Q6NDTJ.js → runAgentClientLoop-AIGLXC3R.js} +21 -21
  78. package/{setDialogExtraReferencesAction-M7OQG54N.js → setDialogExtraReferencesAction-YJUM5BWQ.js} +6 -6
  79. package/{setPrimaryDialogAgentAction-46UNFJDL.js → setPrimaryDialogAgentAction-EBAREZDM.js} +8 -8
  80. package/{settingSlice-FVUUH4JA.js → settingSlice-UW4IUI5L.js} +7 -7
  81. package/{spaceCommands-E2CFRPZJ.js → spaceCommands-BKHSPR73.js} +10 -14
  82. package/{spaceSlice-L3R6IMXE.js → spaceSlice-TYNWE3OC.js} +13 -13
  83. package/{streamAgentChatTurn-UBDAOQWE.js → streamAgentChatTurn-HRMFFA7E.js} +24 -24
  84. package/{tableCommands-GOFP7QKA.js → tableCommands-O7O2LBEG.js} +1 -1
  85. package/{tools-TMJXZTCA.js → tools-3JNDS3WH.js} +19 -19
  86. package/{understanding-GQKNDDWM.js → understanding-3CUQQ6SV.js} +3 -3
  87. package/{updateDialogTitleAction-ZTWRDXI2.js → updateDialogTitleAction-OCETSKCP.js} +13 -13
  88. package/chunk-QYXLLLGL.js +0 -4519
@@ -1,65 +1,66 @@
1
1
  import {
2
2
  inspectLocalRunWorkspace,
3
+ isBalanceExhaustedError,
3
4
  isQuotaExhaustedError,
4
5
  normalizeCliImageInput,
5
6
  prependSubjectDialogMarker,
6
7
  resolveWorkflowReference,
7
8
  runAgentRunCommand
8
- } from "./chunk-KOCA5FCS.js";
9
+ } from "./chunk-3Y3HW5PX.js";
9
10
  import "./chunk-2FTTDCD4.js";
10
11
  import {
11
12
  parseAgentRunArgs
12
13
  } from "./chunk-DZ3XJVET.js";
13
- import "./chunk-LARL2V6G.js";
14
+ import "./chunk-EXXFGKF7.js";
14
15
  import "./chunk-EHLHSX7R.js";
15
16
  import "./chunk-W4NVOSFF.js";
16
- import "./chunk-7OOXPE3N.js";
17
- import "./chunk-2PUGVR6E.js";
17
+ import "./chunk-OR2XR25C.js";
18
+ import "./chunk-CDTLMEB3.js";
18
19
  import "./chunk-VHBWHNVT.js";
19
20
  import "./chunk-SL35K7AH.js";
20
- import "./chunk-6GANEXVO.js";
21
+ import "./chunk-A67QFHAA.js";
21
22
  import "./chunk-X7W4TNB4.js";
22
23
  import "./chunk-ATNTHIZI.js";
23
24
  import "./chunk-6HYVJV7B.js";
24
25
  import "./chunk-JBTJAPUF.js";
25
26
  import "./chunk-JEXVIMYZ.js";
26
- import "./chunk-CPB2YM4D.js";
27
+ import "./chunk-2O4IZNTG.js";
27
28
  import "./chunk-KKY4B2Q2.js";
28
29
  import "./chunk-C3RUNRHT.js";
29
- import "./chunk-MKMWT7SA.js";
30
+ import "./chunk-TYSCFY6S.js";
30
31
  import "./chunk-GAKEBQD6.js";
31
32
  import "./chunk-KQHGZWSV.js";
32
- import "./chunk-XKIMRZO2.js";
33
+ import "./chunk-AS4PVWA4.js";
33
34
  import "./chunk-3LY4F7SV.js";
34
35
  import "./chunk-VP4WJWKW.js";
35
36
  import "./chunk-63W5N6P3.js";
36
- import "./chunk-UUJDGGAK.js";
37
- import "./chunk-PG5PNA7Y.js";
37
+ import "./chunk-YIHFXH5Q.js";
38
+ import "./chunk-HJGEVL7C.js";
38
39
  import "./chunk-ZQ2UM4KG.js";
39
40
  import "./chunk-OWOHNGCN.js";
40
- import "./chunk-3TZDXYSF.js";
41
- import "./chunk-Q2YZULBH.js";
42
- import "./chunk-ZIG5LJ7X.js";
41
+ import "./chunk-HNW7IJSK.js";
42
+ import "./chunk-XENYHRUE.js";
43
+ import "./chunk-PIVFPOW6.js";
43
44
  import "./chunk-4ZDM73SD.js";
44
45
  import "./chunk-MRC4Q34M.js";
45
- import "./chunk-PCWC3JTN.js";
46
+ import "./chunk-MTU75CZ2.js";
46
47
  import "./chunk-CWMSB67P.js";
47
- import "./chunk-4K2KKCSD.js";
48
- import "./chunk-KTVVPRJS.js";
48
+ import "./chunk-I5URP43I.js";
49
+ import "./chunk-7KNKFIRO.js";
49
50
  import "./chunk-Z4NR32XR.js";
50
51
  import "./chunk-M76ECQRD.js";
51
- import "./chunk-YYUCRDOK.js";
52
- import "./chunk-MGOJ5R6J.js";
52
+ import "./chunk-SOTZ6RDN.js";
53
+ import "./chunk-5JGGZCZL.js";
53
54
  import "./chunk-UAD2WT54.js";
54
55
  import "./chunk-DCOA4QSN.js";
55
56
  import "./chunk-IDZTNRP2.js";
56
57
  import "./chunk-ISNCLGUZ.js";
57
58
  import "./chunk-OLZBQWZU.js";
58
- import "./chunk-YBWOP46I.js";
59
+ import "./chunk-6KUOUWMP.js";
59
60
  import "./chunk-5KLGBAAR.js";
60
61
  import "./chunk-ZNFJWEN4.js";
61
62
  import "./chunk-TILFE6LV.js";
62
- import "./chunk-XS466O7S.js";
63
+ import "./chunk-6SLCD4RB.js";
63
64
  import "./chunk-OPZYGHUC.js";
64
65
  import "./chunk-PAKN26FP.js";
65
66
  import "./chunk-JRKKFRAV.js";
@@ -76,20 +77,20 @@ import "./chunk-DWLEOOGR.js";
76
77
  import "./chunk-HNMXYYJR.js";
77
78
  import "./chunk-H33743XH.js";
78
79
  import "./chunk-LM6IYQ3F.js";
79
- import "./chunk-63SLEOLK.js";
80
- import "./chunk-TSS3XJY4.js";
80
+ import "./chunk-KBKYAONQ.js";
81
+ import "./chunk-4SIMLBEU.js";
81
82
  import "./chunk-Y5GCAMGP.js";
82
- import "./chunk-COMXDWNM.js";
83
+ import "./chunk-BE2OOJ5P.js";
83
84
  import "./chunk-AZPCASRE.js";
84
- import "./chunk-2EISRLRC.js";
85
+ import "./chunk-7U44LYTR.js";
85
86
  import "./chunk-KX6YBIHG.js";
86
- import "./chunk-SH2CFQOH.js";
87
+ import "./chunk-O4BU24WZ.js";
87
88
  import "./chunk-I42VC5KR.js";
88
89
  import "./chunk-WWC7I6TA.js";
89
90
  import "./chunk-QSJ3HFEF.js";
90
- import "./chunk-ELRRLDWI.js";
91
- import "./chunk-EYEEHCU4.js";
92
- import "./chunk-QYXLLLGL.js";
91
+ import "./chunk-DSZUWUYB.js";
92
+ import "./chunk-UTLZINAP.js";
93
+ import "./chunk-OOSFSFMA.js";
93
94
  import "./chunk-GBRG75BQ.js";
94
95
  import "./chunk-4SN6J65J.js";
95
96
  import "./chunk-LCBAMY2M.js";
@@ -101,6 +102,7 @@ import "./chunk-KUG52IAP.js";
101
102
  import "./chunk-4VNS5WPM.js";
102
103
  export {
103
104
  inspectLocalRunWorkspace,
105
+ isBalanceExhaustedError,
104
106
  isQuotaExhaustedError,
105
107
  normalizeCliImageInput,
106
108
  parseAgentRunArgs,
@@ -18,7 +18,7 @@ import {
18
18
  resolveOpenAiCompatibleProviderConfig,
19
19
  shouldCacheHybridRemoteRecord,
20
20
  shouldFetchAgentRuntimeRecordRemotely
21
- } from "./chunk-YBWOP46I.js";
21
+ } from "./chunk-6KUOUWMP.js";
22
22
  import {
23
23
  buildPlatformChatCompletionRequest,
24
24
  canUsePlatformChatProvider,
@@ -34,7 +34,7 @@ import {
34
34
  } from "./chunk-TILFE6LV.js";
35
35
  import {
36
36
  runLocalAgentTurn
37
- } from "./chunk-XS466O7S.js";
37
+ } from "./chunk-6SLCD4RB.js";
38
38
  import "./chunk-OPZYGHUC.js";
39
39
  import "./chunk-PAKN26FP.js";
40
40
  import {
@@ -56,7 +56,7 @@ import "./chunk-IWX4UW2E.js";
56
56
  import "./chunk-DWLEOOGR.js";
57
57
  import "./chunk-HNMXYYJR.js";
58
58
  import "./chunk-KX6YBIHG.js";
59
- import "./chunk-SH2CFQOH.js";
59
+ import "./chunk-O4BU24WZ.js";
60
60
  import "./chunk-I42VC5KR.js";
61
61
  import "./chunk-WWC7I6TA.js";
62
62
  import "./chunk-QSJ3HFEF.js";
@@ -7,20 +7,20 @@ import {
7
7
  slice,
8
8
  streamAgentChatTurn,
9
9
  updateAgent
10
- } from "./chunk-4K2KKCSD.js";
10
+ } from "./chunk-I5URP43I.js";
11
11
  import "./chunk-5CS33IBL.js";
12
12
  import "./chunk-JZPBVBIY.js";
13
- import "./chunk-COMXDWNM.js";
13
+ import "./chunk-BE2OOJ5P.js";
14
14
  import "./chunk-AZPCASRE.js";
15
- import "./chunk-2EISRLRC.js";
15
+ import "./chunk-7U44LYTR.js";
16
16
  import "./chunk-KX6YBIHG.js";
17
- import "./chunk-SH2CFQOH.js";
17
+ import "./chunk-O4BU24WZ.js";
18
18
  import "./chunk-I42VC5KR.js";
19
19
  import "./chunk-WWC7I6TA.js";
20
20
  import "./chunk-QSJ3HFEF.js";
21
- import "./chunk-ELRRLDWI.js";
22
- import "./chunk-EYEEHCU4.js";
23
- import "./chunk-QYXLLLGL.js";
21
+ import "./chunk-DSZUWUYB.js";
22
+ import "./chunk-UTLZINAP.js";
23
+ import "./chunk-OOSFSFMA.js";
24
24
  import "./chunk-GBRG75BQ.js";
25
25
  import "./chunk-4SN6J65J.js";
26
26
  import "./chunk-LCBAMY2M.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defaultOpenBrowser
3
- } from "./chunk-EXTIQUCI.js";
3
+ } from "./chunk-VVX233PH.js";
4
4
  import {
5
5
  generateCloudflareEmailRoutingToken,
6
6
  parseFlagWithOptionalValue,
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-HNMXYYJR.js";
34
34
  import "./chunk-H33743XH.js";
35
35
  import "./chunk-LM6IYQ3F.js";
36
- import "./chunk-SH2CFQOH.js";
36
+ import "./chunk-O4BU24WZ.js";
37
37
  import "./chunk-I42VC5KR.js";
38
38
  import "./chunk-WWC7I6TA.js";
39
39
  import "./chunk-4SN6J65J.js";
@@ -6,7 +6,7 @@ import {
6
6
  runLoginCommand,
7
7
  runLogoutCommand,
8
8
  runWhoamiCommand
9
- } from "./chunk-EXTIQUCI.js";
9
+ } from "./chunk-VVX233PH.js";
10
10
  import "./chunk-6HYVJV7B.js";
11
11
  import "./chunk-JBTJAPUF.js";
12
12
  import "./chunk-ROWQEJRP.js";
@@ -14,7 +14,7 @@ import "./chunk-ISNCLGUZ.js";
14
14
  import "./chunk-OLZBQWZU.js";
15
15
  import "./chunk-H33743XH.js";
16
16
  import "./chunk-LM6IYQ3F.js";
17
- import "./chunk-SH2CFQOH.js";
17
+ import "./chunk-O4BU24WZ.js";
18
18
  import "./chunk-I42VC5KR.js";
19
19
  import "./chunk-WWC7I6TA.js";
20
20
  import "./chunk-4SN6J65J.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-MKMWT7SA.js";
4
+ } from "./chunk-TYSCFY6S.js";
5
5
  import {
6
6
  canonicalizeToolNames
7
7
  } from "./chunk-AUQ747NZ.js";
@@ -16,17 +16,17 @@ import {
16
16
  createCliCallAgentToolExecutor,
17
17
  createCliLocalRuntimeAdapter,
18
18
  isBuiltinNoloAgentRef
19
- } from "./chunk-LARL2V6G.js";
19
+ } from "./chunk-EXXFGKF7.js";
20
20
  import {
21
21
  getReadableCliDb
22
22
  } from "./chunk-W4NVOSFF.js";
23
23
  import {
24
24
  readDbRecord,
25
25
  resolveAgentRecordFromHybridStore
26
- } from "./chunk-7OOXPE3N.js";
26
+ } from "./chunk-OR2XR25C.js";
27
27
  import {
28
28
  normalizeAgentHandle
29
- } from "./chunk-2PUGVR6E.js";
29
+ } from "./chunk-CDTLMEB3.js";
30
30
  import {
31
31
  NOLO_PROJECT_MANAGER_AGENT_KEY,
32
32
  isLocalCliAgentKey
@@ -50,7 +50,7 @@ import {
50
50
  import {
51
51
  buildMemorySubjectsForAgent,
52
52
  resolveAgentMemoryPolicy
53
- } from "./chunk-PG5PNA7Y.js";
53
+ } from "./chunk-HJGEVL7C.js";
54
54
  import {
55
55
  load,
56
56
  parseExternalSkillMarkdown,
@@ -58,15 +58,15 @@ import {
58
58
  } from "./chunk-ZQ2UM4KG.js";
59
59
  import {
60
60
  touchMemoryItemsInDb
61
- } from "./chunk-3TZDXYSF.js";
61
+ } from "./chunk-HNW7IJSK.js";
62
62
  import {
63
63
  chooseMemoryOwners,
64
64
  loadMemoryCandidatesFromDb
65
- } from "./chunk-Q2YZULBH.js";
65
+ } from "./chunk-XENYHRUE.js";
66
66
  import {
67
67
  getModelContextWindow,
68
68
  parseUiAskChoiceContent
69
- } from "./chunk-ZIG5LJ7X.js";
69
+ } from "./chunk-PIVFPOW6.js";
70
70
  import {
71
71
  readPipeText,
72
72
  spawnProcess
@@ -86,7 +86,7 @@ import {
86
86
  LOCAL_TURN_ABORTED_CODE,
87
87
  readActionGate,
88
88
  readCommandActionGatePayload
89
- } from "./chunk-XS466O7S.js";
89
+ } from "./chunk-6SLCD4RB.js";
90
90
  import {
91
91
  resolvePlatformChatCompletionsEndpoint
92
92
  } from "./chunk-JRKKFRAV.js";
@@ -108,9 +108,6 @@ import {
108
108
  import {
109
109
  parsePositiveFiniteNumberOrFallback
110
110
  } from "./chunk-Y5GCAMGP.js";
111
- import {
112
- require_index_umd
113
- } from "./chunk-SH2CFQOH.js";
114
111
  import {
115
112
  asTrimmedLowercaseString
116
113
  } from "./chunk-QSJ3HFEF.js";
@@ -119,7 +116,7 @@ import {
119
116
  PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
120
117
  PUBLIC_GLM_52_AGENT_KEY,
121
118
  PUBLIC_KIMI_K26_IMAGE_AGENT_KEY
122
- } from "./chunk-ELRRLDWI.js";
119
+ } from "./chunk-DSZUWUYB.js";
123
120
  import {
124
121
  isLoopbackUrl
125
122
  } from "./chunk-4SN6J65J.js";
@@ -129,9 +126,6 @@ import {
129
126
  import {
130
127
  asOptionalTrimmedString
131
128
  } from "./chunk-G3SUCT4W.js";
132
- import {
133
- __toESM
134
- } from "./chunk-4VNS5WPM.js";
135
129
 
136
130
  // packages/cli/client/tokenUsage.ts
137
131
  var PROVIDER_LOOKUP_ORDER = [
@@ -1468,6 +1462,18 @@ var STRINGS = {
1468
1462
  en: "[nolo] This agent seems to have hit a quota/rate limit (HTTP 429).\nUse /agent to switch to another agent and keep going \u2014 the dialog context is preserved.",
1469
1463
  zh: "[nolo] \u5F53\u524D agent \u4F3C\u4E4E\u989D\u5EA6/\u901F\u7387\u53D7\u9650\uFF08429\uFF09\u3002\n\u53EF\u4EE5\u7528 /agent \u5207\u6362\u5230\u5176\u4ED6 agent \u540E\u7EE7\u7EED\uFF0C\u540C\u4E00\u5BF9\u8BDD\u4F1A\u4FDD\u7559\u4E0A\u4E0B\u6587\u3002"
1470
1464
  },
1465
+ balanceExhaustedHint: {
1466
+ en: '[nolo] Insufficient balance. Your message is saved in this dialog \u2014 top up, then send again or say "continue".',
1467
+ zh: "[nolo] \u4F59\u989D\u4E0D\u8DB3\u3002\u4F60\u521A\u53D1\u7684\u8BDD\u5DF2\u4FDD\u5B58\u5728\u5F53\u524D\u5BF9\u8BDD\u91CC\u2014\u2014\u5145\u503C\u540E\u76F4\u63A5\u518D\u8BF4\u4E00\u53E5\u6216\u8BF4\u300C\u7EE7\u7EED\u300D\u5373\u53EF\uFF0C\u4E0D\u4F1A\u4E22\u4E0A\u4E0B\u6587\u3002"
1468
+ },
1469
+ dialogPreservedHint: {
1470
+ en: '[nolo] This turn failed, but the dialog is kept. Send another message (or say "continue") to keep going in the same conversation.',
1471
+ zh: "[nolo] \u672C\u8F6E\u5931\u8D25\u4E86\uFF0C\u4F46\u5BF9\u8BDD\u5DF2\u4FDD\u7559\u3002\u76F4\u63A5\u518D\u8BF4\u4E00\u53E5\uFF08\u6216\u8BF4\u300C\u7EE7\u7EED\u300D\uFF09\u5373\u53EF\u5728\u540C\u4E00\u5BF9\u8BDD\u91CC\u63A5\u7740\u804A\u3002"
1472
+ },
1473
+ dialogNotSavedHint: {
1474
+ en: "[nolo] This turn did not create a dialog. Your next message will start a new conversation \u2014 restate what you need.",
1475
+ zh: "[nolo] \u672C\u8F6E\u6CA1\u6709\u5EFA\u6210\u5BF9\u8BDD\u3002\u4E0B\u4E00\u53E5\u4F1A\u662F\u65B0\u5BF9\u8BDD\u2014\u2014\u8BF7\u628A\u4F60\u60F3\u505A\u7684\u4E8B\u518D\u8BF4\u4E00\u904D\u3002"
1476
+ },
1471
1477
  copiedLastReply: {
1472
1478
  en: "Copied the last reply to the clipboard.",
1473
1479
  zh: "\u5DF2\u590D\u5236\u6700\u540E\u4E00\u6761\u56DE\u590D\u5230\u526A\u8D34\u677F\u3002"
@@ -2793,9 +2799,9 @@ function isKnownServerPlatformAgent(options) {
2793
2799
  }
2794
2800
 
2795
2801
  // packages/cli/client/agentRun.ts
2796
- var import_ulid = __toESM(require_index_umd(), 1);
2802
+ import { ulid } from "ulid";
2797
2803
  async function loadRunLocalAgentTurn() {
2798
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-SKHJUWSS.js");
2804
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-WJIGU24U.js");
2799
2805
  return runLocalAgentTurn;
2800
2806
  }
2801
2807
  async function resolveCurrentMachineId(options) {
@@ -2954,6 +2960,35 @@ function isMissingLocalAgentConfigError(error, agentRef) {
2954
2960
  error && typeof error === "object" && "code" in error && error.code === LOCAL_AGENT_CONFIG_MISSING_CODE && error.agentRef === agentRef
2955
2961
  );
2956
2962
  }
2963
+ var PLATFORM_PROVIDER_FAILED_RE = /platform provider failed:\s*HTTP\s+(\d+)\b/i;
2964
+ function classifyLocalRunError(message) {
2965
+ const m = message.match(PLATFORM_PROVIDER_FAILED_RE);
2966
+ if (!m) return { kind: "generic" };
2967
+ const status = Number(m[1]);
2968
+ if (status >= 500 && status <= 599) {
2969
+ return { kind: "platform-proxy-transient", status };
2970
+ }
2971
+ return { kind: "platform-proxy-upstream", status };
2972
+ }
2973
+ function describeLocalRunFailure(message) {
2974
+ if (/UPSTREAM_402|Insufficient Balance|余额不足|insufficient\s+balance/i.test(
2975
+ message
2976
+ )) {
2977
+ return `[nolo] auto runtime: local run unavailable (${message}). Not falling back to server. Top up your balance, then send again (or say "\u7EE7\u7EED") \u2014 if a dialog was kept, context is preserved.
2978
+ `;
2979
+ }
2980
+ const cls = classifyLocalRunError(message);
2981
+ if (cls.kind === "platform-proxy-transient") {
2982
+ return `[nolo] auto runtime: local run unavailable (server chat proxy returned HTTP ${cls.status}; this is an upstream/gateway issue, not your local credential or config).${message ? ` Detail: ${message}` : ""} Not falling back to server. Retry shortly, or use --server to run on the server explicitly.
2983
+ `;
2984
+ }
2985
+ if (cls.kind === "platform-proxy-upstream") {
2986
+ return `[nolo] auto runtime: local run unavailable (server chat proxy returned HTTP ${cls.status}).${message ? ` Detail: ${message}` : ""} Not falling back to server. Check the agent's provider/api-key settings on nolo.chat, or use --server to run on the server explicitly.
2987
+ `;
2988
+ }
2989
+ return `[nolo] auto runtime: local run unavailable (${message}). Not falling back to server. Fix the local credential/config and retry, or use --server to run on the server explicitly.
2990
+ `;
2991
+ }
2957
2992
  function shouldAttemptAutoLocal(options) {
2958
2993
  if (options.localRuntimeAdapter || options.localRuntimeAdapterFactory)
2959
2994
  return true;
@@ -3191,9 +3226,9 @@ async function runLocalAgentTurnForCli(options, settings) {
3191
3226
  ...options.parentWakeOnTerminal ? { parentWakeOnTerminal: true } : {},
3192
3227
  ...options.parentDialogId ? { parentThreadId: options.parentDialogId } : {}
3193
3228
  } : void 0;
3194
- const currentDialogId = options.continueDialogId ?? (0, import_ulid.ulid)();
3229
+ const currentDialogId = options.continueDialogId ?? ulid();
3195
3230
  const runChildTurn = async (input) => {
3196
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-SKHJUWSS.js");
3231
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-WJIGU24U.js");
3197
3232
  return runLocalAgentTurn(input);
3198
3233
  };
3199
3234
  const createFreshChildBaseAdapter = () => {
@@ -3296,12 +3331,12 @@ async function runLocalAgentTurnForCli(options, settings) {
3296
3331
  };
3297
3332
  } catch (error) {
3298
3333
  turnOutput.spinner.stop();
3334
+ const savedDialogId = error?.dialogId;
3299
3335
  if (error?.code === LOCAL_TURN_ABORTED_CODE || options.abortSignal?.aborted) {
3300
- const stoppedDialogId = error?.dialogId;
3301
3336
  return {
3302
3337
  exitCode: 0,
3303
3338
  streamInterrupted: true,
3304
- ...stoppedDialogId ? { dialogId: stoppedDialogId } : {}
3339
+ ...savedDialogId ? { dialogId: savedDialogId } : {}
3305
3340
  };
3306
3341
  }
3307
3342
  if (settings.reportFailure) {
@@ -3310,7 +3345,11 @@ async function runLocalAgentTurnForCli(options, settings) {
3310
3345
  `
3311
3346
  );
3312
3347
  }
3313
- return { exitCode: 1, localError: error };
3348
+ return {
3349
+ exitCode: 1,
3350
+ localError: error,
3351
+ ...savedDialogId ? { dialogId: savedDialogId } : {}
3352
+ };
3314
3353
  }
3315
3354
  }
3316
3355
  async function runAgentTurn(options) {
@@ -3356,13 +3395,13 @@ async function runAgentTurn(options) {
3356
3395
  }
3357
3396
  }
3358
3397
  const localErrorMessage = localResult.localError ? toErrorMessage(localResult.localError) : "local runtime failed";
3359
- options.output.write(
3360
- `[nolo] auto runtime: local run unavailable (${localErrorMessage}). Not falling back to server. Fix the local credential/config and retry, or use --server to run on the server explicitly.
3361
- `
3362
- );
3398
+ options.output.write(describeLocalRunFailure(localErrorMessage));
3363
3399
  return {
3364
3400
  exitCode: 1,
3365
- ...localResult.dialogId ? { dialogId: localResult.dialogId } : {}
3401
+ ...localResult.dialogId ? { dialogId: localResult.dialogId } : {},
3402
+ // Keep localError so TUI can show balance/quota/dialog-preserved hints
3403
+ // instead of only the raw auto-runtime line.
3404
+ ...localResult.localError ? { localError: localResult.localError } : {}
3366
3405
  };
3367
3406
  }
3368
3407
  }
@@ -4613,12 +4652,20 @@ ${mdContent}`);
4613
4652
  `[nolo] quota exhausted on ${agentKey}, falling back to ${fallbackAgentKey}
4614
4653
  `
4615
4654
  );
4616
- const fallbackResult = await raceWithWatchdog(runner(buildRunOptions(fallbackAgentKey)));
4655
+ const fallbackResult = await raceWithWatchdog(
4656
+ runner({
4657
+ ...buildRunOptions(fallbackAgentKey),
4658
+ ...result.dialogId ? { continueDialogId: result.dialogId } : {}
4659
+ })
4660
+ );
4617
4661
  clearWatchdogs();
4618
4662
  if (fallbackResult.exitCode === 0) {
4619
4663
  result = fallbackResult;
4620
4664
  } else {
4621
- result = fallbackResult;
4665
+ result = {
4666
+ ...fallbackResult,
4667
+ ...fallbackResult.dialogId || result.dialogId ? { dialogId: fallbackResult.dialogId ?? result.dialogId } : {}
4668
+ };
4622
4669
  output.write(
4623
4670
  `[nolo] fallback to ${fallbackAgentKey} also failed: ${fallbackResult.localError instanceof Error ? fallbackResult.localError.message : String(fallbackResult.localError ?? "unknown error")}
4624
4671
  `
@@ -4708,6 +4755,17 @@ function isQuotaExhaustedError(error) {
4708
4755
  if (typeof maybeStatusCode === "number" && maybeStatusCode === 429) return true;
4709
4756
  return false;
4710
4757
  }
4758
+ var BALANCE_ERROR_PATTERNS = [
4759
+ /UPSTREAM_402/i,
4760
+ /Insufficient Balance/i,
4761
+ /insufficient\s+balance/i,
4762
+ /余额不足/
4763
+ ];
4764
+ function isBalanceExhaustedError(error) {
4765
+ if (!error) return false;
4766
+ const message = error instanceof Error ? error.message : typeof error === "string" ? error : String(error?.message ?? "");
4767
+ return BALANCE_ERROR_PATTERNS.some((pattern) => pattern.test(message));
4768
+ }
4711
4769
 
4712
4770
  export {
4713
4771
  formatTokenCount,
@@ -4746,5 +4804,6 @@ export {
4746
4804
  normalizeCliImageInput,
4747
4805
  inspectLocalRunWorkspace,
4748
4806
  runAgentRunCommand,
4749
- isQuotaExhaustedError
4807
+ isQuotaExhaustedError,
4808
+ isBalanceExhaustedError
4750
4809
  };
@@ -7,7 +7,7 @@ import {
7
7
  toTimestampMs,
8
8
  upsert,
9
9
  write
10
- } from "./chunk-COMXDWNM.js";
10
+ } from "./chunk-BE2OOJ5P.js";
11
11
  import {
12
12
  asRecordOrEmpty
13
13
  } from "./chunk-KX6YBIHG.js";
@@ -15,13 +15,13 @@ import {
15
15
  createUserKey,
16
16
  createUserPreferenceKey,
17
17
  ulid
18
- } from "./chunk-SH2CFQOH.js";
18
+ } from "./chunk-O4BU24WZ.js";
19
19
  import {
20
20
  asTrimmedLowercaseString
21
21
  } from "./chunk-QSJ3HFEF.js";
22
22
  import {
23
23
  BUILTIN_NOLO_AGENT_KEY
24
- } from "./chunk-ELRRLDWI.js";
24
+ } from "./chunk-DSZUWUYB.js";
25
25
  import {
26
26
  asyncThunkCreator,
27
27
  buildCreateSlice,
@@ -29,12 +29,12 @@ import {
29
29
  createAsyncThunk,
30
30
  createSelector,
31
31
  selectIdentityUserId
32
- } from "./chunk-EYEEHCU4.js";
32
+ } from "./chunk-UTLZINAP.js";
33
33
  import {
34
34
  getAllServers,
35
35
  getIsDesktopApp,
36
36
  isProduction
37
- } from "./chunk-QYXLLLGL.js";
37
+ } from "./chunk-OOSFSFMA.js";
38
38
  import {
39
39
  isLocalServerUrl
40
40
  } from "./chunk-4SN6J65J.js";
@@ -4,12 +4,12 @@ import {
4
4
  import {
5
5
  patch,
6
6
  read
7
- } from "./chunk-COMXDWNM.js";
7
+ } from "./chunk-BE2OOJ5P.js";
8
8
  import {
9
9
  DEVICE_LOCAL_OWNER_ID,
10
10
  isDeviceLocalSpaceBody,
11
11
  selectIdentityUserId
12
- } from "./chunk-EYEEHCU4.js";
12
+ } from "./chunk-UTLZINAP.js";
13
13
 
14
14
  // packages/create/space/utils/permissions.ts
15
15
  var checkSpaceMembership = (spaceData, userId) => {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-LARL2V6G.js";
4
+ } from "./chunk-EXXFGKF7.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-MKMWT7SA.js";
7
+ } from "./chunk-TYSCFY6S.js";
8
8
  import {
9
9
  readPipeText,
10
10
  spawnProcess
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-OLZBQWZU.js";
18
18
  import {
19
19
  runLocalAgentTurn
20
- } from "./chunk-XS466O7S.js";
20
+ } from "./chunk-6SLCD4RB.js";
21
21
  import {
22
22
  resolveLocalRuntimeEnvFromPolicy
23
23
  } from "./chunk-5CS33IBL.js";
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-5KLGBAAR.js";
9
9
  import {
10
10
  parseToolArgumentsJson
11
- } from "./chunk-XS466O7S.js";
11
+ } from "./chunk-6SLCD4RB.js";
12
12
  import {
13
13
  createThinkParserState,
14
14
  extractThinkContent
@@ -30,7 +30,7 @@ import {
30
30
  } from "./chunk-KX6YBIHG.js";
31
31
  import {
32
32
  dialogMessageKey
33
- } from "./chunk-SH2CFQOH.js";
33
+ } from "./chunk-O4BU24WZ.js";
34
34
  import {
35
35
  asTrimmedNonEmptyStringArray
36
36
  } from "./chunk-I42VC5KR.js";