[{"data":1,"prerenderedAt":896},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-backnotprop\u002Fplannotator":249,"page-views-\u002Ftrending\u002Fbacknotprop\u002Fplannotator":894},[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},"backnotprop\u002Fplannotator","https:\u002F\u002Fgithub.com\u002Fbacknotprop\u002Fplannotator",[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-14",5,10536,108,"4638c7a9ccc2b63c7dfa7f61322ec64dc0571c5c",5941,1498079,10511,147059,9.82,2.43,2509,57.8,"C",{"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":347,"code":599,"health":764,"complexity":797,"deadCode":849},"2026-11-14T05:21:34.109Z","The workspace to stay in the loop and on top of agents - shape, decide, plan, annotate, review code, share with team, and send all feedback to agents with one click. ","TypeScript","main",6135,{"sources":259,"lines":260,"tokens":275,"clones":261,"duplicatedLines":262,"duplicatedTokens":276,"percentage":263,"percentageTokens":277},12767316,925885,7.25,[279,286,293,300,307,314,321,328,334,340],{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},"typescript",3681,917108,5061,55863,6.09,{"format":287,"sources":288,"lines":289,"clones":290,"duplicatedLines":291,"percentage":292},"tsx",1368,414506,3906,44534,10.74,{"format":294,"sources":295,"lines":296,"clones":297,"duplicatedLines":298,"percentage":299},"json",167,54751,1305,43743,79.89,{"format":301,"sources":302,"lines":303,"clones":304,"duplicatedLines":305,"percentage":306},"css",110,19267,92,1211,6.29,{"format":308,"sources":309,"lines":310,"clones":311,"duplicatedLines":312,"percentage":313},"yaml",51,8300,50,699,8.42,{"format":315,"sources":316,"lines":317,"clones":318,"duplicatedLines":319,"percentage":320},"markdown",258,42437,33,420,0.99,{"format":322,"sources":323,"lines":324,"clones":325,"duplicatedLines":326,"percentage":327},"markup",44,4076,31,227,5.57,{"format":329,"sources":330,"lines":331,"clones":332,"duplicatedLines":257,"percentage":333},"bash",80,10236,10,1.06,{"format":335,"sources":336,"lines":337,"clones":332,"duplicatedLines":338,"percentage":339},"html",30,2758,87,3.15,{"format":341,"sources":342,"lines":343,"clones":344,"duplicatedLines":345,"percentage":346},"javascript",34,5943,8,124,2.09,[348,374,412,433,471,481,503,528,540,573],{"format":280,"lines":349,"tokens":350,"first":351,"others":355,"copies":360,"excerpt":361,"kind":373},1986,10121,{"name":352,"start":353,"end":354},"apps\u002Fhook\u002Fhooks\u002Fmod\u002Finbox-contract.ts",11,1996,[356],{"name":357,"start":358,"end":359},"packages\u002Fshared\u002Finbox\u002Fconnection.ts",56,2041,2,{"lines":362,"total":349},[363,364,365,366,367,368,369,370,371,372],"export const INBOX_TOOL_NAME = 'plannotator_inbox'","","\u002F**"," * The Inbox MCP tools the agent tool may carry, in the order it lists them."," * Only those the running Inbox offers become actions; an Inbox without one"," * (an older binary) simply has no such action."," *\u002F","export const INBOX_TOOL_ACTIONS = [","  'send_message',","  'read_thread',","code",{"format":294,"lines":375,"tokens":376,"first":377,"others":381,"copies":398,"excerpt":399,"kind":411},66,206,{"name":378,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1001.json",7,72,[382,384,386,388,390,392,394,396],{"name":383,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1002.json",{"name":385,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1003.json",{"name":387,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1004.json",{"name":389,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1005.json",{"name":391,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1006.json",{"name":393,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1007.json",{"name":395,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1008.json",{"name":397,"start":379,"end":380},"packages\u002Fshared\u002Finbox\u002Ffixtures\u002Fthread-state\u002Fv1\u002Fgen-seed-1009.json",24,{"lines":400,"total":375},[401,402,403,404,405,406,407,408,409,410],"\"seed\": 1001,","\"clock\": {","  \"start\": \"2026-10-12T10:00:00.000Z\",","  \"step_ms\": 1000","},","\"known_violations\": [],","\"steps\": [","  {","    \"event\": {","      \"type\": \"agent_message\",","tests",{"format":280,"lines":413,"tokens":414,"first":415,"others":419,"copies":360,"excerpt":424,"kind":373},885,4672,{"name":416,"start":417,"end":418},"apps\u002Fhook\u002Fhooks\u002Fmod\u002Ftool.ts",13,897,[420],{"name":421,"start":422,"end":423},"packages\u002Fshared\u002Fplannotator-tool.ts",68,952,{"lines":425,"total":413},[426,364,427,364,428,429,364,430,431,432],"export const PLANNOTATOR_TOOL_NAME = 'plannotator'","export type PlannotatorToolAction = 'annotate' | 'review' | 'last' | 'list' | 'close'","\u002F** The actions that open a review page. *\u002F","export type PlannotatorToolOpenAction = 'annotate' | 'review' | 'last'","export interface PlannotatorToolInput {","  action: PlannotatorToolAction","  \u002F**",{"format":287,"lines":434,"tokens":435,"first":436,"others":440,"copies":470,"kind":411},6,67,{"name":437,"start":438,"end":439},"packages\u002Finbox\u002Fack.test.tsx",78,83,[441,445,447,451,455,459,463,467],{"name":442,"start":443,"end":444},"packages\u002Finbox\u002FactionNoteRefusal.test.tsx",82,86,{"name":446,"start":435,"end":380},"packages\u002Finbox\u002Farchived.test.tsx",{"name":448,"start":449,"end":450},"packages\u002Finbox\u002FattachmentsHeader.test.tsx",58,63,{"name":452,"start":453,"end":454},"packages\u002Finbox\u002Fcompose.test.tsx",73,77,{"name":456,"start":457,"end":458},"packages\u002Finbox\u002FdecisionMode.test.tsx",90,94,{"name":460,"start":461,"end":462},"packages\u002Finbox\u002FfileBack.test.tsx",74,79,{"name":464,"start":465,"end":466},"packages\u002Finbox\u002FfirstRunNotifications.test.tsx",113,117,{"name":468,"start":302,"end":469},"packages\u002Finbox\u002FfullScreenComposer.test.tsx",114,41,{"format":280,"lines":472,"tokens":473,"first":474,"others":478,"copies":360,"kind":411},321,2370,{"name":475,"start":476,"end":477},"apps\u002Fpi-extension\u002FserverReview-draft-pr.test.ts",19,339,[479],{"name":480,"start":476,"end":477},"packages\u002Fserver\u002Freview-draft-pr.test.ts",{"format":287,"lines":344,"tokens":454,"first":482,"others":484,"copies":492,"kind":411},{"name":437,"start":483,"end":398},17,[485,487,491,493,494,497,499,501],{"name":442,"start":486,"end":476},12,{"name":488,"start":489,"end":490},"packages\u002Finbox\u002FclickToRefresh.test.tsx",20,27,{"name":456,"start":476,"end":492},26,{"name":460,"start":483,"end":398},{"name":464,"start":495,"end":496},21,28,{"name":468,"start":498,"end":336},23,{"name":500,"start":417,"end":489},"packages\u002Finbox\u002FfullScreenThread.test.tsx",{"name":502,"start":476,"end":492},"packages\u002Finbox\u002FlistDeltaWindow.test.tsx",{"format":287,"lines":504,"tokens":505,"first":506,"others":508,"copies":527,"kind":411},16,186,{"name":437,"start":323,"end":507},59,[509,512,514,518,520,521,522,524],{"name":442,"start":510,"end":511},39,55,{"name":446,"start":513,"end":507},43,{"name":515,"start":516,"end":517},"packages\u002Finbox\u002FboardSend.test.tsx",54,69,{"name":488,"start":519,"end":435},52,{"name":464,"start":462,"end":458},{"name":502,"start":309,"end":375},{"name":523,"start":309,"end":375},"packages\u002Finbox\u002FpinnedThreads.test.tsx",{"name":525,"start":526,"end":311},"packages\u002Finbox\u002FprojectLabelHeld.test.tsx",35,9,{"format":280,"lines":529,"tokens":530,"first":531,"others":535,"copies":360,"kind":373},241,1459,{"name":532,"start":533,"end":534},"apps\u002Fpi-extension\u002Fserver\u002FserverReview.ts",1664,1904,[536],{"name":537,"start":538,"end":539},"packages\u002Fserver\u002Freview.ts",1712,1960,{"format":280,"lines":527,"tokens":330,"first":541,"others":544,"copies":483,"kind":411},{"name":542,"start":457,"end":543},"tests\u002Fe2e\u002Finbox-archived.spec.ts",98,[545,549,553,556,560,564,566,570],{"name":546,"start":547,"end":548},"tests\u002Fe2e\u002Finbox-ended-session.spec.ts",156,164,{"name":550,"start":551,"end":552},"tests\u002Fe2e\u002Finbox-open-questions.spec.ts",107,115,{"name":554,"start":555,"end":422},"tests\u002Fe2e\u002Finbox-order.spec.ts",60,{"name":557,"start":558,"end":559},"tests\u002Fe2e\u002Finbox-reask.spec.ts",173,181,{"name":561,"start":562,"end":563},"tests\u002Fe2e\u002Finbox-reload-hosts.spec.ts",125,133,{"name":565,"start":555,"end":422},"tests\u002Fe2e\u002Finbox-reply-drafts.spec.ts",{"name":567,"start":568,"end":569},"tests\u002Fe2e\u002Finbox-row-badges.spec.ts",97,105,{"name":571,"start":572,"end":345},"tests\u002Fe2e\u002Finbox-search-type-filter.spec.ts",116,{"format":280,"lines":353,"tokens":469,"first":574,"others":577,"copies":486,"kind":411},{"name":575,"start":576,"end":496},"packages\u002Fserver\u002Finbox-ack.test.ts",18,[578,581,584,587,589,591,593,595],{"name":579,"start":476,"end":580},"packages\u002Fserver\u002Finbox-cards.test.ts",29,{"name":582,"start":516,"end":583},"packages\u002Fserver\u002Finbox-compose.test.ts",64,{"name":585,"start":496,"end":586},"packages\u002Fserver\u002Finbox-continues.test.ts",38,{"name":588,"start":417,"end":498},"packages\u002Fserver\u002Finbox-linked-page.test.ts",{"name":590,"start":398,"end":342},"packages\u002Fserver\u002Finbox-mcp-window.test.ts",{"name":592,"start":398,"end":342},"packages\u002Fserver\u002Finbox-notify-origin.test.ts",{"name":594,"start":483,"end":490},"packages\u002Fserver\u002Finbox-priority.test.ts",{"name":596,"start":597,"end":598},"packages\u002Fserver\u002Finbox-restart.test.ts",268,280,{"sources":265,"lines":600,"tokens":601,"clones":602,"duplicatedLines":603,"duplicatedTokens":604,"percentage":264,"percentageTokens":605,"formats":606,"topClones":650,"generated":757},668588,4405119,1035,16270,99966,2.27,[607,613,619,625,628,633,637,641,645,648],{"format":280,"sources":608,"lines":609,"clones":610,"duplicatedLines":611,"percentage":612},1742,431758,714,12576,2.91,{"format":287,"sources":614,"lines":615,"clones":616,"duplicatedLines":617,"percentage":618},647,211263,288,3346,1.58,{"format":301,"sources":620,"lines":621,"clones":622,"duplicatedLines":623,"percentage":624},14,2911,15,139,4.77,{"format":335,"sources":580,"lines":626,"clones":332,"duplicatedLines":338,"percentage":627},2748,3.17,{"format":341,"sources":629,"lines":630,"clones":255,"duplicatedLines":631,"percentage":632},25,3982,101,2.54,{"format":634,"sources":360,"lines":635,"clones":360,"duplicatedLines":622,"percentage":636},"powershell",2971,0.5,{"format":329,"sources":620,"lines":638,"clones":639,"duplicatedLines":434,"percentage":640},4911,1,0.12,{"format":642,"sources":580,"lines":643,"clones":644,"duplicatedLines":644,"percentage":644},"astro",6690,0,{"format":646,"sources":255,"lines":647,"clones":644,"duplicatedLines":644,"percentage":644},"python",1277,{"format":649,"sources":360,"lines":454,"clones":644,"duplicatedLines":644,"percentage":644},"sql",[651,657,663,678,690,701,711,720,734,748],{"format":280,"lines":349,"tokens":350,"first":652,"others":653,"copies":360,"excerpt":655,"kind":373},{"name":352,"start":353,"end":354},[654],{"name":357,"start":358,"end":359},{"lines":656,"total":349},[363,364,365,366,367,368,369,370,371,372],{"format":280,"lines":413,"tokens":414,"first":658,"others":659,"copies":360,"excerpt":661,"kind":373},{"name":416,"start":417,"end":418},[660],{"name":421,"start":422,"end":423},{"lines":662,"total":413},[426,364,427,364,428,429,364,430,431,432],{"format":280,"lines":529,"tokens":530,"first":664,"others":665,"copies":360,"excerpt":667,"kind":373},{"name":532,"start":533,"end":534},[666],{"name":537,"start":538,"end":539},{"lines":668,"total":529},[669,670,364,671,672,673,674,675,676,677],"    : buildAgentReviewUserMessage(launchPatch, launchDiffType as DiffType, userMessageOptions, launchPrMeta, isCustomReview);","const jobLabel = workspacePrompt ? \"Workspace Review\" : \"Code Review\";","if (provider === \"codex\") {","    const model = typeof config?.model === \"string\" && config.model ? config.model : undefined;","    const reasoningEffort = typeof config?.reasoningEffort === \"string\" && config.reasoningEffort ? config.reasoningEffort : undefined;","    const fastMode = config?.fastMode === true;","    const outputPath = generateOutputPath();","    const prompt = composeCodexReviewPrompt(userMessage, reviewProfile);","    const command = await buildCodexCommand({ cwd, outputPath, prompt, model, reasoningEffort, fastMode });",{"format":280,"lines":679,"tokens":680,"first":681,"others":685,"copies":360,"kind":373},96,587,{"name":682,"start":683,"end":684},"apps\u002Fpi-extension\u002Fserver\u002Freference.ts",143,238,[686],{"name":687,"start":688,"end":689},"packages\u002Fserver\u002Freference-handlers.ts",129,224,{"format":280,"lines":380,"tokens":691,"first":692,"others":696,"copies":360,"kind":373},506,{"name":693,"start":694,"end":695},"apps\u002Fpi-extension\u002Fserver\u002Fagent-jobs.ts",752,823,[697],{"name":698,"start":699,"end":700},"packages\u002Fserver\u002Fagent-jobs.ts",793,864,{"format":280,"lines":702,"tokens":703,"first":704,"others":707,"copies":360,"kind":373},81,492,{"name":693,"start":705,"end":706},543,623,[708],{"name":698,"start":709,"end":710},577,659,{"format":280,"lines":470,"tokens":712,"first":713,"others":716,"copies":360,"kind":373},365,{"name":693,"start":714,"end":715},286,326,[717],{"name":698,"start":718,"end":719},307,346,{"format":287,"lines":629,"tokens":558,"first":721,"others":724,"copies":733,"kind":373},{"name":722,"start":723,"end":547},"packages\u002Fui\u002Fcomponents\u002FAgentToolAnnouncementDialog.tsx",132,[725,729],{"name":726,"start":727,"end":728},"packages\u002Fui\u002Fcomponents\u002FAskSessionAnnouncementDialog.tsx",212,236,{"name":730,"start":731,"end":732},"packages\u002Fui\u002Fcomponents\u002FTerminalToolsAnnouncementDialog.tsx",348,372,3,{"format":280,"lines":620,"tokens":735,"first":736,"others":740,"copies":733,"kind":373},172,{"name":737,"start":738,"end":739},"apps\u002Fpi-extension\u002Fserver\u002FserverAnnotate.ts",1214,1227,[741,745],{"name":742,"start":743,"end":744},"apps\u002Fpi-extension\u002Fserver\u002FserverPlan.ts",498,511,{"name":532,"start":746,"end":747},3945,3958,{"format":280,"lines":358,"tokens":749,"first":750,"others":753,"copies":360,"kind":373},329,{"name":532,"start":751,"end":752},1503,1558,[754],{"name":537,"start":755,"end":756},1550,1604,{"files":758,"minified":644,"sample":759},4,[760,761,762,763],"apps\u002Fhook\u002Fhooks\u002Fmod\u002Finbox-default-tools.ts","packages\u002Finbox\u002Fpulls\u002FgithubShortcodes.ts","packages\u002Fshared\u002Fshape\u002Fstamp-data.ts","packages\u002Fsystem\u002Fsrc\u002Frecipe\u002Ftext.ts",{"score":266,"grade":267,"size":765,"dimensions":769},{"lines":766,"files":767,"class":768},1359704,5125,"XL",[770,783,791],{"id":771,"source":772,"value":773,"adjusted":773,"lines":774,"halfLife":775,"formats":776,"excluded":779,"weight":639,"score":782},"duplication","jscpd",7.4,100598,8.5,[280,287,329,642,341,634,777,646,649,778],"batch","docker",[322,780,781],"text","data",54.7,{"id":784,"source":772,"value":785,"adjusted":785,"lines":786,"halfLife":787,"coverage":788,"weight":789,"score":790},"dead-code",0.7,8915,7.5,99.6,0.996,94.1,{"id":792,"source":772,"value":793,"adjusted":794,"lines":795,"halfLife":311,"weight":639,"score":796},"complexity",70.6,70.5,959904,37.6,{"total":798,"mean":799,"files":800},313745,61.2,[801,806,811,816,821,826,831,836,840,844],{"path":802,"complexity":803,"lines":804,"bytes":805},"packages\u002Finbox\u002FApp.tsx",3833,8899,488677,{"path":807,"complexity":808,"lines":809,"bytes":810},"packages\u002Finbox\u002Fcomponents\u002FThread.tsx",3749,8161,471862,{"path":812,"complexity":813,"lines":814,"bytes":815},"packages\u002Fshared\u002Finbox\u002Fstore.ts",3285,8733,457054,{"path":817,"complexity":818,"lines":819,"bytes":820},"packages\u002Fserver\u002Finbox.ts",2879,7287,453042,{"path":822,"complexity":823,"lines":824,"bytes":825},"packages\u002Feditor\u002FApp.tsx",2433,8514,398471,{"path":827,"complexity":828,"lines":829,"bytes":830},"packages\u002Freview-editor\u002FApp.tsx",2030,7269,362810,{"path":832,"complexity":833,"lines":834,"bytes":835},"packages\u002Finbox\u002Fcomponents\u002FAttachmentPane.tsx",1326,3283,173134,{"path":537,"complexity":837,"lines":838,"bytes":839},1163,4706,237821,{"path":532,"complexity":841,"lines":842,"bytes":843},1159,4359,190178,{"path":845,"complexity":846,"lines":847,"bytes":848},"packages\u002Finbox\u002Fcompose\u002FComposeDialog.tsx",1069,2045,109351,{"percentage":850,"findings":851,"files":852,"byCategory":853,"largest":864},0.66,221,5219,[854,857,859,861],{"category":855,"count":856},"unused-file",70,{"category":858,"count":449},"unused-export",{"category":860,"count":576},"unused-symbol",{"category":862,"count":863},"unused-import",75,[865,868,871,874,877,880,883,886,888,891],{"category":855,"path":866,"name":364,"line":639,"lines":867},"packages\u002Fserver\u002Fdoc-any-path.scenarios.ts",572,{"category":855,"path":869,"name":364,"line":639,"lines":870},"packages\u002Fui\u002Fcomponents\u002FLanding.tsx",496,{"category":855,"path":872,"name":364,"line":639,"lines":873},"packages\u002Fserver\u002Fannotate-draft.scenarios.ts",479,{"category":855,"path":875,"name":364,"line":639,"lines":876},"packages\u002Fserver\u002Fstate-route-guards.scenarios.ts",450,{"category":855,"path":878,"name":364,"line":639,"lines":879},"packages\u002Fserver\u002Flinked-document-drafts.scenarios.ts",434,{"category":855,"path":881,"name":364,"line":639,"lines":882},"packages\u002Fserver\u002Fannotate-bundle.scenarios.ts",409,{"category":855,"path":884,"name":364,"line":639,"lines":885},"packages\u002Fsystem\u002Fscripts\u002Fmeasure.mjs",390,{"category":855,"path":887,"name":364,"line":639,"lines":477},"packages\u002Finbox\u002FcssCascade.testing.ts",{"category":855,"path":889,"name":364,"line":639,"lines":890},"packages\u002Finbox\u002Fkeyboard\u002Fmodel.ts",319,{"category":855,"path":892,"name":364,"line":639,"lines":893},"packages\u002Fserver\u002Fref-card-route.scenarios.ts",315,{"\u002Ftrending\u002Fbacknotprop\u002Fplannotator":895},{"views":644,"visits":644},1794633803516]