@qwen-code/qwen-code 0.21.4 → 0.21.5-nightly.20260805.32e274157
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/qc-helper/docs/configuration/model-providers.md +8 -7
- package/bundled/qc-helper/docs/configuration/settings.md +16 -16
- package/bundled/qc-helper/docs/features/code-review.md +4 -0
- package/bundled/qc-helper/docs/features/headless.md +31 -0
- package/bundled/qc-helper/docs/features/mcp.md +11 -3
- package/bundled/qc-helper/docs/qwen-serve.md +75 -0
- package/bundled/review/SKILL.md +90 -52
- package/chunks/{MaxSizedBox-5XDFQHTQ.js → MaxSizedBox-H44SGRP7.js} +17 -16
- package/chunks/{StandaloneSessionPicker-DLADA54K.js → StandaloneSessionPicker-T5FQMYD3.js} +31 -30
- package/chunks/{acpAgent-MVEFZSBS.js → acpAgent-J474KXVM.js} +849 -313
- package/chunks/{agent-RB6LCRZX.js → agent-SC23IV5L.js} +17 -16
- package/chunks/{agent-headless-272ZACJV.js → agent-headless-2CHR5WJP.js} +17 -16
- package/chunks/{artifact-tool-TBOYEKTY.js → artifact-tool-RROCCJDA.js} +1 -1
- package/chunks/{askUserQuestion-23Y5WZFJ.js → askUserQuestion-2EPPBPUZ.js} +1 -1
- package/chunks/{bridge-GXUXFSHK.js → bridge-BLHYPCCR.js} +21 -19
- package/chunks/{channel-settings-store-5UA2SABE.js → channel-settings-store-CDOZ7GCP.js} +22 -21
- package/chunks/{channel-worker-group-NDG4WOOZ.js → channel-worker-group-SVGPDH2C.js} +3 -2
- package/chunks/{channel-worker-manager-ZCW6UW34.js → channel-worker-manager-72ZK2GTS.js} +3 -2
- package/chunks/{channel-worker-supervisor-ATGFTZRN.js → channel-worker-supervisor-NUEDVHX4.js} +2 -1
- package/chunks/{chunk-PWCQRLM5.js → chunk-2AGOQ7QO.js} +1 -1
- package/chunks/{chunk-AFJSRJTO.js → chunk-2B6FBVWE.js} +1 -1
- package/chunks/{chunk-XPAY4EMH.js → chunk-2OSE7Q5O.js} +3 -3
- package/chunks/{chunk-DHNFB7NC.js → chunk-2QOLRESU.js} +5 -5
- package/chunks/{chunk-UWSXFI6E.js → chunk-2U7GPHA6.js} +6 -2
- package/chunks/{chunk-CIUUYB23.js → chunk-3DTM3RPU.js} +1 -1
- package/chunks/{chunk-X6QNZOTC.js → chunk-3PRJYMXC.js} +2 -2
- package/chunks/{chunk-6KQUOXT5.js → chunk-3XDH6PZM.js} +7 -7
- package/chunks/{chunk-DJA7YBLJ.js → chunk-56MC5OM7.js} +2 -2
- package/chunks/{chunk-B3EBXISV.js → chunk-5DVP76WL.js} +90 -7
- package/chunks/{chunk-2T3RYG4L.js → chunk-5KDLX7ER.js} +919 -323
- package/chunks/{chunk-O2ZYHG33.js → chunk-5L6CQ4ZU.js} +131 -67
- package/chunks/{chunk-E2SYUEIA.js → chunk-5OAMVWFL.js} +874 -375
- package/chunks/{chunk-LPLMUGIM.js → chunk-5X76FZLI.js} +5 -5
- package/chunks/{chunk-M2L4TMH3.js → chunk-6HTEECQY.js} +3 -3
- package/chunks/{chunk-KHSJSMFS.js → chunk-6I6WUVYI.js} +1 -1
- package/chunks/{chunk-LLMGP5IC.js → chunk-6WBWIPBF.js} +2 -2
- package/chunks/{chunk-PQ5JFCNL.js → chunk-762UTZQZ.js} +3 -3
- package/chunks/{chunk-HBCKZF2A.js → chunk-7EW7CYLA.js} +1 -1
- package/chunks/{chunk-4PZ7SPD5.js → chunk-7FKLLD4X.js} +1 -1
- package/chunks/{chunk-XSOAW7FC.js → chunk-AE7AKP3E.js} +6 -6
- package/chunks/{chunk-UATJZOAJ.js → chunk-ASS3UQB5.js} +3 -3
- package/chunks/{chunk-XGA6XHH3.js → chunk-AXOFMDZC.js} +3 -3
- package/chunks/chunk-BKHCW2BI.js +41 -0
- package/chunks/{chunk-DZPOYHBT.js → chunk-D6FISK43.js} +1 -1
- package/chunks/{chunk-CFDR3GNL.js → chunk-D7D7RXIJ.js} +11 -0
- package/chunks/{chunk-FPPVCCAH.js → chunk-DNPP267F.js} +1 -1
- package/chunks/{chunk-I32URQI7.js → chunk-EA2CKB6L.js} +5 -5
- package/chunks/{chunk-C5YFS6VR.js → chunk-EL4W7MGQ.js} +4 -4
- package/chunks/{chunk-QXTGHZCX.js → chunk-FDLXWNCE.js} +3 -3
- package/chunks/{chunk-PCVMRBLN.js → chunk-FFCSRU3F.js} +1 -1
- package/chunks/{chunk-SV5X2EUV.js → chunk-FMU2QVA5.js} +1 -1
- package/chunks/{chunk-2ON2O4MD.js → chunk-FV2JYSWS.js} +28 -3
- package/chunks/{chunk-KB6VSG2U.js → chunk-GXP44JOS.js} +7 -7
- package/chunks/{chunk-BC4LTKEG.js → chunk-HP6MKLWU.js} +1 -1
- package/chunks/{chunk-YXEVDA66.js → chunk-HU5TUALO.js} +110 -22
- package/chunks/{chunk-2JN5V3I7.js → chunk-ITZK3L4S.js} +1 -1
- package/chunks/{chunk-5XGI4IPK.js → chunk-JEVHOCCA.js} +4 -4
- package/chunks/{chunk-6ME3PVMM.js → chunk-JNFWMBG6.js} +5 -5
- package/chunks/{chunk-3PHUGFPH.js → chunk-JXPOBM4B.js} +1 -1
- package/chunks/{chunk-TXZDRD36.js → chunk-LCCBAGRT.js} +5 -5
- package/chunks/{chunk-G7XXKQYS.js → chunk-LKRMNRSN.js} +27 -1
- package/chunks/{chunk-DOCBJIBL.js → chunk-MB3ILUB7.js} +1 -1
- package/chunks/{chunk-HFVW54NL.js → chunk-MBEMTXQT.js} +9 -2
- package/chunks/{chunk-RNKGMZEW.js → chunk-MFTOMYE2.js} +1 -1
- package/chunks/{chunk-RPYYTL7E.js → chunk-MGSSJT27.js} +2 -2
- package/chunks/{chunk-URVJ4AZC.js → chunk-MKMUBBEX.js} +1 -1
- package/chunks/{chunk-RL2NPV5E.js → chunk-N5QPOGRQ.js} +1 -1
- package/chunks/{chunk-2CCUHZP5.js → chunk-N7PF4KZR.js} +2 -2
- package/chunks/{chunk-JDJ7SC4E.js → chunk-NMBDPO63.js} +255 -197
- package/chunks/{chunk-M6RNMBUO.js → chunk-NQZ5IVLH.js} +4 -4
- package/chunks/{chunk-FV4TUUDE.js → chunk-O4WOWHMZ.js} +1 -1
- package/chunks/{chunk-GDREW3U5.js → chunk-OIVG6IHL.js} +2 -2
- package/chunks/{chunk-IMGNGOGC.js → chunk-PQ2J56BJ.js} +3 -3
- package/chunks/{chunk-EJXATV5R.js → chunk-PWFDZA5A.js} +2 -2
- package/chunks/{chunk-OOPFAIWP.js → chunk-Q7EXR3W2.js} +1 -1
- package/chunks/{chunk-4CTV3FZH.js → chunk-QJL2AQZI.js} +23 -19
- package/chunks/{chunk-SBBHZ3YT.js → chunk-QKWPXGW4.js} +1 -1
- package/chunks/{chunk-HI4YGRJD.js → chunk-RDICVTQC.js} +3 -3
- package/chunks/{chunk-ZRQY5BBS.js → chunk-REAWLQAU.js} +10 -10
- package/chunks/{chunk-BOWKLLWA.js → chunk-SOBA6GIW.js} +3 -3
- package/chunks/{chunk-WDLQGFWP.js → chunk-TYWI5NXY.js} +27 -27
- package/chunks/{chunk-A7PONO5G.js → chunk-URJHXOSO.js} +2 -2
- package/chunks/{chunk-C6FU76AA.js → chunk-V3BNVUFI.js} +1 -1
- package/chunks/{chunk-G6KI6B5L.js → chunk-VF6WPN4R.js} +1 -1
- package/chunks/{chunk-AWTLFUVN.js → chunk-VT27B2XS.js} +13 -13
- package/chunks/{chunk-O4IWFYUW.js → chunk-VY4TEQQ6.js} +4 -4
- package/chunks/{chunk-EIAPOG76.js → chunk-WECYW5EE.js} +4 -4
- package/chunks/{chunk-PDDYAXL2.js → chunk-WIRAPZ62.js} +7 -0
- package/chunks/chunk-WOJZWRAZ.js +123 -0
- package/chunks/{chunk-7UXI6P72.js → chunk-WVAESIM6.js} +2 -2
- package/chunks/{chunk-P5UJMCVS.js → chunk-XIDYVC4P.js} +4 -4
- package/chunks/{chunk-THLV7YGY.js → chunk-XIKKANF4.js} +2 -2
- package/chunks/{chunk-FHPKHXHT.js → chunk-XNZBXQCG.js} +4 -0
- package/chunks/{chunk-ZLJQIGCH.js → chunk-XZCMQUOF.js} +8 -0
- package/chunks/{chunk-PQEIKQXN.js → chunk-YJMFRTLV.js} +24 -6
- package/chunks/{chunk-QZQ72YF6.js → chunk-Z26UXKZE.js} +1 -1
- package/chunks/{chunk-VA5NLVPT.js → chunk-Z7JILXGX.js} +1 -1
- package/chunks/{chunk-UEJESCS7.js → chunk-ZPPP6VCL.js} +1 -1
- package/chunks/{computer-use-MDOMIVTL.js → computer-use-ENYMKQAI.js} +17 -16
- package/chunks/{config-utils-E3ZQTHGM.js → config-utils-LIRO7NSU.js} +2 -2
- package/chunks/{contextCommand-FCK3CB37.js → contextCommand-E7XMHU6M.js} +19 -18
- package/chunks/{core-runtime-UHRHHU2O.js → core-runtime-KDIRQ63A.js} +17 -16
- package/chunks/{create-sub-session-J32WC64U.js → create-sub-session-6EWLAZD5.js} +1 -1
- package/chunks/{create-sub-session-MIXUVLWW.js → create-sub-session-VVEL77UF.js} +17 -16
- package/chunks/{cron-create-HMFSHIAR.js → cron-create-CCRIULJE.js} +1 -1
- package/chunks/{cron-delete-ZJFHOX57.js → cron-delete-FCFW6BGP.js} +1 -1
- package/chunks/{cron-list-ZEX2NBMN.js → cron-list-QDBVCHRF.js} +1 -1
- package/chunks/{daemon-status-provider-6LC7LUNR.js → daemon-status-provider-4LMCSLZ4.js} +25 -23
- package/chunks/{daemon-trust-policy-Y36HGRAM.js → daemon-trust-policy-XLONWB2C.js} +22 -21
- package/chunks/{daemon-trust-policy-monitor-ROTBBDOH.js → daemon-trust-policy-monitor-FHFZ3NNG.js} +22 -21
- package/chunks/{deferred-core-runtime-ZQ4JIAJD.js → deferred-core-runtime-QNEBJ3DP.js} +17 -16
- package/chunks/{display-image-2WOG27DY.js → display-image-GUJA352B.js} +2 -2
- package/chunks/{earlyInputCapture-GPRUNXTP.js → earlyInputCapture-OG5IUF4R.js} +17 -16
- package/chunks/{edit-YK3UP6D2.js → edit-E2WNOITJ.js} +18 -17
- package/chunks/{enter-worktree-QMVQW7UG.js → enter-worktree-RMCBAAA2.js} +17 -16
- package/chunks/{enterPlanMode-TZAYQ5MP.js → enterPlanMode-GISFJA3O.js} +17 -16
- package/chunks/{environment-3UQURCZG.js → environment-JXTQGYDN.js} +19 -18
- package/chunks/{errors-VBIMTNNI.js → errors-2AYTYCQ3.js} +19 -18
- package/chunks/{exit-worktree-4EC7LBBC.js → exit-worktree-HORS3V7Z.js} +17 -16
- package/chunks/{exitPlanMode-K5Y3REU2.js → exitPlanMode-V75Y36HJ.js} +17 -16
- package/chunks/external-tool-guard-provider-5HTGOPGU.js +273 -0
- package/chunks/{fast-path-KS6IE7YR.js → fast-path-HURC6JUT.js} +5 -5
- package/chunks/{gemini-LTUCUOJH.js → gemini-WHMD4RGY.js} +70 -55
- package/chunks/{geminiContentGenerator-M3HJTHKR.js → geminiContentGenerator-DZB3GPNQ.js} +1 -1
- package/chunks/{glob-SKUYGTF2.js → glob-IGTV723M.js} +17 -16
- package/chunks/{goal-tools-SPQ5M6D3.js → goal-tools-3AZKX5WQ.js} +2 -18
- package/chunks/{grep-SQ7RD7SV.js → grep-SJ2NYUCD.js} +17 -16
- package/chunks/{handleAutoUpdate-OK7OX23A.js → handleAutoUpdate-NPBKROGA.js} +21 -20
- package/chunks/{i18n-P77YBKY4.js → i18n-CBSMJZ3Z.js} +18 -17
- package/chunks/{image-gen-2ZWPS42A.js → image-gen-KNKDTUEN.js} +2 -2
- package/chunks/{initializer-PIOYXVW7.js → initializer-JT5P3IQF.js} +22 -21
- package/chunks/{installationInfo-IWMM6DPV.js → installationInfo-CZVCKPPZ.js} +18 -17
- package/chunks/{list-3DCR4TRI.js → list-MT7T6JVH.js} +25 -24
- package/chunks/{list-agents-TWEGRJWO.js → list-agents-GC4BRET7.js} +1 -1
- package/chunks/{loadedSettingsAdapter-EJC6CU5N.js → loadedSettingsAdapter-D4JFGYYQ.js} +22 -21
- package/chunks/{loggingContentGenerator-2JEFU25T.js → loggingContentGenerator-SFT5CMPU.js} +9 -8
- package/chunks/{loop-wakeup-6LLEOQYV.js → loop-wakeup-SQQSBMEY.js} +2 -2
- package/chunks/{ls-H5WX22VK.js → ls-63CC3NNX.js} +1 -1
- package/chunks/{lsp-G6FXYEIS.js → lsp-P6NVJVNT.js} +1 -1
- package/chunks/{managed-npm-update-EGVQPSBR.js → managed-npm-update-YHJW6SGD.js} +18 -17
- package/chunks/{mcp-KFFH2MBV.js → mcp-53X2M7XL.js} +22 -21
- package/chunks/{monitor-6Y3NDMTI.js → monitor-I43P3MNV.js} +17 -16
- package/chunks/{nonInteractiveCli-426IQDPE.js → nonInteractiveCli-UADCDERF.js} +50 -48
- package/chunks/{notebook-edit-373IQQLE.js → notebook-edit-WKZUONWV.js} +18 -17
- package/chunks/{openaiContentGenerator-PGFSOMIQ.js → openaiContentGenerator-YHF3FIYI.js} +9 -8
- package/chunks/{pidfile-Y4INDMHG.js → pidfile-VU37FJS4.js} +17 -16
- package/chunks/{processUtils-6BCPCJZW.js → processUtils-VIQVTDWH.js} +2 -2
- package/chunks/{qwenContentGenerator-QC3KSHSX.js → qwenContentGenerator-46476NL4.js} +18 -17
- package/chunks/{qwenOAuth2-IOAXKJ3L.js → qwenOAuth2-D62OJZFU.js} +1 -1
- package/chunks/{read-file-2T54FYZV.js → read-file-6PSNROKB.js} +7 -6
- package/chunks/{read-mcp-resource-DRZSI3HE.js → read-mcp-resource-RTSSEER5.js} +1 -1
- package/chunks/{record-artifact-IPIRWMFY.js → record-artifact-E6AWQU2Z.js} +2 -2
- package/chunks/{resumeHistoryUtils-O62RDCZ3.js → resumeHistoryUtils-QFD6LB7N.js} +20 -19
- package/chunks/{ripGrep-3H72KY7S.js → ripGrep-4WZJEOGB.js} +17 -16
- package/chunks/{run-qwen-serve-3AIDNNHO.js → run-qwen-serve-SEL3TISE.js} +72 -36
- package/chunks/{runtime-AZ4EHHFV.js → runtime-T6JAS7GL.js} +25 -24
- package/chunks/{scheduler-L4UUCU4Z.js → scheduler-ZCTDMJJV.js} +17 -16
- package/chunks/{sdk-exporters-http-IKNWQJNV.js → sdk-exporters-http-IL2346MJ.js} +6 -2
- package/chunks/{sdk-impl-7CUUMQDB.js → sdk-impl-SYKGVWOZ.js} +2 -2
- package/chunks/{send-message-LHJLVWFD.js → send-message-TL6FIMMN.js} +3 -3
- package/chunks/{serve-CLXGSYOE.js → serve-A7B6VWK7.js} +23 -21
- package/chunks/{server-MEAE3WMM.js → server-6CCTTLO4.js} +170 -63
- package/chunks/{session-OSLD2LT5.js → session-3YYXW6MZ.js} +51 -49
- package/chunks/{settings-ILWAOKA4.js → settings-KWYWA3BS.js} +21 -20
- package/chunks/{shell-RT5DBH6B.js → shell-6SUYJURL.js} +17 -16
- package/chunks/{skill-LVGA3ATZ.js → skill-ZIQFS6YD.js} +8 -7
- package/chunks/{skill-settings-WTZE7EPE.js → skill-settings-23IFV7S3.js} +21 -20
- package/chunks/{spawnChannel-BOBS7DVM.js → spawnChannel-AI7QA35U.js} +20 -18
- package/chunks/{standalone-update-Y5JB4S2K.js → standalone-update-WNXRFLEA.js} +19 -18
- package/chunks/{startInteractiveUI-ZV25CD2S.js → startInteractiveUI-NPZU6YXV.js} +76 -71
- package/chunks/{syntheticOutput-EYL7DWO7.js → syntheticOutput-BN7E626U.js} +2 -2
- package/chunks/{task-create-4ALZMGP5.js → task-create-2X4UP4F3.js} +4 -4
- package/chunks/{task-list-6CVQPORX.js → task-list-WOLJPZ64.js} +1 -1
- package/chunks/{task-stop-Y5ZTFVRX.js → task-stop-TNXRNAL2.js} +1 -1
- package/chunks/{task-update-IKCEEWJ6.js → task-update-VDUSN36E.js} +4 -4
- package/chunks/{team-create-ZVPQIXCP.js → team-create-CMF2RRF2.js} +17 -16
- package/chunks/{team-delete-CE7DC53R.js → team-delete-D2VMSDOT.js} +1 -1
- package/chunks/{team-plan-approval-5UHUBY3W.js → team-plan-approval-5EET4S3I.js} +17 -16
- package/chunks/{terminal-image-renderer-NWC2RALG.js → terminal-image-renderer-TCEAHDFE.js} +18 -17
- package/chunks/{theme-manager-5KICSBOB.js → theme-manager-RPYRQJLX.js} +17 -16
- package/chunks/{todoWrite-FTZWQRZH.js → todoWrite-MHWHO5UO.js} +1 -1
- package/chunks/{tool-search-2AOU77H4.js → tool-search-HJN53LCN.js} +9 -8
- package/chunks/{total-session-admission-FR7RMHVL.js → total-session-admission-4FZK4PCR.js} +21 -19
- package/chunks/{trustedFolders-V7UUPQXO.js → trustedFolders-RIYUQQJC.js} +18 -17
- package/chunks/{update-relaunch-TBWRMQD6.js → update-relaunch-3HVSJU2T.js} +5 -5
- package/chunks/{updateCheck-42SPCLH7.js → updateCheck-EE2XXQNJ.js} +20 -19
- package/chunks/{useAutoAcceptIndicator-4C2KM345.js → useAutoAcceptIndicator-RRV7MW47.js} +23 -22
- package/chunks/{validateNonInterActiveAuth-UVFRXV3Z.js → validateNonInterActiveAuth-3QRII2BS.js} +47 -45
- package/chunks/{version-HKTV6TPN.js → version-4KUHPDAC.js} +1 -1
- package/chunks/{web-fetch-ZRXSV5AN.js → web-fetch-MXA6HQ42.js} +7 -6
- package/chunks/{web-search-WOLV3L6T.js → web-search-YENHOBMC.js} +5 -4
- package/chunks/{workflow-F63ES3OB.js → workflow-RYEVBM4L.js} +18 -17
- package/chunks/{workspace-providers-status-PJMGMYMC.js → workspace-providers-status-SBTU5TWO.js} +25 -24
- package/chunks/{workspace-registration-store-LNBOX5TJ.js → workspace-registration-store-VUMOTODR.js} +1 -1
- package/chunks/{workspace-registry-4PR7VDQ3.js → workspace-registry-OZ5ZUBJ6.js} +21 -19
- package/chunks/{workspace-service-PVI3VUNQ.js → workspace-service-Y3IGAN4K.js} +26 -25
- package/chunks/{workspace-skills-status-2Q5ZISO6.js → workspace-skills-status-FXOIDGOS.js} +23 -22
- package/chunks/{workspace-trust-reconciler-NOILUH3C.js → workspace-trust-reconciler-DQI7MYJS.js} +26 -24
- package/chunks/{write-file-MOM4JDHG.js → write-file-NK4C3GFC.js} +17 -16
- package/chunks/{zoom-image-E3VHRCFU.js → zoom-image-4Y6Y6DAX.js} +7 -6
- package/cli-entry.js +14 -0
- package/cli.js +16 -12
- package/package.json +3 -3
- package/web-shell/assets/{arc-GpdmhIxr.js → arc-DtI1rZcQ.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-C-LhCgH_.js → architectureDiagram-3BPJPVTR-BPZwSVct.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CzNdTCm-.js → blockDiagram-GPEHLZMM-BIQ03j4C.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Ce7hbrRM.js → c4Diagram-AAUBKEIU-CB0RyFGm.js} +1 -1
- package/web-shell/assets/channel-vfbVFuM1.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BBSEn1PK.js → chunk-2J33WTMH-B3WoS-4H.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-_llgjfe5.js → chunk-4BX2VUAB-C98xYZ1X.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-9fJZ_oZE.js → chunk-55IACEB6-CbTIWRwQ.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DgEzQWOu.js → chunk-727SXJPM-DWGnKTPu.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-B4RthUTc.js → chunk-AQP2D5EJ-4__QyCEX.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CDI-emMW.js → chunk-FMBD7UC4-DFtG1YCW.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-jM2-yOd8.js → chunk-ND2GUHAM-rvAhW51N.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-XGZHlKPF.js → chunk-QZHKN3VN-DfiU9pwZ.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Cvr8atq3.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvr8atq3.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-90nbW1xQ.js → cose-bilkent-S5V4N54A-Cc4EIdxu.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BtzlyqZ9.js → dagre-BM42HDAG-CZNj4dGW.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-DAaqGWaH.js → diagram-2AECGRRQ-D5tiqQCr.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CxlzSIFa.js → diagram-5GNKFQAL-pwzw0jVO.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-8kj-1H6u.js → diagram-KO2AKTUF-4CWiM00x.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-6NhjFwRF.js → diagram-LMA3HP47-Dd7rc7Qf.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-Bn9kvInz.js → diagram-OG6HWLK6-_vzV52ml.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CaRoGsAt.js → erDiagram-TEJ5UH35-CqbE2bx_.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-TkLweHdf.js → flowDiagram-I6XJVG4X-CaxNr7w4.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-ruwhCKBl.js → ganttDiagram-6RSMTGT7-AGjrtfUA.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DNI_PxoU.js → gitGraphDiagram-PVQCEYII-ADG2zSkc.js} +1 -1
- package/web-shell/assets/{index-p1gz-sxE.js → index-BOryKCqt.js} +1 -1
- package/web-shell/assets/index-Cb1LjsCv.css +5 -0
- package/web-shell/assets/{index-T4KluHvu.js → index-CvJDaIy8.js} +329 -329
- package/web-shell/assets/{infoDiagram-5YYISTIA-DarXq1-A.js → infoDiagram-5YYISTIA-CE3B_IoZ.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-GxDaDlT0.js → ishikawaDiagram-YF4QCWOH-CN-Frhoi.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-mDEoGBzY.js → journeyDiagram-JHISSGLW-CGgezS93.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Ds0t-Mup.js → kanban-definition-UN3LZRKU-BqWijky5.js} +1 -1
- package/web-shell/assets/{linear-05nJ0xZ7.js → linear-D8sfpZf6.js} +1 -1
- package/web-shell/assets/{mermaid.core-Bua24ThM.js → mermaid.core-3PA4QrzM.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_zRdvUS.js → mindmap-definition-RKZ34NQL-D9QxwiCY.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DZHr1x16.js → pieDiagram-4H26LBE5-Bioaf6uE.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-HA06Wf0h.js → quadrantDiagram-W4KKPZXB-DBb2AS73.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DH3urmJf.js → requirementDiagram-4Y6WPE33-DXOvZ3KB.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C4xgz0TT.js → sankeyDiagram-5OEKKPKP-D9qg09Dm.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DAUoZWgv.js → sequenceDiagram-3UESZ5HK-DSAUIfpw.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-v7NzXy4l.js → stateDiagram-AJRCARHV-BPZkzfQ3.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DInOqnhZ.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B3GTYR2W.js → timeline-definition-PNZ67QCA-UDaQp9sP.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BWHjSPAq.js → vennDiagram-CIIHVFJN-2ouhAnHO.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-m9r6IUBC.js → wardley-L42UT6IY-Cq_WEvTK.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-kT0FkVfK.js → wardleyDiagram-YWT4CUSO-Dt24aXOM.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-CYRm10z5.js → xychartDiagram-2RQKCTM6-A5Xk2WCH.js} +1 -1
- package/web-shell/index.html +2 -2
- package/bundled/review/DESIGN.md +0 -724
- package/web-shell/assets/channel-95y6Rcp3.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-pfzVkmjQ.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-pfzVkmjQ.js +0 -1
- package/web-shell/assets/index-WxSvj2tI.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CtdFexEf.js +0 -1
- package/chunks/{channel-management-service-UHX56NBO.js → channel-management-service-5XPPTWUQ.js} +3 -3
- package/chunks/{chunk-LEZFUYPM.js → chunk-7GYP5COR.js} +3 -3
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
shouldSuppressRememberErrorDetails,
|
|
18
18
|
workspaceMemoryFailureCode,
|
|
19
19
|
workspaceMemoryFailureDiagnostics
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-EA2CKB6L.js";
|
|
21
21
|
import {
|
|
22
22
|
openQwenAsrRealtimeStream,
|
|
23
23
|
openVoiceStream,
|
|
@@ -34,20 +34,17 @@ import {
|
|
|
34
34
|
toJson,
|
|
35
35
|
toJsonl,
|
|
36
36
|
toMarkdown
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-2QOLRESU.js";
|
|
38
38
|
import {
|
|
39
39
|
OBSERVED_CONTACT_MAX_FRESH_WITHIN_SECONDS,
|
|
40
40
|
ObservedChannelContactStore
|
|
41
41
|
} from "./chunk-DYA25Y7U.js";
|
|
42
42
|
import "./chunk-4NFY2S7N.js";
|
|
43
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-2B6FBVWE.js";
|
|
44
44
|
import "./chunk-2MIN6GRR.js";
|
|
45
45
|
import "./chunk-QHTIBUWB.js";
|
|
46
46
|
import "./chunk-EKTCKZV5.js";
|
|
47
47
|
import "./chunk-3Z43GZUQ.js";
|
|
48
|
-
import {
|
|
49
|
-
assertValidChannelSecretUpdates
|
|
50
|
-
} from "./chunk-2JN5V3I7.js";
|
|
51
48
|
import {
|
|
52
49
|
CAPABILITIES_SCHEMA_VERSION,
|
|
53
50
|
CLIENT_ID_HEADER,
|
|
@@ -105,19 +102,22 @@ import {
|
|
|
105
102
|
setRateLimiter,
|
|
106
103
|
unsafeRevealSecret,
|
|
107
104
|
validateMcpRuntimeServerName
|
|
108
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-XZCMQUOF.js";
|
|
109
106
|
import {
|
|
110
107
|
isLoopbackBind
|
|
111
108
|
} from "./chunk-RXFQM6FQ.js";
|
|
112
109
|
import "./chunk-HGCQ5SE7.js";
|
|
110
|
+
import {
|
|
111
|
+
assertValidChannelSecretUpdates
|
|
112
|
+
} from "./chunk-ITZK3L4S.js";
|
|
113
113
|
import {
|
|
114
114
|
createWorkspaceSkillsStatusProvider
|
|
115
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-SOBA6GIW.js";
|
|
116
116
|
import "./chunk-BGXZBI5B.js";
|
|
117
117
|
import {
|
|
118
118
|
evaluateDaemonWorkspaceTrust,
|
|
119
119
|
readDaemonTrustPolicySnapshot
|
|
120
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-RDICVTQC.js";
|
|
121
121
|
import {
|
|
122
122
|
EMPTY_WORKSPACE_VOICE_UPDATE_ERROR,
|
|
123
123
|
MAX_WORKSPACE_SKILL_NAME_LENGTH,
|
|
@@ -131,14 +131,14 @@ import {
|
|
|
131
131
|
validateWorkspaceSkillName,
|
|
132
132
|
validateWorkspaceVoiceState,
|
|
133
133
|
voiceSettingsScopeToWire
|
|
134
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-3XDH6PZM.js";
|
|
135
135
|
import {
|
|
136
136
|
PermissionRulesValidationError,
|
|
137
137
|
buildPermissionSettings,
|
|
138
138
|
isPermissionRuleType,
|
|
139
139
|
normalizePermissionRules,
|
|
140
140
|
readPermissionRuleSet
|
|
141
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-N5QPOGRQ.js";
|
|
142
142
|
import {
|
|
143
143
|
assertVoiceBaseUrlNetworkAllowed,
|
|
144
144
|
isStreamingVoiceModel,
|
|
@@ -146,12 +146,12 @@ import {
|
|
|
146
146
|
resolveVoiceTranscriptionConfig,
|
|
147
147
|
sanitizeVoiceErrorMessage,
|
|
148
148
|
transcribeVoiceAudio
|
|
149
|
-
} from "./chunk-
|
|
149
|
+
} from "./chunk-VF6WPN4R.js";
|
|
150
150
|
import {
|
|
151
151
|
isVoiceEnabled,
|
|
152
152
|
isVoiceMode,
|
|
153
153
|
readVoiceModel
|
|
154
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-DNPP267F.js";
|
|
155
155
|
import "./chunk-JELIWHXD.js";
|
|
156
156
|
import "./chunk-Z4X5MTRT.js";
|
|
157
157
|
import {
|
|
@@ -172,21 +172,21 @@ import "./chunk-GRC5HGPI.js";
|
|
|
172
172
|
import {
|
|
173
173
|
daemonObservedContactsPath,
|
|
174
174
|
loadChannelsConfig
|
|
175
|
-
} from "./chunk-
|
|
176
|
-
import "./chunk-
|
|
175
|
+
} from "./chunk-JEVHOCCA.js";
|
|
176
|
+
import "./chunk-VY4TEQQ6.js";
|
|
177
177
|
import "./chunk-57OAHC2Y.js";
|
|
178
178
|
import {
|
|
179
179
|
createDaemonStatusProvider
|
|
180
|
-
} from "./chunk-
|
|
180
|
+
} from "./chunk-WECYW5EE.js";
|
|
181
181
|
import "./chunk-VXZBKKQR.js";
|
|
182
|
-
import "./chunk-
|
|
182
|
+
import "./chunk-2OSE7Q5O.js";
|
|
183
183
|
import "./chunk-3SH53ANB.js";
|
|
184
184
|
import {
|
|
185
185
|
SessionArtifactAuthorizationError,
|
|
186
186
|
SessionArtifactValidationError,
|
|
187
187
|
createAcpSessionBridge,
|
|
188
188
|
parseSessionSource
|
|
189
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-5DVP76WL.js";
|
|
190
190
|
import {
|
|
191
191
|
EVENT_SCHEMA_VERSION,
|
|
192
192
|
EventBus,
|
|
@@ -194,32 +194,32 @@ import {
|
|
|
194
194
|
} from "./chunk-GLWP3FDB.js";
|
|
195
195
|
import "./chunk-XCGIMOLN.js";
|
|
196
196
|
import "./chunk-OCPBI7J5.js";
|
|
197
|
-
import "./chunk-
|
|
197
|
+
import "./chunk-2U7GPHA6.js";
|
|
198
198
|
import {
|
|
199
199
|
createWorkspaceProvidersStatusProvider
|
|
200
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-AE7AKP3E.js";
|
|
201
201
|
import {
|
|
202
202
|
getAuthTypeFromEnv,
|
|
203
203
|
resolveCliGenerationConfig
|
|
204
|
-
} from "./chunk-
|
|
204
|
+
} from "./chunk-PQ2J56BJ.js";
|
|
205
205
|
import {
|
|
206
206
|
snapshotProcessEnv
|
|
207
|
-
} from "./chunk-
|
|
207
|
+
} from "./chunk-OIVG6IHL.js";
|
|
208
208
|
import {
|
|
209
209
|
STATUS_SCHEMA_VERSION,
|
|
210
210
|
createIdleWorkspaceMemoryStatus,
|
|
211
211
|
mapDomainErrorToErrorKind
|
|
212
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-WIRAPZ62.js";
|
|
213
213
|
import "./chunk-K6KS3LTN.js";
|
|
214
214
|
import "./chunk-FC4KQFCS.js";
|
|
215
215
|
import "./chunk-T3CHYWJZ.js";
|
|
216
216
|
import {
|
|
217
217
|
parseChannelWebhookConfigLenient
|
|
218
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-7GYP5COR.js";
|
|
219
|
+
import "./chunk-VWOVHOTT.js";
|
|
219
220
|
import {
|
|
220
221
|
supportedChannelCatalog
|
|
221
222
|
} from "./chunk-DTAPI453.js";
|
|
222
|
-
import "./chunk-VWOVHOTT.js";
|
|
223
223
|
import "./chunk-V6WHFGST.js";
|
|
224
224
|
import {
|
|
225
225
|
MAX_REGISTERED_WORKSPACES,
|
|
@@ -228,7 +228,7 @@ import {
|
|
|
228
228
|
WorkspaceRegistrationStoreLimitError,
|
|
229
229
|
normalizeWorkspaceDisplayName,
|
|
230
230
|
workspaceRegistrationId
|
|
231
|
-
} from "./chunk-
|
|
231
|
+
} from "./chunk-HP6MKLWU.js";
|
|
232
232
|
import "./chunk-UKZEXS6K.js";
|
|
233
233
|
import {
|
|
234
234
|
BranchWhilePromptActiveError,
|
|
@@ -286,6 +286,7 @@ import {
|
|
|
286
286
|
normalizeServeChannelSelection
|
|
287
287
|
} from "./chunk-ALMR3E6Q.js";
|
|
288
288
|
import "./chunk-BK2UNYWD.js";
|
|
289
|
+
import "./chunk-BKHCW2BI.js";
|
|
289
290
|
import {
|
|
290
291
|
redactLogCredentials
|
|
291
292
|
} from "./chunk-M5GB774H.js";
|
|
@@ -303,7 +304,7 @@ import {
|
|
|
303
304
|
getWritableScopes,
|
|
304
305
|
loadSettings,
|
|
305
306
|
validateSettingValue
|
|
306
|
-
} from "./chunk-
|
|
307
|
+
} from "./chunk-GXP44JOS.js";
|
|
307
308
|
import "./chunk-RKUWKYED.js";
|
|
308
309
|
import "./chunk-GOXKNSDZ.js";
|
|
309
310
|
import "./chunk-IDS7MSUP.js";
|
|
@@ -312,14 +313,14 @@ import {
|
|
|
312
313
|
detectSystemLanguage,
|
|
313
314
|
resolveLanguageSetting,
|
|
314
315
|
resolveSupportedLanguage
|
|
315
|
-
} from "./chunk-
|
|
316
|
-
import "./chunk-
|
|
316
|
+
} from "./chunk-O4WOWHMZ.js";
|
|
317
|
+
import "./chunk-7FKLLD4X.js";
|
|
317
318
|
import "./chunk-6PEXNQTX.js";
|
|
318
|
-
import "./chunk-
|
|
319
|
+
import "./chunk-7EW7CYLA.js";
|
|
319
320
|
import "./chunk-VJNBRRZG.js";
|
|
320
321
|
import {
|
|
321
322
|
getWorkspaceTrustStatus
|
|
322
|
-
} from "./chunk-
|
|
323
|
+
} from "./chunk-MKMUBBEX.js";
|
|
323
324
|
import "./chunk-ALGGS7UH.js";
|
|
324
325
|
import {
|
|
325
326
|
isWithinRoot as isWithinRoot2
|
|
@@ -397,7 +398,7 @@ import {
|
|
|
397
398
|
writeWorkspaceContextFile,
|
|
398
399
|
writeWorktreeSession,
|
|
399
400
|
writeWorktreeSessionMarker
|
|
400
|
-
} from "./chunk-
|
|
401
|
+
} from "./chunk-5OAMVWFL.js";
|
|
401
402
|
import "./chunk-GOFAQQZA.js";
|
|
402
403
|
import "./chunk-5M6IDOMF.js";
|
|
403
404
|
import "./chunk-TWPJO254.js";
|
|
@@ -405,12 +406,12 @@ import "./chunk-H6XPXXMH.js";
|
|
|
405
406
|
import {
|
|
406
407
|
MAX_JOBS,
|
|
407
408
|
nextDurableFireMs
|
|
408
|
-
} from "./chunk-
|
|
409
|
+
} from "./chunk-Z7JILXGX.js";
|
|
409
410
|
import "./chunk-I7JDGNG6.js";
|
|
410
411
|
import "./chunk-A6SX5TAH.js";
|
|
411
412
|
import "./chunk-33FNCQSY.js";
|
|
412
413
|
import "./chunk-6PVPNMXU.js";
|
|
413
|
-
import "./chunk-
|
|
414
|
+
import "./chunk-D6FISK43.js";
|
|
414
415
|
import {
|
|
415
416
|
nextFireTime,
|
|
416
417
|
parseCron
|
|
@@ -424,7 +425,7 @@ import {
|
|
|
424
425
|
taskHasLegacyCondition,
|
|
425
426
|
updateCronTasks
|
|
426
427
|
} from "./chunk-MOHAWIAW.js";
|
|
427
|
-
import "./chunk-
|
|
428
|
+
import "./chunk-3PRJYMXC.js";
|
|
428
429
|
import "./chunk-O6GEWCJA.js";
|
|
429
430
|
import "./chunk-T26EAKDL.js";
|
|
430
431
|
import "./chunk-ZPJWUGCS.js";
|
|
@@ -434,19 +435,19 @@ import "./chunk-KRXPRVGL.js";
|
|
|
434
435
|
import "./chunk-A5YZ3FA2.js";
|
|
435
436
|
import "./chunk-YAVY33G4.js";
|
|
436
437
|
import "./chunk-2UISUFHQ.js";
|
|
437
|
-
import "./chunk-
|
|
438
|
+
import "./chunk-MBEMTXQT.js";
|
|
438
439
|
import {
|
|
439
440
|
APPROVAL_MODES
|
|
440
|
-
} from "./chunk-
|
|
441
|
+
} from "./chunk-6WBWIPBF.js";
|
|
441
442
|
import "./chunk-S6LOFUVP.js";
|
|
442
443
|
import {
|
|
443
444
|
SubagentError,
|
|
444
445
|
SubagentErrorCode
|
|
445
|
-
} from "./chunk-
|
|
446
|
+
} from "./chunk-WVAESIM6.js";
|
|
446
447
|
import "./chunk-K623ENWT.js";
|
|
447
448
|
import "./chunk-AQ37AY7B.js";
|
|
448
449
|
import "./chunk-432XCUHF.js";
|
|
449
|
-
import "./chunk-
|
|
450
|
+
import "./chunk-HU5TUALO.js";
|
|
450
451
|
import {
|
|
451
452
|
QwenOAuth2Client,
|
|
452
453
|
QwenOAuthPollError,
|
|
@@ -463,7 +464,7 @@ import "./chunk-DGEIYUC3.js";
|
|
|
463
464
|
import "./chunk-MPHPFVKK.js";
|
|
464
465
|
import "./chunk-GLNBDYUX.js";
|
|
465
466
|
import "./chunk-DJ2GSRLV.js";
|
|
466
|
-
import "./chunk-
|
|
467
|
+
import "./chunk-QKWPXGW4.js";
|
|
467
468
|
import {
|
|
468
469
|
addDaemonRequestAttribute,
|
|
469
470
|
emitDaemonLog,
|
|
@@ -473,7 +474,7 @@ import {
|
|
|
473
474
|
recordDaemonHttpRequest,
|
|
474
475
|
recordDaemonHttpResponse,
|
|
475
476
|
withDaemonRequestSpan
|
|
476
|
-
} from "./chunk-
|
|
477
|
+
} from "./chunk-MGSSJT27.js";
|
|
477
478
|
import "./chunk-2J3OJGTL.js";
|
|
478
479
|
import "./chunk-P3QQPMQA.js";
|
|
479
480
|
import "./chunk-6O5DVH27.js";
|
|
@@ -491,20 +492,21 @@ import {
|
|
|
491
492
|
isWithinRoot,
|
|
492
493
|
parseLineTolerant,
|
|
493
494
|
read
|
|
494
|
-
} from "./chunk-
|
|
495
|
+
} from "./chunk-NMBDPO63.js";
|
|
496
|
+
import "./chunk-WOJZWRAZ.js";
|
|
495
497
|
import "./chunk-VGC4I5JJ.js";
|
|
496
498
|
import "./chunk-E4WHKETF.js";
|
|
497
|
-
import "./chunk-
|
|
498
|
-
import "./chunk-
|
|
499
|
-
import "./chunk-
|
|
499
|
+
import "./chunk-ZPPP6VCL.js";
|
|
500
|
+
import "./chunk-D7D7RXIJ.js";
|
|
501
|
+
import "./chunk-LCCBAGRT.js";
|
|
500
502
|
import "./chunk-46UV252V.js";
|
|
501
503
|
import "./chunk-ZBVS26BY.js";
|
|
502
504
|
import "./chunk-BFHXDAR7.js";
|
|
503
505
|
import "./chunk-TYERNYH4.js";
|
|
504
506
|
import "./chunk-UH7Z7Y45.js";
|
|
505
|
-
import "./chunk-
|
|
507
|
+
import "./chunk-5L6CQ4ZU.js";
|
|
506
508
|
import "./chunk-W4RQUHY3.js";
|
|
507
|
-
import "./chunk-
|
|
509
|
+
import "./chunk-LKRMNRSN.js";
|
|
508
510
|
import {
|
|
509
511
|
FatalConfigError,
|
|
510
512
|
Storage,
|
|
@@ -2028,7 +2030,12 @@ async function readTextSnapshotFromResolvedFile(p, opts = {}, knownPre) {
|
|
|
2028
2030
|
const meta = {
|
|
2029
2031
|
encoding: decoded.encoding,
|
|
2030
2032
|
bom: decoded.bom,
|
|
2031
|
-
|
|
2033
|
+
// Detected across the whole decoded file, not the returned slice. A slice
|
|
2034
|
+
// holding one CRLF line arrives as text ending in '\r' with the '\n'
|
|
2035
|
+
// consumed as its terminator, so testing the slice reports 'lf' — and one
|
|
2036
|
+
// page of a cursor sequence would then disagree with the next about the
|
|
2037
|
+
// same file.
|
|
2038
|
+
lineEnding: detectLineEnding(decoded.content),
|
|
2032
2039
|
sizeBytes: raw.length,
|
|
2033
2040
|
originalLineCount: sliced.originalLineCount,
|
|
2034
2041
|
hash: hashBuffer(raw)
|
|
@@ -2036,7 +2043,6 @@ async function readTextSnapshotFromResolvedFile(p, opts = {}, knownPre) {
|
|
|
2036
2043
|
const output = Buffer.from(content, "utf-8");
|
|
2037
2044
|
if (output.length > maxOutputBytes) {
|
|
2038
2045
|
content = safeUtf8Truncate(output, maxOutputBytes).toString("utf-8");
|
|
2039
|
-
meta.lineEnding = detectLineEnding(content);
|
|
2040
2046
|
meta.truncated = true;
|
|
2041
2047
|
byteTruncated = true;
|
|
2042
2048
|
}
|
|
@@ -13207,7 +13213,11 @@ var CdpBrowserEmulator = class {
|
|
|
13207
13213
|
static {
|
|
13208
13214
|
__name(this, "CdpBrowserEmulator");
|
|
13209
13215
|
}
|
|
13210
|
-
|
|
13216
|
+
attachedPageSessions = /* @__PURE__ */ new Set();
|
|
13217
|
+
nextPageSessionId = 1;
|
|
13218
|
+
autoAttachActive = false;
|
|
13219
|
+
pageSessionDetached = false;
|
|
13220
|
+
droppedTabEvents = 0;
|
|
13211
13221
|
/**
|
|
13212
13222
|
* Refresh the synthetic tab/page targetInfo (url/title) once the extension
|
|
13213
13223
|
* acks `cdp_attach`, so puppeteer's `page.url()`/`page.title()` reflect the
|
|
@@ -13289,6 +13299,67 @@ var CdpBrowserEmulator = class {
|
|
|
13289
13299
|
id,
|
|
13290
13300
|
result: { targetInfo: this.pageTargetInfo() }
|
|
13291
13301
|
});
|
|
13302
|
+
case "Target.getDevToolsTarget":
|
|
13303
|
+
return this.cb.reply({ id, result: {} });
|
|
13304
|
+
case "Target.attachToTarget": {
|
|
13305
|
+
const targetId = params?.["targetId"];
|
|
13306
|
+
if (targetId !== PAGE_TARGET_ID) {
|
|
13307
|
+
return this.cb.reply({
|
|
13308
|
+
id,
|
|
13309
|
+
error: {
|
|
13310
|
+
code: SERVER_ERROR,
|
|
13311
|
+
message: `Cannot attach to target: ${String(targetId)}`
|
|
13312
|
+
}
|
|
13313
|
+
});
|
|
13314
|
+
}
|
|
13315
|
+
const attachedSessionId = `qwen-cdp-page-session-${this.nextPageSessionId++}`;
|
|
13316
|
+
this.attachedPageSessions.add(attachedSessionId);
|
|
13317
|
+
this.cb.reply({
|
|
13318
|
+
method: "Target.attachedToTarget",
|
|
13319
|
+
params: {
|
|
13320
|
+
targetInfo: this.pageTargetInfo(),
|
|
13321
|
+
sessionId: attachedSessionId,
|
|
13322
|
+
waitingForDebugger: false
|
|
13323
|
+
}
|
|
13324
|
+
});
|
|
13325
|
+
return this.cb.reply({
|
|
13326
|
+
id,
|
|
13327
|
+
result: { sessionId: attachedSessionId }
|
|
13328
|
+
});
|
|
13329
|
+
}
|
|
13330
|
+
case "Target.detachFromTarget": {
|
|
13331
|
+
const attachedSessionId = params?.["sessionId"];
|
|
13332
|
+
if (attachedSessionId === PAGE_SESSION_ID) {
|
|
13333
|
+
if (this.autoAttachActive) {
|
|
13334
|
+
this.autoAttachActive = false;
|
|
13335
|
+
this.pageSessionDetached = true;
|
|
13336
|
+
this.cb.reply({
|
|
13337
|
+
method: "Target.detachedFromTarget",
|
|
13338
|
+
params: {
|
|
13339
|
+
sessionId: PAGE_SESSION_ID,
|
|
13340
|
+
targetId: PAGE_TARGET_ID
|
|
13341
|
+
}
|
|
13342
|
+
});
|
|
13343
|
+
}
|
|
13344
|
+
} else if (typeof attachedSessionId === "string" && this.attachedPageSessions.delete(attachedSessionId)) {
|
|
13345
|
+
this.cb.reply({
|
|
13346
|
+
method: "Target.detachedFromTarget",
|
|
13347
|
+
params: {
|
|
13348
|
+
sessionId: attachedSessionId,
|
|
13349
|
+
targetId: PAGE_TARGET_ID
|
|
13350
|
+
}
|
|
13351
|
+
});
|
|
13352
|
+
} else {
|
|
13353
|
+
return this.cb.reply({
|
|
13354
|
+
id,
|
|
13355
|
+
error: {
|
|
13356
|
+
code: SERVER_ERROR,
|
|
13357
|
+
message: `Unknown CDP session: ${String(attachedSessionId)}`
|
|
13358
|
+
}
|
|
13359
|
+
});
|
|
13360
|
+
}
|
|
13361
|
+
return this.cb.reply({ id, result: {} });
|
|
13362
|
+
}
|
|
13292
13363
|
default:
|
|
13293
13364
|
this.cb.log?.(
|
|
13294
13365
|
`qwen serve: /cdp unsupported browser-level CDP method: ${method ?? "(none)"}`
|
|
@@ -13298,20 +13369,34 @@ var CdpBrowserEmulator = class {
|
|
|
13298
13369
|
}
|
|
13299
13370
|
if (sessionId === TAB_SESSION_ID) {
|
|
13300
13371
|
if (method === "Target.setAutoAttach") {
|
|
13301
|
-
this.
|
|
13302
|
-
|
|
13303
|
-
|
|
13304
|
-
|
|
13305
|
-
|
|
13306
|
-
sessionId:
|
|
13307
|
-
|
|
13308
|
-
|
|
13309
|
-
|
|
13372
|
+
this.autoAttachActive = params?.["autoAttach"] !== false;
|
|
13373
|
+
if (this.autoAttachActive) {
|
|
13374
|
+
this.pageSessionDetached = false;
|
|
13375
|
+
this.cb.reply({
|
|
13376
|
+
method: "Target.attachedToTarget",
|
|
13377
|
+
sessionId: TAB_SESSION_ID,
|
|
13378
|
+
params: {
|
|
13379
|
+
targetInfo: this.pageTargetInfo(),
|
|
13380
|
+
sessionId: PAGE_SESSION_ID,
|
|
13381
|
+
waitingForDebugger: false
|
|
13382
|
+
}
|
|
13383
|
+
});
|
|
13384
|
+
}
|
|
13310
13385
|
return this.cb.reply({ id, sessionId, result: {} });
|
|
13311
13386
|
}
|
|
13312
13387
|
return this.cb.reply({ id, sessionId, result: {} });
|
|
13313
13388
|
}
|
|
13314
|
-
if (sessionId === PAGE_SESSION_ID) {
|
|
13389
|
+
if (sessionId === PAGE_SESSION_ID && this.pageSessionDetached) {
|
|
13390
|
+
return this.cb.reply({
|
|
13391
|
+
id,
|
|
13392
|
+
sessionId,
|
|
13393
|
+
error: {
|
|
13394
|
+
code: SERVER_ERROR,
|
|
13395
|
+
message: `Unknown CDP session: ${sessionId}`
|
|
13396
|
+
}
|
|
13397
|
+
});
|
|
13398
|
+
}
|
|
13399
|
+
if (sessionId === PAGE_SESSION_ID || this.attachedPageSessions.has(sessionId)) {
|
|
13315
13400
|
try {
|
|
13316
13401
|
const result = await this.cb.forwardToTab(method ?? "", params);
|
|
13317
13402
|
return this.cb.reply({ id, sessionId, result });
|
|
@@ -13338,11 +13423,33 @@ var CdpBrowserEmulator = class {
|
|
|
13338
13423
|
});
|
|
13339
13424
|
}
|
|
13340
13425
|
/**
|
|
13341
|
-
* Re-emit a CDP event that arrived from the real tab (via the extension)
|
|
13342
|
-
*
|
|
13426
|
+
* Re-emit a CDP event that arrived from the real tab (via the extension) on
|
|
13427
|
+
* every page session this tunnel has minted: the auto-attach `PAGE_SESSION_ID`
|
|
13428
|
+
* plus each session created by an explicit `Target.attachToTarget`.
|
|
13429
|
+
*
|
|
13430
|
+
* This mirrors Chrome's per-session delivery — each attachment is an
|
|
13431
|
+
* independent subscription that gets its own copy of the page's events. The
|
|
13432
|
+
* auto-attach session only receives events after the `Target.setAutoAttach`
|
|
13433
|
+
* handshake on the tab session, so a client that uses only explicit
|
|
13434
|
+
* `Target.attachToTarget` does not pay for a duplicate stream it never
|
|
13435
|
+
* listens to. A client that deliberately attached twice would see an event
|
|
13436
|
+
* twice, exactly as it would against a real browser.
|
|
13343
13437
|
*/
|
|
13344
13438
|
emitTabEvent(method, params) {
|
|
13345
|
-
this.
|
|
13439
|
+
if (this.autoAttachActive) {
|
|
13440
|
+
this.cb.reply({ method, params, sessionId: PAGE_SESSION_ID });
|
|
13441
|
+
}
|
|
13442
|
+
for (const sessionId of this.attachedPageSessions) {
|
|
13443
|
+
this.cb.reply({ method, params, sessionId });
|
|
13444
|
+
}
|
|
13445
|
+
if (!this.autoAttachActive && this.attachedPageSessions.size === 0) {
|
|
13446
|
+
this.droppedTabEvents += 1;
|
|
13447
|
+
if (this.droppedTabEvents === 1 || this.droppedTabEvents % 100 === 0) {
|
|
13448
|
+
this.cb.log?.(
|
|
13449
|
+
`qwen serve: /cdp tab event "${method}" dropped (${this.droppedTabEvents} total) \u2014 no active page session (lazy-attach clients are command-only until Target.setAutoAttach)`
|
|
13450
|
+
);
|
|
13451
|
+
}
|
|
13452
|
+
}
|
|
13346
13453
|
}
|
|
13347
13454
|
};
|
|
13348
13455
|
|