nolo-cli 0.38.0-alpha.3 → 0.47.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/{_executeModel-SWONBJ7Z.js → _executeModel-5PG6CUWD.js} +41 -42
  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-SHSPQZHI.js} +25 -26
  6. package/{agentEmailCommands-YWCGZ4RO.js → agentEmailCommands-LQKO5GRW.js} +54 -55
  7. package/{agentListCommands-ULFV2XJQ.js → agentListCommands-5QTNEYMQ.js} +31 -29
  8. package/{agentMachineCommands-7YZ2TIYZ.js → agentMachineCommands-P5K454CN.js} +24 -25
  9. package/{agentPullCommand-TSWAJPS2.js → agentPullCommand-M552CYSI.js} +2 -2
  10. package/{agentRecordCommands-EVOSSHJR.js → agentRecordCommands-Z4QYCNP4.js} +50 -51
  11. package/{agentRunCommand-PO55WUIY.js → agentRunCommand-HV3Y34B5.js} +52 -53
  12. package/{agentRunControl-7MUPSYDQ.js → agentRunControl-LHXOP4IU.js} +43 -1
  13. package/{agentRuntimeLocal-Q6D3G6G7.js → agentRuntimeLocal-ZKXYFLXI.js} +20 -21
  14. package/{agentSlice-6TRUUOSX.js → agentSlice-NKFLP3RI.js} +6 -6
  15. package/{agentSuperviseCommands-MKWW3ICX.js → agentSuperviseCommands-IMRZ56RC.js} +2 -2
  16. package/{appDeleteCommands-JDBSRLTX.js → appDeleteCommands-XYGAZIJX.js} +24 -25
  17. package/{appDeployCommands-Q5H2NBKQ.js → appDeployCommands-7T5CABRB.js} +24 -25
  18. package/{appDeployStatusCommands-PSYBUIZT.js → appDeployStatusCommands-KTFQMRPZ.js} +24 -25
  19. package/{appGetCommands-IX64IUW6.js → appGetCommands-HOX2ULSV.js} +24 -25
  20. package/{appListCommands-BJZFX65H.js → appListCommands-3SLCEHND.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-WMMBQK3Y.js} +20 -20
  24. package/chunk-25J3BB35.js +6041 -0
  25. package/{chunk-U6QQLXWI.js → chunk-2X5S4IBZ.js} +1 -1
  26. package/{chunk-MJWX4JQO.js → chunk-3EEK7T3D.js} +1 -1
  27. package/{chunk-UNHKVD2N.js → chunk-43CXXVJD.js} +1 -1
  28. package/{chunk-WRP5TTM6.js → chunk-4MXGXSYN.js} +83 -3
  29. package/{chunk-7N7XKGEQ.js → chunk-4ZNDBDWG.js} +6 -6
  30. package/{chunk-XVVNNJAA.js → chunk-5BPZLBFB.js} +20 -51
  31. package/{chunk-MWGCZ4CS.js → chunk-5PPFYHU2.js} +3 -3
  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-46VPXYIV.js → chunk-6LYUN76O.js} +5 -5
  37. package/{chunk-FTM4KUOZ.js → chunk-7XTC3KRG.js} +1 -1
  38. package/{chunk-IMHO5LC6.js → chunk-7XZ5GXSN.js} +1 -1
  39. package/{chunk-E2OQ5N2F.js → chunk-AEXP2UZT.js} +341 -16
  40. package/{chunk-MZZZYUZS.js → chunk-AV2CELZZ.js} +37 -12
  41. package/{chunk-JI2TIPLP.js → chunk-AYXSUBVC.js} +1 -1
  42. package/{chunk-J6WH4PYZ.js → chunk-CIF4X6ZM.js} +1 -1
  43. package/{chunk-GZRMWK5R.js → chunk-DQLYEGP7.js} +2 -2
  44. package/{chunk-GUYMR3JL.js → chunk-E2QH2AYX.js} +69 -3
  45. package/{chunk-B6H5XCT2.js → chunk-EMEUU5IY.js} +3 -3
  46. package/{chunk-X6EN3KJX.js → chunk-ENYDQKOB.js} +319 -71
  47. package/{chunk-RCFIB45Q.js → chunk-EVBFYPDC.js} +2 -2
  48. package/{chunk-PV734VZX.js → chunk-EXLOROHG.js} +1 -1
  49. package/{chunk-WRN7L5CS.js → chunk-FA4SY4F5.js} +1 -1
  50. package/{chunk-4WVNHL3V.js → chunk-FAWK6DBF.js} +157 -51
  51. package/{chunk-IFS5CUEH.js → chunk-FJHLA6SX.js} +1 -1
  52. package/{chunk-T2BZICLK.js → chunk-G46DB6KG.js} +49 -6
  53. package/{chunk-FGLKRJDI.js → chunk-GK74OOFT.js} +2 -2
  54. package/{chunk-LM6IYQ3F.js → chunk-GLKOYSRU.js} +8 -1
  55. package/{chunk-JIADXJYU.js → chunk-H2G6JXTR.js} +1 -1
  56. package/{chunk-IKGHZMK2.js → chunk-H2JQB6B6.js} +12 -12
  57. package/{chunk-MGIHZ5CJ.js → chunk-HAPCUPEO.js} +2 -2
  58. package/{chunk-LD6Y6RJY.js → chunk-HGDOIDQ4.js} +2 -2
  59. package/{chunk-NZLQ7B5P.js → chunk-HOM6NILS.js} +3 -3
  60. package/{chunk-IZNJDUJ4.js → chunk-I4JISVWK.js} +1 -1
  61. package/{chunk-N4XRDM26.js → chunk-IA3A5373.js} +2 -2
  62. package/{chunk-Y5MMUI3L.js → chunk-IWUPQUWA.js} +2 -2
  63. package/{chunk-L7SMDIL6.js → chunk-JEGPB5H2.js} +3 -3
  64. package/{chunk-GEPHJJW4.js → chunk-L7NG2M6H.js} +1 -1
  65. package/{chunk-XQES6LXQ.js → chunk-LFLWZX76.js} +2 -2
  66. package/{chunk-IIOHYLIG.js → chunk-LGUQHYAL.js} +1 -1
  67. package/{chunk-4AWH4LQA.js → chunk-LYGNQHUW.js} +3 -1
  68. package/{db-3H3JECGY.js → chunk-M5PVFLD4.js} +11 -158
  69. package/{chunk-WN5AJG5I.js → chunk-MKZRKDQM.js} +1 -1
  70. package/{chunk-VOXNBPLB.js → chunk-MUIJYGYW.js} +649 -41
  71. package/{chunk-CYAC5WXX.js → chunk-MWT2BBCH.js} +213 -45
  72. package/{chunk-V5GA74HI.js → chunk-MZXZJVVD.js} +20 -39
  73. package/{chunk-ZBB3MZR3.js → chunk-OLNC7AWK.js} +7 -4
  74. package/{chunk-J5NMOM35.js → chunk-OYNDYVSE.js} +1 -1
  75. package/{chunk-C6ELZQ7H.js → chunk-OZVGA4SY.js} +1 -1
  76. package/{chunk-K4KIFRIN.js → chunk-Q24S4NDF.js} +1 -1
  77. package/{chunk-NRROOY22.js → chunk-Q6DMA2OM.js} +271 -130
  78. package/{chunk-2WKUUY2E.js → chunk-SVEUG45B.js} +5 -3
  79. package/{chunk-IZCHPD7T.js → chunk-TNPCQNGQ.js} +11 -6
  80. package/{chunk-4DMPISV6.js → chunk-URBGEE42.js} +2 -2
  81. package/{chunk-2KO5QQFV.js → chunk-V2IPBG5U.js} +1 -1
  82. package/{chunk-B6YYACBT.js → chunk-WPFNAEIW.js} +1 -1
  83. package/{chunk-23KKIMD5.js → chunk-WVGEBWA6.js} +4 -4
  84. package/{chunk-KU6CDTZ5.js → chunk-XMI3APSU.js} +61 -49
  85. package/{chunk-64KIQZA2.js → chunk-XO3G35OV.js} +1 -1
  86. package/{chunk-UWGWUOVN.js → chunk-YNOGNUBC.js} +108 -47
  87. package/{chunk-XT73C4VH.js → chunk-Z5NW3O7V.js} +1 -1
  88. package/{codingSkills-H6N5EKSX.js → codingSkills-BYQI6EPT.js} +2 -2
  89. package/{createAgentAutomationAction-U57ZMPMS.js → createAgentAutomationAction-ENDNA3Q4.js} +21 -21
  90. package/{createDialogAction-MAJLBNK4.js → createDialogAction-2KNX6S2D.js} +23 -23
  91. package/{createPageAction-4EX7HU6G.js → createPageAction-SNBCYPK6.js} +21 -21
  92. package/db-VQSAOWAO.js +162 -0
  93. package/{dbSlice-PIQGICNM.js → dbSlice-XWUM4QOF.js} +5 -5
  94. package/deleteFile-NPZ64DFN.js +1 -1
  95. package/{dialogCommands-4MHZXEIS.js → dialogCommands-6E5P35DG.js} +28 -26
  96. package/{dialogSlice-AL3UJLOJ.js → dialogSlice-RTPOD6EW.js} +20 -20
  97. package/{docCreateCommands-GDYFEK67.js → docCreateCommands-JWY25UFB.js} +23 -24
  98. package/{docDeleteCommands-WIE5CXED.js → docDeleteCommands-BPJOCSX4.js} +24 -25
  99. package/{docReadCommands-LTOOPJVC.js → docReadCommands-BSEZCYTQ.js} +23 -24
  100. package/{docStore-35B5VAFF.js → docStore-TYHVLU7G.js} +22 -22
  101. package/{docUpdateCommands-TZGAGXSG.js → docUpdateCommands-S2IE2VV4.js} +23 -24
  102. package/{fetchMessages-CUEFN4GQ.js → fetchMessages-KZQVBXKY.js} +3 -3
  103. package/{getPricing-P3E2WRIH.js → getPricing-X3HXP6VQ.js} +3 -3
  104. package/{handleSendMessageAction-PXX2R5JS.js → handleSendMessageAction-QYXDQXGH.js} +21 -21
  105. package/index.js +69 -69
  106. package/levelLazyShim-GZBKODGI.js +7 -0
  107. package/{localDialogRead-P7CHFMIC.js → localDialogRead-NQ33HBSI.js} +2 -2
  108. package/{localRuntimeAuthority-S77B5QVB.js → localRuntimeAuthority-KQDAE64E.js} +4 -4
  109. package/{localRuntimeDb-N3H3HQ7G.js → localRuntimeDb-PF7CFKDL.js} +2 -2
  110. package/{machineCommands-VCPPY23X.js → machineCommands-QCE4KLGR.js} +48 -49
  111. package/{machineWsRunDispatch-A4C727GL.js → machineWsRunDispatch-FBRMGU5D.js} +48 -49
  112. package/{models-L7S2EKPM.js → models-7LWATQFH.js} +2 -2
  113. package/package.json +1 -1
  114. package/{read-6C2XD3YZ.js → read-DQQ75VI3.js} +2 -2
  115. package/{readDocTool-Y7AB365O.js → readDocTool-HCQQFAZD.js} +1 -1
  116. package/{readlineWorkspace-BIBIM6DG.js → readlineWorkspace-2TACWKMN.js} +164 -78
  117. package/{removeDialogAgentAction-KG5WMJRZ.js → removeDialogAgentAction-DNONRKST.js} +7 -7
  118. package/{runAgentClientLoop-RKDXMIZW.js → runAgentClientLoop-GBLDVBT5.js} +39 -39
  119. package/{runtimeDoctorCommands-HT4O2PXL.js → runtimeDoctorCommands-JKTTN723.js} +4 -4
  120. package/serverStoreFactory-YMXDF4NI.js +20 -0
  121. package/{setDialogExtraReferencesAction-O2NLXMSM.js → setDialogExtraReferencesAction-ERHUPT3F.js} +6 -6
  122. package/{setPrimaryDialogAgentAction-FYYUY7PB.js → setPrimaryDialogAgentAction-6C2HYNEC.js} +7 -7
  123. package/{settingSlice-GPLI6E3M.js → settingSlice-YVRJFKQX.js} +6 -6
  124. package/{spaceCommands-4FMO3SNP.js → spaceCommands-XOLPJMRK.js} +23 -24
  125. package/{spaceSlice-2W4GJ2OE.js → spaceSlice-OQPAGQDP.js} +21 -21
  126. package/{streamAgentChatTurn-FS52LDQP.js → streamAgentChatTurn-SN5XJJ7U.js} +91 -49
  127. package/{switchDialogAgentAction-GH5P6Q3Z.js → switchDialogAgentAction-HP57XYFP.js} +5 -5
  128. package/{tools-3J5CKEE7.js → tools-Y65Y3CI4.js} +32 -32
  129. package/{tuiSummaryLlmCaller-SHRB4RWM.js → tuiSummaryLlmCaller-NBTWT57U.js} +25 -14
  130. package/{updateDialogTitleAction-5MGPA3OO.js → updateDialogTitleAction-OAOP7CCE.js} +24 -23
  131. package/chunk-4APLX2RT.js +0 -1514
  132. package/chunk-P66M7LSQ.js +0 -58
  133. package/{chunk-6WD3OOJS.js → chunk-UV6VISQJ.js} +0 -0
  134. 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-MWT2BBCH.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-Q6DMA2OM.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-IWUPQUWA.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-YNOGNUBC.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-5PPFYHU2.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,31 +148,31 @@ 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-4ZNDBDWG.js";
152
+ import "./chunk-H2JQB6B6.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-FAWK6DBF.js";
156
+ import "./chunk-EVBFYPDC.js";
157
+ import "./chunk-H2G6JXTR.js";
157
158
  import "./chunk-YYLHWIW6.js";
159
+ import "./chunk-6LYUN76O.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
171
  } from "./chunk-OFZPJ3NT.js";
171
- import "./chunk-2KO5QQFV.js";
172
+ import "./chunk-V2IPBG5U.js";
172
173
  import {
173
174
  expandEnabledPacks
174
- } from "./chunk-IIOHYLIG.js";
175
+ } from "./chunk-LGUQHYAL.js";
175
176
  import "./chunk-AETZ7AD6.js";
176
177
  import "./chunk-KHCLMKZZ.js";
177
178
  import {
@@ -179,24 +180,23 @@ import {
179
180
  buildLocalWorkspaceToolset,
180
181
  getProcessRegistry,
181
182
  readCommandActionGatePayload
182
- } from "./chunk-VOXNBPLB.js";
183
- import "./chunk-MZZZYUZS.js";
183
+ } from "./chunk-MUIJYGYW.js";
184
+ import "./chunk-AV2CELZZ.js";
184
185
  import "./chunk-ZNFJWEN4.js";
185
- import "./chunk-64KIQZA2.js";
186
+ import "./chunk-XO3G35OV.js";
186
187
  import "./chunk-T27IEBNQ.js";
187
- import "./chunk-P66M7LSQ.js";
188
188
  import "./chunk-N7J63Q6C.js";
189
189
  import {
190
190
  buildCurrentTimeBlock,
191
191
  buildIdentityBlock,
192
192
  buildRuntimeGuidanceBlocks,
193
193
  resolveToolGuidedSections
194
- } from "./chunk-T2BZICLK.js";
195
- import "./chunk-BMB563Y6.js";
194
+ } from "./chunk-G46DB6KG.js";
195
+ import "./chunk-6BYAXNH5.js";
196
196
  import {
197
197
  resolvePlatformAuthToken
198
- } from "./chunk-GKHV4UH5.js";
199
- import "./chunk-IZCHPD7T.js";
198
+ } from "./chunk-5UOBIU5G.js";
199
+ import "./chunk-TNPCQNGQ.js";
200
200
  import {
201
201
  isQuotaExhaustedError
202
202
  } from "./chunk-IWUMSAQF.js";
@@ -204,7 +204,7 @@ import "./chunk-2MBTWINN.js";
204
204
  import {
205
205
  DEFAULT_CONTEXT_WINDOW,
206
206
  getModelContextWindow
207
- } from "./chunk-WRP5TTM6.js";
207
+ } from "./chunk-4MXGXSYN.js";
208
208
  import {
209
209
  buildCompactionMetricsFromPlan,
210
210
  buildCompactionUserContent,
@@ -215,14 +215,14 @@ import {
215
215
  formatMessagesForSummaryWithTruncation,
216
216
  planCompression,
217
217
  serializeMessageContent
218
- } from "./chunk-FGLKRJDI.js";
219
- import "./chunk-V5GA74HI.js";
220
- import "./chunk-C6ELZQ7H.js";
218
+ } from "./chunk-GK74OOFT.js";
219
+ import "./chunk-MZXZJVVD.js";
220
+ import "./chunk-NQ4N4IGO.js";
221
+ import "./chunk-FD36SCCD.js";
222
+ import "./chunk-OZVGA4SY.js";
221
223
  import {
222
224
  compactWhitespace
223
225
  } from "./chunk-DWLEOOGR.js";
224
- import "./chunk-NQ4N4IGO.js";
225
- import "./chunk-FD36SCCD.js";
226
226
  import "./chunk-ZHXJ6M7T.js";
227
227
  import {
228
228
  toErrorMessage
@@ -240,7 +240,7 @@ import {
240
240
  import {
241
241
  canonicalizeToolNames
242
242
  } from "./chunk-O6OSWFZQ.js";
243
- import "./chunk-WRN7L5CS.js";
243
+ import "./chunk-FA4SY4F5.js";
244
244
  import {
245
245
  checkForCliUpdate,
246
246
  runSelfUpdateDetailed
@@ -265,19 +265,19 @@ import {
265
265
  import {
266
266
  DEFAULT_NOLO_SERVER_URL
267
267
  } from "./chunk-OLZBQWZU.js";
268
- import "./chunk-FTM4KUOZ.js";
269
- import "./chunk-X6EN3KJX.js";
270
- import "./chunk-LD6Y6RJY.js";
271
- import "./chunk-B6H5XCT2.js";
268
+ import "./chunk-7XTC3KRG.js";
269
+ import "./chunk-ENYDQKOB.js";
270
+ import "./chunk-HGDOIDQ4.js";
271
+ import "./chunk-EMEUU5IY.js";
272
272
  import "./chunk-Y5GCAMGP.js";
273
273
  import "./chunk-UZ6XXCVR.js";
274
274
  import "./chunk-KX6YBIHG.js";
275
- import "./chunk-MJWX4JQO.js";
276
- import "./chunk-23KKIMD5.js";
277
- import "./chunk-2WKUUY2E.js";
275
+ import "./chunk-3EEK7T3D.js";
276
+ import "./chunk-WVGEBWA6.js";
277
+ import "./chunk-SVEUG45B.js";
278
+ import "./chunk-WWC7I6TA.js";
278
279
  import "./chunk-I42VC5KR.js";
279
280
  import "./chunk-YZ2WE6CW.js";
280
- import "./chunk-WWC7I6TA.js";
281
281
  import {
282
282
  asTrimmedLowercaseString
283
283
  } from "./chunk-QSJ3HFEF.js";
@@ -286,16 +286,16 @@ import {
286
286
  BUILTIN_NOLO_AGENT_MODEL,
287
287
  BUILTIN_NOLO_AGENT_NAME,
288
288
  builtinAgentCatalogEntryById
289
- } from "./chunk-XT73C4VH.js";
289
+ } from "./chunk-Z5NW3O7V.js";
290
290
  import {
291
291
  extractCustomId,
292
292
  parsePublicAgentId
293
293
  } from "./chunk-BJIRLHJR.js";
294
294
  import "./chunk-HHBXCRJS.js";
295
295
  import "./chunk-L3JWI7WX.js";
296
+ import "./chunk-OW765XBU.js";
296
297
  import "./chunk-GBRG75BQ.js";
297
298
  import "./chunk-KUG52IAP.js";
298
- import "./chunk-OW765XBU.js";
299
299
  import "./chunk-3EUW3WEO.js";
300
300
  import "./chunk-U6VC4MU4.js";
301
301
  import "./chunk-LCBAMY2M.js";
@@ -1827,6 +1827,9 @@ function activeInFlight(snapshot) {
1827
1827
  if (isAgentRunTerminalStatus(snapshot.status)) return null;
1828
1828
  return snapshot.inFlight ?? null;
1829
1829
  }
1830
+ function formatUnassignedFact(snapshot) {
1831
+ return snapshot.unassigned ? "parent: ?" : null;
1832
+ }
1830
1833
 
1831
1834
  // packages/cli/tui/agentRunPanelLines.ts
1832
1835
  function formatPanelProgress(snapshot, now) {
@@ -1859,22 +1862,25 @@ function formatAgentRunPanelLines(snapshot, colorEnabled, now = Date.now()) {
1859
1862
  const statusSymbol = getAgentRunStatusIcon(status);
1860
1863
  const statusColor = runStatusTone(status);
1861
1864
  const errPart = snapshot.errorMessage ? ` \xB7 ${snapshot.errorMessage}` : "";
1865
+ const unassignedFact = formatUnassignedFact(snapshot);
1866
+ const unassignedPart = unassignedFact ? ` \xB7 ${unassignedFact}` : "";
1862
1867
  const progressPart = formatPanelProgress(snapshot, now);
1863
1868
  const age = formatRunAge(snapshot, now);
1864
1869
  const agePart = age ? ` \xB7 ${age}` : "";
1865
1870
  if (!colorEnabled) {
1866
1871
  lines.push(
1867
- `\u{1F916} Sub-Agent: ${name}${runId} \xB7 ${statusSymbol} ${status}${agePart}${progressPart}${errPart}`
1872
+ `\u{1F916} Sub-Agent: ${name}${runId} \xB7 ${statusSymbol} ${status}${unassignedPart}${agePart}${progressPart}${errPart}`
1868
1873
  );
1869
1874
  } else {
1870
1875
  const botIcon = themeText("\u{1F916}", "accent", true);
1871
1876
  const labelText = themeText(" Sub-Agent: ", "muted", true);
1872
1877
  const nameText = themeText(`${name}${runId}`, "chrome", true);
1873
1878
  const statusText = themeText(` \xB7 ${statusSymbol} ${status}`, statusColor, true);
1879
+ const unassignedText = unassignedPart ? themeText(unassignedPart, "muted") : "";
1874
1880
  const ageText = agePart ? themeText(agePart, "chrome") : "";
1875
1881
  const progressText = progressPart ? themeText(progressPart, "chrome") : "";
1876
1882
  const errorText = errPart ? themeText(errPart, "danger") : "";
1877
- lines.push(`${botIcon}${labelText}${nameText}${statusText}${ageText}${progressText}${errorText}`);
1883
+ lines.push(`${botIcon}${labelText}${nameText}${statusText}${unassignedText}${ageText}${progressText}${errorText}`);
1878
1884
  }
1879
1885
  const detail = formatPanelDetail(snapshot);
1880
1886
  if (detail) {
@@ -2064,6 +2070,8 @@ function formatRunDockRow(snapshot, colorEnabled, now) {
2064
2070
  const age = formatRunAge(snapshot, now);
2065
2071
  if (terminal) facts.push(age ? `${snapshot.status} ${age}` : snapshot.status);
2066
2072
  else if (age) facts.push(age);
2073
+ const unassigned = formatUnassignedFact(snapshot);
2074
+ if (unassigned) facts.push(unassigned);
2067
2075
  if (typeof snapshot.toolCallCount === "number" && Number.isFinite(snapshot.toolCallCount)) {
2068
2076
  facts.push(`${snapshot.toolCallCount} tools`);
2069
2077
  }
@@ -2227,7 +2235,28 @@ function createActivityIndicator(deps) {
2227
2235
 
2228
2236
  // packages/cli/tui/runRegistryPoller.ts
2229
2237
  var RUN_POLL_INTERVAL_MS = 1e3;
2238
+ var DISCOVERY_EVERY_TICKS = 5;
2239
+ var DISCOVERY_TERMINAL_LINGER_MS = 6e4;
2230
2240
  var RUN_RECONCILE_SILENCE_MS = 15e3;
2241
+ var RUNNING_AGENT_COUNT_CACHE_TTL_MS = 1e3;
2242
+ var cachedRunningAgentCount = 0;
2243
+ var lastRunningAgentCountScannedAt = 0;
2244
+ function getCachedRunningAgentCount(options) {
2245
+ const now = options?.now ?? Date.now();
2246
+ if (!options?.force && lastRunningAgentCountScannedAt > 0 && now - lastRunningAgentCountScannedAt < RUNNING_AGENT_COUNT_CACHE_TTL_MS) {
2247
+ return cachedRunningAgentCount;
2248
+ }
2249
+ const readFn = options?.reader ?? listRunRecords;
2250
+ try {
2251
+ const records = readFn();
2252
+ cachedRunningAgentCount = records.filter(
2253
+ (r) => !isAgentRunTerminalStatus(r.status)
2254
+ ).length;
2255
+ lastRunningAgentCountScannedAt = now;
2256
+ } catch {
2257
+ }
2258
+ return cachedRunningAgentCount;
2259
+ }
2231
2260
  function snapshotFromRunRecord(record, now) {
2232
2261
  const label = resolveRunLabel(record);
2233
2262
  const startedAt = readTimestamp(record.startedAt);
@@ -2246,6 +2275,7 @@ function snapshotFromRunRecord(record, now) {
2246
2275
  return {
2247
2276
  runId: record.runId,
2248
2277
  status: record.status,
2278
+ ...!record.parentDialogId ? { unassigned: true } : {},
2249
2279
  ...isAgentNameFallback(label) ? {} : { agentName: label },
2250
2280
  ...startedAt !== void 0 ? { startedAt } : {},
2251
2281
  ...endedAt !== void 0 ? { finishedAt: endedAt } : {},
@@ -2260,6 +2290,7 @@ function fingerprint(snapshot) {
2260
2290
  return JSON.stringify([
2261
2291
  snapshot.status,
2262
2292
  snapshot.agentName ?? "",
2293
+ snapshot.unassigned ?? false,
2263
2294
  snapshot.toolCallCount ?? -1,
2264
2295
  snapshot.errorMessage ?? "",
2265
2296
  snapshot.finishedAt ?? 0,
@@ -2274,8 +2305,12 @@ function createRunRegistryPoller(deps) {
2274
2305
  const clearIntervalFn = deps.clearIntervalFn ?? ((handle) => clearInterval(handle));
2275
2306
  let timer = null;
2276
2307
  let disposed = false;
2308
+ let holdCount = 0;
2309
+ let tickCount = 0;
2310
+ let discoveredRecords = [];
2277
2311
  const lastEmitted = /* @__PURE__ */ new Map();
2278
2312
  const lastReconciledAt = /* @__PURE__ */ new Map();
2313
+ const retiredRunIds = /* @__PURE__ */ new Set();
2279
2314
  const stop = () => {
2280
2315
  if (timer !== null) {
2281
2316
  clearIntervalFn(timer);
@@ -2283,16 +2318,45 @@ function createRunRegistryPoller(deps) {
2283
2318
  }
2284
2319
  lastEmitted.clear();
2285
2320
  lastReconciledAt.clear();
2321
+ discoveredRecords = [];
2322
+ tickCount = 0;
2286
2323
  };
2287
2324
  const freshnessOf = (record) => {
2288
2325
  return readTimestamp(record.activity?.updatedAt) ?? readTimestamp(record.startedAt) ?? 0;
2289
2326
  };
2290
2327
  const poll = () => {
2291
2328
  const at = now();
2292
- const active = deps.getDockedRuns().filter(
2329
+ const dockedRuns = deps.getDockedRuns();
2330
+ const dockedActive = dockedRuns.filter(
2293
2331
  (run) => run.runId && !isAgentRunTerminalStatus(run.status)
2294
2332
  );
2295
- if (active.length === 0) {
2333
+ const dockedIds = new Set(dockedRuns.map((run) => run.runId));
2334
+ tickCount += 1;
2335
+ if (deps.discoverRuns && (tickCount - 1) % DISCOVERY_EVERY_TICKS === 0) {
2336
+ try {
2337
+ discoveredRecords = deps.discoverRuns();
2338
+ } catch {
2339
+ }
2340
+ }
2341
+ const discovered = discoveredRecords;
2342
+ const currentDialogId = deps.getCurrentDialogId?.();
2343
+ const discoveredActive = discovered.filter(
2344
+ (record) => record.runId && !dockedIds.has(record.runId) && !retiredRunIds.has(record.runId) && !isAgentRunTerminalStatus(record.status) && (!deps.getCurrentDialogId || currentDialogId !== void 0 && (record.parentDialogId === currentDialogId || !record.parentDialogId))
2345
+ );
2346
+ const discoveredTerminal = discovered.filter((record) => {
2347
+ if (!record.runId || dockedIds.has(record.runId) || retiredRunIds.has(record.runId)) return false;
2348
+ if (!isAgentRunTerminalStatus(record.status)) return false;
2349
+ if (deps.getCurrentDialogId && (currentDialogId === void 0 || !(record.parentDialogId === currentDialogId || !record.parentDialogId))) return false;
2350
+ const endedAt = readTimestamp(record.endedAt);
2351
+ return endedAt !== void 0 && at - endedAt <= DISCOVERY_TERMINAL_LINGER_MS;
2352
+ });
2353
+ for (const record of discovered) {
2354
+ if (record.runId && isAgentRunTerminalStatus(record.status) && !discoveredTerminal.includes(record)) {
2355
+ retiredRunIds.add(record.runId);
2356
+ }
2357
+ }
2358
+ const active = [...dockedActive, ...discoveredActive, ...discoveredTerminal.map((record) => ({ runId: record.runId, status: record.status }))];
2359
+ if (active.length === 0 && holdCount === 0) {
2296
2360
  stop();
2297
2361
  return;
2298
2362
  }
@@ -2331,10 +2395,19 @@ function createRunRegistryPoller(deps) {
2331
2395
  }
2332
2396
  }
2333
2397
  };
2398
+ const ensureRunning = () => {
2399
+ if (disposed || timer !== null) return;
2400
+ timer = setIntervalFn(poll, intervalMs);
2401
+ };
2334
2402
  return {
2335
- ensureRunning() {
2336
- if (disposed || timer !== null) return;
2337
- timer = setIntervalFn(poll, intervalMs);
2403
+ ensureRunning,
2404
+ beginHold() {
2405
+ if (disposed) return;
2406
+ holdCount += 1;
2407
+ ensureRunning();
2408
+ },
2409
+ endHold() {
2410
+ if (holdCount > 0) holdCount -= 1;
2338
2411
  },
2339
2412
  poll,
2340
2413
  stop,
@@ -2444,7 +2517,7 @@ function createRunCompletionWatcher(deps) {
2444
2517
  if (notifiedRunIds.has(record.runId)) continue;
2445
2518
  const status = record.status;
2446
2519
  if (typeof status !== "string") continue;
2447
- if (record.parentDialogId !== currentDialogId) continue;
2520
+ if (!(record.parentDialogId === currentDialogId || !record.parentDialogId)) continue;
2448
2521
  if (isRunRecordClaimed(record, now())) {
2449
2522
  if (!isAgentRunTerminalStatus(status)) {
2450
2523
  lastStatusByRunId.set(record.runId, status);
@@ -3575,9 +3648,17 @@ function renderStatusLine(state) {
3575
3648
  colorEnabled
3576
3649
  );
3577
3650
  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));
3651
+ const runningTaskCount = getProcessRegistry().listBackground().filter((p) => p.status === "running").length;
3652
+ const runningAgentCount = getCachedRunningAgentCount();
3653
+ const runningParts = [];
3654
+ if (runningTaskCount > 0) {
3655
+ runningParts.push(`${runningTaskCount} running`);
3656
+ }
3657
+ if (runningAgentCount > 0) {
3658
+ runningParts.push(`${runningAgentCount} ${runningAgentCount === 1 ? "agent" : "agents"}`);
3659
+ }
3660
+ if (runningParts.length > 0) {
3661
+ parts.push(themeText(`\u2699 ${runningParts.join(" \xB7 ")}`, "info", colorEnabled));
3581
3662
  }
3582
3663
  if (state.autoConfirm === true) {
3583
3664
  parts.push(themeText("\u23F5 auto", "warning", colorEnabled));
@@ -5805,6 +5886,7 @@ async function runAgentChat(scriptDir, state, message, env, output, agentRunner
5805
5886
  serverUrl: state.serverUrl,
5806
5887
  message: effectiveMessage,
5807
5888
  continueDialogId: state.dialogId,
5889
+ ...state.dialogId ? { parentDialogId: state.dialogId } : {},
5808
5890
  ...state.agentKey === DEFAULT_TUI_AGENT_KEY && env.NOLO_AUTO_ROUTE !== "0" ? { dialogAgentMode: "auto" } : { dialogAgentMode: "fixed" },
5809
5891
  runtimeMode: state.runtimeMode,
5810
5892
  // `/lang` updates the in-memory TUI state immediately. Pass that state
@@ -6141,6 +6223,7 @@ async function runOneAgentTurn(ctx, inputMsg, imageUrls, actionGateHandler, conf
6141
6223
  ctx.modalOwnsKeyboard = false;
6142
6224
  }
6143
6225
  } : void 0;
6226
+ ctx.runRegistryPoller.beginHold();
6144
6227
  try {
6145
6228
  ctx.activeTurnAbort = new AbortController();
6146
6229
  ctx.activeTurnEpoch = myEpoch;
@@ -6250,6 +6333,7 @@ async function runOneAgentTurn(ctx, inputMsg, imageUrls, actionGateHandler, conf
6250
6333
  }
6251
6334
  return { ok: !wasAborted, aborted: wasAborted };
6252
6335
  } finally {
6336
+ ctx.runRegistryPoller.endHold();
6253
6337
  ctx.activityIndicator.stop();
6254
6338
  ctx.activeTurnAbort = null;
6255
6339
  }
@@ -7948,6 +8032,8 @@ async function runTuiWorkspace(options) {
7948
8032
  // ~/.nolo——设了 NOLO_HOME 的环境(dev、测试)会读错目录。run 记录读取
7949
8033
  // 与 reconcile 的调用点也是同样写法。
7950
8034
  readRecord: (runId) => readRunRecord(runId, { env: effectiveEnv }),
8035
+ discoverRuns: () => listRunRecords({ env: effectiveEnv }),
8036
+ getCurrentDialogId: () => state.dialogId,
7951
8037
  reconcile: (runId) => checkStaleRun(runId, { env: effectiveEnv }),
7952
8038
  onRecordsPolled: (records) => runCompletionWatcher.observe(records)
7953
8039
  });
@@ -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";