@qwen-code/qwen-code 0.21.0 → 0.21.1-nightly.20260730.1643a6c9a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +39 -28
- package/bundled/qc-helper/docs/features/channels/_meta.ts +2 -0
- package/bundled/qc-helper/docs/features/channels/github.md +117 -0
- package/bundled/qc-helper/docs/features/channels/gitlab.md +171 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +61 -6
- package/bundled/qc-helper/docs/features/code-review.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +70 -15
- package/bundled/qc-helper/docs/features/mcp.md +9 -1
- package/bundled/qc-helper/docs/features/scheduled-tasks.md +3 -1
- package/bundled/qc-helper/docs/features/sub-agents.md +20 -0
- package/bundled/qc-helper/docs/qwen-serve.md +11 -7
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
- package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
- package/bundled/review/DESIGN.md +19 -0
- package/bundled/review/SKILL.md +120 -61
- package/chunks/MaxSizedBox-H77LGFDG.js +86 -0
- package/chunks/{StandaloneSessionPicker-BIRMPLRD.js → StandaloneSessionPicker-NGKLCYX4.js} +68 -67
- package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-DFVPFQ6C.js} +2 -2
- package/chunks/{acpAgent-6J2U72PQ.js → acpAgent-RUN53PRW.js} +1381 -543
- package/chunks/agent-4CFRD2OG.js +82 -0
- package/chunks/agent-headless-XPUCIZLL.js +76 -0
- package/chunks/{anthropicContentGenerator-75BKLTSP.js → anthropicContentGenerator-V2QOGVYD.js} +79 -27
- package/chunks/{artifact-tool-Y5T7GG7F.js → artifact-tool-6K6U7XYJ.js} +4 -4
- package/chunks/{askUserQuestion-2H6747FR.js → askUserQuestion-GD2IJJ7I.js} +4 -4
- package/chunks/bridge-B2YJLSLT.js +92 -0
- package/chunks/{build-RV63TIRH.js → build-GDBLPA24.js} +1 -1
- package/chunks/{ca-25EDXPFZ.js → ca-6W3SK7OQ.js} +6 -1
- package/chunks/channel-management-service-RAPKQK24.js +418 -0
- package/chunks/channel-settings-store-KJQKY6NN.js +89 -0
- package/chunks/{channel-worker-group-2ZD7TVAT.js → channel-worker-group-7SZ7MR3K.js} +11 -6
- package/chunks/{channel-worker-manager-4OA4BCGB.js → channel-worker-manager-RN5KJYPF.js} +11 -6
- package/chunks/{channel-worker-supervisor-V7KCFJTS.js → channel-worker-supervisor-CABBXYHK.js} +7 -5
- package/chunks/{chunk-M5JM7OSF.js → chunk-2DN4J57Y.js} +2 -3
- package/chunks/{chunk-6GMVPFB2.js → chunk-2IIJTXYF.js} +45 -16
- package/chunks/{chunk-BPJSQIJX.js → chunk-2J3OJGTL.js} +0 -2
- package/chunks/{chunk-EPDRMGT4.js → chunk-2LKVPASC.js} +4 -28
- package/chunks/{chunk-PWTZEM3C.js → chunk-2LQTH543.js} +3 -37
- package/chunks/{chunk-CIKQ7KKO.js → chunk-2Q4CZ3V6.js} +713 -419
- package/chunks/{chunk-HIJQF5B5.js → chunk-3L2SPEBH.js} +1 -1
- package/chunks/{chunk-JXJFVC6E.js → chunk-3QDXECUB.js} +46 -11
- package/chunks/{chunk-PSOO6YXD.js → chunk-3RMX26V7.js} +9 -7
- package/chunks/{chunk-PC6JANNU.js → chunk-4755HD5V.js} +4 -4
- package/chunks/{chunk-GSN55ZRI.js → chunk-4D3MHM5F.js} +19 -7
- package/chunks/{chunk-EBJQ6AXW.js → chunk-4FQ4OKOU.js} +260 -14
- package/chunks/{chunk-BIQWWWJN.js → chunk-4G2BISNC.js} +1 -1
- package/chunks/{chunk-IKYJHJNF.js → chunk-5EHIP3GX.js} +3 -3
- package/chunks/chunk-5IDU2UGL.js +2196 -0
- package/chunks/{chunk-DHHOYAPR.js → chunk-5TBMQLGG.js} +7 -7
- package/chunks/{chunk-A4UCTEB5.js → chunk-5WV5S2GT.js} +0 -1
- package/chunks/chunk-5YKDXHUY.js +463 -0
- package/chunks/{chunk-K36B6G2O.js → chunk-5ZEFGTII.js} +5 -5
- package/chunks/{chunk-K4XWPEWB.js → chunk-64LQLPL7.js} +4 -33
- package/chunks/{chunk-TGILQ3YH.js → chunk-6CH6PHMZ.js} +141 -64
- package/chunks/chunk-6FMJLI5M.js +1591 -0
- package/chunks/chunk-6MPDY6ZG.js +76 -0
- package/chunks/{chunk-2NH6DYI4.js → chunk-6OF62NPQ.js} +12 -12
- package/chunks/{chunk-JZA3JUDJ.js → chunk-6QIGFD5W.js} +1 -1
- package/chunks/{chunk-ETSW4KLJ.js → chunk-72E7TSGG.js} +2 -2
- package/chunks/{chunk-OHNBB4XR.js → chunk-75GFAX4R.js} +1 -1
- package/chunks/{chunk-UDX5OBWR.js → chunk-77IMMLN2.js} +94 -4
- package/chunks/{chunk-TEHGS6UP.js → chunk-7A4V5CJY.js} +154 -16
- package/chunks/{chunk-QAF7NMK7.js → chunk-7BV2P4S3.js} +1 -1
- package/chunks/{chunk-RIBKPMRP.js → chunk-7RFNMXPU.js} +19 -6
- package/chunks/{chunk-KMQ33DO4.js → chunk-7UKQW4JU.js} +4 -4
- package/chunks/{chunk-A5L3JMUA.js → chunk-7XATOOE7.js} +18 -4
- package/chunks/{chunk-5I2IWRSH.js → chunk-A3NDJ5SB.js} +2 -2
- package/chunks/{chunk-JLU636DO.js → chunk-ALMR3E6Q.js} +1 -0
- package/chunks/{chunk-TPRQ7RZH.js → chunk-ANND7YTH.js} +2341 -940
- package/chunks/{chunk-PJIZUQVC.js → chunk-AZQ3DT76.js} +2 -2
- package/chunks/{chunk-KIM5GUMA.js → chunk-B47WVQ7T.js} +400 -162
- package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
- package/chunks/{chunk-BJX6ZSUK.js → chunk-BCZFQXWK.js} +2 -2
- package/chunks/{chunk-BKHWX6I2.js → chunk-CAEQL6GZ.js} +11 -3
- package/chunks/{chunk-J56UI34H.js → chunk-CI2PGI7Z.js} +4 -2
- package/chunks/{chunk-2SCDWPXI.js → chunk-CUWGNCKW.js} +5 -5
- package/chunks/{chunk-TOFQCPDC.js → chunk-CVHIL5IG.js} +4 -5
- package/chunks/{chunk-VRYUBFMC.js → chunk-CYIBLZBR.js} +1 -1
- package/chunks/{chunk-YBL3QUDD.js → chunk-CYPJYJIX.js} +1 -1
- package/chunks/{chunk-XVNQMZ2I.js → chunk-DGEIYUC3.js} +0 -1
- package/chunks/{chunk-7MVVZO4N.js → chunk-DGV27C34.js} +4 -4
- package/chunks/{chunk-BPZALHVR.js → chunk-DI35ZN7T.js} +1 -1
- package/chunks/chunk-DZLYR4U3.js +1252 -0
- package/chunks/{chunk-PHOF65IG.js → chunk-EYGWU66Z.js} +41594 -50416
- package/chunks/{chunk-7ZCNENPP.js → chunk-FANRZEAJ.js} +1 -1
- package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
- package/chunks/{chunk-5NBDS5S6.js → chunk-FCYYAB4S.js} +162 -7
- package/chunks/{chunk-L26JL52R.js → chunk-FH6SU2OG.js} +48 -61
- package/chunks/{chunk-OKY7HXPG.js → chunk-FNMZK765.js} +2 -2
- package/chunks/chunk-FYJ7W2PI.js +194 -0
- package/chunks/{chunk-BULDBTYC.js → chunk-G7XXKQYS.js} +3 -28
- package/chunks/{chunk-L5UHQJTJ.js → chunk-GATT5TKW.js} +1 -1
- package/chunks/{chunk-MVSUYZDT.js → chunk-GKWLJW7Z.js} +4 -4
- package/chunks/{chunk-VAK25FTU.js → chunk-GKX7E4CO.js} +1 -1
- package/chunks/{chunk-LS77BEZP.js → chunk-GLCZKT5V.js} +1 -5
- package/chunks/{chunk-FSITMZJH.js → chunk-GOXRFPH5.js} +18 -9
- package/chunks/{chunk-3RN6GBKS.js → chunk-HFAV3POZ.js} +1 -1
- package/chunks/{chunk-YX324OPW.js → chunk-HGQIL6NG.js} +1 -1
- package/chunks/{chunk-55DJUCI2.js → chunk-HOSENQJL.js} +53 -43
- package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
- package/chunks/{chunk-YH6G52F2.js → chunk-I3V7RKRZ.js} +4 -4
- package/chunks/{chunk-RF3EXIHJ.js → chunk-IQMYZTDI.js} +30 -19
- package/chunks/{chunk-RWTEFFPU.js → chunk-JCJ7LKNA.js} +6140 -5616
- package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
- package/chunks/{chunk-63P4EL5V.js → chunk-JMONIXMJ.js} +1 -1
- package/chunks/{chunk-OFDOK3VM.js → chunk-JQTW5CA5.js} +8 -13
- package/chunks/chunk-JYBU6YUE.js +378 -0
- package/chunks/chunk-JZQUOT4B.js +81 -0
- package/chunks/{chunk-Q4M4MDQ4.js → chunk-K4GTOFKY.js} +1 -1
- package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
- package/chunks/{chunk-YPE6A4GC.js → chunk-KLESQCW6.js} +2 -2
- package/chunks/{chunk-JVPM2ULZ.js → chunk-KQGB3ME2.js} +6 -6
- package/chunks/{chunk-2W3OOD4W.js → chunk-L55JWS76.js} +6 -3
- package/chunks/{chunk-RHLZR4E5.js → chunk-LGAOC3ZS.js} +1 -1
- package/chunks/{chunk-LB6DUZ26.js → chunk-LI53FGDL.js} +258 -184
- package/chunks/{chunk-2X55UKQE.js → chunk-LIJID5PD.js} +3 -3
- package/chunks/{chunk-NH6KE4JX.js → chunk-LW3RFMG7.js} +3 -3
- package/chunks/{chunk-MZAXJAUM.js → chunk-LW67T6GH.js} +1 -1
- package/chunks/{chunk-RZIX2G32.js → chunk-M4O2DCE3.js} +1 -1
- package/chunks/{chunk-4WIZGAH3.js → chunk-MFW7APBA.js} +6 -58
- package/chunks/{chunk-VIA5XA4U.js → chunk-MKQOXP2O.js} +3 -1
- package/chunks/{chunk-FODK6UMO.js → chunk-MPHPFVKK.js} +0 -2
- package/chunks/{chunk-JESCGQM3.js → chunk-NAVJD2PQ.js} +8 -7
- package/chunks/{chunk-H5FFA6TH.js → chunk-NOKIVHOL.js} +16 -3
- package/chunks/{chunk-6OUGMXDC.js → chunk-NWNEANAT.js} +7 -7
- package/chunks/{chunk-LQIW3YFY.js → chunk-OAOPCTG6.js} +9 -7
- package/chunks/chunk-OCPBI7J5.js +18 -0
- package/chunks/{chunk-WCXCRJYB.js → chunk-OCUM7TJA.js} +1 -1
- package/chunks/{chunk-R5AFZNQW.js → chunk-OIG257JR.js} +14 -7
- package/chunks/{chunk-IKCX4CCL.js → chunk-OINT3ZNV.js} +118 -95
- package/chunks/{chunk-E5TUC6CA.js → chunk-OKF7JF3R.js} +3 -3
- package/chunks/chunk-PEK4ARMZ.js +319 -0
- package/chunks/chunk-PGHTM673.js +363 -0
- package/chunks/{record-artifact-RQKFYO5B.js → chunk-PMGFWLAZ.js} +22 -7
- package/chunks/{chunk-FNQ6T3CV.js → chunk-PONHVBRT.js} +10 -7
- package/chunks/{chunk-VDDGDZMA.js → chunk-QHWCP53L.js} +14 -7
- package/chunks/{chunk-ZFDTEDCF.js → chunk-RF4FA22B.js} +6 -6
- package/chunks/{chunk-6FGBXPWM.js → chunk-RPLGZJV2.js} +38 -44
- package/chunks/{chunk-NIBLUX3Y.js → chunk-RQLRERVY.js} +148 -21
- package/chunks/{chunk-LKEJ26GS.js → chunk-RWZPM2BP.js} +16 -11
- package/chunks/{chunk-6AM5D4ME.js → chunk-S6LOFUVP.js} +0 -12
- package/chunks/{chunk-IO3IX5Q4.js → chunk-S7G7Z3MP.js} +1 -1
- package/chunks/{chunk-MUP3T3AD.js → chunk-SGFT55XI.js} +1 -35
- package/chunks/{chunk-PWVFN2LF.js → chunk-SMWPUA2A.js} +1 -1
- package/chunks/{chunk-U7M2DMGW.js → chunk-SWRHIQDT.js} +130 -5
- package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
- package/chunks/chunk-T26EAKDL.js +13 -0
- package/chunks/chunk-T3CHYWJZ.js +758 -0
- package/chunks/{chunk-SQCQ4KO2.js → chunk-TCBP4Q3K.js} +380 -317
- package/chunks/{chunk-ZNAUOR2I.js → chunk-TJHLQ45J.js} +2 -2
- package/chunks/{chunk-LK7CHLVP.js → chunk-U4VTUMMK.js} +0 -60
- package/chunks/{chunk-NL7LTRLR.js → chunk-UHUSJ6X7.js} +29 -68
- package/chunks/{chunk-LH2BYDQ5.js → chunk-UJBURGBH.js} +18 -12
- package/chunks/{chunk-ZOIFNCKL.js → chunk-UPUG4GXM.js} +3 -23
- package/chunks/{chunk-FQK6JAFG.js → chunk-URPQ5QZM.js} +4 -4
- package/chunks/{chunk-M4FMGVY4.js → chunk-V47JGII4.js} +3 -3
- package/chunks/{chunk-Y34KJKDC.js → chunk-VBX5IFEN.js} +1 -1
- package/chunks/{chunk-USTWD7QV.js → chunk-W4MIWP6M.js} +26 -16
- package/chunks/{chunk-HTR4WV6U.js → chunk-W4RQUHY3.js} +31 -1
- package/chunks/{chunk-J24WCGIN.js → chunk-W7D7QTCH.js} +4 -4
- package/chunks/{chunk-DLWL3Z7A.js → chunk-WBSMNTSV.js} +3 -3
- package/chunks/{chunk-2JZBVYTU.js → chunk-WZRWHXFE.js} +1 -8
- package/chunks/{chunk-COH43MRJ.js → chunk-XCGIMOLN.js} +27 -1
- package/chunks/{chunk-IJTOWOD7.js → chunk-XTLTBZIH.js} +83 -9
- package/chunks/{chunk-H4SBPHSA.js → chunk-XVYRMUI5.js} +3 -3
- package/chunks/{chunk-3QMGYBFN.js → chunk-XWWKIXVD.js} +1 -80
- package/chunks/{chunk-VULLI6WQ.js → chunk-XZB72HUB.js} +6 -6
- package/chunks/{chunk-3SJ43L4W.js → chunk-XZC5VLBZ.js} +2 -0
- package/chunks/{chunk-UUUTRMI2.js → chunk-Y4IHBGBP.js} +1 -1
- package/chunks/{chunk-PR75REBZ.js → chunk-Y6AXW2OG.js} +12 -82
- package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
- package/chunks/{chunk-MB4MZHMJ.js → chunk-YX4DHA6S.js} +211 -522
- package/chunks/chunk-Z4X5MTRT.js +133 -0
- package/chunks/{chunk-UW5EOVUN.js → chunk-ZBVS26BY.js} +4 -4
- package/chunks/{chunk-ZD6UTE4A.js → chunk-ZHBO7WVX.js} +1 -1
- package/chunks/{chunk-7JURR4JT.js → chunk-ZM63TFJH.js} +167 -81
- package/chunks/{chunk-HTO4JFDZ.js → chunk-ZPJWUGCS.js} +0 -1
- package/chunks/{chunk-X5XDDSSH.js → chunk-ZPZ7ZJEE.js} +28 -5
- package/chunks/{chunk-ACY3A37B.js → chunk-ZS6Q44DY.js} +23 -18
- package/chunks/{chunk-ZJHVAS7M.js → chunk-ZWUDSQBD.js} +4 -5
- package/chunks/{computer-use-SOQ4E3VX.js → computer-use-HRVGY7OB.js} +50 -49
- package/chunks/{config-utils-7V7GGIW6.js → config-utils-RUFMEUYD.js} +4 -3
- package/chunks/contextCommand-V3N7Q3UM.js +81 -0
- package/chunks/core-runtime-QGEW6WBW.js +135 -0
- package/chunks/{create-sub-session-IWW2IZ2T.js → create-sub-session-SBYUMSSS.js} +3 -3
- package/chunks/{create-sub-session-QRJLW5BV.js → create-sub-session-ZUWDNFO2.js} +47 -46
- package/chunks/{cron-create-YIID5XAW.js → cron-create-2QK6TCEC.js} +6 -6
- package/chunks/{cron-delete-ZVHYCEP2.js → cron-delete-FDCDFYMG.js} +5 -5
- package/chunks/{cron-list-XEGS463Q.js → cron-list-XN3WVBTP.js} +6 -6
- package/chunks/{daemon-YO6433NF.js → daemon-QH2G5B5E.js} +403 -17
- package/chunks/daemon-status-provider-MB54AMNV.js +91 -0
- package/chunks/daemon-trust-policy-3VFDF5LU.js +86 -0
- package/chunks/daemon-trust-policy-monitor-4KX2OK7G.js +173 -0
- package/chunks/{de-HGRCYDEJ.js → de-SY6O76BF.js} +6 -1
- package/chunks/deferred-core-runtime-UIJL6EEU.js +90 -0
- package/chunks/{dist-F6IBUDR4.js → dist-2PERFI23.js} +12 -9
- package/chunks/dist-AOOUOG5S.js +4389 -0
- package/chunks/{dist-46NQKLTW.js → dist-OAOC5OV4.js} +2 -2
- package/chunks/{dist-YFNEUWSE.js → dist-PVEAFLHY.js} +5 -4
- package/chunks/{dist-AIKFMUKK.js → dist-SL2LUMML.js} +1449 -14
- package/chunks/dist-ULIG4M5H.js +13415 -0
- package/chunks/{dist-WEAHOXDM.js → dist-WGMNT3JQ.js} +2 -1
- package/chunks/{dist-BBLXMS3N.js → dist-ZHXOBXDN.js} +3 -3
- package/chunks/earlyInputCapture-QBC4ZCV7.js +83 -0
- package/chunks/{edit-OBDSQURM.js → edit-7ABV72VV.js} +48 -47
- package/chunks/{en-MTWBNGDO.js → en-NBK3JKCE.js} +9 -1
- package/chunks/{enter-worktree-U6MRPQ2P.js → enter-worktree-4NOWT6I2.js} +48 -47
- package/chunks/{enterPlanMode-BC5QUZZ2.js → enterPlanMode-4NOQ6A56.js} +48 -47
- package/chunks/{environment-W5UFC2CH.js → environment-ABMFNOJO.js} +49 -48
- package/chunks/errors-UAX4AR5Q.js +89 -0
- package/chunks/esm-K5FARBNI.js +5548 -0
- package/chunks/{exit-worktree-DGNYMECB.js → exit-worktree-CF2O5AQM.js} +48 -47
- package/chunks/exitPlanMode-5KEF5DLM.js +74 -0
- package/chunks/{fast-path-JJZFJANL.js → fast-path-RWZGR7A6.js} +16 -6
- package/chunks/{fr-45RLL55O.js → fr-4KG5V7UT.js} +6 -1
- package/chunks/{gemini-QS36EBZV.js → gemini-A4LXWU5S.js} +103 -98
- package/chunks/{geminiContentGenerator-AG4KB6CV.js → geminiContentGenerator-VPXAS3BM.js} +40 -11
- package/chunks/{getMachineId-bsd-V7W3GODC.js → getMachineId-bsd-FG7IUY6U.js} +1 -1
- package/chunks/{getMachineId-darwin-TDO75DQP.js → getMachineId-darwin-GLCJI2RA.js} +1 -1
- package/chunks/{getMachineId-linux-TF43WQT2.js → getMachineId-linux-O6OPPAKO.js} +1 -1
- package/chunks/{getMachineId-unsupported-ZGUO3TXT.js → getMachineId-unsupported-S6CKYVGC.js} +1 -1
- package/chunks/{getMachineId-win-ECFYZZFQ.js → getMachineId-win-X5SRNEH7.js} +1 -1
- package/chunks/{glob-V7R3PSK3.js → glob-P6ZPQOPR.js} +48 -47
- package/chunks/goal-tools-H2NHZKGN.js +335 -0
- package/chunks/{grep-QYPSK7OP.js → grep-56M3IJ36.js} +50 -48
- package/chunks/handleAutoUpdate-N3IMC273.js +82 -0
- package/chunks/i18n-UFV5QINW.js +98 -0
- package/chunks/{image-gen-Z3VPGKRC.js → image-gen-GPYAKETO.js} +12 -12
- package/chunks/initializer-OXWZKLEX.js +87 -0
- package/chunks/installationInfo-V2YEC52N.js +81 -0
- package/chunks/{ja-B7DF7DFG.js → ja-F3GSQXMF.js} +6 -1
- package/chunks/{keychain-token-storage-MDTG3WRM.js → keychain-token-storage-72IYCAZV.js} +3 -3
- package/chunks/lib-RUF3WZA6.js +9 -0
- package/chunks/list-UN6EJ6WB.js +90 -0
- package/chunks/{list-agents-5KJJHR6I.js → list-agents-R6KDXQR3.js} +3 -3
- package/chunks/loadedSettingsAdapter-LZK2PMOY.js +84 -0
- package/chunks/{loggingContentGenerator-HS3S5H3Q.js → loggingContentGenerator-PSFMRX7M.js} +78 -113
- package/chunks/{loop-wakeup-FXKNNYSY.js → loop-wakeup-3IQKCYAH.js} +7 -7
- package/chunks/{ls-NTK6VOQJ.js → ls-DKZ37A7N.js} +5 -5
- package/chunks/{lsp-2JI24STP.js → lsp-QNWN7KN3.js} +3 -3
- package/chunks/{managed-npm-update-JYEMMXA3.js → managed-npm-update-D2AO3F47.js} +48 -47
- package/chunks/mcp-A2VAOKMH.js +84 -0
- package/chunks/{monitor-R3ODH5U6.js → monitor-7EJ3WBER.js} +48 -47
- package/chunks/nonInteractiveCli-43LIVN4A.js +146 -0
- package/chunks/{notebook-edit-BNOK452R.js → notebook-edit-IQD53ULF.js} +48 -47
- package/chunks/{openaiContentGenerator-WMCU3O2H.js → openaiContentGenerator-YPCMNGEZ.js} +26 -27
- package/chunks/pidfile-3SOOBWZA.js +87 -0
- package/chunks/process-registry-2CHQBXH5.js +157 -0
- package/chunks/{processUtils-RT7UNCC2.js → processUtils-FGVHFR4V.js} +2 -2
- package/chunks/{pt-22Q3FP73.js → pt-EQ33KWEN.js} +6 -1
- package/chunks/{qwenContentGenerator-HHCRK4SX.js → qwenContentGenerator-M6YW4D6A.js} +53 -52
- package/chunks/{qwenOAuth2-OWLB5AKH.js → qwenOAuth2-XSYKLMNR.js} +10 -10
- package/chunks/read-file-XOMBFIS7.js +29 -0
- package/chunks/{read-mcp-resource-4DKQWGHD.js → read-mcp-resource-GFTWYXMK.js} +4 -4
- package/chunks/record-artifact-JANPGVS4.js +21 -0
- package/chunks/resumeHistoryUtils-E4EVA4PO.js +92 -0
- package/chunks/ripGrep-M4NYA6AM.js +74 -0
- package/chunks/{ru-FZCNZHDC.js → ru-7OZAUKGG.js} +6 -1
- package/chunks/{run-qwen-serve-FU6HEM4J.js → run-qwen-serve-QLCU2BAZ.js} +953 -248
- package/chunks/{runtime-XXRRTNP6.js → runtime-T36WUYIO.js} +57 -55
- package/chunks/{scheduler-G2ZS2Z7E.js → scheduler-C3J45Z5W.js} +47 -46
- package/chunks/{sdk-exporters-grpc-AK3LGHNO.js → sdk-exporters-grpc-54L4LS5L.js} +4 -4
- package/chunks/{sdk-exporters-http-FYBSUCPD.js → sdk-exporters-http-BFOKQFRD.js} +7 -7
- package/chunks/{sdk-impl-GMVPB7NB.js → sdk-impl-6CJ3JQZL.js} +14 -14
- package/chunks/{send-message-Q6OOR6BR.js → send-message-RJ2R4PIV.js} +6 -12
- package/chunks/serve-7SWJTL3K.js +90 -0
- package/chunks/{server-4UMH7OIZ.js → server-T2B64F4O.js} +3887 -852
- package/chunks/{session-K3O3Q2SV.js → session-D546I4HT.js} +99 -94
- package/chunks/{settings-CR2EWTBA.js → settings-ZQOOTRR7.js} +51 -50
- package/chunks/shell-5OR4RAKF.js +84 -0
- package/chunks/{skill-I3SDA4MB.js → skill-X4E5JMKV.js} +20 -21
- package/chunks/skill-settings-ZS3XPDMT.js +92 -0
- package/chunks/spawnChannel-MILVKB3G.js +83 -0
- package/chunks/standalone-update-UTYCSPUO.js +93 -0
- package/chunks/{startInteractiveUI-SLZGHRPH.js → startInteractiveUI-S4R5J4EN.js} +1220 -895
- package/chunks/{syntheticOutput-I3757IWH.js → syntheticOutput-355CB6CJ.js} +4 -4
- package/chunks/{task-create-N7WQSGYA.js → task-create-KUQIS7RA.js} +10 -10
- package/chunks/{task-list-FOPULZEP.js → task-list-5XNNGTF4.js} +7 -7
- package/chunks/{task-stop-H6RHXFVQ.js → task-stop-4ROAOBXH.js} +3 -3
- package/chunks/{task-update-M57TFZJT.js → task-update-4FPFYGE3.js} +10 -10
- package/chunks/{team-create-YJALH5D2.js → team-create-MGD3Q7W4.js} +50 -49
- package/chunks/{team-delete-QE2UXJL7.js → team-delete-S2RCXA4P.js} +7 -7
- package/chunks/{team-plan-approval-34QFYKGN.js → team-plan-approval-VMVGLPDQ.js} +48 -47
- package/chunks/theme-manager-U4QE2YSY.js +78 -0
- package/chunks/{todoWrite-VQ7FKOHL.js → todoWrite-7WM3VDMY.js} +7 -7
- package/chunks/{tool-search-NF7GB6LE.js → tool-search-6T7VYTYZ.js} +19 -21
- package/chunks/total-session-admission-PLKO4EET.js +86 -0
- package/chunks/trustedFolders-QZU6BO46.js +96 -0
- package/chunks/{update-relaunch-WBUZJC5O.js → update-relaunch-NWPFNM5L.js} +5 -5
- package/chunks/updateCheck-KEOCGBZR.js +93 -0
- package/chunks/useAutoAcceptIndicator-O6XISZEA.js +94 -0
- package/chunks/{validateNonInterActiveAuth-3R223G3R.js → validateNonInterActiveAuth-WCHAHO75.js} +94 -89
- package/chunks/{version-HS7YSFHV.js → version-VP3VZ2BM.js} +1 -1
- package/chunks/{web-fetch-NKCSG7ZE.js → web-fetch-KM2FSOKS.js} +19 -21
- package/chunks/{web-search-S62WAP4S.js → web-search-WUR6PYBO.js} +13 -13
- package/chunks/{workflow-QAGU5RU4.js → workflow-S6XMX55R.js} +49 -48
- package/chunks/workspace-providers-status-JGIZRHVT.js +87 -0
- package/chunks/{workspace-registration-store-24JMHDGF.js → workspace-registration-store-JDEMOOFX.js} +1 -1
- package/chunks/workspace-registry-NIL6253M.js +94 -0
- package/chunks/workspace-service-UYB6MMWL.js +101 -0
- package/chunks/workspace-skills-status-GSJRWER4.js +87 -0
- package/chunks/workspace-trust-reconciler-V2TICK2A.js +347 -0
- package/chunks/write-file-QHD5ELJS.js +76 -0
- package/chunks/xterm-headless-NTYVIBT3.js +3475 -0
- package/chunks/{zh-LUIGBD55.js → zh-H3YDK5QW.js} +9 -1
- package/chunks/{zh-TW-F5KG2IYD.js → zh-TW-JYCP7XUA.js} +9 -1
- package/chunks/zoom-image-236QXDRH.js +224 -0
- package/cli.js +13 -13
- package/locales/ca.js +7 -2
- package/locales/de.js +7 -2
- package/locales/en.js +10 -2
- package/locales/fr.js +7 -2
- package/locales/ja.js +7 -2
- package/locales/pt.js +7 -2
- package/locales/ru.js +7 -2
- package/locales/zh-TW.js +10 -2
- package/locales/zh.js +10 -2
- package/package.json +5 -4
- package/web-shell/assets/{arc-DcbWnB9T.js → arc-DQN8gc5j.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-kMMF5sud.js → architectureDiagram-3BPJPVTR-C6Z867cc.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-Htl9vTJS.js → blockDiagram-GPEHLZMM-BkyNf4_J.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BnZnm0mQ.js → c4Diagram-AAUBKEIU-BA7aurej.js} +1 -1
- package/web-shell/assets/channel-YzToqAUt.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DziB7kDG.js → chunk-2J33WTMH-Dp_LERgD.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-CmkD8daw.js → chunk-4BX2VUAB-CCwcnkeW.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CHAd9A_U.js → chunk-55IACEB6-e0ytWiup.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-Dqaam3fE.js → chunk-727SXJPM-DBoZrQ--.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-D_-saBYM.js → chunk-AQP2D5EJ-dmHU5zKq.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-B9r_veWD.js → chunk-FMBD7UC4-PP3UKzsN.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-B3EaCSpL.js → chunk-ND2GUHAM-Bjy0PNsP.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-CYq8x9mn.js → chunk-QZHKN3VN-CM0H6wrK.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-_le9LVNU.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-_le9LVNU.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-D0ng4uiB.js → cose-bilkent-S5V4N54A-B1B_Fozz.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DCZollQv.js → dagre-BM42HDAG-DGFk7aBN.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-Dfk2pWS0.js → diagram-2AECGRRQ-VdlYGHdV.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-kX38ltWR.js → diagram-5GNKFQAL-xcEMWz6m.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CJz2vsXh.js → diagram-KO2AKTUF-B6Dd23eT.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BvMLZm_7.js → diagram-LMA3HP47-C3bjiNTc.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-l7kfStkO.js → diagram-OG6HWLK6-ChXfX8H6.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-BSVa8GGT.js → erDiagram-TEJ5UH35-D7RBC3FG.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-CoawKIXH.js → flowDiagram-I6XJVG4X-bNsx8Fqb.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFUDH0zF.js → ganttDiagram-6RSMTGT7-C_m4liOj.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Y2pvpT4e.js → gitGraphDiagram-PVQCEYII-CzAqOmDr.js} +1 -1
- package/web-shell/assets/{index-D0GX0zZf.js → index-BArKGy43.js} +1 -1
- package/web-shell/assets/index-C2GE3DAF.js +74 -0
- package/web-shell/assets/index-_dIfJ82-.js +1625 -0
- package/web-shell/assets/index-heP6zO4t.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CU8_zLiX.js → infoDiagram-5YYISTIA-BBw9H4RT.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AVQiV0DU.js → ishikawaDiagram-YF4QCWOH-C8Ns7cDb.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DQ0VSKa3.js → journeyDiagram-JHISSGLW-BkW5h5si.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BqnWqsE_.js → kanban-definition-UN3LZRKU-IUhsF7tq.js} +1 -1
- package/web-shell/assets/{linear-BkoihsaA.js → linear-CeDsMMjT.js} +1 -1
- package/web-shell/assets/{mermaid.core-5RJs-31j.js → mermaid.core-VTPU82QL.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D33Bxnpd.js → mindmap-definition-RKZ34NQL-DVohXDmC.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-BuEAw3BH.js → pieDiagram-4H26LBE5-SxBFaID8.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Kox_usEq.js → quadrantDiagram-W4KKPZXB-BJt8o3Cs.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CNjeUif0.js → requirementDiagram-4Y6WPE33-B02G8M7E.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BCd2OL_U.js → sankeyDiagram-5OEKKPKP-CzMCGPib.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CF2ZTsz0.js → sequenceDiagram-3UESZ5HK-CzbJgSkE.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-qenSzHtm.js → stateDiagram-AJRCARHV-DhiXBOKS.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DILbnhvR.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B5DyWdgs.js → timeline-definition-PNZ67QCA-Btj5idQV.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DqP4I_o_.js → vennDiagram-CIIHVFJN-CJz2YZq4.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CJe2e4mg.js → wardley-L42UT6IY-CavIou7m.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BMDSw-Rr.js → wardleyDiagram-YWT4CUSO-BRf62x8X.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BTVZYkxD.js → xychartDiagram-2RQKCTM6-ItOGZPM_.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/MaxSizedBox-5DPPWPGT.js +0 -85
- package/chunks/agent-6ODUANDO.js +0 -81
- package/chunks/agent-headless-7BYQTMHW.js +0 -75
- package/chunks/bridge-ZUB64FAE.js +0 -90
- package/chunks/chunk-LEH5C7FV.js +0 -232
- package/chunks/chunk-SZRN75WQ.js +0 -29
- package/chunks/chunk-UGYMA4EI.js +0 -219
- package/chunks/chunk-Z2BC6UJ5.js +0 -8575
- package/chunks/contextCommand-JLHYA34Z.js +0 -80
- package/chunks/daemon-status-provider-2233Q37D.js +0 -89
- package/chunks/earlyInputCapture-A7NDU3PF.js +0 -82
- package/chunks/errors-M7CLORXH.js +0 -88
- package/chunks/exitPlanMode-GXTBWQAR.js +0 -403
- package/chunks/handleAutoUpdate-6DBEZYPV.js +0 -81
- package/chunks/i18n-VUJJZIMU.js +0 -97
- package/chunks/initializer-UWAK5U5O.js +0 -86
- package/chunks/installationInfo-6O2YAA52.js +0 -80
- package/chunks/list-GB4ESM3T.js +0 -89
- package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +0 -83
- package/chunks/mcp-6DBDJPFU.js +0 -83
- package/chunks/nonInteractiveCli-MOYCYBBU.js +0 -141
- package/chunks/pidfile-TFRZZZIO.js +0 -86
- package/chunks/read-file-APMO3PSX.js +0 -31
- package/chunks/resumeHistoryUtils-6KRYEAWZ.js +0 -91
- package/chunks/ripGrep-BEJDEDXW.js +0 -73
- package/chunks/serve-7BSTXJ4T.js +0 -89
- package/chunks/shell-HH3PF3A2.js +0 -83
- package/chunks/spawnChannel-RWNDBXGA.js +0 -82
- package/chunks/src-GE4TTTML.js +0 -3147
- package/chunks/standalone-update-Q6WFRZZQ.js +0 -92
- package/chunks/theme-manager-SWRILQHI.js +0 -77
- package/chunks/total-session-admission-DLHHHLD3.js +0 -84
- package/chunks/trustedFolders-KHXHY6PY.js +0 -93
- package/chunks/updateCheck-RKL6M5XN.js +0 -92
- package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +0 -93
- package/chunks/workspace-providers-status-QSVZUETE.js +0 -86
- package/chunks/workspace-registry-UT4RBNBM.js +0 -88
- package/chunks/workspace-service-JFWRUS4V.js +0 -98
- package/chunks/workspace-skills-status-ZBBKJOI2.js +0 -85
- package/chunks/write-file-VHIXW5M7.js +0 -73
- package/web-shell/assets/channel-Cq7YKtfC.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +0 -1
- package/web-shell/assets/index-D9haPt0X.css +0 -5
- package/web-shell/assets/index-ckX9Pq5k.js +0 -1230
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +0 -1
- package/chunks/{chunk-TARRHLLG.js → chunk-QUGAUQGJ.js} +25 -25
- package/chunks/{chunk-U7ZFW55U.js → chunk-VOQXFAY5.js} +977 -977
- /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
|
|
5
4
|
EVENT_CHAT_COMPRESSION,
|
|
6
5
|
SERVICE_NAME,
|
|
7
6
|
SPAN_HOOK,
|
|
@@ -10,15 +9,14 @@ import {
|
|
|
10
9
|
SPAN_SUBAGENT,
|
|
11
10
|
SPAN_TOOL,
|
|
12
11
|
SPAN_TOOL_BLOCKED_ON_USER,
|
|
13
|
-
SPAN_TOOL_EXECUTION
|
|
14
|
-
|
|
15
|
-
} from "./chunk-BULDBTYC.js";
|
|
12
|
+
SPAN_TOOL_EXECUTION
|
|
13
|
+
} from "./chunk-G7XXKQYS.js";
|
|
16
14
|
import {
|
|
17
15
|
createDebugLogger,
|
|
18
16
|
getCurrentSessionId,
|
|
19
17
|
setSessionContext,
|
|
20
18
|
setShellTracePropagation
|
|
21
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-UHUSJ6X7.js";
|
|
22
20
|
import {
|
|
23
21
|
DiagLogLevel,
|
|
24
22
|
ROOT_CONTEXT,
|
|
@@ -31,7 +29,7 @@ import {
|
|
|
31
29
|
init_esm,
|
|
32
30
|
metrics,
|
|
33
31
|
trace
|
|
34
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-QUGAUQGJ.js";
|
|
35
33
|
import {
|
|
36
34
|
init_esbuild_shims
|
|
37
35
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -262,42 +260,6 @@ var PERFORMANCE_HISTOGRAM_DEFINITIONS = {
|
|
|
262
260
|
attributes: {}
|
|
263
261
|
}
|
|
264
262
|
};
|
|
265
|
-
var FileOperation = /* @__PURE__ */ ((FileOperation2) => {
|
|
266
|
-
FileOperation2["CREATE"] = "create";
|
|
267
|
-
FileOperation2["READ"] = "read";
|
|
268
|
-
FileOperation2["UPDATE"] = "update";
|
|
269
|
-
return FileOperation2;
|
|
270
|
-
})(FileOperation || {});
|
|
271
|
-
var PerformanceMetricType = /* @__PURE__ */ ((PerformanceMetricType2) => {
|
|
272
|
-
PerformanceMetricType2["STARTUP"] = "startup";
|
|
273
|
-
PerformanceMetricType2["MEMORY"] = "memory";
|
|
274
|
-
PerformanceMetricType2["CPU"] = "cpu";
|
|
275
|
-
PerformanceMetricType2["TOOL_EXECUTION"] = "tool_execution";
|
|
276
|
-
PerformanceMetricType2["API_REQUEST"] = "api_request";
|
|
277
|
-
PerformanceMetricType2["TOKEN_EFFICIENCY"] = "token_efficiency";
|
|
278
|
-
return PerformanceMetricType2;
|
|
279
|
-
})(PerformanceMetricType || {});
|
|
280
|
-
var MemoryMetricType = /* @__PURE__ */ ((MemoryMetricType2) => {
|
|
281
|
-
MemoryMetricType2["HEAP_USED"] = "heap_used";
|
|
282
|
-
MemoryMetricType2["HEAP_TOTAL"] = "heap_total";
|
|
283
|
-
MemoryMetricType2["EXTERNAL"] = "external";
|
|
284
|
-
MemoryMetricType2["RSS"] = "rss";
|
|
285
|
-
return MemoryMetricType2;
|
|
286
|
-
})(MemoryMetricType || {});
|
|
287
|
-
var ToolExecutionPhase = /* @__PURE__ */ ((ToolExecutionPhase2) => {
|
|
288
|
-
ToolExecutionPhase2["VALIDATION"] = "validation";
|
|
289
|
-
ToolExecutionPhase2["PREPARATION"] = "preparation";
|
|
290
|
-
ToolExecutionPhase2["EXECUTION"] = "execution";
|
|
291
|
-
ToolExecutionPhase2["RESULT_PROCESSING"] = "result_processing";
|
|
292
|
-
return ToolExecutionPhase2;
|
|
293
|
-
})(ToolExecutionPhase || {});
|
|
294
|
-
var ApiRequestPhase = /* @__PURE__ */ ((ApiRequestPhase2) => {
|
|
295
|
-
ApiRequestPhase2["REQUEST_PREPARATION"] = "request_preparation";
|
|
296
|
-
ApiRequestPhase2["NETWORK_LATENCY"] = "network_latency";
|
|
297
|
-
ApiRequestPhase2["RESPONSE_PROCESSING"] = "response_processing";
|
|
298
|
-
ApiRequestPhase2["TOKEN_PROCESSING"] = "token_processing";
|
|
299
|
-
return ApiRequestPhase2;
|
|
300
|
-
})(ApiRequestPhase || {});
|
|
301
263
|
var cliMeter;
|
|
302
264
|
var toolCallCounter;
|
|
303
265
|
var toolCallLatencyHistogram;
|
|
@@ -544,11 +506,6 @@ function recordFileOperationMetric(config, attributes) {
|
|
|
544
506
|
});
|
|
545
507
|
}
|
|
546
508
|
__name(recordFileOperationMetric, "recordFileOperationMetric");
|
|
547
|
-
function recordInvalidChunk(config) {
|
|
548
|
-
if (!invalidChunkCounter || !isMetricsInitialized) return;
|
|
549
|
-
invalidChunkCounter.add(1, baseMetricDefinition.getCommonAttributes(config));
|
|
550
|
-
}
|
|
551
|
-
__name(recordInvalidChunk, "recordInvalidChunk");
|
|
552
509
|
function recordContentRetry(config) {
|
|
553
510
|
if (!contentRetryCounter || !isMetricsInitialized) return;
|
|
554
511
|
contentRetryCounter.add(1, baseMetricDefinition.getCommonAttributes(config));
|
|
@@ -595,16 +552,6 @@ function initializePerformanceMonitoring(config) {
|
|
|
595
552
|
);
|
|
596
553
|
}
|
|
597
554
|
__name(initializePerformanceMonitoring, "initializePerformanceMonitoring");
|
|
598
|
-
function recordStartupPerformance(config, durationMs, attributes) {
|
|
599
|
-
if (!startupTimeHistogram || !isPerformanceMonitoringEnabled) return;
|
|
600
|
-
const metricAttributes = {
|
|
601
|
-
...baseMetricDefinition.getCommonAttributes(config),
|
|
602
|
-
phase: attributes.phase,
|
|
603
|
-
...attributes.details
|
|
604
|
-
};
|
|
605
|
-
startupTimeHistogram.record(durationMs, metricAttributes);
|
|
606
|
-
}
|
|
607
|
-
__name(recordStartupPerformance, "recordStartupPerformance");
|
|
608
555
|
function recordMemoryUsage(config, bytes, attributes) {
|
|
609
556
|
if (!memoryUsageGauge || !isPerformanceMonitoringEnabled) return;
|
|
610
557
|
const metricAttributes = {
|
|
@@ -623,33 +570,6 @@ function recordCpuUsage(config, percentage, attributes) {
|
|
|
623
570
|
cpuUsageGauge.record(percentage, metricAttributes);
|
|
624
571
|
}
|
|
625
572
|
__name(recordCpuUsage, "recordCpuUsage");
|
|
626
|
-
function recordToolQueueDepth(config, queueDepth) {
|
|
627
|
-
if (!toolQueueDepthGauge || !isPerformanceMonitoringEnabled) return;
|
|
628
|
-
const attributes = {
|
|
629
|
-
...baseMetricDefinition.getCommonAttributes(config)
|
|
630
|
-
};
|
|
631
|
-
toolQueueDepthGauge.record(queueDepth, attributes);
|
|
632
|
-
}
|
|
633
|
-
__name(recordToolQueueDepth, "recordToolQueueDepth");
|
|
634
|
-
function recordToolExecutionBreakdown(config, durationMs, attributes) {
|
|
635
|
-
if (!toolExecutionBreakdownHistogram || !isPerformanceMonitoringEnabled)
|
|
636
|
-
return;
|
|
637
|
-
const metricAttributes = {
|
|
638
|
-
...baseMetricDefinition.getCommonAttributes(config),
|
|
639
|
-
...attributes
|
|
640
|
-
};
|
|
641
|
-
toolExecutionBreakdownHistogram.record(durationMs, metricAttributes);
|
|
642
|
-
}
|
|
643
|
-
__name(recordToolExecutionBreakdown, "recordToolExecutionBreakdown");
|
|
644
|
-
function recordTokenEfficiency(config, value, attributes) {
|
|
645
|
-
if (!tokenEfficiencyHistogram || !isPerformanceMonitoringEnabled) return;
|
|
646
|
-
const metricAttributes = {
|
|
647
|
-
...baseMetricDefinition.getCommonAttributes(config),
|
|
648
|
-
...attributes
|
|
649
|
-
};
|
|
650
|
-
tokenEfficiencyHistogram.record(value, metricAttributes);
|
|
651
|
-
}
|
|
652
|
-
__name(recordTokenEfficiency, "recordTokenEfficiency");
|
|
653
573
|
function recordApiRequestBreakdown(config, durationMs, attributes) {
|
|
654
574
|
if (!apiRequestBreakdownHistogram || !isPerformanceMonitoringEnabled) return;
|
|
655
575
|
const metricAttributes = {
|
|
@@ -659,45 +579,6 @@ function recordApiRequestBreakdown(config, durationMs, attributes) {
|
|
|
659
579
|
apiRequestBreakdownHistogram.record(durationMs, metricAttributes);
|
|
660
580
|
}
|
|
661
581
|
__name(recordApiRequestBreakdown, "recordApiRequestBreakdown");
|
|
662
|
-
function recordPerformanceScore(config, score, attributes) {
|
|
663
|
-
if (!performanceScoreGauge || !isPerformanceMonitoringEnabled) return;
|
|
664
|
-
const metricAttributes = {
|
|
665
|
-
...baseMetricDefinition.getCommonAttributes(config),
|
|
666
|
-
...attributes
|
|
667
|
-
};
|
|
668
|
-
performanceScoreGauge.record(score, metricAttributes);
|
|
669
|
-
}
|
|
670
|
-
__name(recordPerformanceScore, "recordPerformanceScore");
|
|
671
|
-
function recordPerformanceRegression(config, attributes) {
|
|
672
|
-
if (!regressionDetectionCounter || !isPerformanceMonitoringEnabled) return;
|
|
673
|
-
const metricAttributes = {
|
|
674
|
-
...baseMetricDefinition.getCommonAttributes(config),
|
|
675
|
-
...attributes
|
|
676
|
-
};
|
|
677
|
-
regressionDetectionCounter.add(1, metricAttributes);
|
|
678
|
-
if (attributes.baseline_value !== 0 && regressionPercentageChangeHistogram) {
|
|
679
|
-
const percentageChange = (attributes.current_value - attributes.baseline_value) / attributes.baseline_value * 100;
|
|
680
|
-
regressionPercentageChangeHistogram.record(
|
|
681
|
-
percentageChange,
|
|
682
|
-
metricAttributes
|
|
683
|
-
);
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
__name(recordPerformanceRegression, "recordPerformanceRegression");
|
|
687
|
-
function recordBaselineComparison(config, attributes) {
|
|
688
|
-
if (!baselineComparisonHistogram || !isPerformanceMonitoringEnabled) return;
|
|
689
|
-
if (attributes.baseline_value === 0) {
|
|
690
|
-
diag.warn("Baseline value is zero, skipping comparison.");
|
|
691
|
-
return;
|
|
692
|
-
}
|
|
693
|
-
const percentageChange = (attributes.current_value - attributes.baseline_value) / attributes.baseline_value * 100;
|
|
694
|
-
const metricAttributes = {
|
|
695
|
-
...baseMetricDefinition.getCommonAttributes(config),
|
|
696
|
-
...attributes
|
|
697
|
-
};
|
|
698
|
-
baselineComparisonHistogram.record(percentageChange, metricAttributes);
|
|
699
|
-
}
|
|
700
|
-
__name(recordBaselineComparison, "recordBaselineComparison");
|
|
701
582
|
function isPerformanceMonitoringActive() {
|
|
702
583
|
return isPerformanceMonitoringEnabled && isMetricsInitialized;
|
|
703
584
|
}
|
|
@@ -845,9 +726,10 @@ function recordMemoryRecallDeliveryMetrics(config, latencyMs, attrs) {
|
|
|
845
726
|
}
|
|
846
727
|
__name(recordMemoryRecallDeliveryMetrics, "recordMemoryRecallDeliveryMetrics");
|
|
847
728
|
|
|
848
|
-
// packages/core/src/telemetry/
|
|
729
|
+
// packages/core/src/telemetry/session-tracing.ts
|
|
849
730
|
init_esbuild_shims();
|
|
850
|
-
|
|
731
|
+
init_esm();
|
|
732
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
851
733
|
|
|
852
734
|
// packages/core/src/telemetry/sdk.ts
|
|
853
735
|
init_esbuild_shims();
|
|
@@ -932,10 +814,160 @@ function createSessionRootContext(sessionId) {
|
|
|
932
814
|
}
|
|
933
815
|
__name(createSessionRootContext, "createSessionRootContext");
|
|
934
816
|
|
|
817
|
+
// packages/core/src/telemetry/sdk.ts
|
|
818
|
+
function createTelemetryDiagLogger() {
|
|
819
|
+
const debugLogger3 = createDebugLogger("OTEL");
|
|
820
|
+
return {
|
|
821
|
+
error: /* @__PURE__ */ __name((message, ...args) => debugLogger3.error(message, ...args), "error"),
|
|
822
|
+
warn: /* @__PURE__ */ __name((message, ...args) => debugLogger3.warn(message, ...args), "warn"),
|
|
823
|
+
info: /* @__PURE__ */ __name((message, ...args) => debugLogger3.info(message, ...args), "info"),
|
|
824
|
+
debug: /* @__PURE__ */ __name((message, ...args) => debugLogger3.debug(message, ...args), "debug"),
|
|
825
|
+
verbose: /* @__PURE__ */ __name((message, ...args) => debugLogger3.debug(message, ...args), "verbose")
|
|
826
|
+
};
|
|
827
|
+
}
|
|
828
|
+
__name(createTelemetryDiagLogger, "createTelemetryDiagLogger");
|
|
829
|
+
diag.setLogger(createTelemetryDiagLogger(), DiagLogLevel.WARN);
|
|
830
|
+
var SHUTDOWN_TIMEOUT_MS = 1e4;
|
|
831
|
+
var sdk;
|
|
832
|
+
var telemetryInitialized = false;
|
|
833
|
+
var telemetryInitPromise;
|
|
834
|
+
var telemetryShutdownPromise;
|
|
835
|
+
var activeMetricReader;
|
|
836
|
+
function isTelemetrySdkInitialized() {
|
|
837
|
+
return telemetryInitialized;
|
|
838
|
+
}
|
|
839
|
+
__name(isTelemetrySdkInitialized, "isTelemetrySdkInitialized");
|
|
840
|
+
function initializeTelemetry(config) {
|
|
841
|
+
if (telemetryInitialized || !config.getTelemetryEnabled()) {
|
|
842
|
+
return Promise.resolve();
|
|
843
|
+
}
|
|
844
|
+
telemetryInitPromise ??= (async () => {
|
|
845
|
+
const debugLogger3 = createDebugLogger("OTEL");
|
|
846
|
+
try {
|
|
847
|
+
const { startTelemetrySdk } = await import("./sdk-impl-6CJ3JQZL.js");
|
|
848
|
+
if (telemetryInitialized) return;
|
|
849
|
+
const started = await startTelemetrySdk(config);
|
|
850
|
+
if (!started) return;
|
|
851
|
+
sdk = started.sdk;
|
|
852
|
+
sdk.start();
|
|
853
|
+
debugLogger3.debug("OpenTelemetry SDK started successfully.");
|
|
854
|
+
telemetryInitialized = true;
|
|
855
|
+
activeMetricReader = started.metricReader;
|
|
856
|
+
const sessionId = config.getSessionId();
|
|
857
|
+
setSessionContext(createSessionRootContext(sessionId), sessionId);
|
|
858
|
+
setShellTracePropagation(
|
|
859
|
+
config.getOutboundCorrelationPropagateTraceContext()
|
|
860
|
+
);
|
|
861
|
+
initializeMetrics(config);
|
|
862
|
+
} catch (error) {
|
|
863
|
+
debugLogger3.error("Error starting OpenTelemetry SDK:", error);
|
|
864
|
+
}
|
|
865
|
+
})().finally(() => {
|
|
866
|
+
telemetryInitPromise = void 0;
|
|
867
|
+
});
|
|
868
|
+
return telemetryInitPromise;
|
|
869
|
+
}
|
|
870
|
+
__name(initializeTelemetry, "initializeTelemetry");
|
|
871
|
+
function refreshSessionContext(sessionId) {
|
|
872
|
+
if (!telemetryInitialized) return;
|
|
873
|
+
try {
|
|
874
|
+
setSessionContext(createSessionRootContext(sessionId), sessionId);
|
|
875
|
+
} catch (error) {
|
|
876
|
+
createDebugLogger("OTEL").warn("Failed to refresh session context:", error);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
__name(refreshSessionContext, "refreshSessionContext");
|
|
880
|
+
function shutdownTelemetry() {
|
|
881
|
+
if (telemetryShutdownPromise) {
|
|
882
|
+
return telemetryShutdownPromise;
|
|
883
|
+
}
|
|
884
|
+
const pendingInit = telemetryInitPromise;
|
|
885
|
+
if (!pendingInit && (!telemetryInitialized || !sdk)) {
|
|
886
|
+
return Promise.resolve();
|
|
887
|
+
}
|
|
888
|
+
telemetryShutdownPromise = (async () => {
|
|
889
|
+
if (pendingInit) {
|
|
890
|
+
await pendingInit.catch(() => {
|
|
891
|
+
});
|
|
892
|
+
}
|
|
893
|
+
if (!telemetryInitialized || !sdk) {
|
|
894
|
+
telemetryShutdownPromise = void 0;
|
|
895
|
+
return;
|
|
896
|
+
}
|
|
897
|
+
endInteractionSpan("cancelled");
|
|
898
|
+
const currentSdk = sdk;
|
|
899
|
+
const debugLogger3 = createDebugLogger("OTEL");
|
|
900
|
+
let timer;
|
|
901
|
+
let timedOut = false;
|
|
902
|
+
try {
|
|
903
|
+
const sdkShutdown = Promise.resolve(currentSdk.shutdown());
|
|
904
|
+
sdkShutdown.catch((err) => {
|
|
905
|
+
if (timedOut) {
|
|
906
|
+
debugLogger3.warn(
|
|
907
|
+
"SDK shutdown rejected after timeout:",
|
|
908
|
+
err instanceof Error ? err.message : err
|
|
909
|
+
);
|
|
910
|
+
}
|
|
911
|
+
});
|
|
912
|
+
const timeout = new Promise((resolve) => {
|
|
913
|
+
timer = setTimeout(() => {
|
|
914
|
+
timedOut = true;
|
|
915
|
+
resolve("timeout");
|
|
916
|
+
}, SHUTDOWN_TIMEOUT_MS);
|
|
917
|
+
timer.unref?.();
|
|
918
|
+
});
|
|
919
|
+
const result = await Promise.race([sdkShutdown, timeout]);
|
|
920
|
+
clearTimeout(timer);
|
|
921
|
+
if (result === "timeout") {
|
|
922
|
+
const msg = `Telemetry shutdown timed out after ${SHUTDOWN_TIMEOUT_MS}ms.`;
|
|
923
|
+
diag.warn(msg);
|
|
924
|
+
debugLogger3.warn(msg);
|
|
925
|
+
} else {
|
|
926
|
+
debugLogger3.debug("OpenTelemetry SDK shut down successfully.");
|
|
927
|
+
}
|
|
928
|
+
} catch (error) {
|
|
929
|
+
clearTimeout(timer);
|
|
930
|
+
diag.error("Error shutting down SDK:", error);
|
|
931
|
+
debugLogger3.error("Error shutting down SDK:", error);
|
|
932
|
+
} finally {
|
|
933
|
+
telemetryInitialized = false;
|
|
934
|
+
sdk = void 0;
|
|
935
|
+
activeMetricReader = void 0;
|
|
936
|
+
telemetryShutdownPromise = void 0;
|
|
937
|
+
setSessionContext(void 0);
|
|
938
|
+
setShellTracePropagation(false);
|
|
939
|
+
}
|
|
940
|
+
})();
|
|
941
|
+
return telemetryShutdownPromise;
|
|
942
|
+
}
|
|
943
|
+
__name(shutdownTelemetry, "shutdownTelemetry");
|
|
944
|
+
var FORCE_FLUSH_TIMEOUT_MS = 2e3;
|
|
945
|
+
async function forceFlushMetrics() {
|
|
946
|
+
if (!telemetryInitialized || !activeMetricReader) return;
|
|
947
|
+
const flush = activeMetricReader.forceFlush();
|
|
948
|
+
flush.catch(() => {
|
|
949
|
+
});
|
|
950
|
+
let timer;
|
|
951
|
+
const timeout = new Promise((_, reject) => {
|
|
952
|
+
timer = setTimeout(
|
|
953
|
+
() => reject(
|
|
954
|
+
new Error(
|
|
955
|
+
`forceFlushMetrics timed out after ${FORCE_FLUSH_TIMEOUT_MS}ms`
|
|
956
|
+
)
|
|
957
|
+
),
|
|
958
|
+
FORCE_FLUSH_TIMEOUT_MS
|
|
959
|
+
);
|
|
960
|
+
timer.unref?.();
|
|
961
|
+
});
|
|
962
|
+
try {
|
|
963
|
+
await Promise.race([flush, timeout]);
|
|
964
|
+
} finally {
|
|
965
|
+
clearTimeout(timer);
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
__name(forceFlushMetrics, "forceFlushMetrics");
|
|
969
|
+
|
|
935
970
|
// packages/core/src/telemetry/session-tracing.ts
|
|
936
|
-
init_esbuild_shims();
|
|
937
|
-
init_esm();
|
|
938
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
939
971
|
var debugLogger2 = createDebugLogger("SESSION_TRACING");
|
|
940
972
|
function resolveParentContext(parent) {
|
|
941
973
|
if (parent) {
|
|
@@ -952,6 +984,7 @@ var NOOP_SPAN = trace.wrapSpanContext({
|
|
|
952
984
|
var interactionContext = new AsyncLocalStorage();
|
|
953
985
|
var toolContext = new AsyncLocalStorage();
|
|
954
986
|
var subagentContext = new AsyncLocalStorage();
|
|
987
|
+
var interactionIdentityByPromptId = /* @__PURE__ */ new Map();
|
|
955
988
|
function isInNativeSubagentSpan() {
|
|
956
989
|
const ctx = subagentContext.getStore();
|
|
957
990
|
return ctx !== void 0 && !ctx.ended;
|
|
@@ -962,6 +995,12 @@ function resolveSessionId(parentCtx) {
|
|
|
962
995
|
return typeof fromParent === "string" && fromParent ? fromParent : getCurrentSessionId();
|
|
963
996
|
}
|
|
964
997
|
__name(resolveSessionId, "resolveSessionId");
|
|
998
|
+
function resolveGenAiUserId(parentCtx, promptId) {
|
|
999
|
+
const logicalParent = parentCtx ?? (promptId ? interactionIdentityByPromptId.get(promptId) : void 0);
|
|
1000
|
+
const value = logicalParent?.attributes["gen_ai.user.id"];
|
|
1001
|
+
return typeof value === "string" && value ? value : void 0;
|
|
1002
|
+
}
|
|
1003
|
+
__name(resolveGenAiUserId, "resolveGenAiUserId");
|
|
965
1004
|
var activeSpans = /* @__PURE__ */ new Map();
|
|
966
1005
|
var strongSpans = /* @__PURE__ */ new Map();
|
|
967
1006
|
var interactionSequence = 0;
|
|
@@ -984,6 +1023,11 @@ function ttlFor(ctx) {
|
|
|
984
1023
|
}
|
|
985
1024
|
__name(ttlFor, "ttlFor");
|
|
986
1025
|
function sweepStaleSpans(now) {
|
|
1026
|
+
for (const [promptId, ctx] of interactionIdentityByPromptId) {
|
|
1027
|
+
if (now - ctx.startTime >= SPAN_TTL_MS_DEFAULT) {
|
|
1028
|
+
interactionIdentityByPromptId.delete(promptId);
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
987
1031
|
for (const [spanId, weakRef] of activeSpans) {
|
|
988
1032
|
const ctx = weakRef.deref();
|
|
989
1033
|
if (ctx === void 0) {
|
|
@@ -1052,9 +1096,10 @@ function getSpanId(span) {
|
|
|
1052
1096
|
}
|
|
1053
1097
|
__name(getSpanId, "getSpanId");
|
|
1054
1098
|
var SPAN_TEXT_MAX_CHARS = 1024;
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1099
|
+
var TOOL_DESCRIPTION_MAX_CHARS = 4096;
|
|
1100
|
+
function truncateSpanText(s, maxChars = SPAN_TEXT_MAX_CHARS) {
|
|
1101
|
+
if (s.length <= maxChars) return s;
|
|
1102
|
+
let end = maxChars;
|
|
1058
1103
|
const code = s.charCodeAt(end - 1);
|
|
1059
1104
|
if (code >= 55296 && code <= 56319) end--;
|
|
1060
1105
|
return s.slice(0, end) + "\u2026[truncated]";
|
|
@@ -1072,8 +1117,10 @@ function startInteractionSpan(config, options) {
|
|
|
1072
1117
|
if (!isTelemetrySdkInitialized()) return;
|
|
1073
1118
|
ensureCleanupInterval();
|
|
1074
1119
|
interactionSequence++;
|
|
1120
|
+
const userId = config.getTelemetryUserId();
|
|
1075
1121
|
const attributes = {
|
|
1076
1122
|
"session.id": config.getSessionId(),
|
|
1123
|
+
...userId ? { "gen_ai.user.id": userId } : {},
|
|
1077
1124
|
"qwen-code.prompt_id": options.promptId,
|
|
1078
1125
|
"qwen-code.message_type": options.messageType,
|
|
1079
1126
|
"qwen-code.model": options.model,
|
|
@@ -1094,6 +1141,14 @@ function startInteractionSpan(config, options) {
|
|
|
1094
1141
|
};
|
|
1095
1142
|
activeSpans.set(spanId, new WeakRef(spanContextObj));
|
|
1096
1143
|
strongSpans.set(spanId, spanContextObj);
|
|
1144
|
+
if (userId) {
|
|
1145
|
+
interactionIdentityByPromptId.set(options.promptId, {
|
|
1146
|
+
startTime: spanContextObj.startTime,
|
|
1147
|
+
attributes: { "gen_ai.user.id": userId }
|
|
1148
|
+
});
|
|
1149
|
+
} else {
|
|
1150
|
+
interactionIdentityByPromptId.delete(options.promptId);
|
|
1151
|
+
}
|
|
1097
1152
|
lastInteractionCtx = spanContextObj;
|
|
1098
1153
|
interactionContext.enterWith(spanContextObj);
|
|
1099
1154
|
}
|
|
@@ -1133,8 +1188,10 @@ async function withInteractionSpan(config, options, fn, getResultStatus) {
|
|
|
1133
1188
|
if (!isTelemetrySdkInitialized()) return await fn();
|
|
1134
1189
|
ensureCleanupInterval();
|
|
1135
1190
|
interactionSequence++;
|
|
1191
|
+
const userId = config.getTelemetryUserId();
|
|
1136
1192
|
const attributes = {
|
|
1137
1193
|
"session.id": config.getSessionId(),
|
|
1194
|
+
...userId ? { "gen_ai.user.id": userId } : {},
|
|
1138
1195
|
"qwen-code.prompt_id": options.promptId,
|
|
1139
1196
|
"qwen-code.message_type": options.messageType,
|
|
1140
1197
|
"qwen-code.model": options.model,
|
|
@@ -1159,6 +1216,14 @@ async function withInteractionSpan(config, options, fn, getResultStatus) {
|
|
|
1159
1216
|
};
|
|
1160
1217
|
activeSpans.set(spanId, new WeakRef(spanContextObj));
|
|
1161
1218
|
strongSpans.set(spanId, spanContextObj);
|
|
1219
|
+
if (userId) {
|
|
1220
|
+
interactionIdentityByPromptId.set(options.promptId, {
|
|
1221
|
+
startTime: spanContextObj.startTime,
|
|
1222
|
+
attributes: { "gen_ai.user.id": userId }
|
|
1223
|
+
});
|
|
1224
|
+
} else {
|
|
1225
|
+
interactionIdentityByPromptId.delete(options.promptId);
|
|
1226
|
+
}
|
|
1162
1227
|
const activeContext = trace.setSpan(parentContext, span);
|
|
1163
1228
|
return await context.with(
|
|
1164
1229
|
activeContext,
|
|
@@ -1211,9 +1276,11 @@ function startLLMRequestSpan(model, promptId, options) {
|
|
|
1211
1276
|
const parentCtx = subagentContext.getStore() ?? interactionContext.getStore();
|
|
1212
1277
|
const ctx = resolveParentContext(parentCtx);
|
|
1213
1278
|
const sessionId = resolveSessionId(parentCtx);
|
|
1279
|
+
const userId = resolveGenAiUserId(parentCtx, promptId);
|
|
1214
1280
|
const attributes = {
|
|
1215
1281
|
...sessionId ? { "session.id": sessionId } : {},
|
|
1216
1282
|
...sessionId ? { "gen_ai.conversation.id": sessionId } : {},
|
|
1283
|
+
...userId ? { "gen_ai.user.id": userId } : {},
|
|
1217
1284
|
"qwen-code.prompt_id": promptId,
|
|
1218
1285
|
"llm_request.context": subagentContext.getStore() ? "subagent" : interactionContext.getStore() ? "interaction" : "standalone",
|
|
1219
1286
|
// Emit the version-pinned OTel GenAI semantic convention.
|
|
@@ -1366,19 +1433,27 @@ function endLLMRequestSpan(span, metadata) {
|
|
|
1366
1433
|
strongSpans.delete(spanId);
|
|
1367
1434
|
}
|
|
1368
1435
|
__name(endLLMRequestSpan, "endLLMRequestSpan");
|
|
1369
|
-
function startToolSpan(toolName, attrs) {
|
|
1436
|
+
function startToolSpan(toolName, attrs, description, promptId) {
|
|
1370
1437
|
if (!isTelemetrySdkInitialized()) {
|
|
1371
1438
|
return NOOP_SPAN;
|
|
1372
1439
|
}
|
|
1373
1440
|
const parentCtx = subagentContext.getStore() ?? interactionContext.getStore();
|
|
1374
1441
|
const ctx = resolveParentContext(parentCtx);
|
|
1375
1442
|
const sessionId = resolveSessionId(parentCtx);
|
|
1443
|
+
const userId = resolveGenAiUserId(parentCtx, promptId);
|
|
1376
1444
|
const attributes = {
|
|
1377
1445
|
...sessionId ? { "session.id": sessionId } : {},
|
|
1378
1446
|
...attrs,
|
|
1447
|
+
...userId ? { "gen_ai.user.id": userId } : {},
|
|
1379
1448
|
"gen_ai.operation.name": "execute_tool",
|
|
1380
1449
|
"gen_ai.tool.name": toolName,
|
|
1381
|
-
"gen_ai.tool.type": "function"
|
|
1450
|
+
"gen_ai.tool.type": "function",
|
|
1451
|
+
...description ? {
|
|
1452
|
+
"gen_ai.tool.description": truncateSpanText(
|
|
1453
|
+
description,
|
|
1454
|
+
TOOL_DESCRIPTION_MAX_CHARS
|
|
1455
|
+
)
|
|
1456
|
+
} : {}
|
|
1382
1457
|
};
|
|
1383
1458
|
const span = getTracer().startSpan(
|
|
1384
1459
|
SPAN_TOOL,
|
|
@@ -1702,11 +1777,14 @@ __name(endHookSpan, "endHookSpan");
|
|
|
1702
1777
|
function startSubagentSpan(opts) {
|
|
1703
1778
|
if (!isTelemetrySdkInitialized()) return NOOP_SPAN;
|
|
1704
1779
|
ensureCleanupInterval();
|
|
1780
|
+
const parentCtx = subagentContext.getStore() ?? toolContext.getStore() ?? interactionContext.getStore();
|
|
1781
|
+
const userId = resolveGenAiUserId(parentCtx);
|
|
1705
1782
|
const attributes = {
|
|
1706
1783
|
// Spec-aligned (OTel GenAI Agent Spans, Development status).
|
|
1707
1784
|
"gen_ai.operation.name": "invoke_agent",
|
|
1708
1785
|
"gen_ai.agent.name": opts.subagentName,
|
|
1709
1786
|
"gen_ai.conversation.id": opts.sessionId,
|
|
1787
|
+
...userId ? { "gen_ai.user.id": userId } : {},
|
|
1710
1788
|
// Vendor identity and lifecycle. The per-invocation ID stays private;
|
|
1711
1789
|
// gen_ai.agent.id is reserved for a stable agent definition identity.
|
|
1712
1790
|
"qwen-code.subagent.id": opts.agentId,
|
|
@@ -1842,378 +1920,7 @@ function getActiveInteractionSpan() {
|
|
|
1842
1920
|
}
|
|
1843
1921
|
__name(getActiveInteractionSpan, "getActiveInteractionSpan");
|
|
1844
1922
|
|
|
1845
|
-
// packages/core/src/telemetry/sdk.ts
|
|
1846
|
-
function createTelemetryDiagLogger() {
|
|
1847
|
-
const debugLogger3 = createDebugLogger("OTEL");
|
|
1848
|
-
return {
|
|
1849
|
-
error: /* @__PURE__ */ __name((message, ...args) => debugLogger3.error(message, ...args), "error"),
|
|
1850
|
-
warn: /* @__PURE__ */ __name((message, ...args) => debugLogger3.warn(message, ...args), "warn"),
|
|
1851
|
-
info: /* @__PURE__ */ __name((message, ...args) => debugLogger3.info(message, ...args), "info"),
|
|
1852
|
-
debug: /* @__PURE__ */ __name((message, ...args) => debugLogger3.debug(message, ...args), "debug"),
|
|
1853
|
-
verbose: /* @__PURE__ */ __name((message, ...args) => debugLogger3.debug(message, ...args), "verbose")
|
|
1854
|
-
};
|
|
1855
|
-
}
|
|
1856
|
-
__name(createTelemetryDiagLogger, "createTelemetryDiagLogger");
|
|
1857
|
-
diag.setLogger(createTelemetryDiagLogger(), DiagLogLevel.WARN);
|
|
1858
|
-
var SHUTDOWN_TIMEOUT_MS = 1e4;
|
|
1859
|
-
var sdk;
|
|
1860
|
-
var telemetryInitialized = false;
|
|
1861
|
-
var telemetryInitPromise;
|
|
1862
|
-
var telemetryShutdownPromise;
|
|
1863
|
-
var activeMetricReader;
|
|
1864
|
-
function isTelemetrySdkInitialized() {
|
|
1865
|
-
return telemetryInitialized;
|
|
1866
|
-
}
|
|
1867
|
-
__name(isTelemetrySdkInitialized, "isTelemetrySdkInitialized");
|
|
1868
|
-
function initializeTelemetry(config) {
|
|
1869
|
-
if (telemetryInitialized || !config.getTelemetryEnabled()) {
|
|
1870
|
-
return Promise.resolve();
|
|
1871
|
-
}
|
|
1872
|
-
telemetryInitPromise ??= (async () => {
|
|
1873
|
-
const debugLogger3 = createDebugLogger("OTEL");
|
|
1874
|
-
try {
|
|
1875
|
-
const { startTelemetrySdk } = await import("./sdk-impl-GMVPB7NB.js");
|
|
1876
|
-
if (telemetryInitialized) return;
|
|
1877
|
-
const started = await startTelemetrySdk(config);
|
|
1878
|
-
if (!started) return;
|
|
1879
|
-
sdk = started.sdk;
|
|
1880
|
-
sdk.start();
|
|
1881
|
-
debugLogger3.debug("OpenTelemetry SDK started successfully.");
|
|
1882
|
-
telemetryInitialized = true;
|
|
1883
|
-
activeMetricReader = started.metricReader;
|
|
1884
|
-
const sessionId = config.getSessionId();
|
|
1885
|
-
setSessionContext(createSessionRootContext(sessionId), sessionId);
|
|
1886
|
-
setShellTracePropagation(
|
|
1887
|
-
config.getOutboundCorrelationPropagateTraceContext()
|
|
1888
|
-
);
|
|
1889
|
-
initializeMetrics(config);
|
|
1890
|
-
} catch (error) {
|
|
1891
|
-
debugLogger3.error("Error starting OpenTelemetry SDK:", error);
|
|
1892
|
-
}
|
|
1893
|
-
})().finally(() => {
|
|
1894
|
-
telemetryInitPromise = void 0;
|
|
1895
|
-
});
|
|
1896
|
-
return telemetryInitPromise;
|
|
1897
|
-
}
|
|
1898
|
-
__name(initializeTelemetry, "initializeTelemetry");
|
|
1899
|
-
function refreshSessionContext(sessionId) {
|
|
1900
|
-
if (!telemetryInitialized) return;
|
|
1901
|
-
try {
|
|
1902
|
-
setSessionContext(createSessionRootContext(sessionId), sessionId);
|
|
1903
|
-
} catch (error) {
|
|
1904
|
-
createDebugLogger("OTEL").warn("Failed to refresh session context:", error);
|
|
1905
|
-
}
|
|
1906
|
-
}
|
|
1907
|
-
__name(refreshSessionContext, "refreshSessionContext");
|
|
1908
|
-
function shutdownTelemetry() {
|
|
1909
|
-
if (telemetryShutdownPromise) {
|
|
1910
|
-
return telemetryShutdownPromise;
|
|
1911
|
-
}
|
|
1912
|
-
const pendingInit = telemetryInitPromise;
|
|
1913
|
-
if (!pendingInit && (!telemetryInitialized || !sdk)) {
|
|
1914
|
-
return Promise.resolve();
|
|
1915
|
-
}
|
|
1916
|
-
telemetryShutdownPromise = (async () => {
|
|
1917
|
-
if (pendingInit) {
|
|
1918
|
-
await pendingInit.catch(() => {
|
|
1919
|
-
});
|
|
1920
|
-
}
|
|
1921
|
-
if (!telemetryInitialized || !sdk) {
|
|
1922
|
-
telemetryShutdownPromise = void 0;
|
|
1923
|
-
return;
|
|
1924
|
-
}
|
|
1925
|
-
endInteractionSpan("cancelled");
|
|
1926
|
-
const currentSdk = sdk;
|
|
1927
|
-
const debugLogger3 = createDebugLogger("OTEL");
|
|
1928
|
-
let timer;
|
|
1929
|
-
let timedOut = false;
|
|
1930
|
-
try {
|
|
1931
|
-
const sdkShutdown = Promise.resolve(currentSdk.shutdown());
|
|
1932
|
-
sdkShutdown.catch((err) => {
|
|
1933
|
-
if (timedOut) {
|
|
1934
|
-
debugLogger3.warn(
|
|
1935
|
-
"SDK shutdown rejected after timeout:",
|
|
1936
|
-
err instanceof Error ? err.message : err
|
|
1937
|
-
);
|
|
1938
|
-
}
|
|
1939
|
-
});
|
|
1940
|
-
const timeout = new Promise((resolve) => {
|
|
1941
|
-
timer = setTimeout(() => {
|
|
1942
|
-
timedOut = true;
|
|
1943
|
-
resolve("timeout");
|
|
1944
|
-
}, SHUTDOWN_TIMEOUT_MS);
|
|
1945
|
-
timer.unref?.();
|
|
1946
|
-
});
|
|
1947
|
-
const result = await Promise.race([sdkShutdown, timeout]);
|
|
1948
|
-
clearTimeout(timer);
|
|
1949
|
-
if (result === "timeout") {
|
|
1950
|
-
const msg = `Telemetry shutdown timed out after ${SHUTDOWN_TIMEOUT_MS}ms.`;
|
|
1951
|
-
diag.warn(msg);
|
|
1952
|
-
debugLogger3.warn(msg);
|
|
1953
|
-
} else {
|
|
1954
|
-
debugLogger3.debug("OpenTelemetry SDK shut down successfully.");
|
|
1955
|
-
}
|
|
1956
|
-
} catch (error) {
|
|
1957
|
-
clearTimeout(timer);
|
|
1958
|
-
diag.error("Error shutting down SDK:", error);
|
|
1959
|
-
debugLogger3.error("Error shutting down SDK:", error);
|
|
1960
|
-
} finally {
|
|
1961
|
-
telemetryInitialized = false;
|
|
1962
|
-
sdk = void 0;
|
|
1963
|
-
activeMetricReader = void 0;
|
|
1964
|
-
telemetryShutdownPromise = void 0;
|
|
1965
|
-
setSessionContext(void 0);
|
|
1966
|
-
setShellTracePropagation(false);
|
|
1967
|
-
}
|
|
1968
|
-
})();
|
|
1969
|
-
return telemetryShutdownPromise;
|
|
1970
|
-
}
|
|
1971
|
-
__name(shutdownTelemetry, "shutdownTelemetry");
|
|
1972
|
-
var FORCE_FLUSH_TIMEOUT_MS = 2e3;
|
|
1973
|
-
async function forceFlushMetrics() {
|
|
1974
|
-
if (!telemetryInitialized || !activeMetricReader) return;
|
|
1975
|
-
const flush = activeMetricReader.forceFlush();
|
|
1976
|
-
flush.catch(() => {
|
|
1977
|
-
});
|
|
1978
|
-
let timer;
|
|
1979
|
-
const timeout = new Promise((_, reject) => {
|
|
1980
|
-
timer = setTimeout(
|
|
1981
|
-
() => reject(
|
|
1982
|
-
new Error(
|
|
1983
|
-
`forceFlushMetrics timed out after ${FORCE_FLUSH_TIMEOUT_MS}ms`
|
|
1984
|
-
)
|
|
1985
|
-
),
|
|
1986
|
-
FORCE_FLUSH_TIMEOUT_MS
|
|
1987
|
-
);
|
|
1988
|
-
timer.unref?.();
|
|
1989
|
-
});
|
|
1990
|
-
try {
|
|
1991
|
-
await Promise.race([flush, timeout]);
|
|
1992
|
-
} finally {
|
|
1993
|
-
clearTimeout(timer);
|
|
1994
|
-
}
|
|
1995
|
-
}
|
|
1996
|
-
__name(forceFlushMetrics, "forceFlushMetrics");
|
|
1997
|
-
|
|
1998
|
-
// packages/core/src/telemetry/detailed-span-attributes.ts
|
|
1999
|
-
var SYSTEM_PROMPT_PREVIEW_LENGTH = 500;
|
|
2000
|
-
var SHORT_TRUNCATION_SUFFIX = "...[TRUNCATED]";
|
|
2001
|
-
var seenHashes = /* @__PURE__ */ new Set();
|
|
2002
|
-
function areSensitiveSpanAttributesEnabled(config) {
|
|
2003
|
-
return isTelemetrySdkInitialized() && config.getTelemetryIncludeSensitiveSpanAttributes();
|
|
2004
|
-
}
|
|
2005
|
-
__name(areSensitiveSpanAttributesEnabled, "areSensitiveSpanAttributesEnabled");
|
|
2006
|
-
function truncateContent(content, maxSize = DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH, originalLength = content.length) {
|
|
2007
|
-
if (!Number.isSafeInteger(maxSize) || maxSize < 1) {
|
|
2008
|
-
throw new TypeError(
|
|
2009
|
-
`maxSize must be a positive safe integer, got ${String(maxSize)}`
|
|
2010
|
-
);
|
|
2011
|
-
}
|
|
2012
|
-
if (!Number.isSafeInteger(originalLength) || originalLength < 0) {
|
|
2013
|
-
throw new TypeError(
|
|
2014
|
-
`originalLength must be a non-negative safe integer, got ${String(
|
|
2015
|
-
originalLength
|
|
2016
|
-
)}`
|
|
2017
|
-
);
|
|
2018
|
-
}
|
|
2019
|
-
if (originalLength < content.length) {
|
|
2020
|
-
throw new TypeError(
|
|
2021
|
-
`originalLength must be greater than or equal to content length, got ${originalLength} for content length ${content.length}`
|
|
2022
|
-
);
|
|
2023
|
-
}
|
|
2024
|
-
if (originalLength <= maxSize && content.length <= maxSize) {
|
|
2025
|
-
return { content, truncated: false };
|
|
2026
|
-
}
|
|
2027
|
-
if (originalLength > content.length && content.length <= maxSize) {
|
|
2028
|
-
return { content, truncated: true };
|
|
2029
|
-
}
|
|
2030
|
-
const suffix = `
|
|
2031
|
-
|
|
2032
|
-
[TRUNCATED - Content exceeds configured limit of ${maxSize} characters]`;
|
|
2033
|
-
if (suffix.length >= maxSize) {
|
|
2034
|
-
if (SHORT_TRUNCATION_SUFFIX.length >= maxSize) {
|
|
2035
|
-
return {
|
|
2036
|
-
content: SHORT_TRUNCATION_SUFFIX.slice(0, maxSize),
|
|
2037
|
-
truncated: true
|
|
2038
|
-
};
|
|
2039
|
-
}
|
|
2040
|
-
return {
|
|
2041
|
-
content: content.slice(0, maxSize - SHORT_TRUNCATION_SUFFIX.length) + SHORT_TRUNCATION_SUFFIX,
|
|
2042
|
-
truncated: true
|
|
2043
|
-
};
|
|
2044
|
-
}
|
|
2045
|
-
return {
|
|
2046
|
-
content: content.slice(0, maxSize - suffix.length) + suffix,
|
|
2047
|
-
truncated: true
|
|
2048
|
-
};
|
|
2049
|
-
}
|
|
2050
|
-
__name(truncateContent, "truncateContent");
|
|
2051
|
-
function getMaxContentSize(config) {
|
|
2052
|
-
return config.getTelemetrySensitiveSpanAttributeMaxLength();
|
|
2053
|
-
}
|
|
2054
|
-
__name(getMaxContentSize, "getMaxContentSize");
|
|
2055
|
-
function truncatePrefixedContent(prefix, content, maxSize) {
|
|
2056
|
-
const prefixedContent = `${prefix}${content}`;
|
|
2057
|
-
const result = truncateContent(prefixedContent, maxSize);
|
|
2058
|
-
return {
|
|
2059
|
-
...result,
|
|
2060
|
-
originalLength: content.length
|
|
2061
|
-
};
|
|
2062
|
-
}
|
|
2063
|
-
__name(truncatePrefixedContent, "truncatePrefixedContent");
|
|
2064
|
-
function shortHash(content) {
|
|
2065
|
-
return createHash2("sha256").update(content).digest("hex").slice(0, 12);
|
|
2066
|
-
}
|
|
2067
|
-
__name(shortHash, "shortHash");
|
|
2068
|
-
function stringifyContentUnion(value) {
|
|
2069
|
-
if (typeof value === "string") return value;
|
|
2070
|
-
return safeJsonStringify(value) ?? "";
|
|
2071
|
-
}
|
|
2072
|
-
__name(stringifyContentUnion, "stringifyContentUnion");
|
|
2073
|
-
function addUserPromptAttributes(config, span, promptText) {
|
|
2074
|
-
if (!areSensitiveSpanAttributesEnabled(config) || !promptText) return;
|
|
2075
|
-
const { content, truncated, originalLength } = truncatePrefixedContent(
|
|
2076
|
-
`[USER PROMPT]
|
|
2077
|
-
`,
|
|
2078
|
-
promptText,
|
|
2079
|
-
getMaxContentSize(config)
|
|
2080
|
-
);
|
|
2081
|
-
span.setAttributes({
|
|
2082
|
-
new_context: content,
|
|
2083
|
-
...truncated && {
|
|
2084
|
-
new_context_truncated: true,
|
|
2085
|
-
new_context_original_length: originalLength
|
|
2086
|
-
}
|
|
2087
|
-
});
|
|
2088
|
-
}
|
|
2089
|
-
__name(addUserPromptAttributes, "addUserPromptAttributes");
|
|
2090
|
-
function addSystemPromptAttributes(config, span, systemInstruction) {
|
|
2091
|
-
if (!areSensitiveSpanAttributesEnabled(config) || !systemInstruction) return;
|
|
2092
|
-
const text = stringifyContentUnion(systemInstruction);
|
|
2093
|
-
if (!text) return;
|
|
2094
|
-
const hash = `sp_${shortHash(text)}`;
|
|
2095
|
-
span.setAttributes({
|
|
2096
|
-
system_prompt_hash: hash,
|
|
2097
|
-
system_prompt_preview: text.slice(0, SYSTEM_PROMPT_PREVIEW_LENGTH),
|
|
2098
|
-
system_prompt_length: text.length
|
|
2099
|
-
});
|
|
2100
|
-
if (!seenHashes.has(hash)) {
|
|
2101
|
-
seenHashes.add(hash);
|
|
2102
|
-
const { content, truncated } = truncateContent(
|
|
2103
|
-
text,
|
|
2104
|
-
getMaxContentSize(config)
|
|
2105
|
-
);
|
|
2106
|
-
span.setAttribute("system_prompt", content);
|
|
2107
|
-
if (truncated) {
|
|
2108
|
-
span.setAttribute("system_prompt_truncated", true);
|
|
2109
|
-
}
|
|
2110
|
-
}
|
|
2111
|
-
}
|
|
2112
|
-
__name(addSystemPromptAttributes, "addSystemPromptAttributes");
|
|
2113
|
-
function addToolSchemaAttributes(config, span, tools) {
|
|
2114
|
-
if (!areSensitiveSpanAttributesEnabled(config) || !tools?.length) return;
|
|
2115
|
-
const declarations = [];
|
|
2116
|
-
for (const tool of tools) {
|
|
2117
|
-
const inner = tool["functionDeclarations"];
|
|
2118
|
-
if (Array.isArray(inner)) {
|
|
2119
|
-
declarations.push(...inner);
|
|
2120
|
-
} else {
|
|
2121
|
-
declarations.push(tool);
|
|
2122
|
-
}
|
|
2123
|
-
}
|
|
2124
|
-
const summary = [];
|
|
2125
|
-
for (const decl of declarations) {
|
|
2126
|
-
const declObj = decl;
|
|
2127
|
-
const name = typeof declObj["name"] === "string" ? declObj["name"] : "unknown_tool";
|
|
2128
|
-
const declJson = safeJsonStringify(decl) ?? `unstringifiable_${name}`;
|
|
2129
|
-
const hash = shortHash(declJson);
|
|
2130
|
-
summary.push({ name, hash });
|
|
2131
|
-
const hashKey = `tool_${hash}`;
|
|
2132
|
-
if (!seenHashes.has(hashKey)) {
|
|
2133
|
-
seenHashes.add(hashKey);
|
|
2134
|
-
const { content, truncated } = truncateContent(
|
|
2135
|
-
declJson,
|
|
2136
|
-
getMaxContentSize(config)
|
|
2137
|
-
);
|
|
2138
|
-
span.addEvent("tool_schema", {
|
|
2139
|
-
tool_name: name,
|
|
2140
|
-
tool_hash: hash,
|
|
2141
|
-
tool_definition: content,
|
|
2142
|
-
...truncated && {
|
|
2143
|
-
tool_definition_truncated: true,
|
|
2144
|
-
tool_definition_original_length: declJson.length
|
|
2145
|
-
}
|
|
2146
|
-
});
|
|
2147
|
-
}
|
|
2148
|
-
}
|
|
2149
|
-
span.setAttributes({
|
|
2150
|
-
tools: safeJsonStringify(summary) ?? "[]",
|
|
2151
|
-
tools_count: summary.length
|
|
2152
|
-
});
|
|
2153
|
-
}
|
|
2154
|
-
__name(addToolSchemaAttributes, "addToolSchemaAttributes");
|
|
2155
|
-
function addModelOutputAttributes(config, span, responseText, originalLength) {
|
|
2156
|
-
if (!areSensitiveSpanAttributesEnabled(config) || !responseText) return;
|
|
2157
|
-
const responseTextOriginalLength = originalLength ?? responseText.length;
|
|
2158
|
-
const { content, truncated } = truncateContent(
|
|
2159
|
-
responseText,
|
|
2160
|
-
getMaxContentSize(config),
|
|
2161
|
-
responseTextOriginalLength
|
|
2162
|
-
);
|
|
2163
|
-
span.setAttributes({
|
|
2164
|
-
"response.model_output": content,
|
|
2165
|
-
...truncated && {
|
|
2166
|
-
"response.model_output_truncated": true,
|
|
2167
|
-
"response.model_output_original_length": responseTextOriginalLength
|
|
2168
|
-
}
|
|
2169
|
-
});
|
|
2170
|
-
}
|
|
2171
|
-
__name(addModelOutputAttributes, "addModelOutputAttributes");
|
|
2172
|
-
function addToolInputAttributes(config, span, toolName, toolInput) {
|
|
2173
|
-
if (!areSensitiveSpanAttributesEnabled(config)) return;
|
|
2174
|
-
const { content, truncated, originalLength } = truncatePrefixedContent(
|
|
2175
|
-
`[TOOL INPUT: ${toolName}]
|
|
2176
|
-
`,
|
|
2177
|
-
toolInput,
|
|
2178
|
-
getMaxContentSize(config)
|
|
2179
|
-
);
|
|
2180
|
-
span.setAttributes({
|
|
2181
|
-
tool_input: content,
|
|
2182
|
-
...truncated && {
|
|
2183
|
-
tool_input_truncated: true,
|
|
2184
|
-
tool_input_original_length: originalLength
|
|
2185
|
-
}
|
|
2186
|
-
});
|
|
2187
|
-
}
|
|
2188
|
-
__name(addToolInputAttributes, "addToolInputAttributes");
|
|
2189
|
-
function addToolResultAttributes(config, span, toolName, toolResult) {
|
|
2190
|
-
if (!areSensitiveSpanAttributesEnabled(config)) return;
|
|
2191
|
-
const { content, truncated, originalLength } = truncatePrefixedContent(
|
|
2192
|
-
`[TOOL RESULT: ${toolName}]
|
|
2193
|
-
`,
|
|
2194
|
-
toolResult,
|
|
2195
|
-
getMaxContentSize(config)
|
|
2196
|
-
);
|
|
2197
|
-
span.setAttributes({
|
|
2198
|
-
tool_result: content,
|
|
2199
|
-
...truncated && {
|
|
2200
|
-
tool_result_truncated: true,
|
|
2201
|
-
tool_result_original_length: originalLength
|
|
2202
|
-
}
|
|
2203
|
-
});
|
|
2204
|
-
}
|
|
2205
|
-
__name(addToolResultAttributes, "addToolResultAttributes");
|
|
2206
|
-
function clearDetailedSpanState() {
|
|
2207
|
-
seenHashes.clear();
|
|
2208
|
-
}
|
|
2209
|
-
__name(clearDetailedSpanState, "clearDetailedSpanState");
|
|
2210
|
-
|
|
2211
1923
|
export {
|
|
2212
|
-
FileOperation,
|
|
2213
|
-
PerformanceMetricType,
|
|
2214
|
-
MemoryMetricType,
|
|
2215
|
-
ToolExecutionPhase,
|
|
2216
|
-
ApiRequestPhase,
|
|
2217
1924
|
getMeter,
|
|
2218
1925
|
recordChatCompressionMetrics,
|
|
2219
1926
|
recordToolCallMetrics,
|
|
@@ -2221,21 +1928,12 @@ export {
|
|
|
2221
1928
|
recordApiResponseMetrics,
|
|
2222
1929
|
recordApiErrorMetrics,
|
|
2223
1930
|
recordFileOperationMetric,
|
|
2224
|
-
recordInvalidChunk,
|
|
2225
1931
|
recordContentRetry,
|
|
2226
1932
|
recordContentRetryFailure,
|
|
2227
1933
|
recordApiRetry,
|
|
2228
1934
|
recordModelSlashCommand,
|
|
2229
|
-
recordStartupPerformance,
|
|
2230
1935
|
recordMemoryUsage,
|
|
2231
1936
|
recordCpuUsage,
|
|
2232
|
-
recordToolQueueDepth,
|
|
2233
|
-
recordToolExecutionBreakdown,
|
|
2234
|
-
recordTokenEfficiency,
|
|
2235
|
-
recordApiRequestBreakdown,
|
|
2236
|
-
recordPerformanceScore,
|
|
2237
|
-
recordPerformanceRegression,
|
|
2238
|
-
recordBaselineComparison,
|
|
2239
1937
|
isPerformanceMonitoringActive,
|
|
2240
1938
|
recordSubagentExecutionMetrics,
|
|
2241
1939
|
recordArenaSessionStartedMetrics,
|
|
@@ -2252,15 +1950,6 @@ export {
|
|
|
2252
1950
|
API_CALL_FAILED_SPAN_STATUS_MESSAGE,
|
|
2253
1951
|
API_CALL_ABORTED_SPAN_STATUS_MESSAGE,
|
|
2254
1952
|
safeSetStatus,
|
|
2255
|
-
areSensitiveSpanAttributesEnabled,
|
|
2256
|
-
truncateContent,
|
|
2257
|
-
addUserPromptAttributes,
|
|
2258
|
-
addSystemPromptAttributes,
|
|
2259
|
-
addToolSchemaAttributes,
|
|
2260
|
-
addModelOutputAttributes,
|
|
2261
|
-
addToolInputAttributes,
|
|
2262
|
-
addToolResultAttributes,
|
|
2263
|
-
clearDetailedSpanState,
|
|
2264
1953
|
isInNativeSubagentSpan,
|
|
2265
1954
|
truncateSpanError,
|
|
2266
1955
|
startInteractionSpan,
|