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
|
@@ -4,9 +4,6 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
isRecord
|
|
6
6
|
} from "./chunk-KUG52IAP.js";
|
|
7
|
-
import {
|
|
8
|
-
resolveNoloStateDir
|
|
9
|
-
} from "./chunk-6UBGXX2W.js";
|
|
10
7
|
import {
|
|
11
8
|
asOptionalPositiveFiniteNumber
|
|
12
9
|
} from "./chunk-U6VC4MU4.js";
|
|
@@ -16,6 +13,9 @@ import {
|
|
|
16
13
|
import {
|
|
17
14
|
asOptionalTrimmedString
|
|
18
15
|
} from "./chunk-G3SUCT4W.js";
|
|
16
|
+
import {
|
|
17
|
+
resolveNoloStateDir
|
|
18
|
+
} from "./chunk-6UBGXX2W.js";
|
|
19
19
|
|
|
20
20
|
// packages/agent-runtime/processTask.ts
|
|
21
21
|
var PROCESS_TASK_TERMINAL_STATUSES = [
|
|
@@ -435,8 +435,9 @@ function getProcessRegistry() {
|
|
|
435
435
|
}
|
|
436
436
|
|
|
437
437
|
// packages/agent-runtime/workspaceShell.ts
|
|
438
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
438
439
|
import { createWriteStream, mkdirSync as mkdirSync2, rmSync } from "node:fs";
|
|
439
|
-
import { dirname, join as join3, resolve } from "node:path";
|
|
440
|
+
import { dirname, join as join3, resolve as resolve2 } from "node:path";
|
|
440
441
|
import { spawn as spawnChildProcess } from "node:child_process";
|
|
441
442
|
import { randomUUID as randomUUID2 } from "node:crypto";
|
|
442
443
|
import { tmpdir } from "node:os";
|
|
@@ -594,9 +595,9 @@ function spawnToWebStreams(options) {
|
|
|
594
595
|
env: options.env,
|
|
595
596
|
stdio: ["ignore", "pipe", "pipe"]
|
|
596
597
|
});
|
|
597
|
-
const exited = new Promise((
|
|
598
|
-
child.on("exit", (code) =>
|
|
599
|
-
child.on("error", () =>
|
|
598
|
+
const exited = new Promise((resolve3) => {
|
|
599
|
+
child.on("exit", (code) => resolve3(code ?? 1));
|
|
600
|
+
child.on("error", () => resolve3(127));
|
|
600
601
|
});
|
|
601
602
|
const toWeb = (stream) => {
|
|
602
603
|
if (!stream) return null;
|
|
@@ -691,6 +692,11 @@ function findWindowsPowerShellAlias(options = {}) {
|
|
|
691
692
|
return null;
|
|
692
693
|
}
|
|
693
694
|
|
|
695
|
+
// packages/agent-runtime/processTaskResult.ts
|
|
696
|
+
import { openSync, readSync, closeSync } from "node:fs";
|
|
697
|
+
import { isAbsolute as isAbsolute2, resolve } from "node:path";
|
|
698
|
+
import { StringDecoder } from "node:string_decoder";
|
|
699
|
+
|
|
694
700
|
// packages/agent-runtime/toolSpillStore.ts
|
|
695
701
|
import { createHash, randomUUID } from "node:crypto";
|
|
696
702
|
import { constants, copyFileSync, createReadStream, existsSync as existsSync2, mkdirSync, readdirSync as readdirSync2, renameSync, statSync as statSync3, unlinkSync, utimesSync, writeFileSync } from "node:fs";
|
|
@@ -722,11 +728,11 @@ function countLines(text) {
|
|
|
722
728
|
var SPILL_PUBLICATION_GRACE_MS = 6e4;
|
|
723
729
|
async function hashFileStreaming(path) {
|
|
724
730
|
const hash = createHash("sha256");
|
|
725
|
-
await new Promise((
|
|
731
|
+
await new Promise((resolve3, reject) => {
|
|
726
732
|
const stream = createReadStream(path);
|
|
727
733
|
stream.on("data", (chunk) => hash.update(chunk));
|
|
728
734
|
stream.on("error", reject);
|
|
729
|
-
stream.on("end", () =>
|
|
735
|
+
stream.on("end", () => resolve3());
|
|
730
736
|
});
|
|
731
737
|
return hash.digest("hex");
|
|
732
738
|
}
|
|
@@ -952,6 +958,41 @@ function formatToolOverflowMarker(args) {
|
|
|
952
958
|
`;
|
|
953
959
|
}
|
|
954
960
|
|
|
961
|
+
// packages/agent-runtime/toolOutputSpillProjection.ts
|
|
962
|
+
var TOOL_OUTPUT_SPILL_BYTES = 30 * 1024;
|
|
963
|
+
var TOOL_OUTPUT_SPILL_LINES = 800;
|
|
964
|
+
var HEAD_LINES = 30;
|
|
965
|
+
var TAIL_LINES = 50;
|
|
966
|
+
var PREVIEW_CHARS = 12 * 1024;
|
|
967
|
+
var MARKER = /\[Omitted \d+ lines \([\d.]+ KB\)\. Full output saved to [^\n]+\]/;
|
|
968
|
+
function isSpilledToolOutput(text) {
|
|
969
|
+
return MARKER.test(text) && text.length <= PREVIEW_CHARS * 2 + 2048;
|
|
970
|
+
}
|
|
971
|
+
function formatSpilledToolOutput(args) {
|
|
972
|
+
const headLines = args.head.split("\n").slice(0, HEAD_LINES);
|
|
973
|
+
const tailLines = args.tail.split("\n").slice(-TAIL_LINES);
|
|
974
|
+
const head = headLines.join("\n").slice(0, PREVIEW_CHARS);
|
|
975
|
+
const tail = tailLines.join("\n").slice(-PREVIEW_CHARS);
|
|
976
|
+
const omitted = Math.max(0, args.totalLines - headLines.length - tailLines.length);
|
|
977
|
+
return `${head}
|
|
978
|
+
|
|
979
|
+
[Omitted ${omitted} lines (${(args.byteLength / 1024).toFixed(1)} KB). Full output saved to ${args.displayPath}]
|
|
980
|
+
|
|
981
|
+
${tail}`;
|
|
982
|
+
}
|
|
983
|
+
function spillLargeToolOutput(content, toolName, workspaceRoot) {
|
|
984
|
+
if (isSpilledToolOutput(content)) return content;
|
|
985
|
+
const byteLength = Buffer.byteLength(content);
|
|
986
|
+
const totalLines = countLines(content);
|
|
987
|
+
if (byteLength <= TOOL_OUTPUT_SPILL_BYTES && totalLines <= TOOL_OUTPUT_SPILL_LINES) return content;
|
|
988
|
+
try {
|
|
989
|
+
const spill = spillToolOutput({ content, toolName, workspaceRoot });
|
|
990
|
+
return formatSpilledToolOutput({ head: content, tail: content, totalLines, byteLength, displayPath: spill.displayPath });
|
|
991
|
+
} catch {
|
|
992
|
+
return content;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
|
|
955
996
|
// packages/agent-runtime/processTaskResult.ts
|
|
956
997
|
var PROCESS_RESULT_CAPSULE_TAIL_CHARS = 4e3;
|
|
957
998
|
var PROCESS_RESULT_CAPSULE_SPILL_THRESHOLD_CHARS = 2e4;
|
|
@@ -959,6 +1000,27 @@ function tailText(value, maxChars) {
|
|
|
959
1000
|
if (value.length <= maxChars) return { text: value, truncated: false };
|
|
960
1001
|
return { text: value.slice(-maxChars), truncated: true };
|
|
961
1002
|
}
|
|
1003
|
+
function reuseStreamSpill(text, workspaceRoot) {
|
|
1004
|
+
const displayPath = /Full output saved to ([^\n]+?)\]/.exec(text)?.[1];
|
|
1005
|
+
if (!displayPath) return void 0;
|
|
1006
|
+
const path = isAbsolute2(displayPath) ? displayPath : workspaceRoot ? resolve(workspaceRoot, displayPath) : void 0;
|
|
1007
|
+
if (!path) return void 0;
|
|
1008
|
+
const fd = openSync(path, "r");
|
|
1009
|
+
try {
|
|
1010
|
+
const buffer = Buffer.alloc(64 * 1024);
|
|
1011
|
+
const decoder = new StringDecoder("utf8");
|
|
1012
|
+
let totalChars = 0, newlines = 0;
|
|
1013
|
+
const count = (chunk) => {
|
|
1014
|
+
totalChars += chunk.length;
|
|
1015
|
+
for (let i = chunk.indexOf("\n"); i >= 0; i = chunk.indexOf("\n", i + 1)) newlines++;
|
|
1016
|
+
};
|
|
1017
|
+
for (let bytes; (bytes = readSync(fd, buffer, 0, buffer.length, null)) > 0; ) count(decoder.write(buffer.subarray(0, bytes)));
|
|
1018
|
+
count(decoder.end());
|
|
1019
|
+
return { displayPath, totalChars, totalLines: totalChars ? newlines + 1 : 0 };
|
|
1020
|
+
} finally {
|
|
1021
|
+
closeSync(fd);
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
962
1024
|
function formatCapsuleStream(name, value) {
|
|
963
1025
|
return value.trim() ? `${name}:
|
|
964
1026
|
${value.replace(/\n+$/, "")}` : "";
|
|
@@ -980,10 +1042,33 @@ function buildProcessTaskResultCapsule(args) {
|
|
|
980
1042
|
const stderrTail = tailText(stderrTailSource, tailChars);
|
|
981
1043
|
const inlineSize = stdout.length + stderr.length;
|
|
982
1044
|
const inlineTruncated = stdoutTail.truncated || stderrTail.truncated;
|
|
983
|
-
const truncated = inlineTruncated || ringEvicted || Boolean(captureError);
|
|
1045
|
+
const truncated = inlineTruncated || ringEvicted || Boolean(captureError) || isSpilledToolOutput(stdout) || isSpilledToolOutput(stderr);
|
|
984
1046
|
const shouldSpill = truncated || inlineSize > spillThresholdChars;
|
|
985
1047
|
let spill;
|
|
986
|
-
|
|
1048
|
+
let streamSpills;
|
|
1049
|
+
if (isSpilledToolOutput(stdout) || isSpilledToolOutput(stderr)) {
|
|
1050
|
+
streamSpills = {};
|
|
1051
|
+
for (const [name, text] of [["stdout", stdout], ["stderr", stderr]]) {
|
|
1052
|
+
if (!text) continue;
|
|
1053
|
+
try {
|
|
1054
|
+
if (isSpilledToolOutput(text)) {
|
|
1055
|
+
streamSpills[name] = reuseStreamSpill(text, args.workspaceRoot);
|
|
1056
|
+
} else {
|
|
1057
|
+
const result = spillToolOutput({ content: text, toolName: "execShell", workspaceRoot: args.workspaceRoot });
|
|
1058
|
+
streamSpills[name] = { displayPath: result.displayPath, totalChars: result.totalChars, totalLines: result.totalLines };
|
|
1059
|
+
}
|
|
1060
|
+
} catch {
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
const primary = streamSpills.stdout ?? streamSpills.stderr;
|
|
1064
|
+
if (primary) {
|
|
1065
|
+
spill = {
|
|
1066
|
+
displayPath: primary.displayPath,
|
|
1067
|
+
totalChars: (streamSpills.stdout?.totalChars ?? 0) + (streamSpills.stderr?.totalChars ?? 0),
|
|
1068
|
+
totalLines: (streamSpills.stdout?.totalLines ?? 0) + (streamSpills.stderr?.totalLines ?? 0)
|
|
1069
|
+
};
|
|
1070
|
+
}
|
|
1071
|
+
} else if (shouldSpill) {
|
|
987
1072
|
try {
|
|
988
1073
|
const result = spillToolOutput({
|
|
989
1074
|
content: [
|
|
@@ -1011,11 +1096,16 @@ function buildProcessTaskResultCapsule(args) {
|
|
|
1011
1096
|
...durationMs !== void 0 ? { durationMs } : {},
|
|
1012
1097
|
...captureError ? { captureError } : {},
|
|
1013
1098
|
truncated,
|
|
1014
|
-
...spill ? { spill } : {}
|
|
1099
|
+
...spill ? { spill } : {},
|
|
1100
|
+
...streamSpills ? { streamSpills } : {}
|
|
1015
1101
|
};
|
|
1016
1102
|
}
|
|
1017
1103
|
|
|
1018
1104
|
// packages/agent-runtime/workspaceShell.ts
|
|
1105
|
+
var shellChildEnvironment = new AsyncLocalStorage();
|
|
1106
|
+
function withShellChildEnvironment(env, run) {
|
|
1107
|
+
return shellChildEnvironment.run(env, run);
|
|
1108
|
+
}
|
|
1019
1109
|
var EXEC_SHELL_TIMEOUT_ENV = "NOLO_EXEC_SHELL_TIMEOUT_MS";
|
|
1020
1110
|
var EXEC_SHELL_DETACH_ENV = "NOLO_EXEC_SHELL_DETACH_MS";
|
|
1021
1111
|
var DEFAULT_EXEC_SHELL_DETACH_MS = 12e4;
|
|
@@ -1310,19 +1400,33 @@ function resolveDetachMs(override) {
|
|
|
1310
1400
|
return parsed === void 0 ? DEFAULT_EXEC_SHELL_DETACH_MS : parsed;
|
|
1311
1401
|
}
|
|
1312
1402
|
function truncateToolOutput(value, limit = 2e4, options) {
|
|
1403
|
+
if (isSpilledToolOutput(value)) return value;
|
|
1313
1404
|
if (value.length <= limit) return value;
|
|
1314
1405
|
let spillNote = "";
|
|
1406
|
+
let spillPathOnly = "";
|
|
1315
1407
|
try {
|
|
1316
1408
|
const spill = spillToolOutput({
|
|
1317
1409
|
content: value,
|
|
1318
1410
|
toolName: options?.toolName ?? "execShell",
|
|
1319
1411
|
workspaceRoot: options?.workspaceRoot
|
|
1320
1412
|
});
|
|
1321
|
-
spillNote = `; spillFile=${spill.displayPath}; totalLines=${spill.totalLines}`;
|
|
1413
|
+
spillNote = `; spillFile=${spill.displayPath}; totalLines=${spill.totalLines}; hint=read a range, not the whole spill (readFile lines=A-B or sed -n 'A,Bp'); a full read re-injects ${spill.totalChars} chars`;
|
|
1414
|
+
spillPathOnly = `; spillFile=${spill.displayPath}`;
|
|
1322
1415
|
} catch {
|
|
1323
1416
|
}
|
|
1324
1417
|
const approxMarkerLen = 40 + spillNote.length;
|
|
1325
|
-
if (limit <= approxMarkerLen)
|
|
1418
|
+
if (limit <= approxMarkerLen) {
|
|
1419
|
+
const notice = `[... truncated ${value.length} chars]`;
|
|
1420
|
+
const withFullNote = `[... truncated ${value.length} chars${spillNote} ...]`;
|
|
1421
|
+
if (withFullNote.length <= limit) return withFullNote;
|
|
1422
|
+
const withPath = `[... truncated ${value.length} chars${spillPathOnly} ...]`;
|
|
1423
|
+
if (withPath.length <= limit) return withPath;
|
|
1424
|
+
if (notice.length <= limit) {
|
|
1425
|
+
const pathOmitted = " [... path omitted]";
|
|
1426
|
+
return notice.length + pathOmitted.length <= limit ? notice + pathOmitted : notice;
|
|
1427
|
+
}
|
|
1428
|
+
return limit <= 0 ? "" : "\u2026";
|
|
1429
|
+
}
|
|
1326
1430
|
const remaining = limit - approxMarkerLen;
|
|
1327
1431
|
const headSize = Math.floor(remaining * 0.3);
|
|
1328
1432
|
const tailSize = remaining - headSize;
|
|
@@ -1352,6 +1456,9 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
|
|
|
1352
1456
|
return new Promise((resolveStream, rejectStream) => {
|
|
1353
1457
|
const chunks = [];
|
|
1354
1458
|
let totalBytes = 0;
|
|
1459
|
+
let observedBytes = 0;
|
|
1460
|
+
let observedLines = 1;
|
|
1461
|
+
let tail = Buffer.alloc(0);
|
|
1355
1462
|
let settled = false;
|
|
1356
1463
|
let captureResolved = false;
|
|
1357
1464
|
const resolveCapture = (text) => {
|
|
@@ -1481,6 +1588,16 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
|
|
|
1481
1588
|
await settleSpillRetention();
|
|
1482
1589
|
if (captureResolved) return;
|
|
1483
1590
|
let text = baseText;
|
|
1591
|
+
if (truncatedNow && spillRetainedPath && sourceEnded && options.maxLines !== void 0) {
|
|
1592
|
+
resolveCapture(formatSpilledToolOutput({
|
|
1593
|
+
head: baseText,
|
|
1594
|
+
tail: tail.toString("utf8"),
|
|
1595
|
+
totalLines: observedLines,
|
|
1596
|
+
byteLength: observedBytes,
|
|
1597
|
+
displayPath: spillRetainedPath
|
|
1598
|
+
}));
|
|
1599
|
+
return;
|
|
1600
|
+
}
|
|
1484
1601
|
if (truncatedNow) {
|
|
1485
1602
|
const notes = [`output exceeded ${formatLimit} buffer limit`];
|
|
1486
1603
|
if (spillRetainedPath && sourceEnded) {
|
|
@@ -1548,11 +1665,16 @@ function readNodeStream(stream, maxBytesOrOptions = DEFAULT_MAX_STREAM_BUFFER_BY
|
|
|
1548
1665
|
stream.on("data", (chunk) => {
|
|
1549
1666
|
if (settled) return;
|
|
1550
1667
|
const buf = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
1668
|
+
observedBytes += buf.length;
|
|
1669
|
+
for (const byte of buf) if (byte === 10) observedLines++;
|
|
1670
|
+
if (options.maxLines !== void 0) {
|
|
1671
|
+
tail = Buffer.concat([tail, buf.subarray(Math.max(0, buf.length - maxBytes))]).subarray(-maxBytes);
|
|
1672
|
+
}
|
|
1551
1673
|
if (truncated) {
|
|
1552
1674
|
writeToSink(buf);
|
|
1553
1675
|
return;
|
|
1554
1676
|
}
|
|
1555
|
-
if (totalBytes + buf.length >= maxBytes) {
|
|
1677
|
+
if (totalBytes + buf.length >= maxBytes || observedLines > (options.maxLines ?? Infinity)) {
|
|
1556
1678
|
const remaining = Math.max(0, maxBytes - totalBytes);
|
|
1557
1679
|
const headChunks = chunks.slice();
|
|
1558
1680
|
if (remaining > 0) {
|
|
@@ -1644,7 +1766,8 @@ async function runWorkspaceCommand(args) {
|
|
|
1644
1766
|
];
|
|
1645
1767
|
const spawnedAt = Date.now();
|
|
1646
1768
|
const proc = spawnChildProcess(command[0] ?? "", command.slice(1), {
|
|
1647
|
-
cwd:
|
|
1769
|
+
cwd: resolve2(args.workspaceRoot),
|
|
1770
|
+
env: { ...process.env, ...shellChildEnvironment.getStore() },
|
|
1648
1771
|
stdio: [
|
|
1649
1772
|
args.stdin === void 0 ? "ignore" : "pipe",
|
|
1650
1773
|
"pipe",
|
|
@@ -1704,6 +1827,8 @@ async function runWorkspaceCommand(args) {
|
|
|
1704
1827
|
let stderrIncomplete;
|
|
1705
1828
|
const stdoutCapture = stdoutPromiseResult(
|
|
1706
1829
|
readNodeStream(proc.stdout, {
|
|
1830
|
+
maxBytes: TOOL_OUTPUT_SPILL_BYTES,
|
|
1831
|
+
maxLines: TOOL_OUTPUT_SPILL_LINES,
|
|
1707
1832
|
spillPath: join3(tmpdir(), `nolo-stream-${randomUUID2()}.log`),
|
|
1708
1833
|
spillRetention: "promote",
|
|
1709
1834
|
spillWorkspaceRoot: args.workspaceRoot
|
|
@@ -1716,6 +1841,8 @@ async function runWorkspaceCommand(args) {
|
|
|
1716
1841
|
).then((result) => ({ ...result, error: result.error || stdoutIncomplete }));
|
|
1717
1842
|
const stderrCapture = stdoutPromiseResult(
|
|
1718
1843
|
readNodeStream(proc.stderr, {
|
|
1844
|
+
maxBytes: TOOL_OUTPUT_SPILL_BYTES,
|
|
1845
|
+
maxLines: TOOL_OUTPUT_SPILL_LINES,
|
|
1719
1846
|
spillPath: join3(tmpdir(), `nolo-stream-${randomUUID2()}-stderr.log`),
|
|
1720
1847
|
spillRetention: "promote",
|
|
1721
1848
|
spillWorkspaceRoot: args.workspaceRoot
|
|
@@ -1955,8 +2082,6 @@ ${stderr.trim()}` : "",
|
|
|
1955
2082
|
}
|
|
1956
2083
|
|
|
1957
2084
|
export {
|
|
1958
|
-
spillToolOutput,
|
|
1959
|
-
formatToolOverflowMarker,
|
|
1960
2085
|
resolveExecutableOnPath,
|
|
1961
2086
|
createGlob,
|
|
1962
2087
|
spawnToWebStreams,
|
|
@@ -1964,7 +2089,12 @@ export {
|
|
|
1964
2089
|
reportedTaskStatus,
|
|
1965
2090
|
toProcessTaskView,
|
|
1966
2091
|
getProcessRegistry,
|
|
2092
|
+
spillToolOutput,
|
|
2093
|
+
formatToolOverflowMarker,
|
|
2094
|
+
isSpilledToolOutput,
|
|
2095
|
+
spillLargeToolOutput,
|
|
1967
2096
|
buildProcessTaskResultCapsule,
|
|
2097
|
+
withShellChildEnvironment,
|
|
1968
2098
|
extractActivity,
|
|
1969
2099
|
findPowerShellExecutable,
|
|
1970
2100
|
buildWorkspaceShellPlan,
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
ANTIGRAVITY_CLOUD_CODE_BASE_URL,
|
|
6
6
|
isAntigravityCloudCodeBaseUrl,
|
|
7
7
|
isAntigravityOAuthAgent
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-SY3C4SQ7.js";
|
|
9
9
|
import {
|
|
10
10
|
isOpenAiResponsesModel,
|
|
11
11
|
resolvePlatformChatCompletionsEndpoint,
|
|
12
12
|
resolvePlatformResponsesEndpoint
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MDLS23JK.js";
|
|
14
14
|
import {
|
|
15
15
|
findModelConfig
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-2UCBGYO4.js";
|
|
17
17
|
import {
|
|
18
18
|
asTrimmedLowercaseString
|
|
19
19
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -43,7 +43,7 @@ var normalizeLocale = (value) => {
|
|
|
43
43
|
return language;
|
|
44
44
|
};
|
|
45
45
|
var resolveUserResponseLanguage = (input = {}) => {
|
|
46
|
-
const raw = asLocale(input.
|
|
46
|
+
const raw = asLocale(input.language) || "en-US";
|
|
47
47
|
const locale = normalizeLocale(raw);
|
|
48
48
|
return {
|
|
49
49
|
locale,
|
|
@@ -80,7 +80,8 @@ var MEMORY_USE_GUIDANCE = `--- \u8BB0\u5FC6\u4F7F\u7528\u65B9\u5F0F ---
|
|
|
80
80
|
- \u8BB0\u5FC6\u542B\u7528\u6237\u8EAB\u4EFD/\u79F0\u547C/\u5173\u7CFB/\u957F\u671F\u504F\u597D/\u9879\u76EE\u80CC\u666F\u65F6\uFF0C\u76F8\u5173\u5904\u81EA\u7136\u4F53\u73B0\uFF08\u5F00\u573A\u79F0\u547C\u3001\u4E0A\u4E0B\u6587\u786E\u8BA4\u3001\u56DE\u7B54\u7ED3\u6784\u3001\u53D6\u820D\u6807\u51C6\uFF09\uFF0C\u4E0D\u8981\u6BCF\u53E5\u673A\u68B0\u79F0\u547C\u7528\u6237\u3002
|
|
81
81
|
- \u201C\u4E0A\u6B21/\u7EE7\u7EED/\u8FD9\u4E2A\u9879\u76EE\u201D\u7B49\u6307\u4EE3\u4F18\u5148\u6309\u5F53\u524D dialog/space/project/agent/sourceDialog \u7B49 KV \u8DEF\u5F84\u548C\u65F6\u95F4\u7EBF\u5B9A\u4F4D\uFF0C\u4E0D\u8981\u53EA\u6309\u8BED\u4E49\u76F8\u4F3C\u5EA6\u635E\u4E00\u6761\u3002
|
|
82
82
|
- \u63A8\u65AD\u578B\u8BB0\u5FC6\uFF08inferred\uFF09\u53EA\u7528\u4E8E\u628A\u63E1\u8BED\u6C14\u3001\u72B6\u6001\u548C\u672A\u5B8C\u6210\u4E8B\u9879\uFF0C\u4E0D\u8981\u8BF4\u6210\u201C\u4F60\u660E\u786E\u544A\u8BC9\u8FC7\u6211\u201D\u6216\u5F53\u6210\u7528\u6237\u5DF2\u6388\u6743\u4FDD\u5B58\u7684\u4E8B\u5B9E\uFF1B\u51B2\u7A81\u6216\u573A\u666F\u4E0D\u660E\u65F6\u8BF4\u660E\u4F9D\u636E\u6216\u7B80\u77ED\u786E\u8BA4\uFF0C\u4E0D\u8981\u786C\u5957\u3002
|
|
83
|
-
- \u7F6E\u4FE1\u5EA6\uFF08verified/stated/inferred\uFF09\u3001\u53EC\u56DE\u4E0A\u4E0B\u6587\u8981\u6C42\u4E0E\u964D\u6743/\u5220\u9664\u8FB9\u754C\u4EE5\u8BB0\u5FC6\u5DE5\u5177\uFF08rememberMemory / queryMemory / deleteMemory\uFF09schema \u4E3A\u51C6\u3002
|
|
83
|
+
- \u7F6E\u4FE1\u5EA6\uFF08verified/stated/inferred\uFF09\u3001\u53EC\u56DE\u4E0A\u4E0B\u6587\u8981\u6C42\u4E0E\u964D\u6743/\u5220\u9664\u8FB9\u754C\u4EE5\u8BB0\u5FC6\u5DE5\u5177\uFF08rememberMemory / queryMemory / deleteMemory\uFF09schema \u4E3A\u51C6\u3002
|
|
84
|
+
- \u7528\u6237\u660E\u786E\u8868\u8FBE**\u8DE8\u4F1A\u8BDD**\u7684\u6253\u6270\u5F3A\u5EA6\u504F\u597D\u65F6\uFF08\u5982\u300C\u4EE5\u540E\u90FD\u53EA\u62A5\u7ED3\u679C\u300D\u300C\u6BCF\u6B21\u90FD\u7ED9\u6211\u770B\u8BE6\u7EC6\u8FC7\u7A0B\u300D\uFF0C\u800C\u975E\u4E00\u6B21\u4EFB\u52A1\u91CC\u7684\u300C\u8FD9\u6B21\u522B\u70E6\u6211\u300D\uFF09\uFF0C\u7528 rememberMemory \u8BB0\u4E3A\u7528\u6237\u504F\u597D\uFF1B\u4E4B\u540E\u6309\u5B83\u8C03\u6574 ignore / FYI / important \u7684\u8BE6\u7565\u3002\u8BB0\u5FC6\u504F\u597D\u7EDD\u4E0D\u80FD\u53D6\u6D88 decision / blocked / failed \u4E09\u7C7B\u5FC5\u987B\u62A5\u7684\u5185\u5BB9\u3002`;
|
|
84
85
|
|
|
85
86
|
export {
|
|
86
87
|
buildUserResponseLanguageContext,
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import {
|
|
2
|
+
canonicalizeToolName
|
|
3
|
+
} from "./chunk-6OVNSQHN.js";
|
|
4
|
+
|
|
5
|
+
// packages/ai/tools/toolExecutionSemantics.ts
|
|
6
|
+
var UNKNOWN_TOOL_EXECUTION_CONTRACT = {
|
|
7
|
+
replay: "unknown",
|
|
8
|
+
sideEffects: "unknown",
|
|
9
|
+
locality: "unknown",
|
|
10
|
+
interaction: "unknown",
|
|
11
|
+
concurrency: "exclusive",
|
|
12
|
+
durableWebForeground: false
|
|
13
|
+
};
|
|
14
|
+
var serverPureRead = (durableWebForeground) => ({
|
|
15
|
+
replay: "pure",
|
|
16
|
+
sideEffects: "none",
|
|
17
|
+
locality: "server",
|
|
18
|
+
interaction: "none",
|
|
19
|
+
concurrency: "safe",
|
|
20
|
+
durableWebForeground
|
|
21
|
+
});
|
|
22
|
+
var serverExternalRead = (durableWebForeground) => ({
|
|
23
|
+
// Repeating the request should not mutate the target resource, but may spend
|
|
24
|
+
// provider quota/money and may observe newer remote state; it is not pure.
|
|
25
|
+
replay: "idempotent",
|
|
26
|
+
sideEffects: "observable",
|
|
27
|
+
locality: "server",
|
|
28
|
+
interaction: "none",
|
|
29
|
+
concurrency: "safe",
|
|
30
|
+
durableWebForeground
|
|
31
|
+
});
|
|
32
|
+
var serverConfirmedHandoffStep = () => ({
|
|
33
|
+
replay: "unsafe",
|
|
34
|
+
sideEffects: "observable",
|
|
35
|
+
locality: "server",
|
|
36
|
+
interaction: "handoff",
|
|
37
|
+
concurrency: "exclusive",
|
|
38
|
+
durableWebForeground: false
|
|
39
|
+
});
|
|
40
|
+
var TOOL_EXECUTION_CONTRACT = Object.freeze({
|
|
41
|
+
// Proven durable network reads. They execute on the server but touch external
|
|
42
|
+
// systems, so replay/cost semantics are intentionally not called "pure".
|
|
43
|
+
exa_search: serverExternalRead("read-only"),
|
|
44
|
+
fetchWebpage: serverExternalRead("read-only"),
|
|
45
|
+
// Proven durable server-hosted workspace reads/queries.
|
|
46
|
+
searchDialogMessages: serverPureRead("read-only"),
|
|
47
|
+
listDialogs: serverPureRead("read-only"),
|
|
48
|
+
readDialog: serverPureRead("read-only"),
|
|
49
|
+
queryDialogsBySubjectRef: serverPureRead("read-only"),
|
|
50
|
+
listAgents: serverPureRead("read-only"),
|
|
51
|
+
readAgent: serverPureRead("read-only"),
|
|
52
|
+
listSpaces: serverPureRead("read-only"),
|
|
53
|
+
readSpace: serverPureRead("read-only"),
|
|
54
|
+
readDoc: serverPureRead("read-only"),
|
|
55
|
+
readSkillDoc: serverPureRead("read-only"),
|
|
56
|
+
listTables: serverPureRead("read-only"),
|
|
57
|
+
queryTableRows: serverPureRead("read-only"),
|
|
58
|
+
list_cloud_resources: serverPureRead("read-only"),
|
|
59
|
+
cloud_probe: serverPureRead("read-only"),
|
|
60
|
+
// Audited execution against an owned cloud resource. Same class as execShell
|
|
61
|
+
// (arbitrary command, not replayable), except the executor itself runs on the
|
|
62
|
+
// server through the authorization/capability/audit gate. Never read-only.
|
|
63
|
+
cloud_exec: {
|
|
64
|
+
replay: "unsafe",
|
|
65
|
+
sideEffects: "mutation",
|
|
66
|
+
locality: "server",
|
|
67
|
+
interaction: "none",
|
|
68
|
+
concurrency: "exclusive",
|
|
69
|
+
durableWebForeground: false
|
|
70
|
+
},
|
|
71
|
+
// Read-only presentation payload. Actions remain inert; this adds no submit or
|
|
72
|
+
// open-app authority to server-owned projection.
|
|
73
|
+
show_interaction: {
|
|
74
|
+
replay: "pure",
|
|
75
|
+
sideEffects: "none",
|
|
76
|
+
locality: "server",
|
|
77
|
+
interaction: "none",
|
|
78
|
+
concurrency: "safe",
|
|
79
|
+
durableWebForeground: "read-only"
|
|
80
|
+
},
|
|
81
|
+
// Durable interactive boundary: the current execution ends and a later user
|
|
82
|
+
// choice starts a new execution. It is intentionally not modeled as a read.
|
|
83
|
+
ask_user: {
|
|
84
|
+
replay: "unsafe",
|
|
85
|
+
sideEffects: "observable",
|
|
86
|
+
locality: "server",
|
|
87
|
+
interaction: "blocking",
|
|
88
|
+
concurrency: "exclusive",
|
|
89
|
+
durableWebForeground: "interactive"
|
|
90
|
+
},
|
|
91
|
+
// Confirmed human hand-off boundary for the media step family. These tools
|
|
92
|
+
// do not start work needing authorization: they return
|
|
93
|
+
// `{ status: "requires_confirmation", ... }` and the run must stop and wait
|
|
94
|
+
// for the user. Registered explicitly (rather than inferred from any status)
|
|
95
|
+
// so a random tool echoing the same status never pauses the run, and kept out
|
|
96
|
+
// of the durable Web foreground plane on purpose (media ServerTool admission
|
|
97
|
+
// is owned elsewhere).
|
|
98
|
+
transcribe: serverConfirmedHandoffStep(),
|
|
99
|
+
translate: serverConfirmedHandoffStep(),
|
|
100
|
+
exportDocument: serverConfirmedHandoffStep(),
|
|
101
|
+
readArtifact: serverConfirmedHandoffStep(),
|
|
102
|
+
// Representative explicitly non-durable execution classes. These entries
|
|
103
|
+
// make the reason machine-readable; unlisted tools remain UNKNOWN.
|
|
104
|
+
execShell: {
|
|
105
|
+
replay: "unsafe",
|
|
106
|
+
sideEffects: "mutation",
|
|
107
|
+
locality: "workspace",
|
|
108
|
+
interaction: "none",
|
|
109
|
+
concurrency: "exclusive",
|
|
110
|
+
durableWebForeground: false
|
|
111
|
+
},
|
|
112
|
+
readFile: {
|
|
113
|
+
replay: "idempotent",
|
|
114
|
+
sideEffects: "none",
|
|
115
|
+
locality: "device",
|
|
116
|
+
interaction: "none",
|
|
117
|
+
concurrency: "safe",
|
|
118
|
+
durableWebForeground: false
|
|
119
|
+
},
|
|
120
|
+
globFiles: {
|
|
121
|
+
replay: "idempotent",
|
|
122
|
+
sideEffects: "none",
|
|
123
|
+
locality: "device",
|
|
124
|
+
interaction: "none",
|
|
125
|
+
concurrency: "safe",
|
|
126
|
+
durableWebForeground: false
|
|
127
|
+
},
|
|
128
|
+
createDoc: {
|
|
129
|
+
replay: "unsafe",
|
|
130
|
+
sideEffects: "mutation",
|
|
131
|
+
locality: "server",
|
|
132
|
+
interaction: "none",
|
|
133
|
+
concurrency: "exclusive",
|
|
134
|
+
durableWebForeground: false
|
|
135
|
+
},
|
|
136
|
+
updateDoc: {
|
|
137
|
+
replay: "unsafe",
|
|
138
|
+
sideEffects: "mutation",
|
|
139
|
+
locality: "server",
|
|
140
|
+
interaction: "none",
|
|
141
|
+
concurrency: "exclusive",
|
|
142
|
+
durableWebForeground: false
|
|
143
|
+
},
|
|
144
|
+
createHtmlArtifact: {
|
|
145
|
+
replay: "unsafe",
|
|
146
|
+
sideEffects: "mutation",
|
|
147
|
+
locality: "server",
|
|
148
|
+
interaction: "none",
|
|
149
|
+
concurrency: "exclusive",
|
|
150
|
+
durableWebForeground: "mutating"
|
|
151
|
+
},
|
|
152
|
+
readHtmlArtifact: serverPureRead("read-only"),
|
|
153
|
+
updateHtmlArtifact: {
|
|
154
|
+
replay: "unsafe",
|
|
155
|
+
sideEffects: "mutation",
|
|
156
|
+
locality: "server",
|
|
157
|
+
interaction: "none",
|
|
158
|
+
concurrency: "exclusive",
|
|
159
|
+
durableWebForeground: "mutating"
|
|
160
|
+
},
|
|
161
|
+
deleteDialogs: {
|
|
162
|
+
replay: "unsafe",
|
|
163
|
+
sideEffects: "mutation",
|
|
164
|
+
locality: "server",
|
|
165
|
+
interaction: "confirm",
|
|
166
|
+
concurrency: "exclusive",
|
|
167
|
+
durableWebForeground: false
|
|
168
|
+
},
|
|
169
|
+
loadSkill: {
|
|
170
|
+
replay: "unsafe",
|
|
171
|
+
sideEffects: "observable",
|
|
172
|
+
locality: "server",
|
|
173
|
+
interaction: "none",
|
|
174
|
+
concurrency: "exclusive",
|
|
175
|
+
durableWebForeground: false
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
function resolveToolExecutionContract(toolName) {
|
|
179
|
+
if (typeof toolName !== "string" || !toolName.trim()) {
|
|
180
|
+
return UNKNOWN_TOOL_EXECUTION_CONTRACT;
|
|
181
|
+
}
|
|
182
|
+
const canonicalName = canonicalizeToolName(toolName);
|
|
183
|
+
return TOOL_EXECUTION_CONTRACT[canonicalName] ?? UNKNOWN_TOOL_EXECUTION_CONTRACT;
|
|
184
|
+
}
|
|
185
|
+
function collectDurableWebToolNames(durableClass) {
|
|
186
|
+
return new Set(
|
|
187
|
+
Object.entries(TOOL_EXECUTION_CONTRACT).filter(([, contract]) => contract.durableWebForeground === durableClass).map(([name]) => name)
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
var DURABLE_WEB_FOREGROUND_READ_ONLY_TOOL_NAMES = collectDurableWebToolNames("read-only");
|
|
191
|
+
var DURABLE_WEB_FOREGROUND_INTERACTIVE_TOOL_NAMES = collectDurableWebToolNames("interactive");
|
|
192
|
+
var DURABLE_WEB_FOREGROUND_MUTATING_TOOL_NAMES = collectDurableWebToolNames("mutating");
|
|
193
|
+
var DURABLE_WEB_FOREGROUND_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
194
|
+
...DURABLE_WEB_FOREGROUND_READ_ONLY_TOOL_NAMES,
|
|
195
|
+
...DURABLE_WEB_FOREGROUND_INTERACTIVE_TOOL_NAMES,
|
|
196
|
+
...DURABLE_WEB_FOREGROUND_MUTATING_TOOL_NAMES
|
|
197
|
+
]);
|
|
198
|
+
var CONFIRMED_HANDOFF_TOOL_NAMES = new Set(
|
|
199
|
+
Object.entries(TOOL_EXECUTION_CONTRACT).filter(([, contract]) => contract.interaction === "handoff").map(([name]) => name)
|
|
200
|
+
);
|
|
201
|
+
function hasProvenServerReadOnlySemantics(toolName) {
|
|
202
|
+
const contract = resolveToolExecutionContract(toolName);
|
|
203
|
+
return contract.durableWebForeground === "read-only" && (contract.replay === "pure" || contract.replay === "idempotent") && (contract.sideEffects === "none" || contract.sideEffects === "observable") && contract.locality === "server" && contract.interaction === "none";
|
|
204
|
+
}
|
|
205
|
+
function hasProvenServerMutatingSemantics(toolName) {
|
|
206
|
+
const contract = resolveToolExecutionContract(toolName);
|
|
207
|
+
return contract.durableWebForeground === "mutating" && (contract.replay === "unsafe" || contract.replay === "deduplicated") && contract.sideEffects === "mutation" && contract.locality === "server" && contract.interaction === "none";
|
|
208
|
+
}
|
|
209
|
+
function hasProvenDurableWebForegroundSemantics(toolName) {
|
|
210
|
+
const contract = resolveToolExecutionContract(toolName);
|
|
211
|
+
if (contract.durableWebForeground === "read-only") {
|
|
212
|
+
return hasProvenServerReadOnlySemantics(toolName);
|
|
213
|
+
}
|
|
214
|
+
if (contract.durableWebForeground === "interactive") {
|
|
215
|
+
return contract.locality === "server" && contract.interaction === "blocking" && contract.sideEffects === "observable";
|
|
216
|
+
}
|
|
217
|
+
if (contract.durableWebForeground === "mutating") {
|
|
218
|
+
return hasProvenServerMutatingSemantics(toolName);
|
|
219
|
+
}
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export {
|
|
224
|
+
resolveToolExecutionContract,
|
|
225
|
+
DURABLE_WEB_FOREGROUND_TOOL_NAMES,
|
|
226
|
+
hasProvenDurableWebForegroundSemantics
|
|
227
|
+
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fetchReferenceContents,
|
|
3
3
|
resolveReferenceAssets
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-GYVCJABP.js";
|
|
5
5
|
import {
|
|
6
6
|
updateTokensAction
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MZLE5HQ3.js";
|
|
8
8
|
import {
|
|
9
9
|
applyUpdateTokensFulfilled
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-S2NTVGA2.js";
|
|
11
11
|
import {
|
|
12
12
|
extractReasoningFromResponseOutput,
|
|
13
13
|
extractTextFromResponseOutput,
|
|
14
14
|
extractToolCallsFromResponseOutput
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MAIITKBT.js";
|
|
16
16
|
import {
|
|
17
17
|
isRecord
|
|
18
18
|
} from "./chunk-KUG52IAP.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
} from "./chunk-E2BESSAW.js";
|
|
11
11
|
import {
|
|
12
12
|
getModelContextWindow
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-RDH5CQ4T.js";
|
|
14
14
|
import {
|
|
15
15
|
isRecord
|
|
16
16
|
} from "./chunk-KUG52IAP.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
PLATFORM_HOSTED_KIMI_K3_MODEL,
|
|
19
19
|
isFireworksKimiModel,
|
|
20
20
|
isNoloHostedProvider
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-CKG3PRZ7.js";
|
|
22
22
|
import {
|
|
23
23
|
asTrimmedLowercaseString
|
|
24
24
|
} from "./chunk-QSJ3HFEF.js";
|