nolo-cli 0.191.0-alpha.2 → 0.191.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-WQ2D4ZRH.js → _executeModel-4HQQXPN4.js} +44 -46
- package/{action-BHWB4MOK.js → action-HNG2JKWK.js} +3 -3
- package/{addContentAction-BY375D35.js → addContentAction-FEN3H2EE.js} +6 -6
- package/{addDialogAgentAction-HOZYOCWC.js → addDialogAgentAction-DDA6S3WS.js} +5 -5
- package/{agentDeleteCommand-TTCVC74A.js → agentDeleteCommand-HZFWSKED.js} +57 -59
- package/{agentEmailCommands-PTG35KER.js → agentEmailCommands-HRYMVHC7.js} +59 -61
- package/{agentListCommands-MAG736RU.js → agentListCommands-HE2CCZEW.js} +33 -31
- package/{agentMachineCommands-ATOZK3R5.js → agentMachineCommands-ISSULCRR.js} +23 -23
- package/{agentProviderCommands-XSZUCNIR.js → agentProviderCommands-4EAYN3ZY.js} +3 -3
- package/{agentRecordCommands-KGRPIJN5.js → agentRecordCommands-WGAMWQLA.js} +57 -59
- package/{agentRunCommand-75VVJTNU.js → agentRunCommand-7EQ64FIB.js} +59 -61
- package/{agentRunControl-6HHESKDB.js → agentRunControl-EJPBPVLU.js} +5 -5
- package/{agentRuntimeLocal-NAAYNHCW.js → agentRuntimeLocal-ONSIOOQB.js} +20 -20
- package/{agentSlice-UJPIKKKP.js → agentSlice-CHWNVAS5.js} +6 -6
- package/{appDeleteCommands-VDHCDVBF.js → appDeleteCommands-RNAF4V5C.js} +25 -25
- package/{appDeployCommands-V6UTKVXR.js → appDeployCommands-LTIZ4QH7.js} +25 -25
- package/{appDeployStatusCommands-4UIFSEPC.js → appDeployStatusCommands-OJJR4LDK.js} +25 -25
- package/{appGetCommands-XKDXLC3C.js → appGetCommands-UJZF6U4V.js} +25 -25
- package/{appListCommands-BELRVX2Y.js → appListCommands-M5C5BIDY.js} +25 -25
- package/{authCommand-RV5MQDWN.js → authCommand-RMUBRAXF.js} +11 -11
- package/{builtinSkillRegistry-7MBUY5EY.js → builtinSkillRegistry-XDBPVNY6.js} +3 -5
- package/{chromeOpsCommands-C46BXHEE.js → chromeOpsCommands-P4PFQDT7.js} +19 -4
- package/{chunk-7UODCAWW.js → chunk-32GANJHJ.js} +1 -1
- package/{chunk-G6OOUQWJ.js → chunk-4KB6WQUL.js} +2 -0
- package/{chunk-LHOR5MC2.js → chunk-4KYV2TAI.js} +164 -323
- package/{chunk-5EFNSNAV.js → chunk-6CFXWUYE.js} +7 -7
- package/{chunk-6XIE5ZGI.js → chunk-6HIGYUBQ.js} +1 -1
- package/{chunk-LBXUNNDS.js → chunk-6K2AKJAD.js} +1 -1
- package/{chunk-U5ZHUOLT.js → chunk-6OBTQSJ2.js} +2 -2
- package/{chunk-XPL63OIC.js → chunk-7SUYSFPG.js} +140 -66
- package/{chunk-53RSTB7T.js → chunk-7TMVGMM3.js} +26 -31
- package/{chunk-ZBCBFOWC.js → chunk-A2ZMIRLN.js} +2 -2
- package/{chunk-MJWUBTK7.js → chunk-AOYR4XOA.js} +1 -1
- package/{chunk-IIX6VWLW.js → chunk-AV6IE6NM.js} +224 -38
- package/{chunk-WFUIXNKC.js → chunk-BMXR7CFX.js} +3 -3
- package/{chunk-JIFYXQRD.js → chunk-BTYQAODF.js} +26 -8
- package/{chunk-VHGD6FHV.js → chunk-BZKBX5BO.js} +28 -5
- package/{chunk-Q6RMLYSA.js → chunk-CMLBKYEI.js} +4 -2
- package/chunk-CMTTXP5Y.js +291 -0
- package/{chunk-OHRDHS4N.js → chunk-CVCRAO6Q.js} +9 -4
- package/{chunk-SM56M7N7.js → chunk-DBRXPVWY.js} +39 -5
- package/{chunk-2KBNF477.js → chunk-DSVR6ZAV.js} +30 -21
- package/{chunk-ADTJJVDJ.js → chunk-DXDG4XLD.js} +2838 -2255
- package/{chunk-R5LJWMZE.js → chunk-EMXVOJDB.js} +3 -3
- package/{chunk-KHCLMKZZ.js → chunk-EY7V7REW.js} +280 -6
- package/{chunk-KGP7UTNN.js → chunk-FNXSQ7A3.js} +15 -15
- package/{chunk-BTBT2566.js → chunk-FSEGCTZQ.js} +1 -1
- package/{chunk-CNMQATUF.js → chunk-GL7W7TTR.js} +2 -2
- package/{chunk-5KTQVMCX.js → chunk-GOO6G4PY.js} +85 -0
- package/{chunk-HTLIKE5U.js → chunk-GVMF62PR.js} +2 -2
- package/{chunk-UZHYRBUB.js → chunk-H4CFODT7.js} +137 -61
- package/{chunk-R4BMKAR5.js → chunk-HAB2UDLT.js} +1 -1
- package/{chunk-3NPXGNSK.js → chunk-HVXL4VOO.js} +348 -87
- package/{chunk-32ZKZET7.js → chunk-HWZT5DKX.js} +1 -1
- package/{chunk-GYVLAHA4.js → chunk-IY7DGZSY.js} +10 -4
- package/{chunk-FEDJHD5X.js → chunk-J5Z2SSIY.js} +6 -6
- package/{chunk-UVWBGWBO.js → chunk-JA6WCCDO.js} +3 -3
- package/{chunk-YE6A72XL.js → chunk-JI5MQU5B.js} +35 -31
- package/{chunk-TFSMPRAY.js → chunk-JLOCKFSI.js} +4 -4
- package/{chunk-UBLITLAZ.js → chunk-K2GL335R.js} +13 -3
- package/{chunk-DS5DAOIY.js → chunk-KYQXW7DL.js} +3 -3
- package/{chunk-5HAPEKNH.js → chunk-LFJRTOUV.js} +158 -43
- package/{chunk-N7E3LQ4A.js → chunk-LGW6A7GK.js} +1 -1
- package/{chunk-UNOILAZP.js → chunk-M6AGLVV4.js} +74 -2
- package/{chunk-BA2FHPS4.js → chunk-MOCY5LJI.js} +1 -1
- package/{chunk-INFHX73M.js → chunk-MR6L6U46.js} +55 -3
- package/{chunk-CTPFBJAF.js → chunk-N7IBYQEC.js} +182 -91
- package/{chunk-QU3TLYBR.js → chunk-NHI3JZP4.js} +32 -8
- package/{chunk-B2N5GZBU.js → chunk-OHYCQKPW.js} +6 -6
- package/{chunk-WAZ6BTSC.js → chunk-OOERQPG5.js} +1 -1
- package/{chunk-EHB4CKUI.js → chunk-OTKNEZE3.js} +9 -9
- package/chunk-OVBUUU7L.js +2648 -0
- package/{chunk-PVD7CRYV.js → chunk-P7SUBTGZ.js} +3 -3
- package/{chunk-RJ3EYB5G.js → chunk-PRIROPK4.js} +1 -1
- package/chunk-PRJ473FK.js +63 -0
- package/{chunk-K6TZSON4.js → chunk-PXERKNSJ.js} +1 -1
- package/{chunk-B6EZB6DW.js → chunk-QAYCF4CH.js} +2 -2
- package/{chunk-5DPVRMSY.js → chunk-RBJASUX4.js} +1 -1
- package/{chunk-NVOYW6H4.js → chunk-RDKNGJ5M.js} +12 -8
- package/{chunk-GTP6VNWH.js → chunk-RQ22OZD7.js} +3 -3
- package/{chunk-2E5M3JVS.js → chunk-RWGIVUH3.js} +11 -5
- package/{chunk-DFF6B7P7.js → chunk-RXUKDHS5.js} +1 -1
- package/{chunk-JLR5NWP2.js → chunk-RXX262QX.js} +17 -3
- package/{chunk-GC64WGMD.js → chunk-SM3NSZJV.js} +16 -5
- package/{chunk-A5BLRE3G.js → chunk-T3U2KQF4.js} +2 -2
- package/{chunk-HLAL63BZ.js → chunk-T43B7LB2.js} +1 -1
- package/{chunk-LCSAJ5TJ.js → chunk-UDKNC3CV.js} +3 -3
- package/{chunk-VE3FEZIT.js → chunk-WKGOIXFV.js} +5 -5
- package/{chunk-4YMD7B4Y.js → chunk-WPOKOKZA.js} +2 -2
- package/{chunk-YIRADHSY.js → chunk-WYKMOZTW.js} +1 -1
- package/{chunk-WRCZXJ4N.js → chunk-X4F26D5K.js} +2 -0
- package/{chunk-4MYCKDSI.js → chunk-XUOF4MA7.js} +2 -2
- package/{chunk-PD2YRFAI.js → chunk-Y5ZEHS3F.js} +1 -1
- package/{chunk-4CEAZRZ4.js → chunk-YU2DGFKG.js} +1 -1
- package/{chunk-TVGX5QIN.js → chunk-YUA6OAH5.js} +2 -2
- package/{chunk-53PBXLID.js → chunk-Z3MQYKRN.js} +17 -17
- package/{chunk-I3HWJODB.js → chunk-ZHOKF4MY.js} +31 -26
- package/{chunk-2XUOREKD.js → chunk-ZI5MFQ42.js} +5 -4
- package/{chunk-DYQXB46J.js → chunk-ZSCIGIJS.js} +1 -1
- package/{commandRegistry-4JHVRMW7.js → commandRegistry-O2657YC7.js} +86 -66
- package/{contentThunks-HQBAAXNW.js → contentThunks-THWDEBJU.js} +17 -17
- package/{cooldownCommands-4XKJFEBW.js → cooldownCommands-V4EEBD55.js} +3 -3
- package/{createAgentAutomationAction-KELPOVMP.js → createAgentAutomationAction-2ZZTFGWG.js} +17 -17
- package/{createDialogAction-Z3SASMTM.js → createDialogAction-FCRKPKIT.js} +20 -22
- package/{createPageAction-PNHOIG44.js → createPageAction-EC25JTKW.js} +18 -19
- package/{dbSlice-QAUXABCC.js → dbSlice-JK7LWBDO.js} +5 -5
- package/{deleteFile-R5OBP7OM.js → deleteFile-CE24BROO.js} +3 -3
- package/{dialogCommands-4BGV6DPD.js → dialogCommands-QH7BJ3DJ.js} +26 -26
- package/{dialogSlice-QHV6I3OQ.js → dialogSlice-Z5E7POEN.js} +16 -16
- package/{docCreateCommands-3CW75UF2.js → docCreateCommands-KP42NGIF.js} +26 -27
- package/{docDeleteCommands-NL4ZYMN5.js → docDeleteCommands-7YOCX5GC.js} +27 -28
- package/{docReadCommands-HXCNVDPQ.js → docReadCommands-EJEIAOKQ.js} +26 -27
- package/{docStore-LVMUSECS.js → docStore-6MHLMMWO.js} +6 -6
- package/{docUpdateCommands-RMVBAMDE.js → docUpdateCommands-ACJLISGA.js} +26 -27
- package/{getPricing-E2PLNWCR.js → getPricing-3PQY3TGI.js} +3 -3
- package/{handleSendMessageAction-7TONIXHY.js → handleSendMessageAction-MTOPN4D3.js} +86 -42
- package/index.js +7 -7
- package/{lib-4YTWAGY7.js → lib-5KKIBFIT.js} +439 -272
- package/{localRuntimeAdapter-HRAB7P5E.js → localRuntimeAdapter-4USQ3EP7.js} +55 -57
- package/{machineCommands-OTXFRTDA.js → machineCommands-CJMSDSOO.js} +56 -58
- package/{machineWsRunDispatch-KWVWOHHG.js → machineWsRunDispatch-YIPO76QH.js} +56 -58
- package/{memberThunks-ZAE52VIP.js → memberThunks-WT2KVRP4.js} +158 -55
- package/{models-UUNO6DOL.js → models-PJBE6JDV.js} +2 -2
- package/package.json +1 -1
- package/{providerPresetApply-JGNMO2KX.js → providerPresetApply-ISA35424.js} +5 -5
- package/{providerRegistry-33J3ZYFJ.js → providerRegistry-QIQCHVNP.js} +5 -5
- package/{read-D6NEWSGG.js → read-ILTT75DW.js} +3 -3
- package/{readDocTool-NTAXO7SX.js → readDocTool-374CFJYO.js} +1 -1
- package/{readlineWorkspace-CEX5TXGM.js → readlineWorkspace-RORGDWZN.js} +291 -99
- package/{removeDialogAgentAction-YEPO5AYI.js → removeDialogAgentAction-BDLO7UC2.js} +7 -7
- package/{runAgentClientLoop-DCV4BD2W.js → runAgentClientLoop-CDCBSUWW.js} +41 -43
- package/{runtimeDoctorCommands-NYBOTA6D.js → runtimeDoctorCommands-AM2V5YVH.js} +5 -5
- package/{secretCommands-N6CMCJDZ.js → secretCommands-G5XYCXZB.js} +308 -1
- package/{setDialogExtraReferencesAction-EH5GWDAJ.js → setDialogExtraReferencesAction-GBIT7WAG.js} +6 -6
- package/{setPrimaryDialogAgentAction-PNWRK6IY.js → setPrimaryDialogAgentAction-PGBTR247.js} +7 -7
- package/{settingThunks-7VCWB6P7.js → settingThunks-XQJZVA4D.js} +38 -7
- package/{skillDiscovery-F3TMVQOJ.js → skillDiscovery-DO5372J5.js} +2 -3
- package/{spaceCommands-ZUI4CTSO.js → spaceCommands-BTSANKDH.js} +23 -23
- package/{streamAgentChatTurn-NKFKMFQ2.js → streamAgentChatTurn-VUF3EUMS.js} +66 -59
- package/{switchDialogAgentAction-23BFWJMV.js → switchDialogAgentAction-O7WTPLKG.js} +5 -5
- package/{tools-626VXEY7.js → tools-GAAYAIEW.js} +35 -37
- package/{tuiSummaryLlmCaller-FSOADMXK.js → tuiSummaryLlmCaller-MKOLOSH3.js} +11 -11
- package/{updateCommands-KE6LP3QX.js → updateCommands-W7TXEV7N.js} +3 -3
- package/{updateDialogTitleAction-RNNQAMXG.js → updateDialogTitleAction-LE2DBQDS.js} +17 -17
- package/{windowsSelfUpdate-26TSFXEZ.js → windowsSelfUpdate-575VQ6QO.js} +2 -2
- package/chunk-7KWPNGVJ.js +0 -150
- package/chunk-AETZ7AD6.js +0 -274
- package/chunk-EUGTFFO6.js +0 -42
- package/chunk-VYNMQ6HW.js +0 -138
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveAuthGuidanceState
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AOYR4XOA.js";
|
|
4
4
|
import {
|
|
5
5
|
fetchCiStatus,
|
|
6
6
|
summarizeLatest
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BZKBX5BO.js";
|
|
8
8
|
import "./chunk-M3JEW6N6.js";
|
|
9
9
|
import {
|
|
10
10
|
isHiddenFromDialogList,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
normalizeDialogRecord,
|
|
13
13
|
readDialogSnapshot,
|
|
14
14
|
sortDialogs
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-JLOCKFSI.js";
|
|
16
16
|
import {
|
|
17
17
|
formatQuotaSummary,
|
|
18
18
|
listFavoriteAgentIdsAcrossServers,
|
|
@@ -20,12 +20,12 @@ import {
|
|
|
20
20
|
listRemoteAgents,
|
|
21
21
|
listRemoteAgentsAcrossServers,
|
|
22
22
|
normalizeListedAgent
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-JA6WCCDO.js";
|
|
24
24
|
import "./chunk-ID4G2MAR.js";
|
|
25
25
|
import {
|
|
26
26
|
listUserRecordsFromServers,
|
|
27
27
|
readLiveDbRecordAfterTombstoneMerge
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-RBJASUX4.js";
|
|
29
29
|
import {
|
|
30
30
|
refreshSubscriptionQuotas
|
|
31
31
|
} from "./chunk-YGILMZ7N.js";
|
|
@@ -102,9 +102,9 @@ import {
|
|
|
102
102
|
wrapTextToLines,
|
|
103
103
|
wrapTranscriptLine,
|
|
104
104
|
wrapTranscriptLineWithLayout
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-H4CFODT7.js";
|
|
106
106
|
import "./chunk-6QDYSCPW.js";
|
|
107
|
-
import "./chunk-
|
|
107
|
+
import "./chunk-6OBTQSJ2.js";
|
|
108
108
|
import "./chunk-Y5GCAMGP.js";
|
|
109
109
|
import {
|
|
110
110
|
getReadableCliDb
|
|
@@ -113,7 +113,7 @@ import {
|
|
|
113
113
|
deleteDbRecord,
|
|
114
114
|
queryUserRecords,
|
|
115
115
|
readDbRecord
|
|
116
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-IY7DGZSY.js";
|
|
117
117
|
import {
|
|
118
118
|
RUN_WAKE_CHANNEL_ENV,
|
|
119
119
|
clearCliLocalRuntimePreparedAgentCache,
|
|
@@ -123,12 +123,12 @@ import {
|
|
|
123
123
|
formatApprovalRemaining,
|
|
124
124
|
readTimestamp,
|
|
125
125
|
registerHostApprovalRenderer
|
|
126
|
-
} from "./chunk-
|
|
127
|
-
import "./chunk-
|
|
126
|
+
} from "./chunk-7SUYSFPG.js";
|
|
127
|
+
import "./chunk-ZSCIGIJS.js";
|
|
128
128
|
import "./chunk-VP3BINY7.js";
|
|
129
|
-
import "./chunk-
|
|
129
|
+
import "./chunk-HAB2UDLT.js";
|
|
130
130
|
import "./chunk-LKZPX6YH.js";
|
|
131
|
-
import "./chunk-
|
|
131
|
+
import "./chunk-PRIROPK4.js";
|
|
132
132
|
import {
|
|
133
133
|
NOLO_DEFAULT_AGENT_KEY,
|
|
134
134
|
resolveCliAgentKeyInput
|
|
@@ -142,52 +142,57 @@ import {
|
|
|
142
142
|
} from "./chunk-UGCQKKXW.js";
|
|
143
143
|
import "./chunk-TY3TIUJK.js";
|
|
144
144
|
import "./chunk-S73EPYNC.js";
|
|
145
|
-
import "./chunk-
|
|
145
|
+
import "./chunk-RQ22OZD7.js";
|
|
146
146
|
import "./chunk-VL5KOY2C.js";
|
|
147
147
|
import "./chunk-ZEZC7IIM.js";
|
|
148
148
|
import "./chunk-ATNTHIZI.js";
|
|
149
|
+
import {
|
|
150
|
+
formatSkillSlashReference,
|
|
151
|
+
parseSkillSlashReference,
|
|
152
|
+
resolveSkillSlashUserPrompt
|
|
153
|
+
} from "./chunk-PRJ473FK.js";
|
|
149
154
|
import "./chunk-BMQ2MJUK.js";
|
|
150
|
-
import "./chunk-
|
|
155
|
+
import "./chunk-MR6L6U46.js";
|
|
151
156
|
import "./chunk-JEXVIMYZ.js";
|
|
152
157
|
import {
|
|
153
158
|
prepareTools
|
|
154
|
-
} from "./chunk-
|
|
159
|
+
} from "./chunk-UDKNC3CV.js";
|
|
155
160
|
import "./chunk-HS7MLR74.js";
|
|
156
|
-
import "./chunk-
|
|
161
|
+
import "./chunk-4KYV2TAI.js";
|
|
157
162
|
import "./chunk-KFHREHUQ.js";
|
|
158
|
-
import "./chunk-
|
|
163
|
+
import "./chunk-7TMVGMM3.js";
|
|
159
164
|
import "./chunk-OXME3PEE.js";
|
|
160
165
|
import "./chunk-KSTEXKL6.js";
|
|
161
|
-
import "./chunk-
|
|
162
|
-
import "./chunk-
|
|
163
|
-
import "./chunk-3NPXGNSK.js";
|
|
166
|
+
import "./chunk-Z3MQYKRN.js";
|
|
167
|
+
import "./chunk-HVXL4VOO.js";
|
|
164
168
|
import "./chunk-NF64D32W.js";
|
|
165
169
|
import "./chunk-3L2WKC3W.js";
|
|
166
|
-
import "./chunk-
|
|
167
|
-
import "./chunk-
|
|
170
|
+
import "./chunk-CMTTXP5Y.js";
|
|
171
|
+
import "./chunk-VF4K2QE6.js";
|
|
172
|
+
import "./chunk-KYQXW7DL.js";
|
|
168
173
|
import "./chunk-MYOH447Z.js";
|
|
169
|
-
import "./chunk-
|
|
170
|
-
import "./chunk-
|
|
174
|
+
import "./chunk-RXUKDHS5.js";
|
|
175
|
+
import "./chunk-WYKMOZTW.js";
|
|
171
176
|
import "./chunk-AGIM7IMJ.js";
|
|
172
|
-
import "./chunk-
|
|
177
|
+
import "./chunk-A2ZMIRLN.js";
|
|
173
178
|
import "./chunk-VIDPVFP3.js";
|
|
174
179
|
import "./chunk-63W5N6P3.js";
|
|
175
|
-
import "./chunk-
|
|
176
|
-
import "./chunk-
|
|
180
|
+
import "./chunk-RWGIVUH3.js";
|
|
181
|
+
import "./chunk-6CFXWUYE.js";
|
|
177
182
|
import "./chunk-5XBUWM6I.js";
|
|
178
183
|
import {
|
|
179
184
|
estimateMessagesTokens,
|
|
180
185
|
historyTokensBeforeLatestAssistant
|
|
181
|
-
} from "./chunk-
|
|
186
|
+
} from "./chunk-JI5MQU5B.js";
|
|
182
187
|
import "./chunk-TZXPT53C.js";
|
|
183
188
|
import "./chunk-LEC5ALIN.js";
|
|
184
189
|
import "./chunk-523DITKR.js";
|
|
185
|
-
import "./chunk-
|
|
190
|
+
import "./chunk-N7IBYQEC.js";
|
|
186
191
|
import "./chunk-BYXBJQAS.js";
|
|
187
192
|
import "./chunk-QYPE3TS3.js";
|
|
188
|
-
import "./chunk-
|
|
193
|
+
import "./chunk-T3U2KQF4.js";
|
|
189
194
|
import "./chunk-4JH2UMJR.js";
|
|
190
|
-
import "./chunk-
|
|
195
|
+
import "./chunk-QAYCF4CH.js";
|
|
191
196
|
import "./chunk-UAD2WT54.js";
|
|
192
197
|
import "./chunk-5RGU3J7P.js";
|
|
193
198
|
import "./chunk-ZRAU6T47.js";
|
|
@@ -200,15 +205,15 @@ import "./chunk-5ZMIIR23.js";
|
|
|
200
205
|
import "./chunk-CVMMWN6P.js";
|
|
201
206
|
import "./chunk-P64WRQYV.js";
|
|
202
207
|
import "./chunk-GLKOYSRU.js";
|
|
203
|
-
import "./chunk-
|
|
204
|
-
import "./chunk-
|
|
205
|
-
import "./chunk-
|
|
208
|
+
import "./chunk-GL7W7TTR.js";
|
|
209
|
+
import "./chunk-HWZT5DKX.js";
|
|
210
|
+
import "./chunk-OHYCQKPW.js";
|
|
206
211
|
import "./chunk-3PVYUPXK.js";
|
|
207
|
-
import "./chunk-
|
|
208
|
-
import "./chunk-
|
|
209
|
-
import "./chunk-
|
|
212
|
+
import "./chunk-MOCY5LJI.js";
|
|
213
|
+
import "./chunk-6K2AKJAD.js";
|
|
214
|
+
import "./chunk-32GANJHJ.js";
|
|
210
215
|
import "./chunk-UEILX4EV.js";
|
|
211
|
-
import "./chunk-
|
|
216
|
+
import "./chunk-X4F26D5K.js";
|
|
212
217
|
import "./chunk-6Q7UTJKR.js";
|
|
213
218
|
import "./chunk-QQ56R7KS.js";
|
|
214
219
|
import "./chunk-OW765XBU.js";
|
|
@@ -217,34 +222,38 @@ import "./chunk-ZSO5B6SW.js";
|
|
|
217
222
|
import "./chunk-D2MDMY2M.js";
|
|
218
223
|
import {
|
|
219
224
|
buildSkillDiscoveryContextBlock,
|
|
220
|
-
buildSkillDiscoveryContextLayer
|
|
221
|
-
|
|
222
|
-
|
|
225
|
+
buildSkillDiscoveryContextLayer,
|
|
226
|
+
discoverSkills
|
|
227
|
+
} from "./chunk-OVBUUU7L.js";
|
|
228
|
+
import {
|
|
229
|
+
listBuiltinSkills
|
|
230
|
+
} from "./chunk-LFJRTOUV.js";
|
|
223
231
|
import {
|
|
224
232
|
expandEnabledPacks
|
|
225
|
-
} from "./chunk-
|
|
226
|
-
import
|
|
227
|
-
|
|
233
|
+
} from "./chunk-DBRXPVWY.js";
|
|
234
|
+
import {
|
|
235
|
+
parseExternalSkillMarkdown
|
|
236
|
+
} from "./chunk-EY7V7REW.js";
|
|
228
237
|
import "./chunk-Y6ORVLSS.js";
|
|
229
|
-
import "./chunk-KHCLMKZZ.js";
|
|
230
238
|
import {
|
|
239
|
+
buildLoadSkillExecutor,
|
|
231
240
|
buildLocalWorkspaceOpenAiTools,
|
|
232
241
|
buildLocalWorkspaceToolset,
|
|
233
242
|
formatToolOverflowMarker,
|
|
234
243
|
getProcessRegistry,
|
|
235
244
|
readCommandActionGatePayload
|
|
236
|
-
} from "./chunk-
|
|
245
|
+
} from "./chunk-DXDG4XLD.js";
|
|
237
246
|
import "./chunk-ZNFJWEN4.js";
|
|
238
|
-
import "./chunk-
|
|
239
|
-
import "./chunk-
|
|
247
|
+
import "./chunk-AV6IE6NM.js";
|
|
248
|
+
import "./chunk-RDKNGJ5M.js";
|
|
240
249
|
import "./chunk-HNUWUO75.js";
|
|
241
250
|
import "./chunk-CHOZJMJS.js";
|
|
242
251
|
import "./chunk-PWTNI4N7.js";
|
|
243
252
|
import "./chunk-HIVDQPQR.js";
|
|
244
|
-
import "./chunk-
|
|
253
|
+
import "./chunk-LGW6A7GK.js";
|
|
245
254
|
import "./chunk-2WZXXAQD.js";
|
|
246
|
-
import "./chunk-
|
|
247
|
-
import "./chunk-
|
|
255
|
+
import "./chunk-P7SUBTGZ.js";
|
|
256
|
+
import "./chunk-4KB6WQUL.js";
|
|
248
257
|
import "./chunk-56GBUMO5.js";
|
|
249
258
|
import {
|
|
250
259
|
CREDENTIAL_HYGIENE_RULE,
|
|
@@ -257,20 +266,20 @@ import {
|
|
|
257
266
|
buildRuntimeGuidanceBlocks,
|
|
258
267
|
resolveResponseGuidelines,
|
|
259
268
|
resolveToolGuidedSections
|
|
260
|
-
} from "./chunk-
|
|
261
|
-
import "./chunk-
|
|
269
|
+
} from "./chunk-ZHOKF4MY.js";
|
|
270
|
+
import "./chunk-CVCRAO6Q.js";
|
|
262
271
|
import "./chunk-E2BESSAW.js";
|
|
263
|
-
import "./chunk-
|
|
272
|
+
import "./chunk-K2GL335R.js";
|
|
264
273
|
import {
|
|
265
274
|
isQuotaExhaustedError
|
|
266
|
-
} from "./chunk-
|
|
275
|
+
} from "./chunk-RXX262QX.js";
|
|
267
276
|
import "./chunk-WJZOQR2J.js";
|
|
268
|
-
import "./chunk-
|
|
277
|
+
import "./chunk-BMXR7CFX.js";
|
|
269
278
|
import "./chunk-2MBTWINN.js";
|
|
270
279
|
import {
|
|
271
280
|
extractReferenceKeysFromMessage,
|
|
272
281
|
normalizeUsage
|
|
273
|
-
} from "./chunk-
|
|
282
|
+
} from "./chunk-PXERKNSJ.js";
|
|
274
283
|
import "./chunk-5ZUL4CUO.js";
|
|
275
284
|
import {
|
|
276
285
|
DEFAULT_CONTEXT_WINDOW,
|
|
@@ -283,7 +292,7 @@ import {
|
|
|
283
292
|
getModelContextWindow,
|
|
284
293
|
planCompression,
|
|
285
294
|
serializeMessageContent
|
|
286
|
-
} from "./chunk-
|
|
295
|
+
} from "./chunk-BTYQAODF.js";
|
|
287
296
|
import "./chunk-H57T64RA.js";
|
|
288
297
|
import "./chunk-UKZX3NHN.js";
|
|
289
298
|
import {
|
|
@@ -302,7 +311,7 @@ import {
|
|
|
302
311
|
buildMemoryUseGuidanceLayer,
|
|
303
312
|
partitionScopedBlocks,
|
|
304
313
|
renderTurnContextBlocksWithScope
|
|
305
|
-
} from "./chunk-
|
|
314
|
+
} from "./chunk-CMLBKYEI.js";
|
|
306
315
|
import {
|
|
307
316
|
buildUserResponseLanguageContext
|
|
308
317
|
} from "./chunk-4VJAC32I.js";
|
|
@@ -321,7 +330,7 @@ import {
|
|
|
321
330
|
extractCustomId,
|
|
322
331
|
parsePublicAgentId
|
|
323
332
|
} from "./chunk-M2EJHDJP.js";
|
|
324
|
-
import "./chunk-
|
|
333
|
+
import "./chunk-NHI3JZP4.js";
|
|
325
334
|
import {
|
|
326
335
|
toErrorMessage
|
|
327
336
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -331,7 +340,7 @@ import {
|
|
|
331
340
|
isRunRecordClaimed,
|
|
332
341
|
listRunRecords,
|
|
333
342
|
readRunRecord
|
|
334
|
-
} from "./chunk-
|
|
343
|
+
} from "./chunk-FSEGCTZQ.js";
|
|
335
344
|
import {
|
|
336
345
|
clipText,
|
|
337
346
|
formatDuration,
|
|
@@ -347,9 +356,9 @@ import {
|
|
|
347
356
|
} from "./chunk-PSCNXBYA.js";
|
|
348
357
|
import {
|
|
349
358
|
resolvePlatformAuthToken
|
|
350
|
-
} from "./chunk-
|
|
351
|
-
import "./chunk-
|
|
352
|
-
import "./chunk-
|
|
359
|
+
} from "./chunk-WPOKOKZA.js";
|
|
360
|
+
import "./chunk-YUA6OAH5.js";
|
|
361
|
+
import "./chunk-SM3NSZJV.js";
|
|
353
362
|
import "./chunk-5BHQICF2.js";
|
|
354
363
|
import {
|
|
355
364
|
isRecord
|
|
@@ -362,7 +371,7 @@ import {
|
|
|
362
371
|
import {
|
|
363
372
|
checkForCliUpdate,
|
|
364
373
|
runSelfUpdateDetailed
|
|
365
|
-
} from "./chunk-
|
|
374
|
+
} from "./chunk-GVMF62PR.js";
|
|
366
375
|
import {
|
|
367
376
|
parseUserIdFromAuthToken,
|
|
368
377
|
resolveAuthToken,
|
|
@@ -395,14 +404,14 @@ import {
|
|
|
395
404
|
resolveDefaultSpawn,
|
|
396
405
|
spawnProcess
|
|
397
406
|
} from "./chunk-Y6ROFCZO.js";
|
|
398
|
-
import "./chunk-
|
|
407
|
+
import "./chunk-OOERQPG5.js";
|
|
399
408
|
import {
|
|
400
409
|
dailyWelcomeTip,
|
|
401
410
|
initCliLocale,
|
|
402
411
|
parseCliLocale,
|
|
403
412
|
setCliLocale,
|
|
404
413
|
t
|
|
405
|
-
} from "./chunk-
|
|
414
|
+
} from "./chunk-M6AGLVV4.js";
|
|
406
415
|
import "./chunk-ECX3NKRD.js";
|
|
407
416
|
import "./chunk-XJWWBO34.js";
|
|
408
417
|
import "./chunk-I42VC5KR.js";
|
|
@@ -412,8 +421,8 @@ import "./chunk-3EUW3WEO.js";
|
|
|
412
421
|
import {
|
|
413
422
|
asOptionalTrimmedString
|
|
414
423
|
} from "./chunk-G3SUCT4W.js";
|
|
415
|
-
import "./chunk-
|
|
416
|
-
import "./chunk-
|
|
424
|
+
import "./chunk-T43B7LB2.js";
|
|
425
|
+
import "./chunk-GOO6G4PY.js";
|
|
417
426
|
import {
|
|
418
427
|
asTrimmedLowercaseString
|
|
419
428
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -508,7 +517,7 @@ function createSnapshotGuardedApproval(kind, getGrants, approve) {
|
|
|
508
517
|
import nacl from "tweetnacl";
|
|
509
518
|
|
|
510
519
|
// node_modules/js-base64/base64.mjs
|
|
511
|
-
var version = "3.9.
|
|
520
|
+
var version = "3.9.6";
|
|
512
521
|
var VERSION = version;
|
|
513
522
|
var _TD = typeof TextDecoder === "function" ? new TextDecoder("utf-8", { ignoreBOM: true }) : void 0;
|
|
514
523
|
var _TE = typeof TextEncoder === "function" ? new TextEncoder() : void 0;
|
|
@@ -601,6 +610,8 @@ var isValid = (src) => {
|
|
|
601
610
|
if (typeof src !== "string")
|
|
602
611
|
return false;
|
|
603
612
|
const s = src.replace(/\s+/g, "").replace(/={0,2}$/, "");
|
|
613
|
+
if (s.length % 4 === 1)
|
|
614
|
+
return false;
|
|
604
615
|
return !/[^\s0-9a-zA-Z\+/]/.test(s) || !/[^\s0-9a-zA-Z\-_]/.test(s);
|
|
605
616
|
};
|
|
606
617
|
var _noEnum = (v) => {
|
|
@@ -6290,16 +6301,44 @@ function applyTuiInputKey(buffer, sequence, key = {}, cursorPos, options) {
|
|
|
6290
6301
|
}
|
|
6291
6302
|
return { buffer, cursorPos: curPos };
|
|
6292
6303
|
}
|
|
6293
|
-
|
|
6294
|
-
|
|
6295
|
-
|
|
6296
|
-
|
|
6297
|
-
|
|
6298
|
-
|
|
6304
|
+
const isBackTab = seq === "\x1B[Z" || key.name === "backtab" || Boolean(key.shift) && (seq === " " || key.name === "tab");
|
|
6305
|
+
const isTab = !isBackTab && (seq === " " || key.name === "tab");
|
|
6306
|
+
if (isTab || isBackTab) {
|
|
6307
|
+
const isReverse = isBackTab;
|
|
6308
|
+
let candidates = completeSlashCandidates(buffer, options?.cwd);
|
|
6309
|
+
if (options?.cwd && buffer.startsWith("/cd ") && buffer.endsWith("/")) {
|
|
6310
|
+
const prefix = buffer.slice("/cd ".length);
|
|
6311
|
+
const trimmedSlash = prefix.slice(0, -1);
|
|
6312
|
+
const lastSlash = trimmedSlash.lastIndexOf("/");
|
|
6313
|
+
const parentPrefix = lastSlash >= 0 ? trimmedSlash.slice(0, lastSlash + 1) : "";
|
|
6314
|
+
const parentCandidates = completeSlashCandidates(`/cd ${parentPrefix}`, options.cwd);
|
|
6315
|
+
const parentIdx = parentCandidates.findIndex(
|
|
6316
|
+
(c) => buffer === c.insertText || buffer === c.insertText.trimEnd()
|
|
6317
|
+
);
|
|
6318
|
+
if (parentIdx >= 0 && parentCandidates.length > 1) {
|
|
6319
|
+
candidates = parentCandidates;
|
|
6320
|
+
}
|
|
6321
|
+
}
|
|
6322
|
+
if (candidates.length === 1) {
|
|
6323
|
+
const [only] = candidates;
|
|
6324
|
+
return { buffer: only.insertText, cursorPos: only.insertText.length };
|
|
6325
|
+
}
|
|
6326
|
+
if (candidates.length > 1) {
|
|
6327
|
+
const currentIndex = candidates.findIndex(
|
|
6328
|
+
(c) => buffer === c.insertText || buffer === c.insertText.trimEnd()
|
|
6329
|
+
);
|
|
6330
|
+
if (currentIndex >= 0) {
|
|
6331
|
+
const step = isReverse ? -1 : 1;
|
|
6332
|
+
const nextIndex = (currentIndex + step + candidates.length) % candidates.length;
|
|
6333
|
+
const next = candidates[nextIndex];
|
|
6334
|
+
return { buffer: next.insertText, cursorPos: next.insertText.length };
|
|
6299
6335
|
}
|
|
6300
|
-
|
|
6301
|
-
|
|
6336
|
+
const common = findCommonPrefix(candidates.map((c) => c.insertText));
|
|
6337
|
+
if (common.length > buffer.length) {
|
|
6338
|
+
return { buffer: common, cursorPos: common.length };
|
|
6302
6339
|
}
|
|
6340
|
+
const chosen = isReverse ? candidates[candidates.length - 1] : candidates[0];
|
|
6341
|
+
return { buffer: chosen.insertText, cursorPos: chosen.insertText.length };
|
|
6303
6342
|
}
|
|
6304
6343
|
const completed = completeSlashPrefix(buffer) ?? buffer;
|
|
6305
6344
|
return { buffer: completed, cursorPos: completed.length };
|
|
@@ -6456,15 +6495,78 @@ function completeSlashPrefix(buffer) {
|
|
|
6456
6495
|
}
|
|
6457
6496
|
return prefix.length > buffer.length ? prefix : null;
|
|
6458
6497
|
}
|
|
6459
|
-
function
|
|
6498
|
+
function findCommonPrefix(strings) {
|
|
6499
|
+
if (strings.length === 0) return "";
|
|
6500
|
+
let prefix = strings[0] ?? "";
|
|
6501
|
+
for (let i = 1; i < strings.length; i++) {
|
|
6502
|
+
while (!strings[i].startsWith(prefix)) {
|
|
6503
|
+
prefix = prefix.slice(0, -1);
|
|
6504
|
+
if (prefix === "") return "";
|
|
6505
|
+
}
|
|
6506
|
+
}
|
|
6507
|
+
return prefix;
|
|
6508
|
+
}
|
|
6509
|
+
function completeSlashCandidates(buffer, cwd) {
|
|
6460
6510
|
if (!buffer.startsWith("/")) return [];
|
|
6461
6511
|
const trimmed = buffer.trim();
|
|
6462
6512
|
if (cwd && buffer.startsWith("/cd ")) {
|
|
6463
6513
|
const prefix = buffer.slice("/cd ".length);
|
|
6464
|
-
|
|
6514
|
+
const pathLines = completeCdPathCandidates(prefix, cwd);
|
|
6515
|
+
return pathLines.map((line) => ({
|
|
6516
|
+
label: line,
|
|
6517
|
+
insertText: line,
|
|
6518
|
+
source: "path"
|
|
6519
|
+
}));
|
|
6465
6520
|
}
|
|
6466
6521
|
if (trimmed.includes(" ")) return [];
|
|
6467
|
-
|
|
6522
|
+
const candidates = [];
|
|
6523
|
+
for (const cmd of SLASH_COMMANDS) {
|
|
6524
|
+
if (cmd.startsWith(trimmed) && cmd !== trimmed) {
|
|
6525
|
+
candidates.push({
|
|
6526
|
+
label: cmd,
|
|
6527
|
+
insertText: `${cmd} `,
|
|
6528
|
+
source: "builtin"
|
|
6529
|
+
});
|
|
6530
|
+
}
|
|
6531
|
+
}
|
|
6532
|
+
const slashQuery = trimmed.slice(1).toLowerCase();
|
|
6533
|
+
for (const skill of listBuiltinSkills()) {
|
|
6534
|
+
const slug = skill.slug;
|
|
6535
|
+
if (slashQuery !== "" && !slug.toLowerCase().startsWith(slashQuery)) continue;
|
|
6536
|
+
candidates.push({
|
|
6537
|
+
label: `/${slug} (builtin)`,
|
|
6538
|
+
insertText: `${formatSkillSlashReference({
|
|
6539
|
+
source: "builtin",
|
|
6540
|
+
id: slug
|
|
6541
|
+
})} `,
|
|
6542
|
+
source: "builtin",
|
|
6543
|
+
description: skill.title || "Builtin skill"
|
|
6544
|
+
});
|
|
6545
|
+
}
|
|
6546
|
+
if (cwd) {
|
|
6547
|
+
try {
|
|
6548
|
+
const skills = discoverSkills(cwd);
|
|
6549
|
+
const query = trimmed.slice(1).toLowerCase();
|
|
6550
|
+
for (const skill of skills) {
|
|
6551
|
+
const nameLower = skill.name.toLowerCase();
|
|
6552
|
+
if (query === "" || nameLower.startsWith(query)) {
|
|
6553
|
+
const insertText = `${formatSkillSlashReference({
|
|
6554
|
+
source: "project",
|
|
6555
|
+
projectBinding: cwd,
|
|
6556
|
+
relativePath: skill.relativePath
|
|
6557
|
+
})} `;
|
|
6558
|
+
candidates.push({
|
|
6559
|
+
label: `/${skill.name} (project)`,
|
|
6560
|
+
insertText,
|
|
6561
|
+
source: "project",
|
|
6562
|
+
description: skill.description || "Project skill"
|
|
6563
|
+
});
|
|
6564
|
+
}
|
|
6565
|
+
}
|
|
6566
|
+
} catch {
|
|
6567
|
+
}
|
|
6568
|
+
}
|
|
6569
|
+
return candidates;
|
|
6468
6570
|
}
|
|
6469
6571
|
function completeCdPathCandidates(prefix, cwd) {
|
|
6470
6572
|
const lastSlash = prefix.lastIndexOf("/");
|
|
@@ -8022,8 +8124,6 @@ function renderRecentDiagnostics(env, events = getProcessRingBuffer()?.drain() ?
|
|
|
8022
8124
|
}
|
|
8023
8125
|
|
|
8024
8126
|
// packages/cli/client/estimateCliContext.ts
|
|
8025
|
-
import { existsSync as existsSync3, readFileSync as readFileSync2 } from "node:fs";
|
|
8026
|
-
import { join as join2 } from "node:path";
|
|
8027
8127
|
var DEFAULT_CLI_PACKS = ["code", "agent-orchestration", "skills"];
|
|
8028
8128
|
var DEFAULT_CLI_PLATFORM_TOOLS = [
|
|
8029
8129
|
"exa_search",
|
|
@@ -8031,16 +8131,7 @@ var DEFAULT_CLI_PLATFORM_TOOLS = [
|
|
|
8031
8131
|
];
|
|
8032
8132
|
var DEFAULT_PROMPT_ESTIMATE_BASELINE = "\u4F60\u662F\u5171\u4EAB\u7A7A\u95F4\u91CC\u7684\u9AD8\u6027\u4EF7\u6BD4\u901A\u7528 AI \u52A9\u624B\u3002\u4F18\u5148\u5FEB\u901F\u3001\u76F4\u63A5\u3001\u7A33\u5B9A\u5730\u5B8C\u6210\u4EFB\u52A1\uFF1B\u9700\u8981\u63A8\u7406\u65F6\u4FDD\u6301\u6B65\u9AA4\u6E05\u6670\u3002";
|
|
8033
8133
|
function readAgentsMd(cwd) {
|
|
8034
|
-
|
|
8035
|
-
const path3 = join2(cwd, name);
|
|
8036
|
-
if (!existsSync3(path3)) continue;
|
|
8037
|
-
try {
|
|
8038
|
-
return readFileSync2(path3, "utf8");
|
|
8039
|
-
} catch {
|
|
8040
|
-
return "";
|
|
8041
|
-
}
|
|
8042
|
-
}
|
|
8043
|
-
return "";
|
|
8134
|
+
return readAgentsMdLayerFromDisk(cwd)?.content ?? "";
|
|
8044
8135
|
}
|
|
8045
8136
|
function estimateToolSchemas(toolNames) {
|
|
8046
8137
|
const toolset = buildLocalWorkspaceToolset({
|
|
@@ -9903,7 +9994,7 @@ function createProcessTerminalAutoResumer(deps) {
|
|
|
9903
9994
|
// packages/cli/client/turnBillingAudit.ts
|
|
9904
9995
|
import { appendFileSync, mkdirSync as mkdirSync3 } from "node:fs";
|
|
9905
9996
|
import { homedir as homedir5 } from "node:os";
|
|
9906
|
-
import { join as
|
|
9997
|
+
import { join as join2 } from "node:path";
|
|
9907
9998
|
function projectUsageForAudit(usage) {
|
|
9908
9999
|
if (!usage || typeof usage !== "object") return null;
|
|
9909
10000
|
const normalized = normalizeUsage(usage);
|
|
@@ -9966,8 +10057,8 @@ function projectTelemetryForAudit(record) {
|
|
|
9966
10057
|
return out;
|
|
9967
10058
|
}
|
|
9968
10059
|
function resolveTurnBillingAuditLogPath(env = process.env) {
|
|
9969
|
-
const noloHome = env.NOLO_HOME?.trim() ||
|
|
9970
|
-
return
|
|
10060
|
+
const noloHome = env.NOLO_HOME?.trim() || join2(homedir5(), ".nolo");
|
|
10061
|
+
return join2(noloHome, "logs", "turn-billing.jsonl");
|
|
9971
10062
|
}
|
|
9972
10063
|
function appendTurnBillingAudit(input) {
|
|
9973
10064
|
try {
|
|
@@ -9995,7 +10086,7 @@ function appendTurnBillingAudit(input) {
|
|
|
9995
10086
|
calls
|
|
9996
10087
|
};
|
|
9997
10088
|
const logPath = resolveTurnBillingAuditLogPath();
|
|
9998
|
-
mkdirSync3(
|
|
10089
|
+
mkdirSync3(join2(logPath, ".."), { recursive: true });
|
|
9999
10090
|
appendFileSync(logPath, `${JSON.stringify(row)}
|
|
10000
10091
|
`);
|
|
10001
10092
|
} catch {
|
|
@@ -11526,10 +11617,33 @@ function createFixedInput(output, config) {
|
|
|
11526
11617
|
const renderInputArea = (buffer, cursorPos) => {
|
|
11527
11618
|
const colorEnabled = resolveCliColorEnabled();
|
|
11528
11619
|
const cols = Math.max(1, getColumns());
|
|
11529
|
-
|
|
11620
|
+
let completions = completeSlashCandidates(buffer, config.getCwd?.());
|
|
11621
|
+
const cwd = config.getCwd?.();
|
|
11622
|
+
if (cwd && buffer.startsWith("/cd ") && buffer.endsWith("/")) {
|
|
11623
|
+
const prefix = buffer.slice("/cd ".length);
|
|
11624
|
+
const trimmedSlash = prefix.slice(0, -1);
|
|
11625
|
+
const lastSlash = trimmedSlash.lastIndexOf("/");
|
|
11626
|
+
const parentPrefix = lastSlash >= 0 ? trimmedSlash.slice(0, lastSlash + 1) : "";
|
|
11627
|
+
const parentCompletions = completeSlashCandidates(`/cd ${parentPrefix}`, cwd);
|
|
11628
|
+
const parentIdx = parentCompletions.findIndex(
|
|
11629
|
+
(c) => buffer === c.insertText || buffer === c.insertText.trimEnd()
|
|
11630
|
+
);
|
|
11631
|
+
if (parentIdx >= 0 && parentCompletions.length > 1) {
|
|
11632
|
+
completions = parentCompletions;
|
|
11633
|
+
}
|
|
11634
|
+
}
|
|
11530
11635
|
const sections = [];
|
|
11531
11636
|
if (completions.length > 0) {
|
|
11532
|
-
|
|
11637
|
+
const selectedIndex = completions.findIndex(
|
|
11638
|
+
(c) => buffer === c.insertText || buffer === c.insertText.trimEnd()
|
|
11639
|
+
);
|
|
11640
|
+
const labels = completions.map((c, idx) => {
|
|
11641
|
+
if (idx === selectedIndex && colorEnabled) {
|
|
11642
|
+
return `\x1B[1;7m${c.label}\x1B[0m`;
|
|
11643
|
+
}
|
|
11644
|
+
return c.label;
|
|
11645
|
+
});
|
|
11646
|
+
sections.push(fitAnsiLine(dimCliText(labels.join(" "), colorEnabled), cols));
|
|
11533
11647
|
}
|
|
11534
11648
|
const rawActivity = config.getActivityLines ? config.getActivityLines({ columns: cols, rows: getRows() }) : config.getActivityLine ? config.getActivityLine() : null;
|
|
11535
11649
|
const activityLines = Array.isArray(rawActivity) ? rawActivity.filter((line) => line !== null && line !== void 0) : typeof rawActivity === "string" && rawActivity.length > 0 ? [rawActivity] : [];
|
|
@@ -12018,6 +12132,63 @@ async function runAgentChat(scriptDir, state, message, env, output, agentRunner
|
|
|
12018
12132
|
let effectiveMessage = message;
|
|
12019
12133
|
let skillAllowedTools;
|
|
12020
12134
|
let skillContextBlocks;
|
|
12135
|
+
const parsedSlashSkill = parseSkillSlashReference(message);
|
|
12136
|
+
let slashSkillPreloadResult;
|
|
12137
|
+
if (parsedSlashSkill) {
|
|
12138
|
+
const executor = buildLoadSkillExecutor({ cwd: state.cwd });
|
|
12139
|
+
let loadArgs;
|
|
12140
|
+
if (parsedSlashSkill.reference.source === "builtin") {
|
|
12141
|
+
loadArgs = { source: "builtin", slug: parsedSlashSkill.reference.id };
|
|
12142
|
+
} else if (parsedSlashSkill.reference.source === "project") {
|
|
12143
|
+
loadArgs = {
|
|
12144
|
+
source: "project",
|
|
12145
|
+
projectBinding: parsedSlashSkill.reference.projectBinding,
|
|
12146
|
+
relativePath: parsedSlashSkill.reference.relativePath
|
|
12147
|
+
};
|
|
12148
|
+
} else {
|
|
12149
|
+
loadArgs = {
|
|
12150
|
+
source: "space",
|
|
12151
|
+
dbKey: parsedSlashSkill.reference.dbKey
|
|
12152
|
+
};
|
|
12153
|
+
}
|
|
12154
|
+
const loadResult = await executor({
|
|
12155
|
+
name: "loadSkill",
|
|
12156
|
+
arguments: JSON.stringify(loadArgs)
|
|
12157
|
+
});
|
|
12158
|
+
if (!loadResult.metadata?.resolved) {
|
|
12159
|
+
output.write(`[nolo] skill preload failed: ${loadResult.content}
|
|
12160
|
+
`);
|
|
12161
|
+
throw new Error(`Skill preload failed: ${loadResult.content}`);
|
|
12162
|
+
}
|
|
12163
|
+
effectiveMessage = resolveSkillSlashUserPrompt(parsedSlashSkill.args);
|
|
12164
|
+
let preloadTools;
|
|
12165
|
+
if (Array.isArray(loadResult.metadata?.toolNames) && loadResult.metadata.toolNames.length > 0) {
|
|
12166
|
+
preloadTools = loadResult.metadata.toolNames.filter(
|
|
12167
|
+
(t2) => typeof t2 === "string" && t2.length > 0
|
|
12168
|
+
);
|
|
12169
|
+
}
|
|
12170
|
+
let skillMarkdown = loadResult.content;
|
|
12171
|
+
const inlinePrefix = /^Skill\s+"[^"]*"\s+loaded inline\.\s+Follow its instructions\.\s*\n+/i;
|
|
12172
|
+
if (inlinePrefix.test(skillMarkdown)) {
|
|
12173
|
+
skillMarkdown = skillMarkdown.replace(inlinePrefix, "");
|
|
12174
|
+
} else {
|
|
12175
|
+
const frontmatterIndex = skillMarkdown.search(/(?:^|\n)---\s*\n/);
|
|
12176
|
+
if (frontmatterIndex !== -1) {
|
|
12177
|
+
const dashIndex = skillMarkdown.indexOf("---", frontmatterIndex);
|
|
12178
|
+
if (dashIndex !== -1) {
|
|
12179
|
+
skillMarkdown = skillMarkdown.slice(dashIndex);
|
|
12180
|
+
}
|
|
12181
|
+
}
|
|
12182
|
+
}
|
|
12183
|
+
const external = parseExternalSkillMarkdown(skillMarkdown);
|
|
12184
|
+
if (external.allowedTools && external.allowedTools.length > 0) {
|
|
12185
|
+
preloadTools = preloadTools ? preloadTools.filter((t2) => external.allowedTools.includes(t2)) : external.allowedTools;
|
|
12186
|
+
}
|
|
12187
|
+
slashSkillPreloadResult = {
|
|
12188
|
+
content: loadResult.content,
|
|
12189
|
+
allowedTools: preloadTools
|
|
12190
|
+
};
|
|
12191
|
+
}
|
|
12021
12192
|
const memoryPromptOutcomePromise = state.cachedMemoryOverlay === void 0 ? resolveCliMemory({
|
|
12022
12193
|
serverUrl: state.serverUrl,
|
|
12023
12194
|
authToken: resolvePlatformAuthToken(env),
|
|
@@ -12065,6 +12236,27 @@ async function runAgentChat(scriptDir, state, message, env, output, agentRunner
|
|
|
12065
12236
|
}
|
|
12066
12237
|
}
|
|
12067
12238
|
}
|
|
12239
|
+
if (slashSkillPreloadResult) {
|
|
12240
|
+
skillContextBlocks = [
|
|
12241
|
+
...skillContextBlocks ?? [],
|
|
12242
|
+
slashSkillPreloadResult.content
|
|
12243
|
+
];
|
|
12244
|
+
if (slashSkillPreloadResult.allowedTools && slashSkillPreloadResult.allowedTools.length > 0) {
|
|
12245
|
+
if (skillAllowedTools !== void 0) {
|
|
12246
|
+
const intersected = skillAllowedTools.filter(
|
|
12247
|
+
(t2) => slashSkillPreloadResult.allowedTools.includes(t2)
|
|
12248
|
+
);
|
|
12249
|
+
if (intersected.length === 0) {
|
|
12250
|
+
throw new Error(
|
|
12251
|
+
"Cannot preserve skill tool authorization: incompatible tool restrictions"
|
|
12252
|
+
);
|
|
12253
|
+
}
|
|
12254
|
+
skillAllowedTools = intersected;
|
|
12255
|
+
} else {
|
|
12256
|
+
skillAllowedTools = slashSkillPreloadResult.allowedTools;
|
|
12257
|
+
}
|
|
12258
|
+
}
|
|
12259
|
+
}
|
|
12068
12260
|
const layers = [
|
|
12069
12261
|
readAgentsMdLayerFromDisk(state.cwd),
|
|
12070
12262
|
// Skill discovery: scan conventional skill dirs for SKILL.md and inject an
|