nolo-cli 0.75.0-alpha.7 → 0.75.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.
- package/{_executeModel-MONX3AUM.js → _executeModel-I3XRMAJ2.js} +42 -42
- package/{action-D22U6CTH.js → action-7GHFPDSQ.js} +10 -10
- package/{addContentAction-XAPUTGL4.js → addContentAction-ZNVB2NOV.js} +8 -8
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-CIDFWATM.js} +7 -7
- package/{agentDeleteCommand-UAMLWTPS.js → agentDeleteCommand-DCTG26JW.js} +27 -26
- package/{agentEmailCommands-QRVMJZ4C.js → agentEmailCommands-MRRHBLDQ.js} +54 -53
- package/{agentListCommands-63DOSBY7.js → agentListCommands-CUE46CSP.js} +29 -28
- package/{agentMachineCommands-BLILYHBN.js → agentMachineCommands-FYDEKBIO.js} +27 -26
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-X3FA6BUM.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-U73W5IBM.js} +1 -1
- package/{agentRecordCommands-4RQKVPNP.js → agentRecordCommands-P2MSNP7R.js} +52 -51
- package/{agentRunCommand-CDRQIDLW.js → agentRunCommand-QJGP7JEN.js} +52 -51
- package/{agentRuntimeLocal-XG3IDNOC.js → agentRuntimeLocal-T43UNWAY.js} +26 -25
- package/{agentSlice-BLCUNM5V.js → agentSlice-7GDS5Q2S.js} +9 -9
- package/{appDeleteCommands-TJXDMOYT.js → appDeleteCommands-YBKY3VEI.js} +27 -26
- package/{appDeployCommands-ECZJQAAL.js → appDeployCommands-EBC76HO4.js} +27 -26
- package/{appDeployStatusCommands-DZKVFG3Y.js → appDeployStatusCommands-WXRC5KEK.js} +27 -26
- package/{appGetCommands-JIT4OPUD.js → appGetCommands-VZZQEDOV.js} +27 -26
- package/{appListCommands-NR2HRMDY.js → appListCommands-HYSPVQ77.js} +27 -26
- package/{authCommand-EVGFLAHO.js → authCommand-E4GDVKMW.js} +91 -17
- package/{authCommands-ILTBI6JV.js → authCommands-VOTT6XWX.js} +3 -4
- package/builtinSkillRegistry-5SYVTS6Z.js +33 -0
- package/{chatQueueReduxAdapter-ROFM5SW7.js → chatQueueReduxAdapter-CXEWIDFZ.js} +22 -22
- package/{chunk-NG4UT4K4.js → chunk-23RQKXP6.js} +1 -1
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-3QPYFHAH.js → chunk-2XEVK4BT.js} +1 -1
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-AFIWC5NH.js → chunk-3T4PRBHV.js} +1 -1
- package/{chunk-ZDONXM5U.js → chunk-4FRNB4ZG.js} +7 -7
- package/{chunk-YFADVSZE.js → chunk-5EJZGJS2.js} +6 -6
- package/{chunk-UJ63UXGE.js → chunk-6H7GN3JL.js} +1064 -752
- package/{chunk-BGIWMGSP.js → chunk-6RCZYDDC.js} +10 -172
- package/{chunk-RL5PTRUQ.js → chunk-6ZC5KPXV.js} +319 -29
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/{chunk-MQ25G6VQ.js → chunk-AYT2OKNM.js} +3 -3
- package/{chunk-ERD7UXVL.js → chunk-BNMZ7QUV.js} +1 -1
- package/{chunk-PGSKWZCB.js → chunk-DS3SQTDT.js} +1 -1
- package/{chunk-QC5LGHYP.js → chunk-EXWOCYCR.js} +3 -3
- package/chunk-FMODTASJ.js +109 -0
- package/{chunk-SZLVDREM.js → chunk-GIG262ZG.js} +3 -3
- package/{chunk-FPTQQSS6.js → chunk-GRJTR4PU.js} +25 -4
- package/{chunk-PZM3EENV.js → chunk-GXWEF4IZ.js} +1 -1
- package/chunk-HJKGQPYF.js +266 -0
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-CIHSMPAW.js → chunk-IMDA4FW4.js} +102 -34
- package/{chunk-L2Y24GRM.js → chunk-IO7DYRPW.js} +3 -3
- package/{chunk-UZ6XXCVR.js → chunk-IZAWJCG7.js} +15 -2
- package/{chunk-2SFNAHL6.js → chunk-JC2WQS66.js} +34 -22
- package/{chunk-XWNRAIUL.js → chunk-JITSBA52.js} +6 -16
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/{chunk-E36HZARC.js → chunk-KT6LENVP.js} +3 -3
- package/{chunk-N7DNNV6J.js → chunk-L2VNQQ7M.js} +78 -74
- package/{chunk-Q2DNZQEZ.js → chunk-LEYH5NOH.js} +5 -5
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-4EJ5QYB5.js → chunk-LSV2BOJL.js} +1 -1
- package/{chunk-AFIKMMGC.js → chunk-MFW4BGJS.js} +1 -1
- package/{chunk-QH6NK22I.js → chunk-NVHJWYUO.js} +60 -788
- package/{chunk-Q6FF2MCK.js → chunk-OAJRZ35U.js} +1 -1
- package/{chunk-DSRXPQWA.js → chunk-OCL2YCAU.js} +7 -7
- package/{chunk-5J7W2VWW.js → chunk-OHUU52T3.js} +6 -265
- package/{chunk-V3ZKNK5D.js → chunk-OKCTLCKS.js} +9 -9
- package/chunk-P3AS5IPM.js +1624 -0
- package/{chunk-ZZCJUXUI.js → chunk-PHDKTASK.js} +2 -2
- package/{chunk-JFXQDXYJ.js → chunk-Q246OUG5.js} +9 -9
- package/{chunk-ZLPA7K55.js → chunk-Q4KVAB6L.js} +4 -4
- package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
- package/{chunk-CGRJWXTE.js → chunk-S6STPUMG.js} +19 -15
- package/{chunk-K7AG465Q.js → chunk-T4F2EQGN.js} +4 -2
- package/{chunk-PYXL2CJL.js → chunk-TGRQUFLU.js} +1 -1
- package/{chunk-E6RGHPDR.js → chunk-UINEAQ2R.js} +3 -5
- package/{chunk-EXMHJN7C.js → chunk-UO66QKGI.js} +2 -2
- package/{chunk-BJCWNHVU.js → chunk-US463UAD.js} +2 -2
- package/{chunk-AJHEFRGJ.js → chunk-UWMQ6FPM.js} +4 -0
- package/{chunk-FSFQ3A7S.js → chunk-VARZWSKW.js} +9 -9
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-3SPWIDHH.js → chunk-VQD6BTML.js} +3 -3
- package/{chunk-CUQ6PG2C.js → chunk-VW3YGKWR.js} +656 -98
- package/{chunk-G3O3PD6Q.js → chunk-W7PGACND.js} +14 -14
- package/{chunk-KIS76A2P.js → chunk-WSOMSDQB.js} +4 -4
- package/{chunk-CMH2SYHX.js → chunk-X77EN2BJ.js} +2 -2
- package/{chunk-MYU3MJCF.js → chunk-XCSSFPTB.js} +175 -7
- package/{chunk-QA6YKM3H.js → chunk-Y2IFJ7VM.js} +31 -3
- package/{chunk-UDQWGU7F.js → chunk-YZHP76TR.js} +1 -1
- package/{chunk-GBPZKFYK.js → chunk-ZIHJVHFH.js} +4 -4
- package/{chunk-DWPNOYMB.js → chunk-ZKGIAM7I.js} +1 -1
- package/chunk-ZSG2AQU4.js +626 -0
- package/{contentThunks-3BFZJFHI.js → contentThunks-Y2ACIFDB.js} +23 -23
- package/{createAgentAutomationAction-YCWUKLMK.js → createAgentAutomationAction-TNE3QMJR.js} +23 -23
- package/{createDialogAction-VULS2PKA.js → createDialogAction-BMGHBTQB.js} +26 -26
- package/{createPageAction-MZZLQPFE.js → createPageAction-FFNIZPIS.js} +24 -24
- package/{dbSlice-GKGGFNOB.js → dbSlice-4CUQE35F.js} +7 -7
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-CJCAMML3.js → dialogCommands-3JC3BIXC.js} +28 -27
- package/{dialogSlice-NQO5ZETL.js → dialogSlice-3E7Z7HZV.js} +22 -22
- package/{docCreateCommands-H65RSKT4.js → docCreateCommands-6LNQLCTA.js} +28 -27
- package/{docDeleteCommands-PBYGJ6CZ.js → docDeleteCommands-ZJOAPWZS.js} +29 -28
- package/{docReadCommands-4VRYN5R5.js → docReadCommands-LJTRSBG6.js} +28 -27
- package/{docStore-AEJONTM4.js → docStore-R47ABXBB.js} +8 -8
- package/{docUpdateCommands-COZG3ZDB.js → docUpdateCommands-7P3QF3N2.js} +28 -27
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-TV6ZB7ES.js} +4 -4
- package/{handleSendMessageAction-WIUO466V.js → handleSendMessageAction-FFYOGXAO.js} +22 -22
- package/index.js +61 -53
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-BR3OIZHN.js → machineCommands-FN5GGQV3.js} +52 -51
- package/{machineWsRunDispatch-43YGAXOP.js → machineWsRunDispatch-H47IA7ZT.js} +50 -49
- package/{memberThunks-KATHH3F4.js → memberThunks-N35XAOC6.js} +8 -8
- package/{models-GS72DVJS.js → models-CMXFDBQH.js} +2 -2
- package/package.json +1 -1
- package/providerPresetApply-D2GGHPI7.js +214 -0
- package/providerRegistry-MU6C4ABD.js +31 -0
- package/{read-LC6HVYBN.js → read-2PV4PN2E.js} +4 -3
- package/{readDocTool-N3ERJHHF.js → readDocTool-FGK5XGAW.js} +1 -1
- package/{readlineWorkspace-RFSDCOKK.js → readlineWorkspace-NXKHYZEU.js} +263 -90
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-O2POGBOE.js} +10 -10
- package/{runAgentClientLoop-QHL2HNAI.js → runAgentClientLoop-CEBV5UPD.js} +41 -41
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-KPSVVY3C.js} +8 -8
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-RMJETONI.js} +10 -10
- package/{settingSlice-OEJA4NQO.js → settingSlice-I6MTTNDX.js} +9 -9
- package/{spaceCommands-WGXHETMT.js → spaceCommands-JHT4ALCQ.js} +26 -25
- package/{streamAgentChatTurn-CE2H23VD.js → streamAgentChatTurn-SFCZP4GY.js} +49 -50
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-OQSGWVQQ.js} +7 -7
- package/{tools-F25QG6XS.js → tools-K3YOTESV.js} +37 -35
- package/{tuiSummaryLlmCaller-3Z24VUWM.js → tuiSummaryLlmCaller-T2OA5ZVB.js} +14 -14
- package/{updateDialogTitleAction-Z333XUN4.js → updateDialogTitleAction-CSPKYQRO.js} +23 -23
- package/chunk-3IT2PFHL.js +0 -611
- package/chunk-I42VC5KR.js +0 -15
- package/codingSkills-E6KSDNSJ.js +0 -48
- package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
- package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
- package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import "./chunk-M3JEW6N6.js";
|
|
2
1
|
import {
|
|
3
2
|
defaultOpenBrowser,
|
|
4
3
|
saveTokenLogin
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UINEAQ2R.js";
|
|
6
5
|
import {
|
|
7
6
|
isScheduledDialog,
|
|
8
7
|
normalizeDialogRecord,
|
|
9
8
|
readDialogSnapshot,
|
|
10
9
|
sortDialogs
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VARZWSKW.js";
|
|
11
|
+
import "./chunk-M3JEW6N6.js";
|
|
12
12
|
import {
|
|
13
13
|
ANSI_ESCAPE_REGEX,
|
|
14
14
|
COLLAPSED_PASTE_PLACEHOLDER_RE,
|
|
@@ -72,21 +72,21 @@ import {
|
|
|
72
72
|
wrapTextToLines,
|
|
73
73
|
wrapTranscriptLine,
|
|
74
74
|
wrapTranscriptLineWithLayout
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-6ZC5KPXV.js";
|
|
76
76
|
import "./chunk-S7Z2HMCN.js";
|
|
77
|
+
import "./chunk-JYYZCK2Z.js";
|
|
77
78
|
import {
|
|
78
79
|
listFavoriteAgentIdsAcrossServers,
|
|
79
80
|
listLocalCachedAgents,
|
|
80
81
|
listRemoteAgents,
|
|
81
82
|
listRemoteAgentsAcrossServers,
|
|
82
83
|
normalizeListedAgent
|
|
83
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-IO7DYRPW.js";
|
|
84
85
|
import "./chunk-ID4G2MAR.js";
|
|
85
86
|
import {
|
|
86
87
|
listUserRecordsFromServers,
|
|
87
88
|
readLiveDbRecordAfterTombstoneMerge
|
|
88
|
-
} from "./chunk-
|
|
89
|
-
import "./chunk-JYYZCK2Z.js";
|
|
89
|
+
} from "./chunk-3T4PRBHV.js";
|
|
90
90
|
import {
|
|
91
91
|
RUN_WAKE_CHANNEL_ENV,
|
|
92
92
|
createCliLocalRuntimeAdapter,
|
|
@@ -96,10 +96,10 @@ import {
|
|
|
96
96
|
readTimestamp,
|
|
97
97
|
setCliLocale,
|
|
98
98
|
t
|
|
99
|
-
} from "./chunk-
|
|
100
|
-
import "./chunk-
|
|
101
|
-
import "./chunk-QCZX4FTW.js";
|
|
99
|
+
} from "./chunk-IMDA4FW4.js";
|
|
100
|
+
import "./chunk-ZIHJVHFH.js";
|
|
102
101
|
import "./chunk-EADNWBAZ.js";
|
|
102
|
+
import "./chunk-QCZX4FTW.js";
|
|
103
103
|
import {
|
|
104
104
|
backfillRunRecordParentDialog,
|
|
105
105
|
checkStaleRun,
|
|
@@ -110,13 +110,13 @@ import {
|
|
|
110
110
|
import "./chunk-DWUCB2A3.js";
|
|
111
111
|
import {
|
|
112
112
|
getReadableCliDb
|
|
113
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-LS2ZANRJ.js";
|
|
114
114
|
import {
|
|
115
115
|
deleteDbRecord,
|
|
116
116
|
queryUserRecords,
|
|
117
117
|
readDbRecord
|
|
118
|
-
} from "./chunk-
|
|
119
|
-
import "./chunk-
|
|
118
|
+
} from "./chunk-Y2IFJ7VM.js";
|
|
119
|
+
import "./chunk-OAJRZ35U.js";
|
|
120
120
|
import {
|
|
121
121
|
NOLO_DEFAULT_AGENT_KEY,
|
|
122
122
|
resolveCliAgentKeyInput
|
|
@@ -130,17 +130,17 @@ import "./chunk-MP64VFGD.js";
|
|
|
130
130
|
import "./chunk-ESHYE7WU.js";
|
|
131
131
|
import "./chunk-JBTJAPUF.js";
|
|
132
132
|
import "./chunk-LTRXGFMS.js";
|
|
133
|
-
import "./chunk-
|
|
133
|
+
import "./chunk-2XEVK4BT.js";
|
|
134
134
|
import "./chunk-ATNTHIZI.js";
|
|
135
135
|
import "./chunk-JEXVIMYZ.js";
|
|
136
136
|
import {
|
|
137
137
|
prepareTools
|
|
138
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-VQD6BTML.js";
|
|
139
139
|
import {
|
|
140
140
|
buildResponseGuidelines
|
|
141
141
|
} from "./chunk-EOARMOVD.js";
|
|
142
142
|
import "./chunk-HS7MLR74.js";
|
|
143
|
-
import "./chunk-
|
|
143
|
+
import "./chunk-NVHJWYUO.js";
|
|
144
144
|
import "./chunk-5XTOKQLW.js";
|
|
145
145
|
import "./chunk-NF64D32W.js";
|
|
146
146
|
import "./chunk-3L2WKC3W.js";
|
|
@@ -155,79 +155,81 @@ import {
|
|
|
155
155
|
runShowsLogTail,
|
|
156
156
|
shortRunId
|
|
157
157
|
} from "./chunk-NTW5GWDM.js";
|
|
158
|
-
import "./chunk-
|
|
158
|
+
import "./chunk-GRJTR4PU.js";
|
|
159
159
|
import "./chunk-KQHGZWSV.js";
|
|
160
|
-
import "./chunk-
|
|
161
|
-
import "./chunk-
|
|
160
|
+
import "./chunk-YZHP76TR.js";
|
|
161
|
+
import "./chunk-GXWEF4IZ.js";
|
|
162
162
|
import "./chunk-OZX2IPKM.js";
|
|
163
|
-
import "./chunk-
|
|
163
|
+
import "./chunk-LSV2BOJL.js";
|
|
164
164
|
import "./chunk-N4G4PKQ6.js";
|
|
165
165
|
import "./chunk-FZGV4FGK.js";
|
|
166
166
|
import "./chunk-MEYIRKDN.js";
|
|
167
167
|
import "./chunk-63W5N6P3.js";
|
|
168
168
|
import "./chunk-VF4K2QE6.js";
|
|
169
|
-
import "./chunk-
|
|
170
|
-
import "./chunk-
|
|
171
|
-
import "./chunk-
|
|
169
|
+
import "./chunk-AYT2OKNM.js";
|
|
170
|
+
import "./chunk-6RCZYDDC.js";
|
|
171
|
+
import "./chunk-S6STPUMG.js";
|
|
172
172
|
import "./chunk-ZJ7UHBJS.js";
|
|
173
173
|
import {
|
|
174
174
|
extractReferenceKeysFromMessage
|
|
175
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-L2VNQQ7M.js";
|
|
176
176
|
import "./chunk-EVBFYPDC.js";
|
|
177
|
-
import "./chunk-
|
|
177
|
+
import "./chunk-3BMYXEUW.js";
|
|
178
178
|
import "./chunk-YYLHWIW6.js";
|
|
179
179
|
import "./chunk-AGGIDPCZ.js";
|
|
180
|
-
import "./chunk-
|
|
181
|
-
import "./chunk-
|
|
180
|
+
import "./chunk-4FRNB4ZG.js";
|
|
181
|
+
import "./chunk-US463UAD.js";
|
|
182
182
|
import "./chunk-5RGU3J7P.js";
|
|
183
183
|
import "./chunk-6YTOJY35.js";
|
|
184
184
|
import "./chunk-M76ECQRD.js";
|
|
185
185
|
import "./chunk-YDH3FDFQ.js";
|
|
186
186
|
import "./chunk-URMS4XY2.js";
|
|
187
187
|
import "./chunk-TRV2MIDW.js";
|
|
188
|
-
import "./chunk-
|
|
188
|
+
import "./chunk-2F7RJC6L.js";
|
|
189
189
|
import "./chunk-GLKOYSRU.js";
|
|
190
190
|
import {
|
|
191
191
|
buildSkillDiscoveryContextBlock,
|
|
192
192
|
buildSkillDiscoveryContextLayer
|
|
193
193
|
} from "./chunk-E4MARS3Q.js";
|
|
194
|
-
import "./chunk-
|
|
194
|
+
import "./chunk-P3AS5IPM.js";
|
|
195
195
|
import {
|
|
196
196
|
expandEnabledPacks
|
|
197
|
-
} from "./chunk-
|
|
198
|
-
import "./chunk-
|
|
197
|
+
} from "./chunk-XCSSFPTB.js";
|
|
198
|
+
import "./chunk-Q554LLSI.js";
|
|
199
199
|
import "./chunk-KHCLMKZZ.js";
|
|
200
200
|
import {
|
|
201
201
|
buildLocalWorkspaceOpenAiTools,
|
|
202
202
|
buildLocalWorkspaceToolset,
|
|
203
|
+
formatToolOverflowMarker,
|
|
203
204
|
getProcessRegistry,
|
|
204
205
|
readCommandActionGatePayload
|
|
205
|
-
} from "./chunk-
|
|
206
|
+
} from "./chunk-VW3YGKWR.js";
|
|
207
|
+
import "./chunk-EXWOCYCR.js";
|
|
208
|
+
import "./chunk-FMODTASJ.js";
|
|
206
209
|
import "./chunk-ZNFJWEN4.js";
|
|
207
|
-
import "./chunk-
|
|
208
|
-
import "./chunk-KIS76A2P.js";
|
|
210
|
+
import "./chunk-WSOMSDQB.js";
|
|
209
211
|
import "./chunk-CQ3WA2NE.js";
|
|
210
212
|
import "./chunk-N7J63Q6C.js";
|
|
211
213
|
import {
|
|
212
214
|
buildIdentityBlock,
|
|
213
215
|
buildRuntimeGuidanceBlocks,
|
|
214
216
|
resolveToolGuidedSections
|
|
215
|
-
} from "./chunk-
|
|
217
|
+
} from "./chunk-Q4KVAB6L.js";
|
|
216
218
|
import "./chunk-PUOC4YRO.js";
|
|
217
|
-
import "./chunk-
|
|
218
|
-
import {
|
|
219
|
-
resolvePlatformAuthToken
|
|
220
|
-
} from "./chunk-CMH2SYHX.js";
|
|
221
|
-
import "./chunk-V3ZKNK5D.js";
|
|
219
|
+
import "./chunk-OKCTLCKS.js";
|
|
222
220
|
import {
|
|
223
221
|
isQuotaExhaustedError
|
|
224
222
|
} from "./chunk-CJCJF5XB.js";
|
|
223
|
+
import "./chunk-DS3SQTDT.js";
|
|
224
|
+
import {
|
|
225
|
+
resolvePlatformAuthToken
|
|
226
|
+
} from "./chunk-X77EN2BJ.js";
|
|
225
227
|
import "./chunk-2MBTWINN.js";
|
|
226
228
|
import {
|
|
227
229
|
DEFAULT_CONTEXT_WINDOW,
|
|
228
230
|
getModelContextWindow,
|
|
229
231
|
normalizeUsage
|
|
230
|
-
} from "./chunk-
|
|
232
|
+
} from "./chunk-OCL2YCAU.js";
|
|
231
233
|
import {
|
|
232
234
|
buildCompactionMetricsFromPlan,
|
|
233
235
|
buildCompactionUserContent,
|
|
@@ -237,17 +239,17 @@ import {
|
|
|
237
239
|
formatMessagesForSummaryWithTruncation,
|
|
238
240
|
planCompression,
|
|
239
241
|
serializeMessageContent
|
|
240
|
-
} from "./chunk-
|
|
241
|
-
import "./chunk-K7AG465Q.js";
|
|
242
|
+
} from "./chunk-KT6LENVP.js";
|
|
242
243
|
import {
|
|
243
244
|
estimateTokenCount
|
|
244
245
|
} from "./chunk-PSCNXBYA.js";
|
|
246
|
+
import "./chunk-T4F2EQGN.js";
|
|
245
247
|
import "./chunk-BYXBJQAS.js";
|
|
246
|
-
import "./chunk-
|
|
248
|
+
import "./chunk-6H7GN3JL.js";
|
|
247
249
|
import {
|
|
248
250
|
compactWhitespace
|
|
249
251
|
} from "./chunk-DWLEOOGR.js";
|
|
250
|
-
import "./chunk-
|
|
252
|
+
import "./chunk-HVURBGF3.js";
|
|
251
253
|
import "./chunk-ONXOABJR.js";
|
|
252
254
|
import "./chunk-W7XHHYWM.js";
|
|
253
255
|
import {
|
|
@@ -265,7 +267,7 @@ import {
|
|
|
265
267
|
import {
|
|
266
268
|
canonicalizeToolNames
|
|
267
269
|
} from "./chunk-O6OSWFZQ.js";
|
|
268
|
-
import "./chunk-
|
|
270
|
+
import "./chunk-7S4YWN7P.js";
|
|
269
271
|
import {
|
|
270
272
|
checkForCliUpdate,
|
|
271
273
|
runSelfUpdateDetailed
|
|
@@ -293,41 +295,41 @@ import {
|
|
|
293
295
|
import {
|
|
294
296
|
DEFAULT_NOLO_SERVER_URL
|
|
295
297
|
} from "./chunk-OLZBQWZU.js";
|
|
296
|
-
import "./chunk-
|
|
297
|
-
import "./chunk-
|
|
298
|
-
import "./chunk-
|
|
299
|
-
import "./chunk-
|
|
298
|
+
import "./chunk-23RQKXP6.js";
|
|
299
|
+
import "./chunk-UWMQ6FPM.js";
|
|
300
|
+
import "./chunk-GIG262ZG.js";
|
|
301
|
+
import "./chunk-JITSBA52.js";
|
|
300
302
|
import "./chunk-Y5GCAMGP.js";
|
|
301
|
-
import "./chunk-
|
|
303
|
+
import "./chunk-IZAWJCG7.js";
|
|
302
304
|
import "./chunk-KX6YBIHG.js";
|
|
303
|
-
import "./chunk-
|
|
305
|
+
import "./chunk-PHDKTASK.js";
|
|
304
306
|
import "./chunk-UAD2WT54.js";
|
|
305
|
-
import "./chunk-
|
|
306
|
-
import "./chunk-
|
|
307
|
+
import "./chunk-5EJZGJS2.js";
|
|
308
|
+
import "./chunk-VMFTFOWF.js";
|
|
307
309
|
import "./chunk-WWC7I6TA.js";
|
|
308
|
-
import "./chunk-
|
|
309
|
-
import "./chunk-SREASRV5.js";
|
|
310
|
+
import "./chunk-ABQYVJBJ.js";
|
|
310
311
|
import {
|
|
311
312
|
asTrimmedLowercaseString
|
|
312
313
|
} from "./chunk-QSJ3HFEF.js";
|
|
314
|
+
import "./chunk-OHUU52T3.js";
|
|
313
315
|
import {
|
|
314
316
|
BUILTIN_NOLO_AGENT_KEY,
|
|
315
317
|
BUILTIN_NOLO_AGENT_MODEL,
|
|
316
318
|
BUILTIN_NOLO_AGENT_NAME,
|
|
317
319
|
builtinAgentCatalogEntryById
|
|
318
|
-
} from "./chunk-
|
|
320
|
+
} from "./chunk-HJKGQPYF.js";
|
|
319
321
|
import {
|
|
320
322
|
extractCustomId,
|
|
321
323
|
parsePublicAgentId
|
|
322
324
|
} from "./chunk-BJIRLHJR.js";
|
|
323
|
-
import "./chunk-
|
|
325
|
+
import "./chunk-UKWGR5SS.js";
|
|
324
326
|
import "./chunk-QOKAKDPE.js";
|
|
325
327
|
import "./chunk-OW765XBU.js";
|
|
326
328
|
import "./chunk-SEJ5OS6F.js";
|
|
327
329
|
import "./chunk-GBRG75BQ.js";
|
|
330
|
+
import "./chunk-KUG52IAP.js";
|
|
328
331
|
import "./chunk-3EUW3WEO.js";
|
|
329
332
|
import "./chunk-U6VC4MU4.js";
|
|
330
|
-
import "./chunk-KUG52IAP.js";
|
|
331
333
|
import "./chunk-LCBAMY2M.js";
|
|
332
334
|
import "./chunk-4SN6J65J.js";
|
|
333
335
|
import {
|
|
@@ -347,7 +349,7 @@ import { stdin as defaultInput, stdout as defaultOutput } from "node:process";
|
|
|
347
349
|
import nacl from "tweetnacl";
|
|
348
350
|
|
|
349
351
|
// node_modules/js-base64/base64.mjs
|
|
350
|
-
var version = "3.9.
|
|
352
|
+
var version = "3.9.4";
|
|
351
353
|
var VERSION = version;
|
|
352
354
|
var _TD = typeof TextDecoder === "function" ? new TextDecoder("utf-8", { ignoreBOM: true }) : void 0;
|
|
353
355
|
var _TE = typeof TextEncoder === "function" ? new TextEncoder() : void 0;
|
|
@@ -1656,13 +1658,14 @@ function layoutTurnRows(role, content, contentWidth, colorEnabled, command) {
|
|
|
1656
1658
|
const surfaceSeq = colorEnabled ? userSurfaceBackgroundSequence() : "";
|
|
1657
1659
|
const boldOn = colorEnabled ? "\x1B[1m" : "";
|
|
1658
1660
|
const boldOff = colorEnabled ? "\x1B[22m" : "";
|
|
1661
|
+
const fgOff = colorEnabled ? "\x1B[39m" : "";
|
|
1659
1662
|
const prefixWidth = 3;
|
|
1660
1663
|
let lineSourceStart = 0;
|
|
1661
1664
|
const rows2 = [];
|
|
1662
1665
|
for (let i = 0; i < logicalLines.length; i++) {
|
|
1663
1666
|
const line = logicalLines[i];
|
|
1664
1667
|
const prefix = i === 0 ? firstPrefix : multilinePrefix;
|
|
1665
|
-
const styledLine = `${prefix}${boldOn}${line}${boldOff}`;
|
|
1668
|
+
const styledLine = `${prefix}${accentSeq}${boldOn}${line}${boldOff}${fgOff}`;
|
|
1666
1669
|
const prefixCharCount = prefix.length;
|
|
1667
1670
|
const wrappedRows = wrapTranscriptLineWithLayout(
|
|
1668
1671
|
styledLine,
|
|
@@ -1855,9 +1858,10 @@ function renderTailTurnBlock(role, content, contentWidth, colorEnabled) {
|
|
|
1855
1858
|
const hangingIndent = colorEnabled ? `${accentSeq}\x1B[1m\u2503 \x1B[0m` : "\u2503 ";
|
|
1856
1859
|
const boldOn = colorEnabled ? "\x1B[1m" : "";
|
|
1857
1860
|
const boldOff = colorEnabled ? "\x1B[22m" : "";
|
|
1861
|
+
const fgOff = colorEnabled ? "\x1B[39m" : "";
|
|
1858
1862
|
const lines = [];
|
|
1859
1863
|
for (const rawLine of content.split("\n")) {
|
|
1860
|
-
const styledLine = `${multilinePrefix}${boldOn}${rawLine}${boldOff}`;
|
|
1864
|
+
const styledLine = `${multilinePrefix}${accentSeq}${boldOn}${rawLine}${boldOff}${fgOff}`;
|
|
1861
1865
|
const rows = wrapTranscriptLine(styledLine, contentWidth, hangingIndent);
|
|
1862
1866
|
lines.push(
|
|
1863
1867
|
...surfaceSeq ? rows.map((row) => fillUserBubbleRow(row, surfaceSeq, contentWidth)) : rows
|
|
@@ -5087,16 +5091,17 @@ function osc52SetClipboard(text, output) {
|
|
|
5087
5091
|
output.write(`\x1B]52;c;${payload}\x07`);
|
|
5088
5092
|
}
|
|
5089
5093
|
async function writeClipboard(text, target) {
|
|
5090
|
-
|
|
5094
|
+
if (target.transport === "system") {
|
|
5091
5095
|
await target.systemWrite(text);
|
|
5092
|
-
|
|
5096
|
+
return;
|
|
5093
5097
|
}
|
|
5094
|
-
if (target.
|
|
5095
|
-
|
|
5096
|
-
|
|
5097
|
-
} catch {
|
|
5098
|
-
}
|
|
5098
|
+
if (target.transport === "osc52") {
|
|
5099
|
+
osc52SetClipboard(text, target.output);
|
|
5100
|
+
return;
|
|
5099
5101
|
}
|
|
5102
|
+
throw new Error(
|
|
5103
|
+
"Client clipboard is unavailable in a non-interactive remote session."
|
|
5104
|
+
);
|
|
5100
5105
|
}
|
|
5101
5106
|
|
|
5102
5107
|
// packages/cli/tui/gitStatus.ts
|
|
@@ -6748,11 +6753,41 @@ function createTurnInjectionInbox() {
|
|
|
6748
6753
|
function formatProcessTerminalWakeMessage(notices) {
|
|
6749
6754
|
return [
|
|
6750
6755
|
`<background_task_completion count="${notices.length}">`,
|
|
6751
|
-
...notices.
|
|
6752
|
-
|
|
6756
|
+
...notices.flatMap((notice) => [
|
|
6757
|
+
formatProcessTerminalNoticeLine(notice),
|
|
6758
|
+
...notice.resultCapsule ? formatProcessResultCapsuleLines(notice.resultCapsule) : []
|
|
6759
|
+
]),
|
|
6753
6760
|
`</background_task_completion>`
|
|
6754
6761
|
].join("\n");
|
|
6755
6762
|
}
|
|
6763
|
+
function formatProcessResultCapsuleLines(capsule) {
|
|
6764
|
+
const meta = [];
|
|
6765
|
+
if (capsule.durationMs !== void 0) meta.push(`duration=${capsule.durationMs}ms`);
|
|
6766
|
+
meta.push(capsule.truncated ? "tail-only" : "full");
|
|
6767
|
+
const stream = (name, value) => [
|
|
6768
|
+
`--- ${name} ---`,
|
|
6769
|
+
...value.trim() ? value.replace(/\n+$/, "").split("\n") : ["(empty)"]
|
|
6770
|
+
];
|
|
6771
|
+
const omittedChars = capsule.spill ? Math.max(0, capsule.spill.totalChars - capsule.stdout.length - capsule.stderr.length) : 0;
|
|
6772
|
+
return [
|
|
6773
|
+
`result capsule (${meta.join(", ")}):`,
|
|
6774
|
+
...capsule.captureError ? [`capture error: ${capsule.captureError}`] : [],
|
|
6775
|
+
...stream("stdout", capsule.stdout),
|
|
6776
|
+
...stream("stderr", capsule.stderr),
|
|
6777
|
+
// Retrieval pointer reuses the tool-overflow convention: the model learns
|
|
6778
|
+
// one marker for "the tail above is not the whole story, full text lives
|
|
6779
|
+
// here", whether the truncation happened in a foreground tool result or in
|
|
6780
|
+
// a detached task capsule.
|
|
6781
|
+
...capsule.spill ? [
|
|
6782
|
+
formatToolOverflowMarker({
|
|
6783
|
+
spillRef: capsule.spill.displayPath,
|
|
6784
|
+
totalChars: capsule.spill.totalChars,
|
|
6785
|
+
totalLines: capsule.spill.totalLines,
|
|
6786
|
+
omittedChars
|
|
6787
|
+
}).trim()
|
|
6788
|
+
] : []
|
|
6789
|
+
];
|
|
6790
|
+
}
|
|
6756
6791
|
function formatProcessTerminalNoticeLine(notice) {
|
|
6757
6792
|
const informative = notice.label && notice.label.trim() !== "" && notice.label !== notice.command;
|
|
6758
6793
|
const label = informative ? ` (label: "${notice.label.replace(/(["\\])/g, "\\$1")}")` : "";
|
|
@@ -6763,7 +6798,30 @@ function buildProcessTerminalTurnMessage(notices) {
|
|
|
6763
6798
|
if (notices.length === 0) return "";
|
|
6764
6799
|
return formatProcessTerminalWakeMessage(notices);
|
|
6765
6800
|
}
|
|
6801
|
+
function buildProcessTaskCompletedTurnEvent(notice) {
|
|
6802
|
+
return {
|
|
6803
|
+
kind: "background-task-completed",
|
|
6804
|
+
taskId: notice.taskId,
|
|
6805
|
+
status: notice.status,
|
|
6806
|
+
...notice.exitCode !== void 0 ? { exitCode: notice.exitCode } : {},
|
|
6807
|
+
text: buildProcessTerminalTurnMessage([notice]),
|
|
6808
|
+
displayText: formatProcessTerminalNoticeLine(notice)
|
|
6809
|
+
};
|
|
6810
|
+
}
|
|
6811
|
+
var PENDING_NOTICE_PREFIX = "process-notice-v1:";
|
|
6812
|
+
function serializePendingProcessNotice(notice) {
|
|
6813
|
+
return notice.resultCapsule ? `${PENDING_NOTICE_PREFIX}${JSON.stringify(notice)}` : formatProcessTerminalNoticeLine(notice);
|
|
6814
|
+
}
|
|
6766
6815
|
function parsePendingProcessNoticeLine(line) {
|
|
6816
|
+
if (line.startsWith(PENDING_NOTICE_PREFIX)) {
|
|
6817
|
+
try {
|
|
6818
|
+
const parsed = JSON.parse(line.slice(PENDING_NOTICE_PREFIX.length));
|
|
6819
|
+
if (parsed && typeof parsed.taskId === "string" && parsed.resultCapsule) {
|
|
6820
|
+
return parsed;
|
|
6821
|
+
}
|
|
6822
|
+
} catch {
|
|
6823
|
+
}
|
|
6824
|
+
}
|
|
6767
6825
|
const taskMatch = line.match(
|
|
6768
6826
|
/^\[Background task ([^ \]]+?)(?:\s+\(label: "((?:[^"\\]|\\.)*)"\))? finished: status=(\w+)(?: exitCode=(-?\d+))?\]$/
|
|
6769
6827
|
);
|
|
@@ -6795,6 +6853,80 @@ function normalizeStatus(raw) {
|
|
|
6795
6853
|
return "failed";
|
|
6796
6854
|
}
|
|
6797
6855
|
|
|
6856
|
+
// packages/agent-runtime/processTerminalResume.ts
|
|
6857
|
+
var DEFAULT_MAX_CHAINED_COMPLETION_TURNS = 3;
|
|
6858
|
+
function createProcessTerminalResumeState() {
|
|
6859
|
+
const claimedTaskIds = /* @__PURE__ */ new Set();
|
|
6860
|
+
const chainDepthByDialog = /* @__PURE__ */ new Map();
|
|
6861
|
+
return {
|
|
6862
|
+
claimedTaskIds,
|
|
6863
|
+
chainDepthByDialog,
|
|
6864
|
+
noteUserTurn() {
|
|
6865
|
+
chainDepthByDialog.clear();
|
|
6866
|
+
}
|
|
6867
|
+
};
|
|
6868
|
+
}
|
|
6869
|
+
var resolveCap = (value) => {
|
|
6870
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value < 1) {
|
|
6871
|
+
return DEFAULT_MAX_CHAINED_COMPLETION_TURNS;
|
|
6872
|
+
}
|
|
6873
|
+
return Math.floor(value);
|
|
6874
|
+
};
|
|
6875
|
+
function decideProcessTerminalResume(input) {
|
|
6876
|
+
const taskId = input.notice.taskId;
|
|
6877
|
+
if (input.canDeliver === false) {
|
|
6878
|
+
return { kind: "notice-only", reason: "no-channel", taskId };
|
|
6879
|
+
}
|
|
6880
|
+
const dialogId = input.owner?.dialogId;
|
|
6881
|
+
if (!input.owner || !dialogId) {
|
|
6882
|
+
return { kind: "notice-only", reason: "unowned", taskId };
|
|
6883
|
+
}
|
|
6884
|
+
if (!input.notice.promoted) {
|
|
6885
|
+
return { kind: "notice-only", reason: "not-promoted", taskId };
|
|
6886
|
+
}
|
|
6887
|
+
if (input.state.claimedTaskIds.has(taskId)) {
|
|
6888
|
+
return { kind: "notice-only", reason: "duplicate", taskId };
|
|
6889
|
+
}
|
|
6890
|
+
const currentDialogId = input.currentDialogId ?? null;
|
|
6891
|
+
if (currentDialogId !== dialogId) {
|
|
6892
|
+
return { kind: "notice-only", reason: "dialog-mismatch", taskId };
|
|
6893
|
+
}
|
|
6894
|
+
if (input.turnActive) {
|
|
6895
|
+
input.state.claimedTaskIds.add(taskId);
|
|
6896
|
+
return { kind: "inject-turn", taskId, owner: input.owner, notice: input.notice };
|
|
6897
|
+
}
|
|
6898
|
+
const cap = resolveCap(input.maxChainedCompletionTurns);
|
|
6899
|
+
const depth = input.state.chainDepthByDialog.get(dialogId) ?? 0;
|
|
6900
|
+
if (depth >= cap) {
|
|
6901
|
+
return { kind: "notice-only", reason: "chain-cap", taskId };
|
|
6902
|
+
}
|
|
6903
|
+
input.state.claimedTaskIds.add(taskId);
|
|
6904
|
+
input.state.chainDepthByDialog.set(dialogId, depth + 1);
|
|
6905
|
+
return { kind: "completion-turn", taskId, owner: input.owner, notice: input.notice };
|
|
6906
|
+
}
|
|
6907
|
+
function createProcessTerminalAutoResumer(deps) {
|
|
6908
|
+
const state = createProcessTerminalResumeState();
|
|
6909
|
+
return {
|
|
6910
|
+
state,
|
|
6911
|
+
noteUserTurn: () => state.noteUserTurn(),
|
|
6912
|
+
decide: (notice) => {
|
|
6913
|
+
const promoted = notice.promoted ?? deps.isPromoted?.(notice.taskId) ?? false;
|
|
6914
|
+
const effectiveNotice = notice.promoted === promoted ? notice : { ...notice, promoted };
|
|
6915
|
+
const decision = decideProcessTerminalResume({
|
|
6916
|
+
notice: effectiveNotice,
|
|
6917
|
+
owner: deps.readOwner(notice.taskId),
|
|
6918
|
+
currentDialogId: deps.getCurrentDialogId(),
|
|
6919
|
+
turnActive: deps.isTurnActive(),
|
|
6920
|
+
state,
|
|
6921
|
+
...deps.canDeliver ? { canDeliver: deps.canDeliver() } : {},
|
|
6922
|
+
...deps.maxChainedCompletionTurns === void 0 ? {} : { maxChainedCompletionTurns: deps.maxChainedCompletionTurns }
|
|
6923
|
+
});
|
|
6924
|
+
deps.onDecision?.(decision);
|
|
6925
|
+
return decision;
|
|
6926
|
+
}
|
|
6927
|
+
};
|
|
6928
|
+
}
|
|
6929
|
+
|
|
6798
6930
|
// packages/cli/client/turnBillingAudit.ts
|
|
6799
6931
|
import { appendFileSync, mkdirSync as mkdirSync2 } from "node:fs";
|
|
6800
6932
|
import { homedir as homedir4 } from "node:os";
|
|
@@ -7597,6 +7729,8 @@ async function runAskChoiceDialog(args) {
|
|
|
7597
7729
|
// packages/chat/messages/contextualFragment.ts
|
|
7598
7730
|
var BACKGROUND_RUN_OPEN = "<background_run_completion";
|
|
7599
7731
|
var BACKGROUND_RUN_CLOSE = "</background_run_completion>";
|
|
7732
|
+
var BACKGROUND_TASK_OPEN = "<background_task_completion";
|
|
7733
|
+
var BACKGROUND_TASK_CLOSE = "</background_task_completion>";
|
|
7600
7734
|
var SERVER_LEGACY_PREFIX = "--- \u540E\u53F0 run \u7EC8\u6001\u4E8B\u4EF6 ---";
|
|
7601
7735
|
var TUI_LEGACY_PREFIX = "\u3010\u540E\u53F0 run \u7EC8\u6001\u901A\u77E5\u3011";
|
|
7602
7736
|
var TIME_BLOCK_PREFIX = "--- \u5F53\u524D\u65F6\u95F4 ---";
|
|
@@ -7611,6 +7745,13 @@ var registry = [
|
|
|
7611
7745
|
return trimmed.startsWith(BACKGROUND_RUN_OPEN) && trimmed.endsWith(BACKGROUND_RUN_CLOSE);
|
|
7612
7746
|
}
|
|
7613
7747
|
},
|
|
7748
|
+
{
|
|
7749
|
+
kind: "background_task_completion",
|
|
7750
|
+
match: (text) => {
|
|
7751
|
+
const trimmed = text.trim();
|
|
7752
|
+
return trimmed.startsWith(BACKGROUND_TASK_OPEN) && trimmed.endsWith(BACKGROUND_TASK_CLOSE);
|
|
7753
|
+
}
|
|
7754
|
+
},
|
|
7614
7755
|
{
|
|
7615
7756
|
kind: "server_legacy_wake",
|
|
7616
7757
|
match: (text) => {
|
|
@@ -8310,6 +8451,7 @@ async function runOneAgentTurn(ctx, inputMsg, imageUrls, actionGateHandler, conf
|
|
|
8310
8451
|
}
|
|
8311
8452
|
}
|
|
8312
8453
|
const message = req.text;
|
|
8454
|
+
if (req.event.kind === "user") ctx.noteUserTurn?.();
|
|
8313
8455
|
ctx.forcedStop = false;
|
|
8314
8456
|
ctx.turnEpoch += 1;
|
|
8315
8457
|
const myEpoch = ctx.turnEpoch;
|
|
@@ -8317,7 +8459,7 @@ async function runOneAgentTurn(ctx, inputMsg, imageUrls, actionGateHandler, conf
|
|
|
8317
8459
|
ctx.history.followBottom = true;
|
|
8318
8460
|
const isInternalEvent = req.event.kind !== "user";
|
|
8319
8461
|
const isContextualFragment = matchContextualFragment(message) !== null;
|
|
8320
|
-
const transcriptText = isContextualFragment && req.event.kind === "child-run-completed" ? req.event.displayText ?? req.event.text : message;
|
|
8462
|
+
const transcriptText = isContextualFragment && (req.event.kind === "child-run-completed" || req.event.kind === "background-task-completed") ? req.event.displayText ?? req.event.text : message;
|
|
8321
8463
|
startTurn(ctx.history, isInternalEvent ? "assistant" : "user");
|
|
8322
8464
|
appendToCurrentTurn(
|
|
8323
8465
|
ctx.history,
|
|
@@ -10473,7 +10615,12 @@ async function runTuiWorkspace(options) {
|
|
|
10473
10615
|
await clipboard.write(t2);
|
|
10474
10616
|
},
|
|
10475
10617
|
output,
|
|
10476
|
-
|
|
10618
|
+
// Local sessions have direct access to the user's OS clipboard and
|
|
10619
|
+
// must not enqueue a redundant OSC 52 write behind it: that late
|
|
10620
|
+
// terminal-side write can overwrite a newer browser copy. Over SSH,
|
|
10621
|
+
// OSC 52 remains the only path to the client clipboard; a pipe/non-
|
|
10622
|
+
// interactive remote session has no valid client clipboard channel.
|
|
10623
|
+
transport: isRemoteSession(runtimeEnv) ? isInteractiveInput(input) ? "osc52" : "unavailable" : "system"
|
|
10477
10624
|
});
|
|
10478
10625
|
const readClipboardText = options.clipboardReader ?? (async () => {
|
|
10479
10626
|
const { default: clipboard } = await import("./clipboardy-BX4NMYHE.js");
|
|
@@ -10560,16 +10707,17 @@ async function runTuiWorkspace(options) {
|
|
|
10560
10707
|
});
|
|
10561
10708
|
const pushPendingProcessNotice = (notice) => {
|
|
10562
10709
|
if (sessionEnded) return;
|
|
10563
|
-
const line =
|
|
10710
|
+
const line = serializePendingProcessNotice(notice);
|
|
10564
10711
|
state = {
|
|
10565
10712
|
...state,
|
|
10566
10713
|
pendingProcessNotices: [...state.pendingProcessNotices ?? [], line]
|
|
10567
10714
|
};
|
|
10568
10715
|
scheduleRender();
|
|
10569
10716
|
};
|
|
10570
|
-
|
|
10571
|
-
|
|
10572
|
-
|
|
10717
|
+
let deliverProcessTerminalNotice = pushPendingProcessNotice;
|
|
10718
|
+
const unsubscribeProcessTerminal = getProcessRegistry().onProcessTerminal((notice) => {
|
|
10719
|
+
deliverProcessTerminalNotice(notice);
|
|
10720
|
+
});
|
|
10573
10721
|
const effectiveEnv = options.env ? { ...process.env, ...options.env } : process.env;
|
|
10574
10722
|
const runRegistryPoller = createRunRegistryPoller({
|
|
10575
10723
|
getDockedRuns: () => activityIndicator.getAgentRuns(),
|
|
@@ -10834,6 +10982,7 @@ async function runTuiWorkspace(options) {
|
|
|
10834
10982
|
};
|
|
10835
10983
|
let chatQueueBinding = null;
|
|
10836
10984
|
let turnInjectionInbox = null;
|
|
10985
|
+
let noteUserTurnHook = null;
|
|
10837
10986
|
const turnCtx = {
|
|
10838
10987
|
get state() {
|
|
10839
10988
|
return state;
|
|
@@ -10883,6 +11032,7 @@ async function runTuiWorkspace(options) {
|
|
|
10883
11032
|
set turnInjectionInbox(v) {
|
|
10884
11033
|
turnInjectionInbox = v;
|
|
10885
11034
|
},
|
|
11035
|
+
noteUserTurn: () => noteUserTurnHook?.(),
|
|
10886
11036
|
get sessionEnded() {
|
|
10887
11037
|
return sessionEnded;
|
|
10888
11038
|
},
|
|
@@ -11102,6 +11252,14 @@ async function runTuiWorkspace(options) {
|
|
|
11102
11252
|
};
|
|
11103
11253
|
return { actionGateHandler, confirmDestructiveAction };
|
|
11104
11254
|
};
|
|
11255
|
+
const processTerminalResumer = createProcessTerminalAutoResumer({
|
|
11256
|
+
readOwner: (taskId) => getProcessRegistry().getByTaskId(taskId)?.owner ?? null,
|
|
11257
|
+
isPromoted: (taskId) => getProcessRegistry().getByTaskId(taskId)?.promoted ?? false,
|
|
11258
|
+
getCurrentDialogId: () => state.dialogId ?? null,
|
|
11259
|
+
isTurnActive: () => busy || fixedInput.isPaused(),
|
|
11260
|
+
canDeliver: () => !sessionEnded && !done && runWakeHandler !== null
|
|
11261
|
+
});
|
|
11262
|
+
noteUserTurnHook = () => processTerminalResumer.noteUserTurn();
|
|
11105
11263
|
const runIdleTextTurn = async (inputMsg) => {
|
|
11106
11264
|
const req = createTurnRequest(inputMsg);
|
|
11107
11265
|
const { actionGateHandler, confirmDestructiveAction } = buildInteractiveTurnHandlers();
|
|
@@ -11132,25 +11290,28 @@ ${err.message}` : ""}`
|
|
|
11132
11290
|
fixedInput.exitOutputMode(buffer, cursorPos);
|
|
11133
11291
|
};
|
|
11134
11292
|
(options.env ?? process.env)[RUN_WAKE_CHANNEL_ENV] = "1";
|
|
11293
|
+
const printInternalEventLine = (displayText) => {
|
|
11294
|
+
const noticeLine = dimCliText(displayText, resolveCliColorEnabled());
|
|
11295
|
+
if (!isInteractiveInput(input)) {
|
|
11296
|
+
output.write(`${noticeLine}
|
|
11297
|
+
`);
|
|
11298
|
+
return;
|
|
11299
|
+
}
|
|
11300
|
+
history.followBottom = true;
|
|
11301
|
+
appendStreamSafeNotice(history, noticeLine, {
|
|
11302
|
+
appendLocalTurn,
|
|
11303
|
+
startTurn
|
|
11304
|
+
});
|
|
11305
|
+
renderHistoryToOutput();
|
|
11306
|
+
};
|
|
11135
11307
|
runWakeHandler = (event) => {
|
|
11136
11308
|
if (done) return;
|
|
11137
11309
|
if (busy || fixedInput.isPaused()) {
|
|
11138
11310
|
const text = typeof event === "string" ? event : event.text;
|
|
11139
11311
|
const injected = !!turnInjectionInbox && turnInjectionInbox.push({ text, fallback: event });
|
|
11140
11312
|
if (injected) {
|
|
11141
|
-
const displayText = typeof event
|
|
11142
|
-
|
|
11143
|
-
if (!isInteractiveInput(input)) {
|
|
11144
|
-
output.write(`${noticeLine}
|
|
11145
|
-
`);
|
|
11146
|
-
} else {
|
|
11147
|
-
history.followBottom = true;
|
|
11148
|
-
appendStreamSafeNotice(history, noticeLine, {
|
|
11149
|
-
appendLocalTurn,
|
|
11150
|
-
startTurn
|
|
11151
|
-
});
|
|
11152
|
-
renderHistoryToOutput();
|
|
11153
|
-
}
|
|
11313
|
+
const displayText = typeof event === "string" ? event : event.kind === "user" ? event.text : event.displayText ?? event.text;
|
|
11314
|
+
printInternalEventLine(displayText);
|
|
11154
11315
|
} else {
|
|
11155
11316
|
const { actionGateHandler, confirmDestructiveAction } = buildInteractiveTurnHandlers();
|
|
11156
11317
|
ensureChatQueueBinding(turnCtx, actionGateHandler, confirmDestructiveAction).enqueue(event);
|
|
@@ -11167,6 +11328,18 @@ ${err.message}` : ""}`
|
|
|
11167
11328
|
);
|
|
11168
11329
|
});
|
|
11169
11330
|
};
|
|
11331
|
+
deliverProcessTerminalNotice = (notice) => {
|
|
11332
|
+
if (done || sessionEnded) return;
|
|
11333
|
+
const decision = processTerminalResumer.decide(notice);
|
|
11334
|
+
if (decision.kind === "notice-only") {
|
|
11335
|
+
pushPendingProcessNotice(notice);
|
|
11336
|
+
return;
|
|
11337
|
+
}
|
|
11338
|
+
runWakeHandler?.(buildProcessTaskCompletedTurnEvent(notice));
|
|
11339
|
+
if (fixedInput.active && !fixedInput.isPaused()) {
|
|
11340
|
+
fixedInput.repaint(buffer, cursorPos);
|
|
11341
|
+
}
|
|
11342
|
+
};
|
|
11170
11343
|
let autoScrollDirection = "up";
|
|
11171
11344
|
const autoScrollStep = () => autoScrollStepForTicks(++autoScrollTicks);
|
|
11172
11345
|
const startAutoScroll = (direction, mouseX) => {
|