nolo-cli 0.149.0-alpha.1 → 0.151.0-alpha.3
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-OW3H7ICR.js → _executeModel-T7ANHTUW.js} +134 -91
- package/accountResolver-7RYB4D2P.js +300 -0
- package/action-SXJD5N5R.js +23 -0
- package/{addContentAction-B2DRF7P6.js → addContentAction-ZV774PHH.js} +20 -14
- package/{addDialogAgentAction-2P2FLTLD.js → addDialogAgentAction-A6SMKAGH.js} +26 -22
- package/{agentDeleteCommand-7IDWF6E3.js → agentDeleteCommand-4L5KCKFY.js} +181 -93
- package/{agentEmailCommands-A6XBQZBN.js → agentEmailCommands-2IMMIRO2.js} +132 -112
- package/{agentGrantCommands-M3XFO6EN.js → agentGrantCommands-HOJ3JBBQ.js} +3 -3
- package/agentListCommands-TWFLUYIZ.js +802 -0
- package/{agentMachineCommands-DQPUIMAC.js → agentMachineCommands-KIWXWT6L.js} +58 -62
- package/{agentProviderCommands-YK2BIIXZ.js → agentProviderCommands-HL6MBLCL.js} +149 -2
- package/{agentPullCommand-HF4A42D4.js → agentPullCommand-FA43RBRU.js} +7 -7
- package/agentRecordCommands-727NPCRW.js +154 -0
- package/agentRunCommand-JASIG3FZ.js +183 -0
- package/{agentRunControl-2SKCR4SB.js → agentRunControl-IFM7IGMG.js} +10 -2
- package/{agentRuntimeLocal-AK2QVJHY.js → agentRuntimeLocal-KKSQJMTE.js} +47 -50
- package/{agentSlice-O4RUQUMT.js → agentSlice-SLV57QGU.js} +23 -16
- package/{appDeleteCommands-N3XEVVYC.js → appDeleteCommands-4PL4KYRN.js} +58 -59
- package/{appDeployCommands-AWFIXYVW.js → appDeployCommands-EEEXCEB6.js} +67 -63
- package/{appDeployStatusCommands-CZRON2FO.js → appDeployStatusCommands-35ZX7T66.js} +56 -56
- package/{appGetCommands-XQIUY4TD.js → appGetCommands-WFCHXJWF.js} +56 -56
- package/{appListCommands-NNG4H36Y.js → appListCommands-XY2U6DPF.js} +57 -59
- package/{authCommand-UBJ4EWYZ.js → authCommand-QYN47CQD.js} +371 -68
- package/{authCommands-H6WKKCRW.js → authCommands-77CHYBGF.js} +12 -9
- package/{builtinSkillRegistry-ZMF6YGNO.js → builtinSkillRegistry-TDQ6JB2E.js} +13 -11
- package/{chromeCommands-2N6MEWRU.js → chromeCommands-OBBNJCLS.js} +314 -13
- package/chromeOpsCommands-3Z34RKSE.js +472 -0
- package/{chunk-ALXHV7NK.js → chunk-2GGXHQIW.js} +43 -4
- package/{localRuntimeAuthority-5W6IJRAD.js → chunk-2IXDJNZI.js} +154 -75
- package/{chunk-IVZJWTDI.js → chunk-36OMEXXR.js} +89 -21
- package/{chunk-H6A6X4EK.js → chunk-3MZAGMYY.js} +16 -0
- package/chunk-3PVYUPXK.js +40 -0
- package/chunk-3SZA4U64.js +1192 -0
- package/{chunk-ID7LNBWR.js → chunk-3T4ZG6AC.js} +1920 -644
- package/{chunk-GNMAFAIS.js → chunk-44WXLHFI.js} +1 -1
- package/{chunk-AGGIDPCZ.js → chunk-4JH2UMJR.js} +6 -0
- package/chunk-4LCOCOR5.js +50 -0
- package/chunk-4YRTZIVN.js +871 -0
- package/{chunk-N7J63Q6C.js → chunk-56GBUMO5.js} +10 -1
- package/{chunk-W7XHHYWM.js → chunk-5BHQICF2.js} +5 -1
- package/{chunk-XUWRURDF.js → chunk-5EBLANFT.js} +1 -1
- package/{chunk-3AH7LNUB.js → chunk-5EMSBTQ6.js} +33 -14
- package/{chunk-YRRASA5Q.js → chunk-5MM7NNO6.js} +113 -52
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-TXH4IWJL.js → chunk-626KHJNX.js} +20 -11
- package/{chunk-M5PVFLD4.js → chunk-64K7WX26.js} +90 -21
- package/{chunk-AKG5W4LG.js → chunk-6CCFTVBP.js} +76 -221
- package/chunk-6MJNEXUU.js +614 -0
- package/{chunk-62IL3KQV.js → chunk-6MXDOUMH.js} +15 -3
- package/{chunk-QOKAKDPE.js → chunk-6Q7UTJKR.js} +6 -94
- package/chunk-6QDYSCPW.js +223 -0
- package/{chunk-HYZIYH2H.js → chunk-74RAWNQN.js} +56 -63
- package/chunk-7DPNBQSV.js +9 -0
- package/{chunk-IAESIMK7.js → chunk-A4MW3YZL.js} +10 -14
- package/{chunk-OMRJYNCI.js → chunk-AG7MCDLR.js} +26 -31
- package/chunk-AGIM7IMJ.js +147 -0
- package/{chunk-7CHC4W22.js → chunk-AIZE5TDM.js} +3 -3
- package/chunk-AJ3G7X2K.js +7012 -0
- package/{chunk-5GVBDNTO.js → chunk-AU7AXHUL.js} +1 -1
- package/{chunk-4H22P2JV.js → chunk-AUIJZACN.js} +2073 -1275
- package/{chunk-CIF4X6ZM.js → chunk-AWVFQMOV.js} +25 -3
- package/{chunk-YAQJJDC2.js → chunk-BJEZC5RA.js} +214 -51
- package/{chunk-RYZINGPM.js → chunk-BPMPOFWP.js} +347 -235
- package/{chunk-YUNJN43V.js → chunk-BU2YQBV4.js} +215 -28
- package/{chunk-XPRWFQQK.js → chunk-CBHGZRCE.js} +38 -12
- package/{chunk-Y3PMXGLH.js → chunk-CHCS6XPJ.js} +365 -144
- package/chunk-CHOZJMJS.js +78 -0
- package/chunk-CYJWI3NH.js +119 -0
- package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
- package/{chunk-3SV7RM24.js → chunk-D2QN6CTI.js} +117 -72
- package/{chunk-TZZ2WRBL.js → chunk-DFDXM2Y4.js} +20 -16
- package/{chunk-5TEEECZM.js → chunk-E2AKSW7L.js} +10 -7
- package/{chunk-RSEEDUMS.js → chunk-EDX5XSJM.js} +2 -2
- package/{chunk-QDSINZM3.js → chunk-EUGTFFO6.js} +2 -23
- package/{chunk-UNYJU5L6.js → chunk-EYLGAEB4.js} +5 -1
- package/{chunk-CU3QB4HW.js → chunk-EYWJT7A2.js} +12 -12
- package/{chunk-BNGW5ASC.js → chunk-EZVK3N5L.js} +66 -18
- package/{chunk-6FGTMQCL.js → chunk-F32Z66T4.js} +6 -10
- package/{chunk-ZOVKKMF6.js → chunk-FY4SDK2E.js} +1 -1
- package/chunk-G6OOUQWJ.js +417 -0
- package/{chunk-PQWU42UQ.js → chunk-GCKHQECX.js} +6 -6
- package/chunk-GKXCHNTE.js +15 -0
- package/{chunk-P6GMCCAT.js → chunk-GQV5KHJU.js} +78 -12
- package/{chunk-B2XUQXQX.js → chunk-HIQ4GF53.js} +191 -68
- package/{chunk-GMZLP5DV.js → chunk-HNUWUO75.js} +30 -19
- package/{chunk-UASIEDKM.js → chunk-I2XLRXVX.js} +36 -31
- package/{chunk-5UTFL4QJ.js → chunk-I2ZMGXXF.js} +10 -5
- package/chunk-I42VC5KR.js +15 -0
- package/{chunk-3BXNTXYI.js → chunk-I4SN4NUQ.js} +1199 -56
- package/chunk-IA7TRNNR.js +11 -0
- package/{chunk-WIWM4FE3.js → chunk-IJERIUXS.js} +55 -748
- package/{chunk-BIDGLJQ3.js → chunk-IK2TSJQA.js} +45 -8
- package/{chunk-CPUFH46E.js → chunk-ILU2NPWY.js} +10 -10
- package/{chunk-SLLGJZDT.js → chunk-ISQL4V7C.js} +4 -4
- package/chunk-IT3ZZRJE.js +12 -0
- package/{chunk-DY7ANLKG.js → chunk-JKMLSTZK.js} +43 -12
- package/{chunk-6TPOEJMQ.js → chunk-JZX2XLKC.js} +64 -23
- package/{chunk-27ONFIEY.js → chunk-K2AER7RX.js} +19 -12
- package/{chunk-O2OWEFII.js → chunk-KFHQQ3NO.js} +1 -1
- package/{chunk-QXGPFY6J.js → chunk-LGN377P3.js} +27 -17
- package/{chunk-L36OWPP3.js → chunk-LIQJTQRN.js} +118 -139
- package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
- package/{chunk-5J3PYNUP.js → chunk-NYYFIKHI.js} +17 -3
- package/{chunk-6O4IK4V2.js → chunk-OFFL4DCR.js} +1 -1
- package/{chunk-B6SAMB33.js → chunk-OWYYDMGJ.js} +209 -9
- package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
- package/{chunk-CTUQJVQM.js → chunk-P5QACQDK.js} +1 -1
- package/{chunk-TB3MIBRC.js → chunk-PIDUNDFS.js} +572 -430
- package/{chunk-4JMDLJAD.js → chunk-PJNFNEJE.js} +114 -37
- package/chunk-PKZKOVA5.js +11507 -0
- package/{chunk-Z4CSIXYP.js → chunk-PLSVXHSA.js} +3 -3
- package/chunk-PWTNI4N7.js +47 -0
- package/chunk-QFEW2ULV.js +42 -0
- package/{chunk-RGNEEJ3Y.js → chunk-QLQ573SU.js} +35 -9
- package/chunk-QQ56R7KS.js +88 -0
- package/chunk-QYPE3TS3.js +43 -0
- package/{chunk-HTVYCXBP.js → chunk-RN2GPWN6.js} +354 -120
- package/{chunk-ATLTFRYJ.js → chunk-ROCUB2H2.js} +280 -98
- package/{chunk-4DPP773Q.js → chunk-RSHPU4PD.js} +59 -11
- package/chunk-RVWMAFIT.js +134 -0
- package/{chunk-ESHYE7WU.js → chunk-S73EPYNC.js} +10 -7
- package/{chunk-UQNS32WZ.js → chunk-SCMHQUMK.js} +1 -1
- package/chunk-SW4S4XYB.js +1794 -0
- package/{chunk-ZUEK6A6C.js → chunk-TTH4HOJD.js} +1973 -754
- package/chunk-TY3TIUJK.js +89 -0
- package/{chunk-X2QRZXZH.js → chunk-TYJ5XFEA.js} +4 -4
- package/{chunk-ALFH24P3.js → chunk-TYYRSFBG.js} +197 -155
- package/{chunk-MST6R3E4.js → chunk-U5GPBQDG.js} +34 -22
- package/chunk-U5ICMAFV.js +14110 -0
- package/{chunk-7KVZ5LDQ.js → chunk-UBUH2TCC.js} +18 -4
- package/chunk-UEILX4EV.js +15 -0
- package/chunk-UHTDNB5Y.js +140 -0
- package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
- package/{chunk-OHOVNO7I.js → chunk-UOKFKFPO.js} +6 -3
- package/{chunk-XISEYOGH.js → chunk-USHQX6VT.js} +5 -5
- package/chunk-UUPR3TD7.js +53 -0
- package/{chunk-3DAVPNFT.js → chunk-V4EE3D54.js} +122 -107
- package/{chunk-HDLLCBRF.js → chunk-VEA7H5FG.js} +2 -2
- package/chunk-VHGD6FHV.js +116 -0
- package/chunk-VIWDGTDA.js +8 -0
- package/{chunk-GOH6RW6F.js → chunk-VJXHL6MH.js} +34 -11
- package/{chunk-4XEYAFLY.js → chunk-VL5KOY2C.js} +623 -94
- package/{chunk-EADNWBAZ.js → chunk-VP3BINY7.js} +13 -0
- package/{chunk-DXHL7G2L.js → chunk-VWW6O2TL.js} +274 -93
- package/{chunk-EOARMOVD.js → chunk-W4S6OTSC.js} +6 -3
- package/chunk-WD4XYDYC.js +567 -0
- package/chunk-WJZOQR2J.js +151 -0
- package/{chunk-AUDNYVRC.js → chunk-XETG4RIX.js} +5 -5
- package/{chunk-MX574M24.js → chunk-XI7DGLUK.js} +4 -4
- package/{chunk-3L2WKC3W.js → chunk-XPWGOTBQ.js} +8 -1
- package/chunk-XRUSXPCQ.js +514 -0
- package/{chunk-I4OPU5TK.js → chunk-XS47QOFV.js} +273 -11
- package/{chunk-S5XGT6GB.js → chunk-XZNCX52W.js} +30 -9
- package/{chunk-5OA5HMTL.js → chunk-YLMMECCH.js} +1 -1
- package/{chunk-CFT5HBGW.js → chunk-YVLQXTUB.js} +448 -12
- package/chunk-YVPQATSC.js +709 -0
- package/chunk-ZEZC7IIM.js +126 -0
- package/{chunk-ALGORS6Y.js → chunk-ZF6526IQ.js} +43 -8
- package/chunk-ZIWPQEFU.js +165 -0
- package/chunk-ZRAU6T47.js +56 -0
- package/{cliExecutor-AWYR3T33.js → cliExecutor-BWBF2MTI.js} +4 -3
- package/{clipboardy-BX4NMYHE.js → clipboardy-GCO3GT3I.js} +3 -8
- package/{commandRegistry-2KBOXZQC.js → commandRegistry-NBLZEMCW.js} +183 -107
- package/contentThunks-6AIWNSGO.js +84 -0
- package/{cooldownCommands-ZLEPIB4A.js → cooldownCommands-JFKTYS2D.js} +2 -2
- package/{createAgentAutomationAction-5UGTB26P.js → createAgentAutomationAction-4BUS65DZ.js} +53 -44
- package/createDialogAction-QAIKSCG4.js +76 -0
- package/{createPageAction-CDLDKPRM.js → createPageAction-DXCZ334C.js} +65 -54
- package/cursorProvider-YGGNMVWX.js +6123 -0
- package/{db-VQSAOWAO.js → db-2QOTXYGH.js} +11 -5
- package/{dbSlice-DQ32LYTJ.js → dbSlice-J37OGIXH.js} +19 -13
- package/{deleteFile-NX6QHCWZ.js → deleteFile-6JWDDRVP.js} +10 -6
- package/dialogCommands-YZLSJB6X.js +113 -0
- package/{dialogSlice-N3YB65G5.js → dialogSlice-PVUSMKFW.js} +53 -39
- package/{docCreateCommands-ZSLGVBZT.js → docCreateCommands-JB2RRMRJ.js} +54 -57
- package/{docDeleteCommands-5N4GVZBG.js → docDeleteCommands-AQENULNM.js} +56 -58
- package/{docReadCommands-YJSAA7AV.js → docReadCommands-DYD25YLQ.js} +53 -56
- package/{docStore-E3CEOV5Q.js → docStore-CSEBEMKP.js} +25 -16
- package/{docUpdateCommands-WEMLSW6W.js → docUpdateCommands-3GVS23QL.js} +54 -57
- package/{fetchMessages-67MEFPZR.js → fetchMessages-IIJWQ3HR.js} +5 -4
- package/{getPricing-NMMFT3YI.js → getPricing-FKK3F5EJ.js} +11 -9
- package/{handleSendMessageAction-DQAD5ERJ.js → handleSendMessageAction-G2TLYGC4.js} +422 -118
- package/index.js +11 -7
- package/{lib-FRRS27KN.js → lib-4YTWAGY7.js} +581 -248
- package/{localDialogRead-EBRS242U.js → localDialogRead-FSOMOPDZ.js} +2 -2
- package/localRuntimeAdapter-B4TAYYA7.js +244 -0
- package/localRuntimeAuthority-JDAD7CB6.js +16 -0
- package/{localRuntimeDb-3LRMNLCM.js → localRuntimeDb-CVC62PM5.js} +1 -1
- package/{machineCommands-HAP75VSG.js → machineCommands-6OBFD3XF.js} +503 -161
- package/{machineInfo-66ZFUMLE.js → machineInfo-UKPTZO5Y.js} +2 -2
- package/machineWsRunDispatch-OO7N3O3Y.js +169 -0
- package/{memberThunks-5ZXPR63F.js → memberThunks-66DH6ABQ.js} +25 -18
- package/{models-ZPU5EDF4.js → models-LAS4B2B5.js} +2 -2
- package/package.json +1 -1
- package/{providerPresetApply-DD6NGWW6.js → providerPresetApply-MY66I6NT.js} +10 -10
- package/{providerRegistry-XDRLMYGJ.js → providerRegistry-QOE2FT57.js} +13 -9
- package/{read-EPTJRAEF.js → read-DC4NUGN6.js} +12 -8
- package/{readDocTool-W4NDXNEX.js → readDocTool-NCJ5NT25.js} +1 -1
- package/{readlineWorkspace-7BC66QSX.js → readlineWorkspace-UIQN7JUR.js} +5017 -915
- package/{removeDialogAgentAction-OSYNZRX7.js → removeDialogAgentAction-E2H3OZU6.js} +29 -28
- package/{runAgentClientLoop-6E6UC3CE.js → runAgentClientLoop-GS3SGG37.js} +154 -97
- package/{runtimeDoctorCommands-ID23PNNZ.js → runtimeDoctorCommands-GIOGC5SC.js} +17 -17
- package/secretCommands-ZXZRLR3R.js +700 -0
- package/setDialogExtraReferencesAction-SITRPMYU.js +37 -0
- package/{setPrimaryDialogAgentAction-WZ7KI3YA.js → setPrimaryDialogAgentAction-U7N45TGC.js} +30 -29
- package/{chunk-SONWNI3L.js → settingThunks-Y7SVJOMZ.js} +223 -928
- package/{skillDiscovery-ZBU76COE.js → skillDiscovery-QC35EQY4.js} +2 -2
- package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
- package/{spaceCommands-UJOVU4XI.js → spaceCommands-ZR5BR3GX.js} +59 -59
- package/{streamAgentChatTurn-3UXPYFNX.js → streamAgentChatTurn-4XYC33KE.js} +309 -165
- package/{switchDialogAgentAction-GMR7WN3P.js → switchDialogAgentAction-OMGBD3N2.js} +26 -22
- package/{tableCommands-G7RV3RU3.js → tableCommands-U3QDY4L6.js} +19 -17
- package/{toolApiClient-CVGWM4PN.js → toolApiClient-7WSJJJBV.js} +6 -5
- package/tools-P77EE7Q4.js +124 -0
- package/tuiSummaryLlmCaller-BM3VSTBU.js +130 -0
- package/{updateCommands-4EHDLF5J.js → updateCommands-NQXAGFM7.js} +3 -3
- package/{updateDialogTitleAction-UPFV7TDT.js → updateDialogTitleAction-CIANVPZC.js} +102 -57
- package/workloadLifecycle-36DXRZKU.js +320 -0
- package/action-GI44T4DR.js +0 -31
- package/agentListCommands-IW3GQVUP.js +0 -427
- package/agentRecordCommands-VCA76W6B.js +0 -134
- package/agentRunCommand-YNLDKVR7.js +0 -161
- package/browser-image-compression-MFDTD7K6.js +0 -1763
- package/chatQueueReduxAdapter-TJRMXMYA.js +0 -186
- package/chromeOpsCommands-IXRLN57H.js +0 -289
- package/chunk-36KZDDO5.js +0 -2415
- package/chunk-ACQD6YI2.js +0 -25363
- package/chunk-CQ3WA2NE.js +0 -299
- package/chunk-CYSYR67N.js +0 -93
- package/chunk-JBTJAPUF.js +0 -35
- package/chunk-K2CSUCHJ.js +0 -620
- package/chunk-LTRXGFMS.js +0 -83
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-MEYIRKDN.js +0 -8967
- package/chunk-OCZKATRC.js +0 -129
- package/chunk-OTGFTBLI.js +0 -13
- package/chunk-PUOC4YRO.js +0 -394
- package/chunk-PZZTFEKK.js +0 -34
- package/chunk-URMS4XY2.js +0 -10
- package/chunk-UV6VISQJ.js +0 -20
- package/chunk-VJVNU77E.js +0 -83
- package/chunk-XYJSY4KG.js +0 -13807
- package/chunk-Y5GCAMGP.js +0 -9
- package/chunk-YPREESF4.js +0 -225
- package/contentThunks-BDIQRZR6.js +0 -73
- package/createDialogAction-B7VGVEVU.js +0 -66
- package/dialogCommands-G7YBVAMC.js +0 -102
- package/levelLazyShim-GZBKODGI.js +0 -7
- package/machineWsRunDispatch-L32G7C4P.js +0 -149
- package/serverStoreFactory-YMXDF4NI.js +0 -20
- package/setDialogExtraReferencesAction-M32UYNCG.js +0 -30
- package/settingSlice-Q6EKL7EQ.js +0 -204
- package/syncMapping-N6RGXGBW.js +0 -437
- package/tools-MKYDMWA4.js +0 -111
- package/tuiSummaryLlmCaller-3YFNHCTW.js +0 -128
- package/{chunk-SV5IJK6K.js → chunk-NBTY7YJF.js} +3 -3
- package/{chunk-2SYTUTLI.js → chunk-YBNHPX4S.js} +3 -3
- package/{offlineMarxistsAgentCommand-HGXZV4XJ.js → offlineMarxistsAgentCommand-2QTHJCHV.js} +4 -4
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fetchCiStatus
|
|
3
|
+
} from "./chunk-VHGD6FHV.js";
|
|
4
|
+
import {
|
|
5
|
+
cliCommandDescription,
|
|
6
|
+
t
|
|
7
|
+
} from "./chunk-SW4S4XYB.js";
|
|
1
8
|
import "./chunk-4VNS5WPM.js";
|
|
2
9
|
|
|
3
10
|
// packages/cli/cliCommandDispatch.ts
|
|
@@ -103,7 +110,7 @@ function createDaemonShortcutCommand(path, description, command) {
|
|
|
103
110
|
// packages/cli/agentInternalCommandEntries.ts
|
|
104
111
|
function getAgentInternalCommandEntries() {
|
|
105
112
|
const createAgentRunCommand = (path, description) => createContextCommand(path, description, async (args, ctx) => {
|
|
106
|
-
const { runAgentRunCommand } = await import("./agentRunCommand-
|
|
113
|
+
const { runAgentRunCommand } = await import("./agentRunCommand-JASIG3FZ.js");
|
|
107
114
|
return runAgentRunCommand(args, {
|
|
108
115
|
env: ctx.env,
|
|
109
116
|
scriptDir: ctx.scriptDir,
|
|
@@ -115,104 +122,104 @@ function getAgentInternalCommandEntries() {
|
|
|
115
122
|
createAgentRunCommand(["run"], "Run a no-login local agent in this workspace"),
|
|
116
123
|
createAgentRunCommand(["chat"], "Chat with an agent"),
|
|
117
124
|
createEnvCommand(["agent", "list"], "List owned agents", async (args, deps) => {
|
|
118
|
-
const { runAgentListCommand } = await import("./agentListCommands-
|
|
125
|
+
const { runAgentListCommand } = await import("./agentListCommands-TWFLUYIZ.js");
|
|
119
126
|
return runAgentListCommand(args, deps);
|
|
120
127
|
}),
|
|
121
128
|
createEnvCommand(["agent", "create"], "Create a new agent", async (args, deps) => {
|
|
122
|
-
const { runAgentCreateCommand } = await import("./agentRecordCommands-
|
|
129
|
+
const { runAgentCreateCommand } = await import("./agentRecordCommands-727NPCRW.js");
|
|
123
130
|
return runAgentCreateCommand(args, deps);
|
|
124
131
|
}),
|
|
125
|
-
createEnvCommand(["agent", "models"], "List models
|
|
126
|
-
const { runAgentModelsCommand } = await import("./agentProviderCommands-
|
|
132
|
+
createEnvCommand(["agent", "models"], "List models: --preset <id> (server discovery, exit 1 on static fallback) or --url <base> --api-key <key> (OpenAI-compatible /models)", async (args, deps) => {
|
|
133
|
+
const { runAgentModelsCommand } = await import("./agentProviderCommands-HL6MBLCL.js");
|
|
127
134
|
return runAgentModelsCommand(args, deps);
|
|
128
135
|
}),
|
|
129
136
|
createEnvCommand(["agent", "providers"], "List agent-creation provider presets (subscription / metered / oauth)", async (args, deps) => {
|
|
130
|
-
const { runAgentProvidersCommand } = await import("./agentProviderCommands-
|
|
137
|
+
const { runAgentProvidersCommand } = await import("./agentProviderCommands-HL6MBLCL.js");
|
|
131
138
|
return runAgentProvidersCommand(args, deps);
|
|
132
139
|
}),
|
|
133
140
|
createEnvCommand(["agent", "pull"], "Cache an agent for local runs", async (args, deps) => {
|
|
134
|
-
const { runAgentPullCommand } = await import("./agentPullCommand-
|
|
141
|
+
const { runAgentPullCommand } = await import("./agentPullCommand-FA43RBRU.js");
|
|
135
142
|
return runAgentPullCommand(args, deps);
|
|
136
143
|
}),
|
|
137
144
|
createEnvCommand(["agent", "read"], "Read a single agent", async (args, deps) => {
|
|
138
|
-
const { runAgentReadCommand } = await import("./agentRecordCommands-
|
|
145
|
+
const { runAgentReadCommand } = await import("./agentRecordCommands-727NPCRW.js");
|
|
139
146
|
return runAgentReadCommand(args, deps);
|
|
140
147
|
}),
|
|
141
148
|
createAgentRunCommand(["agent", "run"], "Run an agent"),
|
|
142
149
|
createEnvCommand(["agent", "ps"], "List active and recent local agent runs (--json for machine-readable output)", async (_args, deps) => {
|
|
143
|
-
const { runAgentPsCommand } = await import("./agentRunControl-
|
|
150
|
+
const { runAgentPsCommand } = await import("./agentRunControl-IFM7IGMG.js");
|
|
144
151
|
return runAgentPsCommand(_args, { ...deps, output: process.stdout });
|
|
145
152
|
}),
|
|
146
153
|
createEnvCommand(["agent", "status"], "Show status of a local agent run (--json, --watch, --interval-ms N)", async (args, deps) => {
|
|
147
|
-
const { runAgentStatusCommand } = await import("./agentRunControl-
|
|
154
|
+
const { runAgentStatusCommand } = await import("./agentRunControl-IFM7IGMG.js");
|
|
148
155
|
return runAgentStatusCommand(args, { ...deps, output: process.stdout });
|
|
149
156
|
}),
|
|
150
157
|
createEnvCommand(["agent", "logs"], "Show logs of a local agent run", async (args, deps) => {
|
|
151
|
-
const { runAgentLogsCommand } = await import("./agentRunControl-
|
|
158
|
+
const { runAgentLogsCommand } = await import("./agentRunControl-IFM7IGMG.js");
|
|
152
159
|
return runAgentLogsCommand(args, { ...deps, output: process.stdout });
|
|
153
160
|
}),
|
|
154
161
|
createEnvCommand(["agent", "stop"], "Stop a local agent run", async (args, deps) => {
|
|
155
|
-
const { runAgentStopCommand } = await import("./agentRunControl-
|
|
162
|
+
const { runAgentStopCommand } = await import("./agentRunControl-IFM7IGMG.js");
|
|
156
163
|
return runAgentStopCommand(args, { ...deps, output: process.stdout });
|
|
157
164
|
}),
|
|
158
165
|
createEnvCommand(["agent", "kill"], "Kill a local agent run", async (args, deps) => {
|
|
159
|
-
const { runAgentKillCommand } = await import("./agentRunControl-
|
|
166
|
+
const { runAgentKillCommand } = await import("./agentRunControl-IFM7IGMG.js");
|
|
160
167
|
return runAgentKillCommand(args, { ...deps, output: process.stdout });
|
|
161
168
|
}),
|
|
162
169
|
createEnvCommand(["agent", "setup-offline-marxists"], "Create or update the Marxists.org offline book agent", async (args, deps) => {
|
|
163
|
-
const { runSetupOfflineMarxistsAgentCommand } = await import("./offlineMarxistsAgentCommand-
|
|
170
|
+
const { runSetupOfflineMarxistsAgentCommand } = await import("./offlineMarxistsAgentCommand-2QTHJCHV.js");
|
|
164
171
|
return runSetupOfflineMarxistsAgentCommand(args, deps);
|
|
165
172
|
}),
|
|
166
173
|
createEnvCommand(["agent", "update"], "Update agent fields", async (args, deps) => {
|
|
167
|
-
const { runAgentUpdateCommand } = await import("./agentRecordCommands-
|
|
174
|
+
const { runAgentUpdateCommand } = await import("./agentRecordCommands-727NPCRW.js");
|
|
168
175
|
return runAgentUpdateCommand(args, deps);
|
|
169
176
|
}),
|
|
170
177
|
createEnvCommand(["agent", "email", "provision"], "Provision a controlled inbox for an agent", async (args, deps) => {
|
|
171
|
-
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-
|
|
178
|
+
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-2IMMIRO2.js");
|
|
172
179
|
return runAgentEmailProvisionCommand(args, deps);
|
|
173
180
|
}),
|
|
174
181
|
createEnvCommand(["agent", "email", "bind"], "Bind an existing email address to an agent", async (args, deps) => {
|
|
175
|
-
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-
|
|
182
|
+
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-2IMMIRO2.js");
|
|
176
183
|
return runAgentEmailBindCommand(args, deps);
|
|
177
184
|
}),
|
|
178
185
|
createEnvCommand(["agent", "email", "transfer"], "Transfer an email identity from one agent to another (cross-account)", async (args, deps) => {
|
|
179
|
-
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-
|
|
186
|
+
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-2IMMIRO2.js");
|
|
180
187
|
return runAgentEmailTransferCommand(args, deps);
|
|
181
188
|
}),
|
|
182
189
|
createEnvCommand(
|
|
183
190
|
["agent", "email", "create-and-provision"],
|
|
184
191
|
"Create an agent and provision its controlled inbox",
|
|
185
192
|
async (args, deps) => {
|
|
186
|
-
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-
|
|
193
|
+
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-2IMMIRO2.js");
|
|
187
194
|
return runAgentEmailCreateAndProvisionCommand(args, deps);
|
|
188
195
|
}
|
|
189
196
|
),
|
|
190
197
|
createEnvCommand(["agent", "delete"], "Hard-delete an agent's private and public records", async (args, deps) => {
|
|
191
|
-
const { runAgentDeleteCommand } = await import("./agentDeleteCommand-
|
|
198
|
+
const { runAgentDeleteCommand } = await import("./agentDeleteCommand-4L5KCKFY.js");
|
|
192
199
|
return runAgentDeleteCommand(args, deps);
|
|
193
200
|
}),
|
|
194
201
|
createEnvCommand(["agent", "grant"], "Grant another user access to this agent's owner credentials", async (args, deps) => {
|
|
195
|
-
const { runAgentGrantCommand } = await import("./agentGrantCommands-
|
|
202
|
+
const { runAgentGrantCommand } = await import("./agentGrantCommands-HOJ3JBBQ.js");
|
|
196
203
|
return runAgentGrantCommand(args, deps);
|
|
197
204
|
}),
|
|
198
205
|
createEnvCommand(["agent", "grants"], "List active credential grants for an agent", async (args, deps) => {
|
|
199
|
-
const { runAgentGrantsListCommand } = await import("./agentGrantCommands-
|
|
206
|
+
const { runAgentGrantsListCommand } = await import("./agentGrantCommands-HOJ3JBBQ.js");
|
|
200
207
|
return runAgentGrantsListCommand(args, deps);
|
|
201
208
|
}),
|
|
202
209
|
createEnvCommand(["agent", "revoke-grant"], "Revoke a credential grant for an agent", async (args, deps) => {
|
|
203
|
-
const { runAgentRevokeGrantCommand } = await import("./agentGrantCommands-
|
|
210
|
+
const { runAgentRevokeGrantCommand } = await import("./agentGrantCommands-HOJ3JBBQ.js");
|
|
204
211
|
return runAgentRevokeGrantCommand(args, deps);
|
|
205
212
|
}),
|
|
206
213
|
createEnvCommand(["agent", "bind-current"], "Bind an agent to this machine", async (args, deps) => {
|
|
207
|
-
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-
|
|
214
|
+
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-KIWXWT6L.js");
|
|
208
215
|
return runAgentBindCurrentCommand(args, deps);
|
|
209
216
|
}),
|
|
210
217
|
createEnvCommand(["agent", "smoke-current"], "Smoke test a bound agent through this machine", async (args, deps) => {
|
|
211
|
-
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-
|
|
218
|
+
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-KIWXWT6L.js");
|
|
212
219
|
return runAgentSmokeCurrentCommand(args, deps);
|
|
213
220
|
}),
|
|
214
221
|
createEnvCommand(["agent", "runtime-doctor"], "Diagnose current machine runtime compatibility", async (args, deps) => {
|
|
215
|
-
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-
|
|
222
|
+
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-KIWXWT6L.js");
|
|
216
223
|
return runAgentRuntimeDoctorCommand(args, deps);
|
|
217
224
|
}),
|
|
218
225
|
createAgentRunCommand(["agent", "chat"], "Chat with an agent")
|
|
@@ -223,23 +230,23 @@ function getAgentInternalCommandEntries() {
|
|
|
223
230
|
function getAppInternalCommandEntries() {
|
|
224
231
|
return [
|
|
225
232
|
createEnvCommand(["app", "list"], "List your apps", async (args, deps) => {
|
|
226
|
-
const { runAppListCommand } = await import("./appListCommands-
|
|
233
|
+
const { runAppListCommand } = await import("./appListCommands-XY2U6DPF.js");
|
|
227
234
|
return runAppListCommand(args, deps);
|
|
228
235
|
}),
|
|
229
236
|
createEnvCommand(["app", "get"], "Get app details", async (args, deps) => {
|
|
230
|
-
const { runAppGetCommand } = await import("./appGetCommands-
|
|
237
|
+
const { runAppGetCommand } = await import("./appGetCommands-WFCHXJWF.js");
|
|
231
238
|
return runAppGetCommand(args, deps);
|
|
232
239
|
}),
|
|
233
240
|
createEnvCommand(["app", "deploy"], "Deploy an app", async (args, deps) => {
|
|
234
|
-
const { runAppDeployCommand } = await import("./appDeployCommands-
|
|
241
|
+
const { runAppDeployCommand } = await import("./appDeployCommands-EEEXCEB6.js");
|
|
235
242
|
return runAppDeployCommand(args, deps);
|
|
236
243
|
}),
|
|
237
244
|
createEnvCommand(["app", "deploy", "status"], "Check app deploy status", async (args, deps) => {
|
|
238
|
-
const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-
|
|
245
|
+
const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-35ZX7T66.js");
|
|
239
246
|
return runAppDeployStatusCommand(args, deps);
|
|
240
247
|
}),
|
|
241
248
|
createEnvCommand(["app", "delete"], "Delete an app", async (args, deps) => {
|
|
242
|
-
const { runAppDeleteCommand } = await import("./appDeleteCommands-
|
|
249
|
+
const { runAppDeleteCommand } = await import("./appDeleteCommands-4PL4KYRN.js");
|
|
243
250
|
return runAppDeleteCommand(args, deps);
|
|
244
251
|
})
|
|
245
252
|
];
|
|
@@ -247,12 +254,12 @@ function getAppInternalCommandEntries() {
|
|
|
247
254
|
|
|
248
255
|
// packages/cli/chromeInternalCommandEntries.ts
|
|
249
256
|
var CHROME_OPS_SUBCOMMANDS = [
|
|
250
|
-
{ name: "list-tabs", summary: "List controllable
|
|
257
|
+
{ name: "list-tabs", summary: "List controllable browser tabs" },
|
|
251
258
|
{ name: "open-tab", summary: "Open a URL in a new tab (--url <url> [--active])" },
|
|
252
259
|
{ name: "close-tab", summary: "Close a tab (--tab <id>)" },
|
|
253
260
|
{
|
|
254
261
|
name: "read-page",
|
|
255
|
-
summary: "Read a tab's text and interactive elements as elementRefs (--tab <id>)"
|
|
262
|
+
summary: "Read a tab's text and interactive elements as elementRefs (--tab <id> [--offset N] [--viewport])"
|
|
256
263
|
},
|
|
257
264
|
{ name: "click", summary: "Click an element (--tab <id> --ref|--selector)" },
|
|
258
265
|
{
|
|
@@ -264,80 +271,130 @@ var CHROME_OPS_SUBCOMMANDS = [
|
|
|
264
271
|
summary: "Upload files to a file input element (--tab <id> --ref|--selector --file <path>)"
|
|
265
272
|
},
|
|
266
273
|
{ name: "press", summary: "Press a keyboard key (--tab <id> --key <key>)" },
|
|
267
|
-
{
|
|
274
|
+
{
|
|
275
|
+
name: "scroll",
|
|
276
|
+
summary: "Scroll a tab or observe a container (--tab <id> [--selector <css>] [--delta-x N] [--delta-y N])"
|
|
277
|
+
},
|
|
268
278
|
{ name: "screenshot", summary: "Capture a screenshot (--tab <id> [--out <path>])" },
|
|
269
279
|
{ name: "read-console", summary: "Read recent console entries (--tab <id>)" },
|
|
270
280
|
{ name: "read-network", summary: "Read recent network entries (--tab <id>)" }
|
|
271
281
|
];
|
|
272
|
-
function
|
|
282
|
+
function getBrowserFamilyEntries() {
|
|
273
283
|
return [
|
|
274
284
|
createEnvCommand(
|
|
275
|
-
["
|
|
285
|
+
["browser", "status"],
|
|
276
286
|
"Show Nolo Browser Connector status (native host manifest, token, live connection)",
|
|
277
287
|
async (args, deps) => {
|
|
278
|
-
const { runChromeStatusCommand } = await import("./chromeCommands-
|
|
288
|
+
const { runChromeStatusCommand } = await import("./chromeCommands-OBBNJCLS.js");
|
|
279
289
|
return runChromeStatusCommand(args, deps);
|
|
280
290
|
}
|
|
281
291
|
),
|
|
282
292
|
createEnvCommand(
|
|
283
|
-
["
|
|
293
|
+
["browser", "install"],
|
|
284
294
|
"Install the native messaging host manifest for this user (--browser chrome|firefox)",
|
|
285
295
|
async (args, deps) => {
|
|
286
|
-
const { runChromeInstallCommand } = await import("./chromeCommands-
|
|
296
|
+
const { runChromeInstallCommand } = await import("./chromeCommands-OBBNJCLS.js");
|
|
287
297
|
return runChromeInstallCommand(args, deps);
|
|
288
298
|
}
|
|
289
299
|
),
|
|
290
300
|
createEnvCommand(
|
|
291
|
-
["
|
|
301
|
+
["browser", "reload"],
|
|
292
302
|
"Reload the connector extension through the running native host",
|
|
293
303
|
async (args, deps) => {
|
|
294
|
-
const { runChromeReloadCommand } = await import("./chromeCommands-
|
|
304
|
+
const { runChromeReloadCommand } = await import("./chromeCommands-OBBNJCLS.js");
|
|
295
305
|
return runChromeReloadCommand(args, deps);
|
|
296
306
|
}
|
|
297
307
|
),
|
|
298
308
|
...CHROME_OPS_SUBCOMMANDS.map(
|
|
299
|
-
({ name, summary }) => createArgsCommand(["
|
|
300
|
-
const { runChromeOpsCommand } = await import("./chromeOpsCommands-
|
|
309
|
+
({ name, summary }) => createArgsCommand(["browser", name], summary, async (args) => {
|
|
310
|
+
const { runChromeOpsCommand } = await import("./chromeOpsCommands-3Z34RKSE.js");
|
|
301
311
|
return runChromeOpsCommand(name, args);
|
|
302
312
|
})
|
|
303
313
|
)
|
|
304
314
|
];
|
|
305
315
|
}
|
|
306
316
|
function getChromeInternalCommandEntries() {
|
|
307
|
-
const
|
|
308
|
-
const
|
|
317
|
+
const browserEntries = getBrowserFamilyEntries();
|
|
318
|
+
const chromeEntries = browserEntries.map((entry) => ({
|
|
309
319
|
...entry,
|
|
310
|
-
path: ["
|
|
311
|
-
description: `${entry.description} (
|
|
320
|
+
path: ["chrome", ...entry.path.slice(1)],
|
|
321
|
+
description: `${entry.description} (Compatibility alias of \`nolo browser ${entry.path.slice(1).join(" ")}\`)`
|
|
312
322
|
}));
|
|
313
|
-
return [...
|
|
323
|
+
return [...browserEntries, ...chromeEntries];
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// packages/cli/ciInternalCommandEntries.ts
|
|
327
|
+
function formatDuration(job) {
|
|
328
|
+
if (typeof job.durationMs !== "number") return "-";
|
|
329
|
+
const seconds = Math.round(job.durationMs / 1e3);
|
|
330
|
+
return seconds >= 60 ? `${Math.floor(seconds / 60)}m${seconds % 60}s` : `${seconds}s`;
|
|
331
|
+
}
|
|
332
|
+
function formatJob(job) {
|
|
333
|
+
const sha = (job.shortSha || "???????").slice(0, 7).padEnd(7);
|
|
334
|
+
const kind = job.kind.padEnd(16);
|
|
335
|
+
const status = job.status.padEnd(9);
|
|
336
|
+
const duration = formatDuration(job).padStart(6);
|
|
337
|
+
const failure = job.failedPhase ? ` \u2717 ${job.failedPhase}` : "";
|
|
338
|
+
return ` ${sha} ${kind} ${status} ${duration}${failure}`;
|
|
339
|
+
}
|
|
340
|
+
function parseLimit(args) {
|
|
341
|
+
const idx = args.indexOf("--limit");
|
|
342
|
+
if (idx === -1) return 5;
|
|
343
|
+
const parsed = Number.parseInt(args[idx + 1] ?? "", 10);
|
|
344
|
+
if (!Number.isFinite(parsed) || parsed <= 0) return 5;
|
|
345
|
+
return Math.min(parsed, 20);
|
|
346
|
+
}
|
|
347
|
+
function getCiInternalCommandEntries() {
|
|
348
|
+
return [
|
|
349
|
+
{
|
|
350
|
+
path: ["ci", "status"],
|
|
351
|
+
description: "Show recent nolo-ci deploy jobs (alpha / main)",
|
|
352
|
+
kind: "internal",
|
|
353
|
+
handler: async (args) => {
|
|
354
|
+
const jobs = await fetchCiStatus(parseLimit(args));
|
|
355
|
+
if (!jobs) {
|
|
356
|
+
console.log(
|
|
357
|
+
"\u65E0\u6CD5\u83B7\u53D6\u90E8\u7F72\u72B6\u6001\uFF1A\u672C\u673A\u5230 alpha \u7684 ssh \u901A\u9053\u4E0D\u53EF\u7528\uFF08\u9700\u8981 ~/.ssh/config \u91CC\u6709 alpha-raw\uFF0C\u6216\u8BBE\u7F6E NOLO_ALPHA_SSH_CONFIG_HOST\uFF09\u3002"
|
|
358
|
+
);
|
|
359
|
+
return 1;
|
|
360
|
+
}
|
|
361
|
+
if (jobs.length === 0) {
|
|
362
|
+
console.log("nolo-ci \u6682\u65E0\u4EFB\u52A1\u8BB0\u5F55\u3002");
|
|
363
|
+
return 0;
|
|
364
|
+
}
|
|
365
|
+
console.log("\u6700\u8FD1\u90E8\u7F72\u4EFB\u52A1\uFF08\u65B0 \u2192 \u65E7\uFF09\uFF1A");
|
|
366
|
+
for (const job of jobs) console.log(formatJob(job));
|
|
367
|
+
return 0;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
];
|
|
314
371
|
}
|
|
315
372
|
|
|
316
373
|
// packages/cli/dialogInternalCommandEntries.ts
|
|
317
374
|
function getDialogInternalCommandEntries() {
|
|
318
375
|
return [
|
|
319
376
|
createEnvCommand(["dialog", "search"], "Search dialog messages across dialogs", async (args, deps) => {
|
|
320
|
-
const { runDialogSearchCommand } = await import("./dialogCommands-
|
|
377
|
+
const { runDialogSearchCommand } = await import("./dialogCommands-YZLSJB6X.js");
|
|
321
378
|
return runDialogSearchCommand(args, deps);
|
|
322
379
|
}),
|
|
323
380
|
createEnvCommand(["dialog", "list"], "List dialogs (default --limit 50; --all/--limit 0 full; --jsonl streams)", async (args, deps) => {
|
|
324
|
-
const { runDialogListCommand } = await import("./dialogCommands-
|
|
381
|
+
const { runDialogListCommand } = await import("./dialogCommands-YZLSJB6X.js");
|
|
325
382
|
return runDialogListCommand(args, deps);
|
|
326
383
|
}),
|
|
327
384
|
createEnvCommand(["dialog", "delete"], "Delete one or more dialogs", async (args, deps) => {
|
|
328
|
-
const { runDialogDeleteCommand } = await import("./dialogCommands-
|
|
385
|
+
const { runDialogDeleteCommand } = await import("./dialogCommands-YZLSJB6X.js");
|
|
329
386
|
return runDialogDeleteCommand(args, deps);
|
|
330
387
|
}),
|
|
331
388
|
createEnvCommand(["dialog", "query"], "Query dialogs by subject refs (default --limit 50; --all full; --jsonl streams)", async (args, deps) => {
|
|
332
|
-
const { runDialogQueryCommand } = await import("./dialogCommands-
|
|
389
|
+
const { runDialogQueryCommand } = await import("./dialogCommands-YZLSJB6X.js");
|
|
333
390
|
return runDialogQueryCommand(args, deps);
|
|
334
391
|
}),
|
|
335
392
|
createEnvCommand(["dialog", "read"], "Read a dialog", async (args, deps) => {
|
|
336
|
-
const { runDialogReadCommand } = await import("./dialogCommands-
|
|
393
|
+
const { runDialogReadCommand } = await import("./dialogCommands-YZLSJB6X.js");
|
|
337
394
|
return runDialogReadCommand(args, deps);
|
|
338
395
|
}),
|
|
339
396
|
createEnvCommand(["dialog", "status"], "Read compact dialog status", async (args, deps) => {
|
|
340
|
-
const { runDialogStatusCommand } = await import("./dialogCommands-
|
|
397
|
+
const { runDialogStatusCommand } = await import("./dialogCommands-YZLSJB6X.js");
|
|
341
398
|
return runDialogStatusCommand(args, deps);
|
|
342
399
|
})
|
|
343
400
|
];
|
|
@@ -347,39 +404,39 @@ function getDialogInternalCommandEntries() {
|
|
|
347
404
|
function getDocInternalCommandEntries() {
|
|
348
405
|
return [
|
|
349
406
|
createEnvCommand(["doc", "create"], "Create a normal doc", async (args, deps) => {
|
|
350
|
-
const { runDocCreateCommand } = await import("./docCreateCommands-
|
|
407
|
+
const { runDocCreateCommand } = await import("./docCreateCommands-JB2RRMRJ.js");
|
|
351
408
|
return runDocCreateCommand(args, deps);
|
|
352
409
|
}),
|
|
353
410
|
createEnvCommand(["doc", "read"], "Read a normal doc", async (args, deps) => {
|
|
354
|
-
const { runDocReadCommand } = await import("./docReadCommands-
|
|
411
|
+
const { runDocReadCommand } = await import("./docReadCommands-DYD25YLQ.js");
|
|
355
412
|
return runDocReadCommand(args, deps);
|
|
356
413
|
}),
|
|
357
414
|
createEnvCommand(["doc", "update"], "Update a normal doc", async (args, deps) => {
|
|
358
|
-
const { runDocUpdateCommand } = await import("./docUpdateCommands-
|
|
415
|
+
const { runDocUpdateCommand } = await import("./docUpdateCommands-3GVS23QL.js");
|
|
359
416
|
return runDocUpdateCommand(args, deps);
|
|
360
417
|
}),
|
|
361
418
|
createEnvCommand(["doc", "delete"], "Delete a normal doc", async (args, deps) => {
|
|
362
|
-
const { runDocDeleteCommand } = await import("./docDeleteCommands-
|
|
419
|
+
const { runDocDeleteCommand } = await import("./docDeleteCommands-AQENULNM.js");
|
|
363
420
|
return runDocDeleteCommand(args, deps);
|
|
364
421
|
}),
|
|
365
422
|
createEnvCommand(["skill-doc", "create"], "Create a skill-backed doc", async (args, deps) => {
|
|
366
|
-
const { runSkillDocCreateCommand } = await import("./docCreateCommands-
|
|
423
|
+
const { runSkillDocCreateCommand } = await import("./docCreateCommands-JB2RRMRJ.js");
|
|
367
424
|
return runSkillDocCreateCommand(args, deps);
|
|
368
425
|
}),
|
|
369
426
|
createEnvCommand(["skill", "create-doc"], "Create a skill-backed doc", async (args, deps) => {
|
|
370
|
-
const { runSkillDocCreateCommand } = await import("./docCreateCommands-
|
|
427
|
+
const { runSkillDocCreateCommand } = await import("./docCreateCommands-JB2RRMRJ.js");
|
|
371
428
|
return runSkillDocCreateCommand(args, deps);
|
|
372
429
|
}),
|
|
373
430
|
createEnvCommand(["skill-doc", "read"], "Read a skill doc", async (args, deps) => {
|
|
374
|
-
const { runSkillDocReadCommand } = await import("./docReadCommands-
|
|
431
|
+
const { runSkillDocReadCommand } = await import("./docReadCommands-DYD25YLQ.js");
|
|
375
432
|
return runSkillDocReadCommand(args, deps);
|
|
376
433
|
}),
|
|
377
434
|
createEnvCommand(["skill-doc", "update"], "Update a skill doc", async (args, deps) => {
|
|
378
|
-
const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-
|
|
435
|
+
const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-3GVS23QL.js");
|
|
379
436
|
return runSkillDocUpdateCommand(args, deps);
|
|
380
437
|
}),
|
|
381
438
|
createEnvCommand(["skill-doc", "delete"], "Delete a skill doc", async (args, deps) => {
|
|
382
|
-
const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-
|
|
439
|
+
const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-AQENULNM.js");
|
|
383
440
|
return runSkillDocDeleteCommand(args, deps);
|
|
384
441
|
})
|
|
385
442
|
];
|
|
@@ -407,19 +464,19 @@ function getMemoryInternalCommandEntries() {
|
|
|
407
464
|
function getSpaceInternalCommandEntries() {
|
|
408
465
|
return [
|
|
409
466
|
createEnvCommand(["space", "create"], "Create a space", async (args, deps) => {
|
|
410
|
-
const { runSpaceCreateCommand } = await import("./spaceCommands-
|
|
467
|
+
const { runSpaceCreateCommand } = await import("./spaceCommands-ZR5BR3GX.js");
|
|
411
468
|
return runSpaceCreateCommand(args, deps);
|
|
412
469
|
}),
|
|
413
470
|
createEnvCommand(["space", "invite"], "Invite an existing user to a space", async (args, deps) => {
|
|
414
|
-
const { runSpaceInviteCommand } = await import("./spaceCommands-
|
|
471
|
+
const { runSpaceInviteCommand } = await import("./spaceCommands-ZR5BR3GX.js");
|
|
415
472
|
return runSpaceInviteCommand(args, deps);
|
|
416
473
|
}),
|
|
417
474
|
createEnvCommand(["space", "accept-invite"], "Accept a space invite", async (args, deps) => {
|
|
418
|
-
const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-
|
|
475
|
+
const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-ZR5BR3GX.js");
|
|
419
476
|
return runSpaceAcceptInviteCommand(args, deps);
|
|
420
477
|
}),
|
|
421
478
|
createEnvCommand(["space", "upload"], "Upload a file to a space", async (args, deps) => {
|
|
422
|
-
const { runSpaceUploadCommand } = await import("./spaceCommands-
|
|
479
|
+
const { runSpaceUploadCommand } = await import("./spaceCommands-ZR5BR3GX.js");
|
|
423
480
|
return runSpaceUploadCommand(args, deps);
|
|
424
481
|
})
|
|
425
482
|
];
|
|
@@ -429,67 +486,75 @@ function getSpaceInternalCommandEntries() {
|
|
|
429
486
|
function getSystemInternalCommandEntries(renderHelpText2) {
|
|
430
487
|
return [
|
|
431
488
|
createContextCommand(["auth", "cooldown"], "List / clear credential availability cooldowns", async (_args, ctx) => {
|
|
432
|
-
const { runAuthCooldownCommand } = await import("./cooldownCommands-
|
|
489
|
+
const { runAuthCooldownCommand } = await import("./cooldownCommands-JFKTYS2D.js");
|
|
433
490
|
return runAuthCooldownCommand(_args, ctx.env);
|
|
434
491
|
}),
|
|
435
492
|
createArgsCommand(["auth", "cloudflare"], "Authorize Cloudflare OAuth", async (args) => {
|
|
436
|
-
const { runAuthCloudflareCommand } = await import("./authCommand-
|
|
493
|
+
const { runAuthCloudflareCommand } = await import("./authCommand-QYN47CQD.js");
|
|
437
494
|
return runAuthCloudflareCommand(args);
|
|
438
495
|
}),
|
|
439
496
|
createArgsCommand(["auth", "chatgpt"], "Authorize ChatGPT / OpenAI Codex OAuth", async (args) => {
|
|
440
|
-
const { runAuthChatgptCommand } = await import("./authCommand-
|
|
497
|
+
const { runAuthChatgptCommand } = await import("./authCommand-QYN47CQD.js");
|
|
441
498
|
return runAuthChatgptCommand(args);
|
|
442
499
|
}),
|
|
443
500
|
createArgsCommand(["auth", "xai"], "Authorize xAI Grok OAuth (SuperGrok subscription)", async (args) => {
|
|
444
|
-
const { runAuthXaiCommand } = await import("./authCommand-
|
|
501
|
+
const { runAuthXaiCommand } = await import("./authCommand-QYN47CQD.js");
|
|
445
502
|
return runAuthXaiCommand(args);
|
|
446
503
|
}),
|
|
447
504
|
createArgsCommand(["auth", "antigravity"], "Authorize Google Antigravity OAuth", async (args) => {
|
|
448
|
-
const { runAuthAntigravityCommand } = await import("./authCommand-
|
|
505
|
+
const { runAuthAntigravityCommand } = await import("./authCommand-QYN47CQD.js");
|
|
449
506
|
return runAuthAntigravityCommand(args);
|
|
450
507
|
}),
|
|
451
508
|
createArgsCommand(["auth", "claude"], "Authorize Claude Pro/Max OAuth", async (args) => {
|
|
452
|
-
const { runAuthClaudeCommand } = await import("./authCommand-
|
|
509
|
+
const { runAuthClaudeCommand } = await import("./authCommand-QYN47CQD.js");
|
|
453
510
|
return runAuthClaudeCommand(args);
|
|
454
511
|
}),
|
|
455
512
|
createArgsCommand(["auth", "cursor"], "Authorize Cursor Pro OAuth", async (args) => {
|
|
456
|
-
const { runAuthCursorCommand } = await import("./authCommand-
|
|
513
|
+
const { runAuthCursorCommand } = await import("./authCommand-QYN47CQD.js");
|
|
457
514
|
return runAuthCursorCommand(args);
|
|
458
515
|
}),
|
|
459
516
|
createArgsCommand(["auth", "devin"], "Authorize Devin OAuth (Free SWE-2)", async (args) => {
|
|
460
|
-
const { runAuthDevinCommand } = await import("./authCommand-
|
|
517
|
+
const { runAuthDevinCommand } = await import("./authCommand-QYN47CQD.js");
|
|
461
518
|
return runAuthDevinCommand(args);
|
|
462
519
|
}),
|
|
520
|
+
createArgsCommand(["auth", "workbuddy"], "Authorize WorkBuddy OAuth (China)", async (args) => {
|
|
521
|
+
const { runAuthWorkbuddyCommand } = await import("./authCommand-QYN47CQD.js");
|
|
522
|
+
return runAuthWorkbuddyCommand(args);
|
|
523
|
+
}),
|
|
524
|
+
createArgsCommand(["auth", "workbuddy-ai"], "Authorize WorkBuddy AI OAuth (International)", async (args) => {
|
|
525
|
+
const { runAuthWorkbuddyAiCommand } = await import("./authCommand-QYN47CQD.js");
|
|
526
|
+
return runAuthWorkbuddyAiCommand(args);
|
|
527
|
+
}),
|
|
463
528
|
createArgsCommand(["login"], "Log in to Nolo", async (args) => {
|
|
464
|
-
const { runLoginCommand } = await import("./authCommands-
|
|
529
|
+
const { runLoginCommand } = await import("./authCommands-77CHYBGF.js");
|
|
465
530
|
return runLoginCommand(args);
|
|
466
531
|
}),
|
|
467
532
|
createContextCommand(["logout"], "Log out of Nolo", async (args, ctx) => {
|
|
468
|
-
const { runLogoutCommand } = await import("./authCommands-
|
|
533
|
+
const { runLogoutCommand } = await import("./authCommands-77CHYBGF.js");
|
|
469
534
|
return runLogoutCommand({ args, env: ctx.env });
|
|
470
535
|
}),
|
|
471
536
|
createContextCommand(["whoami"], "Show the current login state", async (args, ctx) => {
|
|
472
|
-
const { runWhoamiCommand } = await import("./authCommands-
|
|
537
|
+
const { runWhoamiCommand } = await import("./authCommands-77CHYBGF.js");
|
|
473
538
|
return runWhoamiCommand({ args, env: ctx.env });
|
|
474
539
|
}),
|
|
475
540
|
createEntrypointEnvCommand(["connect"], "Send machine heartbeats or hold a connector websocket", async (args, deps) => {
|
|
476
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
541
|
+
const { runMachineConnectCommand } = await import("./machineCommands-6OBFD3XF.js");
|
|
477
542
|
return runMachineConnectCommand(args, deps);
|
|
478
543
|
}),
|
|
479
544
|
createDaemonShortcutCommand(["daemon"], "Run the connector daemon shortcut", async (args, deps) => {
|
|
480
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
545
|
+
const { runMachineConnectCommand } = await import("./machineCommands-6OBFD3XF.js");
|
|
481
546
|
return runMachineConnectCommand(args, deps);
|
|
482
547
|
}),
|
|
483
548
|
createEnvCommand(["machine", "status"], "List machines registered to the current profile", async (args, deps) => {
|
|
484
|
-
const { runMachineStatusCommand } = await import("./machineCommands-
|
|
549
|
+
const { runMachineStatusCommand } = await import("./machineCommands-6OBFD3XF.js");
|
|
485
550
|
return runMachineStatusCommand(args, deps);
|
|
486
551
|
}),
|
|
487
552
|
createEnvCommand(["doctor", "runtime"], "Diagnose local-first agent runtime selection", async (args, deps) => {
|
|
488
|
-
const { runDoctorRuntimeCommand } = await import("./runtimeDoctorCommands-
|
|
553
|
+
const { runDoctorRuntimeCommand } = await import("./runtimeDoctorCommands-GIOGC5SC.js");
|
|
489
554
|
return runDoctorRuntimeCommand(args, deps);
|
|
490
555
|
}),
|
|
491
556
|
createContextCommand(["doctor"], "Show CLI doctor information", async (_args, ctx) => {
|
|
492
|
-
const { buildCliDoctorText, getCliInstallChannel, resolveSelfUpdateServerUrl } = await import("./updateCommands-
|
|
557
|
+
const { buildCliDoctorText, getCliInstallChannel, resolveSelfUpdateServerUrl } = await import("./updateCommands-NQXAGFM7.js");
|
|
493
558
|
const { isCompiledBinary } = await import("./cliEnvHelpers-ZXNMX7VV.js");
|
|
494
559
|
const serverUrl = resolveSelfUpdateServerUrl(ctx.env);
|
|
495
560
|
console.log(
|
|
@@ -506,25 +571,30 @@ function getSystemInternalCommandEntries(renderHelpText2) {
|
|
|
506
571
|
return 0;
|
|
507
572
|
}),
|
|
508
573
|
createContextCommand(["update"], "Update the CLI", async (_args, ctx) => {
|
|
509
|
-
const { resolveSelfUpdateServerUrl, runSelfUpdate } = await import("./updateCommands-
|
|
574
|
+
const { resolveSelfUpdateServerUrl, runSelfUpdate } = await import("./updateCommands-NQXAGFM7.js");
|
|
510
575
|
return runSelfUpdate({
|
|
511
576
|
entrypointPath: ctx.entrypointPath,
|
|
512
577
|
serverUrl: resolveSelfUpdateServerUrl(ctx.env),
|
|
513
578
|
env: ctx.env
|
|
514
579
|
});
|
|
515
580
|
}),
|
|
581
|
+
createArgsCommand(["secret"], "Manage local developer secrets (~/.nolo/credentials/secrets.json)", async (args) => {
|
|
582
|
+
const { runSecretCommand } = await import("./secretCommands-ZXZRLR3R.js");
|
|
583
|
+
await runSecretCommand(args);
|
|
584
|
+
return process.exitCode ?? 0;
|
|
585
|
+
}),
|
|
516
586
|
createContextCommand(["version"], "Show CLI version", async (_args, ctx) => {
|
|
517
|
-
const { buildCliVersionText } = await import("./updateCommands-
|
|
587
|
+
const { buildCliVersionText } = await import("./updateCommands-NQXAGFM7.js");
|
|
518
588
|
console.log(buildCliVersionText(ctx.packageInfo));
|
|
519
589
|
return 0;
|
|
520
590
|
}),
|
|
521
591
|
createContextCommand(["--version"], "Show CLI version", async (_args, ctx) => {
|
|
522
|
-
const { buildCliVersionText } = await import("./updateCommands-
|
|
592
|
+
const { buildCliVersionText } = await import("./updateCommands-NQXAGFM7.js");
|
|
523
593
|
console.log(buildCliVersionText(ctx.packageInfo));
|
|
524
594
|
return 0;
|
|
525
595
|
}),
|
|
526
596
|
createContextCommand(["-v"], "Show CLI version", async (_args, ctx) => {
|
|
527
|
-
const { buildCliVersionText } = await import("./updateCommands-
|
|
597
|
+
const { buildCliVersionText } = await import("./updateCommands-NQXAGFM7.js");
|
|
528
598
|
console.log(buildCliVersionText(ctx.packageInfo));
|
|
529
599
|
return 0;
|
|
530
600
|
}),
|
|
@@ -578,39 +648,39 @@ function getTableInternalCommandEntries() {
|
|
|
578
648
|
return 0;
|
|
579
649
|
}),
|
|
580
650
|
createArgsCommand(["table", "delete-rows"], "Delete table rows", async (args) => {
|
|
581
|
-
const { runTableDeleteRowsCommand } = await import("./tableCommands-
|
|
651
|
+
const { runTableDeleteRowsCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
582
652
|
return runTableDeleteRowsCommand(args);
|
|
583
653
|
}),
|
|
584
654
|
createEnvCommand(["table", "purge-rows"], "Permanently purge table rows", async (args, deps) => {
|
|
585
|
-
const { runTablePurgeRowsCommand } = await import("./tableCommands-
|
|
655
|
+
const { runTablePurgeRowsCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
586
656
|
return runTablePurgeRowsCommand(args, deps);
|
|
587
657
|
}),
|
|
588
658
|
createEnvCommand(["table", "remove-row-fields"], "Remove fields from table rows", async (args, deps) => {
|
|
589
|
-
const { runTableRemoveRowFieldsCommand } = await import("./tableCommands-
|
|
659
|
+
const { runTableRemoveRowFieldsCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
590
660
|
return runTableRemoveRowFieldsCommand(args, deps);
|
|
591
661
|
}),
|
|
592
662
|
createEnvCommand(["table", "add-column"], "Add a table column", async (args, deps) => {
|
|
593
|
-
const { runTableAddColumnCommand } = await import("./tableCommands-
|
|
663
|
+
const { runTableAddColumnCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
594
664
|
return runTableAddColumnCommand(args, deps);
|
|
595
665
|
}),
|
|
596
666
|
createEnvCommand(["table", "add-row"], "Add a table row", async (args, deps) => {
|
|
597
|
-
const { runTableAddRowCommand } = await import("./tableCommands-
|
|
667
|
+
const { runTableAddRowCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
598
668
|
return runTableAddRowCommand(args, deps);
|
|
599
669
|
}),
|
|
600
670
|
createEnvCommand(["table", "add-rows"], "Add table rows", async (args, deps) => {
|
|
601
|
-
const { runTableAddRowsCommand } = await import("./tableCommands-
|
|
671
|
+
const { runTableAddRowsCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
602
672
|
return runTableAddRowsCommand(args, deps);
|
|
603
673
|
}),
|
|
604
674
|
createEnvCommand(["table", "update-row"], "Update a table row", async (args, deps) => {
|
|
605
|
-
const { runTableUpdateRowCommand } = await import("./tableCommands-
|
|
675
|
+
const { runTableUpdateRowCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
606
676
|
return runTableUpdateRowCommand(args, deps);
|
|
607
677
|
}),
|
|
608
678
|
createEnvCommand(["table", "update-rows"], "Update table rows", async (args, deps) => {
|
|
609
|
-
const { runTableUpdateRowsCommand } = await import("./tableCommands-
|
|
679
|
+
const { runTableUpdateRowsCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
610
680
|
return runTableUpdateRowsCommand(args, deps);
|
|
611
681
|
}),
|
|
612
682
|
createEnvCommand(["table", "delete-row"], "Delete a table row", async (args, deps) => {
|
|
613
|
-
const { runTableDeleteRowCommand } = await import("./tableCommands-
|
|
683
|
+
const { runTableDeleteRowCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
614
684
|
return runTableDeleteRowCommand(args, deps);
|
|
615
685
|
})
|
|
616
686
|
];
|
|
@@ -620,11 +690,11 @@ function getTableInternalCommandEntries() {
|
|
|
620
690
|
function getWorkflowInternalCommandEntries() {
|
|
621
691
|
return [
|
|
622
692
|
createEnvCommand(["table", "list"], "List table metadata", async (args, deps) => {
|
|
623
|
-
const { runTableListCommand } = await import("./tableCommands-
|
|
693
|
+
const { runTableListCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
624
694
|
return runTableListCommand(args, deps);
|
|
625
695
|
}),
|
|
626
696
|
createEnvCommand(["table", "query"], "Query table rows", async (args, deps) => {
|
|
627
|
-
const { runTableQueryCommand } = await import("./tableCommands-
|
|
697
|
+
const { runTableQueryCommand } = await import("./tableCommands-U3QDY4L6.js");
|
|
628
698
|
return runTableQueryCommand(args, deps);
|
|
629
699
|
})
|
|
630
700
|
];
|
|
@@ -641,8 +711,9 @@ function getInternalCommandEntries(renderHelpText2) {
|
|
|
641
711
|
...getTableInternalCommandEntries(),
|
|
642
712
|
...getAppInternalCommandEntries(),
|
|
643
713
|
...getWorkflowInternalCommandEntries(),
|
|
644
|
-
// nolo chrome — connector setup (status|install|reload) + live
|
|
714
|
+
// nolo browser (main) / chrome (alias) — connector setup (status|install|reload) + live browser operations.
|
|
645
715
|
...getChromeInternalCommandEntries(),
|
|
716
|
+
...getCiInternalCommandEntries(),
|
|
646
717
|
...getSystemInternalCommandEntries(renderHelpText2)
|
|
647
718
|
];
|
|
648
719
|
}
|
|
@@ -704,8 +775,9 @@ var GROUP_ORDER = [
|
|
|
704
775
|
"skill",
|
|
705
776
|
"agent",
|
|
706
777
|
"machine",
|
|
707
|
-
"chrome",
|
|
708
778
|
"browser",
|
|
779
|
+
"chrome",
|
|
780
|
+
"ci",
|
|
709
781
|
"doctor",
|
|
710
782
|
"dialog",
|
|
711
783
|
"memory",
|
|
@@ -739,10 +811,10 @@ function renderHelpText() {
|
|
|
739
811
|
" nolo connect --ws --server-url https://api.nolo.chat --machine-key sk_machine_xxx",
|
|
740
812
|
" nolo connect --daemon --server-url https://api.nolo.chat --machine-key sk_machine_xxx",
|
|
741
813
|
" nolo machine status",
|
|
742
|
-
" nolo
|
|
743
|
-
" nolo chrome status",
|
|
814
|
+
" nolo browser install",
|
|
744
815
|
" nolo browser status",
|
|
745
|
-
|
|
816
|
+
" nolo chrome status # compatibility alias",
|
|
817
|
+
' nolo browser upload --tab 1 --selector "#upload" --file ./photo.jpg',
|
|
746
818
|
" nolo doctor",
|
|
747
819
|
" nolo doctor runtime",
|
|
748
820
|
" nolo update",
|
|
@@ -772,7 +844,9 @@ function renderHelpText() {
|
|
|
772
844
|
" nolo llama status",
|
|
773
845
|
" nolo app list --json",
|
|
774
846
|
" nolo app get --name my-app",
|
|
775
|
-
" nolo app deploy --name my-app --code-file ./worker.js"
|
|
847
|
+
" nolo app deploy --name my-app --code-file ./worker.js",
|
|
848
|
+
" nolo secret list",
|
|
849
|
+
" nolo secret run --with amo -- bunx web-ext sign"
|
|
776
850
|
];
|
|
777
851
|
for (const group of GROUP_ORDER) {
|
|
778
852
|
const commands = COMMANDS.filter((entry) => entry.path[0] === group);
|
|
@@ -791,10 +865,12 @@ function renderCommandGroupHelpText(group) {
|
|
|
791
865
|
const commands = COMMANDS.filter((entry) => entry.path[0] === group);
|
|
792
866
|
if (commands.length === 0) return "";
|
|
793
867
|
return [
|
|
794
|
-
|
|
868
|
+
t("cli.groupCommandsTitle", group),
|
|
795
869
|
"",
|
|
796
|
-
"
|
|
797
|
-
...commands.map(
|
|
870
|
+
t("cli.usageLabel"),
|
|
871
|
+
...commands.map(
|
|
872
|
+
(entry) => ` nolo ${entry.path.join(" ")} ${cliCommandDescription(entry.path.join(" ")) ?? entry.description}`
|
|
873
|
+
),
|
|
798
874
|
""
|
|
799
875
|
].join("\n");
|
|
800
876
|
}
|