@qwen-code/qwen-code 0.23.1-preview.2 → 0.23.2-nightly.20260909.2e212144d3
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 +35 -15
- package/bundled/computer-use/SKILL.md +189 -116
- package/bundled/goal-draft/SKILL.md +23 -13
- package/bundled/qc-helper/docs/_meta.ts +1 -0
- package/bundled/qc-helper/docs/configuration/auth.md +1 -1
- package/bundled/qc-helper/docs/configuration/model-providers.md +66 -16
- package/bundled/qc-helper/docs/configuration/settings.md +50 -0
- package/bundled/qc-helper/docs/conversations-recovery.md +102 -0
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
- package/bundled/qc-helper/docs/features/channels/github.md +1 -9
- package/bundled/qc-helper/docs/features/channels/overview.md +27 -52
- package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
- package/bundled/qc-helper/docs/features/commands.md +79 -17
- package/bundled/qc-helper/docs/features/computer-use.md +9 -7
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +291 -0
- package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
- package/bundled/qc-helper/docs/features/goals.md +17 -3
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
- package/bundled/qc-helper/docs/qwen-serve.md +80 -48
- package/chunks/{MaxSizedBox-IYIQ43IZ.js → MaxSizedBox-ZBGWYJZW.js} +29 -28
- package/chunks/{StandaloneSessionPicker-AWB2OHX6.js → StandaloneSessionPicker-NR5ACIJZ.js} +48 -47
- package/chunks/{acp-startup-profiler-BAL4LJTN.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
- package/chunks/{acpAgent-ZC57OLS4.js → acpAgent-DM6XRCDQ.js} +361 -210
- package/chunks/{agent-GEBPAEJS.js → agent-EF3IIYE3.js} +20 -20
- package/chunks/{agent-headless-63ZEYAJK.js → agent-headless-5J2KFYR4.js} +20 -20
- package/chunks/{anthropicContentGenerator-6XDHXIII.js → anthropicContentGenerator-VIW2FG7G.js} +32 -9
- package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-G5LHNECG.js} +1 -1
- package/chunks/{askUserQuestion-3KAYLLMM.js → askUserQuestion-R3TXY77M.js} +1 -1
- package/chunks/{bridge-MHWO5I5T.js → bridge-LEMQM6QE.js} +32 -31
- package/chunks/{channel-management-service-NFRZXQFO.js → channel-management-service-TGF6XFXT.js} +4 -4
- package/chunks/{channel-settings-store-T7PMIHKC.js → channel-settings-store-FV365JSF.js} +40 -39
- package/chunks/{channel-worker-group-O2BWK5F7.js → channel-worker-group-SQ5FRWOH.js} +7 -7
- package/chunks/{channel-worker-manager-4WP7VJOD.js → channel-worker-manager-TU4ZNWOE.js} +7 -7
- package/chunks/{channel-worker-supervisor-CCUXD6J5.js → channel-worker-supervisor-EMITFMCP.js} +4 -4
- package/chunks/{chunk-3SH53ANB.js → chunk-22GORRNY.js} +12 -0
- package/chunks/{chunk-OFB36ZBA.js → chunk-2HYOOFDS.js} +10 -7
- package/chunks/chunk-2Z3T52OC.js +82 -0
- package/chunks/{chunk-LYHYXJJ3.js → chunk-34VPADLG.js} +3 -3
- package/chunks/{chunk-C7M445SS.js → chunk-3A2IMUDH.js} +14 -2
- package/chunks/{chunk-P5Z7VD23.js → chunk-3O77M472.js} +294 -87
- package/chunks/{chunk-4OCYWXKF.js → chunk-43EUMPKQ.js} +3 -3
- package/chunks/{chunk-W4LL5RZO.js → chunk-4ALNJDHL.js} +52 -13
- package/chunks/{chunk-VMFPZXRT.js → chunk-4DIMJKWU.js} +64 -43
- package/chunks/{chunk-ZRVFHLLK.js → chunk-5DQ4YTIZ.js} +1 -1
- package/chunks/{chunk-VYCJITND.js → chunk-5HV2HPO7.js} +1 -1
- package/chunks/{chunk-22QOQKG4.js → chunk-5WBA3DEF.js} +1 -1
- package/chunks/{chunk-3K65MUKD.js → chunk-65I7S4Z3.js} +2 -1
- package/chunks/{chunk-I7UNCY24.js → chunk-6GAYNM3F.js} +3 -3
- package/chunks/{chunk-2C3XDBGL.js → chunk-6S7YYUUH.js} +4 -4
- package/chunks/{chunk-Y3C5COGI.js → chunk-6VIATHL7.js} +1 -1
- package/chunks/{chunk-XNC2TCUO.js → chunk-76I36BEM.js} +4 -4
- package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
- package/chunks/{chunk-RGAQDQ3Z.js → chunk-7IDZFJAV.js} +18 -9
- package/chunks/{chunk-5Z4FCEPY.js → chunk-7K4GGN3D.js} +606 -109
- package/chunks/{chunk-WLZRMF3C.js → chunk-7KZVXJ4U.js} +353 -11
- package/chunks/{chunk-REDVV5NC.js → chunk-7WCJEY3A.js} +7 -7
- package/chunks/{chunk-I67KJGM6.js → chunk-A7QZIGRB.js} +3 -3
- package/chunks/{chunk-SHX2HIE7.js → chunk-ATBLEXXV.js} +7 -2
- package/chunks/{chunk-RH344FKI.js → chunk-AUTUFD5X.js} +1 -1
- package/chunks/chunk-AXMWHKXA.js +42 -0
- package/chunks/{chunk-WFXD5OZH.js → chunk-AXWTG6R7.js} +2 -5
- package/chunks/{chunk-TSLRORQR.js → chunk-BDAVT6K2.js} +1809 -1588
- package/chunks/{chunk-HWZOOSEB.js → chunk-BDP3NTWD.js} +3 -3
- package/chunks/{chunk-RD3VPM4E.js → chunk-BZUHZCUO.js} +2 -2
- package/chunks/{chunk-HPE4LEWX.js → chunk-C24ZDDNY.js} +1 -1
- package/chunks/{chunk-R7TKFIQO.js → chunk-CALNF3Z3.js} +1 -1
- package/chunks/{chunk-RPFJJ33Z.js → chunk-CALTQWTZ.js} +1 -1
- package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
- package/chunks/{chunk-LD53HMPV.js → chunk-CRZBDVP2.js} +1 -0
- package/chunks/{chunk-GEV66YGE.js → chunk-D6AGS266.js} +1 -1
- package/chunks/{chunk-EPZWBYQI.js → chunk-D7DFZAK2.js} +19 -11
- package/chunks/{chunk-5V4B3EWA.js → chunk-DARWOZY6.js} +1 -1
- package/chunks/{chunk-XX4MBBFW.js → chunk-DGNRLJ6S.js} +4 -4
- package/chunks/{chunk-UTVIIA7N.js → chunk-DVOCOIS5.js} +1 -1
- package/chunks/{chunk-RQNAO42A.js → chunk-E4LXNQAK.js} +1 -1
- package/chunks/{chunk-EGRFCIXD.js → chunk-EATP5QCN.js} +84 -25
- package/chunks/{chunk-3RMVM33U.js → chunk-EDSU3VUG.js} +12 -5
- package/chunks/{chunk-733KQL63.js → chunk-EE5ZD4XU.js} +3 -3
- package/chunks/{chunk-QQGAR64U.js → chunk-EN3Q2S3J.js} +4 -4
- package/chunks/{chunk-PLUAIHZO.js → chunk-EOLGAQ25.js} +17 -16
- package/chunks/{chunk-37SOBIA3.js → chunk-ERXNTINK.js} +1 -1
- package/chunks/{chunk-L36LLVA5.js → chunk-EYCW6UF2.js} +7 -7
- package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
- package/chunks/{chunk-FPGTNKCP.js → chunk-F3M6P6IQ.js} +199 -1
- package/chunks/{chunk-B44JBZBB.js → chunk-F4SAL7WM.js} +91 -3
- package/chunks/{chunk-F47DITLZ.js → chunk-FAWTMDX7.js} +14 -0
- package/chunks/{chunk-SI6Q52UI.js → chunk-FEEVHJOR.js} +3 -3
- package/chunks/{chunk-75UQFGFE.js → chunk-FN4KHWCL.js} +1 -1
- package/chunks/{chunk-WQBR7LN5.js → chunk-FRS3P7MQ.js} +15 -2
- package/chunks/{chunk-5JLQWQK6.js → chunk-FV4DM2M4.js} +2 -2
- package/chunks/{chunk-Z6DDPSGJ.js → chunk-GNY7B3CA.js} +1 -1
- package/chunks/{chunk-FDOGGKAA.js → chunk-GSFV5RQW.js} +2 -0
- package/chunks/{chunk-XBVNNDPK.js → chunk-GSYD7MYP.js} +8 -3
- package/chunks/{chunk-ERMAXPXA.js → chunk-HIXUUCGY.js} +187 -12
- package/chunks/{chunk-EJNYBDYC.js → chunk-HNLMYDQE.js} +1 -1
- package/chunks/{chunk-3K456UJF.js → chunk-HSO6D4KX.js} +93 -28
- package/chunks/{chunk-ANVC5CSK.js → chunk-HUJJFSMO.js} +10 -10
- package/chunks/{chunk-C4NXRR7T.js → chunk-HW4MRP4V.js} +2 -2
- package/chunks/{chunk-PMGWY6ZP.js → chunk-HWLLUDIA.js} +113 -18
- package/chunks/{chunk-RCUWMVN3.js → chunk-HZ2HUXX7.js} +1 -1
- package/chunks/{chunk-7PMKXGRP.js → chunk-IKK6NNS6.js} +91 -31
- package/chunks/{chunk-IMWCUWQT.js → chunk-J3TJH52D.js} +1 -1
- package/chunks/{chunk-BNWIX6BM.js → chunk-JFAGT5YG.js} +3 -3
- package/chunks/{chunk-RSU3I6UL.js → chunk-JGTMTJSQ.js} +1 -1
- package/chunks/{chunk-LTCI6ZOJ.js → chunk-JYGIJA4W.js} +1 -1
- package/chunks/{chunk-537SQ2AI.js → chunk-KECCLCXM.js} +146 -24
- package/chunks/{chunk-KAZWXVI3.js → chunk-KEPC5BOL.js} +5 -5
- package/chunks/{chunk-HZS3JRQW.js → chunk-L5VHJYHH.js} +40 -2
- package/chunks/{chunk-KTLT7VCX.js → chunk-LKBOBUA2.js} +2 -2
- package/chunks/{chunk-TDHVOZ65.js → chunk-LOBKNYPR.js} +2 -2
- package/chunks/{chunk-QW7BUOSI.js → chunk-LOVGQ3HZ.js} +26 -9
- package/chunks/{chunk-5FYGZ7E3.js → chunk-MUF4UGPB.js} +2 -2
- package/chunks/chunk-N3Z6Q7KC.js +384 -0
- package/chunks/{chunk-JOV46WGX.js → chunk-NB3NDQQK.js} +1 -1
- package/chunks/chunk-NFXXBWSE.js +463 -0
- package/chunks/chunk-NOO4QFXM.js +171 -0
- package/chunks/{chunk-PQSCGZT2.js → chunk-NPKCVSXX.js} +26 -2
- package/chunks/{chunk-FXYNIZPW.js → chunk-NV4YYXFT.js} +51 -10
- package/chunks/{chunk-FWH4736Q.js → chunk-O6BFERWN.js} +3 -3
- package/chunks/{chunk-UKADFFL2.js → chunk-OFVAS4AR.js} +1 -1
- package/chunks/{chunk-C55CR5I4.js → chunk-OVTPETDL.js} +6 -6
- package/chunks/chunk-PLEBBGHL.js +1401 -0
- package/chunks/{chunk-Z6KFLEG7.js → chunk-PSPAM24S.js} +1 -0
- package/chunks/{chunk-RRCNEW2A.js → chunk-PWR6BQ3U.js} +58 -4
- package/chunks/{chunk-SHK2SIR5.js → chunk-QA2B26PL.js} +4 -4
- package/chunks/{chunk-NFIDVZND.js → chunk-QB3KS3N3.js} +2 -21
- package/chunks/{chunk-NUQFUXOG.js → chunk-QTNCGZHQ.js} +2 -0
- package/chunks/{chunk-QJVZLILI.js → chunk-R7OO56VZ.js} +1 -1
- package/chunks/{chunk-MFCWL4LI.js → chunk-SK6VACCM.js} +936 -481
- package/chunks/{chunk-SD7Y2PMC.js → chunk-SM66GFKJ.js} +2 -2
- package/chunks/{chunk-ADJD4LZF.js → chunk-SNMUO5Z7.js} +1 -1
- package/chunks/{chunk-NXWYCSPL.js → chunk-SOA4HKRJ.js} +1 -1
- package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
- package/chunks/{chunk-YLFICBYK.js → chunk-SYKPMH2X.js} +3 -3
- package/chunks/{chunk-5HBA2Z7V.js → chunk-TGNNLRC3.js} +2 -3
- package/chunks/{chunk-AX23QSX3.js → chunk-TRQNRP2H.js} +4 -4
- package/chunks/{chunk-AUJOWIT5.js → chunk-UQOP2APG.js} +4 -24
- package/chunks/{chunk-HY3DXYZK.js → chunk-UYDQYDW2.js} +1 -1
- package/chunks/{chunk-IGOIYZBG.js → chunk-VAWM3A5N.js} +2 -2
- package/chunks/{chunk-6KYWU726.js → chunk-VJJXG73H.js} +417 -292
- package/chunks/{chunk-ZNI3V2XA.js → chunk-VJWJOKOQ.js} +2 -2
- package/chunks/{chunk-AWDF462I.js → chunk-VR6Y23FW.js} +2 -2
- package/chunks/{chunk-T7TP5UQL.js → chunk-VX2NR3SD.js} +21 -6
- package/chunks/{chunk-65GHQ4FX.js → chunk-WDVV3LRM.js} +707 -216
- package/chunks/{chunk-KP5QK3FB.js → chunk-WEU6O6VN.js} +397 -54
- package/chunks/{chunk-OHOO527W.js → chunk-WG7BL3FY.js} +52 -2
- package/chunks/{chunk-VU7O7CGQ.js → chunk-XDNFODER.js} +1 -1
- package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
- package/chunks/{chunk-RUMSY4ES.js → chunk-Y7YHAY32.js} +28 -10
- package/chunks/{chunk-7IKXTGZT.js → chunk-YI2YCNSP.js} +1 -1
- package/chunks/{chunk-B5FF3LRF.js → chunk-YIE6REQ5.js} +29 -17
- package/chunks/{chunk-E4VX6LXB.js → chunk-YZTGGCEE.js} +10 -2
- package/chunks/{chunk-TXAEXF2B.js → chunk-ZEFWBG2C.js} +737 -1136
- package/chunks/{chunk-AIMZIXZM.js → chunk-ZM2TCZZ7.js} +5 -7
- package/chunks/{chunk-ZT3XUGSU.js → chunk-ZZ7RVOTU.js} +135 -26
- package/chunks/{config-utils-F4CFJ4MW.js → config-utils-SXFK3G4X.js} +33 -32
- package/chunks/{contextCommand-OIIGGOMU.js → contextCommand-QFPD26QO.js} +31 -30
- package/chunks/{core-runtime-JEHLOGMB.js → core-runtime-VXKNBODM.js} +35 -33
- package/chunks/{create-sub-session-MVFBE5RA.js → create-sub-session-7WSQETFR.js} +30 -29
- package/chunks/{daemon-LCUELM6E.js → daemon-U2456K5H.js} +2 -2
- package/chunks/{daemon-git-worktree-guard-5FTKLJOU.js → daemon-git-worktree-guard-I4DCSDUS.js} +29 -28
- package/chunks/{daemon-status-provider-P6A5MPMW.js → daemon-status-provider-5UV56RI4.js} +36 -35
- package/chunks/{daemon-trust-policy-ZJ3NFYUO.js → daemon-trust-policy-DKIBWTKU.js} +36 -35
- package/chunks/{daemon-trust-policy-monitor-6SDLEW7S.js → daemon-trust-policy-monitor-CPSD7UKT.js} +36 -35
- package/chunks/{deferred-core-runtime-DWOXIU5S.js → deferred-core-runtime-D2RF35BL.js} +29 -28
- package/chunks/{discovery-TUM3ZQ6U.js → discovery-XP4RMDUM.js} +4 -2
- package/chunks/{dist-P6YWBITG.js → dist-6YDUH3BB.js} +817 -152
- package/chunks/{dist-T4PRA5EZ.js → dist-BNQVF565.js} +2 -8
- package/chunks/{dist-AI25RVRA.js → dist-F34J4FZX.js} +1 -1
- package/chunks/{dist-3H3WODVS.js → dist-F6JLAJLE.js} +1 -1
- package/chunks/{dist-NXW4DUUX.js → dist-K5GHMXIG.js} +2 -2
- package/chunks/{dist-YNQU4CKC.js → dist-NP7QKLVG.js} +2 -2
- package/chunks/{dist-VCAS67N5.js → dist-UFTFGI6I.js} +1 -1
- package/chunks/{dist-I74QLLQS.js → dist-XLV33CLY.js} +1 -2
- package/chunks/{dist-XINEKB5A.js → dist-ZDNJK74R.js} +3 -7
- package/chunks/{edit-WPVXLL3T.js → edit-4IBADZ3O.js} +20 -20
- package/chunks/{enter-worktree-5A6VW6BN.js → enter-worktree-YFTKHXHZ.js} +2 -2
- package/chunks/{enterPlanMode-JSODW7E2.js → enterPlanMode-YN3GPQU5.js} +20 -20
- package/chunks/{environment-5LLJ3I3W.js → environment-E272IJMF.js} +32 -31
- package/chunks/{errors-IQT3YZEP.js → errors-CVAH3RWQ.js} +31 -30
- package/chunks/{exit-worktree-QV7E7KP6.js → exit-worktree-NF2XEMES.js} +3 -3
- package/chunks/{exitPlanMode-DDVFYNW4.js → exitPlanMode-24J5IHGC.js} +20 -20
- package/chunks/{fast-path-PAUQQEVU.js → fast-path-M5IDBMXF.js} +4 -4
- package/chunks/{fast-path-settings-ISEJPRYE.js → fast-path-settings-SATXY3PD.js} +3 -3
- package/chunks/{glob-SQ7CTZ7F.js → glob-ERBD7JYP.js} +20 -20
- package/chunks/{goal-tools-UWZRCLQB.js → goal-tools-245ULLQT.js} +20 -20
- package/chunks/{handleAutoUpdate-RUPZZTSG.js → handleAutoUpdate-JDZHHZKK.js} +32 -31
- package/chunks/{i18n-SF5MPWEB.js → i18n-LA4D5IXM.js} +32 -29
- package/chunks/{image-gen-Q3RUTVKR.js → image-gen-XP4NNIYG.js} +4 -4
- package/chunks/{initializer-CK4WPYZG.js → initializer-SHPTSWUZ.js} +36 -35
- package/chunks/{installationInfo-IRPQEYRF.js → installationInfo-QEQEPB3G.js} +29 -28
- package/chunks/{list-E3PS3EBJ.js → list-IBHCQWTF.js} +39 -38
- package/chunks/{list-agents-I5TRH3J7.js → list-agents-EDPZCGKN.js} +5 -4
- package/chunks/{llm-JQKBOYAF.js → llm-JAWCQLA4.js} +81 -75
- package/chunks/{llm-content-generator-2QWGBW42.js → llm-content-generator-GOV3A23T.js} +23 -8
- package/chunks/{loadedSettingsAdapter-DGXGVYZS.js → loadedSettingsAdapter-RVE2GNVU.js} +36 -35
- package/chunks/{loggingContentGenerator-ZYURLJKK.js → loggingContentGenerator-SSHNN5YW.js} +22 -22
- package/chunks/{managed-npm-update-HTHR63EA.js → managed-npm-update-BHSTITQO.js} +29 -28
- package/chunks/{mcp-I7G2AEWS.js → mcp-6ZZ7P2HU.js} +36 -35
- package/chunks/{monitor-4R76BCRZ.js → monitor-RKK6GSHG.js} +20 -20
- package/chunks/{nonInteractiveCli-24OQ3VP2.js → nonInteractiveCli-UQHP3G6P.js} +76 -72
- package/chunks/{notebook-edit-PPSH7FEX.js → notebook-edit-YM47A7WO.js} +20 -20
- package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
- package/chunks/{openaiContentGenerator-K7V5EO7F.js → openaiContentGenerator-FHKDWNI2.js} +11 -11
- package/chunks/{pidfile-TGIUY2GG.js → pidfile-SIIEJEEH.js} +32 -29
- package/chunks/{processUtils-3USXUQWX.js → processUtils-JF7CWBJC.js} +2 -2
- package/chunks/{prompt-terminal-ledger-XHVZRXJI.js → prompt-terminal-ledger-FXXHAEQU.js} +30 -29
- package/chunks/{qwenContentGenerator-MPBOQB64.js → qwenContentGenerator-KFJ77JP6.js} +24 -24
- package/chunks/{qwenOAuth2-BS5D2LYV.js → qwenOAuth2-KX6LVYQ3.js} +4 -4
- package/chunks/{read-file-R256LDWQ.js → read-file-S2NOCBIL.js} +4 -4
- package/chunks/{resumeHistoryUtils-S43LTFHD.js → resumeHistoryUtils-QHHPSQWU.js} +33 -32
- package/chunks/{ripGrep-L7HPZ75Y.js → ripGrep-F6TNOJUO.js} +5 -5
- package/chunks/{run-qwen-serve-CTFL5R6U.js → run-qwen-serve-KYBDQRDD.js} +229 -79
- package/chunks/{runtime-FS5TL6P7.js → runtime-3WNOFLCR.js} +43 -40
- package/chunks/{scheduled-tasks-QXPV3Q35.js → scheduled-tasks-RNBH56DJ.js} +34 -33
- package/chunks/{scheduler-EXU5HMVK.js → scheduler-ERMW7Q7B.js} +31 -30
- package/chunks/{send-message-GQKXGMPI.js → send-message-V5T3NMFM.js} +4 -4
- package/chunks/{serve-ITJC7WNN.js → serve-7NV46RMP.js} +36 -35
- package/chunks/{server-6JQY3PTU.js → server-6RZJR5QF.js} +1358 -932
- package/chunks/{session-PJDEKXD4.js → session-Z4EV7NVV.js} +107 -78
- package/chunks/{session-attachments-root-L37ORSST.js → session-attachments-root-SG5FC52X.js} +29 -28
- package/chunks/{session-pr-refresh-WIFD52YL.js → session-pr-refresh-ILC4Z3ZM.js} +33 -32
- package/chunks/{settings-LO6J5SAZ.js → settings-Y47SPE3X.js} +35 -34
- package/chunks/{shell-ANAFVYGR.js → shell-YBVCOPVO.js} +20 -20
- package/chunks/{skill-SHJWKSPH.js → skill-AXC63EBA.js} +4 -4
- package/chunks/{skill-settings-GX3XHZ5Q.js → skill-settings-AFPAYGLO.js} +35 -34
- package/chunks/{spawnChannel-WE42VBKM.js → spawnChannel-ZFL4J2V3.js} +29 -28
- package/chunks/{standalone-update-CWDIKJRP.js → standalone-update-Y2OZPLNJ.js} +31 -30
- package/chunks/{start-opentui-ui-BBHGFOTF.js → start-opentui-ui-G6TKT4LI.js} +2270 -1026
- package/chunks/{startInteractiveUI-FQX7LUYP.js → startInteractiveUI-YTNDPW7J.js} +1789 -2211
- package/chunks/{task-create-PMAFST2T.js → task-create-MWXJFRRM.js} +3 -3
- package/chunks/{task-list-R2HSY2NC.js → task-list-EYO3FE57.js} +2 -2
- package/chunks/{task-update-JYC57USF.js → task-update-2JJJRHMT.js} +3 -3
- package/chunks/{team-create-WKTPCH6D.js → team-create-BUFLGGSH.js} +20 -20
- package/chunks/{team-delete-CBHVBTPB.js → team-delete-IQZ6XGFI.js} +2 -2
- package/chunks/{team-plan-approval-Y23DL7WR.js → team-plan-approval-OUWWM42U.js} +20 -20
- package/chunks/{terminal-image-renderer-B646HBDW.js → terminal-image-renderer-WH2WV5ES.js} +29 -28
- package/chunks/{theme-manager-BNWESY26.js → theme-manager-5UDRARM2.js} +29 -28
- package/chunks/{tool-search-PVQ5O5Y2.js → tool-search-MCDIRPHN.js} +4 -4
- package/chunks/{total-session-admission-P5Z43KNW.js → total-session-admission-VL27U74Z.js} +33 -32
- package/chunks/{trustedFolders-FH2LT2MZ.js → trustedFolders-MSXT4VDD.js} +30 -29
- package/chunks/{update-relaunch-WOWTKJSN.js → update-relaunch-JKLEWVCB.js} +5 -5
- package/chunks/{updateCheck-3MYFMM35.js → updateCheck-ARTHAJT2.js} +31 -30
- package/chunks/{useAutoAcceptIndicator-Q7ZRRRKO.js → useAutoAcceptIndicator-YEAAGYVU.js} +38 -37
- package/chunks/{validateNonInterActiveAuth-MYEWJX3G.js → validateNonInterActiveAuth-EMRQKH5S.js} +71 -69
- package/chunks/{version-RO2FPO76.js → version-HFQU35WD.js} +3 -1
- package/chunks/{web-fetch-QAKY2LUA.js → web-fetch-QBXAO6VF.js} +7 -7
- package/chunks/{web-search-XA5Z4ZCD.js → web-search-2URQXA3A.js} +201 -13
- package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-BFDESDD4.js} +5 -4
- package/chunks/{workflow-QFIOCMDM.js → workflow-JDD6WDAH.js} +211 -75
- package/chunks/{workspace-providers-status-B2UD7RAG.js → workspace-providers-status-B4IKR6YJ.js} +38 -37
- package/chunks/{workspace-registration-store-VZLRTI3Q.js → workspace-registration-store-PJ3YHR45.js} +1 -2
- package/chunks/{workspace-registry-GYOGG6TM.js → workspace-registry-WVYJ5UGB.js} +33 -32
- package/chunks/{workspace-runtime-coordinator-7KRXGQ4V.js → workspace-runtime-coordinator-DXL5YVAG.js} +33 -32
- package/chunks/{workspace-service-DJEYGJE4.js → workspace-service-QNGAMVH7.js} +40 -39
- package/chunks/{workspace-skills-status-MOKNESUC.js → workspace-skills-status-BEISJIII.js} +36 -35
- package/chunks/{workspace-trust-reconciler-AXOSUTQW.js → workspace-trust-reconciler-ORYJF5L4.js} +40 -39
- package/chunks/{write-file-QOYVHAKK.js → write-file-DWLKFBTJ.js} +21 -21
- package/chunks/{zoom-image-UCCLGFNC.js → zoom-image-BYVIXSNQ.js} +4 -4
- package/cli.js +13 -13
- package/export-transcript-document.js +123 -119
- package/package.json +4 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-CTstZpXw.js → abnfDiagram-VCTEODGH-C_8kzsly.js} +1 -1
- package/web-shell/assets/{arc-DKW0mbPo.js → arc-CDg7Zfpm.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DkMpJ42t.js → architectureDiagram-5GKGNRK7-DZzdCWyF.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-7Cp1_4i3.js → blockDiagram-NRAW4CY4-DI3B4gyR.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BfaoSlBK.js → c4Diagram-UCG6FXSJ-CfOgwHZW.js} +1 -1
- package/web-shell/assets/channel-e4xwS72w.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-_n1qzAio.js → chunk-2Q5K7J3B-B_PUth0g.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-0cira5ZV.js → chunk-5VM5RSS4-CrKtvBIL.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DseRXSHC.js → chunk-F27PBJKO-B4z2n8Py.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-BehQWin0.js → chunk-G27WJ6UU-BUtrFEO8.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-B5ftg1Bb.js → chunk-JWPE2WC7-Cqw3aXW0.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D7rnbVdk.js → chunk-LCL6LL3I-CZolnvls.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-2Bp-Orju.js → chunk-POPQ4Y6H-DivgasCa.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-CD2goGva.js → chunk-SVP7TREG--seyb1B6.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-DzQt-Rji.js → chunk-XXDRQBXY-D7pHtuVM.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CzXfUUOt.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CzXfUUOt.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-C-BZXSUn.js → cose-bilkent-JH36ORCC-4MWaRF_3.js} +1 -1
- package/web-shell/assets/csv-CX7rUNeC.svg +1 -0
- package/web-shell/assets/{cynefin-OW5HDTMX-BTcvowe1.js → cynefin-OW5HDTMX-nhJhAjgD.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BoUE6K81.js → cynefinDiagram-5FMLGOSQ-NF-PwXlq.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-BHxy9xeB.js → dagre-3AP2YEHR-Bu0ncdWP.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DMiJIvDT.js → diagram-S7CK7UJ4-CsvhFHZC.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-DXV09Aes.js → diagram-UQ7AKVKN-Ck61sIB3.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-CocpRomV.js → diagram-VSXAHHWV-D0171zrb.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-DL7nqtb4.js → diagram-VX7I27RA-DvdxY4UL.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-CPZ2Jux_.js → diagram-Z3DM3KII-CGGpseiB.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-BX-eVNsX.js → ebnfDiagram-PWID7BFC-K8-QMvY8.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CPy_Ir6y.js → erDiagram-SSCWMZ5O-D316nAem.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-eknAOte9.js → flowDiagram-A5DVABFB-B7siy_mn.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-crAxw_t7.js → ganttDiagram-EL5Y4UJY-BZQDxzTu.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-M29pa3Tc.js → gitGraphDiagram-WWUBYQGX-DZynLCSV.js} +1 -1
- package/web-shell/assets/{index-C9R-iojE.js → index-9ie6xLTM.js} +1 -1
- package/web-shell/assets/index-DirkXQEg.js +2164 -0
- package/web-shell/assets/index-DzdST_7L.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-XqspXdOU.js → infoDiagram-RXCK75RN-B0gr769A.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-C5KFS-7j.js → ishikawaDiagram-5VMMS53U-0pQFfjvX.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-Cc57LVRo.js → journeyDiagram-EYS64GPL-DEGtClWb.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-C81OG-AI.js → kanban-definition-3QL26DDD-CnN8gPzw.js} +1 -1
- package/web-shell/assets/{layout-CFVu37BB.js → layout-C_70RhaT.js} +1 -1
- package/web-shell/assets/{linear-ChBxdtWf.js → linear-BJ2ZLmcq.js} +1 -1
- package/web-shell/assets/{mermaid.core-CMLfue0w.js → mermaid.core-RlY0zPNC.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DFsvJThp.js → mindmap-definition-FBJOCRG2-CpVAxTNl.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BzpRzM4F.js → pegDiagram-XKGWAZYB-DmrSv3hD.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-Cv0Kankl.js → pieDiagram-E7YTZNPT-CJmgp8KJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-Bh2BJ3Ay.js → quadrantDiagram-AXDQQJYC-UsgOyNco.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-y8rNDdDS.js → railroadDiagram-O6MQD6OU-DQ6gMs_W.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C0m2DKJ_.js → requirementDiagram-EFPCY7ZU-DhqadamF.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-BzdGnSF4.js → sankeyDiagram-P5KCCOFB-R4WnURaE.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DPzAVmzz.js → sequenceDiagram-WJ2MYXX4-D7BwMi_D.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-LcHG28Zh.js → sizeCapture-X5ZJPWSS-Bqngz088.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-C1Bzy3IT.js → stateDiagram-HBIQ2CUA-DwaXPGqn.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-8GCQZAvv.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-Bftk8V64.js → swimlanes-XN3QIQJK-BsaLeRDY.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BoRBF2Yw.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-BfXHcN1A.js → timeline-definition-24CTP7MA-NJ9G-NUU.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DRSlI9-V.js → vennDiagram-4TSXK5OY-Ca3W4rSq.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CaLmqGau.js → wardleyDiagram-VM6X3IG4-OabvjC-6.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-8lgUT6e8.js → xychartDiagram-S5SC5T6Z-C7rbjvpc.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-2LD5U7Q3.js +0 -114
- package/chunks/chunk-3UMWOKJC.js +0 -78
- package/chunks/chunk-IQAFKVXS.js +0 -22
- package/chunks/chunk-X35VIWWJ.js +0 -276
- package/chunks/chunk-ZJ2LM2SI.js +0 -198
- package/web-shell/assets/channel-CQx7VSAp.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-C-Uz8hHk.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-C-Uz8hHk.js +0 -1
- package/web-shell/assets/index-B4TLaxWs.js +0 -2142
- package/web-shell/assets/index-CCrkEbzz.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-LuuL5byY.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-COmnNq8s.js +0 -8
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
listCommand
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QA2B26PL.js";
|
|
6
6
|
import {
|
|
7
7
|
getErrorMessage as getErrorMessage2
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-SYKPMH2X.js";
|
|
9
9
|
import {
|
|
10
10
|
CUSTOM_SANDBOX_IMAGE_ENV_VAR
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5WBA3DEF.js";
|
|
12
12
|
import {
|
|
13
13
|
isOwnInterfaceAddress
|
|
14
14
|
} from "./chunk-24FVUD5P.js";
|
|
15
15
|
import {
|
|
16
16
|
serveCommand
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-EYCW6UF2.js";
|
|
18
18
|
import {
|
|
19
19
|
OBSERVED_CONTACT_MAX_FRESH_WITHIN_SECONDS,
|
|
20
20
|
ObservedChannelContactStore
|
|
@@ -58,12 +58,12 @@ import {
|
|
|
58
58
|
} from "./chunk-Y53DG2HA.js";
|
|
59
59
|
import {
|
|
60
60
|
CLI_VERSION
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-LOBKNYPR.js";
|
|
62
62
|
import {
|
|
63
63
|
collectProviderModelsForProtocol,
|
|
64
64
|
getAuthTypeFromEnv,
|
|
65
65
|
resolveCliGenerationConfig
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-6GAYNM3F.js";
|
|
67
67
|
import {
|
|
68
68
|
resolveSkillSettings
|
|
69
69
|
} from "./chunk-HWVUSYSN.js";
|
|
@@ -81,19 +81,20 @@ import {
|
|
|
81
81
|
registerPermissionRelay,
|
|
82
82
|
registerSessionCleanup,
|
|
83
83
|
registerToolCallDispatch,
|
|
84
|
+
resolveChannelLocale,
|
|
84
85
|
selectFirstModel,
|
|
85
86
|
sessionsPath
|
|
86
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-EDSU3VUG.js";
|
|
87
88
|
import {
|
|
88
89
|
getExtensionManager,
|
|
89
90
|
requestChoicePluginNonInteractive,
|
|
90
91
|
requestConsentNonInteractive,
|
|
91
92
|
requestConsentOrFail,
|
|
92
93
|
resolveExtensionCommandScope
|
|
93
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-6S7YYUUH.js";
|
|
94
95
|
import {
|
|
95
96
|
parseChannelConfig
|
|
96
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-JFAGT5YG.js";
|
|
97
98
|
import {
|
|
98
99
|
findCliEntryPath
|
|
99
100
|
} from "./chunk-V6WHFGST.js";
|
|
@@ -103,7 +104,7 @@ import {
|
|
|
103
104
|
clearAccount,
|
|
104
105
|
loadAccount,
|
|
105
106
|
saveAccount
|
|
106
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-JYGIJA4W.js";
|
|
107
108
|
import {
|
|
108
109
|
canonicalizeWorkspace
|
|
109
110
|
} from "./chunk-6PLDPT2C.js";
|
|
@@ -121,7 +122,7 @@ import {
|
|
|
121
122
|
import {
|
|
122
123
|
normalizeWorkerDiagnostic,
|
|
123
124
|
sanitizeWorkerDiagnostic
|
|
124
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-DARWOZY6.js";
|
|
125
126
|
import {
|
|
126
127
|
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
127
128
|
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
@@ -145,6 +146,10 @@ import {
|
|
|
145
146
|
import {
|
|
146
147
|
EXTERNAL_TOOL_GUARD_TOKEN_ENV
|
|
147
148
|
} from "./chunk-3VUENPWF.js";
|
|
149
|
+
import {
|
|
150
|
+
CHANNEL_WORKER_KILL_GRACE_MS,
|
|
151
|
+
CHANNEL_WORKER_STOP_GRACE_MS
|
|
152
|
+
} from "./chunk-TGNNLRC3.js";
|
|
148
153
|
import {
|
|
149
154
|
AcpBridge,
|
|
150
155
|
ChannelLoopScheduler,
|
|
@@ -155,53 +160,51 @@ import {
|
|
|
155
160
|
isChannelProactiveDeliveryError,
|
|
156
161
|
sanitizeLogText,
|
|
157
162
|
sanitizePromptText
|
|
158
|
-
} from "./chunk-
|
|
159
|
-
import {
|
|
160
|
-
CHANNEL_WORKER_KILL_GRACE_MS,
|
|
161
|
-
CHANNEL_WORKER_STOP_GRACE_MS
|
|
162
|
-
} from "./chunk-5HBA2Z7V.js";
|
|
163
|
+
} from "./chunk-WDVV3LRM.js";
|
|
163
164
|
import {
|
|
165
|
+
pidFilePath,
|
|
164
166
|
readServiceInfo,
|
|
165
167
|
removeServiceInfo,
|
|
166
168
|
signalService,
|
|
167
169
|
waitForExit,
|
|
168
170
|
writeServiceInfo
|
|
169
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-NFXXBWSE.js";
|
|
170
172
|
import {
|
|
171
173
|
assembleMcpServers,
|
|
172
174
|
getPendingGatedMcpServers,
|
|
173
175
|
mcpCommand
|
|
174
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-OVTPETDL.js";
|
|
175
177
|
import {
|
|
176
178
|
loadSettings
|
|
177
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-Y7YHAY32.js";
|
|
178
180
|
import {
|
|
179
181
|
detectSystemLanguage,
|
|
180
182
|
getCurrentLanguage,
|
|
181
183
|
initializeI18n,
|
|
184
|
+
resolveLanguage,
|
|
182
185
|
resolveLanguageSetting,
|
|
183
186
|
t
|
|
184
|
-
} from "./chunk-
|
|
187
|
+
} from "./chunk-CRZBDVP2.js";
|
|
185
188
|
import {
|
|
186
189
|
isFileSourcedEnvKey,
|
|
187
190
|
loadEnvironment
|
|
188
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-43EUMPKQ.js";
|
|
189
192
|
import {
|
|
190
193
|
resolveAcpChannelFallback,
|
|
191
194
|
scrubAndReportInheritedLoaderEnv
|
|
192
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-QTNCGZHQ.js";
|
|
193
196
|
import {
|
|
194
197
|
readPackageUpSync
|
|
195
198
|
} from "./chunk-2EAZ43JQ.js";
|
|
196
199
|
import {
|
|
197
200
|
getCliVersion
|
|
198
|
-
} from "./chunk-
|
|
201
|
+
} from "./chunk-ATBLEXXV.js";
|
|
199
202
|
import {
|
|
200
203
|
getPackageJson
|
|
201
204
|
} from "./chunk-W3N5XAZ6.js";
|
|
202
205
|
import {
|
|
203
206
|
isWorkspaceTrusted
|
|
204
|
-
} from "./chunk-
|
|
207
|
+
} from "./chunk-D6AGS266.js";
|
|
205
208
|
import {
|
|
206
209
|
require_strip_json_comments
|
|
207
210
|
} from "./chunk-NPQ5ZKRP.js";
|
|
@@ -223,7 +226,7 @@ import {
|
|
|
223
226
|
removeChannelMemoryEntries,
|
|
224
227
|
removePeerController,
|
|
225
228
|
updateChannelMemoryEntry
|
|
226
|
-
} from "./chunk-
|
|
229
|
+
} from "./chunk-ZEFWBG2C.js";
|
|
227
230
|
import {
|
|
228
231
|
hideBin,
|
|
229
232
|
yargs_default
|
|
@@ -242,6 +245,7 @@ import {
|
|
|
242
245
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
|
|
243
246
|
ExtensionManager,
|
|
244
247
|
FileDiscoveryService,
|
|
248
|
+
GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP,
|
|
245
249
|
GOAL_TOKEN_BUDGET_CAP,
|
|
246
250
|
MAX_SUBAGENT_DEPTH_LIMIT,
|
|
247
251
|
REVIEW_BUILTIN_SUBAGENT_TYPE,
|
|
@@ -263,7 +267,7 @@ import {
|
|
|
263
267
|
sanitizeFilenameComponent,
|
|
264
268
|
unquoteCStylePath,
|
|
265
269
|
updateSetting
|
|
266
|
-
} from "./chunk-
|
|
270
|
+
} from "./chunk-BDAVT6K2.js";
|
|
267
271
|
import {
|
|
268
272
|
parsePositiveIntegerEnv
|
|
269
273
|
} from "./chunk-6PVPNMXU.js";
|
|
@@ -275,8 +279,12 @@ import {
|
|
|
275
279
|
resolveBundleDir
|
|
276
280
|
} from "./chunk-TRWQQBVH.js";
|
|
277
281
|
import {
|
|
282
|
+
describeSessionKind,
|
|
278
283
|
listLiveSessions
|
|
279
|
-
} from "./chunk-
|
|
284
|
+
} from "./chunk-F4SAL7WM.js";
|
|
285
|
+
import {
|
|
286
|
+
isSameProcess
|
|
287
|
+
} from "./chunk-CH2YDT6X.js";
|
|
280
288
|
import {
|
|
281
289
|
APPROVAL_MODES
|
|
282
290
|
} from "./chunk-JX6XHPTX.js";
|
|
@@ -287,13 +295,13 @@ import {
|
|
|
287
295
|
} from "./chunk-CLKE4IY3.js";
|
|
288
296
|
import {
|
|
289
297
|
BUILT_IN_OUTPUT_STYLES
|
|
290
|
-
} from "./chunk-
|
|
298
|
+
} from "./chunk-2HYOOFDS.js";
|
|
291
299
|
import {
|
|
292
300
|
addDaemonRequestAttribute
|
|
293
301
|
} from "./chunk-7OCIQNKX.js";
|
|
294
302
|
import {
|
|
295
303
|
parseLineTolerant
|
|
296
|
-
} from "./chunk-
|
|
304
|
+
} from "./chunk-FRS3P7MQ.js";
|
|
297
305
|
import {
|
|
298
306
|
getAllMemoryFilenames,
|
|
299
307
|
setMemoryFilename
|
|
@@ -302,7 +310,7 @@ import {
|
|
|
302
310
|
DEFAULT_QWEN_EMBEDDING_MODEL,
|
|
303
311
|
VERTEX_ADC_HINT,
|
|
304
312
|
hasVertexProjectConfigured
|
|
305
|
-
} from "./chunk-
|
|
313
|
+
} from "./chunk-EOLGAQ25.js";
|
|
306
314
|
import {
|
|
307
315
|
atomicWriteFileSync
|
|
308
316
|
} from "./chunk-XFFRI3WM.js";
|
|
@@ -1651,6 +1659,30 @@ function validateGoalTokenBudget(value) {
|
|
|
1651
1659
|
return value;
|
|
1652
1660
|
}
|
|
1653
1661
|
__name(validateGoalTokenBudget, "validateGoalTokenBudget");
|
|
1662
|
+
function validateGoalCheckpointTimeoutSeconds(value) {
|
|
1663
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
1664
|
+
throw new Error(
|
|
1665
|
+
`model.goalCheckpointTimeoutSeconds must be a finite number; got ${String(value)}.`
|
|
1666
|
+
);
|
|
1667
|
+
}
|
|
1668
|
+
if (!Number.isInteger(value)) {
|
|
1669
|
+
throw new Error(
|
|
1670
|
+
`model.goalCheckpointTimeoutSeconds must be an integer number of seconds; got ${value}.`
|
|
1671
|
+
);
|
|
1672
|
+
}
|
|
1673
|
+
if (value < 1) {
|
|
1674
|
+
throw new Error(
|
|
1675
|
+
`model.goalCheckpointTimeoutSeconds must be at least 1; got ${value}. Unset it to use the default.`
|
|
1676
|
+
);
|
|
1677
|
+
}
|
|
1678
|
+
if (value > GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP) {
|
|
1679
|
+
throw new Error(
|
|
1680
|
+
`model.goalCheckpointTimeoutSeconds ${value} exceeds the supported ceiling (${GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP}s, the default stream lifetime cap, past which the stream guard rather than this setting ends the call). This ceiling is fixed; raising QWEN_STREAM_MAX_LIFETIME_MS does not lift it.`
|
|
1681
|
+
);
|
|
1682
|
+
}
|
|
1683
|
+
return value;
|
|
1684
|
+
}
|
|
1685
|
+
__name(validateGoalCheckpointTimeoutSeconds, "validateGoalCheckpointTimeoutSeconds");
|
|
1654
1686
|
var MAX_TOOL_CALLS = 1e6;
|
|
1655
1687
|
function validateMaxToolCalls(value) {
|
|
1656
1688
|
if (value === -1) return -1;
|
|
@@ -2943,6 +2975,10 @@ function channelMemoryOptions(getBridge, cwd) {
|
|
|
2943
2975
|
};
|
|
2944
2976
|
}
|
|
2945
2977
|
__name(channelMemoryOptions, "channelMemoryOptions");
|
|
2978
|
+
function isUnverifiablePidfileError(err) {
|
|
2979
|
+
return err instanceof Error && err.code === "channel_service_conflict";
|
|
2980
|
+
}
|
|
2981
|
+
__name(isUnverifiablePidfileError, "isUnverifiablePidfileError");
|
|
2946
2982
|
async function writeServiceInfoOrExit(channels, cleanup) {
|
|
2947
2983
|
try {
|
|
2948
2984
|
writeServiceInfo(channels);
|
|
@@ -2954,6 +2990,10 @@ async function writeServiceInfoOrExit(channels, cleanup) {
|
|
|
2954
2990
|
);
|
|
2955
2991
|
process.exit(1);
|
|
2956
2992
|
}
|
|
2993
|
+
if (isUnverifiablePidfileError(err)) {
|
|
2994
|
+
writeStderrLine(`Error: ${err.message}`);
|
|
2995
|
+
process.exit(1);
|
|
2996
|
+
}
|
|
2957
2997
|
throw err;
|
|
2958
2998
|
}
|
|
2959
2999
|
}
|
|
@@ -3028,6 +3068,9 @@ function createBridgeRecovery(options) {
|
|
|
3028
3068
|
let recoverySourceBridge;
|
|
3029
3069
|
const attachDisconnectHandler = /* @__PURE__ */ __name((failedBridge) => {
|
|
3030
3070
|
failedBridge.on("disconnected", () => {
|
|
3071
|
+
for (const channel of channels.values()) {
|
|
3072
|
+
channel.onBridgeDisconnected();
|
|
3073
|
+
}
|
|
3031
3074
|
if (isShuttingDown() || failedBridge !== getBridge()) return;
|
|
3032
3075
|
if (recoveryTask) {
|
|
3033
3076
|
if (failedBridge !== recoverySourceBridge) recoveryRequested = true;
|
|
@@ -3134,7 +3177,7 @@ function checkDuplicateInstance() {
|
|
|
3134
3177
|
}
|
|
3135
3178
|
}
|
|
3136
3179
|
__name(checkDuplicateInstance, "checkDuplicateInstance");
|
|
3137
|
-
async function startSingle(name, proxy, cronEnabled) {
|
|
3180
|
+
async function startSingle(name, proxy, cronEnabled, locale, displayLanguage) {
|
|
3138
3181
|
checkDuplicateInstance();
|
|
3139
3182
|
const channelsConfig = loadChannelsConfig();
|
|
3140
3183
|
await loadChannelsFromExtensions();
|
|
@@ -3180,8 +3223,10 @@ async function startSingle(name, proxy, cronEnabled) {
|
|
|
3180
3223
|
const loopController = loopStore ? createChannelLoopController(loopStore) : void 0;
|
|
3181
3224
|
const channels = /* @__PURE__ */ new Map();
|
|
3182
3225
|
const channel = await createChannel(name, config2, bridge, {
|
|
3226
|
+
locale,
|
|
3183
3227
|
router,
|
|
3184
3228
|
proxy,
|
|
3229
|
+
...displayLanguage ? { displayLanguage } : {},
|
|
3185
3230
|
...channelMemoryOptions(() => bridge, config2.cwd),
|
|
3186
3231
|
...loopController ? { loopController } : {},
|
|
3187
3232
|
bridgeRecovery: bridgeReadiness.current
|
|
@@ -3269,7 +3314,7 @@ async function startSingle(name, proxy, cronEnabled) {
|
|
|
3269
3314
|
});
|
|
3270
3315
|
}
|
|
3271
3316
|
__name(startSingle, "startSingle");
|
|
3272
|
-
async function startAll(proxy, cronEnabled) {
|
|
3317
|
+
async function startAll(proxy, cronEnabled, locale, displayLanguage) {
|
|
3273
3318
|
checkDuplicateInstance();
|
|
3274
3319
|
const channelsConfig = loadChannelsConfig();
|
|
3275
3320
|
await loadChannelsFromExtensions();
|
|
@@ -3320,8 +3365,10 @@ async function startAll(proxy, cronEnabled) {
|
|
|
3320
3365
|
channels.set(
|
|
3321
3366
|
name,
|
|
3322
3367
|
await createChannel(name, config2, bridge, {
|
|
3368
|
+
locale,
|
|
3323
3369
|
router,
|
|
3324
3370
|
proxy,
|
|
3371
|
+
...displayLanguage ? { displayLanguage } : {},
|
|
3325
3372
|
...channelMemoryOptions(() => bridge, config2.cwd),
|
|
3326
3373
|
...loopController ? { loopController } : {},
|
|
3327
3374
|
bridgeRecovery: bridgeReadiness.current
|
|
@@ -3443,16 +3490,47 @@ var startCommand = {
|
|
|
3443
3490
|
settings.merged.proxy
|
|
3444
3491
|
);
|
|
3445
3492
|
const cronEnabled = isChannelCronEnabled(settings);
|
|
3493
|
+
const locale = resolveChannelLocale(settings.merged.general?.language);
|
|
3494
|
+
const displayLanguage = resolveLanguage(
|
|
3495
|
+
resolveLanguageSetting(
|
|
3496
|
+
settings.merged.general?.language
|
|
3497
|
+
)
|
|
3498
|
+
);
|
|
3446
3499
|
if (argv.name) {
|
|
3447
|
-
await startSingle(argv.name, proxy, cronEnabled);
|
|
3500
|
+
await startSingle(argv.name, proxy, cronEnabled, locale, displayLanguage);
|
|
3448
3501
|
} else {
|
|
3449
|
-
await startAll(proxy, cronEnabled);
|
|
3502
|
+
await startAll(proxy, cronEnabled, locale, displayLanguage);
|
|
3450
3503
|
}
|
|
3451
3504
|
}, "handler")
|
|
3452
3505
|
};
|
|
3453
3506
|
|
|
3454
3507
|
// packages/cli/src/commands/channel/stop.ts
|
|
3455
3508
|
init_esbuild_shims();
|
|
3509
|
+
function reportUnstoppableService(info, outcome) {
|
|
3510
|
+
const filePath = pidFilePath();
|
|
3511
|
+
if (outcome === "not-permitted") {
|
|
3512
|
+
writeStderrLine(
|
|
3513
|
+
`Permission denied signalling the service (PID ${info.pid}); it may be owned by another user sharing this home. Stop it as that user \u2014 once the process is gone, the record at ${filePath} is swept on the next read.`
|
|
3514
|
+
);
|
|
3515
|
+
return;
|
|
3516
|
+
}
|
|
3517
|
+
if (info.procStart == null) {
|
|
3518
|
+
writeStderrLine(
|
|
3519
|
+
`Could not stop PID ${info.pid}, and the record carries no process token, so this command cannot confirm it is the channel service. If no channel service is running, delete ${filePath} and start again.`
|
|
3520
|
+
);
|
|
3521
|
+
return;
|
|
3522
|
+
}
|
|
3523
|
+
if (outcome === "sent") {
|
|
3524
|
+
writeStderrLine(
|
|
3525
|
+
`Service is still running after SIGKILL; its record at ${filePath} was left in place.`
|
|
3526
|
+
);
|
|
3527
|
+
return;
|
|
3528
|
+
}
|
|
3529
|
+
writeStderrLine(
|
|
3530
|
+
`Failed to signal the service and could not re-verify its process token; its record at ${filePath} was left in place.`
|
|
3531
|
+
);
|
|
3532
|
+
}
|
|
3533
|
+
__name(reportUnstoppableService, "reportUnstoppableService");
|
|
3456
3534
|
var stopCommand = {
|
|
3457
3535
|
command: "stop",
|
|
3458
3536
|
describe: "Stop the running channel service",
|
|
@@ -3467,7 +3545,7 @@ var stopCommand = {
|
|
|
3467
3545
|
if (argv["daemon-url"]) {
|
|
3468
3546
|
const token = argv.token ?? process.env[QWEN_SERVER_TOKEN_ENV] ?? process.env[QWEN_DAEMON_TOKEN_ENV];
|
|
3469
3547
|
try {
|
|
3470
|
-
const sdk = await import("./daemon-
|
|
3548
|
+
const sdk = await import("./daemon-U2456K5H.js");
|
|
3471
3549
|
const client = new sdk.DaemonClient({
|
|
3472
3550
|
baseUrl: argv["daemon-url"],
|
|
3473
3551
|
...token ? { token } : {}
|
|
@@ -3499,25 +3577,34 @@ var stopCommand = {
|
|
|
3499
3577
|
process.exit(1);
|
|
3500
3578
|
}
|
|
3501
3579
|
writeStdoutLine(`Stopping channel service (PID ${info.pid})...`);
|
|
3502
|
-
|
|
3580
|
+
const outcome = signalService(info.pid, "SIGTERM", info.procStart);
|
|
3581
|
+
if (outcome !== "sent") {
|
|
3582
|
+
if (isSameProcess(info.pid, info.procStart)) {
|
|
3583
|
+
reportUnstoppableService(info, outcome);
|
|
3584
|
+
process.exit(1);
|
|
3585
|
+
}
|
|
3503
3586
|
writeStderrLine(
|
|
3504
3587
|
"Failed to send signal \u2014 process may have already exited."
|
|
3505
3588
|
);
|
|
3506
|
-
removeServiceInfo();
|
|
3589
|
+
removeServiceInfo(info);
|
|
3507
3590
|
process.exit(0);
|
|
3508
3591
|
}
|
|
3509
|
-
const exited = await waitForExit(info.pid, 5e3);
|
|
3592
|
+
const exited = await waitForExit(info.pid, 5e3, 200, info.procStart);
|
|
3510
3593
|
if (exited) {
|
|
3511
|
-
removeServiceInfo();
|
|
3594
|
+
removeServiceInfo(info);
|
|
3512
3595
|
writeStdoutLine("Service stopped.");
|
|
3513
3596
|
} else {
|
|
3514
3597
|
writeStderrLine(
|
|
3515
3598
|
"Service did not exit within 5 seconds. Sending SIGKILL..."
|
|
3516
3599
|
);
|
|
3517
|
-
signalService(info.pid, "SIGKILL");
|
|
3518
|
-
await waitForExit(info.pid, 2e3)
|
|
3519
|
-
|
|
3520
|
-
|
|
3600
|
+
const killOutcome = signalService(info.pid, "SIGKILL", info.procStart);
|
|
3601
|
+
if (await waitForExit(info.pid, 2e3, 200, info.procStart)) {
|
|
3602
|
+
removeServiceInfo(info);
|
|
3603
|
+
writeStdoutLine("Service killed.");
|
|
3604
|
+
} else {
|
|
3605
|
+
reportUnstoppableService(info, killOutcome);
|
|
3606
|
+
process.exit(1);
|
|
3607
|
+
}
|
|
3521
3608
|
}
|
|
3522
3609
|
process.exit(0);
|
|
3523
3610
|
}, "handler")
|
|
@@ -3653,7 +3740,7 @@ var statusCommand = {
|
|
|
3653
3740
|
if (argv["daemon-url"]) {
|
|
3654
3741
|
const token = argv.token ?? process.env[QWEN_SERVER_TOKEN_ENV] ?? process.env[QWEN_DAEMON_TOKEN_ENV];
|
|
3655
3742
|
try {
|
|
3656
|
-
const sdk = await import("./daemon-
|
|
3743
|
+
const sdk = await import("./daemon-U2456K5H.js");
|
|
3657
3744
|
const client = new sdk.DaemonClient({
|
|
3658
3745
|
baseUrl: argv["daemon-url"],
|
|
3659
3746
|
...token ? { token } : {}
|
|
@@ -3764,7 +3851,7 @@ var reloadCommand = {
|
|
|
3764
3851
|
const token = resolveToken(argv.token);
|
|
3765
3852
|
let sdk;
|
|
3766
3853
|
try {
|
|
3767
|
-
sdk = await import("./daemon-
|
|
3854
|
+
sdk = await import("./daemon-U2456K5H.js");
|
|
3768
3855
|
} catch (err) {
|
|
3769
3856
|
writeStderrLine(
|
|
3770
3857
|
`[Channel] Failed to load daemon SDK: ${safeChannelCommandErrorMessage(err)}`
|
|
@@ -3844,7 +3931,7 @@ var setCommand2 = {
|
|
|
3844
3931
|
const selection = names[0] === "all" ? { mode: "all" } : { mode: "names", names };
|
|
3845
3932
|
let sdk;
|
|
3846
3933
|
try {
|
|
3847
|
-
sdk = await import("./daemon-
|
|
3934
|
+
sdk = await import("./daemon-U2456K5H.js");
|
|
3848
3935
|
} catch (error) {
|
|
3849
3936
|
writeStderrLine(
|
|
3850
3937
|
`[Channel] Failed to load daemon SDK: ${safeChannelCommandErrorMessage(error)}`
|
|
@@ -3898,6 +3985,7 @@ var SESSION_ATTACHMENTS_FEATURE = "session_attachments";
|
|
|
3898
3985
|
var SESSION_BTW_FEATURE = "session_btw";
|
|
3899
3986
|
var SESSION_PERMISSION_VOTE_FEATURE = "session_permission_vote";
|
|
3900
3987
|
var SESSION_WORKTREE_PERSISTENCE_FEATURE = "session_worktree_persistence_v1";
|
|
3988
|
+
var SESSION_WORKTREE_RESET_FEATURE = "session_worktree_reset_v1";
|
|
3901
3989
|
var MAX_ACTIVE_WEBHOOK_TASKS = 16;
|
|
3902
3990
|
var WORKER_CHANNEL_DISCONNECT_DRAIN_MS = CHANNEL_WORKER_STOP_GRACE_MS - CHANNEL_WORKER_KILL_GRACE_MS;
|
|
3903
3991
|
var WORKER_STARTUP_ROLLBACK_DRAIN_MS = 1500;
|
|
@@ -3932,6 +4020,13 @@ function createDaemonSessionFactory({
|
|
|
3932
4020
|
// (dingtalk/feishu) is derivable from the name via the channel config.
|
|
3933
4021
|
...req.sourceId ? { sourceId: req.sourceId } : {}
|
|
3934
4022
|
};
|
|
4023
|
+
if (req.worktreeReset) {
|
|
4024
|
+
return await DaemonSessionClient.resetWorktree(
|
|
4025
|
+
client,
|
|
4026
|
+
req.worktreeReset.sessionId,
|
|
4027
|
+
daemonReq
|
|
4028
|
+
);
|
|
4029
|
+
}
|
|
3935
4030
|
if (req.sessionId) {
|
|
3936
4031
|
return await DaemonSessionClient.resume(
|
|
3937
4032
|
client,
|
|
@@ -3984,6 +4079,9 @@ function createDaemonChannelBridgeFacade(bridge, opts) {
|
|
|
3984
4079
|
if (bridge.listSessions) {
|
|
3985
4080
|
facade.listSessions = bridge.listSessions.bind(bridge);
|
|
3986
4081
|
}
|
|
4082
|
+
if (bridge.resetWorktreeSession) {
|
|
4083
|
+
facade.resetWorktreeSession = bridge.resetWorktreeSession.bind(bridge);
|
|
4084
|
+
}
|
|
3987
4085
|
if (bridge.registerChannelLoopToolHandler) {
|
|
3988
4086
|
facade.registerChannelLoopToolHandler = bridge.registerChannelLoopToolHandler.bind(bridge);
|
|
3989
4087
|
}
|
|
@@ -3991,7 +4089,7 @@ function createDaemonChannelBridgeFacade(bridge, opts) {
|
|
|
3991
4089
|
}
|
|
3992
4090
|
__name(createDaemonChannelBridgeFacade, "createDaemonChannelBridgeFacade");
|
|
3993
4091
|
async function loadDaemonSdk() {
|
|
3994
|
-
return await import("./daemon-
|
|
4092
|
+
return await import("./daemon-U2456K5H.js");
|
|
3995
4093
|
}
|
|
3996
4094
|
__name(loadDaemonSdk, "loadDaemonSdk");
|
|
3997
4095
|
function selectedChannelNames(channelsConfig, selection) {
|
|
@@ -4148,6 +4246,12 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4148
4246
|
void 0,
|
|
4149
4247
|
settings.merged.proxy
|
|
4150
4248
|
);
|
|
4249
|
+
const locale = resolveChannelLocale(settings.merged.general?.language);
|
|
4250
|
+
const displayLanguage = resolveLanguage(
|
|
4251
|
+
resolveLanguageSetting(
|
|
4252
|
+
settings.merged.general?.language
|
|
4253
|
+
)
|
|
4254
|
+
);
|
|
4151
4255
|
const channelsConfig = loadChannelsConfig(daemonWorkspace, settings);
|
|
4152
4256
|
const names = selectedChannelNames(channelsConfig, opts.selection);
|
|
4153
4257
|
const parsed = await abortableStartup(
|
|
@@ -4197,6 +4301,9 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4197
4301
|
sessionWorktreePersistence: capabilities.features.includes(
|
|
4198
4302
|
SESSION_WORKTREE_PERSISTENCE_FEATURE
|
|
4199
4303
|
),
|
|
4304
|
+
sessionWorktreeReset: capabilities.features.includes(
|
|
4305
|
+
SESSION_WORKTREE_RESET_FEATURE
|
|
4306
|
+
),
|
|
4200
4307
|
...opts.promptAuthorization ? { promptAuthorization: opts.promptAuthorization } : {},
|
|
4201
4308
|
deleteSessionData: /* @__PURE__ */ __name(async (sessionId) => {
|
|
4202
4309
|
const workspaceClient = client.workspaceByCwd?.(daemonWorkspace);
|
|
@@ -4256,7 +4363,9 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4256
4363
|
name,
|
|
4257
4364
|
await abortableStartup(
|
|
4258
4365
|
createChannel(name, config2, bridgeFacade, {
|
|
4366
|
+
locale,
|
|
4259
4367
|
...proxy ? { proxy } : {},
|
|
4368
|
+
...displayLanguage ? { displayLanguage } : {},
|
|
4260
4369
|
router: createdRouter,
|
|
4261
4370
|
stateDir: daemonChannelStateDir(daemonWorkspace, name),
|
|
4262
4371
|
channelMemory: {
|
|
@@ -4310,7 +4419,7 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4310
4419
|
`[Channel] Failed to connect "${safeName}": ${safeMessage}`
|
|
4311
4420
|
);
|
|
4312
4421
|
try {
|
|
4313
|
-
channel.disconnect();
|
|
4422
|
+
await channel.disconnect();
|
|
4314
4423
|
} catch {
|
|
4315
4424
|
}
|
|
4316
4425
|
connectFailureCount += 1;
|
|
@@ -6648,6 +6757,7 @@ function filterCommandsIn(commonDir, gitDir) {
|
|
|
6648
6757
|
}
|
|
6649
6758
|
const filters = /* @__PURE__ */ new Set();
|
|
6650
6759
|
const unread = /* @__PURE__ */ new Set();
|
|
6760
|
+
const dangling = /* @__PURE__ */ new Set();
|
|
6651
6761
|
const visited = /* @__PURE__ */ new Set();
|
|
6652
6762
|
const read = /* @__PURE__ */ __name((file) => {
|
|
6653
6763
|
const r = spawnSync2(
|
|
@@ -6681,12 +6791,17 @@ function filterCommandsIn(commonDir, gitDir) {
|
|
|
6681
6791
|
const visit = /* @__PURE__ */ __name((file, depth, via) => {
|
|
6682
6792
|
let real;
|
|
6683
6793
|
try {
|
|
6684
|
-
real = realpathSync3(file);
|
|
6685
|
-
} catch {
|
|
6794
|
+
real = realpathSync3.native(file);
|
|
6795
|
+
} catch (e) {
|
|
6686
6796
|
if (via !== null) {
|
|
6687
|
-
|
|
6688
|
-
|
|
6689
|
-
|
|
6797
|
+
const code2 = e?.code;
|
|
6798
|
+
if (code2 === "ENOENT") {
|
|
6799
|
+
dangling.add(`${via} -> ${file} (missing \u2014 git ignores it)`);
|
|
6800
|
+
} else {
|
|
6801
|
+
unread.add(
|
|
6802
|
+
`${via} -> ${file} (could not be resolved: ${code2 ?? "unknown"} \u2014 not screened)`
|
|
6803
|
+
);
|
|
6804
|
+
}
|
|
6690
6805
|
}
|
|
6691
6806
|
return;
|
|
6692
6807
|
}
|
|
@@ -6728,20 +6843,24 @@ function filterCommandsIn(commonDir, gitDir) {
|
|
|
6728
6843
|
}
|
|
6729
6844
|
let target;
|
|
6730
6845
|
if (value.startsWith("~/")) {
|
|
6731
|
-
target =
|
|
6846
|
+
target = `${process.env["HOME"] || homedir()}${sep3}${value.slice(2)}`;
|
|
6732
6847
|
} else if (value.startsWith("~")) {
|
|
6733
6848
|
unread.add(
|
|
6734
6849
|
`${key} -> ${value} (another user's home \u2014 not resolved here)`
|
|
6735
6850
|
);
|
|
6736
6851
|
continue;
|
|
6737
6852
|
} else {
|
|
6738
|
-
target =
|
|
6853
|
+
target = isAbsolute3(value) ? value : `${dirname3(file)}${sep3}${value}`;
|
|
6739
6854
|
}
|
|
6740
6855
|
visit(target, depth + 1, `${key} (in ${file})`);
|
|
6741
6856
|
}
|
|
6742
6857
|
}, "visit");
|
|
6743
6858
|
for (const candidate of candidates) visit(candidate, 0, null);
|
|
6744
|
-
return {
|
|
6859
|
+
return {
|
|
6860
|
+
filters: [...filters],
|
|
6861
|
+
unread: [...unread],
|
|
6862
|
+
dangling: [...dangling]
|
|
6863
|
+
};
|
|
6745
6864
|
}
|
|
6746
6865
|
__name(filterCommandsIn, "filterCommandsIn");
|
|
6747
6866
|
function describeFilterScreen(hits) {
|
|
@@ -6774,7 +6893,8 @@ function filterBlankEnv(filterKeys) {
|
|
|
6774
6893
|
return env;
|
|
6775
6894
|
}
|
|
6776
6895
|
__name(filterBlankEnv, "filterBlankEnv");
|
|
6777
|
-
|
|
6896
|
+
var UNRESOLVED_REPO = "the repository's git directories could not be resolved (git rev-parse failed) \u2014 not screened";
|
|
6897
|
+
function screenForTree(worktree) {
|
|
6778
6898
|
const discover = /* @__PURE__ */ __name((flag) => {
|
|
6779
6899
|
const r = spawnSync2("git", ["rev-parse", "--path-format=absolute", flag], {
|
|
6780
6900
|
cwd: worktree,
|
|
@@ -6788,15 +6908,22 @@ function localFilterCommands(worktree) {
|
|
|
6788
6908
|
}, "discover");
|
|
6789
6909
|
const commonDir = discover("--git-common-dir");
|
|
6790
6910
|
const gitDir = discover("--git-dir");
|
|
6791
|
-
if (commonDir === null || gitDir === null)
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
|
|
6795
|
-
|
|
6796
|
-
const screen =
|
|
6797
|
-
return [
|
|
6911
|
+
if (commonDir === null || gitDir === null) return null;
|
|
6912
|
+
return filterCommandsIn(commonDir, gitDir);
|
|
6913
|
+
}
|
|
6914
|
+
__name(screenForTree, "screenForTree");
|
|
6915
|
+
function localFilterCommands(worktree) {
|
|
6916
|
+
const screen = screenForTree(worktree);
|
|
6917
|
+
if (screen === null) return [UNRESOLVED_REPO];
|
|
6918
|
+
return [...screen.filters, ...screen.unread, ...screen.dangling];
|
|
6798
6919
|
}
|
|
6799
6920
|
__name(localFilterCommands, "localFilterCommands");
|
|
6921
|
+
function checkoutFilterCommands(worktree) {
|
|
6922
|
+
const screen = screenForTree(worktree);
|
|
6923
|
+
if (screen === null) return [UNRESOLVED_REPO];
|
|
6924
|
+
return [...screen.filters, ...screen.unread];
|
|
6925
|
+
}
|
|
6926
|
+
__name(checkoutFilterCommands, "checkoutFilterCommands");
|
|
6800
6927
|
function discardWorktree(cwd, tree) {
|
|
6801
6928
|
let symlink = false;
|
|
6802
6929
|
try {
|
|
@@ -7062,11 +7189,12 @@ function worktreeResidue(cwd, cap = RESIDUE_PATH_CAP, expectedHeadSha) {
|
|
|
7062
7189
|
}
|
|
7063
7190
|
}
|
|
7064
7191
|
const screen = filterCommandsIn(commonDir, realpathSync3(gitDir));
|
|
7065
|
-
|
|
7192
|
+
const notReadToTheBottom = [...screen.unread, ...screen.dangling];
|
|
7193
|
+
if (notReadToTheBottom.length > 0) {
|
|
7066
7194
|
return {
|
|
7067
7195
|
paths: [],
|
|
7068
7196
|
total: 0,
|
|
7069
|
-
unmeasured: `the residue measurement would run under repo-local config this screen could not read to the bottom: ${describeFilterScreen(
|
|
7197
|
+
unmeasured: `the residue measurement would run under repo-local config this screen could not read to the bottom: ${describeFilterScreen(notReadToTheBottom)} \u2014 a content filter reached that way would execute on the index refresh, and a filter the screen cannot see it cannot blank; remove the include, or the file it names, if it is not yours`
|
|
7070
7198
|
};
|
|
7071
7199
|
}
|
|
7072
7200
|
filterBlanks = filterBlankEnv(screen.filters);
|
|
@@ -39135,6 +39263,16 @@ function classifyProbeRun(exitCode, stdout, probes, stderr = "") {
|
|
|
39135
39263
|
});
|
|
39136
39264
|
}
|
|
39137
39265
|
__name(classifyProbeRun, "classifyProbeRun");
|
|
39266
|
+
var CHECKOUT_INERT = [
|
|
39267
|
+
"-c",
|
|
39268
|
+
"core.hooksPath=/dev/null/no-hooks",
|
|
39269
|
+
"-c",
|
|
39270
|
+
"core.fsmonitor="
|
|
39271
|
+
];
|
|
39272
|
+
function filterScreenRefusal(hits, rewrite) {
|
|
39273
|
+
return `the repository's local config defines content filter(s), or includes config this screen could not read to the bottom: ${describeFilterScreen(hits.map(inertPath))} \u2014 ${rewrite}`;
|
|
39274
|
+
}
|
|
39275
|
+
__name(filterScreenRefusal, "filterScreenRefusal");
|
|
39138
39276
|
function git4(cwd, ...args) {
|
|
39139
39277
|
const r = spawnSync10("git", args, {
|
|
39140
39278
|
cwd,
|
|
@@ -39310,14 +39448,15 @@ function restoreProbeTreeTracked(probeTree) {
|
|
|
39310
39448
|
} catch (e) {
|
|
39311
39449
|
return e instanceof Error ? e.message : String(e);
|
|
39312
39450
|
}
|
|
39313
|
-
const
|
|
39314
|
-
|
|
39315
|
-
|
|
39316
|
-
|
|
39317
|
-
|
|
39318
|
-
|
|
39451
|
+
const filters = checkoutFilterCommands(probeTree);
|
|
39452
|
+
if (filters.length > 0) {
|
|
39453
|
+
return filterScreenRefusal(
|
|
39454
|
+
filters,
|
|
39455
|
+
"this tree's restore would EXECUTE them"
|
|
39456
|
+
);
|
|
39457
|
+
}
|
|
39319
39458
|
for (const args of [
|
|
39320
|
-
[...
|
|
39459
|
+
[...CHECKOUT_INERT, "checkout", "--force", "HEAD", "--", "."],
|
|
39321
39460
|
// `-ffdx`, because `-fd` honors the ignore rules — and those belong to the
|
|
39322
39461
|
// commit under test, so a plant named to match one of them (a committed
|
|
39323
39462
|
// `.gitignore` line and a file to match it) survived every restore. The
|
|
@@ -39325,7 +39464,7 @@ function restoreProbeTreeTracked(probeTree) {
|
|
|
39325
39464
|
// rather than built, and it is the only ignored thing in this tree the
|
|
39326
39465
|
// probes cannot run without. Everything else ignored — a built `dist`, a
|
|
39327
39466
|
// planted config — goes.
|
|
39328
|
-
[...
|
|
39467
|
+
[...CHECKOUT_INERT, "clean", "-ffdx", "-e", "node_modules"]
|
|
39329
39468
|
]) {
|
|
39330
39469
|
const r = spawnSync10("git", args, {
|
|
39331
39470
|
cwd: probeTree,
|
|
@@ -39334,7 +39473,9 @@ function restoreProbeTreeTracked(probeTree) {
|
|
|
39334
39473
|
});
|
|
39335
39474
|
if (r.error) return r.error.message;
|
|
39336
39475
|
if (r.status !== 0) {
|
|
39337
|
-
return (r.stderr ?? "").toString().trim() || `
|
|
39476
|
+
return (r.stderr ?? "").toString().trim() || // The subcommand, not `args[2]`: that index is a `-c` from the inert
|
|
39477
|
+
// pair, so the message read "git -c exited 1" and named nothing.
|
|
39478
|
+
`git ${args[CHECKOUT_INERT.length]} exited ${r.status}`;
|
|
39338
39479
|
}
|
|
39339
39480
|
}
|
|
39340
39481
|
const bits = spawnSync10(
|
|
@@ -39574,6 +39715,17 @@ function runOneHunkProbe(probeTree, hunk, probes, deadlineAt, now = Date.now, de
|
|
|
39574
39715
|
detail: "the probe target was relinked through a symlink before the reverse patch applied \u2014 nothing was neutralised"
|
|
39575
39716
|
};
|
|
39576
39717
|
}
|
|
39718
|
+
const applyFilters = checkoutFilterCommands(probeTree);
|
|
39719
|
+
if (applyFilters.length > 0) {
|
|
39720
|
+
return {
|
|
39721
|
+
...meta,
|
|
39722
|
+
verdict: "inconclusive",
|
|
39723
|
+
detail: filterScreenRefusal(
|
|
39724
|
+
applyFilters,
|
|
39725
|
+
"this reverse-apply would EXECUTE them"
|
|
39726
|
+
)
|
|
39727
|
+
};
|
|
39728
|
+
}
|
|
39577
39729
|
const applied = spawnSync10("git", ["apply", "--reverse", "-"], {
|
|
39578
39730
|
cwd: probeTree,
|
|
39579
39731
|
input: hunk.patch,
|
|
@@ -39881,8 +40033,25 @@ async function runTestEfficacy(args) {
|
|
|
39881
40033
|
let created = false;
|
|
39882
40034
|
let sweep;
|
|
39883
40035
|
try {
|
|
40036
|
+
const creationFilters = checkoutFilterCommands(worktree);
|
|
40037
|
+
if (creationFilters.length > 0) {
|
|
40038
|
+
throw new Error(
|
|
40039
|
+
filterScreenRefusal(
|
|
40040
|
+
creationFilters,
|
|
40041
|
+
"creating the probe tree would EXECUTE them"
|
|
40042
|
+
)
|
|
40043
|
+
);
|
|
40044
|
+
}
|
|
39884
40045
|
sweep = discardWorktree(worktree, probeTree);
|
|
39885
|
-
git4(
|
|
40046
|
+
git4(
|
|
40047
|
+
worktree,
|
|
40048
|
+
...CHECKOUT_INERT,
|
|
40049
|
+
"worktree",
|
|
40050
|
+
"add",
|
|
40051
|
+
"--detach",
|
|
40052
|
+
probeTree,
|
|
40053
|
+
headSha
|
|
40054
|
+
);
|
|
39886
40055
|
created = true;
|
|
39887
40056
|
} catch (e) {
|
|
39888
40057
|
const detail = worktreeCreateFailureDetail(
|
|
@@ -39971,7 +40140,7 @@ async function runTestEfficacy(args) {
|
|
|
39971
40140
|
);
|
|
39972
40141
|
if (harnessValidated === null) {
|
|
39973
40142
|
noteMutants(
|
|
39974
|
-
`the positive control could not be set up (${greenProbes[0]} could not be read in
|
|
40143
|
+
`the positive control could not be set up (the probe target was relinked, the probe tree could not be restored, or ${greenProbes[0]} could not be read in it), so the harness was NOT validated this run \u2014 read every survivor below as unconfirmed by a control`
|
|
39975
40144
|
);
|
|
39976
40145
|
}
|
|
39977
40146
|
}
|
|
@@ -40077,7 +40246,23 @@ async function runTestEfficacy(args) {
|
|
|
40077
40246
|
(existsAtBase(probeTree, base, p) ? modified : added).push(p);
|
|
40078
40247
|
}
|
|
40079
40248
|
if (modified.length > 0) {
|
|
40080
|
-
|
|
40249
|
+
const revertFilters = checkoutFilterCommands(probeTree);
|
|
40250
|
+
if (revertFilters.length > 0) {
|
|
40251
|
+
throw new Error(
|
|
40252
|
+
filterScreenRefusal(
|
|
40253
|
+
revertFilters,
|
|
40254
|
+
"this revert's checkout would EXECUTE them"
|
|
40255
|
+
)
|
|
40256
|
+
);
|
|
40257
|
+
}
|
|
40258
|
+
git4(
|
|
40259
|
+
probeTree,
|
|
40260
|
+
...CHECKOUT_INERT,
|
|
40261
|
+
"checkout",
|
|
40262
|
+
base,
|
|
40263
|
+
"--",
|
|
40264
|
+
...modified
|
|
40265
|
+
);
|
|
40081
40266
|
}
|
|
40082
40267
|
for (const p of added) safeRmWithin(probeTree, p);
|
|
40083
40268
|
const collectable = probes.filter(
|
|
@@ -43417,6 +43602,7 @@ var listCommand4 = {
|
|
|
43417
43602
|
// packages/cli/src/commands/sessions/ps.ts
|
|
43418
43603
|
init_esbuild_shims();
|
|
43419
43604
|
var NAME_COL = 22;
|
|
43605
|
+
var KIND_COL = 10;
|
|
43420
43606
|
var PID_COL = 9;
|
|
43421
43607
|
var AGE_COL = 10;
|
|
43422
43608
|
function sanitize3(value) {
|
|
@@ -43441,13 +43627,21 @@ function formatAge(ms) {
|
|
|
43441
43627
|
__name(formatAge, "formatAge");
|
|
43442
43628
|
function outputHuman2(records, now) {
|
|
43443
43629
|
writeStdoutLine(
|
|
43444
|
-
padDisplay3("NAME", NAME_COL) + padDisplay3("PID", PID_COL) + padDisplay3("AGE", AGE_COL) + "DIRECTORY"
|
|
43630
|
+
padDisplay3("NAME", NAME_COL) + padDisplay3("KIND", KIND_COL) + padDisplay3("PID", PID_COL) + padDisplay3("AGE", AGE_COL) + "DIRECTORY"
|
|
43445
43631
|
);
|
|
43446
43632
|
for (const record of records) {
|
|
43447
43633
|
writeStdoutLine(
|
|
43448
43634
|
padDisplay3(
|
|
43449
43635
|
truncateToWidth(sanitize3(record.name), NAME_COL - 2),
|
|
43450
43636
|
NAME_COL
|
|
43637
|
+
) + // Truncated for the same reason NAME is: a newer build may write
|
|
43638
|
+
// a longer kind than any this one knows, and one over-wide cell
|
|
43639
|
+
// would misalign every column after it. Not sanitized — unlike
|
|
43640
|
+
// NAME and DIRECTORY, the read guard already bounds `kind` to
|
|
43641
|
+
// lowercase ASCII, digits and dashes.
|
|
43642
|
+
padDisplay3(
|
|
43643
|
+
truncateToWidth(describeSessionKind(record.kind), KIND_COL - 2),
|
|
43644
|
+
KIND_COL
|
|
43451
43645
|
) + padDisplay3(String(record.pid), PID_COL) + padDisplay3(formatAge(now - record.startedAt), AGE_COL) + sanitize3(record.cwd)
|
|
43452
43646
|
);
|
|
43453
43647
|
}
|
|
@@ -43463,7 +43657,7 @@ async function handlePs(argv) {
|
|
|
43463
43657
|
return;
|
|
43464
43658
|
}
|
|
43465
43659
|
if (records.length === 0) {
|
|
43466
|
-
writeStdoutLine("No
|
|
43660
|
+
writeStdoutLine("No Qwen Code sessions are registered right now.");
|
|
43467
43661
|
return;
|
|
43468
43662
|
}
|
|
43469
43663
|
outputHuman2(records, now);
|
|
@@ -43471,7 +43665,7 @@ async function handlePs(argv) {
|
|
|
43471
43665
|
__name(handlePs, "handlePs");
|
|
43472
43666
|
var psCommand = {
|
|
43473
43667
|
command: "ps",
|
|
43474
|
-
describe: "List
|
|
43668
|
+
describe: "List Qwen Code sessions running right now",
|
|
43475
43669
|
builder: /* @__PURE__ */ __name((yargs) => yargs.option("json", {
|
|
43476
43670
|
type: "boolean",
|
|
43477
43671
|
describe: "Output as JSON Lines",
|
|
@@ -43509,10 +43703,10 @@ var updateCommand3 = {
|
|
|
43509
43703
|
stdioHelpers,
|
|
43510
43704
|
{ updateEventEmitter }
|
|
43511
43705
|
] = await Promise.all([
|
|
43512
|
-
import("./settings-
|
|
43513
|
-
import("./updateCheck-
|
|
43514
|
-
import("./installationInfo-
|
|
43515
|
-
import("./standalone-update-
|
|
43706
|
+
import("./settings-Y47SPE3X.js"),
|
|
43707
|
+
import("./updateCheck-ARTHAJT2.js"),
|
|
43708
|
+
import("./installationInfo-QEQEPB3G.js"),
|
|
43709
|
+
import("./standalone-update-Y2OZPLNJ.js"),
|
|
43516
43710
|
import("./stdioHelpers-AY6XCDY2.js"),
|
|
43517
43711
|
import("./updateEventEmitter-5MKC7BLQ.js")
|
|
43518
43712
|
]);
|
|
@@ -44059,6 +44253,16 @@ function resolveGoalTokenBudget(settings) {
|
|
|
44059
44253
|
}
|
|
44060
44254
|
}
|
|
44061
44255
|
__name(resolveGoalTokenBudget, "resolveGoalTokenBudget");
|
|
44256
|
+
function resolveGoalCheckpointTimeoutSeconds(settings) {
|
|
44257
|
+
const fromSettings = settings.model?.goalCheckpointTimeoutSeconds;
|
|
44258
|
+
if (fromSettings === void 0) return void 0;
|
|
44259
|
+
try {
|
|
44260
|
+
return validateGoalCheckpointTimeoutSeconds(fromSettings);
|
|
44261
|
+
} catch (err) {
|
|
44262
|
+
throw new Error(`settings.json: ${err.message}`);
|
|
44263
|
+
}
|
|
44264
|
+
}
|
|
44265
|
+
__name(resolveGoalCheckpointTimeoutSeconds, "resolveGoalCheckpointTimeoutSeconds");
|
|
44062
44266
|
function resolveMaxToolCalls(argv, settings) {
|
|
44063
44267
|
if (argv.maxToolCalls !== void 0 && argv.maxToolCalls !== null) {
|
|
44064
44268
|
try {
|
|
@@ -44606,7 +44810,7 @@ async function loadCliConfig(settings, argv, cwd = process.cwd(), overrideExtens
|
|
|
44606
44810
|
disabledSkillNamesProvider: bareMode || safeMode ? void 0 : disabledSkillNamesProvider,
|
|
44607
44811
|
enabledSkillNamesProvider: bareMode || safeMode ? void 0 : enabledSkillNamesProvider,
|
|
44608
44812
|
terminalImageRenderSupportProvider: interactive ? async () => {
|
|
44609
|
-
const { getTerminalImageRenderSupport } = await import("./terminal-image-renderer-
|
|
44813
|
+
const { getTerminalImageRenderSupport } = await import("./terminal-image-renderer-WH2WV5ES.js");
|
|
44610
44814
|
return getTerminalImageRenderSupport();
|
|
44611
44815
|
} : void 0,
|
|
44612
44816
|
disabledSkillLevels: bareMode || safeMode || !Array.isArray(settings.skills?.disabledLevels) ? void 0 : settings.skills.disabledLevels.filter(isSkillLevel),
|
|
@@ -44673,6 +44877,7 @@ async function loadCliConfig(settings, argv, cwd = process.cwd(), overrideExtens
|
|
|
44673
44877
|
sessionTokenLimit: settings.model?.sessionTokenLimit ?? -1,
|
|
44674
44878
|
maxSessionTurns: argv.maxSessionTurns ?? settings.model?.maxSessionTurns ?? -1,
|
|
44675
44879
|
goalTokenBudget: resolveGoalTokenBudget(settings),
|
|
44880
|
+
goalCheckpointTimeoutSeconds: resolveGoalCheckpointTimeoutSeconds(settings),
|
|
44676
44881
|
maxWallTimeSeconds: resolveMaxWallTimeSeconds(argv, settings),
|
|
44677
44882
|
maxToolCalls: resolveMaxToolCalls(argv, settings),
|
|
44678
44883
|
// Undefined flows through to Config's default (5) and clamp logic.
|
|
@@ -44763,7 +44968,9 @@ async function loadCliConfig(settings, argv, cwd = process.cwd(), overrideExtens
|
|
|
44763
44968
|
memoryAgentTimeoutMinutes: settings.memory?.agentTimeoutMinutes,
|
|
44764
44969
|
memoryAgentMaxTurns: settings.memory?.agentMaxTurns,
|
|
44765
44970
|
fastModel: settings.fastModel || void 0,
|
|
44766
|
-
|
|
44971
|
+
// Bare and safe mode must switch the tool off explicitly: `undefined`
|
|
44972
|
+
// means "derive it" now that WebSearch is opt-out.
|
|
44973
|
+
webSearch: bareMode || safeMode ? { enabled: false } : resolveWebSearchSettings(settings),
|
|
44767
44974
|
visionModel: settings.visionModel || void 0,
|
|
44768
44975
|
compactionModel: settings.compactionModel || void 0,
|
|
44769
44976
|
imageModel: settings.imageModel || void 0,
|