[{"data":1,"prerenderedAt":503},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-strands-agents\u002Fharness-sdk":188},[4,50,82,99,135,157,173,178,183],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30,35,40,45],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration","i-lucide-settings",{"title":26,"path":27,"stem":28,"icon":29},"Supported Formats","\u002Fgetting-started\u002Fsupported-formats","1.getting-started\u002F5.supported-formats","i-lucide-file-code",{"title":31,"path":32,"stem":33,"icon":34},"Agent Skill","\u002Fgetting-started\u002Fagent-skill","1.getting-started\u002F6.agent-skill","i-lucide-cpu",{"title":36,"path":37,"stem":38,"icon":39},"Changelog","\u002Fgetting-started\u002Fchangelog","1.getting-started\u002F7.changelog","i-lucide-scroll-text",{"title":41,"path":42,"stem":43,"icon":44},"Migrating from v4 to v5","\u002Fgetting-started\u002Fmigration","1.getting-started\u002F8.migration","i-lucide-arrow-right-left",{"title":46,"path":47,"stem":48,"icon":49},"jscpd v4 (TypeScript)","\u002Fgetting-started\u002Fv4","1.getting-started\u002F9.v4","i-simple-icons-typescript",{"title":51,"path":52,"stem":53,"children":54,"icon":6},"Guides","\u002Fguides","2.guides\u002F1.index",[55,57,62,67,72,77],{"title":51,"path":52,"stem":53,"icon":56},"i-lucide-book-open",{"title":58,"path":59,"stem":60,"icon":61},"Types of Code Clones","\u002Fguides\u002Fclone-types","2.guides\u002F2.clone-types","i-lucide-copy",{"title":63,"path":64,"stem":65,"icon":66},"How Detection Works","\u002Fguides\u002Fhow-detection-works","2.guides\u002F3.how-detection-works","i-lucide-scan-search",{"title":68,"path":69,"stem":70,"icon":71},"Duplication Trend over Git History","\u002Fguides\u002Fhistory","2.guides\u002F4.history","i-lucide-chart-no-axes-combined",{"title":73,"path":74,"stem":75,"icon":76},"Project Dashboard","\u002Fguides\u002Fdashboard","2.guides\u002F5.dashboard","i-lucide-layout-dashboard",{"title":78,"path":79,"stem":80,"icon":81},"Project Health Score","\u002Fguides\u002Fhealth","2.guides\u002F6.health","i-lucide-heart-pulse",{"title":83,"path":84,"stem":85,"children":86,"icon":6},"CI & Hooks","\u002Fci-and-hooks","3.ci-and-hooks\u002F1.index",[87,89,94],{"title":83,"path":84,"stem":85,"icon":88},"i-lucide-git-pull-request",{"title":90,"path":91,"stem":92,"icon":93},"Use jscpd in CI","\u002Fci-and-hooks\u002Fci","3.ci-and-hooks\u002F2.ci","i-lucide-github",{"title":95,"path":96,"stem":97,"icon":98},"Use jscpd in Pre-Commit Hook","\u002Fci-and-hooks\u002Fpre-commit","3.ci-and-hooks\u002F3.pre-commit","i-lucide-git-commit",{"title":100,"path":101,"stem":102,"children":103,"icon":105},"Reporters","\u002Freporters","4.reporters\u002F1.index",[104,106,110,115,120,125,130],{"title":100,"path":101,"stem":102,"icon":105},"i-lucide-file-chart-column",{"title":107,"path":108,"stem":109,"icon":29},"HTML Reporter","\u002Freporters\u002Fhtml","4.reporters\u002F2.html",{"title":111,"path":112,"stem":113,"icon":114},"JSON Reporter","\u002Freporters\u002Fjson","4.reporters\u002F3.json","i-lucide-braces",{"title":116,"path":117,"stem":118,"icon":119},"Badge Reporter","\u002Freporters\u002Fbadge","4.reporters\u002F4.badge","i-lucide-award",{"title":121,"path":122,"stem":123,"icon":124},"SARIF Reporter","\u002Freporters\u002Fsarif","4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":126,"path":127,"stem":128,"icon":129},"CodeClimate \u002F GitLab Reporter","\u002Freporters\u002Fcodeclimate","4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":131,"path":132,"stem":133,"icon":134},"OpenMetrics Reporter","\u002Freporters\u002Fopenmetrics","4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":136,"path":137,"stem":138,"children":139,"icon":6},"Benchmarks","\u002Fbenchmarks","5.benchmarks\u002F1.index",[140,142,147,152],{"title":136,"path":137,"stem":138,"icon":141},"i-lucide-gauge",{"title":143,"path":144,"stem":145,"icon":146},"Detection Speed","\u002Fbenchmarks\u002Fdetection-speed","5.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":148,"path":149,"stem":150,"icon":151},"Multi-Format Detection","\u002Fbenchmarks\u002Fcross-format","5.benchmarks\u002F3.cross-format","i-lucide-layers",{"title":153,"path":154,"stem":155,"icon":156},"AI Token Efficiency","\u002Fbenchmarks\u002Fai-token-efficiency","5.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":158,"path":159,"stem":160,"children":161,"icon":163},"API","\u002Fapi","6.api\u002F1.index",[162,164,169],{"title":158,"path":159,"stem":160,"icon":163},"i-lucide-code",{"title":165,"path":166,"stem":167,"icon":168},"Rust Crates (v5)","\u002Fapi\u002Fcore","6.api\u002F2.core","i-lucide-box",{"title":170,"path":171,"stem":172,"icon":168},"MCP Server","\u002Fapi\u002Fmcp-server","6.api\u002F4.mcp-server",{"title":174,"path":175,"stem":176,"icon":177},"Trending","\u002Ftrending","7.trending","i-lucide-trending-up",{"title":179,"path":180,"stem":181,"icon":182},"Research","\u002Fresearch","8.research","i-lucide-graduation-cap",{"title":184,"path":185,"stem":186,"icon":187},"Articles","\u002Farticles","9.articles","i-lucide-newspaper",{"name":189,"url":190,"appearances":191,"latest":205},"strands-agents\u002Fharness-sdk","https:\u002F\u002Fgithub.com\u002Fstrands-agents\u002Fharness-sdk",[192],{"date":193,"rank":194,"stars":195,"starsToday":196,"headSha":197,"sources":198,"lines":199,"clones":200,"duplicatedLines":201,"percentage":202,"healthScore":203,"healthGrade":204},"2026-09-24",7,7943,115,"43b15b723e7829c23ffc9d47897d637eac2f88e7",2448,546538,3117,38980,7.13,54.5,"D",{"date":193,"generatedAt":206,"name":189,"url":190,"description":207,"language":208,"stars":195,"starsToday":196,"defaultBranch":209,"headSha":197,"durationMs":210,"total":211,"formats":215,"topClones":283,"health":373,"complexity":406,"deadCode":458},"2026-09-24T05:29:51.800Z","Build an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.","Python","main",2771,{"sources":198,"lines":199,"tokens":212,"clones":200,"duplicatedLines":201,"duplicatedTokens":213,"percentage":202,"percentageTokens":214},3256092,230677,7.08,[216,223,230,237,244,250,257,263,270,277],{"format":217,"sources":218,"lines":219,"clones":220,"duplicatedLines":221,"percentage":222},"typescript",965,233030,1610,17891,7.68,{"format":224,"sources":225,"lines":226,"clones":227,"duplicatedLines":228,"percentage":229},"python",754,233866,1224,16185,6.92,{"format":231,"sources":232,"lines":233,"clones":234,"duplicatedLines":235,"percentage":236},"yaml",210,11062,172,2974,26.88,{"format":238,"sources":239,"lines":240,"clones":241,"duplicatedLines":242,"percentage":243},"markdown",118,22418,53,858,3.83,{"format":245,"sources":241,"lines":246,"clones":247,"duplicatedLines":248,"percentage":249},"json",4106,21,656,15.98,{"format":251,"sources":252,"lines":253,"clones":254,"duplicatedLines":255,"percentage":256},"css",49,6433,17,156,2.42,{"format":258,"sources":259,"lines":260,"clones":194,"duplicatedLines":261,"percentage":262},"html",48,2117,69,3.26,{"format":264,"sources":265,"lines":266,"clones":267,"duplicatedLines":268,"percentage":269},"javascript",55,5551,5,100,1.8,{"format":271,"sources":272,"lines":273,"clones":274,"duplicatedLines":275,"percentage":276},"tsx",33,10557,3,26,0.25,{"format":278,"sources":279,"lines":280,"clones":274,"duplicatedLines":281,"percentage":282},"markup",41,1528,40,2.62,[284,294,302,311,317,325,335,345,354,365],{"format":217,"lines":285,"tokens":286,"firstFile":287,"secondFile":291},170,739,{"name":288,"start":289,"end":290},"strands-ts\u002Fsrc\u002Fmodels\u002F__tests__\u002Fbedrock.test.ts",3295,3464,{"name":288,"start":292,"end":293},3731,3900,{"format":224,"lines":295,"tokens":296,"firstFile":297,"secondFile":300},114,597,{"name":298,"start":299,"end":295},"site\u002Fdocs\u002Fexamples\u002Fcdk\u002Fdeploy_to_fargate\u002Fdocker\u002Fapp\u002Fapp.py",1,{"name":301,"start":299,"end":295},"site\u002Fdocs\u002Fexamples\u002Fdeploy_to_eks\u002Fdocker\u002Fapp\u002Fapp.py",{"format":224,"lines":303,"tokens":304,"firstFile":305,"secondFile":309},111,583,{"name":306,"start":307,"end":308},"site\u002Fdocs\u002Fexamples\u002Fcdk\u002Fdeploy_to_ec2\u002Fapp\u002Fapp.py",2,112,{"name":298,"start":310,"end":295},4,{"format":224,"lines":312,"tokens":313,"firstFile":314,"secondFile":316},108,571,{"name":315,"start":299,"end":312},"site\u002Fdocs\u002Fexamples\u002Fcdk\u002Fdeploy_to_apprunner\u002Fdocker\u002Fapp\u002Fapp.py",{"name":306,"start":267,"end":308},{"format":217,"lines":312,"tokens":318,"firstFile":319,"secondFile":322},521,{"name":288,"start":320,"end":321},3514,3621,{"name":288,"start":323,"end":324},3898,4005,{"format":224,"lines":326,"tokens":327,"firstFile":328,"secondFile":332},37,462,{"name":329,"start":330,"end":331},"strands-py\u002Fsrc\u002Fstrands\u002Fagent\u002Fagent.py",921,957,{"name":329,"start":333,"end":334},1264,1300,{"format":224,"lines":336,"tokens":337,"firstFile":338,"secondFile":342},70,460,{"name":339,"start":340,"end":341},"strands-py\u002Ftests\u002Fstrands\u002Fagent\u002Ftest_agent_hooks.py",167,236,{"name":339,"start":343,"end":344},254,323,{"format":224,"lines":346,"tokens":347,"firstFile":348,"secondFile":351},36,439,{"name":329,"start":349,"end":350},831,866,{"name":329,"start":352,"end":353},925,960,{"format":231,"lines":355,"tokens":356,"firstFile":357,"secondFile":361},76,384,{"name":358,"start":359,"end":360},".github\u002Fworkflows\u002Frelease-mcp.yml",367,442,{"name":362,"start":363,"end":364},".github\u002Fworkflows\u002Frelease-python.yml",412,487,{"format":231,"lines":366,"tokens":356,"firstFile":367,"secondFile":370},79,{"name":362,"start":368,"end":369},398,476,{"name":371,"start":372,"end":337},".github\u002Fworkflows\u002Frelease-typescript.yml",382,{"score":203,"grade":204,"size":374,"dimensions":378},{"lines":375,"files":376,"class":377},490249,1763,"L",[379,393,399],{"id":380,"source":381,"value":194,"adjusted":382,"lines":383,"halfLife":384,"formats":385,"excluded":389,"weight":299,"score":392},"duplication","jscpd",6.9,34124,8.5,[224,217,386,271,264,387,388],"astro","bash","perl",[278,390,391],"text","data",56.8,{"id":394,"source":381,"value":395,"adjusted":395,"lines":396,"halfLife":397,"weight":299,"score":398},"dead-code",4.6,22573,7.5,65.5,{"id":400,"source":381,"value":401,"adjusted":402,"lines":403,"halfLife":404,"weight":299,"score":405},"complexity",60.3,60.1,295559,50,43.5,{"total":407,"mean":408,"files":409},61376,34.8,[410,415,420,425,429,434,439,444,449,453],{"path":411,"complexity":412,"lines":413,"bytes":414},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fsetup-wizard\u002Findex.tsx",931,2724,110320,{"path":416,"complexity":417,"lines":418,"bytes":419},"strands-cli\u002Fsrc\u002Ftui\u002Fchat\u002Fcontroller.ts",536,2143,72509,{"path":421,"complexity":422,"lines":423,"bytes":424},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fapp.tsx",449,1266,48968,{"path":288,"complexity":426,"lines":427,"bytes":428},438,6024,213904,{"path":430,"complexity":431,"lines":432,"bytes":433},"strands-py\u002Fsrc\u002Fstrands\u002Ftools\u002Fmcp\u002Fmcp_client.py",413,2734,128058,{"path":435,"complexity":436,"lines":437,"bytes":438},"strands-py\u002Ftests\u002Fstrands\u002Fmodels\u002Ftest_bedrock.py",397,6017,230903,{"path":440,"complexity":441,"lines":442,"bytes":443},"strands-py\u002Fsrc\u002Fstrands\u002Fmodels\u002Fbedrock.py",346,1790,83695,{"path":445,"complexity":446,"lines":447,"bytes":448},"strands-ts\u002Fsrc\u002Fmodels\u002Fbedrock.ts",339,2180,78365,{"path":450,"complexity":344,"lines":451,"bytes":452},"strands-ts\u002Fsrc\u002Fagent\u002Fagent.ts",2728,106897,{"path":454,"complexity":455,"lines":456,"bytes":457},"strands-cli\u002Ftest\u002Ftui-chat.test.ts",303,1972,70569,{"percentage":459,"findings":460,"files":461,"byCategory":462,"largest":475},4.59,314,2002,[463,466,469,472],{"category":464,"count":465},"unused-file",196,{"category":467,"count":468},"unused-export",23,{"category":470,"count":471},"unused-symbol",65,{"category":473,"count":474},"unused-import",30,[476,478,481,484,486,489,492,495,498,500],{"category":464,"path":421,"name":477,"line":299,"lines":423},"",{"category":464,"path":479,"name":477,"line":299,"lines":480},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fchat-view.tsx",670,{"category":464,"path":482,"name":477,"line":299,"lines":483},"site\u002Fsrc\u002Fcontent\u002Fdocs\u002Fuser-guide\u002Fsdk\u002Fagents\u002Fhooks.ts",641,{"category":464,"path":485,"name":477,"line":299,"lines":417},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fcustom-theme-editor.tsx",{"category":464,"path":487,"name":477,"line":299,"lines":488},"site\u002Fsrc\u002Fcontent\u002Fdocs\u002Fuser-guide\u002Fsdk\u002Ftools\u002Ftools.ts",535,{"category":464,"path":490,"name":477,"line":299,"lines":491},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fpanels.tsx",529,{"category":464,"path":493,"name":477,"line":299,"lines":494},"site\u002Fsrc\u002Fcomponents\u002Fcommunity\u002FCoursesSection.astro",481,{"category":464,"path":496,"name":477,"line":299,"lines":497},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Fsettings-panel.tsx",471,{"category":464,"path":499,"name":477,"line":299,"lines":363},"site\u002Fsrc\u002Fcontent\u002Fdocs\u002Fuser-guide\u002Fsdk\u002Fmulti-agent\u002Fgraph.ts",{"category":464,"path":501,"name":477,"line":299,"lines":502},"strands-cli\u002Fsrc\u002Ftui\u002Fview\u002Ftranscript-turn.tsx",388,1790227872708]