nolo-cli 0.213.0 → 0.223.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/{_executeModel-CUJLCFWR.js → _executeModel-4GGQQHOB.js} +111 -82
- package/{accountResolver-4LKIHEKL.js → accountResolver-EK2S4PWF.js} +6 -6
- package/{action-DF5UYSJF.js → action-CK64LS6S.js} +12 -11
- package/{addContentAction-WERAONNY.js → addContentAction-GDHDOF4U.js} +18 -17
- package/{addDialogAgentAction-7VI7YRML.js → addDialogAgentAction-CAKRU3ZT.js} +21 -20
- package/{agentDeleteCommand-XJORXPGU.js → agentDeleteCommand-BPV2XZL7.js} +128 -119
- package/{agentEmailCommands-XTYYFR6Z.js → agentEmailCommands-EJOS75YL.js} +132 -124
- package/{agentFavoriteCommands-EDK743YA.js → agentFavoriteCommands-2LKGKSUD.js} +7 -8
- package/{agentGrantCommands-RQWK2TEV.js → agentGrantCommands-QQV4N4JW.js} +5 -5
- package/{agentListCommands-OBLRBLHS.js → agentListCommands-HIZODBF3.js} +155 -92
- package/{agentMachineCommands-5FMT3OT5.js → agentMachineCommands-ZMQ2CY7Y.js} +62 -54
- package/{agentProviderCommands-Q5O33MED.js → agentProviderCommands-WKJOAWBP.js} +5 -5
- package/{agentPullCommand-6EM3URVK.js → agentPullCommand-XN6ZPBUW.js} +7 -7
- package/agentRecordCommands-OMXVDLDX.js +176 -0
- package/agentRunCommand-CB34YWMV.js +206 -0
- package/{agentRunControl-TAMHJQSR.js → agentRunControl-JNONH3RP.js} +30 -15
- package/{agentRuntimeLocal-SOO2OPJG.js → agentRuntimeLocal-QZPFWMLG.js} +52 -45
- package/{agentSlice-CHR6KOZN.js → agentSlice-RD2CDU7T.js} +20 -19
- package/{appDeleteCommands-GUP6P5YE.js → appDeleteCommands-QCCFDIEQ.js} +61 -53
- package/{appDeployCommands-MH2FX4O5.js → appDeployCommands-V2T7TNMQ.js} +61 -53
- package/{appDeployStatusCommands-SUHN3HPJ.js → appDeployStatusCommands-6PGH7ZCG.js} +61 -53
- package/{appGetCommands-YWDEX6Z4.js → appGetCommands-3L7WWJA6.js} +61 -53
- package/{appListCommands-ZQVMLPAY.js → appListCommands-ENJCK4PO.js} +61 -53
- package/{authCommand-PWX2ZNUP.js → authCommand-6V47SYGK.js} +29 -28
- package/{authCommands-HV3EAU3V.js → authCommands-GAJ3NIXO.js} +14 -13
- package/{builtinSkillRegistry-2QETTQPM.js → builtinSkillRegistry-2ECA42FC.js} +11 -13
- package/{chromeCommands-REEAH4SX.js → chromeCommands-G5UDKVSV.js} +3 -3
- package/{chromeOpsCommands-DIVM2K3T.js → chromeOpsCommands-YKX2QX3A.js} +20 -10
- package/{chunk-CRHOO2ZR.js → chunk-27PCUMJI.js} +2 -2
- package/chunk-2CI3ZFWD.js +97 -0
- package/{chunk-NSAPDIN2.js → chunk-2GJKRKI6.js} +541 -31
- package/{chunk-SM3NSZJV.js → chunk-2UCBGYO4.js} +20 -1
- package/{chunk-PYRUW7XN.js → chunk-2VUZSVAS.js} +136 -54
- package/{chunk-YB3YZK56.js → chunk-2WZXXAQD.js} +1 -67
- package/chunk-2YGBI2XB.js +30 -0
- package/chunk-2ZKFCIJJ.js +13 -0
- package/{chunk-QG4AOSON.js → chunk-34J5K2YA.js} +13 -32
- package/{chunk-LOEO7LRC.js → chunk-3IK6ILVW.js} +4 -1
- package/{chunk-CTPXME7U.js → chunk-3LMUPOHG.js} +29 -6
- package/chunk-44X52WOJ.js +1621 -0
- package/{chunk-6VLJ6YA7.js → chunk-4DESLZTK.js} +9 -9
- package/{chunk-MYOH447Z.js → chunk-4JVNURX4.js} +1 -1
- package/chunk-5CHGAKRT.js +364 -0
- package/{chunk-YDH3FDFQ.js → chunk-5FUN7EG4.js} +1 -1
- package/{chunk-INUFILG6.js → chunk-5RKUPJYL.js} +1 -1
- package/{chunk-ZC3CMUKU.js → chunk-6OVNSQHN.js} +84 -2
- package/{chunk-MOIJOHA5.js → chunk-6WU5572L.js} +36 -25
- package/{chunk-IXNGOHV5.js → chunk-7EEZJ6BS.js} +11 -152
- package/{chunk-Y6ORVLSS.js → chunk-7ET2U67U.js} +1 -1
- package/{chunk-G7MLNNEX.js → chunk-7JLY4WYF.js} +5 -5
- package/{chunk-P5L7CXOC.js → chunk-7Z6EW7AH.js} +3 -2
- package/{chunk-NJLL224W.js → chunk-AD5EWDFD.js} +2 -2
- package/{chunk-J2NHJ7WX.js → chunk-AIHYNKGV.js} +4 -4
- package/{chunk-HPFCI4SK.js → chunk-AK5O76CC.js} +3 -3
- package/{chunk-Y63ZSOR6.js → chunk-AL3TYDIF.js} +1 -1
- package/{chunk-ALQ3657A.js → chunk-AMEOV5VZ.js} +32 -12
- package/chunk-AN74ON4G.js +675 -0
- package/{chunk-HRMJUN5J.js → chunk-AQZ6BMRK.js} +1 -1
- package/{chunk-XHQC4PXX.js → chunk-B4GOW4MT.js} +424 -194
- package/{chunk-4KB6WQUL.js → chunk-BGP2EDFG.js} +1 -1
- package/{chunk-NBTY7YJF.js → chunk-BR3GT6MR.js} +1 -0
- package/{chunk-7RFNTILS.js → chunk-BUDVRYES.js} +2 -2
- package/{chunk-SVYO6AO7.js → chunk-BV3FLP2L.js} +41 -1
- package/{chunk-RZOV7OMV.js → chunk-C4VAR65S.js} +83 -141
- package/{chunk-COFEN36Z.js → chunk-C4WTX5TU.js} +2 -2
- package/{chunk-ZL5RAEEB.js → chunk-CIRB724Q.js} +1 -1
- package/{chunk-F6UUQOG6.js → chunk-CKT6QUE2.js} +4 -4
- package/{chunk-X7SDOJUM.js → chunk-CMZ3Z5PT.js} +14 -14
- package/{secretCommands-LXDWOLZ6.js → chunk-D726I5AZ.js} +191 -16
- package/{chunk-TAKB25RM.js → chunk-DNKTQ3IN.js} +4 -4
- package/chunk-DVQH4BTR.js +1137 -0
- package/{chunk-WYDI6TGM.js → chunk-DWX2HEVC.js} +91 -132
- package/{chunk-5MQRBSMW.js → chunk-EIAI3PPH.js} +111 -113
- package/chunk-EUCFKKDM.js +247 -0
- package/chunk-EWQ3HGNZ.js +90 -0
- package/{chunk-RPQXPZZF.js → chunk-F3GRJO4Z.js} +908 -13
- package/{chunk-YTF4WH7J.js → chunk-FIYSMXHY.js} +1 -1
- package/{chunk-75XIDFBW.js → chunk-FJ23FZXF.js} +72 -28
- package/{chunk-INN4LTAJ.js → chunk-FJK526XH.js} +2 -2
- package/chunk-FS2XP5D7.js +142 -0
- package/{chunk-FUGMREBO.js → chunk-FYF2TONJ.js} +5 -5
- package/{chunk-PCLE46CE.js → chunk-GBWGPTA7.js} +2 -1
- package/{chunk-TX5EYMGT.js → chunk-GYVCJABP.js} +30 -254
- package/{chunk-3UKL3HPD.js → chunk-HOCHUZQ7.js} +8 -78
- package/{chunk-EHSZD5OI.js → chunk-HXER7YJF.js} +4 -4
- package/chunk-HYIETXA6.js +99 -0
- package/{chunk-H2TJUNCH.js → chunk-I4EADJ4P.js} +6 -6
- package/{chunk-TCZHTTUU.js → chunk-I7WBYGBP.js} +8 -8
- package/{chunk-6DWMYIUY.js → chunk-IILMY4W4.js} +14 -9
- package/chunk-JA3ICVJY.js +271 -0
- package/{chunk-ZRSNONOB.js → chunk-JWXITTQB.js} +8 -3
- package/{chunk-H4UOTUOX.js → chunk-KEN3N2TN.js} +148 -18
- package/{chunk-LEC5ALIN.js → chunk-KEPOVMF4.js} +1 -1
- package/{chunk-UHJGXRJ4.js → chunk-KQSYAIZR.js} +3 -3
- package/{chunk-4VJAC32I.js → chunk-L5I543VB.js} +3 -2
- package/chunk-LKA64WH4.js +227 -0
- package/{chunk-QHPRUL4O.js → chunk-LVL6GFCM.js} +4 -4
- package/{chunk-H5HF7TJA.js → chunk-MAIITKBT.js} +2 -2
- package/chunk-MBG66ZBH.js +226 -0
- package/{chunk-YUA6OAH5.js → chunk-MDLS23JK.js} +2 -2
- package/{chunk-VL5KOY2C.js → chunk-MK2Q7ZJD.js} +67 -5
- package/{chunk-MDB67IWP.js → chunk-MS4NZNKI.js} +10 -10
- package/{chunk-VO4WSAVP.js → chunk-MYHNBEXD.js} +3 -3
- package/{chunk-ZXOUUDCG.js → chunk-MZLE5HQ3.js} +3654 -231
- package/{chunk-AZMYUSVF.js → chunk-N5Z2V73W.js} +1 -1
- package/{chunk-V5Y3R6BT.js → chunk-NIZ2BXFD.js} +213 -210
- package/{chunk-KFLT5KAD.js → chunk-NWP2OYOX.js} +20 -20
- package/{chunk-G2BQWAVT.js → chunk-O6J3OTOP.js} +4 -4
- package/{chunk-VNYYOX3V.js → chunk-OB6DVWPF.js} +141 -48
- package/{chunk-YWSEPJ7C.js → chunk-OBWT45ZU.js} +3 -3
- package/{chunk-ZNWI6OVT.js → chunk-ODJ7BVSI.js} +80 -11
- package/{chunk-XJWWBO34.js → chunk-OJKUU3LP.js} +5 -7
- package/{chunk-HUBHAQK2.js → chunk-ON37YXGX.js} +29 -29
- package/{chunk-UYD5HQ6T.js → chunk-P5ZJRTCH.js} +5429 -1752
- package/{chunk-6XIE5ZGI.js → chunk-PDCV7P5W.js} +1 -1
- package/{chunk-WRYQ35LQ.js → chunk-PJCIP64Z.js} +859 -57
- package/{chunk-7QTZCMKL.js → chunk-PJVKMGPZ.js} +1089 -1639
- package/{chunk-A7TFUNZO.js → chunk-PPJYZRSQ.js} +6 -2
- package/chunk-QHEN7NZ7.js +46 -0
- package/{chunk-OQPKUBPB.js → chunk-QNWG52I4.js} +19 -7
- package/{chunk-YGILMZ7N.js → chunk-QVBXJNZ2.js} +1 -1
- package/{chunk-7BT37FK3.js → chunk-RDH5CQ4T.js} +648 -131
- package/{chunk-C6KNNXWU.js → chunk-RGQ4UUWZ.js} +25 -2
- package/{chunk-OWYYDMGJ.js → chunk-S2NTVGA2.js} +4 -2
- package/{chunk-KC4XDTT3.js → chunk-SOF4OWDM.js} +6 -4
- package/{chunk-RLBNLZVC.js → chunk-SQYIK6HO.js} +1 -1
- package/{chunk-YJAFKXMU.js → chunk-SVT62ULE.js} +50 -48
- package/{chunk-KIM6CLW5.js → chunk-SY3C4SQ7.js} +42 -15
- package/{chunk-JY5NGFFH.js → chunk-SYTHYBMI.js} +5 -5
- package/{chunk-WMTBPBMP.js → chunk-T6DXNI6Z.js} +52 -50
- package/chunk-TLE77UJ5.js +230 -0
- package/{chunk-4VNS5WPM.js → chunk-U67V476Y.js} +1 -8
- package/{chunk-F7CI2ZC5.js → chunk-UAIHKQIA.js} +2 -1
- package/{chunk-R5O4QAWG.js → chunk-UB3D4TRQ.js} +11 -77
- package/{chunk-WPORQFYN.js → chunk-UVLYNWIE.js} +2 -2
- package/{chunk-NOKUNJON.js → chunk-UYOICCYG.js} +29 -19
- package/{chunk-4I7ERB7F.js → chunk-VREDDN25.js} +1 -1
- package/{chunk-O2TZF4AI.js → chunk-WAE3GFCJ.js} +3 -3
- package/{chunk-H7PPIYWP.js → chunk-WI67URFP.js} +20 -20
- package/{chunk-7OCO4TDT.js → chunk-WJVYAO6P.js} +1 -1
- package/{chunk-T43B7LB2.js → chunk-WKGQSYTB.js} +1 -1
- package/{chunk-BBJ22CLB.js → chunk-WUUH4LWZ.js} +60 -30
- package/{chunk-4T2WNOY7.js → chunk-X7UF53VA.js} +33 -22
- package/{chunk-TY3TIUJK.js → chunk-XI2BWJM5.js} +65 -0
- package/{chunk-LLRPJECG.js → chunk-XWVCYUUU.js} +16 -159
- package/{chunk-J5JTMQIA.js → chunk-YFLVRVYK.js} +1 -1
- package/{chunk-EYLGAEB4.js → chunk-YGMBIXCF.js} +132 -0
- package/chunk-YL3EFYL3.js +199 -0
- package/{chunk-MMA3LZ3W.js → chunk-YNIYE47Z.js} +1 -1
- package/{chunk-W4S457LU.js → chunk-YU4ZPWVF.js} +41 -5
- package/{chunk-7Y4YTDQF.js → chunk-YWWDC3O7.js} +281 -159
- package/chunk-YZMNK53S.js +68 -0
- package/{chunk-RSHTSUEG.js → chunk-Z2PITYZN.js} +2060 -602
- package/{chunk-FY7F4Q6X.js → chunk-Z4PCXPUE.js} +2 -2
- package/{cliAgentConfigHelpers-WJBZQTLW.js → cliAgentConfigHelpers-TKYL43MT.js} +15 -16
- package/{cliAuthorityBrokerClient-PM3U6Q6J.js → cliAuthorityBrokerClient-XHH7MH2P.js} +1 -1
- package/{cliAuthorityStoreDriver-TKLXNNTG.js → cliAuthorityStoreDriver-6FE3BJNB.js} +1 -1
- package/{cliEnvHelpers-BVYTMUPJ.js → cliEnvHelpers-VPSJ4XWC.js} +3 -3
- package/{cliExecutor-BWBF2MTI.js → cliExecutor-4MAX3PZL.js} +2 -2
- package/cliLocalAgentRecordReader-MHHD4T7R.js +90 -0
- package/{commandRegistry-W63CYRZJ.js → commandRegistry-5DA5UP7S.js} +105 -97
- package/{contentThunks-U7PL5MQD.js → contentThunks-5GUQ7FWJ.js} +47 -43
- package/{cooldownCommands-TIGUHXTD.js → cooldownCommands-X7P5M2V5.js} +5 -4
- package/{createAgentAutomationAction-OLBQDD6R.js → createAgentAutomationAction-UCLTHQRI.js} +51 -49
- package/{createDialogAction-SVH6B3SB.js → createDialogAction-UPN774AF.js} +46 -48
- package/{createPageAction-F4DIWZ2Z.js → createPageAction-JRQ2TA4O.js} +50 -48
- package/{cursorProvider-YGGNMVWX.js → cursorProvider-2RACMEMF.js} +1 -1
- package/{db-HUCI5R4G.js → db-CS4ZJQKV.js} +1 -1
- package/{dbSlice-BVH2YZPQ.js → dbSlice-WNON7TOL.js} +17 -16
- package/{deleteFile-5YOEKV4U.js → deleteFile-Q3YDB4ML.js} +9 -9
- package/{desktopFolderProjects-SFY5EZS3.js → desktopFolderProjects-4POAMVJN.js} +2 -2
- package/{dialogCommands-KHIEPY3M.js → dialogCommands-VRI7VCXH.js} +64 -57
- package/dialogNotifyCommand-6TMCX4D2.js +36 -0
- package/{dialogSlice-ZCTDV2PZ.js → dialogSlice-LFNVUSAN.js} +42 -40
- package/{dialogUsageCommand-7KCPYGHG.js → dialogUsageCommand-HTVPR2CX.js} +11 -10
- package/{docCreateCommands-DPMZI7G5.js → docCreateCommands-AMPXMOX3.js} +61 -55
- package/{docDeleteCommands-IRQQLUBT.js → docDeleteCommands-I5WFAEHP.js} +63 -57
- package/{docReadCommands-LK37XH6L.js → docReadCommands-X53ELNIE.js} +61 -55
- package/{docStore-V2KECILA.js → docStore-2VAWVLWH.js} +21 -20
- package/{docUpdateCommands-O6T3HJHH.js → docUpdateCommands-6QPNDC7M.js} +64 -58
- package/{fetchMessages-NR4KNQLO.js → fetchMessages-TQEUZD7H.js} +8 -7
- package/{getPricing-2MNMXEVG.js → getPricing-MB2GBXOK.js} +6 -6
- package/{handleSendMessageAction-2PE25WM3.js → handleSendMessageAction-AAJOHXOB.js} +194 -302
- package/{hostCredentialCreate-S233UMAP.js → hostCredentialCreate-GLMJ22M6.js} +123 -114
- package/index.js +29 -29
- package/{keys-BEGDOTRL.js → keys-RWF7UCB4.js} +5 -4
- package/legacyMigration-TF4SYJCZ.js +19 -0
- package/{lib-5KKIBFIT.js → lib-OT5OTXRU.js} +7087 -6664
- package/{localDialogRead-7NNDVVF7.js → localDialogRead-SVTPA5GY.js} +3 -3
- package/{localFirstLog-DHNOY2NA.js → localFirstLog-OIETGK66.js} +1 -1
- package/localRecall-2J6QPOK2.js +15 -0
- package/{localRuntimeAdapter-KY6WXNBR.js → localRuntimeAdapter-BMP57P42.js} +119 -110
- package/{localRuntimeAuthority-OYH4AE4G.js → localRuntimeAuthority-IBJAT62G.js} +1 -1
- package/{localRuntimeDb-VBIMCWUC.js → localRuntimeDb-N7KHDXS2.js} +2 -2
- package/{machineCommands-Q6HA3IXF.js → machineCommands-3MLIAK5Q.js} +128 -119
- package/{machineInfo-UKPTZO5Y.js → machineInfo-LWHTEBHJ.js} +1 -1
- package/machineWsRunDispatch-FKIGROQF.js +191 -0
- package/{memberThunks-7EDJADWU.js → memberThunks-ZGLZ36PK.js} +29 -28
- package/{memoryCommands-ASCE5STX.js → memoryCommands-5WC3T66U.js} +4 -4
- package/models-ULVWLSQ6.js +9 -0
- package/{oauthTokenStore-OEERZFUC.js → oauthTokenStore-RUYNYALS.js} +1 -1
- package/{offlineMarxistsAgentCommand-2QTHJCHV.js → offlineMarxistsAgentCommand-4IC3Y4C6.js} +4 -4
- package/overlay-THLKYIWY.js +11 -0
- package/package.json +2 -2
- package/{pdf-U6KSUEZZ.js → pdf-KE3QI2V7.js} +1 -1
- package/{processSpawn-ZU5QFM43.js → processSpawn-6GEO77KV.js} +1 -1
- package/{profileConfig-KN3N2BLF.js → profileConfig-KOWK4HOG.js} +1 -1
- package/{projectArchive-DRTDIMEV.js → projectArchive-HK63GMF4.js} +52 -50
- package/{providerPresetApply-YXGV6NXB.js → providerPresetApply-OIFQ73LH.js} +19 -12
- package/{providerRegistry-S6UL6UNA.js → providerRegistry-KZ3SDZ3D.js} +10 -10
- package/{read-4V2RMG7N.js → read-MRQHJMJ2.js} +10 -10
- package/{readDocTool-BH6ATGQO.js → readDocTool-4BGTXTXA.js} +2 -2
- package/{readlineWorkspace-2W4WRCOU.js → readlineWorkspace-AKAHSCNY.js} +7982 -6274
- package/{removeDialogAgentAction-LYAZGNKW.js → removeDialogAgentAction-B6H7DXFM.js} +23 -22
- package/{runAgentClientLoop-J2VQBS2Z.js → runAgentClientLoop-UVAWGEON.js} +81 -79
- package/{runtimeDoctorCommands-QAI3MBKQ.js → runtimeDoctorCommands-FW6XKDUG.js} +12 -12
- package/{runtimeModeArgs-2Y7BALTO.js → runtimeModeArgs-X7DL7PUN.js} +1 -1
- package/secretCommands-LJXOOYA7.js +24 -0
- package/{setDialogExtraReferencesAction-OCRPGPYH.js → setDialogExtraReferencesAction-EVCY3TRW.js} +22 -21
- package/{setPrimaryDialogAgentAction-HFJDQIBU.js → setPrimaryDialogAgentAction-KPFVPHCJ.js} +23 -22
- package/{settingThunks-RAMHMTGM.js → settingThunks-ENOAK2WV.js} +97 -88
- package/{skillDiscovery-XKHROSH2.js → skillDiscovery-B5V23AXP.js} +4 -4
- package/{skillSummaryMarker-42HKSXYY.js → skillSummaryMarker-62UW7HI7.js} +1 -1
- package/{slateToRenderMarkdown-Y5IYN73U.js → slateToRenderMarkdown-R3X74MCX.js} +1 -1
- package/{slateUtils-NGV2NMKM.js → slateUtils-ESQAJ6RN.js} +1 -1
- package/{spaceCommands-KVJZVKVO.js → spaceCommands-DTTNAS2L.js} +61 -53
- package/store-JRVN62NM.js +46 -0
- package/{streamAgentChatTurn-GHBMJJ6S.js → streamAgentChatTurn-R5UY25VB.js} +875 -618
- package/{switchDialogAgentAction-EBRMW3RA.js → switchDialogAgentAction-SZ44XDRY.js} +21 -20
- package/{tableCommands-MP6VFSVT.js → tableCommands-HITDSLHS.js} +10 -10
- package/tombstones-FQQMEDOW.js +32 -0
- package/{toolApiClient-HGNO53TC.js → toolApiClient-OGQEBQVX.js} +4 -4
- package/{tools-EWKCPKMS.js → tools-HWFG6GMJ.js} +75 -74
- package/tuiSummaryLlmCaller-HQQZAMYF.js +44 -0
- package/{updateCommands-ZQYU6SCI.js → updateCommands-RJVCRSBP.js} +10 -8
- package/{updateDialogTitleAction-5GGMBTDF.js → updateDialogTitleAction-KNPOAMVS.js} +48 -46
- package/{usageCommand-F4IPVMIZ.js → usageCommand-FWZCB7AM.js} +11 -10
- package/{usageRebuildCommand-HAW2AD5N.js → usageRebuildCommand-SP2BLNJU.js} +12 -11
- package/userDataMerge-HT2ZVHBJ.js +13 -0
- package/{windowsSelfUpdate-257DV2T6.js → windowsSelfUpdate-KERHIAB4.js} +3 -3
- package/{workloadLifecycle-4C42SVBD.js → workloadLifecycle-DYNEYHV5.js} +6 -6
- package/agentRecordCommands-ZQ7SVYGG.js +0 -167
- package/agentRunCommand-WS7IGO2W.js +0 -196
- package/chunk-3CGG2PAL.js +0 -594
- package/chunk-5XBUWM6I.js +0 -89
- package/chunk-CJEIOP3E.js +0 -0
- package/chunk-EHGEOAHI.js +0 -636
- package/chunk-FW6YHHLI.js +0 -842
- package/chunk-GPVRUGGY.js +0 -115
- package/chunk-HSVBJRF4.js +0 -339
- package/chunk-WJZOQR2J.js +0 -151
- package/chunk-ZCWRMUWT.js +0 -89
- package/dist-M676ULYG.js +0 -7314
- package/machineWsRunDispatch-WWJQ6WR3.js +0 -182
- package/models-PJBE6JDV.js +0 -9
- package/tuiSummaryLlmCaller-ALQYUUWB.js +0 -189
- package/{chunk-WACI5I6V.js → chunk-2THCNKE4.js} +3 -3
- package/{chunk-2QHFH3DR.js → chunk-47ITIXO7.js} +6 -6
- package/{chunk-GOO6G4PY.js → chunk-CKG3PRZ7.js} +0 -0
- package/{chunk-OQHIVPG4.js → chunk-SNBZZPYH.js} +3 -3
- package/{chunk-AETZ7AD6.js → chunk-W6RFEDN4.js} +3 -3
|
@@ -3,29 +3,11 @@ import {
|
|
|
3
3
|
} from "./chunk-KFHREHUQ.js";
|
|
4
4
|
import {
|
|
5
5
|
buildAgentDiscoveryResult,
|
|
6
|
+
deriveCredentialGroup,
|
|
6
7
|
resolveDiscoveryScope,
|
|
7
8
|
resolvePaginationArgs,
|
|
8
9
|
toDiscoverySafeAgentSummary
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import {
|
|
11
|
-
getUserDataItemTimestamp,
|
|
12
|
-
mergeAndDedupUserData
|
|
13
|
-
} from "./chunk-PCLE46CE.js";
|
|
14
|
-
import {
|
|
15
|
-
addMemberSpace,
|
|
16
|
-
applyFetchSpaceFulfilled,
|
|
17
|
-
fetchAuthoritativeRemoteSpace,
|
|
18
|
-
getAllMemberSpaces,
|
|
19
|
-
removeMemberSpace,
|
|
20
|
-
selectSpaceRemoteAuth,
|
|
21
|
-
setMembershipLoaded,
|
|
22
|
-
setMembershipLoading,
|
|
23
|
-
setMembershipRejected,
|
|
24
|
-
updateMemberSpaceName
|
|
25
|
-
} from "./chunk-IXNGOHV5.js";
|
|
26
|
-
import {
|
|
27
|
-
markdownToSlate
|
|
28
|
-
} from "./chunk-75XIDFBW.js";
|
|
10
|
+
} from "./chunk-34J5K2YA.js";
|
|
29
11
|
import {
|
|
30
12
|
ToolResultError,
|
|
31
13
|
clipMultilineText,
|
|
@@ -38,7 +20,7 @@ import {
|
|
|
38
20
|
toolRunUpdated,
|
|
39
21
|
uiCardFallback,
|
|
40
22
|
waitForAbortableDelay
|
|
41
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-ON37YXGX.js";
|
|
42
24
|
import {
|
|
43
25
|
isGatewayHttpStatus
|
|
44
26
|
} from "./chunk-NF64D32W.js";
|
|
@@ -52,10 +34,24 @@ import {
|
|
|
52
34
|
import {
|
|
53
35
|
AGENT_UPDATE_FIELD_NAMES,
|
|
54
36
|
normalizeAgentUpdateFieldList
|
|
55
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-UB3D4TRQ.js";
|
|
38
|
+
import {
|
|
39
|
+
markdownToSlate
|
|
40
|
+
} from "./chunk-FJ23FZXF.js";
|
|
41
|
+
import {
|
|
42
|
+
extractMentionsFromSlate
|
|
43
|
+
} from "./chunk-AGIM7IMJ.js";
|
|
44
|
+
import {
|
|
45
|
+
slateToRenderMarkdown
|
|
46
|
+
} from "./chunk-63W5N6P3.js";
|
|
56
47
|
import {
|
|
57
48
|
createDocState
|
|
58
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-IILMY4W4.js";
|
|
50
|
+
import {
|
|
51
|
+
applyFetchSpaceFulfilled,
|
|
52
|
+
fetchAuthoritativeRemoteSpace,
|
|
53
|
+
selectSpaceRemoteAuth
|
|
54
|
+
} from "./chunk-7EEZJ6BS.js";
|
|
59
55
|
import {
|
|
60
56
|
ToolApiError,
|
|
61
57
|
buildToolRequestHeaders,
|
|
@@ -63,23 +59,20 @@ import {
|
|
|
63
59
|
getRequestConfig,
|
|
64
60
|
getToolBaseUrl,
|
|
65
61
|
getToolRequestContext
|
|
66
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-4JVNURX4.js";
|
|
67
63
|
import {
|
|
68
64
|
readDocFunc,
|
|
69
65
|
readDocFunctionSchema,
|
|
70
66
|
readPageFunc,
|
|
71
67
|
readPageFunctionSchema,
|
|
72
68
|
resolvePageReadMarkdown
|
|
73
|
-
} from "./chunk-
|
|
74
|
-
import {
|
|
75
|
-
extractMentionsFromSlate
|
|
76
|
-
} from "./chunk-AGIM7IMJ.js";
|
|
69
|
+
} from "./chunk-SQYIK6HO.js";
|
|
77
70
|
import {
|
|
78
|
-
|
|
79
|
-
} from "./chunk-
|
|
71
|
+
shareResourceAction
|
|
72
|
+
} from "./chunk-AK5O76CC.js";
|
|
80
73
|
import {
|
|
81
74
|
createDialogAction
|
|
82
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-XWVCYUUU.js";
|
|
83
76
|
import {
|
|
84
77
|
DEFAULT_COLLAPSED_CATEGORIES,
|
|
85
78
|
addContentToSpace,
|
|
@@ -96,7 +89,7 @@ import {
|
|
|
96
89
|
updateContentCategory,
|
|
97
90
|
updateContentTitle,
|
|
98
91
|
writeStoredCollapsedCategories
|
|
99
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-YWWDC3O7.js";
|
|
100
93
|
import {
|
|
101
94
|
buildDatabaseFileContentUrl,
|
|
102
95
|
deleteDialog,
|
|
@@ -109,52 +102,56 @@ import {
|
|
|
109
102
|
selectMsgById,
|
|
110
103
|
uiAskChoiceFunc,
|
|
111
104
|
uiAskChoiceFunctionSchema
|
|
112
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-MZLE5HQ3.js";
|
|
113
106
|
import {
|
|
114
107
|
createAgent,
|
|
115
108
|
deleteServerSyncedCredential,
|
|
116
109
|
runLlm,
|
|
117
110
|
streamAgentChatTurn,
|
|
118
111
|
updateAgent
|
|
119
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-NWP2OYOX.js";
|
|
120
113
|
import {
|
|
114
|
+
addMemberSpace,
|
|
115
|
+
getAllMemberSpaces,
|
|
121
116
|
getCurrentSpaceId,
|
|
122
117
|
getCurrentSpaceIdRaw,
|
|
123
118
|
getCurrentSpaceRaw,
|
|
124
119
|
getViewMode,
|
|
120
|
+
removeMemberSpace,
|
|
125
121
|
setCurrentSpace,
|
|
126
122
|
setCurrentSpaceBoth,
|
|
123
|
+
setMembershipLoaded,
|
|
124
|
+
setMembershipLoading,
|
|
125
|
+
setMembershipRejected,
|
|
127
126
|
setViewMode,
|
|
128
|
-
updateCurrentSpaceIfMatch
|
|
129
|
-
|
|
127
|
+
updateCurrentSpaceIfMatch,
|
|
128
|
+
updateMemberSpaceName
|
|
129
|
+
} from "./chunk-MBG66ZBH.js";
|
|
130
130
|
import {
|
|
131
131
|
buildMediaToolConfirmation,
|
|
132
132
|
normalizeMediaConfirmExecutionRevision
|
|
133
133
|
} from "./chunk-QYPE3TS3.js";
|
|
134
|
-
import {
|
|
135
|
-
UNCATEGORIZED_ID,
|
|
136
|
-
addContentAction,
|
|
137
|
-
checkSpaceMembership
|
|
138
|
-
} from "./chunk-GPVRUGGY.js";
|
|
139
|
-
import {
|
|
140
|
-
createSpaceKey,
|
|
141
|
-
normalizeSpaceId
|
|
142
|
-
} from "./chunk-UAD2WT54.js";
|
|
143
134
|
import {
|
|
144
135
|
getActiveDialogKey,
|
|
145
136
|
selectCurrentDialogKey,
|
|
146
137
|
selectPendingRawDataByPageKey
|
|
147
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-S2NTVGA2.js";
|
|
148
139
|
import {
|
|
149
140
|
require_react
|
|
150
|
-
} from "./chunk-
|
|
151
|
-
import {
|
|
152
|
-
shareResourceAction
|
|
153
|
-
} from "./chunk-HPFCI4SK.js";
|
|
141
|
+
} from "./chunk-5FUN7EG4.js";
|
|
154
142
|
import {
|
|
155
143
|
selectCurrentServer,
|
|
156
144
|
selectSyncServers
|
|
157
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-VREDDN25.js";
|
|
146
|
+
import {
|
|
147
|
+
UNCATEGORIZED_ID,
|
|
148
|
+
addContentAction,
|
|
149
|
+
checkSpaceMembership
|
|
150
|
+
} from "./chunk-JA3ICVJY.js";
|
|
151
|
+
import {
|
|
152
|
+
createSpaceKey,
|
|
153
|
+
normalizeSpaceId
|
|
154
|
+
} from "./chunk-UAD2WT54.js";
|
|
158
155
|
import {
|
|
159
156
|
patch,
|
|
160
157
|
read,
|
|
@@ -166,10 +163,14 @@ import {
|
|
|
166
163
|
selectEntities,
|
|
167
164
|
toTimestampMs,
|
|
168
165
|
write
|
|
169
|
-
} from "./chunk-
|
|
166
|
+
} from "./chunk-44X52WOJ.js";
|
|
167
|
+
import {
|
|
168
|
+
getUserDataItemTimestamp,
|
|
169
|
+
mergeAndDedupUserData
|
|
170
|
+
} from "./chunk-GBWGPTA7.js";
|
|
170
171
|
import {
|
|
171
172
|
readAction
|
|
172
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-WAE3GFCJ.js";
|
|
173
174
|
import {
|
|
174
175
|
DEVICE_LOCAL_OWNER_ID,
|
|
175
176
|
getRuntimeServerContext,
|
|
@@ -179,11 +180,11 @@ import {
|
|
|
179
180
|
resolveEffectiveSpaceActorId,
|
|
180
181
|
resolveRecordOwnerUserId,
|
|
181
182
|
selectRuntimeSnapshot
|
|
182
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-2VUZSVAS.js";
|
|
183
184
|
import {
|
|
184
185
|
createAsyncThunk,
|
|
185
186
|
noloWriteRequest
|
|
186
|
-
} from "./chunk-
|
|
187
|
+
} from "./chunk-7Z6EW7AH.js";
|
|
187
188
|
import {
|
|
188
189
|
selectIdentityToken,
|
|
189
190
|
selectIdentityUserBalance,
|
|
@@ -192,21 +193,13 @@ import {
|
|
|
192
193
|
import {
|
|
193
194
|
buildTombstoneRecord,
|
|
194
195
|
isTombstoneRecord
|
|
195
|
-
} from "./chunk-
|
|
196
|
-
import {
|
|
197
|
-
CAPABILITY_PACKS
|
|
198
|
-
} from "./chunk-EHGEOAHI.js";
|
|
199
|
-
import {
|
|
200
|
-
buildSkillDocMarkdown,
|
|
201
|
-
normalizeSkillModalities,
|
|
202
|
-
normalizeStringArray,
|
|
203
|
-
parseExternalSkillMarkdown,
|
|
204
|
-
parseSkillDocProtocol,
|
|
205
|
-
resolvePageSkillMetadata
|
|
206
|
-
} from "./chunk-AETZ7AD6.js";
|
|
196
|
+
} from "./chunk-BV3FLP2L.js";
|
|
207
197
|
import {
|
|
198
|
+
AGENT_THREAD_ACTIVE_STATUSES,
|
|
199
|
+
AGENT_THREAD_TERMINAL_STATUSES,
|
|
208
200
|
CLI_NOLO_WORKSPACE_TOOL_NAMES,
|
|
209
201
|
DEFAULT_READ_DIALOG_MAX_RESPONSE_CHARS,
|
|
202
|
+
assertDispatchSelectionAdmission,
|
|
210
203
|
buildAgentRuntimeAgentLookupKeys,
|
|
211
204
|
buildDialogReadEnvelope,
|
|
212
205
|
buildNoloSubjectRefQueryTarget,
|
|
@@ -217,27 +210,26 @@ import {
|
|
|
217
210
|
getNoloDialogIdFromKey,
|
|
218
211
|
normalizeNoloExcludeDialogIds,
|
|
219
212
|
normalizeNoloSpaceInput,
|
|
220
|
-
resolveDispatchedSubtaskBudget,
|
|
221
213
|
resolveNoloDialogInput,
|
|
222
214
|
verifyNoloDialogSubjectRefQuery
|
|
223
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-C4VAR65S.js";
|
|
224
216
|
import {
|
|
225
217
|
mergeAvailabilityDeadline,
|
|
226
218
|
resolveCredentialKeyWithFallback
|
|
227
|
-
} from "./chunk-
|
|
219
|
+
} from "./chunk-HOCHUZQ7.js";
|
|
228
220
|
import {
|
|
229
221
|
redactAgentRecordForWorkspaceTool,
|
|
230
222
|
resolveReadOnlyToolConstraints
|
|
231
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-SOF4OWDM.js";
|
|
232
224
|
import {
|
|
233
225
|
clipCompactText
|
|
234
226
|
} from "./chunk-5MMAK75Q.js";
|
|
235
|
-
import {
|
|
236
|
-
createFileCredentialBroker
|
|
237
|
-
} from "./chunk-OQHIVPG4.js";
|
|
238
227
|
import {
|
|
239
228
|
asRecordOrEmpty
|
|
240
229
|
} from "./chunk-KX6YBIHG.js";
|
|
230
|
+
import {
|
|
231
|
+
createFileCredentialBroker
|
|
232
|
+
} from "./chunk-SNBZZPYH.js";
|
|
241
233
|
import {
|
|
242
234
|
compactWhitespace
|
|
243
235
|
} from "./chunk-DWLEOOGR.js";
|
|
@@ -245,19 +237,53 @@ import {
|
|
|
245
237
|
isAbortError
|
|
246
238
|
} from "./chunk-7DPNBQSV.js";
|
|
247
239
|
import {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
} from "./chunk-ZCWRMUWT.js";
|
|
240
|
+
CAPABILITY_PACKS
|
|
241
|
+
} from "./chunk-PJCIP64Z.js";
|
|
251
242
|
import {
|
|
252
243
|
CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES,
|
|
244
|
+
canonicalizeToolName,
|
|
245
|
+
canonicalizeToolNames,
|
|
253
246
|
chromeConnectorToolSchemas,
|
|
254
247
|
chromeConnectorUnavailableFunc,
|
|
255
248
|
getChromeConnectorToolBehavior,
|
|
256
249
|
getChromeConnectorToolDefaultConsent
|
|
257
|
-
} from "./chunk-
|
|
250
|
+
} from "./chunk-6OVNSQHN.js";
|
|
251
|
+
import {
|
|
252
|
+
buildSkillDocMarkdown,
|
|
253
|
+
normalizeSkillModalities,
|
|
254
|
+
normalizeStringArray,
|
|
255
|
+
parseExternalSkillMarkdown,
|
|
256
|
+
parseSkillDocProtocol,
|
|
257
|
+
resolvePageSkillMetadata
|
|
258
|
+
} from "./chunk-W6RFEDN4.js";
|
|
258
259
|
import {
|
|
259
260
|
extractCustomId
|
|
260
261
|
} from "./chunk-M2EJHDJP.js";
|
|
262
|
+
import {
|
|
263
|
+
SEPARATOR,
|
|
264
|
+
TYPE_STORAGE_PREFIXES,
|
|
265
|
+
createAgentKey,
|
|
266
|
+
fileKey,
|
|
267
|
+
isAgentKey,
|
|
268
|
+
isAppKey,
|
|
269
|
+
isFileKey,
|
|
270
|
+
isPageKey,
|
|
271
|
+
isTableMetaKey,
|
|
272
|
+
isTaskKey,
|
|
273
|
+
metaKey,
|
|
274
|
+
rowKey,
|
|
275
|
+
splitKey,
|
|
276
|
+
toTrimmedString
|
|
277
|
+
} from "./chunk-SYTHYBMI.js";
|
|
278
|
+
import {
|
|
279
|
+
dialogMessageRange,
|
|
280
|
+
isDialogKey,
|
|
281
|
+
ulid
|
|
282
|
+
} from "./chunk-OJKUU3LP.js";
|
|
283
|
+
import {
|
|
284
|
+
asNonEmptyStringArray,
|
|
285
|
+
asTrimmedNonEmptyStringArray
|
|
286
|
+
} from "./chunk-I42VC5KR.js";
|
|
261
287
|
import {
|
|
262
288
|
RUN_TITLE_MAX,
|
|
263
289
|
TASK_PREVIEW_MAX,
|
|
@@ -270,68 +296,44 @@ import {
|
|
|
270
296
|
formatStatusRunCard,
|
|
271
297
|
formatStopRunCard,
|
|
272
298
|
normalizeRunTitle,
|
|
299
|
+
resolveAgentRunName,
|
|
273
300
|
resolveRunLabel
|
|
274
|
-
} from "./chunk-
|
|
301
|
+
} from "./chunk-AMEOV5VZ.js";
|
|
302
|
+
import {
|
|
303
|
+
toErrorMessage
|
|
304
|
+
} from "./chunk-HNMXYYJR.js";
|
|
305
|
+
import {
|
|
306
|
+
asTrimmedString
|
|
307
|
+
} from "./chunk-3EUW3WEO.js";
|
|
275
308
|
import {
|
|
276
309
|
DEFAULT_MODEL,
|
|
277
310
|
clampReasoningEffort,
|
|
278
311
|
resolveModelReasoningCapabilityWithCache
|
|
279
|
-
} from "./chunk-
|
|
280
|
-
import {
|
|
281
|
-
toErrorMessage
|
|
282
|
-
} from "./chunk-HNMXYYJR.js";
|
|
312
|
+
} from "./chunk-2UCBGYO4.js";
|
|
283
313
|
import {
|
|
284
314
|
isRecord
|
|
285
315
|
} from "./chunk-KUG52IAP.js";
|
|
286
316
|
import {
|
|
287
317
|
asTrimmedLowercaseString
|
|
288
318
|
} from "./chunk-QSJ3HFEF.js";
|
|
319
|
+
import {
|
|
320
|
+
asOptionalFiniteNumber
|
|
321
|
+
} from "./chunk-WWC7I6TA.js";
|
|
289
322
|
import {
|
|
290
323
|
API_ENDPOINTS
|
|
291
324
|
} from "./chunk-LCBAMY2M.js";
|
|
325
|
+
import {
|
|
326
|
+
asOptionalTrimmedString
|
|
327
|
+
} from "./chunk-G3SUCT4W.js";
|
|
292
328
|
import {
|
|
293
329
|
DEFAULT_LOCAL_API_ORIGIN
|
|
294
330
|
} from "./chunk-4SN6J65J.js";
|
|
295
331
|
import {
|
|
296
332
|
normalizeServerOrigin
|
|
297
333
|
} from "./chunk-CF7PE763.js";
|
|
298
|
-
import {
|
|
299
|
-
SEPARATOR,
|
|
300
|
-
TYPE_STORAGE_PREFIXES,
|
|
301
|
-
createAgentKey,
|
|
302
|
-
fileKey,
|
|
303
|
-
isAgentKey,
|
|
304
|
-
isAppKey,
|
|
305
|
-
isFileKey,
|
|
306
|
-
isPageKey,
|
|
307
|
-
isTableMetaKey,
|
|
308
|
-
isTaskKey,
|
|
309
|
-
metaKey,
|
|
310
|
-
rowKey,
|
|
311
|
-
splitKey,
|
|
312
|
-
toTrimmedString
|
|
313
|
-
} from "./chunk-JY5NGFFH.js";
|
|
314
|
-
import {
|
|
315
|
-
dialogMessageRange,
|
|
316
|
-
isDialogKey,
|
|
317
|
-
ulid
|
|
318
|
-
} from "./chunk-XJWWBO34.js";
|
|
319
|
-
import {
|
|
320
|
-
asNonEmptyStringArray,
|
|
321
|
-
asTrimmedNonEmptyStringArray
|
|
322
|
-
} from "./chunk-I42VC5KR.js";
|
|
323
|
-
import {
|
|
324
|
-
asOptionalFiniteNumber
|
|
325
|
-
} from "./chunk-WWC7I6TA.js";
|
|
326
|
-
import {
|
|
327
|
-
asTrimmedString
|
|
328
|
-
} from "./chunk-3EUW3WEO.js";
|
|
329
|
-
import {
|
|
330
|
-
asOptionalTrimmedString
|
|
331
|
-
} from "./chunk-G3SUCT4W.js";
|
|
332
334
|
import {
|
|
333
335
|
__toESM
|
|
334
|
-
} from "./chunk-
|
|
336
|
+
} from "./chunk-U67V476Y.js";
|
|
335
337
|
|
|
336
338
|
// packages/ai/tools/agentAutomationSchemas.ts
|
|
337
339
|
var agentAutomationTriggerSchema = {
|
|
@@ -1021,7 +1023,7 @@ var HOSTED_EXEC_RUNTIME_TOOL_POLICY = {
|
|
|
1021
1023
|
workspace: { mode: "lease" }
|
|
1022
1024
|
};
|
|
1023
1025
|
var findModelConfig = async (modelName, provider) => {
|
|
1024
|
-
const { ALL_MODELS } = await import("./models-
|
|
1026
|
+
const { ALL_MODELS } = await import("./models-ULVWLSQ6.js");
|
|
1025
1027
|
const name = toTrimmedString(modelName);
|
|
1026
1028
|
const prov = toTrimmedString(provider ?? "");
|
|
1027
1029
|
if (!name) return null;
|
|
@@ -1266,7 +1268,7 @@ var buildPlatformFormDataFromArgs = async (args) => {
|
|
|
1266
1268
|
const trimmedModel = toTrimmedString(model);
|
|
1267
1269
|
const trimmedProvider = toTrimmedString(provider);
|
|
1268
1270
|
const modelConfig = await findModelConfig(trimmedModel, trimmedProvider);
|
|
1269
|
-
const { getModelPricing } = await import("./getPricing-
|
|
1271
|
+
const { getModelPricing } = await import("./getPricing-MB2GBXOK.js");
|
|
1270
1272
|
const normalizedTools = tools ?? [];
|
|
1271
1273
|
const resolvedRuntimeToolPolicy = runtimeToolPolicy ?? (normalizedTools.includes("execShell") ? HOSTED_EXEC_RUNTIME_TOOL_POLICY : void 0);
|
|
1272
1274
|
const formData = {
|
|
@@ -3537,8 +3539,10 @@ var getRuntime = (thunkApi) => {
|
|
|
3537
3539
|
const snapshot = selectRuntimeSnapshot(state2);
|
|
3538
3540
|
return {
|
|
3539
3541
|
...snapshot,
|
|
3540
|
-
currentUserId: snapshot?.currentUserId ?? state2.currentUserId ?? state2.userId ??
|
|
3541
|
-
|
|
3542
|
+
currentUserId: snapshot?.currentUserId ?? state2.currentUserId ?? state2.userId ?? // 不再直接摸 state.auth.*:identity 迁移后 auth 切片是历史字段,
|
|
3543
|
+
// 选中逻辑归 identity(各 edition 自己决定来源),此处只当最后兜底。
|
|
3544
|
+
selectIdentityUserId(state2),
|
|
3545
|
+
currentToken: snapshot?.currentToken ?? state2.currentToken ?? selectIdentityToken(state2),
|
|
3542
3546
|
currentServer: snapshot?.currentServer ?? state2.currentServer ?? state2.settings?.currentServer
|
|
3543
3547
|
};
|
|
3544
3548
|
};
|
|
@@ -3900,7 +3904,7 @@ async function deleteDialogsFunc(args, thunkApi) {
|
|
|
3900
3904
|
const deletedDialogIds = [];
|
|
3901
3905
|
const deletedDialogKeys = [];
|
|
3902
3906
|
const failures = [];
|
|
3903
|
-
const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-
|
|
3907
|
+
const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-LFNVUSAN.js");
|
|
3904
3908
|
for (const target of targets) {
|
|
3905
3909
|
try {
|
|
3906
3910
|
await thunkApi.dispatch(deleteDialog2(target.dbKey)).unwrap();
|
|
@@ -4293,7 +4297,7 @@ var readSkillDocFunctionSchema = {
|
|
|
4293
4297
|
}
|
|
4294
4298
|
};
|
|
4295
4299
|
async function readSkillDocFunc(args, thunkApi) {
|
|
4296
|
-
const { buildReadDocResult } = await import("./readDocTool-
|
|
4300
|
+
const { buildReadDocResult } = await import("./readDocTool-4BGTXTXA.js");
|
|
4297
4301
|
const id = args?.id ?? args?.doc ?? args?.docKey ?? args?.pageKey;
|
|
4298
4302
|
if (typeof id !== "string" || !id.trim()) {
|
|
4299
4303
|
throw new Error("readSkillDoc requires id or doc.");
|
|
@@ -4555,6 +4559,20 @@ var addSpaceAction = async (input, thunkAPI) => {
|
|
|
4555
4559
|
return spaceMemberData;
|
|
4556
4560
|
};
|
|
4557
4561
|
|
|
4562
|
+
// packages/app/hooks/deleteOwnershipGuard.ts
|
|
4563
|
+
function resolveDeleteOwnershipGuard(input) {
|
|
4564
|
+
const actor = typeof input.actorUserId === "string" ? input.actorUserId.trim() : "";
|
|
4565
|
+
const owner = typeof input.ownerId === "string" ? input.ownerId.trim() : "";
|
|
4566
|
+
const recordLoaded = input.recordLoaded !== false;
|
|
4567
|
+
if (!actor) return "unknown";
|
|
4568
|
+
if (owner) {
|
|
4569
|
+
if (owner === actor || owner === DEVICE_LOCAL_OWNER_ID) return "allow";
|
|
4570
|
+
return "deny";
|
|
4571
|
+
}
|
|
4572
|
+
if (isDeviceLocalOwnerId(actor) && recordLoaded) return "allow";
|
|
4573
|
+
return "unknown";
|
|
4574
|
+
}
|
|
4575
|
+
|
|
4558
4576
|
// packages/app/favorite/favoriteStore.ts
|
|
4559
4577
|
var import_react = __toESM(require_react());
|
|
4560
4578
|
var createInitialState = () => ({
|
|
@@ -4808,7 +4826,7 @@ var normalizeDeleteError = (error) => {
|
|
|
4808
4826
|
}
|
|
4809
4827
|
return new Error(getDeleteErrorMessage(error));
|
|
4810
4828
|
};
|
|
4811
|
-
var deleteDbKey = (input, spaceId) => async (dispatch, getState) => {
|
|
4829
|
+
var deleteDbKey = (input, spaceId, options) => async (dispatch, getState) => {
|
|
4812
4830
|
try {
|
|
4813
4831
|
const {
|
|
4814
4832
|
contentKey,
|
|
@@ -4816,6 +4834,30 @@ var deleteDbKey = (input, spaceId) => async (dispatch, getState) => {
|
|
|
4816
4834
|
inputSpaceId,
|
|
4817
4835
|
includeAttachments
|
|
4818
4836
|
} = resolveDeleteInput(input);
|
|
4837
|
+
if (options?.requireOwnership) {
|
|
4838
|
+
const state2 = getState();
|
|
4839
|
+
let ownedRecord = selectById(state2, contentKey);
|
|
4840
|
+
if (!ownedRecord) {
|
|
4841
|
+
try {
|
|
4842
|
+
ownedRecord = await dispatch(
|
|
4843
|
+
read({ dbKey: contentKey, preferredServerOrigin })
|
|
4844
|
+
).unwrap();
|
|
4845
|
+
} catch {
|
|
4846
|
+
ownedRecord = null;
|
|
4847
|
+
}
|
|
4848
|
+
}
|
|
4849
|
+
const verdict = resolveDeleteOwnershipGuard({
|
|
4850
|
+
ownerId: ownedRecord?.userId ?? ownedRecord?.ownerId,
|
|
4851
|
+
actorUserId: selectIdentityUserId(state2),
|
|
4852
|
+
recordLoaded: Boolean(ownedRecord)
|
|
4853
|
+
});
|
|
4854
|
+
if (verdict === "deny") {
|
|
4855
|
+
throw new Error("\u65E0\u6743\u5220\u9664\u4ED6\u4EBA\u5185\u5BB9");
|
|
4856
|
+
}
|
|
4857
|
+
if (verdict !== "allow") {
|
|
4858
|
+
throw new Error("\u65E0\u6CD5\u9A8C\u8BC1\u5185\u5BB9\u6240\u6709\u6743\uFF0C\u672A\u5220\u9664\uFF08\u53EF\u7A0D\u540E\u91CD\u8BD5\uFF09");
|
|
4859
|
+
}
|
|
4860
|
+
}
|
|
4819
4861
|
const effectiveSpaceId = typeof spaceId === "string" && spaceId.trim().length > 0 ? spaceId : inputSpaceId ?? null;
|
|
4820
4862
|
await performDirectDelete(
|
|
4821
4863
|
dispatch,
|
|
@@ -5106,7 +5148,7 @@ var fetchSpaceAction = async (input, thunkAPI) => {
|
|
|
5106
5148
|
const spaceKey = createSpaceKey.space(spaceId);
|
|
5107
5149
|
const readSpace = async (dbKey) => {
|
|
5108
5150
|
try {
|
|
5109
|
-
const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-
|
|
5151
|
+
const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-WNON7TOL.js");
|
|
5110
5152
|
const readPromise = fresh ? dispatch(readAndWait2(dbKey)).unwrap() : dispatch(read2({ dbKey })).unwrap();
|
|
5111
5153
|
return await withTimeout(readPromise);
|
|
5112
5154
|
} catch {
|
|
@@ -5799,7 +5841,7 @@ var stripHtml = (html) => typeof html === "string" ? compactWhitespace(
|
|
|
5799
5841
|
) : "";
|
|
5800
5842
|
var cleanUrl = (url) => url.replace(/[),.;\]}>]+$/g, "");
|
|
5801
5843
|
var extractPdfText = async (blob) => {
|
|
5802
|
-
const pdfjsLib = await import("./pdf-
|
|
5844
|
+
const pdfjsLib = await import("./pdf-KE3QI2V7.js");
|
|
5803
5845
|
if (typeof window !== "undefined" && pdfjsLib.GlobalWorkerOptions && !pdfjsLib.GlobalWorkerOptions.workerSrc) {
|
|
5804
5846
|
pdfjsLib.GlobalWorkerOptions.workerSrc = "/public/assets/pdf.worker.mjs";
|
|
5805
5847
|
}
|
|
@@ -10976,7 +11018,7 @@ var cloudflareCrawlStatusFunctionSchema = {
|
|
|
10976
11018
|
async function cloudflareCrawlStatusFunc(args, thunkApi) {
|
|
10977
11019
|
const { jobId, limit, status, cursor } = args;
|
|
10978
11020
|
if (!jobId) throw new Error("\u5FC5\u987B\u63D0\u4F9B jobId");
|
|
10979
|
-
const { getToolRequestContext: getToolRequestContext2 } = await import("./toolApiClient-
|
|
11021
|
+
const { getToolRequestContext: getToolRequestContext2 } = await import("./toolApiClient-OGQEBQVX.js");
|
|
10980
11022
|
const { baseUrl, token } = getToolRequestContext2(thunkApi);
|
|
10981
11023
|
const params = new URLSearchParams();
|
|
10982
11024
|
if (limit !== void 0) params.set("limit", String(limit));
|
|
@@ -11754,7 +11796,7 @@ var selectUserIdFromState = (state2) => {
|
|
|
11754
11796
|
var selectCurrentServerFromState = (state2) => typeof state2?.settings?.currentServer === "string" ? state2.settings.currentServer : null;
|
|
11755
11797
|
async function addImageContentToSpace(input) {
|
|
11756
11798
|
const injectedAddContentAction = input.thunkApi?.extra?.addContentAction;
|
|
11757
|
-
const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-
|
|
11799
|
+
const addContentAction2 = typeof injectedAddContentAction === "function" ? injectedAddContentAction : (await import("./addContentAction-GDHDOF4U.js")).addContentAction;
|
|
11758
11800
|
await addContentAction2(
|
|
11759
11801
|
{
|
|
11760
11802
|
spaceId: input.spaceId,
|
|
@@ -12375,6 +12417,81 @@ var chatgptWebImageGenerateFunc = async (args, thunkApi) => {
|
|
|
12375
12417
|
};
|
|
12376
12418
|
};
|
|
12377
12419
|
|
|
12420
|
+
// packages/ai/tools/secretRequestTool.ts
|
|
12421
|
+
var randomGateId = () => {
|
|
12422
|
+
const webCrypto = globalThis.crypto;
|
|
12423
|
+
if (typeof webCrypto?.randomUUID === "function") return webCrypto.randomUUID();
|
|
12424
|
+
return `${Math.random().toString(36).slice(2, 10)}-${Date.now().toString(36)}`;
|
|
12425
|
+
};
|
|
12426
|
+
var SECRET_REQUEST_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
|
|
12427
|
+
var secretRequestFunctionSchema = {
|
|
12428
|
+
name: "secret-request",
|
|
12429
|
+
description: "\u5411\u7528\u6237\u8BF7\u6C42\u4E00\u4E2A\u5177\u540D\u51ED\u636E\uFF08\u5982 API key\uFF09\u3002\u7528\u6237\u4F1A\u5728\u5BBF\u4E3B\u9762\u677F\u4E2D\u8F93\u5165\uFF0C\u51ED\u636E\u660E\u6587\u7531\u5BBF\u4E3B\u5199\u5165\u672C\u673A secret store\uFF0C\u4EFB\u4F55\u503C\u90FD\u4E0D\u4F1A\u56DE\u5230\u5BF9\u8BDD\u4E2D\uFF1B\u5DE5\u5177\u7ED3\u679C\u53EA\u544A\u77E5\u662F\u5426\u5DF2\u4FDD\u5B58\u3002\u8C03\u7528\u65F6\u53EA\u4F20\u51ED\u636E\u540D\uFF08\u5927\u5199+\u4E0B\u5212\u7EBF\uFF09\u4E0E\u53EF\u9009\u8BF4\u660E\uFF0C\u7EDD\u4E0D\u4F20\u4EFB\u4F55\u51ED\u636E\u503C\u3002\u7ED3\u679C\u8FD4\u56DE\u540E\uFF0C\u7528 `nolo secret run --with <name> -- <cmd>` \u5728\u53D7\u63A7\u901A\u9053\u6D88\u8D39\u3002",
|
|
12430
|
+
parameters: {
|
|
12431
|
+
type: "object",
|
|
12432
|
+
properties: {
|
|
12433
|
+
name: {
|
|
12434
|
+
type: "string",
|
|
12435
|
+
description: "\u51ED\u636E\u540D\u79F0\uFF0C\u5FC5\u987B\u5339\u914D ^[A-Z_][A-Z0-9_]*$\uFF08\u5982 OPENAI_KEY\uFF09\u3002\u8FD9\u662F\u7528\u6237\u5728\u9762\u677F\u91CC\u770B\u5230\u7684\u6761\u76EE\u540D\u3002"
|
|
12436
|
+
},
|
|
12437
|
+
prompt: {
|
|
12438
|
+
type: "string",
|
|
12439
|
+
description: "\u9762\u677F\u4E0A\u5411\u7528\u6237\u5C55\u793A\u7684\u4E00\u53E5\u8BDD\u8BF4\u660E\uFF08\u53EF\u9009\uFF09\u3002"
|
|
12440
|
+
},
|
|
12441
|
+
purpose: {
|
|
12442
|
+
type: "string",
|
|
12443
|
+
description: "\u4E3A\u4EC0\u4E48\u9700\u8981\u8FD9\u4E2A\u51ED\u636E\u7684\u7B80\u77ED\u8BF4\u660E\uFF08\u53EF\u9009\uFF09\uFF0C\u5199\u8FDB\u9762\u677F\u6B63\u6587\u3002"
|
|
12444
|
+
}
|
|
12445
|
+
},
|
|
12446
|
+
required: ["name"]
|
|
12447
|
+
}
|
|
12448
|
+
};
|
|
12449
|
+
var NAME_ERROR = "secret-request\uFF1Aname \u5FC5\u987B\u5339\u914D ^[A-Z_][A-Z0-9_]*$\uFF08\u5927\u5199\u5B57\u6BCD/\u4E0B\u5212\u7EBF\u5F00\u5934\uFF0C\u4EC5\u542B\u5927\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u4E0E\u4E0B\u5212\u7EBF\uFF09\u3002";
|
|
12450
|
+
function validateSecretRequestName(name) {
|
|
12451
|
+
if (typeof name !== "string" || name.length === 0) return NAME_ERROR;
|
|
12452
|
+
if (!SECRET_REQUEST_NAME_PATTERN.test(name)) return NAME_ERROR;
|
|
12453
|
+
return null;
|
|
12454
|
+
}
|
|
12455
|
+
function buildSecretRequestToolResult(args) {
|
|
12456
|
+
const payload = {
|
|
12457
|
+
action: "secret_request",
|
|
12458
|
+
name: args.name,
|
|
12459
|
+
masked: true,
|
|
12460
|
+
...args.prompt?.trim() ? { prompt: args.prompt.trim() } : {}
|
|
12461
|
+
};
|
|
12462
|
+
const purpose = args.purpose?.trim();
|
|
12463
|
+
const fallbackContent = [
|
|
12464
|
+
`\u9700\u8981\u7528\u6237\u5411\u672C\u673A secret store \u63D0\u4F9B\u51ED\u636E "${args.name}"\uFF08\u660E\u6587\u4E0D\u4F1A\u51FA\u73B0\u5728\u5BF9\u8BDD\u91CC\uFF09\u3002`,
|
|
12465
|
+
...purpose ? [`\u7528\u9014\uFF1A${purpose}`] : [],
|
|
12466
|
+
"\u4F1A\u81EA\u52A8\u5F39\u51FA\u8F93\u5165\u9762\u677F\u8BA9\u7528\u6237\u586B\u5199\uFF0C\u4E0D\u8981\u5F15\u5BFC\u7528\u6237\u53BB\u7EC8\u7AEF\u6267\u884C\u547D\u4EE4\u3002",
|
|
12467
|
+
"\u51ED\u636E\u4FDD\u5B58\u540E\uFF0C\u7528 nolo secret run --with " + args.name + " -- <cmd> \u5728\u53D7\u63A7\u901A\u9053\u6D88\u8D39\uFF0C\u4E0D\u8981\u5411\u7528\u6237\u7D22\u8981\u660E\u6587\u3002"
|
|
12468
|
+
].join("\n");
|
|
12469
|
+
return {
|
|
12470
|
+
content: fallbackContent,
|
|
12471
|
+
metadata: {
|
|
12472
|
+
actionGate: {
|
|
12473
|
+
id: `gate-${randomGateId().slice(0, 8)}-secret-request-${args.name}`,
|
|
12474
|
+
kind: "input",
|
|
12475
|
+
title: `\u9700\u8981\u51ED\u636E ${args.name}`,
|
|
12476
|
+
body: purpose?.trim() || "\u8BF7\u5728\u8F93\u5165\u6846\u4E2D\u586B\u5199\u8BE5\u51ED\u636E\uFF0C\u5185\u5BB9\u4EC5\u4FDD\u5B58\u5728\u672C\u673A secret store\u3002",
|
|
12477
|
+
payload
|
|
12478
|
+
},
|
|
12479
|
+
reason: "secret-request-pending-host-input"
|
|
12480
|
+
}
|
|
12481
|
+
};
|
|
12482
|
+
}
|
|
12483
|
+
async function secretRequestFunc(args, _thunkApi) {
|
|
12484
|
+
const nameError = validateSecretRequestName(args?.name);
|
|
12485
|
+
if (nameError) {
|
|
12486
|
+
throw new Error(nameError);
|
|
12487
|
+
}
|
|
12488
|
+
return buildSecretRequestToolResult({
|
|
12489
|
+
name: args.name,
|
|
12490
|
+
...args.prompt !== void 0 ? { prompt: args.prompt } : {},
|
|
12491
|
+
...args.purpose !== void 0 ? { purpose: args.purpose } : {}
|
|
12492
|
+
});
|
|
12493
|
+
}
|
|
12494
|
+
|
|
12378
12495
|
// packages/ai/tools/uiCardTool.ts
|
|
12379
12496
|
var showInteractionFunctionSchema = {
|
|
12380
12497
|
name: "show_interaction",
|
|
@@ -13510,6 +13627,15 @@ function normalizeContinueDialogId(value) {
|
|
|
13510
13627
|
}
|
|
13511
13628
|
return value.trim();
|
|
13512
13629
|
}
|
|
13630
|
+
function resolveRunContextFacts(record, effectiveAgentKey) {
|
|
13631
|
+
const previous = typeof record?.primaryAgentKey === "string" ? record.primaryAgentKey.trim() : "";
|
|
13632
|
+
const agentChanged = !!record && !!previous && previous !== effectiveAgentKey;
|
|
13633
|
+
return {
|
|
13634
|
+
contextMode: record ? "continued" : "new",
|
|
13635
|
+
agentChanged,
|
|
13636
|
+
...agentChanged ? { contextNote: "\u7EED\u8DD1\u5DF2\u5207\u6362 Agent\uFF0C\u6A21\u578B\u63D0\u793A\u8BCD\u7F13\u5B58\u53EF\u80FD\u5931\u6548\u3002" } : {}
|
|
13637
|
+
};
|
|
13638
|
+
}
|
|
13513
13639
|
|
|
13514
13640
|
// packages/ai/tools/agent/agentRunCwd.ts
|
|
13515
13641
|
function isAbsoluteRunCwd(raw) {
|
|
@@ -13692,10 +13818,10 @@ var runAgentBackground = createAsyncThunk("agent/runBackground", async (args, {
|
|
|
13692
13818
|
idempotencyKey,
|
|
13693
13819
|
...parentDialogId ? { parentDialogId } : {},
|
|
13694
13820
|
...runtimeKey ? { runtimeKey } : {},
|
|
13695
|
-
...args.subtaskBudgetLimits ? { subtaskBudgetLimits: args.subtaskBudgetLimits } : {},
|
|
13696
13821
|
...ephemeral ? { ephemeral: true } : {},
|
|
13697
13822
|
...runKind ? { runKind } : {},
|
|
13698
13823
|
runtimeContext: {
|
|
13824
|
+
...args.selectionCheck ? { selectionCheck: args.selectionCheck } : {},
|
|
13699
13825
|
...args.runTitle ? { runTitle: args.runTitle } : {},
|
|
13700
13826
|
surface: "web",
|
|
13701
13827
|
host: "browser",
|
|
@@ -13755,8 +13881,9 @@ var runAgentBackground = createAsyncThunk("agent/runBackground", async (args, {
|
|
|
13755
13881
|
serverBase: routedServerBase
|
|
13756
13882
|
} = runResponse;
|
|
13757
13883
|
onStatusChange?.("pending");
|
|
13884
|
+
const contextFacts = runResponse.contextMode ? { contextMode: runResponse.contextMode, agentChanged: runResponse.agentChanged === true, ...runResponse.contextNote ? { contextNote: runResponse.contextNote } : {} } : {};
|
|
13758
13885
|
if (args.waitForCompletion === false) {
|
|
13759
|
-
return { dialogId, status: runResponse.status };
|
|
13886
|
+
return { dialogId, status: runResponse.status, ...contextFacts, ...runResponse.selectionCheck ? { selectionCheck: runResponse.selectionCheck } : {} };
|
|
13760
13887
|
}
|
|
13761
13888
|
let lastError;
|
|
13762
13889
|
let maxSseRetries = MAX_SSE_RETRIES;
|
|
@@ -13764,7 +13891,7 @@ var runAgentBackground = createAsyncThunk("agent/runBackground", async (args, {
|
|
|
13764
13891
|
const eventServer = normalizeServerOrigin(routedServerBase) || currentServer;
|
|
13765
13892
|
for (let attempt = 0; attempt <= maxSseRetries; attempt++) {
|
|
13766
13893
|
try {
|
|
13767
|
-
|
|
13894
|
+
const completed = await listenToDialogEvents(
|
|
13768
13895
|
dialogId,
|
|
13769
13896
|
eventServer,
|
|
13770
13897
|
authHeader,
|
|
@@ -13774,6 +13901,7 @@ var runAgentBackground = createAsyncThunk("agent/runBackground", async (args, {
|
|
|
13774
13901
|
onFailed,
|
|
13775
13902
|
cursor
|
|
13776
13903
|
);
|
|
13904
|
+
return { ...completed, ...contextFacts, ...runResponse.selectionCheck ? { selectionCheck: runResponse.selectionCheck } : {} };
|
|
13777
13905
|
} catch (e) {
|
|
13778
13906
|
if (isAbortError(e)) throw e;
|
|
13779
13907
|
if (!e?.retryable || attempt >= maxSseRetries) throw e;
|
|
@@ -14159,15 +14287,29 @@ function checkCredentialFanout(args) {
|
|
|
14159
14287
|
}
|
|
14160
14288
|
|
|
14161
14289
|
// packages/ai/tools/agent/startAgentRunTool.ts
|
|
14162
|
-
var BATCH_FANOUT_ENTRY_TTL_MS = 30 * 60 * 1e3;
|
|
14163
14290
|
var batchFanoutRegistry = /* @__PURE__ */ new Map();
|
|
14164
|
-
function
|
|
14165
|
-
|
|
14166
|
-
|
|
14167
|
-
|
|
14168
|
-
|
|
14169
|
-
|
|
14170
|
-
|
|
14291
|
+
async function refreshBatchFanout(entries, thunkApi) {
|
|
14292
|
+
const snapshot = entries.filter((entry) => entry.runId);
|
|
14293
|
+
if (!snapshot.length) return;
|
|
14294
|
+
const response = await callToolApi(
|
|
14295
|
+
thunkApi,
|
|
14296
|
+
"/api/agent/runs/control",
|
|
14297
|
+
{ action: "list", limit: 1e4 },
|
|
14298
|
+
{ withAuth: true }
|
|
14299
|
+
);
|
|
14300
|
+
const data = response?.data ?? response;
|
|
14301
|
+
if (!Array.isArray(data?.runs) || data.hasMore === true) {
|
|
14302
|
+
throw new Error("batch admission: live list unavailable or incomplete; retry after recovery");
|
|
14303
|
+
}
|
|
14304
|
+
for (const entry of snapshot) {
|
|
14305
|
+
const run = data.runs.find((run2) => run2.runId === entry.runId);
|
|
14306
|
+
if (!run || !AGENT_THREAD_ACTIVE_STATUSES.includes(run.status) && !AGENT_THREAD_TERMINAL_STATUSES.includes(run.status)) {
|
|
14307
|
+
throw new Error(`batch admission: unknown live status for ${entry.runId}; retry after recovery`);
|
|
14308
|
+
}
|
|
14309
|
+
if (AGENT_THREAD_TERMINAL_STATUSES.includes(run.status)) {
|
|
14310
|
+
const index = entries.indexOf(entry);
|
|
14311
|
+
if (index >= 0) entries.splice(index, 1);
|
|
14312
|
+
}
|
|
14171
14313
|
}
|
|
14172
14314
|
}
|
|
14173
14315
|
function buildStartAgentRunFunctionSchema(opts) {
|
|
@@ -14179,6 +14321,9 @@ function buildStartAgentRunFunctionSchema(opts) {
|
|
|
14179
14321
|
parameters: {
|
|
14180
14322
|
type: "object",
|
|
14181
14323
|
properties: {
|
|
14324
|
+
dimension: { type: "string", enum: ["general", "design_frontend", "writing"], default: "general", description: "\u4EFB\u52A1\u9886\u57DF\u4F18\u5148\u4E8E\u6863\u4F4D\uFF1B\u4EC5\u4F9B\u9009\u4EBA\u53C2\u8003\uFF0C\u4E0D\u6539\u53D8\u51C6\u5165\u3002" },
|
|
14325
|
+
difficulty: { type: "string", description: "easy / normal / complex / extreme\uFF1B\u9ED8\u8BA4 normal\u3002\u58F0\u660E\u672C\u6B21\u4EFB\u52A1\u7684\u96BE\u5EA6\u6863\u4F4D\uFF1B\u5DF2\u77E5\u8DE8\u6863\uFF08\u6240\u9009 Agent \u7684\u6A21\u578B\u6863\u4F4D\u4E0E\u672C\u6863\u4F4D\u4E0D\u4E00\u81F4\uFF09\u4E14\u672A\u7ED9\u51FA selectionReason \u65F6\u62D2\u7EDD\u542F\u52A8\uFF0C\u540C\u6863\u6216\u6863\u4F4D\u672A\u77E5\u4E0D\u62E6\u3002\u4E0D\u81EA\u52A8\u6362\u4EBA\u3001\u4E0D\u53D6\u6D88\u5DF2\u542F\u52A8\u7684 run\u3002", default: "normal" },
|
|
14326
|
+
selectionReason: { type: "string", description: "\u53EF\u9009\u3002\u8DE8\u6863\u9009\u62E9\u7406\u7531\uFF08\u81EA\u7531\u6587\u672C\uFF09\uFF1A\u6240\u9009 Agent \u7684\u6A21\u578B\u6863\u4F4D\u4E0E difficulty \u4E0D\u4E00\u81F4\u65F6\u5FC5\u987B\u7ED9\u51FA\uFF08\u5982\u9886\u57DF\u4F18\u52BF\u3001\u7528\u6237\u660E\u786E\u6307\u5B9A\uFF09\u3002\u53EA\u6821\u9A8C\u7406\u7531\u662F\u5426\u5B58\u5728\uFF0C\u4E0D\u4EE3\u8868\u5DF2\u6838\u5B9E\u7406\u7531\u771F\u5B9E\u6027\u3001\u7528\u6237\u6388\u6743\u6216\u989D\u5EA6/\u8D39\u7528\u6743\u9650\u3002" },
|
|
14182
14327
|
agentKey: {
|
|
14183
14328
|
type: "string",
|
|
14184
14329
|
description: "\u8981\u542F\u52A8\u7684 Agent \u7684\u53EF\u8FD0\u884C dbKey\uFF0C\u5FC5\u987B\u662F listAgents \u8FD4\u56DE\u7684 agentKey \u5B57\u6BB5\uFF08owned: agent-<userId>-<id>\uFF1Bpublic: agent-pub-<id>\uFF09\u6216 readAgent \u8FD4\u56DE\u7684 agentKey\u3002\u53EA\u63A5\u53D7\u7CBE\u786E dbKey\uFF0C\u4E0D\u63A5\u53D7 name/handle/bare id\u3002\u53EF\u9009\uFF1B\u7701\u7565\u6216\u4F20 'self' \u65F6\u81EA\u52A8\u4F7F\u7528\u5F53\u524D AgentKey\uFF08\u6D3E\u53D1\u81EA\u8EAB\u6267\u884C\u7EC6\u5206\u5B50\u4EFB\u52A1\uFF09\u3002"
|
|
@@ -14192,7 +14337,7 @@ function buildStartAgentRunFunctionSchema(opts) {
|
|
|
14192
14337
|
},
|
|
14193
14338
|
agentName: {
|
|
14194
14339
|
type: "string",
|
|
14195
|
-
description: "\u53EF\u9009\u3002\
|
|
14340
|
+
description: "\u53EF\u9009\u3002\u8986\u76D6\u8FD0\u884C\u5361\u7247\u7684 Agent \u5C55\u793A\u540D\uFF1B\u7701\u7565\u65F6\u6309 agentKey \u81EA\u52A8\u8BFB\u53D6\u914D\u7F6E\u4E2D\u7684 name\u3002"
|
|
14196
14341
|
},
|
|
14197
14342
|
title: {
|
|
14198
14343
|
type: "string",
|
|
@@ -14207,9 +14352,11 @@ function buildStartAgentRunFunctionSchema(opts) {
|
|
|
14207
14352
|
// review findings 与子任务产出都必须可回读——把选项藏起来比写一条
|
|
14208
14353
|
// 「不要用它」的克制指令更可靠(2026-09-14 owner 反馈)。CLI `--ephemeral`
|
|
14209
14354
|
// 与 server 透传保持不动,探活/烟测仍走 CLI 侧。
|
|
14355
|
+
// Returns previousRun evidence when available and difficultyRecheckRequired.
|
|
14356
|
+
// Evidence never inherits a tier or bypasses selection_reason_required.
|
|
14210
14357
|
continueDialogId: {
|
|
14211
14358
|
type: "string",
|
|
14212
|
-
description: "\u53EF\u9009\u3002\u7EED\u8DD1\u5F53\u524D\u7528\u6237\u5DF2\u6709\u7684 dialog\uFF08\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u7528\u6237\u65F6\u663E\u5F0F\u62A5\u9519\uFF0C\u4E0D\u65B0\u5EFA\uFF09\u3002\u9002\u7528\u4E8E\u540C\u4E00\u5B50\u4EFB\u52A1\u7684\u5B9A\u5411\u95ED\u5408\uFF0C\u6838\u9A8C\u4E0A\u4E00\u8F6E finding \u662F\u5426\u4FEE\u597D\uFF1B\u7981\u7528\u4E8E\u8BC4\u5BA1\u7C7B\u4EFB\u52A1\u7684\u72EC\u7ACB\u5224\u65AD\uFF0C\u7EED\u8DD1\u4F1A\u5E26\u5165\u4E4B\u524D\u7684\u7ED3\u8BBA\u3001\u7834\u574F\u72EC\u7ACB\u6027\u30022026-10-19 review \u673A\u5236\u7EA6\u5B9A\uFF1Afull \u5BA1\u67E5\u7528\u65B0 dialog\uFF08\u4E0D\u4F20\u672C\u53C2\u6570\uFF09\uFF0Cclosure \u7528\u7EED\u8DD1\u3002\u7EED\u8DD1\u65F6\u5FC5\u987B\u663E\u5F0F\u4F20\u8BE5\u5BF9\u8BDD\u539F\u672C\u7684 agentKey\uFF08\u5BF9\u8BDD\u7684 primaryAgentKey\uFF09\uFF1A\u7701\u7565 agentKey \u4E0D\u4F1A\u6CBF\u7528\u539F agent\uFF0C\u800C\u662F\u56DE\u843D\u5230\u5F53\u524D\u7F16\u6392\u8005\u81EA\u5DF1\uFF0C\u7B49\u4E8E\u6362\u6A21\u578B\u5E76\u628A\u8FD9\u4EFD\u5BF9\u8BDD\u7684 prompt \u7F13\u5B58\u5168\u90E8\u4F5C\u5E9F\uFF1B\u786E\u9700\u6362\u6A21\u578B\uFF08\u539F agent \u4E0D\u53EF\u7528/\u914D\u989D\u8017\u5C3D\uFF09\u624D\u4F20\u65B0 key\uFF0C\u5E76\u5728 task \u91CC\u8BF4\u660E\u7406\u7531\u3002"
|
|
14359
|
+
description: "\u53EF\u9009\u3002\u7EED\u8DD1\u5F53\u524D\u7528\u6237\u5DF2\u6709\u7684 dialog\uFF08\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u7528\u6237\u65F6\u663E\u5F0F\u62A5\u9519\uFF0C\u4E0D\u65B0\u5EFA\uFF09\u3002\u9002\u7528\u4E8E\u540C\u4E00\u5B50\u4EFB\u52A1\u7684\u5B9A\u5411\u95ED\u5408\uFF0C\u6838\u9A8C\u4E0A\u4E00\u8F6E finding \u662F\u5426\u4FEE\u597D\uFF1B\u7981\u7528\u4E8E\u8BC4\u5BA1\u7C7B\u4EFB\u52A1\u7684\u72EC\u7ACB\u5224\u65AD\uFF0C\u7EED\u8DD1\u4F1A\u5E26\u5165\u4E4B\u524D\u7684\u7ED3\u8BBA\u3001\u7834\u574F\u72EC\u7ACB\u6027\u30022026-10-19 review \u673A\u5236\u7EA6\u5B9A\uFF1Afull \u5BA1\u67E5\u7528\u65B0 dialog\uFF08\u4E0D\u4F20\u672C\u53C2\u6570\uFF09\uFF0Cclosure \u7528\u7EED\u8DD1\u3002\u7EED\u8DD1\u65F6\u5FC5\u987B\u663E\u5F0F\u4F20\u8BE5\u5BF9\u8BDD\u539F\u672C\u7684 agentKey\uFF08\u5BF9\u8BDD\u7684 primaryAgentKey\uFF09\uFF1A\u7701\u7565 agentKey \u4E0D\u4F1A\u6CBF\u7528\u539F agent\uFF0C\u800C\u662F\u56DE\u843D\u5230\u5F53\u524D\u7F16\u6392\u8005\u81EA\u5DF1\uFF0C\u7B49\u4E8E\u6362\u6A21\u578B\u5E76\u628A\u8FD9\u4EFD\u5BF9\u8BDD\u7684 prompt \u7F13\u5B58\u5168\u90E8\u4F5C\u5E9F\uFF1B\u786E\u9700\u6362\u6A21\u578B\uFF08\u539F agent \u4E0D\u53EF\u7528/\u914D\u989D\u8017\u5C3D\uFF09\u624D\u4F20\u65B0 key\uFF0C\u5E76\u5728 task \u91CC\u8BF4\u660E\u7406\u7531\u3002\u53EA\u6709\u7EED\u8DD1\u624D\u5E26\u6B64\u524D\u5BF9\u8BDD\u5386\u53F2\uFF1A\u65B0\u5EFA run\uFF08\u4E0D\u4F20\u672C\u53C2\u6570\uFF09\u6CA1\u6709\u4EFB\u4F55\u6B64\u524D\u5BF9\u8BDD\u5386\u53F2\uFF0C\u540C\u4E00 agentKey \u4E5F\u4E0D\u7B49\u4E8E\u540C\u4E00\u4E0A\u4E0B\u6587\u3002\u7EED\u8DD1\u4F9D\u8D56\u672C\u5730 dialog \u5386\u53F2\uFF1B\u5386\u53F2\u4E0D\u53EF\u7528\u65F6\u8BE5 run \u4F1A\u76F4\u63A5\u5931\u8D25\uFF08\u62A5 Strict continuation history load failed\uFF09\u800C\u4E0D\u4F1A\u9000\u5316\u4E3A\u65B0\u5EFA dialog\u2014\u2014\u6B64\u65F6\u82E5\u6539\u4EE5\u65B0 dialog \u91CD\u6D3E\uFF0C\u7B49\u4E8E\u4E00\u4E2A\u6CA1\u6709\u6B64\u524D\u5386\u53F2\u7684\u65B0\u4EFB\u52A1\uFF0C\u5FC5\u987B\u5728 task \u91CC\u8865\u9F50\u539F finding\u3001\u5FC5\u8981\u4E0A\u4E0B\u6587\u4E0E\u6838\u9A8C\u6807\u51C6\uFF1B\u786E\u5B9E\u4F9D\u8D56\u539F\u5BF9\u8BDD\u5386\u53F2\u65F6\u5E94\u5148\u6062\u590D\u5386\u53F2\uFF0C\u4E0D\u8981\u5047\u88C5\u4ECD\u5728\u7EED\u8DD1\u3002"
|
|
14213
14360
|
},
|
|
14214
14361
|
batchId: {
|
|
14215
14362
|
type: "string",
|
|
@@ -14217,7 +14364,7 @@ function buildStartAgentRunFunctionSchema(opts) {
|
|
|
14217
14364
|
},
|
|
14218
14365
|
credentialGroup: {
|
|
14219
14366
|
type: "string",
|
|
14220
|
-
description: "\u53EF\u9009\u3002\
|
|
14367
|
+
description: "\u53EF\u9009\u3002\u517C\u5BB9 listAgents \u8FD4\u56DE\u7684 credentialGroup \u63D0\u793A\uFF1B\u4E0D\u4F5C\u4E3A\u6743\u5A01\u51ED\u636E\u8EAB\u4EFD\u3002Web \u5B88\u536B\u4ECE\u5E94\u7528\u914D\u7F6E\u4E2D\u7684\u51ED\u636E reference \u89E3\u6790\uFF0C\u65E0\u6CD5\u89E3\u6790\u5219\u4E3A\u672A\u77E5\uFF08\u4E0D\u662F\u72EC\u7ACB\uFF09\uFF1B\u670D\u52A1\u7AEF\u4ECD\u6267\u884C\u6700\u7EC8\u51C6\u5165\u6821\u9A8C\u3002"
|
|
14221
14368
|
},
|
|
14222
14369
|
allowUnknownCredential: {
|
|
14223
14370
|
type: "boolean",
|
|
@@ -14238,14 +14385,6 @@ function buildStartAgentRunFunctionSchema(opts) {
|
|
|
14238
14385
|
type: "boolean",
|
|
14239
14386
|
description: '\u53EF\u9009\u3002\u4E3A true \u65F6\u672C\u6B21 run \u4F1A\u88AB\u8BB0\u5F55\u8FDB runtime todo\uFF08~/.nolo/todos.json\uFF09\u3002\u4F20\u4E86 batchId \u65F6\u9ED8\u8BA4\u5373\u8BB0\u5F55\uFF08\u6BCF\u6279\u5BF9\u5E94\u4E00\u9879 todo\uFF09\u3002todo \u72B6\u6001\u7531\u5173\u8054 run \u72B6\u6001 + review \u7ED3\u8BBA\u63A8\u5BFC\uFF0C\u7528 controlAgentRun(action:"todo") \u67E5\u8BE2\u3002'
|
|
14240
14387
|
},
|
|
14241
|
-
maxToolCalls: {
|
|
14242
|
-
type: "number",
|
|
14243
|
-
description: "\u53EF\u9009\u3002\u8FD9\u6B21\u5B50\u4EFB\u52A1\u7684\u5DE5\u5177\u8C03\u7528\u6388\u6743\u989D\u5EA6\uFF08\u786C\u4E0A\u9650\uFF09\u3002\u4E0D\u4F20\u5219\u7528 runtime \u9ED8\u8BA4 200\u3002\u5230\u9650\u5373\u505C\u6B62\u542F\u52A8\u65B0\u5DE5\u5177\uFF1B\u5DE5\u5177\u989D\u5EA6\u5230\u9650\u65F6\u53EF\u6709\u4E00\u6B21\u65E0\u5DE5\u5177\u603B\u7ED3\uFF0C\u5899\u949F\u5230\u9650\u6216\u53D6\u6D88\u540E\u4E0D\u518D\u8BF7\u6C42\u6A21\u578B\uFF0C\u8FD4\u56DE\u4E2D\u95F4\u7ED3\u8BBA\u5E76\u6807\u8BB0 budget-exhausted\uFF08\u4E0D\u7B97 provider \u9519\u8BEF\uFF09\u3002\u5E94\u6309\u4EFB\u52A1\u610F\u56FE\u6536\u7D27\uFF1A\u6539\u4E00\u4E2A\u5E38\u91CF\u7ED9 10~20\uFF0C\u5355\u6587\u4EF6\u4FEE\u590D\u7ED9 40\uFF0C\u5BA1\u67E5\u7ED9 60\u3002\u6CE8\u610F\u9ED8\u8BA4 200 \u53EA\u7528\u6765\u515C\u65E0\u754C\u635F\u5931\uFF0C\u4E0D\u662F\u5931\u63A7\u8BC6\u522B\u2014\u2014\u8DD1\u5230\u4E0A\u9650\u4E0D\u4EE3\u8868\u4EFB\u52A1\u6B63\u5E38\u3002"
|
|
14244
|
-
},
|
|
14245
|
-
maxWallClockMs: {
|
|
14246
|
-
type: "number",
|
|
14247
|
-
description: "\u53EF\u9009\u3002\u8FD9\u6B21\u5B50\u4EFB\u52A1\u7684\u5899\u949F\u786C\u4E0A\u9650\uFF08\u6BEB\u79D2\uFF09\u3002\u4E0D\u4F20\u5219\u7528 runtime \u9ED8\u8BA4 3600000\uFF0860 \u5206\u949F\uFF09\u3002\u4E0E maxToolCalls \u4EFB\u4E00\u5148\u5230\u5373\u7EC8\u6B62\u3002\u4F5C\u7528\u662F\u515C\u4F4F\u300C\u5355\u6B21\u8C03\u7528\u91CC\u5957\u5FAA\u73AF\u300D\u8FD9\u7C7B\u5DE5\u5177\u8BA1\u6570\u6D4B\u4E0D\u51FA\u8017\u65F6\u7684\u573A\u666F\uFF0C\u4F8B\u5982\u4E00\u6761 shell \u91CC `for i in 1 2 3` \u53CD\u590D\u8DD1\u540C\u4E00\u5957\u6D4B\u8BD5\uFF0C\u8C03\u7528\u6570\u53EA\u6709 1 \u4F46\u8017\u65F6\u5F88\u957F\u3002"
|
|
14248
|
-
},
|
|
14249
14388
|
...supportsWait ? {
|
|
14250
14389
|
wait: {
|
|
14251
14390
|
type: "boolean",
|
|
@@ -14278,7 +14417,7 @@ function buildStartAgentRunFunctionSchema(opts) {
|
|
|
14278
14417
|
instaboxAllowPaid: { type: "boolean", description: "\u663E\u5F0F\u5141\u8BB8\u4ED8\u8D39\u5EFA\u673A\uFF1B\u9ED8\u8BA4 false\uFF0C\u4FDD\u7559\u514D\u8D39\u989D\u5EA6\u95E8\u7981\u3002" },
|
|
14279
14418
|
allowHostWrites: {
|
|
14280
14419
|
type: "boolean",
|
|
14281
|
-
description: "\u53EF\u9009\u3002\u4EC5\u5F53 runtimeKey='local' \u65F6\u9700\u8981\u663E\u5F0F\u58F0\u660E\uFF1A\u8868\u793A\u8C03\u7528\u65B9\u540C\u610F\u5B50 run \u76F4\u63A5\u5728**\u5BBF\u4E3B\u6587\u4EF6\u7CFB\u7EDF**\u4E0A\u8BFB\u5199\u4EE3\u7801\uFF08\u65E0\u9694\u79BB\uFF09\u3002runtimeKey='local' \u4F46\u672A\u58F0\u660E\u65F6\u4F1A\u88AB\u663E\u5F0F\u62D2\u7EDD\uFF08\u4E0D\u56DE\u843D\u5BBF\u4E3B\u3001\u4E5F\u4E0D\u6084\u6084\u6539\u6210 docker\uFF09\u3002\u7701\u7565 runtimeKey \u65F6\u65E0\u6548\u3002\u6CE8\u610F**\u7701\u7565 key \u65F6\u7684\u9ED8\u8BA4\u4F4D\u7F6E\u6709\u4F8B\u5916**\uFF1A\u5199\u578B\u6D3E\u53D1\u9ED8\u8BA4\u8FDB\u672C\u673A docker \u6C99\u76D2\uFF1B\u53EA\u8BFB\u6D3E\u53D1\uFF08readOnly=true\uFF09\u4ECD\u5728\u5BBF\u4E3B\u6267\u884C\uFF08\u5B83\u79FB\u9664\
|
|
14420
|
+
description: "\u53EF\u9009\u3002\u4EC5\u5F53 runtimeKey='local' \u65F6\u9700\u8981\u663E\u5F0F\u58F0\u660E\uFF1A\u8868\u793A\u8C03\u7528\u65B9\u540C\u610F\u5B50 run \u76F4\u63A5\u5728**\u5BBF\u4E3B\u6587\u4EF6\u7CFB\u7EDF**\u4E0A\u8BFB\u5199\u4EE3\u7801\uFF08\u65E0\u9694\u79BB\uFF09\u3002runtimeKey='local' \u4F46\u672A\u58F0\u660E\u65F6\u4F1A\u88AB\u663E\u5F0F\u62D2\u7EDD\uFF08\u4E0D\u56DE\u843D\u5BBF\u4E3B\u3001\u4E5F\u4E0D\u6084\u6084\u6539\u6210 docker\uFF09\u3002\u7701\u7565 runtimeKey \u65F6\u65E0\u6548\u3002\u6CE8\u610F**\u7701\u7565 key \u65F6\u7684\u9ED8\u8BA4\u4F4D\u7F6E\u6709\u4F8B\u5916**\uFF1A\u5199\u578B\u6D3E\u53D1\u9ED8\u8BA4\u8FDB\u672C\u673A docker \u6C99\u76D2\uFF1B\u53EA\u8BFB\u6D3E\u53D1\uFF08readOnly=true\uFF09\u5F53\u524D\u5B9E\u73B0\u4ECD\u7559\u5728\u5BBF\u4E3B\u6267\u884C\uFF08\u5B83\u79FB\u9664\u7684\u662F nolo \u4FA7\u4E13\u7528\u5199\u5DE5\u5177\uFF1Bshell \u4E0E\u5916\u90E8 CLI \u901A\u9053\u4ECD\u53EF\u5199\u6587\u4EF6\uFF0C\u8FD9\u4E0D\u662F\u6587\u4EF6\u7CFB\u7EDF\u53EA\u8BFB\u9694\u79BB\uFF09\u3002"
|
|
14282
14421
|
}
|
|
14283
14422
|
},
|
|
14284
14423
|
required: ["task", "title"]
|
|
@@ -14339,23 +14478,7 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
14339
14478
|
);
|
|
14340
14479
|
}
|
|
14341
14480
|
const effectiveAllowCredentialConcurrency = args.allowCredentialConcurrency ?? true;
|
|
14342
|
-
if (explicitBatchId) {
|
|
14343
|
-
const nowMs = Date.now();
|
|
14344
|
-
pruneBatchFanoutRegistry(nowMs);
|
|
14345
|
-
const active = batchFanoutRegistry.get(explicitBatchId) ?? [];
|
|
14346
|
-
const verdict = checkCredentialFanout({
|
|
14347
|
-
active,
|
|
14348
|
-
candidate: { agentKey: effectiveAgentKey, credentialGroup: args.credentialGroup },
|
|
14349
|
-
allowUnknownCredential: args.allowUnknownCredential === true,
|
|
14350
|
-
allowCredentialConcurrency: effectiveAllowCredentialConcurrency
|
|
14351
|
-
});
|
|
14352
|
-
if (!verdict.allowed) throw new Error(verdict.message);
|
|
14353
|
-
}
|
|
14354
14481
|
const content = buildDelegatedTaskContent(task, input);
|
|
14355
|
-
const dispatchedSubtaskBudget = resolveDispatchedSubtaskBudget({
|
|
14356
|
-
...typeof args.maxToolCalls === "number" ? { maxToolCalls: args.maxToolCalls } : {},
|
|
14357
|
-
...typeof args.maxWallClockMs === "number" ? { maxWallClockMs: args.maxWallClockMs } : {}
|
|
14358
|
-
});
|
|
14359
14482
|
const payloadMetrics = calculateDelegatedPayloadMetrics(task, input, content);
|
|
14360
14483
|
const activeDialogKey = getActiveDialogKey();
|
|
14361
14484
|
const explicitParentDialogId = typeof args.parentDialogId === "string" && args.parentDialogId.trim() ? args.parentDialogId.includes("-") ? extractCustomId(args.parentDialogId) : args.parentDialogId.trim() : void 0;
|
|
@@ -14369,7 +14492,44 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
14369
14492
|
throw new Error(HOST_EXECUTOR_UNAVAILABLE_MESSAGE);
|
|
14370
14493
|
}
|
|
14371
14494
|
}
|
|
14495
|
+
const state2 = thunkApi.getState();
|
|
14496
|
+
const config = state2?.db ? selectById(state2, effectiveAgentKey) : void 0;
|
|
14497
|
+
const credentialGroup = deriveCredentialGroup(config?.apiKeyRef ?? config?.credentialRef)?.credentialGroup;
|
|
14498
|
+
let selectionCheck = assertDispatchSelectionAdmission({
|
|
14499
|
+
dimension: args.dimension,
|
|
14500
|
+
difficulty: args.difficulty,
|
|
14501
|
+
model: config?.model,
|
|
14502
|
+
selectionReason: args.selectionReason
|
|
14503
|
+
});
|
|
14504
|
+
let entries;
|
|
14505
|
+
let reservation;
|
|
14506
|
+
if (explicitBatchId) {
|
|
14507
|
+
entries = batchFanoutRegistry.get(explicitBatchId);
|
|
14508
|
+
if (!entries) {
|
|
14509
|
+
entries = [];
|
|
14510
|
+
batchFanoutRegistry.set(explicitBatchId, entries);
|
|
14511
|
+
}
|
|
14512
|
+
const verdict = checkCredentialFanout({
|
|
14513
|
+
active: entries,
|
|
14514
|
+
candidate: { agentKey: effectiveAgentKey, credentialGroup },
|
|
14515
|
+
allowUnknownCredential: args.allowUnknownCredential === true,
|
|
14516
|
+
allowCredentialConcurrency: effectiveAllowCredentialConcurrency
|
|
14517
|
+
});
|
|
14518
|
+
if (!verdict.allowed && entries.some((entry) => !entry.runId)) throw new Error(verdict.message);
|
|
14519
|
+
reservation = { agentKey: effectiveAgentKey, credentialGroup };
|
|
14520
|
+
entries.push(reservation);
|
|
14521
|
+
}
|
|
14372
14522
|
try {
|
|
14523
|
+
if (entries && reservation) {
|
|
14524
|
+
await refreshBatchFanout(entries, thunkApi);
|
|
14525
|
+
const verdict = checkCredentialFanout({
|
|
14526
|
+
active: entries.filter((entry) => entry !== reservation),
|
|
14527
|
+
candidate: reservation,
|
|
14528
|
+
allowUnknownCredential: args.allowUnknownCredential === true,
|
|
14529
|
+
allowCredentialConcurrency: effectiveAllowCredentialConcurrency
|
|
14530
|
+
});
|
|
14531
|
+
if (!verdict.allowed) throw new Error(verdict.message);
|
|
14532
|
+
}
|
|
14373
14533
|
const bgResult = runtimeKey === "local" ? await hostAgentRunDispatcher({
|
|
14374
14534
|
agentKey: effectiveAgentKey,
|
|
14375
14535
|
userInput: content,
|
|
@@ -14377,9 +14537,8 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
14377
14537
|
waitForCompletion: wait === true,
|
|
14378
14538
|
runKind: "subtask",
|
|
14379
14539
|
runTitle: title,
|
|
14540
|
+
selectionCheck,
|
|
14380
14541
|
runtimeKey: "local",
|
|
14381
|
-
// 已解析的硬预算(子 run 只消费,不再自行读 env)。
|
|
14382
|
-
subtaskBudgetLimits: dispatchedSubtaskBudget.limits,
|
|
14383
14542
|
allowHostWrites: true,
|
|
14384
14543
|
...args.readOnly === true ? { readOnly: true } : {},
|
|
14385
14544
|
...parentDialogId ? { parentDialogId } : {}
|
|
@@ -14394,36 +14553,42 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
14394
14553
|
waitForCompletion: wait === true,
|
|
14395
14554
|
runKind: "subtask",
|
|
14396
14555
|
runTitle: title,
|
|
14397
|
-
|
|
14398
|
-
subtaskBudgetLimits: dispatchedSubtaskBudget.limits,
|
|
14556
|
+
selectionCheck,
|
|
14399
14557
|
...args.readOnly === true ? { readOnly: true } : {},
|
|
14400
14558
|
...parentDialogId ? { parentDialogId } : {},
|
|
14401
14559
|
...runtimeKey ? { runtimeKey } : {}
|
|
14402
14560
|
})
|
|
14403
14561
|
).unwrap();
|
|
14562
|
+
selectionCheck = bgResult.selectionCheck ?? selectionCheck;
|
|
14563
|
+
const contextFacts = bgResult.contextMode ? { contextMode: bgResult.contextMode, agentChanged: bgResult.agentChanged === true, ...bgResult.contextNote ? { contextNote: bgResult.contextNote } : {} } : {};
|
|
14564
|
+
const continuationEvidence = continueDialogId ? {
|
|
14565
|
+
difficultyRecheckRequired: true,
|
|
14566
|
+
...bgResult.previousRun ? { previousRun: bgResult.previousRun } : {}
|
|
14567
|
+
} : {};
|
|
14404
14568
|
if (wait === true) {
|
|
14405
14569
|
const fullContent = bgResult.content ?? "";
|
|
14406
14570
|
return {
|
|
14407
14571
|
rawData: resultMode === "summary" ? summarizeChildContent(fullContent) : fullContent,
|
|
14408
14572
|
displayData: `\u2705 startAgentRun \u540C\u6B65\u5B8C\u6210\uFF0CdialogId: ${bgResult.dialogId}${resultMode === "summary" ? "\uFF08summary\uFF09" : ""}`,
|
|
14409
14573
|
metadata: {
|
|
14410
|
-
payloadMetrics
|
|
14574
|
+
payloadMetrics,
|
|
14575
|
+
selectionCheck,
|
|
14576
|
+
...contextFacts,
|
|
14577
|
+
...continuationEvidence
|
|
14411
14578
|
}
|
|
14412
14579
|
};
|
|
14413
14580
|
}
|
|
14414
14581
|
const runId = bgResult.dialogId;
|
|
14415
|
-
if (
|
|
14416
|
-
|
|
14417
|
-
|
|
14418
|
-
runId,
|
|
14419
|
-
agentKey: effectiveAgentKey,
|
|
14420
|
-
...typeof args.credentialGroup === "string" && args.credentialGroup.trim() ? { credentialGroup: args.credentialGroup.trim() } : {},
|
|
14421
|
-
startedAtMs: Date.now()
|
|
14422
|
-
});
|
|
14423
|
-
batchFanoutRegistry.set(explicitBatchId, entries);
|
|
14582
|
+
if (reservation) {
|
|
14583
|
+
if (typeof runId !== "string" || !runId) throw new Error("batch admission: creation returned no runId");
|
|
14584
|
+
reservation.runId = runId;
|
|
14424
14585
|
}
|
|
14425
14586
|
const status = bgResult.status ?? "pending";
|
|
14426
|
-
const resolvedName =
|
|
14587
|
+
const resolvedName = await resolveAgentRunName(
|
|
14588
|
+
effectiveAgentKey,
|
|
14589
|
+
[agentName, bgResult.agentName, bgResult.name],
|
|
14590
|
+
async (dbKey) => dispatch(read({ dbKey })).unwrap()
|
|
14591
|
+
);
|
|
14427
14592
|
const identity = { agentName: resolvedName, agentKey: effectiveAgentKey, runId };
|
|
14428
14593
|
const taskPreview = task.replace(/\s+/g, " ").trim().slice(0, TASK_PREVIEW_MAX);
|
|
14429
14594
|
return {
|
|
@@ -14431,6 +14596,8 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
14431
14596
|
runId,
|
|
14432
14597
|
status,
|
|
14433
14598
|
agentKey,
|
|
14599
|
+
...contextFacts,
|
|
14600
|
+
...continuationEvidence,
|
|
14434
14601
|
// batchId is always returned — minted above when the caller didn't
|
|
14435
14602
|
// supply one — so controlAgentRun(list, batchId=...) works on every
|
|
14436
14603
|
// host. On the server path the id lives in the tool return; on the
|
|
@@ -14439,7 +14606,8 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
14439
14606
|
...resolvedName ? { agentName: resolvedName } : {},
|
|
14440
14607
|
...taskPreview ? { taskPreview } : {},
|
|
14441
14608
|
...title ? { title } : {},
|
|
14442
|
-
payloadMetrics
|
|
14609
|
+
payloadMetrics,
|
|
14610
|
+
selectionCheck
|
|
14443
14611
|
},
|
|
14444
14612
|
displayData: formatStartRunCard(resolveRunLabel(identity), status, {
|
|
14445
14613
|
task: taskPreview,
|
|
@@ -14452,6 +14620,11 @@ async function startAgentRunFunc(args, thunkApi, _context) {
|
|
|
14452
14620
|
};
|
|
14453
14621
|
} catch (e) {
|
|
14454
14622
|
throw new Error(`startAgentRun \u542F\u52A8 Agent [${agentKey}] \u5931\u8D25: ${toErrorMessage(e)}`);
|
|
14623
|
+
} finally {
|
|
14624
|
+
if (entries && reservation && !reservation.runId) {
|
|
14625
|
+
const index = entries.indexOf(reservation);
|
|
14626
|
+
if (index >= 0) entries.splice(index, 1);
|
|
14627
|
+
}
|
|
14455
14628
|
}
|
|
14456
14629
|
}
|
|
14457
14630
|
var SUMMARY_HEAD_CHARS = 1500;
|
|
@@ -14476,6 +14649,7 @@ var CONTROL_AGENT_RUN_ACTIONS = [
|
|
|
14476
14649
|
"append"
|
|
14477
14650
|
];
|
|
14478
14651
|
var ACTION_DESCRIPTIONS = {
|
|
14652
|
+
recoverPreparedWriter: "recoverPreparedWriter=\u4EC5\u672C\u5730\uFF1A\u663E\u5F0F\u64A4\u9500\u540C\u4E00 attemptId \u7684 fenced-launch-v1 prepared writer \u5E76\u91CA\u653E claim\uFF1Bgranted\u3001legacy\u3001unknown \u6216 attempt \u4E0D\u5339\u914D\u5747\u62D2\u7EDD\uFF1B\u4E0D\u7EC8\u6B62\u8FDB\u7A0B\u3001\u4E0D\u63D0\u4F9B force",
|
|
14479
14653
|
list: "list=\u5217\u51FA run\uFF08\u7701\u7565 runId\uFF09",
|
|
14480
14654
|
status: "status=\u67E5\u5355\u6761 run \u72B6\u6001 + \u53EF\u9009\u65E5\u5FD7\uFF1B\u7EC8\u6001 run \u7684\u5B8C\u6574\u7ED3\u8BBA\u5728\u8FD4\u56DE\u7684 resultFile\uFF08\u7528 readFile \u8BFB\u539F\u6587\uFF1BlastAssistantText \u53EA\u662F 2000 \u5B57\u6458\u8981\uFF0C\u4E0D\u5B58\u5728\u65F6\u8BFB resultFile\uFF09\uFF1BresultFile \u7F3A\u5931\u53EF\u80FD\u662F run \u88AB\u7528\u6237\u4E2D\u65AD\uFF0C\u6309\u300C\u65E0\u7ED3\u8BBA\u300D\u5904\u7406\uFF0C\u4E0D\u636E\u6B64\u5224\u5DE5\u5177\u6545\u969C",
|
|
14481
14655
|
stop: "stop=\u53D6\u6D88 run",
|
|
@@ -14506,9 +14680,13 @@ function buildControlAgentRunFunctionSchema(opts) {
|
|
|
14506
14680
|
type: "string",
|
|
14507
14681
|
description: "\u76EE\u6807 run \u7684 ID\uFF08startAgentRun \u8FD4\u56DE\u7684 runId\uFF09\u3002action=list \u65F6\u7701\u7565\u3002"
|
|
14508
14682
|
},
|
|
14683
|
+
...actions.includes("recoverPreparedWriter") ? { attemptId: {
|
|
14684
|
+
type: "string",
|
|
14685
|
+
description: "recoverPreparedWriter \u5FC5\u586B\uFF1Astatus \u8FD4\u56DE\u7684 writerLaunch.attemptId\uFF1B\u5FC5\u987B\u4E0E\u76EE\u6807 prepared attempt \u5B8C\u5168\u76F8\u540C\u3002\u73AF\u5883\u53D8\u91CF\u4EC5 locator\uFF0C\u4E0D\u6388\u4E88\u6062\u590D\u6743\u9650\u3002"
|
|
14686
|
+
} } : {},
|
|
14509
14687
|
dialogKey: {
|
|
14510
14688
|
type: "string",
|
|
14511
|
-
description: "\u53EF\u9009\u3002action=append \u65F6\u76EE\u6807 dialog \u7684 dbKey\uFF08\u5982 dialog-user-xxx\uFF09\u3002\
|
|
14689
|
+
description: "\u53EF\u9009\u3002action=append \u65F6\u76EE\u6807 dialog \u7684 dbKey\uFF08\u5982 dialog-user-xxx\uFF09\u3002\u7ED9\u4E86 runId \u65F6\u7531 runId \u63A8\u5BFC\uFF1B\u672C\u5730 CLI \u5BBF\u4E3B\u4E0A\u53EA\u7ED9 dialogKey = \u5411\u540C\u7528\u6237\u6D3B\u7740\u7684\u666E\u901A CLI dialog \u6295\u9012\u4E00\u6761\u901A\u77E5\uFF08\u8FDB\u5B83\u73B0\u6709\u961F\u5217\u6392\u961F\uFF0C\u4E0D\u542F\u52A8 run/\u6A21\u578B\uFF0C\u7B49\u5F85\u786E\u8BA4\u6216 stop \u65F6\u53EA defer\uFF1B\u76EE\u6807\u79BB\u7EBF\u6216\u65E0\u63A5\u6536\u5668\u65F6\u660E\u786E\u8FD4\u56DE unsupported/offline\uFF0C\u4E0D\u9759\u9ED8\u843D\u5E93\uFF09\u3002"
|
|
14512
14690
|
},
|
|
14513
14691
|
userInput: {
|
|
14514
14692
|
type: "string",
|
|
@@ -14517,7 +14695,7 @@ function buildControlAgentRunFunctionSchema(opts) {
|
|
|
14517
14695
|
mode: {
|
|
14518
14696
|
type: "string",
|
|
14519
14697
|
enum: ["enqueue", "continue"],
|
|
14520
|
-
description: "\u53EF\u9009\u3002action=append \u65F6\u7684\u8FFD\u52A0\u6A21\u5F0F\uFF1Aenqueue=\u52A0\u5165\u961F\u5217\u4F9B\u4E0B\u4E00\u8F6E\u6D88\u8D39\uFF1Bcontinue=\u7EC8\u6001\u7EED\u8DD1\u3002\u7F3A\u7701\u65F6\u81EA\u52A8\u6839\u636E run \u72B6\u6001\u9002\u914D\u3002"
|
|
14698
|
+
description: "\u53EF\u9009\u3002action=append \u65F6\u7684\u8FFD\u52A0\u6A21\u5F0F\uFF1Aenqueue=\u52A0\u5165\u961F\u5217\u4F9B\u4E0B\u4E00\u8F6E\u6D88\u8D39\uFF1Bcontinue=\u7EC8\u6001\u7EED\u8DD1\uFF08\u9700\u8981 runId\uFF1B\u672C\u5730 CLI \u5BBF\u4E3B\u4E0A\u53EA\u7ED9 dialogKey \u65F6\u4EC5\u652F\u6301 enqueue\uFF09\u3002\u7F3A\u7701\u65F6\u81EA\u52A8\u6839\u636E run \u72B6\u6001\u9002\u914D\u3002"
|
|
14521
14699
|
},
|
|
14522
14700
|
...hasWait ? {
|
|
14523
14701
|
timeoutMs: {
|
|
@@ -18124,6 +18302,32 @@ var deriveAppIdFromRouteKey = (appKey, userId) => {
|
|
|
18124
18302
|
return legacyAppId || void 0;
|
|
18125
18303
|
};
|
|
18126
18304
|
|
|
18305
|
+
// packages/core/appHttpUrl.ts
|
|
18306
|
+
var HTTP_PROTOCOLS = /* @__PURE__ */ new Set(["http:", "https:"]);
|
|
18307
|
+
var normalizeAbsoluteUrl = (value) => {
|
|
18308
|
+
if (typeof value !== "string") return void 0;
|
|
18309
|
+
const trimmed2 = value.trim();
|
|
18310
|
+
if (!trimmed2) return void 0;
|
|
18311
|
+
return trimmed2;
|
|
18312
|
+
};
|
|
18313
|
+
var parseHttpUrl = (value) => {
|
|
18314
|
+
const normalized = normalizeAbsoluteUrl(value);
|
|
18315
|
+
if (!normalized) return void 0;
|
|
18316
|
+
let parsed;
|
|
18317
|
+
try {
|
|
18318
|
+
parsed = new URL(normalized);
|
|
18319
|
+
} catch {
|
|
18320
|
+
return void 0;
|
|
18321
|
+
}
|
|
18322
|
+
if (!HTTP_PROTOCOLS.has(parsed.protocol)) return void 0;
|
|
18323
|
+
return parsed;
|
|
18324
|
+
};
|
|
18325
|
+
var normalizeAppHttpUrl = (value) => {
|
|
18326
|
+
const normalized = normalizeAbsoluteUrl(value);
|
|
18327
|
+
if (!normalized || !parseHttpUrl(normalized)) return void 0;
|
|
18328
|
+
return normalized;
|
|
18329
|
+
};
|
|
18330
|
+
|
|
18127
18331
|
// packages/app/types/appSummary.ts
|
|
18128
18332
|
var toIsoString = (value) => {
|
|
18129
18333
|
const timestamp = toTimestampMs(value);
|
|
@@ -18144,18 +18348,25 @@ function toAppSummary(record, fallbackServerOrigin) {
|
|
|
18144
18348
|
if (!appKey) return null;
|
|
18145
18349
|
const appId = explicitAppId ?? deriveAppIdFromRouteKey(appKey, record.userId);
|
|
18146
18350
|
const name = typeof record.name === "string" && record.name.trim().length > 0 ? record.name : appId ?? appKey;
|
|
18351
|
+
const versionServerOrigin = typeof record.versionServerOrigin === "string" && record.versionServerOrigin.trim().length > 0 ? record.versionServerOrigin.trim() : void 0;
|
|
18352
|
+
const hostServerOrigin = typeof record.serverOrigin === "string" && record.serverOrigin.trim().length > 0 ? record.serverOrigin.trim() : fallbackServerOrigin;
|
|
18353
|
+
const recordedUrl = normalizeAppHttpUrl(record.url);
|
|
18147
18354
|
return {
|
|
18148
18355
|
name,
|
|
18149
|
-
url: buildAppUrl(
|
|
18356
|
+
url: recordedUrl ?? buildAppUrl(versionServerOrigin ?? hostServerOrigin, appId),
|
|
18150
18357
|
appId,
|
|
18151
18358
|
appKey,
|
|
18152
|
-
serverOrigin:
|
|
18359
|
+
serverOrigin: hostServerOrigin,
|
|
18360
|
+
versionServerOrigin,
|
|
18153
18361
|
spaceId: typeof record.spaceId === "string" && record.spaceId.trim().length > 0 ? record.spaceId : null,
|
|
18154
18362
|
customUrl: typeof record.customUrl === "string" && record.customUrl.trim().length > 0 ? record.customUrl : void 0,
|
|
18155
18363
|
modifiedOn: toIsoString(record.updatedAt ?? record.createdAt),
|
|
18156
18364
|
visibility: record.visibility ?? "private",
|
|
18157
18365
|
deployMode: record.deployMode ?? "platform",
|
|
18158
|
-
icon: record.icon ?? null
|
|
18366
|
+
icon: record.icon ?? null,
|
|
18367
|
+
// 记录里的真实 owner(服务端记录字段,不是客户端推测)。卡片上的
|
|
18368
|
+
// 「发布到社区」用它门控:非 owner 不渲染,避免假按钮(review 假按钮)。
|
|
18369
|
+
ownerUserId: typeof record.userId === "string" && record.userId.trim().length > 0 ? record.userId.trim() : void 0
|
|
18159
18370
|
};
|
|
18160
18371
|
}
|
|
18161
18372
|
|
|
@@ -18191,6 +18402,11 @@ var toTimestamp = (value) => typeof value === "number" ? value : Date.parse(valu
|
|
|
18191
18402
|
var normalizeSpaceId2 = (spaceId) => {
|
|
18192
18403
|
return asOptionalTrimmedString(spaceId) ?? null;
|
|
18193
18404
|
};
|
|
18405
|
+
var normalizeTrimmedOrUndefined = (value) => {
|
|
18406
|
+
if (typeof value !== "string") return void 0;
|
|
18407
|
+
const trimmed2 = value.trim();
|
|
18408
|
+
return trimmed2.length > 0 ? trimmed2 : void 0;
|
|
18409
|
+
};
|
|
18194
18410
|
var resolveRecordTimestamp = (record) => record.updatedAt ?? record.updated_at ?? record.createdAt ?? record.created ?? 0;
|
|
18195
18411
|
function pinnedFirst(a, b) {
|
|
18196
18412
|
return Number(Boolean(b.pinned)) - Number(Boolean(a.pinned));
|
|
@@ -18243,6 +18459,7 @@ function buildMyContentItemsFromUserData(records, currentServer = "", spaceNameB
|
|
|
18243
18459
|
originalName: typeof record.originalName === "string" && record.originalName.trim().length > 0 ? record.originalName : void 0,
|
|
18244
18460
|
contentKey,
|
|
18245
18461
|
...record.type === "dialog" ? { status: dialogSummaryStatus(record.status), unreadAt: dialogSummaryUnreadAt(record.unreadAt) } : {},
|
|
18462
|
+
...contentType === "dialog" && typeof record.userId === "string" && record.userId.trim() && contentKey.startsWith(`dialog-${record.userId.trim()}-`) && contentKey.length > `dialog-${record.userId.trim()}-`.length ? { userId: record.userId.trim(), dialogId: contentKey.slice(`dialog-${record.userId.trim()}-`.length) } : {},
|
|
18246
18463
|
pinned: Boolean(record.pinned),
|
|
18247
18464
|
createdAt: record.createdAt ?? record.created ?? 0,
|
|
18248
18465
|
updatedAt: timestamp,
|
|
@@ -18251,8 +18468,10 @@ function buildMyContentItemsFromUserData(records, currentServer = "", spaceNameB
|
|
|
18251
18468
|
spaceId,
|
|
18252
18469
|
spaceName,
|
|
18253
18470
|
serverOrigin: typeof record.serverOrigin === "string" && record.serverOrigin.trim().length > 0 ? record.serverOrigin : void 0,
|
|
18254
|
-
cybots: record.cybots,
|
|
18255
|
-
primaryAgentKey: record.primaryAgentKey || record.primaryCybotKey || record.runtimeBinding?.agentKey || (Array.isArray(record.cybots) && record.cybots.length > 0 ? record.cybots[0] : void 0)
|
|
18471
|
+
cybots: Array.isArray(record.cybots) ? record.cybots.filter((entry) => typeof entry === "string" && entry.trim().length > 0) : void 0,
|
|
18472
|
+
primaryAgentKey: record.primaryAgentKey || record.primaryCybotKey || record.runtimeBinding?.agentKey || (Array.isArray(record.cybots) && record.cybots.length > 0 ? record.cybots[0] : void 0),
|
|
18473
|
+
parentDialogId: normalizeTrimmedOrUndefined(record.parentDialogId),
|
|
18474
|
+
rootDialogId: normalizeTrimmedOrUndefined(record.rootDialogId)
|
|
18256
18475
|
}
|
|
18257
18476
|
];
|
|
18258
18477
|
});
|
|
@@ -18715,7 +18934,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
18715
18934
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
18716
18935
|
};
|
|
18717
18936
|
await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
|
|
18718
|
-
const { getDocState, applyExternalDocUpdate } = await import("./docStore-
|
|
18937
|
+
const { getDocState, applyExternalDocUpdate } = await import("./docStore-2VAWVLWH.js");
|
|
18719
18938
|
if (getDocState().pageKey === id) {
|
|
18720
18939
|
applyExternalDocUpdate({
|
|
18721
18940
|
slateData: finalSlateData,
|
|
@@ -18740,7 +18959,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
18740
18959
|
// packages/ai/tools/updateUserPreferenceProfileTool.ts
|
|
18741
18960
|
async function dispatchSetSettings(thunkApi, changes) {
|
|
18742
18961
|
const injectedSetSettings = thunkApi?.extra?.setSettings;
|
|
18743
|
-
const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingThunks-
|
|
18962
|
+
const setSettings = typeof injectedSetSettings === "function" ? injectedSetSettings : (await import("./settingThunks-ENOAK2WV.js")).setSettings;
|
|
18744
18963
|
await thunkApi.dispatch(setSettings(changes)).unwrap();
|
|
18745
18964
|
}
|
|
18746
18965
|
var updateUserPreferenceProfileFunctionSchema = {
|
|
@@ -19109,7 +19328,7 @@ async function runZiweiChart(input) {
|
|
|
19109
19328
|
const gender = normalizeGender(input.gender);
|
|
19110
19329
|
const fixLeap = input.fixLeap !== false;
|
|
19111
19330
|
const isLeapMonth = input.isLeapMonth === true;
|
|
19112
|
-
const { astro } = await import("./lib-
|
|
19331
|
+
const { astro } = await import("./lib-OT5OTXRU.js");
|
|
19113
19332
|
const rawChart = calendarType === "lunar" ? astro.byLunar(dateStr, timeIndex, gender, isLeapMonth, fixLeap, language) : astro.bySolar(dateStr, timeIndex, gender, fixLeap, language);
|
|
19114
19333
|
const palaces = rawChart.palaces.map((palace) => ({
|
|
19115
19334
|
index: palace.index,
|
|
@@ -19332,6 +19551,16 @@ async function toolQueryFunc(args) {
|
|
|
19332
19551
|
return { rawData, displayData };
|
|
19333
19552
|
}
|
|
19334
19553
|
var baseToolDefinitions = [
|
|
19554
|
+
{
|
|
19555
|
+
id: "secretRequest",
|
|
19556
|
+
schema: secretRequestFunctionSchema,
|
|
19557
|
+
executor: secretRequestFunc,
|
|
19558
|
+
description: {
|
|
19559
|
+
name: "secret-request",
|
|
19560
|
+
description: "\u5411\u7528\u6237\u8BF7\u6C42\u5177\u540D\u51ED\u636E\uFF0C\u5BBF\u4E3B\u9762\u677F\u8F93\u5165\u540E\u5199\u5165\u672C\u673A secret store\uFF1B\u503C\u4E0D\u8FDB\u5BF9\u8BDD\u3002",
|
|
19561
|
+
category: "interaction"
|
|
19562
|
+
}
|
|
19563
|
+
},
|
|
19335
19564
|
{
|
|
19336
19565
|
id: "uiAskChoice",
|
|
19337
19566
|
schema: uiAskChoiceFunctionSchema,
|
|
@@ -21124,6 +21353,7 @@ export {
|
|
|
21124
21353
|
deleteMemoryFunctionSchema,
|
|
21125
21354
|
queryMemoryFunctionSchema,
|
|
21126
21355
|
normalizeContinueDialogId,
|
|
21356
|
+
resolveRunContextFacts,
|
|
21127
21357
|
resolveStartAgentRunCwd,
|
|
21128
21358
|
isDockerRuntimeKey,
|
|
21129
21359
|
resolveCliLocalRuntimeKeyCapability,
|