@qwen-code/qwen-code 0.22.3-nightly.20260831.3a0c4c6108 → 0.23.0
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 +30 -0
- package/bundled/computer-use/SKILL.md +116 -180
- package/bundled/goal-draft/SKILL.md +5 -1
- package/bundled/qc-helper/docs/configuration/model-providers.md +4 -0
- package/bundled/qc-helper/docs/configuration/settings.md +53 -50
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +4 -2
- package/bundled/qc-helper/docs/features/channels/dws.md +6 -2
- package/bundled/qc-helper/docs/features/channels/overview.md +1 -0
- package/bundled/qc-helper/docs/features/commands.md +38 -1
- package/bundled/qc-helper/docs/features/computer-use.md +2 -2
- package/bundled/qc-helper/docs/features/goals.md +9 -3
- package/bundled/qc-helper/docs/features/headless.md +16 -1
- package/bundled/qc-helper/docs/features/hooks.md +2 -1
- package/bundled/qc-helper/docs/features/output-styles.md +38 -0
- package/bundled/qc-helper/docs/qwen-serve.md +15 -0
- package/bundled/review/SKILL.md +5 -5
- package/bundled/review/references/posting.md +2 -2
- package/chunks/{MaxSizedBox-IHRTWGSY.js → MaxSizedBox-B3D7545A.js} +41 -45
- package/chunks/{StandaloneSessionPicker-TLVWVTJ7.js → StandaloneSessionPicker-QUMO4LLQ.js} +64 -67
- package/chunks/{acpAgent-7I5LLPP3.js → acpAgent-2GTFCIEP.js} +771 -248
- package/chunks/{agent-4Z4NTJXD.js → agent-XKF5SZWU.js} +26 -30
- package/chunks/{agent-headless-TVUJXQWU.js → agent-headless-OC2IB55D.js} +26 -30
- package/chunks/{anthropicContentGenerator-VSSPG7XV.js → anthropicContentGenerator-L76MR5OR.js} +14 -14
- package/chunks/{artifact-tool-TEYW6I4A.js → artifact-tool-MYCL2QCS.js} +2 -3
- package/chunks/{askUserQuestion-PYNBWV63.js → askUserQuestion-THQZMG44.js} +2 -2
- package/chunks/{bridge-EVURP4NO.js → bridge-IHSBI2YJ.js} +42 -46
- package/chunks/{build-INBK7IXX.js → build-63BIOYWK.js} +1 -1
- package/chunks/{channel-management-service-IDBNYSFW.js → channel-management-service-4MTCEGJB.js} +4 -4
- package/chunks/{channel-settings-store-MZNXRKVI.js → channel-settings-store-BVKWAI2T.js} +50 -54
- package/chunks/{channel-worker-group-ZLP5SJHT.js → channel-worker-group-47F4ISUZ.js} +6 -6
- package/chunks/{channel-worker-manager-FG5377T2.js → channel-worker-manager-I5Y44GYR.js} +50 -9
- package/chunks/{channel-worker-supervisor-HDVE4ADS.js → channel-worker-supervisor-6VCLUXFE.js} +4 -4
- package/chunks/{chunk-3452WXOK.js → chunk-2M3EWQNG.js} +17 -0
- package/chunks/{chunk-HDMKCJHI.js → chunk-32LU3APX.js} +1 -1
- package/chunks/{chunk-BSJOBW4U.js → chunk-37JFWFCD.js} +1 -1
- package/chunks/{chunk-AN3KFCNH.js → chunk-3JQZVCBI.js} +2 -2
- package/chunks/{chunk-RGEV5AUD.js → chunk-3L724BJ5.js} +11 -8
- package/chunks/{chunk-GCUR24KK.js → chunk-47RYEQW5.js} +2 -2
- package/chunks/{chunk-CM4F4JBB.js → chunk-4BGDFKQE.js} +5 -5
- package/chunks/{chunk-ZBDYI7VM.js → chunk-4F7GQGXB.js} +10961 -4033
- package/chunks/{chunk-JMRE4WJQ.js → chunk-4HVH57J3.js} +81 -17
- package/chunks/{chunk-26SIKQIC.js → chunk-4LIFGNI4.js} +1 -1
- package/chunks/{chunk-U5RTYI7D.js → chunk-4M24B5J5.js} +13 -13
- package/chunks/{chunk-7XICSE62.js → chunk-4PSDSCW3.js} +3 -3
- package/chunks/{chunk-AYYKUUKP.js → chunk-4UANMABT.js} +73 -19
- package/chunks/{chunk-GS7XT345.js → chunk-54C6PIGT.js} +3 -3
- package/chunks/{chunk-UKB2TZAO.js → chunk-5EIOJGCR.js} +4 -4
- package/chunks/{chunk-64REQJJ2.js → chunk-5H5S4UY5.js} +3 -3
- package/chunks/chunk-5IENVM7Z.js +35 -0
- package/chunks/{chunk-JOWQD4LO.js → chunk-5Q5RC2WE.js} +1 -1
- package/chunks/{chunk-3NQCZMUB.js → chunk-5RTTI4GE.js} +73 -73
- package/chunks/{chunk-J4Y3QJHF.js → chunk-64QH2UC6.js} +11 -1
- package/chunks/{chunk-I75VKFCJ.js → chunk-65HWLGA7.js} +1 -1
- package/chunks/{chunk-W7KWB6AH.js → chunk-6A2D4QSO.js} +8 -5
- package/chunks/{chunk-OTTNXUT5.js → chunk-7IKXTGZT.js} +1 -1
- package/chunks/{chunk-LYSZVCCD.js → chunk-7JMGTOH7.js} +427 -129
- package/chunks/{chunk-YOFULAHO.js → chunk-7RB56BRJ.js} +3 -3
- package/chunks/{chunk-6VHIWUJP.js → chunk-ADYN7P2Y.js} +2 -2
- package/chunks/{chunk-7DDTI7Q3.js → chunk-AHYTURFB.js} +1 -1
- package/chunks/{chunk-TNMOFNT4.js → chunk-ALUYNJPM.js} +1395 -2079
- package/chunks/{chunk-H2A2GJGL.js → chunk-AZJLY2XZ.js} +5 -5
- package/chunks/{chunk-BE5FGT5Z.js → chunk-BA4WJC4L.js} +1 -1
- package/chunks/{chunk-H5GPPDGY.js → chunk-BFY33IB4.js} +16 -8
- package/chunks/{chunk-RY7DL5IF.js → chunk-BJXCYUGM.js} +1 -1
- package/chunks/{chunk-ND7TQQPE.js → chunk-C2VWOXHS.js} +6 -6
- package/chunks/{chunk-T4RMUTTT.js → chunk-C4TIXFDZ.js} +2 -2
- package/chunks/{chunk-B2RIIK3K.js → chunk-CVX63TFJ.js} +3 -1
- package/chunks/{chunk-SMJYTKTB.js → chunk-DQCKVAF5.js} +1 -1
- package/chunks/{chunk-RLSPPTWH.js → chunk-DSX7KQPM.js} +438 -181
- package/chunks/{chunk-PNIGAVY6.js → chunk-DTVQSSNM.js} +2 -2
- package/chunks/{chunk-67AY5D3M.js → chunk-DYTW3QVG.js} +23 -8
- package/chunks/{chunk-3CZGSTZX.js → chunk-EBDGRBZX.js} +22 -14
- package/chunks/{chunk-DJBQCO2E.js → chunk-EFTPIZIC.js} +412 -3
- package/chunks/{chunk-QE7DTCLX.js → chunk-EIY7SUPZ.js} +1 -1
- package/chunks/{chunk-6OO7QEWV.js → chunk-EVFDRBUM.js} +97 -77
- package/chunks/{chunk-QTMPM6RC.js → chunk-EWRW2WQC.js} +3 -3
- package/chunks/{chunk-IIFL7QDN.js → chunk-F33GFWPR.js} +34 -11
- package/chunks/{chunk-YPISTYEI.js → chunk-F47DITLZ.js} +11 -1
- package/chunks/{chunk-OE5AQVNB.js → chunk-F7NF2IOE.js} +6 -6
- package/chunks/{chunk-RT4QNQ5P.js → chunk-FD5SJOWT.js} +8 -5
- package/chunks/{chunk-ACZ4YRYK.js → chunk-FRICLXCZ.js} +3 -3
- package/chunks/{chunk-IBMUI5EV.js → chunk-FUO5V5KI.js} +11 -4
- package/chunks/{chunk-T3TL6S3B.js → chunk-G5PBOQWI.js} +8 -5
- package/chunks/{chunk-D7D3HSYQ.js → chunk-G7HBEEX7.js} +12 -7
- package/chunks/{chunk-FXUSWLBF.js → chunk-GH2S4GD5.js} +133 -8
- package/chunks/{chunk-XPDKSOVW.js → chunk-GXUTFQXK.js} +42 -44
- package/chunks/{chunk-OSTQZIOY.js → chunk-H43PSPYS.js} +2 -2
- package/chunks/{chunk-UVYKCRJZ.js → chunk-HJBHMANB.js} +11 -13
- package/chunks/{chunk-WLEYH7CD.js → chunk-HRPFBHW7.js} +4 -0
- package/chunks/{chunk-DBTMP3P4.js → chunk-I2TMJPCV.js} +1 -1
- package/chunks/{chunk-EU2B4P3D.js → chunk-I4NRYS6A.js} +4 -4
- package/chunks/{chunk-JPKTAQS3.js → chunk-I5N4EAS6.js} +1 -1
- package/chunks/{chunk-W4BDHLRT.js → chunk-IG4W5SJR.js} +2 -2
- package/chunks/{chunk-BXNKREX7.js → chunk-IPATA3T2.js} +2 -2
- package/chunks/{chunk-NKLP3DCK.js → chunk-IQAFKVXS.js} +1 -1
- package/chunks/{chunk-AYHQZBJ4.js → chunk-IRKQ4YYX.js} +3 -3
- package/chunks/{chunk-J3NNHTV6.js → chunk-J5TTWBZK.js} +6 -0
- package/chunks/{chunk-AVNATYLY.js → chunk-JJKNYRFY.js} +1 -1
- package/chunks/{chunk-ERHAMGAA.js → chunk-JR42V4UY.js} +1 -1
- package/chunks/{chunk-NT7LXVV5.js → chunk-JUARRUMA.js} +362 -1084
- package/chunks/{chunk-OKMDOATP.js → chunk-KEVYJSI4.js} +11 -11
- package/chunks/{chunk-AF3QB6OL.js → chunk-KGV55H53.js} +1 -1
- package/chunks/{chunk-SDCHI64N.js → chunk-KM3XVTMO.js} +10 -4
- package/chunks/{chunk-ERRJA23L.js → chunk-KMU3ZHH4.js} +1 -1
- package/chunks/chunk-KOGW3YWJ.js +2054 -0
- package/chunks/{chunk-6NWPR2EB.js → chunk-L26ONV2Y.js} +5 -5
- package/chunks/chunk-L34XSHIZ.js +28 -0
- package/chunks/{chunk-UXEW7TQS.js → chunk-LB3WQQJK.js} +1 -1
- package/chunks/{chunk-YNG7XAJU.js → chunk-LEPCWS5A.js} +1 -1
- package/chunks/{chunk-XLENZQXH.js → chunk-LHBNR6EU.js} +2 -2
- package/chunks/{chunk-AKNQMSL2.js → chunk-LOBDDFYK.js} +4 -28
- package/chunks/{chunk-L6CUJZDG.js → chunk-LU77UT4D.js} +2 -2
- package/chunks/{chunk-3EGEBDTW.js → chunk-M4KFODIP.js} +1 -1
- package/chunks/{chunk-JLSZT354.js → chunk-M4LBBSVP.js} +2 -0
- package/chunks/{chunk-YOMKOM7E.js → chunk-MP6YZ4RK.js} +6580 -5992
- package/chunks/chunk-N2TNM3QB.js +9 -0
- package/chunks/{chunk-GDXSXL3H.js → chunk-NFIDVZND.js} +1 -1
- package/chunks/{chunk-NT5XIL5H.js → chunk-NQ4L2CMD.js} +51 -6
- package/chunks/{chunk-OQYXJK2V.js → chunk-NRL5CUZT.js} +1 -1
- package/chunks/{chunk-FIWZOMBF.js → chunk-NSUKQ4DN.js} +6 -0
- package/chunks/chunk-NUHOLAQ6.js +59 -0
- package/chunks/{chunk-BBYTY46C.js → chunk-NVVJTUSL.js} +266 -105
- package/chunks/{chunk-CAZADEU7.js → chunk-NXKOVOM5.js} +9 -9
- package/chunks/{chunk-5Q372OFJ.js → chunk-O4KNCAX4.js} +57 -10
- package/chunks/{chunk-GOXKNSDZ.js → chunk-O5CD7T4T.js} +40 -9
- package/chunks/{chunk-XIQ5HQ2F.js → chunk-OBTWL6ZW.js} +1 -1
- package/chunks/{chunk-5MK45KZ3.js → chunk-OHOO527W.js} +1 -1
- package/chunks/{chunk-CETB5XY4.js → chunk-ORFIYTI2.js} +1 -1
- package/chunks/{chunk-7E7UCJHS.js → chunk-OSHQMOBS.js} +18 -17
- package/chunks/{chunk-YDQ4OCDK.js → chunk-OSSTATJF.js} +89 -1
- package/chunks/chunk-P6UIF2OW.js +400 -0
- package/chunks/{chunk-V4HN35IF.js → chunk-PCRBLMIN.js} +16 -2
- package/chunks/{chunk-L2OKAIUK.js → chunk-QI27MKNQ.js} +23 -15
- package/chunks/{chunk-FHPYRXRH.js → chunk-QJGYU5PG.js} +1 -1
- package/chunks/{chunk-IVUWTA2D.js → chunk-QJVZLILI.js} +1 -1
- package/chunks/{chunk-TBJ3SNS3.js → chunk-QKDNS6FU.js} +1 -1
- package/chunks/{chunk-YKADANK6.js → chunk-QQD2GART.js} +10 -3
- package/chunks/{chunk-ED7DD7MV.js → chunk-RAFQIHN2.js} +1 -1
- package/chunks/{chunk-TV7BJ7TX.js → chunk-RJUVTJEZ.js} +1 -1
- package/chunks/{chunk-RVCGAHC7.js → chunk-RM4WT2XB.js} +4 -4
- package/chunks/{chunk-6YXNJXQW.js → chunk-RN3YGDCA.js} +3 -3
- package/chunks/{chunk-SMRDCANI.js → chunk-S6H3ELPG.js} +1 -1
- package/chunks/{chunk-MBZ5ORJB.js → chunk-SI7WDR3U.js} +281 -2
- package/chunks/{chunk-5FGWVPCM.js → chunk-SRF4KTAG.js} +4 -4
- package/chunks/{chunk-LFAR7CPW.js → chunk-STCVJXQB.js} +23 -23
- package/chunks/{chunk-JDIO45X7.js → chunk-SULZPKTA.js} +1 -1
- package/chunks/{chunk-KUDI54QQ.js → chunk-SX2QIMJV.js} +5 -5
- package/chunks/{chunk-VYSZUQGU.js → chunk-TJYRTS4S.js} +2 -2
- package/chunks/{chunk-JOTYTYYW.js → chunk-TMKTOTMQ.js} +3 -3
- package/chunks/{chunk-FPMQT2YY.js → chunk-TQHPVKO6.js} +4 -4
- package/chunks/{chunk-GN422P4J.js → chunk-TSZSGQ3N.js} +1 -1
- package/chunks/{chunk-IXEZHTDR.js → chunk-U4DJ5XB3.js} +292 -38
- package/chunks/{chunk-MZ5A5PQW.js → chunk-UAKRDON5.js} +4 -4
- package/chunks/{chunk-NGKLMNWN.js → chunk-UM2FFKXN.js} +2 -2
- package/chunks/{chunk-5ICKESC3.js → chunk-UPFRILIL.js} +2 -2
- package/chunks/{chunk-RAEEQEC5.js → chunk-UUASLXHW.js} +54 -5
- package/chunks/chunk-V5U2NZNJ.js +29 -0
- package/chunks/{chunk-P5Y23G2L.js → chunk-V7RNNPGC.js} +1 -18
- package/chunks/{chunk-ZYPJ7HVZ.js → chunk-VBWD6C27.js} +1 -1
- package/chunks/{chunk-MJBHSZEJ.js → chunk-VNAYZAFX.js} +3 -3
- package/chunks/chunk-VPSIC437.js +780 -0
- package/chunks/{chunk-AAX236AR.js → chunk-VWTSRH6C.js} +52 -11
- package/chunks/{chunk-PDXYZBBQ.js → chunk-VYIUNFEA.js} +2 -2
- package/chunks/{chunk-BY24DZ4J.js → chunk-WP4AX3XD.js} +5 -7
- package/chunks/{chunk-X7C7KFWA.js → chunk-XLXAZLDR.js} +1 -1
- package/chunks/{chunk-ZQ3FKEWA.js → chunk-YPWZTR7F.js} +3 -3
- package/chunks/{chunk-IXHV5MIC.js → chunk-ZDFQGHZH.js} +1 -1
- package/chunks/chunk-ZJ2LM2SI.js +198 -0
- package/chunks/{chunk-PWR2NQBS.js → chunk-ZKFTS3OV.js} +3 -3
- package/chunks/{chunk-HMJ2P3SV.js → chunk-ZL4HFSL6.js} +91 -29
- package/chunks/{chunk-ID33ZRWH.js → chunk-ZTPGUFQV.js} +28 -6
- package/chunks/chunk-bdqvmfwv-ZTSOWAFE.js +17446 -0
- package/chunks/{config-utils-NNUPVGEC.js → config-utils-LVSYDLHZ.js} +42 -46
- package/chunks/{contextCommand-S3TPCDM5.js → contextCommand-TZD7UAJK.js} +40 -44
- package/chunks/{core-runtime-NASPCSQX.js → core-runtime-B4UKKIAQ.js} +42 -46
- package/chunks/{create-sub-session-36TNCHCP.js → create-sub-session-LUPWEUHR.js} +2 -2
- package/chunks/{create-sub-session-DS4BJLYZ.js → create-sub-session-NJ24B4US.js} +41 -44
- package/chunks/{cron-create-QXHTYUTO.js → cron-create-CRSPET3H.js} +1 -1
- package/chunks/{cron-delete-WV2BM42M.js → cron-delete-DB77SZTU.js} +1 -1
- package/chunks/{cron-list-7KVNBLZ7.js → cron-list-U2JNYWV6.js} +1 -1
- package/chunks/{daemon-UCVUHPJD.js → daemon-RKDGBFLK.js} +385 -19
- package/chunks/{daemon-git-worktree-guard-ATXVQPS3.js → daemon-git-worktree-guard-O2HPOBAB.js} +40 -44
- package/chunks/{daemon-status-provider-UI3GBTMO.js → daemon-status-provider-GRRVCJFW.js} +47 -51
- package/chunks/{daemon-trust-policy-SUCBJ2CA.js → daemon-trust-policy-YJL442BK.js} +46 -50
- package/chunks/{daemon-trust-policy-monitor-3LM5RQNS.js → daemon-trust-policy-monitor-JL7F4Y4Q.js} +46 -50
- package/chunks/{deferred-core-runtime-SCOJLVYG.js → deferred-core-runtime-S32AYVZI.js} +39 -43
- package/chunks/{devtools-JCG4K2NZ.js → devtools-VDRJYPZF.js} +1 -1
- package/chunks/{discovery-X2NV535U.js → discovery-TUM3ZQ6U.js} +2 -2
- package/chunks/{display-image-Z4VBQDEJ.js → display-image-73C7XNRK.js} +3 -3
- package/chunks/{dist-7WDZYMWV.js → dist-62OZ7QXB.js} +2 -2
- package/chunks/{dist-FLJLHASF.js → dist-EDHQIBYD.js} +7 -7
- package/chunks/{dist-S3BKCTWF.js → dist-GT64AAUR.js} +1 -1
- package/chunks/{dist-GPSRNVVP.js → dist-JVXT4VUJ.js} +2 -2
- package/chunks/{dist-LY66XNUL.js → dist-L6URO6CK.js} +3 -3
- package/chunks/{dist-5423MG3D.js → dist-LXFYIJNG.js} +734 -128
- package/chunks/{dist-SDKHGH5O.js → dist-PDGNRVPY.js} +4 -4
- package/chunks/{dist-WAUO5OMN.js → dist-QAF5DO3Y.js} +363 -73
- package/chunks/{dist-WIVVPE7M.js → dist-ZCJLKQSP.js} +1 -1
- package/chunks/{earlyInputCapture-INWJ2STR.js → earlyInputCapture-BBPCIVZG.js} +38 -42
- package/chunks/{edit-B7ZRRGAE.js → edit-SUGXY63Y.js} +26 -30
- package/chunks/{en-E4AYTX6H.js → en-2RATMNX7.js} +2 -0
- package/chunks/{enter-worktree-SPZHEETQ.js → enter-worktree-B6USKSIK.js} +5 -5
- package/chunks/{enterPlanMode-S554IKJ2.js → enterPlanMode-MDX4RVVL.js} +26 -30
- package/chunks/{environment-25ADH4Y6.js → environment-VN6RXDVN.js} +41 -45
- package/chunks/{errors-G2I6LFTW.js → errors-UEY36PIT.js} +40 -44
- package/chunks/{exit-worktree-AWUXAMAM.js → exit-worktree-DLQ73SJH.js} +8 -6
- package/chunks/{exitPlanMode-ZFH4OYPM.js → exitPlanMode-EPHIEDAA.js} +26 -30
- package/chunks/{fast-path-WZHVZ2ER.js → fast-path-Y73R42LV.js} +3 -3
- package/chunks/{fast-path-settings-NILM6QZL.js → fast-path-settings-MFUR3IWK.js} +3 -3
- package/chunks/{glob-UOVDMBUP.js → glob-DMGH7EZN.js} +27 -31
- package/chunks/goal-tools-3RF3PXCL.js +99 -0
- package/chunks/{grep-LHYJ5V2N.js → grep-AJVLCVXC.js} +2 -2
- package/chunks/{handleAutoUpdate-4MZ45DZY.js → handleAutoUpdate-HVWQT2AU.js} +42 -46
- package/chunks/{i18n-KWUEI4DS.js → i18n-5OR7NTRZ.js} +39 -43
- package/chunks/{image-gen-YZDVO5YS.js → image-gen-VOIDOHOB.js} +1 -1
- package/chunks/{initializer-2NBROGMG.js → initializer-JE5RQSOE.js} +46 -50
- package/chunks/{installationInfo-YKUSY3ZB.js → installationInfo-KO3CCSCK.js} +38 -42
- package/chunks/{list-W2WV3COM.js → list-3IORSFIY.js} +49 -53
- package/chunks/{list-agents-PMVMHNY7.js → list-agents-SBMONIUK.js} +3 -3
- package/chunks/{llm-NPPHLIJI.js → llm-K26SUDVK.js} +155 -99
- package/chunks/{llm-content-generator-YK3WN6XW.js → llm-content-generator-TT6EAUD4.js} +5 -6
- package/chunks/{loadedSettingsAdapter-2P7DFWUR.js → loadedSettingsAdapter-KLLFZF3M.js} +46 -50
- package/chunks/{loggingContentGenerator-QYYYGU6V.js → loggingContentGenerator-EYQBA4M4.js} +43 -47
- package/chunks/{loop-wakeup-EBM4F5MZ.js → loop-wakeup-QA6SHCZT.js} +2 -2
- package/chunks/{ls-F6TRX3DD.js → ls-HEJNCEYO.js} +1 -1
- package/chunks/{lsp-QYTOS2FI.js → lsp-WOQKNZP6.js} +1 -1
- package/chunks/{managed-npm-update-UMC4NBWW.js → managed-npm-update-HIJTODQT.js} +38 -42
- package/chunks/{mcp-OFI6XDP2.js → mcp-A2UEHETW.js} +46 -50
- package/chunks/{monitor-QX3BM3JY.js → monitor-DKNZQAB2.js} +28 -32
- package/chunks/{node-QKLNSZMX.js → node-UETAYMMO.js} +3 -3
- package/chunks/{nonInteractiveCli-NVRMD5MN.js → nonInteractiveCli-YA47F2F4.js} +86 -89
- package/chunks/{notebook-edit-AAILDPSV.js → notebook-edit-MGHTRL2D.js} +26 -30
- package/chunks/{openaiContentGenerator-53PB3CMN.js → openaiContentGenerator-ZJIEQ3ZJ.js} +15 -17
- package/chunks/{pidfile-5ACKG2LI.js → pidfile-ETHAZNMY.js} +38 -42
- package/chunks/{processUtils-2BCDO3DZ.js → processUtils-UY3SAJJZ.js} +2 -2
- package/chunks/{prompt-terminal-ledger-3RKW73A2.js → prompt-terminal-ledger-GZ747VYE.js} +39 -43
- package/chunks/{qwenContentGenerator-N4LLWDPH.js → qwenContentGenerator-VI4KATRY.js} +39 -43
- package/chunks/{read-file-DPAKXHYE.js → read-file-P7F4P7LV.js} +6 -8
- package/chunks/{read-mcp-resource-R4NO75DW.js → read-mcp-resource-GLAGB6R7.js} +1 -1
- package/chunks/{record-artifact-2EAYLAL5.js → record-artifact-SWVR7NSU.js} +3 -3
- package/chunks/renderer-selection-M4UN63VJ.js +99 -0
- package/chunks/{report-findings-Y4MSHDS3.js → report-findings-AL5YW3KI.js} +4 -4
- package/chunks/{request-shutdown-DWRMGTMB.js → request-shutdown-5YK4IZ54.js} +5 -5
- package/chunks/{resumeHistoryUtils-3JQORXAK.js → resumeHistoryUtils-DPZKFW24.js} +44 -48
- package/chunks/{ripGrep-AHF5QCI7.js → ripGrep-C7LJKUPZ.js} +9 -11
- package/chunks/{run-qwen-serve-3LKV7KDC.js → run-qwen-serve-OGTEEUR2.js} +132 -81
- package/chunks/{runtime-66F4W3IA.js → runtime-LNBLEMZS.js} +51 -55
- package/chunks/{scheduled-tasks-2NVKS5Q2.js → scheduled-tasks-FLDYZQOF.js} +44 -48
- package/chunks/{scheduler-JNV7T3ZO.js → scheduler-73YXGUGW.js} +40 -44
- package/chunks/{sdk-exporters-grpc-G5IT4XS4.js → sdk-exporters-grpc-MXTVSE3C.js} +2 -2
- package/chunks/{sdk-exporters-http-MFIWD23D.js → sdk-exporters-http-3JO5TJNU.js} +3 -3
- package/chunks/{sdk-impl-2RXJ4Q6X.js → sdk-impl-HZAUUTHJ.js} +5 -5
- package/chunks/{send-message-WPZRCJOB.js → send-message-JC7NJTY6.js} +7 -7
- package/chunks/{serve-GP2UNRP7.js → serve-3UR2H4CV.js} +46 -50
- package/chunks/{server-7W6C3SOW.js → server-AOYZVVOM.js} +1736 -502
- package/chunks/{session-PZLBAQGG.js → session-UAWFNFGI.js} +90 -93
- package/chunks/session-attachments-root-ZCGXQQTR.js +104 -0
- package/chunks/{session-pr-refresh-OIVL3U3Z.js → session-pr-refresh-CT2INROL.js} +131 -65
- package/chunks/{settings-ZOHIQWYK.js → settings-BHRGDASJ.js} +45 -49
- package/chunks/{shell-FWZT6IUR.js → shell-YHOGC7TO.js} +26 -30
- package/chunks/{skill-RTQC2YGA.js → skill-ZGBKNCHQ.js} +71 -49
- package/chunks/{skill-settings-AKMIXFSJ.js → skill-settings-AKSP665O.js} +45 -49
- package/chunks/{spawnChannel-ZP23JL6O.js → spawnChannel-N25MBB6F.js} +40 -44
- package/chunks/{standalone-update-P2Q5H4ZU.js → standalone-update-XGPWJDRN.js} +40 -44
- package/chunks/start-opentui-ui-FZ4USOU7.js +55342 -0
- package/chunks/{startInteractiveUI-NSA6QPQZ.js → startInteractiveUI-E2WQJUOA.js} +2920 -4542
- package/chunks/{syntheticOutput-5URSQLIS.js → syntheticOutput-HJNZSEHN.js} +2 -2
- package/chunks/{task-create-3EXVDG3G.js → task-create-6RSD54S5.js} +7 -7
- package/chunks/{task-list-PIBYNSE7.js → task-list-IQSACPOM.js} +31 -7
- package/chunks/{task-stop-IV3BYWJC.js → task-stop-HE2LRQNW.js} +1 -1
- package/chunks/{task-update-H5BPDS5Y.js → task-update-XAJ2NYOA.js} +7 -7
- package/chunks/{team-create-53T42W37.js → team-create-SOKMYSQU.js} +28 -32
- package/chunks/{team-delete-X3WPELS6.js → team-delete-NGNNKGMG.js} +1 -1
- package/chunks/{team-plan-approval-D45ZC5OE.js → team-plan-approval-U7ZWXYAY.js} +26 -30
- package/chunks/{terminal-image-renderer-FCRUWT6C.js → terminal-image-renderer-KKM4OBLO.js} +40 -44
- package/chunks/{theme-manager-MHNPEDP7.js → theme-manager-GQHF3A7T.js} +38 -42
- package/chunks/{todoWrite-A5IOZZ3P.js → todoWrite-5UTVUXHA.js} +36 -6
- package/chunks/{tool-search-6RPBGGUX.js → tool-search-IAI2RVWT.js} +10 -12
- package/chunks/{total-session-admission-MGV56XDK.js → total-session-admission-G4CGCSTG.js} +43 -47
- package/chunks/{trustedFolders-QJYEFMTU.js → trustedFolders-D2I3FDPB.js} +39 -43
- package/chunks/{update-relaunch-ZDMQX63C.js → update-relaunch-5RWKZAL3.js} +5 -5
- package/chunks/{updateCheck-4QZWCGP6.js → updateCheck-ZXOQDFEI.js} +42 -46
- package/chunks/{useAutoAcceptIndicator-DLIQN256.js → useAutoAcceptIndicator-6EK4QGAH.js} +49 -53
- package/chunks/{validateNonInterActiveAuth-HGTG7AEK.js → validateNonInterActiveAuth-QPFEKATS.js} +82 -86
- package/chunks/{version-CPAZMC4B.js → version-JKNG7YDH.js} +1 -1
- package/chunks/{web-fetch-N4K5M3M4.js → web-fetch-X3AHIIHW.js} +8 -11
- package/chunks/{web-search-4VZKM5SF.js → web-search-K2FMOGS5.js} +6 -7
- package/chunks/{web-shell-static-PW7OEDQO.js → web-shell-static-POZHGGXE.js} +4 -4
- package/chunks/{workflow-2ALQKTHG.js → workflow-TOLPAK5G.js} +38 -38
- package/chunks/{workspace-providers-status-5JM4CB6R.js → workspace-providers-status-PCJK3RC7.js} +50 -54
- package/chunks/{workspace-registration-store-RNMFVCH7.js → workspace-registration-store-KQWVVW4Y.js} +1 -1
- package/chunks/{workspace-registry-6EULAPZC.js → workspace-registry-YNIOB6HJ.js} +43 -47
- package/chunks/{workspace-runtime-coordinator-IRI2DRCJ.js → workspace-runtime-coordinator-WG2RNEN7.js} +43 -47
- package/chunks/{workspace-service-SETHN4WE.js → workspace-service-G4ZNBOFH.js} +51 -55
- package/chunks/{workspace-skills-status-4D4EUEQU.js → workspace-skills-status-FMTPPMWC.js} +47 -51
- package/chunks/{workspace-trust-reconciler-4LR3CDL4.js → workspace-trust-reconciler-IBDFQBQS.js} +53 -57
- package/chunks/wrapper-JH3IFHT2.js +35 -0
- package/chunks/{write-file-45GWPSOI.js → write-file-YTLFY2S5.js} +28 -32
- package/chunks/{zh-2BQ7P6OD.js → zh-25DF7OGK.js} +2 -0
- package/chunks/{zh-TW-UFXRZTXX.js → zh-TW-5EDMZVGK.js} +2 -0
- package/chunks/{zoom-image-K6IQUKRC.js → zoom-image-IFXSN74N.js} +6 -8
- package/cli.js +17 -13
- package/locales/en.js +3 -0
- package/locales/zh-TW.js +3 -0
- package/locales/zh.js +3 -0
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-C80OZcPP.js → abnfDiagram-VCTEODGH-Cxf7xE_Z.js} +1 -1
- package/web-shell/assets/{arc-AUqStYgf.js → arc-ESi1eNkE.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-CQYOdYla.js → architectureDiagram-5GKGNRK7-D9l7-bDo.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-lYKlFysy.js → blockDiagram-NRAW4CY4-Bc8DEasw.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BoS23iIp.js → c4Diagram-UCG6FXSJ-Dimb2Hmh.js} +1 -1
- package/web-shell/assets/channel-B7ohGDil.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DLLooL1E.js → chunk-2Q5K7J3B-jVDmOpAQ.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-kPfJxScY.js → chunk-5VM5RSS4-DbG_SwdB.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-CVGFBqkD.js → chunk-F27PBJKO-QEc4cY1v.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-CnM_kOVV.js → chunk-G27WJ6UU-iJ36lQ3X.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-Cj-ajOkT.js → chunk-JWPE2WC7-DuArnVtF.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-8L5c-wFo.js → chunk-LCL6LL3I-DxOf1zwL.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-DsXTxpvL.js → chunk-POPQ4Y6H-lVLu9Ild.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-DU5GE1_z.js → chunk-SVP7TREG-C6XYlIer.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-D2IIWZKt.js → chunk-XXDRQBXY-CiG2j2Ji.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CF_txUJr.js → cose-bilkent-JH36ORCC-DGVHMMVm.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-DEZ-My-Z.js → cynefin-OW5HDTMX-D6cgpCnH.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BV7EKUS6.js → cynefinDiagram-5FMLGOSQ-BKv4Z-UX.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-JGIX0G4H.js → dagre-3AP2YEHR-B4ABMIG-.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DdUY7q6A.js → diagram-S7CK7UJ4-DgCkp_Lm.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-fhzRZ19v.js → diagram-UQ7AKVKN-FG0FNokz.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-BOgOex6q.js → diagram-VSXAHHWV-JgkP9qg-.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-C0NknIz6.js → diagram-VX7I27RA-ADh2x83l.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-C__3mUBX.js → diagram-Z3DM3KII-yXqoYF1J.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-BvPhqycH.js → ebnfDiagram-PWID7BFC-Duk83Ek_.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-BqzoNoL9.js → erDiagram-SSCWMZ5O-DMdvxySG.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CJKOre47.js → flowDiagram-A5DVABFB-DHjVgSji.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-C5xZjrp0.js → ganttDiagram-EL5Y4UJY-DMM9DkCE.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C0EjwuPK.js → gitGraphDiagram-WWUBYQGX-t_ug9vO8.js} +1 -1
- package/web-shell/assets/index-BGZRqbRo.css +36 -0
- package/web-shell/assets/index-DRri_6_x.js +2067 -0
- package/web-shell/assets/{index-C5M93syE.js → index-zqvnpGHv.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-BUwzsYOs.js → infoDiagram-RXCK75RN-eT1fANNm.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-EDJ_DH3V.js → ishikawaDiagram-5VMMS53U-k3evzZNn.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BnfcOsS0.js → journeyDiagram-EYS64GPL-CGim3EAi.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-D_ofTVGu.js → kanban-definition-3QL26DDD-WHfJo-22.js} +1 -1
- package/web-shell/assets/{layout-CBuQFdfZ.js → layout-DkqIaFlJ.js} +1 -1
- package/web-shell/assets/{linear-DRIHtmGv.js → linear-Bdkd3mCz.js} +1 -1
- package/web-shell/assets/{mermaid.core-CmR5wZH6.js → mermaid.core-CGw0LkT_.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-BV374olC.js → mindmap-definition-FBJOCRG2-C9V4rBvo.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-Bpy1SplK.js → pegDiagram-XKGWAZYB-CwoI2T5G.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-CeZx4hR2.js → pieDiagram-E7YTZNPT-DaTmBmPG.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-COYKs14h.js → quadrantDiagram-AXDQQJYC-plh6MyGI.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-5g2pOeTs.js → railroadDiagram-O6MQD6OU-D_b-S0iK.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-Yn8uPGtF.js → requirementDiagram-EFPCY7ZU-zUzTN7VE.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CTayAGq6.js → sankeyDiagram-P5KCCOFB-m6AhoD0l.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BFWDKzUU.js → sequenceDiagram-WJ2MYXX4-Cwhzsine.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-CtErUbj4.js → sizeCapture-X5ZJPWSS-CcZuKIae.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-Co3HFzOd.js → stateDiagram-HBIQ2CUA-CFoiJwD_.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-CDZuxzOj.js → swimlanes-XN3QIQJK-CgS9hcaV.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-UcNHj8At.js → timeline-definition-24CTP7MA-Dzzc05t9.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-JKR9pVFG.js → vennDiagram-4TSXK5OY-DemK0f7Y.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C4SU-yIW.js → wardleyDiagram-VM6X3IG4-CquLxtMr.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-D_yoWGZ4.js → xychartDiagram-S5SC5T6Z-BTBKTM5g.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-4P7PPAHN.js +0 -3097
- package/chunks/chunk-7J6OTNGO.js +0 -424
- package/chunks/chunk-LMMHS3RS.js +0 -135
- package/chunks/chunk-MZYWNU66.js +0 -149
- package/chunks/chunk-T4EFG2P5.js +0 -113
- package/chunks/chunk-XZA32HII.js +0 -19
- package/chunks/goal-tools-7TNK5ZHC.js +0 -411
- package/web-shell/assets/channel-B0ovOJeK.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DMll2-6_.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DMll2-6_.js +0 -1
- package/web-shell/assets/index-B_IPzA0h.js +0 -2020
- package/web-shell/assets/index-D1OKGQlM.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C3gdRjPm.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C34TGCPZ.js +0 -8
- /package/chunks/{chunk-FOGQO4FG.js → chunk-JA5CBKRP.js} +0 -0
|
@@ -210,6 +210,7 @@ __name(signalAbortError, "signalAbortError");
|
|
|
210
210
|
// packages/sdk-typescript/src/daemon/session-pr.ts
|
|
211
211
|
init_esbuild_shims();
|
|
212
212
|
var MAX_SESSION_PR_URL_LENGTH = 2048;
|
|
213
|
+
var MAX_SESSION_PR_ISSUES = 10;
|
|
213
214
|
function hasControlCharacter(value) {
|
|
214
215
|
return Array.from(value).some((character) => {
|
|
215
216
|
const code = character.charCodeAt(0);
|
|
@@ -217,12 +218,20 @@ function hasControlCharacter(value) {
|
|
|
217
218
|
});
|
|
218
219
|
}
|
|
219
220
|
__name(hasControlCharacter, "hasControlCharacter");
|
|
221
|
+
function isBindingUrl(value) {
|
|
222
|
+
return typeof value === "string" && value.length <= MAX_SESSION_PR_URL_LENGTH && /^https?:\/\//i.test(value) && !hasControlCharacter(value);
|
|
223
|
+
}
|
|
224
|
+
__name(isBindingUrl, "isBindingUrl");
|
|
225
|
+
function isDaemonSessionIssueInfo(value) {
|
|
226
|
+
if (typeof value !== "object" || value === null) return false;
|
|
227
|
+
const v = value;
|
|
228
|
+
return typeof v["number"] === "number" && Number.isInteger(v["number"]) && v["number"] > 0 && isBindingUrl(v["url"]) && (v["state"] === void 0 || v["state"] === "open" || v["state"] === "completed" || v["state"] === "not_planned");
|
|
229
|
+
}
|
|
230
|
+
__name(isDaemonSessionIssueInfo, "isDaemonSessionIssueInfo");
|
|
220
231
|
function isDaemonSessionPrInfo(value) {
|
|
221
232
|
if (typeof value !== "object" || value === null) return false;
|
|
222
233
|
const v = value;
|
|
223
|
-
return typeof v["number"] === "number" && Number.isInteger(v["number"]) && v["number"] > 0 &&
|
|
224
|
-
// characters would forge log lines downstream of this gate.
|
|
225
|
-
!hasControlCharacter(v["url"]) && (v["state"] === void 0 || v["state"] === "open" || v["state"] === "merged" || v["state"] === "closed");
|
|
234
|
+
return typeof v["number"] === "number" && Number.isInteger(v["number"]) && v["number"] > 0 && isBindingUrl(v["url"]) && (v["state"] === void 0 || v["state"] === "open" || v["state"] === "merged" || v["state"] === "closed") && (v["issues"] === void 0 || Array.isArray(v["issues"]) && v["issues"].length <= MAX_SESSION_PR_ISSUES && v["issues"].every(isDaemonSessionIssueInfo));
|
|
226
235
|
}
|
|
227
236
|
__name(isDaemonSessionPrInfo, "isDaemonSessionPrInfo");
|
|
228
237
|
|
|
@@ -629,6 +638,7 @@ var DAEMON_APPROVAL_MODES = PERMISSION_MODES;
|
|
|
629
638
|
// packages/sdk-typescript/src/daemon/standalone-sessions.ts
|
|
630
639
|
init_esbuild_shims();
|
|
631
640
|
var STANDALONE_SESSIONS_CAPABILITY = "standalone_sessions_v1";
|
|
641
|
+
var STANDALONE_SESSION_OPTIONS_CAPABILITY = "standalone_session_options_v1";
|
|
632
642
|
var DaemonStandaloneProtocolError = class extends Error {
|
|
633
643
|
constructor(route, detail) {
|
|
634
644
|
super(`${route}: malformed standalone-session response (${detail})`);
|
|
@@ -720,6 +730,138 @@ function validateStandaloneFields(value, route) {
|
|
|
720
730
|
validateWorkingDirectory(value["workingDirectory"], route);
|
|
721
731
|
}
|
|
722
732
|
__name(validateStandaloneFields, "validateStandaloneFields");
|
|
733
|
+
function validateOptionalString(value, field, route) {
|
|
734
|
+
if (value[field] !== void 0 && typeof value[field] !== "string") {
|
|
735
|
+
throw new DaemonStandaloneProtocolError(route, `expected ${field} string`);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
__name(validateOptionalString, "validateOptionalString");
|
|
739
|
+
function validateStatusCell(value, route) {
|
|
740
|
+
requireString(value, "kind", route);
|
|
741
|
+
if (!["ok", "warning", "error", "disabled", "not_started", "unknown"].includes(
|
|
742
|
+
String(value["status"])
|
|
743
|
+
)) {
|
|
744
|
+
throw new DaemonStandaloneProtocolError(route, "invalid status");
|
|
745
|
+
}
|
|
746
|
+
for (const field of ["error", "hint"]) {
|
|
747
|
+
validateOptionalString(value, field, route);
|
|
748
|
+
}
|
|
749
|
+
if (value["errorKind"] !== void 0 && !DAEMON_ERROR_KINDS.includes(
|
|
750
|
+
value["errorKind"]
|
|
751
|
+
)) {
|
|
752
|
+
throw new DaemonStandaloneProtocolError(route, "invalid errorKind");
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
__name(validateStatusCell, "validateStatusCell");
|
|
756
|
+
function validateProviderModel(value, route) {
|
|
757
|
+
const model = asRecord(value, route, "provider model");
|
|
758
|
+
requireString(model, "modelId", route);
|
|
759
|
+
requireString(model, "baseModelId", route);
|
|
760
|
+
requireString(model, "name", route, true);
|
|
761
|
+
if (model["description"] !== void 0 && model["description"] !== null && typeof model["description"] !== "string") {
|
|
762
|
+
throw new DaemonStandaloneProtocolError(route, "invalid description");
|
|
763
|
+
}
|
|
764
|
+
if (model["contextLimit"] !== void 0 && (typeof model["contextLimit"] !== "number" || !Number.isFinite(model["contextLimit"]) || model["contextLimit"] <= 0)) {
|
|
765
|
+
throw new DaemonStandaloneProtocolError(route, "invalid contextLimit");
|
|
766
|
+
}
|
|
767
|
+
for (const field of ["baseUrl", "envKey"]) {
|
|
768
|
+
validateOptionalString(model, field, route);
|
|
769
|
+
}
|
|
770
|
+
for (const field of ["isCurrent", "isRuntime"]) {
|
|
771
|
+
if (typeof model[field] !== "boolean") {
|
|
772
|
+
throw new DaemonStandaloneProtocolError(
|
|
773
|
+
route,
|
|
774
|
+
`expected ${field} boolean`
|
|
775
|
+
);
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
if (model["modalities"] !== void 0) {
|
|
779
|
+
const modalities = asRecord(model["modalities"], route, "modalities");
|
|
780
|
+
for (const field of ["image", "pdf", "audio", "video"]) {
|
|
781
|
+
if (modalities[field] !== void 0 && typeof modalities[field] !== "boolean") {
|
|
782
|
+
throw new DaemonStandaloneProtocolError(
|
|
783
|
+
route,
|
|
784
|
+
`expected modalities.${field} boolean`
|
|
785
|
+
);
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
if (model["configOptions"] !== void 0 && !Array.isArray(model["configOptions"])) {
|
|
790
|
+
throw new DaemonStandaloneProtocolError(route, "expected configOptions[]");
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
__name(validateProviderModel, "validateProviderModel");
|
|
794
|
+
function parseStandaloneSessionOptions(value, route) {
|
|
795
|
+
const options = asRecord(value, route);
|
|
796
|
+
if (options["workspaceCwd"] !== void 0 || options["acpChannelLive"] !== void 0) {
|
|
797
|
+
throw new DaemonStandaloneProtocolError(
|
|
798
|
+
route,
|
|
799
|
+
"standalone options exposed workspace internals"
|
|
800
|
+
);
|
|
801
|
+
}
|
|
802
|
+
if (options["v"] !== 1) {
|
|
803
|
+
throw new DaemonStandaloneProtocolError(route, "expected v=1");
|
|
804
|
+
}
|
|
805
|
+
if (typeof options["initialized"] !== "boolean") {
|
|
806
|
+
throw new DaemonStandaloneProtocolError(
|
|
807
|
+
route,
|
|
808
|
+
"expected initialized boolean"
|
|
809
|
+
);
|
|
810
|
+
}
|
|
811
|
+
if (options["current"] !== void 0) {
|
|
812
|
+
const current = asRecord(options["current"], route, "current");
|
|
813
|
+
for (const field of [
|
|
814
|
+
"authType",
|
|
815
|
+
"modelId",
|
|
816
|
+
"baseUrl",
|
|
817
|
+
"fastModelId",
|
|
818
|
+
"visionModelId"
|
|
819
|
+
]) {
|
|
820
|
+
validateOptionalString(current, field, route);
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
if (options["approvalMode"] !== void 0 && !DAEMON_APPROVAL_MODES.includes(
|
|
824
|
+
options["approvalMode"]
|
|
825
|
+
)) {
|
|
826
|
+
throw new DaemonStandaloneProtocolError(route, "invalid approvalMode");
|
|
827
|
+
}
|
|
828
|
+
if (!Array.isArray(options["providers"])) {
|
|
829
|
+
throw new DaemonStandaloneProtocolError(route, "expected providers[]");
|
|
830
|
+
}
|
|
831
|
+
for (const value2 of options["providers"]) {
|
|
832
|
+
const provider = asRecord(value2, route, "provider");
|
|
833
|
+
validateStatusCell(provider, route);
|
|
834
|
+
if (provider["kind"] !== "model_provider") {
|
|
835
|
+
throw new DaemonStandaloneProtocolError(
|
|
836
|
+
route,
|
|
837
|
+
"expected model_provider kind"
|
|
838
|
+
);
|
|
839
|
+
}
|
|
840
|
+
requireString(provider, "authType", route);
|
|
841
|
+
if (typeof provider["current"] !== "boolean") {
|
|
842
|
+
throw new DaemonStandaloneProtocolError(
|
|
843
|
+
route,
|
|
844
|
+
"expected provider current boolean"
|
|
845
|
+
);
|
|
846
|
+
}
|
|
847
|
+
if (!Array.isArray(provider["models"])) {
|
|
848
|
+
throw new DaemonStandaloneProtocolError(route, "expected models[]");
|
|
849
|
+
}
|
|
850
|
+
for (const model of provider["models"]) {
|
|
851
|
+
validateProviderModel(model, route);
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
if (options["errors"] !== void 0) {
|
|
855
|
+
if (!Array.isArray(options["errors"])) {
|
|
856
|
+
throw new DaemonStandaloneProtocolError(route, "expected errors[]");
|
|
857
|
+
}
|
|
858
|
+
for (const value2 of options["errors"]) {
|
|
859
|
+
validateStatusCell(asRecord(value2, route, "error"), route);
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
return options;
|
|
863
|
+
}
|
|
864
|
+
__name(parseStandaloneSessionOptions, "parseStandaloneSessionOptions");
|
|
723
865
|
function parseStandaloneSession(value, route, expectedSessionId) {
|
|
724
866
|
const session = asRecord(value, route);
|
|
725
867
|
requireSessionId(session, route, expectedSessionId);
|
|
@@ -727,6 +869,12 @@ function parseStandaloneSession(value, route, expectedSessionId) {
|
|
|
727
869
|
if (typeof session["attached"] !== "boolean") {
|
|
728
870
|
throw new DaemonStandaloneProtocolError(route, "expected attached boolean");
|
|
729
871
|
}
|
|
872
|
+
if (session["modelApplied"] !== void 0 && typeof session["modelApplied"] !== "boolean") {
|
|
873
|
+
throw new DaemonStandaloneProtocolError(
|
|
874
|
+
route,
|
|
875
|
+
"expected modelApplied boolean"
|
|
876
|
+
);
|
|
877
|
+
}
|
|
730
878
|
validateStandaloneFields(session, route);
|
|
731
879
|
return session;
|
|
732
880
|
}
|
|
@@ -1323,6 +1471,31 @@ var DaemonClient = class {
|
|
|
1323
1471
|
}
|
|
1324
1472
|
);
|
|
1325
1473
|
}
|
|
1474
|
+
async setUserMcpServer(name, config) {
|
|
1475
|
+
return await this.jsonRequest(
|
|
1476
|
+
`/workspace/config/mcp/servers/${urlEncode(name)}`,
|
|
1477
|
+
"PUT /workspace/config/mcp/servers/:name",
|
|
1478
|
+
{
|
|
1479
|
+
method: "PUT",
|
|
1480
|
+
body: { scope: "user", config },
|
|
1481
|
+
mode: "rest"
|
|
1482
|
+
}
|
|
1483
|
+
);
|
|
1484
|
+
}
|
|
1485
|
+
async removeUserMcpServer(name) {
|
|
1486
|
+
return await this.jsonRequest(
|
|
1487
|
+
`/workspace/config/mcp/servers/${urlEncode(name)}?scope=user`,
|
|
1488
|
+
"DELETE /workspace/config/mcp/servers/:name",
|
|
1489
|
+
{ method: "DELETE", mode: "rest" }
|
|
1490
|
+
);
|
|
1491
|
+
}
|
|
1492
|
+
async setUserMcpServerEnabled(name, enabled) {
|
|
1493
|
+
return await this.jsonRequest(
|
|
1494
|
+
`/workspace/config/mcp/${urlEncode(name)}/${enabled ? "enable" : "disable"}`,
|
|
1495
|
+
"POST /workspace/config/mcp/:server/:action",
|
|
1496
|
+
{ method: "POST", body: {}, mode: "rest" }
|
|
1497
|
+
);
|
|
1498
|
+
}
|
|
1326
1499
|
async initializeWorkspaceMcp() {
|
|
1327
1500
|
return await this.fetchWithTimeout(
|
|
1328
1501
|
`${this.baseUrl}/workspace/mcp/initialize`,
|
|
@@ -1424,11 +1597,11 @@ var DaemonClient = class {
|
|
|
1424
1597
|
{ method: "POST", body: opts ?? {}, mode: "rest" }
|
|
1425
1598
|
);
|
|
1426
1599
|
}
|
|
1427
|
-
async workspaceGitPull(opts) {
|
|
1600
|
+
async workspaceGitPull(opts, timeoutMs) {
|
|
1428
1601
|
return await this.jsonRequest(
|
|
1429
1602
|
"/workspace/git/pull",
|
|
1430
1603
|
"POST /workspace/git/pull",
|
|
1431
|
-
{ method: "POST", body: opts ?? {}, mode: "rest" }
|
|
1604
|
+
{ method: "POST", body: opts ?? {}, mode: "rest", timeoutMs }
|
|
1432
1605
|
);
|
|
1433
1606
|
}
|
|
1434
1607
|
async workspaceGitCommit(message, opts) {
|
|
@@ -2415,6 +2588,16 @@ var DaemonClient = class {
|
|
|
2415
2588
|
);
|
|
2416
2589
|
}
|
|
2417
2590
|
// -- Sessions ----------------------------------------------------------
|
|
2591
|
+
async getStandaloneSessionOptions() {
|
|
2592
|
+
await this.requireCapability(STANDALONE_SESSION_OPTIONS_CAPABILITY);
|
|
2593
|
+
const route = "GET /standalone/session-options";
|
|
2594
|
+
const response = await this.jsonRequest(
|
|
2595
|
+
"/standalone/session-options",
|
|
2596
|
+
route,
|
|
2597
|
+
{ mode: "rest" }
|
|
2598
|
+
);
|
|
2599
|
+
return parseStandaloneSessionOptions(response, route);
|
|
2600
|
+
}
|
|
2418
2601
|
async createStandaloneSession(options = {}) {
|
|
2419
2602
|
await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
|
|
2420
2603
|
const { sessionId: requestedSessionId, ...request } = options;
|
|
@@ -2686,6 +2869,23 @@ var DaemonClient = class {
|
|
|
2686
2869
|
"GET /workspace/sessions"
|
|
2687
2870
|
);
|
|
2688
2871
|
}
|
|
2872
|
+
/**
|
|
2873
|
+
* Search user/assistant message content across a workspace's persisted
|
|
2874
|
+
* sessions via `GET /workspace/:id/sessions/search`. Returns one summary +
|
|
2875
|
+
* snippet per matching session, most recently modified first. Requires a
|
|
2876
|
+
* daemon new enough to serve the route — older daemons answer 404.
|
|
2877
|
+
*/
|
|
2878
|
+
async searchWorkspaceSessions(workspaceCwd, queryText, options = {}) {
|
|
2879
|
+
const query = new URLSearchParams({ q: queryText });
|
|
2880
|
+
if (options.maxResults !== void 0) {
|
|
2881
|
+
query.set("maxResults", String(options.maxResults));
|
|
2882
|
+
}
|
|
2883
|
+
return await this.jsonRequest(
|
|
2884
|
+
`/workspace/${urlEncode(workspaceCwd)}/sessions/search?${query.toString()}`,
|
|
2885
|
+
"GET /workspace/sessions/search",
|
|
2886
|
+
{ ...options.signal ? { signal: options.signal } : {} }
|
|
2887
|
+
);
|
|
2888
|
+
}
|
|
2689
2889
|
/**
|
|
2690
2890
|
* Read the memory-only live-state snapshot for a workspace via
|
|
2691
2891
|
* `GET /workspaces/:workspace/sessions/live-state`: the complete set of
|
|
@@ -4178,11 +4378,20 @@ var DaemonClient = class {
|
|
|
4178
4378
|
}
|
|
4179
4379
|
);
|
|
4180
4380
|
}
|
|
4181
|
-
async setSessionConfigOption(sessionId, configId, value,
|
|
4381
|
+
async setSessionConfigOption(sessionId, configId, value, clientOrOptions) {
|
|
4382
|
+
const options = typeof clientOrOptions === "string" ? { clientId: clientOrOptions } : clientOrOptions;
|
|
4182
4383
|
return await this.jsonRequest(
|
|
4183
4384
|
`/session/${urlEncode(sessionId)}/config-option`,
|
|
4184
4385
|
"POST /session/:id/config-option",
|
|
4185
|
-
{
|
|
4386
|
+
{
|
|
4387
|
+
method: "POST",
|
|
4388
|
+
body: {
|
|
4389
|
+
configId,
|
|
4390
|
+
value,
|
|
4391
|
+
...options?.persist !== void 0 ? { persist: options.persist } : {}
|
|
4392
|
+
},
|
|
4393
|
+
clientId: options?.clientId
|
|
4394
|
+
}
|
|
4186
4395
|
);
|
|
4187
4396
|
}
|
|
4188
4397
|
async setSessionLanguage(sessionId, language, opts) {
|
|
@@ -4207,6 +4416,26 @@ var DaemonClient = class {
|
|
|
4207
4416
|
}
|
|
4208
4417
|
);
|
|
4209
4418
|
}
|
|
4419
|
+
/**
|
|
4420
|
+
* Sessionless user-level language sync (`POST /language`). Succeeds with
|
|
4421
|
+
* zero sessions, so hosts can switch language before creating one.
|
|
4422
|
+
* Pre-flight `caps.features.includes('user_language_sync')` — daemons that
|
|
4423
|
+
* predate the route or were built without settings persistence 404.
|
|
4424
|
+
*/
|
|
4425
|
+
async setUserLanguage(language, opts) {
|
|
4426
|
+
return await this.jsonRequest(
|
|
4427
|
+
"/language",
|
|
4428
|
+
"POST /language",
|
|
4429
|
+
{
|
|
4430
|
+
method: "POST",
|
|
4431
|
+
body: {
|
|
4432
|
+
language,
|
|
4433
|
+
syncOutputLanguage: opts?.syncOutputLanguage ?? false
|
|
4434
|
+
},
|
|
4435
|
+
clientId: opts?.clientId
|
|
4436
|
+
}
|
|
4437
|
+
);
|
|
4438
|
+
}
|
|
4210
4439
|
/**
|
|
4211
4440
|
* Send a prompt to the agent. Supports both blocking (legacy 200)
|
|
4212
4441
|
* and non-blocking (202 + SSE `turn_complete`) daemon responses.
|
|
@@ -4799,6 +5028,105 @@ var WorkspaceDaemonClient = class {
|
|
|
4799
5028
|
workspaceMcp() {
|
|
4800
5029
|
return this.get("/mcp", "GET /workspaces/:workspace/mcp");
|
|
4801
5030
|
}
|
|
5031
|
+
mcpConfig() {
|
|
5032
|
+
return this.client.workspaceJsonRequest(
|
|
5033
|
+
this.workspaceSelector,
|
|
5034
|
+
"/config/mcp/servers",
|
|
5035
|
+
"GET /workspaces/:workspace/config/mcp/servers",
|
|
5036
|
+
{ mode: "rest" }
|
|
5037
|
+
);
|
|
5038
|
+
}
|
|
5039
|
+
setMcpServer(name, config) {
|
|
5040
|
+
return this.client.workspaceJsonRequest(
|
|
5041
|
+
this.workspaceSelector,
|
|
5042
|
+
`/config/mcp/servers/${urlEncode(name)}`,
|
|
5043
|
+
"PUT /workspaces/:workspace/config/mcp/servers/:name",
|
|
5044
|
+
{
|
|
5045
|
+
method: "PUT",
|
|
5046
|
+
body: { scope: "workspace", config },
|
|
5047
|
+
mode: "rest"
|
|
5048
|
+
}
|
|
5049
|
+
);
|
|
5050
|
+
}
|
|
5051
|
+
removeMcpServer(name) {
|
|
5052
|
+
return this.client.workspaceJsonRequest(
|
|
5053
|
+
this.workspaceSelector,
|
|
5054
|
+
`/config/mcp/servers/${urlEncode(name)}?scope=workspace`,
|
|
5055
|
+
"DELETE /workspaces/:workspace/config/mcp/servers/:name",
|
|
5056
|
+
{ method: "DELETE", mode: "rest" }
|
|
5057
|
+
);
|
|
5058
|
+
}
|
|
5059
|
+
setMcpServerEnabled(name, enabled) {
|
|
5060
|
+
return this.client.workspaceJsonRequest(
|
|
5061
|
+
this.workspaceSelector,
|
|
5062
|
+
`/config/mcp/${urlEncode(name)}/${enabled ? "enable" : "disable"}`,
|
|
5063
|
+
"POST /workspaces/:workspace/config/mcp/:server/:action",
|
|
5064
|
+
{ method: "POST", body: {}, mode: "rest" }
|
|
5065
|
+
);
|
|
5066
|
+
}
|
|
5067
|
+
runtimeMcp() {
|
|
5068
|
+
return this.client.workspaceJsonRequest(
|
|
5069
|
+
this.workspaceSelector,
|
|
5070
|
+
"/runtime/mcp",
|
|
5071
|
+
"GET /workspaces/:workspace/runtime/mcp",
|
|
5072
|
+
{ mode: "rest" }
|
|
5073
|
+
);
|
|
5074
|
+
}
|
|
5075
|
+
runtimeMcpTools(serverName) {
|
|
5076
|
+
return this.client.workspaceJsonRequest(
|
|
5077
|
+
this.workspaceSelector,
|
|
5078
|
+
`/runtime/mcp/${urlEncode(serverName)}/tools`,
|
|
5079
|
+
"GET /workspaces/:workspace/runtime/mcp/:server/tools",
|
|
5080
|
+
{ mode: "rest" }
|
|
5081
|
+
);
|
|
5082
|
+
}
|
|
5083
|
+
runtimeMcpResources(serverName) {
|
|
5084
|
+
return this.client.workspaceJsonRequest(
|
|
5085
|
+
this.workspaceSelector,
|
|
5086
|
+
`/runtime/mcp/${urlEncode(serverName)}/resources`,
|
|
5087
|
+
"GET /workspaces/:workspace/runtime/mcp/:server/resources",
|
|
5088
|
+
{ mode: "rest" }
|
|
5089
|
+
);
|
|
5090
|
+
}
|
|
5091
|
+
reloadRuntimeMcp(options = {}) {
|
|
5092
|
+
return this.client.workspaceJsonRequest(
|
|
5093
|
+
this.workspaceSelector,
|
|
5094
|
+
"/runtime/mcp/reload",
|
|
5095
|
+
"POST /workspaces/:workspace/runtime/mcp/reload",
|
|
5096
|
+
{
|
|
5097
|
+
method: "POST",
|
|
5098
|
+
body: options,
|
|
5099
|
+
mode: "rest",
|
|
5100
|
+
timeoutMs: MCP_RESTART_DEFAULT_TIMEOUT_MS
|
|
5101
|
+
}
|
|
5102
|
+
);
|
|
5103
|
+
}
|
|
5104
|
+
restartRuntimeMcpServer(serverName) {
|
|
5105
|
+
return this.client.workspaceJsonRequest(
|
|
5106
|
+
this.workspaceSelector,
|
|
5107
|
+
`/runtime/mcp/${urlEncode(serverName)}/restart`,
|
|
5108
|
+
"POST /workspaces/:workspace/runtime/mcp/:server/restart",
|
|
5109
|
+
{
|
|
5110
|
+
method: "POST",
|
|
5111
|
+
body: {},
|
|
5112
|
+
mode: "rest",
|
|
5113
|
+
timeoutMs: MCP_RESTART_DEFAULT_TIMEOUT_MS
|
|
5114
|
+
}
|
|
5115
|
+
);
|
|
5116
|
+
}
|
|
5117
|
+
manageRuntimeMcpServer(serverName, action) {
|
|
5118
|
+
return this.client.workspaceJsonRequest(
|
|
5119
|
+
this.workspaceSelector,
|
|
5120
|
+
`/runtime/mcp/${urlEncode(serverName)}/${action}`,
|
|
5121
|
+
"POST /workspaces/:workspace/runtime/mcp/:server/:action",
|
|
5122
|
+
{
|
|
5123
|
+
method: "POST",
|
|
5124
|
+
body: {},
|
|
5125
|
+
mode: "rest",
|
|
5126
|
+
timeoutMs: MCP_RESTART_DEFAULT_TIMEOUT_MS
|
|
5127
|
+
}
|
|
5128
|
+
);
|
|
5129
|
+
}
|
|
4802
5130
|
ensureRuntime() {
|
|
4803
5131
|
return this.client.workspaceJsonRequest(
|
|
4804
5132
|
this.workspaceSelector,
|
|
@@ -4819,6 +5147,34 @@ var WorkspaceDaemonClient = class {
|
|
|
4819
5147
|
{ mode: "rest" }
|
|
4820
5148
|
);
|
|
4821
5149
|
}
|
|
5150
|
+
/**
|
|
5151
|
+
* Ask the daemon host to open this workspace's directory in the host's OS
|
|
5152
|
+
* file manager (Finder/Explorer/xdg-open). Only advertised via the
|
|
5153
|
+
* `workspace_local_open` capability; on a headless host the daemon answers
|
|
5154
|
+
* 501 `local_path_open_unavailable`.
|
|
5155
|
+
*/
|
|
5156
|
+
async openLocally() {
|
|
5157
|
+
await this.client.workspaceJsonRequest(
|
|
5158
|
+
this.workspaceSelector,
|
|
5159
|
+
"/open",
|
|
5160
|
+
"POST /workspaces/:workspace/open",
|
|
5161
|
+
{ method: "POST", body: {}, mode: "rest" }
|
|
5162
|
+
);
|
|
5163
|
+
}
|
|
5164
|
+
/**
|
|
5165
|
+
* Ask the daemon host to open a terminal window in this workspace's
|
|
5166
|
+
* directory (Terminal.app/wt.exe/a Linux terminal emulator). Only
|
|
5167
|
+
* advertised via the `workspace_local_terminal` capability; on a headless
|
|
5168
|
+
* host the daemon answers 501 `local_path_open_unavailable`.
|
|
5169
|
+
*/
|
|
5170
|
+
async openTerminalLocally() {
|
|
5171
|
+
await this.client.workspaceJsonRequest(
|
|
5172
|
+
this.workspaceSelector,
|
|
5173
|
+
"/open",
|
|
5174
|
+
"POST /workspaces/:workspace/open",
|
|
5175
|
+
{ method: "POST", body: { target: "terminal" }, mode: "rest" }
|
|
5176
|
+
);
|
|
5177
|
+
}
|
|
4822
5178
|
/**
|
|
4823
5179
|
* Send text directly through this exact workspace's channel worker.
|
|
4824
5180
|
* A successful capability pre-flight does not guarantee worker liveness;
|
|
@@ -5093,13 +5449,13 @@ var WorkspaceDaemonClient = class {
|
|
|
5093
5449
|
{ method: "POST", body: opts ?? {}, mode: "rest" }
|
|
5094
5450
|
);
|
|
5095
5451
|
}
|
|
5096
|
-
workspaceGitPull(opts, cwd) {
|
|
5452
|
+
workspaceGitPull(opts, cwd, timeoutMs) {
|
|
5097
5453
|
const suffix = cwd != null ? `/git/pull?cwd=${urlEncode(cwd)}` : "/git/pull";
|
|
5098
5454
|
return this.client.workspaceJsonRequest(
|
|
5099
5455
|
this.workspaceSelector,
|
|
5100
5456
|
suffix,
|
|
5101
5457
|
"POST /workspaces/:workspace/git/pull",
|
|
5102
|
-
{ method: "POST", body: opts ?? {}, mode: "rest" }
|
|
5458
|
+
{ method: "POST", body: opts ?? {}, mode: "rest", timeoutMs }
|
|
5103
5459
|
);
|
|
5104
5460
|
}
|
|
5105
5461
|
workspaceGitCommit(message, opts, cwd) {
|
|
@@ -5961,6 +6317,14 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
5961
6317
|
get branch() {
|
|
5962
6318
|
return this.session.branch;
|
|
5963
6319
|
}
|
|
6320
|
+
/**
|
|
6321
|
+
* Present when this client was created with a `modelServiceId`: `false`
|
|
6322
|
+
* means the spawn-time model switch failed and the session is running on
|
|
6323
|
+
* the agent default model.
|
|
6324
|
+
*/
|
|
6325
|
+
get modelApplied() {
|
|
6326
|
+
return this.session.modelApplied;
|
|
6327
|
+
}
|
|
5964
6328
|
get lastEventId() {
|
|
5965
6329
|
return this.lastSeenEventId;
|
|
5966
6330
|
}
|
|
@@ -6179,13 +6543,11 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
6179
6543
|
setModel(modelId) {
|
|
6180
6544
|
return this.client.setSessionModel(this.sessionId, modelId, this.clientId);
|
|
6181
6545
|
}
|
|
6182
|
-
setConfigOption(configId, value) {
|
|
6183
|
-
return this.client.setSessionConfigOption(
|
|
6184
|
-
this.
|
|
6185
|
-
|
|
6186
|
-
|
|
6187
|
-
this.clientId
|
|
6188
|
-
);
|
|
6546
|
+
setConfigOption(configId, value, opts) {
|
|
6547
|
+
return this.client.setSessionConfigOption(this.sessionId, configId, value, {
|
|
6548
|
+
clientId: this.clientId,
|
|
6549
|
+
persist: opts?.persist
|
|
6550
|
+
});
|
|
6189
6551
|
}
|
|
6190
6552
|
getRewindSnapshots() {
|
|
6191
6553
|
return this.client.getRewindSnapshots(this.sessionId);
|
|
@@ -7502,7 +7864,7 @@ function isSessionClosedData(value) {
|
|
|
7502
7864
|
}
|
|
7503
7865
|
__name(isSessionClosedData, "isSessionClosedData");
|
|
7504
7866
|
function isSessionMetadataUpdatedData(value) {
|
|
7505
|
-
if (!isRecord(value) || !isNonEmptyString(value["sessionId"]) || !isOptionalStringOrNull(value["displayName"])) {
|
|
7867
|
+
if (!isRecord(value) || !isNonEmptyString(value["sessionId"]) || !isOptionalStringOrNull(value["displayName"]) || value["titleSource"] !== void 0 && value["titleSource"] !== "manual" && value["titleSource"] !== "auto") {
|
|
7506
7868
|
return false;
|
|
7507
7869
|
}
|
|
7508
7870
|
const prs = value["prs"];
|
|
@@ -8902,6 +9264,7 @@ function normalizePlanUpdate(update, base) {
|
|
|
8902
9264
|
const stats = meta && isRecord2(meta["stats"]) ? meta["stats"] : void 0;
|
|
8903
9265
|
const todoPlan = meta && isRecord2(meta["qwenTodoPlan"]) ? meta["qwenTodoPlan"] : void 0;
|
|
8904
9266
|
const planId = getString2(todoPlan, "id");
|
|
9267
|
+
const sessionWorkflow = meta?.["qwenSessionWorkflow"] === true;
|
|
8905
9268
|
return {
|
|
8906
9269
|
...base,
|
|
8907
9270
|
type: "tool.update",
|
|
@@ -8919,7 +9282,8 @@ function normalizePlanUpdate(update, base) {
|
|
|
8919
9282
|
rawOutput: {
|
|
8920
9283
|
entries,
|
|
8921
9284
|
...stats ? { stats } : {},
|
|
8922
|
-
...planId ? { plan: { id: planId, sourceCallId: planCallId } } : {}
|
|
9285
|
+
...planId ? { plan: { id: planId, sourceCallId: planCallId } } : {},
|
|
9286
|
+
...sessionWorkflow ? { sessionWorkflow: true } : {}
|
|
8923
9287
|
}
|
|
8924
9288
|
};
|
|
8925
9289
|
}
|
|
@@ -10747,7 +11111,8 @@ function compactTaskExecutionOutput(rawOutput, retainSubagentBlocks) {
|
|
|
10747
11111
|
"executionMode",
|
|
10748
11112
|
"terminateReason",
|
|
10749
11113
|
"tokenCount",
|
|
10750
|
-
"executionSummary"
|
|
11114
|
+
"executionSummary",
|
|
11115
|
+
"skills"
|
|
10751
11116
|
]) {
|
|
10752
11117
|
if (rawOutput[key] !== void 0) compact[key] = rawOutput[key];
|
|
10753
11118
|
}
|
|
@@ -12964,6 +13329,7 @@ export {
|
|
|
12964
13329
|
PENDING_PROMPT_COMPLETED_EVENT,
|
|
12965
13330
|
PENDING_PROMPT_STARTED_EVENT,
|
|
12966
13331
|
STANDALONE_SESSIONS_CAPABILITY,
|
|
13332
|
+
STANDALONE_SESSION_OPTIONS_CAPABILITY,
|
|
12967
13333
|
SseFramingError,
|
|
12968
13334
|
UNRECOGNIZED_DIAGNOSTICS_LIMIT,
|
|
12969
13335
|
WorkspaceDaemonClient,
|