@qwen-code/qwen-code 0.19.2 → 0.19.3-nightly.20260630.e00fe6a27
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/extension-creator/SKILL.md +357 -0
- package/bundled/loop/SKILL.md +21 -7
- package/bundled/loop/SKILL.test.ts +41 -0
- package/bundled/loop/loop-task-file.test.ts +1064 -0
- package/bundled/loop/loop-task-file.ts +404 -0
- package/bundled/loop/loop-tick-resolver.test.ts +665 -0
- package/bundled/loop/loop-tick-resolver.ts +347 -0
- package/bundled/qc-helper/SKILL.md +26 -19
- package/bundled/qc-helper/docs/configuration/auth.md +11 -11
- package/bundled/qc-helper/docs/configuration/model-providers.md +13 -13
- package/bundled/qc-helper/docs/configuration/settings.md +76 -75
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
- package/bundled/qc-helper/docs/features/commands.md +108 -77
- package/bundled/qc-helper/docs/features/hooks.md +6 -1
- package/bundled/qc-helper/docs/features/memory.md +52 -0
- package/bundled/qc-helper/docs/qwen-serve.md +24 -2
- package/bundled/qc-helper/docs/support/tos-privacy.md +16 -3
- package/bundled/qc-helper/docs/support/troubleshooting.md +6 -0
- package/chunks/{MaxSizedBox-7RERNLFK.js → MaxSizedBox-T5X5MN5Q.js} +29 -27
- package/chunks/{StandaloneSessionPicker-S22XBSN6.js → StandaloneSessionPicker-P3E3WTOQ.js} +42 -37
- package/chunks/{acpAgent-4MCETHF2.js → acpAgent-QEP6DXFW.js} +864 -175
- package/chunks/{agent-K3ENVYSB.js → agent-UDANDUF7.js} +24 -23
- package/chunks/{agent-headless-HO3V3A3A.js → agent-headless-KYVSZHSO.js} +24 -23
- package/chunks/{anthropicContentGenerator-E3TQ5XJJ.js → anthropicContentGenerator-KWSJAQ7B.js} +33 -12
- package/chunks/{artifact-tool-QA4KRO3B.js → artifact-tool-D2X7G3C3.js} +2 -2
- package/chunks/{askUserQuestion-HMWXW6VN.js → askUserQuestion-UGETICJQ.js} +2 -2
- package/chunks/{bridge-4LV2HBH2.js → bridge-X42LXPTA.js} +31 -30
- package/chunks/{ca-7WC7ELX6.js → ca-IUFWESZL.js} +1 -0
- package/chunks/{chunk-JXQ23SNT.js → chunk-2JKEQWDZ.js} +623 -78
- package/chunks/{chunk-2TJ3YN6Q.js → chunk-2RJA6J57.js} +416 -401
- package/chunks/{chunk-3UALQ56H.js → chunk-3227DZO4.js} +1 -1
- package/chunks/{chunk-BGUDAULQ.js → chunk-3CPCDXFR.js} +5 -5
- package/chunks/{chunk-5RVSM6NW.js → chunk-3HUHAQF3.js} +1 -1
- package/chunks/{chunk-D5E5TMYH.js → chunk-3M4W4U5G.js} +16 -2
- package/chunks/{chunk-DBZUXSSV.js → chunk-4X7NIEQJ.js} +3 -3
- package/chunks/chunk-5GOVVXEV.js +73 -0
- package/chunks/{chunk-2BAQ3ACS.js → chunk-5SM4VT6V.js} +405 -5
- package/chunks/{chunk-NYOHZYHM.js → chunk-5XQ4A26L.js} +45 -3
- package/chunks/{chunk-CI5O6SQL.js → chunk-6FKEVYCD.js} +4 -4
- package/chunks/{chunk-ZD3NW5KL.js → chunk-7LM4XHPE.js} +63 -9
- package/chunks/chunk-7UNP2XM7.js +840 -0
- package/chunks/{chunk-OQHQHJRK.js → chunk-ARYCHZ4B.js} +151 -4775
- package/chunks/chunk-BC3C4F3Q.js +40 -0
- package/chunks/{chunk-CGEGHF2C.js → chunk-BKXBARJZ.js} +1 -1
- package/chunks/chunk-BMFMJINR.js +45 -0
- package/chunks/chunk-BOJWHRMX.js +11273 -0
- package/chunks/{chunk-CGOMICBE.js → chunk-BSZEQNUA.js} +34 -1
- package/chunks/{chunk-OIC6S73E.js → chunk-BUUQ5HPX.js} +1 -1
- package/chunks/{chunk-2BIF2NVV.js → chunk-BVSVIN45.js} +2 -2
- package/chunks/{chunk-TOEGRAVX.js → chunk-BX5YO7UW.js} +17 -5
- package/chunks/{chunk-4W4T77MO.js → chunk-BXVWV4GI.js} +109 -6
- package/chunks/{chunk-VQRYPFCV.js → chunk-CYHVPQYT.js} +10 -460
- package/chunks/{chunk-PRYMDRBV.js → chunk-DDMOU62Q.js} +1 -1
- package/chunks/{chunk-S566HKUS.js → chunk-DHXWNSJA.js} +15 -1
- package/chunks/{chunk-F6XNTYNE.js → chunk-E6XQPQXW.js} +30 -307
- package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
- package/chunks/{chunk-EL5IHQON.js → chunk-EWYQFWYF.js} +6 -27
- package/chunks/{chunk-HG6YKEBI.js → chunk-F2DOT6UZ.js} +161 -30
- package/chunks/{chunk-JTYRZODB.js → chunk-FOOIZCWL.js} +16 -7
- package/chunks/{chunk-EX4W6ZYG.js → chunk-G5G4TFZ7.js} +1 -1
- package/chunks/{chunk-EW6C27XX.js → chunk-GEHVIWAT.js} +9 -3
- package/chunks/chunk-HEVBZSXG.js +4923 -0
- package/chunks/chunk-HFQ2XSE7.js +690 -0
- package/chunks/{chunk-PF523XJX.js → chunk-HPGTGMP3.js} +1 -1
- package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
- package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
- package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
- package/chunks/{chunk-TZM5JIAX.js → chunk-JYPQTRA3.js} +10 -7
- package/chunks/chunk-K5XU6E4T.js +167 -0
- package/chunks/{chunk-BS64PXY3.js → chunk-KFVU7ODN.js} +1 -1
- package/chunks/{chunk-3RJ3ZPPR.js → chunk-KKQWC6WS.js} +7 -7
- package/chunks/{chunk-3QFE4OTE.js → chunk-LBW7NW7X.js} +4 -4
- package/chunks/{chunk-Z7XXFPGP.js → chunk-LDWTYE33.js} +1 -1
- package/chunks/{chunk-EXMX5YHG.js → chunk-LP5E4YIH.js} +1 -1
- package/chunks/{chunk-ZUAXI2OA.js → chunk-M2U5NM24.js} +188 -11366
- package/chunks/{chunk-I5T6PIBQ.js → chunk-MBV2CTRL.js} +1010 -925
- package/chunks/{chunk-5JZLXFPD.js → chunk-MTHMXSNT.js} +11 -11
- package/chunks/{chunk-FPACXT7T.js → chunk-MTJVHQDP.js} +534 -164
- package/chunks/chunk-NDOC6M5S.js +481 -0
- package/chunks/{chunk-HGNSRCRB.js → chunk-NL4C3H6C.js} +1 -1
- package/chunks/{chunk-GZCJS5WH.js → chunk-O2VBQ3Y2.js} +2 -2
- package/chunks/{chunk-UN3C6GOR.js → chunk-PPFWEV7G.js} +10 -108
- package/chunks/{chunk-RS4HRC75.js → chunk-QI2CFVRF.js} +85 -8
- package/chunks/{chunk-XU5P23GN.js → chunk-QLDPRILK.js} +3 -3
- package/chunks/chunk-QYUE6W3T.js +123 -0
- package/chunks/{chunk-USGMPVOY.js → chunk-R3LHDWF2.js} +21 -12
- package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
- package/chunks/{chunk-PXFFKNCO.js → chunk-RIP623NO.js} +4877 -2469
- package/chunks/{chunk-XKBP7M7A.js → chunk-RYBSUGOR.js} +142 -30
- package/chunks/{chunk-BG4BIP7F.js → chunk-SBBN4BWR.js} +4 -2
- package/chunks/{chunk-T2VDEFUU.js → chunk-SKQZZVAV.js} +2 -2
- package/chunks/{chunk-5R4SBCX6.js → chunk-SL5MOGQH.js} +3 -3
- package/chunks/chunk-SMXULRAN.js +37 -0
- package/chunks/{chunk-WA5OJGFL.js → chunk-SS6WJMQK.js} +363 -76
- package/chunks/{chunk-UAARVVBI.js → chunk-TNWFHGN6.js} +1 -1
- package/chunks/{chunk-I2RFAW6Q.js → chunk-TT6Q3EN4.js} +7 -5
- package/chunks/chunk-UAKXW3DN.js +30 -0
- package/chunks/{chunk-C4K3FEQ2.js → chunk-UX4SGCGN.js} +32 -3
- package/chunks/{chunk-J6AW7O5D.js → chunk-WHDQZHRU.js} +2 -2
- package/chunks/{chunk-WGAEWQTF.js → chunk-WN6K47NR.js} +1 -2
- package/chunks/{chunk-UAARJR2G.js → chunk-WQT5SOI6.js} +2 -2
- package/chunks/{chunk-VYFMN7C6.js → chunk-WUMVIRTN.js} +225 -37
- package/chunks/{chunk-R36VMVEP.js → chunk-XJMKOTVV.js} +5 -5
- package/chunks/{chunk-TXVGVZYR.js → chunk-XJYUPHRC.js} +3 -3
- package/chunks/{chunk-2JD55C6G.js → chunk-Y6YMRS3U.js} +2 -2
- package/chunks/{chunk-LLFFKXZZ.js → chunk-YALKC62D.js} +56 -29
- package/chunks/{chunk-GYZQA2FO.js → chunk-YLZJCUH6.js} +1 -1
- package/chunks/chunk-YTFBURQD.js +313 -0
- package/chunks/{chunk-KBXLIVWQ.js → chunk-ZFPRYHWR.js} +2 -2
- package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
- package/chunks/{computer-use-6BBRNT6S.js → computer-use-LF2S6LUZ.js} +103 -49
- package/chunks/{contextCommand-UJAJ6N57.js → contextCommand-VPX5UG55.js} +26 -25
- package/chunks/{cron-create-4KQE6YLH.js → cron-create-SKEY55RG.js} +4 -4
- package/chunks/{cron-delete-THME66UP.js → cron-delete-I3NAT32Z.js} +6 -6
- package/chunks/{cron-list-7A54SJ5N.js → cron-list-6XRRL6TH.js} +5 -5
- package/chunks/{daemon-status-provider-CSL3BUOY.js → daemon-status-provider-5JAWZS4V.js} +34 -34
- package/chunks/{de-ACHALDED.js → de-EOW5PVHF.js} +1 -0
- package/chunks/{dist-BD27IA3L.js → dist-4FCNM6KJ.js} +2 -2
- package/chunks/{dist-OD2FY543.js → dist-O3H4PABL.js} +2 -2
- package/chunks/{dist-BOOH5JWN.js → dist-SCAAUWPS.js} +18 -4
- package/chunks/{dist-QHJRBCMP.js → dist-UKPWQJCL.js} +44 -2
- package/chunks/{dist-QFFZWACU.js → dist-VD7HXTML.js} +20 -9
- package/chunks/{earlyInputCapture-X6KMCSHD.js → earlyInputCapture-7FRQMU4P.js} +25 -24
- package/chunks/{edit-7J6WXARF.js → edit-REKJDIRL.js} +68 -27
- package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
- package/chunks/{enter-worktree-KULCKJPJ.js → enter-worktree-GBKUDCD3.js} +24 -23
- package/chunks/{enterPlanMode-H2CIOLMH.js → enterPlanMode-WB3Y4FGT.js} +24 -23
- package/chunks/{errors-6G2JYR54.js → errors-2XJDYO3M.js} +26 -25
- package/chunks/{exit-worktree-ECBWBVC5.js → exit-worktree-KKC7O2ZV.js} +24 -23
- package/chunks/{exitPlanMode-DQV56GTW.js → exitPlanMode-7HMS3TF7.js} +24 -23
- package/chunks/{fast-path-35JJFS3C.js → fast-path-XVNIYWGG.js} +4 -4
- package/chunks/{fast-path-settings-TSVI53EB.js → fast-path-settings-UQLRFDQP.js} +3 -2
- package/chunks/{fr-GVKZ27MF.js → fr-BN5NKSAC.js} +1 -0
- package/chunks/{gemini-NDTG7WAX.js → gemini-U5TPU3IQ.js} +210 -104
- package/chunks/{geminiContentGenerator-XTG6SFLA.js → geminiContentGenerator-ZVWRHXOO.js} +4 -4
- package/chunks/{glob-SJ2JBZK4.js → glob-FEJWIH2W.js} +24 -23
- package/chunks/{grep-BRMWFEWR.js → grep-KMP25IIA.js} +24 -23
- package/chunks/{headlessSafetyWarnings-LJ6FJX77.js → headlessSafetyWarnings-5DEDET4M.js} +24 -23
- package/chunks/{initializer-P5AXF7PV.js → initializer-FJTACLOH.js} +31 -28
- package/chunks/{ja-FKZ2WZ4D.js → ja-7DEUB2TS.js} +1 -0
- package/chunks/{keychain-token-storage-CSYMNRPP.js → keychain-token-storage-YLMDLKXT.js} +2 -2
- package/chunks/{list-6COK34BP.js → list-SCQXYJUW.js} +32 -29
- package/chunks/{loadedSettingsAdapter-XIUTN245.js → loadedSettingsAdapter-P6KPNAG7.js} +30 -27
- package/chunks/{loop-wakeup-33GPXJLA.js → loop-wakeup-FYEQEJUA.js} +7 -7
- package/chunks/{ls-BYQY7RVV.js → ls-R5WP4BGZ.js} +4 -4
- package/chunks/{lsp-X54RO4IV.js → lsp-GSICJMMW.js} +2 -2
- package/chunks/{monitor-DH7KFSJV.js → monitor-JU3HHHVY.js} +24 -23
- package/chunks/nonInteractiveCli-IZEKUHU3.js +100 -0
- package/chunks/{notebook-edit-D4R4ZLMA.js → notebook-edit-YHY3Z2QQ.js} +52 -23
- package/chunks/{openaiContentGenerator-F74IPQ6E.js → openaiContentGenerator-4WUVA3Q2.js} +13 -12
- package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
- package/chunks/{qwenContentGenerator-ATTK5P4D.js → qwenContentGenerator-MVYYR44B.js} +26 -25
- package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-6HNGHALT.js} +5 -4
- package/chunks/{read-file-767G23OY.js → read-file-NABEO2X4.js} +8 -8
- package/chunks/{read-mcp-resource-I5HCZJ6X.js → read-mcp-resource-DQQW7H7T.js} +2 -2
- package/chunks/{ripGrep-4OMMGSWX.js → ripGrep-YXLK6UTX.js} +24 -23
- package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
- package/chunks/{run-qwen-serve-REKSTYRA.js → run-qwen-serve-4B5QBMLQ.js} +144 -41
- package/chunks/{scheduler-UNTFDQLG.js → scheduler-XAKIYBDL.js} +24 -23
- package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
- package/chunks/{serve-KZ56QB5S.js → serve-4RXVLUKD.js} +30 -28
- package/chunks/{server-BV5TZUMU.js → server-7PA5QGIA.js} +11037 -8747
- package/chunks/{session-OIBXFSGD.js → session-WNVWRYAH.js} +194 -57
- package/chunks/{settings-WJTCBIRA.js → settings-YJH32TFF.js} +30 -27
- package/chunks/{shell-WC52IBHW.js → shell-YFLABOS5.js} +24 -23
- package/chunks/{skill-U7F7JR4M.js → skill-N3J7FUAY.js} +38 -11
- package/chunks/{spawnChannel-EI2E5BCW.js → spawnChannel-D6WVMFZJ.js} +26 -25
- package/chunks/{src-4F6FBZFI.js → src-IU5GDBEH.js} +88 -28
- package/chunks/{startInteractiveUI-SFRVB3CE.js → startInteractiveUI-QIPQTRT4.js} +2784 -2474
- package/chunks/{syntheticOutput-PPS3HDVA.js → syntheticOutput-T5YHQ6S2.js} +3 -3
- package/chunks/{task-create-OUYCA553.js → task-create-BLY7RHXX.js} +6 -6
- package/chunks/{task-list-WAX7I2IA.js → task-list-3QUYNVYR.js} +5 -5
- package/chunks/{task-stop-CAIL6FNH.js → task-stop-U4RATK2V.js} +2 -2
- package/chunks/{task-update-AHEO5OUT.js → task-update-U54O7KJX.js} +6 -6
- package/chunks/{team-create-3WC7CIIW.js → team-create-TP4CLLM3.js} +24 -23
- package/chunks/{team-delete-HGHFG23B.js → team-delete-LKBYPASD.js} +5 -5
- package/chunks/{theme-manager-DICFCT3P.js → theme-manager-N2TBIBZT.js} +25 -24
- package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
- package/chunks/{tool-search-L5K7HLER.js → tool-search-GBBSICYB.js} +101 -16
- package/chunks/trustedFolders-F7TBU5CD.js +76 -0
- package/chunks/types-QX5C3CHJ.js +12 -0
- package/chunks/{validateNonInterActiveAuth-GCH4Z6KI.js → validateNonInterActiveAuth-EQDQPSMI.js} +55 -50
- package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-PCVCML2X.js} +29 -15
- package/chunks/{workflow-OB3AND7I.js → workflow-ANJ4FYBK.js} +32 -30
- package/chunks/{workspace-providers-status-ZIR5EPOO.js → workspace-providers-status-462QQKQM.js} +32 -29
- package/chunks/workspace-service-VTG4G6CW.js +75 -0
- package/chunks/{write-file-SEXBNDZM.js → write-file-3P3WMQQW.js} +63 -27
- package/chunks/{zh-RBEGQVQT.js → zh-5EUYXASN.js} +8 -0
- package/chunks/{zh-TW-QGAVRXT3.js → zh-TW-TR3XYGE5.js} +8 -0
- package/cli-entry.js +20 -9
- package/cli.js +6 -6
- package/locales/ca.js +2 -0
- package/locales/de.js +2 -0
- package/locales/en.js +14 -0
- package/locales/fr.js +2 -0
- package/locales/ja.js +1 -0
- package/locales/pt.js +2 -0
- package/locales/ru.js +2 -0
- package/locales/zh-TW.js +12 -0
- package/locales/zh.js +12 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +35 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.js +48 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.js.map +1 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +7 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.js +18 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +1 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +21 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +58 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +5 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +84 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +19 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +6 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +207 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +7 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +43 -0
- package/node_modules/@qwen-code/audio-capture/package.json +30 -0
- 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/package.json +18 -6
- package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
- package/postinstall.js +50 -0
- package/web-shell/assets/{arc-D_ae_Y9k.js → arc-DIemsO_F.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BMLRjppa.js → architectureDiagram-3BPJPVTR-CTlUvIQv.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-qVDQC8KL.js → blockDiagram-GPEHLZMM-DG0jmIZK.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CxWS6MBd.js → c4Diagram-AAUBKEIU-WljDBi55.js} +1 -1
- package/web-shell/assets/channel-CbzRbdpA.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BtNuY5Yp.js → chunk-2J33WTMH-8nc6onr2.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BU-x368d.js → chunk-4BX2VUAB-EopXix8Z.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DRgTLvBu.js → chunk-55IACEB6-BE4Jz3N3.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-D2aElv7q.js → chunk-727SXJPM-C_eErgDN.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BwHCMRQ0.js → chunk-AQP2D5EJ-DFtVW-Is.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-BMyPH-ku.js → chunk-FMBD7UC4-CJPyxIg9.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BNKTstUf.js → chunk-ND2GUHAM-Bk-xgj6M.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-gD3vsFId.js → chunk-QZHKN3VN-p3Y4yaFB.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BFdyQ52h.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BFdyQ52h.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BG9FAsXE.js → cose-bilkent-S5V4N54A-BCMO6Js3.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-Cy1sR7om.js → dagre-BM42HDAG-DUMrwASf.js} +1 -1
- package/web-shell/assets/default-aEtf0G7-.svg +1 -0
- package/web-shell/assets/{diagram-2AECGRRQ-Bxi1I_Vu.js → diagram-2AECGRRQ-C5d7qJbL.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BGCJjO6y.js → diagram-5GNKFQAL-CjLzMhbT.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CMTeLXp7.js → diagram-KO2AKTUF-RCoNWeAm.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BN1wyAGh.js → diagram-LMA3HP47-KThXjaNV.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-UYSG_zcp.js → diagram-OG6HWLK6-DKsC2BWz.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DqXL08lw.js → erDiagram-TEJ5UH35-DJ2ukmq0.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BPJ9SFji.js → flowDiagram-I6XJVG4X-zzqaARRX.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BEd9Pnms.js → ganttDiagram-6RSMTGT7-kFUg-gqT.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DrNRH3oi.js → gitGraphDiagram-PVQCEYII-C6JnMVzD.js} +1 -1
- package/web-shell/assets/index-B3XUm7dw.js +713 -0
- package/web-shell/assets/index-CHmzAWys.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CFYBrkVI.js → infoDiagram-5YYISTIA-XqPVhp89.js} +1 -1
- package/web-shell/assets/insert-DmRbh9Rv.svg +1 -0
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Dxsddth7.js → ishikawaDiagram-YF4QCWOH-D2k8sGpf.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DxaDK80t.js → journeyDiagram-JHISSGLW-CQEST1GE.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Q0jQCOct.js → kanban-definition-UN3LZRKU-DZ7kqVBC.js} +1 -1
- package/web-shell/assets/{linear-DGGM2kcP.js → linear-B6C_6q_E.js} +1 -1
- package/web-shell/assets/{mermaid.core-ByoxnWut.js → mermaid.core-CsyNP1qt.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-C0ZseHsi.js → mindmap-definition-RKZ34NQL-B1VDIzJq.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-MQXNhl5A.js → pieDiagram-4H26LBE5-DN0E7Jwu.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DIR4ee2A.js → quadrantDiagram-W4KKPZXB-UKTQdHKm.js} +1 -1
- package/web-shell/assets/queue-DWpnpFgW.svg +1 -0
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BTR0UdYQ.js → requirementDiagram-4Y6WPE33-BRGceQvN.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-sfnhMELN.js → sankeyDiagram-5OEKKPKP-2DDyu41v.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DXczHOHH.js → sequenceDiagram-3UESZ5HK-CT5iE8ZU.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DdE_KQFH.js → stateDiagram-AJRCARHV-CqMQ_s4G.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CamhV5pM.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DIc61uE8.js → timeline-definition-PNZ67QCA-Di37QSZU.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BF7ODmxB.js → vennDiagram-CIIHVFJN-DCXvpz5S.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-3pc1MEaw.js → wardley-L42UT6IY-CpUCk6OX.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-9jnPcZuP.js → wardleyDiagram-YWT4CUSO-D01pVEBg.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DcthaZK6.js → xychartDiagram-2RQKCTM6-DOu5JDoz.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-B6HQGTYR.js +0 -410
- package/chunks/chunk-R2BXK7SX.js +0 -13
- package/chunks/chunk-RKIZXJMB.js +0 -13
- package/chunks/nonInteractiveCli-7575LBXP.js +0 -91
- package/chunks/workspace-service-OM5D4OI2.js +0 -60
- package/web-shell/assets/channel-DYPNiTww.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-p_g25Tni.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-p_g25Tni.js +0 -1
- package/web-shell/assets/index-CpOXWDPh.js +0 -714
- package/web-shell/assets/index-oVK7qhre.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BHUSEndU.js +0 -1
|
@@ -23,28 +23,28 @@ import {
|
|
|
23
23
|
} from "./chunk-OMX7CUOE.js";
|
|
24
24
|
import {
|
|
25
25
|
isAnyAutoMemPath
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-RD6YJJJ6.js";
|
|
27
27
|
import {
|
|
28
28
|
InstallationManager
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-SKQZZVAV.js";
|
|
30
30
|
import {
|
|
31
31
|
STRUCTURED_OUTPUT_REDACTED_ARGS
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-BUUQ5HPX.js";
|
|
33
33
|
import {
|
|
34
34
|
BaseDeclarativeTool,
|
|
35
35
|
BaseToolInvocation,
|
|
36
36
|
ToolDisplayNames,
|
|
37
37
|
ToolNames
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-BX5YO7UW.js";
|
|
39
39
|
import {
|
|
40
40
|
atomicWriteFile,
|
|
41
41
|
atomicWriteFileSync
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-3227DZO4.js";
|
|
43
43
|
import {
|
|
44
44
|
convertSchema,
|
|
45
45
|
runtimeDiagnostics,
|
|
46
46
|
safeJsonParse
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-BKXBARJZ.js";
|
|
48
48
|
import {
|
|
49
49
|
require_lib
|
|
50
50
|
} from "./chunk-IRJWHZWU.js";
|
|
@@ -70,7 +70,7 @@ import {
|
|
|
70
70
|
setShellTracePropagation,
|
|
71
71
|
shortenPath,
|
|
72
72
|
unescapePath
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-UX4SGCGN.js";
|
|
74
74
|
import {
|
|
75
75
|
require_dist
|
|
76
76
|
} from "./chunk-ZERZSAZL.js";
|
|
@@ -59073,6 +59073,13 @@ var EVENT_SUBAGENT_EXECUTION = "qwen-code.subagent_execution";
|
|
|
59073
59073
|
var EVENT_SKILL_LAUNCH = "qwen-code.skill_launch";
|
|
59074
59074
|
var EVENT_AUTH = "qwen-code.auth";
|
|
59075
59075
|
var EVENT_USER_FEEDBACK = "qwen-code.user_feedback";
|
|
59076
|
+
var EVENT_TOOL_OUTPUT_TRUNCATED = "qwen-code.tool_output_truncated";
|
|
59077
|
+
var DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH = 1024 * 1024;
|
|
59078
|
+
var SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT = 100 * 1024 * 1024;
|
|
59079
|
+
function isValidSensitiveSpanAttributeMaxLength(value) {
|
|
59080
|
+
return Number.isSafeInteger(value) && value >= 1 && value <= SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT;
|
|
59081
|
+
}
|
|
59082
|
+
__name(isValidSensitiveSpanAttributeMaxLength, "isValidSensitiveSpanAttributeMaxLength");
|
|
59076
59083
|
var EVENT_PROMPT_SUGGESTION = "qwen-code.prompt_suggestion";
|
|
59077
59084
|
var EVENT_SPECULATION = "qwen-code.speculation";
|
|
59078
59085
|
var EVENT_WORKFLOW_KEYWORD = "qwen-code.workflow_keyword";
|
|
@@ -61149,12 +61156,18 @@ var ApiCancelEvent = class {
|
|
|
61149
61156
|
model;
|
|
61150
61157
|
prompt_id;
|
|
61151
61158
|
auth_type;
|
|
61152
|
-
|
|
61159
|
+
// Pending self-paced /loop wakeups dropped by this abort, when any. Lets a
|
|
61160
|
+
// user abort that ends a loop be told apart from an ordinary cancellation.
|
|
61161
|
+
// Named for wakeups (not "loops") to avoid colliding with loop_type, the
|
|
61162
|
+
// unrelated repetition-detection vocabulary in this file.
|
|
61163
|
+
loop_wakeups_cancelled;
|
|
61164
|
+
constructor(model, prompt_id, auth_type, loop_wakeups_cancelled) {
|
|
61153
61165
|
this["event.name"] = "api_cancel";
|
|
61154
61166
|
this["event.timestamp"] = (/* @__PURE__ */ new Date()).toISOString();
|
|
61155
61167
|
this.model = model;
|
|
61156
61168
|
this.prompt_id = prompt_id;
|
|
61157
61169
|
this.auth_type = auth_type;
|
|
61170
|
+
this.loop_wakeups_cancelled = loop_wakeups_cancelled;
|
|
61158
61171
|
}
|
|
61159
61172
|
};
|
|
61160
61173
|
var ApiResponseEvent = class {
|
|
@@ -61235,6 +61248,7 @@ var LoopType = /* @__PURE__ */ ((LoopType2) => {
|
|
|
61235
61248
|
LoopType2["REPETITIVE_THOUGHTS"] = "repetitive_thoughts";
|
|
61236
61249
|
LoopType2["READ_FILE_LOOP"] = "read_file_loop";
|
|
61237
61250
|
LoopType2["ACTION_STAGNATION"] = "action_stagnation";
|
|
61251
|
+
LoopType2["SHELL_COMMAND_STAGNATION"] = "shell_command_stagnation";
|
|
61238
61252
|
LoopType2["GLOBAL_TOOL_CALL_DUPLICATE"] = "global_tool_call_duplicate";
|
|
61239
61253
|
LoopType2["ALTERNATING_TOOL_CALL_PATTERN"] = "alternating_tool_call_pattern";
|
|
61240
61254
|
LoopType2["TURN_TOOL_CALL_CAP"] = "turn_tool_call_cap";
|
|
@@ -63103,6 +63117,12 @@ function mergeConsecutiveAssistantMessages(messages) {
|
|
|
63103
63117
|
if (combinedToolCalls.length > 0) {
|
|
63104
63118
|
lastMessage.tool_calls = combinedToolCalls;
|
|
63105
63119
|
}
|
|
63120
|
+
const lastReasoning = lastMessage.reasoning_content;
|
|
63121
|
+
const currentReasoning = message.reasoning_content;
|
|
63122
|
+
const combinedReasoning = [lastReasoning, currentReasoning].filter(Boolean).join("");
|
|
63123
|
+
if (combinedReasoning) {
|
|
63124
|
+
lastMessage.reasoning_content = combinedReasoning;
|
|
63125
|
+
}
|
|
63106
63126
|
continue;
|
|
63107
63127
|
}
|
|
63108
63128
|
}
|
|
@@ -63504,23 +63524,71 @@ import { AsyncLocalStorage as AsyncLocalStorage3 } from "node:async_hooks";
|
|
|
63504
63524
|
// packages/core/src/telemetry/detailed-span-attributes.ts
|
|
63505
63525
|
init_esbuild_shims();
|
|
63506
63526
|
import { createHash as createHash2 } from "node:crypto";
|
|
63507
|
-
var MAX_CONTENT_SIZE = 60 * 1024;
|
|
63508
63527
|
var SYSTEM_PROMPT_PREVIEW_LENGTH = 500;
|
|
63528
|
+
var SHORT_TRUNCATION_SUFFIX = "...[TRUNCATED]";
|
|
63509
63529
|
var seenHashes = /* @__PURE__ */ new Set();
|
|
63510
|
-
function
|
|
63530
|
+
function areSensitiveSpanAttributesEnabled(config) {
|
|
63511
63531
|
return isTelemetrySdkInitialized() && config.getTelemetryIncludeSensitiveSpanAttributes();
|
|
63512
63532
|
}
|
|
63513
|
-
__name(
|
|
63514
|
-
function truncateContent(content, maxSize =
|
|
63515
|
-
if (
|
|
63533
|
+
__name(areSensitiveSpanAttributesEnabled, "areSensitiveSpanAttributesEnabled");
|
|
63534
|
+
function truncateContent(content, maxSize = DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH, originalLength = content.length) {
|
|
63535
|
+
if (!Number.isSafeInteger(maxSize) || maxSize < 1) {
|
|
63536
|
+
throw new TypeError(
|
|
63537
|
+
`maxSize must be a positive safe integer, got ${String(maxSize)}`
|
|
63538
|
+
);
|
|
63539
|
+
}
|
|
63540
|
+
if (!Number.isSafeInteger(originalLength) || originalLength < 0) {
|
|
63541
|
+
throw new TypeError(
|
|
63542
|
+
`originalLength must be a non-negative safe integer, got ${String(
|
|
63543
|
+
originalLength
|
|
63544
|
+
)}`
|
|
63545
|
+
);
|
|
63546
|
+
}
|
|
63547
|
+
if (originalLength < content.length) {
|
|
63548
|
+
throw new TypeError(
|
|
63549
|
+
`originalLength must be greater than or equal to content length, got ${originalLength} for content length ${content.length}`
|
|
63550
|
+
);
|
|
63551
|
+
}
|
|
63552
|
+
if (originalLength <= maxSize && content.length <= maxSize) {
|
|
63516
63553
|
return { content, truncated: false };
|
|
63517
63554
|
}
|
|
63555
|
+
if (originalLength > content.length && content.length <= maxSize) {
|
|
63556
|
+
return { content, truncated: true };
|
|
63557
|
+
}
|
|
63558
|
+
const suffix = `
|
|
63559
|
+
|
|
63560
|
+
[TRUNCATED - Content exceeds configured limit of ${maxSize} characters]`;
|
|
63561
|
+
if (suffix.length >= maxSize) {
|
|
63562
|
+
if (SHORT_TRUNCATION_SUFFIX.length >= maxSize) {
|
|
63563
|
+
return {
|
|
63564
|
+
content: SHORT_TRUNCATION_SUFFIX.slice(0, maxSize),
|
|
63565
|
+
truncated: true
|
|
63566
|
+
};
|
|
63567
|
+
}
|
|
63568
|
+
return {
|
|
63569
|
+
content: content.slice(0, maxSize - SHORT_TRUNCATION_SUFFIX.length) + SHORT_TRUNCATION_SUFFIX,
|
|
63570
|
+
truncated: true
|
|
63571
|
+
};
|
|
63572
|
+
}
|
|
63518
63573
|
return {
|
|
63519
|
-
content: content.slice(0, maxSize
|
|
63574
|
+
content: content.slice(0, maxSize - suffix.length) + suffix,
|
|
63520
63575
|
truncated: true
|
|
63521
63576
|
};
|
|
63522
63577
|
}
|
|
63523
63578
|
__name(truncateContent, "truncateContent");
|
|
63579
|
+
function getMaxContentSize(config) {
|
|
63580
|
+
return config.getTelemetrySensitiveSpanAttributeMaxLength();
|
|
63581
|
+
}
|
|
63582
|
+
__name(getMaxContentSize, "getMaxContentSize");
|
|
63583
|
+
function truncatePrefixedContent(prefix, content, maxSize) {
|
|
63584
|
+
const prefixedContent = `${prefix}${content}`;
|
|
63585
|
+
const result = truncateContent(prefixedContent, maxSize);
|
|
63586
|
+
return {
|
|
63587
|
+
...result,
|
|
63588
|
+
originalLength: content.length
|
|
63589
|
+
};
|
|
63590
|
+
}
|
|
63591
|
+
__name(truncatePrefixedContent, "truncatePrefixedContent");
|
|
63524
63592
|
function shortHash(content) {
|
|
63525
63593
|
return createHash2("sha256").update(content).digest("hex").slice(0, 12);
|
|
63526
63594
|
}
|
|
@@ -63531,20 +63599,24 @@ function stringifyContentUnion(value) {
|
|
|
63531
63599
|
}
|
|
63532
63600
|
__name(stringifyContentUnion, "stringifyContentUnion");
|
|
63533
63601
|
function addUserPromptAttributes(config, span, promptText) {
|
|
63534
|
-
if (!
|
|
63535
|
-
const { content, truncated } =
|
|
63602
|
+
if (!areSensitiveSpanAttributesEnabled(config) || !promptText) return;
|
|
63603
|
+
const { content, truncated, originalLength } = truncatePrefixedContent(
|
|
63604
|
+
`[USER PROMPT]
|
|
63605
|
+
`,
|
|
63606
|
+
promptText,
|
|
63607
|
+
getMaxContentSize(config)
|
|
63608
|
+
);
|
|
63536
63609
|
span.setAttributes({
|
|
63537
|
-
new_context:
|
|
63538
|
-
${content}`,
|
|
63610
|
+
new_context: content,
|
|
63539
63611
|
...truncated && {
|
|
63540
63612
|
new_context_truncated: true,
|
|
63541
|
-
new_context_original_length:
|
|
63613
|
+
new_context_original_length: originalLength
|
|
63542
63614
|
}
|
|
63543
63615
|
});
|
|
63544
63616
|
}
|
|
63545
63617
|
__name(addUserPromptAttributes, "addUserPromptAttributes");
|
|
63546
63618
|
function addSystemPromptAttributes(config, span, systemInstruction) {
|
|
63547
|
-
if (!
|
|
63619
|
+
if (!areSensitiveSpanAttributesEnabled(config) || !systemInstruction) return;
|
|
63548
63620
|
const text = stringifyContentUnion(systemInstruction);
|
|
63549
63621
|
if (!text) return;
|
|
63550
63622
|
const hash = `sp_${shortHash(text)}`;
|
|
@@ -63555,7 +63627,10 @@ function addSystemPromptAttributes(config, span, systemInstruction) {
|
|
|
63555
63627
|
});
|
|
63556
63628
|
if (!seenHashes.has(hash)) {
|
|
63557
63629
|
seenHashes.add(hash);
|
|
63558
|
-
const { content, truncated } = truncateContent(
|
|
63630
|
+
const { content, truncated } = truncateContent(
|
|
63631
|
+
text,
|
|
63632
|
+
getMaxContentSize(config)
|
|
63633
|
+
);
|
|
63559
63634
|
span.setAttribute("system_prompt", content);
|
|
63560
63635
|
if (truncated) {
|
|
63561
63636
|
span.setAttribute("system_prompt_truncated", true);
|
|
@@ -63564,7 +63639,7 @@ function addSystemPromptAttributes(config, span, systemInstruction) {
|
|
|
63564
63639
|
}
|
|
63565
63640
|
__name(addSystemPromptAttributes, "addSystemPromptAttributes");
|
|
63566
63641
|
function addToolSchemaAttributes(config, span, tools) {
|
|
63567
|
-
if (!
|
|
63642
|
+
if (!areSensitiveSpanAttributesEnabled(config) || !tools?.length) return;
|
|
63568
63643
|
const declarations = [];
|
|
63569
63644
|
for (const tool of tools) {
|
|
63570
63645
|
const inner = tool["functionDeclarations"];
|
|
@@ -63584,12 +63659,18 @@ function addToolSchemaAttributes(config, span, tools) {
|
|
|
63584
63659
|
const hashKey = `tool_${hash}`;
|
|
63585
63660
|
if (!seenHashes.has(hashKey)) {
|
|
63586
63661
|
seenHashes.add(hashKey);
|
|
63587
|
-
const { content, truncated } = truncateContent(
|
|
63662
|
+
const { content, truncated } = truncateContent(
|
|
63663
|
+
declJson,
|
|
63664
|
+
getMaxContentSize(config)
|
|
63665
|
+
);
|
|
63588
63666
|
span.addEvent("tool_schema", {
|
|
63589
63667
|
tool_name: name,
|
|
63590
63668
|
tool_hash: hash,
|
|
63591
63669
|
tool_definition: content,
|
|
63592
|
-
...truncated && {
|
|
63670
|
+
...truncated && {
|
|
63671
|
+
tool_definition_truncated: true,
|
|
63672
|
+
tool_definition_original_length: declJson.length
|
|
63673
|
+
}
|
|
63593
63674
|
});
|
|
63594
63675
|
}
|
|
63595
63676
|
}
|
|
@@ -63599,40 +63680,53 @@ function addToolSchemaAttributes(config, span, tools) {
|
|
|
63599
63680
|
});
|
|
63600
63681
|
}
|
|
63601
63682
|
__name(addToolSchemaAttributes, "addToolSchemaAttributes");
|
|
63602
|
-
function addModelOutputAttributes(config, span, responseText) {
|
|
63603
|
-
if (!
|
|
63604
|
-
const
|
|
63683
|
+
function addModelOutputAttributes(config, span, responseText, originalLength) {
|
|
63684
|
+
if (!areSensitiveSpanAttributesEnabled(config) || !responseText) return;
|
|
63685
|
+
const responseTextOriginalLength = originalLength ?? responseText.length;
|
|
63686
|
+
const { content, truncated } = truncateContent(
|
|
63687
|
+
responseText,
|
|
63688
|
+
getMaxContentSize(config),
|
|
63689
|
+
responseTextOriginalLength
|
|
63690
|
+
);
|
|
63605
63691
|
span.setAttributes({
|
|
63606
63692
|
"response.model_output": content,
|
|
63607
63693
|
...truncated && {
|
|
63608
63694
|
"response.model_output_truncated": true,
|
|
63609
|
-
"response.model_output_original_length":
|
|
63695
|
+
"response.model_output_original_length": responseTextOriginalLength
|
|
63610
63696
|
}
|
|
63611
63697
|
});
|
|
63612
63698
|
}
|
|
63613
63699
|
__name(addModelOutputAttributes, "addModelOutputAttributes");
|
|
63614
63700
|
function addToolInputAttributes(config, span, toolName, toolInput) {
|
|
63615
|
-
if (!
|
|
63616
|
-
const { content, truncated } =
|
|
63701
|
+
if (!areSensitiveSpanAttributesEnabled(config)) return;
|
|
63702
|
+
const { content, truncated, originalLength } = truncatePrefixedContent(
|
|
63703
|
+
`[TOOL INPUT: ${toolName}]
|
|
63704
|
+
`,
|
|
63705
|
+
toolInput,
|
|
63706
|
+
getMaxContentSize(config)
|
|
63707
|
+
);
|
|
63617
63708
|
span.setAttributes({
|
|
63618
|
-
tool_input:
|
|
63619
|
-
${content}`,
|
|
63709
|
+
tool_input: content,
|
|
63620
63710
|
...truncated && {
|
|
63621
63711
|
tool_input_truncated: true,
|
|
63622
|
-
tool_input_original_length:
|
|
63712
|
+
tool_input_original_length: originalLength
|
|
63623
63713
|
}
|
|
63624
63714
|
});
|
|
63625
63715
|
}
|
|
63626
63716
|
__name(addToolInputAttributes, "addToolInputAttributes");
|
|
63627
63717
|
function addToolResultAttributes(config, span, toolName, toolResult) {
|
|
63628
|
-
if (!
|
|
63629
|
-
const { content, truncated } =
|
|
63718
|
+
if (!areSensitiveSpanAttributesEnabled(config)) return;
|
|
63719
|
+
const { content, truncated, originalLength } = truncatePrefixedContent(
|
|
63720
|
+
`[TOOL RESULT: ${toolName}]
|
|
63721
|
+
`,
|
|
63722
|
+
toolResult,
|
|
63723
|
+
getMaxContentSize(config)
|
|
63724
|
+
);
|
|
63630
63725
|
span.setAttributes({
|
|
63631
|
-
tool_result:
|
|
63632
|
-
${content}`,
|
|
63726
|
+
tool_result: content,
|
|
63633
63727
|
...truncated && {
|
|
63634
63728
|
tool_result_truncated: true,
|
|
63635
|
-
tool_result_original_length:
|
|
63729
|
+
tool_result_original_length: originalLength
|
|
63636
63730
|
}
|
|
63637
63731
|
});
|
|
63638
63732
|
}
|
|
@@ -64017,6 +64111,34 @@ function endLLMRequestSpan(span, metadata) {
|
|
|
64017
64111
|
}
|
|
64018
64112
|
}
|
|
64019
64113
|
spanCtx.span.setAttributes(endAttributes);
|
|
64114
|
+
try {
|
|
64115
|
+
if (metadata?.config && metadata.success) {
|
|
64116
|
+
const model = String(spanCtx.attributes["qwen-code.model"] ?? "");
|
|
64117
|
+
if (metadata.requestSetupMs !== void 0) {
|
|
64118
|
+
recordApiRequestBreakdown(metadata.config, metadata.requestSetupMs, {
|
|
64119
|
+
model,
|
|
64120
|
+
phase: "request_preparation" /* REQUEST_PREPARATION */
|
|
64121
|
+
});
|
|
64122
|
+
}
|
|
64123
|
+
if (metadata.ttftMs !== void 0) {
|
|
64124
|
+
recordApiRequestBreakdown(metadata.config, metadata.ttftMs, {
|
|
64125
|
+
model,
|
|
64126
|
+
phase: "network_latency" /* NETWORK_LATENCY */
|
|
64127
|
+
});
|
|
64128
|
+
}
|
|
64129
|
+
const breakdownSamplingMs = metadata.ttftMs !== void 0 ? Math.max(0, duration - metadata.ttftMs) : void 0;
|
|
64130
|
+
if (breakdownSamplingMs !== void 0 && breakdownSamplingMs > 0) {
|
|
64131
|
+
recordApiRequestBreakdown(metadata.config, breakdownSamplingMs, {
|
|
64132
|
+
model,
|
|
64133
|
+
phase: "response_processing" /* RESPONSE_PROCESSING */
|
|
64134
|
+
});
|
|
64135
|
+
}
|
|
64136
|
+
}
|
|
64137
|
+
} catch (error) {
|
|
64138
|
+
debugLogger8.warn(
|
|
64139
|
+
`Failed to record API request breakdown histogram: ${error instanceof Error ? error.message : String(error)}`
|
|
64140
|
+
);
|
|
64141
|
+
}
|
|
64020
64142
|
if (metadata === void 0 || metadata.success) {
|
|
64021
64143
|
spanCtx.span.setStatus({ code: SpanStatusCode.OK });
|
|
64022
64144
|
} else {
|
|
@@ -65416,6 +65538,30 @@ function parseTelemetryTargetValue(value) {
|
|
|
65416
65538
|
return void 0;
|
|
65417
65539
|
}
|
|
65418
65540
|
__name(parseTelemetryTargetValue, "parseTelemetryTargetValue");
|
|
65541
|
+
function parseSensitiveSpanAttributeMaxLengthEnvValue(envName, value) {
|
|
65542
|
+
if (value === void 0) return void 0;
|
|
65543
|
+
const trimmed = value.trim();
|
|
65544
|
+
const parsed = Number(trimmed);
|
|
65545
|
+
if (!/^\d+$/.test(trimmed) || !isValidSensitiveSpanAttributeMaxLength(parsed)) {
|
|
65546
|
+
throw new FatalConfigError(
|
|
65547
|
+
`Invalid ${envName}: must be a positive integer no greater than ${SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT}, got '${value}'`
|
|
65548
|
+
);
|
|
65549
|
+
}
|
|
65550
|
+
return parsed;
|
|
65551
|
+
}
|
|
65552
|
+
__name(parseSensitiveSpanAttributeMaxLengthEnvValue, "parseSensitiveSpanAttributeMaxLengthEnvValue");
|
|
65553
|
+
function parseSensitiveSpanAttributeMaxLengthSetting(settingName, value) {
|
|
65554
|
+
if (value === void 0) return void 0;
|
|
65555
|
+
if (typeof value !== "number" || !isValidSensitiveSpanAttributeMaxLength(value)) {
|
|
65556
|
+
throw new FatalConfigError(
|
|
65557
|
+
`Invalid ${settingName}: must be a positive integer no greater than ${SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT}, got ${String(
|
|
65558
|
+
value
|
|
65559
|
+
)}`
|
|
65560
|
+
);
|
|
65561
|
+
}
|
|
65562
|
+
return value;
|
|
65563
|
+
}
|
|
65564
|
+
__name(parseSensitiveSpanAttributeMaxLengthSetting, "parseSensitiveSpanAttributeMaxLengthSetting");
|
|
65419
65565
|
async function resolveTelemetrySettings(options) {
|
|
65420
65566
|
const argv = options.argv ?? {};
|
|
65421
65567
|
const env = options.env ?? {};
|
|
@@ -65446,6 +65592,13 @@ async function resolveTelemetrySettings(options) {
|
|
|
65446
65592
|
const includeSensitiveSpanAttributes = parseBooleanEnvFlag(
|
|
65447
65593
|
env["QWEN_TELEMETRY_INCLUDE_SENSITIVE_SPAN_ATTRIBUTES"]
|
|
65448
65594
|
) ?? settings.includeSensitiveSpanAttributes ?? false;
|
|
65595
|
+
const sensitiveSpanAttributeMaxLength = parseSensitiveSpanAttributeMaxLengthEnvValue(
|
|
65596
|
+
"QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH",
|
|
65597
|
+
env["QWEN_TELEMETRY_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH"]
|
|
65598
|
+
) ?? parseSensitiveSpanAttributeMaxLengthSetting(
|
|
65599
|
+
"telemetry.sensitiveSpanAttributeMaxLength",
|
|
65600
|
+
settings.sensitiveSpanAttributeMaxLength
|
|
65601
|
+
) ?? DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH;
|
|
65449
65602
|
const outfile = argv.telemetryOutfile ?? env["QWEN_TELEMETRY_OUTFILE"] ?? settings.outfile;
|
|
65450
65603
|
const otlpTracesEndpoint = env["QWEN_TELEMETRY_OTLP_TRACES_ENDPOINT"] ?? env["OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"] ?? settings.otlpTracesEndpoint;
|
|
65451
65604
|
const otlpLogsEndpoint = env["QWEN_TELEMETRY_OTLP_LOGS_ENDPOINT"] ?? env["OTEL_EXPORTER_OTLP_LOGS_ENDPOINT"] ?? settings.otlpLogsEndpoint;
|
|
@@ -65487,6 +65640,7 @@ async function resolveTelemetrySettings(options) {
|
|
|
65487
65640
|
otlpMetricsEndpoint,
|
|
65488
65641
|
logPrompts,
|
|
65489
65642
|
includeSensitiveSpanAttributes,
|
|
65643
|
+
sensitiveSpanAttributeMaxLength,
|
|
65490
65644
|
outfile,
|
|
65491
65645
|
resourceAttributes,
|
|
65492
65646
|
metrics: { includeSessionId: metricsIncludeSessionId },
|
|
@@ -65520,6 +65674,12 @@ var createInitialModelMetrics = /* @__PURE__ */ __name(() => ({
|
|
|
65520
65674
|
...createInitialModelMetricsCore(),
|
|
65521
65675
|
bySource: /* @__PURE__ */ Object.create(null)
|
|
65522
65676
|
}), "createInitialModelMetrics");
|
|
65677
|
+
var createInitialSkillMetrics = /* @__PURE__ */ __name(() => ({
|
|
65678
|
+
totalCalls: 0,
|
|
65679
|
+
totalSuccess: 0,
|
|
65680
|
+
totalFail: 0,
|
|
65681
|
+
byName: {}
|
|
65682
|
+
}), "createInitialSkillMetrics");
|
|
65523
65683
|
var createInitialMetrics = /* @__PURE__ */ __name(() => ({
|
|
65524
65684
|
models: {},
|
|
65525
65685
|
tools: {
|
|
@@ -65538,7 +65698,8 @@ var createInitialMetrics = /* @__PURE__ */ __name(() => ({
|
|
|
65538
65698
|
files: {
|
|
65539
65699
|
totalLinesAdded: 0,
|
|
65540
65700
|
totalLinesRemoved: 0
|
|
65541
|
-
}
|
|
65701
|
+
},
|
|
65702
|
+
skills: createInitialSkillMetrics()
|
|
65542
65703
|
}), "createInitialMetrics");
|
|
65543
65704
|
var UiTelemetryService = class _UiTelemetryService extends EventEmitter {
|
|
65544
65705
|
static {
|
|
@@ -65570,6 +65731,23 @@ var UiTelemetryService = class _UiTelemetryService extends EventEmitter {
|
|
|
65570
65731
|
getMetricsForSession(sessionId) {
|
|
65571
65732
|
return this.#sessionMetrics.get(sessionId) ?? createInitialMetrics();
|
|
65572
65733
|
}
|
|
65734
|
+
recordSkillInvocation(skillName, success, sessionId) {
|
|
65735
|
+
this.#accumulateSkillInvocation(this.#metrics, skillName, success);
|
|
65736
|
+
if (sessionId && !this.#closedSessions.has(sessionId)) {
|
|
65737
|
+
if (!this.#sessionMetrics.has(sessionId)) {
|
|
65738
|
+
this.#sessionMetrics.set(sessionId, createInitialMetrics());
|
|
65739
|
+
}
|
|
65740
|
+
this.#accumulateSkillInvocation(
|
|
65741
|
+
this.#sessionMetrics.get(sessionId),
|
|
65742
|
+
skillName,
|
|
65743
|
+
success
|
|
65744
|
+
);
|
|
65745
|
+
}
|
|
65746
|
+
this.emit("update", {
|
|
65747
|
+
metrics: this.#metrics,
|
|
65748
|
+
lastPromptTokenCount: this.#lastPromptTokenCount
|
|
65749
|
+
});
|
|
65750
|
+
}
|
|
65573
65751
|
getLastPromptTokenCount() {
|
|
65574
65752
|
return this.#lastPromptTokenCount;
|
|
65575
65753
|
}
|
|
@@ -65703,6 +65881,38 @@ var UiTelemetryService = class _UiTelemetryService extends EventEmitter {
|
|
|
65703
65881
|
}
|
|
65704
65882
|
}
|
|
65705
65883
|
}
|
|
65884
|
+
#accumulateSkillInvocation(metrics2, skillName, success) {
|
|
65885
|
+
const skills = metrics2.skills ?? createInitialSkillMetrics();
|
|
65886
|
+
metrics2.skills = skills;
|
|
65887
|
+
skills.totalCalls++;
|
|
65888
|
+
if (success) {
|
|
65889
|
+
skills.totalSuccess++;
|
|
65890
|
+
} else {
|
|
65891
|
+
skills.totalFail++;
|
|
65892
|
+
}
|
|
65893
|
+
if (!Object.prototype.hasOwnProperty.call(skills.byName, skillName)) {
|
|
65894
|
+
Object.defineProperty(skills.byName, skillName, {
|
|
65895
|
+
value: {
|
|
65896
|
+
count: 0,
|
|
65897
|
+
success: 0,
|
|
65898
|
+
fail: 0
|
|
65899
|
+
},
|
|
65900
|
+
enumerable: true,
|
|
65901
|
+
configurable: true,
|
|
65902
|
+
writable: true
|
|
65903
|
+
});
|
|
65904
|
+
}
|
|
65905
|
+
const skillStats = skills.byName[skillName];
|
|
65906
|
+
if (!skillStats) {
|
|
65907
|
+
return;
|
|
65908
|
+
}
|
|
65909
|
+
skillStats.count++;
|
|
65910
|
+
if (success) {
|
|
65911
|
+
skillStats.success++;
|
|
65912
|
+
} else {
|
|
65913
|
+
skillStats.fail++;
|
|
65914
|
+
}
|
|
65915
|
+
}
|
|
65706
65916
|
#getOrCreateModelMetrics(metrics2, modelName) {
|
|
65707
65917
|
if (!metrics2.models[modelName]) {
|
|
65708
65918
|
metrics2.models[modelName] = createInitialModelMetrics();
|
|
@@ -66220,7 +66430,6 @@ __name(snapshotRetryMetadata, "snapshotRetryMetadata");
|
|
|
66220
66430
|
var debugLogger10 = createDebugLogger("LOGGING_CONTENT_GENERATOR");
|
|
66221
66431
|
var MAX_RESPONSE_TEXT_LENGTH = 4096;
|
|
66222
66432
|
var RESPONSE_TEXT_TRUNCATION_SUFFIX = "...[truncated]";
|
|
66223
|
-
var MAX_RESPONSE_TEXT_PREFIX_LENGTH = MAX_RESPONSE_TEXT_LENGTH - RESPONSE_TEXT_TRUNCATION_SUFFIX.length;
|
|
66224
66433
|
var LoggingContentGenerator = class {
|
|
66225
66434
|
constructor(wrapped, config, generatorConfig) {
|
|
66226
66435
|
this.wrapped = wrapped;
|
|
@@ -66357,9 +66566,14 @@ var LoggingContentGenerator = class {
|
|
|
66357
66566
|
() => this.wrapped.generateContent(req, userPromptId)
|
|
66358
66567
|
);
|
|
66359
66568
|
const durationMs = Date.now() - startTime;
|
|
66360
|
-
const
|
|
66361
|
-
|
|
66362
|
-
|
|
66569
|
+
const shouldCollectSensitiveSpanAttributes = !isInternal && this.shouldCollectSensitiveSpanAttributes();
|
|
66570
|
+
const modelOutput = shouldCollectSensitiveSpanAttributes ? this.extractResponseTextForSensitiveSpan(
|
|
66571
|
+
result,
|
|
66572
|
+
this.config.getTelemetrySensitiveSpanAttributeMaxLength()
|
|
66573
|
+
) : void 0;
|
|
66574
|
+
const responseText = isInternal ? void 0 : this.extractResponseText(result, MAX_RESPONSE_TEXT_LENGTH);
|
|
66575
|
+
if (shouldCollectSensitiveSpanAttributes) {
|
|
66576
|
+
this.safelyAddModelOutputAttributes(llmSpan, modelOutput);
|
|
66363
66577
|
}
|
|
66364
66578
|
this.safelyLogApiResponse(
|
|
66365
66579
|
result.responseId ?? "",
|
|
@@ -66391,7 +66605,8 @@ var LoggingContentGenerator = class {
|
|
|
66391
66605
|
finishReason: response.candidates?.[0]?.finishReason || void 0,
|
|
66392
66606
|
thoughtsTokenCount: response.usageMetadata?.thoughtsTokenCount,
|
|
66393
66607
|
subagentName: subagentNameContext.getStore() || void 0,
|
|
66394
|
-
...retrySnapshot
|
|
66608
|
+
...retrySnapshot,
|
|
66609
|
+
config: this.config
|
|
66395
66610
|
});
|
|
66396
66611
|
return response;
|
|
66397
66612
|
} catch (error) {
|
|
@@ -66404,7 +66619,8 @@ var LoggingContentGenerator = class {
|
|
|
66404
66619
|
errorType: getErrorType(error),
|
|
66405
66620
|
errorStatusCode: getErrorStatus(error),
|
|
66406
66621
|
subagentName: subagentNameContext.getStore() || void 0,
|
|
66407
|
-
...retrySnapshot
|
|
66622
|
+
...retrySnapshot,
|
|
66623
|
+
config: this.config
|
|
66408
66624
|
});
|
|
66409
66625
|
await context.with(spanContext, async () => {
|
|
66410
66626
|
this.safelyLogApiError("", durationMs, error, req.model, userPromptId);
|
|
@@ -66477,7 +66693,8 @@ var LoggingContentGenerator = class {
|
|
|
66477
66693
|
errorType: getErrorType(error),
|
|
66478
66694
|
errorStatusCode: getErrorStatus(error),
|
|
66479
66695
|
subagentName: subagentNameContext.getStore() || void 0,
|
|
66480
|
-
...retrySnapshot
|
|
66696
|
+
...retrySnapshot,
|
|
66697
|
+
config: this.config
|
|
66481
66698
|
});
|
|
66482
66699
|
try {
|
|
66483
66700
|
await this.safelyLogOpenAIInteraction(
|
|
@@ -66554,7 +66771,8 @@ var LoggingContentGenerator = class {
|
|
|
66554
66771
|
error: "Stream span timed out (idle)",
|
|
66555
66772
|
responseId: firstResponseId || void 0,
|
|
66556
66773
|
subagentName: subagentName || void 0,
|
|
66557
|
-
...retrySnapshot
|
|
66774
|
+
...retrySnapshot,
|
|
66775
|
+
config: this.config
|
|
66558
66776
|
});
|
|
66559
66777
|
spanEndedByTimeout = true;
|
|
66560
66778
|
}, STREAM_IDLE_TIMEOUT_MS);
|
|
@@ -66591,7 +66809,15 @@ var LoggingContentGenerator = class {
|
|
|
66591
66809
|
}
|
|
66592
66810
|
const durationMs = Date.now() - startTime;
|
|
66593
66811
|
const consolidatedResponse = shouldCollectResponses ? this.consolidateGeminiResponsesForLogging(responses) : void 0;
|
|
66594
|
-
const
|
|
66812
|
+
const shouldCollectSensitiveSpanAttributes = !isInternal && span !== void 0 && this.shouldCollectSensitiveSpanAttributes();
|
|
66813
|
+
const streamModelOutput = shouldCollectSensitiveSpanAttributes ? this.extractResponseTextForSensitiveSpan(
|
|
66814
|
+
consolidatedResponse,
|
|
66815
|
+
this.config.getTelemetrySensitiveSpanAttributeMaxLength()
|
|
66816
|
+
) : void 0;
|
|
66817
|
+
const streamResponseText = isInternal ? void 0 : this.extractResponseText(
|
|
66818
|
+
consolidatedResponse,
|
|
66819
|
+
MAX_RESPONSE_TEXT_LENGTH
|
|
66820
|
+
);
|
|
66595
66821
|
if (!spanEndedByTimeout) {
|
|
66596
66822
|
runInSpan(
|
|
66597
66823
|
() => this.safelyLogApiResponse(
|
|
@@ -66603,8 +66829,8 @@ var LoggingContentGenerator = class {
|
|
|
66603
66829
|
streamResponseText
|
|
66604
66830
|
)
|
|
66605
66831
|
);
|
|
66606
|
-
if (
|
|
66607
|
-
|
|
66832
|
+
if (shouldCollectSensitiveSpanAttributes && span) {
|
|
66833
|
+
this.safelyAddModelOutputAttributes(span, streamModelOutput);
|
|
66608
66834
|
}
|
|
66609
66835
|
await runInSpan(
|
|
66610
66836
|
() => this.safelyLogOpenAIInteraction(
|
|
@@ -66659,7 +66885,8 @@ var LoggingContentGenerator = class {
|
|
|
66659
66885
|
subagentName: subagentName || void 0,
|
|
66660
66886
|
errorType: lastError ? getErrorType(lastError) : void 0,
|
|
66661
66887
|
errorStatusCode: lastError ? getErrorStatus(lastError) : void 0,
|
|
66662
|
-
...retrySnapshot
|
|
66888
|
+
...retrySnapshot,
|
|
66889
|
+
config: this.config
|
|
66663
66890
|
});
|
|
66664
66891
|
}
|
|
66665
66892
|
}
|
|
@@ -66812,40 +67039,84 @@ var LoggingContentGenerator = class {
|
|
|
66812
67039
|
];
|
|
66813
67040
|
return consolidated;
|
|
66814
67041
|
}
|
|
66815
|
-
extractResponseText(response) {
|
|
66816
|
-
const parts = response?.candidates?.[0]?.content?.parts;
|
|
66817
|
-
if (!parts?.length) {
|
|
66818
|
-
return void 0;
|
|
66819
|
-
}
|
|
67042
|
+
extractResponseText(response, maxLength) {
|
|
66820
67043
|
let text = "";
|
|
66821
|
-
let hasText = false;
|
|
66822
67044
|
let truncated = false;
|
|
66823
|
-
const
|
|
66824
|
-
|
|
67045
|
+
const maxPrefixLength = Math.max(
|
|
67046
|
+
0,
|
|
67047
|
+
maxLength - RESPONSE_TEXT_TRUNCATION_SUFFIX.length
|
|
67048
|
+
);
|
|
67049
|
+
const hasText = this.forEachVisibleResponseText(response, (partText) => {
|
|
66825
67050
|
if (truncated) {
|
|
66826
67051
|
return;
|
|
66827
67052
|
}
|
|
66828
|
-
const remaining =
|
|
67053
|
+
const remaining = maxPrefixLength - text.length;
|
|
66829
67054
|
if (partText.length <= remaining) {
|
|
66830
67055
|
text += partText;
|
|
66831
67056
|
return;
|
|
66832
67057
|
}
|
|
66833
67058
|
text += partText.slice(0, Math.max(0, remaining));
|
|
66834
67059
|
truncated = true;
|
|
66835
|
-
}
|
|
67060
|
+
});
|
|
67061
|
+
if (!hasText) {
|
|
67062
|
+
return void 0;
|
|
67063
|
+
}
|
|
67064
|
+
return truncated ? `${text}${RESPONSE_TEXT_TRUNCATION_SUFFIX}` : text;
|
|
67065
|
+
}
|
|
67066
|
+
extractResponseTextForSensitiveSpan(response, maxLength) {
|
|
67067
|
+
let text = "";
|
|
67068
|
+
let originalLength = 0;
|
|
67069
|
+
const hasText = this.forEachVisibleResponseText(response, (partText) => {
|
|
67070
|
+
originalLength += partText.length;
|
|
67071
|
+
const remaining = maxLength - text.length;
|
|
67072
|
+
if (remaining > 0) {
|
|
67073
|
+
text += partText.slice(0, remaining);
|
|
67074
|
+
}
|
|
67075
|
+
});
|
|
67076
|
+
if (!hasText) {
|
|
67077
|
+
return void 0;
|
|
67078
|
+
}
|
|
67079
|
+
return { text, originalLength };
|
|
67080
|
+
}
|
|
67081
|
+
forEachVisibleResponseText(response, onText) {
|
|
67082
|
+
const parts = response?.candidates?.[0]?.content?.parts;
|
|
67083
|
+
if (!parts?.length) {
|
|
67084
|
+
return false;
|
|
67085
|
+
}
|
|
67086
|
+
let hasText = false;
|
|
66836
67087
|
for (const part of parts) {
|
|
66837
|
-
|
|
66838
|
-
|
|
67088
|
+
const text = this.getVisibleResponsePartText(part);
|
|
67089
|
+
if (text === void 0) {
|
|
66839
67090
|
continue;
|
|
66840
67091
|
}
|
|
66841
|
-
|
|
66842
|
-
|
|
66843
|
-
}
|
|
67092
|
+
hasText = true;
|
|
67093
|
+
onText(text);
|
|
66844
67094
|
}
|
|
66845
|
-
|
|
66846
|
-
|
|
67095
|
+
return hasText;
|
|
67096
|
+
}
|
|
67097
|
+
getVisibleResponsePartText(part) {
|
|
67098
|
+
if (typeof part === "string") {
|
|
67099
|
+
return part;
|
|
66847
67100
|
}
|
|
66848
|
-
|
|
67101
|
+
if ("text" in part && typeof part.text === "string" && !("thought" in part && part.thought)) {
|
|
67102
|
+
return part.text;
|
|
67103
|
+
}
|
|
67104
|
+
return void 0;
|
|
67105
|
+
}
|
|
67106
|
+
safelyAddModelOutputAttributes(span, modelOutput) {
|
|
67107
|
+
try {
|
|
67108
|
+
addModelOutputAttributes(
|
|
67109
|
+
this.config,
|
|
67110
|
+
span,
|
|
67111
|
+
modelOutput?.text,
|
|
67112
|
+
modelOutput?.originalLength
|
|
67113
|
+
);
|
|
67114
|
+
} catch (error) {
|
|
67115
|
+
debugLogger10.warn("Failed to add model output span attributes:", error);
|
|
67116
|
+
}
|
|
67117
|
+
}
|
|
67118
|
+
shouldCollectSensitiveSpanAttributes() {
|
|
67119
|
+
return areSensitiveSpanAttributesEnabled(this.config);
|
|
66849
67120
|
}
|
|
66850
67121
|
async countTokens(req) {
|
|
66851
67122
|
return this.wrapped.countTokens(req);
|
|
@@ -67227,11 +67498,11 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
67227
67498
|
let baseGenerator;
|
|
67228
67499
|
try {
|
|
67229
67500
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
67230
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
67501
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-4WUVA3Q2.js");
|
|
67231
67502
|
baseGenerator = createOpenAIContentGenerator(generatorConfig, config);
|
|
67232
67503
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
67233
|
-
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-
|
|
67234
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
67504
|
+
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-6HNGHALT.js");
|
|
67505
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-MVYYR44B.js");
|
|
67235
67506
|
try {
|
|
67236
67507
|
const qwenClient = await getQwenOauthClient(
|
|
67237
67508
|
config,
|
|
@@ -67249,10 +67520,10 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
67249
67520
|
throw new Error(error instanceof Error ? error.message : String(error));
|
|
67250
67521
|
}
|
|
67251
67522
|
} else if (authType === "anthropic" /* USE_ANTHROPIC */) {
|
|
67252
|
-
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-
|
|
67523
|
+
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-KWSJAQ7B.js");
|
|
67253
67524
|
baseGenerator = createAnthropicContentGenerator(generatorConfig, config);
|
|
67254
67525
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
67255
|
-
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-
|
|
67526
|
+
const { createGeminiContentGenerator } = await import("./geminiContentGenerator-ZVWRHXOO.js");
|
|
67256
67527
|
baseGenerator = createGeminiContentGenerator(generatorConfig, config);
|
|
67257
67528
|
} else {
|
|
67258
67529
|
throw new Error(
|
|
@@ -67701,7 +67972,8 @@ var QwenLogger = class _QwenLogger {
|
|
|
67701
67972
|
properties: {
|
|
67702
67973
|
model: event.model,
|
|
67703
67974
|
prompt_id: event.prompt_id,
|
|
67704
|
-
auth_type: event.auth_type
|
|
67975
|
+
auth_type: event.auth_type,
|
|
67976
|
+
loop_wakeups_cancelled: event.loop_wakeups_cancelled
|
|
67705
67977
|
}
|
|
67706
67978
|
});
|
|
67707
67979
|
this.enqueueLogEvent(rumEvent);
|
|
@@ -68847,7 +69119,9 @@ function logToolOutputTruncated(config, event) {
|
|
|
68847
69119
|
const attributes = {
|
|
68848
69120
|
...getCommonAttributes(config),
|
|
68849
69121
|
...event,
|
|
68850
|
-
|
|
69122
|
+
// event class's `eventName` (short, no prefix) leaks via spread — override with
|
|
69123
|
+
// full namespaced constant for OTel compliance. Same pattern as other event loggers.
|
|
69124
|
+
"event.name": EVENT_TOOL_OUTPUT_TRUNCATED,
|
|
68851
69125
|
"event.timestamp": (/* @__PURE__ */ new Date()).toISOString()
|
|
68852
69126
|
};
|
|
68853
69127
|
const logger = import_api_logs2.logs.getLogger(SERVICE_NAME);
|
|
@@ -69411,6 +69685,14 @@ function logSkillLaunch(config, event) {
|
|
|
69411
69685
|
logger.emit(logRecord);
|
|
69412
69686
|
}
|
|
69413
69687
|
__name(logSkillLaunch, "logSkillLaunch");
|
|
69688
|
+
function recordSkillInvocation(config, event) {
|
|
69689
|
+
uiTelemetryService.recordSkillInvocation(
|
|
69690
|
+
event.skillName,
|
|
69691
|
+
event.success,
|
|
69692
|
+
config.getSessionId()
|
|
69693
|
+
);
|
|
69694
|
+
}
|
|
69695
|
+
__name(recordSkillInvocation, "recordSkillInvocation");
|
|
69414
69696
|
function logUserFeedback(config, event) {
|
|
69415
69697
|
const uiEvent = {
|
|
69416
69698
|
...event,
|
|
@@ -69989,6 +70271,9 @@ export {
|
|
|
69989
70271
|
EVENT_TOOL_CALL,
|
|
69990
70272
|
EVENT_API_ERROR,
|
|
69991
70273
|
EVENT_API_RESPONSE,
|
|
70274
|
+
DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
|
|
70275
|
+
SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT,
|
|
70276
|
+
isValidSensitiveSpanAttributeMaxLength,
|
|
69992
70277
|
MAIN_SOURCE,
|
|
69993
70278
|
subagentNameContext,
|
|
69994
70279
|
UiTelemetryService,
|
|
@@ -70081,6 +70366,7 @@ export {
|
|
|
70081
70366
|
SemanticAttributes,
|
|
70082
70367
|
sanitizeHookName,
|
|
70083
70368
|
QwenLogger,
|
|
70369
|
+
areSensitiveSpanAttributesEnabled,
|
|
70084
70370
|
truncateContent,
|
|
70085
70371
|
addUserPromptAttributes,
|
|
70086
70372
|
addSystemPromptAttributes,
|
|
@@ -70165,6 +70451,7 @@ export {
|
|
|
70165
70451
|
logExtensionDisable,
|
|
70166
70452
|
logAuth,
|
|
70167
70453
|
logSkillLaunch,
|
|
70454
|
+
recordSkillInvocation,
|
|
70168
70455
|
logUserFeedback,
|
|
70169
70456
|
logArenaSessionStarted,
|
|
70170
70457
|
logArenaAgentCompleted,
|