@qwen-code/qwen-code 0.19.3 → 0.19.4-nightly.20260702.46814e4f1
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/loop/SKILL.md +22 -3
- package/bundled/loop/SKILL.test.ts +20 -0
- package/bundled/loop/autonomous-loop.test.ts +59 -0
- package/bundled/loop/autonomous-loop.ts +102 -0
- package/bundled/loop/loop-task-file.test.ts +1064 -0
- package/bundled/loop/loop-task-file.ts +404 -0
- package/bundled/loop/loop-tick-resolver.test.ts +906 -0
- package/bundled/loop/loop-tick-resolver.ts +416 -0
- package/bundled/qc-helper/SKILL.md +12 -5
- package/bundled/qc-helper/docs/configuration/auth.md +1 -1
- package/bundled/qc-helper/docs/configuration/settings.md +62 -32
- package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
- package/bundled/qc-helper/docs/features/auto-mode.md +40 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +81 -18
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
- package/bundled/qc-helper/docs/features/code-review.md +17 -61
- package/bundled/qc-helper/docs/features/commands.md +42 -40
- package/bundled/qc-helper/docs/features/headless.md +19 -18
- package/bundled/qc-helper/docs/features/hooks.md +6 -1
- package/bundled/qc-helper/docs/features/mcp.md +3 -1
- package/bundled/qc-helper/docs/features/memory.md +1 -1
- package/bundled/qc-helper/docs/features/scheduled-tasks.md +10 -0
- package/bundled/qc-helper/docs/features/status-line.md +3 -3
- package/bundled/qc-helper/docs/ide-integration/ide-integration.md +4 -4
- package/bundled/qc-helper/docs/qwen-serve.md +53 -0
- package/bundled/qc-helper/docs/support/troubleshooting.md +11 -0
- package/bundled/review/DESIGN.md +21 -26
- package/bundled/review/SKILL.md +45 -129
- package/chunks/MaxSizedBox-GHGRQ2OS.js +69 -0
- package/chunks/{StandaloneSessionPicker-Z52JTYST.js → StandaloneSessionPicker-G7YTTM27.js} +49 -42
- package/chunks/{acpAgent-7RZUOWOM.js → acpAgent-SDOILBSU.js} +1325 -365
- package/chunks/{agent-4FG7WTHJ.js → agent-NTSXGV4L.js} +31 -25
- package/chunks/agent-headless-WYURMSAB.js +62 -0
- package/chunks/{anthropicContentGenerator-PFITVL7Y.js → anthropicContentGenerator-WL3LJOUB.js} +110 -31
- package/chunks/{artifact-tool-D2X7G3C3.js → artifact-tool-W76WC2JX.js} +3 -3
- package/chunks/{askUserQuestion-UGETICJQ.js → askUserQuestion-J3P6TH3V.js} +2 -2
- package/chunks/bridge-AMOL4W4P.js +73 -0
- package/chunks/{ca-IUFWESZL.js → ca-HCMB2I54.js} +10 -9
- package/chunks/channel-worker-supervisor-C3IB63V7.js +659 -0
- package/chunks/{chunk-STUWFKGD.js → chunk-26JIREA5.js} +466 -543
- package/chunks/{chunk-SLNKLLEO.js → chunk-2MRV62AU.js} +37 -8
- package/chunks/{chunk-ODLIHNOY.js → chunk-2U4HUMOL.js} +1 -1
- package/chunks/{chunk-CKQA6AWF.js → chunk-4D73HUOP.js} +1 -1
- package/chunks/{chunk-M2U5NM24.js → chunk-54YZOP7P.js} +309 -72
- package/chunks/{chunk-J7FA27RO.js → chunk-5LKL3PAU.js} +3 -3
- package/chunks/chunk-5P5XGNYH.js +93 -0
- package/chunks/{chunk-UFLGERMB.js → chunk-6JE32BRB.js} +178 -124
- package/chunks/{chunk-FKAVULLM.js → chunk-75AVTQJ2.js} +74 -10
- package/chunks/{chunk-I2LYBGNI.js → chunk-7IOMIYOE.js} +1 -1
- package/chunks/{chunk-4LUZAKMK.js → chunk-7KXAGQJ2.js} +1 -1
- package/chunks/{chunk-BXSHL2SF.js → chunk-7LUOQJ3D.js} +1 -1
- package/chunks/{chunk-YAINVQ3Q.js → chunk-A5OPLHFM.js} +18693 -17055
- package/chunks/chunk-AHNXYU4O.js +24 -0
- package/chunks/{chunk-UX4SGCGN.js → chunk-AVQDCKNF.js} +96 -22
- package/chunks/{chunk-HYCC3XM3.js → chunk-B236XPGF.js} +1 -1
- package/chunks/chunk-B6SZLQAZ.js +3523 -0
- package/chunks/{chunk-5DWXLGOM.js → chunk-BJBWRCSK.js} +1 -1
- package/chunks/chunk-BPFJQGY7.js +193 -0
- package/chunks/{chunk-SKQZZVAV.js → chunk-BZHLWC6T.js} +2 -2
- package/chunks/{chunk-U3KSMM7G.js → chunk-D5KISTLW.js} +339 -383
- package/chunks/{chunk-GT2FGICD.js → chunk-DE7YXUR7.js} +1 -1
- package/chunks/{chunk-BUUQ5HPX.js → chunk-DG573EOO.js} +1 -1
- package/chunks/{chunk-VVLOGDB6.js → chunk-DX3TKXNT.js} +2 -2
- package/chunks/chunk-E5A7LHNN.js +51 -0
- package/chunks/{chunk-3PJXIDKI.js → chunk-E6US47KI.js} +3 -27
- package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
- package/chunks/{chunk-PDE7CSDS.js → chunk-FXKI7OW6.js} +2 -2
- package/chunks/{chunk-F3ZYSEY6.js → chunk-FY4TT4L4.js} +3 -3
- package/chunks/{chunk-QLDPRILK.js → chunk-G7OQ3RFJ.js} +3 -3
- package/chunks/{chunk-R2BXK7SX.js → chunk-GHOTR7HL.js} +6 -1
- package/chunks/{chunk-KMGMKW5Q.js → chunk-GLPV75ES.js} +9 -3
- package/chunks/{chunk-LD2XBG6Z.js → chunk-GO6LNQXT.js} +1 -39
- package/chunks/{chunk-CNLEDYE3.js → chunk-H6TNLOLM.js} +5 -5
- package/chunks/{chunk-JVHEVCAU.js → chunk-HLW4EGKR.js} +31 -6
- package/chunks/{chunk-I4H7PRWQ.js → chunk-HTWHAN44.js} +1 -1
- package/chunks/{chunk-QE6KJYLT.js → chunk-IPYE5BIS.js} +123 -25
- package/chunks/{chunk-EJYJYJZ2.js → chunk-IRJWHZWU.js} +3 -70
- package/chunks/{chunk-EDMZZFDU.js → chunk-J3YPTTNL.js} +930 -798
- package/chunks/{chunk-GGBIN5K7.js → chunk-JGAJMIJZ.js} +1 -1
- package/chunks/{chunk-N4EJFBN5.js → chunk-JVLP5US5.js} +427 -263
- package/chunks/{chunk-R5OP2ATH.js → chunk-JZG7VB6C.js} +11 -11
- package/chunks/{chunk-QI7GOGJR.js → chunk-KKQWC6WS.js} +1 -1
- package/chunks/{chunk-ADCIHOQZ.js → chunk-KX5QZRW2.js} +142 -30
- package/chunks/{chunk-SBBN4BWR.js → chunk-L7OJ3ZO3.js} +1 -1
- package/chunks/{chunk-NDOC6M5S.js → chunk-L7QPM2YD.js} +2 -2
- package/chunks/{chunk-BVSVIN45.js → chunk-LKWAVAB5.js} +3 -3
- package/chunks/{chunk-T4T2FNV4.js → chunk-LOW52WYZ.js} +2 -2
- package/chunks/{chunk-4QK3O43S.js → chunk-LU7BIVWC.js} +4 -4
- package/chunks/{chunk-ZP6UKOPB.js → chunk-LWGLBVWA.js} +1 -1
- package/chunks/{chunk-L7OKCI7T.js → chunk-M7BLWURA.js} +15 -1
- package/chunks/{chunk-PR32FRT6.js → chunk-MIM62IXS.js} +3 -3
- package/chunks/{chunk-RD6YJJJ6.js → chunk-MOUXUCXQ.js} +1 -1
- package/chunks/{chunk-VBZ452JT.js → chunk-MSNGFH6L.js} +494 -114
- package/chunks/{chunk-BX5YO7UW.js → chunk-MTNTVOJR.js} +542 -370
- package/chunks/chunk-MX2YXRER.js +44 -0
- package/chunks/chunk-NIOPRZNN.js +27 -0
- package/chunks/{chunk-SMYQZVZ3.js → chunk-NOGSPTLJ.js} +1 -1
- package/chunks/{chunk-DDMOU62Q.js → chunk-NPQWQYU6.js} +1 -1
- package/chunks/{chunk-MNF6S5PR.js → chunk-P5THQV6A.js} +4 -4
- package/chunks/{chunk-6V4NZFUS.js → chunk-PCYOT4PK.js} +5 -5
- package/chunks/{chunk-CF6BB3LT.js → chunk-PPFWEV7G.js} +10 -1
- package/chunks/{chunk-FXKVLFFY.js → chunk-PSFDB5FZ.js} +3 -3
- package/chunks/{chunk-XJYUPHRC.js → chunk-QOMAHFYI.js} +3 -3
- package/chunks/{chunk-J37FGIOA.js → chunk-QXPI7FEC.js} +38 -4
- package/chunks/{chunk-RRFZXMYP.js → chunk-QZDBHNMV.js} +691 -164
- package/chunks/{chunk-S7AKE7HL.js → chunk-R6RI2HIC.js} +63 -9
- package/chunks/{chunk-HZT4UCFB.js → chunk-RB7S52NJ.js} +4 -4
- package/chunks/{chunk-J33ZR6OJ.js → chunk-RK22ACPP.js} +16 -16
- package/chunks/chunk-RM3PGSGL.js +66 -0
- package/chunks/chunk-RNBYOUGV.js +42 -0
- package/chunks/chunk-S6RLAIUR.js +23 -0
- package/chunks/{chunk-3TV3HUWZ.js → chunk-SCYK2YLI.js} +81 -30
- package/chunks/{chunk-HPZTOP4I.js → chunk-SEKRT4SD.js} +133 -23
- package/chunks/chunk-SEZC2725.js +36 -0
- package/chunks/chunk-SIUQ3YYX.js +78 -0
- package/chunks/{chunk-O2VBQ3Y2.js → chunk-SJBIFVD2.js} +2 -2
- package/chunks/chunk-SYCJMSIJ.js +82 -0
- package/chunks/{chunk-JE5FVRPC.js → chunk-T22H4V4R.js} +48 -23
- package/chunks/{chunk-3227DZO4.js → chunk-T42ACHFI.js} +1 -1
- package/chunks/{chunk-UO5GVXQE.js → chunk-TENOUWY2.js} +3 -3
- package/chunks/{chunk-JOLIREYR.js → chunk-TOAUDIS7.js} +1 -1
- package/chunks/{chunk-QNKBEJO2.js → chunk-UA6XBZT7.js} +2776 -1289
- package/chunks/{chunk-O75BHFQW.js → chunk-UQTYK5SS.js} +2 -2
- package/chunks/{chunk-Y6YMRS3U.js → chunk-UY2TCIZS.js} +17 -3
- package/chunks/{chunk-FNJ7BDPH.js → chunk-UY7ZAYTY.js} +10 -7
- package/chunks/{chunk-UYT3MWEB.js → chunk-UYHWM24C.js} +30 -2
- package/chunks/{chunk-SMXULRAN.js → chunk-VXGPYF7U.js} +1 -1
- package/chunks/{chunk-BTLJ2MF5.js → chunk-W7CG5HPC.js} +3 -3
- package/chunks/{chunk-JJXWTVSK.js → chunk-XHZKDN7M.js} +34 -1
- package/chunks/{chunk-K5XU6E4T.js → chunk-XKSCTXPK.js} +2 -2
- package/chunks/chunk-Y4LITCRB.js +367 -0
- package/chunks/chunk-YHTNWGRR.js +239 -0
- package/chunks/{chunk-BKXBARJZ.js → chunk-YPCPZSZB.js} +1 -1
- package/chunks/{chunk-QWFNTRH4.js → chunk-YSM24SCE.js} +1 -1
- package/chunks/chunk-YTFBURQD.js +313 -0
- package/chunks/{chunk-NL4C3H6C.js → chunk-YXK4GPYO.js} +1 -1
- package/chunks/{chunk-RYLJU2DY.js → chunk-ZN5T4BHI.js} +1 -1
- package/chunks/{computer-use-JGB36FDW.js → computer-use-MTSVPLPY.js} +34 -28
- package/chunks/contextCommand-VGJ3BPTK.js +67 -0
- package/chunks/{cron-create-SKEY55RG.js → cron-create-6YTCOX6P.js} +4 -4
- package/chunks/{cron-delete-I3NAT32Z.js → cron-delete-E3NIFSUK.js} +4 -4
- package/chunks/{cron-list-6XRRL6TH.js → cron-list-Q64MNQNE.js} +4 -4
- package/chunks/daemon-EEB2RYOL.js +8453 -0
- package/chunks/daemon-status-provider-H5SNMK42.js +71 -0
- package/chunks/{de-EOW5PVHF.js → de-PLLFDERI.js} +10 -9
- package/chunks/{dist-NHEYYB2B.js → dist-ADMIQGHI.js} +2 -2
- package/chunks/{dist-J37VXPLD.js → dist-BCQ7INM7.js} +40 -15
- package/chunks/{dist-663NZ6MI.js → dist-KNZFCY5F.js} +116 -11
- package/chunks/{dist-LB6OGPVM.js → dist-LHUWC3K6.js} +26 -5
- package/chunks/{dist-PQPZ5Q4N.js → dist-WBBZ76JZ.js} +20 -9
- package/chunks/{earlyInputCapture-44RISVVJ.js → earlyInputCapture-U4ZIQSQU.js} +32 -26
- package/chunks/{edit-NN6GM5DT.js → edit-SYIQ2KBI.js} +41 -38
- package/chunks/{en-HPWEJBTR.js → en-M4EBUBNU.js} +32 -10
- package/chunks/{enter-worktree-PB3O2C7D.js → enter-worktree-HPPOO244.js} +31 -25
- package/chunks/{enterPlanMode-YQFNNSUA.js → enterPlanMode-56YYO52U.js} +41 -25
- package/chunks/{errors-LS7XU5DZ.js → errors-EO4SXCFP.js} +33 -27
- package/chunks/{exit-worktree-E2FTNSBK.js → exit-worktree-UDM7E6XH.js} +31 -25
- package/chunks/{exitPlanMode-GLYK2BUB.js → exitPlanMode-M6P3AWLJ.js} +149 -33
- package/chunks/{fast-path-WQ6M7LI7.js → fast-path-42P4QYWI.js} +33 -14
- package/chunks/{fast-path-settings-OAGU3X5H.js → fast-path-settings-UQLRFDQP.js} +2 -2
- package/chunks/{fr-BN5NKSAC.js → fr-MBMNQSQ6.js} +10 -9
- package/chunks/{gemini-2YFLVA2M.js → gemini-NRLXS5J7.js} +84 -70
- package/chunks/{geminiContentGenerator-XV6SV6CD.js → geminiContentGenerator-DLJPYYPA.js} +41 -5
- package/chunks/{glob-2H6CDDMK.js → glob-JPY3F74Y.js} +31 -25
- package/chunks/{grep-VXIUXM3C.js → grep-HW23YES5.js} +31 -25
- package/chunks/initializer-HWOZTC4A.js +67 -0
- package/chunks/{ja-7DEUB2TS.js → ja-HFV5QCHR.js} +10 -9
- package/chunks/{keychain-token-storage-YLMDLKXT.js → keychain-token-storage-GPAKRDKQ.js} +2 -2
- package/chunks/list-OZGAGRDG.js +71 -0
- package/chunks/loadedSettingsAdapter-RUTZVVIA.js +66 -0
- package/chunks/{loop-wakeup-CITGGQHA.js → loop-wakeup-G2EHBRGR.js} +5 -5
- package/chunks/{ls-R5WP4BGZ.js → ls-IDHUVSAG.js} +4 -4
- package/chunks/{lsp-GSICJMMW.js → lsp-FSRYXGFT.js} +2 -2
- package/chunks/{monitor-HKLRS2HQ.js → monitor-QVWEIXU3.js} +33 -26
- package/chunks/nonInteractiveCli-RV2WYPML.js +109 -0
- package/chunks/{notebook-edit-Y6SKSGTT.js → notebook-edit-B26W3FFH.js} +37 -34
- package/chunks/{openaiContentGenerator-J7G2FYJT.js → openaiContentGenerator-6TH7AZGQ.js} +15 -13
- package/chunks/pidfile-KW2QQJZI.js +73 -0
- package/chunks/{pt-TNZRNLQB.js → pt-2THT3YHA.js} +10 -9
- package/chunks/{qwenContentGenerator-5XIEM5GV.js → qwenContentGenerator-5IQAC7RN.js} +33 -27
- package/chunks/{qwenOAuth2-AG3PFFLZ.js → qwenOAuth2-LWLA6MQG.js} +5 -4
- package/chunks/{read-file-J7D552ZJ.js → read-file-CWFAHOI2.js} +11 -10
- package/chunks/{read-mcp-resource-DQQW7H7T.js → read-mcp-resource-PIJF24RO.js} +2 -2
- package/chunks/ripGrep-FTZGDKY4.js +60 -0
- package/chunks/{ru-NIAUBKCN.js → ru-Z67YJHBG.js} +10 -9
- package/chunks/{run-qwen-serve-SGEEVMXD.js → run-qwen-serve-FN2SW5ZI.js} +545 -97
- package/chunks/{scheduler-7CQI3S4Q.js → scheduler-BMS23O3I.js} +31 -25
- package/chunks/{send-message-EE4TWKVU.js → send-message-33PYFMCT.js} +20 -4
- package/chunks/serve-PXFYKL65.js +71 -0
- package/chunks/{server-4QMUWXPW.js → server-BRKALJ4F.js} +4132 -1175
- package/chunks/{session-NRO7UFOY.js → session-AQMISBP4.js} +205 -64
- package/chunks/{settings-SGWRDQSC.js → settings-JCPVUZMB.js} +35 -29
- package/chunks/{shell-62ANGIHL.js → shell-POHCRVN2.js} +31 -25
- package/chunks/{skill-VWAQAWW6.js → skill-QPEVHS6H.js} +13 -12
- package/chunks/spawnChannel-V3QT62TE.js +69 -0
- package/chunks/{src-KUV5J5Q2.js → src-IZSP7L6Y.js} +127 -32
- package/chunks/{startInteractiveUI-6EYJN3JV.js → startInteractiveUI-63KATISO.js} +16762 -16075
- package/chunks/{syntheticOutput-T5YHQ6S2.js → syntheticOutput-YOSWIHDJ.js} +3 -3
- package/chunks/{task-create-BLY7RHXX.js → task-create-NHS2NGB3.js} +9 -7
- package/chunks/{task-list-3QUYNVYR.js → task-list-5UIB564R.js} +7 -6
- package/chunks/{task-stop-U4RATK2V.js → task-stop-HGXZ2VZ3.js} +2 -2
- package/chunks/{task-update-U54O7KJX.js → task-update-IYYWUILG.js} +40 -7
- package/chunks/{team-create-LPOGCPM7.js → team-create-E5O2F3CA.js} +31 -25
- package/chunks/{team-delete-LKBYPASD.js → team-delete-FEKJCU4P.js} +7 -6
- package/chunks/team-plan-approval-2TU4YROB.js +202 -0
- package/chunks/theme-manager-37KOGPJL.js +64 -0
- package/chunks/{todoWrite-OYXKTVYN.js → todoWrite-TKMVZ2HT.js} +4 -4
- package/chunks/{tool-search-YPUFJ3ZQ.js → tool-search-4ZTGNSFI.js} +38 -11
- package/chunks/{trustedFolders-5B24TMEA.js → trustedFolders-RJ5WXJ6L.js} +32 -26
- package/chunks/{validateNonInterActiveAuth-BTDTYOVT.js → validateNonInterActiveAuth-ZWMHZAOK.js} +66 -55
- package/chunks/{web-fetch-EEB5LZYU.js → web-fetch-J4PIW36Q.js} +5 -4
- package/chunks/{workflow-LAWIW5LI.js → workflow-6PG2PC5M.js} +68 -39
- package/chunks/workspace-providers-status-4QIZN2W4.js +68 -0
- package/chunks/workspace-service-CYMCOEIO.js +78 -0
- package/chunks/{write-file-PCV226DJ.js → write-file-R354LGQF.js} +41 -40
- package/chunks/{zh-5EUYXASN.js → zh-SLZNSSZB.js} +32 -10
- package/chunks/{zh-TW-TR3XYGE5.js → zh-TW-P53C2SL5.js} +32 -10
- package/cli.js +6 -6
- package/locales/ca.js +15 -13
- package/locales/de.js +15 -13
- package/locales/en.js +52 -15
- package/locales/fr.js +15 -14
- package/locales/ja.js +15 -14
- package/locales/pt.js +15 -13
- package/locales/ru.js +15 -13
- package/locales/zh-TW.js +50 -14
- package/locales/zh.js +50 -14
- package/node_modules/@qwen-code/audio-capture/package.json +1 -1
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/package.json +15 -6
- package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
- package/postinstall.js +50 -0
- package/web-shell/assets/{arc-DA7r8Ueo.js → arc-Bd3048nX.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-ZDUxPtZ2.js → architectureDiagram-3BPJPVTR-DyzbzABx.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-vrtOf1kJ.js → blockDiagram-GPEHLZMM-CTjxm9Sy.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BHFjzIi4.js → c4Diagram-AAUBKEIU-DSOFWNU6.js} +1 -1
- package/web-shell/assets/channel-oVoup_Ci.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-mdeQVz59.js → chunk-2J33WTMH-D_PFdjo2.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BkKMlwBX.js → chunk-4BX2VUAB-52eG6wOT.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-B7bnXNfu.js → chunk-55IACEB6-CGTZfKkC.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DGz8Mm6i.js → chunk-727SXJPM-CZ-qfRUm.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BQAydUNk.js → chunk-AQP2D5EJ-B2dSDcqM.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-GHr2LN_p.js → chunk-FMBD7UC4-Cfy3tyA0.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-7R91lnUx.js → chunk-ND2GUHAM-CApNUpUq.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-aTJD3lSQ.js → chunk-QZHKN3VN-CVBG8kgg.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B8WsaT2G.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B8WsaT2G.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BTf8t1RL.js → cose-bilkent-S5V4N54A-URd77-_-.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-_sgp3WuA.js → dagre-BM42HDAG-C07H4G9-.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-CROtRy1w.js → diagram-2AECGRRQ-CYbpXrSn.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BqGRzwSc.js → diagram-5GNKFQAL-SI8s6fjX.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CMrcEtA7.js → diagram-KO2AKTUF-mBkC4RTW.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BRydGNW5.js → diagram-LMA3HP47-CyBPDzWJ.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-D0ilgNjV.js → diagram-OG6HWLK6-DwK7kBCu.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-2lnQeJUM.js → erDiagram-TEJ5UH35-Ds1StEUd.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-C_ZMdQiC.js → flowDiagram-I6XJVG4X-BDC4-jHO.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dw9V_Ny0.js → ganttDiagram-6RSMTGT7-CV2aHQqf.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-HDXI-F1B.js → gitGraphDiagram-PVQCEYII-B8RcuV_L.js} +1 -1
- package/web-shell/assets/index-B5WZ0qP1.js +717 -0
- package/web-shell/assets/index-CYE1IMd1.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CuB8Ebua.js → infoDiagram-5YYISTIA-DUPoTf50.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D_tyhVwh.js → ishikawaDiagram-YF4QCWOH-FDYOx9rf.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CgCwJQNU.js → journeyDiagram-JHISSGLW-C5_ohMRp.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-PZUtcbPx.js → kanban-definition-UN3LZRKU-Bn4UnOMG.js} +1 -1
- package/web-shell/assets/{linear-CZqRdJIU.js → linear-Bl0pKQtY.js} +1 -1
- package/web-shell/assets/{mermaid.core-CPW_4UEF.js → mermaid.core-sevQFoji.js} +72 -72
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_Y75ID7.js → mindmap-definition-RKZ34NQL-DSH4JZF9.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Q4dTyLeF.js → pieDiagram-4H26LBE5-acWvdQTD.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-ckw329Ft.js → quadrantDiagram-W4KKPZXB-DlggX4Sm.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DbVDm4It.js → requirementDiagram-4Y6WPE33--mMqwmV8.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CHuZ_ecH.js → sankeyDiagram-5OEKKPKP-BtV9tZ77.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DU2YSpq-.js → sequenceDiagram-3UESZ5HK-iDQzPFlj.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CA9PEBUo.js → stateDiagram-AJRCARHV-CsCyQLZ3.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CPapECG9.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-Bhlo4WVc.js → timeline-definition-PNZ67QCA-Dl0rnKvr.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-6xtPLsyl.js → vennDiagram-CIIHVFJN-qF7nTZzA.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-3eozmXPf.js → wardley-L42UT6IY-fWoK9i7F.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BOn6hKss.js → wardleyDiagram-YWT4CUSO-pHGfkMnc.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BsP4-I_y.js → xychartDiagram-2RQKCTM6-3Doc4Trz.js} +1 -1
- package/web-shell/index.html +18 -2
- package/chunks/MaxSizedBox-QNF3EIGU.js +0 -63
- package/chunks/agent-headless-RQ5BTX3G.js +0 -56
- package/chunks/bridge-JL2PMCIW.js +0 -66
- package/chunks/chunk-5GOVVXEV.js +0 -73
- package/chunks/chunk-BC3C4F3Q.js +0 -40
- package/chunks/chunk-BW4KCQFD.js +0 -1103
- package/chunks/chunk-RKIZXJMB.js +0 -13
- package/chunks/contextCommand-WYU6OQ2F.js +0 -61
- package/chunks/daemon-status-provider-HH2EC5FI.js +0 -65
- package/chunks/headlessSafetyWarnings-TBE35GJ4.js +0 -55
- package/chunks/initializer-2Y7SLOKV.js +0 -61
- package/chunks/list-ZAFHZ7OS.js +0 -65
- package/chunks/loadedSettingsAdapter-6KJXD6M3.js +0 -60
- package/chunks/nonInteractiveCli-5W4GIZQM.js +0 -96
- package/chunks/ripGrep-IEIFIWP4.js +0 -54
- package/chunks/serve-V6GVZR6U.js +0 -65
- package/chunks/spawnChannel-3VHW5EPY.js +0 -63
- package/chunks/theme-manager-LYLGAERF.js +0 -58
- package/chunks/workspace-providers-status-PIAFVYHA.js +0 -62
- package/chunks/workspace-service-YAIOD4HG.js +0 -71
- package/web-shell/assets/channel-iRo68q4Q.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +0 -1
- package/web-shell/assets/index-CHmzAWys.css +0 -5
- package/web-shell/assets/index-w6GTOHh1.js +0 -713
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +0 -1
|
@@ -15,15 +15,15 @@ import {
|
|
|
15
15
|
readCronTasks,
|
|
16
16
|
removeCronTasks,
|
|
17
17
|
updateCronTasks
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-SJBIFVD2.js";
|
|
19
19
|
import {
|
|
20
20
|
ToolNames
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-MTNTVOJR.js";
|
|
22
22
|
import {
|
|
23
23
|
Storage,
|
|
24
24
|
createDebugLogger,
|
|
25
25
|
getProjectHash
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-AVQDCKNF.js";
|
|
27
27
|
import {
|
|
28
28
|
init_esbuild_shims
|
|
29
29
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -242,6 +242,14 @@ var CronScheduler = class {
|
|
|
242
242
|
_disabled = false;
|
|
243
243
|
timer = null;
|
|
244
244
|
onFire = null;
|
|
245
|
+
// Guard a consumer installs when it cannot execute certain durable jobs. A
|
|
246
|
+
// headless run can't expand a `.qwen/loop.md` sentinel, so it marks such
|
|
247
|
+
// durable jobs skippable here: they are then neither fired NOR have their
|
|
248
|
+
// persisted fired-state advanced (lastFiredAt stamp / one-shot removal),
|
|
249
|
+
// leaving the tick for the owning interactive session instead of silently
|
|
250
|
+
// consuming it for work the consumer never ran. Session-only jobs and durable
|
|
251
|
+
// jobs in a consumer that can run them are unaffected (predicate unset/false).
|
|
252
|
+
skipDurableFire = null;
|
|
245
253
|
// --- Durable (file-backed) support ---
|
|
246
254
|
durableEnabled = false;
|
|
247
255
|
// Bumped by stop(). Async durable work captures the value before each
|
|
@@ -623,12 +631,27 @@ var CronScheduler = class {
|
|
|
623
631
|
deliverPending(pending, onFire) {
|
|
624
632
|
switch (pending.kind) {
|
|
625
633
|
case "missed": {
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
634
|
+
const skipped = [];
|
|
635
|
+
const runnable = pending.tasks.filter((t) => {
|
|
636
|
+
const job = durableTaskToJob(t);
|
|
637
|
+
if (job.durable && this.skipDurableFire?.(job)) {
|
|
638
|
+
debugLogger.debug(
|
|
639
|
+
`Skipping durable job ${t.id} (missed): consumer cannot run it`
|
|
640
|
+
);
|
|
641
|
+
skipped.push(t.id);
|
|
642
|
+
return false;
|
|
643
|
+
}
|
|
644
|
+
return true;
|
|
630
645
|
});
|
|
631
|
-
this.
|
|
646
|
+
for (const id of skipped) this.pendingRemoval.delete(id);
|
|
647
|
+
if (runnable.length > 0) {
|
|
648
|
+
onFire({
|
|
649
|
+
...durableTaskToJob(runnable[0]),
|
|
650
|
+
prompt: buildMissedCronNotification(runnable),
|
|
651
|
+
missed: true
|
|
652
|
+
});
|
|
653
|
+
this.removeMissedFromDisk(runnable.map((t) => t.id));
|
|
654
|
+
}
|
|
632
655
|
break;
|
|
633
656
|
}
|
|
634
657
|
case "catch-up": {
|
|
@@ -636,6 +659,12 @@ var CronScheduler = class {
|
|
|
636
659
|
for (const id of pending.ids) {
|
|
637
660
|
const job = this.jobs.get(id);
|
|
638
661
|
if (!job) continue;
|
|
662
|
+
if (job.durable && this.skipDurableFire?.(job)) {
|
|
663
|
+
debugLogger.debug(
|
|
664
|
+
`Skipping durable job ${job.id} (catch-up): consumer cannot run it`
|
|
665
|
+
);
|
|
666
|
+
continue;
|
|
667
|
+
}
|
|
639
668
|
onFire(job);
|
|
640
669
|
fired.push(id);
|
|
641
670
|
}
|
|
@@ -643,10 +672,19 @@ var CronScheduler = class {
|
|
|
643
672
|
break;
|
|
644
673
|
}
|
|
645
674
|
case "final": {
|
|
675
|
+
const fired = [];
|
|
646
676
|
for (const job of pending.jobs) {
|
|
677
|
+
if (job.durable && this.skipDurableFire?.(job)) {
|
|
678
|
+
debugLogger.debug(
|
|
679
|
+
`Skipping durable job ${job.id} (final): consumer cannot run it`
|
|
680
|
+
);
|
|
681
|
+
this.pendingRemoval.delete(job.id);
|
|
682
|
+
continue;
|
|
683
|
+
}
|
|
647
684
|
onFire(job);
|
|
685
|
+
fired.push(job.id);
|
|
648
686
|
}
|
|
649
|
-
this.removeMissedFromDisk(
|
|
687
|
+
this.removeMissedFromDisk(fired);
|
|
650
688
|
break;
|
|
651
689
|
}
|
|
652
690
|
default: {
|
|
@@ -730,6 +768,16 @@ var CronScheduler = class {
|
|
|
730
768
|
} catch {
|
|
731
769
|
}
|
|
732
770
|
}
|
|
771
|
+
/**
|
|
772
|
+
* Installs a predicate marking durable jobs the active consumer cannot run
|
|
773
|
+
* (see the `skipDurableFire` field). Such jobs are skipped before any fire or
|
|
774
|
+
* persist, so their durable schedule is left intact for an owning session that
|
|
775
|
+
* can run them. Set before `start()` so a buffered catch-up flush also honors
|
|
776
|
+
* it. A no-op for session-only jobs.
|
|
777
|
+
*/
|
|
778
|
+
setSkipDurableFire(predicate) {
|
|
779
|
+
this.skipDurableFire = predicate;
|
|
780
|
+
}
|
|
733
781
|
/**
|
|
734
782
|
* Starts the scheduler tick. Calls `onFire` when a job is due.
|
|
735
783
|
* Only fires when called — does not auto-fire missed intervals.
|
|
@@ -847,6 +895,12 @@ var CronScheduler = class {
|
|
|
847
895
|
const removedIds = [];
|
|
848
896
|
for (const job of this.jobs.values()) {
|
|
849
897
|
if (job.durable && !this.isOwner) continue;
|
|
898
|
+
if (job.durable && this.skipDurableFire?.(job)) {
|
|
899
|
+
debugLogger.debug(
|
|
900
|
+
`Skipping durable job ${job.id} (tick): consumer cannot run it`
|
|
901
|
+
);
|
|
902
|
+
continue;
|
|
903
|
+
}
|
|
850
904
|
const result = this.processJob(job, currentDate, currentMs);
|
|
851
905
|
if (!job.durable || result === "none") continue;
|
|
852
906
|
if (result === "fired-final" || !job.recurring) {
|
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
import {
|
|
4
4
|
getGitVersion,
|
|
5
5
|
getNpmVersion
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-P5THQV6A.js";
|
|
7
7
|
import {
|
|
8
8
|
STATUS_SCHEMA_VERSION,
|
|
9
9
|
mapDomainErrorToErrorKind
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-M7BLWURA.js";
|
|
11
11
|
import {
|
|
12
12
|
canUseRipgrep
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-A5OPLHFM.js";
|
|
14
14
|
import {
|
|
15
15
|
detectRuntime,
|
|
16
16
|
redactProxyCredentials
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-D5KISTLW.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esbuild_shims
|
|
20
20
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
buildPermissionSettings
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2U4HUMOL.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveVoiceStreamConfig,
|
|
8
8
|
resolveVoiceTranscriptionConfig,
|
|
9
9
|
transcribeVoiceAudio
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-W7CG5HPC.js";
|
|
11
11
|
import {
|
|
12
12
|
getVoiceSettingsScope,
|
|
13
13
|
isSelectableVoiceModel,
|
|
@@ -16,11 +16,7 @@ import {
|
|
|
16
16
|
readVoiceMode,
|
|
17
17
|
readVoiceModel,
|
|
18
18
|
resolveVoiceTransport
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import {
|
|
21
|
-
WorkspacePermissionRulesSessionRequiredError,
|
|
22
|
-
WorkspaceSettingsPartialPersistError
|
|
23
|
-
} from "./chunk-BMFMJINR.js";
|
|
19
|
+
} from "./chunk-7KXAGQJ2.js";
|
|
24
20
|
import {
|
|
25
21
|
MCP_RESTART_SERVER_DEADLINE_MS
|
|
26
22
|
} from "./chunk-P7M4GA57.js";
|
|
@@ -32,11 +28,7 @@ import {
|
|
|
32
28
|
WorkspaceInitPathEscapeError,
|
|
33
29
|
WorkspaceInitRaceError,
|
|
34
30
|
WorkspaceInitSymlinkError
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import {
|
|
37
|
-
getPersistScopeForModelSelection,
|
|
38
|
-
loadSettings
|
|
39
|
-
} from "./chunk-FKAVULLM.js";
|
|
31
|
+
} from "./chunk-T22H4V4R.js";
|
|
40
32
|
import {
|
|
41
33
|
SERVE_CONTROL_EXT_METHODS,
|
|
42
34
|
SERVE_STATUS_EXT_METHODS,
|
|
@@ -49,19 +41,27 @@ import {
|
|
|
49
41
|
createIdleWorkspaceProvidersStatus,
|
|
50
42
|
createIdleWorkspaceSkillsStatus,
|
|
51
43
|
mapDomainErrorToErrorKind
|
|
52
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-M7BLWURA.js";
|
|
45
|
+
import {
|
|
46
|
+
WorkspacePermissionRulesSessionRequiredError,
|
|
47
|
+
WorkspaceSettingsPartialPersistError
|
|
48
|
+
} from "./chunk-BMFMJINR.js";
|
|
49
|
+
import {
|
|
50
|
+
getPersistScopeForModelSelection,
|
|
51
|
+
loadSettings
|
|
52
|
+
} from "./chunk-75AVTQJ2.js";
|
|
53
53
|
import {
|
|
54
54
|
getWorkspaceTrustStatus
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-FY4TT4L4.js";
|
|
56
56
|
import {
|
|
57
57
|
writeStderrLine
|
|
58
58
|
} from "./chunk-Y6Z2O3WR.js";
|
|
59
59
|
import {
|
|
60
60
|
ModelsConfig
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-A5OPLHFM.js";
|
|
62
62
|
import {
|
|
63
63
|
createDebugLogger
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-AVQDCKNF.js";
|
|
65
65
|
import {
|
|
66
66
|
init_esbuild_shims
|
|
67
67
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-A4BMJM77.js";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
9
|
+
|
|
10
|
+
// packages/cli/src/serve/workspace-remember-errors.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
function errorCodeFromRecord(record) {
|
|
13
|
+
if (typeof record["code"] === "string") return record["code"];
|
|
14
|
+
const data = record["data"];
|
|
15
|
+
if (data && typeof data === "object") {
|
|
16
|
+
const dataRecord = data;
|
|
17
|
+
if (typeof dataRecord["errorKind"] === "string") {
|
|
18
|
+
return dataRecord["errorKind"];
|
|
19
|
+
}
|
|
20
|
+
if (typeof dataRecord["code"] === "string") return dataRecord["code"];
|
|
21
|
+
}
|
|
22
|
+
return void 0;
|
|
23
|
+
}
|
|
24
|
+
__name(errorCodeFromRecord, "errorCodeFromRecord");
|
|
25
|
+
function extractRememberErrorCode(err) {
|
|
26
|
+
if (err && typeof err === "object") {
|
|
27
|
+
const record = err;
|
|
28
|
+
const direct = errorCodeFromRecord(record);
|
|
29
|
+
if (direct) return direct;
|
|
30
|
+
const cause = record["cause"];
|
|
31
|
+
if (cause && typeof cause === "object") {
|
|
32
|
+
const causedBy = errorCodeFromRecord(cause);
|
|
33
|
+
if (causedBy) return causedBy;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return "remember_failed";
|
|
37
|
+
}
|
|
38
|
+
__name(extractRememberErrorCode, "extractRememberErrorCode");
|
|
39
|
+
|
|
40
|
+
// packages/cli/src/serve/workspace-memory-remember-constants.ts
|
|
41
|
+
init_esbuild_shims();
|
|
42
|
+
var MAX_REMEMBER_CONTENT_BYTES = 64 * 1024;
|
|
43
|
+
|
|
44
|
+
// packages/cli/src/serve/validate-server-name.ts
|
|
45
|
+
init_esbuild_shims();
|
|
46
|
+
var VALID_SERVER_NAME = /^[A-Za-z0-9_-]+$/;
|
|
47
|
+
var RESERVED_SERVER_NAMES = /* @__PURE__ */ new Set([
|
|
48
|
+
"__proto__",
|
|
49
|
+
"constructor",
|
|
50
|
+
"prototype"
|
|
51
|
+
]);
|
|
52
|
+
function isValidServerName(name) {
|
|
53
|
+
return typeof name === "string" && name.length > 0 && name.length <= 256 && VALID_SERVER_NAME.test(name) && !RESERVED_SERVER_NAMES.has(name);
|
|
54
|
+
}
|
|
55
|
+
__name(isValidServerName, "isValidServerName");
|
|
56
|
+
|
|
57
|
+
export {
|
|
58
|
+
extractRememberErrorCode,
|
|
59
|
+
MAX_REMEMBER_CONTENT_BYTES,
|
|
60
|
+
isValidServerName
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* @license
|
|
64
|
+
* Copyright 2026 Qwen Team
|
|
65
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
66
|
+
*/
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-A4BMJM77.js";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
9
|
+
|
|
10
|
+
// packages/cli/src/serve/loopback-binds.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
var LOOPBACK_BINDS = /* @__PURE__ */ new Set([
|
|
13
|
+
"127.0.0.1",
|
|
14
|
+
"localhost",
|
|
15
|
+
"::1",
|
|
16
|
+
"[::1]"
|
|
17
|
+
]);
|
|
18
|
+
function isIpv4Loopback(hostname) {
|
|
19
|
+
const octets = hostname.split(".");
|
|
20
|
+
if (octets.length !== 4) return false;
|
|
21
|
+
const [first, ...rest] = octets;
|
|
22
|
+
return first === "127" && rest.every((octet) => {
|
|
23
|
+
if (!/^\d+$/.test(octet)) return false;
|
|
24
|
+
const value = Number(octet);
|
|
25
|
+
return value >= 0 && value <= 255;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
__name(isIpv4Loopback, "isIpv4Loopback");
|
|
29
|
+
function isLoopbackBind(hostname) {
|
|
30
|
+
const normalized = hostname.toLowerCase();
|
|
31
|
+
return LOOPBACK_BINDS.has(normalized) || isIpv4Loopback(normalized);
|
|
32
|
+
}
|
|
33
|
+
__name(isLoopbackBind, "isLoopbackBind");
|
|
34
|
+
|
|
35
|
+
export {
|
|
36
|
+
isLoopbackBind
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @license
|
|
40
|
+
* Copyright 2025 Qwen Team
|
|
41
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
42
|
+
*/
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-A4BMJM77.js";
|
|
6
|
+
|
|
7
|
+
// packages/cli/src/serve/channel-worker-env.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
var CHANNEL_DAEMON_WORKER_SENTINEL = "QWEN_CHANNEL_DAEMON_WORKER";
|
|
10
|
+
var CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS = 15e3;
|
|
11
|
+
var QWEN_DAEMON_TOKEN_ENV = "QWEN_DAEMON_TOKEN";
|
|
12
|
+
var QWEN_DAEMON_URL_ENV = "QWEN_DAEMON_URL";
|
|
13
|
+
var QWEN_DAEMON_WORKSPACE_ENV = "QWEN_DAEMON_WORKSPACE";
|
|
14
|
+
var QWEN_SERVER_TOKEN_ENV = "QWEN_SERVER_TOKEN";
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
18
|
+
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
19
|
+
QWEN_DAEMON_TOKEN_ENV,
|
|
20
|
+
QWEN_DAEMON_URL_ENV,
|
|
21
|
+
QWEN_DAEMON_WORKSPACE_ENV,
|
|
22
|
+
QWEN_SERVER_TOKEN_ENV
|
|
23
|
+
};
|
|
@@ -7,28 +7,28 @@ import {
|
|
|
7
7
|
require_jsx_runtime,
|
|
8
8
|
use_stdin_default,
|
|
9
9
|
use_stdout_default
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LOW52WYZ.js";
|
|
11
11
|
import {
|
|
12
12
|
require_react
|
|
13
13
|
} from "./chunk-KYMBIKIW.js";
|
|
14
14
|
import {
|
|
15
15
|
sanitizeFilenameForDisplay
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-XHZKDN7M.js";
|
|
17
17
|
import {
|
|
18
18
|
t
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-JZG7VB6C.js";
|
|
20
20
|
import {
|
|
21
21
|
fetchGitDiff,
|
|
22
22
|
findProviderByCredentials,
|
|
23
23
|
resolveMetadataKey
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-A5OPLHFM.js";
|
|
25
25
|
import {
|
|
26
26
|
KittySequenceOverflowEvent,
|
|
27
27
|
logKittySequenceOverflow
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-UA6XBZT7.js";
|
|
29
29
|
import {
|
|
30
30
|
createDebugLogger
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-AVQDCKNF.js";
|
|
32
32
|
import {
|
|
33
33
|
init_esbuild_shims
|
|
34
34
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -48,6 +48,7 @@ init_esbuild_shims();
|
|
|
48
48
|
var ESC = "\x1B";
|
|
49
49
|
var SGR_EVENT_PREFIX = `${ESC}[<`;
|
|
50
50
|
var X11_EVENT_PREFIX = `${ESC}[M`;
|
|
51
|
+
var MAX_SGR_MOUSE_SEQUENCE_LENGTH = 50;
|
|
51
52
|
var SGR_MOUSE_REGEX = /^\x1b\[<(\d+);(\d+);(\d+)([mM])/;
|
|
52
53
|
function getEventName(buttonCode, isRelease) {
|
|
53
54
|
const isMove = (buttonCode & 32) !== 0;
|
|
@@ -107,14 +108,20 @@ function parseSGRMouseEvent(buffer) {
|
|
|
107
108
|
};
|
|
108
109
|
}
|
|
109
110
|
__name(parseSGRMouseEvent, "parseSGRMouseEvent");
|
|
110
|
-
var ENABLE_SGR_MOUSE =
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
var ENABLE_SGR_MOUSE = {
|
|
112
|
+
button: "\x1B[?1002h\x1B[?1006h",
|
|
113
|
+
any: "\x1B[?1003h\x1B[?1006h"
|
|
114
|
+
};
|
|
115
|
+
var DISABLE_SGR_MOUSE = {
|
|
116
|
+
button: "\x1B[?1006l\x1B[?1002l",
|
|
117
|
+
any: "\x1B[?1006l\x1B[?1003l"
|
|
118
|
+
};
|
|
119
|
+
function enableMouseEvents(stdout, tracking = "button") {
|
|
120
|
+
stdout.write(ENABLE_SGR_MOUSE[tracking]);
|
|
114
121
|
}
|
|
115
122
|
__name(enableMouseEvents, "enableMouseEvents");
|
|
116
|
-
function disableMouseEvents(stdout) {
|
|
117
|
-
stdout.write(DISABLE_SGR_MOUSE);
|
|
123
|
+
function disableMouseEvents(stdout, tracking = "button") {
|
|
124
|
+
stdout.write(DISABLE_SGR_MOUSE[tracking]);
|
|
118
125
|
}
|
|
119
126
|
__name(disableMouseEvents, "disableMouseEvents");
|
|
120
127
|
|
|
@@ -866,6 +873,14 @@ function KeypressProvider({
|
|
|
866
873
|
let swallowingSgrMouse = false;
|
|
867
874
|
let sgrMouseBuffer = "";
|
|
868
875
|
let sgrMouseTimeout = null;
|
|
876
|
+
const resetSgrMouse = /* @__PURE__ */ __name(() => {
|
|
877
|
+
swallowingSgrMouse = false;
|
|
878
|
+
sgrMouseBuffer = "";
|
|
879
|
+
if (sgrMouseTimeout) {
|
|
880
|
+
clearTimeout(sgrMouseTimeout);
|
|
881
|
+
sgrMouseTimeout = null;
|
|
882
|
+
}
|
|
883
|
+
}, "resetSgrMouse");
|
|
869
884
|
const updateKittyBuffer = /* @__PURE__ */ __name((value) => {
|
|
870
885
|
kittySequenceBufferRef.current = value;
|
|
871
886
|
}, "updateKittyBuffer");
|
|
@@ -1237,14 +1252,13 @@ function KeypressProvider({
|
|
|
1237
1252
|
if (key.sequence === FOCUS_IN || key.sequence === FOCUS_OUT) {
|
|
1238
1253
|
return;
|
|
1239
1254
|
}
|
|
1240
|
-
if (
|
|
1255
|
+
if (isPaste) {
|
|
1256
|
+
resetSgrMouse();
|
|
1257
|
+
} else if (swallowingSgrMouse) {
|
|
1241
1258
|
if (key.ctrl && key.name === "c") {
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
clearTimeout(sgrMouseTimeout);
|
|
1246
|
-
sgrMouseTimeout = null;
|
|
1247
|
-
}
|
|
1259
|
+
resetSgrMouse();
|
|
1260
|
+
} else if (key.name === "paste-start") {
|
|
1261
|
+
resetSgrMouse();
|
|
1248
1262
|
} else {
|
|
1249
1263
|
sgrMouseBuffer += key.sequence;
|
|
1250
1264
|
if (key.name === "m" || key.sequence === "M") {
|
|
@@ -1260,11 +1274,13 @@ function KeypressProvider({
|
|
|
1260
1274
|
}
|
|
1261
1275
|
}
|
|
1262
1276
|
sgrMouseBuffer = "";
|
|
1277
|
+
} else if (sgrMouseBuffer.length >= MAX_SGR_MOUSE_SEQUENCE_LENGTH) {
|
|
1278
|
+
resetSgrMouse();
|
|
1263
1279
|
}
|
|
1264
1280
|
return;
|
|
1265
1281
|
}
|
|
1266
1282
|
}
|
|
1267
|
-
if (key.sequence === `${ESC3}[<`) {
|
|
1283
|
+
if (!isPaste && key.sequence === `${ESC3}[<`) {
|
|
1268
1284
|
swallowingSgrMouse = true;
|
|
1269
1285
|
sgrMouseBuffer = `${ESC3}[<`;
|
|
1270
1286
|
if (sgrMouseTimeout) {
|
|
@@ -1665,12 +1681,7 @@ function KeypressProvider({
|
|
|
1665
1681
|
}
|
|
1666
1682
|
clearKittyBufferAndTimeout();
|
|
1667
1683
|
clearPasteIdleTimeout();
|
|
1668
|
-
|
|
1669
|
-
clearTimeout(sgrMouseTimeout);
|
|
1670
|
-
sgrMouseTimeout = null;
|
|
1671
|
-
}
|
|
1672
|
-
swallowingSgrMouse = false;
|
|
1673
|
-
sgrMouseBuffer = "";
|
|
1684
|
+
resetSgrMouse();
|
|
1674
1685
|
if (rawFlushTimeout) {
|
|
1675
1686
|
clearTimeout(rawFlushTimeout);
|
|
1676
1687
|
rawFlushTimeout = null;
|
|
@@ -2157,14 +2168,33 @@ function expandCollapsedHistory(items) {
|
|
|
2157
2168
|
return items.filter((item) => item.display?.kind !== "collapse-summary").map(stripSuppressOnRestore);
|
|
2158
2169
|
}
|
|
2159
2170
|
__name(expandCollapsedHistory, "expandCollapsedHistory");
|
|
2160
|
-
function applyCollapsePolicyAndSummary(rawItems, collapseOnResume) {
|
|
2171
|
+
function applyCollapsePolicyAndSummary(rawItems, collapseOnResume, collapsePreviewCount = 0) {
|
|
2161
2172
|
if (!collapseOnResume) return rawItems;
|
|
2162
|
-
|
|
2163
|
-
|
|
2173
|
+
if (collapsePreviewCount === -1) return rawItems;
|
|
2174
|
+
let boundary = rawItems.length;
|
|
2175
|
+
if (collapsePreviewCount > 0) {
|
|
2176
|
+
let userTurnCount = 0;
|
|
2177
|
+
for (let i = rawItems.length - 1; i >= 0; i--) {
|
|
2178
|
+
if (rawItems[i].type === "user" /* USER */) {
|
|
2179
|
+
userTurnCount++;
|
|
2180
|
+
if (userTurnCount === collapsePreviewCount) {
|
|
2181
|
+
boundary = i;
|
|
2182
|
+
break;
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
}
|
|
2186
|
+
if (userTurnCount < collapsePreviewCount) {
|
|
2187
|
+
boundary = 0;
|
|
2188
|
+
}
|
|
2189
|
+
}
|
|
2190
|
+
const hiddenItems = applyResumeDisplayPolicy(rawItems.slice(0, boundary));
|
|
2191
|
+
const visibleItems = rawItems.slice(boundary);
|
|
2192
|
+
const uiHistoryItems = [...hiddenItems, ...visibleItems];
|
|
2193
|
+
if (boundary > 0) {
|
|
2164
2194
|
const nextId = rawItems[rawItems.length - 1].id + 1;
|
|
2165
2195
|
return [
|
|
2166
2196
|
...uiHistoryItems,
|
|
2167
|
-
{ id: nextId, ...createHistoryCollapseSummaryItem(
|
|
2197
|
+
{ id: nextId, ...createHistoryCollapseSummaryItem(boundary) }
|
|
2168
2198
|
];
|
|
2169
2199
|
}
|
|
2170
2200
|
return uiHistoryItems;
|
|
@@ -2460,6 +2490,26 @@ function calculateCost(args) {
|
|
|
2460
2490
|
}
|
|
2461
2491
|
__name(calculateCost, "calculateCost");
|
|
2462
2492
|
|
|
2493
|
+
// packages/cli/src/ui/utils/skill-level-label.ts
|
|
2494
|
+
init_esbuild_shims();
|
|
2495
|
+
function levelLabel(level) {
|
|
2496
|
+
switch (level) {
|
|
2497
|
+
case "project":
|
|
2498
|
+
return t("Project");
|
|
2499
|
+
case "user":
|
|
2500
|
+
return t("User");
|
|
2501
|
+
case "extension":
|
|
2502
|
+
return t("Extension");
|
|
2503
|
+
case "bundled":
|
|
2504
|
+
return t("Bundled");
|
|
2505
|
+
default: {
|
|
2506
|
+
const _exhaustive = level;
|
|
2507
|
+
return _exhaustive;
|
|
2508
|
+
}
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
__name(levelLabel, "levelLabel");
|
|
2512
|
+
|
|
2463
2513
|
export {
|
|
2464
2514
|
enableMouseEvents,
|
|
2465
2515
|
disableMouseEvents,
|
|
@@ -2488,6 +2538,7 @@ export {
|
|
|
2488
2538
|
calculateCost,
|
|
2489
2539
|
getEffectiveSupportedModes,
|
|
2490
2540
|
filterCommandsForMode,
|
|
2541
|
+
levelLabel,
|
|
2491
2542
|
computeDiffColumnWidths,
|
|
2492
2543
|
diffCommand,
|
|
2493
2544
|
buildResumedHistoryItems,
|