nolo-cli 0.79.0-alpha.1 → 0.79.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/README.md +2 -2
- package/{_executeModel-T3FPYFVF.js → _executeModel-U5V7LOJX.js} +46 -46
- package/{action-D22U6CTH.js → action-EXQVY3UO.js} +11 -11
- package/{addContentAction-XAPUTGL4.js → addContentAction-6IXQSRD2.js} +9 -9
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-FZOB4BYM.js} +8 -8
- package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-4MIJFQQB.js} +30 -28
- package/{agentEmailCommands-7P35ZMUA.js → agentEmailCommands-JUXT36BY.js} +62 -60
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
- package/{agentListCommands-IFUOWXP3.js → agentListCommands-MUVKMMZ5.js} +38 -30
- package/{agentMachineCommands-G46ZZ2ZQ.js → agentMachineCommands-56FTZLYV.js} +30 -28
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-TOMVKJOV.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
- package/{agentRecordCommands-R74LTQEQ.js → agentRecordCommands-FST3KAKG.js} +59 -57
- package/{agentRunCommand-IRSZYCEU.js → agentRunCommand-UMUEVIY2.js} +60 -58
- package/{agentRunControl-T44MESII.js → agentRunControl-XLGD3UZ5.js} +1 -1
- package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-NH6GSGAJ.js} +28 -26
- package/{agentSlice-EACXUOWW.js → agentSlice-YZK6KG73.js} +10 -10
- package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-U45KXYX7.js} +30 -28
- package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-LWQIQCFX.js} +30 -28
- package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-LZO33PGD.js} +30 -28
- package/{appGetCommands-3VOGIZ7T.js → appGetCommands-OJSO6BCF.js} +30 -28
- package/{appListCommands-A6ROBW7P.js → appListCommands-NE56V7DI.js} +30 -28
- package/{authCommand-EVGFLAHO.js → authCommand-U5LA6H4Y.js} +164 -24
- package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
- package/builtinSkillRegistry-4NB7PCOF.js +33 -0
- package/{chatQueueReduxAdapter-XEIJO5WR.js → chatQueueReduxAdapter-FRMSYX7N.js} +24 -24
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-U6LKJRJB.js → chunk-377KM42Z.js} +42 -26
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-AFIWC5NH.js → chunk-3XMOAYRC.js} +1 -1
- package/{chunk-UJ63UXGE.js → chunk-4CAPEGHN.js} +1077 -752
- package/{chunk-DWPNOYMB.js → chunk-4JBZUECA.js} +1 -1
- package/{chunk-NG4UT4K4.js → chunk-4QKBQHPQ.js} +1 -1
- package/{chunk-UZ6XXCVR.js → chunk-546FPOW3.js} +15 -2
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
- package/{chunk-G3NT6BM3.js → chunk-7IBK6MYW.js} +142 -59
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/{chunk-H7UKKEIS.js → chunk-AQDH76OK.js} +1 -1
- package/{chunk-L2Y24GRM.js → chunk-B4S7MR5S.js} +16 -12
- package/{chunk-E36HZARC.js → chunk-BF2K6MRF.js} +3 -3
- package/{chunk-MGU5ADIQ.js → chunk-BKP7CFUD.js} +10 -10
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-AFIKMMGC.js → chunk-COM7GG76.js} +1 -1
- package/{chunk-HH65VA5U.js → chunk-CPH3W5A7.js} +15 -3
- package/{chunk-XWNRAIUL.js → chunk-DM4UNXPK.js} +6 -16
- package/{chunk-ZLPA7K55.js → chunk-DSX6K7C2.js} +29 -10
- package/{chunk-QA6YKM3H.js → chunk-E2NP7ZQU.js} +32 -4
- package/{chunk-FSFQ3A7S.js → chunk-E3VQ6S3A.js} +10 -10
- package/{chunk-YFADVSZE.js → chunk-F3UTRUDO.js} +6 -6
- package/{chunk-KIS76A2P.js → chunk-G5X57NDE.js} +38 -4
- package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
- package/{chunk-DSRXPQWA.js → chunk-GRDSMV4V.js} +43 -43
- package/{chunk-733J6D44.js → chunk-HGRDL36J.js} +6 -6
- package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-QC5LGHYP.js → chunk-HWZAXNO7.js} +10 -5
- package/{chunk-Q6FF2MCK.js → chunk-IIKPWSPX.js} +1 -1
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/{chunk-AJHEFRGJ.js → chunk-JTYPAMGP.js} +155 -1
- package/{chunk-UDQWGU7F.js → chunk-KR3YI36B.js} +1 -1
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-SZLVDREM.js → chunk-LSSBA2TN.js} +3 -3
- package/{chunk-CMH2SYHX.js → chunk-MBEEYLGL.js} +2 -2
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-PGSKWZCB.js → chunk-NKIH4Q7W.js} +1 -1
- package/{chunk-FPTQQSS6.js → chunk-OH7H6LPC.js} +26 -5
- package/{chunk-5J7W2VWW.js → chunk-OOLWKQSM.js} +6 -265
- package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
- package/chunk-Q5FJJ6XI.js +103 -0
- package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
- package/{chunk-P7FA2HMM.js → chunk-QMASIHYZ.js} +13 -15
- package/{chunk-ZY4K4CZR.js → chunk-R2YY6MWV.js} +909 -304
- package/chunk-RLEWGSM5.js +677 -0
- package/{chunk-PYXL2CJL.js → chunk-RZYQMSQA.js} +1 -1
- package/{chunk-XEEHSS64.js → chunk-S3UI4IUJ.js} +1200 -52
- package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
- package/{chunk-QRBAZ5PW.js → chunk-SASGLNUD.js} +3 -3
- package/{chunk-D74EWXL4.js → chunk-SUERPXJZ.js} +390 -47
- package/{chunk-3QPYFHAH.js → chunk-TMAZ3VHN.js} +1 -1
- package/{chunk-BJCWNHVU.js → chunk-U47DH2WO.js} +2 -2
- package/{chunk-MEVSATIF.js → chunk-UBNV6CS6.js} +66 -792
- package/{chunk-EXMHJN7C.js → chunk-UDEFS2PV.js} +4 -3
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-4EJ5QYB5.js → chunk-VOOTT7HA.js} +1 -1
- package/{chunk-PZM3EENV.js → chunk-W2E6HIIK.js} +1 -1
- package/chunk-WKEUHK57.js +1625 -0
- package/{chunk-GBPZKFYK.js → chunk-WON762L4.js} +4 -4
- package/{chunk-X7Z7U4Z6.js → chunk-WP6BC7OF.js} +15 -15
- package/{chunk-QUH3XHL5.js → chunk-X2ZTVRXP.js} +7 -7
- package/{chunk-MYU3MJCF.js → chunk-XAQAF25W.js} +175 -7
- package/chunk-XGJAR4T5.js +283 -0
- package/{chunk-ZZCJUXUI.js → chunk-XLGHBHGP.js} +2 -2
- package/{chunk-V3ZKNK5D.js → chunk-YOXYA2GU.js} +10 -10
- package/{chunk-ALGK6TIE.js → chunk-YPYMGGPJ.js} +3 -3
- package/{chunk-K7AG465Q.js → chunk-ZHUTWJ3N.js} +4 -2
- package/{chunk-CDVGNZDA.js → chunk-ZKMYGRO7.js} +11 -173
- package/{contentThunks-3SPROFG5.js → contentThunks-TC3AENBY.js} +25 -25
- package/{createAgentAutomationAction-EIP2EG3O.js → createAgentAutomationAction-67EOD3WK.js} +25 -25
- package/{createDialogAction-RLUSTN4D.js → createDialogAction-4OCQC5MW.js} +28 -28
- package/{createPageAction-4Y52G7WG.js → createPageAction-JLGVP57B.js} +26 -26
- package/{dbSlice-GKGGFNOB.js → dbSlice-RDGCE5MU.js} +8 -8
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-G223U5WU.js → dialogCommands-JHSDKCR5.js} +32 -30
- package/{dialogSlice-THY45JWM.js → dialogSlice-I2DK32ZT.js} +24 -24
- package/{docCreateCommands-2P47IJDK.js → docCreateCommands-QUL6VWK2.js} +31 -29
- package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-DMQ2MU6I.js} +32 -30
- package/{docReadCommands-6BFV2HI7.js → docReadCommands-FVHENBU6.js} +31 -29
- package/{docStore-ZQ3ECOPY.js → docStore-OLC6MD7B.js} +9 -9
- package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-VA6V5C6L.js} +31 -29
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-YYXTEPBP.js} +4 -4
- package/{handleSendMessageAction-CE4M5XIE.js → handleSendMessageAction-GRDIRXAK.js} +24 -24
- package/index.js +88 -80
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-4OT7KVCD.js → machineCommands-IJJ66MYU.js} +59 -57
- package/{machineWsRunDispatch-TR3EYESP.js → machineWsRunDispatch-PP2ZBS6D.js} +57 -55
- package/{memberThunks-KATHH3F4.js → memberThunks-WQGQWYYT.js} +9 -9
- package/{models-GS72DVJS.js → models-UN7YGMPM.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-NO73BG45.js +214 -0
- package/providerRegistry-OVY4VKNN.js +31 -0
- package/{read-LC6HVYBN.js → read-S4WC2OUK.js} +5 -4
- package/{readDocTool-N3ERJHHF.js → readDocTool-PQNM63KV.js} +1 -1
- package/{readlineWorkspace-GSL5CYNJ.js → readlineWorkspace-ASJECDJD.js} +196 -111
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-YJZ6XJV6.js} +11 -11
- package/{runAgentClientLoop-NE5EHXSS.js → runAgentClientLoop-KIOQSDRC.js} +45 -45
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-E6A3WL4E.js} +9 -9
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-WBLIVICQ.js} +11 -11
- package/{settingSlice-OEJA4NQO.js → settingSlice-JR6S7TRD.js} +10 -10
- package/{spaceCommands-MRP5U3C3.js → spaceCommands-WDUNCAK5.js} +29 -27
- package/{streamAgentChatTurn-A6L6O22P.js → streamAgentChatTurn-EGQDPMAO.js} +57 -56
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-DTR36ZY2.js} +8 -8
- package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
- package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
- package/{tools-JS475NYO.js → tools-AOVE5LKM.js} +41 -39
- package/tuiSummaryLlmCaller-XRQCSNYQ.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-GMZUT6RP.js → updateDialogTitleAction-T66TXHIR.js} +45 -28
- package/chunk-3IT2PFHL.js +0 -611
- package/chunk-I42VC5KR.js +0 -15
- package/codingSkills-E6KSDNSJ.js +0 -48
- package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
- 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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ALL_PROVIDER_REGISTRY,
|
|
3
|
+
CUSTOM_API_KEY_TEMPLATES,
|
|
4
|
+
SUBSCRIPTION_OAUTH_PROVIDERS,
|
|
5
|
+
findProviderById,
|
|
6
|
+
isCustomApiKeyTemplate,
|
|
7
|
+
isSubscriptionOAuthProvider
|
|
8
|
+
} from "./chunk-RLEWGSM5.js";
|
|
9
|
+
import "./chunk-NKIH4Q7W.js";
|
|
10
|
+
import "./chunk-MBEEYLGL.js";
|
|
11
|
+
import "./chunk-ZHUTWJ3N.js";
|
|
12
|
+
import "./chunk-4CAPEGHN.js";
|
|
13
|
+
import "./chunk-W7XHHYWM.js";
|
|
14
|
+
import "./chunk-HNMXYYJR.js";
|
|
15
|
+
import "./chunk-JTYPAMGP.js";
|
|
16
|
+
import "./chunk-WWC7I6TA.js";
|
|
17
|
+
import "./chunk-QSJ3HFEF.js";
|
|
18
|
+
import "./chunk-KUG52IAP.js";
|
|
19
|
+
import "./chunk-3EUW3WEO.js";
|
|
20
|
+
import "./chunk-4SN6J65J.js";
|
|
21
|
+
import "./chunk-CF7PE763.js";
|
|
22
|
+
import "./chunk-G3SUCT4W.js";
|
|
23
|
+
import "./chunk-4VNS5WPM.js";
|
|
24
|
+
export {
|
|
25
|
+
ALL_PROVIDER_REGISTRY,
|
|
26
|
+
CUSTOM_API_KEY_TEMPLATES,
|
|
27
|
+
SUBSCRIPTION_OAUTH_PROVIDERS,
|
|
28
|
+
findProviderById,
|
|
29
|
+
isCustomApiKeyTemplate,
|
|
30
|
+
isSubscriptionOAuthProvider
|
|
31
|
+
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readAction
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-OOLWKQSM.js";
|
|
4
|
+
import "./chunk-XGJAR4T5.js";
|
|
5
|
+
import "./chunk-GII32WZW.js";
|
|
6
|
+
import "./chunk-UKWGR5SS.js";
|
|
6
7
|
import "./chunk-QOKAKDPE.js";
|
|
7
8
|
import "./chunk-OW765XBU.js";
|
|
8
9
|
import "./chunk-SEJ5OS6F.js";
|
|
9
10
|
import "./chunk-GBRG75BQ.js";
|
|
11
|
+
import "./chunk-KUG52IAP.js";
|
|
10
12
|
import "./chunk-3EUW3WEO.js";
|
|
11
13
|
import "./chunk-U6VC4MU4.js";
|
|
12
|
-
import "./chunk-KUG52IAP.js";
|
|
13
14
|
import "./chunk-LCBAMY2M.js";
|
|
14
15
|
import "./chunk-4SN6J65J.js";
|
|
15
16
|
import "./chunk-CF7PE763.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import "./chunk-M3JEW6N6.js";
|
|
2
1
|
import {
|
|
3
2
|
defaultOpenBrowser,
|
|
4
3
|
saveTokenLogin
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6D6VBVEW.js";
|
|
6
5
|
import {
|
|
7
6
|
isScheduledDialog,
|
|
8
7
|
normalizeDialogRecord,
|
|
9
8
|
readDialogSnapshot,
|
|
10
9
|
sortDialogs
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-E3VQ6S3A.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-S3UI4IUJ.js";
|
|
76
76
|
import "./chunk-S7Z2HMCN.js";
|
|
77
|
+
import "./chunk-QFMFJZLO.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-B4S7MR5S.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-3XMOAYRC.js";
|
|
90
90
|
import {
|
|
91
91
|
RUN_WAKE_CHANNEL_ENV,
|
|
92
92
|
createCliLocalRuntimeAdapter,
|
|
@@ -96,31 +96,31 @@ import {
|
|
|
96
96
|
readTimestamp,
|
|
97
97
|
setCliLocale,
|
|
98
98
|
t
|
|
99
|
-
} from "./chunk-
|
|
100
|
-
import "./chunk-
|
|
101
|
-
import "./chunk-QCZX4FTW.js";
|
|
99
|
+
} from "./chunk-7IBK6MYW.js";
|
|
100
|
+
import "./chunk-WON762L4.js";
|
|
102
101
|
import "./chunk-EADNWBAZ.js";
|
|
102
|
+
import "./chunk-QCZX4FTW.js";
|
|
103
103
|
import {
|
|
104
104
|
backfillRunRecordParentDialog,
|
|
105
105
|
checkStaleRun,
|
|
106
106
|
isRunRecordClaimed,
|
|
107
107
|
listRunRecords,
|
|
108
108
|
readRunRecord
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-CPH3W5A7.js";
|
|
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-E2NP7ZQU.js";
|
|
119
|
+
import "./chunk-IIKPWSPX.js";
|
|
120
120
|
import {
|
|
121
121
|
NOLO_DEFAULT_AGENT_KEY,
|
|
122
122
|
resolveCliAgentKeyInput
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-SAFZABH7.js";
|
|
124
124
|
import {
|
|
125
125
|
createChatQueueRuntime,
|
|
126
126
|
createTurnRequest,
|
|
@@ -130,18 +130,18 @@ 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-TMAZ3VHN.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-YPYMGGPJ.js";
|
|
139
139
|
import {
|
|
140
140
|
buildResponseGuidelines
|
|
141
141
|
} from "./chunk-EOARMOVD.js";
|
|
142
142
|
import "./chunk-HS7MLR74.js";
|
|
143
|
-
import "./chunk-
|
|
144
|
-
import "./chunk-
|
|
143
|
+
import "./chunk-UBNV6CS6.js";
|
|
144
|
+
import "./chunk-5UTFL4QJ.js";
|
|
145
145
|
import "./chunk-NF64D32W.js";
|
|
146
146
|
import "./chunk-3L2WKC3W.js";
|
|
147
147
|
import {
|
|
@@ -155,79 +155,82 @@ import {
|
|
|
155
155
|
runShowsLogTail,
|
|
156
156
|
shortRunId
|
|
157
157
|
} from "./chunk-NTW5GWDM.js";
|
|
158
|
-
import "./chunk-
|
|
158
|
+
import "./chunk-OH7H6LPC.js";
|
|
159
159
|
import "./chunk-KQHGZWSV.js";
|
|
160
|
-
import "./chunk-
|
|
161
|
-
import "./chunk-
|
|
162
|
-
import "./chunk-
|
|
163
|
-
import "./chunk-
|
|
160
|
+
import "./chunk-KR3YI36B.js";
|
|
161
|
+
import "./chunk-W2E6HIIK.js";
|
|
162
|
+
import "./chunk-HQCSU3DI.js";
|
|
163
|
+
import "./chunk-VOOTT7HA.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-SASGLNUD.js";
|
|
170
|
+
import "./chunk-ZKMYGRO7.js";
|
|
171
|
+
import "./chunk-QMASIHYZ.js";
|
|
172
172
|
import "./chunk-ZJ7UHBJS.js";
|
|
173
173
|
import {
|
|
174
174
|
extractReferenceKeysFromMessage
|
|
175
|
-
} from "./chunk-
|
|
176
|
-
import "./chunk-
|
|
177
|
-
import "./chunk-
|
|
175
|
+
} from "./chunk-SUERPXJZ.js";
|
|
176
|
+
import "./chunk-MC4XLIJ7.js";
|
|
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-X2ZTVRXP.js";
|
|
181
|
+
import "./chunk-U47DH2WO.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-WKEUHK57.js";
|
|
195
195
|
import {
|
|
196
196
|
expandEnabledPacks
|
|
197
|
-
} from "./chunk-
|
|
198
|
-
import "./chunk-
|
|
197
|
+
} from "./chunk-XAQAF25W.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-R2YY6MWV.js";
|
|
207
|
+
import "./chunk-HWZAXNO7.js";
|
|
208
|
+
import "./chunk-Q5FJJ6XI.js";
|
|
206
209
|
import "./chunk-ZNFJWEN4.js";
|
|
207
|
-
import "./chunk-
|
|
208
|
-
import "./chunk-KIS76A2P.js";
|
|
210
|
+
import "./chunk-G5X57NDE.js";
|
|
209
211
|
import "./chunk-CQ3WA2NE.js";
|
|
212
|
+
import "./chunk-5ZUL4CUO.js";
|
|
210
213
|
import "./chunk-N7J63Q6C.js";
|
|
211
214
|
import {
|
|
212
215
|
buildIdentityBlock,
|
|
213
216
|
buildRuntimeGuidanceBlocks,
|
|
214
217
|
resolveToolGuidedSections
|
|
215
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-DSX6K7C2.js";
|
|
216
219
|
import "./chunk-PUOC4YRO.js";
|
|
217
|
-
import "./chunk-
|
|
218
|
-
import {
|
|
219
|
-
resolvePlatformAuthToken
|
|
220
|
-
} from "./chunk-CMH2SYHX.js";
|
|
221
|
-
import "./chunk-V3ZKNK5D.js";
|
|
220
|
+
import "./chunk-YOXYA2GU.js";
|
|
222
221
|
import {
|
|
223
222
|
isQuotaExhaustedError
|
|
224
223
|
} from "./chunk-CJCJF5XB.js";
|
|
224
|
+
import "./chunk-NKIH4Q7W.js";
|
|
225
|
+
import {
|
|
226
|
+
resolvePlatformAuthToken
|
|
227
|
+
} from "./chunk-MBEEYLGL.js";
|
|
225
228
|
import "./chunk-2MBTWINN.js";
|
|
226
229
|
import {
|
|
227
230
|
DEFAULT_CONTEXT_WINDOW,
|
|
228
231
|
getModelContextWindow,
|
|
229
232
|
normalizeUsage
|
|
230
|
-
} from "./chunk-
|
|
233
|
+
} from "./chunk-GRDSMV4V.js";
|
|
231
234
|
import {
|
|
232
235
|
buildCompactionMetricsFromPlan,
|
|
233
236
|
buildCompactionUserContent,
|
|
@@ -237,17 +240,17 @@ import {
|
|
|
237
240
|
formatMessagesForSummaryWithTruncation,
|
|
238
241
|
planCompression,
|
|
239
242
|
serializeMessageContent
|
|
240
|
-
} from "./chunk-
|
|
241
|
-
import "./chunk-K7AG465Q.js";
|
|
243
|
+
} from "./chunk-BF2K6MRF.js";
|
|
242
244
|
import {
|
|
243
245
|
estimateTokenCount
|
|
244
246
|
} from "./chunk-PSCNXBYA.js";
|
|
247
|
+
import "./chunk-ZHUTWJ3N.js";
|
|
245
248
|
import "./chunk-BYXBJQAS.js";
|
|
246
|
-
import "./chunk-
|
|
249
|
+
import "./chunk-4CAPEGHN.js";
|
|
247
250
|
import {
|
|
248
251
|
compactWhitespace
|
|
249
252
|
} from "./chunk-DWLEOOGR.js";
|
|
250
|
-
import "./chunk-
|
|
253
|
+
import "./chunk-HVURBGF3.js";
|
|
251
254
|
import "./chunk-ONXOABJR.js";
|
|
252
255
|
import "./chunk-W7XHHYWM.js";
|
|
253
256
|
import {
|
|
@@ -265,11 +268,11 @@ import {
|
|
|
265
268
|
import {
|
|
266
269
|
canonicalizeToolNames
|
|
267
270
|
} from "./chunk-O6OSWFZQ.js";
|
|
268
|
-
import "./chunk-
|
|
271
|
+
import "./chunk-7S4YWN7P.js";
|
|
269
272
|
import {
|
|
270
273
|
checkForCliUpdate,
|
|
271
274
|
runSelfUpdateDetailed
|
|
272
|
-
} from "./chunk-
|
|
275
|
+
} from "./chunk-JEDZAO7L.js";
|
|
273
276
|
import {
|
|
274
277
|
getAgentSelectionAuditPath,
|
|
275
278
|
getDefaultProfileConfigPath,
|
|
@@ -279,7 +282,7 @@ import {
|
|
|
279
282
|
saveProfileAgentSelection,
|
|
280
283
|
saveProfileLocale,
|
|
281
284
|
saveProfileTokens
|
|
282
|
-
} from "./chunk-
|
|
285
|
+
} from "./chunk-BYMV6QZG.js";
|
|
283
286
|
import {
|
|
284
287
|
readPipeText,
|
|
285
288
|
spawnProcess
|
|
@@ -293,41 +296,41 @@ import {
|
|
|
293
296
|
import {
|
|
294
297
|
DEFAULT_NOLO_SERVER_URL
|
|
295
298
|
} from "./chunk-OLZBQWZU.js";
|
|
296
|
-
import "./chunk-
|
|
297
|
-
import "./chunk-
|
|
298
|
-
import "./chunk-
|
|
299
|
-
import "./chunk-
|
|
299
|
+
import "./chunk-4QKBQHPQ.js";
|
|
300
|
+
import "./chunk-JTYPAMGP.js";
|
|
301
|
+
import "./chunk-LSSBA2TN.js";
|
|
302
|
+
import "./chunk-DM4UNXPK.js";
|
|
300
303
|
import "./chunk-Y5GCAMGP.js";
|
|
301
|
-
import "./chunk-
|
|
304
|
+
import "./chunk-546FPOW3.js";
|
|
302
305
|
import "./chunk-KX6YBIHG.js";
|
|
303
|
-
import "./chunk-
|
|
306
|
+
import "./chunk-XLGHBHGP.js";
|
|
304
307
|
import "./chunk-UAD2WT54.js";
|
|
305
|
-
import "./chunk-
|
|
306
|
-
import "./chunk-
|
|
308
|
+
import "./chunk-F3UTRUDO.js";
|
|
309
|
+
import "./chunk-VMFTFOWF.js";
|
|
307
310
|
import "./chunk-WWC7I6TA.js";
|
|
308
|
-
import "./chunk-
|
|
309
|
-
import "./chunk-SREASRV5.js";
|
|
311
|
+
import "./chunk-ABQYVJBJ.js";
|
|
310
312
|
import {
|
|
311
313
|
asTrimmedLowercaseString
|
|
312
314
|
} from "./chunk-QSJ3HFEF.js";
|
|
315
|
+
import "./chunk-OOLWKQSM.js";
|
|
313
316
|
import {
|
|
314
317
|
BUILTIN_NOLO_AGENT_KEY,
|
|
315
318
|
BUILTIN_NOLO_AGENT_MODEL,
|
|
316
319
|
BUILTIN_NOLO_AGENT_NAME,
|
|
317
320
|
builtinAgentCatalogEntryById
|
|
318
|
-
} from "./chunk-
|
|
321
|
+
} from "./chunk-XGJAR4T5.js";
|
|
319
322
|
import {
|
|
320
323
|
extractCustomId,
|
|
321
324
|
parsePublicAgentId
|
|
322
|
-
} from "./chunk-
|
|
323
|
-
import "./chunk-
|
|
325
|
+
} from "./chunk-GII32WZW.js";
|
|
326
|
+
import "./chunk-UKWGR5SS.js";
|
|
324
327
|
import "./chunk-QOKAKDPE.js";
|
|
325
328
|
import "./chunk-OW765XBU.js";
|
|
326
329
|
import "./chunk-SEJ5OS6F.js";
|
|
327
330
|
import "./chunk-GBRG75BQ.js";
|
|
331
|
+
import "./chunk-KUG52IAP.js";
|
|
328
332
|
import "./chunk-3EUW3WEO.js";
|
|
329
333
|
import "./chunk-U6VC4MU4.js";
|
|
330
|
-
import "./chunk-KUG52IAP.js";
|
|
331
334
|
import "./chunk-LCBAMY2M.js";
|
|
332
335
|
import "./chunk-4SN6J65J.js";
|
|
333
336
|
import {
|
|
@@ -347,7 +350,7 @@ import { stdin as defaultInput, stdout as defaultOutput } from "node:process";
|
|
|
347
350
|
import nacl from "tweetnacl";
|
|
348
351
|
|
|
349
352
|
// node_modules/js-base64/base64.mjs
|
|
350
|
-
var version = "3.9.
|
|
353
|
+
var version = "3.9.4";
|
|
351
354
|
var VERSION = version;
|
|
352
355
|
var _TD = typeof TextDecoder === "function" ? new TextDecoder("utf-8", { ignoreBOM: true }) : void 0;
|
|
353
356
|
var _TE = typeof TextEncoder === "function" ? new TextEncoder() : void 0;
|
|
@@ -1656,13 +1659,14 @@ function layoutTurnRows(role, content, contentWidth, colorEnabled, command) {
|
|
|
1656
1659
|
const surfaceSeq = colorEnabled ? userSurfaceBackgroundSequence() : "";
|
|
1657
1660
|
const boldOn = colorEnabled ? "\x1B[1m" : "";
|
|
1658
1661
|
const boldOff = colorEnabled ? "\x1B[22m" : "";
|
|
1662
|
+
const fgOff = colorEnabled ? "\x1B[39m" : "";
|
|
1659
1663
|
const prefixWidth = 3;
|
|
1660
1664
|
let lineSourceStart = 0;
|
|
1661
1665
|
const rows2 = [];
|
|
1662
1666
|
for (let i = 0; i < logicalLines.length; i++) {
|
|
1663
1667
|
const line = logicalLines[i];
|
|
1664
1668
|
const prefix = i === 0 ? firstPrefix : multilinePrefix;
|
|
1665
|
-
const styledLine = `${prefix}${boldOn}${line}${boldOff}`;
|
|
1669
|
+
const styledLine = `${prefix}${accentSeq}${boldOn}${line}${boldOff}${fgOff}`;
|
|
1666
1670
|
const prefixCharCount = prefix.length;
|
|
1667
1671
|
const wrappedRows = wrapTranscriptLineWithLayout(
|
|
1668
1672
|
styledLine,
|
|
@@ -1855,9 +1859,10 @@ function renderTailTurnBlock(role, content, contentWidth, colorEnabled) {
|
|
|
1855
1859
|
const hangingIndent = colorEnabled ? `${accentSeq}\x1B[1m\u2503 \x1B[0m` : "\u2503 ";
|
|
1856
1860
|
const boldOn = colorEnabled ? "\x1B[1m" : "";
|
|
1857
1861
|
const boldOff = colorEnabled ? "\x1B[22m" : "";
|
|
1862
|
+
const fgOff = colorEnabled ? "\x1B[39m" : "";
|
|
1858
1863
|
const lines = [];
|
|
1859
1864
|
for (const rawLine of content.split("\n")) {
|
|
1860
|
-
const styledLine = `${multilinePrefix}${boldOn}${rawLine}${boldOff}`;
|
|
1865
|
+
const styledLine = `${multilinePrefix}${accentSeq}${boldOn}${rawLine}${boldOff}${fgOff}`;
|
|
1861
1866
|
const rows = wrapTranscriptLine(styledLine, contentWidth, hangingIndent);
|
|
1862
1867
|
lines.push(
|
|
1863
1868
|
...surfaceSeq ? rows.map((row) => fillUserBubbleRow(row, surfaceSeq, contentWidth)) : rows
|
|
@@ -3885,7 +3890,7 @@ function mergeCatalogEntries(currentKey, platformAgents, privateAgents, favorite
|
|
|
3885
3890
|
}
|
|
3886
3891
|
var agentCatalogCache = null;
|
|
3887
3892
|
var agentCatalogRefreshInFlight = null;
|
|
3888
|
-
var agentCatalogRawLoadInFlight =
|
|
3893
|
+
var agentCatalogRawLoadInFlight = /* @__PURE__ */ new Map();
|
|
3889
3894
|
var AGENT_CATALOG_FRESH_MS = 15e3;
|
|
3890
3895
|
var AGENT_CATALOG_FOREGROUND_DEADLINE_MS = 2500;
|
|
3891
3896
|
var AGENT_CATALOG_BACKGROUND_DEADLINE_MS = 8e3;
|
|
@@ -3907,6 +3912,9 @@ function filterHealthyServers(serverUrls) {
|
|
|
3907
3912
|
});
|
|
3908
3913
|
return healthy.length > 0 ? healthy : serverUrls;
|
|
3909
3914
|
}
|
|
3915
|
+
function keepPrimaryServer(serverUrls, primary) {
|
|
3916
|
+
return serverUrls.includes(primary) ? serverUrls : [primary, ...serverUrls];
|
|
3917
|
+
}
|
|
3910
3918
|
function recordServerFailures(failures) {
|
|
3911
3919
|
const now = serverHealthNow();
|
|
3912
3920
|
for (const failure of failures) {
|
|
@@ -3980,18 +3988,20 @@ async function loadAgentCatalog(args) {
|
|
|
3980
3988
|
return cached.entries;
|
|
3981
3989
|
}
|
|
3982
3990
|
let rawData;
|
|
3983
|
-
|
|
3984
|
-
|
|
3991
|
+
const deadlineKind = args.deadlineKind ?? "foreground";
|
|
3992
|
+
const inFlight = agentCatalogRawLoadInFlight.get(deadlineKind);
|
|
3993
|
+
if (inFlight) {
|
|
3994
|
+
rawData = await inFlight;
|
|
3985
3995
|
} else {
|
|
3986
|
-
const promise = fetchRawCatalogData(args, env);
|
|
3987
|
-
agentCatalogRawLoadInFlight
|
|
3996
|
+
const promise = fetchRawCatalogData({ ...args, deadlineKind }, env);
|
|
3997
|
+
agentCatalogRawLoadInFlight.set(deadlineKind, promise);
|
|
3988
3998
|
try {
|
|
3989
3999
|
rawData = await promise;
|
|
3990
|
-
}
|
|
3991
|
-
agentCatalogRawLoadInFlight
|
|
3992
|
-
|
|
4000
|
+
} finally {
|
|
4001
|
+
if (agentCatalogRawLoadInFlight.get(deadlineKind) === promise) {
|
|
4002
|
+
agentCatalogRawLoadInFlight.delete(deadlineKind);
|
|
4003
|
+
}
|
|
3993
4004
|
}
|
|
3994
|
-
agentCatalogRawLoadInFlight = null;
|
|
3995
4005
|
}
|
|
3996
4006
|
const entries = mergeCatalogEntries(
|
|
3997
4007
|
args.currentKey,
|
|
@@ -4026,7 +4036,7 @@ function prefetchAgentCatalog(args) {
|
|
|
4026
4036
|
void (async () => {
|
|
4027
4037
|
await prefillCatalogFromLocalDb({ env: args.env, getDb: args.getDb }).catch(() => {
|
|
4028
4038
|
});
|
|
4029
|
-
void loadAgentCatalog({ ...args, currentKey: "" }).catch(() => {
|
|
4039
|
+
void loadAgentCatalog({ ...args, currentKey: "", deadlineKind: "background" }).catch(() => {
|
|
4030
4040
|
});
|
|
4031
4041
|
})();
|
|
4032
4042
|
}
|
|
@@ -4041,7 +4051,7 @@ async function fetchRawCatalogData(args, env) {
|
|
|
4041
4051
|
}
|
|
4042
4052
|
const serverUrl = resolveServerUrl(env);
|
|
4043
4053
|
const allServerUrls = resolveServerCandidates([], env, serverUrl);
|
|
4044
|
-
const serverUrls = (args.deadlineKind ?? "foreground") === "foreground" ? filterHealthyServers(allServerUrls) : allServerUrls;
|
|
4054
|
+
const serverUrls = (args.deadlineKind ?? "foreground") === "foreground" ? keepPrimaryServer(filterHealthyServers(allServerUrls), serverUrl) : allServerUrls;
|
|
4045
4055
|
const fetchStartedAt = performance.now();
|
|
4046
4056
|
let listedAgents = [];
|
|
4047
4057
|
const favoritesPromise = listFavoriteAgentIdsAcrossServers({
|
|
@@ -4070,9 +4080,28 @@ async function fetchRawCatalogData(args, env) {
|
|
|
4070
4080
|
recordServerFailures(remoteResult.failures);
|
|
4071
4081
|
} catch {
|
|
4072
4082
|
try {
|
|
4073
|
-
const
|
|
4074
|
-
|
|
4075
|
-
|
|
4083
|
+
const localBudgetMs = Math.max(
|
|
4084
|
+
500,
|
|
4085
|
+
deadlineMs - (performance.now() - fetchStartedAt)
|
|
4086
|
+
);
|
|
4087
|
+
let localTimer;
|
|
4088
|
+
try {
|
|
4089
|
+
listedAgents = await Promise.race([
|
|
4090
|
+
(async () => {
|
|
4091
|
+
const db = args.getDb ? await args.getDb() : await getReadableCliDb({ write: () => {
|
|
4092
|
+
} });
|
|
4093
|
+
return listLocalCachedAgents({ db, userId });
|
|
4094
|
+
})(),
|
|
4095
|
+
new Promise((_, reject) => {
|
|
4096
|
+
localTimer = setTimeout(
|
|
4097
|
+
() => reject(new Error("local catalog deadline exceeded")),
|
|
4098
|
+
localBudgetMs
|
|
4099
|
+
);
|
|
4100
|
+
})
|
|
4101
|
+
]);
|
|
4102
|
+
} finally {
|
|
4103
|
+
if (localTimer) clearTimeout(localTimer);
|
|
4104
|
+
}
|
|
4076
4105
|
} catch {
|
|
4077
4106
|
try {
|
|
4078
4107
|
listedAgents = await listRemoteAgents({
|
|
@@ -6749,11 +6778,41 @@ function createTurnInjectionInbox() {
|
|
|
6749
6778
|
function formatProcessTerminalWakeMessage(notices) {
|
|
6750
6779
|
return [
|
|
6751
6780
|
`<background_task_completion count="${notices.length}">`,
|
|
6752
|
-
...notices.
|
|
6753
|
-
|
|
6781
|
+
...notices.flatMap((notice) => [
|
|
6782
|
+
formatProcessTerminalNoticeLine(notice),
|
|
6783
|
+
...notice.resultCapsule ? formatProcessResultCapsuleLines(notice.resultCapsule) : []
|
|
6784
|
+
]),
|
|
6754
6785
|
`</background_task_completion>`
|
|
6755
6786
|
].join("\n");
|
|
6756
6787
|
}
|
|
6788
|
+
function formatProcessResultCapsuleLines(capsule) {
|
|
6789
|
+
const meta = [];
|
|
6790
|
+
if (capsule.durationMs !== void 0) meta.push(`duration=${capsule.durationMs}ms`);
|
|
6791
|
+
meta.push(capsule.truncated ? "tail-only" : "full");
|
|
6792
|
+
const stream = (name, value) => [
|
|
6793
|
+
`--- ${name} ---`,
|
|
6794
|
+
...value.trim() ? value.replace(/\n+$/, "").split("\n") : ["(empty)"]
|
|
6795
|
+
];
|
|
6796
|
+
const omittedChars = capsule.spill ? Math.max(0, capsule.spill.totalChars - capsule.stdout.length - capsule.stderr.length) : 0;
|
|
6797
|
+
return [
|
|
6798
|
+
`result capsule (${meta.join(", ")}):`,
|
|
6799
|
+
...capsule.captureError ? [`capture error: ${capsule.captureError}`] : [],
|
|
6800
|
+
...stream("stdout", capsule.stdout),
|
|
6801
|
+
...stream("stderr", capsule.stderr),
|
|
6802
|
+
// Retrieval pointer reuses the tool-overflow convention: the model learns
|
|
6803
|
+
// one marker for "the tail above is not the whole story, full text lives
|
|
6804
|
+
// here", whether the truncation happened in a foreground tool result or in
|
|
6805
|
+
// a detached task capsule.
|
|
6806
|
+
...capsule.spill ? [
|
|
6807
|
+
formatToolOverflowMarker({
|
|
6808
|
+
spillRef: capsule.spill.displayPath,
|
|
6809
|
+
totalChars: capsule.spill.totalChars,
|
|
6810
|
+
totalLines: capsule.spill.totalLines,
|
|
6811
|
+
omittedChars
|
|
6812
|
+
}).trim()
|
|
6813
|
+
] : []
|
|
6814
|
+
];
|
|
6815
|
+
}
|
|
6757
6816
|
function formatProcessTerminalNoticeLine(notice) {
|
|
6758
6817
|
const informative = notice.label && notice.label.trim() !== "" && notice.label !== notice.command;
|
|
6759
6818
|
const label = informative ? ` (label: "${notice.label.replace(/(["\\])/g, "\\$1")}")` : "";
|
|
@@ -6774,7 +6833,20 @@ function buildProcessTaskCompletedTurnEvent(notice) {
|
|
|
6774
6833
|
displayText: formatProcessTerminalNoticeLine(notice)
|
|
6775
6834
|
};
|
|
6776
6835
|
}
|
|
6836
|
+
var PENDING_NOTICE_PREFIX = "process-notice-v1:";
|
|
6837
|
+
function serializePendingProcessNotice(notice) {
|
|
6838
|
+
return notice.resultCapsule ? `${PENDING_NOTICE_PREFIX}${JSON.stringify(notice)}` : formatProcessTerminalNoticeLine(notice);
|
|
6839
|
+
}
|
|
6777
6840
|
function parsePendingProcessNoticeLine(line) {
|
|
6841
|
+
if (line.startsWith(PENDING_NOTICE_PREFIX)) {
|
|
6842
|
+
try {
|
|
6843
|
+
const parsed = JSON.parse(line.slice(PENDING_NOTICE_PREFIX.length));
|
|
6844
|
+
if (parsed && typeof parsed.taskId === "string" && parsed.resultCapsule) {
|
|
6845
|
+
return parsed;
|
|
6846
|
+
}
|
|
6847
|
+
} catch {
|
|
6848
|
+
}
|
|
6849
|
+
}
|
|
6778
6850
|
const taskMatch = line.match(
|
|
6779
6851
|
/^\[Background task ([^ \]]+?)(?:\s+\(label: "((?:[^"\\]|\\.)*)"\))? finished: status=(\w+)(?: exitCode=(-?\d+))?\]$/
|
|
6780
6852
|
);
|
|
@@ -6834,6 +6906,9 @@ function decideProcessTerminalResume(input) {
|
|
|
6834
6906
|
if (!input.owner || !dialogId) {
|
|
6835
6907
|
return { kind: "notice-only", reason: "unowned", taskId };
|
|
6836
6908
|
}
|
|
6909
|
+
if (!input.notice.promoted) {
|
|
6910
|
+
return { kind: "notice-only", reason: "not-promoted", taskId };
|
|
6911
|
+
}
|
|
6837
6912
|
if (input.state.claimedTaskIds.has(taskId)) {
|
|
6838
6913
|
return { kind: "notice-only", reason: "duplicate", taskId };
|
|
6839
6914
|
}
|
|
@@ -6860,8 +6935,10 @@ function createProcessTerminalAutoResumer(deps) {
|
|
|
6860
6935
|
state,
|
|
6861
6936
|
noteUserTurn: () => state.noteUserTurn(),
|
|
6862
6937
|
decide: (notice) => {
|
|
6938
|
+
const promoted = notice.promoted ?? deps.isPromoted?.(notice.taskId) ?? false;
|
|
6939
|
+
const effectiveNotice = notice.promoted === promoted ? notice : { ...notice, promoted };
|
|
6863
6940
|
const decision = decideProcessTerminalResume({
|
|
6864
|
-
notice,
|
|
6941
|
+
notice: effectiveNotice,
|
|
6865
6942
|
owner: deps.readOwner(notice.taskId),
|
|
6866
6943
|
currentDialogId: deps.getCurrentDialogId(),
|
|
6867
6944
|
turnActive: deps.isTurnActive(),
|
|
@@ -10655,7 +10732,7 @@ async function runTuiWorkspace(options) {
|
|
|
10655
10732
|
});
|
|
10656
10733
|
const pushPendingProcessNotice = (notice) => {
|
|
10657
10734
|
if (sessionEnded) return;
|
|
10658
|
-
const line =
|
|
10735
|
+
const line = serializePendingProcessNotice(notice);
|
|
10659
10736
|
state = {
|
|
10660
10737
|
...state,
|
|
10661
10738
|
pendingProcessNotices: [...state.pendingProcessNotices ?? [], line]
|
|
@@ -11202,6 +11279,7 @@ async function runTuiWorkspace(options) {
|
|
|
11202
11279
|
};
|
|
11203
11280
|
const processTerminalResumer = createProcessTerminalAutoResumer({
|
|
11204
11281
|
readOwner: (taskId) => getProcessRegistry().getByTaskId(taskId)?.owner ?? null,
|
|
11282
|
+
isPromoted: (taskId) => getProcessRegistry().getByTaskId(taskId)?.promoted ?? false,
|
|
11205
11283
|
getCurrentDialogId: () => state.dialogId ?? null,
|
|
11206
11284
|
isTurnActive: () => busy || fixedInput.isPaused(),
|
|
11207
11285
|
canDeliver: () => !sessionEnded && !done && runWakeHandler !== null
|
|
@@ -11344,8 +11422,36 @@ ${err.message}` : ""}`
|
|
|
11344
11422
|
paintFrame(buffer);
|
|
11345
11423
|
}, 60);
|
|
11346
11424
|
};
|
|
11425
|
+
const hasNonEmptySelection = () => selectionState.anchor !== null && selectionState.head !== null && !areSelectionPointsEqual(selectionState.anchor, selectionState.head);
|
|
11426
|
+
const copySelectionToClipboard = async (feedbackKey) => {
|
|
11427
|
+
const tty = output;
|
|
11428
|
+
const columns = tty.columns ?? 80;
|
|
11429
|
+
const contentWidth = Math.max(1, columns - 1);
|
|
11430
|
+
const textToCopy = extractSelectedText(
|
|
11431
|
+
history,
|
|
11432
|
+
selectionState.anchor,
|
|
11433
|
+
selectionState.head,
|
|
11434
|
+
contentWidth
|
|
11435
|
+
);
|
|
11436
|
+
clearSelection();
|
|
11437
|
+
if (textToCopy.length > 0) {
|
|
11438
|
+
try {
|
|
11439
|
+
await writeClipboard2(textToCopy);
|
|
11440
|
+
emitCommandOutput(t(feedbackKey));
|
|
11441
|
+
} catch (error) {
|
|
11442
|
+
emitCommandOutput(
|
|
11443
|
+
`[nolo] ${t("copyFailed")}: ${toErrorMessage(error)}`
|
|
11444
|
+
);
|
|
11445
|
+
}
|
|
11446
|
+
}
|
|
11447
|
+
paintFrame(buffer);
|
|
11448
|
+
};
|
|
11347
11449
|
const handleCtrlCKey = async (busyLock) => {
|
|
11348
11450
|
if (busyLock && activeTurnAbort) {
|
|
11451
|
+
if (hasNonEmptySelection()) {
|
|
11452
|
+
await copySelectionToClipboard("copiedSelectionBusy");
|
|
11453
|
+
return;
|
|
11454
|
+
}
|
|
11349
11455
|
const stopBinding = chatQueueBinding;
|
|
11350
11456
|
if (stopBinding && stopBinding.queueLength() > 0) {
|
|
11351
11457
|
stopBinding.preemptForStop();
|
|
@@ -11355,29 +11461,8 @@ ${err.message}` : ""}`
|
|
|
11355
11461
|
return;
|
|
11356
11462
|
}
|
|
11357
11463
|
const now = Date.now();
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
const tty = output;
|
|
11361
|
-
const columns = tty.columns ?? 80;
|
|
11362
|
-
const contentWidth = Math.max(1, columns - 1);
|
|
11363
|
-
const textToCopy = extractSelectedText(
|
|
11364
|
-
history,
|
|
11365
|
-
selectionState.anchor,
|
|
11366
|
-
selectionState.head,
|
|
11367
|
-
contentWidth
|
|
11368
|
-
);
|
|
11369
|
-
clearSelection();
|
|
11370
|
-
if (textToCopy.length > 0) {
|
|
11371
|
-
try {
|
|
11372
|
-
await writeClipboard2(textToCopy);
|
|
11373
|
-
emitCommandOutput(t("copiedSelection"));
|
|
11374
|
-
} catch (error) {
|
|
11375
|
-
emitCommandOutput(
|
|
11376
|
-
`[nolo] ${t("copyFailed")}: ${toErrorMessage(error)}`
|
|
11377
|
-
);
|
|
11378
|
-
}
|
|
11379
|
-
}
|
|
11380
|
-
paintFrame(buffer);
|
|
11464
|
+
if (hasNonEmptySelection()) {
|
|
11465
|
+
await copySelectionToClipboard("copiedSelection");
|
|
11381
11466
|
return;
|
|
11382
11467
|
}
|
|
11383
11468
|
if (selectionState.anchor) {
|