@tencent-ai/agent-sdk 0.3.269 → 0.3.270
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/cli/CHANGELOG.md +21 -0
- package/cli/dist/codebuddy-headless.js +111 -108
- package/cli/dist/codebuddy-lite-wb.mjs +143 -140
- package/cli/dist/web-ui/assets/{CanvasPaneStandaloneView-AFymTrqt.js → CanvasPaneStandaloneView-CDO7isWn.js} +1 -1
- package/cli/dist/web-ui/assets/{CanvasView-CoxUIOeY.js → CanvasView-DJNkeBGK.js} +1 -1
- package/cli/dist/web-ui/assets/{ChangesView-CTnio3qy.js → ChangesView-fCuIktEK.js} +1 -1
- package/cli/dist/web-ui/assets/{DocsView-DfGq3q0Y.js → DocsView-B79hLvzs.js} +1 -1
- package/cli/dist/web-ui/assets/{EditorView-CYw2oZg1.js → EditorView-7YnlryBL.js} +1 -1
- package/cli/dist/web-ui/assets/{KeybindingsView-D6w9QUh3.js → KeybindingsView-CIDkpkAb.js} +1 -1
- package/cli/dist/web-ui/assets/{LogsView-CP5xbyy4.js → LogsView-Bcv52scT.js} +1 -1
- package/cli/dist/web-ui/assets/{MetricsView-C2c14t7O.js → MetricsView-DUSiPsda.js} +1 -1
- package/cli/dist/web-ui/assets/{PluginsView-BSEje_UM.js → PluginsView-BTOCj9co.js} +1 -1
- package/cli/dist/web-ui/assets/{RemoteControlView-2f1ZwMQ5.js → RemoteControlView-YqmY0vro.js} +1 -1
- package/cli/dist/web-ui/assets/{SettingsView-tOHto0ek.js → SettingsView-D2wIPOBw.js} +1 -1
- package/cli/dist/web-ui/assets/{SplitContainer-q9iSME5N.js → SplitContainer-DlEN5H4s.js} +1 -1
- package/cli/dist/web-ui/assets/{StatsView-BVIL7ys1.js → StatsView-C7iB42TQ.js} +1 -1
- package/cli/dist/web-ui/assets/{TasksView-BuNGf8H8.js → TasksView-CKm5dh4d.js} +1 -1
- package/cli/dist/web-ui/assets/{TerminalPaneView-IZXBrZd0.js → TerminalPaneView-Cs-7CKCw.js} +1 -1
- package/cli/dist/web-ui/assets/{TracesView-BagVLm59.js → TracesView-4MhXOs0J.js} +1 -1
- package/cli/dist/web-ui/assets/{WorkersView-CFhFpbFC.js → WorkersView-B5SyD2xB.js} +1 -1
- package/cli/dist/web-ui/assets/{abnfDiagram-O67JEVCF-BbyhIfaI.js → abnfDiagram-O67JEVCF-luL6Qe5x.js} +1 -1
- package/cli/dist/web-ui/assets/architecture-7GRP2DOG-CVyCykh_.js +1 -0
- package/cli/dist/web-ui/assets/{architectureDiagram-NJMV4G6O-DxDD6eVt.js → architectureDiagram-NJMV4G6O-CXZjweyd.js} +1 -1
- package/cli/dist/web-ui/assets/{blockDiagram-BEXU5L5S-DTRa2Tb9.js → blockDiagram-BEXU5L5S-DceMcN-6.js} +1 -1
- package/cli/dist/web-ui/assets/{c4Diagram-YGBWAQC7--r-yED_M.js → c4Diagram-YGBWAQC7-Chr6hcY4.js} +1 -1
- package/cli/dist/web-ui/assets/{canvas-store-BpQ38Vml.js → canvas-store-CLGZ388s.js} +1 -1
- package/cli/dist/web-ui/assets/channel-pxcszUh2.js +1 -0
- package/cli/dist/web-ui/assets/{chunk-3FUC2YCW-CrLNasJM.js → chunk-3FUC2YCW-BRXxiofJ.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-5DYCD2WN-BvGB0nx-.js → chunk-5DYCD2WN-BJidDn4j.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-742MDFTN-BTBNbBjA.js → chunk-742MDFTN-D8PKsc6_.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-7INBJB4K-CnYo9mzQ.js → chunk-7INBJB4K-0OOQXMSm.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-7M6MHVWA-ChPc3AIy.js → chunk-7M6MHVWA-CinmEwpu.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-7PRAP22T-BWJP0sRU.js → chunk-7PRAP22T-D0WpyU-H.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-GTNCS2PH-BWIt5JBZ.js → chunk-GTNCS2PH-NNZzPISm.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-GWA4HPMP-DPP9EzOc.js → chunk-GWA4HPMP-CVQtrfg2.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-MBY4JIJT-WW7QGbUd.js → chunk-MBY4JIJT-B2Fs2skV.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-NETBCI7D-DvHPTWgP.js → chunk-NETBCI7D-DS15Lcf7.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-O7XYJQB3-DNIHMsy6.js → chunk-O7XYJQB3-irIWVhcH.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-UA2S7LBM-FmyRAjon.js → chunk-UA2S7LBM-DHv_5vdC.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-WEXAMYUT-DPGJtaXE.js → chunk-WEXAMYUT-DTnPpX3o.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-Z7XXMR3K-xCwg-Yew.js → chunk-Z7XXMR3K-CL6QEwjv.js} +1 -1
- package/cli/dist/web-ui/assets/{chunk-ZIGJFQKS-C33Iz6Fl.js → chunk-ZIGJFQKS-D-9hFu_x.js} +1 -1
- package/cli/dist/web-ui/assets/{classDiagram-v2-NBCMYWYE-CYRZjfMU.js → classDiagram-v2-NBCMYWYE-BGpw8OWR.js} +1 -1
- package/cli/dist/web-ui/assets/{cssMode-ClDS6DMb.js → cssMode-DYH1pn7V.js} +1 -1
- package/cli/dist/web-ui/assets/{cynefin-OW5HDTMX-BZMPI_-L.js → cynefin-OW5HDTMX-BwDHcOb3.js} +1 -1
- package/cli/dist/web-ui/assets/{cynefinDiagram-VND7K2PF-xv7006O3.js → cynefinDiagram-VND7K2PF-C04bh7p8.js} +1 -1
- package/cli/dist/web-ui/assets/{dagre-6A5THRUB-BaA5Prow.js → dagre-6A5THRUB-Dea8s6xE.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-22UHCM2B-CLPFfA4R.js → diagram-22UHCM2B-DJVauquX.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-3UASUU5V-DX9eVGvg.js → diagram-3UASUU5V-C7-A4v72.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-ATOU4E4O-C6tAUS3M.js → diagram-ATOU4E4O-7B6YBDOj.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-CDSNMT55-C4bjVjgp.js → diagram-CDSNMT55-DMAwoRXf.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-MLGK6HIB--R4pb2v7.js → diagram-MLGK6HIB-CNB_vlIZ.js} +1 -1
- package/cli/dist/web-ui/assets/{diagram-MPIPVDR6-DBZrcvRV.js → diagram-MPIPVDR6-hyhLuNp3.js} +1 -1
- package/cli/dist/web-ui/assets/{ebnfDiagram-ZINNZB2B-guH8XqK5.js → ebnfDiagram-ZINNZB2B-CJWaxsG5.js} +1 -1
- package/cli/dist/web-ui/assets/{editor-store-B581kWHa.js → editor-store-BxjPLrr9.js} +1 -1
- package/cli/dist/web-ui/assets/{editor.main-BDJb4JDA.js → editor.main-Czm6gHJH.js} +2 -2
- package/cli/dist/web-ui/assets/{elk-276RUBZZ-CeiKMULj.js → elk-276RUBZZ-D5Y00SxR.js} +1 -1
- package/cli/dist/web-ui/assets/{erDiagram-OPXOYQCR-sBAqBzrO.js → erDiagram-OPXOYQCR-BmYHBZJv.js} +1 -1
- package/cli/dist/web-ui/assets/eventmodeling-NTZA5JFV-D5vLpI9F.js +1 -0
- package/cli/dist/web-ui/assets/flowDiagram-KWPJA3E3-Cf58WNhf.js +1 -0
- package/cli/dist/web-ui/assets/{ganttDiagram-FUAMR5RP-C6_HpREX.js → ganttDiagram-FUAMR5RP-DbhB40jH.js} +1 -1
- package/cli/dist/web-ui/assets/{gitGraph-4MIJSDKK-BXoSq3Gg.js → gitGraph-4MIJSDKK-mjDyHNS1.js} +1 -1
- package/cli/dist/web-ui/assets/{gitGraphDiagram-X574FWY7-CGtaH2jU.js → gitGraphDiagram-X574FWY7-D7jHGUGu.js} +1 -1
- package/cli/dist/web-ui/assets/{htmlMode-D5olfuMo.js → htmlMode-BSBNaQvK.js} +1 -1
- package/cli/dist/web-ui/assets/{index-ClsikMuk.js → index-BtMp20L0.js} +6 -6
- package/cli/dist/web-ui/assets/{info-A6RAGUB7-DEwLfJ7B.js → info-A6RAGUB7-yf2Iyt5X.js} +1 -1
- package/cli/dist/web-ui/assets/{infoDiagram-VRGFBTTK-DCSOdK6X.js → infoDiagram-VRGFBTTK-CmWWZT96.js} +1 -1
- package/cli/dist/web-ui/assets/{ishikawaDiagram-OU5B5YK6-BseHnvYw.js → ishikawaDiagram-OU5B5YK6-NcOpKVNl.js} +1 -1
- package/cli/dist/web-ui/assets/{journeyDiagram-ZHPQQLJL-BRxQJTqW.js → journeyDiagram-ZHPQQLJL-dY4w9tp1.js} +1 -1
- package/cli/dist/web-ui/assets/{jsonMode-Cg5YHEwQ.js → jsonMode-BUaimt20.js} +1 -1
- package/cli/dist/web-ui/assets/{kanban-definition-PNTS6WVX-KI9YMfJk.js → kanban-definition-PNTS6WVX-BctMsDJJ.js} +1 -1
- package/cli/dist/web-ui/assets/{line-DprNiO-0.js → line-BYkTAP3U.js} +1 -1
- package/cli/dist/web-ui/assets/loader-circle-wVK1RLLa.js +1 -0
- package/cli/dist/web-ui/assets/{mermaid-parser.core-GTP4u3FU.js → mermaid-parser.core-BLRTQ_8m.js} +3 -3
- package/cli/dist/web-ui/assets/{mermaid.core-CNUJl-CG.js → mermaid.core-DGYOOYu5.js} +4 -4
- package/cli/dist/web-ui/assets/{mindmap-definition-NLK3R4M7-C2PcP9ry.js → mindmap-definition-NLK3R4M7-DtFEhmgs.js} +1 -1
- package/cli/dist/web-ui/assets/{packet-AYTQ26CC-CZLuLwvG.js → packet-AYTQ26CC-DG8Ws-Q6.js} +1 -1
- package/cli/dist/web-ui/assets/{pegDiagram-GJSIUBJH-Bm2hR9le.js → pegDiagram-GJSIUBJH-C1B_R8sV.js} +1 -1
- package/cli/dist/web-ui/assets/{pie-WAS4IAKB-CRzoh5ox.js → pie-WAS4IAKB-WpUKIR_Y.js} +1 -1
- package/cli/dist/web-ui/assets/{pieDiagram-5QR66LMP-CTJ2r9nd.js → pieDiagram-5QR66LMP-C7VoNMU4.js} +1 -1
- package/cli/dist/web-ui/assets/power-BNRlQx4o.js +1 -0
- package/cli/dist/web-ui/assets/{quadrantDiagram-O4NWA36T-CTKetN5z.js → quadrantDiagram-O4NWA36T-CXYTQ4y2.js} +1 -1
- package/cli/dist/web-ui/assets/{radar-RG4KPBEZ-DXjTvI5t.js → radar-RG4KPBEZ-C3VHLzXv.js} +1 -1
- package/cli/dist/web-ui/assets/{railroad-74A4TZTK-BDdQn4Gc.js → railroad-74A4TZTK-Py_5hLH_.js} +1 -1
- package/cli/dist/web-ui/assets/railroad-abnf-HS5TGJTU-CqoDhjmj.js +1 -0
- package/cli/dist/web-ui/assets/railroad-ebnf-LZEXJU2U-DUWdDy3z.js +1 -0
- package/cli/dist/web-ui/assets/railroad-peg-WCYAUIDC-Co6yi1zs.js +1 -0
- package/cli/dist/web-ui/assets/{railroadDiagram-XR7U4H2S-B_YntG1t.js → railroadDiagram-XR7U4H2S-5OEyONOk.js} +1 -1
- package/cli/dist/web-ui/assets/{requirementDiagram-PLB6GJNP-CDjL2cNi.js → requirementDiagram-PLB6GJNP-DUJYTLHd.js} +1 -1
- package/cli/dist/web-ui/assets/{sankeyDiagram-IPEJSGJF-qXJEVvf1.js → sankeyDiagram-IPEJSGJF-Bedevch2.js} +1 -1
- package/cli/dist/web-ui/assets/{sequenceDiagram-PO4LG4MO-l-r7gLpE.js → sequenceDiagram-PO4LG4MO-pgraPAoD.js} +1 -1
- package/cli/dist/web-ui/assets/{server-O9q4QgxP.js → server-Ccbyj1qh.js} +1 -1
- package/cli/dist/web-ui/assets/{sidebar-store-BI5HJsXT.js → sidebar-store-Rkdixr53.js} +1 -1
- package/cli/dist/web-ui/assets/{stateDiagram-v2-GCMORJYK-IswgvzFJ.js → stateDiagram-v2-GCMORJYK-DALpfmXP.js} +1 -1
- package/cli/dist/web-ui/assets/{swimlanes-2SLR337P-JwNdJjRm.js → swimlanes-2SLR337P-DYo2RgRV.js} +1 -1
- package/cli/dist/web-ui/assets/swimlanesDiagram-TC7HE7FX-Dxiovvmi.js +8 -0
- package/cli/dist/web-ui/assets/{terminal-store-DxSL6lew.js → terminal-store-DOTQJFag.js} +1 -1
- package/cli/dist/web-ui/assets/{theme-store-B-x3NJPZ.js → theme-store-7kL2_Dih.js} +1 -1
- package/cli/dist/web-ui/assets/{timeline-definition-EJHVYXUP-DZbLKd2p.js → timeline-definition-EJHVYXUP-teGYk-dY.js} +1 -1
- package/cli/dist/web-ui/assets/{timer-CPkvO7Hr.js → timer-DsflRbuo.js} +1 -1
- package/cli/dist/web-ui/assets/{treeView-Q6P3EWNA-ClDx_xC6.js → treeView-Q6P3EWNA-DsuuN89d.js} +1 -1
- package/cli/dist/web-ui/assets/{treemap-WGGIJYW6-RDLtBb4P.js → treemap-WGGIJYW6-BqqhgGGn.js} +1 -1
- package/cli/dist/web-ui/assets/{triangle-alert-RxeG6BcU.js → triangle-alert-BL4rmdOu.js} +1 -1
- package/cli/dist/web-ui/assets/{tsMode-D4E8Qd-x.js → tsMode-B6SPhuNF.js} +1 -1
- package/cli/dist/web-ui/assets/{use-i18n-BCKBlfpd.js → use-i18n-BvJYl_9l.js} +1 -1
- package/cli/dist/web-ui/assets/{usecaseDiagram-POWQR4AR-DEfQU35o.js → usecaseDiagram-POWQR4AR-2sD6xPnt.js} +1 -1
- package/cli/dist/web-ui/assets/{vennDiagram-UO4OBE2U-C4yxYnjL.js → vennDiagram-UO4OBE2U-DHLn-BEs.js} +1 -1
- package/cli/dist/web-ui/assets/{wardley-WFR3VGLG-wNwnrEey.js → wardley-WFR3VGLG-BD5dMb6v.js} +1 -1
- package/cli/dist/web-ui/assets/{wardleyDiagram-VNRHLVJA-nrPZlF5q.js → wardleyDiagram-VNRHLVJA-6V8TM6o7.js} +1 -1
- package/cli/dist/web-ui/assets/{workspace-dock-store-5JIgHIqh.js → workspace-dock-store-D1kqgYR-.js} +1 -1
- package/cli/dist/web-ui/assets/{xychartDiagram-PMCCYNJV-BXJAFZRI.js → xychartDiagram-PMCCYNJV-B5wGEmv3.js} +1 -1
- package/cli/dist/web-ui/assets/{zap-JdzyzkaE.js → zap-u2SXZ7au.js} +1 -1
- package/cli/dist/web-ui/index.html +9 -9
- package/cli/dist/web-ui/sw.js +1 -1
- package/cli/dist-server/2701.codebuddy.js +2 -2
- package/cli/dist-server/3080.codebuddy.js +1 -1
- package/cli/dist-server/3163.codebuddy.js +1 -1
- package/cli/dist-server/codebuddy.js +41 -39
- package/cli/dist-server/types/node/agent-task/agent-task.d.ts +1 -0
- package/cli/dist-server/types/node/permission/brokered-sandbox/host-service.d.ts +1 -0
- package/cli/dist-server/types/node/permission/sandbox-orchestrator.d.ts +2 -1
- package/cli/dist-server/types/node/server/formats/acp/acp-trace-context.d.ts +2 -0
- package/cli/dist-server/types/node/server/types.d.ts +8 -1
- package/cli/dist-server/types/node/utils/clipboard-utils.d.ts +1 -1
- package/cli/dist-server/types/node/utils/image-preparation-guard.d.ts +5 -1
- package/cli/dist-server/types/node/utils/request-scene.d.ts +5 -0
- package/cli/dist-server/types/vendor/cbc-core/node/utils/history-utils.d.ts +33 -8
- package/cli/dist-server/types/vendor/cbc-core/node/utils/input-item-utils.d.ts +27 -0
- package/cli/package.json +4 -4
- package/cli/product.cloudhosted.json +2 -2
- package/cli/product.internal.json +2 -2
- package/cli/product.ioa.json +2 -2
- package/cli/product.json +2 -2
- package/cli/product.selfhosted.json +2 -2
- package/package.json +1 -1
- package/cli/dist/web-ui/assets/architecture-7GRP2DOG-CHYM9JTs.js +0 -1
- package/cli/dist/web-ui/assets/channel-DtDG5p59.js +0 -1
- package/cli/dist/web-ui/assets/eventmodeling-NTZA5JFV-PAdtPpRo.js +0 -1
- package/cli/dist/web-ui/assets/flowDiagram-KWPJA3E3-EJkyCIxy.js +0 -1
- package/cli/dist/web-ui/assets/loader-circle-1kyJNWeb.js +0 -1
- package/cli/dist/web-ui/assets/power-CbA3xFVD.js +0 -1
- package/cli/dist/web-ui/assets/railroad-abnf-HS5TGJTU-C9Q7Ymc5.js +0 -1
- package/cli/dist/web-ui/assets/railroad-ebnf-LZEXJU2U-Bg_FzoOI.js +0 -1
- package/cli/dist/web-ui/assets/railroad-peg-WCYAUIDC-cvFGmoWK.js +0 -1
- package/cli/dist/web-ui/assets/swimlanesDiagram-TC7HE7FX-Bopn2-Vs.js +0 -8
package/cli/dist/web-ui/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let s,l={};const e=(e,i)=>(e=new URL(e+".js",i).href,l[e]||new Promise(l=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=l,document.head.appendChild(s)}else s=e,importScripts(e),l()}).then(()=>{let s=l[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s}));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(l[n])return;let u={};const a=s=>e(s,n),o={module:{uri:n},exports:u,require:a};l[n]=Promise.all(i.map(s=>o[s]||a(s))).then(s=>(r(...s),u))}}define(["./workbox-fed2bdfe"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"sandbox_proxy.html",revision:"e54bd087bf8b90d87d84c3cd8f2c22e9"},{url:"pwa-icon.svg",revision:"673adddf1548f59682764258005b6034"},{url:"logo.svg",revision:"269aa921a3f446f8e17843c89ed7bf35"},{url:"index.html",revision:"1517f560e5b4105cf58dd89085a8d7a4"},{url:"assets/zap-JdzyzkaE.js",revision:null},{url:"assets/yaml-BJYL-SKO.js",revision:null},{url:"assets/xychartDiagram-PMCCYNJV-BXJAFZRI.js",revision:null},{url:"assets/xml-B__rTQhy.js",revision:null},{url:"assets/workspace-dock-store-5JIgHIqh.js",revision:null},{url:"assets/workbox-window.prod.es5-Bd17z0YL.js",revision:null},{url:"assets/wgsl-DpFanUEy.js",revision:null},{url:"assets/wardleyDiagram-VNRHLVJA-nrPZlF5q.js",revision:null},{url:"assets/wardley-WFR3VGLG-wNwnrEey.js",revision:null},{url:"assets/vennDiagram-UO4OBE2U-C4yxYnjL.js",revision:null},{url:"assets/vendor-D7d5DZKE.js",revision:null},{url:"assets/vb-DV3o63ZY.js",revision:null},{url:"assets/usecaseDiagram-POWQR4AR-DEfQU35o.js",revision:null},{url:"assets/use-i18n-BCKBlfpd.js",revision:null},{url:"assets/typespec-B8J7ngcE.js",revision:null},{url:"assets/typescript-DVVhSeLw.js",revision:null},{url:"assets/twig-De2hgUGE.js",revision:null},{url:"assets/tsMode-D4E8Qd-x.js",revision:null},{url:"assets/triangle-alert-RxeG6BcU.js",revision:null},{url:"assets/treemap-WGGIJYW6-RDLtBb4P.js",revision:null},{url:"assets/treeView-Q6P3EWNA-ClDx_xC6.js",revision:null},{url:"assets/timer-CPkvO7Hr.js",revision:null},{url:"assets/timeline-definition-EJHVYXUP-DZbLKd2p.js",revision:null},{url:"assets/theme-store-B-x3NJPZ.js",revision:null},{url:"assets/terminal-store-DxSL6lew.js",revision:null},{url:"assets/tcl-DISqw1ZD.js",revision:null},{url:"assets/systemverilog-Bz4Y3fRF.js",revision:null},{url:"assets/swimlanesDiagram-TC7HE7FX-Bopn2-Vs.js",revision:null},{url:"assets/swimlanes-2SLR337P-JwNdJjRm.js",revision:null},{url:"assets/swift-Bxkupp3x.js",revision:null},{url:"assets/stateDiagram-v2-GCMORJYK-IswgvzFJ.js",revision:null},{url:"assets/st-DbInun42.js",revision:null},{url:"assets/src-oBChb5qS.js",revision:null},{url:"assets/sql-NEE52Syq.js",revision:null},{url:"assets/sparql-D_Lu-MrJ.js",revision:null},{url:"assets/sophia-CRfGWb83.js",revision:null},{url:"assets/solidity-BEEn4gHE.js",revision:null},{url:"assets/sizeCapture-INFHLROL-3uHXrFqA.js",revision:null},{url:"assets/sidebar-store-BI5HJsXT.js",revision:null},{url:"assets/shell-CC2rA5mh.js",revision:null},{url:"assets/server-O9q4QgxP.js",revision:null},{url:"assets/sequenceDiagram-PO4LG4MO-l-r7gLpE.js",revision:null},{url:"assets/scss-gp-XZpBa.js",revision:null},{url:"assets/scheme-BeGwcela.js",revision:null},{url:"assets/scala-DHpiXF5c.js",revision:null},{url:"assets/sb-CcwsVR0C.js",revision:null},{url:"assets/sankeyDiagram-IPEJSGJF-qXJEVvf1.js",revision:null},{url:"assets/rust-DdL9SqIa.js",revision:null},{url:"assets/ruby-DezsRK8O.js",revision:null},{url:"assets/rough.esm-Dy-Kn_BL.js",revision:null},{url:"assets/rolldown-runtime-Dd_uD5pT.js",revision:null},{url:"assets/restructuredtext-BYgofb2h.js",revision:null},{url:"assets/requirementDiagram-PLB6GJNP-CDjL2cNi.js",revision:null},{url:"assets/redshift-DT7zqm-g.js",revision:null},{url:"assets/redis-ClamHrr6.js",revision:null},{url:"assets/razor-BfoeKXah.js",revision:null},{url:"assets/railroadDiagram-XR7U4H2S-B_YntG1t.js",revision:null},{url:"assets/railroad-peg-WCYAUIDC-cvFGmoWK.js",revision:null},{url:"assets/railroad-ebnf-LZEXJU2U-Bg_FzoOI.js",revision:null},{url:"assets/railroad-abnf-HS5TGJTU-C9Q7Ymc5.js",revision:null},{url:"assets/railroad-74A4TZTK-BDdQn4Gc.js",revision:null},{url:"assets/radar-RG4KPBEZ-DXjTvI5t.js",revision:null},{url:"assets/r-BwWrilGY.js",revision:null},{url:"assets/quadrantDiagram-O4NWA36T-CTKetN5z.js",revision:null},{url:"assets/qsharp-DkqhCAOL.js",revision:null},{url:"assets/python-EIL9M2bl.js",revision:null},{url:"assets/pug-Z5eAx3Zn.js",revision:null},{url:"assets/protobuf-C531GsRP.js",revision:null},{url:"assets/powershell-DmHpPYUd.js",revision:null},{url:"assets/powerquery-D3hlyOfw.js",revision:null},{url:"assets/power-CbA3xFVD.js",revision:null},{url:"assets/postiats-43DmfD33.js",revision:null},{url:"assets/pla-CopQ2nXW.js",revision:null},{url:"assets/pieDiagram-5QR66LMP-CTJ2r9nd.js",revision:null},{url:"assets/pie-WAS4IAKB-CRzoh5ox.js",revision:null},{url:"assets/php-nr791fC2.js",revision:null},{url:"assets/pgsql-DTj74zXo.js",revision:null},{url:"assets/perl-oz_6vUea.js",revision:null},{url:"assets/pegDiagram-GJSIUBJH-Bm2hR9le.js",revision:null},{url:"assets/path-fybaL0A-.js",revision:null},{url:"assets/pascaligo-D-ptJ9y-.js",revision:null},{url:"assets/pascal-DrH0SRf2.js",revision:null},{url:"assets/packet-AYTQ26CC-CZLuLwvG.js",revision:null},{url:"assets/ordinal-BDEzSJ7C.js",revision:null},{url:"assets/one-light-B9flS40H.js",revision:null},{url:"assets/octicons-CaZ_fok2.woff2",revision:null},{url:"assets/objective-c-FvmIjYaQ.js",revision:null},{url:"assets/mysql-SOo6toE5.js",revision:null},{url:"assets/msdax-DauUninz.js",revision:null},{url:"assets/mips-CIPQ_RoX.js",revision:null},{url:"assets/mindmap-definition-NLK3R4M7-C2PcP9ry.js",revision:null},{url:"assets/mfixx-CpAhKOZz.woff2",revision:null},{url:"assets/mermaid.core-CNUJl-CG.js",revision:null},{url:"assets/mermaid-parser.core-GTP4u3FU.js",revision:null},{url:"assets/mdx-IUsuOIdX.js",revision:null},{url:"assets/markdown-DEcVZfaU.css",revision:null},{url:"assets/markdown-DCKhnxE9.js",revision:null},{url:"assets/markdown-Cimd5fb3.js",revision:null},{url:"assets/m3-D-oSqn_W.js",revision:null},{url:"assets/lua-CsQS60Ue.js",revision:null},{url:"assets/lspLanguageFeatures-DosEZB2t.js",revision:null},{url:"assets/loader-circle-1kyJNWeb.js",revision:null},{url:"assets/liquid-Bz6ip2ZX.js",revision:null},{url:"assets/linear-BUnzfXgk.js",revision:null},{url:"assets/line-DprNiO-0.js",revision:null},{url:"assets/lexon-CfSJPG6W.js",revision:null},{url:"assets/less-B9JPFI3C.js",revision:null},{url:"assets/kotlin-BOotOW0E.js",revision:null},{url:"assets/kanban-definition-PNTS6WVX-KI9YMfJk.js",revision:null},{url:"assets/julia-Bri6UV-V.js",revision:null},{url:"assets/jsonMode-Cg5YHEwQ.js",revision:null},{url:"assets/journeyDiagram-ZHPQQLJL-BRxQJTqW.js",revision:null},{url:"assets/javascript-B7xbQhF8.js",revision:null},{url:"assets/java-BEtHBSE6.js",revision:null},{url:"assets/ishikawaDiagram-OU5B5YK6-BseHnvYw.js",revision:null},{url:"assets/init-C-OQMol4.js",revision:null},{url:"assets/ini-sBoK_t0W.js",revision:null},{url:"assets/infoDiagram-VRGFBTTK-DCSOdK6X.js",revision:null},{url:"assets/info-A6RAGUB7-DEwLfJ7B.js",revision:null},{url:"assets/index-D_GXBtTU.css",revision:null},{url:"assets/index-ClsikMuk.js",revision:null},{url:"assets/htmlMode-D5olfuMo.js",revision:null},{url:"assets/html-C26_S8V7.js",revision:null},{url:"assets/hcl-CpzslTdj.js",revision:null},{url:"assets/handlebars-DoP9T-VM.js",revision:null},{url:"assets/graphql-fmXr3nnJ.js",revision:null},{url:"assets/graphlib-DS17s2tU.js",revision:null},{url:"assets/go-C-y9NEjX.js",revision:null},{url:"assets/gitGraphDiagram-X574FWY7-CGtaH2jU.js",revision:null},{url:"assets/gitGraph-4MIJSDKK-BXoSq3Gg.js",revision:null},{url:"assets/ganttDiagram-FUAMR5RP-C6_HpREX.js",revision:null},{url:"assets/fsharp-C8Ef5oNN.js",revision:null},{url:"assets/freemarker2-DVo8xgW6.js",revision:null},{url:"assets/fontawesome-B-jkhYfk.woff2",revision:null},{url:"assets/flowDiagram-KWPJA3E3-EJkyCIxy.js",revision:null},{url:"assets/flow9-C5_-GSwl.js",revision:null},{url:"assets/file-icons-C0jOugUK.woff2",revision:null},{url:"assets/eventmodeling-NTZA5JFV-PAdtPpRo.js",revision:null},{url:"assets/erDiagram-OPXOYQCR-sBAqBzrO.js",revision:null},{url:"assets/elk-276RUBZZ-CeiKMULj.js",revision:null},{url:"assets/elixir-6RTg0lbw.js",revision:null},{url:"assets/editor.api2-CdxXemhu.js",revision:null},{url:"assets/editor-store-B581kWHa.js",revision:null},{url:"assets/editor-DOgAgpTS.css",revision:null},{url:"assets/ecl-D05T4iGw.js",revision:null},{url:"assets/ebnfDiagram-ZINNZB2B-guH8XqK5.js",revision:null},{url:"assets/dockerfile-DZFCIeNp.js",revision:null},{url:"assets/dist-B_J_HbC0.js",revision:null},{url:"assets/diagram-MPIPVDR6-DBZrcvRV.js",revision:null},{url:"assets/diagram-MLGK6HIB--R4pb2v7.js",revision:null},{url:"assets/diagram-CDSNMT55-C4bjVjgp.js",revision:null},{url:"assets/diagram-ATOU4E4O-C6tAUS3M.js",revision:null},{url:"assets/diagram-3UASUU5V-DX9eVGvg.js",revision:null},{url:"assets/diagram-22UHCM2B-CLPFfA4R.js",revision:null},{url:"assets/devopicons-QN4QXivI.woff2",revision:null},{url:"assets/defaultLocale-BFoDCU3G.js",revision:null},{url:"assets/dart-onAF5SnQ.js",revision:null},{url:"assets/dagre-6A5THRUB-BaA5Prow.js",revision:null},{url:"assets/cytoscape.esm-EK2DW5Qr.js",revision:null},{url:"assets/cypher-CVaqCwHa.js",revision:null},{url:"assets/cynefinDiagram-VND7K2PF-xv7006O3.js",revision:null},{url:"assets/cynefin-OW5HDTMX-BZMPI_-L.js",revision:null},{url:"assets/cssMode-ClDS6DMb.js",revision:null},{url:"assets/css-DIMkf-bt.js",revision:null},{url:"assets/csp-bTuwJoIa.js",revision:null},{url:"assets/csharp-BKxtCVv1.js",revision:null},{url:"assets/cpp-C7h46wYY.js",revision:null},{url:"assets/cose-bilkent-JH36ORCC-CelrFX7F.js",revision:null},{url:"assets/composer-selection-ulujmy_S.js",revision:null},{url:"assets/coffee-Ba7i2nA0.js",revision:null},{url:"assets/clojure-Cm7r79vr.js",revision:null},{url:"assets/classDiagram-v2-NBCMYWYE-CYRZjfMU.js",revision:null},{url:"assets/chunk-ZIGJFQKS-C33Iz6Fl.js",revision:null},{url:"assets/chunk-Z7XXMR3K-xCwg-Yew.js",revision:null},{url:"assets/chunk-Y2CYZVJY-DsF7k-Jl.js",revision:null},{url:"assets/chunk-XXDRQBXY-BvKO0v-W.js",revision:null},{url:"assets/chunk-WEXAMYUT-DPGJtaXE.js",revision:null},{url:"assets/chunk-UA2S7LBM-FmyRAjon.js",revision:null},{url:"assets/chunk-O7XYJQB3-DNIHMsy6.js",revision:null},{url:"assets/chunk-NETBCI7D-DvHPTWgP.js",revision:null},{url:"assets/chunk-MBY4JIJT-WW7QGbUd.js",revision:null},{url:"assets/chunk-JWPE2WC7-DVXcaiue.js",revision:null},{url:"assets/chunk-J5ZVWO5B-oDCd-gWO.js",revision:null},{url:"assets/chunk-GWA4HPMP-DPP9EzOc.js",revision:null},{url:"assets/chunk-GTNCS2PH-BWIt5JBZ.js",revision:null},{url:"assets/chunk-FOHPRMQF-DzxwRta7.js",revision:null},{url:"assets/chunk-DUW6YSOI-Dgx8z5s3.js",revision:null},{url:"assets/chunk-7PRAP22T-BWJP0sRU.js",revision:null},{url:"assets/chunk-7M6MHVWA-ChPc3AIy.js",revision:null},{url:"assets/chunk-7INBJB4K-CnYo9mzQ.js",revision:null},{url:"assets/chunk-742MDFTN-BTBNbBjA.js",revision:null},{url:"assets/chunk-5VM5RSS4-ZNzvKenW.js",revision:null},{url:"assets/chunk-5DYCD2WN-BvGB0nx-.js",revision:null},{url:"assets/chunk-3FUC2YCW-CrLNasJM.js",revision:null},{url:"assets/chunk-2Q5K7J3B-C1jixKkw.js",revision:null},{url:"assets/channel-DtDG5p59.js",revision:null},{url:"assets/canvas-store-BpQ38Vml.js",revision:null},{url:"assets/cameligo-DMUM7wLl.js",revision:null},{url:"assets/c4Diagram-YGBWAQC7--r-yED_M.js",revision:null},{url:"assets/browserify-C-6GKAAm.js",revision:null},{url:"assets/blockDiagram-BEXU5L5S-DTRa2Tb9.js",revision:null},{url:"assets/bicep-B5-_aFwp.js",revision:null},{url:"assets/bat-i0X4ZdIN.js",revision:null},{url:"assets/azcli-Bc_sGQ0U.js",revision:null},{url:"assets/array-BifhSqXX.js",revision:null},{url:"assets/architectureDiagram-NJMV4G6O-DxDD6eVt.js",revision:null},{url:"assets/architecture-7GRP2DOG-CHYM9JTs.js",revision:null},{url:"assets/arc-DgcGdgmL.js",revision:null},{url:"assets/apex-BWPQTe0t.js",revision:null},{url:"assets/abnfDiagram-O67JEVCF-BbyhIfaI.js",revision:null},{url:"assets/abap-08VXUWAP.js",revision:null},{url:"assets/WorkersView-CFhFpbFC.js",revision:null},{url:"assets/TracesView-BagVLm59.js",revision:null},{url:"assets/TerminalPaneView-IZXBrZd0.js",revision:null},{url:"assets/TasksView-BuNGf8H8.js",revision:null},{url:"assets/StatsView-BVIL7ys1.js",revision:null},{url:"assets/SplitContainer-q9iSME5N.js",revision:null},{url:"assets/SettingsView-tOHto0ek.js",revision:null},{url:"assets/RemoteControlView-2f1ZwMQ5.js",revision:null},{url:"assets/PluginsView-BSEje_UM.js",revision:null},{url:"assets/MetricsView-C2c14t7O.js",revision:null},{url:"assets/LogsView-CP5xbyy4.js",revision:null},{url:"assets/KeybindingsView-D6w9QUh3.js",revision:null},{url:"assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2",revision:null},{url:"assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2",revision:null},{url:"assets/KaTeX_Size2-Regular-Dy4dx90m.woff2",revision:null},{url:"assets/KaTeX_Size1-Regular-mCD8mA8B.woff2",revision:null},{url:"assets/KaTeX_Script-Regular-D3wIWfF6.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2",revision:null},{url:"assets/KaTeX_Math-Italic-t53AETM-.woff2",revision:null},{url:"assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2",revision:null},{url:"assets/KaTeX_Main-Regular-B22Nviop.woff2",revision:null},{url:"assets/KaTeX_Main-Italic-NWA7e6Wa.woff2",revision:null},{url:"assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2",revision:null},{url:"assets/KaTeX_Main-Bold-Cx986IdX.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2",revision:null},{url:"assets/KaTeX_AMS-Regular-BQhdFMY1.woff2",revision:null},{url:"assets/HoverHint-D2G73lbr.js",revision:null},{url:"assets/EditorView-CYw2oZg1.js",revision:null},{url:"assets/DocsView-DfGq3q0Y.js",revision:null},{url:"assets/ChangesView-CTnio3qy.js",revision:null},{url:"assets/CanvasView-CoxUIOeY.js",revision:null},{url:"assets/CanvasPaneStandaloneView-AFymTrqt.js",revision:null},{url:"logo.svg",revision:"269aa921a3f446f8e17843c89ed7bf35"},{url:"pwa-icon.svg",revision:"673adddf1548f59682764258005b6034"},{url:"manifest.webmanifest",revision:"7a003d0094122eb3e607566c757e9885"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api\/(?!v1\/jobs\/[^/]+\/frame\/?$)/,/^\/gateway/,/^\/docs\//]})),s.registerRoute(/^https:\/\/fonts\.googleapis\.com/,new s.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[]}),"GET"),s.registerRoute(/^https:\/\/fonts\.gstatic\.com/,new s.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new s.ExpirationPlugin({maxEntries:20,maxAgeSeconds:31536e3})]}),"GET")});
|
|
1
|
+
if(!self.define){let s,l={};const e=(e,i)=>(e=new URL(e+".js",i).href,l[e]||new Promise(l=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=l,document.head.appendChild(s)}else s=e,importScripts(e),l()}).then(()=>{let s=l[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s}));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(l[n])return;let u={};const a=s=>e(s,n),o={module:{uri:n},exports:u,require:a};l[n]=Promise.all(i.map(s=>o[s]||a(s))).then(s=>(r(...s),u))}}define(["./workbox-fed2bdfe"],function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"sandbox_proxy.html",revision:"e54bd087bf8b90d87d84c3cd8f2c22e9"},{url:"pwa-icon.svg",revision:"673adddf1548f59682764258005b6034"},{url:"logo.svg",revision:"269aa921a3f446f8e17843c89ed7bf35"},{url:"index.html",revision:"d827a95c458a7620f8fa810ee4091be6"},{url:"assets/zap-u2SXZ7au.js",revision:null},{url:"assets/yaml-BJYL-SKO.js",revision:null},{url:"assets/xychartDiagram-PMCCYNJV-B5wGEmv3.js",revision:null},{url:"assets/xml-B__rTQhy.js",revision:null},{url:"assets/workspace-dock-store-D1kqgYR-.js",revision:null},{url:"assets/workbox-window.prod.es5-Bd17z0YL.js",revision:null},{url:"assets/wgsl-DpFanUEy.js",revision:null},{url:"assets/wardleyDiagram-VNRHLVJA-6V8TM6o7.js",revision:null},{url:"assets/wardley-WFR3VGLG-BD5dMb6v.js",revision:null},{url:"assets/vennDiagram-UO4OBE2U-DHLn-BEs.js",revision:null},{url:"assets/vendor-D7d5DZKE.js",revision:null},{url:"assets/vb-DV3o63ZY.js",revision:null},{url:"assets/usecaseDiagram-POWQR4AR-2sD6xPnt.js",revision:null},{url:"assets/use-i18n-BvJYl_9l.js",revision:null},{url:"assets/typespec-B8J7ngcE.js",revision:null},{url:"assets/typescript-DVVhSeLw.js",revision:null},{url:"assets/twig-De2hgUGE.js",revision:null},{url:"assets/tsMode-B6SPhuNF.js",revision:null},{url:"assets/triangle-alert-BL4rmdOu.js",revision:null},{url:"assets/treemap-WGGIJYW6-BqqhgGGn.js",revision:null},{url:"assets/treeView-Q6P3EWNA-DsuuN89d.js",revision:null},{url:"assets/timer-DsflRbuo.js",revision:null},{url:"assets/timeline-definition-EJHVYXUP-teGYk-dY.js",revision:null},{url:"assets/theme-store-7kL2_Dih.js",revision:null},{url:"assets/terminal-store-DOTQJFag.js",revision:null},{url:"assets/tcl-DISqw1ZD.js",revision:null},{url:"assets/systemverilog-Bz4Y3fRF.js",revision:null},{url:"assets/swimlanesDiagram-TC7HE7FX-Dxiovvmi.js",revision:null},{url:"assets/swimlanes-2SLR337P-DYo2RgRV.js",revision:null},{url:"assets/swift-Bxkupp3x.js",revision:null},{url:"assets/stateDiagram-v2-GCMORJYK-DALpfmXP.js",revision:null},{url:"assets/st-DbInun42.js",revision:null},{url:"assets/src-oBChb5qS.js",revision:null},{url:"assets/sql-NEE52Syq.js",revision:null},{url:"assets/sparql-D_Lu-MrJ.js",revision:null},{url:"assets/sophia-CRfGWb83.js",revision:null},{url:"assets/solidity-BEEn4gHE.js",revision:null},{url:"assets/sizeCapture-INFHLROL-3uHXrFqA.js",revision:null},{url:"assets/sidebar-store-Rkdixr53.js",revision:null},{url:"assets/shell-CC2rA5mh.js",revision:null},{url:"assets/server-Ccbyj1qh.js",revision:null},{url:"assets/sequenceDiagram-PO4LG4MO-pgraPAoD.js",revision:null},{url:"assets/scss-gp-XZpBa.js",revision:null},{url:"assets/scheme-BeGwcela.js",revision:null},{url:"assets/scala-DHpiXF5c.js",revision:null},{url:"assets/sb-CcwsVR0C.js",revision:null},{url:"assets/sankeyDiagram-IPEJSGJF-Bedevch2.js",revision:null},{url:"assets/rust-DdL9SqIa.js",revision:null},{url:"assets/ruby-DezsRK8O.js",revision:null},{url:"assets/rough.esm-Dy-Kn_BL.js",revision:null},{url:"assets/rolldown-runtime-Dd_uD5pT.js",revision:null},{url:"assets/restructuredtext-BYgofb2h.js",revision:null},{url:"assets/requirementDiagram-PLB6GJNP-DUJYTLHd.js",revision:null},{url:"assets/redshift-DT7zqm-g.js",revision:null},{url:"assets/redis-ClamHrr6.js",revision:null},{url:"assets/razor-BfoeKXah.js",revision:null},{url:"assets/railroadDiagram-XR7U4H2S-5OEyONOk.js",revision:null},{url:"assets/railroad-peg-WCYAUIDC-Co6yi1zs.js",revision:null},{url:"assets/railroad-ebnf-LZEXJU2U-DUWdDy3z.js",revision:null},{url:"assets/railroad-abnf-HS5TGJTU-CqoDhjmj.js",revision:null},{url:"assets/railroad-74A4TZTK-Py_5hLH_.js",revision:null},{url:"assets/radar-RG4KPBEZ-C3VHLzXv.js",revision:null},{url:"assets/r-BwWrilGY.js",revision:null},{url:"assets/quadrantDiagram-O4NWA36T-CXYTQ4y2.js",revision:null},{url:"assets/qsharp-DkqhCAOL.js",revision:null},{url:"assets/python-EIL9M2bl.js",revision:null},{url:"assets/pug-Z5eAx3Zn.js",revision:null},{url:"assets/protobuf-C531GsRP.js",revision:null},{url:"assets/powershell-DmHpPYUd.js",revision:null},{url:"assets/powerquery-D3hlyOfw.js",revision:null},{url:"assets/power-BNRlQx4o.js",revision:null},{url:"assets/postiats-43DmfD33.js",revision:null},{url:"assets/pla-CopQ2nXW.js",revision:null},{url:"assets/pieDiagram-5QR66LMP-C7VoNMU4.js",revision:null},{url:"assets/pie-WAS4IAKB-WpUKIR_Y.js",revision:null},{url:"assets/php-nr791fC2.js",revision:null},{url:"assets/pgsql-DTj74zXo.js",revision:null},{url:"assets/perl-oz_6vUea.js",revision:null},{url:"assets/pegDiagram-GJSIUBJH-C1B_R8sV.js",revision:null},{url:"assets/path-fybaL0A-.js",revision:null},{url:"assets/pascaligo-D-ptJ9y-.js",revision:null},{url:"assets/pascal-DrH0SRf2.js",revision:null},{url:"assets/packet-AYTQ26CC-DG8Ws-Q6.js",revision:null},{url:"assets/ordinal-BDEzSJ7C.js",revision:null},{url:"assets/one-light-B9flS40H.js",revision:null},{url:"assets/octicons-CaZ_fok2.woff2",revision:null},{url:"assets/objective-c-FvmIjYaQ.js",revision:null},{url:"assets/mysql-SOo6toE5.js",revision:null},{url:"assets/msdax-DauUninz.js",revision:null},{url:"assets/mips-CIPQ_RoX.js",revision:null},{url:"assets/mindmap-definition-NLK3R4M7-DtFEhmgs.js",revision:null},{url:"assets/mfixx-CpAhKOZz.woff2",revision:null},{url:"assets/mermaid.core-DGYOOYu5.js",revision:null},{url:"assets/mermaid-parser.core-BLRTQ_8m.js",revision:null},{url:"assets/mdx-IUsuOIdX.js",revision:null},{url:"assets/markdown-DEcVZfaU.css",revision:null},{url:"assets/markdown-DCKhnxE9.js",revision:null},{url:"assets/markdown-Cimd5fb3.js",revision:null},{url:"assets/m3-D-oSqn_W.js",revision:null},{url:"assets/lua-CsQS60Ue.js",revision:null},{url:"assets/lspLanguageFeatures-DosEZB2t.js",revision:null},{url:"assets/loader-circle-wVK1RLLa.js",revision:null},{url:"assets/liquid-Bz6ip2ZX.js",revision:null},{url:"assets/linear-BUnzfXgk.js",revision:null},{url:"assets/line-BYkTAP3U.js",revision:null},{url:"assets/lexon-CfSJPG6W.js",revision:null},{url:"assets/less-B9JPFI3C.js",revision:null},{url:"assets/kotlin-BOotOW0E.js",revision:null},{url:"assets/kanban-definition-PNTS6WVX-BctMsDJJ.js",revision:null},{url:"assets/julia-Bri6UV-V.js",revision:null},{url:"assets/jsonMode-BUaimt20.js",revision:null},{url:"assets/journeyDiagram-ZHPQQLJL-dY4w9tp1.js",revision:null},{url:"assets/javascript-B7xbQhF8.js",revision:null},{url:"assets/java-BEtHBSE6.js",revision:null},{url:"assets/ishikawaDiagram-OU5B5YK6-NcOpKVNl.js",revision:null},{url:"assets/init-C-OQMol4.js",revision:null},{url:"assets/ini-sBoK_t0W.js",revision:null},{url:"assets/infoDiagram-VRGFBTTK-CmWWZT96.js",revision:null},{url:"assets/info-A6RAGUB7-yf2Iyt5X.js",revision:null},{url:"assets/index-D_GXBtTU.css",revision:null},{url:"assets/index-BtMp20L0.js",revision:null},{url:"assets/htmlMode-BSBNaQvK.js",revision:null},{url:"assets/html-C26_S8V7.js",revision:null},{url:"assets/hcl-CpzslTdj.js",revision:null},{url:"assets/handlebars-DoP9T-VM.js",revision:null},{url:"assets/graphql-fmXr3nnJ.js",revision:null},{url:"assets/graphlib-DS17s2tU.js",revision:null},{url:"assets/go-C-y9NEjX.js",revision:null},{url:"assets/gitGraphDiagram-X574FWY7-D7jHGUGu.js",revision:null},{url:"assets/gitGraph-4MIJSDKK-mjDyHNS1.js",revision:null},{url:"assets/ganttDiagram-FUAMR5RP-DbhB40jH.js",revision:null},{url:"assets/fsharp-C8Ef5oNN.js",revision:null},{url:"assets/freemarker2-DVo8xgW6.js",revision:null},{url:"assets/fontawesome-B-jkhYfk.woff2",revision:null},{url:"assets/flowDiagram-KWPJA3E3-Cf58WNhf.js",revision:null},{url:"assets/flow9-C5_-GSwl.js",revision:null},{url:"assets/file-icons-C0jOugUK.woff2",revision:null},{url:"assets/eventmodeling-NTZA5JFV-D5vLpI9F.js",revision:null},{url:"assets/erDiagram-OPXOYQCR-BmYHBZJv.js",revision:null},{url:"assets/elk-276RUBZZ-D5Y00SxR.js",revision:null},{url:"assets/elixir-6RTg0lbw.js",revision:null},{url:"assets/editor.api2-CdxXemhu.js",revision:null},{url:"assets/editor-store-BxjPLrr9.js",revision:null},{url:"assets/editor-DOgAgpTS.css",revision:null},{url:"assets/ecl-D05T4iGw.js",revision:null},{url:"assets/ebnfDiagram-ZINNZB2B-CJWaxsG5.js",revision:null},{url:"assets/dockerfile-DZFCIeNp.js",revision:null},{url:"assets/dist-B_J_HbC0.js",revision:null},{url:"assets/diagram-MPIPVDR6-hyhLuNp3.js",revision:null},{url:"assets/diagram-MLGK6HIB-CNB_vlIZ.js",revision:null},{url:"assets/diagram-CDSNMT55-DMAwoRXf.js",revision:null},{url:"assets/diagram-ATOU4E4O-7B6YBDOj.js",revision:null},{url:"assets/diagram-3UASUU5V-C7-A4v72.js",revision:null},{url:"assets/diagram-22UHCM2B-DJVauquX.js",revision:null},{url:"assets/devopicons-QN4QXivI.woff2",revision:null},{url:"assets/defaultLocale-BFoDCU3G.js",revision:null},{url:"assets/dart-onAF5SnQ.js",revision:null},{url:"assets/dagre-6A5THRUB-Dea8s6xE.js",revision:null},{url:"assets/cytoscape.esm-EK2DW5Qr.js",revision:null},{url:"assets/cypher-CVaqCwHa.js",revision:null},{url:"assets/cynefinDiagram-VND7K2PF-C04bh7p8.js",revision:null},{url:"assets/cynefin-OW5HDTMX-BwDHcOb3.js",revision:null},{url:"assets/cssMode-DYH1pn7V.js",revision:null},{url:"assets/css-DIMkf-bt.js",revision:null},{url:"assets/csp-bTuwJoIa.js",revision:null},{url:"assets/csharp-BKxtCVv1.js",revision:null},{url:"assets/cpp-C7h46wYY.js",revision:null},{url:"assets/cose-bilkent-JH36ORCC-CelrFX7F.js",revision:null},{url:"assets/composer-selection-ulujmy_S.js",revision:null},{url:"assets/coffee-Ba7i2nA0.js",revision:null},{url:"assets/clojure-Cm7r79vr.js",revision:null},{url:"assets/classDiagram-v2-NBCMYWYE-BGpw8OWR.js",revision:null},{url:"assets/chunk-ZIGJFQKS-D-9hFu_x.js",revision:null},{url:"assets/chunk-Z7XXMR3K-CL6QEwjv.js",revision:null},{url:"assets/chunk-Y2CYZVJY-DsF7k-Jl.js",revision:null},{url:"assets/chunk-XXDRQBXY-BvKO0v-W.js",revision:null},{url:"assets/chunk-WEXAMYUT-DTnPpX3o.js",revision:null},{url:"assets/chunk-UA2S7LBM-DHv_5vdC.js",revision:null},{url:"assets/chunk-O7XYJQB3-irIWVhcH.js",revision:null},{url:"assets/chunk-NETBCI7D-DS15Lcf7.js",revision:null},{url:"assets/chunk-MBY4JIJT-B2Fs2skV.js",revision:null},{url:"assets/chunk-JWPE2WC7-DVXcaiue.js",revision:null},{url:"assets/chunk-J5ZVWO5B-oDCd-gWO.js",revision:null},{url:"assets/chunk-GWA4HPMP-CVQtrfg2.js",revision:null},{url:"assets/chunk-GTNCS2PH-NNZzPISm.js",revision:null},{url:"assets/chunk-FOHPRMQF-DzxwRta7.js",revision:null},{url:"assets/chunk-DUW6YSOI-Dgx8z5s3.js",revision:null},{url:"assets/chunk-7PRAP22T-D0WpyU-H.js",revision:null},{url:"assets/chunk-7M6MHVWA-CinmEwpu.js",revision:null},{url:"assets/chunk-7INBJB4K-0OOQXMSm.js",revision:null},{url:"assets/chunk-742MDFTN-D8PKsc6_.js",revision:null},{url:"assets/chunk-5VM5RSS4-ZNzvKenW.js",revision:null},{url:"assets/chunk-5DYCD2WN-BJidDn4j.js",revision:null},{url:"assets/chunk-3FUC2YCW-BRXxiofJ.js",revision:null},{url:"assets/chunk-2Q5K7J3B-C1jixKkw.js",revision:null},{url:"assets/channel-pxcszUh2.js",revision:null},{url:"assets/canvas-store-CLGZ388s.js",revision:null},{url:"assets/cameligo-DMUM7wLl.js",revision:null},{url:"assets/c4Diagram-YGBWAQC7-Chr6hcY4.js",revision:null},{url:"assets/browserify-C-6GKAAm.js",revision:null},{url:"assets/blockDiagram-BEXU5L5S-DceMcN-6.js",revision:null},{url:"assets/bicep-B5-_aFwp.js",revision:null},{url:"assets/bat-i0X4ZdIN.js",revision:null},{url:"assets/azcli-Bc_sGQ0U.js",revision:null},{url:"assets/array-BifhSqXX.js",revision:null},{url:"assets/architectureDiagram-NJMV4G6O-CXZjweyd.js",revision:null},{url:"assets/architecture-7GRP2DOG-CVyCykh_.js",revision:null},{url:"assets/arc-DgcGdgmL.js",revision:null},{url:"assets/apex-BWPQTe0t.js",revision:null},{url:"assets/abnfDiagram-O67JEVCF-luL6Qe5x.js",revision:null},{url:"assets/abap-08VXUWAP.js",revision:null},{url:"assets/WorkersView-B5SyD2xB.js",revision:null},{url:"assets/TracesView-4MhXOs0J.js",revision:null},{url:"assets/TerminalPaneView-Cs-7CKCw.js",revision:null},{url:"assets/TasksView-CKm5dh4d.js",revision:null},{url:"assets/StatsView-C7iB42TQ.js",revision:null},{url:"assets/SplitContainer-DlEN5H4s.js",revision:null},{url:"assets/SettingsView-D2wIPOBw.js",revision:null},{url:"assets/RemoteControlView-YqmY0vro.js",revision:null},{url:"assets/PluginsView-BTOCj9co.js",revision:null},{url:"assets/MetricsView-DUSiPsda.js",revision:null},{url:"assets/LogsView-Bcv52scT.js",revision:null},{url:"assets/KeybindingsView-CIDkpkAb.js",revision:null},{url:"assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2",revision:null},{url:"assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2",revision:null},{url:"assets/KaTeX_Size2-Regular-Dy4dx90m.woff2",revision:null},{url:"assets/KaTeX_Size1-Regular-mCD8mA8B.woff2",revision:null},{url:"assets/KaTeX_Script-Regular-D3wIWfF6.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2",revision:null},{url:"assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2",revision:null},{url:"assets/KaTeX_Math-Italic-t53AETM-.woff2",revision:null},{url:"assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2",revision:null},{url:"assets/KaTeX_Main-Regular-B22Nviop.woff2",revision:null},{url:"assets/KaTeX_Main-Italic-NWA7e6Wa.woff2",revision:null},{url:"assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2",revision:null},{url:"assets/KaTeX_Main-Bold-Cx986IdX.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2",revision:null},{url:"assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2",revision:null},{url:"assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2",revision:null},{url:"assets/KaTeX_AMS-Regular-BQhdFMY1.woff2",revision:null},{url:"assets/HoverHint-D2G73lbr.js",revision:null},{url:"assets/EditorView-7YnlryBL.js",revision:null},{url:"assets/DocsView-B79hLvzs.js",revision:null},{url:"assets/ChangesView-fCuIktEK.js",revision:null},{url:"assets/CanvasView-DJNkeBGK.js",revision:null},{url:"assets/CanvasPaneStandaloneView-CDO7isWn.js",revision:null},{url:"logo.svg",revision:"269aa921a3f446f8e17843c89ed7bf35"},{url:"pwa-icon.svg",revision:"673adddf1548f59682764258005b6034"},{url:"manifest.webmanifest",revision:"7a003d0094122eb3e607566c757e9885"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api\/(?!v1\/jobs\/[^/]+\/frame\/?$)/,/^\/gateway/,/^\/docs\//]})),s.registerRoute(/^https:\/\/fonts\.googleapis\.com/,new s.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[]}),"GET"),s.registerRoute(/^https:\/\/fonts\.gstatic\.com/,new s.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new s.ExpirationPlugin({maxEntries:20,maxAgeSeconds:31536e3})]}),"GET")});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";exports.ids=["2701"],exports.modules={65980(e,t,a){a.d(t,{AcpSessionFormatter:()=>AcpSessionFormatter});let JsonStreamParser=class JsonStreamParser{constructor(e){this.buffer="",this.parsedParams=new Map,this.completed=!1,this.onUnexpectedError=e}reportUnexpected(e,t){e instanceof SyntaxError||this.onUnexpectedError?.(e,t)}appendDelta(e){return this.completed?this.getCurrentResult():(this.buffer+=e,this.tryParse())}setComplete(e){if("string"==typeof e){this.buffer=e;try{let t=JSON.parse(e);t&&"object"==typeof t&&!Array.isArray(t)?this.updateParsedParams(t,!0):this.reportUnexpected(TypeError(`setComplete: final JSON is not an object (typeof=${typeof t})`),"setComplete")}catch(e){this.reportUnexpected(e,"setComplete")}}else this.buffer=JSON.stringify(e),this.updateParsedParams(e,!0);this.completed=!0}getCurrentResult(){let e={};return this.parsedParams.forEach((t,a)=>{e[a]=t.value}),{complete:this.completed,parameters:e,rawBuffer:this.buffer}}getBuffer(){return this.buffer}isCompleted(){return this.completed}tryParse(){let e=this.buffer.trim();if(!e||"{}"===e)return{complete:!1,parameters:{},rawBuffer:this.buffer};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&!Array.isArray(t))return this.updateParsedParams(t,!0),this.completed=!0,this.getCurrentResult()}catch(a){this.reportUnexpected(a,"tryParse");let t=this.trySmartParse(e);if(t&&Object.keys(t.parsed).length>0&&(this.updateParsedParams(t.parsed,t.isComplete),t.isComplete))return this.completed=!0,this.getCurrentResult()}return{complete:!1,parameters:this.getParametersObject(),rawBuffer:this.buffer}}trySmartParse(e){let t=e.trim();if(!(t=this.tryFixMissingPrefix(t)).startsWith("{"))return;try{let e=this.tryCompleteJson(t);if(e){let a=JSON.parse(e);if(a&&"object"==typeof a&&!Array.isArray(a)){let r=e===t;return{parsed:a,isComplete:r}}}}catch(e){this.reportUnexpected(e,"trySmartParse")}let a=this.extractPartialKeyValues(t);if(a)return{parsed:a,isComplete:!1}}tryFixMissingPrefix(e){let t=e.trim();if(t.startsWith("{"))return t;if(t.startsWith('"'))return"{"+t;if(t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)"\s*:/))return'{"'+t;let a=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*"?\s*:/);if(a){let e=a[1],r=a[0].length;return'{"'+e+'":'+t.substring(r)}return t}tryCompleteJson(e){let t=e.trim(),a=0,r=0,i=!1,o=!1;for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&!o){o=!0;continue}'"'!==n||o||(i=!i),!i&&("{"===n&&a++,"}"===n&&a--,"["===n&&r++,"]"===n&&r--),o=!1}if(0===a&&0===r&&!i)return t;let n=t;for(i&&(n+='"');r>0;)n+="]",r--;for(;a>0;)n+="}",a--;try{return JSON.parse(n),n}catch{return null}}extractPartialKeyValues(e){let t={};for(let a of this.smartSplitJson(e)){let e=a.indexOf(":");if(-1===e)continue;let r=a.substring(0,e).trim(),i=a.substring(e+1).trim(),o=r.replace(/^[{"\s]+|"$/g,"").trim();if(!o)continue;let n=this.tryParseValue(i);void 0!==n&&(t[o]=n)}return Object.keys(t).length>0?t:void 0}tryParseValue(e){let t=e.trim();if(t)try{if(t.startsWith('"')&&!t.endsWith('"'))return this.unescapeJsonString(t.slice(1));let e=t.replace(/[,}]+$/,"");if(!e)return;return JSON.parse(e)}catch{if(t.startsWith('"'))return this.unescapeJsonString(t.slice(1).replace(/[,}]+$/,""));let e=t.match(/^(-?\d+(\.\d+)?)/);if(e)return parseFloat(e[1]);if(t.startsWith("true"))return!0;if(t.startsWith("false"))return!1;if(t.startsWith("null"))return null;return}}smartSplitJson(e){let t=[],a="",r=!1,i=!1,o=0,n=0;for(let s=0;s<e.length;s++){let l=e[s];if("\\"===l&&!i){i=!0,a+=l;continue}if('"'===l&&!i){r=!r,a+=l,i=!1;continue}if(!r){if("{"===l)o++;else if("}"===l)o--;else if("["===l)n++;else if("]"===l)n--;else if(","===l&&1===o&&0===n){t.push(a.trim()),a="",i=!1;continue}}a+=l,i=!1}return a.trim()&&t.push(a.trim()),t}unescapeJsonString(e){return e.endsWith("\\")&&!e.endsWith("\\\\")?e:e.replace(/\\([\\/"'bfnrt])/g,(e,t)=>({"\\":"\\","/":"/",'"':'"',"'":"'",b:"\b",f:"\f",n:"\n",r:"\r",t:" "})[t]||e)}updateParsedParams(e,t){for(let[a,r]of(t&&this.parsedParams.clear(),Object.entries(e)))this.parsedParams.set(a,{value:r,completed:t})}getParametersObject(){let e={};return this.parsedParams.forEach((t,a)=>{e[a]=t.value}),e}};var r=a(88523),i=a(70724),o=a(21215),n=a(5884),s=a(76982),l=a(79896),c=a(70857),d=a(16928),p=a(66213),u=a(53685),m=a(41637),g=a(59771),_=a(95102),y=a(12640),f=a(52620),h=a(17913),b=a(98766),v=a(46151),A=a(90872),I=a(45904),C=a(79846),T=a(39867),k=a(77848);let x="_codebuddy.ai/compaction",U="codebuddy.ai/trigger";function compactTypeToTrigger(e){return e===o.CompactType.USER_COMMAND?"manual":"auto"}function createAcpCompactionUpdate(e,t,a){if("string"!=typeof e||!e.trim()||e.length>1024)throw TypeError("ACP compactionId must be a non-empty string at most 1024 characters");if("string"!=typeof t||!t.trim()||t.length>128)throw TypeError("ACP compaction status must be a non-empty string at most 128 characters");let{trigger:r,summary:i,error:o,meta:n}=a;if("manual"!==r&&"auto"!==r)throw TypeError("ACP compaction trigger must be manual or auto");if(null!=i&&(!Array.isArray(i)||i.length>1024||i.some(e=>!isAcpCompactionContentBlock(e))))throw TypeError("ACP compaction summary must contain at most 1024 valid content blocks");if(Array.isArray(i)&&i.length>0&&"completed"!==t)throw TypeError("ACP compaction summary is only valid with completed");if(null!=o&&("string"!=typeof o||!o.trim()||o.length>4096))throw TypeError("ACP compaction error must be a non-empty string at most 4096 characters or null");if("string"==typeof o&&"failed"!==t)throw TypeError("ACP compaction error is only valid with failed");if(null!=n&&("object"!=typeof n||Array.isArray(n)))throw TypeError("ACP compaction meta must be an object or null");let s={...n??{},[U]:r};return{sessionUpdate:x,compactionId:e,status:t,...void 0!==i?{summary:i}:{},...void 0!==o?{error:o}:{},_meta:s}}function isAcpCompactionContentBlock(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&(k.$G.isText(e)||k.$G.isImage(e)||k.$G.isAudio(e)||k.$G.isResourceLink(e)||k.$G.isResource(e)||k.$G.isCustom(e))}function isAcpCompactionUpdate(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let t=Object.keys(e),a=new Set(["sessionUpdate","compactionId","status","summary","error","_meta"]),r=e._meta,i=r&&"object"==typeof r&&!Array.isArray(r)?r[U]:void 0;return t.every(e=>a.has(e))&&e.sessionUpdate===x&&"string"==typeof e.compactionId&&e.compactionId.trim().length>0&&e.compactionId.length<=1024&&"string"==typeof e.status&&e.status.trim().length>0&&e.status.length<=128&&(void 0===e.summary||null===e.summary||Array.isArray(e.summary)&&e.summary.length<=1024&&e.summary.every(isAcpCompactionContentBlock))&&(null==e.summary||0===e.summary.length||"completed"===e.status)&&(void 0===e.error||null===e.error||"string"==typeof e.error)&&("string"!=typeof e.error||e.error.trim().length>0&&e.error.length<=4096&&"failed"===e.status)&&("manual"===i||"auto"===i)}let P=Symbol("codebuddy.acp.v2.fileChangeArtifact"),w=Symbol("codebuddy.acp.v2.fileChangeRawInput");function attachAcpV2FileChangeArtifact(e,t){return t&&(e[P]=t),e}function attachAcpV2FileChangeRawInput(e,t){return t&&(e[w]=t),e}function readAcpV2FileChangeArtifact(e){return e[P]}function readAcpV2FileChangeRawInput(e){return e[w]}let j=Symbol("codebuddy.acp.v2.taskPlanSnapshot");function parsePersistedAcpV2TaskPlanSnapshot(e){if(!(!e||"object"!=typeof e||Array.isArray(e))&&"string"==typeof e.sourceId&&0!==e.sourceId.length&&"string"==typeof e.revision&&/^\d+$/.test(e.revision)&&Array.isArray(e.entries))return{sourceId:e.sourceId,revision:e.revision,entries:e.entries}}function attachAcpV2TaskPlanSnapshot(e,t){return t&&(e[j]=t),e}function readAcpV2TaskPlanSnapshot(e){return e[j]}let E=new Set(["auto","auto-chat"]),M="acpCanonicalPromptContent";let acp_utils_AcpUtils=class acp_utils_AcpUtils extends I.B9{static requestTreeMeta(e){let t=e.providerData;return{..."string"==typeof t?.conversationRequestId&&t.conversationRequestId.length>0?{"codebuddy.ai/requestId":t.conversationRequestId}:{},..."string"==typeof t?.rootRequestId&&t.rootRequestId.length>0?{"codebuddy.ai/rootRequestId":t.rootRequestId}:{}}}static{this.INTERNAL_STREAMING_UPDATES=new Set(["tool_call_pending","tool_call_arguments_delta","tool_call_arguments_done"])}static isInternalStreamingUpdate(e){if(!e||"object"!=typeof e)return!1;let t=e.sessionUpdate;return"string"==typeof t&&acp_utils_AcpUtils.INTERNAL_STREAMING_UPDATES.has(t)}static preserveCanonicalPromptContent(e,t){let a=e.find(e=>o.InputItemUtils.isRealUserMessageItem(e));if(!a||0===t.length)return;let r=t.map(e=>{if("resource"===e.type&&"blob"in e.resource){if(0===e.resource.blob.length)return{block:structuredClone(e),kind:"content"};let t=this.embeddedBlobModelKind(e.resource.mimeType);if("image"===t||"file"===t){let{blob:a,...r}=e.resource;return{block:structuredClone({...e,resource:r}),kind:"image"===t?"blob_resource_image":"blob_resource_file"}}}if("image"!==e.type)return{block:structuredClone(e),kind:"content"};if(0===e.data.length)return{block:structuredClone(e),kind:"inline_image"};let{data:t,...a}=e;return{block:structuredClone(a),kind:"image"}});a.providerData={...a.providerData??{},[M]:{blocks:r,version:1}}}static isCanonicalNonImageBlock(e){if(!this.isRecord(e))return!1;switch(e.type){case"text":return"string"==typeof e.text;case"audio":return"string"==typeof e.data&&"string"==typeof e.mimeType;case"resource_link":return"string"==typeof e.name&&"string"==typeof e.uri;case"resource":{let t=e.resource;if(!this.isRecord(t)||"string"!=typeof t.uri)return!1;return"string"==typeof t.text!=("string"==typeof t.blob)}default:return!1}}static restoreCanonicalPromptContent(e,t){let a,r,o=e.providerData?.[M];if(!this.isRecord(o)||1!==o.version||!Array.isArray(o.blocks)||0===o.blocks.length)return;let decodedImages=()=>a??=(0,i.decodePersistedUserContentToAcpContentBlocks)([...t],{convertPersistedImageBlock:e=>this.convertPersistedUserImageBlockToAcpContentBlock(e)}).filter(e=>"image"===e.type),decodedFiles=()=>r??=t.flatMap(e=>{if(e?.type!=="input_file"||"string"!=typeof e.file)return[];let t=this.parseDataUri(e.file);return t?[t]:[]}),n=[],s=0,l=0,c=0,admitsEmbeddedBlob=e=>{try{return(s+=this.validatedEmbeddedBlobLength(e))<=I.hu}catch{return!1}};for(let e of o.blocks){if(!this.isRecord(e)||!this.isRecord(e.block))return;if("content"===e.kind){if(!this.isCanonicalNonImageBlock(e.block)||"resource"===e.block.type&&"blob"in e.block.resource&&!admitsEmbeddedBlob(e.block.resource.blob))return;n.push(structuredClone(e.block));continue}if("inline_image"===e.kind){if("image"!==e.block.type||""!==e.block.data||"string"!=typeof e.block.mimeType)return;n.push(structuredClone(e.block));continue}if("blob_resource_image"===e.kind||"blob_resource_file"===e.kind){let t;if(!this.isCanonicalBlobResourceTemplate(e.block))return;if("blob_resource_image"===e.kind){let e=decodedImages()[l];l+=1,e&&"string"==typeof e.data&&(t=e.data)}else{let a=decodedFiles()[c];c+=1;let r=this.normalizeEmbeddedBlobMimeType(e.block.resource.mimeType);a&&a.mimeType===r&&(t=a.data)}if(void 0===t||!admitsEmbeddedBlob(t))return;n.push(this.restoreCanonicalBlobResource(e.block,t));continue}let t=e.block;if("image"!==e.kind||"image"!==t.type||Object.hasOwn(t,"data")||"string"!=typeof t.mimeType)return;let a=decodedImages()[l];if(l+=1,!a||"string"!=typeof a.data)return;n.push({...structuredClone(t),data:a.data})}return n}static isCanonicalBlobResourceTemplate(e){return!!this.isRecord(e)&&"resource"===e.type&&!!this.isRecord(e.resource)&&"string"==typeof e.resource.uri&&!Object.hasOwn(e.resource,"blob")&&!Object.hasOwn(e.resource,"text")}static restoreCanonicalBlobResource(e,t){let a=structuredClone(e);return{...a,resource:{...a.resource,blob:t}}}static extractToolName(e){let t=e?.title||e?._meta?.["codebuddy.ai/toolName"]||e?.toolName;return"string"==typeof t&&t?t:void 0}static{this.SOURCE_EVENT_META_KEY="codebuddy.ai/sourceEvent"}static stripLegacyMessageIdFromStandardChunk(e){if(!e||"object"!=typeof e||Array.isArray(e)||"user_message_chunk"!==e.sessionUpdate&&"agent_message_chunk"!==e.sessionUpdate&&"agent_thought_chunk"!==e.sessionUpdate||!acp_utils_AcpUtils.isRecord(e._meta))return;let t={...e._meta};delete t["codebuddy.ai/messageId"];let a=t["codebuddy.ai"];if(acp_utils_AcpUtils.isRecord(a)){let e={...a};delete e.messageId,Object.keys(e).length>0?t["codebuddy.ai"]=e:delete t["codebuddy.ai"]}e._meta=t}static isInterruptedByUserMessage(e){if("message"!==e.type||"assistant"!==e.role)return!1;let t=e.content;return"string"==typeof t?t===o.INTERRUPTED_BY_USER_MESSAGE:!!Array.isArray(t)&&t.some(e=>"output_text"===e.type&&e.text===o.INTERRUPTED_BY_USER_MESSAGE)}static withMessageCorrelation(e,t){if(!["user_message_chunk","agent_message_chunk","agent_thought_chunk","tool_call","tool_call_update"].includes(t.sessionUpdate))return t;let a="message"===e.type&&"user"===e.role?{conversationRequestId:e.providerData?.conversationRequestId}:e.providerData,r={...t._meta,...(0,T.JY)(a)};if("user_message_chunk"===t.sessionUpdate||"agent_message_chunk"===t.sessionUpdate||"agent_thought_chunk"===t.sessionUpdate){let a=e.id||(0,o.deriveStableIdFromContent)(e);t={...t,messageId:a},r[T.f6]=a}return{...t,_meta:r}}static isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}static attachToolMetaData(e,t){let a=acp_utils_AcpUtils.isRecord(e["codebuddy.ai"])?e["codebuddy.ai"]:{},r=acp_utils_AcpUtils.isRecord(a.toolMetaData)?a.toolMetaData:{};e["codebuddy.ai"]={...a,toolMetaData:{...r,...t}}}static parseToRecord(e,t){if(e){if("string"==typeof e)try{return JSON.parse(e)}catch{return{[t]:e}}return"object"==typeof e?e:{[t]:e}}}static parseFunctionCallRawInput(e){let t=e.providerData&&"object"==typeof e.providerData?e.providerData:void 0,a=t?.rawItem&&"object"==typeof t.rawItem?t.rawItem:void 0,r=t?.toolCall&&"object"==typeof t.toolCall?t.toolCall:void 0,i=t?.toolUse&&"object"==typeof t.toolUse?t.toolUse:void 0;for(let o of[e.arguments,e.rawInput,e.input,e.parameters,t?.rawInput,t?.input,t?.arguments,a?.arguments,a?.rawInput,a?.input,r?.input,r?.function?.arguments,i?.input]){let e=acp_utils_AcpUtils.parseToRecord(o,"arguments");if(void 0!==e)return e}return{}}static parseFunctionCallResultRawInput(e){let t=e.providerData&&"object"==typeof e.providerData?e.providerData:void 0,a=t?.rawItem&&"object"==typeof t.rawItem?t.rawItem:void 0,r=t?.toolCall&&"object"==typeof t.toolCall?t.toolCall:void 0,i=t?.toolUse&&"object"==typeof t.toolUse?t.toolUse:void 0;for(let o of[e.rawInput,e.input,e.parameters,e.arguments,t?.rawInput,t?.input,t?.arguments,a?.arguments,a?.rawInput,a?.input,r?.input,r?.function?.arguments,i?.input]){let e=acp_utils_AcpUtils.parseToRecord(o,"arguments");if(void 0!==e&&Object.keys(e).length>0)return e}}static convertTodosToPlanEntries(e){return(0,h.do)(e.newTodos??e.todos??[]).map((e,t)=>({content:e.content,status:e.status,priority:"medium",_meta:{id:e.id??`task-${t}`,...e.dependencies&&e.dependencies.length>0?{dependencies:e.dependencies}:{},"codebuddy.ai":{id:e.id??`task-${t}`,activeForm:e.activeForm??e.content,...e.dependencies&&e.dependencies.length>0?{dependencies:e.dependencies}:{},order:t}}}))}static isGoalAcpHistoryItem(e){return e?.providerData?.goalStatus!=null||e?.type==="goal-progress"||e?.type==="goal-result"}static convertHistoryItemToAcp(e,t={}){return acp_utils_AcpUtils.convertHistoryItemContentToAcp(e,t).map(t=>acp_utils_AcpUtils.withMessageCorrelation(e,t))}static convertHistoryItemContentToAcp(e,t){if("message"===e.type&&"user"===e.role){let a=o.InputItemUtils.isCompactBoundaryMessage(e),r=e.providerData?.isCompactInternal===!0||e.providerData?.agent===o.AgentNames.COMPACT,n=o.InputItemUtils.isCompactContinuePromptMessage(e);if(!a&&(r||n))return[];if(e.providerData?.goalStatus)return[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/goalStatus":{...e.providerData.goalStatus,id:e.id}}}];if(e.providerData?.scheduledTaskTrigger)return[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/scheduledTaskTrigger":{...e.providerData.scheduledTaskTrigger,eventId:e.id}}}];if(e.providerData?.isMeta===!0&&!a)return[];let s=e.content;if(!s)return[];let l=e.id||(0,o.deriveStableIdFromContent)(e),c={...acp_utils_AcpUtils.requestTreeMeta(e)};if(e.providerData&&Object.prototype.hasOwnProperty.call(e.providerData,"clientMeta")){let t=e.providerData.clientMeta;c[i.ACP_META_STEER_CLIENT_META]=acp_utils_AcpUtils.isRecord(t)?t:{}}if(e.providerData?.isCompactInternal&&(c["codebuddy.ai/isCompactInternal"]=!0),e.providerData?.compactType&&(c[o.ACP_META_COMPACT_TYPE]=e.providerData.compactType),a){if(!1===t.compatibilityExtensions){let t="string"==typeof e.providerData?.compactionId&&e.providerData.compactionId.length>0?e.providerData.compactionId:l;return t?[createAcpCompactionUpdate(t,"completed",{trigger:compactTypeToTrigger(e.providerData?.compactType),meta:Object.keys(acp_utils_AcpUtils.requestTreeMeta(e)).length>0?acp_utils_AcpUtils.requestTreeMeta(e):void 0})]:[]}return[{sessionUpdate:"agent_message_chunk",messageId:l,content:{type:"text",text:"string"==typeof s?s:s.filter(e=>"input_text"===e.type&&e.text).map(e=>e.text).join("\n")},_meta:{...c,"codebuddy.ai/isCompactInternal":!0}}]}if("string"==typeof s){let e=s,t=acp_utils_AcpUtils.extractChannelInfo(e);if(e=(0,i.stripPromptContextXml)(e),t&&(e=t.content),o.CommandMessageUtils.isSystemInternalMessage(e)||!e)return[];let a=o.CommandMessageUtils.parseInput(e);if(a){let e={...c};return t&&(e["codebuddy.ai/channelSource"]=t.source,e["codebuddy.ai/channelSender"]=t.sender,t.chatId&&(e["codebuddy.ai/channelChatId"]=t.chatId),t.chatType&&(e["codebuddy.ai/channelChatType"]=t.chatType)),a.type===o.CommandType.COMMAND&&(e["codebuddy.ai/commandKind"]="slash"),[{sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:a.text},...Object.keys(e).length>0&&{_meta:e}}]}let r=o.CommandMessageUtils.parseOutput(e);if(r&&r.text.trim()){let e=r.text.replace(/\n\n {2}Scan to open Web UI:\n[\s\S]*$/,"");return[{sessionUpdate:"agent_message_chunk",messageId:l,content:{type:"text",text:"```\n"+(e=b.n.replaceAnsiColor(e)).trimEnd()+"\n```"}}]}let n={...c};return t&&(n["codebuddy.ai/channelSource"]=t.source,n["codebuddy.ai/channelSender"]=t.sender,t.chatId&&(n["codebuddy.ai/channelChatId"]=t.chatId),t.chatType&&(n["codebuddy.ai/channelChatType"]=t.chatType)),[{sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:e},...Object.keys(n).length>0&&{_meta:n}}]}if(Array.isArray(s)){let a=[],r=this.restoreCanonicalPromptContent(e,s);if(r)return r.map(e=>({sessionUpdate:"user_message_chunk",...l?{messageId:l}:{},content:e,...Object.keys(c).length>0&&{_meta:{...c}}}));let n=s.filter(e=>"input_text"===e.type).map(e=>e.text).join("\n"),d=acp_utils_AcpUtils.extractChannelInfo(n),p=[];for(let e of s){if(e?.type==="input_text"&&"string"==typeof e.text){let t=e.text;if(o.CommandMessageUtils.isSystemInternalMessage(t)){p.push(e);continue}if(acp_utils_AcpUtils.isImageLocalPathText(t))continue;let r=o.CommandMessageUtils.parseInput(t);if(r){let e={...c};0===a.length&&d&&(e["codebuddy.ai/channelSource"]=d.source,e["codebuddy.ai/channelSender"]=d.sender,d.chatId&&(e["codebuddy.ai/channelChatId"]=d.chatId),d.chatType&&(e["codebuddy.ai/channelChatType"]=d.chatType)),r.type===o.CommandType.COMMAND&&(e["codebuddy.ai/commandKind"]="slash"),a.push({sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:r.text},...Object.keys(e).length>0&&{_meta:e}});continue}let i=o.CommandMessageUtils.parseOutput(t);if(i){if(i.text.trim()){let e=i.text.replace(/\n\n {2}Scan to open Web UI:\n[\s\S]*$/,"");e=b.n.replaceAnsiColor(e),a.push({sessionUpdate:"agent_message_chunk",messageId:l,content:{type:"text",text:"```\n"+e.trimEnd()+"\n```"}})}continue}}p.push(e)}if(p.length>0){let e=(0,i.decodePersistedUserContentToAcpContentBlocks)(p,{parseInlineReferences:!1!==t.compatibilityExtensions,convertPersistedImageBlock:e=>this.convertPersistedUserImageBlockToAcpContentBlock(e)}),r=e.some(e=>"image"===e.type&&"string"==typeof e.data&&e.data.length>0);for(let t of e){let e={...c};if(0===a.length&&d&&(e["codebuddy.ai/channelSource"]=d.source,e["codebuddy.ai/channelSender"]=d.sender,d.chatId&&(e["codebuddy.ai/channelChatId"]=d.chatId),d.chatType&&(e["codebuddy.ai/channelChatType"]=d.chatType)),"text"===t.type){let n=t.text||"";if(d&&0===a.length&&(n=d.content),(n.includes("<system-reminder")||n.includes("<user_query>"))&&(n=(0,i.stripPromptContextXml)(n)),r&&n.includes("<image_local_path>")&&(n=acp_utils_AcpUtils.stripImageLocalPathMarkup(n)),!n||o.CommandMessageUtils.isSystemInternalMessage(n)||acp_utils_AcpUtils.isImageLocalPathText(n))continue;a.push({sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:n},...Object.keys(e).length>0&&{_meta:e}});continue}let n=t._meta?.filename||t.uri;n&&"image"===t.type&&(e["codebuddy.ai/filename"]=n),a.push({sessionUpdate:"user_message_chunk",messageId:l,content:t,...Object.keys(e).length>0&&{_meta:e}})}}return a}return[]}if("message"===e.type&&"assistant"===e.role){let a,r=e.content;if(!r||e.providerData?.skipRun===!0&&("incomplete"===e.status||e.providerData?.error)&&!acp_utils_AcpUtils.isInterruptedByUserMessage(e))return[];let i="";if("string"==typeof r){let t=acp_utils_AcpUtils.protectedHistoryText(r,(0,g.gP)(e));i=t.text,a=t.sensitiveProtection}else if(Array.isArray(r)){let t=acp_utils_AcpUtils.joinProtectedTextBlocks(r,"output_text","\n",(0,g.gP)(e)?.sensitiveProtection);i=t.text,a=t.sensitiveProtection}if(!i)return[];let n=e.providerData?.isCompactInternal||e.providerData?.agent===o.AgentNames.COMPACT,s=e.id||(0,o.deriveStableIdFromContent)(e),l=acp_utils_AcpUtils.requestTreeMeta(e);n&&(l["codebuddy.ai/isCompactInternal"]=!0),e.providerData?.contentFilterNotice&&(l[o.ACP_META_CONTENT_FILTER_NOTICE]=!0),e.providerData?.compactType&&(l[o.ACP_META_COMPACT_TYPE]=e.providerData.compactType),e.providerData?.traceId&&(l["codebuddy.ai/traceId"]=e.providerData.traceId),e.providerData?.conversationRequestId&&(l["codebuddy.ai/requestId"]=e.providerData.conversationRequestId,l[o.CONVERSATION_REQUEST_ID_META_KEY]=e.providerData.conversationRequestId);let c=e.providerData?.requestModelId||e.providerData?.model,d=e.providerData?.requestModelName||e.providerData?.modelName,p=e.providerData?.model,u=p&&p!==e.providerData?.requestModelId&&!E.has(p)?p:void 0;if(c&&(l["codebuddy.ai/requestModelId"]=c),d&&(l["codebuddy.ai/requestModelName"]=d),u&&(l["codebuddy.ai/responseModelId"]=u),(e.providerData?.hookEvent||e.providerData?.hookStatus)&&(l["codebuddy.ai/hook"]={...e.providerData.hookEvent?{event:e.providerData.hookEvent}:{},...e.providerData.hookStatus?{status:e.providerData.hookStatus}:{},...e.providerData.stopped?{stopped:!0}:{},...void 0!==e.providerData.exitCode?{exitCode:e.providerData.exitCode}:{},...Array.isArray(e.providerData.blockingDetails)&&e.providerData.blockingDetails.length>0?{blocking:e.providerData.blockingDetails}:{}}),!1===t.compatibilityExtensions&&n&&(e.providerData?.isCompacted===!0||e.providerData?.isSummary===!0)&&"incomplete"!==e.status&&"in_progress"!==e.status&&void 0!==o.SummaryUtils.extractCompactSummaryFromText(i)){let t="string"==typeof e.providerData?.compactionId&&e.providerData.compactionId.length>0?e.providerData.compactionId:s;return t?[createAcpCompactionUpdate(t,"completed",{trigger:compactTypeToTrigger(e.providerData?.compactType),meta:Object.keys(acp_utils_AcpUtils.requestTreeMeta(e)).length>0?acp_utils_AcpUtils.requestTreeMeta(e):void 0})]:[]}return[{sessionUpdate:"agent_message_chunk",messageId:s,content:{type:"text",text:i,...a?{_meta:{sensitiveProtection:a}}:{}},_meta:l}]}if("function_call"===e.type||"function_call_result"===e.type||"function_call_output"===e.type){let t=acp_utils_AcpUtils.convertInputItemToAcp(e,{});return t?[t]:[]}if("reasoning"===e.type){let t=e.id,a=e.rawContent;if(!a||0===a.length)return[];let{text:r,sensitiveProtection:i}=acp_utils_AcpUtils.joinProtectedTextBlocks(a,"reasoning_text","",(0,g.gP)(e)?.sensitiveProtection);return r?[{sessionUpdate:"agent_thought_chunk",...t?{messageId:t}:{},content:{type:"text",text:r,...i?{_meta:{sensitiveProtection:i}}:{}},...Object.keys(acp_utils_AcpUtils.requestTreeMeta(e)).length>0?{_meta:acp_utils_AcpUtils.requestTreeMeta(e)}:{}}]:[]}if("message"===e.type&&"system"===e.role){let t=e.providerData;if(t?.isSessionSeparator===!0){let a=t.separatorMessageId??e.id;return a?[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai":{isHistoryReplay:!0,messageId:a,isSessionSeparator:!0,separatorExtra:t.separatorExtra&&"object"==typeof t.separatorExtra?t.separatorExtra:{isSessionSeparator:!0}}}}]:[]}return[]}return"goal-progress"===e.type?[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/goalProgress":{id:e.id,condition:e.condition,reason:e.reason,turnCount:e.turnCount,..."number"==typeof e.createdAt?{createdAt:e.createdAt}:{}}}}]:"goal-result"===e.type?[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/goalResult":{id:e.id,ok:e.ok,reason:e.reason,condition:e.condition,durationMs:e.durationMs,turnCount:e.turnCount,tokenDelta:e.tokenDelta}}}]:[]}static async rehydratePersistedUserImagesForReplay(e,t){if("message"!==e.type||"user"!==e.role||!Array.isArray(e.content))return e;let a=!1,r=[];for(let i of e.content){let e;if(!this.isRecord(i)){r.push(i);continue}let o="input_image"===i.type&&this.isRecord(i.image)&&"image_blob_ref"===i.image.type?i.image:void 0,n="image_blob_ref"===i.type?i:o,s=n?this.toImageBlobIdentity(n):void 0;if(!n||!s){r.push(i);continue}try{e=await t(s)}catch{}if(!e){r.push(i);continue}let l="string"==typeof n.original_filename?n.original_filename:"string"==typeof i.original_filename?i.original_filename:void 0;o?r.push({...i,image:e,...l?{original_filename:l}:{}}):r.push({type:"input_image",image:e,..."string"==typeof n.source?{source:n.source}:{},...l?{original_filename:l}:{}}),a=!0}return a?{...e,content:r}:e}static async rehydrateItemForReplay(e,t){return t&&this.hasPersistedUserImageBlobRef(e)?this.rehydratePersistedUserImagesForReplay(e,t):e}static hasPersistedUserImageBlobRef(e){return"message"===e.type&&"user"===e.role&&Array.isArray(e.content)&&e.content.some(e=>!!this.isRecord(e)&&((0,p.Hk)(e)||"input_image"===e.type&&(0,p.Hk)(e.image)))}static toImageBlobIdentity(e){if((0,p.Hk)(e))return{type:"image_blob_ref",blob_id:e.blob_id,mime:e.mime,size:e.size}}static convertInputItemToAcp(e,t={},a){let r=acp_utils_AcpUtils.convertInputItemContentToAcp(e,t,a);return r?acp_utils_AcpUtils.withMessageCorrelation(e,r):null}static convertInputItemContentToAcp(e,t,a){let i=a?.parentToolUseId?{"codebuddy.ai/parentToolCallId":a.parentToolUseId}:void 0;if("function_call"===e.type){if(e.name===n.L3.TODO_WRITE)try{let t=JSON.parse(e.arguments),a=t?.newTodos??t?.todos;if("string"==typeof a)try{a=JSON.parse(a)}catch{}if(Array.isArray(a))return{sessionUpdate:"plan",entries:acp_utils_AcpUtils.convertTodosToPlanEntries({...t,newTodos:a})}}catch(e){r.ContainerUtil.get(u.dy).error("[AcpUtils] Failed to parse TodoWrite input:",e)}let a=acp_utils_AcpUtils.parseFunctionCallRawInput(e),s=acp_utils_AcpUtils.toolInfoFromToolUse({name:e.name,input:a},t),l={...{"codebuddy.ai/toolName":e.name,"codebuddy.ai/toolArgumentsComplete":!0},...i,...s._meta};e.providerData?.conversationRequestId&&(l[o.CONVERSATION_REQUEST_ID_META_KEY]=e.providerData.conversationRequestId);let c=(0,_.d3)(e.arguments,(0,g.gP)(e)?.sensitiveProtection);if(c&&(l.sensitiveProtection=c),e.name===n.L3.EXIT_PLAN_MODE){let t=e.providerData?.toolResult?.content;t&&"string"==typeof t&&(l["codebuddy.ai/planContent"]=t)}return{sessionUpdate:"tool_call",toolCallId:e.callId,status:"completed"===e.status?"completed":"in_progress"===e.status?"in_progress":"incomplete"===e.status?"failed":"pending",rawInput:a,title:s.title,kind:s.kind,content:s.content,locations:s.locations,...l&&{_meta:l}}}if("function_call_result"===e.type||"function_call_output"===e.type){let t;if(e.name===n.L3.TODO_WRITE)return null;let{acpStatus:r,businessFailed:s}=acp_utils_AcpUtils.resolveAcpToolStatus(e),l=e.providerData?.toolResult?.renderer,c=!1;if(l?.type==="agent-spawned"&&l.value)try{c=!0===JSON.parse(l.value).alreadyLive}catch{}let d=l?.type!=="agent-spawned"||c||"completed"!==r?r:"in_progress",p=acp_utils_AcpUtils.parseFunctionCallResultRawInput(e),u={...i||{}};e.providerData?.conversationRequestId&&(u[o.CONVERSATION_REQUEST_ID_META_KEY]=e.providerData.conversationRequestId),"string"==typeof e.name&&e.name.length>0&&(u["codebuddy.ai/toolName"]=e.name);let g=e.providerData?.toolResult?.rawResponse;void 0!==g&&(u["codebuddy.ai/rawResponse"]=g);let _=(0,C.X)(e.providerData?.toolResult)??m.g.take(e.callId);_&&(acp_utils_AcpUtils.attachToolMetaData(u,{mcpUi:_}),e.providerData?.toolResult&&"object"==typeof e.providerData.toolResult&&!e.providerData.toolResult.mcpUi&&(e.providerData.toolResult.mcpUi=_)),s&&(u["codebuddy.ai/businessFailed"]=!0);let h=Object.keys(u).length>0,b=parsePersistedAcpV2TaskPlanSnapshot(e.providerData?.toolResult?.acpV2PlanSnapshot),v=(0,f.OE)(e),A=(0,y.Zu)(e.providerData?.toolResult?.acpV2FileChange),I="failed"===r&&"string"==typeof a?.sessionId?(0,f.Oz)(a.sessionId,e.callId):void 0,T=v?.artifact??A??I?.artifact;T&&(t=v?v.rawInput:A?(0,f.hK)(e.providerData?.toolResult?.acpV2FileChangeRawInput):I?.rawInput);let k=e.providerData?.toolResult?.terminalId,x="string"==typeof k&&k.length>0?[{type:"terminal",terminalId:k}]:void 0;return e.name===n.L3.BASH?"failed"===r&&e.output?{sessionUpdate:"tool_call_update",toolCallId:e.callId,status:r,content:[acp_utils_AcpUtils.wrapInCodeBlock(e.output),...x??[]],...p?{rawInput:p}:{},rawOutput:acp_utils_AcpUtils.parseToRecord(e.output,"output"),...h&&{_meta:u}}:{sessionUpdate:"tool_call_update",toolCallId:e.callId,status:r,...x?{content:x}:{},...p?{rawInput:p}:{},rawOutput:acp_utils_AcpUtils.parseToRecord(e.output,"output"),...h&&{_meta:u}}:attachAcpV2FileChangeRawInput(attachAcpV2FileChangeArtifact(attachAcpV2TaskPlanSnapshot({sessionUpdate:"tool_call_update",toolCallId:e.callId,status:d,content:e.output?[acp_utils_AcpUtils.convertToolResultToAcp(e.output)]:void 0,...p?{rawInput:p}:{},rawOutput:acp_utils_AcpUtils.parseToRecord(e.output,"output"),...h&&{_meta:u}},b),T),t)}return null}static resolveAcpToolStatus(e){let t=e.providerData?.error,a=e.providerData?.toolResult?.error;if(acp_utils_AcpUtils.isTruthyErrorField(t)||acp_utils_AcpUtils.isTruthyErrorField(a))return{acpStatus:"failed",businessFailed:"completed"===e.status};if(null==e.status)return{acpStatus:"completed",businessFailed:!1};switch(e.status){case"completed":return{acpStatus:"completed",businessFailed:!1};case"in_progress":return{acpStatus:"in_progress",businessFailed:!1};case"incomplete":return{acpStatus:"failed",businessFailed:!1};default:return{acpStatus:"pending",businessFailed:!1}}}static isTruthyErrorField(e){if(!e)return!1;if("string"==typeof e)return e.trim().length>0;if("object"==typeof e){let t=e.message;return"string"==typeof t&&t.trim().length>0||Object.keys(e).length>0}return!1}static convertOpenAIEventToAcp(e){let t=(0,T.JY)(e.providerData);return acp_utils_AcpUtils.convertOpenAIEventContentToAcp(e).map(a=>{let r="agent_message_chunk"===a.sessionUpdate?e.providerData?.messageEntryId:"agent_thought_chunk"===a.sessionUpdate?e.providerData?.reasoningEntryId:void 0;return{...a,..."string"==typeof r?{messageId:r}:{},_meta:{...a._meta,...t,..."string"==typeof r?{[T.f6]:r}:{}}}})}static convertOpenAIEventContentToAcp(e){switch(e.type){case"output_text_delta":return[{sessionUpdate:"agent_message_chunk",content:{type:"text",text:e.delta,...(0,g.gP)(e)?.sensitiveProtection?{_meta:{sensitiveProtection:(0,g.gP)(e)?.sensitiveProtection}}:{}}}];case"response_started":case"response_done":default:return[];case"model":{let t=e.event;if(!t)return[];let a=[],r=!1,o=t.choices;if(o?.[0]?.delta){let e=o[0].delta,t=e.extra_fields?._meta;t&&"object"==typeof t&&!Array.isArray(t)&&Object.keys(t).length>0&&a.push({sessionUpdate:"session_info_update",_meta:{[i.ACP_META_MODEL_EXTRA_FIELDS_META]:t}});let n="reasoning_content"in e&&"string"==typeof e.reasoning_content&&""!==e.reasoning_content.trim()?e.reasoning_content:void 0,s=e.tool_calls,l=[];if(Array.isArray(s)&&s.length>0){for(let e of s){if(!e)continue;let t=e.index,a="string"==typeof e.id,r=e.function?.name;a?l.push({sessionUpdate:"tool_call_pending",toolCallId:e.id,toolName:r,toolCallIndex:t}):r&&l.push({sessionUpdate:"tool_call_pending",toolCallId:void 0,toolName:r,toolCallIndex:t});let i=e.function?.arguments;if("string"==typeof i&&i.length>0){let o=(0,g.gP)(e.function)?.sensitiveProtection;l.push({sessionUpdate:"tool_call_arguments_delta",toolCallId:a?e.id:void 0,toolCallIndex:t,argumentsDelta:i,toolName:r,...o?{sensitiveProtection:o}:{}})}}r=!0}if(void 0!==n){let t=(0,g.gP)(e)?.sensitiveProtection;a.push(acp_utils_AcpUtils.withSourceEventMeta({sessionUpdate:"agent_thought_chunk",content:{type:"text",text:n,...t?{_meta:{sensitiveProtection:t}}:{}}},r?["reasoning","tool"]:["reasoning"]))}a.push(...l)}switch(t.type){case"response.output_item.added":{let e=t.item;e?.type==="function_call"&&e.call_id&&e.name&&a.push({sessionUpdate:"tool_call_pending",toolCallId:e.call_id,toolName:e.name});break}case"response.content_part.added":break;case"response.text.delta":{let e=t.delta;if(e){let r=(0,g.gP)(t)?.sensitiveProtection;a.push({sessionUpdate:"agent_message_chunk",content:{type:"text",text:e,...r?{_meta:{sensitiveProtection:r}}:{}}})}break}case"response.function_call_arguments.delta":{let e=t.call_id,r=t.delta;if(e&&"string"==typeof r&&r.length>0){let i=(0,g.gP)(t)?.sensitiveProtection;a.push({sessionUpdate:"tool_call_arguments_delta",toolCallId:e,argumentsDelta:r,...i?{sensitiveProtection:i}:{}})}break}case"response.function_call_arguments.done":{let e=t.call_id,r=t.arguments;if(e&&"string"==typeof r){let i=(0,g.gP)(t)?.sensitiveProtection;a.push({sessionUpdate:"tool_call_arguments_done",toolCallId:e,argumentsFinal:r,...i?{sensitiveProtection:i}:{}})}}}return a}}}static withSourceEventMeta(e,t){let a=e._meta;return{...e,_meta:{...a??{},[acp_utils_AcpUtils.SOURCE_EVENT_META_KEY]:{facets:t}}}}static wrapInCodeBlock(e){let t;return t="string"==typeof e?e:e&&"object"==typeof e&&"text"===e.type&&e.text?e.text:JSON.stringify(e,null,2),{type:"content",content:{type:"text",text:`\`\`\`
|
|
1
|
+
"use strict";exports.ids=["2701"],exports.modules={65980(e,t,a){a.d(t,{AcpSessionFormatter:()=>AcpSessionFormatter});let JsonStreamParser=class JsonStreamParser{constructor(e){this.buffer="",this.parsedParams=new Map,this.completed=!1,this.onUnexpectedError=e}reportUnexpected(e,t){e instanceof SyntaxError||this.onUnexpectedError?.(e,t)}appendDelta(e){return this.completed?this.getCurrentResult():(this.buffer+=e,this.tryParse())}setComplete(e){if("string"==typeof e){this.buffer=e;try{let t=JSON.parse(e);t&&"object"==typeof t&&!Array.isArray(t)?this.updateParsedParams(t,!0):this.reportUnexpected(TypeError(`setComplete: final JSON is not an object (typeof=${typeof t})`),"setComplete")}catch(e){this.reportUnexpected(e,"setComplete")}}else this.buffer=JSON.stringify(e),this.updateParsedParams(e,!0);this.completed=!0}getCurrentResult(){let e={};return this.parsedParams.forEach((t,a)=>{e[a]=t.value}),{complete:this.completed,parameters:e,rawBuffer:this.buffer}}getBuffer(){return this.buffer}isCompleted(){return this.completed}tryParse(){let e=this.buffer.trim();if(!e||"{}"===e)return{complete:!1,parameters:{},rawBuffer:this.buffer};try{let t=JSON.parse(e);if(t&&"object"==typeof t&&!Array.isArray(t))return this.updateParsedParams(t,!0),this.completed=!0,this.getCurrentResult()}catch(a){this.reportUnexpected(a,"tryParse");let t=this.trySmartParse(e);if(t&&Object.keys(t.parsed).length>0&&(this.updateParsedParams(t.parsed,t.isComplete),t.isComplete))return this.completed=!0,this.getCurrentResult()}return{complete:!1,parameters:this.getParametersObject(),rawBuffer:this.buffer}}trySmartParse(e){let t=e.trim();if(!(t=this.tryFixMissingPrefix(t)).startsWith("{"))return;try{let e=this.tryCompleteJson(t);if(e){let a=JSON.parse(e);if(a&&"object"==typeof a&&!Array.isArray(a)){let r=e===t;return{parsed:a,isComplete:r}}}}catch(e){this.reportUnexpected(e,"trySmartParse")}let a=this.extractPartialKeyValues(t);if(a)return{parsed:a,isComplete:!1}}tryFixMissingPrefix(e){let t=e.trim();if(t.startsWith("{"))return t;if(t.startsWith('"'))return"{"+t;if(t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)"\s*:/))return'{"'+t;let a=t.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*"?\s*:/);if(a){let e=a[1],r=a[0].length;return'{"'+e+'":'+t.substring(r)}return t}tryCompleteJson(e){let t=e.trim(),a=0,r=0,i=!1,o=!1;for(let e=0;e<t.length;e++){let n=t[e];if("\\"===n&&!o){o=!0;continue}'"'!==n||o||(i=!i),!i&&("{"===n&&a++,"}"===n&&a--,"["===n&&r++,"]"===n&&r--),o=!1}if(0===a&&0===r&&!i)return t;let n=t;for(i&&(n+='"');r>0;)n+="]",r--;for(;a>0;)n+="}",a--;try{return JSON.parse(n),n}catch{return null}}extractPartialKeyValues(e){let t={};for(let a of this.smartSplitJson(e)){let e=a.indexOf(":");if(-1===e)continue;let r=a.substring(0,e).trim(),i=a.substring(e+1).trim(),o=r.replace(/^[{"\s]+|"$/g,"").trim();if(!o)continue;let n=this.tryParseValue(i);void 0!==n&&(t[o]=n)}return Object.keys(t).length>0?t:void 0}tryParseValue(e){let t=e.trim();if(t)try{if(t.startsWith('"')&&!t.endsWith('"'))return this.unescapeJsonString(t.slice(1));let e=t.replace(/[,}]+$/,"");if(!e)return;return JSON.parse(e)}catch{if(t.startsWith('"'))return this.unescapeJsonString(t.slice(1).replace(/[,}]+$/,""));let e=t.match(/^(-?\d+(\.\d+)?)/);if(e)return parseFloat(e[1]);if(t.startsWith("true"))return!0;if(t.startsWith("false"))return!1;if(t.startsWith("null"))return null;return}}smartSplitJson(e){let t=[],a="",r=!1,i=!1,o=0,n=0;for(let s=0;s<e.length;s++){let l=e[s];if("\\"===l&&!i){i=!0,a+=l;continue}if('"'===l&&!i){r=!r,a+=l,i=!1;continue}if(!r){if("{"===l)o++;else if("}"===l)o--;else if("["===l)n++;else if("]"===l)n--;else if(","===l&&1===o&&0===n){t.push(a.trim()),a="",i=!1;continue}}a+=l,i=!1}return a.trim()&&t.push(a.trim()),t}unescapeJsonString(e){return e.endsWith("\\")&&!e.endsWith("\\\\")?e:e.replace(/\\([\\/"'bfnrt])/g,(e,t)=>({"\\":"\\","/":"/",'"':'"',"'":"'",b:"\b",f:"\f",n:"\n",r:"\r",t:" "})[t]||e)}updateParsedParams(e,t){for(let[a,r]of(t&&this.parsedParams.clear(),Object.entries(e)))this.parsedParams.set(a,{value:r,completed:t})}getParametersObject(){let e={};return this.parsedParams.forEach((t,a)=>{e[a]=t.value}),e}};var r=a(88523),i=a(70724),o=a(21215),n=a(5884),s=a(76982),l=a(79896),c=a(70857),d=a(16928),p=a(66213),u=a(53685),m=a(41637),g=a(59771),_=a(95102),y=a(12640),f=a(52620),h=a(17913),b=a(98766),v=a(46151),A=a(90872),I=a(45904),T=a(79846),C=a(39867),k=a(77848);let x="_codebuddy.ai/compaction",U="codebuddy.ai/trigger";function compactTypeToTrigger(e){return e===o.CompactType.USER_COMMAND?"manual":"auto"}function createAcpCompactionUpdate(e,t,a){if("string"!=typeof e||!e.trim()||e.length>1024)throw TypeError("ACP compactionId must be a non-empty string at most 1024 characters");if("string"!=typeof t||!t.trim()||t.length>128)throw TypeError("ACP compaction status must be a non-empty string at most 128 characters");let{trigger:r,summary:i,error:o,meta:n}=a;if("manual"!==r&&"auto"!==r)throw TypeError("ACP compaction trigger must be manual or auto");if(null!=i&&(!Array.isArray(i)||i.length>1024||i.some(e=>!isAcpCompactionContentBlock(e))))throw TypeError("ACP compaction summary must contain at most 1024 valid content blocks");if(Array.isArray(i)&&i.length>0&&"completed"!==t)throw TypeError("ACP compaction summary is only valid with completed");if(null!=o&&("string"!=typeof o||!o.trim()||o.length>4096))throw TypeError("ACP compaction error must be a non-empty string at most 4096 characters or null");if("string"==typeof o&&"failed"!==t)throw TypeError("ACP compaction error is only valid with failed");if(null!=n&&("object"!=typeof n||Array.isArray(n)))throw TypeError("ACP compaction meta must be an object or null");let s={...n??{},[U]:r};return{sessionUpdate:x,compactionId:e,status:t,...void 0!==i?{summary:i}:{},...void 0!==o?{error:o}:{},_meta:s}}function isAcpCompactionContentBlock(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&(k.$G.isText(e)||k.$G.isImage(e)||k.$G.isAudio(e)||k.$G.isResourceLink(e)||k.$G.isResource(e)||k.$G.isCustom(e))}function isAcpCompactionUpdate(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let t=Object.keys(e),a=new Set(["sessionUpdate","compactionId","status","summary","error","_meta"]),r=e._meta,i=r&&"object"==typeof r&&!Array.isArray(r)?r[U]:void 0;return t.every(e=>a.has(e))&&e.sessionUpdate===x&&"string"==typeof e.compactionId&&e.compactionId.trim().length>0&&e.compactionId.length<=1024&&"string"==typeof e.status&&e.status.trim().length>0&&e.status.length<=128&&(void 0===e.summary||null===e.summary||Array.isArray(e.summary)&&e.summary.length<=1024&&e.summary.every(isAcpCompactionContentBlock))&&(null==e.summary||0===e.summary.length||"completed"===e.status)&&(void 0===e.error||null===e.error||"string"==typeof e.error)&&("string"!=typeof e.error||e.error.trim().length>0&&e.error.length<=4096&&"failed"===e.status)&&("manual"===i||"auto"===i)}let P=Symbol("codebuddy.acp.v2.fileChangeArtifact"),w=Symbol("codebuddy.acp.v2.fileChangeRawInput");function attachAcpV2FileChangeArtifact(e,t){return t&&(e[P]=t),e}function attachAcpV2FileChangeRawInput(e,t){return t&&(e[w]=t),e}function readAcpV2FileChangeArtifact(e){return e[P]}function readAcpV2FileChangeRawInput(e){return e[w]}let j=Symbol("codebuddy.acp.v2.taskPlanSnapshot");function parsePersistedAcpV2TaskPlanSnapshot(e){if(!(!e||"object"!=typeof e||Array.isArray(e))&&"string"==typeof e.sourceId&&0!==e.sourceId.length&&"string"==typeof e.revision&&/^\d+$/.test(e.revision)&&Array.isArray(e.entries))return{sourceId:e.sourceId,revision:e.revision,entries:e.entries}}function attachAcpV2TaskPlanSnapshot(e,t){return t&&(e[j]=t),e}function readAcpV2TaskPlanSnapshot(e){return e[j]}let E=new Set(["auto","auto-chat"]),M="acpCanonicalPromptContent";let acp_utils_AcpUtils=class acp_utils_AcpUtils extends I.B9{static requestTreeMeta(e){let t=e.providerData;return{..."string"==typeof t?.conversationRequestId&&t.conversationRequestId.length>0?{"codebuddy.ai/requestId":t.conversationRequestId}:{},..."string"==typeof t?.rootRequestId&&t.rootRequestId.length>0?{"codebuddy.ai/rootRequestId":t.rootRequestId}:{}}}static{this.INTERNAL_STREAMING_UPDATES=new Set(["tool_call_pending","tool_call_arguments_delta","tool_call_arguments_done"])}static isInternalStreamingUpdate(e){if(!e||"object"!=typeof e)return!1;let t=e.sessionUpdate;return"string"==typeof t&&acp_utils_AcpUtils.INTERNAL_STREAMING_UPDATES.has(t)}static preserveCanonicalPromptContent(e,t){let a=e.find(e=>o.InputItemUtils.isRealUserMessageItem(e));if(!a||0===t.length)return;let r=t.map(e=>{if("resource"===e.type&&"blob"in e.resource){if(0===e.resource.blob.length)return{block:structuredClone(e),kind:"content"};let t=this.embeddedBlobModelKind(e.resource.mimeType);if("image"===t||"file"===t){let{blob:a,...r}=e.resource;return{block:structuredClone({...e,resource:r}),kind:"image"===t?"blob_resource_image":"blob_resource_file"}}}if("image"!==e.type)return{block:structuredClone(e),kind:"content"};if(0===e.data.length)return{block:structuredClone(e),kind:"inline_image"};let{data:t,...a}=e;return{block:structuredClone(a),kind:"image"}});a.providerData={...a.providerData??{},[M]:{blocks:r,version:1}}}static isCanonicalNonImageBlock(e){if(!this.isRecord(e))return!1;switch(e.type){case"text":return"string"==typeof e.text;case"audio":return"string"==typeof e.data&&"string"==typeof e.mimeType;case"resource_link":return"string"==typeof e.name&&"string"==typeof e.uri;case"resource":{let t=e.resource;if(!this.isRecord(t)||"string"!=typeof t.uri)return!1;return"string"==typeof t.text!=("string"==typeof t.blob)}default:return!1}}static restoreCanonicalPromptContent(e,t){let a,r,o=e.providerData?.[M];if(!this.isRecord(o)||1!==o.version||!Array.isArray(o.blocks)||0===o.blocks.length)return;let decodedImages=()=>a??=(0,i.decodePersistedUserContentToAcpContentBlocks)([...t],{convertPersistedImageBlock:e=>this.convertPersistedUserImageBlockToAcpContentBlock(e)}).filter(e=>"image"===e.type),decodedFiles=()=>r??=t.flatMap(e=>{if(e?.type!=="input_file"||"string"!=typeof e.file)return[];let t=this.parseDataUri(e.file);return t?[t]:[]}),n=[],s=0,l=0,c=0,admitsEmbeddedBlob=e=>{try{return(s+=this.validatedEmbeddedBlobLength(e))<=I.hu}catch{return!1}};for(let e of o.blocks){if(!this.isRecord(e)||!this.isRecord(e.block))return;if("content"===e.kind){if(!this.isCanonicalNonImageBlock(e.block)||"resource"===e.block.type&&"blob"in e.block.resource&&!admitsEmbeddedBlob(e.block.resource.blob))return;n.push(structuredClone(e.block));continue}if("inline_image"===e.kind){if("image"!==e.block.type||""!==e.block.data||"string"!=typeof e.block.mimeType)return;n.push(structuredClone(e.block));continue}if("blob_resource_image"===e.kind||"blob_resource_file"===e.kind){let t;if(!this.isCanonicalBlobResourceTemplate(e.block))return;if("blob_resource_image"===e.kind){let e=decodedImages()[l];l+=1,e&&"string"==typeof e.data&&(t=e.data)}else{let a=decodedFiles()[c];c+=1;let r=this.normalizeEmbeddedBlobMimeType(e.block.resource.mimeType);a&&a.mimeType===r&&(t=a.data)}if(void 0===t||!admitsEmbeddedBlob(t))return;n.push(this.restoreCanonicalBlobResource(e.block,t));continue}let t=e.block;if("image"!==e.kind||"image"!==t.type||Object.hasOwn(t,"data")||"string"!=typeof t.mimeType)return;let a=decodedImages()[l];if(l+=1,!a||"string"!=typeof a.data)return;n.push({...structuredClone(t),data:a.data})}return n}static isCanonicalBlobResourceTemplate(e){return!!this.isRecord(e)&&"resource"===e.type&&!!this.isRecord(e.resource)&&"string"==typeof e.resource.uri&&!Object.hasOwn(e.resource,"blob")&&!Object.hasOwn(e.resource,"text")}static restoreCanonicalBlobResource(e,t){let a=structuredClone(e);return{...a,resource:{...a.resource,blob:t}}}static extractToolName(e){let t=e?.title||e?._meta?.["codebuddy.ai/toolName"]||e?.toolName;return"string"==typeof t&&t?t:void 0}static{this.SOURCE_EVENT_META_KEY="codebuddy.ai/sourceEvent"}static stripLegacyMessageIdFromStandardChunk(e){if(!e||"object"!=typeof e||Array.isArray(e)||"user_message_chunk"!==e.sessionUpdate&&"agent_message_chunk"!==e.sessionUpdate&&"agent_thought_chunk"!==e.sessionUpdate||!acp_utils_AcpUtils.isRecord(e._meta))return;let t={...e._meta};delete t["codebuddy.ai/messageId"];let a=t["codebuddy.ai"];if(acp_utils_AcpUtils.isRecord(a)){let e={...a};delete e.messageId,Object.keys(e).length>0?t["codebuddy.ai"]=e:delete t["codebuddy.ai"]}e._meta=t}static isInterruptedByUserMessage(e){if("message"!==e.type||"assistant"!==e.role)return!1;let t=e.content;return"string"==typeof t?t===o.INTERRUPTED_BY_USER_MESSAGE:!!Array.isArray(t)&&t.some(e=>"output_text"===e.type&&e.text===o.INTERRUPTED_BY_USER_MESSAGE)}static withMessageCorrelation(e,t){if(!["user_message_chunk","agent_message_chunk","agent_thought_chunk","tool_call","tool_call_update"].includes(t.sessionUpdate))return t;let a="message"===e.type&&"user"===e.role?{conversationRequestId:e.providerData?.conversationRequestId}:e.providerData,r={...t._meta,...(0,C.JY)(a)};if("user_message_chunk"===t.sessionUpdate||"agent_message_chunk"===t.sessionUpdate||"agent_thought_chunk"===t.sessionUpdate){let a=e.id||(0,o.deriveStableIdFromContent)(e);t={...t,messageId:a},r[C.f6]=a}return{...t,_meta:r}}static isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}static attachToolMetaData(e,t){let a=acp_utils_AcpUtils.isRecord(e["codebuddy.ai"])?e["codebuddy.ai"]:{},r=acp_utils_AcpUtils.isRecord(a.toolMetaData)?a.toolMetaData:{};e["codebuddy.ai"]={...a,toolMetaData:{...r,...t}}}static parseToRecord(e,t){if(e){if("string"==typeof e)try{return JSON.parse(e)}catch{return{[t]:e}}return"object"==typeof e?e:{[t]:e}}}static parseFunctionCallRawInput(e){let t=e.providerData&&"object"==typeof e.providerData?e.providerData:void 0,a=t?.rawItem&&"object"==typeof t.rawItem?t.rawItem:void 0,r=t?.toolCall&&"object"==typeof t.toolCall?t.toolCall:void 0,i=t?.toolUse&&"object"==typeof t.toolUse?t.toolUse:void 0;for(let o of[e.arguments,e.rawInput,e.input,e.parameters,t?.rawInput,t?.input,t?.arguments,a?.arguments,a?.rawInput,a?.input,r?.input,r?.function?.arguments,i?.input]){let e=acp_utils_AcpUtils.parseToRecord(o,"arguments");if(void 0!==e)return e}return{}}static parseFunctionCallResultRawInput(e){let t=e.providerData&&"object"==typeof e.providerData?e.providerData:void 0,a=t?.rawItem&&"object"==typeof t.rawItem?t.rawItem:void 0,r=t?.toolCall&&"object"==typeof t.toolCall?t.toolCall:void 0,i=t?.toolUse&&"object"==typeof t.toolUse?t.toolUse:void 0;for(let o of[e.rawInput,e.input,e.parameters,e.arguments,t?.rawInput,t?.input,t?.arguments,a?.arguments,a?.rawInput,a?.input,r?.input,r?.function?.arguments,i?.input]){let e=acp_utils_AcpUtils.parseToRecord(o,"arguments");if(void 0!==e&&Object.keys(e).length>0)return e}}static convertTodosToPlanEntries(e){return(0,h.do)(e.newTodos??e.todos??[]).map((e,t)=>({content:e.content,status:e.status,priority:"medium",_meta:{id:e.id??`task-${t}`,...e.dependencies&&e.dependencies.length>0?{dependencies:e.dependencies}:{},"codebuddy.ai":{id:e.id??`task-${t}`,activeForm:e.activeForm??e.content,...e.dependencies&&e.dependencies.length>0?{dependencies:e.dependencies}:{},order:t}}}))}static isGoalAcpHistoryItem(e){return e?.providerData?.goalStatus!=null||e?.type==="goal-progress"||e?.type==="goal-result"}static convertHistoryItemToAcp(e,t={}){return acp_utils_AcpUtils.convertHistoryItemContentToAcp(e,t).map(t=>acp_utils_AcpUtils.withMessageCorrelation(e,t))}static convertHistoryItemContentToAcp(e,t){if("message"===e.type&&"user"===e.role){let a=o.InputItemUtils.isCompactBoundaryMessage(e),r=e.providerData?.isCompactInternal===!0||e.providerData?.agent===o.AgentNames.COMPACT,n=o.InputItemUtils.isCompactContinuePromptMessage(e);if(!a&&(r||n))return[];if(e.providerData?.goalStatus)return[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/goalStatus":{...e.providerData.goalStatus,id:e.id}}}];if(e.providerData?.scheduledTaskTrigger)return[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/scheduledTaskTrigger":{...e.providerData.scheduledTaskTrigger,eventId:e.id}}}];if(e.providerData?.isMeta===!0&&!a)return[];let s=e.content;if(!s)return[];let l=e.id||(0,o.deriveStableIdFromContent)(e),c={...acp_utils_AcpUtils.requestTreeMeta(e)};if(e.providerData&&Object.prototype.hasOwnProperty.call(e.providerData,"clientMeta")){let t=e.providerData.clientMeta;c[i.ACP_META_STEER_CLIENT_META]=acp_utils_AcpUtils.isRecord(t)?t:{}}if(e.providerData?.isCompactInternal&&(c["codebuddy.ai/isCompactInternal"]=!0),e.providerData?.compactType&&(c[o.ACP_META_COMPACT_TYPE]=e.providerData.compactType),a){if(!1===t.compatibilityExtensions){let t="string"==typeof e.providerData?.compactionId&&e.providerData.compactionId.length>0?e.providerData.compactionId:l;return t?[createAcpCompactionUpdate(t,"completed",{trigger:compactTypeToTrigger(e.providerData?.compactType),meta:Object.keys(acp_utils_AcpUtils.requestTreeMeta(e)).length>0?acp_utils_AcpUtils.requestTreeMeta(e):void 0})]:[]}return[{sessionUpdate:"agent_message_chunk",messageId:l,content:{type:"text",text:"string"==typeof s?s:s.filter(e=>"input_text"===e.type&&e.text).map(e=>e.text).join("\n")},_meta:{...c,"codebuddy.ai/isCompactInternal":!0}}]}if("string"==typeof s){let e=s,t=acp_utils_AcpUtils.extractChannelInfo(e);if(e=(0,i.stripPromptContextXml)(e),t&&(e=t.content),o.CommandMessageUtils.isSystemInternalMessage(e)||!e)return[];let a=o.CommandMessageUtils.parseInput(e);if(a){let e={...c};return t&&(e["codebuddy.ai/channelSource"]=t.source,e["codebuddy.ai/channelSender"]=t.sender,t.chatId&&(e["codebuddy.ai/channelChatId"]=t.chatId),t.chatType&&(e["codebuddy.ai/channelChatType"]=t.chatType)),a.type===o.CommandType.COMMAND&&(e["codebuddy.ai/commandKind"]="slash"),[{sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:a.text},...Object.keys(e).length>0&&{_meta:e}}]}let r=o.CommandMessageUtils.parseOutput(e);if(r&&r.text.trim()){let e=r.text.replace(/\n\n {2}Scan to open Web UI:\n[\s\S]*$/,"");return[{sessionUpdate:"agent_message_chunk",messageId:l,content:{type:"text",text:"```\n"+(e=b.n.replaceAnsiColor(e)).trimEnd()+"\n```"}}]}let n={...c};return t&&(n["codebuddy.ai/channelSource"]=t.source,n["codebuddy.ai/channelSender"]=t.sender,t.chatId&&(n["codebuddy.ai/channelChatId"]=t.chatId),t.chatType&&(n["codebuddy.ai/channelChatType"]=t.chatType)),[{sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:e},...Object.keys(n).length>0&&{_meta:n}}]}if(Array.isArray(s)){let a=[],r=this.restoreCanonicalPromptContent(e,s);if(r)return r.map(e=>({sessionUpdate:"user_message_chunk",...l?{messageId:l}:{},content:e,...Object.keys(c).length>0&&{_meta:{...c}}}));let n=s.filter(e=>"input_text"===e.type).map(e=>e.text).join("\n"),d=acp_utils_AcpUtils.extractChannelInfo(n),p=[];for(let e of s){if(e?.type==="input_text"&&"string"==typeof e.text){let t=e.text;if(o.CommandMessageUtils.isSystemInternalMessage(t)){p.push(e);continue}if(acp_utils_AcpUtils.isImageLocalPathText(t))continue;let r=o.CommandMessageUtils.parseInput(t);if(r){let e={...c};0===a.length&&d&&(e["codebuddy.ai/channelSource"]=d.source,e["codebuddy.ai/channelSender"]=d.sender,d.chatId&&(e["codebuddy.ai/channelChatId"]=d.chatId),d.chatType&&(e["codebuddy.ai/channelChatType"]=d.chatType)),r.type===o.CommandType.COMMAND&&(e["codebuddy.ai/commandKind"]="slash"),a.push({sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:r.text},...Object.keys(e).length>0&&{_meta:e}});continue}let i=o.CommandMessageUtils.parseOutput(t);if(i){if(i.text.trim()){let e=i.text.replace(/\n\n {2}Scan to open Web UI:\n[\s\S]*$/,"");e=b.n.replaceAnsiColor(e),a.push({sessionUpdate:"agent_message_chunk",messageId:l,content:{type:"text",text:"```\n"+e.trimEnd()+"\n```"}})}continue}}p.push(e)}if(p.length>0){let e=(0,i.decodePersistedUserContentToAcpContentBlocks)(p,{parseInlineReferences:!1!==t.compatibilityExtensions,convertPersistedImageBlock:e=>this.convertPersistedUserImageBlockToAcpContentBlock(e)}),r=e.some(e=>"image"===e.type&&"string"==typeof e.data&&e.data.length>0);for(let t of e){let e={...c};if(0===a.length&&d&&(e["codebuddy.ai/channelSource"]=d.source,e["codebuddy.ai/channelSender"]=d.sender,d.chatId&&(e["codebuddy.ai/channelChatId"]=d.chatId),d.chatType&&(e["codebuddy.ai/channelChatType"]=d.chatType)),"text"===t.type){let n=t.text||"";if(d&&0===a.length&&(n=d.content),(n.includes("<system-reminder")||n.includes("<user_query>"))&&(n=(0,i.stripPromptContextXml)(n)),r&&n.includes("<image_local_path>")&&(n=acp_utils_AcpUtils.stripImageLocalPathMarkup(n)),!n||o.CommandMessageUtils.isSystemInternalMessage(n)||acp_utils_AcpUtils.isImageLocalPathText(n))continue;a.push({sessionUpdate:"user_message_chunk",messageId:l,content:{type:"text",text:n},...Object.keys(e).length>0&&{_meta:e}});continue}let n=t._meta?.filename||t.uri;n&&"image"===t.type&&(e["codebuddy.ai/filename"]=n),a.push({sessionUpdate:"user_message_chunk",messageId:l,content:t,...Object.keys(e).length>0&&{_meta:e}})}}return a}return[]}if("message"===e.type&&"assistant"===e.role){let a,r=e.content;if(!r||e.providerData?.skipRun===!0&&("incomplete"===e.status||e.providerData?.error)&&!acp_utils_AcpUtils.isInterruptedByUserMessage(e))return[];let i="";if("string"==typeof r){let t=acp_utils_AcpUtils.protectedHistoryText(r,(0,g.gP)(e));i=t.text,a=t.sensitiveProtection}else if(Array.isArray(r)){let t=acp_utils_AcpUtils.joinProtectedTextBlocks(r,"output_text","\n",(0,g.gP)(e)?.sensitiveProtection);i=t.text,a=t.sensitiveProtection}if(!i)return[];let n=e.providerData?.isCompactInternal||e.providerData?.agent===o.AgentNames.COMPACT,s=e.id||(0,o.deriveStableIdFromContent)(e),l=acp_utils_AcpUtils.requestTreeMeta(e);n&&(l["codebuddy.ai/isCompactInternal"]=!0),e.providerData?.contentFilterNotice&&(l[o.ACP_META_CONTENT_FILTER_NOTICE]=!0),e.providerData?.compactType&&(l[o.ACP_META_COMPACT_TYPE]=e.providerData.compactType),e.providerData?.traceId&&(l["codebuddy.ai/traceId"]=e.providerData.traceId),e.providerData?.conversationRequestId&&(l["codebuddy.ai/requestId"]=e.providerData.conversationRequestId,l[o.CONVERSATION_REQUEST_ID_META_KEY]=e.providerData.conversationRequestId);let c=e.providerData?.requestModelId||e.providerData?.model,d=e.providerData?.requestModelName||e.providerData?.modelName,p=e.providerData?.model,u=p&&p!==e.providerData?.requestModelId&&!E.has(p)?p:void 0;if(c&&(l["codebuddy.ai/requestModelId"]=c),d&&(l["codebuddy.ai/requestModelName"]=d),u&&(l["codebuddy.ai/responseModelId"]=u),(e.providerData?.hookEvent||e.providerData?.hookStatus)&&(l["codebuddy.ai/hook"]={...e.providerData.hookEvent?{event:e.providerData.hookEvent}:{},...e.providerData.hookStatus?{status:e.providerData.hookStatus}:{},...e.providerData.stopped?{stopped:!0}:{},...void 0!==e.providerData.exitCode?{exitCode:e.providerData.exitCode}:{},...Array.isArray(e.providerData.blockingDetails)&&e.providerData.blockingDetails.length>0?{blocking:e.providerData.blockingDetails}:{}}),!1===t.compatibilityExtensions&&n&&(e.providerData?.isCompacted===!0||e.providerData?.isSummary===!0)&&"incomplete"!==e.status&&"in_progress"!==e.status&&void 0!==o.SummaryUtils.extractCompactSummaryFromText(i)){let t="string"==typeof e.providerData?.compactionId&&e.providerData.compactionId.length>0?e.providerData.compactionId:s;return t?[createAcpCompactionUpdate(t,"completed",{trigger:compactTypeToTrigger(e.providerData?.compactType),meta:Object.keys(acp_utils_AcpUtils.requestTreeMeta(e)).length>0?acp_utils_AcpUtils.requestTreeMeta(e):void 0})]:[]}return[{sessionUpdate:"agent_message_chunk",messageId:s,content:{type:"text",text:i,...a?{_meta:{sensitiveProtection:a}}:{}},_meta:l}]}if("function_call"===e.type||"function_call_result"===e.type||"function_call_output"===e.type){let t=acp_utils_AcpUtils.convertInputItemToAcp(e,{});return t?[t]:[]}if("reasoning"===e.type){let t=e.id,a=e.rawContent;if(!a||0===a.length)return[];let{text:r,sensitiveProtection:i}=acp_utils_AcpUtils.joinProtectedTextBlocks(a,"reasoning_text","",(0,g.gP)(e)?.sensitiveProtection);return r?[{sessionUpdate:"agent_thought_chunk",...t?{messageId:t}:{},content:{type:"text",text:r,...i?{_meta:{sensitiveProtection:i}}:{}},...Object.keys(acp_utils_AcpUtils.requestTreeMeta(e)).length>0?{_meta:acp_utils_AcpUtils.requestTreeMeta(e)}:{}}]:[]}if("message"===e.type&&"system"===e.role){let t=e.providerData;if(t?.isSessionSeparator===!0){let a=t.separatorMessageId??e.id;return a?[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai":{isHistoryReplay:!0,messageId:a,isSessionSeparator:!0,separatorExtra:t.separatorExtra&&"object"==typeof t.separatorExtra?t.separatorExtra:{isSessionSeparator:!0}}}}]:[]}return[]}return"goal-progress"===e.type?[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/goalProgress":{id:e.id,condition:e.condition,reason:e.reason,turnCount:e.turnCount,..."number"==typeof e.createdAt?{createdAt:e.createdAt}:{}}}}]:"goal-result"===e.type?[{sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/goalResult":{id:e.id,ok:e.ok,reason:e.reason,condition:e.condition,durationMs:e.durationMs,turnCount:e.turnCount,tokenDelta:e.tokenDelta}}}]:[]}static async rehydratePersistedUserImagesForReplay(e,t){if("message"!==e.type||"user"!==e.role||!Array.isArray(e.content))return e;let a=!1,r=[];for(let i of e.content){let e;if(!this.isRecord(i)){r.push(i);continue}let o="input_image"===i.type&&this.isRecord(i.image)&&"image_blob_ref"===i.image.type?i.image:void 0,n="image_blob_ref"===i.type?i:o,s=n?this.toImageBlobIdentity(n):void 0;if(!n||!s){r.push(i);continue}try{e=await t(s)}catch{}if(!e){r.push(i);continue}let l="string"==typeof n.original_filename?n.original_filename:"string"==typeof i.original_filename?i.original_filename:void 0;o?r.push({...i,image:e,...l?{original_filename:l}:{}}):r.push({type:"input_image",image:e,..."string"==typeof n.source?{source:n.source}:{},...l?{original_filename:l}:{}}),a=!0}return a?{...e,content:r}:e}static async rehydrateItemForReplay(e,t){return t&&this.hasPersistedUserImageBlobRef(e)?this.rehydratePersistedUserImagesForReplay(e,t):e}static hasPersistedUserImageBlobRef(e){return"message"===e.type&&"user"===e.role&&Array.isArray(e.content)&&e.content.some(e=>!!this.isRecord(e)&&((0,p.Hk)(e)||"input_image"===e.type&&(0,p.Hk)(e.image)))}static toImageBlobIdentity(e){if((0,p.Hk)(e))return{type:"image_blob_ref",blob_id:e.blob_id,mime:e.mime,size:e.size}}static convertInputItemToAcp(e,t={},a){let r=acp_utils_AcpUtils.convertInputItemContentToAcp(e,t,a);return r?acp_utils_AcpUtils.withMessageCorrelation(e,r):null}static convertInputItemContentToAcp(e,t,a){let i=a?.parentToolUseId?{"codebuddy.ai/parentToolCallId":a.parentToolUseId}:void 0;if("function_call"===e.type){if(e.name===n.L3.TODO_WRITE)try{let t=JSON.parse(e.arguments),a=t?.newTodos??t?.todos;if("string"==typeof a)try{a=JSON.parse(a)}catch{}if(Array.isArray(a))return{sessionUpdate:"plan",entries:acp_utils_AcpUtils.convertTodosToPlanEntries({...t,newTodos:a})}}catch(e){r.ContainerUtil.get(u.dy).error("[AcpUtils] Failed to parse TodoWrite input:",e)}let a=acp_utils_AcpUtils.parseFunctionCallRawInput(e),s=acp_utils_AcpUtils.toolInfoFromToolUse({name:e.name,input:a},t),l={...{"codebuddy.ai/toolName":e.name,"codebuddy.ai/toolArgumentsComplete":!0},...i,...s._meta};e.providerData?.conversationRequestId&&(l[o.CONVERSATION_REQUEST_ID_META_KEY]=e.providerData.conversationRequestId);let c=(0,_.d3)(e.arguments,(0,g.gP)(e)?.sensitiveProtection);if(c&&(l.sensitiveProtection=c),e.name===n.L3.EXIT_PLAN_MODE){let t=e.providerData?.toolResult?.content;t&&"string"==typeof t&&(l["codebuddy.ai/planContent"]=t)}return{sessionUpdate:"tool_call",toolCallId:e.callId,status:"completed"===e.status?"completed":"in_progress"===e.status?"in_progress":"incomplete"===e.status?"failed":"pending",rawInput:a,title:s.title,kind:s.kind,content:s.content,locations:s.locations,...l&&{_meta:l}}}if("function_call_result"===e.type||"function_call_output"===e.type){let t;if(e.name===n.L3.TODO_WRITE)return null;let{acpStatus:r,businessFailed:s}=acp_utils_AcpUtils.resolveAcpToolStatus(e),l=e.providerData?.toolResult?.renderer,c=!1;if(l?.type==="agent-spawned"&&l.value)try{c=!0===JSON.parse(l.value).alreadyLive}catch{}let d=l?.type!=="agent-spawned"||c||"completed"!==r?r:"in_progress",p=acp_utils_AcpUtils.parseFunctionCallResultRawInput(e),u={...i||{}};e.providerData?.conversationRequestId&&(u[o.CONVERSATION_REQUEST_ID_META_KEY]=e.providerData.conversationRequestId),"string"==typeof e.name&&e.name.length>0&&(u["codebuddy.ai/toolName"]=e.name);let g=e.providerData?.toolResult?.rawResponse;void 0!==g&&(u["codebuddy.ai/rawResponse"]=g);let _=(0,T.X)(e.providerData?.toolResult)??m.g.take(e.callId);_&&(acp_utils_AcpUtils.attachToolMetaData(u,{mcpUi:_}),e.providerData?.toolResult&&"object"==typeof e.providerData.toolResult&&!e.providerData.toolResult.mcpUi&&(e.providerData.toolResult.mcpUi=_)),s&&(u["codebuddy.ai/businessFailed"]=!0);let h=Object.keys(u).length>0,b=parsePersistedAcpV2TaskPlanSnapshot(e.providerData?.toolResult?.acpV2PlanSnapshot),v=(0,f.OE)(e),A=(0,y.Zu)(e.providerData?.toolResult?.acpV2FileChange),I="failed"===r&&"string"==typeof a?.sessionId?(0,f.Oz)(a.sessionId,e.callId):void 0,C=v?.artifact??A??I?.artifact;C&&(t=v?v.rawInput:A?(0,f.hK)(e.providerData?.toolResult?.acpV2FileChangeRawInput):I?.rawInput);let k=e.providerData?.toolResult?.terminalId,x="string"==typeof k&&k.length>0?[{type:"terminal",terminalId:k}]:void 0;return e.name===n.L3.BASH?"failed"===r&&e.output?{sessionUpdate:"tool_call_update",toolCallId:e.callId,status:r,content:[acp_utils_AcpUtils.wrapInCodeBlock(e.output),...x??[]],...p?{rawInput:p}:{},rawOutput:acp_utils_AcpUtils.parseToRecord(e.output,"output"),...h&&{_meta:u}}:{sessionUpdate:"tool_call_update",toolCallId:e.callId,status:r,...x?{content:x}:{},...p?{rawInput:p}:{},rawOutput:acp_utils_AcpUtils.parseToRecord(e.output,"output"),...h&&{_meta:u}}:attachAcpV2FileChangeRawInput(attachAcpV2FileChangeArtifact(attachAcpV2TaskPlanSnapshot({sessionUpdate:"tool_call_update",toolCallId:e.callId,status:d,content:e.output?[acp_utils_AcpUtils.convertToolResultToAcp(e.output)]:void 0,...p?{rawInput:p}:{},rawOutput:acp_utils_AcpUtils.parseToRecord(e.output,"output"),...h&&{_meta:u}},b),C),t)}return null}static resolveAcpToolStatus(e){let t=e.providerData?.error,a=e.providerData?.toolResult?.error;if(acp_utils_AcpUtils.isTruthyErrorField(t)||acp_utils_AcpUtils.isTruthyErrorField(a))return{acpStatus:"failed",businessFailed:"completed"===e.status};if(null==e.status)return{acpStatus:"completed",businessFailed:!1};switch(e.status){case"completed":return{acpStatus:"completed",businessFailed:!1};case"in_progress":return{acpStatus:"in_progress",businessFailed:!1};case"incomplete":return{acpStatus:"failed",businessFailed:!1};default:return{acpStatus:"pending",businessFailed:!1}}}static isTruthyErrorField(e){if(!e)return!1;if("string"==typeof e)return e.trim().length>0;if("object"==typeof e){let t=e.message;return"string"==typeof t&&t.trim().length>0||Object.keys(e).length>0}return!1}static convertOpenAIEventToAcp(e){let t=(0,C.JY)(e.providerData);return acp_utils_AcpUtils.convertOpenAIEventContentToAcp(e).map(a=>{let r="agent_message_chunk"===a.sessionUpdate?e.providerData?.messageEntryId:"agent_thought_chunk"===a.sessionUpdate?e.providerData?.reasoningEntryId:void 0;return{...a,..."string"==typeof r?{messageId:r}:{},_meta:{...a._meta,...t,..."string"==typeof r?{[C.f6]:r}:{}}}})}static convertOpenAIEventContentToAcp(e){switch(e.type){case"output_text_delta":return[{sessionUpdate:"agent_message_chunk",content:{type:"text",text:e.delta,...(0,g.gP)(e)?.sensitiveProtection?{_meta:{sensitiveProtection:(0,g.gP)(e)?.sensitiveProtection}}:{}}}];case"response_started":case"response_done":default:return[];case"model":{let t=e.event;if(!t)return[];let a=[],r=!1,o=t.choices;if(o?.[0]?.delta){let e=o[0].delta,t=e.extra_fields?._meta;t&&"object"==typeof t&&!Array.isArray(t)&&Object.keys(t).length>0&&a.push({sessionUpdate:"session_info_update",_meta:{[i.ACP_META_MODEL_EXTRA_FIELDS_META]:t}});let n="reasoning_content"in e&&"string"==typeof e.reasoning_content&&""!==e.reasoning_content.trim()?e.reasoning_content:void 0,s=e.tool_calls,l=[];if(Array.isArray(s)&&s.length>0){for(let e of s){if(!e)continue;let t=e.index,a="string"==typeof e.id,r=e.function?.name;a?l.push({sessionUpdate:"tool_call_pending",toolCallId:e.id,toolName:r,toolCallIndex:t}):r&&l.push({sessionUpdate:"tool_call_pending",toolCallId:void 0,toolName:r,toolCallIndex:t});let i=e.function?.arguments;if("string"==typeof i&&i.length>0){let o=(0,g.gP)(e.function)?.sensitiveProtection;l.push({sessionUpdate:"tool_call_arguments_delta",toolCallId:a?e.id:void 0,toolCallIndex:t,argumentsDelta:i,toolName:r,...o?{sensitiveProtection:o}:{}})}}r=!0}if(void 0!==n){let t=(0,g.gP)(e)?.sensitiveProtection;a.push(acp_utils_AcpUtils.withSourceEventMeta({sessionUpdate:"agent_thought_chunk",content:{type:"text",text:n,...t?{_meta:{sensitiveProtection:t}}:{}}},r?["reasoning","tool"]:["reasoning"]))}a.push(...l)}switch(t.type){case"response.output_item.added":{let e=t.item;e?.type==="function_call"&&e.call_id&&e.name&&a.push({sessionUpdate:"tool_call_pending",toolCallId:e.call_id,toolName:e.name});break}case"response.content_part.added":break;case"response.text.delta":{let e=t.delta;if(e){let r=(0,g.gP)(t)?.sensitiveProtection;a.push({sessionUpdate:"agent_message_chunk",content:{type:"text",text:e,...r?{_meta:{sensitiveProtection:r}}:{}}})}break}case"response.function_call_arguments.delta":{let e=t.call_id,r=t.delta;if(e&&"string"==typeof r&&r.length>0){let i=(0,g.gP)(t)?.sensitiveProtection;a.push({sessionUpdate:"tool_call_arguments_delta",toolCallId:e,argumentsDelta:r,...i?{sensitiveProtection:i}:{}})}break}case"response.function_call_arguments.done":{let e=t.call_id,r=t.arguments;if(e&&"string"==typeof r){let i=(0,g.gP)(t)?.sensitiveProtection;a.push({sessionUpdate:"tool_call_arguments_done",toolCallId:e,argumentsFinal:r,...i?{sensitiveProtection:i}:{}})}}}return a}}}static withSourceEventMeta(e,t){let a=e._meta;return{...e,_meta:{...a??{},[acp_utils_AcpUtils.SOURCE_EVENT_META_KEY]:{facets:t}}}}static wrapInCodeBlock(e){let t;return t="string"==typeof e?e:e&&"object"==typeof e&&"text"===e.type&&e.text?e.text:JSON.stringify(e,null,2),{type:"content",content:{type:"text",text:`\`\`\`
|
|
2
2
|
${t}
|
|
3
3
|
\`\`\``}}}static convertToolResultToAcp(e){return acp_utils_AcpUtils.convertToolResultValueToAcp(e)}static convertToolResultValueToAcp(e){if("string"==typeof e){try{let t=JSON.parse(e);if(Array.isArray(t)&&t.length>0){let e=t.find(e=>"image_url"===e.type||"image"===e.type);if(e)return acp_utils_AcpUtils.convertToolResultValueToAcp(e)}}catch{}return{type:"content",content:{type:"text",text:e}}}if(Array.isArray(e)&&e.length>0){let t=e.find(e=>"image_url"===e.type||"image"===e.type);return t?acp_utils_AcpUtils.convertToolResultValueToAcp(t):{type:"content",content:{type:"text",text:JSON.stringify(e,null,2)}}}if(e&&"object"==typeof e){if("text"===e.type&&e.text){try{let t=JSON.parse(e.text);if(Array.isArray(t)&&t.length>0){let e=t.find(e=>"image_url"===e.type||"image"===e.type);if(e)return acp_utils_AcpUtils.convertToolResultValueToAcp(e)}}catch{}return{type:"content",content:{type:"text",text:e.text}}}if("image"===e.type&&e.data)return{type:"content",content:{type:"image",data:e.data,mimeType:e.mediaType||e.mimeType||"image/png"}};if("image_url"===e.type&&e.image_url?.url){let t=e.image_url.url,a=t.match(/^data:([^;]+);base64,(.+)$/);return a?{type:"content",content:{type:"image",data:a[2],mimeType:a[1]}}:{type:"content",content:{type:"image_url",url:t}}}}return{type:"content",content:{type:"text",text:JSON.stringify(e,null,2)}}}static joinProtectedTextBlocks(e,t,a,r){let i="",o=[];for(let r of e){if(!r||"object"!=typeof r||Array.isArray(r)||r.type!==t||"string"!=typeof r.text||!r.text)continue;let e=acp_utils_AcpUtils.protectedHistoryText(r.text,(0,g.gP)(r)),n=e.text,s=i?i.length+a.length:0;i+=`${i?a:""}${n}`;let l=e.sensitiveProtection;l?.version===2?o.push({version:2,items:l.items.map(e=>({...e,start:e.start+s,end:e.end+s}))}):l&&o.push(l)}if(!i)return{text:i};let n=(0,_.Ud)(i,r),s=(0,_.d3)(i,(0,_.HF)(...o,n));return{text:i,...s?{sensitiveProtection:s}:{}}}static protectedHistoryText(e,t){let a=(0,_.Ud)(e,t?.sensitiveProtection);if(a?.version===2||a?.version===1)return{text:e,sensitiveProtection:a};let r=t?.sensitiveDisplayText;if("string"!=typeof r||!r)return{text:e,...a?{sensitiveProtection:a}:{}};let i=(0,_.Ud)(r,t?.sensitiveProtection);if(i?.version!==1)return{text:e,...a?{sensitiveProtection:a}:{}};let o=acp_utils_AcpUtils.migrateLegacyProtection(e,r,i.items);return o?{text:e,sensitiveProtection:o}:{text:r,sensitiveProtection:i}}static migrateLegacyProtection(e,t,a){let r=new Map(a.map(e=>[e.ciphertext,e])),i=[],o=0;for(;o<t.length;){let e,n=-1;for(let i of a){let a=t.indexOf(i.ciphertext,o);a>=0&&(n<0||a<n)&&(n=a,e=r.get(i.ciphertext))}if(n<0||!e)break;i.push({prefix:t.slice(o,n),legacy:e}),o=n+e.ciphertext.length}if(0===i.length)return;let n=t.slice(o),s=[],l=0;for(let t=0;t<i.length;t++){let a=i[t];if(!e.startsWith(a.prefix,l))return;let r=l+a.prefix.length,o=t+1<i.length?i[t+1].prefix:n;if(!o&&t+1<i.length)return;let c=t+1===i.length?o&&e.endsWith(o)?e.length-o.length:o?-1:e.length:e.indexOf(o,r);if(c<=r)return;s.push({start:r,end:c,ciphertext:a.legacy.ciphertext,...a.legacy.protectionId?{protectionId:a.legacy.protectionId}:{},...a.legacy.ruleNames?{ruleNames:a.legacy.ruleNames}:{}}),l=c}if(!e.startsWith(n,l)||l+n.length!==e.length)return;let c="",d=0;for(let t of s)c+=e.slice(d,t.start)+t.ciphertext,d=t.end;return(c+=e.slice(d))===t?{version:2,items:s}:void 0}static extractChannelInfo(e){let t,a,r=[...e.matchAll(RegExp(/<channel\s+([^>]*)>([^<]*)<\/channel>/,"g"))],i=r.length>0?r[r.length-1]:null;if(!i)return null;let o=i[1],n=i[2].replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").trim(),s={},l=/(\w+)="([^"]*)"/g;for(;null!==(t=l.exec(o));){let e=t[2].replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&");s[t[1]]=e}let c=s.source;return c?("group"===s.chattype?a="group":"single"===s.chattype&&(a="single"),{source:c,sender:s.sender||s.user||"",chatId:s.chat_id,chatType:a,content:n}):null}static inferToolKind(e){let t=e.toLowerCase();return t.includes("read")||t.includes("list")||t.includes("glob")||t.includes("grep")?"read":t.includes("edit")||t.includes("write")||t.includes("multiedit")?"edit":t.includes("delete")||t.includes("remove")?"delete":t.includes("move")||t.includes("rename")?"move":t.includes("search")?"search":t.includes("bash")||t.includes("execute")?"execute":t.includes("fetch")||t.includes("web")?"fetch":"other"}static convertAcpMcpServersToDynamic(e){let t={};for(let a of e){let e,r=a._meta||{};if(void 0!==r.alwaysLoad&&"boolean"!=typeof r.alwaysLoad)throw TypeError(`ACP MCP server '${a.name}' has invalid alwaysLoad metadata`);if("type"in a)if("acp"===a.type)throw Error("ACP MCP servers must be materialized by the Harness Transport bridge");else{if("http"!==a.type&&"sse"!==a.type)continue;e={type:a.type,url:a.url,headers:a.headers?Object.fromEntries(a.headers.map(e=>[e.name,e.value])):void 0,..."custom"===r._workbuddyMcpOrigin?{_workbuddyMcpOrigin:"custom"}:{},...void 0!==r.alwaysLoad?{alwaysLoad:r.alwaysLoad}:{},...void 0!==r.defer_loading?{defer_loading:r.defer_loading}:{},...void 0!==r.repl_expose?{repl_expose:r.repl_expose}:{},...r.tools?{tools:r.tools}:{},...void 0!==r.transparent_proxy?{transparent_proxy:r.transparent_proxy}:{},...r.builtin_tools?{builtin_tools:r.builtin_tools}:{}}}else e={type:"stdio",command:a.command,args:a.args,env:a.env?Object.fromEntries(a.env.map(e=>[e.name,e.value])):void 0,..."custom"===r._workbuddyMcpOrigin?{_workbuddyMcpOrigin:"custom"}:{},...void 0!==r.alwaysLoad?{alwaysLoad:r.alwaysLoad}:{},...void 0!==r.defer_loading?{defer_loading:r.defer_loading}:{},...void 0!==r.repl_expose?{repl_expose:r.repl_expose}:{},...r.tools?{tools:r.tools}:{},...void 0!==r.transparent_proxy?{transparent_proxy:r.transparent_proxy}:{},...r.builtin_tools?{builtin_tools:r.builtin_tools}:{}};t[a.name]=e}return t}static toolInfoFromToolUse(e,t={}){let a=e.name,r=e.input;switch(a){case n.L3.READ:{let e="";return r?.limit?e=` (${(r.offset??0)+1} - ${(r.offset??0)+r.limit})`:r?.offset&&(e=` (from line ${r.offset+1})`),{title:`Read ${r?.file_path??"File"}${e}`,kind:"read",content:[],locations:r?.file_path?[{path:r.file_path,line:r.offset??0}]:[]}}case n.L3.EDIT:{let e=r?.file_path,a=r?.old_string??null,i=r?.new_string??"",o=[];if(e&&a&&Object.prototype.hasOwnProperty.call(t,e))try{let n=t[e]??"",s=A._.applyTextReplacementWithLocation(n,[{oldString:a,newString:i,replaceAll:r?.replace_all??!1}]);a=n,i=s.newContent,o=s.affectedLines}catch{}return{title:e?`Edit \`${e}\``:"Edit",kind:"edit",content:r&&e?[{type:"diff",path:e,oldText:a,newText:i}]:[],locations:e?o.length>0?o.map(t=>({line:t,path:e})):[{path:e}]:[]}}case n.L3.MULTI_EDIT:{let e=r?.file_path,a=null,i="",o=[];if(e&&r?.edits&&Array.isArray(r.edits)){let n=r.edits;if(a=n.map(e=>e.old_string??"").join("\n...\n"),i=n.map(e=>e.new_string??"").join("\n...\n"),Object.prototype.hasOwnProperty.call(t,e))try{let r=t[e]??"",s=A._.applyTextReplacementWithLocation(r,n.map(e=>({oldString:e.old_string,newString:e.new_string,replaceAll:e.replace_all??!1})));a=r,i=s.newContent,o=s.affectedLines}catch{}}return{title:e?`Edit \`${e}\``:"Multi Edit",kind:"edit",content:r&&e?[{type:"diff",path:e,oldText:a,newText:i}]:[],locations:e?o.length>0?o.map(t=>({line:t,path:e})):[{path:e}]:[]}}case n.L3.WRITE:return{title:r?.file_path?`Write ${r.file_path}`:"Write",kind:"edit",content:r&&r.file_path?[{type:"diff",path:r.file_path,oldText:null,newText:r.content}]:[],locations:r?.file_path?[{path:r.file_path}]:[]};case n.L3.BASH:{let e="string"==typeof r?.command?r.command:void 0;return{title:e?"`"+e.replace(/`/g,"\\`")+"`":"Terminal",kind:"execute",content:r&&r.description?[{type:"content",content:{type:"text",text:r.description}}]:[]}}case n.L3.POWERSHELL:{let e="string"==typeof r?.command?r.command:void 0;return{title:e?"`"+e.replace(/`/g,"\\`")+"`":"PowerShell",kind:"execute",content:r&&r.description?[{type:"content",content:{type:"text",text:r.description}}]:[]}}case n.L3.BASH_OUTPUT:return{title:"Tail Logs",kind:"execute",content:[]};case n.L3.KILL_SHELL:return{title:"Kill Process",kind:"execute",content:[]};case n.L3.GLOB:{let e="Find";return r?.path&&(e+=` \`${r.path}\``),r?.pattern&&(e+=` \`${r.pattern}\``),{title:e,kind:"search",content:[],locations:r?.path?[{path:r.path}]:[]}}case n.L3.GREP:{let e="grep";if(r?.["-i"]&&(e+=" -i"),r?.["-n"]&&(e+=" -n"),r?.["-A"]!==void 0&&(e+=` -A ${r["-A"]}`),r?.["-B"]!==void 0&&(e+=` -B ${r["-B"]}`),r?.["-C"]!==void 0&&(e+=` -C ${r["-C"]}`),r?.output_mode)switch(r.output_mode){case"files_with_matches":e+=" -l";break;case"count":e+=" -c"}return r?.head_limit!==void 0&&(e+=` | head -${r.head_limit}`),r?.glob&&(e+=` --include="${r.glob}"`),r?.type&&(e+=` --type=${r.type}`),r?.multiline&&(e+=" -P"),e+=` "${r?.pattern}"`,r?.path&&(e+=` ${r.path}`),{title:e,kind:"search",content:[]}}case n.L3.WEB_FETCH:return{title:r?.url?`Fetch ${r.url}`:"Fetch",kind:"fetch",content:r&&r.prompt?[{type:"content",content:{type:"text",text:r.prompt}}]:[]};case n.L3.WEB_SEARCH:{let e=`"${r?.query}"`;return r?.allowed_domains&&r.allowed_domains.length>0&&(e+=` (allowed: ${r.allowed_domains.join(", ")})`),r?.blocked_domains&&r.blocked_domains.length>0&&(e+=` (blocked: ${r.blocked_domains.join(", ")})`),{title:e,kind:"fetch",content:[]}}case n.L3.TODO_WRITE:return{title:Array.isArray(r?.todos)?`Update TODOs: ${r.todos.map(e=>e.content).join(", ")}`:"Update TODOs",kind:"think",content:[]};case n.L3.AGENT:{let e=r?.description||"",t=r?.subagent_type||"general-purpose",a=!!r?.run_in_background,i=r?.name;return{title:i?`@${i}`:t,kind:"other",content:e?[{type:"content",content:{type:"text",text:e}}]:[],_meta:{"codebuddy.ai/isSubagent":!0,"codebuddy.ai/subagentType":t,"codebuddy.ai/isBackground":a,"codebuddy.ai/memberName":i||null,"codebuddy.ai/description":e}}}default:return{title:a||"Unknown Tool",kind:"other",content:[]}}}static getImageExtension(e){switch(e){case"image/jpeg":return".jpg";case"image/gif":return".gif";case"image/webp":return".webp";default:return".png"}}static persistClipboardImage(e,t){try{let a=process.env.CODEBUDDY_CONFIG_DIR?d.join(process.env.CODEBUDDY_CONFIG_DIR,"clipboard-images"):d.join(c.tmpdir(),"workbuddy-clipboard-images");l.mkdirSync(a,{recursive:!0});let r=new Date().toISOString().replace(/[:.]/g,"-"),i=s.createHash("sha1").update(e).digest("hex").slice(0,8),o=this.getImageExtension(t),n=d.join(a,`clipboard-${r}-${i}${o}`);return l.writeFileSync(n,Buffer.from(e,"base64")),n}catch(e){v.k.error("AcpUtils","Failed to persist clipboard image",e).catch(()=>{});return}}static promptToUserMessage(e){let t=[],a=[],r=0;for(let o of e.prompt)switch(o.type){case"text":{let e=o.text,a=e.match(/^\/mcp:([^:\s]+):(\S+)(\s+.*)?$/);if(a){let[,t,r,i]=a;e=`/${t}:${r} (MCP)${i||""}`}t.push({type:"text",text:e});break}case"resource_link":{let e=o._meta||{};if("inspiration"===e.mentionType&&e.detail){let t=e.cardTitle||o.name||"Inspiration";a.push({type:"text",text:`
|
|
4
4
|
<context ref="inspiration:${e.inspirationCardId||""}" title="${t}">
|
|
5
5
|
${e.detail}
|
|
6
|
-
</context>`})}else{let a=(0,i.encodePersistedResourceLinkToInputText)({uri:o.uri,name:o.name,mimeType:o.mimeType??void 0,meta:e,..."string"==typeof e.relativePath?{relativePath:e.relativePath}:{}});t.push({type:"text",...a})}break}case"resource":{if("blob"in o.resource&&(r+=this.validatedEmbeddedBlobLength(o.resource.blob))>I.hu)throw Error(`ACP embedded resources exceed ${I.hu} bytes`);let e=this.toModelContent(o.resource);t.push(...e.content),a.push(...e.context);break}case"image":if(o.data){let e,a=o._meta?.filename??o._meta?.originalFilename,r={type:"image",source:{type:"base64",data:o.data,media_type:o.mimeType},original_filename:"string"==typeof a?a:void 0};t.push(r);let i="string"==typeof o._meta?.path?o._meta.path:void 0;(e=i&&d.isAbsolute(i)&&l.existsSync(i)?i:"string"==typeof o.uri&&d.isAbsolute(o.uri)&&l.existsSync(o.uri)?o.uri:acp_utils_AcpUtils.persistClipboardImage(o.data,o.mimeType))&&t.push({type:"text",text:`<image_local_path>${e}</image_local_path>`})}else o.uri&&o.uri.startsWith("http")&&t.push({type:"image",source:{type:"url",url:o.uri}})}return t.push(...a),{type:"user",message:{role:"user",content:t},session_id:e.sessionId,parent_tool_use_id:null,...e._meta?{_meta:e._meta}:{}}}static validateEmbeddedResources(e){let t=0;for(let a of e.prompt)if("resource"===a.type&&"blob"in a.resource&&(t+=this.validatedEmbeddedBlobLength(a.resource.blob))>I.hu)throw Error(`ACP embedded resources exceed ${I.hu} bytes`)}static isImageLocalPathText(e){return/^<image_local_path>[\s\S]*<\/image_local_path>$/.test(e.trim())}static stripImageLocalPathMarkup(e){return e.replace(/<image_local_path>\s*[\s\S]*?\s*<\/image_local_path>/gi,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").replace(/^\n+/,"").replace(/\n+$/,"")}static convertPersistedUserImageBlockToAcpContentBlock(e){let makeImageBlock=(e,t,a)=>({type:"image",mimeType:e,data:t,...a?{uri:a,_meta:{filename:a}}:{}});if("image_blob_ref"===e.type||"input_image"!==e.type||!e.image||"object"==typeof e.image&&"image_blob_ref"===e.image.type)return;let t=e.original_filename;if("string"==typeof e.image){let a=this.parseDataUri(e.image);return a?makeImageBlock(a.mimeType,a.data,t):/^https?:\/\//.test(e.image)?{type:"image",data:"",mimeType:"image/png",uri:e.image}:void 0}if("object"==typeof e.image&&"string"==typeof e.image.data)return makeImageBlock(e.image.mediaType||"image/png",e.image.data,t)}static parseDataUri(e){let t=e.match(/^data:([^;]+);base64,(.+)$/);if(t)return{mimeType:t[1],data:t[2]}}static extractBlobIdFromPath(e){try{let t=e.lastIndexOf("/");if(-1===t)return;let a=e.substring(t+1),r=a.lastIndexOf(".");return(r>0?a.substring(0,r):a)||void 0}catch{return}}};var S=a(76760);a(31028);var R=a(77598);let O="acpmsg:v1:";function deriveCanonicalAcpMessageId(e,t){let a=t.trim();if(!a)throw Error("Canonical ACP message identity requires a durable source");let r=`${O}${e}:`;if(a.startsWith(r))return a;if(a.startsWith(O))throw Error("Canonical ACP message identity cannot change message kind");let i=(0,R.createHash)("sha256").update("codebuddy/acp-message-id/v1").update("\0").update(e).update("\0").update(a).digest("base64url");return`${r}${i}`}function canonicalizeStandardMessageId(e,t){let a="string"==typeof e.messageId&&e.messageId.length>0?e.messageId:t;a&&("user_message_chunk"===e.sessionUpdate?e.messageId=a:"agent_message_chunk"===e.sessionUpdate?e.messageId=deriveCanonicalAcpMessageId("agent",a):"agent_thought_chunk"===e.sessionUpdate&&(e.messageId=deriveCanonicalAcpMessageId("thought",a)))}function stripLegacyPromptCorrelationMeta(e){delete e.timestamp,delete e["codebuddy.ai/promptRequestId"],delete e["codebuddy.ai/messageRequestId"];let t=e["codebuddy.ai"];if(t&&"object"==typeof t&&!Array.isArray(t)){let a={...t};delete a.timestamp,delete a.requestId,delete a.rootRequestId,delete a.promptRequestId,delete a.messageRequestId,Object.keys(a).length>0?e["codebuddy.ai"]=a:delete e["codebuddy.ai"]}return e}a(15247);let D="codebuddy.ai/subagent";function createAcpSubagentStatusUpdate(e){return{sessionUpdate:"session_info_update",_meta:{[D]:e}}}let V=new Set(["_meta","command","cwd","exitStatus","output","sessionUpdate","terminalId"]),N=new Set(["_meta","data"]),B=new Set(["_meta","data","sessionUpdate","terminalId"]),$=new Set(["_meta","exitCode","signal"]),L=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;function acp_terminal_types_isRecord(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function cloneJsonValue(e,t){if(null===e||"string"==typeof e||"boolean"==typeof e)return e;if("number"==typeof e){if(!Number.isFinite(e))throw TypeError("non-finite number");return e}if("object"!=typeof e)throw TypeError("non-JSON value");if(t.has(e))throw TypeError("cyclic value");t.add(e);try{if(Array.isArray(e))return e.map(e=>cloneJsonValue(e,t));let a=Object.getPrototypeOf(e);if(a!==Object.prototype&&null!==a)throw TypeError("non-plain object");return Object.fromEntries(Object.entries(e).map(([e,a])=>[e,cloneJsonValue(a,t)]))}finally{t.delete(e)}}function assertOnlyFields(e,t,a){if(Object.keys(e).find(e=>!t.has(e)))throw TypeError(`${a} contains an unsupported field`)}function projectMeta(e,t){if(null==e)return e;if(!acp_terminal_types_isRecord(e))throw TypeError(`${t} must be an object or null`);try{return cloneJsonValue(e,new Set)}catch{throw TypeError(`${t} must contain only finite JSON values without cycles`)}}function projectTerminalOutput(e){if(null===e)return null;if(!acp_terminal_types_isRecord(e))throw TypeError("ACP terminal output must be an object or null");if(assertOnlyFields(e,N,"ACP terminal output"),"string"!=typeof e.data||!L.test(e.data))throw TypeError("ACP terminal output data must be RFC 4648 base64");let t=projectMeta(e._meta,"ACP terminal output _meta");return{data:e.data,...void 0!==t?{_meta:t}:{}}}function projectTerminalExitStatus(e){if(null===e)return null;if(!acp_terminal_types_isRecord(e))throw TypeError("ACP terminal exitStatus must be an object or null");if(assertOnlyFields(e,$,"ACP terminal exitStatus"),void 0!==e.exitCode&&null!==e.exitCode&&("number"!=typeof e.exitCode||!Number.isSafeInteger(e.exitCode)||e.exitCode<0||e.exitCode>0xffffffff))throw TypeError("ACP terminal exitStatus.exitCode must be a uint32 or null");if(void 0!==e.signal&&null!==e.signal&&"string"!=typeof e.signal)throw TypeError("ACP terminal exitStatus.signal must be a string or null");let t=projectMeta(e._meta,"ACP terminal exitStatus._meta");return{...void 0!==e.exitCode?{exitCode:e.exitCode}:{},...void 0!==e.signal?{signal:e.signal}:{},...void 0!==t?{_meta:t}:{}}}function readAcpTerminalSessionUpdateKind(e){if(acp_terminal_types_isRecord(e))return"terminal_update"===e.sessionUpdate||"terminal_output_chunk"===e.sessionUpdate?e.sessionUpdate:void 0}function projectAcpTerminalUpdate(e){if(!acp_terminal_types_isRecord(e)||"terminal_update"!==e.sessionUpdate)throw TypeError("ACP terminal update must be a terminal_update object");if(assertOnlyFields(e,V,"ACP terminal update"),"string"!=typeof e.terminalId||0===e.terminalId.length)throw TypeError("ACP terminal update terminalId must be a non-empty string");if(void 0!==e.command&&null!==e.command&&"string"!=typeof e.command)throw TypeError("ACP terminal update command must be a string or null");if(void 0!==e.cwd&&null!==e.cwd&&("string"!=typeof e.cwd||!d.posix.isAbsolute(e.cwd)&&!d.win32.isAbsolute(e.cwd)))throw TypeError("ACP terminal update cwd must be an absolute path or null");let t=void 0!==e.output?projectTerminalOutput(e.output):void 0,a=void 0!==e.exitStatus?projectTerminalExitStatus(e.exitStatus):void 0,r=projectMeta(e._meta,"ACP terminal update _meta");return{sessionUpdate:"terminal_update",terminalId:e.terminalId,...void 0!==e.command?{command:e.command}:{},...void 0!==e.cwd?{cwd:e.cwd}:{},...void 0!==t?{output:t}:{},...void 0!==a?{exitStatus:a}:{},...void 0!==r?{_meta:r}:{}}}function projectAcpTerminalOutputChunk(e){if(!acp_terminal_types_isRecord(e)||"terminal_output_chunk"!==e.sessionUpdate)throw TypeError("ACP terminal output chunk must be a terminal_output_chunk object");if(assertOnlyFields(e,B,"ACP terminal output chunk"),"string"!=typeof e.terminalId||0===e.terminalId.length)throw TypeError("ACP terminal output chunk terminalId must be a non-empty string");if("string"!=typeof e.data||!L.test(e.data))throw TypeError("ACP terminal output chunk data must be RFC 4648 base64");let t=projectMeta(e._meta,"ACP terminal output chunk _meta");return{sessionUpdate:"terminal_output_chunk",terminalId:e.terminalId,data:e.data,...void 0!==t?{_meta:t}:{}}}function buildTerminalUpdate(e){let t={sessionUpdate:"terminal_update",terminalId:e.terminalId};return void 0!==e.command&&(t.command=e.command),void 0!==e.cwd&&(t.cwd=e.cwd),void 0!==e.output&&(t.output=e.output),void 0!==e.exitStatus&&(t.exitStatus=e.exitStatus),void 0!==e._meta&&(t._meta=e._meta),projectAcpTerminalUpdate(t)}function buildTerminalOutputChunk(e){return projectAcpTerminalOutputChunk({sessionUpdate:"terminal_output_chunk",terminalId:e.terminalId,data:e.data,...void 0!==e._meta?{_meta:e._meta}:{}})}let AcpV2ProjectionError=class AcpV2ProjectionError extends Error{constructor(e,t){super(t),this.code=e,this.name="AcpV2ProjectionError"}};function cloneMeta(e){return e&&{...e}}function acp_v2_projector_isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function projectMessageMeta(e){let t=projectNativeV2Meta(e);if(!t)return t;let a={...t};delete a["codebuddy.ai/messageId"];let r=a["codebuddy.ai"];if(acp_v2_projector_isRecord(r)){let e={...r};delete e.messageId,Object.keys(e).length>0?a["codebuddy.ai"]=e:delete a["codebuddy.ai"]}return Object.keys(a).length>0?a:void 0}function projectNativeV2Meta(e){if(!e)return e;let t={...e};delete t["codebuddy.ai/historyReplay"],delete t["codebuddy.ai/historyReplayTotalItems"],stripLegacyPromptCorrelationMeta(t);let a=t["codebuddy.ai"];if(acp_v2_projector_isRecord(a)){let e={...a};delete e.historyReplay,delete e.historyReplayTotalItems,"history"===e.mode&&(delete e.mode,delete e.offset),Object.keys(e).length>0?t["codebuddy.ai"]=e:delete t["codebuddy.ai"]}return Object.keys(t).length>0?t:void 0}function projectPlanMeta(e){let t=projectNativeV2Meta(e);if(!t)return t;let a={...t};return delete a[D],Object.keys(a).length>0?a:void 0}function getLegacyReplayMarker(e){if(!e)return;let t=e["codebuddy.ai/historyReplay"];if(void 0!==t)return t;let a=e["codebuddy.ai"];return acp_v2_projector_isRecord(a)?a.historyReplay:void 0}function projectAnnotations(e){return e?{audience:e.audience?[...e.audience]:e.audience,lastModified:e.lastModified,priority:e.priority,_meta:cloneMeta(e._meta)}:e}function projectContentBlock(e){switch(e.type){case"text":return{type:"text",text:e.text,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"image":return{type:"image",data:e.data,mimeType:e.mimeType,uri:e.uri,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"audio":return{type:"audio",data:e.data,mimeType:e.mimeType,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"resource_link":return{type:"resource_link",name:e.name,uri:e.uri,title:e.title,description:e.description,mimeType:e.mimeType,size:e.size,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"resource":return{type:"resource",resource:"text"in e.resource?{text:e.resource.text,uri:e.resource.uri,mimeType:e.resource.mimeType,_meta:cloneMeta(e.resource._meta)}:{blob:e.resource.blob,uri:e.resource.uri,mimeType:e.resource.mimeType,_meta:cloneMeta(e.resource._meta)},annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)}}}function projectToolCallStatus(e){let t=acp_v2_projector_isRecord(e._meta)?e._meta:void 0;return"tool_call"===e.sessionUpdate&&t?.["codebuddy.ai/toolArgumentsComplete"]===!0?"failed"===e.status?"failed":"pending":e.status}function projectToolCallContent(e){switch(e.type){case"content":return{type:"content",content:projectContentBlock(e.content),_meta:cloneMeta(e._meta)};case"terminal":return{type:"terminal",terminalId:e.terminalId,_meta:cloneMeta(e._meta)}}}function projectLegacyToolCallContent(e){if(null!=e&&!e.some(e=>"diff"===e.type))return e.map(e=>projectToolCallContent(e))}function projectLegacyToolCallLocations(e){if(null!=e&&!e.some(e=>e.path.includes("\0")||!S.posix.isAbsolute(e.path)&&!S.win32.isAbsolute(e.path)))return e.map(e=>({path:e.path,line:e.line,_meta:cloneMeta(e._meta)}))}function projectAcpV1ToolCallUpdateToV2(e){let t=readAcpV2FileChangeArtifact(e),a=readAcpV2FileChangeRawInput(e),r=acp_v2_projector_isRecord(e._meta)?e._meta:void 0,i=t?(0,f.Vy)(e.name??r?.["codebuddy.ai/toolName"],t):void 0,o=t?[{type:"diff",changes:t.changes.map(e=>({...e})),patch:t.patch?{...t.patch}:null}]:void 0;return{toolCallId:e.toolCallId,name:i?.name??e.name,title:i?.title??e.title,kind:i?.kind??e.kind,status:projectToolCallStatus(e),content:o??projectLegacyToolCallContent(e.content),locations:t?t.changes.map(e=>({path:e.path})):projectLegacyToolCallLocations(e.locations),rawInput:t?a??null:e.rawInput,rawOutput:e.rawOutput,_meta:cloneMeta(e._meta)}}function projectPlanEntry(e){return{content:e.content,priority:e.priority,status:e.status}}let F=new Set(["TaskCreate","TaskUpdate","TaskList"]);function projectTaskResultPlan(e,t){let{update:a}=e;if("tool_call_update"!==a.sessionUpdate||"completed"!==a.status)return;let r=acp_v2_projector_isRecord(a._meta)?a._meta:void 0,i=a.name??r?.["codebuddy.ai/toolName"];if("string"!=typeof i||!F.has(i))return;let o=readAcpV2TaskPlanSnapshot(a);if(!o)return;let n=BigInt(o.revision),s=t?.get(e.sessionId);if(s){let e=s.revisionsBySource.get(o.sourceId);if(void 0!==e&&(s.sourceId!==o.sourceId||n<e||n===e&&s.isTaskPlanCurrent))return}let l=[];for(let e of o.entries){if(!acp_v2_projector_isRecord(e))return;let{content:t,priority:a,status:r}=e;if("string"!=typeof t||0===t.length||"medium"!==a||"pending"!==r&&"in_progress"!==r&&"completed"!==r)return;l.push({content:t,priority:a,status:r})}let c=projectAcpV2UpdateNotification(e.sessionId,{sessionUpdate:"plan_update",plan:{type:"items",planId:"main",entries:l}});if(t){let a=new Map(s?.revisionsBySource);a.set(o.sourceId,n),t.set(e.sessionId,{sourceId:o.sourceId,revision:n,isTaskPlanCurrent:!0,revisionsBySource:a})}return c}function replacesMainPlan(e){if("plan_update"===e.sessionUpdate){let t=e.plan;return acp_v2_projector_isRecord(t)&&"main"===t.planId}return"plan_removed"===e.sessionUpdate&&"main"===e.planId}function markAcpV2TaskPlanNotCurrent(e,t){for(let a of void 0===t?[...e.keys()]:[t]){let t=e.get(a);t?.isTaskPlanCurrent&&e.set(a,{...t,isTaskPlanCurrent:!1})}}function projectAcpV1MessageChunkToV2(e){if(!e.messageId)throw new AcpV2ProjectionError("missing_message_id",`ACP v2 ${e.sessionUpdate} requires a non-empty messageId`);let t={messageId:e.messageId,content:projectContentBlock(e.content),_meta:projectMessageMeta(e._meta)};switch(e.sessionUpdate){case"user_message_chunk":return{sessionUpdate:"user_message_chunk",...t};case"agent_message_chunk":return{sessionUpdate:"agent_message_chunk",...t};case"agent_thought_chunk":return{sessionUpdate:"agent_thought_chunk",...t}}}function projectAcpV1MessageRunToV2(e){let t=e[0];if(!t)throw new AcpV2ProjectionError("invalid_replay_message_run","ACP v2 replay message requires at least one chunk");let a=projectAcpV1MessageChunkToV2(t),r=[a.content],i=a._meta;for(let a of e.slice(1)){if(a.sessionUpdate!==t.sessionUpdate||a.messageId!==t.messageId)throw new AcpV2ProjectionError("invalid_replay_message_run","ACP v2 replay message chunks must be contiguous and share their type and messageId");let e=projectAcpV1MessageChunkToV2(a);r.push(e.content),void 0===i&&void 0!==e._meta&&(i=e._meta)}let o={messageId:a.messageId,content:r,_meta:i};switch(t.sessionUpdate){case"user_message_chunk":return{sessionUpdate:"user_message",...o};case"agent_message_chunk":return{sessionUpdate:"agent_message",...o};case"agent_thought_chunk":return{sessionUpdate:"agent_thought",...o}}}function projectAcpV1SessionNotificationToV2(e){let t,{update:a}=e;if(isAcpCompactionUpdate(a))return projectAcpV2UpdateNotification(e.sessionId,{...a,_meta:cloneMeta(a._meta)},e._meta);let r=readAcpTerminalSessionUpdateKind(a);if("terminal_output_chunk"===r){let t;try{t=projectAcpTerminalOutputChunk(a)}catch(e){throw new AcpV2ProjectionError("invalid_terminal_output_chunk",e instanceof Error?e.message:"Invalid ACP terminal output chunk")}return projectAcpV2TerminalNotification(e.sessionId,t,e._meta)}if("terminal_update"===r){let t;try{t=projectAcpTerminalUpdate(a)}catch(e){throw new AcpV2ProjectionError("invalid_terminal_update",e instanceof Error?e.message:"Invalid ACP terminal update")}return projectAcpV2TerminalNotification(e.sessionId,t,e._meta)}if("session_info_update"!==a.sessionUpdate||null!=a.title||null!=a.updatedAt||"start"!==getLegacyReplayMarker(a._meta)&&"end"!==getLegacyReplayMarker(a._meta)){switch(a.sessionUpdate){case"user_message_chunk":t=projectAcpV1MessageRunToV2([a]);break;case"agent_message_chunk":case"agent_thought_chunk":t=projectAcpV1MessageChunkToV2(a);break;case"tool_call":case"tool_call_update":t={sessionUpdate:"tool_call_update",...projectAcpV1ToolCallUpdateToV2(a)};break;case"plan":t={sessionUpdate:"plan_update",plan:{type:"items",planId:"main",entries:a.entries.map(projectPlanEntry)},_meta:cloneMeta(a._meta)};break;case"plan_update":{let{plan:e}=a;t={sessionUpdate:"plan_update",plan:"items"===e.type?{type:"items",planId:e.planId,entries:e.entries.map(projectPlanEntry),_meta:projectPlanMeta(e._meta)}:"file"===e.type?{type:"file",planId:e.planId,uri:e.uri,_meta:projectPlanMeta(e._meta)}:{type:"markdown",planId:e.planId,content:e.content,_meta:projectPlanMeta(e._meta)},_meta:cloneMeta(a._meta)};break}case"plan_removed":t={sessionUpdate:"plan_removed",planId:a.planId,_meta:cloneMeta(a._meta)};break;case"available_commands_update":t={sessionUpdate:"available_commands_update",availableCommands:a.availableCommands.map(e=>({name:e.name,description:e.description,...e.input?{input:{type:"text",hint:e.input.hint,_meta:cloneMeta(e.input._meta)}}:{},_meta:cloneMeta(e._meta)})),_meta:cloneMeta(a._meta)};break;case"config_option_update":t=projectAcpV1ConfigOptionsUpdateToV2(a.configOptions,a._meta);break;case"session_info_update":t={sessionUpdate:"session_info_update",title:a.title,updatedAt:a.updatedAt,_meta:cloneMeta(a._meta)};break;case"usage_update":t={sessionUpdate:"usage_update",used:a.used,size:a.size,cost:a.cost?{amount:a.cost.amount,currency:a.cost.currency,_meta:cloneMeta(a.cost._meta)}:a.cost,_meta:cloneMeta(a._meta)};break;case"compaction_update":t={sessionUpdate:"compaction_update",compactionId:a.compactionId,status:a.status,summary:a.summary?.map(projectContentBlock)??a.summary,error:a.error,_meta:cloneMeta(a._meta)};break;case"compaction_summary_chunk":t={sessionUpdate:"compaction_summary_chunk",compactionId:a.compactionId,content:projectContentBlock(a.content),_meta:cloneMeta(a._meta)};break;case"current_mode_update":return}return projectAcpV2UpdateNotification(e.sessionId,t,e._meta)}}function projectAcpV1SessionNotificationToV2Updates(e,t){let a=projectAcpV1SessionNotificationToV2(e);if(!a)return[];t&&replacesMainPlan(a.update)&&markAcpV2TaskPlanNotCurrent(t,e.sessionId);let r=projectTaskResultPlan(e,t);return r?[a,r]:[a]}function acp_v2_projector_projectAcpV1ReplayNotificationsToV2(e,t=new Map){let a,r=[],i=new Map,o=new Map,flushPendingMessage=()=>{if(!a)return;let e=a;a=void 0;let t=i.get(e.key);if(!t)throw new AcpV2ProjectionError("invalid_replay_message_run","ACP v2 replay message accumulator lost its identity state");r.push(projectAcpV2UpdateNotification(e.sessionId,projectAcpV1MessageRunToV2(t),e.notificationMeta))};for(let n of e){let{update:e}=n;if("user_message_chunk"===e.sessionUpdate||"agent_message_chunk"===e.sessionUpdate||"agent_thought_chunk"===e.sessionUpdate){let{messageId:t}=projectAcpV1MessageChunkToV2(e),r=JSON.stringify([n.sessionId,t]),s=o.get(r);if(s&&s!==e.sessionUpdate)throw new AcpV2ProjectionError("invalid_replay_message_run",`ACP v2 replay messageId ${JSON.stringify(t)} crosses ${s} and ${e.sessionUpdate}`);if(o.set(r,e.sessionUpdate),a?.key===r){i.get(r).push(e);continue}flushPendingMessage();let l=i.get(r)??[];l.push(e),i.set(r,l),a={key:r,notificationMeta:n._meta,sessionId:n.sessionId};continue}flushPendingMessage(),r.push(...projectAcpV1SessionNotificationToV2Updates(n,t))}return flushPendingMessage(),r}function projectAcpV2UpdateNotification(e,t,a){return{sessionId:e,update:{...t,_meta:projectNativeV2Meta(t._meta)},_meta:projectNativeV2Meta(a)}}function projectAcpV2TerminalNotification(e,t,a){let{_meta:r,...i}=t,o=void 0===r?void 0:null===r?null:projectNativeV2Meta(r)??{};return{sessionId:e,update:{...i,...void 0!==o?{_meta:o}:{}},_meta:projectNativeV2Meta(a)}}function isConfigGroup(e){return"group"in e}function projectConfigSelectOption(e){return{value:e.value,name:e.name,description:e.description,_meta:cloneMeta(e._meta)}}function projectConfigSelectOptions(e){let t=e.map(e=>isConfigGroup(e)?{groupId:e.group,name:e.name,options:e.options.map(projectConfigSelectOption),_meta:cloneMeta(e._meta)}:projectConfigSelectOption(e));if(t.every(e=>"groupId"in e)||t.every(e=>!("groupId"in e)))return t;throw TypeError("ACP session config options cannot mix grouped and ungrouped values")}function projectAcpV1ConfigOptionToV2(e){return"boolean"===e.type?{type:"boolean",configId:e.id,name:e.name,description:e.description,category:e.category,currentValue:e.currentValue,_meta:cloneMeta(e._meta)}:{type:"select",configId:e.id,name:e.name,description:e.description,category:e.category,currentValue:e.currentValue,options:projectConfigSelectOptions(e.options),_meta:cloneMeta(e._meta)}}function projectAcpV1ConfigOptionsToV2(e){return e.map(projectAcpV1ConfigOptionToV2)}function projectAcpV1ConfigOptionsUpdateToV2(e,t){return{sessionUpdate:"config_option_update",configOptions:projectAcpV1ConfigOptionsToV2(e),_meta:cloneMeta(t)}}var q=a(51455),J=a(7465);let W=new Set(["/init","/compact"]),z=new Set([J.xh,J.tZ,J.dQ,J.fw]);function isHostAvailableCommand(e){if(e.tags?.some(e=>z.has(e)))return!0;let t=e.name.startsWith("/")?e.name:`/${e.name}`;return W.has(t)}var H=a(33611),K=a(9890);function normalizeAvailableCommandName(e){return e.startsWith("/")?e.substring(1):e}function projectAcpAvailableCommands(e,t){let a=new Map;for(let t of e){let e=normalizeAvailableCommandName(t.name);a.set(e,{name:e,description:t.description||"",...t.argumentHint?{input:{hint:t.argumentHint}}:{}})}let r=[...a.values()];for(let e of t){let t=normalizeAvailableCommandName(e.name);if(a.has(t))continue;let i={name:t,description:e.description||"",_meta:{type:"skill",source:e.source,isBuiltIn:(0,H.F8)(e)}};a.set(t,i),r.push(i)}return r}function acp_timestamp_meta_isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function coerceTimestamp(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&e.trim()){let t=Number(e);if(Number.isFinite(t))return t;let a=Date.parse(e);return Number.isFinite(a)?a:void 0}}function resolveAcpTimestamp(e,t=Date.now()){return coerceTimestamp(e)??t}function readPersistedAcpItemTimestamp(e){return acp_timestamp_meta_isRecord(e)?coerceTimestamp(e.timestamp):void 0}function withAcpTimestampRecord(e,t,a=!1){let r={...acp_timestamp_meta_isRecord(e)?e:{}},i=t??Date.now(),o=a?resolveAcpTimestamp(r.timestamp,i):void 0!==t?resolveAcpTimestamp(t):resolveAcpTimestamp(r["codebuddy.ai/timestamp"],i);if(delete r.timestamp,delete r["codebuddy.ai/timestamp"],acp_timestamp_meta_isRecord(r["codebuddy.ai"])){let e={...r["codebuddy.ai"]};delete e.timestamp,Object.keys(e).length>0?r["codebuddy.ai"]=e:delete r["codebuddy.ai"]}return{...r,[a?"timestamp":"codebuddy.ai/timestamp"]:new Date(o).toISOString()}}function withAcpTimestampMeta(e,t,a=!1){return{...e,_meta:withAcpTimestampRecord(acp_timestamp_meta_isRecord(e._meta)?e._meta:void 0,t,a)}}let G=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Y=/^[\x21\x23-\x2b\x2d-\x3a\x3c-\x5b\x5d-\x7e]*$/;function isValidTracestateKey(e){if(/^[a-z][a-z0-9_\-*/]{0,255}$/.test(e))return!0;let t=e.indexOf("@");if(t<=0||t!==e.lastIndexOf("@"))return!1;let a=e.slice(0,t),r=e.slice(t+1);return/^[a-z0-9][a-z0-9_\-*/]{0,240}$/.test(a)&&/^[a-z][a-z0-9_\-*/]{0,13}$/.test(r)}function isValidW3CTracestate(e){if("string"!=typeof e||0===e.length||e.length>512)return!1;let t=e.split(",");if(0===t.length||t.length>32)return!1;let a=new Set;return t.every(e=>{let t=e.trim(),r=t.indexOf("=");if(r<=0||r!==t.lastIndexOf("="))return!1;let i=t.slice(0,r),o=t.slice(r+1);return!(!isValidTracestateKey(i)||a.has(i)||0===o.length||o.length>256||o.endsWith(" "))&&!!/^[\x20-\x2b\x2d-\x3c\x3e-\x7e]+$/.test(o)&&(a.add(i),!0)})}function isValidW3CBaggage(e){if("string"!=typeof e||0===e.length||e.length>8192)return!1;let t=e.split(",");return 0!==t.length&&!(t.length>180)&&t.every(e=>{let t=e.trim().split(";"),a=t.shift();if(!a)return!1;let r=a.indexOf("=");if(r<=0)return!1;let i=a.slice(0,r).trim(),o=a.slice(r+1).trim();return!!G.test(i)&&!!Y.test(o)&&t.every(e=>{let t=e.trim();if(!t)return!1;let a=t.indexOf("="),r=a<0?t:t.slice(0,a).trim(),i=a<0?"":t.slice(a+1).trim();return G.test(r)&&Y.test(i)})})}let Z="codebuddy.ai",X=["traceparent","tracestate","baggage","traceId","parentSpanId"];function acp_trace_context_isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function withCanonicalAcpTraceContext(e,t){let a={...e||{}};for(let e of(delete a.traceparent,delete a.tracestate,delete a.baggage,X))delete a[`codebuddy.ai/${e}`];if(acp_trace_context_isRecord(a[Z])){let e={...a[Z]};for(let t of X)delete e[t];Object.keys(e).length>0?a[Z]=e:delete a[Z]}let r=t&&(0,o.parseW3CTraceparent)(t.traceparent)?t:void 0;return r&&(a.traceparent=r.traceparent,isValidW3CTracestate(r.tracestate)&&(a.tracestate=r.tracestate),isValidW3CBaggage(r.baggage)&&(a.baggage=r.baggage)),a}async function itemNotifications(e,t,a,r=q.readFile){let i=await acp_utils_AcpUtils.rehydrateItemForReplay(t,async e=>{let t=await r(K.P.getBlobPath(e.blob_id,e.mime));if(t.byteLength===e.size&&(0,R.createHash)("sha256").update(t).digest("hex")===e.blob_id)return`data:${e.mime};base64,${Buffer.from(t).toString("base64")}`});return acp_utils_AcpUtils.convertHistoryItemToAcp(i,{compatibilityExtensions:!1}).map(r=>{r.messageId||canonicalizeStandardMessageId(r,t.id),acp_utils_AcpUtils.stripLegacyMessageIdFromStandardChunk(r);let i=a?withCanonicalAcpTraceContext(r._meta??void 0,void 0):{...r._meta},o=t.providerData?.conversationRequestId,n=t.providerData?.rootRequestId;"string"==typeof o&&(i["codebuddy.ai/requestId"]=o),"string"==typeof n&&(i["codebuddy.ai/rootRequestId"]=n),Object.keys(i).length?r._meta=i:delete r._meta;let s=readPersistedAcpItemTimestamp(t);return{sessionId:e,update:void 0===s?r:withAcpTimestampMeta(r,s)}})}let projectNativeEvent=async e=>{let t,{event:a,session_id:r}=e;if("input"===a.type)return itemNotifications(r,a.data,!1);if("terminal"===a.type){let e=a.data;return[{sessionId:r,update:withAcpTimestampMeta("output"===e.kind?buildTerminalOutputChunk({terminalId:e.terminalId,data:Buffer.from(e.bytes).toString("base64")}):buildTerminalUpdate({terminalId:e.terminalId,..."created"===e.kind?{command:e.command,cwd:e.cwd}:{exitStatus:{...void 0!==e.exitCode?{exitCode:e.exitCode}:{},...void 0!==e.signal?{signal:e.signal}:{}},...e.end?{_meta:{"codebuddy.ai":{end:e.end}}}:{}}}),e.timestamp)}]}switch(a.type){case"compaction":t=withAcpTimestampMeta(createAcpCompactionUpdate(a.data.compactionId,a.data.status,{trigger:a.data.trigger,..."failed"===a.data.status&&a.data.error?{error:a.data.error}:{}}),a.data.timestamp);break;case"subagent_status":t=withAcpTimestampMeta(createAcpSubagentStatusUpdate(a.data),a.data.updatedAt);break;case"title":t={sessionUpdate:"session_info_update",title:a.data};break;case"phase":t={sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/agentPhase":a.data}};break;case"progress":t={sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/progress":null===a.data?null:{type:a.data}}};break;case"catalog":t={sessionUpdate:"available_commands_update",availableCommands:projectAcpAvailableCommands(a.data.commands.filter(isHostAvailableCommand),a.data.skills.filter(e=>(0,H.Ky)(e,a.data.skillOverrides).menuVisible))};break;default:return[]}return[{sessionId:r,update:t}]};let AcpSessionFormatter=class AcpSessionFormatter{constructor(e){this.version=e,this.lanes=new Map,this.compactions=new Set,this.streamedV1Messages=new Map}async format(e){if("run_started"===e.type)return[e];if("run_completed"===e.type){for(let[t,a]of this.lanes)a.runId!==e.runId||a.childId||this.lanes.delete(t);for(let[t,a]of this.streamedV1Messages)a.runId!==e.runId||a.childId||this.streamedV1Messages.delete(t);return[e]}if("agent_model"===e.type)return e.parentToolUseId&&!e.origin?.subagent?[]:this.wrap(e,this.model(e),!1);if("agent_event"!==e.type)return[];let t=e.event;if("compaction"===t.type&&"in_progress"===t.data.status&&this.compactions.add(t.data.compactionId),"subagent_status"===t.type&&"running"!==t.data.status){for(let[e,a]of this.lanes)a.childId===t.data.sessionId&&this.lanes.delete(e);for(let[e,a]of this.streamedV1Messages)a.childId===t.data.sessionId&&this.streamedV1Messages.delete(e)}let a=(await projectNativeEvent(e)).filter(({update:e})=>"input"!==t.type||"_codebuddy.ai/compaction"!==e.sessionUpdate||!e.compactionId||!this.compactions.has(e.compactionId)),r=this.wrap(e,a,"input"===t.type);return"acp-v2"===this.version&&"input"===t.type&&"message"===t.data.type&&"assistant"===t.data.role&&t.data.id&&0===t.data.content.length&&r.push({type:"acp_update",notification:{sessionId:e.session_id,update:{sessionUpdate:"agent_message",messageId:t.data.id,content:[]}},origin:e.origin,_meta:e._meta}),"compaction"===t.type&&"in_progress"!==t.data.status&&this.compactions.delete(t.data.compactionId),"input"===t.type?[...r,e]:[e,...r]}wrap(e,t,a){let r={...e._meta,...e.origin?.requestId?{"codebuddy.ai/requestId":e.origin.requestId}:{},...e.origin?.rootRequestId?{"codebuddy.ai/rootRequestId":e.origin.rootRequestId}:{},...e.origin?.subagent?{"codebuddy.ai/subagent":e.origin.subagent}:{}},i=t.map(e=>({...e,update:{...e.update,_meta:{...r,...e.update._meta}}}));return("acp-v1"===this.version?i.filter(t=>{let r=t.update;if("agent_message_chunk"!==r.sessionUpdate&&"agent_thought_chunk"!==r.sessionUpdate)return!0;let i=r.messageId??r._meta?.["codebuddy.ai/messageId"];if("string"!=typeof i)return!0;let o=JSON.stringify([t.sessionId,e.origin?.subagent?.sessionId,i,r.sessionUpdate]);return a?!this.streamedV1Messages.has(o):(this.streamedV1Messages.set(o,{runId:e.origin?.requestId,childId:e.origin?.subagent?.sessionId}),!0)}):a?acp_v2_projector_projectAcpV1ReplayNotificationsToV2(i):i.flatMap(e=>projectAcpV1SessionNotificationToV2Updates(e))).map(t=>({type:"acp_update",notification:t,origin:e.origin,_meta:e._meta}))}model(e){let t=JSON.stringify([e.origin?.requestId,e.origin?.subagent?.sessionId,e.data.providerData?.messageId]),a=this.lanes.get(t);a||(a={runId:e.origin?.requestId,childId:e.origin?.subagent?.sessionId,ids:new Map,parsers:new Map},this.lanes.set(t,a));let r=[];for(let t of acp_utils_AcpUtils.convertOpenAIEventToAcp(e.data)){if(!acp_utils_AcpUtils.isInternalStreamingUpdate(t)){r.push(t);continue}let e=t.toolCallId||(void 0===t.toolCallIndex?void 0:a.ids.get(t.toolCallIndex));if(e){if(void 0!==t.toolCallIndex&&a.ids.set(t.toolCallIndex,e),"tool_call_pending"===t.sessionUpdate){if(!t.toolCallId&&!t.toolName)continue;a.parsers.has(e)||a.parsers.set(e,new JsonStreamParser);let i={...t._meta,"codebuddy.ai/toolName":t.toolName};r.push(t.toolCallId?{sessionUpdate:"tool_call",toolCallId:e,title:t.toolName??"",kind:"other",status:"pending",_meta:i}:{sessionUpdate:"tool_call_update",toolCallId:e,title:t.toolName,_meta:i})}else if("tool_call_arguments_delta"===t.sessionUpdate){let i=a.parsers.get(e);i||(i=new JsonStreamParser,a.parsers.set(e,i));let o=t.argumentsDelta??"";if(!o)continue;let n=i.appendDelta(o).parameters;r.push({sessionUpdate:"tool_call_update",toolCallId:e,rawInput:n,content:[{type:"content",content:{type:"text",text:o,...t.sensitiveProtection?{_meta:{sensitiveProtection:t.sensitiveProtection}}:{}}}],_meta:t._meta})}else if("tool_call_arguments_done"===t.sessionUpdate){if(t.argumentsFinal){let a=new JsonStreamParser().appendDelta(t.argumentsFinal).parameters;r.push({sessionUpdate:"tool_call_update",toolCallId:e,rawInput:a,_meta:t._meta})}a.parsers.delete(e)}}}return"response_done"===e.data.type&&this.lanes.delete(t),r.map(t=>({sessionId:e.session_id,update:t}))}}},45904(e,t,a){a.d(t,{B9:()=>EmbeddedResourceCodec,hu:()=>n,zy:()=>projectPromptFilesForModel});var r=a(77598),i=a(70724),o=a(95760);let n=2097152,s=new Set(["image/gif","image/jpeg","image/png","image/webp"]);let EmbeddedResourceCodec=class EmbeddedResourceCodec{static normalizeEmbeddedBlobMimeType(e){if("string"!=typeof e)return"application/octet-stream";let t=e.trim().toLowerCase();return/^[a-z0-9!#$&^_.+-]+\/[a-z0-9!#$&^_.+-]+$/.test(t)?t:"application/octet-stream"}static embeddedBlobModelKind(e){let t=this.normalizeEmbeddedBlobMimeType(e);return s.has(t)?"image":"application/pdf"===t?"file":"opaque"}static validatedEmbeddedBlobLength(e){if(0===e.length)return 0;if(e.length%4!=0)throw Error("ACP embedded resource contains invalid base64");let t=e.endsWith("==")?2:+!!e.endsWith("="),a=e.length-t,r=e.length/4*3-t;if(r>n)throw Error(`ACP embedded resource exceeds ${n} bytes`);for(let t=0;t<a;t+=1){let a=e.charCodeAt(t);if(!(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||43===a||47===a))throw Error("ACP embedded resource contains invalid base64")}return r}static decodeEmbeddedBlob(e){let t=this.validatedEmbeddedBlobLength(e),a=Buffer.from(e,"base64");if(a.byteLength!==t)throw Error("ACP embedded resource contains invalid base64");return a}static describeOpaqueEmbeddedBlob(e,t){let a={mimeType:this.normalizeEmbeddedBlobMimeType(e.mimeType),sha256:r.createHash("sha256").update(t).digest("hex"),size:t.byteLength,uri:e.uri};return`Embedded binary resource ${JSON.stringify(a)}. The payload is binary and is not interpreted as text by the model.`}static formatUriAsLink(e,t){try{return(0,i.encodePersistedResourceLinkToInputText)({uri:e,name:t}).text}catch{return t||e}}static toModelContent(e){let t=[],a=[];if("text"in e){let r=this.formatUriAsLink(e.uri);t.push({type:"text",text:r}),a.push({type:"text",text:`
|
|
6
|
+
</context>`})}else{let a=(0,i.encodePersistedResourceLinkToInputText)({uri:o.uri,name:o.name,mimeType:o.mimeType??void 0,meta:e,..."string"==typeof e.relativePath?{relativePath:e.relativePath}:{}});t.push({type:"text",...a})}break}case"resource":{if("blob"in o.resource&&(r+=this.validatedEmbeddedBlobLength(o.resource.blob))>I.hu)throw Error(`ACP embedded resources exceed ${I.hu} bytes`);let e=this.toModelContent(o.resource);t.push(...e.content),a.push(...e.context);break}case"image":if(o.data){let e,a=o._meta?.filename??o._meta?.originalFilename,r={type:"image",source:{type:"base64",data:o.data,media_type:o.mimeType},original_filename:"string"==typeof a?a:void 0};t.push(r);let i="string"==typeof o._meta?.path?o._meta.path:void 0;(e=i&&d.isAbsolute(i)&&l.existsSync(i)?i:"string"==typeof o.uri&&d.isAbsolute(o.uri)&&l.existsSync(o.uri)?o.uri:acp_utils_AcpUtils.persistClipboardImage(o.data,o.mimeType))&&t.push({type:"text",text:`<image_local_path>${e}</image_local_path>`})}else o.uri&&o.uri.startsWith("http")&&t.push({type:"image",source:{type:"url",url:o.uri}})}return t.push(...a),{type:"user",message:{role:"user",content:t},session_id:e.sessionId,parent_tool_use_id:null,...e._meta?{_meta:e._meta}:{}}}static validateEmbeddedResources(e){let t=0;for(let a of e.prompt)if("resource"===a.type&&"blob"in a.resource&&(t+=this.validatedEmbeddedBlobLength(a.resource.blob))>I.hu)throw Error(`ACP embedded resources exceed ${I.hu} bytes`)}static isImageLocalPathText(e){return/^<image_local_path>[\s\S]*<\/image_local_path>$/.test(e.trim())}static stripImageLocalPathMarkup(e){return e.replace(/<image_local_path>\s*[\s\S]*?\s*<\/image_local_path>/gi,"").replace(/[ \t]+\n/g,"\n").replace(/\n{3,}/g,"\n\n").replace(/^\n+/,"").replace(/\n+$/,"")}static convertPersistedUserImageBlockToAcpContentBlock(e){let makeImageBlock=(e,t,a)=>({type:"image",mimeType:e,data:t,...a?{uri:a,_meta:{filename:a}}:{}});if("image_blob_ref"===e.type||"input_image"!==e.type||!e.image||"object"==typeof e.image&&"image_blob_ref"===e.image.type)return;let t=e.original_filename;if("string"==typeof e.image){let a=this.parseDataUri(e.image);return a?makeImageBlock(a.mimeType,a.data,t):/^https?:\/\//.test(e.image)?{type:"image",data:"",mimeType:"image/png",uri:e.image}:void 0}if("object"==typeof e.image&&"string"==typeof e.image.data)return makeImageBlock(e.image.mediaType||"image/png",e.image.data,t)}static parseDataUri(e){let t=e.match(/^data:([^;]+);base64,(.+)$/);if(t)return{mimeType:t[1],data:t[2]}}static extractBlobIdFromPath(e){try{let t=e.lastIndexOf("/");if(-1===t)return;let a=e.substring(t+1),r=a.lastIndexOf(".");return(r>0?a.substring(0,r):a)||void 0}catch{return}}};var S=a(76760);a(31028);var R=a(77598);let O="acpmsg:v1:";function deriveCanonicalAcpMessageId(e,t){let a=t.trim();if(!a)throw Error("Canonical ACP message identity requires a durable source");let r=`${O}${e}:`;if(a.startsWith(r))return a;if(a.startsWith(O))throw Error("Canonical ACP message identity cannot change message kind");let i=(0,R.createHash)("sha256").update("codebuddy/acp-message-id/v1").update("\0").update(e).update("\0").update(a).digest("base64url");return`${r}${i}`}function canonicalizeStandardMessageId(e,t){let a="string"==typeof e.messageId&&e.messageId.length>0?e.messageId:t;a&&("user_message_chunk"===e.sessionUpdate?e.messageId=a:"agent_message_chunk"===e.sessionUpdate?e.messageId=deriveCanonicalAcpMessageId("agent",a):"agent_thought_chunk"===e.sessionUpdate&&(e.messageId=deriveCanonicalAcpMessageId("thought",a)))}function stripLegacyPromptCorrelationMeta(e){delete e.timestamp,delete e["codebuddy.ai/promptRequestId"],delete e["codebuddy.ai/messageRequestId"];let t=e["codebuddy.ai"];if(t&&"object"==typeof t&&!Array.isArray(t)){let a={...t};delete a.timestamp,delete a.requestId,delete a.rootRequestId,delete a.promptRequestId,delete a.messageRequestId,Object.keys(a).length>0?e["codebuddy.ai"]=a:delete e["codebuddy.ai"]}return e}a(15247);let D="codebuddy.ai/subagent";function createAcpSubagentStatusUpdate(e){return{sessionUpdate:"session_info_update",_meta:{[D]:e}}}let V=new Set(["_meta","command","cwd","exitStatus","output","sessionUpdate","terminalId"]),N=new Set(["_meta","data"]),B=new Set(["_meta","data","sessionUpdate","terminalId"]),$=new Set(["_meta","exitCode","signal"]),L=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;function acp_terminal_types_isRecord(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)}function cloneJsonValue(e,t){if(null===e||"string"==typeof e||"boolean"==typeof e)return e;if("number"==typeof e){if(!Number.isFinite(e))throw TypeError("non-finite number");return e}if("object"!=typeof e)throw TypeError("non-JSON value");if(t.has(e))throw TypeError("cyclic value");t.add(e);try{if(Array.isArray(e))return e.map(e=>cloneJsonValue(e,t));let a=Object.getPrototypeOf(e);if(a!==Object.prototype&&null!==a)throw TypeError("non-plain object");return Object.fromEntries(Object.entries(e).map(([e,a])=>[e,cloneJsonValue(a,t)]))}finally{t.delete(e)}}function assertOnlyFields(e,t,a){if(Object.keys(e).find(e=>!t.has(e)))throw TypeError(`${a} contains an unsupported field`)}function projectMeta(e,t){if(null==e)return e;if(!acp_terminal_types_isRecord(e))throw TypeError(`${t} must be an object or null`);try{return cloneJsonValue(e,new Set)}catch{throw TypeError(`${t} must contain only finite JSON values without cycles`)}}function projectTerminalOutput(e){if(null===e)return null;if(!acp_terminal_types_isRecord(e))throw TypeError("ACP terminal output must be an object or null");if(assertOnlyFields(e,N,"ACP terminal output"),"string"!=typeof e.data||!L.test(e.data))throw TypeError("ACP terminal output data must be RFC 4648 base64");let t=projectMeta(e._meta,"ACP terminal output _meta");return{data:e.data,...void 0!==t?{_meta:t}:{}}}function projectTerminalExitStatus(e){if(null===e)return null;if(!acp_terminal_types_isRecord(e))throw TypeError("ACP terminal exitStatus must be an object or null");if(assertOnlyFields(e,$,"ACP terminal exitStatus"),void 0!==e.exitCode&&null!==e.exitCode&&("number"!=typeof e.exitCode||!Number.isSafeInteger(e.exitCode)||e.exitCode<0||e.exitCode>0xffffffff))throw TypeError("ACP terminal exitStatus.exitCode must be a uint32 or null");if(void 0!==e.signal&&null!==e.signal&&"string"!=typeof e.signal)throw TypeError("ACP terminal exitStatus.signal must be a string or null");let t=projectMeta(e._meta,"ACP terminal exitStatus._meta");return{...void 0!==e.exitCode?{exitCode:e.exitCode}:{},...void 0!==e.signal?{signal:e.signal}:{},...void 0!==t?{_meta:t}:{}}}function readAcpTerminalSessionUpdateKind(e){if(acp_terminal_types_isRecord(e))return"terminal_update"===e.sessionUpdate||"terminal_output_chunk"===e.sessionUpdate?e.sessionUpdate:void 0}function projectAcpTerminalUpdate(e){if(!acp_terminal_types_isRecord(e)||"terminal_update"!==e.sessionUpdate)throw TypeError("ACP terminal update must be a terminal_update object");if(assertOnlyFields(e,V,"ACP terminal update"),"string"!=typeof e.terminalId||0===e.terminalId.length)throw TypeError("ACP terminal update terminalId must be a non-empty string");if(void 0!==e.command&&null!==e.command&&"string"!=typeof e.command)throw TypeError("ACP terminal update command must be a string or null");if(void 0!==e.cwd&&null!==e.cwd&&("string"!=typeof e.cwd||!d.posix.isAbsolute(e.cwd)&&!d.win32.isAbsolute(e.cwd)))throw TypeError("ACP terminal update cwd must be an absolute path or null");let t=void 0!==e.output?projectTerminalOutput(e.output):void 0,a=void 0!==e.exitStatus?projectTerminalExitStatus(e.exitStatus):void 0,r=projectMeta(e._meta,"ACP terminal update _meta");return{sessionUpdate:"terminal_update",terminalId:e.terminalId,...void 0!==e.command?{command:e.command}:{},...void 0!==e.cwd?{cwd:e.cwd}:{},...void 0!==t?{output:t}:{},...void 0!==a?{exitStatus:a}:{},...void 0!==r?{_meta:r}:{}}}function projectAcpTerminalOutputChunk(e){if(!acp_terminal_types_isRecord(e)||"terminal_output_chunk"!==e.sessionUpdate)throw TypeError("ACP terminal output chunk must be a terminal_output_chunk object");if(assertOnlyFields(e,B,"ACP terminal output chunk"),"string"!=typeof e.terminalId||0===e.terminalId.length)throw TypeError("ACP terminal output chunk terminalId must be a non-empty string");if("string"!=typeof e.data||!L.test(e.data))throw TypeError("ACP terminal output chunk data must be RFC 4648 base64");let t=projectMeta(e._meta,"ACP terminal output chunk _meta");return{sessionUpdate:"terminal_output_chunk",terminalId:e.terminalId,data:e.data,...void 0!==t?{_meta:t}:{}}}function buildTerminalUpdate(e){let t={sessionUpdate:"terminal_update",terminalId:e.terminalId};return void 0!==e.command&&(t.command=e.command),void 0!==e.cwd&&(t.cwd=e.cwd),void 0!==e.output&&(t.output=e.output),void 0!==e.exitStatus&&(t.exitStatus=e.exitStatus),void 0!==e._meta&&(t._meta=e._meta),projectAcpTerminalUpdate(t)}function buildTerminalOutputChunk(e){return projectAcpTerminalOutputChunk({sessionUpdate:"terminal_output_chunk",terminalId:e.terminalId,data:e.data,...void 0!==e._meta?{_meta:e._meta}:{}})}let AcpV2ProjectionError=class AcpV2ProjectionError extends Error{constructor(e,t){super(t),this.code=e,this.name="AcpV2ProjectionError"}};function cloneMeta(e){return e&&{...e}}function acp_v2_projector_isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function projectMessageMeta(e){let t=projectNativeV2Meta(e);if(!t)return t;let a={...t};delete a["codebuddy.ai/messageId"];let r=a["codebuddy.ai"];if(acp_v2_projector_isRecord(r)){let e={...r};delete e.messageId,Object.keys(e).length>0?a["codebuddy.ai"]=e:delete a["codebuddy.ai"]}return Object.keys(a).length>0?a:void 0}function projectNativeV2Meta(e){if(!e)return e;let t={...e};delete t["codebuddy.ai/historyReplay"],delete t["codebuddy.ai/historyReplayTotalItems"],stripLegacyPromptCorrelationMeta(t);let a=t["codebuddy.ai"];if(acp_v2_projector_isRecord(a)){let e={...a};delete e.historyReplay,delete e.historyReplayTotalItems,"history"===e.mode&&(delete e.mode,delete e.offset),Object.keys(e).length>0?t["codebuddy.ai"]=e:delete t["codebuddy.ai"]}return Object.keys(t).length>0?t:void 0}function projectPlanMeta(e){let t=projectNativeV2Meta(e);if(!t)return t;let a={...t};return delete a[D],Object.keys(a).length>0?a:void 0}function getLegacyReplayMarker(e){if(!e)return;let t=e["codebuddy.ai/historyReplay"];if(void 0!==t)return t;let a=e["codebuddy.ai"];return acp_v2_projector_isRecord(a)?a.historyReplay:void 0}function projectAnnotations(e){return e?{audience:e.audience?[...e.audience]:e.audience,lastModified:e.lastModified,priority:e.priority,_meta:cloneMeta(e._meta)}:e}function projectContentBlock(e){switch(e.type){case"text":return{type:"text",text:e.text,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"image":return{type:"image",data:e.data,mimeType:e.mimeType,uri:e.uri,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"audio":return{type:"audio",data:e.data,mimeType:e.mimeType,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"resource_link":return{type:"resource_link",name:e.name,uri:e.uri,title:e.title,description:e.description,mimeType:e.mimeType,size:e.size,annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)};case"resource":return{type:"resource",resource:"text"in e.resource?{text:e.resource.text,uri:e.resource.uri,mimeType:e.resource.mimeType,_meta:cloneMeta(e.resource._meta)}:{blob:e.resource.blob,uri:e.resource.uri,mimeType:e.resource.mimeType,_meta:cloneMeta(e.resource._meta)},annotations:projectAnnotations(e.annotations),_meta:cloneMeta(e._meta)}}}function projectToolCallStatus(e){let t=acp_v2_projector_isRecord(e._meta)?e._meta:void 0;return"tool_call"===e.sessionUpdate&&t?.["codebuddy.ai/toolArgumentsComplete"]===!0?"failed"===e.status?"failed":"pending":e.status}function projectToolCallContent(e){switch(e.type){case"content":return{type:"content",content:projectContentBlock(e.content),_meta:cloneMeta(e._meta)};case"terminal":return{type:"terminal",terminalId:e.terminalId,_meta:cloneMeta(e._meta)}}}function projectLegacyToolCallContent(e){if(null!=e&&!e.some(e=>"diff"===e.type))return e.map(e=>projectToolCallContent(e))}function projectLegacyToolCallLocations(e){if(null!=e&&!e.some(e=>e.path.includes("\0")||!S.posix.isAbsolute(e.path)&&!S.win32.isAbsolute(e.path)))return e.map(e=>({path:e.path,line:e.line,_meta:cloneMeta(e._meta)}))}function projectAcpV1ToolCallUpdateToV2(e){let t=readAcpV2FileChangeArtifact(e),a=readAcpV2FileChangeRawInput(e),r=acp_v2_projector_isRecord(e._meta)?e._meta:void 0,i=t?(0,f.Vy)(e.name??r?.["codebuddy.ai/toolName"],t):void 0,o=t?[{type:"diff",changes:t.changes.map(e=>({...e})),patch:t.patch?{...t.patch}:null}]:void 0;return{toolCallId:e.toolCallId,name:i?.name??e.name,title:i?.title??e.title,kind:i?.kind??e.kind,status:projectToolCallStatus(e),content:o??projectLegacyToolCallContent(e.content),locations:t?t.changes.map(e=>({path:e.path})):projectLegacyToolCallLocations(e.locations),rawInput:t?a??null:e.rawInput,rawOutput:e.rawOutput,_meta:cloneMeta(e._meta)}}function projectPlanEntry(e){return{content:e.content,priority:e.priority,status:e.status}}let F=new Set(["TaskCreate","TaskUpdate","TaskList"]);function projectTaskResultPlan(e,t){let{update:a}=e;if("tool_call_update"!==a.sessionUpdate||"completed"!==a.status)return;let r=acp_v2_projector_isRecord(a._meta)?a._meta:void 0,i=a.name??r?.["codebuddy.ai/toolName"];if("string"!=typeof i||!F.has(i))return;let o=readAcpV2TaskPlanSnapshot(a);if(!o)return;let n=BigInt(o.revision),s=t?.get(e.sessionId);if(s){let e=s.revisionsBySource.get(o.sourceId);if(void 0!==e&&(s.sourceId!==o.sourceId||n<e||n===e&&s.isTaskPlanCurrent))return}let l=[];for(let e of o.entries){if(!acp_v2_projector_isRecord(e))return;let{content:t,priority:a,status:r}=e;if("string"!=typeof t||0===t.length||"medium"!==a||"pending"!==r&&"in_progress"!==r&&"completed"!==r)return;l.push({content:t,priority:a,status:r})}let c=projectAcpV2UpdateNotification(e.sessionId,{sessionUpdate:"plan_update",plan:{type:"items",planId:"main",entries:l}});if(t){let a=new Map(s?.revisionsBySource);a.set(o.sourceId,n),t.set(e.sessionId,{sourceId:o.sourceId,revision:n,isTaskPlanCurrent:!0,revisionsBySource:a})}return c}function replacesMainPlan(e){if("plan_update"===e.sessionUpdate){let t=e.plan;return acp_v2_projector_isRecord(t)&&"main"===t.planId}return"plan_removed"===e.sessionUpdate&&"main"===e.planId}function markAcpV2TaskPlanNotCurrent(e,t){for(let a of void 0===t?[...e.keys()]:[t]){let t=e.get(a);t?.isTaskPlanCurrent&&e.set(a,{...t,isTaskPlanCurrent:!1})}}function projectAcpV1MessageChunkToV2(e){if(!e.messageId)throw new AcpV2ProjectionError("missing_message_id",`ACP v2 ${e.sessionUpdate} requires a non-empty messageId`);let t={messageId:e.messageId,content:projectContentBlock(e.content),_meta:projectMessageMeta(e._meta)};switch(e.sessionUpdate){case"user_message_chunk":return{sessionUpdate:"user_message_chunk",...t};case"agent_message_chunk":return{sessionUpdate:"agent_message_chunk",...t};case"agent_thought_chunk":return{sessionUpdate:"agent_thought_chunk",...t}}}function projectAcpV1MessageRunToV2(e){let t=e[0];if(!t)throw new AcpV2ProjectionError("invalid_replay_message_run","ACP v2 replay message requires at least one chunk");let a=projectAcpV1MessageChunkToV2(t),r=[a.content],i=a._meta;for(let a of e.slice(1)){if(a.sessionUpdate!==t.sessionUpdate||a.messageId!==t.messageId)throw new AcpV2ProjectionError("invalid_replay_message_run","ACP v2 replay message chunks must be contiguous and share their type and messageId");let e=projectAcpV1MessageChunkToV2(a);r.push(e.content),void 0===i&&void 0!==e._meta&&(i=e._meta)}let o={messageId:a.messageId,content:r,_meta:i};switch(t.sessionUpdate){case"user_message_chunk":return{sessionUpdate:"user_message",...o};case"agent_message_chunk":return{sessionUpdate:"agent_message",...o};case"agent_thought_chunk":return{sessionUpdate:"agent_thought",...o}}}function projectAcpV1SessionNotificationToV2(e){let t,{update:a}=e;if(isAcpCompactionUpdate(a))return projectAcpV2UpdateNotification(e.sessionId,{...a,_meta:cloneMeta(a._meta)},e._meta);let r=readAcpTerminalSessionUpdateKind(a);if("terminal_output_chunk"===r){let t;try{t=projectAcpTerminalOutputChunk(a)}catch(e){throw new AcpV2ProjectionError("invalid_terminal_output_chunk",e instanceof Error?e.message:"Invalid ACP terminal output chunk")}return projectAcpV2TerminalNotification(e.sessionId,t,e._meta)}if("terminal_update"===r){let t;try{t=projectAcpTerminalUpdate(a)}catch(e){throw new AcpV2ProjectionError("invalid_terminal_update",e instanceof Error?e.message:"Invalid ACP terminal update")}return projectAcpV2TerminalNotification(e.sessionId,t,e._meta)}if("session_info_update"!==a.sessionUpdate||null!=a.title||null!=a.updatedAt||"start"!==getLegacyReplayMarker(a._meta)&&"end"!==getLegacyReplayMarker(a._meta)){switch(a.sessionUpdate){case"user_message_chunk":t=projectAcpV1MessageRunToV2([a]);break;case"agent_message_chunk":case"agent_thought_chunk":t=projectAcpV1MessageChunkToV2(a);break;case"tool_call":case"tool_call_update":t={sessionUpdate:"tool_call_update",...projectAcpV1ToolCallUpdateToV2(a)};break;case"plan":t={sessionUpdate:"plan_update",plan:{type:"items",planId:"main",entries:a.entries.map(projectPlanEntry)},_meta:cloneMeta(a._meta)};break;case"plan_update":{let{plan:e}=a;t={sessionUpdate:"plan_update",plan:"items"===e.type?{type:"items",planId:e.planId,entries:e.entries.map(projectPlanEntry),_meta:projectPlanMeta(e._meta)}:"file"===e.type?{type:"file",planId:e.planId,uri:e.uri,_meta:projectPlanMeta(e._meta)}:{type:"markdown",planId:e.planId,content:e.content,_meta:projectPlanMeta(e._meta)},_meta:cloneMeta(a._meta)};break}case"plan_removed":t={sessionUpdate:"plan_removed",planId:a.planId,_meta:cloneMeta(a._meta)};break;case"available_commands_update":t={sessionUpdate:"available_commands_update",availableCommands:a.availableCommands.map(e=>({name:e.name,description:e.description,...e.input?{input:{type:"text",hint:e.input.hint,_meta:cloneMeta(e.input._meta)}}:{},_meta:cloneMeta(e._meta)})),_meta:cloneMeta(a._meta)};break;case"config_option_update":t=projectAcpV1ConfigOptionsUpdateToV2(a.configOptions,a._meta);break;case"session_info_update":t={sessionUpdate:"session_info_update",title:a.title,updatedAt:a.updatedAt,_meta:cloneMeta(a._meta)};break;case"usage_update":t={sessionUpdate:"usage_update",used:a.used,size:a.size,cost:a.cost?{amount:a.cost.amount,currency:a.cost.currency,_meta:cloneMeta(a.cost._meta)}:a.cost,_meta:cloneMeta(a._meta)};break;case"compaction_update":t={sessionUpdate:"compaction_update",compactionId:a.compactionId,status:a.status,summary:a.summary?.map(projectContentBlock)??a.summary,error:a.error,_meta:cloneMeta(a._meta)};break;case"compaction_summary_chunk":t={sessionUpdate:"compaction_summary_chunk",compactionId:a.compactionId,content:projectContentBlock(a.content),_meta:cloneMeta(a._meta)};break;case"current_mode_update":return}return projectAcpV2UpdateNotification(e.sessionId,t,e._meta)}}function projectAcpV1SessionNotificationToV2Updates(e,t){let a=projectAcpV1SessionNotificationToV2(e);if(!a)return[];t&&replacesMainPlan(a.update)&&markAcpV2TaskPlanNotCurrent(t,e.sessionId);let r=projectTaskResultPlan(e,t);return r?[a,r]:[a]}function acp_v2_projector_projectAcpV1ReplayNotificationsToV2(e,t=new Map){let a,r=[],i=new Map,o=new Map,flushPendingMessage=()=>{if(!a)return;let e=a;a=void 0;let t=i.get(e.key);if(!t)throw new AcpV2ProjectionError("invalid_replay_message_run","ACP v2 replay message accumulator lost its identity state");r.push(projectAcpV2UpdateNotification(e.sessionId,projectAcpV1MessageRunToV2(t),e.notificationMeta))};for(let n of e){let{update:e}=n;if("user_message_chunk"===e.sessionUpdate||"agent_message_chunk"===e.sessionUpdate||"agent_thought_chunk"===e.sessionUpdate){let{messageId:t}=projectAcpV1MessageChunkToV2(e),r=JSON.stringify([n.sessionId,t]),s=o.get(r);if(s&&s!==e.sessionUpdate)throw new AcpV2ProjectionError("invalid_replay_message_run",`ACP v2 replay messageId ${JSON.stringify(t)} crosses ${s} and ${e.sessionUpdate}`);if(o.set(r,e.sessionUpdate),a?.key===r){i.get(r).push(e);continue}flushPendingMessage();let l=i.get(r)??[];l.push(e),i.set(r,l),a={key:r,notificationMeta:n._meta,sessionId:n.sessionId};continue}flushPendingMessage(),r.push(...projectAcpV1SessionNotificationToV2Updates(n,t))}return flushPendingMessage(),r}function projectAcpV2UpdateNotification(e,t,a){return{sessionId:e,update:{...t,_meta:projectNativeV2Meta(t._meta)},_meta:projectNativeV2Meta(a)}}function projectAcpV2TerminalNotification(e,t,a){let{_meta:r,...i}=t,o=void 0===r?void 0:null===r?null:projectNativeV2Meta(r)??{};return{sessionId:e,update:{...i,...void 0!==o?{_meta:o}:{}},_meta:projectNativeV2Meta(a)}}function isConfigGroup(e){return"group"in e}function projectConfigSelectOption(e){return{value:e.value,name:e.name,description:e.description,_meta:cloneMeta(e._meta)}}function projectConfigSelectOptions(e){let t=e.map(e=>isConfigGroup(e)?{groupId:e.group,name:e.name,options:e.options.map(projectConfigSelectOption),_meta:cloneMeta(e._meta)}:projectConfigSelectOption(e));if(t.every(e=>"groupId"in e)||t.every(e=>!("groupId"in e)))return t;throw TypeError("ACP session config options cannot mix grouped and ungrouped values")}function projectAcpV1ConfigOptionToV2(e){return"boolean"===e.type?{type:"boolean",configId:e.id,name:e.name,description:e.description,category:e.category,currentValue:e.currentValue,_meta:cloneMeta(e._meta)}:{type:"select",configId:e.id,name:e.name,description:e.description,category:e.category,currentValue:e.currentValue,options:projectConfigSelectOptions(e.options),_meta:cloneMeta(e._meta)}}function projectAcpV1ConfigOptionsToV2(e){return e.map(projectAcpV1ConfigOptionToV2)}function projectAcpV1ConfigOptionsUpdateToV2(e,t){return{sessionUpdate:"config_option_update",configOptions:projectAcpV1ConfigOptionsToV2(e),_meta:cloneMeta(t)}}var q=a(51455),J=a(7465);let W=new Set(["/init","/compact"]),z=new Set([J.xh,J.tZ,J.dQ,J.fw]);function isHostAvailableCommand(e){if(e.tags?.some(e=>z.has(e)))return!0;let t=e.name.startsWith("/")?e.name:`/${e.name}`;return W.has(t)}var H=a(33611),K=a(9890);function normalizeAvailableCommandName(e){return e.startsWith("/")?e.substring(1):e}function projectAcpAvailableCommands(e,t){let a=new Map;for(let t of e){let e=normalizeAvailableCommandName(t.name);a.set(e,{name:e,description:t.description||"",...t.argumentHint?{input:{hint:t.argumentHint}}:{}})}let r=[...a.values()];for(let e of t){let t=normalizeAvailableCommandName(e.name);if(a.has(t))continue;let i={name:t,description:e.description||"",_meta:{type:"skill",source:e.source,isBuiltIn:(0,H.F8)(e)}};a.set(t,i),r.push(i)}return r}function acp_timestamp_meta_isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function coerceTimestamp(e){if("number"==typeof e&&Number.isFinite(e))return e;if("string"==typeof e&&e.trim()){let t=Number(e);if(Number.isFinite(t))return t;let a=Date.parse(e);return Number.isFinite(a)?a:void 0}}function resolveAcpTimestamp(e,t=Date.now()){return coerceTimestamp(e)??t}function readPersistedAcpItemTimestamp(e){return acp_timestamp_meta_isRecord(e)?coerceTimestamp(e.timestamp):void 0}function withAcpTimestampRecord(e,t,a=!1){let r={...acp_timestamp_meta_isRecord(e)?e:{}},i=t??Date.now(),o=a?resolveAcpTimestamp(r.timestamp,i):void 0!==t?resolveAcpTimestamp(t):resolveAcpTimestamp(r["codebuddy.ai/timestamp"],i);if(delete r.timestamp,delete r["codebuddy.ai/timestamp"],acp_timestamp_meta_isRecord(r["codebuddy.ai"])){let e={...r["codebuddy.ai"]};delete e.timestamp,Object.keys(e).length>0?r["codebuddy.ai"]=e:delete r["codebuddy.ai"]}return{...r,[a?"timestamp":"codebuddy.ai/timestamp"]:new Date(o).toISOString()}}function withAcpTimestampMeta(e,t,a=!1){return{...e,_meta:withAcpTimestampRecord(acp_timestamp_meta_isRecord(e._meta)?e._meta:void 0,t,a)}}let G=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Y=/^[\x21\x23-\x2b\x2d-\x3a\x3c-\x5b\x5d-\x7e]*$/;function isValidTracestateKey(e){if(/^[a-z][a-z0-9_\-*/]{0,255}$/.test(e))return!0;let t=e.indexOf("@");if(t<=0||t!==e.lastIndexOf("@"))return!1;let a=e.slice(0,t),r=e.slice(t+1);return/^[a-z0-9][a-z0-9_\-*/]{0,240}$/.test(a)&&/^[a-z][a-z0-9_\-*/]{0,13}$/.test(r)}function isValidW3CTracestate(e){if("string"!=typeof e||0===e.length||e.length>512)return!1;let t=e.split(",");if(0===t.length||t.length>32)return!1;let a=new Set;return t.every(e=>{let t=e.trim(),r=t.indexOf("=");if(r<=0||r!==t.lastIndexOf("="))return!1;let i=t.slice(0,r),o=t.slice(r+1);return!(!isValidTracestateKey(i)||a.has(i)||0===o.length||o.length>256||o.endsWith(" "))&&!!/^[\x20-\x2b\x2d-\x3c\x3e-\x7e]+$/.test(o)&&(a.add(i),!0)})}function isValidW3CBaggage(e){if("string"!=typeof e||0===e.length||e.length>8192)return!1;let t=e.split(",");return 0!==t.length&&!(t.length>180)&&t.every(e=>{let t=e.trim().split(";"),a=t.shift();if(!a)return!1;let r=a.indexOf("=");if(r<=0)return!1;let i=a.slice(0,r).trim(),o=a.slice(r+1).trim();return!!G.test(i)&&!!Y.test(o)&&t.every(e=>{let t=e.trim();if(!t)return!1;let a=t.indexOf("="),r=a<0?t:t.slice(0,a).trim(),i=a<0?"":t.slice(a+1).trim();return G.test(r)&&Y.test(i)})})}let Z="codebuddy.ai",X=["traceparent","tracestate","baggage","traceId","parentSpanId"];function acp_trace_context_isRecord(e){return!!e&&"object"==typeof e&&!Array.isArray(e)}function acp_trace_context_nonEmptyString(e){return"string"==typeof e&&e.length>0?e:void 0}function firstString(...e){for(let t of e){let e=acp_trace_context_nonEmptyString(t);if(void 0!==e)return e}}function withCanonicalAcpTraceContext(e,t){let a={...e||{}};for(let e of(delete a.traceparent,delete a.tracestate,delete a.baggage,X))delete a[`codebuddy.ai/${e}`];if(acp_trace_context_isRecord(a[Z])){let e={...a[Z]};for(let t of X)delete e[t];Object.keys(e).length>0?a[Z]=e:delete a[Z]}let r=t&&(0,o.parseW3CTraceparent)(t.traceparent)?t:void 0;return r&&(a.traceparent=r.traceparent,isValidW3CTracestate(r.tracestate)&&(a.tracestate=r.tracestate),isValidW3CBaggage(r.baggage)&&(a.baggage=r.baggage)),a}function withAcpReplayTraceMeta(e){let t=acp_trace_context_isRecord(e?.[Z])?e[Z]:void 0,a=firstString(e?.["codebuddy.ai/traceId"],t?.traceId),r=withCanonicalAcpTraceContext(e,void 0);return void 0!==a&&(r["codebuddy.ai/traceId"]=a),r}async function itemNotifications(e,t,a,r=q.readFile){let i=await acp_utils_AcpUtils.rehydrateItemForReplay(t,async e=>{let t=await r(K.P.getBlobPath(e.blob_id,e.mime));if(t.byteLength===e.size&&(0,R.createHash)("sha256").update(t).digest("hex")===e.blob_id)return`data:${e.mime};base64,${Buffer.from(t).toString("base64")}`});return acp_utils_AcpUtils.convertHistoryItemToAcp(i,{compatibilityExtensions:!1}).map(r=>{r.messageId||canonicalizeStandardMessageId(r,t.id),acp_utils_AcpUtils.stripLegacyMessageIdFromStandardChunk(r);let i=a?withAcpReplayTraceMeta(r._meta??void 0):{...r._meta},o=t.providerData?.conversationRequestId,n=t.providerData?.rootRequestId;"string"==typeof o&&(i["codebuddy.ai/requestId"]=o),"string"==typeof n&&(i["codebuddy.ai/rootRequestId"]=n),Object.keys(i).length?r._meta=i:delete r._meta;let s=readPersistedAcpItemTimestamp(t);return{sessionId:e,update:void 0===s?r:withAcpTimestampMeta(r,s)}})}let projectNativeEvent=async e=>{let t,{event:a,session_id:r}=e;if("input"===a.type)return itemNotifications(r,a.data,!1);if("terminal"===a.type){let e=a.data;return[{sessionId:r,update:withAcpTimestampMeta("output"===e.kind?buildTerminalOutputChunk({terminalId:e.terminalId,data:Buffer.from(e.bytes).toString("base64")}):buildTerminalUpdate({terminalId:e.terminalId,..."created"===e.kind?{command:e.command,cwd:e.cwd}:{exitStatus:{...void 0!==e.exitCode?{exitCode:e.exitCode}:{},...void 0!==e.signal?{signal:e.signal}:{}},...e.end?{_meta:{"codebuddy.ai":{end:e.end}}}:{}}}),e.timestamp)}]}switch(a.type){case"compaction":t=withAcpTimestampMeta(createAcpCompactionUpdate(a.data.compactionId,a.data.status,{trigger:a.data.trigger,..."failed"===a.data.status&&a.data.error?{error:a.data.error}:{}}),a.data.timestamp);break;case"subagent_status":t=withAcpTimestampMeta(createAcpSubagentStatusUpdate(a.data),a.data.updatedAt);break;case"title":t={sessionUpdate:"session_info_update",title:a.data};break;case"phase":t={sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/agentPhase":a.data}};break;case"progress":t={sessionUpdate:"session_info_update",_meta:{"codebuddy.ai/progress":null===a.data?null:{type:a.data}}};break;case"catalog":t={sessionUpdate:"available_commands_update",availableCommands:projectAcpAvailableCommands(a.data.commands.filter(isHostAvailableCommand),a.data.skills.filter(e=>(0,H.Ky)(e,a.data.skillOverrides).menuVisible))};break;default:return[]}return[{sessionId:r,update:t}]};let AcpSessionFormatter=class AcpSessionFormatter{constructor(e){this.version=e,this.lanes=new Map,this.compactions=new Set,this.streamedV1Messages=new Map}async format(e){if("run_started"===e.type)return[e];if("run_completed"===e.type){for(let[t,a]of this.lanes)a.runId!==e.runId||a.childId||this.lanes.delete(t);for(let[t,a]of this.streamedV1Messages)a.runId!==e.runId||a.childId||this.streamedV1Messages.delete(t);return[e]}if("agent_model"===e.type)return e.parentToolUseId&&!e.origin?.subagent?[]:this.wrap(e,this.model(e),!1);if("agent_event"!==e.type)return[];let t=e.event;if("compaction"===t.type&&"in_progress"===t.data.status&&this.compactions.add(t.data.compactionId),"subagent_status"===t.type&&"running"!==t.data.status){for(let[e,a]of this.lanes)a.childId===t.data.sessionId&&this.lanes.delete(e);for(let[e,a]of this.streamedV1Messages)a.childId===t.data.sessionId&&this.streamedV1Messages.delete(e)}let a=(await projectNativeEvent(e)).filter(({update:e})=>"input"!==t.type||"_codebuddy.ai/compaction"!==e.sessionUpdate||!e.compactionId||!this.compactions.has(e.compactionId)),r=this.wrap(e,a,"input"===t.type);return"acp-v2"===this.version&&"input"===t.type&&"message"===t.data.type&&"assistant"===t.data.role&&t.data.id&&0===t.data.content.length&&r.push({type:"acp_update",notification:{sessionId:e.session_id,update:{sessionUpdate:"agent_message",messageId:t.data.id,content:[]}},origin:e.origin,_meta:e._meta}),"compaction"===t.type&&"in_progress"!==t.data.status&&this.compactions.delete(t.data.compactionId),"input"===t.type?[...r,e]:[e,...r]}wrap(e,t,a){let r={...e._meta,...e.origin?.requestId?{"codebuddy.ai/requestId":e.origin.requestId}:{},...e.origin?.rootRequestId?{"codebuddy.ai/rootRequestId":e.origin.rootRequestId}:{},...e.origin?.subagent?{"codebuddy.ai/subagent":e.origin.subagent}:{}},i=t.map(e=>({...e,update:{...e.update,_meta:{...r,...e.update._meta}}}));return("acp-v1"===this.version?i.filter(t=>{let r=t.update;if("agent_message_chunk"!==r.sessionUpdate&&"agent_thought_chunk"!==r.sessionUpdate)return!0;let i=r.messageId??r._meta?.["codebuddy.ai/messageId"];if("string"!=typeof i)return!0;let o=JSON.stringify([t.sessionId,e.origin?.subagent?.sessionId,i,r.sessionUpdate]);return a?!this.streamedV1Messages.has(o):(this.streamedV1Messages.set(o,{runId:e.origin?.requestId,childId:e.origin?.subagent?.sessionId}),!0)}):a?acp_v2_projector_projectAcpV1ReplayNotificationsToV2(i):i.flatMap(e=>projectAcpV1SessionNotificationToV2Updates(e))).map(t=>({type:"acp_update",notification:t,origin:e.origin,_meta:e._meta}))}model(e){let t=JSON.stringify([e.origin?.requestId,e.origin?.subagent?.sessionId,e.data.providerData?.messageId]),a=this.lanes.get(t);a||(a={runId:e.origin?.requestId,childId:e.origin?.subagent?.sessionId,ids:new Map,parsers:new Map},this.lanes.set(t,a));let r=[];for(let t of acp_utils_AcpUtils.convertOpenAIEventToAcp(e.data)){if(!acp_utils_AcpUtils.isInternalStreamingUpdate(t)){r.push(t);continue}let e=t.toolCallId||(void 0===t.toolCallIndex?void 0:a.ids.get(t.toolCallIndex));if(e){if(void 0!==t.toolCallIndex&&a.ids.set(t.toolCallIndex,e),"tool_call_pending"===t.sessionUpdate){if(!t.toolCallId&&!t.toolName)continue;a.parsers.has(e)||a.parsers.set(e,new JsonStreamParser);let i={...t._meta,"codebuddy.ai/toolName":t.toolName};r.push(t.toolCallId?{sessionUpdate:"tool_call",toolCallId:e,title:t.toolName??"",kind:"other",status:"pending",_meta:i}:{sessionUpdate:"tool_call_update",toolCallId:e,title:t.toolName,_meta:i})}else if("tool_call_arguments_delta"===t.sessionUpdate){let i=a.parsers.get(e);i||(i=new JsonStreamParser,a.parsers.set(e,i));let o=t.argumentsDelta??"";if(!o)continue;let n=i.appendDelta(o).parameters;r.push({sessionUpdate:"tool_call_update",toolCallId:e,rawInput:n,content:[{type:"content",content:{type:"text",text:o,...t.sensitiveProtection?{_meta:{sensitiveProtection:t.sensitiveProtection}}:{}}}],_meta:t._meta})}else if("tool_call_arguments_done"===t.sessionUpdate){if(t.argumentsFinal){let a=new JsonStreamParser().appendDelta(t.argumentsFinal).parameters;r.push({sessionUpdate:"tool_call_update",toolCallId:e,rawInput:a,_meta:t._meta})}a.parsers.delete(e)}}}return"response_done"===e.data.type&&this.lanes.delete(t),r.map(t=>({sessionId:e.session_id,update:t}))}}},45904(e,t,a){a.d(t,{B9:()=>EmbeddedResourceCodec,hu:()=>n,zy:()=>projectPromptFilesForModel});var r=a(77598),i=a(70724),o=a(95760);let n=2097152,s=new Set(["image/gif","image/jpeg","image/png","image/webp"]);let EmbeddedResourceCodec=class EmbeddedResourceCodec{static normalizeEmbeddedBlobMimeType(e){if("string"!=typeof e)return"application/octet-stream";let t=e.trim().toLowerCase();return/^[a-z0-9!#$&^_.+-]+\/[a-z0-9!#$&^_.+-]+$/.test(t)?t:"application/octet-stream"}static embeddedBlobModelKind(e){let t=this.normalizeEmbeddedBlobMimeType(e);return s.has(t)?"image":"application/pdf"===t?"file":"opaque"}static validatedEmbeddedBlobLength(e){if(0===e.length)return 0;if(e.length%4!=0)throw Error("ACP embedded resource contains invalid base64");let t=e.endsWith("==")?2:+!!e.endsWith("="),a=e.length-t,r=e.length/4*3-t;if(r>n)throw Error(`ACP embedded resource exceeds ${n} bytes`);for(let t=0;t<a;t+=1){let a=e.charCodeAt(t);if(!(a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122||43===a||47===a))throw Error("ACP embedded resource contains invalid base64")}return r}static decodeEmbeddedBlob(e){let t=this.validatedEmbeddedBlobLength(e),a=Buffer.from(e,"base64");if(a.byteLength!==t)throw Error("ACP embedded resource contains invalid base64");return a}static describeOpaqueEmbeddedBlob(e,t){let a={mimeType:this.normalizeEmbeddedBlobMimeType(e.mimeType),sha256:r.createHash("sha256").update(t).digest("hex"),size:t.byteLength,uri:e.uri};return`Embedded binary resource ${JSON.stringify(a)}. The payload is binary and is not interpreted as text by the model.`}static formatUriAsLink(e,t){try{return(0,i.encodePersistedResourceLinkToInputText)({uri:e,name:t}).text}catch{return t||e}}static toModelContent(e){let t=[],a=[];if("text"in e){let r=this.formatUriAsLink(e.uri);t.push({type:"text",text:r}),a.push({type:"text",text:`
|
|
7
7
|
<context ref="${e.uri}">
|
|
8
8
|
${e.text}
|
|
9
9
|
</context>`})}else{let r=this.validatedEmbeddedBlobLength(e.blob),i=this.normalizeEmbeddedBlobMimeType(e.mimeType),o=this.embeddedBlobModelKind(i);r>0&&"image"===o?(t.push({type:"text",text:this.formatUriAsLink(e.uri)}),t.push({type:"image",source:{type:"base64",data:e.blob,media_type:i}})):r>0&&"file"===o?(t.push({type:"text",text:this.formatUriAsLink(e.uri)}),t.push({type:"document",source:{type:"base64",data:e.blob,media_type:"application/pdf"}})):a.push({type:"text",text:this.describeOpaqueEmbeddedBlob(e,this.decodeEmbeddedBlob(e.blob))})}return{content:t,context:a}}};function projectPromptFilesForModel(e){return e.map(e=>{if("message"!==e.type||"user"!==e.role||!Array.isArray(e.content))return e;let t=e.content.flatMap(e=>{if(!e.providerData?.[i.ACP_RESOURCE_LINK_PROVIDER_DATA_KEY])return[e];let t=(0,i.decodeInputFileToAcpContentBlock)(e)??(0,i.decodeEmbeddedTextToAcpContentBlock)(e);if(t?.type!=="resource")return[e];let a=EmbeddedResourceCodec.toModelContent(t.resource),r=o.g.parseMessagesFromPipeInput(JSON.stringify({type:"user",message:{role:"user",content:[...a.content,...a.context]},session_id:"",parent_tool_use_id:null}))[0];return r?.type==="message"&&"user"===r.role&&Array.isArray(r.content)?r.content:[e]});return{...e,content:t}})}}};
|