@qwen-code/qwen-code 0.22.2-preview.1 → 0.22.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/computer-use/SKILL.md +3 -3
- package/bundled/goal-draft/SKILL.md +109 -0
- package/bundled/qc-helper/docs/configuration/settings.md +37 -36
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
- package/bundled/qc-helper/docs/features/code-review.md +3 -3
- package/bundled/qc-helper/docs/features/commands.md +2 -1
- package/bundled/qc-helper/docs/features/computer-use.md +2 -2
- package/bundled/qc-helper/docs/features/goals.md +58 -0
- package/bundled/qc-helper/docs/features/headless.md +13 -11
- package/bundled/qc-helper/docs/features/status-line.md +3 -3
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +1 -1
- package/bundled/review/SKILL.md +81 -31
- package/bundled/review/references/persistence.md +7 -3
- package/bundled/review/references/posting.md +10 -4
- package/chunks/MaxSizedBox-X42SXBJH.js +110 -0
- package/chunks/{StandaloneSessionPicker-5D2L22SF.js → StandaloneSessionPicker-2FJAOLGG.js} +81 -83
- package/chunks/{acpAgent-4DCKLA32.js → acpAgent-2ZMIJAFV.js} +1153 -357
- package/chunks/{agent-B4AFZL6H.js → agent-X5WX3L2I.js} +44 -46
- package/chunks/agent-headless-IZM25LJA.js +85 -0
- package/chunks/{anthropicContentGenerator-U76GTVB6.js → anthropicContentGenerator-YVTB6QX7.js} +46 -50
- package/chunks/{artifact-tool-XDJCZZCF.js → artifact-tool-XSMPHZBT.js} +11 -3
- package/chunks/{askUserQuestion-ZXXERLEV.js → askUserQuestion-4SWJY65V.js} +2 -2
- package/chunks/bridge-ME6QXZNA.js +119 -0
- package/chunks/{channel-management-service-HXXS3HOZ.js → channel-management-service-HQ6KDS7C.js} +6 -6
- package/chunks/channel-settings-store-PEOI7XCG.js +120 -0
- package/chunks/{channel-worker-group-EVDC2P4K.js → channel-worker-group-6NA6BBZV.js} +8 -7
- package/chunks/{channel-worker-manager-IJJZHGEI.js → channel-worker-manager-NEZ2J6RK.js} +10 -8
- package/chunks/{channel-worker-supervisor-YSKB5GVB.js → channel-worker-supervisor-FKU7DIHJ.js} +6 -5
- package/chunks/{chunk-7QGEJI7M.js → chunk-23RFD54N.js} +1 -1
- package/chunks/{chunk-JLU3FPQR.js → chunk-2HYKTO7V.js} +5 -5
- package/chunks/chunk-2LNNVAUV.js +1584 -0
- package/chunks/{chunk-FJAITR4L.js → chunk-2OBKDPZZ.js} +2 -2
- package/chunks/{chunk-JSY43GMI.js → chunk-2OUD5T67.js} +185 -174
- package/chunks/{chunk-LJP2BBMK.js → chunk-2SXSLSQE.js} +4 -4
- package/chunks/chunk-2TNL5KPM.js +49 -0
- package/chunks/{chunk-XMSMTU6H.js → chunk-2YOHKHYR.js} +4 -4
- package/chunks/{chunk-MCKJTBZN.js → chunk-36GSQ3MM.js} +2 -2
- package/chunks/chunk-36LGBEM6.js +130 -0
- package/chunks/{chunk-ZWKGZB2K.js → chunk-3JXM2CVW.js} +3 -3
- package/chunks/{chunk-X3XGCJ32.js → chunk-3SZC4VP4.js} +28 -111
- package/chunks/{chunk-ILPXSKGQ.js → chunk-3WK3QDNV.js} +2 -2
- package/chunks/{chunk-IKN3IUJP.js → chunk-3XKLXHGK.js} +17 -9
- package/chunks/{chunk-ZLTEQYNC.js → chunk-42IDLQWS.js} +26 -20
- package/chunks/chunk-4CMJKUND.js +95 -0
- package/chunks/{chunk-77TOMRBG.js → chunk-4K7KNVWH.js} +3 -3
- package/chunks/{chunk-SQPOJ4ZI.js → chunk-4NDLQAY2.js} +27 -270
- package/chunks/{chunk-V3GINY6K.js → chunk-4QHPPXK2.js} +16 -8
- package/chunks/{chunk-VBF4KZRQ.js → chunk-4TT3IVGA.js} +1 -1
- package/chunks/{chunk-IOGKXPL3.js → chunk-4VPCTGH6.js} +6 -6
- package/chunks/chunk-4VQBQLIZ.js +293 -0
- package/chunks/{chunk-UCSV2IZW.js → chunk-62GQFYID.js} +3 -3
- package/chunks/{chunk-SLEWBQWM.js → chunk-6DIGWMGT.js} +2 -2
- package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
- package/chunks/{chunk-PVBT5QPD.js → chunk-6PJOTWAN.js} +1 -1
- package/chunks/{chunk-WZ3QKPMQ.js → chunk-6X7EU5TI.js} +19 -31
- package/chunks/{chunk-KQYW2GB5.js → chunk-6ZPDLGHN.js} +6 -6
- package/chunks/{chunk-AKQA3WCH.js → chunk-734C6JGI.js} +723 -3399
- package/chunks/{chunk-F7M6ZFGU.js → chunk-73RM4POK.js} +8 -8
- package/chunks/{chunk-ELY4QVIB.js → chunk-7EQQR46F.js} +1 -1
- package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
- package/chunks/chunk-7J6OTNGO.js +424 -0
- package/chunks/{chunk-LWLEPXKK.js → chunk-7LOELM2I.js} +19 -2
- package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
- package/chunks/{chunk-AWFZDYSD.js → chunk-7T52W4SW.js} +1 -1
- package/chunks/{chunk-3JKUX4PB.js → chunk-7VMIMAVB.js} +9 -9
- package/chunks/{chunk-2MHGD7EE.js → chunk-A3LWD5MK.js} +1 -1
- package/chunks/{chunk-E4I5MVBR.js → chunk-ABS25QER.js} +1 -1
- package/chunks/{chunk-TDQBVEPK.js → chunk-AIAOIFY4.js} +10 -8
- package/chunks/{chunk-NEZZHGEI.js → chunk-AYFA7MZV.js} +6 -6
- package/chunks/{chunk-FVDQ5E67.js → chunk-B466ZSHZ.js} +3 -3
- package/chunks/{chunk-6US7BF3G.js → chunk-B5PHIJGI.js} +183 -5
- package/chunks/{chunk-4TPAG3O7.js → chunk-BFPESSTR.js} +1 -1
- package/chunks/{chunk-WBT3STGU.js → chunk-BKWNKLZB.js} +20 -20
- package/chunks/{chunk-T45CL2NT.js → chunk-BOWFGCEU.js} +3 -3
- package/chunks/{chunk-IPQA4SR5.js → chunk-BWORX6FA.js} +1 -1
- package/chunks/{chunk-BKDAF7ES.js → chunk-BXDAPVQU.js} +2 -2
- package/chunks/{chunk-ZEADBZLO.js → chunk-C2X7KY45.js} +3 -3
- package/chunks/{chunk-PTQF7WRA.js → chunk-C3PEFRKD.js} +6 -6
- package/chunks/{chunk-7OBH4AM2.js → chunk-CAJTKR6W.js} +5 -5
- package/chunks/{chunk-2FN2HNTI.js → chunk-CFJY4DGX.js} +2 -2
- package/chunks/{chunk-SUE2ZMUH.js → chunk-CIZCL2MW.js} +49 -31
- package/chunks/{chunk-W2WRNJKX.js → chunk-CLWO3B77.js} +6 -6
- package/chunks/{chunk-U45D46O5.js → chunk-CMHFCLBU.js} +1 -1
- package/chunks/{chunk-LRKMQPMD.js → chunk-CQH5KTKC.js} +1 -1
- package/chunks/{chunk-JECO75XD.js → chunk-D5LUXLUH.js} +2 -2
- package/chunks/chunk-DJBQCO2E.js +842 -0
- package/chunks/{chunk-BQBUZDDH.js → chunk-DJECZIJX.js} +42 -42
- package/chunks/{chunk-GTUZ3R6I.js → chunk-DJEZ55D4.js} +351 -113
- package/chunks/{chunk-HPECDZ6X.js → chunk-DJPASAUV.js} +3866 -1077
- package/chunks/{chunk-VYWCFWI5.js → chunk-DMLVSW7L.js} +542 -654
- package/chunks/{chunk-EB4VDXNI.js → chunk-DYXFD5RO.js} +182 -3
- package/chunks/{chunk-ZKAZP2ZG.js → chunk-EB6QRGHM.js} +3 -3
- package/chunks/{chunk-UWICO5KN.js → chunk-EFWRMA2I.js} +3 -3
- package/chunks/{chunk-3UZCLCXR.js → chunk-EKSCLBBF.js} +3 -3
- package/chunks/{chunk-ALTQLFEG.js → chunk-EQSBPBZ3.js} +5 -194
- package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
- package/chunks/{chunk-4K44OMLI.js → chunk-FROAFEFB.js} +3 -3
- package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
- package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
- package/chunks/{chunk-ZJG323IA.js → chunk-G6FECKTJ.js} +7 -5
- package/chunks/{chunk-TMGAS5TO.js → chunk-GBJBJ4HX.js} +26 -4
- package/chunks/{chunk-UCQOSV6A.js → chunk-GPGU4S2N.js} +3 -3
- package/chunks/{chunk-BHTJAO36.js → chunk-GVIVASYK.js} +7 -7
- package/chunks/chunk-H72BQNM3.js +645 -0
- package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
- package/chunks/{chunk-FCSWZAS3.js → chunk-HP5LR5HL.js} +5 -5
- package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
- package/chunks/{chunk-OI2DR6QB.js → chunk-I6LYRJPB.js} +3 -3
- package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
- package/chunks/{chunk-PAJGKZAA.js → chunk-ISKH4QX3.js} +14 -12
- package/chunks/{chunk-AYVIGUUK.js → chunk-JB4JIVTJ.js} +1 -1
- package/chunks/{chunk-FN5C6C7G.js → chunk-JHYH6PYQ.js} +192 -478
- package/chunks/{chunk-T6OODF2U.js → chunk-JWALNCLT.js} +1 -1
- package/chunks/{chunk-SKNVVYIJ.js → chunk-K5KXUXWC.js} +3 -3
- package/chunks/{chunk-XUX6O2ZT.js → chunk-KID24ZFN.js} +4 -1
- package/chunks/{chunk-I6DY753S.js → chunk-KJO2LBUK.js} +944 -18
- package/chunks/{chunk-5T4LWWNX.js → chunk-KYWTPLBJ.js} +18 -21
- package/chunks/{chunk-CZFQ62RM.js → chunk-LHBUKJG2.js} +4 -4
- package/chunks/{chunk-TOF4UZHH.js → chunk-LUEHOUHM.js} +3 -3
- package/chunks/{chunk-2YDYDDE2.js → chunk-M3QRM3DE.js} +3 -3
- package/chunks/{chunk-GNMJNDZE.js → chunk-M6FOJXW3.js} +1 -1
- package/chunks/{chunk-ZGWDHSUM.js → chunk-MF7HCQWZ.js} +4 -4
- package/chunks/{chunk-66GIFJ63.js → chunk-MK2GIB46.js} +1 -1
- package/chunks/{chunk-TFV4RXPU.js → chunk-MO3FC2WT.js} +1 -1
- package/chunks/{chunk-TR7G7XFQ.js → chunk-MPNBVAEU.js} +5 -5
- package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
- package/chunks/{chunk-3WBMPR3S.js → chunk-MSBO7X2W.js} +1 -1
- package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
- package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
- package/chunks/{chunk-27ONXAFY.js → chunk-NIFYWDYN.js} +1 -1
- package/chunks/{chunk-AP7WZONS.js → chunk-NMOD2FXQ.js} +19 -9
- package/chunks/{chunk-IJVDHPKD.js → chunk-NU7RKEZR.js} +2 -2
- package/chunks/{chunk-5URK47RN.js → chunk-NV55WWD6.js} +11595 -10375
- package/chunks/{chunk-HABT2Z7R.js → chunk-OU5APVWO.js} +4 -4
- package/chunks/{chunk-QR4AHMGQ.js → chunk-P2G476QN.js} +13 -13
- package/chunks/{chunk-5SM2AK65.js → chunk-PADPMMYM.js} +5 -5
- package/chunks/{chunk-RRKNX553.js → chunk-PDQGMSZK.js} +1 -1
- package/chunks/{chunk-GTUKW3I6.js → chunk-PPKZ7JOE.js} +1 -1
- package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
- package/chunks/{chunk-XIRDDFRS.js → chunk-PZ66FRIC.js} +2644 -2296
- package/chunks/{chunk-H3HZ4AWW.js → chunk-Q2MSPKIJ.js} +1 -1
- package/chunks/{chunk-WEGXPP5E.js → chunk-QFCDF5PL.js} +1 -1
- package/chunks/{chunk-OF2DPXUS.js → chunk-QYMAKPY5.js} +119 -24
- package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
- package/chunks/chunk-RKFGE7JH.js +93 -0
- package/chunks/{chunk-CPPYZHBN.js → chunk-RU7BK6B3.js} +1 -1
- package/chunks/chunk-SEONHUS3.js +275 -0
- package/chunks/{chunk-DEYPMJPD.js → chunk-SMPR7SPO.js} +1 -1
- package/chunks/chunk-SS4MRMKE.js +3525 -0
- package/chunks/{chunk-BPMVPWBT.js → chunk-SS5SDCD3.js} +6 -6
- package/chunks/{chunk-J3CBIEDS.js → chunk-ST5MDGH3.js} +32 -15
- package/chunks/{chunk-J5352S3S.js → chunk-ST5V3ZOC.js} +3 -3
- package/chunks/{chunk-7CWEZQ6T.js → chunk-STUJ7IMZ.js} +0 -77
- package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
- package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
- package/chunks/{chunk-5CMWFBML.js → chunk-TEBDFQBZ.js} +1 -1
- package/chunks/{chunk-EC5BONC3.js → chunk-TPI7O7HR.js} +1 -1
- package/chunks/{chunk-T2CRBIDJ.js → chunk-TTX2JUE6.js} +1 -1
- package/chunks/{chunk-VOEMVOM4.js → chunk-TVC6HQ2U.js} +2 -2
- package/chunks/{chunk-WXDZZFH3.js → chunk-TZBSGJ6C.js} +6 -6
- package/chunks/chunk-U54AYGEC.js +337 -0
- package/chunks/{chunk-2NNTE2ED.js → chunk-UHQFIS7N.js} +15 -0
- package/chunks/{chunk-76WGY6LW.js → chunk-URE3QBBB.js} +3 -3
- package/chunks/{chunk-KOJ6MHD5.js → chunk-UTLCH2FK.js} +1 -1
- package/chunks/{chunk-7DPKPBOQ.js → chunk-V2NDP3I4.js} +2 -2
- package/chunks/{chunk-FJWICLG7.js → chunk-V4264FEG.js} +9 -9
- package/chunks/{chunk-XR7OIAQF.js → chunk-V5J4J5TP.js} +2 -2
- package/chunks/{chunk-7UJTY5V3.js → chunk-V7EESTJV.js} +1 -1
- package/chunks/{chunk-Z6L3C4VF.js → chunk-VBCPNIQD.js} +39 -39
- package/chunks/{chunk-ATLGYSYH.js → chunk-VGIFXISB.js} +4 -4
- package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
- package/chunks/{chunk-XJS54K4A.js → chunk-VTHREBQM.js} +2 -2
- package/chunks/{chunk-AA7VBRBG.js → chunk-W3JH33JE.js} +8 -8
- package/chunks/{chunk-FPH6TXD3.js → chunk-WAOIHTJS.js} +1 -1
- package/chunks/{chunk-CDUN63IN.js → chunk-WGY3AVGM.js} +3 -3
- package/chunks/{chunk-JLGFGPZJ.js → chunk-WNPDGUJO.js} +22 -3
- package/chunks/{chunk-O3BUXIPM.js → chunk-WXEA74YB.js} +3 -3
- package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
- package/chunks/{chunk-VL4YX3FH.js → chunk-XF63PKEN.js} +1 -1
- package/chunks/{chunk-R7G7GKOX.js → chunk-XHF7WQ6B.js} +3 -3
- package/chunks/{chunk-3FSBMAYD.js → chunk-XQFT3QUF.js} +1 -1
- package/chunks/{chunk-3D6PDLNJ.js → chunk-XSG6G3G6.js} +49 -32
- package/chunks/{chunk-5JCZ3UKB.js → chunk-Y5S7LBOZ.js} +44 -7
- package/chunks/{chunk-OLS3MAXQ.js → chunk-YLSQLSH7.js} +15 -9
- package/chunks/{chunk-2SERYG4T.js → chunk-YTDVNSUQ.js} +1 -1
- package/chunks/{chunk-KPF2K55D.js → chunk-ZEYFMJQA.js} +39 -8
- package/chunks/{chunk-OT4YKUUV.js → chunk-ZU4UDIWX.js} +2 -2
- package/chunks/chunk-ZWJDJ6RU.js +2597 -0
- package/chunks/{chunk-R3T33BG5.js → chunk-ZYMLPEZQ.js} +3 -3
- package/chunks/{chunk-DID6IRGC.js → chunk-ZZMSC3RG.js} +56 -39
- package/chunks/{chunk-L436XFLJ.js → chunk-ZZUKP7HV.js} +1 -1
- package/chunks/config-utils-R6M3TA34.js +113 -0
- package/chunks/contextCommand-ZCAP23J6.js +106 -0
- package/chunks/{core-runtime-CEJRHCRF.js → core-runtime-AXB6SK5D.js} +59 -61
- package/chunks/{create-sub-session-RVHSWVAP.js → create-sub-session-23ITIELI.js} +3 -3
- package/chunks/{create-sub-session-DFZVIG56.js → create-sub-session-4QNE64MR.js} +164 -85
- package/chunks/{cron-create-IJGVR5R2.js → cron-create-KJ4IY6PP.js} +57 -10
- package/chunks/{cron-delete-4N5BI6GL.js → cron-delete-MBLQCAYY.js} +4 -4
- package/chunks/{cron-list-2CATIPUX.js → cron-list-DWH2PQ47.js} +4 -4
- package/chunks/{daemon-NAYK4XXU.js → daemon-3GNHB3M2.js} +523 -8
- package/chunks/{daemon-git-worktree-guard-L6ZUFKF7.js → daemon-git-worktree-guard-IVAJJWYK.js} +56 -58
- package/chunks/daemon-status-provider-K3SJ5C2U.js +117 -0
- package/chunks/daemon-trust-policy-DOR3YG62.js +112 -0
- package/chunks/{daemon-trust-policy-monitor-2G3EKQEU.js → daemon-trust-policy-monitor-KGGROSIV.js} +64 -66
- package/chunks/deferred-core-runtime-WOYLUQQ7.js +114 -0
- package/chunks/{display-image-6KHQNEAE.js → display-image-BE7I6ZB6.js} +5 -5
- package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
- package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
- package/chunks/{dist-6H6RZ5H6.js → dist-6BPYWHVD.js} +89 -65
- package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
- package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
- package/chunks/{dist-FVJZSIO4.js → dist-LVZCXVPF.js} +72 -20
- package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
- package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
- package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
- package/chunks/earlyInputCapture-OHBEVO4K.js +107 -0
- package/chunks/{edit-ZERGX3RV.js → edit-LEQLAGPZ.js} +45 -47
- package/chunks/{en-6MDBWMTG.js → en-YLXBXM4Z.js} +2 -1
- package/chunks/{enter-worktree-UOZ6ZTP7.js → enter-worktree-35QCAAFP.js} +7 -7
- package/chunks/{enterPlanMode-W2RP3P5B.js → enterPlanMode-ONQN3WHE.js} +47 -49
- package/chunks/{environment-ZBJ23YVR.js → environment-UANTR7A4.js} +60 -62
- package/chunks/errors-WAK6KFBC.js +113 -0
- package/chunks/{exit-worktree-G2QATUCV.js → exit-worktree-XQD6D543.js} +7 -7
- package/chunks/exitPlanMode-UEYBG6P5.js +83 -0
- package/chunks/{fast-path-4MWBCEUF.js → fast-path-WUL7UZ6H.js} +7 -7
- package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
- package/chunks/{glob-DKTNG32L.js → glob-Y54QUWDY.js} +44 -46
- package/chunks/{goal-tools-CNVXMSZD.js → goal-tools-PTD3MBA7.js} +10 -8
- package/chunks/{grep-3NLSS32D.js → grep-5GPICQBU.js} +6 -6
- package/chunks/handleAutoUpdate-FP3NWNSG.js +109 -0
- package/chunks/i18n-INIU5X7A.js +124 -0
- package/chunks/{image-gen-63NN2H5N.js → image-gen-J6FDGUZP.js} +8 -10
- package/chunks/initializer-TYODV6GE.js +113 -0
- package/chunks/installationInfo-AAPKYDSZ.js +107 -0
- package/chunks/{keychain-token-storage-3MGFRYGM.js → keychain-token-storage-37XPR34V.js} +2 -2
- package/chunks/list-TUODDN6J.js +116 -0
- package/chunks/{list-agents-EXRSHIDJ.js → list-agents-DI3YFTDT.js} +2 -2
- package/chunks/{gemini-X5GQHQYF.js → llm-NSAVK5V3.js} +117 -114
- package/chunks/{geminiContentGenerator-UDSWXZXL.js → llm-content-generator-AY2QKXHE.js} +29 -29
- package/chunks/loadedSettingsAdapter-KJCLZ3C4.js +110 -0
- package/chunks/{loggingContentGenerator-73C7TKDK.js → loggingContentGenerator-DSFQHXIF.js} +328 -37
- package/chunks/{loop-wakeup-XBPB2BRO.js → loop-wakeup-XJFONSQ7.js} +5 -5
- package/chunks/{ls-WFONAND2.js → ls-3VAT2J7A.js} +4 -4
- package/chunks/{lsp-DUKPDUXN.js → lsp-5W7IRUBH.js} +2 -2
- package/chunks/{managed-npm-update-H2KOLQZU.js → managed-npm-update-TSWENTK5.js} +57 -59
- package/chunks/mcp-MWSAPFOL.js +110 -0
- package/chunks/{monitor-TGCMNJJH.js → monitor-RW4GWJHB.js} +44 -46
- package/chunks/nonInteractiveCli-JXKL343Q.js +185 -0
- package/chunks/{notebook-edit-YEUNZYDX.js → notebook-edit-CQNYS5OR.js} +45 -47
- package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
- package/chunks/{openaiContentGenerator-J7LD4VSL.js → openaiContentGenerator-J6QIF7EX.js} +26 -28
- package/chunks/pidfile-QOIQZFT2.js +111 -0
- package/chunks/process-registry-OAEG6WGC.js +662 -0
- package/chunks/{processUtils-ZHFC7CSL.js → processUtils-GPHNANKZ.js} +2 -2
- package/chunks/prompt-terminal-ledger-FOMFTYOM.js +105 -0
- package/chunks/{qwenContentGenerator-YEWWK3JQ.js → qwenContentGenerator-WWDXPYQI.js} +49 -51
- package/chunks/{qwenOAuth2-JIYAWXTW.js → qwenOAuth2-OF5WRBQT.js} +7 -9
- package/chunks/{read-file-ZQI3WPVK.js → read-file-FQUQHC6N.js} +13 -13
- package/chunks/{read-mcp-resource-7A7NFSFL.js → read-mcp-resource-XD257PGJ.js} +2 -2
- package/chunks/{record-artifact-CPJ4IJSD.js → record-artifact-VW23GS4F.js} +4 -4
- package/chunks/{report-findings-VFM5DENC.js → report-findings-AO5VYFLR.js} +9 -5
- package/chunks/{request-shutdown-6IW46GD7.js → request-shutdown-BCLA3JV2.js} +7 -7
- package/chunks/resumeHistoryUtils-NSGF3UCB.js +118 -0
- package/chunks/ripGrep-4CAT6SKV.js +39 -0
- package/chunks/{run-qwen-serve-WHWU7NZ6.js → run-qwen-serve-5X6IDZER.js} +371 -357
- package/chunks/{runtime-E7BSPWQP.js → runtime-HK27GMPF.js} +69 -71
- package/chunks/scheduled-tasks-MN2ZZ5P6.js +127 -0
- package/chunks/{scheduler-TJPATFOM.js → scheduler-WD4MHMO5.js} +58 -60
- package/chunks/{sdk-exporters-http-XXSKBD2C.js → sdk-exporters-http-TTU2CHBU.js} +2 -2
- package/chunks/{sdk-impl-VPNBLV7I.js → sdk-impl-UUMVYMAL.js} +11 -5
- package/chunks/{send-message-OXZK6USO.js → send-message-AJ4OCUBV.js} +25 -9
- package/chunks/serve-2XCHPPGG.js +118 -0
- package/chunks/{server-AXCN7QBJ.js → server-GO2N5DH7.js} +6080 -4964
- package/chunks/{session-HO4US3AG.js → session-IFNHTUBT.js} +112 -112
- package/chunks/session-pr-refresh-I3UBWMVP.js +364 -0
- package/chunks/{settings-B2PFJJN4.js → settings-L6N54CU6.js} +63 -65
- package/chunks/{shell-7XMSANI3.js → shell-4Y5LLW6N.js} +44 -46
- package/chunks/{skill-NL3VH562.js → skill-YOWTRAKQ.js} +68 -24
- package/chunks/skill-settings-ZL4JY5UE.js +118 -0
- package/chunks/spawnChannel-ZST6XJVJ.js +112 -0
- package/chunks/standalone-update-THVU3OKY.js +118 -0
- package/chunks/{startInteractiveUI-G2XKSCQ7.js → startInteractiveUI-XDFSHBZD.js} +3076 -2475
- package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
- package/chunks/{syntheticOutput-5AJ444QT.js → syntheticOutput-ML43GEFN.js} +3 -3
- package/chunks/{task-create-TY7P6UHG.js → task-create-QN4LYRSE.js} +11 -11
- package/chunks/{task-list-BELMPA75.js → task-list-JPLGK45U.js} +5 -5
- package/chunks/{task-stop-U3S3KZG2.js → task-stop-CXEH5L2D.js} +2 -2
- package/chunks/{task-update-O4IGDPCK.js → task-update-IWEOJFV2.js} +11 -11
- package/chunks/{team-create-IYBUOORE.js → team-create-OOPXCDBA.js} +44 -46
- package/chunks/{team-delete-YWFXX77L.js → team-delete-RZVVSGCY.js} +5 -5
- package/chunks/{team-plan-approval-YKU57LBM.js → team-plan-approval-DSX5EWAT.js} +44 -46
- package/chunks/terminal-image-renderer-KS25G33E.js +114 -0
- package/chunks/theme-manager-YMZNG45F.js +102 -0
- package/chunks/{todoWrite-435EO2CS.js → todoWrite-WDJNQEMW.js} +43 -25
- package/chunks/{tool-search-4Q3KASIQ.js → tool-search-J5Q6U7DN.js} +22 -22
- package/chunks/total-session-admission-PVN64JVV.js +114 -0
- package/chunks/trustedFolders-FATSC4YI.js +122 -0
- package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
- package/chunks/{update-relaunch-4DC2KKFS.js → update-relaunch-SIKHLHVR.js} +6 -6
- package/chunks/updateCheck-D3YG2WCD.js +118 -0
- package/chunks/useAutoAcceptIndicator-ILINOSAS.js +120 -0
- package/chunks/{validateNonInterActiveAuth-YAE4YPO3.js → validateNonInterActiveAuth-JUDQP6V4.js} +105 -105
- package/chunks/{version-QFP7OGWX.js → version-C63GDDWN.js} +1 -1
- package/chunks/{web-fetch-6T23IK6Q.js → web-fetch-FOQZMNSC.js} +16 -18
- package/chunks/{web-search-WBWTCZK2.js → web-search-PUJTBFUC.js} +9 -11
- package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
- package/chunks/{workflow-FMAA3D4R.js → workflow-Y5IPINVH.js} +128 -94
- package/chunks/workspace-providers-status-IJ4VHFMB.js +114 -0
- package/chunks/{workspace-registration-store-CMMX7EPX.js → workspace-registration-store-SMJWI2AI.js} +1 -1
- package/chunks/workspace-registry-BTGZIMPK.js +123 -0
- package/chunks/workspace-service-SIN67ITC.js +126 -0
- package/chunks/workspace-skills-status-F3RKCUIX.js +113 -0
- package/chunks/{workspace-trust-reconciler-PJDQUTJL.js → workspace-trust-reconciler-PLIDLJZX.js} +72 -72
- package/chunks/write-file-PAIGB33C.js +88 -0
- package/chunks/{zh-TW-MV4FWFB6.js → zh-TW-RPTMRTHG.js} +2 -1
- package/chunks/{zh-X3WGU6SI.js → zh-UNY63FR3.js} +2 -1
- package/chunks/{zoom-image-WVYVFRXF.js → zoom-image-LYQD7BQA.js} +13 -13
- package/cli.js +16 -16
- package/locales/en.js +2 -0
- package/locales/zh-TW.js +2 -0
- package/locales/zh.js +2 -0
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-d-8xa8uz.js → abnfDiagram-VCTEODGH-TRCMSA_6.js} +1 -1
- package/web-shell/assets/{arc-BhB7CrGK.js → arc-D9Uls5b3.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-BDCd_IcJ.js → architectureDiagram-5GKGNRK7-Bwb8jPXg.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-C-AHu6mi.js → blockDiagram-NRAW4CY4-DHj71TSX.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-CFjQt0vl.js → c4Diagram-UCG6FXSJ-uKBBdbyr.js} +1 -1
- package/web-shell/assets/channel-CXjVLaBa.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DRjwqaDq.js → chunk-2Q5K7J3B-BZd0Phrl.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-eHM9noJE.js → chunk-5VM5RSS4-7KNeNBqN.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-CcSWUYn1.js → chunk-F27PBJKO-BeboS7Fi.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-DNr-RF5S.js → chunk-G27WJ6UU-RV3JONoj.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-rVJHoNF8.js → chunk-JWPE2WC7-Yw9FCFsP.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-B2aX0Gzy.js → chunk-LCL6LL3I-GIMnydDe.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-DVp07n32.js → chunk-POPQ4Y6H-Cfrux7bL.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-C6QB_KUr.js → chunk-SVP7TREG-BlvIN0CO.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-CLVxDNCy.js → chunk-XXDRQBXY-DMs7Rr4t.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-B_aKX3A3.js → cose-bilkent-JH36ORCC-DNGqTNwI.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-BBw2pPUa.js → cynefin-OW5HDTMX-CojMpaoH.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-WWPiBTwk.js → cynefinDiagram-5FMLGOSQ-DF07YXGo.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-CPtIdka-.js → dagre-3AP2YEHR-17-4WtCH.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-Dj5og1Xi.js → diagram-S7CK7UJ4-G3Wuyz9m.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-CC_x70YC.js → diagram-UQ7AKVKN-nyWIKZ8P.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-rXMfsO4n.js → diagram-VSXAHHWV-tKHhmYSC.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-DEmLYQbh.js → diagram-VX7I27RA-CpDf1hYk.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-B0ys6Vxx.js → diagram-Z3DM3KII-Cah2IFXG.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-Bq6y6lKH.js → ebnfDiagram-PWID7BFC-DNaCkgxy.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-l69JeBZ4.js → erDiagram-SSCWMZ5O-CAdRgcf1.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-Cm-EzGY4.js → flowDiagram-A5DVABFB-CMUJAShL.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BRS9ZOp7.js → ganttDiagram-EL5Y4UJY-o-_MUNey.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DAMRKgLk.js → gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js} +1 -1
- package/web-shell/assets/{index-Bncx8E8M.js → index-BK_NKxiJ.js} +1 -1
- package/web-shell/assets/index-Ci-z4zWY.js +1913 -0
- package/web-shell/assets/index-LDlXZRHA.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-DasffaZp.js → infoDiagram-RXCK75RN-qJPeZbGP.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CmRUt3C-.js → ishikawaDiagram-5VMMS53U-7Om4vNo1.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-DzhE_c1Z.js → journeyDiagram-EYS64GPL-BNtXqmBW.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-BH5b6nn3.js → kanban-definition-3QL26DDD-COgFec8P.js} +1 -1
- package/web-shell/assets/{layout-BxoLK-LY.js → layout-B9n81PC9.js} +1 -1
- package/web-shell/assets/{linear-CqDPvVI7.js → linear-Bb6nXZQq.js} +1 -1
- package/web-shell/assets/{mermaid.core-DBoN4plo.js → mermaid.core-Cgrm3JVT.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DJJtXPEM.js → mindmap-definition-FBJOCRG2-TKwLTjnG.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-DmgPXP5l.js → pegDiagram-XKGWAZYB-BJPuvlpi.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-1ezjzcI5.js → pieDiagram-E7YTZNPT-D01VkNsW.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-ChKARz3k.js → quadrantDiagram-AXDQQJYC-C4hHsiv-.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-k7mNB_QT.js → railroadDiagram-O6MQD6OU-CuEO4xK2.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-B0XFsii0.js → requirementDiagram-EFPCY7ZU-D5J_vIo5.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-repJ2Ukk.js → sankeyDiagram-P5KCCOFB-DQKY223V.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-D0gUSKGu.js → sequenceDiagram-WJ2MYXX4-D27YV_cm.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-CE463F74.js → sizeCapture-X5ZJPWSS-TJg8UcwV.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-003zYtJa.js → stateDiagram-HBIQ2CUA-CmnPzUIx.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-DBj8MFpu.js → swimlanes-XN3QIQJK-ByeP3_Nu.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-D2aCh4a9.js → timeline-definition-24CTP7MA-BsFA5juR.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-BHMfWBpl.js → vennDiagram-4TSXK5OY-DREP2ECo.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-RdHAj66j.js → wardleyDiagram-VM6X3IG4-iyd9lKi2.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BgJWOvq0.js → xychartDiagram-S5SC5T6Z-CVr1_j9q.js} +1 -1
- package/web-shell/index.html +3 -3
- package/chunks/MaxSizedBox-BFVLZP2E.js +0 -112
- package/chunks/agent-headless-UCBCS4V4.js +0 -87
- package/chunks/bridge-FRNYLYY7.js +0 -119
- package/chunks/channel-settings-store-IV4KDL7N.js +0 -117
- package/chunks/chunk-I6VVOZDK.js +0 -202
- package/chunks/chunk-JS73NNWF.js +0 -30
- package/chunks/chunk-K2OJUPOE.js +0 -78
- package/chunks/chunk-P3QQPMQA.js +0 -19
- package/chunks/chunk-SDVF6A42.js +0 -945
- package/chunks/chunk-VGHZT6JR.js +0 -51
- package/chunks/config-utils-PMX4QZ5Y.js +0 -113
- package/chunks/contextCommand-NZRLVAFC.js +0 -108
- package/chunks/daemon-status-provider-FTTYZEKN.js +0 -118
- package/chunks/daemon-trust-policy-WMGFPA3Z.js +0 -114
- package/chunks/deferred-core-runtime-BUFEFYNA.js +0 -116
- package/chunks/earlyInputCapture-ROPLMXA7.js +0 -109
- package/chunks/errors-U5KNAADB.js +0 -115
- package/chunks/exitPlanMode-VFJ5R5DD.js +0 -85
- package/chunks/handleAutoUpdate-W4BUYFT7.js +0 -111
- package/chunks/i18n-KX7FEKJJ.js +0 -126
- package/chunks/initializer-SNVVLS7Y.js +0 -115
- package/chunks/installationInfo-D4XGQNHJ.js +0 -109
- package/chunks/list-WYECMLXZ.js +0 -118
- package/chunks/loadedSettingsAdapter-5WZBXBCR.js +0 -112
- package/chunks/mcp-CBWAROY3.js +0 -112
- package/chunks/nonInteractiveCli-O232UUV7.js +0 -185
- package/chunks/pidfile-MSPQ255Y.js +0 -113
- package/chunks/process-registry-PMJOA5CO.js +0 -172
- package/chunks/prompt-terminal-ledger-YPGMNDXT.js +0 -107
- package/chunks/resumeHistoryUtils-35D4KAVT.js +0 -120
- package/chunks/ripGrep-46N4FLOS.js +0 -39
- package/chunks/serve-WQ54UIYG.js +0 -120
- package/chunks/skill-settings-SKMN5YXC.js +0 -120
- package/chunks/spawnChannel-NE43EEO3.js +0 -113
- package/chunks/standalone-update-XOCWGXAH.js +0 -120
- package/chunks/terminal-image-renderer-NREKYTAD.js +0 -116
- package/chunks/theme-manager-IJS6OICX.js +0 -104
- package/chunks/total-session-admission-L5RPEFZ2.js +0 -114
- package/chunks/trustedFolders-OILZCHRD.js +0 -124
- package/chunks/updateCheck-AK4COHNK.js +0 -120
- package/chunks/useAutoAcceptIndicator-O2N2Q6KG.js +0 -122
- package/chunks/workspace-providers-status-OCFEWIPQ.js +0 -116
- package/chunks/workspace-registry-WJLZPRTG.js +0 -123
- package/chunks/workspace-service-5ZOBMMIB.js +0 -131
- package/chunks/workspace-skills-status-B6NJZD4B.js +0 -115
- package/chunks/write-file-B2RNX6SU.js +0 -90
- package/web-shell/assets/channel-CU-Zyv0r.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-C0J2_LKs.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-C0J2_LKs.js +0 -1
- package/web-shell/assets/index-C-XlQn24.css +0 -5
- package/web-shell/assets/index-gdvMN4J1.js +0 -1860
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-2uACDdJN.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C4JJkavU.js +0 -8
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
import {
|
|
4
4
|
CRON_TASKS_DISPLAY_PATH,
|
|
5
5
|
removeCronTasks
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-D5LUXLUH.js";
|
|
7
7
|
import "./chunk-VGC4I5JJ.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-23RFD54N.js";
|
|
9
9
|
import {
|
|
10
10
|
BaseDeclarativeTool,
|
|
11
11
|
BaseToolInvocation,
|
|
12
12
|
ToolDisplayNames,
|
|
13
13
|
ToolNames
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-UTLCH2FK.js";
|
|
15
15
|
import {
|
|
16
16
|
getErrorMessage
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-UHQFIS7N.js";
|
|
18
18
|
import "./chunk-TBWQLLFO.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
@@ -7,16 +7,16 @@ import {
|
|
|
7
7
|
CRON_TASKS_DISPLAY_PATH,
|
|
8
8
|
readCronTasks,
|
|
9
9
|
taskHasLegacyCondition
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-D5LUXLUH.js";
|
|
11
11
|
import "./chunk-VGC4I5JJ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-23RFD54N.js";
|
|
13
13
|
import {
|
|
14
14
|
BaseDeclarativeTool,
|
|
15
15
|
BaseToolInvocation,
|
|
16
16
|
ToolDisplayNames,
|
|
17
17
|
ToolNames
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-UTLCH2FK.js";
|
|
19
|
+
import "./chunk-UHQFIS7N.js";
|
|
20
20
|
import "./chunk-TBWQLLFO.js";
|
|
21
21
|
import {
|
|
22
22
|
init_esbuild_shims
|
|
@@ -181,7 +181,7 @@ function isDaemonSessionPrInfo(value) {
|
|
|
181
181
|
const v = value;
|
|
182
182
|
return typeof v["number"] === "number" && Number.isInteger(v["number"]) && v["number"] > 0 && typeof v["url"] === "string" && v["url"].length <= MAX_SESSION_PR_URL_LENGTH && /^https?:\/\//i.test(v["url"]) && // The daemon interpolates the url into a stderr audit line — control
|
|
183
183
|
// characters would forge log lines downstream of this gate.
|
|
184
|
-
!hasControlCharacter(v["url"]);
|
|
184
|
+
!hasControlCharacter(v["url"]) && (v["state"] === void 0 || v["state"] === "open" || v["state"] === "merged" || v["state"] === "closed");
|
|
185
185
|
}
|
|
186
186
|
__name(isDaemonSessionPrInfo, "isDaemonSessionPrInfo");
|
|
187
187
|
|
|
@@ -624,6 +624,232 @@ function isDaemonContentHash(value) {
|
|
|
624
624
|
__name(isDaemonContentHash, "isDaemonContentHash");
|
|
625
625
|
var DAEMON_APPROVAL_MODES = PERMISSION_MODES;
|
|
626
626
|
|
|
627
|
+
// packages/sdk-typescript/src/daemon/standalone-sessions.ts
|
|
628
|
+
init_esbuild_shims();
|
|
629
|
+
var STANDALONE_SESSIONS_CAPABILITY = "standalone_sessions_v1";
|
|
630
|
+
var DaemonStandaloneProtocolError = class extends Error {
|
|
631
|
+
constructor(route, detail) {
|
|
632
|
+
super(`${route}: malformed standalone-session response (${detail})`);
|
|
633
|
+
this.route = route;
|
|
634
|
+
this.name = "DaemonStandaloneProtocolError";
|
|
635
|
+
}
|
|
636
|
+
static {
|
|
637
|
+
__name(this, "DaemonStandaloneProtocolError");
|
|
638
|
+
}
|
|
639
|
+
};
|
|
640
|
+
var DaemonStandaloneCreationOutcomeUnknownError = class extends Error {
|
|
641
|
+
constructor(sessionId, recovery, originalError) {
|
|
642
|
+
super(
|
|
643
|
+
`Standalone session creation outcome is unknown for ${sessionId}; inspect recovery before retrying.`
|
|
644
|
+
);
|
|
645
|
+
this.sessionId = sessionId;
|
|
646
|
+
this.recovery = recovery;
|
|
647
|
+
this.originalError = originalError;
|
|
648
|
+
this.name = "DaemonStandaloneCreationOutcomeUnknownError";
|
|
649
|
+
}
|
|
650
|
+
static {
|
|
651
|
+
__name(this, "DaemonStandaloneCreationOutcomeUnknownError");
|
|
652
|
+
}
|
|
653
|
+
};
|
|
654
|
+
function asRecord(value, route, field = "response") {
|
|
655
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
656
|
+
throw new DaemonStandaloneProtocolError(route, `expected ${field} object`);
|
|
657
|
+
}
|
|
658
|
+
return value;
|
|
659
|
+
}
|
|
660
|
+
__name(asRecord, "asRecord");
|
|
661
|
+
function requireString(value, field, route, allowEmpty = false) {
|
|
662
|
+
const result = value[field];
|
|
663
|
+
if (typeof result !== "string" || !allowEmpty && result.length === 0) {
|
|
664
|
+
throw new DaemonStandaloneProtocolError(route, `expected ${field} string`);
|
|
665
|
+
}
|
|
666
|
+
return result;
|
|
667
|
+
}
|
|
668
|
+
__name(requireString, "requireString");
|
|
669
|
+
function requireStringArray(value, field, route) {
|
|
670
|
+
const result = value[field];
|
|
671
|
+
if (!Array.isArray(result) || !result.every((item) => typeof item === "string")) {
|
|
672
|
+
throw new DaemonStandaloneProtocolError(route, `expected ${field}[]`);
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
__name(requireStringArray, "requireStringArray");
|
|
676
|
+
function requireSessionId(value, route, expected) {
|
|
677
|
+
const sessionId = requireString(value, "sessionId", route);
|
|
678
|
+
if (expected !== void 0 && sessionId !== expected) {
|
|
679
|
+
throw new DaemonStandaloneProtocolError(
|
|
680
|
+
route,
|
|
681
|
+
`expected sessionId ${expected}, received ${sessionId}`
|
|
682
|
+
);
|
|
683
|
+
}
|
|
684
|
+
return sessionId;
|
|
685
|
+
}
|
|
686
|
+
__name(requireSessionId, "requireSessionId");
|
|
687
|
+
function validateContext(value, route) {
|
|
688
|
+
if (asRecord(value["context"], route, "context")["kind"] !== "standalone") {
|
|
689
|
+
throw new DaemonStandaloneProtocolError(
|
|
690
|
+
route,
|
|
691
|
+
"expected standalone context"
|
|
692
|
+
);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
__name(validateContext, "validateContext");
|
|
696
|
+
function validateWorkingDirectory(value, route) {
|
|
697
|
+
const directory = asRecord(value, route, "workingDirectory");
|
|
698
|
+
if (directory["state"] !== "ready" && directory["state"] !== "recreated") {
|
|
699
|
+
throw new DaemonStandaloneProtocolError(
|
|
700
|
+
route,
|
|
701
|
+
"invalid workingDirectory.state"
|
|
702
|
+
);
|
|
703
|
+
}
|
|
704
|
+
if (directory["warnings"] !== void 0) {
|
|
705
|
+
requireStringArray(directory, "warnings", route);
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
__name(validateWorkingDirectory, "validateWorkingDirectory");
|
|
709
|
+
function validateStandaloneFields(value, route) {
|
|
710
|
+
if (value["sourceType"] !== "standalone") {
|
|
711
|
+
throw new DaemonStandaloneProtocolError(
|
|
712
|
+
route,
|
|
713
|
+
"expected standalone sourceType"
|
|
714
|
+
);
|
|
715
|
+
}
|
|
716
|
+
validateContext(value, route);
|
|
717
|
+
requireString(value, "projectlessOutputDirectory", route);
|
|
718
|
+
validateWorkingDirectory(value["workingDirectory"], route);
|
|
719
|
+
}
|
|
720
|
+
__name(validateStandaloneFields, "validateStandaloneFields");
|
|
721
|
+
function parseStandaloneSession(value, route, expectedSessionId) {
|
|
722
|
+
const session = asRecord(value, route);
|
|
723
|
+
requireSessionId(session, route, expectedSessionId);
|
|
724
|
+
requireString(session, "workspaceCwd", route);
|
|
725
|
+
if (typeof session["attached"] !== "boolean") {
|
|
726
|
+
throw new DaemonStandaloneProtocolError(route, "expected attached boolean");
|
|
727
|
+
}
|
|
728
|
+
validateStandaloneFields(session, route);
|
|
729
|
+
return session;
|
|
730
|
+
}
|
|
731
|
+
__name(parseStandaloneSession, "parseStandaloneSession");
|
|
732
|
+
function parseRestoredStandaloneSession(value, route, expectedSessionId) {
|
|
733
|
+
const raw = asRecord(value, route);
|
|
734
|
+
parseStandaloneSession(raw, route, expectedSessionId);
|
|
735
|
+
asRecord(raw["state"], route, "state");
|
|
736
|
+
return raw;
|
|
737
|
+
}
|
|
738
|
+
__name(parseRestoredStandaloneSession, "parseRestoredStandaloneSession");
|
|
739
|
+
function parseStandaloneSummary(value, route, expectedSessionId) {
|
|
740
|
+
const summary = asRecord(value, route);
|
|
741
|
+
requireSessionId(summary, route, expectedSessionId);
|
|
742
|
+
requireString(summary, "workspaceCwd", route);
|
|
743
|
+
if (summary["sourceType"] !== "standalone") {
|
|
744
|
+
throw new DaemonStandaloneProtocolError(
|
|
745
|
+
route,
|
|
746
|
+
"expected standalone sourceType"
|
|
747
|
+
);
|
|
748
|
+
}
|
|
749
|
+
validateContext(summary, route);
|
|
750
|
+
return summary;
|
|
751
|
+
}
|
|
752
|
+
__name(parseStandaloneSummary, "parseStandaloneSummary");
|
|
753
|
+
function parseStandaloneLookup(value, route, expectedSessionId) {
|
|
754
|
+
const lookup = asRecord(value, route);
|
|
755
|
+
if (lookup["state"] === "creating") {
|
|
756
|
+
const sessionId = requireSessionId(lookup, route, expectedSessionId);
|
|
757
|
+
return { sessionId, state: "creating" };
|
|
758
|
+
}
|
|
759
|
+
return parseStandaloneSummary(lookup, route, expectedSessionId);
|
|
760
|
+
}
|
|
761
|
+
__name(parseStandaloneLookup, "parseStandaloneLookup");
|
|
762
|
+
function parseStandaloneListPage(value, route) {
|
|
763
|
+
const page = asRecord(value, route);
|
|
764
|
+
if (!Array.isArray(page["sessions"])) {
|
|
765
|
+
throw new DaemonStandaloneProtocolError(route, "expected sessions[]");
|
|
766
|
+
}
|
|
767
|
+
if (page["nextCursor"] !== void 0 && typeof page["nextCursor"] !== "string") {
|
|
768
|
+
throw new DaemonStandaloneProtocolError(
|
|
769
|
+
route,
|
|
770
|
+
"expected nextCursor string"
|
|
771
|
+
);
|
|
772
|
+
}
|
|
773
|
+
for (const field of ["liveMergeFailed", "truncated"]) {
|
|
774
|
+
if (page[field] !== void 0 && typeof page[field] !== "boolean") {
|
|
775
|
+
throw new DaemonStandaloneProtocolError(
|
|
776
|
+
route,
|
|
777
|
+
`expected ${field} boolean`
|
|
778
|
+
);
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
for (const session of page["sessions"])
|
|
782
|
+
parseStandaloneSummary(session, route);
|
|
783
|
+
return page;
|
|
784
|
+
}
|
|
785
|
+
__name(parseStandaloneListPage, "parseStandaloneListPage");
|
|
786
|
+
function parseStandaloneDirectoryResult(value, route, expectedSessionId) {
|
|
787
|
+
const result = asRecord(value, route);
|
|
788
|
+
requireSessionId(result, route, expectedSessionId);
|
|
789
|
+
requireString(result, "projectlessOutputDirectory", route);
|
|
790
|
+
validateWorkingDirectory(result["workingDirectory"], route);
|
|
791
|
+
return result;
|
|
792
|
+
}
|
|
793
|
+
__name(parseStandaloneDirectoryResult, "parseStandaloneDirectoryResult");
|
|
794
|
+
function parseStandaloneMetadataResult(value, route, expectedSessionId) {
|
|
795
|
+
const result = asRecord(value, route);
|
|
796
|
+
requireSessionId(result, route, expectedSessionId);
|
|
797
|
+
requireString(result, "displayName", route, true);
|
|
798
|
+
return result;
|
|
799
|
+
}
|
|
800
|
+
__name(parseStandaloneMetadataResult, "parseStandaloneMetadataResult");
|
|
801
|
+
function validateBatch(value, route, fields) {
|
|
802
|
+
const result = asRecord(value, route);
|
|
803
|
+
for (const field of fields) requireStringArray(result, field, route);
|
|
804
|
+
if (!Array.isArray(result["errors"])) {
|
|
805
|
+
throw new DaemonStandaloneProtocolError(route, "expected errors[]");
|
|
806
|
+
}
|
|
807
|
+
for (const item of result["errors"]) {
|
|
808
|
+
const error = asRecord(item, route, "batch error");
|
|
809
|
+
for (const field of ["sessionId", "code", "message"]) {
|
|
810
|
+
requireString(error, field, route);
|
|
811
|
+
}
|
|
812
|
+
}
|
|
813
|
+
return result;
|
|
814
|
+
}
|
|
815
|
+
__name(validateBatch, "validateBatch");
|
|
816
|
+
function parseArchiveStandaloneSessionsResult(value, route) {
|
|
817
|
+
return validateBatch(value, route, [
|
|
818
|
+
"archived",
|
|
819
|
+
"alreadyArchived",
|
|
820
|
+
"notFound"
|
|
821
|
+
]);
|
|
822
|
+
}
|
|
823
|
+
__name(parseArchiveStandaloneSessionsResult, "parseArchiveStandaloneSessionsResult");
|
|
824
|
+
function parseUnarchiveStandaloneSessionsResult(value, route) {
|
|
825
|
+
return validateBatch(value, route, [
|
|
826
|
+
"unarchived",
|
|
827
|
+
"alreadyActive",
|
|
828
|
+
"notFound"
|
|
829
|
+
]);
|
|
830
|
+
}
|
|
831
|
+
__name(parseUnarchiveStandaloneSessionsResult, "parseUnarchiveStandaloneSessionsResult");
|
|
832
|
+
function parseDeleteStandaloneSessionsResult(value, route) {
|
|
833
|
+
return validateBatch(value, route, [
|
|
834
|
+
"removed",
|
|
835
|
+
"notFound",
|
|
836
|
+
"fileCleanupPending"
|
|
837
|
+
]);
|
|
838
|
+
}
|
|
839
|
+
__name(parseDeleteStandaloneSessionsResult, "parseDeleteStandaloneSessionsResult");
|
|
840
|
+
function isStandaloneSessionNotFoundError(error) {
|
|
841
|
+
return error instanceof DaemonHttpError && error.status === 404 && recordCode(error.body) === "standalone_session_not_found";
|
|
842
|
+
}
|
|
843
|
+
__name(isStandaloneSessionNotFoundError, "isStandaloneSessionNotFoundError");
|
|
844
|
+
function isStandaloneCreationOutcomeUnknown(error) {
|
|
845
|
+
return error instanceof DaemonStandaloneCreationOutcomeUnknownError || error instanceof DaemonHttpError && recordCode(error.body) === "standalone_creation_outcome_unknown";
|
|
846
|
+
}
|
|
847
|
+
__name(isStandaloneCreationOutcomeUnknown, "isStandaloneCreationOutcomeUnknown");
|
|
848
|
+
function recordCode(value) {
|
|
849
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) ? value["code"] : void 0;
|
|
850
|
+
}
|
|
851
|
+
__name(recordCode, "recordCode");
|
|
852
|
+
|
|
627
853
|
// packages/sdk-typescript/src/daemon/DaemonClient.ts
|
|
628
854
|
var WORKSPACE_MEMORY_REMEMBER_PATH = "/workspace/memory/remember";
|
|
629
855
|
var WORKSPACE_MEMORY_FORGET_PATH = "/workspace/memory/forget";
|
|
@@ -2142,6 +2368,185 @@ var DaemonClient = class {
|
|
|
2142
2368
|
);
|
|
2143
2369
|
}
|
|
2144
2370
|
// -- Sessions ----------------------------------------------------------
|
|
2371
|
+
async createStandaloneSession(options = {}) {
|
|
2372
|
+
await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
|
|
2373
|
+
const { sessionId: requestedSessionId, ...request } = options;
|
|
2374
|
+
const sessionId = (requestedSessionId ?? globalThis.crypto.randomUUID()).toLowerCase();
|
|
2375
|
+
try {
|
|
2376
|
+
const response = await this.jsonRequest(
|
|
2377
|
+
"/standalone/sessions",
|
|
2378
|
+
"POST /standalone/sessions",
|
|
2379
|
+
{
|
|
2380
|
+
method: "POST",
|
|
2381
|
+
body: { sessionId, ...request },
|
|
2382
|
+
mode: "rest"
|
|
2383
|
+
}
|
|
2384
|
+
);
|
|
2385
|
+
return parseStandaloneSession(
|
|
2386
|
+
response,
|
|
2387
|
+
"POST /standalone/sessions",
|
|
2388
|
+
sessionId
|
|
2389
|
+
);
|
|
2390
|
+
} catch (error) {
|
|
2391
|
+
if (error instanceof DaemonHttpError && !isStandaloneCreationOutcomeUnknown(error)) {
|
|
2392
|
+
throw error;
|
|
2393
|
+
}
|
|
2394
|
+
const recovery = await this.recoverStandaloneCreation(sessionId);
|
|
2395
|
+
throw new DaemonStandaloneCreationOutcomeUnknownError(
|
|
2396
|
+
sessionId,
|
|
2397
|
+
recovery,
|
|
2398
|
+
error
|
|
2399
|
+
);
|
|
2400
|
+
}
|
|
2401
|
+
}
|
|
2402
|
+
async listStandaloneSessions(options = {}) {
|
|
2403
|
+
return (await this.listStandaloneSessionsPage(options)).sessions;
|
|
2404
|
+
}
|
|
2405
|
+
async listStandaloneSessionsPage(options = {}) {
|
|
2406
|
+
const query = new URLSearchParams();
|
|
2407
|
+
if (options.cursor !== void 0) query.set("cursor", options.cursor);
|
|
2408
|
+
if (options.pageSize !== void 0) {
|
|
2409
|
+
query.set("size", String(options.pageSize));
|
|
2410
|
+
}
|
|
2411
|
+
if (options.archiveState !== void 0) {
|
|
2412
|
+
query.set("archiveState", options.archiveState);
|
|
2413
|
+
}
|
|
2414
|
+
const queryString = query.toString();
|
|
2415
|
+
const suffix = queryString ? `?${queryString}` : "";
|
|
2416
|
+
return await this.standaloneJsonRequest(
|
|
2417
|
+
`/standalone/sessions${suffix}`,
|
|
2418
|
+
"GET /standalone/sessions",
|
|
2419
|
+
parseStandaloneListPage
|
|
2420
|
+
);
|
|
2421
|
+
}
|
|
2422
|
+
async getStandaloneSession(sessionId) {
|
|
2423
|
+
await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
|
|
2424
|
+
return await this.getStandaloneSessionUnchecked(sessionId.toLowerCase());
|
|
2425
|
+
}
|
|
2426
|
+
async loadStandaloneSession(sessionId, request = {}, clientId) {
|
|
2427
|
+
return await this.restoreStandaloneSession(
|
|
2428
|
+
"load",
|
|
2429
|
+
sessionId,
|
|
2430
|
+
request,
|
|
2431
|
+
clientId
|
|
2432
|
+
);
|
|
2433
|
+
}
|
|
2434
|
+
async resumeStandaloneSession(sessionId, request = {}, clientId) {
|
|
2435
|
+
return await this.restoreStandaloneSession(
|
|
2436
|
+
"resume",
|
|
2437
|
+
sessionId,
|
|
2438
|
+
request,
|
|
2439
|
+
clientId
|
|
2440
|
+
);
|
|
2441
|
+
}
|
|
2442
|
+
async repairStandaloneSessionDirectory(sessionId) {
|
|
2443
|
+
const normalized = sessionId.toLowerCase();
|
|
2444
|
+
const route = "POST /standalone/sessions/:id/repair-directory";
|
|
2445
|
+
return await this.standaloneJsonRequest(
|
|
2446
|
+
`/standalone/sessions/${urlEncode(normalized)}/repair-directory`,
|
|
2447
|
+
route,
|
|
2448
|
+
(response) => parseStandaloneDirectoryResult(response, route, normalized),
|
|
2449
|
+
{ method: "POST", body: {} }
|
|
2450
|
+
);
|
|
2451
|
+
}
|
|
2452
|
+
async renameStandaloneSession(sessionId, displayName, clientId) {
|
|
2453
|
+
const normalized = sessionId.toLowerCase();
|
|
2454
|
+
const route = "PATCH /standalone/sessions/:id/metadata";
|
|
2455
|
+
return await this.standaloneJsonRequest(
|
|
2456
|
+
`/standalone/sessions/${urlEncode(normalized)}/metadata`,
|
|
2457
|
+
route,
|
|
2458
|
+
(response) => parseStandaloneMetadataResult(response, route, normalized),
|
|
2459
|
+
{
|
|
2460
|
+
method: "PATCH",
|
|
2461
|
+
body: { displayName },
|
|
2462
|
+
clientId
|
|
2463
|
+
}
|
|
2464
|
+
);
|
|
2465
|
+
}
|
|
2466
|
+
async exportStandaloneSession(sessionId, options = {}) {
|
|
2467
|
+
await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
|
|
2468
|
+
return await this.sessionExportRequest(
|
|
2469
|
+
`/standalone/sessions/${urlEncode(sessionId.toLowerCase())}/export`,
|
|
2470
|
+
"GET /standalone/sessions/:id/export",
|
|
2471
|
+
options
|
|
2472
|
+
);
|
|
2473
|
+
}
|
|
2474
|
+
async archiveStandaloneSessions(sessionIds) {
|
|
2475
|
+
return await this.standaloneBatchRequest(
|
|
2476
|
+
"archive",
|
|
2477
|
+
sessionIds,
|
|
2478
|
+
parseArchiveStandaloneSessionsResult
|
|
2479
|
+
);
|
|
2480
|
+
}
|
|
2481
|
+
async unarchiveStandaloneSessions(sessionIds) {
|
|
2482
|
+
return await this.standaloneBatchRequest(
|
|
2483
|
+
"unarchive",
|
|
2484
|
+
sessionIds,
|
|
2485
|
+
parseUnarchiveStandaloneSessionsResult
|
|
2486
|
+
);
|
|
2487
|
+
}
|
|
2488
|
+
async deleteStandaloneSessions(sessionIds) {
|
|
2489
|
+
return await this.standaloneBatchRequest(
|
|
2490
|
+
"delete",
|
|
2491
|
+
sessionIds,
|
|
2492
|
+
parseDeleteStandaloneSessionsResult
|
|
2493
|
+
);
|
|
2494
|
+
}
|
|
2495
|
+
async standaloneJsonRequest(path, route, parse, options = {}) {
|
|
2496
|
+
await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
|
|
2497
|
+
const response = await this.jsonRequest(path, route, {
|
|
2498
|
+
...options,
|
|
2499
|
+
mode: "rest"
|
|
2500
|
+
});
|
|
2501
|
+
return parse(response, route);
|
|
2502
|
+
}
|
|
2503
|
+
async standaloneBatchRequest(action, sessionIds, parse) {
|
|
2504
|
+
const route = `POST /standalone/sessions/${action}`;
|
|
2505
|
+
return await this.standaloneJsonRequest(
|
|
2506
|
+
`/standalone/sessions/${action}`,
|
|
2507
|
+
route,
|
|
2508
|
+
parse,
|
|
2509
|
+
{
|
|
2510
|
+
method: "POST",
|
|
2511
|
+
body: {
|
|
2512
|
+
sessionIds: sessionIds.map((sessionId) => sessionId.toLowerCase())
|
|
2513
|
+
}
|
|
2514
|
+
}
|
|
2515
|
+
);
|
|
2516
|
+
}
|
|
2517
|
+
async restoreStandaloneSession(action, sessionId, request, clientId) {
|
|
2518
|
+
const normalized = sessionId.toLowerCase();
|
|
2519
|
+
const route = `POST /standalone/sessions/:id/${action}`;
|
|
2520
|
+
const { timeoutMs, ...body } = request;
|
|
2521
|
+
return await this.standaloneJsonRequest(
|
|
2522
|
+
`/standalone/sessions/${urlEncode(normalized)}/${action}`,
|
|
2523
|
+
route,
|
|
2524
|
+
(response) => parseRestoredStandaloneSession(response, route, normalized),
|
|
2525
|
+
{
|
|
2526
|
+
method: "POST",
|
|
2527
|
+
body,
|
|
2528
|
+
clientId,
|
|
2529
|
+
timeoutMs: this.resolveRestoreTimeoutMs(timeoutMs)
|
|
2530
|
+
}
|
|
2531
|
+
);
|
|
2532
|
+
}
|
|
2533
|
+
async getStandaloneSessionUnchecked(sessionId) {
|
|
2534
|
+
const route = "GET /standalone/sessions/:id";
|
|
2535
|
+
const response = await this.jsonRequest(
|
|
2536
|
+
`/standalone/sessions/${urlEncode(sessionId)}`,
|
|
2537
|
+
route,
|
|
2538
|
+
{ mode: "rest" }
|
|
2539
|
+
);
|
|
2540
|
+
return parseStandaloneLookup(response, route, sessionId);
|
|
2541
|
+
}
|
|
2542
|
+
async recoverStandaloneCreation(sessionId) {
|
|
2543
|
+
try {
|
|
2544
|
+
const lookup = await this.getStandaloneSessionUnchecked(sessionId);
|
|
2545
|
+
return "state" in lookup ? { state: "creating", sessionId } : { state: "existing", session: lookup };
|
|
2546
|
+
} catch (error) {
|
|
2547
|
+
return isStandaloneSessionNotFoundError(error) ? { state: "absent", sessionId } : { state: "unknown", sessionId, error };
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2145
2550
|
async createOrAttachSession(req, clientId) {
|
|
2146
2551
|
if (req.sessionId !== void 0 && req.sessionId !== null) {
|
|
2147
2552
|
await this.requireCapability("session_id_override");
|
|
@@ -2637,7 +3042,7 @@ var DaemonClient = class {
|
|
|
2637
3042
|
* Generate a one-sentence "where did I leave off"
|
|
2638
3043
|
* recap of the session. Wraps `generateSessionRecap` (core/services/
|
|
2639
3044
|
* sessionRecap.ts) via an ACP control-channel ext-method, so the
|
|
2640
|
-
* summary is computed against the active
|
|
3045
|
+
* summary is computed against the active LlmClient chat history
|
|
2641
3046
|
* inside the daemon's ACP child.
|
|
2642
3047
|
*
|
|
2643
3048
|
* Non-strict mutation gate — posture matches `/session/:id/prompt`
|
|
@@ -2953,11 +3358,12 @@ var DaemonClient = class {
|
|
|
2953
3358
|
);
|
|
2954
3359
|
}
|
|
2955
3360
|
/**
|
|
2956
|
-
*
|
|
3361
|
+
* Update workspace Skill settings by name without requiring a loaded Skill.
|
|
2957
3362
|
* Active ACP sessions refresh their skill validation and command lists before
|
|
2958
3363
|
* the response returns; `activation` reports deferred or partial refreshes.
|
|
2959
3364
|
*
|
|
2960
|
-
* Pre-flight
|
|
3365
|
+
* Pre-flight
|
|
3366
|
+
* `caps.features.includes('workspace_skill_settings_toggle')` before calling.
|
|
2961
3367
|
*/
|
|
2962
3368
|
async setWorkspaceSkillEnabled(skillName, enabled, opts) {
|
|
2963
3369
|
return await this.fetchWithTimeout(
|
|
@@ -2982,10 +3388,11 @@ var DaemonClient = class {
|
|
|
2982
3388
|
);
|
|
2983
3389
|
}
|
|
2984
3390
|
/**
|
|
2985
|
-
*
|
|
3391
|
+
* Update workspace Skill settings for up to 100 names in one write.
|
|
2986
3392
|
*
|
|
2987
3393
|
* Pre-flight
|
|
2988
|
-
* `caps.features.includes('
|
|
3394
|
+
* `caps.features.includes('workspace_skill_settings_batch_toggle')` before
|
|
3395
|
+
* calling.
|
|
2989
3396
|
*/
|
|
2990
3397
|
async setWorkspaceSkillsEnabled(skillNames, enabled, opts) {
|
|
2991
3398
|
return await this.fetchWithTimeout(
|
|
@@ -5191,12 +5598,50 @@ function isSessionAttachmentReference(value) {
|
|
|
5191
5598
|
__name(isSessionAttachmentReference, "isSessionAttachmentReference");
|
|
5192
5599
|
var MAX_ATTACHMENT_CACHE_BYTES = 32 * 1024 * 1024;
|
|
5193
5600
|
var MAX_ATTACHMENT_CACHE_ENTRIES = 128;
|
|
5601
|
+
function createStandaloneRestoredClient(client, restored, includeReplay) {
|
|
5602
|
+
const {
|
|
5603
|
+
state,
|
|
5604
|
+
hasActivePrompt,
|
|
5605
|
+
compactedReplay,
|
|
5606
|
+
liveJournal,
|
|
5607
|
+
historyHasMore,
|
|
5608
|
+
historyAnchorRecordId,
|
|
5609
|
+
replayDegraded,
|
|
5610
|
+
partial,
|
|
5611
|
+
replayError,
|
|
5612
|
+
lastEventId,
|
|
5613
|
+
eventEpoch,
|
|
5614
|
+
...session
|
|
5615
|
+
} = restored;
|
|
5616
|
+
return new DaemonSessionClient({
|
|
5617
|
+
client,
|
|
5618
|
+
session,
|
|
5619
|
+
hasActivePrompt,
|
|
5620
|
+
state,
|
|
5621
|
+
lastEventId: lastEventId ?? 0,
|
|
5622
|
+
eventEpoch,
|
|
5623
|
+
...includeReplay ? {
|
|
5624
|
+
replaySnapshot: {
|
|
5625
|
+
compactedReplay: compactedReplay ?? [],
|
|
5626
|
+
liveJournal: liveJournal ?? []
|
|
5627
|
+
},
|
|
5628
|
+
replaySnapshotComplete: Array.isArray(compactedReplay) && Array.isArray(liveJournal),
|
|
5629
|
+
replayPartial: partial === true,
|
|
5630
|
+
replayError,
|
|
5631
|
+
historyHasMore,
|
|
5632
|
+
historyAnchorRecordId,
|
|
5633
|
+
replayDegraded
|
|
5634
|
+
} : {}
|
|
5635
|
+
});
|
|
5636
|
+
}
|
|
5637
|
+
__name(createStandaloneRestoredClient, "createStandaloneRestoredClient");
|
|
5194
5638
|
var DaemonSessionClient = class _DaemonSessionClient {
|
|
5195
5639
|
static {
|
|
5196
5640
|
__name(this, "DaemonSessionClient");
|
|
5197
5641
|
}
|
|
5198
5642
|
client;
|
|
5199
5643
|
session;
|
|
5644
|
+
restoreStrategy;
|
|
5200
5645
|
state;
|
|
5201
5646
|
/**
|
|
5202
5647
|
* Not `readonly`: {@link consumeReplaySnapshot} swaps it for an empty
|
|
@@ -5244,6 +5689,8 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
5244
5689
|
constructor(opts) {
|
|
5245
5690
|
this.client = opts.client;
|
|
5246
5691
|
this.session = { ...opts.session };
|
|
5692
|
+
const context = opts.session.context;
|
|
5693
|
+
this.restoreStrategy = opts.session.sourceType === "standalone" && context?.kind === "standalone" ? { kind: "standalone" } : { kind: "workspace", workspaceCwd: opts.session.workspaceCwd };
|
|
5247
5694
|
this.state = { ...opts.state ?? {} };
|
|
5248
5695
|
this.hasActivePrompt = opts.hasActivePrompt ?? false;
|
|
5249
5696
|
this.historyHasMore = opts.historyHasMore ?? false;
|
|
@@ -5343,6 +5790,34 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
5343
5790
|
eventEpoch
|
|
5344
5791
|
});
|
|
5345
5792
|
}
|
|
5793
|
+
static async createStandalone(client, options = {}) {
|
|
5794
|
+
const session = await client.createStandaloneSession(options);
|
|
5795
|
+
return new _DaemonSessionClient({
|
|
5796
|
+
client,
|
|
5797
|
+
session,
|
|
5798
|
+
hasActivePrompt: session.hasActivePrompt,
|
|
5799
|
+
lastEventId: 0,
|
|
5800
|
+
eventEpoch: session.eventEpoch
|
|
5801
|
+
});
|
|
5802
|
+
}
|
|
5803
|
+
static async loadStandalone(client, sessionId, request = {}, clientId) {
|
|
5804
|
+
const restored = await client.loadStandaloneSession(
|
|
5805
|
+
sessionId,
|
|
5806
|
+
request,
|
|
5807
|
+
clientId
|
|
5808
|
+
);
|
|
5809
|
+
const result = createStandaloneRestoredClient(client, restored, true);
|
|
5810
|
+
await result.hydrateReplaySnapshot();
|
|
5811
|
+
return result;
|
|
5812
|
+
}
|
|
5813
|
+
static async resumeStandalone(client, sessionId, request = {}, clientId) {
|
|
5814
|
+
const restored = await client.resumeStandaloneSession(
|
|
5815
|
+
sessionId,
|
|
5816
|
+
request,
|
|
5817
|
+
clientId
|
|
5818
|
+
);
|
|
5819
|
+
return createStandaloneRestoredClient(client, restored, false);
|
|
5820
|
+
}
|
|
5346
5821
|
get sessionId() {
|
|
5347
5822
|
return this.session.sessionId;
|
|
5348
5823
|
}
|
|
@@ -5526,7 +6001,10 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
5526
6001
|
*/
|
|
5527
6002
|
async reattach() {
|
|
5528
6003
|
if (this.reattaching) return this.reattaching;
|
|
5529
|
-
this.
|
|
6004
|
+
const resume = this.restoreStrategy.kind === "standalone" ? this.client.resumeStandaloneSession(this.sessionId) : this.client.resumeSession(this.sessionId, {
|
|
6005
|
+
workspaceCwd: this.restoreStrategy.workspaceCwd
|
|
6006
|
+
});
|
|
6007
|
+
this.reattaching = resume.then((session) => {
|
|
5530
6008
|
this.session.clientId = session.clientId;
|
|
5531
6009
|
});
|
|
5532
6010
|
try {
|
|
@@ -9750,7 +10228,9 @@ function clearActiveAssistant(state, event) {
|
|
|
9750
10228
|
}
|
|
9751
10229
|
__name(clearActiveAssistant, "clearActiveAssistant");
|
|
9752
10230
|
function applyAssistantUsage(state, event) {
|
|
9753
|
-
|
|
10231
|
+
if (isLegacySubagentUsageDuplicate(state, event)) return;
|
|
10232
|
+
const activeBlockId = state.activeAssistantBlockId ?? (event.parentToolCallId ? void 0 : latestTopLevelAssistantBlockIdInCurrentTurn(state));
|
|
10233
|
+
const block = getWritableBlockById(state, activeBlockId);
|
|
9754
10234
|
if (!block || block.kind !== "assistant") return;
|
|
9755
10235
|
const prev = block.usage;
|
|
9756
10236
|
block.usage = {
|
|
@@ -9761,6 +10241,31 @@ function applyAssistantUsage(state, event) {
|
|
|
9761
10241
|
block.updatedAt = state.now;
|
|
9762
10242
|
}
|
|
9763
10243
|
__name(applyAssistantUsage, "applyAssistantUsage");
|
|
10244
|
+
function isLegacySubagentUsageDuplicate(state, event) {
|
|
10245
|
+
if (event.parentToolCallId || !event.sourceRecordIds?.length) return false;
|
|
10246
|
+
const sourceRecordIds = new Set(event.sourceRecordIds);
|
|
10247
|
+
for (let i = state.blocks.length - 1; i >= 0; i -= 1) {
|
|
10248
|
+
const block = state.blocks[i];
|
|
10249
|
+
if (block.kind === "user" && !block.parentToolCallId) return false;
|
|
10250
|
+
if (block.kind !== "tool" || !block.sourceRecordIds?.some((id) => sourceRecordIds.has(id))) {
|
|
10251
|
+
continue;
|
|
10252
|
+
}
|
|
10253
|
+
const rawOutput = isRecord2(block.rawOutput) ? block.rawOutput : void 0;
|
|
10254
|
+
const summary = rawOutput && isRecord2(rawOutput["executionSummary"]) ? rawOutput["executionSummary"] : void 0;
|
|
10255
|
+
return summary?.["inputTokens"] === event.usage.inputTokens && summary["outputTokens"] === event.usage.outputTokens && (summary["cachedTokens"] ?? 0) === (event.usage.cachedTokens ?? 0);
|
|
10256
|
+
}
|
|
10257
|
+
return false;
|
|
10258
|
+
}
|
|
10259
|
+
__name(isLegacySubagentUsageDuplicate, "isLegacySubagentUsageDuplicate");
|
|
10260
|
+
function latestTopLevelAssistantBlockIdInCurrentTurn(state) {
|
|
10261
|
+
for (let i = state.blocks.length - 1; i >= 0; i -= 1) {
|
|
10262
|
+
const block = state.blocks[i];
|
|
10263
|
+
if (block.kind === "user" && !block.parentToolCallId) return void 0;
|
|
10264
|
+
if (block.kind === "assistant" && !block.parentToolCallId) return block.id;
|
|
10265
|
+
}
|
|
10266
|
+
return void 0;
|
|
10267
|
+
}
|
|
10268
|
+
__name(latestTopLevelAssistantBlockIdInCurrentTurn, "latestTopLevelAssistantBlockIdInCurrentTurn");
|
|
9764
10269
|
function applySubagentUsageToParentTool(state, event) {
|
|
9765
10270
|
if (!event.parentToolCallId) return;
|
|
9766
10271
|
const block = getWritableBlockById(
|
|
@@ -12306,12 +12811,15 @@ export {
|
|
|
12306
12811
|
DaemonPendingPromptLimitError,
|
|
12307
12812
|
DaemonSessionClient,
|
|
12308
12813
|
DaemonSessionIdProtocolError,
|
|
12814
|
+
DaemonStandaloneCreationOutcomeUnknownError,
|
|
12815
|
+
DaemonStandaloneProtocolError,
|
|
12309
12816
|
DaemonTransportClosedError,
|
|
12310
12817
|
EXTENSION_ARCHIVE_UPLOAD_TIMEOUT_MS,
|
|
12311
12818
|
MID_TURN_MESSAGE_INJECTED_EVENT,
|
|
12312
12819
|
PENDING_PROMPT_ADDED_EVENT,
|
|
12313
12820
|
PENDING_PROMPT_COMPLETED_EVENT,
|
|
12314
12821
|
PENDING_PROMPT_STARTED_EVENT,
|
|
12822
|
+
STANDALONE_SESSIONS_CAPABILITY,
|
|
12315
12823
|
SseFramingError,
|
|
12316
12824
|
UNRECOGNIZED_DIAGNOSTICS_LIMIT,
|
|
12317
12825
|
WorkspaceDaemonClient,
|
|
@@ -12341,6 +12849,8 @@ export {
|
|
|
12341
12849
|
isNonBlockingAccepted,
|
|
12342
12850
|
isSessionLevelNotFound,
|
|
12343
12851
|
isStaleBranchPointError,
|
|
12852
|
+
isStandaloneCreationOutcomeUnknown,
|
|
12853
|
+
isStandaloneSessionNotFoundError,
|
|
12344
12854
|
isSubagentChildBlock,
|
|
12345
12855
|
isSubagentSessionNotFound,
|
|
12346
12856
|
isTrimmedPermissionBlockId,
|
|
@@ -12383,3 +12893,8 @@ export {
|
|
|
12383
12893
|
* Copyright 2025 Alibaba Group Holding Limited. All Rights Reserved.
|
|
12384
12894
|
* Licensed under the Apache License, Version 2.0
|
|
12385
12895
|
*/
|
|
12896
|
+
/**
|
|
12897
|
+
* @license
|
|
12898
|
+
* Copyright 2026 Qwen Team
|
|
12899
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
12900
|
+
*/
|