@qwen-code/qwen-code 0.20.0 → 0.20.1-nightly.20260724.7d17c44a3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/settings.md +1 -1
- package/bundled/qc-helper/docs/features/auto-mode.md +19 -16
- package/bundled/qc-helper/docs/features/commands.md +54 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +16 -7
- package/bundled/qc-helper/docs/integration-github-action.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +2 -1
- package/bundled/review/DESIGN.md +2 -2
- package/bundled/review/SKILL.md +7 -5
- package/chunks/MaxSizedBox-LGRTXB47.js +84 -0
- package/chunks/{StandaloneSessionPicker-CEGO2AZX.js → StandaloneSessionPicker-H3TBU3C3.js} +68 -56
- package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
- package/chunks/{acpAgent-YUR43TLG.js → acpAgent-5D7P4BB5.js} +2061 -556
- package/chunks/agent-W7UAHCCI.js +80 -0
- package/chunks/agent-headless-KTBMPRSC.js +74 -0
- package/chunks/{anthropicContentGenerator-HVKLXOOU.js → anthropicContentGenerator-ZLQ3X2HI.js} +112 -45
- package/chunks/{artifact-tool-WBCAMD3O.js → artifact-tool-OKMWONT6.js} +3 -3
- package/chunks/{askUserQuestion-6DZC4UV5.js → askUserQuestion-V6FUS23G.js} +3 -3
- package/chunks/bridge-FFC4C6VD.js +89 -0
- package/chunks/{build-SSCNEHZZ.js → build-RV63TIRH.js} +2 -3
- package/chunks/{ca-2SL2BXTK.js → ca-GKRQZ7AM.js} +612 -201
- package/chunks/{channel-worker-group-53CMOPFT.js → channel-worker-group-MA3WXWYX.js} +7 -6
- package/chunks/{channel-worker-manager-UTXILKC2.js → channel-worker-manager-TIYYYBCT.js} +189 -29
- package/chunks/{channel-worker-supervisor-ZGO2W2MD.js → channel-worker-supervisor-CXRCDA4Y.js} +6 -5
- package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
- package/chunks/{chunk-4EP2PYYL.js → chunk-2G6QIHYL.js} +5 -5
- package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
- package/chunks/chunk-2RFKHEXL.js +74 -0
- package/chunks/{chunk-7SXZC7ID.js → chunk-2WTVWAKT.js} +7 -6
- package/chunks/{chunk-TIH2ZTOC.js → chunk-32A4PI3E.js} +2 -2
- package/chunks/chunk-36HSVBBU.js +469 -0
- package/chunks/{chunk-IR46U7RB.js → chunk-3FB2Y2OE.js} +3 -3
- package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
- package/chunks/chunk-3Z43GZUQ.js +32 -0
- package/chunks/chunk-43T5WDQ7.js +127 -0
- package/chunks/chunk-46UV252V.js +128 -0
- package/chunks/{chunk-JD3MKVKL.js → chunk-4K56OJFJ.js} +1 -1
- package/chunks/{chunk-KTUQMDEP.js → chunk-4K7VDKAD.js} +1 -1
- package/chunks/{chunk-QKYTTBYW.js → chunk-4LVZNIDO.js} +1 -1
- package/chunks/{chunk-OWCALFEG.js → chunk-54R2CV2G.js} +1 -1
- package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
- package/chunks/chunk-5BS3KLRP.js +6194 -0
- package/chunks/{chunk-NEEB7UEN.js → chunk-6GMVPFB2.js} +153 -72
- package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
- package/chunks/chunk-6PVPNMXU.js +29 -0
- package/chunks/chunk-6QHAUJUE.js +293 -0
- package/chunks/chunk-6VK3IRTX.js +10017 -0
- package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
- package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
- package/chunks/{chunk-FSL5W5TI.js → chunk-AFFGGOF6.js} +4 -4
- package/chunks/chunk-AMDSOFFV.js +10860 -0
- package/chunks/chunk-AXUW635Q.js +934 -0
- package/chunks/{chunk-A5LYNIW7.js → chunk-BJBUDCM3.js} +8 -8
- package/chunks/chunk-BK2UNYWD.js +29 -0
- package/chunks/{chunk-6RLROE6G.js → chunk-BLFVGB7D.js} +30 -4
- package/chunks/chunk-BPJSQIJX.js +100 -0
- package/chunks/{chunk-FLSVD6BS.js → chunk-BRTR7S7O.js} +3 -3
- package/chunks/{chunk-KG3XV6FH.js → chunk-BSNWBC33.js} +32 -2
- package/chunks/chunk-BULDBTYC.js +153 -0
- package/chunks/{chunk-PBWEWI4N.js → chunk-BW5Z5NOG.js} +83 -74
- package/chunks/{chunk-EIAK6Q2B.js → chunk-C3VHAXP2.js} +20 -3
- package/chunks/{chunk-6AFUCL3D.js → chunk-CEZB3XFD.js} +1 -1
- package/chunks/chunk-CHMENNJV.js +1832 -0
- package/chunks/{chunk-TMQ6XQCX.js → chunk-CK3IEEHR.js} +416 -291
- package/chunks/{chunk-OYZWQNWG.js → chunk-CK6UABV2.js} +2 -2
- package/chunks/{chunk-VZQUV7VK.js → chunk-CKTMY3EP.js} +1 -1
- package/chunks/{chunk-VDWBQ5AW.js → chunk-CUPAVLRY.js} +5 -2
- package/chunks/{chunk-I2PYAYFM.js → chunk-CXUFILV3.js} +3 -3
- package/chunks/chunk-DP3IHZGG.js +1498 -0
- package/chunks/{chunk-BMWMT5Y2.js → chunk-DP5GT2MW.js} +7 -375
- package/chunks/{chunk-D22SX43D.js → chunk-DWNZ6PVQ.js} +1 -1
- package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
- package/chunks/{chunk-DP5GXXNZ.js → chunk-EL2IQ2S5.js} +5 -1
- package/chunks/{chunk-EZVDJFZ7.js → chunk-ERLGR7GI.js} +1 -1
- package/chunks/{chunk-IVPSS6EL.js → chunk-F5MBYZSU.js} +4 -4
- package/chunks/{chunk-AQIEINAY.js → chunk-F6IYL66A.js} +28 -1766
- package/chunks/{chunk-FEOZBUMT.js → chunk-FODK6UMO.js} +0 -27
- package/chunks/{chunk-PGEPSDJI.js → chunk-FWNZ7CVN.js} +24 -20
- package/chunks/{chunk-5JBR5XIK.js → chunk-G7EFBBVF.js} +220 -141
- package/chunks/chunk-GLNBDYUX.js +38 -0
- package/chunks/{chunk-ANPINBOF.js → chunk-H4YKEV2X.js} +5 -5
- package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
- package/chunks/{chunk-FQD7GFSV.js → chunk-HJJDKFL5.js} +3 -3
- package/chunks/{chunk-4N3KMAIL.js → chunk-HPWHDJID.js} +152 -35
- package/chunks/{chunk-KQNM4EO7.js → chunk-HQCSRJ3P.js} +138 -6
- package/chunks/chunk-HTR4WV6U.js +327 -0
- package/chunks/{chunk-YWEW33JY.js → chunk-HVO55LUD.js} +7 -7
- package/chunks/{chunk-MJ6S23WZ.js → chunk-HZEWYOVI.js} +5 -5
- package/chunks/chunk-IFG6TYJ2.js +16577 -0
- package/chunks/{chunk-B3KGZCQN.js → chunk-IJTOWOD7.js} +322 -202
- package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
- package/chunks/{chunk-4ILMYHEI.js → chunk-IRDZJSCL.js} +3 -3
- package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
- package/chunks/{chunk-33XUAINQ.js → chunk-J5UKQEFG.js} +69 -9
- package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
- package/chunks/{chunk-S2XVRHDN.js → chunk-JDFBBGRD.js} +1 -1
- package/chunks/{chunk-4XNLIGVA.js → chunk-JKCALGYN.js} +1023 -383
- package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
- package/chunks/{chunk-VEXFOTEO.js → chunk-JYUSL2V4.js} +3 -3
- package/chunks/{chunk-S2PD3EZD.js → chunk-KJEMJWNH.js} +1 -1
- package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
- package/chunks/{chunk-CZF3E5GF.js → chunk-LA5H3LM5.js} +1 -1
- package/chunks/{chunk-NDMQLV4Y.js → chunk-LBAO2XRA.js} +4 -4
- package/chunks/{chunk-7RMOXZTC.js → chunk-LDPP5VTZ.js} +4 -4
- package/chunks/{chunk-KDC6GNQR.js → chunk-LEEWLFHW.js} +4 -4
- package/chunks/{chunk-KX6UK4VJ.js → chunk-LI4I37W4.js} +22152 -18007
- package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
- package/chunks/{chunk-AJSJ5TTU.js → chunk-LP2E4MQG.js} +1 -1
- package/chunks/chunk-LS77BEZP.js +405 -0
- package/chunks/{chunk-BRRF37CO.js → chunk-LYTBLSSW.js} +5 -5
- package/chunks/{chunk-DBE4QFZS.js → chunk-MB7ENXPR.js} +39 -37
- package/chunks/{chunk-GKY2OJ7R.js → chunk-MOHAWVLH.js} +4 -4
- package/chunks/chunk-NABLFI57.js +82 -0
- package/chunks/chunk-NBQDBANR.js +411 -0
- package/chunks/{chunk-EAUYY7SS.js → chunk-NOAAFNTJ.js} +43 -10
- package/chunks/chunk-NXS53EA7.js +1462 -0
- package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
- package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
- package/chunks/{chunk-OP4MOGXF.js → chunk-P5RRUHL7.js} +23 -1
- package/chunks/{chunk-KOR3XKCA.js → chunk-PBII2NFX.js} +12 -6
- package/chunks/{chunk-O3OCNYY5.js → chunk-PDYB7HG2.js} +2 -2
- package/chunks/{chunk-2HOVDT7W.js → chunk-PFSUKTZH.js} +1 -1
- package/chunks/chunk-PKL3HGNZ.js +2299 -0
- package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
- package/chunks/{chunk-OLMETXLX.js → chunk-PXHK5ONM.js} +41 -9
- package/chunks/{chunk-PF4CHQOJ.js → chunk-Q6GU6TKM.js} +11 -10
- package/chunks/{chunk-4ODB7WIB.js → chunk-QAFKR7WR.js} +1 -1
- package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.js} +1 -1
- package/chunks/{chunk-BVLROR2T.js → chunk-QLJUC7TG.js} +1 -1
- package/chunks/{chunk-UEY4AYUL.js → chunk-QNLNLENL.js} +2 -2
- package/chunks/{chunk-333CXMNJ.js → chunk-QXZTZJLX.js} +5 -5
- package/chunks/chunk-R6D2CTQR.js +289 -0
- package/chunks/{chunk-7PZ2ATFZ.js → chunk-R6SKHK3T.js} +54 -29
- package/chunks/{chunk-OONJNQ42.js → chunk-RGG6M2WF.js} +4 -4
- package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
- package/chunks/{chunk-O3Z73NBP.js → chunk-RW2NEXYJ.js} +15 -11
- package/chunks/{chunk-HZPN55E5.js → chunk-SJEDL7DI.js} +1 -1
- package/chunks/{chunk-AKX4WPPP.js → chunk-SWBJRDYC.js} +866 -183
- package/chunks/{chunk-NBMIC7DR.js → chunk-SX4PK3FC.js} +145 -5
- package/chunks/chunk-T3452DP5.js +246 -0
- package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
- package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
- package/chunks/chunk-U7ZFW55U.js +2098 -0
- package/chunks/{chunk-JNWZQ27S.js → chunk-UCOJC6EB.js} +72 -23
- package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
- package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
- package/chunks/{chunk-2LL7TXB4.js → chunk-UH7242DI.js} +3 -3
- package/chunks/{chunk-CB2HFGRV.js → chunk-UJV643E2.js} +31 -6
- package/chunks/chunk-UO7DCGEV.js +121 -0
- package/chunks/{chunk-Y2ENGUD6.js → chunk-UPF7PTBI.js} +79 -2
- package/chunks/chunk-UW5EOVUN.js +249 -0
- package/chunks/{chunk-SJMV7ZBK.js → chunk-VLVO52KC.js} +8 -8
- package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
- package/chunks/{chunk-S2W2LVDU.js → chunk-WHFK6G6U.js} +8 -9
- package/chunks/chunk-WI3KCKZ5.js +391 -0
- package/chunks/{chunk-NGFEPAE6.js → chunk-WLEFWSSC.js} +8 -6
- package/chunks/{chunk-XVVH63JG.js → chunk-WUJXJ34P.js} +3 -3
- package/chunks/{chunk-MAQQGNQ5.js → chunk-WYLPWQHJ.js} +56 -717
- package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
- package/chunks/chunk-XAWJ2526.js +1049 -0
- package/chunks/{chunk-CV63PP6U.js → chunk-YCIM6O3I.js} +1 -1
- package/chunks/{chunk-OEO2ERWK.js → chunk-Z44CVEUF.js} +54 -33
- package/chunks/{chunk-TKLLK6XQ.js → chunk-ZT4POVWC.js} +11 -11
- package/chunks/{chunk-NIJEXGV6.js → chunk-ZXYUQXY5.js} +148 -10
- package/chunks/{computer-use-NIWQNUZF.js → computer-use-UJ5T34TE.js} +50 -37
- package/chunks/{config-utils-AHQ6YZ66.js → config-utils-XQRXHAN3.js} +3 -3
- package/chunks/contextCommand-CSCB4E5M.js +79 -0
- package/chunks/{create-sub-session-MGNX52P3.js → create-sub-session-55F3GOLK.js} +46 -33
- package/chunks/{create-sub-session-P26FE5GG.js → create-sub-session-JPCSYZAJ.js} +3 -3
- package/chunks/{cron-create-JWFHBDRQ.js → cron-create-CUMELMPL.js} +6 -6
- package/chunks/{cron-delete-GDX4E26G.js → cron-delete-QZFV6U3P.js} +5 -5
- package/chunks/{cron-list-USMAIWPT.js → cron-list-IDKO7ZO2.js} +5 -5
- package/chunks/{daemon-RG2MAI6T.js → daemon-7LP7R6IU.js} +500 -133
- package/chunks/daemon-status-provider-6YNZ3UAE.js +88 -0
- package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
- package/chunks/{dist-WGTQO7F2.js → dist-376652EZ.js} +114 -28
- package/chunks/{dist-53PZYC5B.js → dist-3YCTE6HD.js} +2 -2
- package/chunks/{dist-2BHAYBKP.js → dist-D7Z3HOO7.js} +14 -2
- package/chunks/{dist-FUTEXY6A.js → dist-MEGJFGAI.js} +40 -9
- package/chunks/{dist-2MIU4UUH.js → dist-NQ436QEX.js} +1 -1
- package/chunks/{dist-AU7NQQRP.js → dist-NQNTOIEN.js} +26 -2
- package/chunks/earlyInputCapture-HPUVJ2KH.js +81 -0
- package/chunks/{edit-3QV3JZJL.js → edit-7CMAN3F4.js} +50 -39
- package/chunks/{en-XE34GKAA.js → en-SALLIJS7.js} +6 -1
- package/chunks/{enter-worktree-4GMMF7EG.js → enter-worktree-3PH4YTY2.js} +49 -36
- package/chunks/{enterPlanMode-L5UWBAUC.js → enterPlanMode-MSXLSWLI.js} +55 -37
- package/chunks/{environment-3OV7UQOT.js → environment-KS36ZHBE.js} +48 -35
- package/chunks/errors-LCPFS62A.js +87 -0
- package/chunks/{exit-worktree-DDP57JLV.js → exit-worktree-ARA4C3CK.js} +49 -36
- package/chunks/{exitPlanMode-CJBLGPIP.js → exitPlanMode-GCDIQPB7.js} +49 -36
- package/chunks/{fast-path-M6RP2ING.js → fast-path-IDHBVIT6.js} +3 -2
- package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
- package/chunks/{gemini-H4PHBJTL.js → gemini-2AFQJMX5.js} +141 -105
- package/chunks/{geminiContentGenerator-VURJYPWP.js → geminiContentGenerator-UDIH3YI6.js} +9 -8
- package/chunks/{getMachineId-bsd-EXV7SWPA.js → getMachineId-bsd-QFVLPUPT.js} +1 -1
- package/chunks/{getMachineId-darwin-IUOMFXU3.js → getMachineId-darwin-DGMQQE2E.js} +1 -1
- package/chunks/{getMachineId-linux-K7XJYFHL.js → getMachineId-linux-R4Z6CSWC.js} +1 -1
- package/chunks/{getMachineId-unsupported-EA5FDRJ6.js → getMachineId-unsupported-Z3SBVBUV.js} +1 -1
- package/chunks/{getMachineId-win-KBA6RAI5.js → getMachineId-win-SCK5UFDT.js} +1 -1
- package/chunks/{glob-2KUSRAVQ.js → glob-HCL7HZ67.js} +49 -36
- package/chunks/{grep-B5RXVESV.js → grep-CJLBSCTV.js} +49 -36
- package/chunks/handleAutoUpdate-Q572P3FL.js +80 -0
- package/chunks/i18n-OBB4R7SR.js +96 -0
- package/chunks/initializer-LXEY6V3C.js +85 -0
- package/chunks/installationInfo-XUAOVMEE.js +79 -0
- package/chunks/{ja-2ICT3KXF.js → ja-KY4ROZTE.js} +5 -1
- package/chunks/{keychain-token-storage-DWRJMNH3.js → keychain-token-storage-6ACJDYIB.js} +3 -3
- package/chunks/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
- package/chunks/list-WAXY7QOU.js +88 -0
- package/chunks/list-agents-AH3P5NB7.js +80 -0
- package/chunks/loadedSettingsAdapter-OZFNBRHE.js +82 -0
- package/chunks/loggingContentGenerator-7WDTTE6G.js +1068 -0
- package/chunks/{loop-wakeup-5GLTUBHA.js → loop-wakeup-IHRW6TNB.js} +7 -7
- package/chunks/{ls-FHBY3Y7I.js → ls-ZAXZ2G2W.js} +5 -5
- package/chunks/{lsp-B6VMEW6Y.js → lsp-R4ZG3UGQ.js} +3 -3
- package/chunks/managed-npm-update-N42DO5QW.js +339 -0
- package/chunks/mcp-6SOORKTY.js +82 -0
- package/chunks/{monitor-GLJZDNPS.js → monitor-4PSVNVU4.js} +51 -37
- package/chunks/node-UUDY34IG.js +305 -0
- package/chunks/nonInteractiveCli-FBR5S7IZ.js +140 -0
- package/chunks/{notebook-edit-AVCIWS4F.js → notebook-edit-QK26632S.js} +50 -39
- package/chunks/{openaiContentGenerator-B7W24G3D.js → openaiContentGenerator-IXJS6C2U.js} +33 -20
- package/chunks/pidfile-UCFCJOAP.js +85 -0
- package/chunks/{processUtils-XZPY2PBB.js → processUtils-YL2LXON2.js} +2 -2
- package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
- package/chunks/{qwenContentGenerator-6GUTWJIC.js → qwenContentGenerator-H6WZPJKC.js} +56 -36
- package/chunks/{qwenOAuth2-GASEEWGU.js → qwenOAuth2-HTROHKXO.js} +10 -23
- package/chunks/read-file-FOYTMUNL.js +31 -0
- package/chunks/{read-mcp-resource-AKCL7I43.js → read-mcp-resource-65BWNF3F.js} +3 -3
- package/chunks/{record-artifact-PEUB7727.js → record-artifact-2RLSOP6U.js} +3 -3
- package/chunks/resumeHistoryUtils-ZNHTWBXS.js +90 -0
- package/chunks/ripGrep-K4K4QLNJ.js +72 -0
- package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
- package/chunks/{run-qwen-serve-OZGR3FQA.js → run-qwen-serve-XI4MCAFV.js} +343 -88
- package/chunks/runtime-4CTBU5WX.js +115 -0
- package/chunks/{scheduler-Z7QLMUWA.js → scheduler-TTEITHBF.js} +46 -33
- package/chunks/sdk-exporters-grpc-N3OLDF63.js +23214 -0
- package/chunks/sdk-exporters-http-AOHAEOMC.js +563 -0
- package/chunks/sdk-impl-TLQOC7P4.js +9193 -0
- package/chunks/{send-message-3RHE7HSM.js → send-message-GEY4CNPS.js} +47 -8
- package/chunks/serve-W7UKJTQT.js +88 -0
- package/chunks/{server-SO64U3X5.js → server-JD5PIE7A.js} +3069 -517
- package/chunks/{session-2KL2WQAH.js → session-R4BDHLYR.js} +112 -177
- package/chunks/{settings-KITVOUSV.js → settings-BXZHA6TZ.js} +50 -37
- package/chunks/shell-XYMFCGN5.js +82 -0
- package/chunks/{skill-SOQHY455.js → skill-YKXYEPOF.js} +25 -20
- package/chunks/spawnChannel-IO4HQLFS.js +81 -0
- package/chunks/{src-43LM7JLB.js → src-LKKTJ4NG.js} +382 -235
- package/chunks/standalone-update-76JG7DVN.js +91 -0
- package/chunks/{startInteractiveUI-3RGTGEX5.js → startInteractiveUI-BXWQUXAS.js} +1314 -958
- package/chunks/{syntheticOutput-FG5PQKIR.js → syntheticOutput-2WNMXEU5.js} +4 -4
- package/chunks/task-create-R5H74Y76.js +25 -0
- package/chunks/{task-list-QWSY4ZIU.js → task-list-WXAFDSRY.js} +7 -7
- package/chunks/{task-stop-GWC6UWAL.js → task-stop-CHFZP23W.js} +4 -4
- package/chunks/{task-update-NCTAB73Q.js → task-update-Z44A4GAR.js} +11 -9
- package/chunks/{team-create-FXN3PEBP.js → team-create-5Y3MCAIM.js} +49 -36
- package/chunks/{team-delete-KK37HTOG.js → team-delete-YDCMRSI4.js} +7 -7
- package/chunks/{team-plan-approval-GEIZ356Q.js → team-plan-approval-HYJJZ76T.js} +49 -36
- package/chunks/theme-manager-3YF2SUZL.js +76 -0
- package/chunks/{todoWrite-ERCAMLFS.js → todoWrite-ED2IVZJL.js} +5 -5
- package/chunks/{tool-search-XKK7DNOK.js → tool-search-3ZO2XMEP.js} +21 -17
- package/chunks/total-session-admission-NDF7EVG7.js +83 -0
- package/chunks/trustedFolders-Q7RALK4T.js +92 -0
- package/chunks/{chunk-6EFTQYW7.js → undici-3FJYTMOF.js} +24 -399
- package/chunks/{chunk-L573Z2QZ.js → undici-PYHBDDPN.js} +1 -5
- package/chunks/{update-relaunch-FMVZK6XF.js → update-relaunch-BTW5XGVT.js} +17 -17
- package/chunks/updateCheck-MXIU6DWQ.js +91 -0
- package/chunks/useAutoAcceptIndicator-BJXHJW77.js +92 -0
- package/chunks/{validateNonInterActiveAuth-PRVEB6GG.js → validateNonInterActiveAuth-FLEPF3QQ.js} +90 -76
- package/chunks/{version-AZMG6KWL.js → version-75VRONIL.js} +1 -1
- package/chunks/{web-fetch-EPGJ5OQQ.js → web-fetch-5X27LYHB.js} +101 -41
- package/chunks/web-search-IDMTBJUP.js +718 -0
- package/chunks/{workflow-UTNVPW22.js → workflow-JOD2OPFQ.js} +54 -40
- package/chunks/workspace-providers-status-WDLBDLPG.js +85 -0
- package/chunks/{workspace-registration-store-F3ZX3YHT.js → workspace-registration-store-26Z6J6P5.js} +9 -3
- package/chunks/workspace-registry-IABDATX3.js +87 -0
- package/chunks/workspace-service-BI4KDYPD.js +97 -0
- package/chunks/workspace-skills-status-OVB4LPHA.js +84 -0
- package/chunks/write-file-276AJ7KE.js +72 -0
- package/chunks/{zh-6ANG2HTL.js → zh-Q54GA5SV.js} +6 -1
- package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-VOBNFOPU.js} +6 -1
- package/cli-entry.js +164 -12
- package/cli.js +19 -12
- package/locales/ca.js +773 -203
- package/locales/de.js +8 -2
- package/locales/en.js +9 -2
- package/locales/fr.js +8 -2
- package/locales/ja.js +8 -2
- package/locales/pt.js +8 -2
- package/locales/ru.js +8 -2
- package/locales/zh-TW.js +9 -2
- package/locales/zh.js +9 -2
- package/package.json +3 -3
- package/web-shell/assets/{arc-Buk1besA.js → arc-CMb7lr2P.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1aUKYDC.js → architectureDiagram-3BPJPVTR-D6KQ5Kwm.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CRTdg3Zx.js → blockDiagram-GPEHLZMM-Ce7YYSf8.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DFdRMp5g.js → c4Diagram-AAUBKEIU-DaStHfor.js} +1 -1
- package/web-shell/assets/channel-Dg4f-Kry.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-4rYQdkEI.js → chunk-2J33WTMH-CPaqadg9.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-Coi-pQJy.js → chunk-4BX2VUAB-Veh9ZGKg.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BtBjz02t.js → chunk-55IACEB6-BPTX5n4q.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CGYOWorl.js → chunk-727SXJPM-CtXsE_ca.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CH5AKhqx.js → chunk-AQP2D5EJ-D8DDCJ8h.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-Cd50-w85.js → chunk-FMBD7UC4-cjMDGzHz.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-C2wF3KCK.js → chunk-ND2GUHAM-BaZ1hNhV.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-pCeRTaWi.js → chunk-QZHKN3VN-C7w-9w5-.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CT7Fo2aW.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CT7Fo2aW.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-B-_fAB6D.js → cose-bilkent-S5V4N54A-DqvBEEIe.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-ChSPNHpL.js → dagre-BM42HDAG-RkPyoMAk.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BX7cFOF3.js → diagram-2AECGRRQ-D9b6nNyg.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BQUTW92n.js → diagram-5GNKFQAL-CiiNKUIy.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BkYPh3e4.js → diagram-KO2AKTUF-CP1qizXd.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Cl6jsNyx.js → diagram-LMA3HP47-BGe30TWx.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DRWoHz8n.js → diagram-OG6HWLK6-CvoEPARH.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CGvFcZco.js → erDiagram-TEJ5UH35-DWfLzVkV.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-vms6oVdv.js → flowDiagram-I6XJVG4X-D-dTQmo6.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-ukT_sfmi.js → ganttDiagram-6RSMTGT7-CYPHKaGY.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bn2ZE2Ut.js → gitGraphDiagram-PVQCEYII-DA7_aQYD.js} +1 -1
- package/web-shell/assets/index-B0i-TOYM.css +5 -0
- package/web-shell/assets/index-CgCHD46L.js +1225 -0
- package/web-shell/assets/{index-wFXp7W68.js → index-DqHNAB8C.js} +1 -1
- package/web-shell/assets/{infoDiagram-5YYISTIA-DHJdSi7x.js → infoDiagram-5YYISTIA-B87ljDPa.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DOvd2Wph.js → ishikawaDiagram-YF4QCWOH-CYSpyjaN.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CH_urMCT.js → journeyDiagram-JHISSGLW-DAL6Js6f.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-FKiBdgbH.js → kanban-definition-UN3LZRKU-_zufKGJv.js} +1 -1
- package/web-shell/assets/{linear-0ZVQFVKf.js → linear-DidhMgku.js} +1 -1
- package/web-shell/assets/{mermaid.core-DJ05ZZIK.js → mermaid.core-DAkX3h3a.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BPuUhkUm.js → mindmap-definition-RKZ34NQL-DbZxUBEH.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-yLFKcXyG.js → pieDiagram-4H26LBE5-Du9uoqrf.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-irWqc1pE.js → quadrantDiagram-W4KKPZXB-DwjELuKm.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-B_4uMoIV.js → requirementDiagram-4Y6WPE33-BAqfVtBL.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-ciA4GPwk.js → sankeyDiagram-5OEKKPKP--hm2VpmK.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CRdZvy0U.js → sequenceDiagram-3UESZ5HK-R5MUQaIt.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DaYIkCCn.js → stateDiagram-AJRCARHV-VsX032xQ.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-uPWLcSfy.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-oBUKv6iH.js → timeline-definition-PNZ67QCA-BqjVRXzg.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-CGW9Sdmb.js → vennDiagram-CIIHVFJN-i2tkvlkg.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CvwKJOCm.js → wardley-L42UT6IY-Ch8G49EM.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Ipc260sN.js → wardleyDiagram-YWT4CUSO-bYpWeQNy.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-D6-CM7pK.js → xychartDiagram-2RQKCTM6-C9NhuBqB.js} +1 -1
- package/web-shell/index.html +17 -13
- package/chunks/MaxSizedBox-B5YGZSYE.js +0 -72
- package/chunks/agent-H4JIDL7S.js +0 -67
- package/chunks/agent-headless-TTBEREQV.js +0 -61
- package/chunks/bridge-VL7ITBU5.js +0 -75
- package/chunks/chunk-542SK7KV.js +0 -8293
- package/chunks/chunk-CPCVCKKF.js +0 -358
- package/chunks/chunk-SEKHYHMS.js +0 -45
- package/chunks/chunk-W7FJ3N32.js +0 -49
- package/chunks/chunk-ZFKNWQGQ.js +0 -74639
- package/chunks/contextCommand-L2COEUHS.js +0 -66
- package/chunks/daemon-status-provider-NL4IAG7B.js +0 -74
- package/chunks/earlyInputCapture-L6I2A22T.js +0 -68
- package/chunks/errors-LEOF5QG4.js +0 -74
- package/chunks/handleAutoUpdate-QQVIWXKT.js +0 -67
- package/chunks/i18n-N6OBDORT.js +0 -83
- package/chunks/initializer-6WCFNDLL.js +0 -72
- package/chunks/installationInfo-6J3WPXNS.js +0 -64
- package/chunks/list-HOWQSWP6.js +0 -75
- package/chunks/loadedSettingsAdapter-AO4YBRXZ.js +0 -69
- package/chunks/mcp-QH7QNXOH.js +0 -69
- package/chunks/nonInteractiveCli-TI7EMPXD.js +0 -126
- package/chunks/pidfile-UEHAT6DH.js +0 -72
- package/chunks/read-file-SQJONF6A.js +0 -29
- package/chunks/resumeHistoryUtils-PFQ2A23X.js +0 -78
- package/chunks/ripGrep-QCK22GDU.js +0 -59
- package/chunks/runtime-SNVAP6EH.js +0 -100
- package/chunks/serve-BT7KS6SC.js +0 -75
- package/chunks/shell-BITUVH2R.js +0 -69
- package/chunks/spawnChannel-2BU3AULL.js +0 -68
- package/chunks/standalone-update-YG5JUYCM.js +0 -78
- package/chunks/task-create-HX32YXO7.js +0 -23
- package/chunks/theme-manager-IAETOI25.js +0 -63
- package/chunks/total-session-admission-BJLDHKJN.js +0 -69
- package/chunks/trustedFolders-5XCVNEUU.js +0 -79
- package/chunks/updateCheck-YZZB7YBU.js +0 -70
- package/chunks/useAutoAcceptIndicator-ZSQX4I2H.js +0 -80
- package/chunks/workspace-providers-status-EADV364W.js +0 -72
- package/chunks/workspace-registry-W6VMFYZU.js +0 -73
- package/chunks/workspace-service-F3KIN2UN.js +0 -84
- package/chunks/workspace-skills-status-YVICUR5Y.js +0 -71
- package/chunks/write-file-CVGF2OKV.js +0 -596
- package/web-shell/assets/channel-04R0vLbG.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Bw9SOwAV.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Bw9SOwAV.js +0 -1
- package/web-shell/assets/index-DgkKrjw3.js +0 -1187
- package/web-shell/assets/index-Rv6mOAN9.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DWBoO4UY.js +0 -1
|
@@ -12,6 +12,13 @@ init_esbuild_shims();
|
|
|
12
12
|
var detectionComplete = false;
|
|
13
13
|
var protocolSupported = false;
|
|
14
14
|
var protocolEnabled = false;
|
|
15
|
+
var KITTY_KEYBOARD_PUSH = "\x1B[>1u";
|
|
16
|
+
var KITTY_KEYBOARD_POP = "\x1B[<u";
|
|
17
|
+
function enableProtocol() {
|
|
18
|
+
process.stdout.write(KITTY_KEYBOARD_PUSH);
|
|
19
|
+
protocolEnabled = true;
|
|
20
|
+
}
|
|
21
|
+
__name(enableProtocol, "enableProtocol");
|
|
15
22
|
async function detectAndEnableKittyProtocol() {
|
|
16
23
|
if (detectionComplete) {
|
|
17
24
|
return protocolSupported;
|
|
@@ -62,9 +69,8 @@ async function detectAndEnableKittyProtocol() {
|
|
|
62
69
|
process.stdin.setRawMode(false);
|
|
63
70
|
}
|
|
64
71
|
if (progressiveEnhancementReceived) {
|
|
65
|
-
process.stdout.write("\x1B[>1u");
|
|
66
72
|
protocolSupported = true;
|
|
67
|
-
|
|
73
|
+
enableProtocol();
|
|
68
74
|
process.on("exit", disableProtocol);
|
|
69
75
|
process.on("SIGTERM", disableProtocol);
|
|
70
76
|
process.on("SIGINT", disableProtocol);
|
|
@@ -82,11 +88,17 @@ async function detectAndEnableKittyProtocol() {
|
|
|
82
88
|
__name(detectAndEnableKittyProtocol, "detectAndEnableKittyProtocol");
|
|
83
89
|
function disableProtocol() {
|
|
84
90
|
if (protocolEnabled) {
|
|
85
|
-
process.stdout.write(
|
|
91
|
+
process.stdout.write(KITTY_KEYBOARD_POP);
|
|
86
92
|
protocolEnabled = false;
|
|
87
93
|
}
|
|
88
94
|
}
|
|
89
95
|
__name(disableProtocol, "disableProtocol");
|
|
96
|
+
function pushKittyProtocolFlags() {
|
|
97
|
+
if (protocolSupported) {
|
|
98
|
+
enableProtocol();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
__name(pushKittyProtocolFlags, "pushKittyProtocolFlags");
|
|
90
102
|
function disableKittyProtocol() {
|
|
91
103
|
disableProtocol();
|
|
92
104
|
}
|
|
@@ -102,6 +114,7 @@ __name(isKittyProtocolSupported, "isKittyProtocolSupported");
|
|
|
102
114
|
|
|
103
115
|
export {
|
|
104
116
|
detectAndEnableKittyProtocol,
|
|
117
|
+
pushKittyProtocolFlags,
|
|
105
118
|
disableKittyProtocol,
|
|
106
119
|
isKittyProtocolEnabled,
|
|
107
120
|
isKittyProtocolSupported
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
ChannelWorkerStartupError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SX4PK3FC.js";
|
|
6
6
|
import {
|
|
7
|
+
ChannelDeliveryError,
|
|
7
8
|
ChannelWebhookEnqueueError
|
|
8
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-UPF7PTBI.js";
|
|
9
10
|
import {
|
|
10
11
|
init_esbuild_shims
|
|
11
12
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -224,7 +225,14 @@ function createChannelWorkerGroup(opts) {
|
|
|
224
225
|
}
|
|
225
226
|
return firstError ? { rolledBack: false, rollbackError: firstError } : { rolledBack: true };
|
|
226
227
|
}, "restoreEntries");
|
|
227
|
-
const routeEntry = /* @__PURE__ */ __name((channelName) => {
|
|
228
|
+
const routeEntry = /* @__PURE__ */ __name((channelName, workspaceCwd) => {
|
|
229
|
+
if (workspaceCwd !== void 0) {
|
|
230
|
+
const entry = entries.get(workspaceCwd);
|
|
231
|
+
if (entry && (entry.selection.mode === "all" || entry.selection.names.includes(channelName))) {
|
|
232
|
+
return entry;
|
|
233
|
+
}
|
|
234
|
+
return void 0;
|
|
235
|
+
}
|
|
228
236
|
for (const entry of entries.values()) {
|
|
229
237
|
if (entry.selection.mode === "all" || entry.selection.names.includes(channelName)) {
|
|
230
238
|
return entry;
|
|
@@ -298,13 +306,27 @@ function createChannelWorkerGroup(opts) {
|
|
|
298
306
|
const targets = new Map(
|
|
299
307
|
targetGroups.map((target) => [target.workspaceCwd, target])
|
|
300
308
|
);
|
|
309
|
+
if (reconcileOptions?.forceWorkspaceCwd) {
|
|
310
|
+
for (const workspaceCwd of targets.keys()) {
|
|
311
|
+
if (workspaceCwd !== reconcileOptions.forceWorkspaceCwd) {
|
|
312
|
+
targets.delete(workspaceCwd);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
301
316
|
const unchanged = /* @__PURE__ */ new Map();
|
|
302
317
|
const oldAffected = [];
|
|
303
318
|
const newEntries = [];
|
|
304
319
|
for (const [workspaceCwd, entry] of entries) {
|
|
305
320
|
const target = targets.get(workspaceCwd);
|
|
306
321
|
const healthy = entry.supervisor.snapshot().state === "running";
|
|
307
|
-
|
|
322
|
+
const forceWorkspace = reconcileOptions?.forceWorkspaceCwd === workspaceCwd;
|
|
323
|
+
const preserveOtherWorkspace = reconcileOptions?.forceWorkspaceCwd !== void 0 && !forceWorkspace;
|
|
324
|
+
if (preserveOtherWorkspace) {
|
|
325
|
+
unchanged.set(workspaceCwd, entry);
|
|
326
|
+
targets.delete(workspaceCwd);
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
if (target && !reconcileOptions?.force && !forceWorkspace && healthy && selectionsEqual(entry.selection, target.selection)) {
|
|
308
330
|
unchanged.set(workspaceCwd, entry);
|
|
309
331
|
targets.delete(workspaceCwd);
|
|
310
332
|
} else {
|
|
@@ -392,16 +414,17 @@ function createChannelWorkerGroup(opts) {
|
|
|
392
414
|
committed.set(entry.workspaceCwd, entry);
|
|
393
415
|
}
|
|
394
416
|
entries = committed;
|
|
395
|
-
const targetWorkspaceCwds = new Set(
|
|
396
|
-
targetGroups.map((target) => target.workspaceCwd)
|
|
397
|
-
);
|
|
417
|
+
const targetWorkspaceCwds = new Set(committed.keys());
|
|
398
418
|
for (const workspaceCwd of groupsByWorkspace.keys()) {
|
|
399
419
|
if (!targetWorkspaceCwds.has(workspaceCwd)) {
|
|
400
420
|
groupsByWorkspace.delete(workspaceCwd);
|
|
401
421
|
}
|
|
402
422
|
}
|
|
403
|
-
for (const
|
|
404
|
-
groupsByWorkspace.set(
|
|
423
|
+
for (const entry of committed.values()) {
|
|
424
|
+
groupsByWorkspace.set(entry.workspaceCwd, {
|
|
425
|
+
workspaceCwd: entry.workspaceCwd,
|
|
426
|
+
selection: entry.selection
|
|
427
|
+
});
|
|
405
428
|
}
|
|
406
429
|
return { changed: true, workers: entrySnapshots() };
|
|
407
430
|
})().finally(() => {
|
|
@@ -518,6 +541,15 @@ function createChannelWorkerGroup(opts) {
|
|
|
518
541
|
throw err;
|
|
519
542
|
}
|
|
520
543
|
},
|
|
544
|
+
async deliverChannelMessage(request, workspaceCwd) {
|
|
545
|
+
const entry = routeEntry(request.channelName, workspaceCwd);
|
|
546
|
+
const deliver = entry?.supervisor.deliverChannelMessage;
|
|
547
|
+
if (!entry || drainingWorkspaces.has(entry.workspaceCwd) || !deliver) {
|
|
548
|
+
const hint = workspaceCwd ? `No channel worker for the selected workspace owns channel "${request.channelName}".` : `No channel worker owns channel "${request.channelName}".`;
|
|
549
|
+
throw new ChannelDeliveryError("channel_worker_unavailable", hint);
|
|
550
|
+
}
|
|
551
|
+
return deliver.call(entry.supervisor, request);
|
|
552
|
+
},
|
|
521
553
|
async enqueueWebhookTask(task) {
|
|
522
554
|
const entry = routeEntry(task.channelName);
|
|
523
555
|
if (!entry || drainingWorkspaces.has(entry.workspaceCwd)) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
theme
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6IL7KRLE.js";
|
|
6
6
|
import {
|
|
7
7
|
require_jsx_runtime
|
|
8
8
|
} from "./chunk-SV5PQVQE.js";
|
|
@@ -10,17 +10,17 @@ import {
|
|
|
10
10
|
Box_default,
|
|
11
11
|
Text,
|
|
12
12
|
use_is_screen_reader_enabled_default
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6GMVPFB2.js";
|
|
14
14
|
import {
|
|
15
15
|
require_react
|
|
16
16
|
} from "./chunk-5QWWOFGG.js";
|
|
17
17
|
import {
|
|
18
18
|
formatHistoryGapNotice,
|
|
19
19
|
indexGapsByChild
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DWNZ6PVQ.js";
|
|
21
21
|
import {
|
|
22
22
|
stringWidth
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-2MIN6GRR.js";
|
|
24
24
|
import {
|
|
25
25
|
eastAsianWidth
|
|
26
26
|
} from "./chunk-QHTIBUWB.js";
|
|
@@ -29,16 +29,16 @@ import {
|
|
|
29
29
|
} from "./chunk-E5Z2AVNV.js";
|
|
30
30
|
import {
|
|
31
31
|
t
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-ZT4POVWC.js";
|
|
33
33
|
import {
|
|
34
34
|
getToolResponseDisplayText
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-LI4I37W4.js";
|
|
36
36
|
import {
|
|
37
37
|
stripAnsi
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-TWPJO254.js";
|
|
39
39
|
import {
|
|
40
40
|
ToolDisplayNames
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-P5RRUHL7.js";
|
|
42
42
|
import {
|
|
43
43
|
init_esbuild_shims
|
|
44
44
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3023,7 +3023,7 @@ function convertToHistoryItems(conversation, config, historyGaps) {
|
|
|
3023
3023
|
const payload = record.systemPayload;
|
|
3024
3024
|
const text2 = payload?.displayText || extractTextFromParts(record.message?.parts);
|
|
3025
3025
|
if (text2) {
|
|
3026
|
-
items.push({ type: "
|
|
3026
|
+
items.push({ type: "user" /* USER */, text: text2, sentToModel: false });
|
|
3027
3027
|
}
|
|
3028
3028
|
break;
|
|
3029
3029
|
}
|
|
@@ -3217,7 +3217,8 @@ function applyCollapsePolicyAndSummary(rawItems, collapseOnResume, collapsePrevi
|
|
|
3217
3217
|
if (collapsePreviewCount > 0) {
|
|
3218
3218
|
let userTurnCount = 0;
|
|
3219
3219
|
for (let i = rawItems.length - 1; i >= 0; i--) {
|
|
3220
|
-
|
|
3220
|
+
const item = rawItems[i];
|
|
3221
|
+
if (item.type === "user" /* USER */ && item.sentToModel !== false) {
|
|
3221
3222
|
userTurnCount++;
|
|
3222
3223
|
if (userTurnCount === collapsePreviewCount) {
|
|
3223
3224
|
boundary = i;
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
atomicWriteFileSync
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6X4GWOPW.js";
|
|
6
6
|
import {
|
|
7
7
|
Storage,
|
|
8
8
|
createDebugLogger
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OQB4EXO4.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esbuild_shims
|
|
12
12
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-JKCALGYN.js";
|
|
6
6
|
import {
|
|
7
7
|
assembleMcpServers,
|
|
8
8
|
getPendingGatedMcpServers,
|
|
9
9
|
getPromptableMcpServers
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2WTVWAKT.js";
|
|
11
11
|
import {
|
|
12
12
|
getMCPServerStatus
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-IFG6TYJ2.js";
|
|
14
14
|
import {
|
|
15
15
|
require_fast_deep_equal
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-P5RRUHL7.js";
|
|
17
17
|
import {
|
|
18
18
|
createDebugLogger
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OQB4EXO4.js";
|
|
20
20
|
import {
|
|
21
21
|
init_esbuild_shims
|
|
22
22
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
getRateLimitErrorDetails
|
|
5
|
+
} from "./chunk-6QHAUJUE.js";
|
|
6
|
+
import {
|
|
7
|
+
isInternalPromptId
|
|
8
|
+
} from "./chunk-IFG6TYJ2.js";
|
|
9
|
+
import {
|
|
10
|
+
createDebugLogger
|
|
11
|
+
} from "./chunk-OQB4EXO4.js";
|
|
12
|
+
import {
|
|
13
|
+
init_esbuild_shims
|
|
14
|
+
} from "./chunk-5O2XNYP6.js";
|
|
15
|
+
import {
|
|
16
|
+
__name
|
|
17
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
18
|
+
|
|
19
|
+
// packages/core/src/utils/openaiLogger.ts
|
|
20
|
+
init_esbuild_shims();
|
|
21
|
+
import * as path from "node:path";
|
|
22
|
+
import { promises as fs } from "node:fs";
|
|
23
|
+
|
|
24
|
+
// node_modules/uuid/dist/esm-node/index.js
|
|
25
|
+
init_esbuild_shims();
|
|
26
|
+
|
|
27
|
+
// node_modules/uuid/dist/esm-node/rng.js
|
|
28
|
+
init_esbuild_shims();
|
|
29
|
+
import crypto from "crypto";
|
|
30
|
+
var rnds8Pool = new Uint8Array(256);
|
|
31
|
+
var poolPtr = rnds8Pool.length;
|
|
32
|
+
function rng() {
|
|
33
|
+
if (poolPtr > rnds8Pool.length - 16) {
|
|
34
|
+
crypto.randomFillSync(rnds8Pool);
|
|
35
|
+
poolPtr = 0;
|
|
36
|
+
}
|
|
37
|
+
return rnds8Pool.slice(poolPtr, poolPtr += 16);
|
|
38
|
+
}
|
|
39
|
+
__name(rng, "rng");
|
|
40
|
+
|
|
41
|
+
// node_modules/uuid/dist/esm-node/stringify.js
|
|
42
|
+
init_esbuild_shims();
|
|
43
|
+
var byteToHex = [];
|
|
44
|
+
for (let i = 0; i < 256; ++i) {
|
|
45
|
+
byteToHex.push((i + 256).toString(16).slice(1));
|
|
46
|
+
}
|
|
47
|
+
function unsafeStringify(arr, offset = 0) {
|
|
48
|
+
return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
|
|
49
|
+
}
|
|
50
|
+
__name(unsafeStringify, "unsafeStringify");
|
|
51
|
+
|
|
52
|
+
// node_modules/uuid/dist/esm-node/v4.js
|
|
53
|
+
init_esbuild_shims();
|
|
54
|
+
|
|
55
|
+
// node_modules/uuid/dist/esm-node/native.js
|
|
56
|
+
init_esbuild_shims();
|
|
57
|
+
import crypto2 from "crypto";
|
|
58
|
+
var native_default = {
|
|
59
|
+
randomUUID: crypto2.randomUUID
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// node_modules/uuid/dist/esm-node/v4.js
|
|
63
|
+
function v4(options, buf, offset) {
|
|
64
|
+
if (native_default.randomUUID && !buf && !options) {
|
|
65
|
+
return native_default.randomUUID();
|
|
66
|
+
}
|
|
67
|
+
options = options || {};
|
|
68
|
+
const rnds = options.random || (options.rng || rng)();
|
|
69
|
+
rnds[6] = rnds[6] & 15 | 64;
|
|
70
|
+
rnds[8] = rnds[8] & 63 | 128;
|
|
71
|
+
if (buf) {
|
|
72
|
+
offset = offset || 0;
|
|
73
|
+
for (let i = 0; i < 16; ++i) {
|
|
74
|
+
buf[offset + i] = rnds[i];
|
|
75
|
+
}
|
|
76
|
+
return buf;
|
|
77
|
+
}
|
|
78
|
+
return unsafeStringify(rnds);
|
|
79
|
+
}
|
|
80
|
+
__name(v4, "v4");
|
|
81
|
+
var v4_default = v4;
|
|
82
|
+
|
|
83
|
+
// packages/core/src/utils/openaiLogger.ts
|
|
84
|
+
import * as os from "os";
|
|
85
|
+
var debugLogger = createDebugLogger("OPENAI_LOGGER");
|
|
86
|
+
var MAIN_SESSION_PROMPT_ID_DELIMITER = "########";
|
|
87
|
+
var UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
88
|
+
function resolveOpenAILogDir(customLogDir, cwd) {
|
|
89
|
+
const baseCwd = cwd || process.cwd();
|
|
90
|
+
if (!customLogDir) {
|
|
91
|
+
return path.join(baseCwd, "logs", "openai");
|
|
92
|
+
}
|
|
93
|
+
let resolvedPath = customLogDir;
|
|
94
|
+
if (customLogDir === "~" || customLogDir.startsWith("~/")) {
|
|
95
|
+
resolvedPath = path.join(os.homedir(), customLogDir.slice(1));
|
|
96
|
+
} else if (!path.isAbsolute(customLogDir)) {
|
|
97
|
+
resolvedPath = path.resolve(baseCwd, customLogDir);
|
|
98
|
+
}
|
|
99
|
+
return path.normalize(resolvedPath);
|
|
100
|
+
}
|
|
101
|
+
__name(resolveOpenAILogDir, "resolveOpenAILogDir");
|
|
102
|
+
function sanitizeDiagnosticSuffix(suffix) {
|
|
103
|
+
if (!suffix) return void 0;
|
|
104
|
+
const sanitized = suffix.replace(/[^a-zA-Z0-9._-]+/g, "-").replace(/^-+|-+$/g, "");
|
|
105
|
+
return sanitized || void 0;
|
|
106
|
+
}
|
|
107
|
+
__name(sanitizeDiagnosticSuffix, "sanitizeDiagnosticSuffix");
|
|
108
|
+
function extractSubagentSuffix(promptId) {
|
|
109
|
+
const parts = promptId.split("#");
|
|
110
|
+
if (parts.length !== 3) return void 0;
|
|
111
|
+
const [, subagentId, turn] = parts;
|
|
112
|
+
if (!subagentId || !turn || !/^\d+$/.test(turn)) {
|
|
113
|
+
return void 0;
|
|
114
|
+
}
|
|
115
|
+
return `subagent-${subagentId}`;
|
|
116
|
+
}
|
|
117
|
+
__name(extractSubagentSuffix, "extractSubagentSuffix");
|
|
118
|
+
function promptIdSuffixForFilename(promptId) {
|
|
119
|
+
if (!promptId) return void 0;
|
|
120
|
+
if (isInternalPromptId(promptId)) {
|
|
121
|
+
return sanitizeDiagnosticSuffix(promptId);
|
|
122
|
+
}
|
|
123
|
+
return sanitizeDiagnosticSuffix(extractSubagentSuffix(promptId));
|
|
124
|
+
}
|
|
125
|
+
__name(promptIdSuffixForFilename, "promptIdSuffixForFilename");
|
|
126
|
+
function sessionIdFromPromptId(promptId) {
|
|
127
|
+
if (!promptId) return void 0;
|
|
128
|
+
const mainSessionDelimiterIndex = promptId.indexOf(
|
|
129
|
+
MAIN_SESSION_PROMPT_ID_DELIMITER
|
|
130
|
+
);
|
|
131
|
+
if (mainSessionDelimiterIndex > 0) {
|
|
132
|
+
return promptId.slice(0, mainSessionDelimiterIndex);
|
|
133
|
+
}
|
|
134
|
+
if (UUID_PATTERN.test(promptId)) {
|
|
135
|
+
return promptId;
|
|
136
|
+
}
|
|
137
|
+
const parts = promptId.split("#");
|
|
138
|
+
if (parts.length >= 3 && parts[0]) {
|
|
139
|
+
return parts[0];
|
|
140
|
+
}
|
|
141
|
+
return void 0;
|
|
142
|
+
}
|
|
143
|
+
__name(sessionIdFromPromptId, "sessionIdFromPromptId");
|
|
144
|
+
function contextForPromptId(promptId) {
|
|
145
|
+
const trimmedPromptId = promptId?.trim();
|
|
146
|
+
const sessionId = sessionIdFromPromptId(trimmedPromptId);
|
|
147
|
+
if (!trimmedPromptId && !sessionId) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
...trimmedPromptId ? { promptId: trimmedPromptId } : {},
|
|
152
|
+
...sessionId ? { sessionId } : {}
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
__name(contextForPromptId, "contextForPromptId");
|
|
156
|
+
function getString(value) {
|
|
157
|
+
return typeof value === "string" && value ? value : void 0;
|
|
158
|
+
}
|
|
159
|
+
__name(getString, "getString");
|
|
160
|
+
function getErrorRequestId(error) {
|
|
161
|
+
const source = error;
|
|
162
|
+
return getString(source.requestID) ?? getString(source.request_id) ?? getString(source.requestId) ?? getString(source.response_id) ?? getRateLimitErrorDetails(error).requestId;
|
|
163
|
+
}
|
|
164
|
+
__name(getErrorRequestId, "getErrorRequestId");
|
|
165
|
+
function serializeError(error) {
|
|
166
|
+
const requestId = getErrorRequestId(error);
|
|
167
|
+
return {
|
|
168
|
+
message: error.message,
|
|
169
|
+
stack: error.stack,
|
|
170
|
+
...requestId ? { requestId } : {}
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
__name(serializeError, "serializeError");
|
|
174
|
+
var OpenAILogger = class {
|
|
175
|
+
static {
|
|
176
|
+
__name(this, "OpenAILogger");
|
|
177
|
+
}
|
|
178
|
+
logDir;
|
|
179
|
+
initialized = false;
|
|
180
|
+
/**
|
|
181
|
+
* Creates a new OpenAI logger
|
|
182
|
+
* @param customLogDir Optional custom log directory path (supports relative paths, absolute paths, and ~ expansion)
|
|
183
|
+
* @param cwd Optional working directory for resolving relative paths. Defaults to process.cwd().
|
|
184
|
+
* In ACP mode, process.cwd() may be '/' (filesystem root), so callers should
|
|
185
|
+
* pass the project working directory from Config.getWorkingDir().
|
|
186
|
+
*/
|
|
187
|
+
constructor(customLogDir, cwd) {
|
|
188
|
+
this.logDir = resolveOpenAILogDir(customLogDir, cwd);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Initialize the logger by creating the log directory if it doesn't exist
|
|
192
|
+
*/
|
|
193
|
+
async initialize() {
|
|
194
|
+
if (this.initialized) return;
|
|
195
|
+
try {
|
|
196
|
+
await fs.mkdir(this.logDir, { recursive: true });
|
|
197
|
+
this.initialized = true;
|
|
198
|
+
} catch (error) {
|
|
199
|
+
debugLogger.error("Failed to initialize OpenAI logger:", error);
|
|
200
|
+
throw new Error(`Failed to initialize OpenAI logger: ${error}`);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Logs an OpenAI API request and its response
|
|
205
|
+
* @param request The request sent to OpenAI
|
|
206
|
+
* @param response The response received from OpenAI
|
|
207
|
+
* @param error Optional error if the request failed
|
|
208
|
+
* @param promptId Optional prompt id; internal and subagent prompt ids are
|
|
209
|
+
* appended to the filename after timestamp and id.
|
|
210
|
+
* @returns The file path where the log was written
|
|
211
|
+
*/
|
|
212
|
+
async logInteraction(request, response, error, promptId) {
|
|
213
|
+
if (!this.initialized) {
|
|
214
|
+
await this.initialize();
|
|
215
|
+
}
|
|
216
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString().replace(/:/g, "-");
|
|
217
|
+
const id = v4_default().slice(0, 8);
|
|
218
|
+
const promptIdSuffix = promptIdSuffixForFilename(promptId);
|
|
219
|
+
const filename = promptIdSuffix ? `openai-${timestamp}-${id}-${promptIdSuffix}.json` : `openai-${timestamp}-${id}.json`;
|
|
220
|
+
const filePath = path.join(this.logDir, filename);
|
|
221
|
+
const logData = {
|
|
222
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
223
|
+
request,
|
|
224
|
+
response: response || null,
|
|
225
|
+
error: error ? serializeError(error) : null,
|
|
226
|
+
context: contextForPromptId(promptId),
|
|
227
|
+
system: {
|
|
228
|
+
hostname: os.hostname(),
|
|
229
|
+
platform: os.platform(),
|
|
230
|
+
release: os.release(),
|
|
231
|
+
nodeVersion: process.version
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
try {
|
|
235
|
+
await fs.writeFile(filePath, JSON.stringify(logData, null, 2), "utf-8");
|
|
236
|
+
return filePath;
|
|
237
|
+
} catch (writeError) {
|
|
238
|
+
debugLogger.error("Failed to write OpenAI log file:", writeError);
|
|
239
|
+
throw new Error(`Failed to write OpenAI log file: ${writeError}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Get all logged interactions
|
|
244
|
+
* @param limit Optional limit on the number of log files to return (sorted by most recent first)
|
|
245
|
+
* @returns Array of log file paths
|
|
246
|
+
*/
|
|
247
|
+
async getLogFiles(limit) {
|
|
248
|
+
if (!this.initialized) {
|
|
249
|
+
await this.initialize();
|
|
250
|
+
}
|
|
251
|
+
try {
|
|
252
|
+
const files = await fs.readdir(this.logDir);
|
|
253
|
+
const logFiles = files.filter((file) => file.startsWith("openai-") && file.endsWith(".json")).map((file) => path.join(this.logDir, file)).sort().reverse();
|
|
254
|
+
return limit === void 0 ? logFiles : logFiles.slice(0, limit);
|
|
255
|
+
} catch (error) {
|
|
256
|
+
if (error.code === "ENOENT") {
|
|
257
|
+
return [];
|
|
258
|
+
}
|
|
259
|
+
debugLogger.error("Failed to read OpenAI log directory:", error);
|
|
260
|
+
return [];
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Read a specific log file
|
|
265
|
+
* @param filePath The path to the log file
|
|
266
|
+
* @returns The log file content
|
|
267
|
+
*/
|
|
268
|
+
async readLogFile(filePath) {
|
|
269
|
+
try {
|
|
270
|
+
const content = await fs.readFile(filePath, "utf-8");
|
|
271
|
+
return JSON.parse(content);
|
|
272
|
+
} catch (error) {
|
|
273
|
+
debugLogger.error(`Failed to read log file ${filePath}:`, error);
|
|
274
|
+
throw new Error(`Failed to read log file: ${error}`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
var openaiLogger = new OpenAILogger();
|
|
279
|
+
|
|
280
|
+
export {
|
|
281
|
+
resolveOpenAILogDir,
|
|
282
|
+
OpenAILogger,
|
|
283
|
+
openaiLogger
|
|
284
|
+
};
|
|
285
|
+
/**
|
|
286
|
+
* @license
|
|
287
|
+
* Copyright 2025 Google LLC
|
|
288
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
289
|
+
*/
|