nolo-cli 0.213.0 → 0.223.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/{_executeModel-CUJLCFWR.js → _executeModel-4GGQQHOB.js} +111 -82
- package/{accountResolver-4LKIHEKL.js → accountResolver-EK2S4PWF.js} +6 -6
- package/{action-DF5UYSJF.js → action-CK64LS6S.js} +12 -11
- package/{addContentAction-WERAONNY.js → addContentAction-GDHDOF4U.js} +18 -17
- package/{addDialogAgentAction-7VI7YRML.js → addDialogAgentAction-CAKRU3ZT.js} +21 -20
- package/{agentDeleteCommand-XJORXPGU.js → agentDeleteCommand-BPV2XZL7.js} +128 -119
- package/{agentEmailCommands-XTYYFR6Z.js → agentEmailCommands-EJOS75YL.js} +132 -124
- package/{agentFavoriteCommands-EDK743YA.js → agentFavoriteCommands-2LKGKSUD.js} +7 -8
- package/{agentGrantCommands-RQWK2TEV.js → agentGrantCommands-QQV4N4JW.js} +5 -5
- package/{agentListCommands-OBLRBLHS.js → agentListCommands-HIZODBF3.js} +155 -92
- package/{agentMachineCommands-5FMT3OT5.js → agentMachineCommands-ZMQ2CY7Y.js} +62 -54
- package/{agentProviderCommands-Q5O33MED.js → agentProviderCommands-WKJOAWBP.js} +5 -5
- package/{agentPullCommand-6EM3URVK.js → agentPullCommand-XN6ZPBUW.js} +7 -7
- package/agentRecordCommands-OMXVDLDX.js +176 -0
- package/agentRunCommand-CB34YWMV.js +206 -0
- package/{agentRunControl-TAMHJQSR.js → agentRunControl-JNONH3RP.js} +30 -15
- package/{agentRuntimeLocal-SOO2OPJG.js → agentRuntimeLocal-QZPFWMLG.js} +52 -45
- package/{agentSlice-CHR6KOZN.js → agentSlice-RD2CDU7T.js} +20 -19
- package/{appDeleteCommands-GUP6P5YE.js → appDeleteCommands-QCCFDIEQ.js} +61 -53
- package/{appDeployCommands-MH2FX4O5.js → appDeployCommands-V2T7TNMQ.js} +61 -53
- package/{appDeployStatusCommands-SUHN3HPJ.js → appDeployStatusCommands-6PGH7ZCG.js} +61 -53
- package/{appGetCommands-YWDEX6Z4.js → appGetCommands-3L7WWJA6.js} +61 -53
- package/{appListCommands-ZQVMLPAY.js → appListCommands-ENJCK4PO.js} +61 -53
- package/{authCommand-PWX2ZNUP.js → authCommand-6V47SYGK.js} +29 -28
- package/{authCommands-HV3EAU3V.js → authCommands-GAJ3NIXO.js} +14 -13
- package/{builtinSkillRegistry-2QETTQPM.js → builtinSkillRegistry-2ECA42FC.js} +11 -13
- package/{chromeCommands-REEAH4SX.js → chromeCommands-G5UDKVSV.js} +3 -3
- package/{chromeOpsCommands-DIVM2K3T.js → chromeOpsCommands-YKX2QX3A.js} +20 -10
- package/{chunk-CRHOO2ZR.js → chunk-27PCUMJI.js} +2 -2
- package/chunk-2CI3ZFWD.js +97 -0
- package/{chunk-NSAPDIN2.js → chunk-2GJKRKI6.js} +541 -31
- package/{chunk-SM3NSZJV.js → chunk-2UCBGYO4.js} +20 -1
- package/{chunk-PYRUW7XN.js → chunk-2VUZSVAS.js} +136 -54
- package/{chunk-YB3YZK56.js → chunk-2WZXXAQD.js} +1 -67
- package/chunk-2YGBI2XB.js +30 -0
- package/chunk-2ZKFCIJJ.js +13 -0
- package/{chunk-QG4AOSON.js → chunk-34J5K2YA.js} +13 -32
- package/{chunk-LOEO7LRC.js → chunk-3IK6ILVW.js} +4 -1
- package/{chunk-CTPXME7U.js → chunk-3LMUPOHG.js} +29 -6
- package/chunk-44X52WOJ.js +1621 -0
- package/{chunk-6VLJ6YA7.js → chunk-4DESLZTK.js} +9 -9
- package/{chunk-MYOH447Z.js → chunk-4JVNURX4.js} +1 -1
- package/chunk-5CHGAKRT.js +364 -0
- package/{chunk-YDH3FDFQ.js → chunk-5FUN7EG4.js} +1 -1
- package/{chunk-INUFILG6.js → chunk-5RKUPJYL.js} +1 -1
- package/{chunk-ZC3CMUKU.js → chunk-6OVNSQHN.js} +84 -2
- package/{chunk-MOIJOHA5.js → chunk-6WU5572L.js} +36 -25
- package/{chunk-IXNGOHV5.js → chunk-7EEZJ6BS.js} +11 -152
- package/{chunk-Y6ORVLSS.js → chunk-7ET2U67U.js} +1 -1
- package/{chunk-G7MLNNEX.js → chunk-7JLY4WYF.js} +5 -5
- package/{chunk-P5L7CXOC.js → chunk-7Z6EW7AH.js} +3 -2
- package/{chunk-NJLL224W.js → chunk-AD5EWDFD.js} +2 -2
- package/{chunk-J2NHJ7WX.js → chunk-AIHYNKGV.js} +4 -4
- package/{chunk-HPFCI4SK.js → chunk-AK5O76CC.js} +3 -3
- package/{chunk-Y63ZSOR6.js → chunk-AL3TYDIF.js} +1 -1
- package/{chunk-ALQ3657A.js → chunk-AMEOV5VZ.js} +32 -12
- package/chunk-AN74ON4G.js +675 -0
- package/{chunk-HRMJUN5J.js → chunk-AQZ6BMRK.js} +1 -1
- package/{chunk-XHQC4PXX.js → chunk-B4GOW4MT.js} +424 -194
- package/{chunk-4KB6WQUL.js → chunk-BGP2EDFG.js} +1 -1
- package/{chunk-NBTY7YJF.js → chunk-BR3GT6MR.js} +1 -0
- package/{chunk-7RFNTILS.js → chunk-BUDVRYES.js} +2 -2
- package/{chunk-SVYO6AO7.js → chunk-BV3FLP2L.js} +41 -1
- package/{chunk-RZOV7OMV.js → chunk-C4VAR65S.js} +83 -141
- package/{chunk-COFEN36Z.js → chunk-C4WTX5TU.js} +2 -2
- package/{chunk-ZL5RAEEB.js → chunk-CIRB724Q.js} +1 -1
- package/{chunk-F6UUQOG6.js → chunk-CKT6QUE2.js} +4 -4
- package/{chunk-X7SDOJUM.js → chunk-CMZ3Z5PT.js} +14 -14
- package/{secretCommands-LXDWOLZ6.js → chunk-D726I5AZ.js} +191 -16
- package/{chunk-TAKB25RM.js → chunk-DNKTQ3IN.js} +4 -4
- package/chunk-DVQH4BTR.js +1137 -0
- package/{chunk-WYDI6TGM.js → chunk-DWX2HEVC.js} +91 -132
- package/{chunk-5MQRBSMW.js → chunk-EIAI3PPH.js} +111 -113
- package/chunk-EUCFKKDM.js +247 -0
- package/chunk-EWQ3HGNZ.js +90 -0
- package/{chunk-RPQXPZZF.js → chunk-F3GRJO4Z.js} +908 -13
- package/{chunk-YTF4WH7J.js → chunk-FIYSMXHY.js} +1 -1
- package/{chunk-75XIDFBW.js → chunk-FJ23FZXF.js} +72 -28
- package/{chunk-INN4LTAJ.js → chunk-FJK526XH.js} +2 -2
- package/chunk-FS2XP5D7.js +142 -0
- package/{chunk-FUGMREBO.js → chunk-FYF2TONJ.js} +5 -5
- package/{chunk-PCLE46CE.js → chunk-GBWGPTA7.js} +2 -1
- package/{chunk-TX5EYMGT.js → chunk-GYVCJABP.js} +30 -254
- package/{chunk-3UKL3HPD.js → chunk-HOCHUZQ7.js} +8 -78
- package/{chunk-EHSZD5OI.js → chunk-HXER7YJF.js} +4 -4
- package/chunk-HYIETXA6.js +99 -0
- package/{chunk-H2TJUNCH.js → chunk-I4EADJ4P.js} +6 -6
- package/{chunk-TCZHTTUU.js → chunk-I7WBYGBP.js} +8 -8
- package/{chunk-6DWMYIUY.js → chunk-IILMY4W4.js} +14 -9
- package/chunk-JA3ICVJY.js +271 -0
- package/{chunk-ZRSNONOB.js → chunk-JWXITTQB.js} +8 -3
- package/{chunk-H4UOTUOX.js → chunk-KEN3N2TN.js} +148 -18
- package/{chunk-LEC5ALIN.js → chunk-KEPOVMF4.js} +1 -1
- package/{chunk-UHJGXRJ4.js → chunk-KQSYAIZR.js} +3 -3
- package/{chunk-4VJAC32I.js → chunk-L5I543VB.js} +3 -2
- package/chunk-LKA64WH4.js +227 -0
- package/{chunk-QHPRUL4O.js → chunk-LVL6GFCM.js} +4 -4
- package/{chunk-H5HF7TJA.js → chunk-MAIITKBT.js} +2 -2
- package/chunk-MBG66ZBH.js +226 -0
- package/{chunk-YUA6OAH5.js → chunk-MDLS23JK.js} +2 -2
- package/{chunk-VL5KOY2C.js → chunk-MK2Q7ZJD.js} +67 -5
- package/{chunk-MDB67IWP.js → chunk-MS4NZNKI.js} +10 -10
- package/{chunk-VO4WSAVP.js → chunk-MYHNBEXD.js} +3 -3
- package/{chunk-ZXOUUDCG.js → chunk-MZLE5HQ3.js} +3654 -231
- package/{chunk-AZMYUSVF.js → chunk-N5Z2V73W.js} +1 -1
- package/{chunk-V5Y3R6BT.js → chunk-NIZ2BXFD.js} +213 -210
- package/{chunk-KFLT5KAD.js → chunk-NWP2OYOX.js} +20 -20
- package/{chunk-G2BQWAVT.js → chunk-O6J3OTOP.js} +4 -4
- package/{chunk-VNYYOX3V.js → chunk-OB6DVWPF.js} +141 -48
- package/{chunk-YWSEPJ7C.js → chunk-OBWT45ZU.js} +3 -3
- package/{chunk-ZNWI6OVT.js → chunk-ODJ7BVSI.js} +80 -11
- package/{chunk-XJWWBO34.js → chunk-OJKUU3LP.js} +5 -7
- package/{chunk-HUBHAQK2.js → chunk-ON37YXGX.js} +29 -29
- package/{chunk-UYD5HQ6T.js → chunk-P5ZJRTCH.js} +5429 -1752
- package/{chunk-6XIE5ZGI.js → chunk-PDCV7P5W.js} +1 -1
- package/{chunk-WRYQ35LQ.js → chunk-PJCIP64Z.js} +859 -57
- package/{chunk-7QTZCMKL.js → chunk-PJVKMGPZ.js} +1089 -1639
- package/{chunk-A7TFUNZO.js → chunk-PPJYZRSQ.js} +6 -2
- package/chunk-QHEN7NZ7.js +46 -0
- package/{chunk-OQPKUBPB.js → chunk-QNWG52I4.js} +19 -7
- package/{chunk-YGILMZ7N.js → chunk-QVBXJNZ2.js} +1 -1
- package/{chunk-7BT37FK3.js → chunk-RDH5CQ4T.js} +648 -131
- package/{chunk-C6KNNXWU.js → chunk-RGQ4UUWZ.js} +25 -2
- package/{chunk-OWYYDMGJ.js → chunk-S2NTVGA2.js} +4 -2
- package/{chunk-KC4XDTT3.js → chunk-SOF4OWDM.js} +6 -4
- package/{chunk-RLBNLZVC.js → chunk-SQYIK6HO.js} +1 -1
- package/{chunk-YJAFKXMU.js → chunk-SVT62ULE.js} +50 -48
- package/{chunk-KIM6CLW5.js → chunk-SY3C4SQ7.js} +42 -15
- package/{chunk-JY5NGFFH.js → chunk-SYTHYBMI.js} +5 -5
- package/{chunk-WMTBPBMP.js → chunk-T6DXNI6Z.js} +52 -50
- package/chunk-TLE77UJ5.js +230 -0
- package/{chunk-4VNS5WPM.js → chunk-U67V476Y.js} +1 -8
- package/{chunk-F7CI2ZC5.js → chunk-UAIHKQIA.js} +2 -1
- package/{chunk-R5O4QAWG.js → chunk-UB3D4TRQ.js} +11 -77
- package/{chunk-WPORQFYN.js → chunk-UVLYNWIE.js} +2 -2
- package/{chunk-NOKUNJON.js → chunk-UYOICCYG.js} +29 -19
- package/{chunk-4I7ERB7F.js → chunk-VREDDN25.js} +1 -1
- package/{chunk-O2TZF4AI.js → chunk-WAE3GFCJ.js} +3 -3
- package/{chunk-H7PPIYWP.js → chunk-WI67URFP.js} +20 -20
- package/{chunk-7OCO4TDT.js → chunk-WJVYAO6P.js} +1 -1
- package/{chunk-T43B7LB2.js → chunk-WKGQSYTB.js} +1 -1
- package/{chunk-BBJ22CLB.js → chunk-WUUH4LWZ.js} +60 -30
- package/{chunk-4T2WNOY7.js → chunk-X7UF53VA.js} +33 -22
- package/{chunk-TY3TIUJK.js → chunk-XI2BWJM5.js} +65 -0
- package/{chunk-LLRPJECG.js → chunk-XWVCYUUU.js} +16 -159
- package/{chunk-J5JTMQIA.js → chunk-YFLVRVYK.js} +1 -1
- package/{chunk-EYLGAEB4.js → chunk-YGMBIXCF.js} +132 -0
- package/chunk-YL3EFYL3.js +199 -0
- package/{chunk-MMA3LZ3W.js → chunk-YNIYE47Z.js} +1 -1
- package/{chunk-W4S457LU.js → chunk-YU4ZPWVF.js} +41 -5
- package/{chunk-7Y4YTDQF.js → chunk-YWWDC3O7.js} +281 -159
- package/chunk-YZMNK53S.js +68 -0
- package/{chunk-RSHTSUEG.js → chunk-Z2PITYZN.js} +2060 -602
- package/{chunk-FY7F4Q6X.js → chunk-Z4PCXPUE.js} +2 -2
- package/{cliAgentConfigHelpers-WJBZQTLW.js → cliAgentConfigHelpers-TKYL43MT.js} +15 -16
- package/{cliAuthorityBrokerClient-PM3U6Q6J.js → cliAuthorityBrokerClient-XHH7MH2P.js} +1 -1
- package/{cliAuthorityStoreDriver-TKLXNNTG.js → cliAuthorityStoreDriver-6FE3BJNB.js} +1 -1
- package/{cliEnvHelpers-BVYTMUPJ.js → cliEnvHelpers-VPSJ4XWC.js} +3 -3
- package/{cliExecutor-BWBF2MTI.js → cliExecutor-4MAX3PZL.js} +2 -2
- package/cliLocalAgentRecordReader-MHHD4T7R.js +90 -0
- package/{commandRegistry-W63CYRZJ.js → commandRegistry-5DA5UP7S.js} +105 -97
- package/{contentThunks-U7PL5MQD.js → contentThunks-5GUQ7FWJ.js} +47 -43
- package/{cooldownCommands-TIGUHXTD.js → cooldownCommands-X7P5M2V5.js} +5 -4
- package/{createAgentAutomationAction-OLBQDD6R.js → createAgentAutomationAction-UCLTHQRI.js} +51 -49
- package/{createDialogAction-SVH6B3SB.js → createDialogAction-UPN774AF.js} +46 -48
- package/{createPageAction-F4DIWZ2Z.js → createPageAction-JRQ2TA4O.js} +50 -48
- package/{cursorProvider-YGGNMVWX.js → cursorProvider-2RACMEMF.js} +1 -1
- package/{db-HUCI5R4G.js → db-CS4ZJQKV.js} +1 -1
- package/{dbSlice-BVH2YZPQ.js → dbSlice-WNON7TOL.js} +17 -16
- package/{deleteFile-5YOEKV4U.js → deleteFile-Q3YDB4ML.js} +9 -9
- package/{desktopFolderProjects-SFY5EZS3.js → desktopFolderProjects-4POAMVJN.js} +2 -2
- package/{dialogCommands-KHIEPY3M.js → dialogCommands-VRI7VCXH.js} +64 -57
- package/dialogNotifyCommand-6TMCX4D2.js +36 -0
- package/{dialogSlice-ZCTDV2PZ.js → dialogSlice-LFNVUSAN.js} +42 -40
- package/{dialogUsageCommand-7KCPYGHG.js → dialogUsageCommand-HTVPR2CX.js} +11 -10
- package/{docCreateCommands-DPMZI7G5.js → docCreateCommands-AMPXMOX3.js} +61 -55
- package/{docDeleteCommands-IRQQLUBT.js → docDeleteCommands-I5WFAEHP.js} +63 -57
- package/{docReadCommands-LK37XH6L.js → docReadCommands-X53ELNIE.js} +61 -55
- package/{docStore-V2KECILA.js → docStore-2VAWVLWH.js} +21 -20
- package/{docUpdateCommands-O6T3HJHH.js → docUpdateCommands-6QPNDC7M.js} +64 -58
- package/{fetchMessages-NR4KNQLO.js → fetchMessages-TQEUZD7H.js} +8 -7
- package/{getPricing-2MNMXEVG.js → getPricing-MB2GBXOK.js} +6 -6
- package/{handleSendMessageAction-2PE25WM3.js → handleSendMessageAction-AAJOHXOB.js} +194 -302
- package/{hostCredentialCreate-S233UMAP.js → hostCredentialCreate-GLMJ22M6.js} +123 -114
- package/index.js +29 -29
- package/{keys-BEGDOTRL.js → keys-RWF7UCB4.js} +5 -4
- package/legacyMigration-TF4SYJCZ.js +19 -0
- package/{lib-5KKIBFIT.js → lib-OT5OTXRU.js} +7087 -6664
- package/{localDialogRead-7NNDVVF7.js → localDialogRead-SVTPA5GY.js} +3 -3
- package/{localFirstLog-DHNOY2NA.js → localFirstLog-OIETGK66.js} +1 -1
- package/localRecall-2J6QPOK2.js +15 -0
- package/{localRuntimeAdapter-KY6WXNBR.js → localRuntimeAdapter-BMP57P42.js} +119 -110
- package/{localRuntimeAuthority-OYH4AE4G.js → localRuntimeAuthority-IBJAT62G.js} +1 -1
- package/{localRuntimeDb-VBIMCWUC.js → localRuntimeDb-N7KHDXS2.js} +2 -2
- package/{machineCommands-Q6HA3IXF.js → machineCommands-3MLIAK5Q.js} +128 -119
- package/{machineInfo-UKPTZO5Y.js → machineInfo-LWHTEBHJ.js} +1 -1
- package/machineWsRunDispatch-FKIGROQF.js +191 -0
- package/{memberThunks-7EDJADWU.js → memberThunks-ZGLZ36PK.js} +29 -28
- package/{memoryCommands-ASCE5STX.js → memoryCommands-5WC3T66U.js} +4 -4
- package/models-ULVWLSQ6.js +9 -0
- package/{oauthTokenStore-OEERZFUC.js → oauthTokenStore-RUYNYALS.js} +1 -1
- package/{offlineMarxistsAgentCommand-2QTHJCHV.js → offlineMarxistsAgentCommand-4IC3Y4C6.js} +4 -4
- package/overlay-THLKYIWY.js +11 -0
- package/package.json +2 -2
- package/{pdf-U6KSUEZZ.js → pdf-KE3QI2V7.js} +1 -1
- package/{processSpawn-ZU5QFM43.js → processSpawn-6GEO77KV.js} +1 -1
- package/{profileConfig-KN3N2BLF.js → profileConfig-KOWK4HOG.js} +1 -1
- package/{projectArchive-DRTDIMEV.js → projectArchive-HK63GMF4.js} +52 -50
- package/{providerPresetApply-YXGV6NXB.js → providerPresetApply-OIFQ73LH.js} +19 -12
- package/{providerRegistry-S6UL6UNA.js → providerRegistry-KZ3SDZ3D.js} +10 -10
- package/{read-4V2RMG7N.js → read-MRQHJMJ2.js} +10 -10
- package/{readDocTool-BH6ATGQO.js → readDocTool-4BGTXTXA.js} +2 -2
- package/{readlineWorkspace-2W4WRCOU.js → readlineWorkspace-AKAHSCNY.js} +7982 -6274
- package/{removeDialogAgentAction-LYAZGNKW.js → removeDialogAgentAction-B6H7DXFM.js} +23 -22
- package/{runAgentClientLoop-J2VQBS2Z.js → runAgentClientLoop-UVAWGEON.js} +81 -79
- package/{runtimeDoctorCommands-QAI3MBKQ.js → runtimeDoctorCommands-FW6XKDUG.js} +12 -12
- package/{runtimeModeArgs-2Y7BALTO.js → runtimeModeArgs-X7DL7PUN.js} +1 -1
- package/secretCommands-LJXOOYA7.js +24 -0
- package/{setDialogExtraReferencesAction-OCRPGPYH.js → setDialogExtraReferencesAction-EVCY3TRW.js} +22 -21
- package/{setPrimaryDialogAgentAction-HFJDQIBU.js → setPrimaryDialogAgentAction-KPFVPHCJ.js} +23 -22
- package/{settingThunks-RAMHMTGM.js → settingThunks-ENOAK2WV.js} +97 -88
- package/{skillDiscovery-XKHROSH2.js → skillDiscovery-B5V23AXP.js} +4 -4
- package/{skillSummaryMarker-42HKSXYY.js → skillSummaryMarker-62UW7HI7.js} +1 -1
- package/{slateToRenderMarkdown-Y5IYN73U.js → slateToRenderMarkdown-R3X74MCX.js} +1 -1
- package/{slateUtils-NGV2NMKM.js → slateUtils-ESQAJ6RN.js} +1 -1
- package/{spaceCommands-KVJZVKVO.js → spaceCommands-DTTNAS2L.js} +61 -53
- package/store-JRVN62NM.js +46 -0
- package/{streamAgentChatTurn-GHBMJJ6S.js → streamAgentChatTurn-R5UY25VB.js} +875 -618
- package/{switchDialogAgentAction-EBRMW3RA.js → switchDialogAgentAction-SZ44XDRY.js} +21 -20
- package/{tableCommands-MP6VFSVT.js → tableCommands-HITDSLHS.js} +10 -10
- package/tombstones-FQQMEDOW.js +32 -0
- package/{toolApiClient-HGNO53TC.js → toolApiClient-OGQEBQVX.js} +4 -4
- package/{tools-EWKCPKMS.js → tools-HWFG6GMJ.js} +75 -74
- package/tuiSummaryLlmCaller-HQQZAMYF.js +44 -0
- package/{updateCommands-ZQYU6SCI.js → updateCommands-RJVCRSBP.js} +10 -8
- package/{updateDialogTitleAction-5GGMBTDF.js → updateDialogTitleAction-KNPOAMVS.js} +48 -46
- package/{usageCommand-F4IPVMIZ.js → usageCommand-FWZCB7AM.js} +11 -10
- package/{usageRebuildCommand-HAW2AD5N.js → usageRebuildCommand-SP2BLNJU.js} +12 -11
- package/userDataMerge-HT2ZVHBJ.js +13 -0
- package/{windowsSelfUpdate-257DV2T6.js → windowsSelfUpdate-KERHIAB4.js} +3 -3
- package/{workloadLifecycle-4C42SVBD.js → workloadLifecycle-DYNEYHV5.js} +6 -6
- package/agentRecordCommands-ZQ7SVYGG.js +0 -167
- package/agentRunCommand-WS7IGO2W.js +0 -196
- package/chunk-3CGG2PAL.js +0 -594
- package/chunk-5XBUWM6I.js +0 -89
- package/chunk-CJEIOP3E.js +0 -0
- package/chunk-EHGEOAHI.js +0 -636
- package/chunk-FW6YHHLI.js +0 -842
- package/chunk-GPVRUGGY.js +0 -115
- package/chunk-HSVBJRF4.js +0 -339
- package/chunk-WJZOQR2J.js +0 -151
- package/chunk-ZCWRMUWT.js +0 -89
- package/dist-M676ULYG.js +0 -7314
- package/machineWsRunDispatch-WWJQ6WR3.js +0 -182
- package/models-PJBE6JDV.js +0 -9
- package/tuiSummaryLlmCaller-ALQYUUWB.js +0 -189
- package/{chunk-WACI5I6V.js → chunk-2THCNKE4.js} +3 -3
- package/{chunk-2QHFH3DR.js → chunk-47ITIXO7.js} +6 -6
- package/{chunk-GOO6G4PY.js → chunk-CKG3PRZ7.js} +0 -0
- package/{chunk-OQHIVPG4.js → chunk-SNBZZPYH.js} +3 -3
- package/{chunk-AETZ7AD6.js → chunk-W6RFEDN4.js} +3 -3
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
require_differenceInMilliseconds,
|
|
4
4
|
require_differenceInMinutes,
|
|
5
5
|
require_roundingMethods
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Z4PCXPUE.js";
|
|
7
7
|
import {
|
|
8
8
|
normalizeStats,
|
|
9
9
|
require_addMilliseconds,
|
|
@@ -23,27 +23,27 @@ import {
|
|
|
23
23
|
require_startOfUTCWeek,
|
|
24
24
|
require_subMilliseconds,
|
|
25
25
|
require_toInteger
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-BUDVRYES.js";
|
|
27
27
|
import {
|
|
28
28
|
require_formatISO
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-UVLYNWIE.js";
|
|
30
30
|
import {
|
|
31
31
|
require_addLeadingZeros,
|
|
32
32
|
require_interopRequireDefault,
|
|
33
33
|
require_requiredArgs,
|
|
34
34
|
require_toDate,
|
|
35
35
|
require_typeof
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-YNIYE47Z.js";
|
|
37
37
|
import {
|
|
38
38
|
getDefaultCliLocalRuntimeDb
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-N5Z2V73W.js";
|
|
40
40
|
import {
|
|
41
41
|
createTokenStatsKey
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-SYTHYBMI.js";
|
|
43
43
|
import {
|
|
44
44
|
__commonJS,
|
|
45
45
|
__toESM
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-U67V476Y.js";
|
|
47
47
|
|
|
48
48
|
// node_modules/date-fns/addDays/index.js
|
|
49
49
|
var require_addDays = __commonJS({
|
|
@@ -11658,7 +11658,7 @@ async function runUsageCommand(args, deps) {
|
|
|
11658
11658
|
const output = deps.output ?? process.stdout;
|
|
11659
11659
|
const errorOutput = deps.errorOutput ?? process.stderr;
|
|
11660
11660
|
if (args[0] === "rebuild") {
|
|
11661
|
-
const { runUsageRebuildCommand } = await import("./usageRebuildCommand-
|
|
11661
|
+
const { runUsageRebuildCommand } = await import("./usageRebuildCommand-SP2BLNJU.js");
|
|
11662
11662
|
return runUsageRebuildCommand(args.slice(1), deps);
|
|
11663
11663
|
}
|
|
11664
11664
|
if (hasFlag(args, "-h") || hasFlag(args, "--help")) {
|
|
@@ -11729,7 +11729,7 @@ async function runUsageCommand(args, deps) {
|
|
|
11729
11729
|
return 0;
|
|
11730
11730
|
}
|
|
11731
11731
|
async function resolveUsageUserId(env) {
|
|
11732
|
-
const { resolveLocalUserId } = await import("./cliAgentConfigHelpers-
|
|
11732
|
+
const { resolveLocalUserId } = await import("./cliAgentConfigHelpers-TKYL43MT.js");
|
|
11733
11733
|
return resolveLocalUserId(env);
|
|
11734
11734
|
}
|
|
11735
11735
|
function isLocalDbMissingError(error) {
|
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import {
|
|
2
|
+
authRoutes
|
|
3
|
+
} from "./chunk-M3JEW6N6.js";
|
|
4
|
+
import {
|
|
5
|
+
BUILTIN_DIALOG_LLM_FALLBACK_MODEL,
|
|
6
|
+
BUILTIN_SUMMARY_LLM_CONFIG
|
|
7
|
+
} from "./chunk-523DITKR.js";
|
|
8
|
+
import {
|
|
9
|
+
buildPlatformChatCompletionRequest,
|
|
10
|
+
canUsePlatformChatProvider,
|
|
11
|
+
parsePlatformChatCompletionResponse,
|
|
12
|
+
resolvePlatformChatProviderConfig
|
|
13
|
+
} from "./chunk-QNWG52I4.js";
|
|
14
|
+
import {
|
|
15
|
+
COMPACTION_SUMMARY_SYSTEM_PROMPT,
|
|
16
|
+
classifySummaryError,
|
|
17
|
+
createSummaryBudget,
|
|
18
|
+
isTruncatedCompletion,
|
|
19
|
+
selectSummaryRoute,
|
|
20
|
+
summaryCompletionTokens
|
|
21
|
+
} from "./chunk-RDH5CQ4T.js";
|
|
22
|
+
import {
|
|
23
|
+
isAbortError
|
|
24
|
+
} from "./chunk-7DPNBQSV.js";
|
|
25
|
+
import {
|
|
26
|
+
resolvePlatformAuthToken,
|
|
27
|
+
resolvePlatformServerUrl
|
|
28
|
+
} from "./chunk-I7WBYGBP.js";
|
|
29
|
+
import {
|
|
30
|
+
PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL
|
|
31
|
+
} from "./chunk-CKG3PRZ7.js";
|
|
32
|
+
import {
|
|
33
|
+
parseUserIdFromAuthToken
|
|
34
|
+
} from "./chunk-2THCNKE4.js";
|
|
35
|
+
|
|
36
|
+
// packages/core/accountSession/fetchAccountProfile.ts
|
|
37
|
+
async function fetchAccountProfile(input) {
|
|
38
|
+
const serverUrl = input.serverUrl?.trim();
|
|
39
|
+
const token = input.token?.trim();
|
|
40
|
+
const userId = input.userId?.trim();
|
|
41
|
+
if (!serverUrl || !token || !userId) {
|
|
42
|
+
throw new Error("missing_profile_request_params");
|
|
43
|
+
}
|
|
44
|
+
const path = authRoutes.users.detail.createPath({ userId });
|
|
45
|
+
const fetchImpl = input.fetchImpl ?? ((url, init) => fetch(url, init));
|
|
46
|
+
const response = await fetchImpl(`${serverUrl}${path}`, {
|
|
47
|
+
method: authRoutes.users.detail.method,
|
|
48
|
+
headers: {
|
|
49
|
+
Authorization: `Bearer ${token}`
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
if (!response.ok) {
|
|
53
|
+
const errorText = await response.text().catch(() => "");
|
|
54
|
+
throw new Error(`profile_fetch_failed: ${response.status} ${errorText}`);
|
|
55
|
+
}
|
|
56
|
+
const profileData = await response.json().catch(() => ({}));
|
|
57
|
+
return {
|
|
58
|
+
userId,
|
|
59
|
+
balance: profileData.balance,
|
|
60
|
+
gptProAccess: profileData.gptProAccess,
|
|
61
|
+
adminPermissions: profileData.adminPermissions
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// packages/cli/client/tuiSummaryLlmCaller.ts
|
|
66
|
+
import { randomUUID } from "node:crypto";
|
|
67
|
+
var TUI_SUMMARY_MAX_OUTPUT_TOKENS = 8192;
|
|
68
|
+
function createTuiSummaryLlmCaller(env, options) {
|
|
69
|
+
const fetchImpl = options?.fetchImpl ?? fetch;
|
|
70
|
+
const configuredTimeout = options?.timeoutMs;
|
|
71
|
+
const timeoutMs = typeof configuredTimeout === "number" && Number.isFinite(configuredTimeout) && configuredTimeout > 0 ? Math.min(configuredTimeout, 3e4) : 3e4;
|
|
72
|
+
const resolveProviderConfig = options?.resolveProviderConfig ?? resolvePlatformChatProviderConfig;
|
|
73
|
+
const caller = async (content, callOptions) => {
|
|
74
|
+
if (callOptions?.signal?.aborted) throw new DOMException("Summary cancelled", "AbortError");
|
|
75
|
+
if (!canUsePlatformChatProvider(env)) return null;
|
|
76
|
+
const requestedOutputTokens = callOptions?.maxOutputTokens;
|
|
77
|
+
if (requestedOutputTokens !== void 0 && (!Number.isFinite(requestedOutputTokens) || requestedOutputTokens < 1)) return null;
|
|
78
|
+
const maxOutputTokens = requestedOutputTokens === void 0 ? TUI_SUMMARY_MAX_OUTPUT_TOKENS : Math.min(TUI_SUMMARY_MAX_OUTPUT_TOKENS, Math.floor(requestedOutputTokens));
|
|
79
|
+
const deadlineMs = Math.min(Date.now() + timeoutMs, callOptions?.deadlineMs ?? Infinity);
|
|
80
|
+
const remainingMs = deadlineMs - Date.now();
|
|
81
|
+
if (!(remainingMs > 0)) return null;
|
|
82
|
+
const controller = new AbortController();
|
|
83
|
+
const parentSignal = callOptions?.signal;
|
|
84
|
+
const onAbort = () => controller.abort(parentSignal?.reason);
|
|
85
|
+
parentSignal?.addEventListener("abort", onAbort, { once: true });
|
|
86
|
+
if (parentSignal?.aborted) onAbort();
|
|
87
|
+
const timer = setTimeout(() => controller.abort(new DOMException("Summary deadline exceeded", "TimeoutError")), remainingMs);
|
|
88
|
+
const signal = controller.signal;
|
|
89
|
+
const attemptId = callOptions?.attemptId ?? randomUUID();
|
|
90
|
+
const attempt = async (model, budgetMs) => {
|
|
91
|
+
if (signal.aborted || !(budgetMs > 0)) return null;
|
|
92
|
+
const attemptController = new AbortController();
|
|
93
|
+
const attemptSignal = attemptController.signal;
|
|
94
|
+
const attemptDeadlineMs = Date.now() + budgetMs;
|
|
95
|
+
const onStop = () => attemptController.abort(signal.reason);
|
|
96
|
+
signal.addEventListener("abort", onStop, { once: true });
|
|
97
|
+
if (signal.aborted) onStop();
|
|
98
|
+
const attemptTimer = setTimeout(() => attemptController.abort(
|
|
99
|
+
new DOMException("Summary attempt budget exceeded", "TimeoutError")
|
|
100
|
+
), budgetMs);
|
|
101
|
+
let onAttemptAbort = () => {
|
|
102
|
+
};
|
|
103
|
+
const stopped = new Promise((resolve) => {
|
|
104
|
+
onAttemptAbort = () => resolve(null);
|
|
105
|
+
if (attemptSignal.aborted) resolve(null);
|
|
106
|
+
else attemptSignal.addEventListener("abort", onAttemptAbort, { once: true });
|
|
107
|
+
});
|
|
108
|
+
const isStopped = () => attemptSignal.aborted || Date.now() >= attemptDeadlineMs;
|
|
109
|
+
let stage = "resolve";
|
|
110
|
+
let operationStage = "resolve";
|
|
111
|
+
let errorKind = null;
|
|
112
|
+
let httpStatus = null;
|
|
113
|
+
const startedAt = Date.now();
|
|
114
|
+
const work = async () => {
|
|
115
|
+
try {
|
|
116
|
+
const providerConfig = await resolveProviderConfig({
|
|
117
|
+
agentConfig: { ...BUILTIN_SUMMARY_LLM_CONFIG, model, key: BUILTIN_SUMMARY_LLM_CONFIG.id },
|
|
118
|
+
env,
|
|
119
|
+
apiKeyRefResolver: options?.apiKeyRefResolver,
|
|
120
|
+
credentialBroker: options?.credentialBroker
|
|
121
|
+
});
|
|
122
|
+
if (isStopped()) return null;
|
|
123
|
+
operationStage = "build";
|
|
124
|
+
if (!providerConfig?.authToken) {
|
|
125
|
+
stage = "auth";
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
stage = "build";
|
|
129
|
+
const messages = [
|
|
130
|
+
{ role: "system", content: COMPACTION_SUMMARY_SYSTEM_PROMPT },
|
|
131
|
+
{ role: "user", content }
|
|
132
|
+
];
|
|
133
|
+
const request = buildPlatformChatCompletionRequest({
|
|
134
|
+
providerConfig: {
|
|
135
|
+
...providerConfig,
|
|
136
|
+
requestOptions: { ...providerConfig.requestOptions, max_tokens: maxOutputTokens, reasoning_effort: "low" }
|
|
137
|
+
},
|
|
138
|
+
messages,
|
|
139
|
+
stream: false,
|
|
140
|
+
requestId: attemptId
|
|
141
|
+
});
|
|
142
|
+
stage = "http";
|
|
143
|
+
operationStage = "http";
|
|
144
|
+
if (isStopped()) return null;
|
|
145
|
+
const response = await fetchImpl(request.url, { ...request.init, signal: attemptSignal });
|
|
146
|
+
httpStatus = response.status;
|
|
147
|
+
if (isStopped() || !response.ok) return null;
|
|
148
|
+
stage = "body";
|
|
149
|
+
operationStage = "body";
|
|
150
|
+
let responseText;
|
|
151
|
+
try {
|
|
152
|
+
responseText = await response.text();
|
|
153
|
+
} catch (error) {
|
|
154
|
+
if (isAbortError(error)) throw error;
|
|
155
|
+
errorKind = "body";
|
|
156
|
+
throw new Error("body-read-failed");
|
|
157
|
+
}
|
|
158
|
+
if (isStopped()) return null;
|
|
159
|
+
operationStage = "parse";
|
|
160
|
+
let data;
|
|
161
|
+
try {
|
|
162
|
+
data = JSON.parse(responseText);
|
|
163
|
+
} catch {
|
|
164
|
+
errorKind = "parse";
|
|
165
|
+
throw new Error("response-json-invalid");
|
|
166
|
+
}
|
|
167
|
+
if (isStopped()) return null;
|
|
168
|
+
stage = "parse";
|
|
169
|
+
const parsed = parsePlatformChatCompletionResponse({ providerConfig, data, trace: [] });
|
|
170
|
+
if (isTruncatedCompletion({
|
|
171
|
+
finishReason: parsed.finish_reason,
|
|
172
|
+
responseStatus: data?.status,
|
|
173
|
+
incompleteReason: data?.incomplete_details?.reason,
|
|
174
|
+
truncated: !!data?.incomplete_details
|
|
175
|
+
})) {
|
|
176
|
+
stage = "truncated";
|
|
177
|
+
throw {
|
|
178
|
+
code: "SUMMARY_TRUNCATED",
|
|
179
|
+
stage: "decode",
|
|
180
|
+
finishReason: parsed.finish_reason,
|
|
181
|
+
responseStatus: data?.status,
|
|
182
|
+
incompleteReason: data?.incomplete_details?.reason,
|
|
183
|
+
maxOutputTokens,
|
|
184
|
+
completionTokens: summaryCompletionTokens(parsed.usage),
|
|
185
|
+
outputChars: parsed.content?.length,
|
|
186
|
+
model,
|
|
187
|
+
provider: "nolo",
|
|
188
|
+
attemptId
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
const summary = parsed?.content?.trim() || null;
|
|
192
|
+
stage = summary ? "done" : "empty";
|
|
193
|
+
return summary;
|
|
194
|
+
} catch (error) {
|
|
195
|
+
if (parentSignal?.aborted || isAbortError(error) && !attemptSignal.aborted) {
|
|
196
|
+
throw new DOMException("Summary cancelled", "AbortError");
|
|
197
|
+
}
|
|
198
|
+
if (error?.code === "SUMMARY_TRUNCATED") {
|
|
199
|
+
const safe = classifySummaryError(error);
|
|
200
|
+
throw Object.assign(new Error(safe.message), safe);
|
|
201
|
+
}
|
|
202
|
+
if (errorKind === null) errorKind = operationStage === "resolve" ? "resolve" : operationStage === "http" ? "http" : null;
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
try {
|
|
207
|
+
const result = await Promise.race([work(), stopped]);
|
|
208
|
+
if (parentSignal?.aborted) throw new DOMException("Summary cancelled", "AbortError");
|
|
209
|
+
if (!result) console.warn("[tuiSummary] summary attempt failed", {
|
|
210
|
+
attemptId,
|
|
211
|
+
model,
|
|
212
|
+
stage: parentSignal?.aborted ? "cancelled" : signal.aborted || Date.now() >= deadlineMs ? "deadline" : isStopped() ? "attempt-budget" : stage,
|
|
213
|
+
operationStage,
|
|
214
|
+
elapsedMs: Math.max(0, Date.now() - startedAt),
|
|
215
|
+
...errorKind ? { errorKind } : {},
|
|
216
|
+
...httpStatus !== null ? { httpStatus } : {}
|
|
217
|
+
});
|
|
218
|
+
return result;
|
|
219
|
+
} finally {
|
|
220
|
+
clearTimeout(attemptTimer);
|
|
221
|
+
signal.removeEventListener("abort", onStop);
|
|
222
|
+
attemptSignal.removeEventListener("abort", onAttemptAbort);
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
try {
|
|
226
|
+
const primary = await attempt(options?.platformPrimary ? PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL : BUILTIN_SUMMARY_LLM_CONFIG.model, deadlineMs - Date.now());
|
|
227
|
+
if (options?.platformPrimary) return primary;
|
|
228
|
+
if (primary || signal.aborted || parentSignal?.aborted || Date.now() >= deadlineMs) return primary;
|
|
229
|
+
return await attempt(BUILTIN_DIALOG_LLM_FALLBACK_MODEL, deadlineMs - Date.now());
|
|
230
|
+
} finally {
|
|
231
|
+
clearTimeout(timer);
|
|
232
|
+
parentSignal?.removeEventListener("abort", onAbort);
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
return Object.assign(caller, {
|
|
236
|
+
complete: async (content, callOptions) => {
|
|
237
|
+
const configured = typeof configuredTimeout === "number" && Number.isFinite(configuredTimeout) && configuredTimeout > 0 ? Date.now() + configuredTimeout : Infinity;
|
|
238
|
+
const budget = createSummaryBudget({
|
|
239
|
+
mode: "manual",
|
|
240
|
+
signal: callOptions?.signal,
|
|
241
|
+
deadlineMs: Math.min(callOptions?.deadlineMs ?? Date.now() + 6e4, configured)
|
|
242
|
+
});
|
|
243
|
+
const model = PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL;
|
|
244
|
+
const attemptId = callOptions?.attemptId ?? randomUUID();
|
|
245
|
+
let stage = "resolve";
|
|
246
|
+
let httpStatus;
|
|
247
|
+
try {
|
|
248
|
+
return await budget.run(async ({ signal, deadlineMs }) => {
|
|
249
|
+
if (!canUsePlatformChatProvider(env)) throw { code: "PLATFORM_AUTH_UNAVAILABLE", stage: "auth" };
|
|
250
|
+
const requested = callOptions?.maxOutputTokens;
|
|
251
|
+
if (requested !== void 0 && (!Number.isFinite(requested) || requested < 1)) throw { code: "INVALID_OUTPUT_BUDGET", stage: "build" };
|
|
252
|
+
const providerConfig = await resolveProviderConfig({
|
|
253
|
+
agentConfig: { ...BUILTIN_SUMMARY_LLM_CONFIG, model, key: BUILTIN_SUMMARY_LLM_CONFIG.id },
|
|
254
|
+
env,
|
|
255
|
+
apiKeyRefResolver: options?.apiKeyRefResolver,
|
|
256
|
+
credentialBroker: options?.credentialBroker
|
|
257
|
+
});
|
|
258
|
+
if (signal.aborted) throw signal.reason;
|
|
259
|
+
if (!providerConfig?.authToken) throw { code: "PLATFORM_AUTH_UNAVAILABLE", stage: "auth" };
|
|
260
|
+
stage = "build";
|
|
261
|
+
const request = buildPlatformChatCompletionRequest({
|
|
262
|
+
providerConfig: {
|
|
263
|
+
...providerConfig,
|
|
264
|
+
requestOptions: { ...providerConfig.requestOptions, max_tokens: Math.min(TUI_SUMMARY_MAX_OUTPUT_TOKENS, Math.floor(requested ?? TUI_SUMMARY_MAX_OUTPUT_TOKENS)), reasoning_effort: "low" }
|
|
265
|
+
},
|
|
266
|
+
messages: [{ role: "system", content: COMPACTION_SUMMARY_SYSTEM_PROMPT }, { role: "user", content }],
|
|
267
|
+
stream: false,
|
|
268
|
+
requestId: attemptId
|
|
269
|
+
});
|
|
270
|
+
stage = "http";
|
|
271
|
+
const response = await fetchImpl(request.url, { ...request.init, signal });
|
|
272
|
+
httpStatus = response.status;
|
|
273
|
+
stage = "body";
|
|
274
|
+
const body = await response.text();
|
|
275
|
+
if (!response.ok) {
|
|
276
|
+
let data2;
|
|
277
|
+
try {
|
|
278
|
+
data2 = JSON.parse(body);
|
|
279
|
+
} catch {
|
|
280
|
+
data2 = {};
|
|
281
|
+
}
|
|
282
|
+
throw {
|
|
283
|
+
status: response.status,
|
|
284
|
+
code: data2?.error?.code ?? data2?.code,
|
|
285
|
+
type: data2?.error?.type ?? data2?.type,
|
|
286
|
+
balanceSource: data2?.balanceSource,
|
|
287
|
+
stage: "http"
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
stage = "decode";
|
|
291
|
+
let data;
|
|
292
|
+
try {
|
|
293
|
+
data = JSON.parse(body);
|
|
294
|
+
} catch {
|
|
295
|
+
throw { code: "INVALID_SUMMARY_JSON" };
|
|
296
|
+
}
|
|
297
|
+
const parsed = parsePlatformChatCompletionResponse({ providerConfig, data, trace: [] });
|
|
298
|
+
return {
|
|
299
|
+
text: parsed.content ?? "",
|
|
300
|
+
finishReason: parsed.finish_reason,
|
|
301
|
+
responseStatus: data?.status,
|
|
302
|
+
incompleteReason: data?.incomplete_details?.reason,
|
|
303
|
+
maxOutputTokens: Math.min(TUI_SUMMARY_MAX_OUTPUT_TOKENS, Math.floor(requested ?? TUI_SUMMARY_MAX_OUTPUT_TOKENS)),
|
|
304
|
+
completionTokens: summaryCompletionTokens(parsed.usage),
|
|
305
|
+
truncated: isTruncatedCompletion({ finishReason: parsed.finish_reason, responseStatus: data?.status, incompleteReason: data?.incomplete_details?.reason, truncated: !!data?.incomplete_details })
|
|
306
|
+
};
|
|
307
|
+
});
|
|
308
|
+
} catch (cause) {
|
|
309
|
+
const safe = classifySummaryError(
|
|
310
|
+
budget.signal.aborted ? budget.signal.reason : cause,
|
|
311
|
+
{ model, provider: "nolo", attemptId, stage }
|
|
312
|
+
);
|
|
313
|
+
if (httpStatus !== void 0 && safe.status === void 0) safe.status = httpStatus;
|
|
314
|
+
throw Object.assign(new Error(safe.message), safe, {
|
|
315
|
+
type: safe.errorType,
|
|
316
|
+
name: safe.category === "cancelled" ? "AbortError" : safe.category === "timeout" ? "TimeoutError" : "SummaryError"
|
|
317
|
+
});
|
|
318
|
+
} finally {
|
|
319
|
+
budget.dispose();
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
preferPlatform: async (callOptions) => {
|
|
323
|
+
if (callOptions?.signal?.aborted) throw new DOMException("Summary cancelled", "AbortError");
|
|
324
|
+
if (!options?.platformPrimary || !canUsePlatformChatProvider(env)) return false;
|
|
325
|
+
const token = resolvePlatformAuthToken(env);
|
|
326
|
+
const userId = parseUserIdFromAuthToken(token);
|
|
327
|
+
if (!userId || userId === "local" || userId === "guest") return false;
|
|
328
|
+
const controller = new AbortController();
|
|
329
|
+
const onAbort = () => controller.abort(callOptions?.signal?.reason);
|
|
330
|
+
callOptions?.signal?.addEventListener("abort", onAbort, { once: true });
|
|
331
|
+
if (callOptions?.signal?.aborted) onAbort();
|
|
332
|
+
const budget = Math.min(5e3, (callOptions?.deadlineMs ?? Infinity) - Date.now());
|
|
333
|
+
const timer = setTimeout(() => controller.abort(), Math.max(0, budget));
|
|
334
|
+
try {
|
|
335
|
+
if (!(budget > 0)) throw new DOMException("Summary deadline exceeded", "TimeoutError");
|
|
336
|
+
const profile = await fetchAccountProfile({
|
|
337
|
+
serverUrl: resolvePlatformServerUrl(env),
|
|
338
|
+
token,
|
|
339
|
+
userId,
|
|
340
|
+
fetchImpl: (url, init) => fetchImpl(url, { ...init, signal: controller.signal })
|
|
341
|
+
});
|
|
342
|
+
return selectSummaryRoute({
|
|
343
|
+
userId,
|
|
344
|
+
authenticated: true,
|
|
345
|
+
platformAvailable: !controller.signal.aborted,
|
|
346
|
+
credits: profile.balance
|
|
347
|
+
}).kind === "platform";
|
|
348
|
+
} catch (error) {
|
|
349
|
+
if (callOptions?.signal?.aborted) throw callOptions.signal.reason ?? new DOMException("Summary cancelled", "AbortError");
|
|
350
|
+
if (Date.now() >= (callOptions?.deadlineMs ?? Infinity)) throw new DOMException("Summary deadline exceeded", "TimeoutError");
|
|
351
|
+
if (isAbortError(error) && !controller.signal.aborted) throw new DOMException("Summary cancelled", "AbortError");
|
|
352
|
+
return false;
|
|
353
|
+
} finally {
|
|
354
|
+
clearTimeout(timer);
|
|
355
|
+
callOptions?.signal?.removeEventListener("abort", onAbort);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
export {
|
|
362
|
+
TUI_SUMMARY_MAX_OUTPUT_TOKENS,
|
|
363
|
+
createTuiSummaryLlmCaller
|
|
364
|
+
};
|
|
@@ -311,12 +311,94 @@ async function chromeConnectorUnavailableFunc() {
|
|
|
311
311
|
throw new Error("Browser connector tools are only executable in the Nolo desktop local runtime.");
|
|
312
312
|
}
|
|
313
313
|
|
|
314
|
+
// packages/agent-runtime/toolNameAliases.ts
|
|
315
|
+
var LEGACY_TOOL_NAME_ALIASES = {
|
|
316
|
+
// Nolo Browser Connector: legacy chrome_* → canonical browser_*
|
|
317
|
+
...CHROME_CONNECTOR_LEGACY_TOOL_ALIASES,
|
|
318
|
+
createPage: "createDoc",
|
|
319
|
+
updatePage: "updateDoc",
|
|
320
|
+
update_page: "updateDoc",
|
|
321
|
+
create_page: "createDoc",
|
|
322
|
+
fetchwebpage: "fetchWebpage",
|
|
323
|
+
fetch_webpage: "fetchWebpage",
|
|
324
|
+
"fetch-page": "fetchWebpage",
|
|
325
|
+
exasearch: "exa_search",
|
|
326
|
+
"exa-search": "exa_search",
|
|
327
|
+
exa_search: "exa_search",
|
|
328
|
+
firecrawlscrape: "firecrawl_scrape",
|
|
329
|
+
"firecrawl-scrape": "firecrawl_scrape",
|
|
330
|
+
firecrawl_scrape: "firecrawl_scrape",
|
|
331
|
+
firecrawlsearch: "firecrawl_search",
|
|
332
|
+
"firecrawl-search": "firecrawl_search",
|
|
333
|
+
firecrawl_search: "firecrawl_search",
|
|
334
|
+
readDoc: "readDoc",
|
|
335
|
+
readpage: "readDoc",
|
|
336
|
+
read_page: "readDoc",
|
|
337
|
+
read_doc: "readDoc",
|
|
338
|
+
createdoc: "createDoc",
|
|
339
|
+
updateDocTool: "updateDoc",
|
|
340
|
+
terminalCommand: "execShell",
|
|
341
|
+
terminal_command: "execShell",
|
|
342
|
+
runCommand: "execShell",
|
|
343
|
+
run_command: "execShell",
|
|
344
|
+
runInBash: "execShell",
|
|
345
|
+
run_in_bash: "execShell",
|
|
346
|
+
executeCommand: "execShell",
|
|
347
|
+
execute_command: "execShell",
|
|
348
|
+
// Codex CLI 风格工具名 → nolo 原生工具名
|
|
349
|
+
bash: "execShell",
|
|
350
|
+
shell: "execShell",
|
|
351
|
+
read: "readFile",
|
|
352
|
+
edit: "editFile",
|
|
353
|
+
write: "writeFile",
|
|
354
|
+
glob: "globFiles",
|
|
355
|
+
// 联网搜索别名
|
|
356
|
+
web_search: "exa_search",
|
|
357
|
+
websearch: "exa_search",
|
|
358
|
+
search_web: "exa_search",
|
|
359
|
+
searchweb: "exa_search",
|
|
360
|
+
webfetch: "fetchWebpage",
|
|
361
|
+
web_fetch: "fetchWebpage",
|
|
362
|
+
fetchweb: "fetchWebpage",
|
|
363
|
+
fetch_web: "fetchWebpage",
|
|
364
|
+
// 模型偶尔会把 loadSkill 幻觉成 readSkill(参数风格 name= 一致),
|
|
365
|
+
// 规范化到 loadSkill,避免 localToolPolicy 把这种调用直接拦死。
|
|
366
|
+
readSkill: "loadSkill"
|
|
367
|
+
};
|
|
368
|
+
var normalizeToolName = (name) => name.replace(/[-_]/g, "").toLowerCase();
|
|
369
|
+
var canonicalizeToolName = (rawName) => {
|
|
370
|
+
const trimmedName = rawName.trim();
|
|
371
|
+
if (!trimmedName) return rawName;
|
|
372
|
+
if (LEGACY_TOOL_NAME_ALIASES[trimmedName]) {
|
|
373
|
+
return LEGACY_TOOL_NAME_ALIASES[trimmedName];
|
|
374
|
+
}
|
|
375
|
+
const normalizedRawName = normalizeToolName(trimmedName);
|
|
376
|
+
const matchedAlias = Object.entries(LEGACY_TOOL_NAME_ALIASES).find(
|
|
377
|
+
([alias]) => normalizeToolName(alias) === normalizedRawName
|
|
378
|
+
);
|
|
379
|
+
return matchedAlias?.[1] ?? trimmedName;
|
|
380
|
+
};
|
|
381
|
+
var canonicalizeToolNames = (toolNames) => Array.from(
|
|
382
|
+
new Set(
|
|
383
|
+
toolNames.filter((toolName) => typeof toolName === "string").map(canonicalizeToolName)
|
|
384
|
+
)
|
|
385
|
+
);
|
|
386
|
+
var prioritizeToolNames = (toolNames, preferredToolNames) => {
|
|
387
|
+
const canonicalTools = canonicalizeToolNames(toolNames);
|
|
388
|
+
const preferred = new Set(canonicalizeToolNames(preferredToolNames));
|
|
389
|
+
const prioritized = canonicalTools.filter((toolName) => preferred.has(toolName));
|
|
390
|
+
const remaining = canonicalTools.filter((toolName) => !preferred.has(toolName));
|
|
391
|
+
return [...prioritized, ...remaining];
|
|
392
|
+
};
|
|
393
|
+
|
|
314
394
|
export {
|
|
315
|
-
CHROME_CONNECTOR_LEGACY_TOOL_ALIASES,
|
|
316
395
|
CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES,
|
|
317
396
|
canonicalizeChromeConnectorToolNames,
|
|
318
397
|
getChromeConnectorToolBehavior,
|
|
319
398
|
getChromeConnectorToolDefaultConsent,
|
|
320
399
|
chromeConnectorToolSchemas,
|
|
321
|
-
chromeConnectorUnavailableFunc
|
|
400
|
+
chromeConnectorUnavailableFunc,
|
|
401
|
+
canonicalizeToolName,
|
|
402
|
+
canonicalizeToolNames,
|
|
403
|
+
prioritizeToolNames
|
|
322
404
|
};
|
|
@@ -1,25 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
resolveCliAgentKeyInput
|
|
3
|
-
} from "./chunk-NBTY7YJF.js";
|
|
4
1
|
import {
|
|
5
2
|
buildRestorePatch
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BV3FLP2L.js";
|
|
4
|
+
import {
|
|
5
|
+
buildLocalAgentLookupKeys,
|
|
6
|
+
shouldReadAgentKeyRemotely
|
|
7
|
+
} from "./chunk-2ZKFCIJJ.js";
|
|
8
|
+
import {
|
|
9
|
+
resolveCliAgentKeyInput
|
|
10
|
+
} from "./chunk-BR3GT6MR.js";
|
|
7
11
|
import {
|
|
8
12
|
createHostCredentialBrokerChain,
|
|
9
13
|
createStrictHostCredentialBroker
|
|
10
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Z2PITYZN.js";
|
|
11
15
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
collectInvalidAgentSkillModes,
|
|
17
|
+
formatInvalidAgentSkillModeMessage,
|
|
18
|
+
formatInvalidAgentSkillModesFieldMessage,
|
|
19
|
+
isAgentSkillModesFieldShapeValid
|
|
20
|
+
} from "./chunk-FS2XP5D7.js";
|
|
15
21
|
import {
|
|
16
22
|
buildAgentApiKeyCredentialRef,
|
|
17
23
|
migrateAgentSecrets
|
|
18
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-47ITIXO7.js";
|
|
19
25
|
import {
|
|
20
26
|
assertCredentialRef,
|
|
21
27
|
createFileCredentialBroker
|
|
22
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-SNBZZPYH.js";
|
|
29
|
+
import {
|
|
30
|
+
createAgentKey
|
|
31
|
+
} from "./chunk-SYTHYBMI.js";
|
|
32
|
+
import {
|
|
33
|
+
readPipeText,
|
|
34
|
+
spawnProcess
|
|
35
|
+
} from "./chunk-4O22PGNQ.js";
|
|
23
36
|
import {
|
|
24
37
|
toErrorMessage
|
|
25
38
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -29,14 +42,7 @@ import {
|
|
|
29
42
|
resolveAuthToken,
|
|
30
43
|
resolveServerCandidates,
|
|
31
44
|
resolveServerUrl
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import {
|
|
34
|
-
readPipeText,
|
|
35
|
-
spawnProcess
|
|
36
|
-
} from "./chunk-4O22PGNQ.js";
|
|
37
|
-
import {
|
|
38
|
-
createAgentKey
|
|
39
|
-
} from "./chunk-JY5NGFFH.js";
|
|
45
|
+
} from "./chunk-2THCNKE4.js";
|
|
40
46
|
|
|
41
47
|
// packages/agent-runtime/sessionCredentialBroker.ts
|
|
42
48
|
function createSessionMemoryCredentialBroker() {
|
|
@@ -111,10 +117,6 @@ function normalizeAgentHandle(value) {
|
|
|
111
117
|
return typeof value === "string" && value.trim() ? value.trim().toLowerCase().replace(/\s+/g, " ") : void 0;
|
|
112
118
|
}
|
|
113
119
|
|
|
114
|
-
// packages/cli/client/localAgentRecords.ts
|
|
115
|
-
var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
|
|
116
|
-
var shouldReadAgentKeyRemotely = shouldFetchAgentRuntimeRecordRemotely;
|
|
117
|
-
|
|
118
120
|
// packages/cli/agentRecordHelpers.ts
|
|
119
121
|
var PROVIDER_COPY_FIELDS = [
|
|
120
122
|
"apiSource",
|
|
@@ -635,7 +637,7 @@ async function bindVaultCredentialToAgent(args) {
|
|
|
635
637
|
const secret = await broker.get(args.vaultId);
|
|
636
638
|
if (!secret) {
|
|
637
639
|
throw new Error(
|
|
638
|
-
`--api-key received a vault credential id (${args.vaultId}) but no secret is stored for it on this device. Re-paste the key in the chat so the runtime can isolate it again
|
|
640
|
+
`--api-key received a vault credential id (${args.vaultId}) but no secret is stored for it on this device. Re-paste the key in the chat so the runtime can isolate it again.`
|
|
639
641
|
);
|
|
640
642
|
}
|
|
641
643
|
return await storeAgentCredential({ agentKey: args.agentKey, secret, broker: args.broker });
|
|
@@ -694,6 +696,16 @@ function parseAgentUpdateArgs(args) {
|
|
|
694
696
|
}
|
|
695
697
|
updates[entry.slice(0, index)] = parseJsonishValue(entry.slice(index + 1));
|
|
696
698
|
}
|
|
699
|
+
if (Object.prototype.hasOwnProperty.call(updates, "skills")) {
|
|
700
|
+
const skillsField = updates.skills;
|
|
701
|
+
if (!isAgentSkillModesFieldShapeValid(skillsField)) {
|
|
702
|
+
throw new Error(formatInvalidAgentSkillModesFieldMessage());
|
|
703
|
+
}
|
|
704
|
+
const invalidModes = collectInvalidAgentSkillModes(skillsField);
|
|
705
|
+
if (invalidModes.length > 0) {
|
|
706
|
+
throw new Error(formatInvalidAgentSkillModeMessage(invalidModes[0]));
|
|
707
|
+
}
|
|
708
|
+
}
|
|
697
709
|
if (Object.keys(updates).length === 0) {
|
|
698
710
|
if (!promptDoc && !copyProviderFrom && !presetId) {
|
|
699
711
|
throw new Error("No updates provided. Use --model / --cli-provider / --api-source / --field key=value.");
|
|
@@ -751,7 +763,7 @@ async function buildCreatedAgentRecord(args) {
|
|
|
751
763
|
const resolvedAgentInput = resolveCliAgentKeyInput(args.parsed.agentInput);
|
|
752
764
|
const agentKey = resolvedAgentInput.startsWith("agent-") ? resolvedAgentInput : createAgentKey.private(userId || "local", resolvedAgentInput);
|
|
753
765
|
if (args.parsed.presetId) {
|
|
754
|
-
const { resolveProviderPresetFields } = await import("./providerPresetApply-
|
|
766
|
+
const { resolveProviderPresetFields } = await import("./providerPresetApply-OIFQ73LH.js");
|
|
755
767
|
const fields = resolveProviderPresetFields(args.parsed.presetId);
|
|
756
768
|
if (fields.kind === "manual") {
|
|
757
769
|
throw new Error(
|
|
@@ -914,7 +926,6 @@ async function buildUpdatedAgentRecord(args) {
|
|
|
914
926
|
export {
|
|
915
927
|
getSharedSessionCredentialBroker,
|
|
916
928
|
OAUTH_PROVIDER_REFS,
|
|
917
|
-
buildLocalAgentLookupKeys,
|
|
918
929
|
fetchWithTransportFallback,
|
|
919
930
|
readAgentRecord,
|
|
920
931
|
readDbRecord,
|