nolo-cli 0.38.0-alpha.3 → 0.47.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 (140) hide show
  1. package/{_executeModel-SWONBJ7Z.js → _executeModel-JWAASOOT.js} +42 -44
  2. package/{action-KMBZ3LCZ.js → action-FLLC2SIX.js} +7 -7
  3. package/{addContentAction-KQ44UT2U.js → addContentAction-SVSPUUK4.js} +6 -6
  4. package/{addDialogAgentAction-ILSDCMYL.js → addDialogAgentAction-W3JGU4F7.js} +5 -5
  5. package/{agentDeleteCommand-SMUJYI6N.js → agentDeleteCommand-QL7TF5F2.js} +25 -26
  6. package/{agentEmailCommands-YWCGZ4RO.js → agentEmailCommands-AC3XQM53.js} +55 -57
  7. package/{agentListCommands-ULFV2XJQ.js → agentListCommands-4YMFHDU6.js} +31 -29
  8. package/{agentMachineCommands-7YZ2TIYZ.js → agentMachineCommands-MFQKYUV4.js} +24 -25
  9. package/{agentPullCommand-TSWAJPS2.js → agentPullCommand-M552CYSI.js} +2 -2
  10. package/{agentRecordCommands-EVOSSHJR.js → agentRecordCommands-QG3YBSTQ.js} +51 -53
  11. package/{agentRunCommand-PO55WUIY.js → agentRunCommand-B4PGT36L.js} +54 -56
  12. package/{agentRunControl-7MUPSYDQ.js → agentRunControl-LHXOP4IU.js} +43 -1
  13. package/{agentRuntimeLocal-Q6D3G6G7.js → agentRuntimeLocal-V2UKJPNE.js} +20 -21
  14. package/{agentSlice-6TRUUOSX.js → agentSlice-B5O3RTRP.js} +6 -6
  15. package/{agentSuperviseCommands-MKWW3ICX.js → agentSuperviseCommands-IMRZ56RC.js} +2 -2
  16. package/{appDeleteCommands-JDBSRLTX.js → appDeleteCommands-BQCRRHOM.js} +24 -25
  17. package/{appDeployCommands-Q5H2NBKQ.js → appDeployCommands-UMJ67TUR.js} +24 -25
  18. package/{appDeployStatusCommands-PSYBUIZT.js → appDeployStatusCommands-KASPUR4V.js} +24 -25
  19. package/{appGetCommands-IX64IUW6.js → appGetCommands-FFT2LTGF.js} +24 -25
  20. package/{appListCommands-BJZFX65H.js → appListCommands-TAVWFRZZ.js} +24 -25
  21. package/{authCommand-B2XRHNJH.js → authCommand-OY2E2VQK.js} +12 -12
  22. package/{authCommands-GWABTFMR.js → authCommands-SBQVTD6V.js} +5 -5
  23. package/{chatQueueReduxAdapter-N7Z5MUPU.js → chatQueueReduxAdapter-OVDKLHLD.js} +20 -20
  24. package/chunk-25J3BB35.js +6041 -0
  25. package/chunk-2BWU4ORW.js +2574 -0
  26. package/{chunk-U6QQLXWI.js → chunk-2X5S4IBZ.js} +1 -1
  27. package/{chunk-MJWX4JQO.js → chunk-3EEK7T3D.js} +1 -1
  28. package/{chunk-UNHKVD2N.js → chunk-43CXXVJD.js} +1 -1
  29. package/{chunk-WRP5TTM6.js → chunk-4MXGXSYN.js} +83 -3
  30. package/{chunk-2KO5QQFV.js → chunk-5IQX2XPA.js} +2 -2
  31. package/{chunk-4WVNHL3V.js → chunk-5PFBRLJN.js} +157 -51
  32. package/{chunk-W445DPVT.js → chunk-5QRCPERU.js} +1 -1
  33. package/{chunk-GKHV4UH5.js → chunk-5UOBIU5G.js} +31 -3
  34. package/{chunk-BMB563Y6.js → chunk-6BYAXNH5.js} +3 -3
  35. package/{chunk-SMPAUSX5.js → chunk-6FGXGFAH.js} +2 -2
  36. package/{chunk-6XIE5ZGI.js → chunk-6HIGYUBQ.js} +1 -1
  37. package/{chunk-7N7XKGEQ.js → chunk-7US2USK7.js} +7 -7
  38. package/{chunk-FTM4KUOZ.js → chunk-7XTC3KRG.js} +1 -1
  39. package/{chunk-IMHO5LC6.js → chunk-7XZ5GXSN.js} +1 -1
  40. package/{chunk-E2OQ5N2F.js → chunk-AEXP2UZT.js} +341 -16
  41. package/{chunk-MZZZYUZS.js → chunk-AV2CELZZ.js} +37 -12
  42. package/{chunk-JI2TIPLP.js → chunk-AYXSUBVC.js} +1 -1
  43. package/{chunk-MWGCZ4CS.js → chunk-BIMCW2CC.js} +3 -3
  44. package/{chunk-L7SMDIL6.js → chunk-C5UWCCLI.js} +3 -3
  45. package/{chunk-J6WH4PYZ.js → chunk-CIF4X6ZM.js} +1 -1
  46. package/{chunk-NZLQ7B5P.js → chunk-CTXR4SRT.js} +3 -3
  47. package/{chunk-GZRMWK5R.js → chunk-DQLYEGP7.js} +2 -2
  48. package/{chunk-CYAC5WXX.js → chunk-DROE55W3.js} +215 -47
  49. package/{chunk-GUYMR3JL.js → chunk-E2QH2AYX.js} +69 -3
  50. package/{chunk-B6H5XCT2.js → chunk-EMEUU5IY.js} +3 -3
  51. package/{chunk-X6EN3KJX.js → chunk-ENYDQKOB.js} +319 -71
  52. package/{chunk-RCFIB45Q.js → chunk-EVBFYPDC.js} +2 -2
  53. package/{chunk-PV734VZX.js → chunk-EXLOROHG.js} +1 -1
  54. package/{chunk-KHCLMKZZ.js → chunk-EY7V7REW.js} +280 -6
  55. package/{chunk-WRN7L5CS.js → chunk-FA4SY4F5.js} +1 -1
  56. package/{chunk-IFS5CUEH.js → chunk-FJHLA6SX.js} +1 -1
  57. package/{chunk-IKGHZMK2.js → chunk-FM6ZGNMV.js} +12 -12
  58. package/{chunk-T2BZICLK.js → chunk-G46DB6KG.js} +49 -6
  59. package/{chunk-FGLKRJDI.js → chunk-GK74OOFT.js} +2 -2
  60. package/{chunk-LM6IYQ3F.js → chunk-GLKOYSRU.js} +8 -1
  61. package/{chunk-KU6CDTZ5.js → chunk-GYSVYO35.js} +61 -49
  62. package/{chunk-JIADXJYU.js → chunk-H2G6JXTR.js} +1 -1
  63. package/{chunk-MGIHZ5CJ.js → chunk-HAPCUPEO.js} +2 -2
  64. package/{chunk-LD6Y6RJY.js → chunk-HGDOIDQ4.js} +2 -2
  65. package/{chunk-IZNJDUJ4.js → chunk-I4JISVWK.js} +1 -1
  66. package/{chunk-N4XRDM26.js → chunk-IA3A5373.js} +2 -2
  67. package/{chunk-GEPHJJW4.js → chunk-L7NG2M6H.js} +1 -1
  68. package/{chunk-XQES6LXQ.js → chunk-LFLWZX76.js} +2 -2
  69. package/{chunk-IIOHYLIG.js → chunk-LGUQHYAL.js} +1 -1
  70. package/{chunk-4AWH4LQA.js → chunk-LYGNQHUW.js} +3 -1
  71. package/{db-3H3JECGY.js → chunk-M5PVFLD4.js} +11 -158
  72. package/{chunk-WN5AJG5I.js → chunk-MKZRKDQM.js} +1 -1
  73. package/{chunk-V5GA74HI.js → chunk-MZXZJVVD.js} +20 -39
  74. package/{chunk-Y5MMUI3L.js → chunk-NC3CSWVT.js} +2 -2
  75. package/{chunk-XVVNNJAA.js → chunk-NSQNNYGW.js} +20 -51
  76. package/{chunk-VOXNBPLB.js → chunk-OFSVXPQS.js} +651 -43
  77. package/{chunk-ZBB3MZR3.js → chunk-OLNC7AWK.js} +7 -4
  78. package/{chunk-J5NMOM35.js → chunk-OYNDYVSE.js} +1 -1
  79. package/{chunk-C6ELZQ7H.js → chunk-OZVGA4SY.js} +1 -1
  80. package/{chunk-K4KIFRIN.js → chunk-Q24S4NDF.js} +1 -1
  81. package/{chunk-B6YYACBT.js → chunk-RNNAJ34U.js} +1 -1
  82. package/{chunk-UWGWUOVN.js → chunk-SEIOEDBB.js} +109 -48
  83. package/{chunk-2WKUUY2E.js → chunk-SVEUG45B.js} +5 -3
  84. package/{chunk-IZCHPD7T.js → chunk-TNPCQNGQ.js} +11 -6
  85. package/{chunk-4DMPISV6.js → chunk-URBGEE42.js} +2 -2
  86. package/{chunk-23KKIMD5.js → chunk-WVGEBWA6.js} +4 -4
  87. package/{chunk-NRROOY22.js → chunk-XIRSTDYF.js} +271 -130
  88. package/{chunk-64KIQZA2.js → chunk-XO3G35OV.js} +1 -1
  89. package/{chunk-46VPXYIV.js → chunk-XOFZEJGM.js} +5 -5
  90. package/{chunk-XT73C4VH.js → chunk-Z5NW3O7V.js} +1 -1
  91. package/{codingSkills-H6N5EKSX.js → codingSkills-QLDAXJRA.js} +3 -4
  92. package/{createAgentAutomationAction-U57ZMPMS.js → createAgentAutomationAction-TQ7PYONU.js} +21 -21
  93. package/{createDialogAction-MAJLBNK4.js → createDialogAction-EOQFCM3K.js} +24 -25
  94. package/{createPageAction-4EX7HU6G.js → createPageAction-ZG5PH6BI.js} +22 -23
  95. package/db-VQSAOWAO.js +162 -0
  96. package/{dbSlice-PIQGICNM.js → dbSlice-XWUM4QOF.js} +5 -5
  97. package/deleteFile-NPZ64DFN.js +1 -1
  98. package/{dialogCommands-4MHZXEIS.js → dialogCommands-DCGMVLBA.js} +28 -26
  99. package/{dialogSlice-AL3UJLOJ.js → dialogSlice-YHGPDBAZ.js} +20 -20
  100. package/{docCreateCommands-GDYFEK67.js → docCreateCommands-A2LVLROP.js} +25 -27
  101. package/{docDeleteCommands-WIE5CXED.js → docDeleteCommands-ENMROKH6.js} +26 -28
  102. package/{docReadCommands-LTOOPJVC.js → docReadCommands-XSRUV4EM.js} +25 -27
  103. package/{docStore-35B5VAFF.js → docStore-WIKRGVQJ.js} +22 -22
  104. package/{docUpdateCommands-TZGAGXSG.js → docUpdateCommands-5B5NBORA.js} +25 -27
  105. package/{fetchMessages-CUEFN4GQ.js → fetchMessages-KZQVBXKY.js} +3 -3
  106. package/{getPricing-P3E2WRIH.js → getPricing-X3HXP6VQ.js} +3 -3
  107. package/{handleSendMessageAction-PXX2R5JS.js → handleSendMessageAction-WT4FDMQS.js} +21 -21
  108. package/index.js +69 -69
  109. package/levelLazyShim-GZBKODGI.js +7 -0
  110. package/{localDialogRead-P7CHFMIC.js → localDialogRead-NQ33HBSI.js} +2 -2
  111. package/{localRuntimeAuthority-S77B5QVB.js → localRuntimeAuthority-KQDAE64E.js} +4 -4
  112. package/{localRuntimeDb-N3H3HQ7G.js → localRuntimeDb-PF7CFKDL.js} +2 -2
  113. package/{machineCommands-VCPPY23X.js → machineCommands-BFLTBAK6.js} +49 -51
  114. package/{machineWsRunDispatch-A4C727GL.js → machineWsRunDispatch-VCJB5LHO.js} +49 -51
  115. package/{models-L7S2EKPM.js → models-7LWATQFH.js} +2 -2
  116. package/package.json +1 -1
  117. package/{read-6C2XD3YZ.js → read-DQQ75VI3.js} +2 -2
  118. package/{readDocTool-Y7AB365O.js → readDocTool-HCQQFAZD.js} +1 -1
  119. package/{readlineWorkspace-BIBIM6DG.js → readlineWorkspace-VBJLMU6V.js} +166 -81
  120. package/{removeDialogAgentAction-KG5WMJRZ.js → removeDialogAgentAction-DNONRKST.js} +7 -7
  121. package/{runAgentClientLoop-RKDXMIZW.js → runAgentClientLoop-4QOEJOJP.js} +40 -41
  122. package/{runtimeDoctorCommands-HT4O2PXL.js → runtimeDoctorCommands-JKTTN723.js} +4 -4
  123. package/serverStoreFactory-YMXDF4NI.js +20 -0
  124. package/{setDialogExtraReferencesAction-O2NLXMSM.js → setDialogExtraReferencesAction-ERHUPT3F.js} +6 -6
  125. package/{setPrimaryDialogAgentAction-FYYUY7PB.js → setPrimaryDialogAgentAction-6C2HYNEC.js} +7 -7
  126. package/{settingSlice-GPLI6E3M.js → settingSlice-YVRJFKQX.js} +6 -6
  127. package/{skillDiscovery-COX56OBO.js → skillDiscovery-GPUDHDTZ.js} +1 -2
  128. package/{spaceCommands-4FMO3SNP.js → spaceCommands-FBB7XSAW.js} +23 -24
  129. package/{spaceSlice-2W4GJ2OE.js → spaceSlice-YMDZ4G6H.js} +21 -21
  130. package/{streamAgentChatTurn-FS52LDQP.js → streamAgentChatTurn-5NBWQHY6.js} +92 -51
  131. package/{switchDialogAgentAction-GH5P6Q3Z.js → switchDialogAgentAction-HP57XYFP.js} +5 -5
  132. package/{tools-3J5CKEE7.js → tools-37H5A4OG.js} +33 -34
  133. package/{tuiSummaryLlmCaller-SHRB4RWM.js → tuiSummaryLlmCaller-NBTWT57U.js} +25 -14
  134. package/{updateDialogTitleAction-5MGPA3OO.js → updateDialogTitleAction-XAGMXHW5.js} +24 -23
  135. package/chunk-4APLX2RT.js +0 -1514
  136. package/chunk-AETZ7AD6.js +0 -274
  137. package/chunk-OFZPJ3NT.js +0 -114
  138. package/chunk-P66M7LSQ.js +0 -58
  139. package/{chunk-6WD3OOJS.js → chunk-UV6VISQJ.js} +0 -0
  140. package/{tableCommands-PQUJ55AS.js → tableCommands-P2TXJ3CF.js} +1 -1
@@ -3,19 +3,7 @@ import {
3
3
  normalizeDialogRecord,
4
4
  readDialogSnapshot,
5
5
  sortDialogs
6
- } from "./chunk-4APLX2RT.js";
7
- import {
8
- listFavoriteAgentIdsAcrossServers,
9
- listLocalCachedAgents,
10
- listRemoteAgents,
11
- listRemoteAgentsAcrossServers,
12
- normalizeListedAgent
13
- } from "./chunk-ZBB3MZR3.js";
14
- import "./chunk-ID4G2MAR.js";
15
- import {
16
- listUserRecordsFromServers,
17
- readLiveDbRecordAfterTombstoneMerge
18
- } from "./chunk-K4KIFRIN.js";
6
+ } from "./chunk-25J3BB35.js";
19
7
  import {
20
8
  ANSI_ESCAPE_REGEX,
21
9
  COLLAPSED_PASTE_PLACEHOLDER_RE,
@@ -76,9 +64,21 @@ import {
76
64
  wrapTextToLines,
77
65
  wrapTranscriptLine,
78
66
  wrapTranscriptLineWithLayout
79
- } from "./chunk-CYAC5WXX.js";
80
- import "./chunk-IMHO5LC6.js";
81
- import "./chunk-4AWH4LQA.js";
67
+ } from "./chunk-DROE55W3.js";
68
+ import {
69
+ listFavoriteAgentIdsAcrossServers,
70
+ listLocalCachedAgents,
71
+ listRemoteAgents,
72
+ listRemoteAgentsAcrossServers,
73
+ normalizeListedAgent
74
+ } from "./chunk-OLNC7AWK.js";
75
+ import "./chunk-ID4G2MAR.js";
76
+ import {
77
+ listUserRecordsFromServers,
78
+ readLiveDbRecordAfterTombstoneMerge
79
+ } from "./chunk-Q24S4NDF.js";
80
+ import "./chunk-7XZ5GXSN.js";
81
+ import "./chunk-LYGNQHUW.js";
82
82
  import {
83
83
  createCliLocalRuntimeAdapter,
84
84
  initCliLocale,
@@ -86,18 +86,18 @@ import {
86
86
  readTimestamp,
87
87
  setCliLocale,
88
88
  t
89
- } from "./chunk-NRROOY22.js";
90
- import "./chunk-IZNJDUJ4.js";
89
+ } from "./chunk-XIRSTDYF.js";
90
+ import "./chunk-I4JISVWK.js";
91
91
  import "./chunk-NI2BS6UD.js";
92
92
  import {
93
93
  getReadableCliDb
94
- } from "./chunk-UNHKVD2N.js";
94
+ } from "./chunk-43CXXVJD.js";
95
95
  import {
96
96
  deleteDbRecord,
97
97
  queryUserRecords,
98
98
  readDbRecord
99
- } from "./chunk-GZRMWK5R.js";
100
- import "./chunk-J5NMOM35.js";
99
+ } from "./chunk-DQLYEGP7.js";
100
+ import "./chunk-OYNDYVSE.js";
101
101
  import {
102
102
  NOLO_DEFAULT_AGENT_KEY,
103
103
  resolveCliAgentKeyInput
@@ -106,24 +106,25 @@ import "./chunk-JDSUTNYY.js";
106
106
  import {
107
107
  checkStaleRun,
108
108
  isRunRecordClaimed,
109
+ listRunRecords,
109
110
  readRunRecord
110
- } from "./chunk-E2OQ5N2F.js";
111
+ } from "./chunk-AEXP2UZT.js";
111
112
  import "./chunk-ESHYE7WU.js";
112
113
  import "./chunk-JBTJAPUF.js";
113
114
  import "./chunk-LTRXGFMS.js";
114
- import "./chunk-JI2TIPLP.js";
115
+ import "./chunk-AYXSUBVC.js";
115
116
  import "./chunk-ATNTHIZI.js";
116
117
  import "./chunk-JEXVIMYZ.js";
117
118
  import {
118
119
  prepareTools
119
- } from "./chunk-Y5MMUI3L.js";
120
+ } from "./chunk-NC3CSWVT.js";
120
121
  import "./chunk-HS7MLR74.js";
121
- import "./chunk-PV734VZX.js";
122
- import "./chunk-UWGWUOVN.js";
122
+ import "./chunk-EXLOROHG.js";
123
+ import "./chunk-SEIOEDBB.js";
123
124
  import "./chunk-RQSOAMPJ.js";
124
- import "./chunk-GUYMR3JL.js";
125
+ import "./chunk-E2QH2AYX.js";
125
126
  import "./chunk-KQHGZWSV.js";
126
- import "./chunk-IFS5CUEH.js";
127
+ import "./chunk-FJHLA6SX.js";
127
128
  import {
128
129
  clipText,
129
130
  formatDuration,
@@ -135,10 +136,10 @@ import {
135
136
  runShowsLogTail,
136
137
  shortRunId
137
138
  } from "./chunk-KXKQO4Q6.js";
138
- import "./chunk-MWGCZ4CS.js";
139
- import "./chunk-BANYWEYY.js";
140
- import "./chunk-U6QQLXWI.js";
141
139
  import "./chunk-INZZJSQF.js";
140
+ import "./chunk-BIMCW2CC.js";
141
+ import "./chunk-BANYWEYY.js";
142
+ import "./chunk-2X5S4IBZ.js";
142
143
  import "./chunk-MEYIRKDN.js";
143
144
  import "./chunk-63W5N6P3.js";
144
145
  import "./chunk-VF4K2QE6.js";
@@ -147,56 +148,54 @@ import {
147
148
  createTurnRequest,
148
149
  normalizeRunCompletionShape
149
150
  } from "./chunk-YPREESF4.js";
150
- import "./chunk-7N7XKGEQ.js";
151
- import "./chunk-IKGHZMK2.js";
151
+ import "./chunk-7US2USK7.js";
152
+ import "./chunk-FM6ZGNMV.js";
152
153
  import {
153
154
  extractReferenceKeysFromMessage
154
- } from "./chunk-4WVNHL3V.js";
155
- import "./chunk-RCFIB45Q.js";
156
- import "./chunk-JIADXJYU.js";
155
+ } from "./chunk-5PFBRLJN.js";
156
+ import "./chunk-EVBFYPDC.js";
157
+ import "./chunk-H2G6JXTR.js";
157
158
  import "./chunk-YYLHWIW6.js";
159
+ import "./chunk-XOFZEJGM.js";
158
160
  import "./chunk-AGGIDPCZ.js";
159
- import "./chunk-46VPXYIV.js";
160
- import "./chunk-MGIHZ5CJ.js";
161
+ import "./chunk-HAPCUPEO.js";
161
162
  import "./chunk-5RGU3J7P.js";
162
163
  import "./chunk-M76ECQRD.js";
163
164
  import "./chunk-MRWGHF56.js";
164
165
  import "./chunk-URMS4XY2.js";
165
- import "./chunk-N4XRDM26.js";
166
- import "./chunk-LM6IYQ3F.js";
166
+ import "./chunk-IA3A5373.js";
167
+ import "./chunk-GLKOYSRU.js";
167
168
  import {
168
169
  buildSkillDiscoveryContextBlock,
169
170
  buildSkillDiscoveryContextLayer
170
- } from "./chunk-OFZPJ3NT.js";
171
- import "./chunk-2KO5QQFV.js";
171
+ } from "./chunk-2BWU4ORW.js";
172
+ import "./chunk-5IQX2XPA.js";
172
173
  import {
173
174
  expandEnabledPacks
174
- } from "./chunk-IIOHYLIG.js";
175
- import "./chunk-AETZ7AD6.js";
176
- import "./chunk-KHCLMKZZ.js";
175
+ } from "./chunk-LGUQHYAL.js";
176
+ import "./chunk-EY7V7REW.js";
177
177
  import {
178
178
  buildLocalWorkspaceOpenAiTools,
179
179
  buildLocalWorkspaceToolset,
180
180
  getProcessRegistry,
181
181
  readCommandActionGatePayload
182
- } from "./chunk-VOXNBPLB.js";
183
- import "./chunk-MZZZYUZS.js";
182
+ } from "./chunk-OFSVXPQS.js";
183
+ import "./chunk-AV2CELZZ.js";
184
184
  import "./chunk-ZNFJWEN4.js";
185
- import "./chunk-64KIQZA2.js";
185
+ import "./chunk-XO3G35OV.js";
186
186
  import "./chunk-T27IEBNQ.js";
187
- import "./chunk-P66M7LSQ.js";
188
187
  import "./chunk-N7J63Q6C.js";
189
188
  import {
190
189
  buildCurrentTimeBlock,
191
190
  buildIdentityBlock,
192
191
  buildRuntimeGuidanceBlocks,
193
192
  resolveToolGuidedSections
194
- } from "./chunk-T2BZICLK.js";
195
- import "./chunk-BMB563Y6.js";
193
+ } from "./chunk-G46DB6KG.js";
194
+ import "./chunk-6BYAXNH5.js";
196
195
  import {
197
196
  resolvePlatformAuthToken
198
- } from "./chunk-GKHV4UH5.js";
199
- import "./chunk-IZCHPD7T.js";
197
+ } from "./chunk-5UOBIU5G.js";
198
+ import "./chunk-TNPCQNGQ.js";
200
199
  import {
201
200
  isQuotaExhaustedError
202
201
  } from "./chunk-IWUMSAQF.js";
@@ -204,7 +203,7 @@ import "./chunk-2MBTWINN.js";
204
203
  import {
205
204
  DEFAULT_CONTEXT_WINDOW,
206
205
  getModelContextWindow
207
- } from "./chunk-WRP5TTM6.js";
206
+ } from "./chunk-4MXGXSYN.js";
208
207
  import {
209
208
  buildCompactionMetricsFromPlan,
210
209
  buildCompactionUserContent,
@@ -215,14 +214,14 @@ import {
215
214
  formatMessagesForSummaryWithTruncation,
216
215
  planCompression,
217
216
  serializeMessageContent
218
- } from "./chunk-FGLKRJDI.js";
219
- import "./chunk-V5GA74HI.js";
220
- import "./chunk-C6ELZQ7H.js";
217
+ } from "./chunk-GK74OOFT.js";
218
+ import "./chunk-MZXZJVVD.js";
219
+ import "./chunk-NQ4N4IGO.js";
220
+ import "./chunk-FD36SCCD.js";
221
+ import "./chunk-OZVGA4SY.js";
221
222
  import {
222
223
  compactWhitespace
223
224
  } from "./chunk-DWLEOOGR.js";
224
- import "./chunk-NQ4N4IGO.js";
225
- import "./chunk-FD36SCCD.js";
226
225
  import "./chunk-ZHXJ6M7T.js";
227
226
  import {
228
227
  toErrorMessage
@@ -240,7 +239,7 @@ import {
240
239
  import {
241
240
  canonicalizeToolNames
242
241
  } from "./chunk-O6OSWFZQ.js";
243
- import "./chunk-WRN7L5CS.js";
242
+ import "./chunk-FA4SY4F5.js";
244
243
  import {
245
244
  checkForCliUpdate,
246
245
  runSelfUpdateDetailed
@@ -265,19 +264,19 @@ import {
265
264
  import {
266
265
  DEFAULT_NOLO_SERVER_URL
267
266
  } from "./chunk-OLZBQWZU.js";
268
- import "./chunk-FTM4KUOZ.js";
269
- import "./chunk-X6EN3KJX.js";
270
- import "./chunk-LD6Y6RJY.js";
271
- import "./chunk-B6H5XCT2.js";
267
+ import "./chunk-7XTC3KRG.js";
268
+ import "./chunk-ENYDQKOB.js";
269
+ import "./chunk-HGDOIDQ4.js";
270
+ import "./chunk-EMEUU5IY.js";
272
271
  import "./chunk-Y5GCAMGP.js";
273
272
  import "./chunk-UZ6XXCVR.js";
274
273
  import "./chunk-KX6YBIHG.js";
275
- import "./chunk-MJWX4JQO.js";
276
- import "./chunk-23KKIMD5.js";
277
- import "./chunk-2WKUUY2E.js";
274
+ import "./chunk-3EEK7T3D.js";
275
+ import "./chunk-WVGEBWA6.js";
276
+ import "./chunk-SVEUG45B.js";
277
+ import "./chunk-WWC7I6TA.js";
278
278
  import "./chunk-I42VC5KR.js";
279
279
  import "./chunk-YZ2WE6CW.js";
280
- import "./chunk-WWC7I6TA.js";
281
280
  import {
282
281
  asTrimmedLowercaseString
283
282
  } from "./chunk-QSJ3HFEF.js";
@@ -286,16 +285,16 @@ import {
286
285
  BUILTIN_NOLO_AGENT_MODEL,
287
286
  BUILTIN_NOLO_AGENT_NAME,
288
287
  builtinAgentCatalogEntryById
289
- } from "./chunk-XT73C4VH.js";
288
+ } from "./chunk-Z5NW3O7V.js";
290
289
  import {
291
290
  extractCustomId,
292
291
  parsePublicAgentId
293
292
  } from "./chunk-BJIRLHJR.js";
294
293
  import "./chunk-HHBXCRJS.js";
295
294
  import "./chunk-L3JWI7WX.js";
295
+ import "./chunk-OW765XBU.js";
296
296
  import "./chunk-GBRG75BQ.js";
297
297
  import "./chunk-KUG52IAP.js";
298
- import "./chunk-OW765XBU.js";
299
298
  import "./chunk-3EUW3WEO.js";
300
299
  import "./chunk-U6VC4MU4.js";
301
300
  import "./chunk-LCBAMY2M.js";
@@ -1827,6 +1826,9 @@ function activeInFlight(snapshot) {
1827
1826
  if (isAgentRunTerminalStatus(snapshot.status)) return null;
1828
1827
  return snapshot.inFlight ?? null;
1829
1828
  }
1829
+ function formatUnassignedFact(snapshot) {
1830
+ return snapshot.unassigned ? "parent: ?" : null;
1831
+ }
1830
1832
 
1831
1833
  // packages/cli/tui/agentRunPanelLines.ts
1832
1834
  function formatPanelProgress(snapshot, now) {
@@ -1859,22 +1861,25 @@ function formatAgentRunPanelLines(snapshot, colorEnabled, now = Date.now()) {
1859
1861
  const statusSymbol = getAgentRunStatusIcon(status);
1860
1862
  const statusColor = runStatusTone(status);
1861
1863
  const errPart = snapshot.errorMessage ? ` \xB7 ${snapshot.errorMessage}` : "";
1864
+ const unassignedFact = formatUnassignedFact(snapshot);
1865
+ const unassignedPart = unassignedFact ? ` \xB7 ${unassignedFact}` : "";
1862
1866
  const progressPart = formatPanelProgress(snapshot, now);
1863
1867
  const age = formatRunAge(snapshot, now);
1864
1868
  const agePart = age ? ` \xB7 ${age}` : "";
1865
1869
  if (!colorEnabled) {
1866
1870
  lines.push(
1867
- `\u{1F916} Sub-Agent: ${name}${runId} \xB7 ${statusSymbol} ${status}${agePart}${progressPart}${errPart}`
1871
+ `\u{1F916} Sub-Agent: ${name}${runId} \xB7 ${statusSymbol} ${status}${unassignedPart}${agePart}${progressPart}${errPart}`
1868
1872
  );
1869
1873
  } else {
1870
1874
  const botIcon = themeText("\u{1F916}", "accent", true);
1871
1875
  const labelText = themeText(" Sub-Agent: ", "muted", true);
1872
1876
  const nameText = themeText(`${name}${runId}`, "chrome", true);
1873
1877
  const statusText = themeText(` \xB7 ${statusSymbol} ${status}`, statusColor, true);
1878
+ const unassignedText = unassignedPart ? themeText(unassignedPart, "muted") : "";
1874
1879
  const ageText = agePart ? themeText(agePart, "chrome") : "";
1875
1880
  const progressText = progressPart ? themeText(progressPart, "chrome") : "";
1876
1881
  const errorText = errPart ? themeText(errPart, "danger") : "";
1877
- lines.push(`${botIcon}${labelText}${nameText}${statusText}${ageText}${progressText}${errorText}`);
1882
+ lines.push(`${botIcon}${labelText}${nameText}${statusText}${unassignedText}${ageText}${progressText}${errorText}`);
1878
1883
  }
1879
1884
  const detail = formatPanelDetail(snapshot);
1880
1885
  if (detail) {
@@ -2064,6 +2069,8 @@ function formatRunDockRow(snapshot, colorEnabled, now) {
2064
2069
  const age = formatRunAge(snapshot, now);
2065
2070
  if (terminal) facts.push(age ? `${snapshot.status} ${age}` : snapshot.status);
2066
2071
  else if (age) facts.push(age);
2072
+ const unassigned = formatUnassignedFact(snapshot);
2073
+ if (unassigned) facts.push(unassigned);
2067
2074
  if (typeof snapshot.toolCallCount === "number" && Number.isFinite(snapshot.toolCallCount)) {
2068
2075
  facts.push(`${snapshot.toolCallCount} tools`);
2069
2076
  }
@@ -2227,7 +2234,28 @@ function createActivityIndicator(deps) {
2227
2234
 
2228
2235
  // packages/cli/tui/runRegistryPoller.ts
2229
2236
  var RUN_POLL_INTERVAL_MS = 1e3;
2237
+ var DISCOVERY_EVERY_TICKS = 5;
2238
+ var DISCOVERY_TERMINAL_LINGER_MS = 6e4;
2230
2239
  var RUN_RECONCILE_SILENCE_MS = 15e3;
2240
+ var RUNNING_AGENT_COUNT_CACHE_TTL_MS = 1e3;
2241
+ var cachedRunningAgentCount = 0;
2242
+ var lastRunningAgentCountScannedAt = 0;
2243
+ function getCachedRunningAgentCount(options) {
2244
+ const now = options?.now ?? Date.now();
2245
+ if (!options?.force && lastRunningAgentCountScannedAt > 0 && now - lastRunningAgentCountScannedAt < RUNNING_AGENT_COUNT_CACHE_TTL_MS) {
2246
+ return cachedRunningAgentCount;
2247
+ }
2248
+ const readFn = options?.reader ?? listRunRecords;
2249
+ try {
2250
+ const records = readFn();
2251
+ cachedRunningAgentCount = records.filter(
2252
+ (r) => !isAgentRunTerminalStatus(r.status)
2253
+ ).length;
2254
+ lastRunningAgentCountScannedAt = now;
2255
+ } catch {
2256
+ }
2257
+ return cachedRunningAgentCount;
2258
+ }
2231
2259
  function snapshotFromRunRecord(record, now) {
2232
2260
  const label = resolveRunLabel(record);
2233
2261
  const startedAt = readTimestamp(record.startedAt);
@@ -2246,6 +2274,7 @@ function snapshotFromRunRecord(record, now) {
2246
2274
  return {
2247
2275
  runId: record.runId,
2248
2276
  status: record.status,
2277
+ ...!record.parentDialogId ? { unassigned: true } : {},
2249
2278
  ...isAgentNameFallback(label) ? {} : { agentName: label },
2250
2279
  ...startedAt !== void 0 ? { startedAt } : {},
2251
2280
  ...endedAt !== void 0 ? { finishedAt: endedAt } : {},
@@ -2260,6 +2289,7 @@ function fingerprint(snapshot) {
2260
2289
  return JSON.stringify([
2261
2290
  snapshot.status,
2262
2291
  snapshot.agentName ?? "",
2292
+ snapshot.unassigned ?? false,
2263
2293
  snapshot.toolCallCount ?? -1,
2264
2294
  snapshot.errorMessage ?? "",
2265
2295
  snapshot.finishedAt ?? 0,
@@ -2274,8 +2304,12 @@ function createRunRegistryPoller(deps) {
2274
2304
  const clearIntervalFn = deps.clearIntervalFn ?? ((handle) => clearInterval(handle));
2275
2305
  let timer = null;
2276
2306
  let disposed = false;
2307
+ let holdCount = 0;
2308
+ let tickCount = 0;
2309
+ let discoveredRecords = [];
2277
2310
  const lastEmitted = /* @__PURE__ */ new Map();
2278
2311
  const lastReconciledAt = /* @__PURE__ */ new Map();
2312
+ const retiredRunIds = /* @__PURE__ */ new Set();
2279
2313
  const stop = () => {
2280
2314
  if (timer !== null) {
2281
2315
  clearIntervalFn(timer);
@@ -2283,16 +2317,45 @@ function createRunRegistryPoller(deps) {
2283
2317
  }
2284
2318
  lastEmitted.clear();
2285
2319
  lastReconciledAt.clear();
2320
+ discoveredRecords = [];
2321
+ tickCount = 0;
2286
2322
  };
2287
2323
  const freshnessOf = (record) => {
2288
2324
  return readTimestamp(record.activity?.updatedAt) ?? readTimestamp(record.startedAt) ?? 0;
2289
2325
  };
2290
2326
  const poll = () => {
2291
2327
  const at = now();
2292
- const active = deps.getDockedRuns().filter(
2328
+ const dockedRuns = deps.getDockedRuns();
2329
+ const dockedActive = dockedRuns.filter(
2293
2330
  (run) => run.runId && !isAgentRunTerminalStatus(run.status)
2294
2331
  );
2295
- if (active.length === 0) {
2332
+ const dockedIds = new Set(dockedRuns.map((run) => run.runId));
2333
+ tickCount += 1;
2334
+ if (deps.discoverRuns && (tickCount - 1) % DISCOVERY_EVERY_TICKS === 0) {
2335
+ try {
2336
+ discoveredRecords = deps.discoverRuns();
2337
+ } catch {
2338
+ }
2339
+ }
2340
+ const discovered = discoveredRecords;
2341
+ const currentDialogId = deps.getCurrentDialogId?.();
2342
+ const discoveredActive = discovered.filter(
2343
+ (record) => record.runId && !dockedIds.has(record.runId) && !retiredRunIds.has(record.runId) && !isAgentRunTerminalStatus(record.status) && (!deps.getCurrentDialogId || currentDialogId !== void 0 && (record.parentDialogId === currentDialogId || !record.parentDialogId))
2344
+ );
2345
+ const discoveredTerminal = discovered.filter((record) => {
2346
+ if (!record.runId || dockedIds.has(record.runId) || retiredRunIds.has(record.runId)) return false;
2347
+ if (!isAgentRunTerminalStatus(record.status)) return false;
2348
+ if (deps.getCurrentDialogId && (currentDialogId === void 0 || !(record.parentDialogId === currentDialogId || !record.parentDialogId))) return false;
2349
+ const endedAt = readTimestamp(record.endedAt);
2350
+ return endedAt !== void 0 && at - endedAt <= DISCOVERY_TERMINAL_LINGER_MS;
2351
+ });
2352
+ for (const record of discovered) {
2353
+ if (record.runId && isAgentRunTerminalStatus(record.status) && !discoveredTerminal.includes(record)) {
2354
+ retiredRunIds.add(record.runId);
2355
+ }
2356
+ }
2357
+ const active = [...dockedActive, ...discoveredActive, ...discoveredTerminal.map((record) => ({ runId: record.runId, status: record.status }))];
2358
+ if (active.length === 0 && holdCount === 0) {
2296
2359
  stop();
2297
2360
  return;
2298
2361
  }
@@ -2331,10 +2394,19 @@ function createRunRegistryPoller(deps) {
2331
2394
  }
2332
2395
  }
2333
2396
  };
2397
+ const ensureRunning = () => {
2398
+ if (disposed || timer !== null) return;
2399
+ timer = setIntervalFn(poll, intervalMs);
2400
+ };
2334
2401
  return {
2335
- ensureRunning() {
2336
- if (disposed || timer !== null) return;
2337
- timer = setIntervalFn(poll, intervalMs);
2402
+ ensureRunning,
2403
+ beginHold() {
2404
+ if (disposed) return;
2405
+ holdCount += 1;
2406
+ ensureRunning();
2407
+ },
2408
+ endHold() {
2409
+ if (holdCount > 0) holdCount -= 1;
2338
2410
  },
2339
2411
  poll,
2340
2412
  stop,
@@ -2444,7 +2516,7 @@ function createRunCompletionWatcher(deps) {
2444
2516
  if (notifiedRunIds.has(record.runId)) continue;
2445
2517
  const status = record.status;
2446
2518
  if (typeof status !== "string") continue;
2447
- if (record.parentDialogId !== currentDialogId) continue;
2519
+ if (!(record.parentDialogId === currentDialogId || !record.parentDialogId)) continue;
2448
2520
  if (isRunRecordClaimed(record, now())) {
2449
2521
  if (!isAgentRunTerminalStatus(status)) {
2450
2522
  lastStatusByRunId.set(record.runId, status);
@@ -3575,9 +3647,17 @@ function renderStatusLine(state) {
3575
3647
  colorEnabled
3576
3648
  );
3577
3649
  parts.push(tokenSegment);
3578
- const runningCount = getProcessRegistry().listBackground().filter((p) => p.status === "running").length;
3579
- if (runningCount > 0) {
3580
- parts.push(themeText(`\u2699 ${runningCount} running`, "info", colorEnabled));
3650
+ const runningTaskCount = getProcessRegistry().listBackground().filter((p) => p.status === "running").length;
3651
+ const runningAgentCount = getCachedRunningAgentCount();
3652
+ const runningParts = [];
3653
+ if (runningTaskCount > 0) {
3654
+ runningParts.push(`${runningTaskCount} running`);
3655
+ }
3656
+ if (runningAgentCount > 0) {
3657
+ runningParts.push(`${runningAgentCount} ${runningAgentCount === 1 ? "agent" : "agents"}`);
3658
+ }
3659
+ if (runningParts.length > 0) {
3660
+ parts.push(themeText(`\u2699 ${runningParts.join(" \xB7 ")}`, "info", colorEnabled));
3581
3661
  }
3582
3662
  if (state.autoConfirm === true) {
3583
3663
  parts.push(themeText("\u23F5 auto", "warning", colorEnabled));
@@ -5805,6 +5885,7 @@ async function runAgentChat(scriptDir, state, message, env, output, agentRunner
5805
5885
  serverUrl: state.serverUrl,
5806
5886
  message: effectiveMessage,
5807
5887
  continueDialogId: state.dialogId,
5888
+ ...state.dialogId ? { parentDialogId: state.dialogId } : {},
5808
5889
  ...state.agentKey === DEFAULT_TUI_AGENT_KEY && env.NOLO_AUTO_ROUTE !== "0" ? { dialogAgentMode: "auto" } : { dialogAgentMode: "fixed" },
5809
5890
  runtimeMode: state.runtimeMode,
5810
5891
  // `/lang` updates the in-memory TUI state immediately. Pass that state
@@ -6141,6 +6222,7 @@ async function runOneAgentTurn(ctx, inputMsg, imageUrls, actionGateHandler, conf
6141
6222
  ctx.modalOwnsKeyboard = false;
6142
6223
  }
6143
6224
  } : void 0;
6225
+ ctx.runRegistryPoller.beginHold();
6144
6226
  try {
6145
6227
  ctx.activeTurnAbort = new AbortController();
6146
6228
  ctx.activeTurnEpoch = myEpoch;
@@ -6250,6 +6332,7 @@ async function runOneAgentTurn(ctx, inputMsg, imageUrls, actionGateHandler, conf
6250
6332
  }
6251
6333
  return { ok: !wasAborted, aborted: wasAborted };
6252
6334
  } finally {
6335
+ ctx.runRegistryPoller.endHold();
6253
6336
  ctx.activityIndicator.stop();
6254
6337
  ctx.activeTurnAbort = null;
6255
6338
  }
@@ -7948,6 +8031,8 @@ async function runTuiWorkspace(options) {
7948
8031
  // ~/.nolo——设了 NOLO_HOME 的环境(dev、测试)会读错目录。run 记录读取
7949
8032
  // 与 reconcile 的调用点也是同样写法。
7950
8033
  readRecord: (runId) => readRunRecord(runId, { env: effectiveEnv }),
8034
+ discoverRuns: () => listRunRecords({ env: effectiveEnv }),
8035
+ getCurrentDialogId: () => state.dialogId,
7951
8036
  reconcile: (runId) => checkStaleRun(runId, { env: effectiveEnv }),
7952
8037
  onRecordsPolled: (records) => runCompletionWatcher.observe(records)
7953
8038
  });
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cleanupCliSessionForDialog
3
- } from "./chunk-MGIHZ5CJ.js";
3
+ } from "./chunk-HAPCUPEO.js";
4
4
  import {
5
5
  getPrimaryDialogAgentId,
6
6
  removeDialogAgentId
@@ -12,26 +12,26 @@ import {
12
12
  getActiveDialogKey
13
13
  } from "./chunk-MRWGHF56.js";
14
14
  import "./chunk-ZHXJ6M7T.js";
15
- import "./chunk-B6H5XCT2.js";
15
+ import "./chunk-EMEUU5IY.js";
16
16
  import "./chunk-Y5GCAMGP.js";
17
17
  import "./chunk-UZ6XXCVR.js";
18
18
  import "./chunk-KX6YBIHG.js";
19
19
  import {
20
20
  patch,
21
21
  selectById
22
- } from "./chunk-23KKIMD5.js";
23
- import "./chunk-2WKUUY2E.js";
22
+ } from "./chunk-WVGEBWA6.js";
23
+ import "./chunk-SVEUG45B.js";
24
+ import "./chunk-WWC7I6TA.js";
24
25
  import "./chunk-I42VC5KR.js";
25
26
  import "./chunk-YZ2WE6CW.js";
26
- import "./chunk-WWC7I6TA.js";
27
27
  import "./chunk-QSJ3HFEF.js";
28
- import "./chunk-XT73C4VH.js";
28
+ import "./chunk-Z5NW3O7V.js";
29
29
  import "./chunk-BJIRLHJR.js";
30
30
  import "./chunk-HHBXCRJS.js";
31
31
  import "./chunk-L3JWI7WX.js";
32
+ import "./chunk-OW765XBU.js";
32
33
  import "./chunk-GBRG75BQ.js";
33
34
  import "./chunk-KUG52IAP.js";
34
- import "./chunk-OW765XBU.js";
35
35
  import "./chunk-3EUW3WEO.js";
36
36
  import "./chunk-U6VC4MU4.js";
37
37
  import "./chunk-LCBAMY2M.js";