@qwen-code/qwen-code 0.19.7 → 0.19.8-nightly.20260710.205430235
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/SKILL.md +1 -0
- package/bundled/qc-helper/docs/configuration/auth.md +40 -55
- package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
- package/bundled/qc-helper/docs/configuration/settings.md +43 -36
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +20 -12
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
- package/bundled/qc-helper/docs/features/code-review.md +2 -1
- package/bundled/qc-helper/docs/features/commands.md +39 -38
- package/bundled/qc-helper/docs/features/computer-use.md +77 -0
- package/bundled/qc-helper/docs/features/hooks.md +36 -34
- package/bundled/qc-helper/docs/features/memory.md +1 -1
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
- package/bundled/qc-helper/docs/qwen-serve.md +22 -12
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/DESIGN.md +14 -13
- package/bundled/review/SKILL.md +38 -61
- package/chunks/{MaxSizedBox-XY5LIO5O.js → MaxSizedBox-LOFYQFYJ.js} +13 -14
- package/chunks/{StandaloneSessionPicker-APISIRJZ.js → StandaloneSessionPicker-U5OQBGEB.js} +31 -29
- package/chunks/{acpAgent-MMOSC2YA.js → acpAgent-SDIFRIED.js} +637 -131
- package/chunks/{agent-TKIBLLQT.js → agent-JIBBVHNQ.js} +10 -10
- package/chunks/{agent-headless-VLX4C7KX.js → agent-headless-6LGZYJYU.js} +10 -10
- package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-55REPTTF.js} +30 -3
- package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-EIN46DPM.js} +1 -1
- package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-6YX6ZRX7.js} +1 -1
- package/chunks/{bridge-BCU73DZO.js → bridge-HVPFYNM4.js} +17 -16
- package/chunks/{ca-HCMB2I54.js → ca-MULEGDVS.js} +89 -5
- package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-OPXXT4JK.js} +20 -3
- package/chunks/{chunk-DGHJTO2K.js → chunk-2AF26HVM.js} +31 -2
- package/chunks/{chunk-3B26UVCX.js → chunk-2GUVUHJY.js} +6 -4
- package/chunks/{chunk-FV7425LN.js → chunk-2SZOMGOR.js} +4 -1
- package/chunks/{chunk-CNSF3WO5.js → chunk-32KS5XSX.js} +3 -3
- package/chunks/{chunk-4UCTWSTP.js → chunk-34UUM3IN.js} +1 -1
- package/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
- package/chunks/{chunk-MIG5SQNL.js → chunk-4CSVIZLT.js} +4 -4
- package/chunks/{chunk-GD236YPV.js → chunk-4ONWIT5C.js} +1 -1
- package/chunks/{chunk-4ZJIPVPB.js → chunk-4XK7TNBP.js} +8 -8
- package/chunks/{chunk-I4A4K72C.js → chunk-5F2H3PXG.js} +446 -232
- package/chunks/chunk-5HOF2K5U.js +19 -0
- package/chunks/{chunk-GMOWQOQQ.js → chunk-5ZVIYNLN.js} +228 -36
- package/chunks/chunk-6O6Z2I5Q.js +292 -0
- package/chunks/{chunk-RYFZCUJO.js → chunk-6QKT5VNZ.js} +14 -6
- package/chunks/{chunk-SD4N3QJ2.js → chunk-6ZPSVWLF.js} +61 -17
- package/chunks/{chunk-X265R5C6.js → chunk-7YGSDQ5J.js} +2 -2
- package/chunks/{chunk-PRDFOIZF.js → chunk-A6KEUFJO.js} +32 -5
- package/chunks/{chunk-OWVIH4HY.js → chunk-B5OAMPJ5.js} +389 -87
- package/chunks/{chunk-ME3YSROJ.js → chunk-CV2AT2WJ.js} +22 -10
- package/chunks/{chunk-U4FRHCLA.js → chunk-DDKUYKHA.js} +1912 -201
- package/chunks/{chunk-YDSYD7UI.js → chunk-E3SA2LY4.js} +2 -2
- package/chunks/{chunk-6IAWPIQ6.js → chunk-EDM5O3SX.js} +2 -2
- package/chunks/{chunk-CISB3IQF.js → chunk-FONJQQWI.js} +65 -6
- package/chunks/{chunk-FRFFNYUY.js → chunk-G3WIMNL4.js} +3 -3
- package/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
- package/chunks/chunk-GLE2YUPU.js +34 -0
- package/chunks/{chunk-MJI36HER.js → chunk-GOTMC3BX.js} +1 -1
- package/chunks/{chunk-RFIL6REB.js → chunk-GRB4QSBD.js} +168 -31
- package/chunks/chunk-GVVY7GSP.js +38 -0
- package/chunks/{chunk-7JGISHHZ.js → chunk-HDEUQRAR.js} +14 -156
- package/chunks/{chunk-NZEGNV4V.js → chunk-HPRI22FZ.js} +6 -6
- package/chunks/{chunk-STAZRKOT.js → chunk-I34IHZFJ.js} +117 -459
- package/chunks/{chunk-JF7DFPQ5.js → chunk-I3MBKL6Z.js} +12 -2
- package/chunks/{chunk-DNV4FSN5.js → chunk-I5XN6KDI.js} +21 -4
- package/chunks/{chunk-VZ7HY3YU.js → chunk-IAMRWMFU.js} +1 -1
- package/chunks/{chunk-44NROQYV.js → chunk-JOQMY62N.js} +1 -1
- package/chunks/{chunk-VQWAZSXN.js → chunk-JW4IKIZ2.js} +57 -35
- package/chunks/{chunk-SAIILPQ3.js → chunk-KJMYXFUR.js} +3 -1
- package/chunks/{chunk-AFOLR6YL.js → chunk-KQ6MKCFE.js} +102 -16
- package/chunks/{chunk-X3YGAX7V.js → chunk-KS2FRTYI.js} +2 -0
- package/chunks/{chunk-IUE7YWC3.js → chunk-LE7EF36E.js} +7 -7
- package/chunks/{chunk-B4U2M63D.js → chunk-LRY7HD3Q.js} +2101 -11
- package/chunks/{chunk-PUQLHSQ2.js → chunk-ME7E6WZB.js} +6 -8
- package/chunks/{chunk-LEIJKM7Q.js → chunk-MEK7ZRJ3.js} +1 -1
- package/chunks/{chunk-AJBEAUIS.js → chunk-MG2TNCRX.js} +4 -3
- package/chunks/{chunk-GL5TV7B5.js → chunk-MSMQURDV.js} +21 -5
- package/chunks/{chunk-6BN7NZ5Z.js → chunk-NXDJLKKX.js} +4 -6
- package/chunks/{chunk-FEJ2FZ3U.js → chunk-NY2ZOFMM.js} +1 -1
- package/chunks/{chunk-QZF5U5KA.js → chunk-NY5BE643.js} +8 -8
- package/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
- package/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
- package/chunks/chunk-PCWSPWXZ.js +168 -0
- package/chunks/{chunk-XPJH4PKR.js → chunk-PJ74K3DH.js} +1 -1
- package/chunks/{chunk-FTFXDZYI.js → chunk-PW7VWRLX.js} +45 -29
- package/chunks/chunk-R3SLDK6Y.js +468 -0
- package/chunks/{chunk-4O344UEE.js → chunk-SDJOZOYY.js} +38 -18
- package/chunks/{chunk-ALZ75L2X.js → chunk-SMYIBRAA.js} +412 -376
- package/chunks/{chunk-CCGOFQV3.js → chunk-SS5P6JM6.js} +6 -5
- package/chunks/{chunk-AIY5UTFI.js → chunk-T3XHYGMG.js} +925 -2872
- package/chunks/{chunk-Q6OEPOOC.js → chunk-TB6GWNV4.js} +1 -1
- package/chunks/{chunk-24XYI5EI.js → chunk-TERKDCOZ.js} +3 -3
- package/chunks/chunk-TVO5C767.js +159 -0
- package/chunks/{chunk-TBAZMRW3.js → chunk-TVW53EK7.js} +1 -1
- package/chunks/chunk-TX5QZYK6.js +296 -0
- package/chunks/{chunk-JD33UY7E.js → chunk-TZRVTPJ6.js} +15 -9
- package/chunks/{chunk-65CFHNSE.js → chunk-UAFB2DNB.js} +59 -59
- package/chunks/{chunk-QAKFYMJI.js → chunk-UOXLB2LY.js} +152 -17
- package/chunks/chunk-V35MD7KN.js +13 -0
- package/chunks/{chunk-XSAFNANZ.js → chunk-VWDJHVXM.js} +12 -12
- package/chunks/{chunk-XISQIIT7.js → chunk-W77ZLCSX.js} +1 -1
- package/chunks/{chunk-BWVQN2HV.js → chunk-WTEIUA2V.js} +4 -4
- package/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
- package/chunks/{chunk-HJ3GX3Y3.js → chunk-XZVUZSDG.js} +25 -11
- package/chunks/{chunk-ADZG46HR.js → chunk-YHGCTQG3.js} +1 -1
- package/chunks/{chunk-2NPS2UDH.js → chunk-YUNPEB3Q.js} +478 -43
- package/chunks/chunk-Z3I3QJK3.js +47 -0
- package/chunks/{chunk-P7I3D7FM.js → chunk-Z466FBSA.js} +1 -1
- package/chunks/{chunk-YEGT55NW.js → chunk-ZDAZSR2O.js} +3009 -1220
- package/chunks/{chunk-VEB3NYSO.js → chunk-ZJQBTFJ6.js} +6 -1
- package/chunks/chunk-ZL5HN75Q.js +61 -0
- package/chunks/{computer-use-X4KUU3NM.js → computer-use-IW5XBECT.js} +10 -10
- package/chunks/{contextCommand-LAYJZF7H.js → contextCommand-4QPLK2SH.js} +14 -14
- package/chunks/create-sub-session-7JK3EYWA.js +212 -0
- package/chunks/create-sub-session-EVYZYAE3.js +364 -0
- package/chunks/{cron-create-JSXEIPVS.js → cron-create-2CCO2PW6.js} +2 -2
- package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-ETVTP5IV.js} +2 -2
- package/chunks/{cron-list-D4ZX4IOE.js → cron-list-FS3KWOY5.js} +2 -2
- package/chunks/{daemon-F3I2RXP6.js → daemon-NNUYIBWA.js} +461 -0
- package/chunks/{daemon-status-provider-XSAFKVDS.js → daemon-status-provider-3EPG6BXX.js} +21 -19
- package/chunks/{de-PLLFDERI.js → de-QRG6J2CM.js} +89 -5
- package/chunks/{dist-YTRKAVUB.js → dist-3EIIFOJV.js} +1 -1
- package/chunks/{dist-PKFTNUHO.js → dist-7F5GWZDZ.js} +2 -1
- package/chunks/{dist-FQ5WRJPL.js → dist-CBJ7OJ5R.js} +2 -2
- package/chunks/{dist-OT7G2WNM.js → dist-LIFJ2YAI.js} +1 -1
- package/chunks/{dist-573HNSVO.js → dist-OKXOQ63L.js} +2 -1
- package/chunks/{dist-IMFFBMAT.js → dist-SU5LY5R4.js} +3 -1
- package/chunks/{earlyInputCapture-AERYYGXE.js → earlyInputCapture-HP5XAS7A.js} +10 -10
- package/chunks/{edit-WZTZDGCI.js → edit-MDICC6KH.js} +11 -11
- package/chunks/{en-GA2RMXY5.js → en-HF3KFWZG.js} +91 -5
- package/chunks/{enter-worktree-DEPXBJEL.js → enter-worktree-JWTRNEN4.js} +10 -10
- package/chunks/{enterPlanMode-JFGXZHHJ.js → enterPlanMode-GMRZMTBQ.js} +10 -10
- package/chunks/environment-2CJAFOFN.js +88 -0
- package/chunks/{errors-GMZL4QV7.js → errors-UZOVFD2U.js} +13 -13
- package/chunks/{exit-worktree-Y7XBK3VV.js → exit-worktree-QQGEG343.js} +10 -10
- package/chunks/{exitPlanMode-WQQER65F.js → exitPlanMode-YK2JVAAB.js} +10 -10
- package/chunks/{fast-path-W2U6XDNO.js → fast-path-6SD4JNQW.js} +12 -3
- package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-RAQGCIT7.js} +3 -2
- package/chunks/{fr-GWNQG4XH.js → fr-RSCO6HHD.js} +89 -5
- package/chunks/{gemini-T4WX6SRW.js → gemini-TFQXPUZB.js} +436 -140
- package/chunks/{geminiContentGenerator-MKQACXEJ.js → geminiContentGenerator-LJ2BNXHX.js} +1 -1
- package/chunks/{glob-4KKSHZDF.js → glob-3IJ6JR5W.js} +10 -10
- package/chunks/{grep-GHRYXSLZ.js → grep-UFZ2RFQZ.js} +10 -10
- package/chunks/{handleAutoUpdate-HN7ZOSXY.js → handleAutoUpdate-TEZC5ZIR.js} +17 -13
- package/chunks/i18n-5QEODTJV.js +84 -0
- package/chunks/{initializer-SRN3IM42.js → initializer-222MPCLQ.js} +18 -16
- package/chunks/installationInfo-OZ62OHZ2.js +65 -0
- package/chunks/{ja-2HOTA47X.js → ja-RRFGG2DC.js} +89 -5
- package/chunks/{list-INTVXUPA.js → list-BN5VBIIE.js} +20 -18
- package/chunks/{loadedSettingsAdapter-QVHHQPGM.js → loadedSettingsAdapter-EHTUJRFB.js} +18 -16
- package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-SR2KWT4B.js} +3 -3
- package/chunks/{ls-L654WOAT.js → ls-RUBQK5Q2.js} +2 -2
- package/chunks/{lsp-M35KE54Y.js → lsp-DUTVY2ZA.js} +3 -5
- package/chunks/{mcp-7V4T46RG.js → mcp-OPGHD26Y.js} +18 -16
- package/chunks/{monitor-464OY2UE.js → monitor-WXBDVYYV.js} +10 -10
- package/chunks/{nonInteractiveCli-LJEEODU2.js → nonInteractiveCli-CWIBGJ4U.js} +54 -49
- package/chunks/{notebook-edit-BLJYCNDO.js → notebook-edit-T7P7M73F.js} +11 -11
- package/chunks/{openaiContentGenerator-PFF6HYB2.js → openaiContentGenerator-OES264C3.js} +7 -7
- package/chunks/{pidfile-LIBUENIV.js → pidfile-LJ3NLS2P.js} +10 -10
- package/chunks/{pt-2THT3YHA.js → pt-D4CG46JM.js} +89 -5
- package/chunks/{qwenContentGenerator-SUUHZ6CR.js → qwenContentGenerator-QJ67LAJ5.js} +12 -12
- package/chunks/{read-file-L7TBQVX7.js → read-file-KZD7TLU7.js} +5 -5
- package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-Q56IMYOH.js} +1 -1
- package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-GZ5D5HZX.js} +4 -4
- package/chunks/{ripGrep-CKKX3GRB.js → ripGrep-KUJLX75U.js} +10 -10
- package/chunks/{ru-Z67YJHBG.js → ru-O2QUEL22.js} +89 -5
- package/chunks/{run-qwen-serve-5OKADVLE.js → run-qwen-serve-M52KVRGI.js} +664 -153
- package/chunks/{scheduler-ZRW3AIDU.js → scheduler-FFATTAYZ.js} +10 -10
- package/chunks/{send-message-OA6MV4EU.js → send-message-HAGK3VTV.js} +2 -2
- package/chunks/{serve-36WS32W6.js → serve-B5S32524.js} +21 -18
- package/chunks/{server-M372UENX.js → server-6HK5FJMR.js} +3301 -665
- package/chunks/{session-F5KSNP2N.js → session-3WB76VTQ.js} +55 -50
- package/chunks/{settings-WFLNS3WT.js → settings-W3IX7NHK.js} +27 -23
- package/chunks/{shell-DEDSWN56.js → shell-HZIU2ZG7.js} +10 -10
- package/chunks/{skill-A2TL2NPC.js → skill-34OUFB65.js} +5 -5
- package/chunks/{spawnChannel-RQHUWTCL.js → spawnChannel-FTZJ3I5O.js} +12 -12
- package/chunks/{src-XKZMNHXS.js → src-NELBIIGI.js} +48 -10
- package/chunks/standalone-update-LICI2VSK.js +79 -0
- package/chunks/{startInteractiveUI-REKSTOHU.js → startInteractiveUI-LZEV5YI2.js} +2203 -1764
- package/chunks/stdioHelpers-CA7MG65Z.js +14 -0
- package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-XFFJVCGV.js} +2 -2
- package/chunks/{task-create-RPFZNB4B.js → task-create-VINUSVBF.js} +3 -3
- package/chunks/{task-list-TGGJX7EA.js → task-list-YZ2AWQEG.js} +1 -1
- package/chunks/{task-stop-W7NGTMYQ.js → task-stop-PEXPKUW3.js} +1 -1
- package/chunks/{task-update-5WUG5MVQ.js → task-update-BHIX57YH.js} +3 -3
- package/chunks/{team-create-TBQVWAG7.js → team-create-2JS2OYSF.js} +10 -10
- package/chunks/{team-delete-UHQQ2QQX.js → team-delete-2OHXSBVS.js} +1 -1
- package/chunks/{team-plan-approval-FZPGUSHJ.js → team-plan-approval-PHLGYUY7.js} +10 -10
- package/chunks/{theme-manager-DQZVNSOC.js → theme-manager-UYXLX37P.js} +10 -10
- package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-7Q4ELT4F.js} +1 -1
- package/chunks/{tool-search-FDQ3SLNJ.js → tool-search-2MWA3GWE.js} +6 -6
- package/chunks/total-session-admission-PRZK35X4.js +72 -0
- package/chunks/{trustedFolders-Z475EIHL.js → trustedFolders-IT4JBNPG.js} +12 -12
- package/chunks/{updateCheck-E2ZX7RL7.js → updateCheck-X3ZWDO3Z.js} +17 -13
- package/chunks/updateEventEmitter-NXWTRHXY.js +10 -0
- package/chunks/{validateNonInterActiveAuth-O4ECBHQL.js → validateNonInterActiveAuth-IAOL7CM3.js} +51 -45
- package/chunks/{version-CEDD6ZZR.js → version-25QF6A5H.js} +1 -1
- package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-I7FOWHGA.js} +2 -2
- package/chunks/{workflow-CQQ4J4I6.js → workflow-LZZ5U3IT.js} +11 -11
- package/chunks/{workspace-providers-status-MVYXMYDG.js → workspace-providers-status-7DTOAWEL.js} +21 -18
- package/chunks/workspace-registry-BBIPESIZ.js +76 -0
- package/chunks/{workspace-service-OMBR6ZLG.js → workspace-service-SY3P3FUY.js} +25 -23
- package/chunks/{workspace-skills-status-IMMQ7CAY.js → workspace-skills-status-GTT2A4WN.js} +20 -18
- package/chunks/{write-file-VWGY7AJP.js → write-file-M6IHNW3V.js} +11 -11
- package/chunks/{zh-7XVVRTDH.js → zh-K2EH6BDD.js} +91 -5
- package/chunks/{zh-TW-DPH554OG.js → zh-TW-4GPXJ7ZY.js} +91 -5
- package/cli.js +13 -12
- package/locales/ca.js +115 -7
- package/locales/de.js +114 -7
- package/locales/en.js +118 -7
- package/locales/fr.js +115 -7
- package/locales/ja.js +116 -6
- package/locales/pt.js +114 -7
- package/locales/ru.js +114 -7
- package/locales/zh-TW.js +114 -6
- package/locales/zh.js +114 -6
- package/package.json +3 -6
- package/web-shell/assets/{arc-C7hjaa7g.js → arc-G3HZaqaL.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-DhBrwwch.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-16JbbF0N.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-DQ3-pKgc.js} +1 -1
- package/web-shell/assets/channel-CX7ZHuuL.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-ERCn30sp.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-DTysfbFi.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-BFGrbTBi.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-DCX4Oar-.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-CgT6sBr3.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-C1Uuk1KV.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-DajgESiu.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-DLJSvy9X.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B-oT3UI8.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B-oT3UI8.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-CH3w3qs7.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-BloXan9B.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-BbZiGcmK.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-GQlYvLJv.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-CtIBvVq3.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-D5TBo9a2.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-N0gQhw6R.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-zab9vDj3.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-BnnjtWJa.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-2T0SQU4f.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-DAD6_que.js} +1 -1
- package/web-shell/assets/index-XLkWfLja.css +5 -0
- package/web-shell/assets/index-srlTR1Jg.js +786 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-C-j8d0xO.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-D97bAKoT.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-BJAHfJmm.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-CZgR5aac.js} +1 -1
- package/web-shell/assets/{linear-Bo5bWzvo.js → linear-DOd4kYhA.js} +1 -1
- package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-BBaplnXA.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-IhBF_BR5.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-B4R4sYyH.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-DKd1SJ61.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-Cw96V0Xb.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-C6ne_yWi.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-CCyp4PDp.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-DHvIqTmx.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DvFhmpwA.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-amb3n9zH.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-Abf2qRFJ.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-BBlOp1av.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-gE_sZ0Ak.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-BwOni53i.js} +1 -1
- package/web-shell/index.html +16 -4
- package/chunks/chunk-6SHO7WFF.js +0 -79
- package/chunks/chunk-IFEWJXFS.js +0 -37
- package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
- package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
- package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
- package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
- package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
- package/node_modules/@qwen-code/audio-capture/package.json +0 -30
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/web-shell/assets/channel-BNf1dW-j.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
- package/web-shell/assets/index-CnE2ur2L.js +0 -779
- package/web-shell/assets/index-hSKXrlSE.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
- /package/chunks/{chunk-Y6Z2O3WR.js → chunk-JM7BYJO5.js} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-A4BMJM77.js";
|
|
6
|
+
|
|
7
|
+
// packages/cli/src/utils/updateEventEmitter.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
import { EventEmitter } from "node:events";
|
|
10
|
+
var updateEventEmitter = new EventEmitter();
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
updateEventEmitter
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @license
|
|
17
|
+
* Copyright 2025 Google LLC
|
|
18
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
19
|
+
*/
|
|
@@ -23,19 +23,19 @@ import {
|
|
|
23
23
|
} from "./chunk-OMX7CUOE.js";
|
|
24
24
|
import {
|
|
25
25
|
isAnyAutoMemPath
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-OACJLMLD.js";
|
|
27
27
|
import {
|
|
28
28
|
InstallationManager
|
|
29
29
|
} from "./chunk-SUAKHHK7.js";
|
|
30
30
|
import {
|
|
31
31
|
STRUCTURED_OUTPUT_REDACTED_ARGS
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-NY2ZOFMM.js";
|
|
33
33
|
import {
|
|
34
34
|
BaseDeclarativeTool,
|
|
35
35
|
BaseToolInvocation,
|
|
36
36
|
ToolDisplayNames,
|
|
37
37
|
ToolNames
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-KS2FRTYI.js";
|
|
39
39
|
import {
|
|
40
40
|
atomicWriteFile,
|
|
41
41
|
atomicWriteFileSync
|
|
@@ -45,7 +45,7 @@ import {
|
|
|
45
45
|
estimateTextTokens,
|
|
46
46
|
runtimeDiagnostics,
|
|
47
47
|
safeJsonParse
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-SS5P6JM6.js";
|
|
49
49
|
import {
|
|
50
50
|
require_lib
|
|
51
51
|
} from "./chunk-IRJWHZWU.js";
|
|
@@ -52768,8 +52768,8 @@ var require_async = __commonJS({
|
|
|
52768
52768
|
cb(null, x);
|
|
52769
52769
|
}
|
|
52770
52770
|
}, "maybeRealpath");
|
|
52771
|
-
var defaultReadPackage = /* @__PURE__ */ __name(function defaultReadPackage2(
|
|
52772
|
-
|
|
52771
|
+
var defaultReadPackage = /* @__PURE__ */ __name(function defaultReadPackage2(readFile2, pkgfile, cb) {
|
|
52772
|
+
readFile2(pkgfile, function(readFileErr, body) {
|
|
52773
52773
|
if (readFileErr) cb(readFileErr);
|
|
52774
52774
|
else {
|
|
52775
52775
|
try {
|
|
@@ -52804,7 +52804,7 @@ var require_async = __commonJS({
|
|
|
52804
52804
|
opts = normalizeOptions(x, opts);
|
|
52805
52805
|
var isFile = opts.isFile || defaultIsFile;
|
|
52806
52806
|
var isDirectory = opts.isDirectory || defaultIsDir;
|
|
52807
|
-
var
|
|
52807
|
+
var readFile2 = opts.readFile || fs9.readFile;
|
|
52808
52808
|
var realpath = opts.realpath || defaultRealpath;
|
|
52809
52809
|
var readPackage = opts.readPackage || defaultReadPackage;
|
|
52810
52810
|
if (opts.readFile && opts.readPackage) {
|
|
@@ -52930,7 +52930,7 @@ var require_async = __commonJS({
|
|
|
52930
52930
|
var pkgfile = path11.join(pkgdir, "package.json");
|
|
52931
52931
|
isFile(pkgfile, function(err2, ex) {
|
|
52932
52932
|
if (!ex) return loadpkg(path11.dirname(dir), cb2);
|
|
52933
|
-
readPackage(
|
|
52933
|
+
readPackage(readFile2, pkgfile, function(err3, pkgParam) {
|
|
52934
52934
|
if (err3) cb2(err3);
|
|
52935
52935
|
var pkg = pkgParam;
|
|
52936
52936
|
if (pkg && opts.packageFilter) {
|
|
@@ -52955,7 +52955,7 @@ var require_async = __commonJS({
|
|
|
52955
52955
|
isFile(pkgfile, function(err2, ex) {
|
|
52956
52956
|
if (err2) return cb2(err2);
|
|
52957
52957
|
if (!ex) return loadAsFile(path11.join(x2, "index"), fpkg, cb2);
|
|
52958
|
-
readPackage(
|
|
52958
|
+
readPackage(readFile2, pkgfile, function(err3, pkgParam) {
|
|
52959
52959
|
if (err3) return cb2(err3);
|
|
52960
52960
|
var pkg = pkgParam;
|
|
52961
52961
|
if (pkg && opts.packageFilter) {
|
|
@@ -59215,6 +59215,9 @@ __name(detectEncodingFromBuffer, "detectEncodingFromBuffer");
|
|
|
59215
59215
|
// packages/core/src/utils/pdf.ts
|
|
59216
59216
|
init_esbuild_shims();
|
|
59217
59217
|
import { execFile } from "node:child_process";
|
|
59218
|
+
import { mkdtemp, readdir, readFile, rm } from "node:fs/promises";
|
|
59219
|
+
import { tmpdir } from "node:os";
|
|
59220
|
+
import { join } from "node:path";
|
|
59218
59221
|
var MAX_PDF_TEXT_OUTPUT_CHARS = 1e5;
|
|
59219
59222
|
var PDF_FULL_TEXT_PAGE_LIMIT = 10;
|
|
59220
59223
|
var PDF_MAX_PAGES_PER_READ = 20;
|
|
@@ -59223,6 +59226,10 @@ var PDF_TEXT_RESULT_MAX_TOKENS = 12e3;
|
|
|
59223
59226
|
var PDF_TEXT_RESULT_WRAPPER_TOKEN_CHARS = 64;
|
|
59224
59227
|
var PDF_TEXT_RESULT_CHARS_PER_TOKEN = 4;
|
|
59225
59228
|
var PDF_TEXT_EXTRACTION_UNAVAILABLE_MESSAGE = "pdftotext is not installed. Install poppler-utils to enable PDF text extraction (e.g. `apt-get install poppler-utils` or `brew install poppler`).";
|
|
59229
|
+
var PDF_RENDER_UNAVAILABLE_MESSAGE = "pdftoppm is not installed. Install poppler-utils to enable PDF page rendering (e.g. `apt-get install poppler-utils` or `brew install poppler`).";
|
|
59230
|
+
var PDF_RENDER_SCALE_TO_PX = 1600;
|
|
59231
|
+
var PDF_RENDER_MAX_TOTAL_BASE64_BYTES = 25 * 1024 * 1024;
|
|
59232
|
+
var PDF_RENDER_TIMEOUT_MS = 12e4;
|
|
59226
59233
|
var MAX_PDF_PAGE_NUMBER = 1e6;
|
|
59227
59234
|
function shouldRequirePDFPageRange(pageCount, sizeBytes) {
|
|
59228
59235
|
const hadPdfInfo = pageCount !== null;
|
|
@@ -59447,6 +59454,125 @@ async function extractPDFText(filePath, options) {
|
|
|
59447
59454
|
}
|
|
59448
59455
|
}
|
|
59449
59456
|
__name(extractPDFText, "extractPDFText");
|
|
59457
|
+
var pdftoppmAvailable;
|
|
59458
|
+
var pdftoppmAvailablePromise;
|
|
59459
|
+
async function isPdftoppmAvailable() {
|
|
59460
|
+
if (pdftoppmAvailable !== void 0) return pdftoppmAvailable;
|
|
59461
|
+
if (pdftoppmAvailablePromise) return pdftoppmAvailablePromise;
|
|
59462
|
+
pdftoppmAvailablePromise = (async () => {
|
|
59463
|
+
try {
|
|
59464
|
+
const { code } = await execCommand("pdftoppm", ["-v"], {
|
|
59465
|
+
timeout: 5e3
|
|
59466
|
+
});
|
|
59467
|
+
return code === 0;
|
|
59468
|
+
} catch {
|
|
59469
|
+
return false;
|
|
59470
|
+
}
|
|
59471
|
+
})().then((result) => {
|
|
59472
|
+
pdftoppmAvailable = result;
|
|
59473
|
+
return result;
|
|
59474
|
+
}).finally(() => {
|
|
59475
|
+
pdftoppmAvailablePromise = void 0;
|
|
59476
|
+
});
|
|
59477
|
+
return pdftoppmAvailablePromise;
|
|
59478
|
+
}
|
|
59479
|
+
__name(isPdftoppmAvailable, "isPdftoppmAvailable");
|
|
59480
|
+
function comparePdfPageFilenames(a, b) {
|
|
59481
|
+
const pageNumber = /* @__PURE__ */ __name((name) => {
|
|
59482
|
+
const match = /(\d+)\.jpg$/i.exec(name);
|
|
59483
|
+
return match ? parseInt(match[1], 10) : 0;
|
|
59484
|
+
}, "pageNumber");
|
|
59485
|
+
return pageNumber(a) - pageNumber(b);
|
|
59486
|
+
}
|
|
59487
|
+
__name(comparePdfPageFilenames, "comparePdfPageFilenames");
|
|
59488
|
+
async function renderPDFPagesToImages(filePath, options) {
|
|
59489
|
+
const available = await isPdftoppmAvailable();
|
|
59490
|
+
if (!available) {
|
|
59491
|
+
return { success: false, error: PDF_RENDER_UNAVAILABLE_MESSAGE };
|
|
59492
|
+
}
|
|
59493
|
+
let tempDir;
|
|
59494
|
+
try {
|
|
59495
|
+
tempDir = await mkdtemp(join(tmpdir(), "pdf-render-"));
|
|
59496
|
+
const outputPrefix = join(tempDir, "page");
|
|
59497
|
+
const args = [
|
|
59498
|
+
"-jpeg",
|
|
59499
|
+
"-scale-to",
|
|
59500
|
+
String(PDF_RENDER_SCALE_TO_PX)
|
|
59501
|
+
];
|
|
59502
|
+
if (options?.firstPage) {
|
|
59503
|
+
args.push("-f", String(options.firstPage));
|
|
59504
|
+
}
|
|
59505
|
+
if (options?.lastPage && options.lastPage !== Infinity) {
|
|
59506
|
+
args.push("-l", String(options.lastPage));
|
|
59507
|
+
}
|
|
59508
|
+
args.push("--", filePath, outputPrefix);
|
|
59509
|
+
const { stderr, code, timedOut } = await execCommand("pdftoppm", args, {
|
|
59510
|
+
timeout: PDF_RENDER_TIMEOUT_MS
|
|
59511
|
+
});
|
|
59512
|
+
if (timedOut) {
|
|
59513
|
+
return {
|
|
59514
|
+
success: false,
|
|
59515
|
+
error: `pdftoppm timed out after ${Math.round(
|
|
59516
|
+
PDF_RENDER_TIMEOUT_MS / 1e3
|
|
59517
|
+
)}s. The PDF may be unusually large or complex; try the 'pages' parameter to narrow the range.`
|
|
59518
|
+
};
|
|
59519
|
+
}
|
|
59520
|
+
if (code !== 0) {
|
|
59521
|
+
if (/password/i.test(stderr)) {
|
|
59522
|
+
return {
|
|
59523
|
+
success: false,
|
|
59524
|
+
error: "PDF is password-protected. Please provide an unprotected version."
|
|
59525
|
+
};
|
|
59526
|
+
}
|
|
59527
|
+
if (/damaged|corrupt|invalid/i.test(stderr)) {
|
|
59528
|
+
return { success: false, error: "PDF file is corrupted or invalid." };
|
|
59529
|
+
}
|
|
59530
|
+
return {
|
|
59531
|
+
success: false,
|
|
59532
|
+
error: `pdftoppm failed: ${stderr || "(no stderr)"}`
|
|
59533
|
+
};
|
|
59534
|
+
}
|
|
59535
|
+
const entries = (await readdir(tempDir)).filter((name) => name.toLowerCase().endsWith(".jpg")).sort(comparePdfPageFilenames);
|
|
59536
|
+
if (entries.length === 0) {
|
|
59537
|
+
return {
|
|
59538
|
+
success: false,
|
|
59539
|
+
error: "pdftoppm produced no image output. The PDF may be empty or the page range may be out of bounds."
|
|
59540
|
+
};
|
|
59541
|
+
}
|
|
59542
|
+
const images = [];
|
|
59543
|
+
let totalBytes = 0;
|
|
59544
|
+
let bytesTruncated = false;
|
|
59545
|
+
for (const name of entries) {
|
|
59546
|
+
const buffer = await readFile(join(tempDir, name));
|
|
59547
|
+
const data = buffer.toString("base64");
|
|
59548
|
+
if (images.length > 0 && totalBytes + data.length > PDF_RENDER_MAX_TOTAL_BASE64_BYTES) {
|
|
59549
|
+
bytesTruncated = true;
|
|
59550
|
+
break;
|
|
59551
|
+
}
|
|
59552
|
+
totalBytes += data.length;
|
|
59553
|
+
images.push({ data, mimeType: "image/jpeg" });
|
|
59554
|
+
}
|
|
59555
|
+
return { success: true, images, bytesTruncated };
|
|
59556
|
+
} catch (e) {
|
|
59557
|
+
return {
|
|
59558
|
+
success: false,
|
|
59559
|
+
error: `pdftoppm execution failed: ${e instanceof Error ? e.message : String(e)}`
|
|
59560
|
+
};
|
|
59561
|
+
} finally {
|
|
59562
|
+
if (tempDir) {
|
|
59563
|
+
await rm(tempDir, { recursive: true, force: true }).catch(() => {
|
|
59564
|
+
});
|
|
59565
|
+
}
|
|
59566
|
+
}
|
|
59567
|
+
}
|
|
59568
|
+
__name(renderPDFPagesToImages, "renderPDFPagesToImages");
|
|
59569
|
+
|
|
59570
|
+
// packages/core/src/services/visionBridge/vision-bridge-constants.ts
|
|
59571
|
+
init_esbuild_shims();
|
|
59572
|
+
var VISION_BRIDGE_MAX_IMAGES = 4;
|
|
59573
|
+
var VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES = Math.floor(
|
|
59574
|
+
9.9 * 1024 * 1024
|
|
59575
|
+
);
|
|
59450
59576
|
|
|
59451
59577
|
// packages/core/src/utils/notebook.ts
|
|
59452
59578
|
init_esbuild_shims();
|
|
@@ -60494,6 +60620,8 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
|
|
|
60494
60620
|
const relativePathForDisplay = path2.relative(rootDirectory, filePath).replace(/\\/g, "/");
|
|
60495
60621
|
const displayName = path2.basename(filePath);
|
|
60496
60622
|
const modalities = config.getContentGeneratorConfig?.()?.modalities ?? {};
|
|
60623
|
+
const willRenderPdfImages = fileType === "pdf" && !!modalities.image && largePdfBehavior !== "reference";
|
|
60624
|
+
const renderForBridge = fileType === "pdf" && !modalities.image && preserveUnsupportedImage;
|
|
60497
60625
|
const fileSizeInMB = stats.size / (1024 * 1024);
|
|
60498
60626
|
const normalizedPages = pages?.trim();
|
|
60499
60627
|
let pageRange;
|
|
@@ -60545,10 +60673,11 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
|
|
|
60545
60673
|
if (willExtractPdfText && !pageRange) {
|
|
60546
60674
|
const pageCount = await getPDFPageCount(filePath);
|
|
60547
60675
|
const requirement = shouldRequirePDFPageRange(pageCount, stats.size);
|
|
60676
|
+
const rangeRequired = willRenderPdfImages ? requirement.effectivePageCount > PDF_MAX_PAGES_PER_READ : requirement.required;
|
|
60548
60677
|
debugLogger2.debug(
|
|
60549
|
-
`PDF full-text fallback gate: file=${relativePathForDisplay}, sizeMB=${fileSizeInMB.toFixed(2)}, pageCount=${pageCount ?? "unknown"}, required=${requirement.required}, effectivePageCount=${requirement.effectivePageCount}, hadPdfInfo=${requirement.hadPdfInfo}, behavior=${largePdfBehavior}`
|
|
60678
|
+
`PDF full-text fallback gate: file=${relativePathForDisplay}, sizeMB=${fileSizeInMB.toFixed(2)}, pageCount=${pageCount ?? "unknown"}, required=${requirement.required}, rangeRequired=${rangeRequired}, effectivePageCount=${requirement.effectivePageCount}, hadPdfInfo=${requirement.hadPdfInfo}, behavior=${largePdfBehavior}`
|
|
60550
60679
|
);
|
|
60551
|
-
if (
|
|
60680
|
+
if (rangeRequired) {
|
|
60552
60681
|
if (largePdfBehavior === "error" && !await isPdftotextAvailable()) {
|
|
60553
60682
|
return {
|
|
60554
60683
|
llmContent: `[Cannot extract text from PDF: "${displayName}". ${PDF_TEXT_EXTRACTION_UNAVAILABLE_MESSAGE}]`,
|
|
@@ -60755,34 +60884,95 @@ async function processSingleFileContent(filePath, config, optionsOrOffset, legac
|
|
|
60755
60884
|
const pdfResult = await extractPDFText(filePath, pageRange);
|
|
60756
60885
|
if (pdfResult.success) {
|
|
60757
60886
|
const estimatedTokens = estimatePDFTextOutputTokens(pdfResult.text);
|
|
60758
|
-
if (estimatedTokens
|
|
60759
|
-
|
|
60760
|
-
|
|
60761
|
-
|
|
60762
|
-
|
|
60763
|
-
|
|
60764
|
-
|
|
60765
|
-
|
|
60766
|
-
|
|
60767
|
-
|
|
60768
|
-
|
|
60769
|
-
|
|
60770
|
-
|
|
60771
|
-
|
|
60772
|
-
|
|
60887
|
+
if (estimatedTokens <= PDF_TEXT_RESULT_MAX_TOKENS) {
|
|
60888
|
+
const pagesLabel = normalizedPages ? ` (pages ${normalizedPages})` : "";
|
|
60889
|
+
return {
|
|
60890
|
+
llmContent: pdfResult.text,
|
|
60891
|
+
returnDisplay: `Read pdf as text${pagesLabel}: ${relativePathForDisplay}`,
|
|
60892
|
+
stats
|
|
60893
|
+
};
|
|
60894
|
+
}
|
|
60895
|
+
}
|
|
60896
|
+
const toImageParts = /* @__PURE__ */ __name((images, startPage) => images.map((image, index) => ({
|
|
60897
|
+
inlineData: {
|
|
60898
|
+
data: image.data,
|
|
60899
|
+
mimeType: image.mimeType,
|
|
60900
|
+
displayName: `${displayName} (page ${startPage + index})`
|
|
60901
|
+
}
|
|
60902
|
+
})), "toImageParts");
|
|
60903
|
+
if (willRenderPdfImages) {
|
|
60904
|
+
const startPage = pageRange?.firstPage ?? 1;
|
|
60905
|
+
const render = await renderPDFPagesToImages(
|
|
60906
|
+
filePath,
|
|
60907
|
+
pageRange ?? { firstPage: 1, lastPage: PDF_MAX_PAGES_PER_READ }
|
|
60908
|
+
);
|
|
60909
|
+
if (render.success) {
|
|
60910
|
+
const parts = toImageParts(render.images, startPage);
|
|
60911
|
+
if (render.bytesTruncated) {
|
|
60912
|
+
parts.push({
|
|
60913
|
+
text: `[Rendered the first ${render.images.length} page(s) of "${displayName}"; later pages were omitted to stay within size limits. Use the 'pages' parameter to read a specific range.]`
|
|
60914
|
+
});
|
|
60915
|
+
} else if (!pageRange && render.images.length >= PDF_MAX_PAGES_PER_READ) {
|
|
60916
|
+
parts.push({
|
|
60917
|
+
text: `[Rendered the first ${render.images.length} page(s) (the per-read maximum) of "${displayName}". If the document has more pages, use the 'pages' parameter to read a later range.]`
|
|
60918
|
+
});
|
|
60919
|
+
}
|
|
60920
|
+
return {
|
|
60921
|
+
llmContent: parts,
|
|
60922
|
+
returnDisplay: `Read pdf as ${render.images.length} image(s): ${relativePathForDisplay}`,
|
|
60923
|
+
stats
|
|
60924
|
+
};
|
|
60925
|
+
}
|
|
60926
|
+
debugLogger2.debug(
|
|
60927
|
+
`PDF image render failed, falling back to text outcome: file=${relativePathForDisplay}, error=${render.error}`
|
|
60928
|
+
);
|
|
60929
|
+
}
|
|
60930
|
+
if (renderForBridge && pdfResult.success === false) {
|
|
60931
|
+
const render = await renderPDFPagesToImages(filePath, {
|
|
60932
|
+
firstPage: 1,
|
|
60933
|
+
lastPage: VISION_BRIDGE_MAX_IMAGES
|
|
60934
|
+
});
|
|
60935
|
+
if (render.success) {
|
|
60936
|
+
const parts = toImageParts(render.images, 1);
|
|
60937
|
+
const pageCount = await getPDFPageCount(filePath);
|
|
60938
|
+
const mayHaveMore = pageCount !== null ? pageCount > render.images.length : render.images.length >= VISION_BRIDGE_MAX_IMAGES;
|
|
60939
|
+
if (mayHaveMore || render.bytesTruncated) {
|
|
60940
|
+
const total = pageCount !== null ? ` of ${pageCount}` : "";
|
|
60941
|
+
parts.push({
|
|
60942
|
+
text: `[Rendered the first ${render.images.length}${total} page(s) of "${displayName}" for transcription; later pages were not included.]`
|
|
60943
|
+
});
|
|
60773
60944
|
}
|
|
60945
|
+
return {
|
|
60946
|
+
llmContent: parts,
|
|
60947
|
+
returnDisplay: `Rendered ${render.images.length} page(s) for transcription: ${relativePathForDisplay}`,
|
|
60948
|
+
stats
|
|
60949
|
+
};
|
|
60950
|
+
}
|
|
60951
|
+
debugLogger2.debug(
|
|
60952
|
+
`PDF bridge render failed, falling back to text outcome: file=${relativePathForDisplay}, error=${render.error}`
|
|
60953
|
+
);
|
|
60954
|
+
}
|
|
60955
|
+
if (pdfResult.success) {
|
|
60956
|
+
const guidance = buildPDFTextTooLargeGuidance(
|
|
60957
|
+
displayName,
|
|
60958
|
+
estimatePDFTextOutputTokens(pdfResult.text),
|
|
60959
|
+
normalizedPages
|
|
60960
|
+
);
|
|
60961
|
+
debugLogger2.debug(
|
|
60962
|
+
`PDF text extraction output exceeds token limit: file=${relativePathForDisplay}, pages=${normalizedPages ?? "all"}, limit=${PDF_TEXT_RESULT_MAX_TOKENS}`
|
|
60963
|
+
);
|
|
60964
|
+
if (!pageRange && largePdfBehavior === "reference") {
|
|
60774
60965
|
return {
|
|
60775
60966
|
llmContent: guidance,
|
|
60776
|
-
returnDisplay: `
|
|
60777
|
-
error: guidance,
|
|
60778
|
-
errorType: "file_too_large" /* FILE_TOO_LARGE */,
|
|
60967
|
+
returnDisplay: `Referenced large PDF: ${relativePathForDisplay}`,
|
|
60779
60968
|
stats
|
|
60780
60969
|
};
|
|
60781
60970
|
}
|
|
60782
|
-
const pagesLabel = normalizedPages ? ` (pages ${normalizedPages})` : "";
|
|
60783
60971
|
return {
|
|
60784
|
-
llmContent:
|
|
60785
|
-
returnDisplay: `
|
|
60972
|
+
llmContent: guidance,
|
|
60973
|
+
returnDisplay: `PDF text too large: ${relativePathForDisplay}`,
|
|
60974
|
+
error: guidance,
|
|
60975
|
+
errorType: "file_too_large" /* FILE_TOO_LARGE */,
|
|
60786
60976
|
stats
|
|
60787
60977
|
};
|
|
60788
60978
|
}
|
|
@@ -69870,11 +70060,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
69870
70060
|
let baseGenerator;
|
|
69871
70061
|
try {
|
|
69872
70062
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
69873
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
70063
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-OES264C3.js");
|
|
69874
70064
|
baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
|
|
69875
70065
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
69876
70066
|
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-ZV7YLMND.js");
|
|
69877
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
70067
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-QJ67LAJ5.js");
|
|
69878
70068
|
try {
|
|
69879
70069
|
const qwenClient = await getQwenOauthClient(
|
|
69880
70070
|
config,
|
|
@@ -69892,10 +70082,10 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
69892
70082
|
throw new Error(error instanceof Error ? error.message : String(error));
|
|
69893
70083
|
}
|
|
69894
70084
|
} else if (authType === "anthropic" /* USE_ANTHROPIC */) {
|
|
69895
|
-
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-
|
|
70085
|
+
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-55REPTTF.js");
|
|
69896
70086
|
baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
|
|
69897
70087
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
69898
|
-
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-
|
|
70088
|
+
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-LJ2BNXHX.js");
|
|
69899
70089
|
baseGenerator = createGeminiContentGenerator(generatorConfig, config);
|
|
69900
70090
|
} else {
|
|
69901
70091
|
throw new Error(
|
|
@@ -72663,6 +72853,8 @@ var ReadFileTool = class _ReadFileTool extends BaseDeclarativeTool {
|
|
|
72663
72853
|
};
|
|
72664
72854
|
|
|
72665
72855
|
export {
|
|
72856
|
+
VISION_BRIDGE_MAX_IMAGES,
|
|
72857
|
+
VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES,
|
|
72666
72858
|
EVENT_TOOL_CALL,
|
|
72667
72859
|
EVENT_API_ERROR,
|
|
72668
72860
|
EVENT_API_RESPONSE,
|