nolo-cli 0.212.0-alpha.1 → 0.222.0-alpha.2
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-KE6MBNUJ.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-N2YC5IL3.js → addContentAction-GDHDOF4U.js} +18 -17
- package/{addDialogAgentAction-3NKVQCEC.js → addDialogAgentAction-CAKRU3ZT.js} +21 -20
- package/{agentDeleteCommand-NWK7VU4N.js → agentDeleteCommand-BPV2XZL7.js} +128 -119
- package/{agentEmailCommands-UZ4DHEX2.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-HE7L2A6L.js → agentListCommands-HIZODBF3.js} +196 -124
- package/{agentMachineCommands-6TE4MBMP.js → agentMachineCommands-ZMQ2CY7Y.js} +62 -53
- 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-OI3LOENH.js → agentRunControl-JNONH3RP.js} +30 -15
- package/{agentRuntimeLocal-HL526DNQ.js → agentRuntimeLocal-QZPFWMLG.js} +52 -45
- package/{agentSlice-TMYP2UEA.js → agentSlice-RD2CDU7T.js} +20 -19
- package/{appDeleteCommands-ZERW4AXY.js → appDeleteCommands-QCCFDIEQ.js} +61 -52
- package/{appDeployCommands-DUWSMYHL.js → appDeployCommands-V2T7TNMQ.js} +61 -52
- package/{appDeployStatusCommands-N2KIE4BF.js → appDeployStatusCommands-6PGH7ZCG.js} +61 -52
- package/{appGetCommands-YVR4NPVY.js → appGetCommands-3L7WWJA6.js} +61 -52
- package/{appListCommands-JS6HOHZS.js → appListCommands-ENJCK4PO.js} +61 -52
- package/{authCommand-FE2C3ZUM.js → authCommand-6V47SYGK.js} +29 -28
- package/{authCommands-HV3EAU3V.js → authCommands-GAJ3NIXO.js} +14 -13
- package/{builtinSkillRegistry-3YOIGEF6.js → builtinSkillRegistry-2ECA42FC.js} +11 -13
- package/{chromeCommands-REEAH4SX.js → chromeCommands-G5UDKVSV.js} +3 -3
- package/{chromeOpsCommands-HEN5AX2J.js → chromeOpsCommands-YKX2QX3A.js} +20 -10
- package/{chunk-DM6UMOEL.js → chunk-27PCUMJI.js} +2 -2
- package/chunk-2CI3ZFWD.js +97 -0
- package/{chunk-HIRC32DV.js → chunk-2GJKRKI6.js} +543 -29
- package/{chunk-SM3NSZJV.js → chunk-2UCBGYO4.js} +20 -1
- package/{chunk-PYRUW7XN.js → chunk-2VUZSVAS.js} +136 -54
- package/chunk-2YGBI2XB.js +30 -0
- package/chunk-2ZKFCIJJ.js +13 -0
- package/{chunk-CJRONOYL.js → chunk-34J5K2YA.js} +19 -75
- 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-LKDF3ATR.js → chunk-5RKUPJYL.js} +1 -1
- package/{chunk-ZC3CMUKU.js → chunk-6OVNSQHN.js} +84 -2
- package/{chunk-IF45XG7K.js → chunk-6WU5572L.js} +40 -24
- package/{chunk-OHNELDTO.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-IIQ6JGRI.js → chunk-AD5EWDFD.js} +2 -2
- package/{chunk-WXYLV624.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-PJNFNEJE.js → chunk-AMEOV5VZ.js} +59 -13
- package/chunk-AN74ON4G.js +675 -0
- package/{chunk-HRMJUN5J.js → chunk-AQZ6BMRK.js} +1 -1
- package/{chunk-CQ46IRNN.js → chunk-B4GOW4MT.js} +445 -201
- 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-D2MDMY2M.js → chunk-BV3FLP2L.js} +47 -1
- package/{chunk-25JZEIXN.js → chunk-C4VAR65S.js} +92 -150
- package/{chunk-AVTVGMDY.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-M6RL5JCD.js → chunk-CMZ3Z5PT.js} +14 -14
- package/{secretCommands-4QS3HCA2.js → chunk-D726I5AZ.js} +191 -16
- package/{chunk-INSBKSBB.js → chunk-DNKTQ3IN.js} +4 -4
- package/chunk-DVQH4BTR.js +1137 -0
- package/{chunk-SOHTHFV2.js → chunk-DWX2HEVC.js} +91 -132
- package/{chunk-NOMIGOST.js → chunk-EIAI3PPH.js} +116 -124
- package/chunk-EUCFKKDM.js +247 -0
- package/chunk-EWQ3HGNZ.js +90 -0
- package/{chunk-RPQXPZZF.js → chunk-F3GRJO4Z.js} +908 -13
- package/{chunk-GSQNH63I.js → chunk-FIYSMXHY.js} +3 -19
- package/{chunk-KSTEXKL6.js → chunk-FJ23FZXF.js} +76 -31
- package/{chunk-INN4LTAJ.js → chunk-FJK526XH.js} +2 -2
- package/chunk-FS2XP5D7.js +142 -0
- package/{chunk-QT6PKHYJ.js → chunk-FYF2TONJ.js} +5 -5
- package/{chunk-OXME3PEE.js → chunk-GBWGPTA7.js} +2 -1
- package/{chunk-RU4SD66C.js → chunk-GYVCJABP.js} +30 -254
- package/{chunk-YUXQAVRD.js → chunk-HOCHUZQ7.js} +257 -90
- package/{chunk-Y2WUYX4I.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-5RYBGBQH.js → chunk-IILMY4W4.js} +14 -9
- package/chunk-JA3ICVJY.js +271 -0
- package/{chunk-ZRSNONOB.js → chunk-JWXITTQB.js} +8 -3
- package/{chunk-JNKSDZFS.js → chunk-KEN3N2TN.js} +310 -66
- 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-6OQUPIQF.js → chunk-LVL6GFCM.js} +4 -4
- package/{chunk-UTV2AYEG.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-B7NJ3T4A.js → chunk-MS4NZNKI.js} +10 -10
- package/{chunk-3AKFVZ2I.js → chunk-MYHNBEXD.js} +3 -3
- package/{chunk-VZKUKCA6.js → chunk-MZLE5HQ3.js} +3673 -241
- package/{chunk-AZMYUSVF.js → chunk-N5Z2V73W.js} +1 -1
- package/chunk-NIZ2BXFD.js +526 -0
- package/{chunk-YPD3VJZW.js → chunk-NWP2OYOX.js} +20 -20
- package/{chunk-3FOQHGHN.js → chunk-O6J3OTOP.js} +4 -4
- package/{chunk-3RQVYR4B.js → chunk-OB6DVWPF.js} +197 -65
- package/{chunk-YWSEPJ7C.js → chunk-OBWT45ZU.js} +3 -3
- package/{chunk-5AQR3DGV.js → chunk-ODJ7BVSI.js} +80 -11
- package/{chunk-XJWWBO34.js → chunk-OJKUU3LP.js} +5 -7
- package/{chunk-GNDJKC4B.js → chunk-ON37YXGX.js} +29 -29
- package/{chunk-D5RCRX4A.js → chunk-P5ZJRTCH.js} +9415 -5169
- package/{chunk-6XIE5ZGI.js → chunk-PDCV7P5W.js} +1 -1
- package/{chunk-EZFQ6XRV.js → chunk-PJCIP64Z.js} +861 -59
- package/{chunk-GPO7FCEZ.js → chunk-PJVKMGPZ.js} +1222 -1719
- package/{chunk-CKAHAVMK.js → chunk-PPJYZRSQ.js} +40 -26
- package/chunk-QHEN7NZ7.js +46 -0
- package/{chunk-4KH4J3G5.js → chunk-QNWG52I4.js} +19 -7
- package/{chunk-YGILMZ7N.js → chunk-QVBXJNZ2.js} +1 -1
- package/chunk-RDH5CQ4T.js +1382 -0
- 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-IAPCBNEE.js → chunk-SQYIK6HO.js} +1 -1
- package/{chunk-22CIEBYO.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-6NSSLV67.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-MMNYUVLW.js → chunk-UB3D4TRQ.js} +11 -77
- package/{chunk-WPORQFYN.js → chunk-UVLYNWIE.js} +2 -2
- package/{chunk-YOIW77S2.js → chunk-UYOICCYG.js} +29 -19
- package/{chunk-4I7ERB7F.js → chunk-VREDDN25.js} +1 -1
- package/{chunk-JIT6FSXJ.js → chunk-WAE3GFCJ.js} +3 -3
- package/{chunk-IJXYFTV7.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-YJMRHHGY.js → chunk-WUUH4LWZ.js} +60 -30
- package/{chunk-PDGKOTO7.js → chunk-X7UF53VA.js} +33 -22
- package/{chunk-TY3TIUJK.js → chunk-XI2BWJM5.js} +65 -0
- package/{chunk-OOF4UPC5.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-NJR3WKVP.js → chunk-YWWDC3O7.js} +281 -159
- package/chunk-YZMNK53S.js +68 -0
- package/{chunk-FHU44LN3.js → chunk-Z2PITYZN.js} +2179 -552
- 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-VVMTPFAX.js → commandRegistry-5DA5UP7S.js} +106 -98
- package/{contentThunks-N52O67MI.js → contentThunks-5GUQ7FWJ.js} +47 -43
- package/{cooldownCommands-YXLWOXWR.js → cooldownCommands-X7P5M2V5.js} +5 -4
- package/{createAgentAutomationAction-ZC57YRSV.js → createAgentAutomationAction-UCLTHQRI.js} +51 -49
- package/{createDialogAction-VQW5WDYX.js → createDialogAction-UPN774AF.js} +46 -48
- package/{createPageAction-M5VDA7SC.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-HP7G4LX3.js → dbSlice-WNON7TOL.js} +17 -16
- package/{deleteFile-7VQGLK2V.js → deleteFile-Q3YDB4ML.js} +9 -9
- package/{desktopFolderProjects-SFY5EZS3.js → desktopFolderProjects-4POAMVJN.js} +2 -2
- package/{dialogCommands-JHMR2N2Y.js → dialogCommands-VRI7VCXH.js} +64 -57
- package/dialogNotifyCommand-6TMCX4D2.js +36 -0
- package/{dialogSlice-GRSVGDTF.js → dialogSlice-LFNVUSAN.js} +42 -40
- package/{dialogUsageCommand-7KCPYGHG.js → dialogUsageCommand-HTVPR2CX.js} +11 -10
- package/{docCreateCommands-F2K3UPSQ.js → docCreateCommands-AMPXMOX3.js} +61 -54
- package/{docDeleteCommands-XGXB5RFT.js → docDeleteCommands-I5WFAEHP.js} +63 -57
- package/{docReadCommands-7HWZZV6J.js → docReadCommands-X53ELNIE.js} +61 -54
- package/{docStore-KNZK6Y2G.js → docStore-2VAWVLWH.js} +21 -20
- package/{docUpdateCommands-OZZ7NQII.js → docUpdateCommands-6QPNDC7M.js} +64 -57
- package/{fetchMessages-M3QU7ZCQ.js → fetchMessages-TQEUZD7H.js} +8 -7
- package/{getPricing-2MNMXEVG.js → getPricing-MB2GBXOK.js} +6 -6
- package/{handleSendMessageAction-SHIH74GJ.js → handleSendMessageAction-AAJOHXOB.js} +193 -301
- package/{hostCredentialCreate-X64WK4JD.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-XRLAH4CZ.js → localDialogRead-SVTPA5GY.js} +3 -3
- package/{localFirstLog-DHNOY2NA.js → localFirstLog-OIETGK66.js} +1 -1
- package/localRecall-2J6QPOK2.js +15 -0
- package/{localRuntimeAdapter-A7K3ABA6.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-DE3MR7CJ.js → machineCommands-3MLIAK5Q.js} +128 -119
- package/{machineInfo-UKPTZO5Y.js → machineInfo-LWHTEBHJ.js} +1 -1
- package/machineWsRunDispatch-FKIGROQF.js +191 -0
- package/{memberThunks-7WJAY5V6.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-GGL5HLMD.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-4VZQODSN.js → read-MRQHJMJ2.js} +10 -10
- package/{readDocTool-AVD32RUJ.js → readDocTool-4BGTXTXA.js} +2 -2
- package/{readlineWorkspace-XKYKNL2I.js → readlineWorkspace-AKAHSCNY.js} +6505 -4634
- package/{removeDialogAgentAction-FKL4BYMR.js → removeDialogAgentAction-B6H7DXFM.js} +23 -22
- package/{runAgentClientLoop-V7E2WBVM.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-TLIOLWWI.js → setDialogExtraReferencesAction-EVCY3TRW.js} +22 -21
- package/{setPrimaryDialogAgentAction-2OLWRFYR.js → setPrimaryDialogAgentAction-KPFVPHCJ.js} +23 -22
- package/{settingThunks-UGBPCNYF.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-4KSLKVNF.js → spaceCommands-DTTNAS2L.js} +61 -53
- package/store-JRVN62NM.js +46 -0
- package/{streamAgentChatTurn-7FR7X2NU.js → streamAgentChatTurn-R5UY25VB.js} +875 -618
- package/{switchDialogAgentAction-UZSAG2N5.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-ZLKCC25W.js → tools-HWFG6GMJ.js} +75 -74
- package/tuiSummaryLlmCaller-HQQZAMYF.js +44 -0
- package/{updateCommands-4744PL3P.js → updateCommands-RJVCRSBP.js} +10 -8
- package/{updateDialogTitleAction-U53ZT7PJ.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-XSQVF2GK.js → windowsSelfUpdate-KERHIAB4.js} +3 -3
- package/{workloadLifecycle-4BEQHMSD.js → workloadLifecycle-DYNEYHV5.js} +7 -6
- package/agentRecordCommands-L3QQ7HZ4.js +0 -167
- package/agentRunCommand-2IFGQHCO.js +0 -196
- package/chunk-3CGG2PAL.js +0 -594
- package/chunk-5XBUWM6I.js +0 -89
- package/chunk-BFM34N54.js +0 -842
- package/chunk-CJEIOP3E.js +0 -0
- package/chunk-CZM5YTZ7.js +0 -977
- package/chunk-EYUBHHFB.js +0 -636
- package/chunk-JTDORD5P.js +0 -415
- package/chunk-NRFKLKRU.js +0 -339
- package/chunk-VPAZOH2D.js +0 -115
- package/chunk-WJZOQR2J.js +0 -151
- package/chunk-ZCWRMUWT.js +0 -89
- package/dist-M676ULYG.js +0 -7314
- package/machineWsRunDispatch-R26P5V36.js +0 -182
- package/models-PJBE6JDV.js +0 -9
- package/tuiSummaryLlmCaller-WC54MVGP.js +0 -160
- 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveCliAgentKeyInput
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BR3GT6MR.js";
|
|
4
4
|
import "./chunk-M2EJHDJP.js";
|
|
5
5
|
import {
|
|
6
6
|
toErrorMessage
|
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
resolveAuthToken,
|
|
11
11
|
resolveServerCandidates,
|
|
12
12
|
resolveServerUrl
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2THCNKE4.js";
|
|
14
14
|
import "./chunk-OLZBQWZU.js";
|
|
15
15
|
import "./chunk-LCBAMY2M.js";
|
|
16
|
+
import "./chunk-G3SUCT4W.js";
|
|
16
17
|
import "./chunk-4SN6J65J.js";
|
|
17
18
|
import "./chunk-CF7PE763.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-4VNS5WPM.js";
|
|
19
|
+
import "./chunk-U67V476Y.js";
|
|
20
20
|
|
|
21
21
|
// packages/cli/agentFavoriteCommands.ts
|
|
22
22
|
function wantsHelp(args) {
|
|
@@ -125,6 +125,7 @@ async function runAgentFavoriteCommand(args, deps = {}) {
|
|
|
125
125
|
const isFavorite = !args.includes("--off");
|
|
126
126
|
const primaryServerUrl = resolveServerUrl(args, env);
|
|
127
127
|
const serverUrls = resolveServerCandidates(args, env, primaryServerUrl);
|
|
128
|
+
const favoritedAt = Date.now();
|
|
128
129
|
try {
|
|
129
130
|
const attempts = await setFavoriteAcrossServers({
|
|
130
131
|
serverUrls,
|
|
@@ -132,9 +133,7 @@ async function runAgentFavoriteCommand(args, deps = {}) {
|
|
|
132
133
|
fetchImpl: deps.fetchImpl ?? fetch,
|
|
133
134
|
agentKey,
|
|
134
135
|
isFavorite,
|
|
135
|
-
|
|
136
|
-
// 各自取 Date.now() 会让各服务器时间错开毫秒级。
|
|
137
|
-
favoritedAt: Date.now()
|
|
136
|
+
favoritedAt
|
|
138
137
|
});
|
|
139
138
|
const failures = attempts.filter((attempt) => !attempt.ok);
|
|
140
139
|
if (failures.length === attempts.length) {
|
|
@@ -151,7 +150,7 @@ async function runAgentFavoriteCommand(args, deps = {}) {
|
|
|
151
150
|
targetType: "agent",
|
|
152
151
|
targetKey: agentKey,
|
|
153
152
|
isFavorite,
|
|
154
|
-
favoritedAt
|
|
153
|
+
favoritedAt,
|
|
155
154
|
servers: attempts
|
|
156
155
|
},
|
|
157
156
|
null,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveCliAgentKeyInput
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BR3GT6MR.js";
|
|
4
4
|
import "./chunk-M2EJHDJP.js";
|
|
5
5
|
import {
|
|
6
6
|
toErrorMessage
|
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
readOption,
|
|
12
12
|
resolveAuthToken,
|
|
13
13
|
resolveServerUrl
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2THCNKE4.js";
|
|
15
15
|
import "./chunk-OLZBQWZU.js";
|
|
16
16
|
import "./chunk-LCBAMY2M.js";
|
|
17
|
-
import "./chunk-4SN6J65J.js";
|
|
18
|
-
import "./chunk-CF7PE763.js";
|
|
19
17
|
import {
|
|
20
18
|
asOptionalTrimmedString
|
|
21
19
|
} from "./chunk-G3SUCT4W.js";
|
|
22
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-4SN6J65J.js";
|
|
21
|
+
import "./chunk-CF7PE763.js";
|
|
22
|
+
import "./chunk-U67V476Y.js";
|
|
23
23
|
|
|
24
24
|
// packages/cli/agentGrantCommands.ts
|
|
25
25
|
function wantsHelp(args) {
|
|
@@ -10,60 +10,58 @@ import {
|
|
|
10
10
|
listRemotePublicAgents,
|
|
11
11
|
normalizeListedAgent,
|
|
12
12
|
parseAgentListArgs
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-AIHYNKGV.js";
|
|
14
14
|
import {
|
|
15
15
|
buildSpaceLookup,
|
|
16
16
|
getSpaceContentKeys
|
|
17
17
|
} from "./chunk-ID4G2MAR.js";
|
|
18
18
|
import {
|
|
19
19
|
readLiveDbRecordAfterTombstoneMerge
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-MYHNBEXD.js";
|
|
21
21
|
import {
|
|
22
22
|
refreshSubscriptionQuotas
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-QVBXJNZ2.js";
|
|
24
24
|
import {
|
|
25
25
|
getReadableCliDb
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-YFLVRVYK.js";
|
|
27
27
|
import {
|
|
28
28
|
applyCredentialAvailability,
|
|
29
29
|
clearCredentialAvailabilityIfMarkedAt,
|
|
30
30
|
readCredentialAvailability,
|
|
31
31
|
readEffectiveCredentialEntry
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-FIYSMXHY.js";
|
|
33
33
|
import {
|
|
34
34
|
queryUserRecords,
|
|
35
35
|
readDbRecord
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-LKZPX6YH.js";
|
|
38
|
-
import "./chunk-NBTY7YJF.js";
|
|
36
|
+
} from "./chunk-6WU5572L.js";
|
|
39
37
|
import {
|
|
40
38
|
buildAgentDiscoveryResult,
|
|
41
39
|
matchesAgentQuery,
|
|
42
40
|
resolvePaginationArgs,
|
|
43
41
|
summarizeCredentialGroups,
|
|
44
42
|
toDiscoverySafeAgentSummary
|
|
45
|
-
} from "./chunk-
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import {
|
|
48
|
-
resolveNoloHome
|
|
49
|
-
} from "./chunk-GLKOYSRU.js";
|
|
43
|
+
} from "./chunk-34J5K2YA.js";
|
|
44
|
+
import "./chunk-GBWGPTA7.js";
|
|
50
45
|
import "./chunk-UEILX4EV.js";
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-BV3FLP2L.js";
|
|
47
|
+
import "./chunk-2ZKFCIJJ.js";
|
|
48
|
+
import "./chunk-BR3GT6MR.js";
|
|
49
|
+
import "./chunk-Z2PITYZN.js";
|
|
53
50
|
import "./chunk-ZNFJWEN4.js";
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-CTPXME7U.js";
|
|
56
|
-
import "./chunk-HNUWUO75.js";
|
|
51
|
+
import "./chunk-3LMUPOHG.js";
|
|
57
52
|
import "./chunk-CHOZJMJS.js";
|
|
58
53
|
import "./chunk-PWTNI4N7.js";
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
61
|
-
import "./chunk-
|
|
54
|
+
import "./chunk-AL3TYDIF.js";
|
|
55
|
+
import "./chunk-QNWG52I4.js";
|
|
56
|
+
import "./chunk-HNUWUO75.js";
|
|
57
|
+
import "./chunk-LKA64WH4.js";
|
|
58
|
+
import "./chunk-YU4ZPWVF.js";
|
|
59
|
+
import "./chunk-2WZXXAQD.js";
|
|
60
|
+
import "./chunk-OBWT45ZU.js";
|
|
61
|
+
import "./chunk-BGP2EDFG.js";
|
|
62
62
|
import "./chunk-56GBUMO5.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-E2BESSAW.js";
|
|
66
|
-
import "./chunk-25JZEIXN.js";
|
|
63
|
+
import "./chunk-EIAI3PPH.js";
|
|
64
|
+
import "./chunk-C4VAR65S.js";
|
|
67
65
|
import {
|
|
68
66
|
DEFAULT_PROVIDER_RETRY_MS,
|
|
69
67
|
formatQuotaSummary,
|
|
@@ -72,79 +70,89 @@ import {
|
|
|
72
70
|
resolveCredentialCandidateKeys,
|
|
73
71
|
resolveCredentialKeyWithFallback,
|
|
74
72
|
shouldClearCooldownFromQuota
|
|
75
|
-
} from "./chunk-
|
|
76
|
-
import "./chunk-
|
|
77
|
-
import "./chunk-
|
|
78
|
-
import "./chunk-
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-
|
|
73
|
+
} from "./chunk-HOCHUZQ7.js";
|
|
74
|
+
import "./chunk-SOF4OWDM.js";
|
|
75
|
+
import "./chunk-MAIITKBT.js";
|
|
76
|
+
import "./chunk-E2BESSAW.js";
|
|
77
|
+
import "./chunk-TLE77UJ5.js";
|
|
78
|
+
import "./chunk-FS2XP5D7.js";
|
|
79
|
+
import "./chunk-KQSYAIZR.js";
|
|
81
80
|
import "./chunk-2MBTWINN.js";
|
|
82
|
-
import "./chunk-
|
|
83
|
-
import "./chunk-CZM5YTZ7.js";
|
|
84
|
-
import "./chunk-H57T64RA.js";
|
|
81
|
+
import "./chunk-NIZ2BXFD.js";
|
|
85
82
|
import "./chunk-5ZUL4CUO.js";
|
|
83
|
+
import "./chunk-RDH5CQ4T.js";
|
|
84
|
+
import "./chunk-H57T64RA.js";
|
|
86
85
|
import "./chunk-UKZX3NHN.js";
|
|
87
86
|
import "./chunk-5MMAK75Q.js";
|
|
88
|
-
import "./chunk-
|
|
89
|
-
import "./chunk-OQHIVPG4.js";
|
|
87
|
+
import "./chunk-47ITIXO7.js";
|
|
90
88
|
import "./chunk-KX6YBIHG.js";
|
|
89
|
+
import "./chunk-SNBZZPYH.js";
|
|
91
90
|
import "./chunk-DWLEOOGR.js";
|
|
91
|
+
import "./chunk-OW765XBU.js";
|
|
92
92
|
import "./chunk-7DPNBQSV.js";
|
|
93
|
-
import "./chunk-
|
|
94
|
-
import "./chunk-
|
|
95
|
-
import "./chunk-
|
|
96
|
-
import "./chunk-
|
|
97
|
-
import "./chunk-
|
|
98
|
-
import "./chunk-
|
|
99
|
-
import "./chunk-
|
|
93
|
+
import "./chunk-WKGQSYTB.js";
|
|
94
|
+
import "./chunk-SY3C4SQ7.js";
|
|
95
|
+
import "./chunk-PJCIP64Z.js";
|
|
96
|
+
import "./chunk-6OVNSQHN.js";
|
|
97
|
+
import "./chunk-W6RFEDN4.js";
|
|
98
|
+
import "./chunk-7ET2U67U.js";
|
|
99
|
+
import "./chunk-3IK6ILVW.js";
|
|
100
100
|
import "./chunk-M2EJHDJP.js";
|
|
101
|
-
import
|
|
102
|
-
|
|
101
|
+
import {
|
|
102
|
+
createKey,
|
|
103
|
+
createTokenKey
|
|
104
|
+
} from "./chunk-SYTHYBMI.js";
|
|
105
|
+
import "./chunk-OJKUU3LP.js";
|
|
106
|
+
import "./chunk-YZMNK53S.js";
|
|
107
|
+
import "./chunk-I42VC5KR.js";
|
|
108
|
+
import "./chunk-JWXITTQB.js";
|
|
109
|
+
import "./chunk-L5I543VB.js";
|
|
110
|
+
import "./chunk-KHCLMKZZ.js";
|
|
111
|
+
import "./chunk-4O22PGNQ.js";
|
|
112
|
+
import {
|
|
113
|
+
t
|
|
114
|
+
} from "./chunk-OB6DVWPF.js";
|
|
115
|
+
import {
|
|
116
|
+
listRunRecords
|
|
117
|
+
} from "./chunk-2GJKRKI6.js";
|
|
118
|
+
import "./chunk-AQZ6BMRK.js";
|
|
119
|
+
import "./chunk-AMEOV5VZ.js";
|
|
120
|
+
import "./chunk-KEN3N2TN.js";
|
|
121
|
+
import "./chunk-EWQ3HGNZ.js";
|
|
103
122
|
import "./chunk-PSCNXBYA.js";
|
|
104
|
-
import "./chunk-
|
|
105
|
-
import "./chunk-
|
|
106
|
-
import "./chunk-SM3NSZJV.js";
|
|
107
|
-
import "./chunk-JRTNUU5Z.js";
|
|
123
|
+
import "./chunk-I7WBYGBP.js";
|
|
124
|
+
import "./chunk-MDLS23JK.js";
|
|
108
125
|
import {
|
|
109
126
|
toErrorMessage
|
|
110
127
|
} from "./chunk-HNMXYYJR.js";
|
|
128
|
+
import "./chunk-3EUW3WEO.js";
|
|
129
|
+
import "./chunk-2UCBGYO4.js";
|
|
130
|
+
import "./chunk-JRTNUU5Z.js";
|
|
111
131
|
import "./chunk-KUG52IAP.js";
|
|
112
|
-
import "./chunk-
|
|
132
|
+
import "./chunk-CKG3PRZ7.js";
|
|
113
133
|
import "./chunk-QSJ3HFEF.js";
|
|
134
|
+
import "./chunk-U6VC4MU4.js";
|
|
135
|
+
import "./chunk-WWC7I6TA.js";
|
|
114
136
|
import {
|
|
115
137
|
parseUserIdFromAuthToken,
|
|
116
138
|
readOption,
|
|
117
139
|
resolveAuthToken,
|
|
118
140
|
resolveServerCandidates,
|
|
119
141
|
resolveServerUrl
|
|
120
|
-
} from "./chunk-
|
|
142
|
+
} from "./chunk-2THCNKE4.js";
|
|
121
143
|
import "./chunk-OLZBQWZU.js";
|
|
122
144
|
import "./chunk-LCBAMY2M.js";
|
|
145
|
+
import "./chunk-G3SUCT4W.js";
|
|
123
146
|
import "./chunk-4SN6J65J.js";
|
|
124
147
|
import "./chunk-CF7PE763.js";
|
|
125
|
-
import "./chunk-4O22PGNQ.js";
|
|
126
|
-
import {
|
|
127
|
-
t
|
|
128
|
-
} from "./chunk-3RQVYR4B.js";
|
|
129
148
|
import "./chunk-G7Y4GXTY.js";
|
|
130
149
|
import "./chunk-6UBGXX2W.js";
|
|
131
|
-
import
|
|
132
|
-
createKey,
|
|
133
|
-
createTokenKey
|
|
134
|
-
} from "./chunk-JY5NGFFH.js";
|
|
135
|
-
import "./chunk-XJWWBO34.js";
|
|
136
|
-
import "./chunk-I42VC5KR.js";
|
|
137
|
-
import "./chunk-U6VC4MU4.js";
|
|
138
|
-
import "./chunk-WWC7I6TA.js";
|
|
139
|
-
import "./chunk-3EUW3WEO.js";
|
|
140
|
-
import "./chunk-G3SUCT4W.js";
|
|
141
|
-
import "./chunk-4VNS5WPM.js";
|
|
150
|
+
import "./chunk-U67V476Y.js";
|
|
142
151
|
|
|
143
152
|
// packages/ai/agent/speedSampleCache.ts
|
|
144
153
|
var SPEED_SAMPLE_DISK_CACHE_TTL_MS = 10 * 6e4;
|
|
145
154
|
var SPEED_SAMPLE_SCAN_BUDGET_MS = 2500;
|
|
146
|
-
var SPEED_SAMPLE_CACHE_VERSION =
|
|
147
|
-
var SPEED_SAMPLE_LEGACY_CACHE_VERSION = 1;
|
|
155
|
+
var SPEED_SAMPLE_CACHE_VERSION = 4;
|
|
148
156
|
var isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);
|
|
149
157
|
var sanitizeSample = (value) => {
|
|
150
158
|
if (!value || typeof value !== "object") return null;
|
|
@@ -164,7 +172,7 @@ async function parseCacheFile(cachePath, userId) {
|
|
|
164
172
|
const parsed = JSON.parse(raw);
|
|
165
173
|
if (!parsed || typeof parsed !== "object") return null;
|
|
166
174
|
const version = parsed.version;
|
|
167
|
-
if (version !== SPEED_SAMPLE_CACHE_VERSION
|
|
175
|
+
if (version !== SPEED_SAMPLE_CACHE_VERSION) {
|
|
168
176
|
return null;
|
|
169
177
|
}
|
|
170
178
|
if (parsed.userId !== userId) return null;
|
|
@@ -181,7 +189,7 @@ async function parseCacheFile(cachePath, userId) {
|
|
|
181
189
|
}
|
|
182
190
|
samples.set(model, cleaned);
|
|
183
191
|
}
|
|
184
|
-
const complete =
|
|
192
|
+
const complete = parsed.complete === true;
|
|
185
193
|
const cursor = typeof parsed.cursor === "string" && parsed.cursor.length > 0 ? parsed.cursor : void 0;
|
|
186
194
|
return { samples, at: parsed.at, complete, cursor: complete ? void 0 : cursor };
|
|
187
195
|
} catch {
|
|
@@ -212,8 +220,8 @@ function resolveSpeedSamplesProgressPath(cachePath) {
|
|
|
212
220
|
async function writeSpeedSamplesCache(cachePath, payload) {
|
|
213
221
|
try {
|
|
214
222
|
const fs = await import("node:fs/promises");
|
|
215
|
-
const
|
|
216
|
-
await fs.mkdir(
|
|
223
|
+
const path = await import("node:path");
|
|
224
|
+
await fs.mkdir(path.dirname(cachePath), { recursive: true });
|
|
217
225
|
const tmpPath = `${cachePath}.tmp-${process.pid}-${Math.random().toString(36).slice(2, 8)}`;
|
|
218
226
|
await fs.writeFile(tmpPath, JSON.stringify(payload), "utf8");
|
|
219
227
|
await fs.rename(tmpPath, cachePath);
|
|
@@ -295,6 +303,7 @@ function buildCandidateSpeedContext(models, samplesByModel, options = {}) {
|
|
|
295
303
|
return formatCandidateSpeedFacts(resolveCandidateSpeedFacts(models, samplesByModel), options);
|
|
296
304
|
}
|
|
297
305
|
var SPEED_SAMPLE_PAGE_SIZE = 2e3;
|
|
306
|
+
var DISPATCH_ENTRY_PATH = "agent-run";
|
|
298
307
|
var eventTime = (value) => {
|
|
299
308
|
if (isFiniteNumber2(value.timestamp)) return value.timestamp;
|
|
300
309
|
if (isFiniteNumber2(value.createdAt)) return value.createdAt;
|
|
@@ -331,6 +340,25 @@ async function collectRecentSpeedSamples(db, userId, options = {}) {
|
|
|
331
340
|
const budgetMs = isFiniteNumber2(options.budgetMs) ? options.budgetMs : Number.POSITIVE_INFINITY;
|
|
332
341
|
const { start, end } = createTokenKey.rangeOfUser(userId);
|
|
333
342
|
const failedPrefix = createKey("token", userId, "failed-call", "");
|
|
343
|
+
const dispatchRunCache = /* @__PURE__ */ new Map();
|
|
344
|
+
const isDispatchSampleRecord = async (record2, resolver, cache) => {
|
|
345
|
+
if (record2.entry_path !== DISPATCH_ENTRY_PATH && record2.entry_path !== "cli-local") return false;
|
|
346
|
+
const runId = typeof record2.dialogId === "string" ? record2.dialogId.trim() : "";
|
|
347
|
+
if (!runId) return false;
|
|
348
|
+
const cacheKey = `${record2.entry_path}:${runId}`;
|
|
349
|
+
const cached = cache.get(cacheKey);
|
|
350
|
+
if (cached !== void 0) return cached;
|
|
351
|
+
let dispatch = false;
|
|
352
|
+
if (resolver) {
|
|
353
|
+
try {
|
|
354
|
+
dispatch = await resolver(runId, record2.entry_path) === true;
|
|
355
|
+
} catch {
|
|
356
|
+
dispatch = false;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
cache.set(cacheKey, dispatch);
|
|
360
|
+
return dispatch;
|
|
361
|
+
};
|
|
334
362
|
const collected = /* @__PURE__ */ new Map();
|
|
335
363
|
const startedAt = Date.now();
|
|
336
364
|
let lastKey = options.startAfter;
|
|
@@ -356,7 +384,15 @@ async function collectRecentSpeedSamples(db, userId, options = {}) {
|
|
|
356
384
|
newestKey = key;
|
|
357
385
|
if (key.startsWith(failedPrefix)) continue;
|
|
358
386
|
if (!raw || typeof raw !== "object") continue;
|
|
359
|
-
|
|
387
|
+
const record2 = raw;
|
|
388
|
+
const resolver = options.isDispatchRun ?? db.isDispatchRun;
|
|
389
|
+
if (!await isDispatchSampleRecord(
|
|
390
|
+
record2,
|
|
391
|
+
resolver ? (runId, entryPath) => resolver.call(db, runId, entryPath) : void 0,
|
|
392
|
+
dispatchRunCache
|
|
393
|
+
))
|
|
394
|
+
continue;
|
|
395
|
+
collectSample(collected, record2);
|
|
360
396
|
}
|
|
361
397
|
if (accepted === 0 || accepted < pageSize) break;
|
|
362
398
|
lastKey = newestKey;
|
|
@@ -507,13 +543,45 @@ async function injectSpeedContextIntoListAgentsResult(result, options = {}) {
|
|
|
507
543
|
}
|
|
508
544
|
}
|
|
509
545
|
|
|
546
|
+
// packages/ai/agent/dispatchSpeedProvenance.ts
|
|
547
|
+
var record = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
548
|
+
function isServerDispatchSpeedSource(value, dialogId, userId) {
|
|
549
|
+
const dialog = record(value);
|
|
550
|
+
const proof = record(dialog.dispatchSpeedProvenance);
|
|
551
|
+
return proof.version === 1 && proof.source === "server-startAgentRun" && proof.userId === userId && record(dialog.runtimeBinding).tenantUserId === userId && dialog.id === dialogId;
|
|
552
|
+
}
|
|
553
|
+
function isLocalDispatchSpeedSource(value, dialogId, userId) {
|
|
554
|
+
const run = record(value);
|
|
555
|
+
const proof = record(run.dispatchSpeedProvenance);
|
|
556
|
+
return proof.version === 1 && proof.source === "cli-startAgentRun" && proof.userId === userId && typeof run.runId === "string" && run.runId.length > 0 && run.dialogId === dialogId && run.ephemeral !== true;
|
|
557
|
+
}
|
|
558
|
+
|
|
510
559
|
// packages/cli/agentListCommands.ts
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
560
|
+
var createCliDispatchSampleDb = (db, userId, env) => {
|
|
561
|
+
let localDialogs;
|
|
562
|
+
return {
|
|
563
|
+
iterator: (options) => db.iterator(options),
|
|
564
|
+
isDispatchRun: async (dialogId, entryPath) => {
|
|
565
|
+
if (entryPath === "cli-local") {
|
|
566
|
+
localDialogs ??= new Set(listRunRecords({ env }).filter(
|
|
567
|
+
(run) => typeof run.dialogId === "string" && isLocalDispatchSpeedSource(run, run.dialogId, userId)
|
|
568
|
+
).map((run) => run.dialogId));
|
|
569
|
+
return localDialogs.has(dialogId);
|
|
570
|
+
}
|
|
571
|
+
if (entryPath !== "agent-run") return false;
|
|
572
|
+
try {
|
|
573
|
+
return isServerDispatchSpeedSource(await db.get(`dialog-${userId}-${dialogId}`), dialogId, userId);
|
|
574
|
+
} catch {
|
|
575
|
+
return false;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
};
|
|
580
|
+
function formatCooldownUntilLocal(at, now = /* @__PURE__ */ new Date()) {
|
|
581
|
+
const pad = (value) => String(value).padStart(2, "0");
|
|
582
|
+
const time = `${pad(at.getHours())}:${pad(at.getMinutes())}`;
|
|
583
|
+
const sameDay = at.getFullYear() === now.getFullYear() && at.getMonth() === now.getMonth() && at.getDate() === now.getDate();
|
|
584
|
+
return sameDay ? time : `${pad(at.getMonth() + 1)}-${pad(at.getDate())} ${time}`;
|
|
517
585
|
}
|
|
518
586
|
async function runAgentListCommand(args, deps = {}) {
|
|
519
587
|
const env = deps.env ?? process.env;
|
|
@@ -525,7 +593,7 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
525
593
|
if (requestedScope && publicOnly && requestedScope !== "public") {
|
|
526
594
|
throw new Error(`Conflicting arguments: scope='${requestedScope}' conflicts with publicOnly=true.`);
|
|
527
595
|
}
|
|
528
|
-
const scope = requestedScope ?? "
|
|
596
|
+
const scope = requestedScope ?? "all";
|
|
529
597
|
const spaceInput = readOption(args, "--space") ?? readOption(args, "--space-id");
|
|
530
598
|
const authToken = resolveAuthToken(args, env);
|
|
531
599
|
if (!authToken) {
|
|
@@ -591,7 +659,7 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
591
659
|
limit: upstreamLimit,
|
|
592
660
|
query: hasQuery ? query : void 0
|
|
593
661
|
})));
|
|
594
|
-
|
|
662
|
+
const publicAgents = publicResults.flatMap((r) => r.agents);
|
|
595
663
|
for (const r of publicResults) {
|
|
596
664
|
if (r.truncated) cliUpstreamTruncated = true;
|
|
597
665
|
if (typeof r.total === "number") {
|
|
@@ -599,14 +667,21 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
599
667
|
}
|
|
600
668
|
}
|
|
601
669
|
if (scope === "all") {
|
|
602
|
-
const
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
670
|
+
const seenPublicKeys = /* @__PURE__ */ new Set();
|
|
671
|
+
for (const agent of agents) {
|
|
672
|
+
if (agent.publicKey) seenPublicKeys.add(agent.publicKey);
|
|
673
|
+
}
|
|
674
|
+
agents = [
|
|
675
|
+
...agents,
|
|
676
|
+
...publicAgents.filter((agent) => {
|
|
677
|
+
if (!agent.publicKey) return true;
|
|
678
|
+
if (seenPublicKeys.has(agent.publicKey)) return false;
|
|
679
|
+
seenPublicKeys.add(agent.publicKey);
|
|
680
|
+
return true;
|
|
681
|
+
})
|
|
682
|
+
];
|
|
683
|
+
} else {
|
|
684
|
+
agents = publicAgents;
|
|
610
685
|
}
|
|
611
686
|
}
|
|
612
687
|
agents = agents.filter((agent) => agent.privateKey.startsWith("agent-"));
|
|
@@ -648,7 +723,7 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
648
723
|
await readCredentialAvailability(env).catch(() => ({}))
|
|
649
724
|
);
|
|
650
725
|
let unavailableCount = agents.filter((agent) => isAgentUnavailableNow(agent)).length;
|
|
651
|
-
let agentsForOutput =
|
|
726
|
+
let agentsForOutput = agents;
|
|
652
727
|
if (query && typeof query === "string" && query.trim()) {
|
|
653
728
|
agentsForOutput = agentsForOutput.filter((agent) => matchesAgentQuery(agent, query));
|
|
654
729
|
}
|
|
@@ -707,12 +782,6 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
707
782
|
}
|
|
708
783
|
}
|
|
709
784
|
unavailableCount = agents.filter((agent) => isAgentUnavailableNow(agent)).length;
|
|
710
|
-
if (!showUnavailable) {
|
|
711
|
-
agentsForOutput = agents.filter((agent) => !isAgentUnavailableNow(agent));
|
|
712
|
-
if (query && typeof query === "string" && query.trim()) {
|
|
713
|
-
agentsForOutput = agentsForOutput.filter((agent) => matchesAgentQuery(agent, query));
|
|
714
|
-
}
|
|
715
|
-
}
|
|
716
785
|
}
|
|
717
786
|
const totalCount = agentsForOutput.length;
|
|
718
787
|
const pagedAgents = typeof pagination.limit === "number" || typeof pagination.offset === "number" ? agentsForOutput.slice(
|
|
@@ -748,18 +817,18 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
748
817
|
fetchImpl,
|
|
749
818
|
serverUrls
|
|
750
819
|
});
|
|
751
|
-
const
|
|
752
|
-
if (!
|
|
753
|
-
const norm = normalizeListedAgent(
|
|
754
|
-
const candidateKeys = [
|
|
820
|
+
const record2 = favRead.record;
|
|
821
|
+
if (!record2 || record2.type && record2.type !== "agent") continue;
|
|
822
|
+
const norm = normalizeListedAgent(record2);
|
|
823
|
+
const candidateKeys = [record2.dbKey, record2.publicKey, record2.id].filter((key) => typeof key === "string" && key.length > 0);
|
|
755
824
|
if (spaceContentKeys && !candidateKeys.some((key) => spaceContentKeys?.has(key))) {
|
|
756
825
|
continue;
|
|
757
826
|
}
|
|
758
827
|
if (norm) {
|
|
759
828
|
if (!favKey.startsWith("agent-pub-")) {
|
|
760
829
|
norm.verifiedAgentKey = favKey;
|
|
761
|
-
if (typeof
|
|
762
|
-
norm.ownerId =
|
|
830
|
+
if (typeof record2.userId === "string" && record2.userId) {
|
|
831
|
+
norm.ownerId = record2.userId;
|
|
763
832
|
}
|
|
764
833
|
}
|
|
765
834
|
agents.push(norm);
|
|
@@ -768,7 +837,7 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
768
837
|
existingKeys.add(norm.publicKey);
|
|
769
838
|
existingKeys.add(norm.id);
|
|
770
839
|
} else {
|
|
771
|
-
extraFavoriteRecords.push(
|
|
840
|
+
extraFavoriteRecords.push(record2);
|
|
772
841
|
for (const key of candidateKeys) existingKeys.add(key);
|
|
773
842
|
}
|
|
774
843
|
} catch {
|
|
@@ -783,7 +852,7 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
783
852
|
serverUrls
|
|
784
853
|
});
|
|
785
854
|
}
|
|
786
|
-
const safeRecords = [...agents, ...extraFavoriteRecords].map((
|
|
855
|
+
const safeRecords = [...agents, ...extraFavoriteRecords].map((record2) => toDiscoverySafeAgentSummary(record2, { favoritesMap, userId })).filter((agent) => publicOnly ? agent.isPublic === true : true);
|
|
787
856
|
const discovery = buildAgentDiscoveryResult({
|
|
788
857
|
agents: safeRecords,
|
|
789
858
|
scope: requestedScope ?? (publicOnly ? "public" : "all"),
|
|
@@ -806,17 +875,19 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
806
875
|
...discovery.truncated ? { truncated: true } : {},
|
|
807
876
|
unavailableCount: discovery.unavailableCount,
|
|
808
877
|
// agents 在最前:host 截断长输出时保头保尾,派发所需的 agentKey
|
|
809
|
-
//
|
|
878
|
+
// 必须落在头部;凭证分组是说明性大块,放最后。
|
|
879
|
+
// 限流 agent 已合入 agents(带 availabilityStatus / nextAvailableAt
|
|
880
|
+
// 参考标注),不再单列 unavailableAgents,避免两套真相。
|
|
810
881
|
agents: discovery.agents,
|
|
811
|
-
credentialGroups: discovery.credentialGroups
|
|
812
|
-
unavailableAgents: discovery.unavailableAgents
|
|
882
|
+
credentialGroups: discovery.credentialGroups
|
|
813
883
|
}, null, 2);
|
|
814
|
-
const
|
|
815
|
-
|
|
884
|
+
const cliNoloHome = env.NOLO_HOME?.trim() || (env.HOME?.trim() ? `${env.HOME.trim()}/.nolo` : "");
|
|
885
|
+
const speedAwareListResult = await injectSpeedContextIntoListAgentsResult(listResult, {
|
|
886
|
+
db: createCliDispatchSampleDb(deps.db ?? await getReadableCliDb(output), userId, env),
|
|
816
887
|
userId,
|
|
817
|
-
diskCache: { cachePath:
|
|
888
|
+
...cliNoloHome ? { diskCache: { cachePath: `${cliNoloHome}/cache/speed-samples-${userId}.json` } } : {}
|
|
818
889
|
});
|
|
819
|
-
output.write(
|
|
890
|
+
output.write(speedAwareListResult);
|
|
820
891
|
output.write("\n");
|
|
821
892
|
return 0;
|
|
822
893
|
}
|
|
@@ -855,17 +926,8 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
855
926
|
`);
|
|
856
927
|
output.write(`public agents: ${agentsForOutput.filter((agent) => agent.publicRecordExists).length}
|
|
857
928
|
`);
|
|
858
|
-
if (unavailableCount > 0
|
|
859
|
-
output.write(t("agent.
|
|
860
|
-
const unavailableList = agents.filter((agent) => isAgentUnavailableNow(agent));
|
|
861
|
-
for (const unavail of unavailableList) {
|
|
862
|
-
const remainingSec = Math.max(0, Math.ceil(((unavail.nextAvailableAt ?? 0) - Date.now()) / 1e3));
|
|
863
|
-
const quotaSummary = formatQuotaSummary(unavail.quota, Date.now(), { model: unavail.model });
|
|
864
|
-
const quotaText = quotaSummary ? ` (${quotaSummary})` : "";
|
|
865
|
-
output.write(
|
|
866
|
-
t("agent.rateLimitedRecovery", unavail.name, unavail.id, String(remainingSec), quotaText)
|
|
867
|
-
);
|
|
868
|
-
}
|
|
929
|
+
if (unavailableCount > 0) {
|
|
930
|
+
output.write(t("agent.rateLimitedSummary", String(unavailableCount)));
|
|
869
931
|
}
|
|
870
932
|
output.write(`source: ${source}
|
|
871
933
|
`);
|
|
@@ -879,9 +941,20 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
879
941
|
const credentialLine = agent.credentialConfigured ? `credentialConfigured=true${agent.credentialRef ? ` credentialRef=${agent.credentialRef}` : ""}${agent.apiKeyRef ? ` apiKeyRef=${agent.apiKeyRef}` : ""}` : "credentialConfigured=false";
|
|
880
942
|
const availDecision = resolveAgentAvailability(agent);
|
|
881
943
|
const availabilityStatusLine = `availability=${availDecision.status} (${availDecision.reason})`;
|
|
882
|
-
const availabilityLine = typeof agent.nextAvailableAt === "number" && agent.nextAvailableAt > Date.now() ? `nextAvailableAt=${new Date(agent.nextAvailableAt).toISOString()}` : "nextAvailableAt=now";
|
|
944
|
+
const availabilityLine = typeof agent.nextAvailableAt === "number" && agent.nextAvailableAt > Date.now() ? `nextAvailableAt=${new Date(agent.nextAvailableAt).toISOString()} (reference info, not a dispatch gate)` : "nextAvailableAt=now";
|
|
883
945
|
const quotaSummary = formatQuotaSummary(agent.quota, Date.now(), { model: agent.model });
|
|
884
946
|
const quotaLine = `quota=${quotaSummary ?? "-"}`;
|
|
947
|
+
if (isAgentUnavailableNow(agent)) {
|
|
948
|
+
const recoveryAt = agent.nextAvailableAt;
|
|
949
|
+
output.write(t(
|
|
950
|
+
"agent.rateLimitedRecovery",
|
|
951
|
+
agent.name,
|
|
952
|
+
agent.id,
|
|
953
|
+
String(typeof recoveryAt === "number" ? Math.max(0, Math.ceil((recoveryAt - Date.now()) / 1e3)) : 0),
|
|
954
|
+
quotaSummary ? ` quota=${quotaSummary}` : "",
|
|
955
|
+
typeof recoveryAt === "number" ? formatCooldownUntilLocal(new Date(recoveryAt)) : "-"
|
|
956
|
+
));
|
|
957
|
+
}
|
|
885
958
|
output.write(
|
|
886
959
|
[
|
|
887
960
|
`
|
|
@@ -914,6 +987,5 @@ async function runAgentListCommand(args, deps = {}) {
|
|
|
914
987
|
}
|
|
915
988
|
}
|
|
916
989
|
export {
|
|
917
|
-
resolveSpeedSamplesCachePath,
|
|
918
990
|
runAgentListCommand
|
|
919
991
|
};
|