[{"data":1,"prerenderedAt":1044},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-ag-ui-protocol\u002Fag-ui":249,"page-views-\u002Ftrending\u002Fag-ui-protocol\u002Fag-ui":1042},[4,29,104,124,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94,99],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":250,"url":251,"appearances":252,"latest":268},"ag-ui-protocol\u002Fag-ui","https:\u002F\u002Fgithub.com\u002Fag-ui-protocol\u002Fag-ui",[253],{"date":254,"rank":255,"stars":256,"starsToday":257,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-11-15",7,17433,9,"2330368a2a74573902858867072406638ba3073d",4440,1214566,14448,372634,30.68,3.16,1148,47,"D",{"date":254,"generatedAt":269,"name":250,"url":251,"description":270,"language":271,"stars":256,"starsToday":257,"defaultBranch":272,"headSha":258,"durationMs":273,"total":274,"formats":278,"topClones":349,"code":611,"health":909,"complexity":950,"deadCode":1000},"2026-11-15T05:21:58.194Z","AG-UI: the Agent-User Interaction Protocol. Bring Agents into Frontend Applications.","TypeScript","main",4114,{"sources":259,"lines":260,"tokens":275,"clones":261,"duplicatedLines":262,"duplicatedTokens":276,"percentage":263,"percentageTokens":277},6060065,1322605,21.82,[279,286,293,300,307,314,321,328,335,342],{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},"json",468,223977,6646,209474,93.52,{"format":287,"sources":288,"lines":289,"clones":290,"duplicatedLines":291,"percentage":292},"typescript",1322,401906,4989,119309,29.69,{"format":294,"sources":295,"lines":296,"clones":297,"duplicatedLines":298,"percentage":299},"python",695,264481,1067,15064,5.7,{"format":301,"sources":302,"lines":303,"clones":304,"duplicatedLines":305,"percentage":306},"csharp",408,67780,540,10661,15.73,{"format":308,"sources":309,"lines":310,"clones":311,"duplicatedLines":312,"percentage":313},"swift",281,50168,235,2962,5.9,{"format":315,"sources":316,"lines":317,"clones":318,"duplicatedLines":319,"percentage":320},"java",143,11034,134,1291,11.7,{"format":322,"sources":323,"lines":324,"clones":325,"duplicatedLines":326,"percentage":327},"go",109,24342,122,1359,5.58,{"format":329,"sources":330,"lines":331,"clones":332,"duplicatedLines":333,"percentage":334},"markdown",230,34186,113,1692,4.95,{"format":336,"sources":337,"lines":338,"clones":339,"duplicatedLines":340,"percentage":341},"dart",74,29464,104,1220,4.14,{"format":343,"sources":344,"lines":345,"clones":346,"duplicatedLines":347,"percentage":348},"kotlin",172,34111,101,1467,4.3,[350,395,430,465,495,505,513,541,572,590],{"format":280,"lines":351,"tokens":352,"first":353,"others":357,"copies":381,"excerpt":382,"kind":394},21,57,{"name":354,"start":355,"end":356},"sdks\u002Fdotnet\u002Ftests\u002FAGUI.Hosting.AspNetCore.IntegrationTests\u002FSamples\u002FGettingStarted\u002Fbaselines\u002FMixedToolInvocationIntegration\u002FMixedInvocation_TwoTurnFlow_EmitsToolCallsThenServerResults#Turn_01.08.Response.Client.NET.verified.json",260,280,[358,361,364,367,370,373,376,379],{"name":354,"start":359,"end":360},295,315,{"name":354,"start":362,"end":363},330,350,{"name":354,"start":365,"end":366},365,385,{"name":354,"start":368,"end":369},400,420,{"name":354,"start":371,"end":372},435,455,{"name":354,"start":374,"end":375},470,490,{"name":354,"start":377,"end":378},505,525,{"name":354,"start":304,"end":380},560,414,{"lines":383,"total":351},[384,385,386,387,388,389,390,391,392,393],"    \"text\": \"1\",","    \"annotations\": null,","    \"additionalProperties\": null","  }","],","\"additionalProperties\": null,","\"responseId\": \"chatcmpl-Id_2\",","\"messageId\": \"chatcmpl-Id_2\",","\"conversationId\": null,","\"finishReason\": null,","tests",{"format":280,"lines":351,"tokens":352,"first":396,"others":400,"copies":424,"excerpt":425,"kind":394},{"name":397,"start":398,"end":399},"sdks\u002Fdotnet\u002Ftests\u002FAGUI.Hosting.AspNetCore.IntegrationTests\u002FSamples\u002FGettingStarted\u002Fbaselines\u002FStep01_GettingStarted\u002FPostRun_MultiTurn_SynthesizesAssistantMessages#Turn_01.08.Response.Client.NET.verified.json",36,56,[401,404,407,410,413,416,419,421],{"name":397,"start":402,"end":403},71,91,{"name":397,"start":405,"end":406},106,126,{"name":397,"start":408,"end":409},141,161,{"name":397,"start":411,"end":412},176,196,{"name":397,"start":414,"end":415},211,231,{"name":397,"start":417,"end":418},246,266,{"name":397,"start":309,"end":420},301,{"name":422,"start":337,"end":423},"sdks\u002Fdotnet\u002Ftests\u002FAGUI.Hosting.AspNetCore.IntegrationTests\u002FSamples\u002FGettingStarted\u002Fbaselines\u002FStep05_StateManagement\u002FPostRun_WithState_EmitsStateSnapshotAndSummary#Turn_01.08.Response.Client.NET.verified.json",94,397,{"lines":426,"total":351},[427,385,386,387,388,389,428,429,392,393],"    \"text\": \"Hello\",","\"responseId\": \"chatcmpl-Id_1\",","\"messageId\": \"chatcmpl-Id_1\",",{"format":280,"lines":431,"tokens":432,"first":433,"others":437,"copies":461,"excerpt":462,"kind":394},18,52,{"name":434,"start":435,"end":436},"sdks\u002Fdotnet\u002Ftests\u002FAGUI.Hosting.AspNetCore.IntegrationTests\u002FSamples\u002FGettingStarted\u002Fbaselines\u002FMixedToolInvocationIntegration\u002FMixedInvocation_TwoTurnFlow_EmitsToolCallsThenServerResults#Turn_02.07.Response.Client.AGUI.verified.json",44,61,[438,441,443,446,449,452,455,458],{"name":434,"start":439,"end":440},68,85,{"name":434,"start":442,"end":323},92,{"name":434,"start":444,"end":445},116,133,{"name":434,"start":447,"end":448},140,157,{"name":434,"start":450,"end":451},164,181,{"name":434,"start":453,"end":454},188,205,{"name":434,"start":456,"end":457},212,229,{"name":434,"start":459,"end":460},236,253,418,{"lines":463,"total":431},[464,385,386,387,388,389,390,391,392,393],"    \"text\": \"\",",{"format":280,"lines":431,"tokens":432,"first":466,"others":469,"copies":494,"kind":394},{"name":467,"start":431,"end":468},"sdks\u002Fdotnet\u002Ftests\u002FAGUI.Hosting.AspNetCore.IntegrationTests\u002FSamples\u002FGettingStarted\u002Fbaselines\u002FStep01_GettingStarted\u002FPostRun_MultiTurn_SynthesizesAssistantMessages#Turn_01.07.Response.Client.AGUI.verified.json",35,[470,473,476,479,482,485,488,491],{"name":467,"start":471,"end":472},42,59,{"name":467,"start":474,"end":475},66,83,{"name":467,"start":477,"end":478},90,107,{"name":467,"start":480,"end":481},114,131,{"name":467,"start":483,"end":484},138,155,{"name":467,"start":486,"end":487},162,179,{"name":467,"start":489,"end":490},186,203,{"name":467,"start":492,"end":493},210,227,399,{"format":280,"lines":496,"tokens":497,"first":498,"others":501,"copies":504,"kind":394},2133,7682,{"name":499,"start":500,"end":496},"docs\u002Fspec\u002Fdraft\u002Fschema.json",1,[502],{"name":503,"start":500,"end":496},"spec\u002Fdraft\u002Fschema.json",2,{"format":280,"lines":506,"tokens":507,"first":508,"others":510,"copies":504,"kind":394},2109,7610,{"name":509,"start":500,"end":506},"docs\u002Fspec\u002F1.0\u002Fschema.json",[511],{"name":512,"start":500,"end":506},"spec\u002F1.0\u002Fschema.json",{"format":301,"lines":514,"tokens":515,"first":516,"others":520,"copies":539,"kind":540},82,284,{"name":517,"start":518,"end":519},"sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Protobuf\u002FGenerated\u002FWireGuards.g.cs",286,367,[521,524,526,528,530,532,534,537],{"name":517,"start":522,"end":523},447,528,{"name":517,"start":523,"end":525},609,{"name":517,"start":525,"end":527},690,{"name":517,"start":527,"end":529},771,{"name":517,"start":529,"end":531},852,{"name":517,"start":531,"end":533},933,{"name":517,"start":535,"end":536},1946,2027,{"name":517,"start":536,"end":538},2108,24,"generated",{"format":294,"lines":542,"tokens":543,"first":544,"others":547,"copies":570,"kind":571},22,199,{"name":545,"start":546,"end":412},"sdks\u002Fpython\u002Fag_ui\u002F_generated\u002Fmodels.py",175,[548,551,554,556,559,561,564,567],{"name":545,"start":549,"end":550},240,261,{"name":545,"start":552,"end":553},289,310,{"name":545,"start":362,"end":555},351,{"name":545,"start":557,"end":558},371,392,{"name":545,"start":461,"end":560},439,{"name":545,"start":562,"end":563},463,484,{"name":545,"start":565,"end":566},506,527,{"name":545,"start":568,"end":569},545,566,32,"code",{"format":287,"lines":573,"tokens":574,"first":575,"others":577,"copies":255,"kind":394},123,722,{"name":576,"start":500,"end":573},"apps\u002Fdojo\u002Fe2e\u002Fpages\u002FadkMiddlewarePages\u002FHumanInLoopPage.ts",[578,580,582,584,586,588],{"name":579,"start":500,"end":573},"apps\u002Fdojo\u002Fe2e\u002Fpages\u002FagnoPages\u002FHumanInLoopPage.ts",{"name":581,"start":500,"end":573},"apps\u002Fdojo\u002Fe2e\u002Fpages\u002FawsStrandsPages\u002FHumanInLoopPage.ts",{"name":583,"start":500,"end":573},"apps\u002Fdojo\u002Fe2e\u002Fpages\u002FcrewAIPages\u002FHumanInLoopPage.ts",{"name":585,"start":500,"end":573},"apps\u002Fdojo\u002Fe2e\u002Fpages\u002FllamaIndexPages\u002FHumanInLoopPage.ts",{"name":587,"start":500,"end":573},"apps\u002Fdojo\u002Fe2e\u002Fpages\u002FpydanticAIPages\u002FHumanInLoopPage.ts",{"name":589,"start":500,"end":573},"apps\u002Fdojo\u002Fe2e\u002Fpages\u002FserverStarterAllFeaturesPages\u002FHumanInLoopPage.ts",{"format":287,"lines":591,"tokens":592,"first":593,"others":597,"copies":610,"kind":394},416,1211,{"name":594,"start":595,"end":596},"apps\u002Fdojo\u002Fe2e\u002Ftests\u002FlanggraphFastAPITests\u002Fa2uiAdvanced.event-trace.ts",1098,1513,[598,602,606],{"name":599,"start":600,"end":601},"apps\u002Fdojo\u002Fe2e\u002Ftests\u002FlanggraphFastAPITests\u002Fa2uiDynamicSchema.event-trace.ts",1748,2163,{"name":603,"start":604,"end":605},"apps\u002Fdojo\u002Fe2e\u002Ftests\u002FlanggraphPythonTests\u002Fa2uiAdvanced.event-trace.ts",1104,1519,{"name":607,"start":608,"end":609},"apps\u002Fdojo\u002Fe2e\u002Ftests\u002FlanggraphTypescriptTests\u002Fa2uiDynamicSchema.event-trace.ts",2131,2546,4,{"sources":265,"lines":612,"tokens":613,"clones":614,"duplicatedLines":615,"duplicatedTokens":616,"percentage":264,"percentageTokens":617,"formats":618,"topClones":671,"generated":887},272838,1426237,654,8631,55331,3.88,[619,624,629,633,638,644,649,654,661,666],{"format":308,"sources":620,"lines":621,"clones":330,"duplicatedLines":622,"percentage":623},272,48956,2903,5.93,{"format":287,"sources":625,"lines":626,"clones":445,"duplicatedLines":627,"percentage":628},274,75490,2034,2.69,{"format":315,"sources":423,"lines":630,"clones":439,"duplicatedLines":631,"percentage":632},5293,573,10.83,{"format":294,"sources":447,"lines":634,"clones":635,"duplicatedLines":636,"percentage":637},68088,53,702,1.03,{"format":343,"sources":639,"lines":640,"clones":641,"duplicatedLines":642,"percentage":643},46,9965,41,577,5.79,{"format":336,"sources":351,"lines":645,"clones":646,"duplicatedLines":647,"percentage":648},9578,31,428,4.47,{"format":650,"sources":436,"lines":651,"clones":539,"duplicatedLines":652,"percentage":653},"tsx",10077,395,3.92,{"format":655,"sources":656,"lines":657,"clones":658,"duplicatedLines":659,"percentage":660},"javascript",20,4049,17,336,8.3,{"format":322,"sources":662,"lines":663,"clones":664,"duplicatedLines":489,"percentage":665},33,9406,15,1.98,{"format":667,"sources":257,"lines":668,"clones":664,"duplicatedLines":669,"percentage":670},"ruby",5178,238,4.6,[672,711,744,774,785,795,825,834,846,857],{"format":315,"lines":673,"tokens":420,"first":674,"others":677,"copies":687,"excerpt":698,"excerptSecond":707,"kind":571},8,{"name":675,"start":257,"end":676},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FCustomEvent.java",16,[678,681,685,688,690,692,694,696],{"name":679,"start":680,"end":431},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FMessagesSnapshotEvent.java",11,{"name":682,"start":683,"end":684},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FMetaEvent.java",12,19,{"name":686,"start":687,"end":658},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FRawEvent.java",10,{"name":689,"start":257,"end":676},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FReasoningEndEvent.java",{"name":691,"start":687,"end":658},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FReasoningMessageContentEvent.java",{"name":693,"start":680,"end":431},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FReasoningMessageStartEvent.java",{"name":695,"start":673,"end":664},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FStateSnapshotEvent.java",{"name":697,"start":257,"end":676},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FStepFinishedEvent.java",{"lines":699,"total":673},[700,701,702,703,702,704,705,706]," * @param value     the associated event data (required)"," * @param timestamp the event creation time in epoch milliseconds, or"," *                  {@code null} (optional)"," * @param rawEvent  the original event this was transformed from, or"," * @see \u003Ca href=\"https:\u002F\u002Fdocs.ag-ui.com\u002Fconcepts\u002Fevents\">AG-UI Events\u003C\u002Fa>"," *\u002F","public record CustomEvent(String name, Object value, Long timestamp, Object rawEvent)",{"lines":708,"total":673},[709,701,702,703,702,704,705,710]," *                  (required, copied to an unmodifiable list)","public record MessagesSnapshotEvent(List\u003CMessage> messages, Long timestamp, Object rawEvent)",{"format":287,"lines":351,"tokens":712,"first":713,"others":715,"copies":684,"excerpt":732,"kind":571},89,{"name":714,"start":500,"end":351},"integrations\u002Fa2a\u002Ftypescript\u002Fvitest.config.ts",[716,718,720,722,724,726,728,730],{"name":717,"start":500,"end":351},"integrations\u002Fagno\u002Ftypescript\u002Fvitest.config.ts",{"name":719,"start":500,"end":351},"integrations\u002Fclaude-managed-agents\u002Ftypescript\u002Fvitest.config.ts",{"name":721,"start":500,"end":351},"integrations\u002Fcommunity\u002Fcloudflare-agents\u002Ftypescript\u002Fvitest.config.ts",{"name":723,"start":500,"end":351},"integrations\u002Fcommunity\u002Fomnara\u002Ftypescript\u002Fvitest.config.ts",{"name":725,"start":500,"end":351},"integrations\u002Fcommunity\u002Fspring-ai\u002Ftypescript\u002Fvitest.config.ts",{"name":727,"start":500,"end":351},"integrations\u002Fcrew-ai\u002Ftypescript\u002Fvitest.config.ts",{"name":729,"start":500,"end":351},"integrations\u002Flangchain\u002Ftypescript\u002Fvitest.config.ts",{"name":731,"start":500,"end":351},"integrations\u002Flanggraph\u002Ftypescript\u002Fvitest.config.ts",{"lines":733,"total":351},[734,735,736,737,738,739,740,741,742,743],"import path from \"path\";","import { defineConfig } from \"vitest\u002Fconfig\";","","export default defineConfig({","  test: {","    globals: true,","    environment: \"node\",","    include: [\"**\u002F*.test.ts\"],","    passWithNoTests: true,","    coverage: {",{"format":287,"lines":683,"tokens":635,"first":745,"others":747,"copies":542,"excerpt":764,"kind":571},{"name":746,"start":500,"end":683},"integrations\u002Fadk-middleware\u002Ftypescript\u002Ftsdown.config.ts",[748,750,752,754,756,758,760,762],{"name":749,"start":500,"end":683},"integrations\u002Fag2\u002Ftypescript\u002Ftsdown.config.ts",{"name":751,"start":500,"end":683},"integrations\u002Fagno\u002Ftypescript\u002Ftsdown.config.ts",{"name":753,"start":500,"end":683},"integrations\u002Fantigravity\u002Ftypescript\u002Ftsdown.config.ts",{"name":755,"start":500,"end":683},"integrations\u002Fclaude-managed-agents\u002Ftypescript\u002Ftsdown.config.ts",{"name":757,"start":500,"end":683},"integrations\u002Fcommunity\u002Fcloudflare-agents\u002Ftypescript\u002Ftsdown.config.ts",{"name":759,"start":500,"end":683},"integrations\u002Fcommunity\u002Fspring-ai\u002Ftypescript\u002Ftsdown.config.ts",{"name":761,"start":500,"end":683},"integrations\u002Fcrew-ai\u002Ftypescript\u002Ftsdown.config.ts",{"name":763,"start":500,"end":683},"integrations\u002Flangchain\u002Ftypescript\u002Ftsdown.config.ts",{"lines":765,"total":683},[766,736,737,767,768,769,770,771,772,773],"import { defineConfig } from \"tsdown\";","  entry: [\"src\u002Findex.ts\"],","  format: [\"cjs\", \"esm\"],","  dts: true,","  exports: true,","  fixedExtension: false,","  sourcemap: true,","  clean: true,",{"format":315,"lines":673,"tokens":775,"first":776,"others":777,"copies":610,"kind":571},324,{"name":686,"start":687,"end":658},[778,780,782],{"name":779,"start":683,"end":684},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FReasoningMessageChunkEvent.java",{"name":781,"start":257,"end":676},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FRunErrorEvent.java",{"name":783,"start":784,"end":351},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FTextMessageChunkEvent.java",14,{"format":315,"lines":673,"tokens":786,"first":787,"others":788,"copies":610,"kind":571},322,{"name":689,"start":257,"end":676},[789,791,793],{"name":790,"start":257,"end":676},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FReasoningMessageEndEvent.java",{"name":792,"start":673,"end":664},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FReasoningStartEvent.java",{"name":794,"start":687,"end":658},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FTextMessageStartEvent.java",{"format":308,"lines":687,"tokens":796,"first":797,"others":800,"copies":658,"kind":571},50,{"name":798,"start":799,"end":493},"sdks\u002Fcommunity\u002Fswift\u002FTests\u002FAGUICoreTests\u002FSpecialEvents\u002FCustomEventTests.swift",218,[801,803,807,809,812,814,817,821],{"name":798,"start":309,"end":802},290,{"name":804,"start":805,"end":806},"sdks\u002Fcommunity\u002Fswift\u002FTests\u002FAGUICoreTests\u002FSpecialEvents\u002FRawEventTests.swift",200,209,{"name":808,"start":487,"end":453},"sdks\u002Fcommunity\u002Fswift\u002FTests\u002FAGUICoreTests\u002FTextMessageEvents\u002FTextMessageContentEventTests.swift",{"name":808,"start":810,"end":811},198,207,{"name":808,"start":669,"end":813},247,{"name":808,"start":815,"end":816},259,268,{"name":818,"start":819,"end":820},"sdks\u002Fcommunity\u002Fswift\u002FTests\u002FAGUICoreTests\u002FTextMessageEvents\u002FTextMessageEndEventTests.swift",128,137,{"name":822,"start":823,"end":824},"sdks\u002Fcommunity\u002Fswift\u002FTests\u002FAGUICoreTests\u002FTextMessageEvents\u002FTextMessageStartEventTests.swift",139,148,{"format":315,"lines":673,"tokens":360,"first":826,"others":828,"copies":833,"kind":571},{"name":827,"start":687,"end":658},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FToolCallArgsEvent.java",[829,831],{"name":830,"start":257,"end":676},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FToolCallEndEvent.java",{"name":832,"start":664,"end":542},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fevent\u002FToolCallResultEvent.java",3,{"format":308,"lines":835,"tokens":836,"first":837,"others":841,"copies":504,"kind":571},105,601,{"name":838,"start":839,"end":840},"sdks\u002Fcommunity\u002Fswift\u002FTests\u002FAGUIAgentSDKTests\u002FAgentViewModelCompatTests.swift",62,166,[842],{"name":843,"start":844,"end":845},"sdks\u002Fcommunity\u002Fswift\u002FTests\u002FAGUIAgentSDKTests\u002FAgentViewModelTests.swift",65,169,{"format":315,"lines":673,"tokens":847,"first":848,"others":852,"copies":833,"kind":571},299,{"name":849,"start":850,"end":851},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fmessage\u002FDeveloperMessage.java",6,13,[853,855],{"name":854,"start":850,"end":851},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fmessage\u002FSystemMessage.java",{"name":856,"start":850,"end":851},"sdks\u002Fcommunity\u002Fjava\u002Fag-ui\u002Fcore\u002Fsrc\u002Fmain\u002Fjava\u002Fcom\u002Fagui\u002Fcommunity\u002Fcore\u002Fmessage\u002FUserMessage.java",{"format":343,"lines":673,"tokens":635,"first":858,"others":862,"copies":680,"kind":571},{"name":859,"start":860,"end":861},"sdks\u002Fcommunity\u002Fkotlin\u002Flibrary\u002Fcore\u002Fsrc\u002FcommonMain\u002Fkotlin\u002Fcom\u002Fagui\u002Fcore\u002Ftypes\u002FEvents.kt",449,456,[863,866,869,872,875,878,881,884],{"name":859,"start":864,"end":865},500,507,{"name":859,"start":867,"end":868},526,533,{"name":859,"start":870,"end":871},549,556,{"name":859,"start":873,"end":874},630,637,{"name":859,"start":876,"end":877},777,784,{"name":859,"start":879,"end":880},887,894,{"name":859,"start":882,"end":883},1120,1127,{"name":859,"start":885,"end":886},1150,1157,{"files":888,"minified":889,"sample":890},28,0,[891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,517,906,545,907,908],"sdks\u002Fcommunity\u002Fdart\u002Fexample\u002Flinux\u002Fflutter\u002Fgenerated_plugin_registrant.cc","sdks\u002Fcommunity\u002Fdart\u002Fexample\u002Flinux\u002Fflutter\u002Fgenerated_plugin_registrant.h","sdks\u002Fcommunity\u002Fdart\u002Fexample\u002Fmacos\u002FFlutter\u002FGeneratedPluginRegistrant.swift","sdks\u002Fcommunity\u002Fdart\u002Fexample\u002Fwindows\u002Fflutter\u002Fgenerated_plugin_registrant.cc","sdks\u002Fcommunity\u002Fdart\u002Fexample\u002Fwindows\u002Fflutter\u002Fgenerated_plugin_registrant.h","sdks\u002Fcommunity\u002Fswift\u002FSources\u002FAGUIAgentSDK\u002FAgUiAgentConfig.swift","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Abstractions\u002FGenerated\u002FAGUIConstants.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Abstractions\u002FGenerated\u002FAGUIEvents.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Abstractions\u002FGenerated\u002FAGUIEventTypes.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Abstractions\u002FGenerated\u002FAGUIMessages.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Abstractions\u002FGenerated\u002FAGUIRoles.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Abstractions\u002FGenerated\u002FAGUITypes.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Abstractions\u002FGenerated\u002FBaseEvent.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Protobuf\u002FGenerated\u002FProtoEventMapper.g.cs","sdks\u002Fdotnet\u002Fsrc\u002FAGUI.Protobuf\u002FGenerated\u002FProtoMessageMapper.g.cs","sdks\u002Fpython\u002Fag_ui\u002F_generated\u002F__init__.py","sdks\u002Fpython\u002Fag_ui\u002F_generated\u002Fversion.py","sdks\u002Ftypescript\u002Fpackages\u002Fcore\u002Fsrc\u002Fgenerated\u002Fschemas.ts",{"score":266,"grade":267,"size":910,"dimensions":914},{"lines":911,"files":912,"class":913},926811,3372,"L",[915,937,945],{"id":916,"source":917,"value":918,"adjusted":918,"lines":919,"halfLife":920,"formats":921,"excluded":932,"weight":500,"score":936},"duplication","jscpd",16.9,156540,8.5,[287,294,301,308,343,336,322,922,315,650,667,655,923,924,925,926,927,928,929,930,931],"cpp","rust","bash","c-header","cmake","batch","powershell","groovy","docker","prolog",[933,934,935],"markup","text","data",25.3,{"id":938,"source":917,"value":939,"adjusted":939,"lines":940,"halfLife":941,"coverage":942,"weight":943,"score":944},"dead-code",0.4,2965,7.5,73.3,0.733,96,{"id":946,"source":917,"value":947,"adjusted":947,"lines":948,"halfLife":796,"weight":500,"score":949},"complexity",47.7,442549,51.6,{"total":951,"mean":952,"files":953},93781,27.8,[954,959,964,969,972,977,982,986,990,995],{"path":955,"complexity":956,"lines":957,"bytes":958},"integrations\u002Faws-strands\u002Fpython\u002Fsrc\u002Fag_ui_strands\u002Fagent.py",1093,8003,391098,{"path":960,"complexity":961,"lines":962,"bytes":963},"integrations\u002Faws-strands\u002Ftypescript\u002Fsrc\u002Fagent.ts",1089,7198,303195,{"path":965,"complexity":966,"lines":967,"bytes":968},"integrations\u002Flanggraph\u002Fpython\u002Fag_ui_langgraph\u002Fagent.py",1042,4881,254899,{"path":517,"complexity":529,"lines":970,"bytes":971},4099,121683,{"path":973,"complexity":974,"lines":975,"bytes":976},"integrations\u002Fadk-middleware\u002Fpython\u002Fsrc\u002Fag_ui_adk\u002Fadk_agent.py",761,4784,238337,{"path":978,"complexity":979,"lines":980,"bytes":981},"integrations\u002Fmastra\u002Ftypescript\u002Fsrc\u002Fmastra.ts",692,4631,192327,{"path":983,"complexity":565,"lines":984,"bytes":985},"sdks\u002Fcommunity\u002Fruby\u002Ftemplates\u002Fdefault\u002Ffulldoc\u002Fmarkdown\u002Fsetup.rb",1499,46925,{"path":987,"complexity":560,"lines":988,"bytes":989},"integrations\u002Flanggraph\u002Ftypescript\u002Fsrc\u002Fagent.ts",2657,94808,{"path":991,"complexity":992,"lines":993,"bytes":994},"sdks\u002Fcommunity\u002Fdart\u002Flib\u002Fsrc\u002Fevents\u002Fevents.dart",391,2643,94121,{"path":996,"complexity":997,"lines":998,"bytes":999},"integrations\u002Faws-strands\u002Ftypescript\u002Fsrc\u002F__tests__\u002Furl-fetch-policy.test.ts",375,2725,93528,{"percentage":1001,"findings":1002,"files":1003,"byCategory":1004,"largest":1014},0.44,88,2191,[1005,1007,1009,1011],{"category":1006,"count":684},"unused-file",{"category":1008,"count":851},"unused-export",{"category":1010,"count":255},"unused-symbol",{"category":1012,"count":1013},"unused-import",49,[1015,1019,1021,1024,1027,1029,1031,1034,1037,1040],{"category":1010,"path":1016,"name":1017,"line":813,"lines":1018},"middlewares\u002Fa2ui-middleware\u002Fsrc\u002Fschema.ts","_REMOVED_V08_SCHEMA",574,{"category":1006,"path":1020,"name":736,"line":500,"lines":652},"sdks\u002Ftypescript\u002Fpackages\u002Fcore\u002Fsrc\u002Fevent-factories.ts",{"category":1006,"path":1022,"name":736,"line":500,"lines":1023},"integrations\u002Fclaude-agent-sdk\u002Ftypescript\u002Fscripts\u002Fprobe-frontend-resume.mjs",233,{"category":1006,"path":1025,"name":736,"line":500,"lines":1026},"integrations\u002Fclaude-agent-sdk\u002Ftypescript\u002Fscripts\u002Fprobe-durable-resume.mjs",190,{"category":1006,"path":1028,"name":736,"line":500,"lines":411},"integrations\u002Fclaude-agent-sdk\u002Ftypescript\u002Fscripts\u002Fprobe-mcp-deferral-limit.mjs",{"category":1006,"path":1030,"name":736,"line":500,"lines":450},"sdks\u002Ftypescript\u002Fpackages\u002Fclient\u002Fsrc\u002Fconformance\u002Ffixture.ts",{"category":1006,"path":1032,"name":736,"line":500,"lines":1033},"integrations\u002Fclaude-agent-sdk\u002Ftypescript\u002Fscripts\u002Fprobe-assistant-blocks.mjs",149,{"category":1006,"path":1035,"name":736,"line":500,"lines":1036},"integrations\u002Fclaude-agent-sdk\u002Ftypescript\u002Fscripts\u002Fpublic-client-driver.mjs",147,{"category":1006,"path":1038,"name":736,"line":500,"lines":1039},"integrations\u002Fclaude-agent-sdk\u002Ftypescript\u002Fscripts\u002Fregistered-root-driver.mjs",99,{"category":1006,"path":1041,"name":736,"line":500,"lines":944},"integrations\u002Fclaude-agent-sdk\u002Fpython\u002Fscripts\u002Fprobe_frontend_resume.py",{"\u002Ftrending\u002Fag-ui-protocol\u002Fag-ui":1043},{"views":889,"visits":889},1794720252681]