mindexec-ai 0.2.385

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.
Files changed (99) hide show
  1. package/README.md +354 -0
  2. package/codex-runtime.js +1339 -0
  3. package/launch-bridge.cjs +236 -0
  4. package/package.json +77 -0
  5. package/port-guard.cjs +232 -0
  6. package/remote-fast/osx-arm64/mindexec-remote-fast +0 -0
  7. package/remote-fast/osx-arm64/mindexec-remote-fast.deps.json +24 -0
  8. package/remote-fast/osx-arm64/mindexec-remote-fast.dll +0 -0
  9. package/remote-fast/osx-arm64/mindexec-remote-fast.runtimeconfig.json +13 -0
  10. package/remote-fast/osx-x64/mindexec-remote-fast +0 -0
  11. package/remote-fast/osx-x64/mindexec-remote-fast.deps.json +24 -0
  12. package/remote-fast/osx-x64/mindexec-remote-fast.dll +0 -0
  13. package/remote-fast/osx-x64/mindexec-remote-fast.runtimeconfig.json +13 -0
  14. package/remote-fast/win-x64/mindexec-remote-fast.deps.json +24 -0
  15. package/remote-fast/win-x64/mindexec-remote-fast.dll +0 -0
  16. package/remote-fast/win-x64/mindexec-remote-fast.exe +0 -0
  17. package/remote-fast/win-x64/mindexec-remote-fast.runtimeconfig.json +20 -0
  18. package/remote-hub.js +3106 -0
  19. package/scripts/auth-session-smoke.mjs +262 -0
  20. package/scripts/remote-agent-managed-smoke.mjs +291 -0
  21. package/scripts/remote-agent-package-smoke.mjs +64 -0
  22. package/scripts/remote-agent-ws-smoke.mjs +202 -0
  23. package/scripts/remote-fast-live-rate-smoke.mjs +355 -0
  24. package/scripts/remote-fast-mdm-browser-smoke.mjs +476 -0
  25. package/scripts/remote-fleet-render-smoke.mjs +1491 -0
  26. package/scripts/remote-frame-ws-smoke.mjs +234 -0
  27. package/scripts/remote-http-smoke.mjs +592 -0
  28. package/scripts/remote-hub-identity-smoke.mjs +146 -0
  29. package/scripts/remote-hub-scale-smoke.mjs +124 -0
  30. package/scripts/remote-hub-smoke.mjs +631 -0
  31. package/scripts/remote-input-ws-smoke.mjs +263 -0
  32. package/scripts/remote-registry-follower-smoke.mjs +752 -0
  33. package/scripts/setup-tree-sitter-grammars.mjs +80 -0
  34. package/server.js +15709 -0
  35. package/start-bridge.bat +32 -0
  36. package/start-bridge.sh +81 -0
  37. package/tree-sitter-grammars/README.md +18 -0
  38. package/tree-sitter-grammars/tree-sitter-c_sharp.wasm +0 -0
  39. package/tree-sitter-grammars/tree-sitter-go.wasm +0 -0
  40. package/tree-sitter-grammars/tree-sitter-java.wasm +0 -0
  41. package/tree-sitter-grammars/tree-sitter-javascript.wasm +0 -0
  42. package/tree-sitter-grammars/tree-sitter-python.wasm +0 -0
  43. package/tree-sitter-grammars/tree-sitter-rust.wasm +0 -0
  44. package/tree-sitter-grammars/tree-sitter-tsx.wasm +0 -0
  45. package/tree-sitter-grammars/tree-sitter-typescript.wasm +0 -0
  46. package/wwwroot/_headers +73 -0
  47. package/wwwroot/_redirects +1 -0
  48. package/wwwroot/appsettings.json +83 -0
  49. package/wwwroot/assets/AdminDashboardPage-B2vz2Px9.css +1 -0
  50. package/wwwroot/assets/AdminDashboardPage-DnuCHywn.js +1 -0
  51. package/wwwroot/assets/AppSidebar-DU2OgSiv.js +2 -0
  52. package/wwwroot/assets/AuthPages-BrH6kRcv.css +1 -0
  53. package/wwwroot/assets/AuthPages-Dgezl7Vj.js +1 -0
  54. package/wwwroot/assets/CodePage-7kgZlB3O.js +87 -0
  55. package/wwwroot/assets/CodePage-Bncc352E.css +1 -0
  56. package/wwwroot/assets/CompanyCorePage-ChBnq1ve.css +1 -0
  57. package/wwwroot/assets/CompanyCorePage-CzIZIIU_.js +13 -0
  58. package/wwwroot/assets/ExecutionModePage-B-etp_mc.js +18 -0
  59. package/wwwroot/assets/ExecutionModePage-TLuld9l3.css +1 -0
  60. package/wwwroot/assets/LaunchLeadCapture-Bx9LM0IX.js +1 -0
  61. package/wwwroot/assets/LaunchLeadCapture-CiRI1shz.css +1 -0
  62. package/wwwroot/assets/MarketingHome-BsyerRpe.js +1 -0
  63. package/wwwroot/assets/MarketingHome-DPzaYzA_.css +1 -0
  64. package/wwwroot/assets/MindCanvas-DtqOZnoW.css +1 -0
  65. package/wwwroot/assets/MindCanvas-zEDXzaxW.js +49 -0
  66. package/wwwroot/assets/PlanMasterPage-CJ36rep-.css +1 -0
  67. package/wwwroot/assets/PlanMasterPage-NZ_mPvaE.js +4 -0
  68. package/wwwroot/assets/PricingPage-Cg_0i_ZR.css +1 -0
  69. package/wwwroot/assets/PricingPage-Ylrn8l2g.js +1 -0
  70. package/wwwroot/assets/ToolPages-3M2KqA9k.js +28 -0
  71. package/wwwroot/assets/ToolPages-DIB187pZ.css +1 -0
  72. package/wwwroot/assets/YouTubeSearchPage-COv1oAA7.js +4 -0
  73. package/wwwroot/assets/YouTubeSearchPage-IPPa_BIH.css +1 -0
  74. package/wwwroot/assets/app-runtime-xD2Z3NdN.js +1 -0
  75. package/wwwroot/assets/canvas-runtime-BbicBcOj.js +44 -0
  76. package/wwwroot/assets/code-agent-runtime-B5PPZd1t.js +74 -0
  77. package/wwwroot/assets/executionModeSettings-NJqurj-o.js +1 -0
  78. package/wwwroot/assets/index-CQMKCp-t.js +2 -0
  79. package/wwwroot/assets/index-yNpEK-gp.css +1 -0
  80. package/wwwroot/assets/marketingTools-DN_rnHeB.js +4 -0
  81. package/wwwroot/assets/mindCanvasSearchWorker-BzPMsHOB.js +1 -0
  82. package/wwwroot/assets/mindexecution-mindcanvas.png +0 -0
  83. package/wwwroot/assets/mindexecution-prod-home-current.png +0 -0
  84. package/wwwroot/assets/mindexecution-prod-pricing-current.png +0 -0
  85. package/wwwroot/assets/pricingCheckoutShell-O-DnwmbU.js +1 -0
  86. package/wwwroot/assets/productionAdapterConfig-C5jfk6oG.js +1 -0
  87. package/wwwroot/assets/runtimeSettingsPersistenceProjection-BoNWmYjU.js +1 -0
  88. package/wwwroot/assets/storage-TM3YrWaj.js +1 -0
  89. package/wwwroot/assets/supabaseAuthAdapter-DA43DeSY.js +44 -0
  90. package/wwwroot/assets/toolHandoff-D5e5f7t5.js +4 -0
  91. package/wwwroot/assets/vendor-icons-DE3gIReG.js +681 -0
  92. package/wwwroot/assets/vendor-msgpack-BE8aAsr3.js +1 -0
  93. package/wwwroot/assets/vendor-react-BXzpOyCS.js +40 -0
  94. package/wwwroot/favicon.svg +7 -0
  95. package/wwwroot/index.html +22 -0
  96. package/wwwroot/manifest.webmanifest +19 -0
  97. package/wwwroot/robots.txt +4 -0
  98. package/wwwroot/service-worker.js +7 -0
  99. package/wwwroot/sitemap.xml +39 -0
@@ -0,0 +1,87 @@
1
+ import{r as f,j as e}from"./vendor-react-BXzpOyCS.js";import{g as ns,ah as is,s as _e,B as jt,j as Fr,ai as qr,z as yt,aA as Kr,aB as Or,aC as Ur,aD as zr,aE as Hr,aF as Gr,c as ws,a3 as Qr,aG as Jr,aH as Vr,E as Xr,aI as os,aJ as ds,aK as Yr,aL as Zr,aM as en}from"./canvas-runtime-BbicBcOj.js";import{R as q}from"./app-runtime-xD2Z3NdN.js";import{l as tn}from"./executionModeSettings-NJqurj-o.js";import{g as Ss,r as rt,b as ta,p as Cs,a as As,c as Ns,d as Ps,e as Rs,f as Xe,h as Is,i as Es,j as $s,k as Ms,l as Ls,m as Ds,n as Ts,o as Bs,q as _s,s as ls,t as an,u as Qt,v as ht,w as we,x as sn,y as De,z as rn,A as nn,B as on,C as Ws,D as nt,E as dn,F as cs,G as ln,H as cn,I as us,J as wt,K as un,L as pn,M as gn,N as hn,O as mn,P as fn,Q as vn,R as bn,S as xn,T as jn,U as yn,V as kn,W as wn,X as Sn,Y as Cn,Z as An,_ as Nn,$ as Pn,a0 as Rn,a1 as In,a2 as En,a3 as $n,a4 as Mn,a5 as Ln,a6 as Dn,a7 as Tn,a8 as Bn,a9 as _n,aa as Wn,ab as Fn,ac as qn,ad as Kn,ae as On,af as Un,ag as zn,ah as Hn,ai as Gn}from"./code-agent-runtime-B5PPZd1t.js";import{an as Qe,R as Wt,c as Mt,ad as Lt,ae as ps,ac as Jt,b5 as Qn,b6 as Dt,b7 as Tt,a3 as gs,b8 as St,ao as Jn,g as Ft}from"./vendor-icons-DE3gIReG.js";import"./runtimeSettingsPersistenceProjection-BoNWmYjU.js";const Bt=["Web.Search","Web.FetchPage","Browser.Actionbook","Browser.Open","Browser.Snapshot","Browser.Extract","Extract.Structured","Evidence.Save","FinalAnswer"],Vn=["web-research-evidence","source-triage","structured-extraction","evidence-save"],Xn=["evidence-first","source-backed-summary","citation-ready-records","adapter-gated-browser"],Fs=[{id:"capture-endpoint",label:"POST /capture",summary:"Use the original Cloudflare web-capture-worker endpoint only after a verified adapter is connected."},{id:"capture-auth",label:"Supabase bearer",summary:"Require a Supabase Authorization bearer before capture work can start."},{id:"capture-request",label:"url nodeId width height force",summary:"Plan the capture request shape without sending it from the React shell."},{id:"capture-safety",label:"public URL guard",summary:"Allow public http/https only; block localhost, private networks, metadata hosts, redirects, and private subresources."},{id:"capture-cache",label:"bounded force refresh",summary:"Respect the worker cache and FORCE_RECAPTURE_MIN_SECONDS before recapturing a URL."},{id:"capture-output",label:"snapshot evidence",summary:"Treat snapshotUrl, thumbnailUrl, and capturedAt as Evidence.Save inputs after adapter success."}];function Yn(){return Fs.map(t=>`- ${t.label}: ${t.summary}`)}const aa="mindexec-react-code-workflow-v1";function hs(t){const a=`code-note-review:${t.id}`,n=t.artifacts.map(o=>({workItemId:a,kind:o.startsWith("local-runtime-trace://")?"trace":o.includes("implementation-handoff")?"handoff":"artifact",summary:o,path:o})),i=n.length>0;return{reviewTitle:t.title,targetFiles:t.relatedFiles,artifacts:n,evaluations:[],upstreamWorkItems:i?[{id:a,title:t.title,status:"completed",lastOutcome:t.acceptanceCriteria||t.body||t.why}]:[{id:a,title:t.title,status:"pending"}]}}function Zn(t){var v,_,w,N,J,F,g,oe,Y,Pe,Ye,Se;const a=((v=t.capabilities)==null?void 0:v.sandboxModes)||((w=(_=t.bridge.status)==null?void 0:_.codex)==null?void 0:w.sandboxModes)||[],n=((N=t.capabilities)==null?void 0:N.providers)||((F=(J=t.bridge.status)==null?void 0:J.codex)==null?void 0:F.providers)||[],i="LegacyExec",o=n.find(Re=>Re.kind===i),d=((oe=(g=t.bridge.status)==null?void 0:g.project)==null?void 0:oe.rootPath)||((Y=t.bridge.status)==null?void 0:Y.workspace)||t.projectPath.trim(),h=[{key:"selected-command",label:"Selected command",state:t.command?"pass":"blocked",value:((Pe=t.command)==null?void 0:Pe.title)||"No selected command"},{key:"bridge-connected",label:"LocalBridge",state:t.bridge.state==="connected"?"pass":"blocked",value:t.bridge.state},{key:"bridge-token",label:"Bridge token",state:(Ye=t.bridge.status)!=null&&Ye.bridgeToken?"pass":"blocked",value:(Se=t.bridge.status)!=null&&Se.bridgeToken?"available":"missing"},{key:"workspace-write",label:"Sandbox mode",state:a.includes("workspace_write")?"pass":"blocked",value:a.join(", ")||"unknown"},{key:"legacy-provider",label:"Provider",state:(o==null?void 0:o.available)===!0?"pass":"blocked",value:(o==null?void 0:o.available)===!0?i:"LegacyExec unavailable"},{key:"project-root",label:"Project root",state:d?"pass":"blocked",value:d||"missing"},{key:"network-off",label:"Network",state:"pass",value:"networkAccessEnabled=false"},{key:"web-search-off",label:"Web search",state:"pass",value:"webSearchMode=disabled"},{key:"approval-policy",label:"Approval policy",state:"pass",value:"approvalPolicy=never for workspace_write only"}],j=h.filter(Re=>Re.state==="pass").length,b=h.filter(Re=>Re.state==="blocked").length,k=h.filter(Re=>Re.state==="warn").length;return{state:b===0?"opt-in-required":"adapter-gated",reason:b===0?"All technical checks pass; live project-write still requires the explicit opt-in smoke.":"Project-write execution stays gated until the missing checks pass.",providerKind:i,sandbox:"workspace_write",approvalPolicy:"never",webSearchMode:"disabled",networkAccessEnabled:!1,workingDirectory:d,additionalDirectories:d?[d]:[],allowedChangedFiles:["src/project-write-proof.ts"],forbiddenCommandPattern:"curl|wget|wrangler|npm publish|npm install|git push|Remove-Item|rm -rf",passCount:j,blockedCount:b,warnCount:k,checks:h}}function ei(t){let a=2166136261;for(let n=0;n<t.length;n+=1)a^=t.charCodeAt(n),a=Math.imul(a,16777619)>>>0;return a.toString(16).padStart(8,"0")}function qs(t){const a=vt(t.targetFiles).slice(0,10),n=vt(t.allowedChangedFiles).slice(0,10),i=t.diffPreview.slice(0,10),o=t.applyPlan.slice(0,10),d=t.blockedReasons.slice(0,8),h={adapterState:"draft-only",providerKind:t.providerKind||"LegacyExec",sandbox:"workspace_write",approvalPolicy:"never",networkAccessEnabled:!1,webSearchMode:"disabled"},j=[`policy=${h.adapterState}|${h.providerKind}|${h.sandbox}|${h.approvalPolicy}|network=${h.networkAccessEnabled}|webSearch=${h.webSearchMode}`,`targets=${a.join("|")}`,`allowed=${n.join("|")}`,`forbidden=${t.forbiddenCommandPattern}`,`diff=${i.map(k=>`${k.file}:${k.changeKind}:${k.summary}:${k.risk}`).join("|")}`,`apply=${o.join("|")}`,`blocked=${d.join("|")}`].join(`
2
+ `),b=ei(j);return{version:1,manifestId:`project-write-dryrun-${b}`,generatedFrom:"react-local-draft",policy:h,targetFileCount:a.length,diffPreviewCount:i.length,applyStepCount:o.length,blockedReasonCount:d.length,allowedChangedFiles:n,targetFiles:a,forbiddenCommandPattern:t.forbiddenCommandPattern,safetyDigest:b}}function ti(t){const a=vt([...t.linkedNotes.flatMap(b=>b.relatedFiles),...t.readiness.allowedChangedFiles]).slice(0,10),n=a.map(b=>{const k=t.readiness.allowedChangedFiles.includes(b);return{file:b,changeKind:k?"create":"modify",summary:k?"Create the bounded project-write proof file during the opt-in smoke.":"Candidate implementation target derived from linked Code Note context.",risk:k?"Low: disposable proof path, still requires opt-in smoke confirmation.":"Review required: only change after approval, diff inspection, and local gates."}}),i=t.readiness.checks.filter(b=>b.state==="blocked").map(b=>`${b.label}: ${b.value}`).slice(0,8),o=z(["Project-write draft for opt-in execution only.",`Language: ${t.appLanguage}`,`Objective: ${t.command.objective}`,`Constraints: ${t.command.constraints||"Use the readiness policy and linked note acceptance criteria."}`,`Planner summary: ${t.command.plannerSummary||"-"}`,t.linkedNotes.length>0?`Linked notes: ${t.linkedNotes.map(b=>`${b.title} [${b.status}]`).join("; ")}`:"Linked notes: none",`Target files: ${a.join(", ")||"-"}`,"Do not deploy Cloudflare, publish npm packages, browse the web, call billing, or mutate files outside the bounded target set."].join(`
3
+ `),1600),d=["Review the diff preview and blockers in this local draft.","Approve the draft locally only when target files and linked notes are correct.","Stage the apply plan without writing files from the React UI.","Run the explicit opt-in project-write smoke from a terminal.","Inspect changed files and command logs, then run npm run check.","Keep Cloudflare deploy and npm publish out of this flow until explicitly approved."],h=["Run the default read-only Execute Command first and inspect its summary.","Confirm linked Code Notes are approved or reviewed before live writes.","Keep networkAccessEnabled=false and webSearchMode=disabled.","Allow only the listed target/proof files to change.",`Reject command logs matching ${t.readiness.forbiddenCommandPattern}.`,"Run npm run check after any project-write proof."],j=qs({providerKind:t.readiness.providerKind,targetFiles:a,diffPreview:n,applyPlan:d,blockedReasons:i,allowedChangedFiles:t.readiness.allowedChangedFiles,forbiddenCommandPattern:t.readiness.forbiddenCommandPattern});return{adapterState:"draft-only",generatedAt:new Date().toISOString(),readinessState:t.readiness.state,approvalState:"pending-review",applyPlanState:"not-staged",providerKind:t.readiness.providerKind,sandbox:t.readiness.sandbox,approvalPolicy:t.readiness.approvalPolicy,webSearchMode:t.readiness.webSearchMode,networkAccessEnabled:t.readiness.networkAccessEnabled,workingDirectory:t.readiness.workingDirectory,additionalDirectories:t.readiness.additionalDirectories,allowedChangedFiles:t.readiness.allowedChangedFiles,forbiddenCommandPattern:t.readiness.forbiddenCommandPattern,targetFiles:a,diffPreview:n,applyPlan:d,linkedNoteIds:t.command.linkedNoteIds,blockedReasons:i,checklist:h,dryRunManifest:j,promptPreview:o,smokeCommand:"$env:MINDEXEC_CODEX_LIVE_PROJECT_WRITE_CONFIRM='I_UNDERSTAND_THIS_WRITES_PROJECT_WORKSPACE'; npm run verify:codemaster-codex-live-project-write-smoke"}}function Vt(){const t=We("code-note"),a=We("agent-command");return{selectedCommandId:a,selectedNoteId:t,lastMessage:"CodeMaster workflow restored as local React state.",commands:[{id:a,title:"Audit React parity",objective:"Compare original CodeMaster flows with the React port and queue the next implementation slice.",constraints:"Do not mutate project files from this local shell. Keep execution adapter-gated.",requestedRole:"CEO",status:"planned",runtimeProfile:ht("Use graph evidence, linked notes, and the runtime contract before proposing execution."),plannerSummary:"Use graph stats, hot files, and code notes as context before routing to a real agent adapter.",plannedSkills:["repo-audit","contract-review","runtime-verification"],plannedTools:["SearchInFiles","ReadFileRange","Code.Actionbook","GetDiagnostics","FinalAnswer"],plannedConcepts:["CodeGraph parity","adapter-gated execution","trace evidence","LocalBridge graph","React board state","Cloudflare deploy checks"],linkedNoteIds:[t],progressDigest:we({phase:{key:"react-code-workflow-restore",title:"CodeMaster parity",summary:"Default CodeMaster workflow restored as local React state.",why:"The React port needs the original planning loop before live agent execution is reattached.",gap:"Pick the next original-reference workflow slice and verify it under the React contract.",candidates:["Review contract evidence","Plan the next implementation slice"]},step:{stepNumber:1,toolName:"React.LocalState",observation:"CodeMaster command and code note drafts are available without LocalBridge execution."}})}],notes:[{id:t,title:"CodeMaster React parity slice",body:"Keep the original CodeMaster habit: write the goal as a code note, connect graph context, approve it, then hand it to execution only after evidence is ready.",kind:"Feature",status:"draft",syncState:"unlinked",plannerPhase:"manual",why:"Natural language code planning should survive the Blazor-to-React port before live agent execution is reattached.",relatedFiles:["src/App.tsx","src/lib/localBridge.ts","docs/contracts/react-runtime-contract.md"],relatedSymbols:["CodePage","RuntimeTrace","ProjectGraphSnapshot"],acceptanceCriteria:"The /code and /agent routes can create, select, edit, approve, and persist code notes plus agent command drafts without LocalBridge.",artifacts:[]}]}}function ai(){var t,a;try{const n=window.localStorage.getItem(aa);if(!n){const b=Vt();return q.emit("codegraph.workflow.loaded",{source:"default",commands:b.commands.length,notes:b.notes.length}),b}const i=JSON.parse(n),o=Vt(),d=Array.isArray(i.notes)?i.notes.map(hi).filter(Boolean):o.notes,h=Array.isArray(i.commands)?i.commands.map(b=>ri(b,d)).filter(Boolean):o.commands,j={commands:h.length>0?h:o.commands,notes:d.length>0?d:o.notes,selectedCommandId:i.selectedCommandId&&h.some(b=>b.id===i.selectedCommandId)?i.selectedCommandId:((t=h[0])==null?void 0:t.id)??null,selectedNoteId:i.selectedNoteId&&d.some(b=>b.id===i.selectedNoteId)?i.selectedNoteId:((a=d[0])==null?void 0:a.id)??null,lastMessage:String(i.lastMessage||o.lastMessage)};return q.emit("codegraph.workflow.loaded",{source:"stored",commands:j.commands.length,notes:j.notes.length}),j}catch(n){const i=Vt();return q.emit("codegraph.workflow.failed",{source:"load",message:n instanceof Error?n.message:String(n),commands:i.commands.length,notes:i.notes.length}),i}}function si(t){try{window.localStorage.setItem(aa,JSON.stringify(t)),q.emit("codegraph.workflow.saved",{commands:t.commands.length,notes:t.notes.length,selectedCommandId:t.selectedCommandId,selectedNoteId:t.selectedNoteId})}catch(a){q.emit("codegraph.workflow.failed",{source:"save",message:a instanceof Error?a.message:String(a)})}}function ri(t,a){if(!t||typeof t!="object")return null;const n=t,i=new Set(a.map(d=>d.id)),o=Ws({plannedTools:Q(n.plannedTools),plannedConcepts:Q(n.plannedConcepts)});return{id:String(n.id||We("agent-command")),title:String(n.title||"Agent"),objective:String(n.objective||""),constraints:String(n.constraints||""),requestedRole:String(n.requestedRole||"CEO"),status:mi(n.status)?n.status:"planned",runtimeProfile:wt(n.runtimeProfile),plannerSummary:String(n.plannerSummary||""),plannedSkills:Q(n.plannedSkills),plannedTools:o.plannedTools,plannedConcepts:o.plannedConcepts,linkedNoteIds:Q(n.linkedNoteIds).filter(d=>i.has(d)),linkedMissionId:n.linkedMissionId?String(n.linkedMissionId):void 0,linkedWorkItemIds:Q(n.linkedWorkItemIds),lastExecutedAt:n.lastExecutedAt?String(n.lastExecutedAt):void 0,progressDigest:Gn(n.progressDigest),researchAdapter:di(n.researchAdapter),parallelScout:ci(n.parallelScout),researchPearls:pi(n.researchPearls),projectWriteDraft:ni(n.projectWriteDraft)}}function ni(t){if(!t||typeof t!="object")return;const a=t,n=a.readinessState==="opt-in-required"?"opt-in-required":"adapter-gated",i=a.approvalState==="approved-local"||a.approvalState==="rejected-local"?a.approvalState:"pending-review",o=a.applyPlanState==="staged-local"?"staged-local":"not-staged",d=String(a.providerKind||"LegacyExec"),h=Q(a.targetFiles).slice(0,10),j=Q(a.allowedChangedFiles),b=String(a.forbiddenCommandPattern||"curl|wget|wrangler|npm publish|npm install|git push|Remove-Item|rm -rf"),k=Array.isArray(a.diffPreview)?a.diffPreview.map(oi).filter(Boolean):[],v=k.length>0?k.slice(0,10):h.map(J=>({file:J,changeKind:"verify-only",summary:"Reloaded draft target awaiting a refreshed diff preview.",risk:"Review required before opt-in execution."})),_=Q(a.applyPlan).length>0?Q(a.applyPlan).slice(0,10):["Review the refreshed diff preview and blockers.","Approve locally before staging the apply plan.","Run the explicit opt-in project-write smoke from a terminal.","Run npm run check after any project-write proof."],w=Q(a.blockedReasons).slice(0,8),N=ii(a.dryRunManifest,{providerKind:d,targetFiles:h,diffPreview:v,applyPlan:_,blockedReasons:w,allowedChangedFiles:j,forbiddenCommandPattern:b});return{adapterState:"draft-only",generatedAt:a.generatedAt?String(a.generatedAt):new Date().toISOString(),readinessState:n,approvalState:i,approvalUpdatedAt:a.approvalUpdatedAt?String(a.approvalUpdatedAt):void 0,approvalNote:a.approvalNote?String(a.approvalNote):void 0,applyPlanState:o,applyPlanStagedAt:a.applyPlanStagedAt?String(a.applyPlanStagedAt):void 0,providerKind:d,sandbox:"workspace_write",approvalPolicy:"never",webSearchMode:"disabled",networkAccessEnabled:!1,workingDirectory:String(a.workingDirectory||""),additionalDirectories:Q(a.additionalDirectories),allowedChangedFiles:j,forbiddenCommandPattern:b,targetFiles:h,diffPreview:v,applyPlan:_,linkedNoteIds:Q(a.linkedNoteIds),blockedReasons:w,checklist:Q(a.checklist).slice(0,10),dryRunManifest:N,promptPreview:z(String(a.promptPreview||""),1800),smokeCommand:String(a.smokeCommand||"$env:MINDEXEC_CODEX_LIVE_PROJECT_WRITE_CONFIRM='I_UNDERSTAND_THIS_WRITES_PROJECT_WORKSPACE'; npm run verify:codemaster-codex-live-project-write-smoke")}}function ii(t,a){const n=qs(a);if(!t||typeof t!="object")return n;const i=t;return i.safetyDigest&&i.safetyDigest!==n.safetyDigest,n}function oi(t){if(!t||typeof t!="object")return null;const a=t,n=a.changeKind==="create"||a.changeKind==="modify"||a.changeKind==="verify-only"?a.changeKind:"verify-only";return{file:String(a.file||""),changeKind:n,summary:String(a.summary||"Project write target awaiting review."),risk:String(a.risk||"Review required before opt-in execution.")}}function di(t){if(!t||typeof t!="object")return;const a=t,n=["idle","running","done","blocked","error"].includes(String(a.status))?a.status:"idle",i=a.adapterState==="localbridge-connected"||a.adapterState==="error"?a.adapterState:"adapter-gated";return{status:n,adapterState:i,query:String(a.query||""),source:a.source?String(a.source):void 0,retrievedAt:a.retrievedAt?String(a.retrievedAt):void 0,resultCount:Number.isFinite(Number(a.resultCount))?Number(a.resultCount):void 0,topTitle:a.topTitle?String(a.topTitle):void 0,topUrl:a.topUrl?String(a.topUrl):void 0,topSnippet:a.topSnippet?String(a.topSnippet):void 0,fetchTitle:a.fetchTitle?String(a.fetchTitle):void 0,fetchUrl:a.fetchUrl?String(a.fetchUrl):void 0,fetchContentPreview:a.fetchContentPreview?String(a.fetchContentPreview):void 0,fetchContentType:a.fetchContentType?String(a.fetchContentType):void 0,fetchTruncated:a.fetchTruncated===!0,browserSessionId:a.browserSessionId?String(a.browserSessionId):void 0,browserTitle:a.browserTitle?String(a.browserTitle):void 0,browserUrl:a.browserUrl?String(a.browserUrl):void 0,browserContentType:a.browserContentType?String(a.browserContentType):void 0,browserLinkCount:Number.isFinite(Number(a.browserLinkCount))?Number(a.browserLinkCount):void 0,browserButtonCount:Number.isFinite(Number(a.browserButtonCount))?Number(a.browserButtonCount):void 0,browserInputCount:Number.isFinite(Number(a.browserInputCount))?Number(a.browserInputCount):void 0,browserHeadingCount:Number.isFinite(Number(a.browserHeadingCount))?Number(a.browserHeadingCount):void 0,browserSnapshotPreview:a.browserSnapshotPreview?String(a.browserSnapshotPreview):void 0,browserSnapshotTruncated:a.browserSnapshotTruncated===!0,browserExtractScope:a.browserExtractScope?String(a.browserExtractScope):void 0,browserExtractPreview:a.browserExtractPreview?String(a.browserExtractPreview):void 0,browserExtractTruncated:a.browserExtractTruncated===!0,structuredEvidence:li(a.structuredEvidence),providerWarnings:Q(a.providerWarnings),error:a.error?String(a.error):void 0}}function li(t){if(!t||typeof t!="object")return;const a=t,n=a.evidenceSaveState==="saved"||a.evidenceSaveState==="saving"||a.evidenceSaveState==="error"?a.evidenceSaveState:"draft-only";return{schema:a.schema==="pricing"?"pricing":"facts",sourceType:a.sourceType==="browser"||a.sourceType==="adapter"?a.sourceType:"web",title:String(a.title||"Structured evidence draft"),summary:String(a.summary||""),facts:Q(a.facts).slice(0,8),dates:Q(a.dates).slice(0,8),links:Q(a.links).slice(0,8),prices:Q(a.prices).slice(0,8),excerpt:String(a.excerpt||""),query:String(a.query||""),sourceUrl:a.sourceUrl?String(a.sourceUrl):void 0,charCount:Number.isFinite(Number(a.charCount))?Number(a.charCount):0,structuredAt:a.structuredAt?String(a.structuredAt):new Date().toISOString(),evidenceKind:String(a.evidenceKind||"web_source"),evidenceSaveState:n,evidenceSaveId:a.evidenceSaveId?String(a.evidenceSaveId):void 0,evidenceSavePath:a.evidenceSavePath?String(a.evidenceSavePath):void 0,evidenceSaveSha256:a.evidenceSaveSha256?String(a.evidenceSaveSha256):void 0,evidenceSavedAt:a.evidenceSavedAt?String(a.evidenceSavedAt):void 0,evidenceSaveError:a.evidenceSaveError?String(a.evidenceSaveError):void 0}}function ci(t){if(!t||typeof t!="object")return;const a=t,n=Array.isArray(a.definitions)?a.definitions.map(ui).filter(Boolean):[];if(n.length!==0)return{adapterState:"adapter-gated",trancheIndex:Je(a.trancheIndex,1),targetPearls:Je(a.targetPearls,30),pearlsPerTranche:Je(a.pearlsPerTranche,5),concurrencyLimit:Je(a.concurrencyLimit,2),maxIterations:Je(a.maxIterations,6),definitions:n.slice(0,5),brief:String(a.brief||""),plannedAt:a.plannedAt?String(a.plannedAt):new Date().toISOString()}}function ui(t){if(!t||typeof t!="object")return null;const a=t,n=a.status==="succeeded"||a.status==="blocked"?a.status:"planned";return{key:String(a.key||We("scout")),title:String(a.title||"Parallel scout"),focus:String(a.focus||""),goal:String(a.goal||""),status:n,summary:String(a.summary||"")}}function pi(t){if(!t||typeof t!="object")return;const a=t,n=a.source==="structured-evidence"||a.source==="parallel-scout"||a.source==="local-sample"?a.source:"planner-summary",i=Array.isArray(a.candidates)?a.candidates.map(gi).filter(Boolean):[];return{source:n,adapterState:"local-draft",trancheIndex:Je(a.trancheIndex,1),targetPearls:Je(a.targetPearls,30),pearlsPerTranche:Je(a.pearlsPerTranche,5),candidates:i.slice(0,12),acceptedCount:ms(a.acceptedCount,i.filter(o=>!o.duplicate).length),duplicateRejectCount:ms(a.duplicateRejectCount,i.filter(o=>o.duplicate).length),extractedAt:a.extractedAt?String(a.extractedAt):new Date().toISOString()}}function gi(t){if(!t||typeof t!="object")return null;const a=t,n={id:String(a.id||We("research-pearl")),angleKey:String(a.angleKey||""),lane:String(a.lane||"General"),title:String(a.title||a.claim||"Research pearl"),claim:String(a.claim||""),whyNew:String(a.whyNew||""),evidence:String(a.evidence||""),executionMethod:String(a.executionMethod||""),expectedImpact:String(a.expectedImpact||""),risk:String(a.risk||""),nextExperiment:String(a.nextExperiment||""),score:Number.isFinite(Number(a.score))?Number(a.score):void 0,duplicate:a.duplicate===!0,markdown:String(a.markdown||"")};return n.markdown=n.markdown||Kt(n),n.angleKey.trim()||n.claim.trim()?n:null}function Je(t,a){const n=Number(t);return!Number.isFinite(n)||n<=0?a:Math.max(1,Math.round(n))}function ms(t,a){const n=Number(t);return!Number.isFinite(n)||n<0?Math.max(0,Math.round(a)):Math.max(0,Math.round(n))}function hi(t){if(!t||typeof t!="object")return null;const a=t;return{id:String(a.id||We("code-note")),title:String(a.title||"New Code Note"),body:String(a.body||""),kind:String(a.kind||"Feature"),status:fi(a.status)?a.status:"draft",syncState:vi(a.syncState)?a.syncState:"unlinked",plannerPhase:a.plannerPhase?String(a.plannerPhase):void 0,why:String(a.why||""),relatedFiles:Q(a.relatedFiles),relatedSymbols:Q(a.relatedSymbols),acceptanceCriteria:String(a.acceptanceCriteria||""),artifacts:Q(a.artifacts),linkedMissionId:a.linkedMissionId?String(a.linkedMissionId):void 0,linkedWorkItemId:a.linkedWorkItemId?String(a.linkedWorkItemId):void 0,lastAppliedAt:a.lastAppliedAt?String(a.lastAppliedAt):void 0}}function Q(t){return Array.isArray(t)?t.map(a=>String(a).trim()).filter(Boolean).slice(0,12):[]}function mi(t){return t==="planned"||t==="running"||t==="done"||t==="blocked"}function fi(t){return t==="draft"||t==="proposed"||t==="approved"||t==="queued"||t==="implementing"||t==="implemented"||t==="reviewed"||t==="blocked"||t==="deprecated"||t==="out-of-sync"}function vi(t){return t==="planned"||t==="unlinked"||t==="in-sync"||t==="out-of-sync"||t==="needs-review"||t==="orphaned"}function We(t){return`${t}-${Math.random().toString(36).slice(2,9)}`}function kt(t){return t.split(/\r?\n|,/).map(a=>a.trim()).filter(Boolean).slice(0,12)}function Xt(t){return t.split(/\r?\n|,/).map(a=>a.trim()).filter(Boolean).slice(0,48)}function Ge(t){return t.join(`
4
+ `)}function fs(t,a){const n=t.trim();return n?n.length>44?`${n.slice(0,41).trimEnd()}...`:n:a}function bi(t){return t==="lite"?"low":t==="deep"?"high":"medium"}function z(t,a=1800){const n=t.trim();return n.length<=a?n:`${n.slice(0,a-3).trimEnd()}...`}function ft(t){if(!t)return!1;const a=Xe({plannedTools:t.plannedTools,plannedConcepts:t.plannedConcepts});return nt(t.requestedRole)==="Researcher"||a.actualTools.some(n=>n.startsWith("Web.")||n.startsWith("Browser."))}function xi(t){return t==="done"?.9:t==="running"?.58:t==="blocked"?.34:.18}function ji(t){var i,o;const a=(o=(i=t.progressDigest)==null?void 0:i.metadata.toolName)==null?void 0:o.trim();if(a)return a;if(t.status==="blocked")return"GetDiagnostics";if(t.status==="done")return"FinalAnswer";const n=Xe({plannedTools:t.plannedTools,plannedConcepts:t.plannedConcepts}).actualTools.find(d=>/web\.search|browser\.|searchinfiles|readfile|applypatch|runbuild|runtests|getdiagnostics|code\.actionbook|test\.runbook/i.test(d));return n||(ft(t)?"Web.Search":"ReadFile")}function yi(t,a){var j,b;const n=ft(t),i=Number(((j=t.progressDigest)==null?void 0:j.metadata.evidenceGain)||0),o=a.filter(k=>k.artifacts.length>0||k.status==="approved"||k.status==="reviewed").length,d=t.status==="blocked"?[t.plannerSummary||t.constraints||"Selected command is blocked."]:[],h=[...t.plannedConcepts,...t.plannedSkills,...a.map(k=>k.acceptanceCriteria||k.title)].filter(Boolean).slice(0,3);return De({goal:t.objective,activeGoal:t.title,currentFocus:t.plannerSummary||t.title,rationale:((b=t.progressDigest)==null?void 0:b.metadata.phaseTitle)||t.plannerSummary||t.constraints,blockers:d,nextActions:h,missionProgress:xi(t.status),isResearchContext:n,evidenceCount:Math.max(0,i,o),requiredEvidence:n?2:1,toolName:ji(t),completed:t.status==="done"})}function mt(t){if(!t||!ft(t))return!1;const a=[t.objective,t.constraints,t.plannerSummary,...t.plannedConcepts,...t.plannedSkills].join(" ").toLowerCase();return["business","startup","opportunity","monetize","monetization","revenue","profit","cash","pricing","customer","channel","distribution","acquisition","sales","willingness to pay","time-to-cash","micro-saas","saas","mvp","landing page","playbook","marketing","growth","viral","seo","audience","go to market","gtm","launch","partnership","community"].some(n=>a.includes(n))}function ki(t,a){const n=jn({template:"market",query:t.objective,includeSnapshot:!0,maxChars:6e3,followText:"Extract citation-ready evidence for the selected CodeMaster command."});return[t.plannerSummary||"Research command planned from the React CodeMaster shell.","","WebResearch local pack:","- Discover candidates with Web.Search.","- Use Browser.Actionbook or Browser.Snapshot when interaction matters.","- Condense raw page material through Extract.Structured.","- Save durable, citation-ready source records with Evidence.Save.","- When visual page evidence is needed, stage the original web-capture-worker request without launching Browser Run.","","Web Capture adapter plan:",...Yn(),"",mt(t)?"Parallel Scout plan: build five adapter-gated Deep Research lanes before the main run consumes successful scout outcomes.":"Parallel Scout plan: only business opportunity research commands receive Deep Research scout lanes.","",n,"",`Current graph context: ${a.nodes} nodes, ${a.edges} edges, ${a.files} files, ${a.symbols} symbols.`,"Adapter boundary: React plans the research workflow locally and does not browse, download, save evidence, or claim live web results until a verified adapter runs."].join(`
5
+ `)}function Ks(t,a,n=!1){return t.map(i=>{const o=i.status,d=o==="done";return{id:i.id,name:i.title,status:o,activeGoal:d?"":i.objective||i.title,pendingGoalCount:o==="planned"?1:0,isArchived:d,pauseRequested:o==="blocked"||i.id===a&&n,stopRequested:!1,actorBusy:!1,isRunning:o==="running"}})}function Os(t){return t.map(a=>{const n=a.status==="planned"?[a.objective||a.title]:[];return{id:a.id,name:a.title,status:a.status,activeGoal:a.status==="running"?a.objective||a.title:"",pendingGoals:n,isArchived:a.status==="done",canDelegate:Ss(nt(a.requestedRole)).canDelegate,isRunning:a.status==="running",pauseRequested:a.status==="blocked",stopRequested:!1}})}function Us(t,a=!1){const n=t.status==="blocked";return{agentId:t.id,name:t.title,activeGoal:t.status==="done"?"":t.objective||t.title,pendingGoalCount:t.status==="planned"||n?1:0,leaseRetryAttempt:n?1:0,leaseRetryTicket:n?1:0,scheduledTicket:n?1:0,leaseRetryAvailableAtIso:n?t.lastExecutedAt||new Date(0).toISOString():null,isArchived:t.status==="done",pauseRequested:a,stopRequested:!1}}function Oe(t){return t.linkedMissionId||t.linkedNoteIds[0]||t.plannedSkills[0]||nt(t.requestedRole)||"local-mission"}function sa(t){return t.status==="done"?.9:t.status==="blocked"?.35:t.status==="running"?.65:.55}function zs(t,a){const n=a?`${a.id}:work`:"";return t.map((i,o)=>{const d=i.status,h=d==="done",j=d==="blocked",b=d==="running",k=d==="planned"||j,v=`${i.id}:work`;return{id:i.id,name:i.title,currentMissionId:Oe(i),activeGoal:b?i.objective||i.title:"",pendingGoalCount:k?1:0,completedRunCount:h?1:0,failedRunCount:j?1:0,averageEvaluationScore:sa(i),leaseRetryAvailableAtIso:j&&i.lastExecutedAt||void 0,isArchived:h,isRunning:b,sequence:o,currentWorkItemId:b?v:void 0,pendingWorkItemIds:k?[v]:n&&i.id===(a==null?void 0:a.id)?[n]:[]}})}function Hs(t){return t.status==="planned"?"Planning":t.status==="running"?"Running":t.status==="blocked"?"WaitingTool":t.status==="done"?"Completed":"Idle"}function Gs(t){return t.map(a=>({id:a.id,name:a.title,state:Hs(a),lastHeartbeatAtIso:a.status==="blocked"?a.lastExecutedAt:void 0,isArchived:a.status==="done",currentWorkItemId:a.status==="running"?`${a.id}:work`:void 0}))}function Qs(t){return t.filter(a=>a.status==="running").map(a=>({id:`${a.id}:work`,title:a.title,leaseOwnerAgentId:a.id,leaseAcquiredAtIso:a.lastExecutedAt,leaseHeartbeatAtIso:a.lastExecutedAt}))}function Js(t){return t.map((a,n)=>{const i=a.status,o=i==="done",d=i==="blocked",h=i==="running",j=i==="planned";return{id:a.id,name:a.title,sequence:n,state:j?"Queued":Hs(a),activeGoal:h||d?a.objective||a.title:"",pendingGoalCount:j||d?1:0,lastHeartbeatAtIso:h||d?a.lastExecutedAt:void 0,currentWorkItemId:h?`${a.id}:work`:void 0,currentMissionId:Oe(a),isArchived:o,pauseRequested:!1,stopRequested:!1,runtimeTaskActive:!1,actorBusy:!1,dispatchQueued:!1,leaseRetryAvailableAtIso:d?a.lastExecutedAt:void 0}})}function Vs(t){return t.map((a,n)=>({id:a.id,name:a.title,sequence:n,isArchived:a.status==="done",pauseRequested:a.status==="blocked",stopRequested:!1,currentMailboxId:a.status==="running"?`${a.id}:mailbox-current`:void 0,pendingMailboxIds:a.status==="planned"?[`${a.id}:mailbox-pending`]:[]}))}function Xs(t){return t.flatMap((a,n)=>{var o,d;const i={agentId:a.id,missionId:Oe(a),workItemId:`${a.id}:work`,sequence:n+1,createdAtIso:a.lastExecutedAt||void 0};return a.status==="blocked"?[{...i,id:`${a.id}:approval-mailbox`,kind:"ApprovalRequest",summary:a.plannerSummary||"Run approval gate",payload:""}]:a.status==="planned"?[{...i,id:`${a.id}:instruction-mailbox`,kind:"Instruction",summary:a.title,payload:a.objective||a.title}]:a.status==="running"?[{...i,id:`${a.id}:result-mailbox`,kind:"Result",summary:((o=a.progressDigest)==null?void 0:o.content)||a.plannerSummary||"Runtime result mailbox",payload:((d=a.progressDigest)==null?void 0:d.content)||""}]:[]})}function Ys(t){return t.status==="done"?"Completed":t.status==="blocked"?"Failed":t.status==="running"?"Running":"Queued"}function Zs(t){return t.status==="done"?"Completed":t.status==="blocked"?"Failed":t.status==="running"?"Running":"Routed"}function wi(t){return t.status==="done"?"Completed":t.status==="blocked"?"Failed":t.status==="running"?"Running":"Queued"}function Si(t){return t.status==="done"||t.status==="blocked"?"Running":t.status==="running"?"Routed":"Pending"}function er(t,a){var d,h;const n=Oe(t),i=`${t.id}:work`,o=a.map((j,b)=>({id:`${t.id}:note:${j.id}`,title:j.title,goal:j.acceptanceCriteria||j.body||j.why,assignedAgentId:t.id,state:j.status==="approved"?"Completed":b===0&&t.status==="running"?"Running":"Queued",lastOutcome:j.artifacts[0]||j.body||j.why}));return gn({mission:{id:n,objective:t.objective||t.title,normalizedInstruction:t.plannerSummary,targetAgentId:t.id,previousState:Si(t),rootWorkItemId:i,completedAtIso:t.status==="done"?t.lastExecutedAt:void 0,lastOutcome:((d=t.progressDigest)==null?void 0:d.content)||t.plannerSummary},workItems:[{id:i,title:t.title,goal:t.objective,assignedAgentId:t.id,state:wi(t),lastOutcome:((h=t.progressDigest)==null?void 0:h.content)||t.plannerSummary},...o]})}function ra(t,a){var d;const n=Oe(t),i=`${t.id}:work`,o=((d=t.progressDigest)==null?void 0:d.content)||t.plannerSummary;return hn({workItem:{id:i,missionId:n,title:t.title,goal:t.objective,assignedAgentId:t.id,state:Ys(t),lastOutcome:o,completedAtIso:t.lastExecutedAt},mission:{id:n,objective:t.objective||t.title,state:Zs(t),rootWorkItemId:i,lastOutcome:o,completedAtIso:t.lastExecutedAt,workItemIds:[i]},workspaceFiles:a.map(h=>({workItemId:i,missionId:n,agentId:t.id,path:h.relatedFiles[0]||`${h.id}.md`,title:h.title,summary:h.why||h.acceptanceCriteria||h.body,content:h.body||h.acceptanceCriteria,kind:h.kind==="code"?"code":void 0})),filter:{missionId:n,workItemId:i,limit:6},structuredEvaluationAvailable:!!t.progressDigest})}function Ci(t){return t.flatMap(a=>a.relatedFiles.map((n,i)=>({nodeId:`${a.id}:file:${i}`,filePath:n,label:a.title})))}function tr(t,a,n=rt({skillIds:t.plannedSkills,userInstruction:`${t.objective}
6
+ ${t.plannerSummary}`})){var k;const i=`${t.id}:structured-work`,o=Oe(t),d=((k=t.progressDigest)==null?void 0:k.content)||t.plannerSummary,h=a.slice(0,5).map(v=>({title:v.title,goal:v.acceptanceCriteria||v.body||v.why||v.title,roleHint:t.requestedRole,isRoot:!1})),j=JSON.stringify({entryRole:t.requestedRole,workItems:[{title:t.title,goal:t.objective,roleHint:t.requestedRole,isRoot:!0},...h]}),b=t.status==="done"?JSON.stringify({verdict:"success",score:1,notes:d||"Completed locally."}):t.status==="blocked"?JSON.stringify({verdict:"blocked",score:.25,notes:d||"Blocked locally."}):"";return fn({request:{userInstruction:t.objective,contextRefs:Ci(a),targetAgentId:t.id,targetRole:t.requestedRole,skillIds:t.plannedSkills},skills:n,rawPlanJson:j,rawEvaluationJson:b,workItem:{id:i,title:t.title,goal:t.objective,stateText:t.status,roleHint:t.requestedRole,lastOutcome:d},mission:{id:o,objective:t.objective||t.title,stateText:t.status,lastOutcome:d,targetRole:t.requestedRole},timeline:[{category:"planner",message:t.plannerSummary},...t.progressDigest?[{category:"progress",message:t.progressDigest.content}]:[]],artifacts:a.flatMap(v=>v.artifacts.map(_=>({workItemId:i,kind:"local-code-note",title:v.title,summary:_,path:_,content:v.body||v.acceptanceCriteria||v.why}))),missionWorkItems:[{id:i,title:t.title,goal:t.objective,stateText:t.status,roleHint:t.requestedRole,lastOutcome:d},...a.map(v=>({id:`${t.id}:note:${v.id}`,title:v.title,goal:v.acceptanceCriteria||v.body||v.why,stateText:v.status,roleHint:t.requestedRole,lastOutcome:v.artifacts[0]||v.body||v.why}))]})}function ar(t,a,n=rt({skillIds:t.plannedSkills,userInstruction:`${t.objective}
7
+ ${t.plannerSummary}`})){var v,_;const i=Oe(t),o=`${t.id}:work`,d=Number.isFinite(Date.parse(t.lastExecutedAt||""))?Date.parse(t.lastExecutedAt||""):0,h=w=>new Date(d+w*1e3).toISOString(),j=ta({role:t.requestedRole,skills:n,missionObjective:t.objective,workItemTitle:t.title,workItemGoal:t.plannerSummary}),b=[t.objective,t.plannerSummary,j].filter(Boolean).join(`
8
+ `),k=ra(t,a);return mn({agentId:t.id,missionId:i,workItemId:o,nowIso:t.lastExecutedAt||void 0,missions:[{id:i,objective:t.objective||t.title,stateText:Zs(t),rootWorkItemId:o,lastOutcome:((v=t.progressDigest)==null?void 0:v.content)||t.plannerSummary}],workItems:[{id:o,missionId:i,title:t.title,goal:b,stateText:Ys(t),roleHint:t.requestedRole,lastOutcome:((_=t.progressDigest)==null?void 0:_.content)||t.plannerSummary}],activity:[{id:`${t.id}:activity:planner`,agentId:t.id,missionId:i,workItemId:o,timestampIso:h(1),category:"planner",message:t.plannerSummary||t.objective,toolName:"MissionStructuredTask"},...t.progressDigest?[{id:`${t.id}:activity:progress`,agentId:t.id,missionId:i,workItemId:o,timestampIso:h(2),category:t.progressDigest.metadata.phaseKey||"progress",message:t.progressDigest.content,toolName:t.progressDigest.metadata.toolName||"StepDigest"}]:[],...a.slice(0,8).map((w,N)=>({id:`${t.id}:activity:note:${w.id}`,agentId:t.id,missionId:i,workItemId:o,timestampIso:h(N+3),category:`note:${w.status}`,message:w.acceptanceCriteria||w.body||w.why||w.title,toolName:w.kind==="code"?"CodeNote":"CanvasNote"}))],artifacts:k.artifacts,evaluations:k.evaluations})}function sr(t,a,n){const i=Xe({plannedTools:t.plannedTools,plannedConcepts:t.plannedConcepts});return bn({objective:t.objective,plannerSummary:t.plannerSummary,requestedRole:t.requestedRole,plannedTools:i.actualTools,linkedFiles:a.flatMap(o=>o.relatedFiles),linkedNoteCount:a.length,validationCommand:nr(t),workingDir:".",executionMode:n})}function rr(t,a,n,i){const o=Xe({plannedTools:t.plannedTools,plannedConcepts:t.plannedConcepts});return xn({command:{id:t.id,title:t.title,objective:t.objective,constraints:t.constraints,requestedRole:t.requestedRole,status:t.status,plannerSummary:t.plannerSummary,plannedSkills:t.plannedSkills,plannedTools:o.actualTools,plannedConcepts:o.conceptHints,linkedNoteIds:t.linkedNoteIds},linkedNotes:a.map(d=>({id:d.id,title:d.title,body:d.body,kind:d.kind,status:d.status,why:d.why,relatedFiles:d.relatedFiles,relatedSymbols:d.relatedSymbols,acceptanceCriteria:d.acceptanceCriteria,artifacts:d.artifacts})),allCommandCount:n.commands.length,allNoteCount:n.notes.length,executionMode:i})}function nr(t){const a=Xe({plannedTools:t.plannedTools,plannedConcepts:t.plannedConcepts}).actualTools;return a.some(n=>n.toLowerCase().includes("getdiagnostics"))?"npx tsc --noEmit -p tsconfig.json --pretty false":a.some(n=>n.toLowerCase().includes("runtests"))?"npm test":"npm run build"}function ir(t,a){const n=Xe({plannedTools:t.plannedTools,plannedConcepts:t.plannedConcepts});return vn({runtimeProfile:t.runtimeProfile,plannedTools:n.actualTools,executionMode:a,validationCommand:nr(t)})}function or(t,a=[]){var n;return[t.title,t.objective,t.constraints,t.plannerSummary,(n=t.progressDigest)==null?void 0:n.content,...t.plannedSkills,...t.plannedTools,...t.plannedConcepts,...a.flatMap(i=>[i.title,i.body,i.why,i.acceptanceCriteria,i.relatedFiles.join(" "),i.relatedSymbols.join(" ")])].filter(Boolean).join(`
9
+ `)}function Ai(t,a,n,i,o,d=[t],h=a,j="Append",b="Concept"){var Te,Ce,Z;const k=a.length>0?a.map((C,xe)=>[`Note ${xe+1}: ${C.title}`,`Status: ${C.status}`,`Why: ${C.why||"-"}`,`Body: ${C.body||"-"}`,`Acceptance: ${C.acceptanceCriteria||"-"}`,`Files: ${C.relatedFiles.join(", ")||"-"}`,`Symbols: ${C.relatedSymbols.join(", ")||"-"}`].join(`
10
+ `)).join(`
11
+
12
+ `):"No linked code notes.",v=rt({skillIds:t.plannedSkills,userInstruction:`${t.objective}
13
+ ${t.plannerSummary}`}),_=ta({role:t.requestedRole,skills:v,missionObjective:t.objective,workItemTitle:t.title,workItemGoal:t.plannerSummary}),w=tr(t,a,v),N=yn(w),J=kn(Cs(`${t.objective}
14
+ ${t.plannerSummary}
15
+ ${_}`)),F=wn(t.progressDigest),g=As({title:t.title,objective:t.objective,constraints:t.constraints,requestedRole:t.requestedRole,status:t.status,plannerSummary:t.plannerSummary,plannedTools:t.plannedTools,plannedSkills:t.plannedSkills,linkedNoteCount:t.linkedNoteIds.length,progressDigest:t.progressDigest}),oe=Sn(g),Y=Ns({title:t.title,objective:t.objective,constraints:t.constraints,requestedRole:t.requestedRole,status:t.status,plannerSummary:t.plannerSummary,plannedTools:t.plannedTools,plannedSkills:t.plannedSkills,linkedNoteCount:t.linkedNoteIds.length,progressDigest:t.progressDigest,mindProjection:g}),Pe=Cn(Y),Ye=Ps({goal:t.objective,activeGoal:t.title,focus:t.plannerSummary,constraints:t.constraints,status:t.status,mindProjection:g,objectiveKernel:Y,progressDigest:t.progressDigest,canvasNotes:a.map(C=>({kind:C.kind||C.status,title:C.title,content:C.body||C.acceptanceCriteria||C.why,status:C.status}))}),Se=An(Ye),Re=Rs({mission:t.objective,activeGoal:t.title,lastResult:((Te=t.progressDigest)==null?void 0:Te.content)||t.plannerSummary,failureMessage:t.status==="blocked"?t.plannerSummary:"",succeeded:t.status!=="blocked",pendingGoalCount:t.status==="done"?0:1,artifactCount:a.filter(C=>C.artifacts.length>0||C.status==="approved").length,historicalEvaluationScore:Y.profitScore,canvasNotes:a.map(C=>({kind:C.kind||C.status,title:C.title,content:C.body||C.acceptanceCriteria||C.why,status:C.status})),mindPacket:Ye,objectiveKernel:Y,progressDigest:t.progressDigest}),dt=Nn(Re),Ot=er(t,a),Ie=Pn(Ot),Ut=ra(t,a),H=Rn(Ut),zt=ar(t,a,v),Nt=In(zt),Pt=Is({commandId:t.id,title:t.title,objective:t.objective,status:t.status,plannerSummary:t.plannerSummary,linkedNoteCount:t.linkedNoteIds.length}),Rt=En(Pt),lt=Es({agents:Vs(d),availableMailbox:Xs(d),pendingApprovalIds:d.filter(C=>C.status==="blocked").map(C=>`${C.id}:existing-approval`)}),V=$n(lt),Ue=$s({agents:Gs(d),workItems:Qs(d),selectedAgentId:t.id}),Ze=Mn(Ue),Fe=Ms({agents:Js(d),selectedAgentId:t.id,reason:"React local scheduler recovery preview"}),It=Ln(Fe),Ee=Ls({title:t.title,status:t.status,progressDigest:t.progressDigest,estimatedInputText:or(t,a),estimatedOutputText:((Ce=t.progressDigest)==null?void 0:Ce.content)||t.plannerSummary}),ct=Dn(Ee),Ht=Ds({agents:Ks(d,t.id,Ee.shouldPause),selectedAgentId:t.id}),K=Tn(Ht),et=Ts({agents:Os(d),selectedAgentIds:[t.id],instruction:t.objective||t.title,contextRefCount:a.length,queueMode:j}),$e=Bn(et),ut=Xe({plannedTools:t.plannedTools,plannedConcepts:t.plannedConcepts}),tt=_n(ut),ue=ir(t,b),Et=Wn(ue),bt=sr(t,a,b),at=Fn(bt),ve=rr(t,a,{commands:d,notes:h,selectedCommandId:t.id,selectedNoteId:((Z=a[0])==null?void 0:Z.id)||null},b),de=qn(ve),M=Bs(Us(t,Ee.shouldPause)),P=Kn(M),r=_s({sourceAgent:{id:t.id,name:t.title,currentMissionId:Oe(t),activeGoal:t.status==="done"?"":t.objective||t.title,pendingGoalCount:t.status==="planned"||t.status==="blocked"?1:0,completedRunCount:t.status==="done"?1:0,failedRunCount:t.status==="blocked"?1:0,averageEvaluationScore:sa(t),isArchived:t.status==="done",isRunning:t.status==="running",sequence:0,currentWorkItemId:`${t.id}:work`},candidates:zs(d,t),workItemId:`${t.id}:work`,workItemTitle:t.title}),G=On(r),ee=qt(t.researchAdapter),be=lr(t.parallelScout),st=cr(t.researchPearls);return["You are executing a MindExec CodeMaster command from the React port.",ws(o),"The implementation decision, risks, and next verified action must follow that language preference.","Return a concise implementation decision, risks, and the next verified action.","Do not claim that files were changed. This run is read-only through LocalBridge.","",`Role: ${t.requestedRole}`,`Objective: ${t.objective}`,`Constraints: ${t.constraints||"-"}`,`Planner Summary: ${t.plannerSummary||"-"}`,"",Un(t.requestedRole),"",zn(v),_?`
16
+ ${_}`:"",N?`
17
+ ${N}`:"","",Hn(t.runtimeProfile),tt?`
18
+ ${tt}`:"",Et?`
19
+ ${Et}`:"",at?`
20
+ ${at}`:"",de?`
21
+ ${de}`:"",J?`
22
+ ${J}`:"",F?`
23
+ ${F}`:"",oe?`
24
+ ${oe}`:"",Pe?`
25
+ ${Pe}`:"",Se?`
26
+ ${Se}`:"",dt?`
27
+ ${dt}`:"",Ie?`
28
+ ${Ie}`:"",H?`
29
+ ${H}`:"",Nt?`
30
+ ${Nt}`:"",Rt?`
31
+ ${Rt}`:"",V?`
32
+ ${V}`:"",Ze?`
33
+ ${Ze}`:"",It?`
34
+ ${It}`:"",ct?`
35
+ ${ct}`:"",K?`
36
+ ${K}`:"",$e?`
37
+ ${$e}`:"",P?`
38
+ ${P}`:"",G?`
39
+ ${G}`:"",ee?`
40
+ ${ee}`:"",be?`
41
+ ${be}`:"",st?`
42
+ ${st}`:"","",`Graph Stats: ${n.nodes} nodes, ${n.edges} edges, ${n.files} files, ${n.symbols} symbols.`,`Priority Files: ${i.files.join(", ")||"-"}`,`Priority Symbols: ${i.symbols.join(", ")||"-"}`,"",k].join(`
43
+ `)}function Ni(t,a,n){return[t.plannerSummary||"Local planner summary refreshed.",`Local run staged at ${Ve(a)}. ${n}`].join(`
44
+ `)}function vs(t,a,n,i){return[t.plannerSummary||"Bridge planner summary refreshed.",`LocalBridge Codex read-only run completed at ${Ve(a)}.`,...i,"",z(n)].filter(Boolean).join(`
45
+ `)}function dr(t){return(t.objective||t.title||"").trim().slice(0,240)||"MindExec research"}function Pi(t){var i;const a=(((i=t.parallelScout)==null?void 0:i.trancheIndex)??0)+1,n=Ri(t,a);return{adapterState:"adapter-gated",trancheIndex:a,targetPearls:30,pearlsPerTranche:5,concurrencyLimit:Math.min(2,Math.max(1,n.length)),maxIterations:6,definitions:n,brief:Mi(n),plannedAt:new Date().toISOString()}}function Ri(t,a){return mt(t)?Ii(a-1).slice(0,5).map((n,i)=>{const o=Ei(n,i),d=`${z(n,28)} scout`,h=`Find 1-2 reusable pearl candidates for lane "${n}", including a distinct AngleKey, a concrete next experiment, the counter-signal, and why this lane matters now.`;return{key:o,title:d,focus:h,goal:$i(t,{title:d,focus:h},a),status:"planned",summary:""}}):[]}function Ii(t){return t<=0?["real success workflow and hidden AI layer","pain point repeated enough to pay for","customer segment with budget and buying trigger","early failure assumption and risk","narrow wedge between incumbents"]:t===1?["overseas validation versus local applicability","problem severity and willingness-to-pay evidence","platform dependency and distribution leverage","buyer workflow urgency window","value collision and discarded family cleanup"]:t===2?["SEO and search-intent entry","community and viral proof loop","partnership and platform distribution path","outbound/inbound first-customer wedge","channel value and time-to-cash comparison"]:t===3?["pricing, offer, and package structure","manual service MVP versus automated product boundary","personalized message and first-sale scenario","customer onboarding and activation friction removal","operational playbook that can be repeated"]:t===4?["counter-signal and rejection reason strengthening","competitor moat and defense logic","contrarian strategy and asymmetric attack","failure experiment and retreat condition","pivot path to adjacent channel or market"]:["fusion strategy from multiple pearls","experiment verifiable within 7 days","30-day execution sequence priority","small-market beachhead bet","final top bet and execution playbook"]}function Ei(t,a){return`${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||`lane-${a+1}`}-${a+1}`}function $i(t,a,n){return["This is a MindCanvas parallel scout branch.","It should not be shown as a separate user-facing thread; it collects intermediate evidence so the main agent can think wider.",`Goal: ${t.objective||t.title}`,`Current tranche: ${n}`,`Branch name: ${a.title}`,`Branch focus: ${a.focus}`,"","Branch operating rules:","- Stay deep on this lane to reduce duplicate thinking across branches.","- Prefer Web.Search and Web.FetchPage before conclusions; verify at least two concrete source signals when possible.","- Use FinalAnswer only after at least two search/read steps.","- Return a compact scout summary.","- Include surviving hypothesis, discarded/weakened hypothesis, evidence signal, and the question the main run should verify next.","- For Deep Research, include pearl candidate, AngleKey, Lane, and next experiment."].join(`
46
+ `)}function Mi(t){return(Array.isArray(t)?t:(t==null?void 0:t.definitions)??[]).filter(n=>n.status==="succeeded"&&n.summary.trim()).map(n=>`- ${n.title}: ${z(n.summary,420)}`).join(`
47
+ `)}function lr(t){return t?["Parallel Scout Brief:",`Adapter: ${t.adapterState}`,`Tranche: ${t.trancheIndex}`,`Research pearls: ${t.targetPearls} target / ${t.pearlsPerTranche} per tranche`,`Concurrency limit: ${t.concurrencyLimit}`,`Max iterations per scout: ${t.maxIterations}`,"",...t.definitions.map((a,n)=>[`Scout ${n+1}: ${a.title}`,`Key: ${a.key}`,`Status: ${a.status}`,`Focus: ${a.focus}`,a.summary?`Summary: ${a.summary}`:"Summary: adapter-gated; no successful scout outcome yet."].join(`
48
+ `)),t.brief?`Successful scout outcomes:
49
+ ${t.brief}`:"Successful scout outcomes: none yet; only succeeded scouts may enter the main-run brief."].join(`
50
+
51
+ `):""}const Li={angleKey:["AngleKey","Angle Key","Angle"],lane:["Lane","Channel","Track"],claim:["Core finding","Claim","Key finding","Finding"],whyNew:["Why new","Why this is new","Novelty"],evidence:["Evidence","Source evidence","Signal"],executionMethod:["Execution method","Execution","How to execute","Method"],expectedImpact:["Expected impact","Impact","Upside"],risk:["Risk","Risk / counterargument","Counterargument","Counter-signal"],nextExperiment:["Next experiment","Experiment","Next test","Next step"],score:["Score","Confidence"]};function Di(t){var j,b;const a=Math.max(1,((j=t.parallelScout)==null?void 0:j.trancheIndex)||((b=t.researchPearls)==null?void 0:b.trancheIndex)||1),n=_i(Ti(t)),i=Bi(t,n.length),o=n.length>0?Ki(n):Oi(t),d=o.filter(k=>!k.duplicate).length,h=o.filter(k=>k.duplicate).length;return{source:o.length>0?i:"planner-summary",adapterState:"local-draft",trancheIndex:a,targetPearls:30,pearlsPerTranche:5,candidates:o,acceptedCount:d,duplicateRejectCount:h,extractedAt:new Date().toISOString()}}function Ti(t){var a,n;return[t.plannerSummary,(a=t.researchAdapter)!=null&&a.structuredEvidence?Ui(t.researchAdapter.structuredEvidence):"",((n=t.parallelScout)==null?void 0:n.brief)||""].filter(Boolean).join(`
52
+
53
+ `)}function Bi(t,a){var n,i;return a>0&&((n=t.parallelScout)!=null&&n.brief)?"parallel-scout":(i=t.researchAdapter)!=null&&i.structuredEvidence?"structured-evidence":"planner-summary"}function _i(t){var d,h,j;const a=t.replace(/\r/g,`
54
+ `).trim();if(!a)return[];const n=/^#{2,3}\s*Pearl\s+(?<index>\d{1,3})\s*(?:[\s.:|\-\u00b7]+(?<heading>[^\n]+))?$/gim,i=Array.from(a.matchAll(n));if(i.length===0)return[];const o=[];for(let b=0;b<i.length;b+=1){const k=i[b],v=Number(k.index||0)+k[0].length,_=b+1<i.length?Number(i[b+1].index||a.length):a.length,w=Wi(a.slice(v,_)),N=Fi(((d=k.groups)==null?void 0:d.heading)||""),J=w.claim||w.finding||w.coreFinding||"",F=Zt(N.title||J||`Pearl ${((h=k.groups)==null?void 0:h.index)||b+1}`),g=Zt(w.lane||N.lane||"General"),oe=w.angleKey||na(`${g} ${F}`);if(!J.trim())continue;const Y={id:`research-pearl-${String(((j=k.groups)==null?void 0:j.index)||b+1).padStart(2,"0")}`,angleKey:oe,lane:g,title:F,claim:z(J,520),whyNew:z(w.whyNew||"The source material suggests a distinct leverage point that should be validated before execution.",520),evidence:z(w.evidence||"Additional citation-ready source evidence is needed before this leaves draft state.",520),executionMethod:z(w.executionMethod||"Turn this into a small, observable experiment before committing product work.",420),expectedImpact:z(w.expectedImpact||"Impact is unverified until a real adapter-backed experiment returns evidence.",360),risk:z(w.risk||"The signal may be weak, duplicated, or too broad without narrower source evidence.",360),nextExperiment:z(w.nextExperiment||"Run one bounded validation step and attach the source result.",360),score:qi(w.score),duplicate:!1,markdown:""};Y.markdown=Kt(Y),o.push(Y)}return o}function Wi(t){const a=new Map;for(const[d,h]of Object.entries(Li))for(const j of h)a.set(bs(j),d);const n={};let i="";const o=t.replace(/\r/g,`
55
+ `).split(`
56
+ `);for(const d of o){const h=d.trimEnd(),j=h.match(/^\s*(?:[-*]\s*)?([A-Za-z][A-Za-z0-9 /_-]{1,48})\s*:\s*(.*)$/),b=j?bs(j[1]):"",k=b&&a.get(b)||"";if(k){i=k,n[k]=[n[k],(j==null?void 0:j[2])||""].filter(Boolean).join(`
57
+ `).trim();continue}i&&h.trim()&&(n[i]=[n[i],h.trim()].filter(Boolean).join(`
58
+ `).trim())}return n}function bs(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"")}function Fi(t){const a=Zt(t),n=a.split(/\s*(?:\u00b7|\|)\s*/).map(i=>i.trim()).filter(Boolean);return n.length>=2?{lane:n[0],title:n.slice(1).join(" - ")}:{lane:"",title:a}}function Zt(t){return t.replace(/^\s*Pearl\s+\d{1,3}\s*[\s.:|\-\u00b7]*/i,"").replace(/^\s*\d{1,3}\s*[\s.:|\-\u00b7]*/i,"").replace(/\s+/g," ").trim()}function qi(t){if(!t)return;const a=t.match(/\d+(?:\.\d+)?/);if(!a)return;const n=Number(a[0]);return Number.isFinite(n)?n:void 0}function Ki(t){const a=[],n=[];for(const i of t.slice(0,12)){const o=a.some(h=>zi(i,h)),d={...i,duplicate:o};d.markdown=Kt(d),n.push(d),!o&&a.length<5&&a.push(d)}return n}function Oi(t){var o;const a=(o=t.researchAdapter)==null?void 0:o.structuredEvidence;if(!a)return[];const n=z(a.title||t.title||"Structured evidence pearl",72),i={id:"research-pearl-structured-01",angleKey:na(`${a.schema} ${a.query||n}`),lane:a.schema==="pricing"?"Pricing":"Evidence",title:n,claim:z(a.summary||a.facts[0]||a.excerpt,520),whyNew:z(a.facts[1]||"This draft condenses adapter evidence into a reusable business-research pearl candidate.",420),evidence:z([a.sourceUrl?`Source: ${a.sourceUrl}`:"",...a.facts.slice(0,3)].filter(Boolean).join(`
59
+ `),520),executionMethod:"Convert the source-backed claim into one bounded validation action before generating report nodes.",expectedImpact:a.schema==="pricing"?"Could clarify willingness-to-pay or packaging before build work.":"Could reduce uncertainty before choosing the next business wedge.",risk:"This is a single local draft from structured evidence and still needs stronger adapter-backed comparison.",nextExperiment:"Run or attach at least one more source-backed adapter result, then compare duplicate and counter-signal strength.",score:void 0,duplicate:!1,markdown:""};return i.markdown=Kt(i),[i]}function Ui(t){return["## Pearl 01 | Evidence | Structured evidence draft",`AngleKey: ${na(`${t.schema} ${t.query||t.title}`)}`,`Lane: ${t.schema==="pricing"?"Pricing":"Evidence"}`,`Core finding: ${t.summary||t.facts[0]||t.excerpt}`,`Why new: ${t.facts[1]||"Structured evidence was extracted from an adapter result."}`,`Evidence: ${[t.sourceUrl,...t.facts.slice(0,3)].filter(Boolean).join(" / ")}`,"Execution method: Convert this into one bounded validation action.",`Expected impact: ${t.schema==="pricing"?"Clarify pricing and packaging.":"Clarify whether this is a viable wedge."}`,"Risk: Needs stronger comparison and counter-signal evidence.","Next experiment: Attach another source and compare duplicates before publishing."].join(`
60
+ `)}function Kt(t){return["**Core finding**","",t.claim,"","**Why new**","",t.whyNew,"","**Evidence**","",t.evidence,"","**Execution method**","",t.executionMethod,"","**Expected impact**","",t.expectedImpact,"","**Risk / counterargument**","",t.risk,"","**Next experiment**","",t.nextExperiment,t.score!==void 0?`
61
+ **Score**
62
+
63
+ ${t.score.toFixed(2).replace(/\.00$/,"")}`:""].filter(Boolean).join(`
64
+ `).trim()}function zi(t,a){const n=xs(t.claim,a.claim);if(n>=.72)return!0;const i=xs(t.title,a.title);return js(t.lane)===js(a.lane)&&(n>=.58||i>=.58)?!0:i>=.72&&n>=.45}function xs(t,a){const n=ea(t),i=ea(a);if(n.size===0||i.size===0)return 0;let o=0;for(const h of n)i.has(h)&&(o+=1);const d=new Set([...n,...i]).size;return d===0?0:o/d}function ea(t){const a=new RegExp("[\\p{L}\\p{N}][\\p{L}\\p{N}_-]{1,}","gu");return new Set(Array.from(t.matchAll(a)).map(n=>n[0].toLowerCase()))}function js(t){return Array.from(ea(t)).join(" ")}function na(t){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,56)||"research-pearl"}function cr(t){return t?["Research Pearl Drafts:",`Adapter: ${t.adapterState}`,`Source: ${t.source}`,`Tranche: ${t.trancheIndex}`,`Accepted: ${t.acceptedCount}`,`Duplicate rejects: ${t.duplicateRejectCount}`,"",...t.candidates.slice(0,5).map((a,n)=>[`Pearl ${n+1}: ${a.lane} | ${a.title}`,`AngleKey: ${a.angleKey}`,`Duplicate: ${a.duplicate?"yes":"no"}`,`Claim: ${a.claim}`,`Next experiment: ${a.nextExperiment}`].join(`
65
+ `))].join(`
66
+
67
+ `):""}function Hi(t,a){const n=a.fetchUrl||a.topUrl||a.browserUrl||"",i=[a.fetchContentPreview,a.browserExtractPreview,a.browserSnapshotPreview,a.topSnippet].filter(Boolean).join(`
68
+
69
+ `),o=i.replace(/\s+/g," ").trim(),d=Gi(i,8),h=Yt(i,/\b(?:20\d{2}[-/.]\d{1,2}[-/.]\d{1,2}|20\d{2}|Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\b[^.!?\n]{0,36}/gi,8),j=new RegExp("https?:\\\\/\\\\/[^\\\\s\\u0022\\u0027<>),]+","gi"),b=vt([n,...Yt(i,j,8)]).slice(0,8),k=Yt(i,/(?:[$€£]\s?\d[\d,]*(?:\.\d+)?|\b\d+(?:\.\d+)?\s?(?:USD|EUR|KRW|per month|per year|\/mo|\/month|monthly|annual|yearly|원)\b)/gi,8),v=k.length>0||/pricing|price|plan|subscription|billing|paid|free trial/i.test(i)?"pricing":"facts",_=a.topSnippet||d[0]||o||`Structured evidence draft for ${t.title}.`,w=a.fetchTitle||a.browserTitle||a.topTitle||t.title||"Structured evidence draft";return{schema:v,sourceType:a.browserSessionId?"browser":a.fetchContentPreview?"web":"adapter",title:z(w,140),summary:z(Qi(o)||_,360),facts:d,dates:h,links:b,prices:k,excerpt:z(o||_,460),query:a.query||dr(t),sourceUrl:n||void 0,charCount:i.length,structuredAt:new Date().toISOString(),evidenceKind:v==="pricing"?"pricing_evidence":"web_source",evidenceSaveState:"draft-only"}}function Gi(t,a){const n=t.replace(/\r/g,`
70
+ `).split(new RegExp("(?<=[.!?])\\s+|\\n+")).map(i=>i.replace(/\s+/g," ").trim()).filter(i=>i.length>=28&&!/^[-*#\s]+$/.test(i));return vt(n).slice(0,Math.max(1,a)).map(i=>z(i,260))}function Yt(t,a,n){return vt(Array.from(t.matchAll(a)).map(i=>i[0].trim())).slice(0,n)}function vt(t){const a=new Set,n=[];for(const i of t){const o=String(i||"").trim(),d=o.toLowerCase();!o||a.has(d)||(a.add(d),n.push(o))}return n}function Qi(t){const a=t.match(/[^.!?]{28,}[.!?]/);return a?a[0].trim():""}function qt(t){if(!t)return"";const a=t.structuredEvidence;return["LocalBridge WebResearch Evidence:",`Status: ${t.status}`,`Adapter: ${t.adapterState}`,`Query: ${t.query||"-"}`,`Source: ${t.source||"-"}`,`Top result: ${t.topTitle||"-"}${t.topUrl?` (${t.topUrl})`:""}`,t.fetchContentPreview?`Fetch preview: ${t.fetchContentPreview}`:"",t.browserSessionId?`Browser session: ${t.browserSessionId}`:"",t.browserSnapshotPreview?`Browser snapshot: ${t.browserSnapshotPreview}`:"",t.browserExtractPreview?`Browser extract (${t.browserExtractScope||"main"}): ${t.browserExtractPreview}`:"",a?`Extract.Structured draft: ${a.schema} / ${a.facts.length} facts / ${a.links.length} links / ${a.prices.length} prices`:"",a?`Evidence.Save state: ${a.evidenceSaveState}; title=${a.title}; source=${a.sourceUrl||"-"}; path=${a.evidenceSavePath||"-"}`:"",a!=null&&a.evidenceSaveSha256?`Evidence.Save sha256: ${a.evidenceSaveSha256}`:"",a!=null&&a.evidenceSaveError?`Evidence.Save error: ${a.evidenceSaveError}`:"",a!=null&&a.summary?`Structured summary: ${a.summary}`:"",t.error?`Error: ${t.error}`:""].filter(Boolean).join(`
71
+ `)}function xo(){var ca,ua,pa,ga,ha,ma,fa,va,ba,xa,ja,ya,ka,wa,Sa,Ca,Aa,Na,Pa,Ra,Ia,Ea,$a,Ma,La,Da,Ta,Ba,_a,Wa,Fa,qa,Ka,Oa,Ua,za,Ha,Ga,Qa,Ja,Va,Xa,Ya,Za,es,ts,as;const[t,a]=f.useState(()=>ns()),[n,i]=f.useState(()=>is()),[o,d]=f.useState(()=>({state:_e()?"idle":"blocked",baseUrl:ns(),message:_e()?void 0:"Hosted LocalBridge access is off."})),[h,j]=f.useState(""),[b,k]=f.useState(null),[v,_]=f.useState(null),[w,N]=f.useState(null),[J,F]=f.useState(null),[g,oe]=f.useState(()=>ai()),[Y]=f.useState(()=>tn()),[Pe,Ye]=f.useState("Compare this project graph and decide the next safest implementation slice."),[Se,Re]=f.useState("React parity work for CodeMaster agent/code-note planning"),[dt,Ot]=f.useState("feature-map"),[Ie,Ut]=f.useState("standard"),[H,zt]=f.useState(null),[Nt,Pt]=f.useState(!1),[Rt,lt]=f.useState("Local graph heuristics ready."),[V,Ue]=f.useState(null),[Ze,Fe]=f.useState(_e()?"idle":"blocked"),[It,Ee]=f.useState(_e()?"Codex capabilities not checked yet.":"Hosted LocalBridge access is off. Enable LocalBridge before reading Codex capabilities."),[ct,Ht]=f.useState(""),K=f.useRef(0),et=f.useRef(0),$e=f.useRef(0),ut=f.useRef(0),tt=f.useRef(0),ue=f.useMemo(()=>jt(o.status),[o.status]),Et=Fr(),bt=f.useMemo(()=>qr(n),[n]),at=Y.directInstructionQueueMode,ve=Y.executionMode;f.useEffect(()=>{const s=()=>i(is());return window.addEventListener("storage",s),window.addEventListener("focus",s),()=>{window.removeEventListener("storage",s),window.removeEventListener("focus",s)}},[]);const de=f.useMemo(()=>b||(v?{nodes:v.nodes,edges:v.edges,layoutHint:v.layoutHint}:null),[b,v]),M=f.useMemo(()=>{var m,x,u,p;const s=(de==null?void 0:de.nodes)||[],l=(de==null?void 0:de.edges)||[],c=s.filter(S=>["class","interface","struct","enum","record"].includes(String(S.kind||"").toLowerCase())).length;return{files:(v==null?void 0:v.totalFiles)??((x=(m=o.status)==null?void 0:m.project)==null?void 0:x.fileCount)??0,symbols:(v==null?void 0:v.totalSymbols)??0,nodes:s.length,edges:l.length,classes:c,groups:((p=(u=de==null?void 0:de.layoutHint)==null?void 0:u.groups)==null?void 0:p.length)??0}},[(ua=(ca=o.status)==null?void 0:ca.project)==null?void 0:ua.fileCount,de,v]);f.useEffect(()=>{si(g)},[g]);const P=f.useCallback((s,l,c={})=>{oe(m=>{const x=s(m);return q.emit(l,{commands:x.commands.length,notes:x.notes.length,...c}),x})},[]),r=f.useMemo(()=>g.commands.find(s=>s.id===g.selectedCommandId)??g.commands[0]??null,[g.commands,g.selectedCommandId]),G=f.useMemo(()=>Zn({command:r,bridge:o,capabilities:V,projectPath:h}),[o,V,h,r]),ee=f.useMemo(()=>r?Ss(r.requestedRole):null,[r]),be=f.useMemo(()=>r?rt({skillIds:r.plannedSkills,userInstruction:`${r.objective}
72
+ ${r.plannerSummary}`}):[],[r]),st=f.useMemo(()=>r?ta({role:r.requestedRole,skills:be,missionObjective:r.objective,workItemTitle:r.title,workItemGoal:r.plannerSummary}):"",[r,be]),Te=f.useMemo(()=>r?Cs(`${r.objective}
73
+ ${r.plannerSummary}
74
+ ${st}`):null,[r,st]),Ce=f.useMemo(()=>r?yi(r,g.notes.filter(s=>r.linkedNoteIds.includes(s.id))):null,[r,g.notes]),Z=f.useMemo(()=>r?As({title:r.title,objective:r.objective,constraints:r.constraints,requestedRole:r.requestedRole,status:r.status,plannerSummary:r.plannerSummary,plannedTools:r.plannedTools,plannedSkills:r.plannedSkills,linkedNoteCount:r.linkedNoteIds.length,progressDigest:r.progressDigest}):null,[r]),C=f.useMemo(()=>r&&Z?Ns({title:r.title,objective:r.objective,constraints:r.constraints,requestedRole:r.requestedRole,status:r.status,plannerSummary:r.plannerSummary,plannedTools:r.plannedTools,plannedSkills:r.plannedSkills,linkedNoteCount:r.linkedNoteIds.length,progressDigest:r.progressDigest,mindProjection:Z}):null,[Z,r]),xe=f.useMemo(()=>r&&Z&&C?Ps({goal:r.objective,activeGoal:r.title,focus:r.plannerSummary,constraints:r.constraints,status:r.status,mindProjection:Z,objectiveKernel:C,progressDigest:r.progressDigest,canvasNotes:g.notes.filter(s=>r.linkedNoteIds.includes(s.id)).map(s=>({kind:s.kind||s.status,title:s.title,content:s.body||s.acceptanceCriteria||s.why,status:s.status}))}):null,[Z,r,C,g.notes]),qe=f.useMemo(()=>{var s;return r&&C&&xe?Rs({mission:r.objective,activeGoal:r.title,lastResult:((s=r.progressDigest)==null?void 0:s.content)||r.plannerSummary,failureMessage:r.status==="blocked"?r.plannerSummary:"",succeeded:r.status!=="blocked",pendingGoalCount:r.status==="done"?0:1,artifactCount:g.notes.filter(l=>r.linkedNoteIds.includes(l.id)&&(l.artifacts.length>0||l.status==="approved")).length,historicalEvaluationScore:C.profitScore,canvasNotes:g.notes.filter(l=>r.linkedNoteIds.includes(l.id)).map(l=>({kind:l.kind||l.status,title:l.title,content:l.body||l.acceptanceCriteria||l.why,status:l.status})),mindPacket:xe,objectiveKernel:C,progressDigest:r.progressDigest}):null},[r,xe,C,g.notes]),X=f.useMemo(()=>r?er(r,g.notes.filter(s=>r.linkedNoteIds.includes(s.id))):null,[r,g.notes]),ae=f.useMemo(()=>r?ra(r,g.notes.filter(s=>r.linkedNoteIds.includes(s.id))):null,[r,g.notes]),O=f.useMemo(()=>r?ar(r,g.notes.filter(s=>r.linkedNoteIds.includes(s.id)),be):null,[r,be,g.notes]),Be=f.useMemo(()=>r?tr(r,g.notes.filter(s=>r.linkedNoteIds.includes(s.id)),be):null,[r,be,g.notes]),Ae=f.useMemo(()=>r?ir(r,ve):null,[ve,r]),Me=f.useMemo(()=>r?Xe({plannedTools:r.plannedTools,plannedConcepts:r.plannedConcepts}):null,[r]),ge=f.useMemo(()=>r?sr(r,g.notes.filter(s=>r.linkedNoteIds.includes(s.id)),ve):null,[ve,r,g.notes]),je=f.useMemo(()=>r?rr(r,g.notes.filter(s=>r.linkedNoteIds.includes(s.id)),{...g,commands:g.commands,notes:g.notes},ve):null,[ve,r,g.commands,g.notes]),le=f.useMemo(()=>r?Is({commandId:r.id,title:r.title,objective:r.objective,status:r.status,plannerSummary:r.plannerSummary,linkedNoteCount:r.linkedNoteIds.length}):null,[r]),he=f.useMemo(()=>r?Es({agents:Vs(g.commands),availableMailbox:Xs(g.commands),pendingApprovalIds:g.commands.filter(s=>s.status==="blocked").map(s=>`${s.id}:existing-approval`)}):null,[r,g.commands]),ye=f.useMemo(()=>r?$s({agents:Gs(g.commands),workItems:Qs(g.commands),selectedAgentId:r.id}):null,[r,g.commands]),me=f.useMemo(()=>r?Ms({agents:Js(g.commands),selectedAgentId:r.id,reason:"React local scheduler recovery preview"}):null,[r,g.commands]),L=f.useMemo(()=>{var s;return r?Ls({title:r.title,status:r.status,progressDigest:r.progressDigest,estimatedInputText:or(r,g.notes.filter(l=>r.linkedNoteIds.includes(l.id))),estimatedOutputText:((s=r.progressDigest)==null?void 0:s.content)||r.plannerSummary}):null},[r,g.notes]),pe=f.useMemo(()=>r?Ds({agents:Ks(g.commands,r.id,(L==null?void 0:L.shouldPause)===!0),selectedAgentId:r.id}):null,[L==null?void 0:L.shouldPause,r,g.commands]),fe=f.useMemo(()=>r?Ts({agents:Os(g.commands),selectedAgentIds:[r.id],instruction:r.objective||r.title,contextRefCount:r.linkedNoteIds.length,queueMode:at}):null,[at,r,g.commands]),ke=f.useMemo(()=>r?Bs(Us(r,(L==null?void 0:L.shouldPause)===!0)):null,[L==null?void 0:L.shouldPause,r]),se=f.useMemo(()=>r?_s({sourceAgent:{id:r.id,name:r.title,currentMissionId:Oe(r),activeGoal:r.status==="done"?"":r.objective||r.title,pendingGoalCount:r.status==="planned"||r.status==="blocked"?1:0,completedRunCount:r.status==="done"?1:0,failedRunCount:r.status==="blocked"?1:0,averageEvaluationScore:sa(r),isArchived:r.status==="done",isRunning:r.status==="running",sequence:0,currentWorkItemId:`${r.id}:work`},candidates:zs(g.commands,r),workItemId:`${r.id}:work`,workItemTitle:r.title}):null,[r,g.commands]),y=f.useMemo(()=>g.notes.find(s=>s.id===g.selectedNoteId)??g.notes[0]??null,[g.notes,g.selectedNoteId]),T=f.useMemo(()=>y?ls(hs(y)):null,[y]),ce=f.useMemo(()=>{const s=((v==null?void 0:v.files)||[]).slice(0,4).map(c=>c.path),l=((b==null?void 0:b.nodes)||(v==null?void 0:v.nodes)||[]).filter(c=>!["folder","file"].includes(String(c.kind||"").toLowerCase())).slice(0,6).map(c=>c.label||c.id).filter(Boolean);return{files:s,symbols:l}},[b==null?void 0:b.nodes,v==null?void 0:v.files,v==null?void 0:v.nodes]),pt=f.useMemo(()=>({graph:(H==null?void 0:H.graph)||de,files:(H==null?void 0:H.files)||(v==null?void 0:v.files)||[],recentChanges:(H==null?void 0:H.recentChanges)||[]}),[H==null?void 0:H.files,H==null?void 0:H.graph,H==null?void 0:H.recentChanges,de,v==null?void 0:v.files]),ur=f.useMemo(()=>Vi(dt,pt.graph,pt.files,pt.recentChanges,ct),[dt,ct,pt.files,pt.graph,pt.recentChanges]),Le=f.useMemo(()=>({commands:g.commands.length,plannedCommands:g.commands.filter(s=>s.status==="planned").length,runningCommands:g.commands.filter(s=>s.status==="running").length,notes:g.notes.length,proposedNotes:g.notes.filter(s=>s.status==="proposed").length,approvedNotes:g.notes.filter(s=>s.status==="approved").length,queuedNotes:g.notes.filter(s=>s.status==="queued").length,implementedNotes:g.notes.filter(s=>s.status==="implemented").length,plannedSyncNotes:g.notes.filter(s=>s.syncState==="planned").length,inSyncNotes:g.notes.filter(s=>s.syncState==="in-sync").length,outOfSyncNotes:an(g.notes).length}),[g.commands,g.notes]),pr=f.useCallback(()=>{var E;const s=Pe.trim(),l=We("agent-command"),c=y==null?void 0:y.id,m=rt({userInstruction:s||"code review validation regression"}),x=((E=m[0])==null?void 0:E.entryRole)??"CEO",u=m.length>0?m.map(A=>A.id):["code-review"],p=Qt(x,u,ht("Prefer contract evidence, linked notes, and read-only LocalBridge context before execution.")),S={id:l,title:fs(s,"Agent"),objective:s||"Decide the next implementation step from the current graph and code notes.",constraints:"Local React shell only. Do not write files or claim live agent execution until an adapter responds.",requestedRole:x,status:"planned",runtimeProfile:p,plannerSummary:[`Graph context: ${M.nodes} nodes, ${M.edges} edges, ${M.files} files. Use linked code notes as the execution brief.`,m.length>0?`Resolved mission skills: ${m.map(A=>A.displayName).join(", ")}.`:"Resolved mission skills: Code Review fallback."].join(`
75
+ `),plannedSkills:u,plannedTools:p.allowedToolNames.length>0?p.allowedToolNames.slice(0,8):["ReadFile","SearchInFiles","FinalAnswer"],plannedConcepts:["agent command","code note","React parity","mission skill catalog","LocalBridge graph","RuntimeTrace","Cloudflare Pages deploy"],linkedNoteIds:c?[c]:[],progressDigest:we({phase:{key:"agent-command-drafted",title:"Agent command drafted",summary:`Graph context: ${M.nodes} nodes, ${M.edges} edges, ${M.files} files.`,why:"A local command draft preserves intent before a verified execution adapter runs.",gap:"The command still needs planning or read-only adapter evidence before execution claims are made.",candidates:["Approve linked code notes","Reload graph context","Execute through the read-only adapter"]},step:{stepNumber:1,toolName:"CodeMaster.LocalDraft",observation:`Created local Agent Command draft with ${c?1:0} linked code notes.`}})};P(A=>({...A,commands:[S,...A.commands].slice(0,24),selectedCommandId:l,lastMessage:"Agent command draft created locally."}),"codegraph.agent.created",{id:l,role:x,skillIds:u})},[Pe,M.edges,M.files,M.nodes,y==null?void 0:y.id,P]),da=f.useCallback(()=>{if(!r)return;const s=g.notes.filter(c=>r.linkedNoteIds.includes(c.id)),l=ti({command:r,linkedNotes:s,readiness:G,appLanguage:n});P(c=>({...c,commands:c.commands.map(m=>m.id===r.id?{...m,projectWriteDraft:l}:m),lastMessage:"Project-write draft prepared locally. Live writes remain opt-in only."}),"codegraph.agent.projectWriteDraft.prepared",{id:r.id,readinessState:l.readinessState,blockedReasons:l.blockedReasons.length,targetFiles:l.targetFiles.length})},[n,r,G,P,g.notes]),gr=f.useCallback(()=>{if(!(r!=null&&r.projectWriteDraft))return;const s=new Date().toISOString();P(l=>({...l,commands:l.commands.map(c=>c.id===r.id&&c.projectWriteDraft?{...c,projectWriteDraft:{...c.projectWriteDraft,approvalState:"approved-local",approvalUpdatedAt:s,approvalNote:"Approved locally for opt-in project-write smoke staging."}}:c),lastMessage:"Project-write draft approved locally. No files were changed."}),"codegraph.agent.projectWriteDraft.approved",{id:r.id,approvedAt:s})},[r,P]),hr=f.useCallback(()=>{if(!(r!=null&&r.projectWriteDraft))return;const s=new Date().toISOString();P(l=>({...l,commands:l.commands.map(c=>c.id===r.id&&c.projectWriteDraft?{...c,projectWriteDraft:{...c.projectWriteDraft,approvalState:"rejected-local",approvalUpdatedAt:s,approvalNote:"Rejected locally. Regenerate the draft after adjusting target files or notes.",applyPlanState:"not-staged",applyPlanStagedAt:void 0}}:c),lastMessage:"Project-write draft rejected locally. No files were changed."}),"codegraph.agent.projectWriteDraft.rejected",{id:r.id,rejectedAt:s})},[r,P]),mr=f.useCallback(()=>{if(!(r!=null&&r.projectWriteDraft)||r.projectWriteDraft.approvalState!=="approved-local")return;const s=new Date().toISOString();P(l=>({...l,commands:l.commands.map(c=>c.id===r.id&&c.projectWriteDraft?{...c,projectWriteDraft:{...c.projectWriteDraft,applyPlanState:"staged-local",applyPlanStagedAt:s}}:c),lastMessage:"Project-write apply plan staged locally. Run the opt-in smoke from a terminal when ready."}),"codegraph.agent.projectWriteDraft.applyPlanStaged",{id:r.id,stagedAt:s})},[r,P]),fr=f.useCallback(()=>{if(!r)return;const s=sn(r.runtimeProfile,{runtimePrompt:"Use source-backed web research only after a verified browser/research adapter is connected. Until then, produce a plan and do not claim live browsing.",allowedToolNames:[...Bt],allowedToolPrefixes:["Browser.","Web.","Extract.","Evidence."],enabledPluginIds:["web-research","browser-automation"]});P(l=>({...l,commands:l.commands.map(c=>c.id===r.id?(()=>{var u,p;const m={...c,requestedRole:"Researcher",plannedSkills:Vn,plannedTools:[...Bt],plannedConcepts:Xn},x=ki(m,M);return{...m,status:"planned",runtimeProfile:s,plannerSummary:x,progressDigest:we({mindState:{nextActions:["Run a verified browser/research adapter","Extract structured source evidence","Save citation-ready records"],currentDecisionRationale:"Research commands need source-backed evidence before execution claims are made."},phase:De({goal:m.objective,currentFocus:m.title,rationale:"Research commands need source-backed evidence before execution claims are made.",nextActions:["Run a verified browser/research adapter","Extract structured source evidence","Save citation-ready records"],isResearchContext:!0,evidenceCount:0,requiredEvidence:2,toolName:"Web.Search"}),previousPhaseKey:(u=c.progressDigest)==null?void 0:u.metadata.phaseKey,step:{stepNumber:Number(((p=c.progressDigest)==null?void 0:p.metadata.stepNumber)||0)+1,toolName:"Browser.Actionbook",observation:x}})}})():c),lastMessage:"WebResearch pack planned locally. Live browsing and evidence saves remain adapter-gated."}),"codegraph.agent.research.planned",{id:r.id,toolCount:Bt.length,adapterState:"adapter-gated"})},[M,r,P]),vr=f.useCallback(()=>{if(!r||!mt(r))return;const s=r,l=Pi(s);P(c=>({...c,commands:c.commands.map(m=>{var x,u;return m.id===s.id?{...m,parallelScout:l,progressDigest:we({mindState:{nextActions:["Run verified parallel scout adapters when available","Accept only succeeded scout summaries into the main run","Use the lane plan to avoid repeating the same top hypothesis"],currentDecisionRationale:"Deep business research needs lane diversity before the main agent collapses the frontier."},phase:De({goal:m.objective,currentFocus:`Parallel scout tranche ${l.trancheIndex}`,rationale:"The original MindCanvas agent starts parallel scouts for business opportunity research and lets the main run consume only successful outcomes.",nextActions:l.definitions.map(p=>p.title),isResearchContext:!0,evidenceCount:0,requiredEvidence:l.pearlsPerTranche,toolName:"Web.Search"}),previousPhaseKey:(x=m.progressDigest)==null?void 0:x.metadata.phaseKey,step:{stepNumber:Number(((u=m.progressDigest)==null?void 0:u.metadata.stepNumber)||0)+1,toolName:"ParallelScout.Plan",observation:lr(l)}})}:m}),lastMessage:"Parallel scout lanes planned locally. Scout execution remains adapter-gated."}),"codegraph.agent.parallelScouts.planned",{id:s.id,trancheIndex:l.trancheIndex,scoutCount:l.definitions.length,concurrencyLimit:l.concurrencyLimit,adapterState:l.adapterState})},[r,P]),br=f.useCallback(async()=>{var x;if(!r)return;const s=r,l=++$e.current,c=dr(s),m=(u,p,S={})=>{P(E=>({...E,commands:E.commands.map(A=>{var D,R;return A.id===s.id?{...A,researchAdapter:u,progressDigest:we({mindState:{blockers:u.status==="blocked"||u.status==="error"?[u.error||"LocalBridge WebResearch adapter unavailable."]:[],nextActions:u.status==="done"?["Use the fetched preview as citation-ready context","Run read-only execution with this evidence"]:["Connect LocalBridge and retry the read-only WebResearch adapter"],currentDecisionRationale:"WebResearch evidence must come from a verified adapter before the React shell can claim source-backed results."},phase:De({goal:A.objective,currentFocus:u.query||A.title,rationale:"The React port preserves the original Web.Search/Web.FetchPage habit through a read-only adapter boundary.",blockers:u.status==="blocked"||u.status==="error"?[u.error||"LocalBridge WebResearch adapter unavailable."]:[],nextActions:u.status==="done"?["Use the fetched preview as citation-ready context","Run read-only execution with this evidence"]:["Connect LocalBridge and retry the read-only WebResearch adapter"],isResearchContext:!0,evidenceCount:u.status==="done"?Math.max(1,Math.min(2,u.resultCount||1)):0,requiredEvidence:2,toolName:u.status==="done"?"Web.FetchPage":"Web.Search",completed:u.status==="done"&&!!(u.fetchContentPreview||u.browserExtractPreview)}),previousPhaseKey:(D=A.progressDigest)==null?void 0:D.metadata.phaseKey,step:{stepNumber:Number(((R=A.progressDigest)==null?void 0:R.metadata.stepNumber)||0)+1,toolName:u.status==="done"?"Web.FetchPage":"Web.Search",observation:qt(u)}})}:A}),lastMessage:u.status==="done"?"LocalBridge WebResearch evidence preview was attached to the selected command.":u.error||"LocalBridge WebResearch remains adapter-gated."}),p,{id:s.id,query:c,adapterState:u.adapterState,status:u.status,...S})};N("research"),m({status:"running",adapterState:"adapter-gated",query:c},"codegraph.agent.research.adapter.requested");try{if(!_e()){m({status:"blocked",adapterState:"adapter-gated",query:c,error:"Hosted LocalBridge access is gated. Web.Search and Web.FetchPage remain adapter-gated."},"codegraph.agent.research.adapter.blocked");return}const u=o.state==="connected"&&o.status?o:await yt(t);if(l!==$e.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.adapter",id:s.id,seq:l});return}if(d(u),u.state!=="connected"){m({status:"blocked",adapterState:"adapter-gated",query:c,error:`${u.message||"LocalBridge is unavailable."} WebResearch remains adapter-gated.`},"codegraph.agent.research.adapter.blocked");return}const p=jt(u.status);if((x=u.status)!=null&&x.bridgeAuthRequired&&!p){m({status:"blocked",adapterState:"adapter-gated",query:c,error:"LocalBridge token unavailable. WebResearch remains adapter-gated."},"codegraph.agent.research.adapter.blocked");return}const S=await Kr(c,5,p,u.baseUrl);if(l!==$e.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.search",id:s.id,seq:l});return}const E=Array.isArray(S.items)?S.items:[],A=E.find($=>$==null?void 0:$.url);let D=null,R=null,B=null,U=null;if(A!=null&&A.url&&(D=await Or(A.url,6e3,p,u.baseUrl)),l!==$e.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.fetch",id:s.id,seq:l});return}if(A!=null&&A.url&&(R=await Ur(A.url,p,u.baseUrl)),l!==$e.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.browser.open",id:s.id,seq:l});return}if(R!=null&&R.sessionId&&(B=await zr(R.sessionId,4e3,p,u.baseUrl)),l!==$e.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.browser.snapshot",id:s.id,seq:l});return}if(R!=null&&R.sessionId&&(U=await Hr(R.sessionId,"hero",3e3,p,u.baseUrl)),l!==$e.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.browser.extract",id:s.id,seq:l});return}m({status:"done",adapterState:"localbridge-connected",query:S.query||c,source:S.source,retrievedAt:(D==null?void 0:D.retrievedAt)||S.retrievedAt||new Date().toISOString(),resultCount:E.length,topTitle:A==null?void 0:A.title,topUrl:A==null?void 0:A.url,topSnippet:A==null?void 0:A.snippet,fetchTitle:D==null?void 0:D.title,fetchUrl:(D==null?void 0:D.url)||(A==null?void 0:A.url),fetchContentPreview:D!=null&&D.content?z(D.content,900):void 0,fetchContentType:D==null?void 0:D.contentType,fetchTruncated:D==null?void 0:D.truncated,browserSessionId:R==null?void 0:R.sessionId,browserTitle:(R==null?void 0:R.title)||(B==null?void 0:B.title)||(U==null?void 0:U.title),browserUrl:(R==null?void 0:R.url)||(B==null?void 0:B.url)||(U==null?void 0:U.url),browserContentType:R==null?void 0:R.contentType,browserLinkCount:(R==null?void 0:R.linkCount)??(B==null?void 0:B.linkCount),browserButtonCount:(R==null?void 0:R.buttonCount)??(B==null?void 0:B.buttonCount),browserInputCount:(R==null?void 0:R.inputCount)??(B==null?void 0:B.inputCount),browserHeadingCount:(R==null?void 0:R.headingCount)??(B==null?void 0:B.headingCount),browserSnapshotPreview:B!=null&&B.snapshot?z(B.snapshot,900):void 0,browserSnapshotTruncated:B==null?void 0:B.truncated,browserExtractScope:U==null?void 0:U.scope,browserExtractPreview:U!=null&&U.content?z(U.content,700):void 0,browserExtractTruncated:U==null?void 0:U.truncated,providerWarnings:S.providerWarnings},"codegraph.agent.research.adapter.completed",{resultCount:E.length,topUrl:(A==null?void 0:A.url)||null})}catch(u){m({status:"error",adapterState:"error",query:c,error:u instanceof Error?u.message:String(u)},"codegraph.agent.research.adapter.failed")}finally{l===$e.current&&N(null)}},[t,o,r,P]),xr=f.useCallback(()=>{if(!(r!=null&&r.researchAdapter)||r.researchAdapter.status!=="done")return;const s=r,l=Hi(s,r.researchAdapter),c={...r.researchAdapter,structuredEvidence:l};P(m=>({...m,commands:m.commands.map(x=>{var u,p;return x.id===s.id?{...x,researchAdapter:c,progressDigest:we({mindState:{nextActions:["Review the structured evidence draft","Keep Evidence.Save gated until a verified save adapter exists","Run read-only execution with the structured evidence block"],currentDecisionRationale:"Extract.Structured can be represented locally from verified adapter evidence, while Evidence.Save remains a gated persistence step."},phase:De({goal:x.objective,currentFocus:l.title,rationale:"The original WebResearch loop condenses source evidence before saving citation-ready records.",blockers:["Evidence.Save persistence endpoint is not available through the React adapter yet."],nextActions:["Review the structured evidence draft","Keep Evidence.Save gated until a verified save adapter exists","Run read-only execution with the structured evidence block"],isResearchContext:!0,evidenceCount:l.facts.length,requiredEvidence:2,toolName:"Extract.Structured"}),previousPhaseKey:(u=x.progressDigest)==null?void 0:u.metadata.phaseKey,step:{stepNumber:Number(((p=x.progressDigest)==null?void 0:p.metadata.stepNumber)||0)+1,toolName:"Extract.Structured",observation:qt(c)}})}:x}),lastMessage:"Structured evidence draft attached locally. Evidence.Save remains gated."}),"codegraph.agent.research.structured",{id:s.id,schema:l.schema,facts:l.facts.length,links:l.links.length,prices:l.prices.length,evidenceSaveState:l.evidenceSaveState})},[r,P]),jr=f.useCallback(async()=>{var u;if(!((u=r==null?void 0:r.researchAdapter)!=null&&u.structuredEvidence))return;const s=r,l=s.researchAdapter,c=l==null?void 0:l.structuredEvidence;if(!l||!c)return;const m=++ut.current,x=(p,S,E={})=>{const A={...l,structuredEvidence:p};P(D=>({...D,commands:D.commands.map(R=>{var B,U;return R.id===s.id?{...R,researchAdapter:A,progressDigest:we({mindState:{blockers:p.evidenceSaveState==="error"?[p.evidenceSaveError||"Evidence.Save failed."]:[],nextActions:p.evidenceSaveState==="saved"?["Use the saved evidence path in the next read-only execution step","Gather another source if the claim still needs support"]:["Connect LocalBridge and retry Evidence.Save","Keep the structured draft attached locally"],currentDecisionRationale:p.evidenceSaveState==="saved"?"The strongest structured source is now persisted through the LocalBridge Evidence.Save adapter.":"Evidence.Save is attempting a bounded LocalBridge persistence step."},phase:De({goal:R.objective,currentFocus:p.title,rationale:"The original WebResearch loop persists citation-ready records after Extract.Structured.",blockers:p.evidenceSaveState==="error"?[p.evidenceSaveError||"Evidence.Save failed."]:[],nextActions:p.evidenceSaveState==="saved"?["Use saved evidence in the next run","Collect another independent source if needed"]:["Retry Evidence.Save when LocalBridge is available"],isResearchContext:!0,evidenceCount:p.evidenceSaveState==="saved"?Math.max(1,p.facts.length):p.facts.length,requiredEvidence:2,toolName:"Evidence.Save",completed:p.evidenceSaveState==="saved"}),previousPhaseKey:(B=R.progressDigest)==null?void 0:B.metadata.phaseKey,step:{stepNumber:Number(((U=R.progressDigest)==null?void 0:U.metadata.stepNumber)||0)+1,toolName:"Evidence.Save",observation:qt(A)}})}:R}),lastMessage:p.evidenceSaveState==="saved"?`Evidence saved locally at ${p.evidenceSavePath||"the LocalBridge evidence cache"}.`:p.evidenceSaveError||"Evidence.Save is running through LocalBridge."}),S,{id:s.id,evidenceSaveState:p.evidenceSaveState,...E})};N("evidence"),x({...c,evidenceSaveState:"saving",evidenceSaveError:void 0},"codegraph.agent.research.evidenceSave.requested");try{if(!_e()){x({...c,evidenceSaveState:"error",evidenceSaveError:"Hosted LocalBridge access is gated. Evidence.Save remains unavailable."},"codegraph.agent.research.evidenceSave.blocked");return}const p=o.state==="connected"&&o.status?o:await yt(t);if(m!==ut.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.evidenceSave",id:s.id,seq:m});return}if(d(p),p.state!=="connected"){x({...c,evidenceSaveState:"error",evidenceSaveError:`${p.message||"LocalBridge is unavailable."} Evidence.Save remains unavailable.`},"codegraph.agent.research.evidenceSave.blocked");return}const S=jt(p.status);if(!S){x({...c,evidenceSaveState:"error",evidenceSaveError:"LocalBridge token unavailable. Evidence.Save remains unavailable."},"codegraph.agent.research.evidenceSave.blocked");return}const E=await Gr({title:c.title,kind:c.evidenceKind,query:c.query,sourceUrl:c.sourceUrl,excerpt:c.excerpt,notes:c.summary,relativeDirectory:"codemaster",structured:{schema:c.schema,sourceType:c.sourceType,title:c.title,summary:c.summary,facts:c.facts,dates:c.dates,links:c.links,prices:c.prices,excerpt:c.excerpt,query:c.query,sourceUrl:c.sourceUrl,charCount:c.charCount,structuredAt:c.structuredAt},metadata:{commandId:s.id,adapter:"react-codemaster",source:"code-agent-structured-evidence",browserSessionId:l.browserSessionId,resultCount:l.resultCount}},S,p.baseUrl);if(m!==ut.current){q.emit("async.staleIgnored",{path:"codegraph.agent.research.evidenceSave.result",id:s.id,seq:m});return}if(!E.success||!E.path)throw new Error(E.error||"Evidence.Save did not return a saved path.");x({...c,evidenceSaveState:"saved",evidenceSaveId:E.id,evidenceSavePath:E.path,evidenceSaveSha256:E.sha256,evidenceSavedAt:E.capturedAt||new Date().toISOString(),evidenceSaveError:void 0},"codegraph.agent.research.evidenceSave.completed",{path:E.path,sha256:E.sha256||null})}catch(p){x({...c,evidenceSaveState:"error",evidenceSaveError:p instanceof Error?p.message:String(p)},"codegraph.agent.research.evidenceSave.failed")}finally{m===ut.current&&N(null)}},[t,o,r,P]),yr=f.useCallback(()=>{if(!r||!ft(r))return;const s=r,l=Di(s);P(c=>({...c,commands:c.commands.map(m=>{var x,u;return m.id===s.id?{...m,researchPearls:l,progressDigest:we({mindState:{nextActions:l.acceptedCount>0?["Review local research pearl drafts","Run another verified adapter source before publishing report nodes","Reject duplicate or weak pearls before main execution"]:["Add FinalAnswer-style Pearl sections or structured evidence","Run Bridge Research and Structure Evidence before extracting pearls"],currentDecisionRationale:"Research pearls must stay local-draft until a verified adapter can publish durable report nodes."},phase:De({goal:m.objective,currentFocus:`Research pearls from ${l.source}`,rationale:"The original MindCanvas flow extracts non-duplicate research pearls from final answers before creating report notes.",blockers:l.acceptedCount>0?[]:["No Pearl sections or structured evidence were available to draft from."],nextActions:l.acceptedCount>0?l.candidates.map(p=>p.title):["Add FinalAnswer-style Pearl sections or structured evidence","Run Bridge Research and Structure Evidence before extracting pearls"],isResearchContext:!0,evidenceCount:l.acceptedCount,requiredEvidence:1,toolName:"FinalAnswer",completed:l.acceptedCount>0}),previousPhaseKey:(x=m.progressDigest)==null?void 0:x.metadata.phaseKey,step:{stepNumber:Number(((u=m.progressDigest)==null?void 0:u.metadata.stepNumber)||0)+1,toolName:"ResearchPearl.Extract",observation:cr(l)||"No local research pearl candidates were found."}})}:m}),lastMessage:l.acceptedCount>0?"Research pearl drafts attached locally. Publishing report nodes remains adapter-gated.":"No research pearl candidates found yet. Add Pearl sections or structured evidence first."}),"codegraph.agent.research.pearls.drafted",{id:s.id,source:l.source,acceptedCount:l.acceptedCount,duplicateRejectCount:l.duplicateRejectCount,adapterState:l.adapterState})},[r,P]),kr=f.useCallback(async()=>{var A,D,R,B,U;if(!r)return;const s=r,l=++et.current,c=g.notes.filter($=>s.linkedNoteIds.includes($.id)),m=rn({command:s,linkedNotes:c,noteContextRefs:c.flatMap($=>$.relatedFiles.map((W,I)=>({filePath:W,label:$.relatedSymbols[I]||$.title}))),focusedContextRefs:[...ce.files.map($=>({filePath:$,label:"focused-file"})),...ce.symbols.map($=>({label:$}))]});if(!m){P($=>({...$,lastMessage:"Agent command execution skipped because the objective is empty."}),"codegraph.agent.executeSkipped",{id:s.id,reason:"empty-objective"});return}const x=nn(s),u=ws(n),p=Ai(s,c,M,ce,n,g.commands,g.notes,at,ve),S=$=>{const W=new Date().toISOString();P(I=>({...I,commands:I.commands.map(ne=>{var ie,ze;return ne.id===s.id?{...ne,status:"done",lastExecutedAt:W,plannerSummary:Ni(ne,W,`${$}
76
+ ${u}`),progressDigest:we({mindState:{blockers:[$],nextActions:["Connect LocalBridge or keep the command as a local planning artifact."],currentDecisionRationale:"Execution stayed local because the external adapter boundary was not available."},phase:De({goal:ne.objective,currentFocus:ne.title,rationale:"The React port keeps execution adapter-gated until LocalBridge can prove a read-only run.",blockers:[$],nextActions:["Refresh LocalBridge status","Review the planner summary","Retry read-only execution"],missionProgress:.18,toolName:"GetDiagnostics"}),previousPhaseKey:(ie=ne.progressDigest)==null?void 0:ie.metadata.phaseKey,step:{stepNumber:Number(((ze=ne.progressDigest)==null?void 0:ze.metadata.stepNumber)||0)+1,toolName:"CodeMaster.LocalRun",observation:`${$}
77
+ ${u}`}})}:ne}),lastMessage:"Selected agent command was staged as a local run."}),"codegraph.agent.executed.local",{id:s.id,reason:$,appLanguage:n,instructionChars:p.length})};N("agent");const E=new Map(m.notePatches.map($=>[$.id,$]));P($=>({...$,commands:$.commands.map(W=>{var I,ne;return W.id===s.id?{...W,...m.commandPatch,linkedNoteIds:m.linkedNoteIds,plannerSummary:x?`${W.plannerSummary}
78
+ ${m.summaryLine}
79
+ Planning projection was required before execution.`:W.plannerSummary,progressDigest:we({mindState:{nextActions:["Wait for the read-only adapter result","Ignore stale callbacks if a newer run starts"],currentDecisionRationale:"A read-only LocalBridge Codex run is the safest available execution boundary."},phase:De({goal:W.objective,currentFocus:W.title,rationale:"The adapter can inspect context without writing files or making external claims.",nextActions:["Wait for the read-only adapter result","Ignore stale callbacks if a newer run starts"],missionProgress:.32,toolName:"ReadFile"}),previousPhaseKey:(I=W.progressDigest)==null?void 0:I.metadata.phaseKey,step:{stepNumber:Number(((ne=W.progressDigest)==null?void 0:ne.metadata.stepNumber)||0)+1,toolName:"LocalBridge.Codex",observation:`Instruction size ${p.length} characters. App language: ${n}.`}})}:W}),notes:$.notes.map(W=>{const I=E.get(W.id);return I?{...W,...I}:W}),lastMessage:"Running agent command through LocalBridge when available..."}),"codegraph.agent.run.requested",{id:s.id,appLanguage:n,instructionChars:p.length,missionId:m.missionId,workItems:m.workItemIds.length,linkedNotes:m.linkedNoteIds.length,contextRefs:m.contextRefs.length,needsPlanning:x});try{if(!_e()){S("Hosted LocalBridge access is gated. External execution remains adapter-gated.");return}const $=o.state==="connected"&&o.status?o:await yt(t);if(l!==et.current){q.emit("async.staleIgnored",{path:"codegraph.agent.run",id:s.id,seq:l});return}if(d($),$.state!=="connected"){S(`${$.message||"LocalBridge is unavailable."} External execution remains adapter-gated.`);return}const W=jt($.status);if(!W){S("LocalBridge token unavailable. External execution remains adapter-gated.");return}q.emit("codegraph.agent.codex.run",{id:s.id,linkedNotes:c.length,appLanguage:n,instructionChars:p.length});const I=await Qr({instruction:p,workingDirectory:((D=(A=$.status)==null?void 0:A.project)==null?void 0:D.rootPath)||((R=$.status)==null?void 0:R.workspace)||void 0,sandbox:"read_only",reasoningEffort:bi(Ie),approvalPolicy:"on-request",intent:"codegraph-agent-command",nodeKind:"code-agent-command",webSearchMode:"disabled",networkAccessEnabled:!1},W,$.baseUrl);if(l!==et.current){q.emit("async.staleIgnored",{path:"codegraph.agent.run",id:s.id,seq:l});return}const ne=I.completedAtUtc||new Date().toISOString(),ie=I.finalResponse||I.summary||I.error||"LocalBridge Codex returned no response.",ze=[`Provider: ${I.providerKind||"unknown"} / Status: ${I.status||(I.success?"completed":"failed")}`,I.threadId?`Thread: ${I.threadId}`:"",I.turnId?`Turn: ${I.turnId}`:"",(B=I.changedFiles)!=null&&B.length?`Changed files reported: ${I.changedFiles.length}`:"",(U=I.commandLogs)!=null&&U.length?`Command logs: ${I.commandLogs.length}`:""].filter(Boolean);P(xt=>({...xt,commands:xt.commands.map(He=>{var ss,rs;return He.id===s.id?{...He,status:I.success?"done":"blocked",lastExecutedAt:ne,plannerSummary:vs(He,ne,ie,ze),progressDigest:we({mindState:{blockers:I.success?[]:[ie],nextActions:I.success?["Review the read-only result","Choose the next implementation slice"]:["Inspect LocalBridge/Codex failure details","Retry after the adapter issue is fixed"],currentDecisionRationale:I.success?"A read-only Codex response can guide the next verified implementation step.":"The adapter failed, so the command remains blocked until the failure is understood."},phase:De({goal:He.objective,currentFocus:He.title,rationale:I.success?"The result is evidence for the next implementation decision, not a claim that files changed.":"Blocked adapter output should be visible before another execution attempt.",blockers:I.success?[]:[ie],nextActions:I.success?["Review result","Implement next slice"]:["Refresh LocalBridge","Retry read-only Codex"],missionProgress:I.success?.88:.36,toolName:I.success?"FinalAnswer":"GetDiagnostics",completed:I.success}),previousPhaseKey:(ss=He.progressDigest)==null?void 0:ss.metadata.phaseKey,step:{stepNumber:Number(((rs=He.progressDigest)==null?void 0:rs.metadata.stepNumber)||0)+1,toolName:I.success?"FinalAnswer":"GetDiagnostics",observation:[ie,...ze].join(`
80
+ `)}})}:He}),lastMessage:I.success?"Selected agent command completed through LocalBridge Codex.":`LocalBridge Codex run failed: ${ie}`}),I.success?"codegraph.agent.codex.completed":"codegraph.agent.codex.failed",{id:s.id,appLanguage:n,instructionChars:p.length,providerKind:I.providerKind,status:I.status,threadId:I.threadId,turnId:I.turnId})}catch($){if(l!==et.current){q.emit("async.staleIgnored",{path:"codegraph.agent.run",id:s.id,seq:l});return}const W=$ instanceof Error?$.message:String($),I=new Date().toISOString();P(ne=>({...ne,commands:ne.commands.map(ie=>{var ze,xt;return ie.id===s.id?{...ie,status:"blocked",lastExecutedAt:I,plannerSummary:vs(ie,I,W,["Provider: LocalBridge Codex / Status: failed"]),progressDigest:we({mindState:{blockers:[W],nextActions:["Inspect the adapter error","Retry only after LocalBridge is reachable"],currentDecisionRationale:"The read-only adapter threw before a reliable result could be produced."},phase:De({goal:ie.objective,currentFocus:ie.title,rationale:"The failure must be visible and should not be mistaken for a completed implementation.",blockers:[W],nextActions:["Refresh LocalBridge status","Check Codex capability state"],missionProgress:.34,toolName:"GetDiagnostics"}),previousPhaseKey:(ze=ie.progressDigest)==null?void 0:ze.metadata.phaseKey,step:{stepNumber:Number(((xt=ie.progressDigest)==null?void 0:xt.metadata.stepNumber)||0)+1,toolName:"GetDiagnostics",observation:W}})}:ie}),lastMessage:`LocalBridge Codex run failed: ${W}`}),"codegraph.agent.codex.failed",{id:s.id,message:W,appLanguage:n,instructionChars:p.length})}finally{l===et.current&&N(null)}},[Ie,n,t,o,at,ve,ce,M,r,P,g.commands,g.notes]),wr=f.useCallback(()=>{r&&P(s=>({...s,commands:s.commands.map(l=>{var c,m;return l.id===r.id?{...l,plannerSummary:`Reloaded from current React graph snapshot: ${M.nodes} nodes / ${M.edges} edges / ${M.files} files.`,progressDigest:we({mindState:{nextActions:["Use the refreshed graph snapshot as the next command context."],currentDecisionRationale:"Reloading narrows the command to current React graph evidence."},phase:{key:"graph-context-reloaded",title:"Graph context reloaded",summary:`Reloaded graph snapshot: ${M.nodes} nodes, ${M.edges} edges, ${M.files} files.`,why:"The command should reflect current repository context before execution.",gap:"Use the refreshed graph snapshot to decide the next verified action.",candidates:["Plan research","Execute read-only command"]},previousPhaseKey:(c=l.progressDigest)==null?void 0:c.metadata.phaseKey,step:{stepNumber:Number(((m=l.progressDigest)==null?void 0:m.metadata.stepNumber)||0)+1,toolName:"LocalBridge graph",observation:`Reloaded from current React graph snapshot: ${M.nodes} nodes / ${M.edges} edges / ${M.files} files.`}})}:l}),lastMessage:"Selected agent command context reloaded from the current graph snapshot."}),"codegraph.agent.reloaded",{id:r.id})},[M.edges,M.files,M.nodes,r,P]),Sr=f.useCallback(()=>{const s=Se.trim(),l=We("code-note"),c={id:l,title:fs(s,"New Code Note"),body:s?`This note describes the implementation block for "${s}".`:"Describe the implementation block before handing it to an agent.",kind:"Feature",status:"draft",syncState:"unlinked",plannerPhase:"manual",why:"Plan the change in natural language before code or agent execution.",relatedFiles:ce.files.length>0?ce.files:["src/App.tsx"],relatedSymbols:ce.symbols.length>0?ce.symbols:["CodePage"],acceptanceCriteria:"Contract updated, local route verified, production route verified, and trace evidence captured.",artifacts:[]};P(m=>({...m,notes:[c,...m.notes].slice(0,36),selectedNoteId:l,commands:m.commands.map(x=>x.id===m.selectedCommandId?{...x,linkedNoteIds:Array.from(new Set([l,...x.linkedNoteIds]))}:x),lastMessage:"Code note draft created locally."}),"codegraph.note.created",{id:l})},[Se,ce.files,ce.symbols,P]),Cr=f.useCallback(()=>{const s=Se.trim();if(!s)return;const l=ce.files.length>0?ce.files:["src/App.tsx","docs/contracts/react-runtime-contract.md"],c=ce.symbols.length>0?ce.symbols:["CodePage","RuntimeTrace"],m=on({goal:s,contextRefs:l.map((u,p)=>({filePath:u,label:c[p]||c[0]||""}))}),x=m.drafts.map(u=>{const p=We("code-note");return{id:p,title:u.title,body:u.body,kind:u.kind,status:u.status,syncState:u.syncState,plannerPhase:u.phase,why:u.why,relatedFiles:u.relatedFiles,relatedSymbols:u.relatedSymbols,acceptanceCriteria:u.acceptanceCriteria.join(`
81
+ `),artifacts:[`local-code-note-planner://${p}/${u.phase}`]}});P(u=>{var p;return{...u,notes:[...x,...u.notes].slice(0,36),selectedNoteId:((p=x[0])==null?void 0:p.id)??u.selectedNoteId,commands:u.commands.map(S=>S.id===u.selectedCommandId?{...S,linkedNoteIds:Array.from(new Set([...x.map(E=>E.id),...S.linkedNoteIds]))}:S),lastMessage:m.summaryLine}},"codegraph.notes.planned",{count:x.length,kind:m.inferredKind,syncState:m.syncState,relatedFiles:m.relatedFiles.length,relatedSymbols:m.relatedSymbols.length,phases:m.drafts.map(u=>u.phase)})},[Se,ce.files,ce.symbols,P]),re=f.useCallback((s,l="codegraph.agent.patch")=>{if(!r)return;const c=s.plannedTools!==void 0||s.plannedConcepts!==void 0?{...s,...Ws({plannedTools:s.plannedTools??r.plannedTools,plannedConcepts:s.plannedConcepts??r.plannedConcepts})}:s;P(m=>({...m,commands:m.commands.map(x=>x.id===r.id?{...x,...c}:x),lastMessage:"Agent command details saved locally."}),l,{id:r.id,keys:Object.keys(c)})},[r,P]),Ar=f.useCallback(s=>{if(!r)return;const l=nt(s),c=rt({skillIds:r.plannedSkills,userInstruction:`${r.objective}
82
+ ${r.plannerSummary}`});re({requestedRole:l,runtimeProfile:Qt(l,c,ht())},"codegraph.agent.roleCatalog.applied")},[re,r]),Nr=f.useCallback(()=>{if(!r)return;const s=nt(r.requestedRole),l=rt({skillIds:r.plannedSkills,userInstruction:`${r.objective}
83
+ ${r.plannerSummary}`});re({requestedRole:s,plannedSkills:l.length>0?l.map(c=>c.id):r.plannedSkills,runtimeProfile:Qt(s,l,ht())},"codegraph.agent.skillCatalog.applied")},[re,r]),Ne=f.useCallback((s,l="codegraph.note.patch")=>{if(!y)return;const c=dn(y,s);P(m=>({...m,notes:m.notes.map(x=>x.id===y.id?{...x,...c}:x),lastMessage:"Code note updated locally."}),l,{id:y.id,keys:Object.keys(c),syncState:c.syncState})},[y,P]),gt=f.useCallback((s,l)=>{if(!y)return;if(s==="reviewed"){const x=ls(hs(y));if(x.shouldDefer){P(u=>({...u,lastMessage:`Review deferred: ${x.reason}`}),"codegraph.note.reviewDeferred",{id:y.id,reason:x.reason,targetFileCount:x.targetFileCount,artifactEvidenceCount:x.artifactEvidenceCount,evaluationEvidenceCount:x.evaluationEvidenceCount,outcomeEvidenceCount:x.outcomeEvidenceCount});return}}const c=s==="reviewed"||s==="approved"?Array.from(new Set([...y.artifacts,`local-code-note://${y.id}/implementation-handoff.md`])):y.artifacts,m=cs(s,y.syncState);P(x=>({...x,notes:x.notes.map(u=>u.id===y.id?{...u,status:s,syncState:m,artifacts:c}:u),lastMessage:l}),`codegraph.note.${s}`,{id:y.id,syncState:m})},[y,P]),Pr=f.useCallback(s=>{if(y){if(s==="approved"){gt("approved","Selected code note approved locally.");return}if(s==="reviewed"){gt("reviewed","Selected code note marked reviewed.");return}Ne({status:s,syncState:cs(s,y.syncState)},`codegraph.note.${s}`)}},[Ne,y,gt]),Rr=f.useCallback(()=>{const s=g.notes.filter(p=>p.status==="approved"),l=We("agent-command"),c=new Date().toISOString(),m=new Set(s.map(p=>p.id)),x=s.map(p=>p.title).filter(Boolean),u={id:l,title:`Implement ${s.length} approved note${s.length===1?"":"s"}`,objective:["Implement the approved Code Notes and keep notes in sync.",x.length>0?`Focus notes: ${x.join(", ")}`:""].filter(Boolean).join(" "),constraints:"Local React mission draft only. Execute Command remains read-only and adapter-gated until LocalBridge responds.",requestedRole:"Programmer",status:"planned",runtimeProfile:ht("Implement only after approved notes and contract checks are present; keep LocalBridge Codex read-only."),plannerSummary:[`Queued locally at ${Ve(c)}.`,`Graph context: ${M.nodes} nodes, ${M.edges} edges, ${M.files} files.`,`Linked Code Notes: ${s.length}.`,"No files were changed by this queue action."].join(`
84
+ `),plannedSkills:["code-note-implement","code-note-sync","runtime-verification"],plannedTools:["Canvas.CreateCodeNote","Canvas.UpdateCodeNote","Canvas.LinkCodeNote","Canvas.SetCodeNoteState","Code.Actionbook","Test.Runbook"],plannedConcepts:["approved note queue","implementation mission draft","adapter-gated execution","Code Notes","RuntimeTrace","LocalBridge Codex read-only"],linkedNoteIds:s.map(p=>p.id)};P(p=>{var S;return{...p,commands:s.length>0?[u,...p.commands].slice(0,24):p.commands,selectedCommandId:s.length>0?l:p.selectedCommandId,selectedNoteId:((S=s[0])==null?void 0:S.id)??p.selectedNoteId,notes:p.notes.map(E=>m.has(E.id)?{...E,status:"queued",syncState:"needs-review",artifacts:Array.from(new Set([...E.artifacts,`local-code-note://${E.id}/implementation-queue.md`,`local-agent-command://${l}/mission-request.md`,`local-runtime-trace://codegraph.notes.implementQueued/${c}`]))}:E),lastMessage:s.length>0?`${s.length} approved code note(s) queued into a local Programmer mission draft. External implementation remains adapter-gated.`:"No approved code notes to queue."}},"codegraph.notes.implementQueued",{count:s.length,commandId:s.length>0?l:null,queuedAt:c})},[M.edges,M.files,M.nodes,P,g.notes]),Ir=f.useCallback(()=>{var x,u;if(!y)return;const s=new Date().toISOString(),l=y.linkedMissionId||`local-mission-${y.id}`,c=y.linkedWorkItemId||`local-work-${y.id}`,m=ln(y,{missionId:l,workItemId:c,changedFiles:y.relatedFiles,outputArtifacts:[`local-code-note://${y.id}/implemented.md`,`local-runtime-trace://codegraph.note.implemented/${s}`],completedAt:s});P(p=>({...p,notes:p.notes.map(S=>S.id===y.id?{...S,...m}:S),lastMessage:"Selected code note marked implemented locally with CodeNoteSyncService parity metadata."}),"codegraph.note.implemented",{id:y.id,syncState:m.syncState,relatedFiles:((x=m.relatedFiles)==null?void 0:x.length)??0,artifacts:((u=m.artifacts)==null?void 0:u.length)??0,lastAppliedAt:m.lastAppliedAt})},[y,P]),Er=f.useCallback(s=>{Ot(s),q.emit("codegraph.lens.changed",{lens:s})},[]),$r=f.useCallback(async()=>{var l,c,m,x,u,p;if(!((c=(l=o.status)==null?void 0:l.project)!=null&&c.isOpen)){lt("Open a project before loading AI context.");return}const s=++K.current;Pt(!0),lt(`Loading ${Ie} AI context from LocalBridge...`);try{const S=await Jr(Ie,ue,t);if(s!==K.current)return;zt(S),lt(`AI context loaded: ${((m=S.files)==null?void 0:m.length)??0} files, ${((x=S.recentChanges)==null?void 0:x.length)??0} changes.`),q.emit("codegraph.aiContext.loaded",{level:S.level||Ie,files:((u=S.files)==null?void 0:u.length)??0,changes:((p=S.recentChanges)==null?void 0:p.length)??0})}catch(S){if(s!==K.current)return;const E=S instanceof Error?S.message:String(S);lt(`Local heuristic fallback: ${E}`),q.emit("codegraph.aiContext.failed",{level:Ie,message:E})}finally{s===K.current&&Pt(!1)}},[Ie,ue,t,(ga=(pa=o.status)==null?void 0:pa.project)==null?void 0:ga.isOpen]),Mr=f.useCallback(s=>{y&&Ne({relatedFiles:Ct(y.relatedFiles,s.files,12),relatedSymbols:Ct(y.relatedSymbols,s.symbols,12),body:y.body.includes(s.summary)?y.body:`${y.body.trim()}
85
+
86
+ Lens: ${s.title}
87
+ ${s.summary}`.trim()},"codegraph.lens.contextApplied")},[Ne,y]),Gt=f.useCallback(async s=>{var m,x;const l=++tt.current,c=(s==null?void 0:s.baseUrl)||t;if(!_e()){Ue(null),Fe("blocked"),Ee("Hosted LocalBridge access is off. Enable LocalBridge before reading Codex capabilities."),q.emit("codegraph.codexCapabilities.blocked",{reason:"hosted-access-off"});return}Fe("loading"),Ee("Reading LocalBridge Codex capabilities...");try{let u=s;if(!u||u.state!=="connected"){if(u=await yt(c),l!==tt.current)return;d(u)}if(u.state!=="connected"){Ue(null),Fe("unavailable"),Ee(u.message||"LocalBridge is unavailable."),q.emit("codegraph.codexCapabilities.failed",{reason:"localbridge-unavailable",state:u.state,message:u.message});return}const p=await Vr(jt(u.status),u.baseUrl);if(l!==tt.current)return;const S=p.providers||[],E=S.filter(D=>D.available===!0).length,A=((m=p.endpoints)==null?void 0:m.length)??0;Ue(p),Fe(p.success===!1?"error":"ready"),Ee(p.success===!1?p.error||"LocalBridge reported no available Codex provider.":`Codex capabilities loaded: ${E}/${S.length} provider(s), ${A} endpoint(s).`),q.emit("codegraph.codexCapabilities.loaded",{success:p.success!==!1,preferredProviderKind:p.preferredProviderKind,providers:S.length,availableProviders:E,endpoints:A,models:((x=p.models)==null?void 0:x.length)??0})}catch(u){if(l!==tt.current)return;const p=u instanceof Error?u.message:String(u);Ue(null),Fe("error"),Ee(p),q.emit("codegraph.codexCapabilities.failed",{message:p})}},[t]),Ke=f.useCallback(async()=>{var c;const s=++K.current;N("status"),F(null),d({state:"checking",baseUrl:t});const l=await yt(t);if(s===K.current){if(d(l),l.status){const m=((c=l.status.project)==null?void 0:c.rootPath)||l.status.workspace||"";j(x=>x.trim()||m)}l.state!=="connected"?(k(null),_(null),Ue(null),Fe(l.state==="blocked"?"blocked":"unavailable"),Ee(l.message||"LocalBridge is unavailable.")):Gt(l),N(null)}},[t,Gt]);f.useEffect(()=>{if(_e()){Ke();return}d({state:"blocked",baseUrl:t,message:"Hosted LocalBridge access is off."}),k(null),_(null),Ue(null),Fe("blocked"),Ee("Hosted LocalBridge access is off. Enable LocalBridge before reading Codex capabilities.")},[t,Ke]);const Lr=f.useCallback(()=>{Xr(!0),Ke()},[Ke]),Dr=f.useCallback(async()=>{if(!o.status){F("Connect LocalBridge before loading a graph.");return}const s=++K.current;N("graph"),F(null);try{const[l,c]=await Promise.all([os(ue,t),ds(ue,t)]);if(s!==K.current)return;k(l),_(c)}catch(l){if(s!==K.current)return;F(l instanceof Error?l.message:String(l))}finally{s===K.current&&N(null)}},[ue,t,o.status]),Tr=f.useCallback(async()=>{var c,m,x,u;if(!ue){F("Bridge token is missing. Refresh LocalBridge status first.");return}const s=h.trim()||((m=(c=o.status)==null?void 0:c.workspace)==null?void 0:m.trim())||"";if(!s){F("Project path is empty.");return}const l=++K.current;N("open"),F(null);try{const p=await Yr(s,ue,t);if(l!==K.current)return;_(p.index),k({nodes:p.index.nodes,edges:p.index.edges,layoutHint:p.index.layoutHint}),await Ke()}catch(p){if(l!==K.current)return;const S=await Zr(t);if(l!==K.current)return;if(S.state==="connected"&&((u=(x=S.status)==null?void 0:x.project)!=null&&u.isOpen)){d(S),j(E=>{var A,D,R;return E.trim()||((D=(A=S.status)==null?void 0:A.project)==null?void 0:D.rootPath)||((R=S.status)==null?void 0:R.workspace)||""});try{const[E,A]=await Promise.all([os(ue,t),ds(ue,t)]);if(l!==K.current)return;k(E),_(A),F(null)}catch(E){if(l!==K.current)return;F(`Project opened, but graph load is still pending: ${E instanceof Error?E.message:String(E)}`)}return}F(p instanceof Error?p.message:String(p))}finally{l===K.current&&N(null)}},[ue,t,(ha=o.status)==null?void 0:ha.workspace,h,Ke]),Br=f.useCallback(async()=>{if(!ue){F("Bridge token is missing. Refresh LocalBridge status first.");return}const s=++K.current;N("close"),F(null);try{if(await en(ue,t),s!==K.current)return;k(null),_(null),await Ke()}catch(l){if(s!==K.current)return;F(l instanceof Error?l.message:String(l))}finally{s===K.current&&N(null)}},[ue,t,Ke]),la=f.useMemo(()=>((v==null?void 0:v.files)||[]).slice(0,8),[v]),$t=o.state==="connected",_r=w==="status"||o.state==="checking",te=(ma=o.status)==null?void 0:ma.project,Wr=(te==null?void 0:te.openedAt)||(v==null?void 0:v.openedAt);return e.jsxs("div",{className:"page code-page","data-testid":"codemaster-shell","data-codemaster-storage-key":aa,"data-codemaster-bridge-state":o.state,"data-app-language":n,"data-app-language-label":bt.label,children:[e.jsx("span",{hidden:!0,"data-testid":"codemaster-app-language","data-app-language":n,"data-app-language-label":bt.label,children:bt.label}),e.jsxs("div",{className:"section-head",children:[e.jsx("div",{className:"eyebrow",children:"CodeGraph"}),e.jsx("h1",{children:"Local project intelligence, now on the React path."}),e.jsx("p",{children:"Connect the existing LocalBridge runtime and load a live repository graph without Blazor in the render loop."})]}),e.jsxs("section",{className:"bridge-panel",children:[e.jsxs("div",{className:"bridge-command-row",children:[e.jsxs("label",{className:"bridge-url-field",children:[e.jsx("span",{children:"Bridge URL"}),e.jsx("input",{value:t,onChange:s=>a(s.target.value),spellCheck:!1})]}),e.jsxs("button",{className:"btn btn-secondary",type:"button",onClick:Ke,disabled:w!==null,children:[_r?e.jsx(Qe,{size:16,className:"spin-icon"}):e.jsx(Wt,{size:16}),"Refresh"]}),!_e()&&!Et&&e.jsxs("button",{className:"btn btn-primary",type:"button",onClick:Lr,disabled:w!==null,children:[e.jsx(Mt,{size:16}),"Enable LocalBridge"]})]}),e.jsxs("div",{className:`bridge-status-strip bridge-status-strip--${o.state}`,children:[$t?e.jsx(Lt,{size:18}):o.state==="blocked"?e.jsx(Mt,{size:18}):e.jsx(ps,{size:18}),e.jsx("strong",{children:oo(o.state)}),e.jsx("span",{children:$t?((fa=o.status)==null?void 0:fa.version)||"LocalBridge connected":o.message||"Waiting for LocalBridge"})]}),e.jsxs("div",{className:"bridge-metric-grid",children:[e.jsx(_t,{icon:Jt,label:"Bridge",value:$t?((va=o.status)==null?void 0:va.packageName)||"MindExec":"Offline"}),e.jsx(_t,{icon:Qn,label:"Workspace",value:it(((ba=o.status)==null?void 0:ba.workspace)||"No workspace",36)}),e.jsx(_t,{icon:Dt,label:"Files",value:String(M.files)}),e.jsx(_t,{icon:Tt,label:"Graph",value:`${M.nodes} nodes / ${M.edges} edges`})]}),e.jsxs("section",{className:`codex-capabilities codex-capabilities--${Ze}`,"data-testid":"codemaster-codex-capabilities","data-codex-capabilities-state":Ze,"data-codex-provider":(V==null?void 0:V.preferredProviderKind)||((ja=(xa=o.status)==null?void 0:xa.codex)==null?void 0:ja.preferredProviderKind)||"unknown",children:[e.jsxs("div",{className:"codex-capabilities__head",children:[e.jsxs("div",{children:[e.jsx("span",{className:"card-label",children:"Codex Adapter"}),e.jsx("h2",{children:"LocalBridge Codex capabilities"}),e.jsx("p",{"data-testid":"codemaster-codex-capabilities-message",children:It})]}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"codemaster-codex-capabilities-refresh",onClick:()=>void Gt(),disabled:Ze==="loading",children:[Ze==="loading"?e.jsx(Qe,{size:15,className:"spin-icon"}):e.jsx(Wt,{size:15}),"Capabilities"]})]}),e.jsxs("div",{className:"codex-capabilities__grid",children:[e.jsxs("span",{"data-testid":"codemaster-codex-provider",children:["Provider ",e.jsx("strong",{children:(V==null?void 0:V.preferredProviderKind)||((ka=(ya=o.status)==null?void 0:ya.codex)==null?void 0:ka.preferredProviderKind)||"unknown"})]}),e.jsxs("span",{"data-testid":"codemaster-codex-sandbox",children:["Sandbox ",e.jsx("strong",{children:((V==null?void 0:V.sandboxModes)||((Sa=(wa=o.status)==null?void 0:wa.codex)==null?void 0:Sa.sandboxModes)||[]).join(", ")||"unknown"})]}),e.jsxs("span",{"data-testid":"codemaster-codex-endpoints",children:["Endpoints ",e.jsx("strong",{children:((Ca=V==null?void 0:V.endpoints)==null?void 0:Ca.length)??((Pa=(Na=(Aa=o.status)==null?void 0:Aa.codex)==null?void 0:Na.endpoints)==null?void 0:Pa.length)??0})]}),e.jsxs("span",{"data-testid":"codemaster-codex-models",children:["Models ",e.jsx("strong",{children:((Ra=V==null?void 0:V.models)==null?void 0:Ra.length)??(($a=(Ea=(Ia=o.status)==null?void 0:Ia.exec)==null?void 0:Ea.availableModels)==null?void 0:$a.length)??0})]})]})]}),e.jsxs("div",{className:"project-command-row",children:[e.jsxs("label",{className:"project-path-field",children:[e.jsx("span",{children:"Project path"}),e.jsx("input",{value:h,onChange:s=>j(s.target.value),spellCheck:!1})]}),e.jsxs("button",{className:"btn btn-primary",type:"button",onClick:Tr,disabled:!$t||w!==null,children:[w==="open"?e.jsx(Qe,{size:16,className:"spin-icon"}):e.jsx(gs,{size:16}),"Open"]}),e.jsxs("button",{className:"btn btn-secondary",type:"button",onClick:Dr,disabled:!(te!=null&&te.isOpen)||w!==null,children:[w==="graph"?e.jsx(Qe,{size:16,className:"spin-icon"}):e.jsx(St,{size:16}),"Load Graph"]}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:Br,disabled:!(te!=null&&te.isOpen)||w!==null,children:"Close"})]}),J&&e.jsxs("div",{className:"bridge-error",role:"alert",children:[e.jsx(Jn,{size:16}),J]})]}),e.jsx(Ji,{lens:dt,aiLevel:Ie,aiBusy:Nt,aiMessage:Rt,cards:ur,query:ct,sourceLabel:H?"LocalBridge AI context":"React heuristic fallback",onLensChange:Er,onAiLevelChange:Ut,onQueryChange:Ht,onRefresh:$r,onApplyCard:Mr,canApply:!!y}),e.jsxs("section",{className:"code-workflow-grid","data-testid":"code-workflow-panel",children:[e.jsxs("article",{className:"code-workflow-panel code-agent-panel",children:[e.jsxs("div",{className:"code-workflow-head",children:[e.jsxs("div",{children:[e.jsx("span",{className:"card-label",children:"Natural Language Agents"}),e.jsx("h2",{children:"Agent Commands"})]}),e.jsxs("span",{className:"status-pill",children:[Le.commands," total"]})]}),e.jsxs("div",{className:"code-workflow-control",children:[e.jsx("input",{"aria-label":"Agent command goal",value:Pe,onChange:s=>Ye(s.target.value),placeholder:"Goal for the agent command","data-testid":"code-agent-goal"}),e.jsxs("div",{className:"code-workflow-actions",children:[e.jsxs("button",{className:"btn btn-primary",type:"button","data-testid":"code-agent-new",onClick:pr,children:[e.jsx(Ft,{size:15}),"New Agent"]}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-execute",onClick:kr,disabled:!r||w==="agent",children:[w==="agent"?e.jsx(Qe,{size:15,className:"spin-icon"}):e.jsx(gs,{size:15}),w==="agent"?"Running...":"Execute Command"]}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-prepare-project-write",onClick:da,disabled:!r,children:[e.jsx(Dt,{size:15}),"Write Draft"]}),e.jsx("button",{className:"btn btn-ghost",type:"button","data-testid":"code-agent-reload",onClick:wr,disabled:!r,children:"Reload"}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-plan-research",onClick:fr,disabled:!r,children:[e.jsx(Jt,{size:15}),"Plan Research"]})]})]}),e.jsxs("div",{className:"code-workflow-metrics",children:[e.jsxs("span",{children:["Planned ",e.jsx("strong",{children:Le.plannedCommands})]}),e.jsxs("span",{children:["Running ",e.jsx("strong",{children:Le.runningCommands})]}),e.jsxs("span",{children:["Linked notes ",e.jsx("strong",{children:(r==null?void 0:r.linkedNoteIds.length)??0})]})]}),e.jsx("div",{className:"code-workflow-list",children:g.commands.map(s=>{var l;return e.jsxs("button",{type:"button",className:s.id===(r==null?void 0:r.id)?"is-selected":"","data-testid":"code-agent-card","data-command-id":s.id,"data-command-status":s.status,"data-command-mission-id":s.linkedMissionId||"","data-command-work-items":((l=s.linkedWorkItemIds)==null?void 0:l.length)??0,"data-command-selected":s.id===(r==null?void 0:r.id),onClick:()=>P(c=>({...c,selectedCommandId:s.id,lastMessage:"Agent command selected."}),"codegraph.agent.select",{id:s.id}),children:[e.jsxs("span",{children:[e.jsx("strong",{children:s.title}),e.jsxs("small",{children:[s.requestedRole," / ",s.status]})]}),e.jsx("b",{children:s.linkedNoteIds.length})]},s.id)})}),r&&e.jsxs("div",{className:"code-workflow-detail",children:[e.jsxs("label",{children:[e.jsx("span",{children:"Title"}),e.jsx("input",{"data-testid":"code-agent-title",value:r.title,onChange:s=>re({title:s.target.value})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Objective"}),e.jsx("textarea",{"data-testid":"code-agent-objective",rows:3,value:r.objective,onChange:s=>re({objective:s.target.value})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Constraints"}),e.jsx("textarea",{"data-testid":"code-agent-constraints",rows:2,value:r.constraints,onChange:s=>re({constraints:s.target.value})})]}),e.jsxs("div",{className:"code-workflow-two",children:[e.jsxs("label",{children:[e.jsx("span",{children:"Role"}),e.jsx("select",{"data-testid":"code-agent-role",value:nt(r.requestedRole),onChange:s=>Ar(s.target.value),children:cn.map(s=>e.jsx("option",{value:s.id,children:s.displayName},s.id))})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Status"}),e.jsxs("select",{"data-testid":"code-agent-status",value:r.status,onChange:s=>re({status:s.target.value}),children:[e.jsx("option",{value:"planned",children:"planned"}),e.jsx("option",{value:"running",children:"running"}),e.jsx("option",{value:"done",children:"done"}),e.jsx("option",{value:"blocked",children:"blocked"})]})]})]}),e.jsxs("div",{className:"code-agent-execution","data-testid":"code-agent-execution-projection","data-command-mission-id":r.linkedMissionId||"","data-command-work-items":((Ma=r.linkedWorkItemIds)==null?void 0:Ma.length)??0,"data-command-last-executed":r.lastExecutedAt||"",children:[e.jsx("span",{className:"card-label",children:"AgentCommandExecutionService"}),e.jsx("strong",{children:r.linkedMissionId||"No local mission yet"}),e.jsxs("small",{children:[((La=r.linkedWorkItemIds)==null?void 0:La.length)??0," local work item(s) linked after Execute Command."]})]}),e.jsxs("div",{className:`code-project-write-readiness code-project-write-readiness--${G.state}`,"data-testid":"code-agent-project-write-readiness","data-project-write-state":G.state,"data-project-write-provider":G.providerKind,"data-project-write-sandbox":G.sandbox,"data-project-write-approval-policy":G.approvalPolicy,"data-project-write-network":String(G.networkAccessEnabled),"data-project-write-web-search":G.webSearchMode,"data-project-write-working-directory":G.workingDirectory,"data-project-write-blocked-count":G.blockedCount,children:[e.jsxs("div",{className:"code-project-write-readiness__head",children:[e.jsx(Mt,{size:16}),e.jsxs("div",{children:[e.jsx("span",{children:"Project Write Readiness"}),e.jsx("strong",{children:G.state==="opt-in-required"?"Opt-in required":"Adapter gated"})]})]}),e.jsx("p",{"data-testid":"code-agent-project-write-reason",children:G.reason}),e.jsxs("div",{className:"code-project-write-readiness__policy","data-testid":"code-agent-project-write-policy",children:[e.jsxs("code",{children:["sandbox=",G.sandbox]}),e.jsxs("code",{children:["approval=",G.approvalPolicy]}),e.jsxs("code",{children:["network=",String(G.networkAccessEnabled)]}),e.jsxs("code",{children:["webSearch=",G.webSearchMode]})]}),e.jsx("div",{className:"code-project-write-readiness__checks","aria-label":"Project write readiness checks",children:G.checks.map(s=>e.jsxs("span",{"data-testid":"code-agent-project-write-check","data-project-write-check":s.key,"data-project-write-check-state":s.state,children:[e.jsx("strong",{children:s.label}),e.jsx("em",{children:s.value})]},s.key))}),e.jsx("small",{"data-testid":"code-agent-project-write-optin",children:"Live writes remain outside default Execute Command and require MINDEXEC_CODEX_LIVE_PROJECT_WRITE_CONFIRM plus the opt-in project-write smoke."}),e.jsxs("div",{className:"code-project-write-readiness__actions",children:[e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-project-write-draft-action",onClick:da,children:[e.jsx(Dt,{size:14}),"Prepare Draft"]}),e.jsx("code",{"data-testid":"code-agent-project-write-draft-state",children:((Da=r.projectWriteDraft)==null?void 0:Da.adapterState)||"missing"})]})]}),r.projectWriteDraft&&e.jsxs("div",{className:"code-project-write-draft","data-testid":"code-agent-project-write-draft","data-project-write-draft-state":r.projectWriteDraft.adapterState,"data-project-write-draft-readiness":r.projectWriteDraft.readinessState,"data-project-write-draft-provider":r.projectWriteDraft.providerKind,"data-project-write-draft-sandbox":r.projectWriteDraft.sandbox,"data-project-write-draft-approval":r.projectWriteDraft.approvalState,"data-project-write-draft-apply-state":r.projectWriteDraft.applyPlanState,"data-project-write-draft-target-files":r.projectWriteDraft.targetFiles.length,"data-project-write-draft-blockers":r.projectWriteDraft.blockedReasons.length,"data-project-write-draft-manifest-id":r.projectWriteDraft.dryRunManifest.manifestId,children:[e.jsxs("div",{className:"code-project-write-draft__head",children:[e.jsx("span",{children:"Write Draft"}),e.jsx("strong",{children:Ve(r.projectWriteDraft.generatedAt)}),e.jsx("code",{children:r.projectWriteDraft.adapterState})]}),e.jsxs("div",{className:"code-project-write-draft__review",children:[e.jsx("span",{"data-testid":"code-agent-project-write-draft-approval",children:r.projectWriteDraft.approvalState}),e.jsx("span",{"data-testid":"code-agent-project-write-draft-apply-state",children:r.projectWriteDraft.applyPlanState}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-project-write-approve-draft",onClick:gr,children:[e.jsx(Lt,{size:14}),"Approve"]}),e.jsx("button",{className:"btn btn-ghost",type:"button","data-testid":"code-agent-project-write-reject-draft",onClick:hr,children:"Reject"}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-project-write-stage-apply",onClick:mr,disabled:r.projectWriteDraft.approvalState!=="approved-local",children:[e.jsx(Tt,{size:14}),"Stage Apply Plan"]})]}),e.jsxs("div",{className:"code-project-write-draft__meta",children:[e.jsx("code",{"data-testid":"code-agent-project-write-draft-provider",children:r.projectWriteDraft.providerKind}),e.jsx("code",{"data-testid":"code-agent-project-write-draft-sandbox",children:r.projectWriteDraft.sandbox}),e.jsxs("code",{"data-testid":"code-agent-project-write-draft-network",children:["network=",String(r.projectWriteDraft.networkAccessEnabled)]}),e.jsxs("code",{"data-testid":"code-agent-project-write-draft-web-search",children:["webSearch=",r.projectWriteDraft.webSearchMode]})]}),e.jsxs("div",{className:"code-project-write-draft__manifest","data-testid":"code-agent-project-write-dry-run-manifest","data-project-write-manifest-id":r.projectWriteDraft.dryRunManifest.manifestId,"data-project-write-manifest-target-files":r.projectWriteDraft.dryRunManifest.targetFileCount,"data-project-write-manifest-diff-files":r.projectWriteDraft.dryRunManifest.diffPreviewCount,"data-project-write-manifest-apply-steps":r.projectWriteDraft.dryRunManifest.applyStepCount,"data-project-write-manifest-blockers":r.projectWriteDraft.dryRunManifest.blockedReasonCount,children:[e.jsxs("span",{children:[e.jsx("strong",{children:"Dry-run manifest"}),e.jsx("code",{"data-testid":"code-agent-project-write-manifest-id",children:r.projectWriteDraft.dryRunManifest.manifestId})]}),e.jsxs("span",{children:[e.jsx("strong",{children:"Policy"}),e.jsx("code",{"data-testid":"code-agent-project-write-manifest-policy",children:`draft-only | ${r.projectWriteDraft.dryRunManifest.policy.providerKind} | ${r.projectWriteDraft.dryRunManifest.policy.sandbox} | network=${String(r.projectWriteDraft.dryRunManifest.policy.networkAccessEnabled)} | webSearch=${r.projectWriteDraft.dryRunManifest.policy.webSearchMode}`})]}),e.jsxs("span",{children:[e.jsx("strong",{children:"Safety digest"}),e.jsx("code",{"data-testid":"code-agent-project-write-manifest-safety-digest",children:r.projectWriteDraft.dryRunManifest.safetyDigest})]}),e.jsxs("span",{children:[e.jsx("strong",{children:"Allowed files"}),r.projectWriteDraft.dryRunManifest.allowedChangedFiles.map(s=>e.jsx("code",{"data-testid":"code-agent-project-write-manifest-file",children:s},s))]})]}),e.jsx("div",{className:"code-project-write-draft__diff","data-testid":"code-agent-project-write-diff-preview","aria-label":"Project write diff preview",children:r.projectWriteDraft.diffPreview.map(s=>e.jsxs("span",{"data-testid":"code-agent-project-write-diff-file","data-project-write-diff-kind":s.changeKind,children:[e.jsx("strong",{children:s.file}),e.jsx("em",{children:s.summary}),e.jsx("small",{children:s.risk})]},`${s.file}:${s.changeKind}`))}),e.jsx("div",{className:"code-project-write-draft__files","aria-label":"Project write target files",children:r.projectWriteDraft.targetFiles.map(s=>e.jsx("code",{"data-testid":"code-agent-project-write-draft-file",children:s},s))}),e.jsx("div",{className:"code-project-write-draft__apply-plan","data-testid":"code-agent-project-write-apply-plan","aria-label":"Project write apply plan",children:r.projectWriteDraft.applyPlan.map(s=>e.jsx("span",{"data-testid":"code-agent-project-write-apply-step",children:s},s))}),e.jsx("div",{className:"code-project-write-draft__checklist","aria-label":"Project write checklist",children:r.projectWriteDraft.checklist.map(s=>e.jsx("span",{"data-testid":"code-agent-project-write-draft-check",children:s},s))}),r.projectWriteDraft.blockedReasons.length>0&&e.jsx("div",{className:"code-project-write-draft__blockers","aria-label":"Project write blockers",children:r.projectWriteDraft.blockedReasons.map(s=>e.jsx("span",{"data-testid":"code-agent-project-write-draft-blocker",children:s},s))}),e.jsx("pre",{"data-testid":"code-agent-project-write-draft-prompt",children:r.projectWriteDraft.promptPreview}),e.jsx("code",{className:"code-project-write-draft__smoke","data-testid":"code-agent-project-write-draft-smoke",children:r.projectWriteDraft.smokeCommand})]}),e.jsxs("div",{className:"code-runtime-profile","data-testid":"code-agent-runtime-profile","data-runtime-tool-restricted":pn(r.runtimeProfile)?"true":"false","data-runtime-plugin-restricted":un(r.runtimeProfile)?"true":"false","data-runtime-profile-summary":us(r.runtimeProfile),children:[e.jsxs("div",{className:"code-runtime-profile__head",children:[e.jsx("span",{children:"Runtime Profile"}),e.jsx("strong",{children:us(r.runtimeProfile)}),e.jsx("button",{className:"btn btn-ghost",type:"button","data-testid":"code-agent-runtime-reset",onClick:()=>re({runtimeProfile:ht()}),children:"Reset"})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Runtime Prompt"}),e.jsx("textarea",{"data-testid":"code-agent-runtime-prompt",rows:2,value:r.runtimeProfile.runtimePrompt,onChange:s=>re({runtimeProfile:wt({...r.runtimeProfile,runtimePrompt:s.target.value})})})]}),e.jsxs("div",{className:"code-workflow-two",children:[e.jsxs("label",{children:[e.jsx("span",{children:"Allowed Tool Names"}),e.jsx("textarea",{"data-testid":"code-agent-runtime-tools",rows:3,value:Ge(r.runtimeProfile.allowedToolNames),onChange:s=>re({runtimeProfile:wt({...r.runtimeProfile,allowedToolNames:Xt(s.target.value)})})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Allowed Tool Prefixes"}),e.jsx("textarea",{"data-testid":"code-agent-runtime-prefixes",rows:3,value:Ge(r.runtimeProfile.allowedToolPrefixes),onChange:s=>re({runtimeProfile:wt({...r.runtimeProfile,allowedToolPrefixes:Xt(s.target.value)})})})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Enabled Plugin Ids"}),e.jsx("textarea",{"data-testid":"code-agent-runtime-plugins",rows:2,value:Ge(r.runtimeProfile.enabledPluginIds),onChange:s=>re({runtimeProfile:wt({...r.runtimeProfile,enabledPluginIds:Xt(s.target.value)})})})]})]}),Me&&e.jsxs("div",{className:"code-planned-work","data-testid":"code-agent-planned-work","data-planned-work-tools":Me.toolCount,"data-planned-work-concepts":Me.conceptCount,"data-planned-work-drift":Me.driftCount,"data-planned-work-repair":Me.needsRepair?"true":"false",children:[e.jsxs("div",{className:"code-planned-work__head",children:[e.jsx("span",{children:"Planned Work"}),e.jsx("strong",{children:Me.summaryLine}),e.jsx("code",{children:Me.needsRepair?"repair":"clean"})]}),e.jsx("div",{className:"code-planned-work__metrics","aria-label":"Agent planned work split",children:Me.projectionLines.map(s=>e.jsx("span",{"data-testid":"code-agent-planned-work-line",children:s},s))}),e.jsx("div",{className:"code-planned-work__items","aria-label":"Agent planned work actual tools",children:Me.actualTools.slice(0,10).map(s=>e.jsx("code",{"data-testid":"code-agent-planned-work-tool",children:s},s))}),e.jsx("div",{className:"code-planned-work__items","aria-label":"Agent planned work concept hints",children:Me.conceptHints.slice(0,10).map(s=>e.jsx("code",{"data-testid":"code-agent-planned-work-concept",children:s},s))}),e.jsx("small",{children:Me.governanceLines[4]})]}),Ae&&e.jsxs("div",{className:"code-tool-system","data-testid":"code-agent-tool-system","data-tool-system-enabled":Ae.enabledToolCount,"data-tool-system-blocked":Ae.blockedToolCount,"data-tool-system-approval":Ae.approvalToolCount,"data-tool-system-restricted":Ae.toolRestricted?"true":"false","data-tool-system-plugin-restricted":Ae.pluginRestricted?"true":"false","data-tool-system-requested-blocked":Ae.requestedBlockedCount,"data-tool-system-dangerous":Ae.dangerousPattern||"none",children:[e.jsxs("div",{className:"code-tool-system__head",children:[e.jsx("span",{children:"ToolSystem"}),e.jsx("strong",{children:Ae.summaryLine}),e.jsx("code",{children:ve})]}),e.jsx("div",{className:"code-tool-system__metrics","aria-label":"Agent ToolSystem policy",children:Ae.projectionLines.map(s=>e.jsx("span",{"data-testid":"code-agent-tool-system-line",children:s},s))}),e.jsx("div",{className:"code-tool-system__tools","aria-label":"Agent ToolSystem requested tools",children:Ae.tools.filter(s=>s.requested||s.requiresApproval).slice(0,12).map(s=>e.jsxs("code",{"data-testid":"code-agent-tool-system-tool","data-tool-name":s.name,"data-tool-enabled":s.enabled?"true":"false","data-tool-plugin":s.pluginId||"builtin","data-tool-reason":s.reason,"data-tool-approval":s.requiresApproval?"true":"false",children:[s.name,": ",s.enabled?"enabled":"blocked"]},s.name))}),e.jsx("small",{children:Ae.governanceLines[4]})]}),ge&&e.jsxs("div",{className:"code-workflow-tooling","data-testid":"code-agent-code-workflow-tools","data-code-workflow-active":ge.activeForMode?"true":"false","data-code-workflow-priority":ge.promptPriority,"data-code-actionbook-files":Array.isArray(ge.codeActionbook.args.files)?ge.codeActionbook.args.files.length:0,"data-test-runbook-requires-approval":ge.testRunbook.requiresApproval?"true":"false","data-test-runbook-enabled":ge.testRunbook.enabled?"true":"false","data-dangerous-pattern-count":ge.dangerousPatterns.length,children:[e.jsxs("div",{className:"code-workflow-tooling__head",children:[e.jsx("span",{children:ge.pluginId}),e.jsx("strong",{children:ge.summaryLine}),e.jsx("code",{children:ve})]}),e.jsx("div",{className:"code-workflow-tooling__metrics","aria-label":"Code workflow tooling metrics",children:ge.projectionLines.slice(0,6).map(s=>e.jsx("span",{"data-testid":"code-agent-code-workflow-tool-line",children:s},s))}),e.jsx("div",{className:"code-workflow-tooling__plans","aria-label":"Code workflow tool plans",children:[ge.codeActionbook,ge.testRunbook].map(s=>e.jsxs("code",{"data-testid":"code-agent-code-workflow-plan","data-tool-name":s.name,"data-tool-enabled":s.enabled?"true":"false","data-tool-approval":s.requiresApproval?"true":"false",children:[s.name,": ",s.enabled?"ready":"gated"]},s.name))}),e.jsx("small",{children:ge.governanceLines[4]})]}),je&&e.jsxs("div",{className:"code-canvas-agent-tooling","data-testid":"code-agent-canvas-agent-tools","data-canvas-agent-active":je.activeForMode?"true":"false","data-code-note-plugin-priority":je.codeNotePlugin.promptPriority,"data-agent-command-plugin-priority":je.agentCommandPlugin.promptPriority,"data-canvas-note-tool-count":je.codeNotePlugin.tools.length,"data-canvas-command-tool-count":je.agentCommandPlugin.tools.length,"data-canvas-linked-note-count":je.linkedNoteCount,"data-canvas-plan-ready":je.planReady?"true":"false",children:[e.jsxs("div",{className:"code-canvas-agent-tooling__head",children:[e.jsx("span",{children:"Canvas"}),e.jsx("strong",{children:je.summaryLine}),e.jsx("code",{children:ve})]}),e.jsx("div",{className:"code-canvas-agent-tooling__metrics","aria-label":"Canvas agent tooling metrics",children:je.projectionLines.slice(0,7).map(s=>e.jsx("span",{"data-testid":"code-agent-canvas-tool-line",children:s},s))}),e.jsx("div",{className:"code-canvas-agent-tooling__plans","aria-label":"Canvas agent tool plans",children:[...je.codeNotePlugin.tools,...je.agentCommandPlugin.tools].map(s=>e.jsxs("code",{"data-testid":"code-agent-canvas-tool-plan","data-tool-name":s.name,"data-tool-enabled":s.enabled?"true":"false","data-tool-approval":s.requiresApproval?"true":"false",children:[s.name,": ",s.enabled?"ready":"gated"]},s.name))}),e.jsx("small",{children:je.governanceLines[3]})]}),e.jsxs("div",{className:"code-role-catalog","data-testid":"code-agent-role-catalog","data-agent-role":(ee==null?void 0:ee.id)||nt(r.requestedRole),"data-agent-role-can-delegate":ee!=null&&ee.canDelegate?"true":"false",children:[e.jsxs("div",{className:"code-role-catalog__head",children:[e.jsx("span",{children:(ee==null?void 0:ee.iconLabel)||"AGT"}),e.jsxs("div",{children:[e.jsx("strong",{children:(ee==null?void 0:ee.displayName)||r.requestedRole}),e.jsx("small",{children:(ee==null?void 0:ee.summary)||"Role catalog metadata unavailable."})]}),e.jsx("button",{className:"btn btn-ghost",type:"button","data-testid":"code-agent-apply-skill-catalog",onClick:Nr,children:"Apply Catalog"})]}),e.jsx("div",{className:"code-skill-catalog","data-testid":"code-agent-skill-catalog","data-skill-count":be.length,"data-skill-ids":be.map(s=>s.id).join(","),children:be.length>0?be.map(s=>e.jsxs("div",{className:"code-skill-card","data-testid":"code-agent-skill-card","data-skill-id":s.id,"data-entry-role":s.entryRole,children:[e.jsx("strong",{children:s.displayName}),e.jsx("span",{children:s.description}),e.jsx("small",{children:s.requiredRoles.join(" / ")})]},s.id)):e.jsx("small",{children:"No catalog skill resolved from planned skills or objective yet."})}),st&&e.jsx("pre",{className:"code-skill-execution-hint","data-testid":"code-agent-skill-execution-hint",children:st})]}),Be&&e.jsxs("div",{className:"code-agent-structured-task","data-testid":"code-agent-structured-task","data-structured-work-items":Be.workItemCount,"data-structured-root-items":Be.rootWorkItemCount,"data-structured-entry-role":Be.entryRole,"data-structured-evaluation-verdict":Be.evaluationVerdict,"data-structured-evaluation-score":Be.evaluationScore.toFixed(2),children:[e.jsxs("div",{className:"code-agent-structured-task__head",children:[e.jsx("span",{children:"Structured Task"}),e.jsx("strong",{children:Be.summaryLine})]}),e.jsx("div",{className:"code-agent-structured-task__metrics","aria-label":"Mission structured task metrics",children:Be.projectionLines.slice(0,6).map(s=>e.jsx("span",{"data-testid":"code-agent-structured-task-line",children:s},s))}),Be.parsedPlan&&e.jsx("div",{className:"code-agent-structured-task__items","aria-label":"Parsed structured work items",children:Be.parsedPlan.workItems.slice(0,4).map(s=>e.jsxs("code",{"data-testid":"code-agent-structured-task-item",children:[s.isRoot?"root ":"",s.title," / ",s.roleHint]},`${s.title}:${s.goal}`))})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Planner Summary"}),e.jsx("textarea",{"data-testid":"code-agent-summary",rows:4,value:r.plannerSummary,onChange:s=>re({plannerSummary:s.target.value})})]}),Te&&e.jsxs("div",{className:"code-actionbook-hint","data-testid":"code-agent-actionbook-hint","data-actionbook-template":Te.template,"data-actionbook-snapshot":Te.includeSnapshot?"true":"false",title:Te.tooltip,children:[e.jsx("div",{className:"code-actionbook-hint__rail",children:Te.railText}),e.jsxs("div",{children:[e.jsx("strong",{children:Te.summaryText}),e.jsx("span",{children:Te.followText||"Browser.Actionbook was recommended for this work item."})]})]}),Ce&&e.jsxs("div",{className:"code-exploration-phase","data-testid":"code-agent-exploration-phase","data-exploration-phase-key":Ce.key,"data-exploration-research":ft(r)?"true":"false","data-exploration-candidates":Ce.candidates.length,"data-exploration-completed":r.status==="done"?"true":"false",children:[e.jsxs("div",{className:"code-exploration-phase__head",children:[e.jsx("span",{children:"Phase"}),e.jsx("strong",{children:Ce.title}),e.jsx("code",{children:Ce.key})]}),e.jsx("p",{children:Ce.summary}),e.jsx("small",{children:Ce.why}),e.jsx("div",{className:"code-exploration-phase__gap",children:Ce.gap}),e.jsx("div",{className:"code-exploration-phase__candidates","aria-label":"Exploration phase candidates",children:Ce.candidates.map(s=>e.jsx("code",{"data-testid":"code-agent-exploration-candidate",children:s},s))})]}),r.progressDigest&&e.jsxs("div",{className:"code-progress-digest","data-testid":"code-agent-progress-digest","data-digest-scope":r.progressDigest.metadata.scope||"step","data-digest-publish":r.progressDigest.shouldPublish?"true":"false","data-digest-evidence-gain":r.progressDigest.metadata.evidenceGain||"0","data-digest-tool":r.progressDigest.metadata.toolName||"",children:[e.jsxs("div",{className:"code-progress-digest__head",children:[e.jsx("span",{children:"Progress Digest"}),e.jsx("strong",{children:r.progressDigest.title})]}),e.jsx("pre",{children:r.progressDigest.content}),e.jsx("div",{className:"code-progress-digest__meta","aria-label":"Progress digest metadata",children:Object.entries(r.progressDigest.metadata).slice(0,6).map(([s,l])=>e.jsxs("code",{children:[s,": ",l]},s))})]}),Z&&e.jsxs("div",{className:"code-agent-mind-console","data-testid":"code-agent-mind-console","data-mind-progress":Z.progressValue.toFixed(2),"data-mind-tool-loop":Z.preferredToolLoop,"data-agent-mind-decision":Z.currentDecisionRationale,title:Z.progressTooltip,children:[e.jsxs("div",{className:"code-agent-mind-console__head",children:[e.jsx("span",{children:"Agent Mind"}),e.jsx("strong",{children:Z.progressLabel})]}),e.jsx("div",{className:"code-agent-mind-console__metrics","data-testid":"code-agent-mind-metrics",children:Z.consoleMetrics.map(s=>e.jsx("code",{children:s},s))}),e.jsx("div",{className:"code-agent-mind-console__lines","aria-label":"Agent mind console lines",children:Z.consoleLines.map(s=>e.jsx("p",{"data-testid":"code-agent-mind-console-line",children:s},s))}),e.jsx("div",{className:"code-agent-scope-feed","data-testid":"code-agent-scope-feed","data-scope-feed-count":Z.scopeFeedItems.length,children:Z.scopeFeedItems.map(s=>e.jsxs("span",{"data-scope-kind":s.kind,title:s.tooltip,children:[e.jsx("strong",{children:s.kind}),s.text]},`${s.kind}:${s.text}`))})]}),C&&e.jsxs("div",{className:"code-objective-kernel","data-testid":"code-agent-objective-kernel","data-objective-phase":C.phaseHint,"data-objective-top-kind":C.topCandidate.kind,"data-objective-external-research":C.requiresExternalResearch?"true":"false","data-objective-survival-floor":C.survivalFloor.toFixed(2),title:C.summaryLine,children:[e.jsxs("div",{className:"code-objective-kernel__head",children:[e.jsx("span",{children:"Objective Kernel"}),e.jsx("strong",{children:C.topCandidate.label}),e.jsx("code",{children:C.phaseHint})]}),e.jsxs("div",{className:"code-objective-kernel__top","data-testid":"code-agent-objective-top",children:[e.jsx("span",{children:C.topCandidate.rationale}),e.jsx("code",{children:C.topCandidate.preferredToolLoop})]}),e.jsxs("div",{className:"code-objective-kernel__metrics","aria-label":"Objective kernel gate metrics",children:[e.jsxs("code",{children:["progress ",C.missionProgress.toFixed(2)]}),e.jsxs("code",{children:["survival ",C.survivalScore.toFixed(2)]}),e.jsxs("code",{children:["floor ",C.survivalFloor.toFixed(2)]}),e.jsxs("code",{children:["research ",C.requiresExternalResearch?"yes":"no"]})]}),e.jsx("div",{className:"code-objective-kernel__candidates","aria-label":"Objective kernel candidates",children:C.candidates.slice(0,4).map(s=>e.jsxs("span",{className:s.survives?"is-accepted":"is-rejected","data-testid":"code-agent-objective-candidate","data-candidate-kind":s.kind,"data-candidate-survives":s.survives?"true":"false","data-candidate-score":s.score.toFixed(3),title:s.rejectionReason||s.preferredToolLoop,children:[e.jsx("strong",{children:s.label}),e.jsx("code",{children:s.score.toFixed(2)})]},s.id))})]}),xe&&e.jsxs("div",{className:"code-agent-mind-packet","data-testid":"code-agent-mind-packet","data-mind-packet-lines":xe.lines.length,"data-mind-packet-canvas-notes":xe.canvasNoteItems.length,"data-mind-packet-progress":xe.missionProgress.toFixed(2),title:xe.preferredToolLoop,children:[e.jsxs("div",{className:"code-agent-mind-packet__head",children:[e.jsx("span",{children:"Cognitive State"}),e.jsx("strong",{children:xe.mission}),e.jsx("code",{children:xe.survivalScore.toFixed(2)})]}),e.jsx("pre",{children:xe.text})]}),qe&&e.jsxs("div",{className:"code-agent-reflection-replan","data-testid":"code-agent-reflection-replan","data-reflection-auto-replan":qe.shouldAutoReplan?"true":"false","data-reflection-stretch-review":qe.shouldStretchReview?"true":"false","data-reflection-external-evidence":qe.requiresExternalEvidence?"true":"false","data-reflection-next-actions":qe.nextActions.length,children:[e.jsxs("div",{className:"code-agent-reflection-replan__head",children:[e.jsx("span",{children:"Reflection Replan"}),e.jsx("strong",{children:qe.shouldAutoReplan?"next action ready":"hold position"}),e.jsx("code",{children:qe.missionProgress.toFixed(2)})]}),e.jsx("pre",{children:qe.summary}),e.jsx("div",{className:"code-agent-reflection-replan__actions","aria-label":"Reflection next actions",children:qe.nextActions.map(s=>e.jsx("span",{"data-testid":"code-agent-reflection-next-action",children:s},s))})]}),X&&e.jsxs("div",{className:"code-agent-mission-registry","data-testid":"code-agent-mission-registry","data-mission-state":X.projectedState,"data-mission-previous-state":X.previousState,"data-mission-work-items":X.workItemCount,"data-mission-completed-items":X.completedCount,"data-mission-running-like-items":X.runningLikeCount,"data-mission-terminal-items":X.terminalCount,"data-mission-mirror-outcome":X.shouldMirrorMissionOutcome?"true":"false","data-mission-clear-completed-at":X.shouldClearCompletedAt?"true":"false",children:[e.jsxs("div",{className:"code-agent-mission-registry__head",children:[e.jsx("span",{children:"Mission Registry"}),e.jsx("strong",{children:X.projectedState}),e.jsxs("code",{children:[X.workItemCount," items"]})]}),e.jsx("p",{children:X.summaryLine}),e.jsxs("div",{className:"code-agent-mission-registry__metrics","aria-label":"Agent mission registry metrics",children:[e.jsxs("span",{"data-testid":"code-agent-mission-registry-line",children:["Previous: ",X.previousState]}),e.jsxs("span",{"data-testid":"code-agent-mission-registry-line",children:["Completed: ",X.completedCount]}),e.jsxs("span",{"data-testid":"code-agent-mission-registry-line",children:["Running-like: ",X.runningLikeCount]}),e.jsxs("span",{"data-testid":"code-agent-mission-registry-line",children:["Terminal: ",X.terminalCount]}),e.jsxs("span",{"data-testid":"code-agent-mission-registry-line",children:["Mirror outcome: ",X.shouldMirrorMissionOutcome?"yes":"no"]})]}),X.workItemLines.length>0&&e.jsx("div",{className:"code-agent-mission-registry__items","aria-label":"Projected mission work items",children:X.workItemLines.slice(0,5).map(s=>e.jsx("code",{"data-testid":"code-agent-mission-work-item",children:s},s))}),e.jsx("small",{children:X.governanceLines[2]})]}),ae&&e.jsxs("div",{className:"code-agent-artifact-projection","data-testid":"code-agent-artifact-projection","data-artifact-count":ae.artifactCount,"data-evaluation-count":ae.evaluationCount,"data-recent-artifact-count":ae.recentArtifactCount,"data-recent-evaluation-count":ae.recentEvaluationCount,"data-work-item-artifact-kind":ae.workItemArtifactKind,"data-work-item-evaluation-verdict":ae.workItemEvaluationVerdict,"data-structured-upgrade":ae.structuredUpgradePlanned?"true":"false",children:[e.jsxs("div",{className:"code-agent-artifact-projection__head",children:[e.jsx("span",{children:"Artifact Projection"}),e.jsx("strong",{children:ae.workItemEvaluationVerdict}),e.jsx("code",{children:ae.workItemEvaluationScore.toFixed(2)})]}),e.jsx("p",{children:ae.summaryLine}),e.jsx("div",{className:"code-agent-artifact-projection__metrics","aria-label":"Agent artifact projection metrics",children:ae.projectionLines.map(s=>e.jsx("span",{"data-testid":"code-agent-artifact-line",children:s},s))}),ae.recentArtifacts.length>0&&e.jsx("div",{className:"code-agent-artifact-projection__records","aria-label":"Recent projected artifacts",children:ae.recentArtifacts.slice(0,4).map(s=>e.jsxs("code",{"data-testid":"code-agent-artifact-record","data-artifact-kind":s.kind,children:[s.title,": ",s.kind]},s.id))}),ae.recentEvaluations.length>0&&e.jsx("div",{className:"code-agent-artifact-projection__records","aria-label":"Recent projected evaluations",children:ae.recentEvaluations.slice(0,4).map(s=>e.jsxs("code",{"data-testid":"code-agent-evaluation-record","data-evaluation-verdict":s.verdict,children:[s.subjectKind,": ",s.verdict," / ",s.score.toFixed(2)]},s.id))}),e.jsx("small",{children:ae.governanceLines[2]})]}),O&&e.jsxs("div",{className:"code-agent-execution-observatory","data-testid":"code-agent-execution-observatory","data-observatory-agent-activity":O.agentReport.activity.length,"data-observatory-mission-activity":O.missionReport.activity.length,"data-observatory-work-item-activity":O.workItemReport.activity.length,"data-observatory-artifacts":O.totalArtifactCount,"data-observatory-evaluations":O.totalEvaluationCount,"data-observatory-mission-actionbook":O.missionActionbookTemplate,"data-observatory-work-item-actionbook":O.workItemActionbookTemplate,children:[e.jsxs("div",{className:"code-agent-execution-observatory__head",children:[e.jsx("span",{children:"Execution Observatory"}),e.jsx("strong",{children:O.summaryLine}),e.jsxs("code",{children:[O.agentActivityLimit,"/",O.agentArtifactLimit,"/",O.agentEvaluationLimit]})]}),e.jsx("div",{className:"code-agent-execution-observatory__metrics","aria-label":"Execution observatory metrics",children:O.projectionLines.slice(0,6).map(s=>e.jsx("span",{"data-testid":"code-agent-observatory-line",children:s},s))}),e.jsxs("div",{className:"code-agent-execution-observatory__reports","aria-label":"Execution observatory report scopes",children:[e.jsxs("code",{"data-testid":"code-agent-observatory-report",children:["agent ",O.agentReport.activity.length,"/",O.agentReport.artifacts.length,"/",O.agentReport.evaluations.length]}),e.jsxs("code",{"data-testid":"code-agent-observatory-report",children:["mission ",O.missionReport.activity.length,"/",O.missionReport.artifacts.length,"/",O.missionReport.evaluations.length]}),e.jsxs("code",{"data-testid":"code-agent-observatory-report",children:["work item ",O.workItemReport.activity.length,"/",O.workItemReport.artifacts.length,"/",O.workItemReport.evaluations.length]})]}),e.jsx("small",{children:O.governanceLines[3]})]}),le&&e.jsxs("div",{className:"code-agent-fleet-runtime","data-testid":"code-agent-fleet-runtime","data-fleet-runtime-state":le.runtimeState,"data-fleet-lease-fresh":le.leaseFresh?"true":"false","data-fleet-handoff-ready":le.handoffReady?"true":"false","data-fleet-mailbox-instructions":le.instructionMailboxCount,"data-fleet-mailbox-approvals":le.approvalRequestCount,"data-fleet-approval-queues-goal":le.approvalQueuesGoal?"true":"false",children:[e.jsxs("div",{className:"code-agent-fleet-runtime__head",children:[e.jsx("span",{children:"Fleet Runtime"}),e.jsx("strong",{children:le.runtimeState}),e.jsx("code",{children:le.leaseFresh?"lease fresh":"lease idle"})]}),e.jsx("p",{children:le.summaryLine}),e.jsxs("div",{className:"code-agent-fleet-runtime__metrics","aria-label":"Agent fleet runtime metrics",children:[e.jsxs("code",{children:["owner ",le.leaseOwnerAgentId]}),e.jsxs("code",{children:["source ",le.leaseHeartbeatSource]}),e.jsxs("code",{children:["timeout ",le.leaseTimeoutMs,"ms"]}),e.jsxs("code",{children:["handoff ",le.handoffReady?"ready":"no"]})]}),e.jsx("div",{className:"code-agent-fleet-runtime__mailbox","aria-label":"Agent fleet mailbox projection",children:le.mailboxLines.map(s=>e.jsx("span",{"data-testid":"code-agent-fleet-mailbox-line",children:s},s))}),e.jsx("small",{children:le.nextRuntimeAction})]}),he&&e.jsxs("div",{className:"code-agent-mailbox-hydration","data-testid":"code-agent-mailbox-hydration","data-mailbox-hydration-changed":he.changed?"true":"false","data-mailbox-hydration-accepted":he.acceptedMailboxCount,"data-mailbox-hydration-skipped":he.skippedMailboxCount,"data-mailbox-hydration-queued-goals":he.queuedGoalCount,"data-mailbox-hydration-restored-approvals":he.restoredApprovalCount,"data-mailbox-hydration-enqueued-agents":he.enqueuedAgentCount,children:[e.jsxs("div",{className:"code-agent-mailbox-hydration__head",children:[e.jsx("span",{children:"Mailbox Hydration"}),e.jsx("strong",{children:he.changed?"changed":"idle"}),e.jsxs("code",{children:["seq ",he.sequenceMax]})]}),e.jsx("p",{children:he.summaryLine}),e.jsx("div",{className:"code-agent-mailbox-hydration__metrics","aria-label":"Agent mailbox hydration metrics",children:he.hydrationLines.map(s=>e.jsx("span",{"data-testid":"code-agent-mailbox-hydration-line",children:s},s))}),he.acceptedMailbox.length>0&&e.jsx("div",{className:"code-agent-mailbox-hydration__accepted","aria-label":"Accepted hydrated mailbox",children:he.acceptedMailbox.slice(0,4).map(s=>e.jsxs("code",{"data-testid":"code-agent-mailbox-hydration-mailbox","data-mailbox-hydration-kind":s.kind,"data-mailbox-hydration-action":s.action,children:[s.agentName,": ",s.kind," / ",s.action]},s.mailboxId))}),e.jsx("small",{children:he.governanceLines[3]})]}),ye&&e.jsxs("div",{className:"code-agent-heartbeat","data-testid":"code-agent-heartbeat","data-heartbeat-touched":ye.touchedAgentCount,"data-heartbeat-work-items":ye.touchedWorkItemCount,"data-heartbeat-selected-touched":ye.selectedAgentTouched?"true":"false","data-heartbeat-selected-work-item":ye.selectedWorkItemTouched?"true":"false","data-heartbeat-interval-ms":ye.heartbeatIntervalMs,children:[e.jsxs("div",{className:"code-agent-heartbeat__head",children:[e.jsx("span",{children:"Heartbeat Pump"}),e.jsx("strong",{children:ye.selectedAgentTouched?"touched":"idle"}),e.jsxs("code",{children:[ye.heartbeatIntervalMs,"ms"]})]}),e.jsx("p",{children:ye.summaryLine}),e.jsx("div",{className:"code-agent-heartbeat__metrics","aria-label":"Agent heartbeat pump metrics",children:ye.heartbeatLines.map(s=>e.jsx("span",{"data-testid":"code-agent-heartbeat-line",children:s},s))}),ye.touchedAgents.length>0&&e.jsx("div",{className:"code-agent-heartbeat__agents","aria-label":"Heartbeat touched agents",children:ye.touchedAgents.map(s=>e.jsxs("code",{"data-testid":"code-agent-heartbeat-agent",children:[s.name,": ",s.state," / ",s.workItemId]},s.agentId))}),e.jsx("small",{children:ye.governanceLines[4]})]}),me&&e.jsxs("div",{className:"code-agent-runtime-recovery","data-testid":"code-agent-runtime-recovery","data-recovery-count":me.recoveredCount,"data-recovery-stale-runtime":me.staleRuntimeRecoveredCount,"data-recovery-queued":me.queuedReenqueueCount,"data-recovery-selected":me.selectedAgentRecovered?"true":"false","data-recovery-selected-reason":me.selectedRecoveryReason,"data-recovery-browser-visibility":me.browserVisibilityRecovery?"true":"false",children:[e.jsxs("div",{className:"code-agent-runtime-recovery__head",children:[e.jsx("span",{children:"Runtime Recovery"}),e.jsx("strong",{children:me.selectedAgentRecovered?"selected recovered":"watching"}),e.jsxs("code",{children:[me.staleThresholdMs,"ms"]})]}),e.jsx("p",{children:me.summaryLine}),e.jsx("div",{className:"code-agent-runtime-recovery__metrics","aria-label":"Agent runtime recovery metrics",children:me.recoveryLines.map(s=>e.jsx("span",{"data-testid":"code-agent-runtime-recovery-line",children:s},s))}),me.recoveredAgents.length>0&&e.jsx("div",{className:"code-agent-runtime-recovery__agents","aria-label":"Recovered runtime agents",children:me.recoveredAgents.map(s=>e.jsxs("code",{"data-testid":"code-agent-runtime-recovery-agent",children:[s.name,": ",s.recoveryReason]},s.agentId))}),e.jsx("small",{children:me.governanceLines[3]})]}),L&&e.jsxs("div",{className:"code-agent-budget-guard","data-testid":"code-agent-budget-guard","data-budget-state":L.budgetState,"data-budget-warning":L.warningRaised?"true":"false","data-budget-limit-exceeded":L.limitExceeded?"true":"false","data-budget-should-pause":L.shouldPause?"true":"false","data-budget-auto-pause":L.autoPauseWhenLimitExceeded?"true":"false","data-budget-timeline":L.shouldEmitBudgetTimeline?"true":"false","data-budget-client-input-tokens":L.clientEstimatedInputTokens,"data-budget-client-output-tokens":L.clientEstimatedOutputTokens,"data-budget-client-image-tokens":L.estimatedImageTokens,children:[e.jsxs("div",{className:"code-agent-budget-guard__head",children:[e.jsx("span",{children:"Budget Guard"}),e.jsx("strong",{children:L.budgetState}),e.jsx("code",{children:L.autoPauseWhenLimitExceeded?"auto-pause on":"auto-pause off"})]}),e.jsx("p",{children:L.summaryLine}),e.jsxs("div",{className:"code-agent-budget-guard__status",children:[e.jsx("strong",{children:L.statusText}),e.jsx("small",{children:L.policyTimelineMessage})]}),e.jsx("div",{className:"code-agent-budget-guard__metrics","aria-label":"Agent budget metrics",children:L.metrics.map(s=>e.jsxs("span",{"data-testid":"code-agent-budget-metric","data-budget-metric":s.id,"data-budget-metric-state":s.state,children:[e.jsx("strong",{children:s.label}),e.jsx("code",{children:s.display})]},s.id))}),e.jsxs("small",{children:["Provider/model: ",L.provider," / ",L.modelId," / ",L.reasoningEffort]}),e.jsxs("small",{"data-testid":"code-agent-budget-token-estimate",children:["Client token estimate: ",L.clientEstimatedInputTokens.toLocaleString()," in / ",L.clientEstimatedOutputTokens.toLocaleString()," out / ",L.estimatedImageTokens.toLocaleString()," image"]})]}),pe&&e.jsxs("div",{className:"code-agent-dispatch-queue","data-testid":"code-agent-dispatch-queue","data-dispatch-can-dequeue":pe.canDequeue?"true":"false","data-dispatch-unique-count":pe.uniqueQueueCount,"data-dispatch-duplicates":pe.duplicateCount,"data-dispatch-skipped":pe.skippedAgents.length,"data-dispatch-first-runnable":pe.firstRunnableAgentId||"none","data-dispatch-selected-queued":pe.selectedAgentQueued?"true":"false",children:[e.jsxs("div",{className:"code-agent-dispatch-queue__head",children:[e.jsx("span",{children:"Dispatch Queue"}),e.jsx("strong",{children:pe.canDequeue?"runnable ready":"waiting"}),e.jsxs("code",{children:[pe.runningCount,"/",pe.concurrencyLimit," running"]})]}),e.jsx("p",{children:pe.summaryLine}),e.jsx("div",{className:"code-agent-dispatch-queue__metrics","aria-label":"Agent dispatch queue metrics",children:pe.queueLines.map(s=>e.jsx("span",{"data-testid":"code-agent-dispatch-line",children:s},s))}),pe.skippedAgents.length>0&&e.jsx("div",{className:"code-agent-dispatch-queue__skips","aria-label":"Skipped dispatch candidates",children:pe.skippedAgents.map(s=>e.jsxs("code",{"data-testid":"code-agent-dispatch-skip",children:[s.name,": ",s.reason]},s.agentId))}),e.jsx("small",{children:pe.governanceLines[0]})]}),fe&&e.jsxs("div",{className:"code-agent-direct-instruction","data-testid":"code-agent-direct-instruction","data-direct-instruction-ready":fe.instructionReady?"true":"false","data-direct-instruction-mode":fe.queueMode,"data-direct-instruction-queued-agents":fe.queuedAgentCount,"data-direct-instruction-fallback":fe.fallbackToMission?"true":"false","data-direct-instruction-delegates":fe.shouldDelegateToMission?"true":"false","data-direct-instruction-scheduler-wake":fe.schedulerWake?"true":"false",children:[e.jsxs("div",{className:"code-agent-direct-instruction__head",children:[e.jsx("span",{children:"Direct Instruction"}),e.jsx("strong",{children:fe.queueMode}),e.jsx("code",{children:fe.mailboxKind})]}),e.jsx("p",{children:fe.summaryLine}),e.jsx("div",{className:"code-agent-direct-instruction__metrics","aria-label":"Agent direct instruction queue metrics",children:fe.queueLines.map(s=>e.jsx("span",{"data-testid":"code-agent-direct-instruction-line",children:s},s))}),fe.queuedAgents.length>0&&e.jsx("div",{className:"code-agent-direct-instruction__targets","aria-label":"Direct instruction queued targets",children:fe.queuedAgents.map(s=>e.jsxs("code",{"data-testid":"code-agent-direct-instruction-target",children:[s.name,": ",s.pendingBefore," -> ",s.pendingAfter]},s.agentId))}),e.jsx("small",{children:fe.governanceLines[2]})]}),ke&&e.jsxs("div",{className:"code-agent-lease-retry","data-testid":"code-agent-lease-retry","data-lease-retry-due":ke.retryDue?"true":"false","data-lease-retry-delay-ms":ke.nextDelayMs,"data-lease-retry-attempt":ke.currentAttempt,"data-lease-retry-ticket":ke.leaseRetryTicket,"data-lease-retry-stale-ticket":ke.staleTicketIgnored?"true":"false","data-lease-retry-enqueue":ke.shouldEnqueueAfterDelay?"true":"false","data-lease-retry-invalid":ke.invalidationReason,children:[e.jsxs("div",{className:"code-agent-lease-retry__head",children:[e.jsx("span",{children:"Lease Retry"}),e.jsx("strong",{children:ke.retryDue?"due":"waiting"}),e.jsxs("code",{children:[ke.nextDelayMs,"ms"]})]}),e.jsx("p",{children:ke.summaryLine}),e.jsx("div",{className:"code-agent-lease-retry__metrics","aria-label":"Agent lease retry metrics",children:ke.queueLines.map(s=>e.jsx("span",{"data-testid":"code-agent-lease-retry-line",children:s},s))}),e.jsx("small",{children:ke.governanceLines[5]})]}),se&&e.jsxs("div",{className:"code-agent-lease-handoff","data-testid":"code-agent-lease-handoff","data-handoff-ready":se.handoffReady?"true":"false","data-handoff-target":se.selectedTargetId,"data-handoff-reason":se.selectionReason,"data-handoff-queue-mode":se.queueMode,"data-handoff-will-queue":se.willQueueGoal?"true":"false","data-handoff-target-owns":se.targetAlreadyOwnsWorkItem?"true":"false",children:[e.jsxs("div",{className:"code-agent-lease-handoff__head",children:[e.jsx("span",{children:"Lease Handoff"}),e.jsx("strong",{children:se.selectedTargetName}),e.jsx("code",{children:se.queueMode})]}),e.jsx("p",{children:se.summaryLine}),e.jsxs("div",{className:"code-agent-lease-handoff__metrics","aria-label":"Agent lease handoff metrics",children:[e.jsxs("span",{"data-testid":"code-agent-handoff-line",children:["Candidates: ",se.candidateCount]}),e.jsxs("span",{"data-testid":"code-agent-handoff-line",children:["Eligible: ",se.eligibleCandidateCount]}),e.jsxs("span",{"data-testid":"code-agent-handoff-line",children:["Reason: ",se.selectionReason]}),e.jsxs("span",{"data-testid":"code-agent-handoff-line",children:["Will queue: ",se.willQueueGoal?"yes":"no"]})]}),se.candidateLines.length>0&&e.jsx("div",{className:"code-agent-lease-handoff__candidates","aria-label":"Agent lease handoff candidates",children:se.candidateLines.map(s=>e.jsx("code",{"data-testid":"code-agent-handoff-candidate",children:s},s))}),e.jsx("small",{children:se.governanceLines[5]})]}),e.jsxs("div",{className:"code-workflow-two",children:[e.jsxs("label",{children:[e.jsx("span",{children:"Planned Skills"}),e.jsx("textarea",{"data-testid":"code-agent-skills",rows:3,value:Ge(r.plannedSkills),onChange:s=>re({plannedSkills:kt(s.target.value)})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Planned Tools"}),e.jsx("textarea",{"data-testid":"code-agent-tools",rows:3,value:Ge(r.plannedTools),onChange:s=>re({plannedTools:kt(s.target.value)})})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Planned Concepts"}),e.jsx("textarea",{"data-testid":"code-agent-concepts",rows:3,value:Ge(r.plannedConcepts),onChange:s=>re({plannedConcepts:kt(s.target.value)})})]}),ft(r)&&e.jsxs("div",{className:"code-research-pack","data-testid":"code-agent-research-pack","data-webresearch-adapter-state":"adapter-gated",children:[e.jsxs("div",{className:"code-research-pack__head",children:[e.jsx(Jt,{size:17}),e.jsx("strong",{children:"WebResearch pack"}),e.jsx("span",{children:"adapter-gated"})]}),e.jsx("div",{className:"code-research-tools","aria-label":"Planned WebResearch tools",children:Bt.map(s=>e.jsx("code",{"data-webresearch-tool":s,children:s},s))}),e.jsx("div",{className:"code-webcapture-plan","data-testid":"code-agent-webcapture-plan","data-webcapture-adapter-state":"adapter-gated","aria-label":"Planned Web Capture adapter safety",children:Fs.map(s=>e.jsxs("div",{className:"code-webcapture-step","data-webcapture-guard":s.id,children:[e.jsx("strong",{children:s.label}),e.jsx("span",{children:s.summary})]},s.id))}),e.jsxs("div",{className:"code-parallel-scout","data-testid":"code-agent-parallel-scouts","data-parallel-scout-adapter-state":((Ta=r.parallelScout)==null?void 0:Ta.adapterState)||"adapter-gated","data-parallel-scout-tranche":((Ba=r.parallelScout)==null?void 0:Ba.trancheIndex)||0,children:[e.jsxs("div",{className:"code-parallel-scout__head",children:[e.jsx(Tt,{size:16}),e.jsx("strong",{children:"Parallel Scouts"}),e.jsx("span",{children:mt(r)?"Deep Research":"business research only"})]}),e.jsxs("div",{className:"code-parallel-scout__actions",children:[e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-plan-parallel-scouts",onClick:vr,disabled:!mt(r),title:mt(r)?"Create adapter-gated scout lanes from the original Deep Research flow":"Parallel scouts are enabled for business opportunity research commands",children:[e.jsx(Tt,{size:15}),"Plan Scouts"]}),e.jsx("code",{"data-testid":"code-agent-parallel-scout-state",children:((_a=r.parallelScout)==null?void 0:_a.adapterState)||"adapter-gated"}),e.jsxs("code",{"data-testid":"code-agent-parallel-scout-count",children:["scouts: ",((Wa=r.parallelScout)==null?void 0:Wa.definitions.length)??0]})]}),r.parallelScout&&e.jsx("div",{className:"code-parallel-scout__grid","data-testid":"code-agent-parallel-scout-grid","data-parallel-scout-count":r.parallelScout.definitions.length,children:r.parallelScout.definitions.map((s,l)=>e.jsxs("article",{className:"code-parallel-scout__card","data-testid":"code-agent-parallel-scout-card","data-parallel-scout-key":s.key,"data-parallel-scout-status":s.status,children:[e.jsxs("div",{children:[e.jsxs("span",{children:["Scout ",l+1]}),e.jsx("strong",{children:s.title})]}),e.jsx("p",{children:s.focus}),e.jsx("code",{children:s.status})]},s.key))}),e.jsx("p",{"data-testid":"code-agent-parallel-scout-brief",children:((Fa=r.parallelScout)==null?void 0:Fa.brief)||"Only succeeded scout outcomes enter the main-run brief. Scout execution remains adapter-gated."})]}),e.jsxs("div",{className:"code-research-pearls","data-testid":"code-agent-research-pearls","data-research-pearl-adapter-state":((qa=r.researchPearls)==null?void 0:qa.adapterState)||"local-draft","data-research-pearl-count":((Ka=r.researchPearls)==null?void 0:Ka.acceptedCount)??0,"data-research-pearl-duplicates":((Oa=r.researchPearls)==null?void 0:Oa.duplicateRejectCount)??0,children:[e.jsxs("div",{className:"code-research-pearls__head",children:[e.jsx(Ft,{size:16}),e.jsx("strong",{children:"Research Pearls"}),e.jsx("span",{children:((Ua=r.researchPearls)==null?void 0:Ua.source)||"local-draft"})]}),e.jsxs("div",{className:"code-research-pearls__actions",children:[e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-draft-research-pearls",onClick:yr,title:"Extract local Research Pearl drafts from FinalAnswer-style text or structured evidence",children:[e.jsx(Ft,{size:15}),"Extract Pearls"]}),e.jsxs("code",{"data-testid":"code-agent-research-pearl-count",children:["accepted: ",((za=r.researchPearls)==null?void 0:za.acceptedCount)??0]}),e.jsxs("code",{"data-testid":"code-agent-research-pearl-duplicates",children:["duplicates: ",((Ha=r.researchPearls)==null?void 0:Ha.duplicateRejectCount)??0]})]}),(Ga=r.researchPearls)!=null&&Ga.candidates.length?e.jsx("div",{className:"code-research-pearls__grid","data-testid":"code-agent-research-pearl-grid","data-research-pearl-source":r.researchPearls.source,children:r.researchPearls.candidates.map((s,l)=>e.jsxs("article",{className:"code-research-pearl-card","data-testid":"code-agent-research-pearl-card","data-research-pearl-lane":s.lane,"data-research-pearl-angle-key":s.angleKey,"data-research-pearl-duplicate":s.duplicate?"true":"false",children:[e.jsxs("div",{children:[e.jsxs("span",{children:["Pearl ",l+1]}),e.jsx("strong",{children:s.title})]}),e.jsx("p",{children:s.claim}),e.jsx("small",{children:s.nextExperiment}),e.jsx("code",{children:s.duplicate?"duplicate":s.score!==void 0?`score ${s.score}`:s.lane})]},s.id))}):e.jsx("p",{"data-testid":"code-agent-research-pearl-summary",children:"No local pearl drafts yet. Add FinalAnswer-style Pearl sections or structure adapter evidence first."})]}),e.jsxs("div",{className:"code-research-bridge","data-testid":"code-agent-research-adapter-shell",children:[e.jsxs("div",{className:"code-research-bridge__actions",children:[e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-run-bridge-research",onClick:br,disabled:w==="research",children:[w==="research"?e.jsx(Qe,{size:15,className:"spin-icon"}):e.jsx(Wt,{size:15}),w==="research"?"Researching...":"Run Bridge Research"]}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-structure-evidence",onClick:xr,disabled:w==="research"||w==="evidence"||((Qa=r.researchAdapter)==null?void 0:Qa.status)!=="done",title:((Ja=r.researchAdapter)==null?void 0:Ja.status)==="done"?"Create a local Extract.Structured draft from adapter evidence":"Run Bridge Research before structuring evidence",children:[e.jsx(St,{size:15}),"Structure Evidence"]}),e.jsxs("button",{className:"btn btn-secondary",type:"button","data-testid":"code-agent-save-evidence",onClick:jr,disabled:w==="research"||w==="evidence"||!((Va=r.researchAdapter)!=null&&Va.structuredEvidence),title:(Xa=r.researchAdapter)!=null&&Xa.structuredEvidence?"Persist this structured evidence through LocalBridge Evidence.Save":"Structure evidence before saving",children:[w==="evidence"?e.jsx(Qe,{size:15,className:"spin-icon"}):e.jsx(Mt,{size:15}),w==="evidence"?"Saving...":((Za=(Ya=r.researchAdapter)==null?void 0:Ya.structuredEvidence)==null?void 0:Za.evidenceSaveState)==="saved"?"Saved Evidence":"Save Evidence"]}),e.jsx("span",{"data-testid":"code-agent-research-adapter-status","data-research-adapter-status":((es=r.researchAdapter)==null?void 0:es.status)||"idle","data-research-adapter-state":((ts=r.researchAdapter)==null?void 0:ts.adapterState)||"adapter-gated",children:((as=r.researchAdapter)==null?void 0:as.adapterState)||"adapter-gated"})]}),r.researchAdapter&&e.jsxs("div",{className:"code-research-adapter-result","data-testid":"code-agent-research-adapter","data-research-adapter-status":r.researchAdapter.status,"data-research-adapter-state":r.researchAdapter.adapterState,children:[e.jsxs("div",{children:[e.jsx("strong",{children:r.researchAdapter.topTitle||r.researchAdapter.fetchTitle||r.researchAdapter.query}),e.jsx("span",{children:r.researchAdapter.fetchUrl||r.researchAdapter.topUrl||r.researchAdapter.source||"No fetched URL yet"})]}),r.researchAdapter.fetchContentPreview&&e.jsx("p",{"data-testid":"code-agent-research-fetch-preview",children:r.researchAdapter.fetchContentPreview}),(r.researchAdapter.browserSessionId||r.researchAdapter.browserSnapshotPreview||r.researchAdapter.browserExtractPreview)&&e.jsxs("div",{className:"code-browser-adapter-result","data-testid":"code-agent-browser-adapter","data-browser-session-id":r.researchAdapter.browserSessionId||"",children:[e.jsxs("div",{className:"code-browser-adapter-result__head",children:[e.jsx("strong",{children:r.researchAdapter.browserTitle||"Browser evidence"}),e.jsx("span",{children:r.researchAdapter.browserSessionId||"session pending"})]}),e.jsxs("div",{className:"code-research-adapter-meta",children:[e.jsxs("code",{"data-testid":"code-agent-browser-link-count",children:["links: ",r.researchAdapter.browserLinkCount??0]}),e.jsxs("code",{children:["buttons: ",r.researchAdapter.browserButtonCount??0]}),e.jsxs("code",{children:["inputs: ",r.researchAdapter.browserInputCount??0]}),e.jsxs("code",{children:["headings: ",r.researchAdapter.browserHeadingCount??0]})]}),r.researchAdapter.browserSnapshotPreview&&e.jsx("pre",{"data-testid":"code-agent-browser-snapshot-preview",children:r.researchAdapter.browserSnapshotPreview}),r.researchAdapter.browserExtractPreview&&e.jsx("p",{"data-testid":"code-agent-browser-extract-preview",children:r.researchAdapter.browserExtractPreview})]}),r.researchAdapter.structuredEvidence&&e.jsxs("div",{className:"code-structured-evidence","data-testid":"code-agent-structured-evidence","data-structured-schema":r.researchAdapter.structuredEvidence.schema,"data-evidence-save-state":r.researchAdapter.structuredEvidence.evidenceSaveState,"data-evidence-save-path":r.researchAdapter.structuredEvidence.evidenceSavePath||"",children:[e.jsxs("div",{className:"code-structured-evidence__head",children:[e.jsx(St,{size:14}),e.jsx("strong",{children:r.researchAdapter.structuredEvidence.title}),e.jsx("span",{"data-testid":"code-agent-evidence-save-state",children:r.researchAdapter.structuredEvidence.evidenceSaveState})]}),e.jsx("p",{"data-testid":"code-agent-structured-summary",children:r.researchAdapter.structuredEvidence.summary}),r.researchAdapter.structuredEvidence.facts.length>0&&e.jsx("ul",{"data-testid":"code-agent-structured-facts",children:r.researchAdapter.structuredEvidence.facts.slice(0,4).map(s=>e.jsx("li",{children:s},s))}),r.researchAdapter.structuredEvidence.excerpt&&e.jsx("blockquote",{"data-testid":"code-agent-structured-excerpt",children:r.researchAdapter.structuredEvidence.excerpt}),e.jsxs("div",{className:"code-research-adapter-meta",children:[e.jsxs("code",{children:["schema: ",r.researchAdapter.structuredEvidence.schema]}),e.jsxs("code",{children:["facts: ",r.researchAdapter.structuredEvidence.facts.length]}),e.jsxs("code",{children:["links: ",r.researchAdapter.structuredEvidence.links.length]}),e.jsxs("code",{children:["prices: ",r.researchAdapter.structuredEvidence.prices.length]}),e.jsxs("code",{children:["chars: ",r.researchAdapter.structuredEvidence.charCount]}),r.researchAdapter.structuredEvidence.evidenceSavePath&&e.jsx("code",{"data-testid":"code-agent-evidence-save-path",children:r.researchAdapter.structuredEvidence.evidenceSavePath}),r.researchAdapter.structuredEvidence.evidenceSaveSha256&&e.jsx("code",{"data-testid":"code-agent-evidence-save-sha256",children:r.researchAdapter.structuredEvidence.evidenceSaveSha256.slice(0,16)})]}),r.researchAdapter.structuredEvidence.evidenceSaveError&&e.jsx("p",{"data-testid":"code-agent-evidence-save-error",children:r.researchAdapter.structuredEvidence.evidenceSaveError})]}),r.researchAdapter.error&&e.jsx("p",{"data-testid":"code-agent-research-adapter-error",children:r.researchAdapter.error}),e.jsxs("div",{className:"code-research-adapter-meta",children:[e.jsxs("code",{"data-testid":"code-agent-research-result-count",children:["results: ",r.researchAdapter.resultCount??0]}),e.jsx("code",{children:r.researchAdapter.source||"source: pending"}),e.jsx("code",{children:r.researchAdapter.retrievedAt?Ve(r.researchAdapter.retrievedAt):"not retrieved"})]})]})]}),e.jsx("p",{"data-testid":"code-agent-research-warning",children:"React stores bounded research evidence only after a verified adapter responds. Downloads, Browser.Act, live Codex execution, and project writes stay gated."})]})]})]}),e.jsxs("article",{className:"code-workflow-panel code-note-panel-react",children:[e.jsxs("div",{className:"code-workflow-head",children:[e.jsxs("div",{children:[e.jsx("span",{className:"card-label",children:"Code Notes"}),e.jsx("h2",{children:"Implementation Notes"})]}),e.jsxs("span",{className:"status-pill",children:[Le.notes," notes"]})]}),e.jsxs("div",{className:"code-workflow-control",children:[e.jsx("input",{"aria-label":"Code note goal",value:Se,onChange:s=>Re(s.target.value),placeholder:"Goal / Draft","data-testid":"code-note-goal"}),e.jsxs("div",{className:"code-workflow-actions code-workflow-actions--wrap",children:[e.jsx("button",{className:"btn btn-primary",type:"button","data-testid":"code-note-new",onClick:Sr,children:"New Code Note"}),e.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"code-note-plan",onClick:Cr,disabled:!Se.trim(),children:"Plan From Goal"}),e.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"code-note-approve",onClick:()=>gt("approved","Selected code note approved locally."),disabled:!y,children:"Approve Selected"}),e.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"code-note-implement-approved",onClick:Rr,children:"Implement Approved"}),e.jsx("button",{className:"btn btn-secondary",type:"button","data-testid":"code-note-mark-implemented",onClick:Ir,disabled:!y,children:"Mark Implemented"}),e.jsx("button",{className:"btn btn-ghost",type:"button","data-testid":"code-note-review",onClick:()=>gt("reviewed","Selected code note marked reviewed."),disabled:!y||(T==null?void 0:T.shouldDefer)===!0,title:T!=null&&T.shouldDefer?T.reason:"Mark selected code note reviewed",children:"Mark Reviewed"}),e.jsx("button",{className:"btn btn-ghost",type:"button","data-testid":"code-note-out-of-sync",onClick:()=>gt("out-of-sync","Selected code note marked out of sync."),disabled:!y,children:"Mark Out Of Sync"})]})]}),e.jsxs("div",{className:"code-workflow-metrics",children:[e.jsxs("span",{children:["Proposed ",e.jsx("strong",{children:Le.proposedNotes})]}),e.jsxs("span",{children:["Approved ",e.jsx("strong",{children:Le.approvedNotes})]}),e.jsxs("span",{children:["Queued ",e.jsx("strong",{children:Le.queuedNotes})]}),e.jsxs("span",{children:["Implemented ",e.jsx("strong",{children:Le.implementedNotes})]}),e.jsxs("span",{children:["Planned sync ",e.jsx("strong",{children:Le.plannedSyncNotes})]}),e.jsxs("span",{children:["In sync ",e.jsx("strong",{children:Le.inSyncNotes})]}),e.jsxs("span",{children:["Out of sync ",e.jsx("strong",{children:Le.outOfSyncNotes})]}),e.jsxs("span",{children:["Artifacts ",e.jsx("strong",{children:(y==null?void 0:y.artifacts.length)??0})]})]}),e.jsx("div",{className:"code-workflow-list",children:g.notes.map(s=>e.jsxs("button",{type:"button",className:s.id===(y==null?void 0:y.id)?"is-selected":"","data-testid":"code-note-card","data-note-id":s.id,"data-note-status":s.status,"data-note-sync-state":s.syncState,"data-note-planner-phase":s.plannerPhase||"","data-note-last-applied":s.lastAppliedAt||"","data-note-selected":s.id===(y==null?void 0:y.id),onClick:()=>P(l=>({...l,selectedNoteId:s.id,lastMessage:"Code note selected."}),"codegraph.note.select",{id:s.id}),children:[e.jsxs("span",{children:[e.jsx("strong",{children:s.title}),e.jsxs("small",{children:[s.kind," / ",s.status," / ",s.syncState]})]}),e.jsx("b",{children:s.relatedSymbols.length})]},s.id))}),y&&e.jsxs("div",{className:"code-workflow-detail",children:[e.jsxs("label",{children:[e.jsx("span",{children:"Title"}),e.jsx("input",{"data-testid":"code-note-title",value:y.title,onChange:s=>Ne({title:s.target.value})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Body"}),e.jsx("textarea",{"data-testid":"code-note-body",rows:4,value:y.body,onChange:s=>Ne({body:s.target.value})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Why"}),e.jsx("textarea",{"data-testid":"code-note-why",rows:2,value:y.why,onChange:s=>Ne({why:s.target.value})})]}),e.jsxs("div",{className:"code-workflow-two",children:[e.jsxs("label",{children:[e.jsx("span",{children:"Kind"}),e.jsx("input",{"data-testid":"code-note-kind",value:y.kind,onChange:s=>Ne({kind:s.target.value})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Status"}),e.jsxs("select",{"data-testid":"code-note-status",value:y.status,onChange:s=>Pr(s.target.value),children:[e.jsx("option",{value:"draft",children:"draft"}),e.jsx("option",{value:"proposed",children:"proposed"}),e.jsx("option",{value:"approved",children:"approved"}),e.jsx("option",{value:"queued",children:"queued"}),e.jsx("option",{value:"implementing",children:"implementing"}),e.jsx("option",{value:"implemented",children:"implemented"}),e.jsx("option",{value:"reviewed",children:"reviewed"}),e.jsx("option",{value:"blocked",children:"blocked"}),e.jsx("option",{value:"deprecated",children:"deprecated"}),e.jsx("option",{value:"out-of-sync",children:"out-of-sync"})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Sync"}),e.jsxs("select",{"data-testid":"code-note-sync-state",value:y.syncState,onChange:s=>Ne({syncState:s.target.value}),children:[e.jsx("option",{value:"unlinked",children:"unlinked"}),e.jsx("option",{value:"planned",children:"planned"}),e.jsx("option",{value:"needs-review",children:"needs-review"}),e.jsx("option",{value:"in-sync",children:"in-sync"}),e.jsx("option",{value:"out-of-sync",children:"out-of-sync"}),e.jsx("option",{value:"orphaned",children:"orphaned"})]})]})]}),y.plannerPhase&&e.jsxs("div",{className:"code-note-planner","data-testid":"code-note-planner","data-planner-phase":y.plannerPhase,children:[e.jsx("span",{className:"card-label",children:"CodeNotePlannerService"}),e.jsx("strong",{children:y.plannerPhase}),e.jsx("small",{children:"Local projection of original PlanToCanvasAsync output."})]}),e.jsxs("div",{className:"code-note-sync","data-testid":"code-note-sync-projection","data-note-last-applied":y.lastAppliedAt||"","data-note-linked-mission":y.linkedMissionId||"","data-note-linked-work-item":y.linkedWorkItemId||"",children:[e.jsx("span",{className:"card-label",children:"CodeNoteSyncService"}),e.jsx("strong",{children:y.lastAppliedAt?Ve(y.lastAppliedAt):"Not implemented locally"}),e.jsx("small",{children:y.linkedMissionId||"No linked local mission yet."})]}),e.jsxs("div",{className:"code-workflow-two",children:[e.jsxs("label",{children:[e.jsx("span",{children:"Related Files"}),e.jsx("textarea",{"data-testid":"code-note-files",rows:3,value:Ge(y.relatedFiles),onChange:s=>Ne({relatedFiles:kt(s.target.value)})})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Related Symbols"}),e.jsx("textarea",{"data-testid":"code-note-symbols",rows:3,value:Ge(y.relatedSymbols),onChange:s=>Ne({relatedSymbols:kt(s.target.value)})})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:"Done Criteria"}),e.jsx("textarea",{"data-testid":"code-note-acceptance",rows:3,value:y.acceptanceCriteria,onChange:s=>Ne({acceptanceCriteria:s.target.value})})]}),e.jsxs("div",{className:`code-review-gate ${T!=null&&T.shouldDefer?"is-deferred":"is-ready"}`,"data-testid":"code-note-review-gate","data-review-gate-state":T!=null&&T.shouldDefer?"deferred":"ready","data-target-file-count":(T==null?void 0:T.targetFileCount)??0,"data-artifact-evidence-count":(T==null?void 0:T.artifactEvidenceCount)??0,"data-evaluation-evidence-count":(T==null?void 0:T.evaluationEvidenceCount)??0,"data-outcome-evidence-count":(T==null?void 0:T.outcomeEvidenceCount)??0,children:[e.jsx("span",{className:"card-label",children:"Reviewer Evidence Gate"}),e.jsx("strong",{children:T!=null&&T.shouldDefer?"Review deferred":"Review ready"}),e.jsx("small",{children:T!=null&&T.shouldDefer?T.reason:"Target files and upstream evidence are available for review."})]}),e.jsxs("div",{className:"code-artifact-list","data-testid":"code-note-artifacts",children:[e.jsx("span",{className:"card-label",children:"Output Artifacts"}),y.artifacts.length>0?y.artifacts.map(s=>e.jsx("code",{children:s},s)):e.jsx("small",{children:"No output artifacts yet."})]})]})]})]}),e.jsxs("div",{className:"code-workflow-status","data-testid":"code-workflow-status",children:[e.jsx(Lt,{size:15}),e.jsx("span",{children:g.lastMessage})]}),e.jsxs("section",{className:"codegraph-layout",children:[e.jsxs("div",{className:"codegraph-main",children:[e.jsxs("div",{className:"codegraph-head",children:[e.jsxs("div",{children:[e.jsx("span",{className:"card-label",children:"Project"}),e.jsx("h2",{children:it((te==null?void 0:te.rootPath)||(v==null?void 0:v.rootPath)||"No project open",54)})]}),e.jsxs("div",{className:"status-pill",children:[te!=null&&te.isOpen?e.jsx(Lt,{size:15}):e.jsx(ps,{size:15}),te!=null&&te.isOpen?"Open":"Closed"]})]}),e.jsx(io,{graph:de})]}),e.jsxs("aside",{className:"codegraph-side",children:[e.jsxs("div",{className:"codegraph-stat-row",children:[e.jsx("span",{children:"Symbols"}),e.jsx("strong",{children:M.symbols})]}),e.jsxs("div",{className:"codegraph-stat-row",children:[e.jsx("span",{children:"Classes"}),e.jsx("strong",{children:M.classes})]}),e.jsxs("div",{className:"codegraph-stat-row",children:[e.jsx("span",{children:"Groups"}),e.jsx("strong",{children:M.groups})]}),e.jsxs("div",{className:"codegraph-stat-row",children:[e.jsx("span",{children:"Opened"}),e.jsx("strong",{children:Ve(Wr)})]}),e.jsx("div",{className:"file-list-head",children:e.jsx("span",{className:"card-label",children:"Hot files"})}),e.jsx("div",{className:"bridge-file-list",children:la.length>0?la.map(s=>e.jsx(no,{file:s},s.path)):e.jsxs("div",{className:"empty-state",children:[e.jsx(Dt,{size:18}),"Load a project graph to inspect files."]})})]})]})]})}function _t({icon:t,label:a,value:n}){return e.jsxs("article",{className:"bridge-metric",children:[e.jsx(t,{size:18}),e.jsx("span",{children:a}),e.jsx("strong",{children:n})]})}function Ji({lens:t,aiLevel:a,aiBusy:n,aiMessage:i,cards:o,query:d,sourceLabel:h,canApply:j,onLensChange:b,onAiLevelChange:k,onQueryChange:v,onRefresh:_,onApplyCard:w}){return e.jsxs("section",{className:"code-lens-panel","data-testid":"code-lens-panel","data-code-lens":t,children:[e.jsxs("div",{className:"code-lens-head",children:[e.jsxs("div",{children:[e.jsx("span",{className:"card-label",children:"CodeMaster Lenses"}),e.jsx("h2",{children:ao(t)}),e.jsx("p",{children:ro(t)})]}),e.jsxs("div",{className:"code-lens-source",children:[e.jsx("span",{children:h}),e.jsxs("strong",{children:[o.length," cards"]})]})]}),e.jsxs("div",{className:"code-lens-toolbar",children:[e.jsx("div",{className:"code-lens-tabs",role:"tablist","aria-label":"Code graph lens",children:["feature-map","all-class-map","annotated-code-flow"].map(N=>e.jsx("button",{type:"button",className:N===t?"is-active":"",onClick:()=>b(N),role:"tab","aria-selected":N===t,children:so(N)},N))}),e.jsxs("label",{className:"code-lens-select",children:[e.jsx("span",{children:"AI Level"}),e.jsxs("select",{value:a,onChange:N=>k(N.target.value),children:[e.jsx("option",{value:"lite",children:"Lite"}),e.jsx("option",{value:"standard",children:"Standard"}),e.jsx("option",{value:"deep",children:"Deep"})]})]}),e.jsxs("label",{className:"code-lens-search",children:[e.jsx("span",{children:"Search"}),e.jsx("input",{value:d,onChange:N=>v(N.target.value),placeholder:"feature, class, file"})]}),e.jsxs("button",{className:"btn btn-secondary",type:"button",onClick:_,disabled:n,children:[n?e.jsx(Qe,{size:15,className:"spin-icon"}):e.jsx(Wt,{size:15}),"Load AI Context"]})]}),e.jsxs("div",{className:"code-lens-message",children:[e.jsx(Ft,{size:15}),e.jsx("span",{children:i})]}),e.jsx("div",{className:`code-lens-card-grid code-lens-card-grid--${t}`,children:o.length>0?o.map(N=>e.jsxs("article",{className:`code-lens-card code-lens-card--${N.status}`,children:[e.jsxs("div",{className:"code-lens-card-head",children:[e.jsxs("div",{children:[e.jsx("strong",{children:N.title}),e.jsx("span",{children:N.subtitle})]}),e.jsx("b",{children:N.score})]}),e.jsx("p",{children:N.summary}),e.jsx("div",{className:"code-lens-chip-row",children:N.highlights.slice(0,3).map(J=>e.jsx("span",{children:J},J))}),e.jsxs("div",{className:"code-lens-meta",children:[e.jsx("small",{children:N.files.slice(0,2).join(" / ")||"no file context"}),e.jsx("small",{children:N.symbols.slice(0,3).join(", ")||"no symbol context"})]}),e.jsx("button",{className:"btn btn-ghost",type:"button",onClick:()=>w(N),disabled:!j,children:"Use as note context"})]},N.id)):e.jsxs("div",{className:"code-lens-empty",children:[e.jsx(St,{size:24}),e.jsx("strong",{children:"No lens cards yet"}),e.jsx("span",{children:"Open or load a project graph, then refresh AI context if needed."})]})})]})}const ys=new Set(["class","interface","struct","enum","record"]);function Vi(t,a,n,i,o){const d=t==="all-class-map"?Yi(a,n):t==="annotated-code-flow"?Zi(a,n,i):Xi(a,n),h=o.trim().toLowerCase();return h?d.filter(j=>[j.title,j.subtitle,j.summary,...j.files,...j.symbols,...j.highlights].some(b=>b.toLowerCase().includes(h))):d}function Xi(t,a){const n=a.length>0?a:eo(t).map(o=>({path:o,symbols:[]})),i=new Map;return n.forEach(o=>{const d=to(o.path),h=ia(o.symbols).slice(0,8),j=i.get(d)||{id:`feature-${At(d)}`,title:ks(d||"Project"),subtitle:"Feature area",summary:`${ks(d||"Project")} surface inferred from project files and graph links.`,score:0,files:[],symbols:[],highlights:[],status:"stable"};j.score+=1+h.length,j.files=Ct(j.files,[o.path],10),j.symbols=Ct(j.symbols,h.map(b=>b.name||"").filter(Boolean),12),j.highlights=Ct(j.highlights,[`${o.language||oa(o.path)} file`,`${ot(o.symbols)} symbols`],5),j.status=j.score>80?"hotspot":j.score>25?"active":"stable",i.set(d,j)}),Array.from(i.values()).sort((o,d)=>d.score-o.score).slice(0,8)}function Yi(t,a){const n=((t==null?void 0:t.nodes)||[]).filter(i=>ys.has(String(i.kind||i.symbolKind||"").toLowerCase())).slice(0,24).map(i=>{const o=i.members||[],d=i.label||i.signature||i.id;return{id:`class-${At(i.id)}`,title:it(d,46),subtitle:i.kind||i.symbolKind||"class",summary:i.signature||`${d} from ${i.filePath||"project graph"}`,score:o.length+(i.group?4:1),files:i.filePath?[i.filePath]:[],symbols:[d,...o].filter(Boolean).slice(0,10),highlights:[i.group?`Group ${i.group}`:"Ungrouped",i.line?`Line ${i.line}`:"Line unknown",`${o.length} members`],status:o.length>16?"hotspot":o.length>5?"active":"stable"}});return n.length>0?n:a.flatMap(i=>ia(i.symbols).filter(o=>ys.has(String(o.kind||"").toLowerCase())).slice(0,8).map(o=>({id:`class-${At(`${i.path}-${o.name||""}`)}`,title:o.name||"Class",subtitle:o.kind||"class",summary:`${o.name||"Class"} declared in ${i.path}`,score:ot(o.children),files:[i.path],symbols:[o.name||"Class"],highlights:[i.language||oa(i.path),o.line?`Line ${o.line}`:"Line unknown"],status:ot(o.children)>16?"hotspot":"stable"}))).slice(0,24)}function Zi(t,a,n){if(n.length>0)return n.slice(0,18).map((d,h)=>{const j=d.path||d.message||`change-${h+1}`;return{id:`flow-change-${h}`,title:it(j,48),subtitle:d.changeType||"change",summary:d.message||`Recent project change detected in ${j}.`,score:Math.max(1,n.length-h),files:d.path?[d.path]:[],symbols:[],highlights:[Ve(d.timestamp),d.changeType||"change"].filter(Boolean),status:h<3?"active":"stable"}});const i=new Map;for(const d of(t==null?void 0:t.edges)||[])i.set(d.from,(i.get(d.from)||0)+1),i.set(d.to,(i.get(d.to)||0)+1);const o=((t==null?void 0:t.nodes)||[]).map(d=>({node:d,degree:i.get(d.id)||0})).sort((d,h)=>h.degree-d.degree).slice(0,18).map(({node:d,degree:h})=>({id:`flow-${At(d.id)}`,title:it(d.label||d.filePath||d.id,48),subtitle:h>=8?"Hub":h>=3?"Bridge":"Leaf",summary:d.signature||`${d.kind||"Node"} flow position inferred from graph degree.`,score:h,files:d.filePath?[d.filePath]:[],symbols:[d.label||d.id].filter(Boolean),highlights:[`degree ${h}`,d.kind||"unknown",h>=8?"review dependencies":"localized change"],status:h>=8?"hotspot":h>=3?"active":"stable"}));return o.length>0?o:a.slice(0,18).map(d=>({id:`flow-file-${At(d.path)}`,title:it(d.path,48),subtitle:d.language||oa(d.path),summary:`${d.path} is available for annotated flow once graph edges or changes are loaded.`,score:ot(d.symbols),files:[d.path],symbols:ia(d.symbols).map(h=>h.name||"").filter(Boolean).slice(0,6),highlights:["file fallback",`${ot(d.symbols)} symbols`],status:"stable"}))}function ia(t){const a=[],n=i=>{for(const o of i||[])a.push(o),n(o.children)};return n(t),a}function eo(t){return Array.from(new Set(((t==null?void 0:t.nodes)||[]).map(a=>a.filePath||"").filter(Boolean))).slice(0,200)}function to(t){const a=t.replace(/\\/g,"/").split("/").filter(Boolean);return a[0]==="ref"&&a[1]?`${a[0]}/${a[1]}`:a[0]==="src"&&a.length>2?`${a[0]}/${a[1]}`:a[0]&&/^MindExecution\./i.test(a[0])?a[0]:a[0]||"project"}function oa(t){var n;const a=(n=t.split(".").pop())==null?void 0:n.toLowerCase();return a?a.toUpperCase():"unknown"}function Ct(t,a,n){return Array.from(new Set([...t,...a].map(i=>i.trim()).filter(Boolean))).slice(0,n)}function At(t){return t.toLowerCase().replace(/[^a-z0-9]+/gi,"-").replace(/^-+|-+$/g,"").slice(0,80)||"item"}function ks(t){return t.split(/[\\/._-]+/).filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}function ao(t){return t==="all-class-map"?"All Class Map":t==="annotated-code-flow"?"Annotated Code Flow":"Feature Map"}function so(t){return t==="all-class-map"?"All Class Map":t==="annotated-code-flow"?"Code Flow":"Feature Map"}function ro(t){return t==="all-class-map"?"Scan classes, interfaces, records, and their file ownership without changing project state.":t==="annotated-code-flow"?"Surface recent changes or high-degree graph hubs as reviewable flow cards.":"Group files and graph symbols into feature areas before turning them into Code Notes."}function no({file:t}){return e.jsxs("article",{className:"file-row",children:[e.jsxs("div",{children:[e.jsx("strong",{children:it(t.path,42)}),e.jsx("span",{children:t.language||"unknown"})]}),e.jsx("b",{children:ot(t.symbols)})]})}function io({graph:t}){const a=f.useMemo(()=>{const n=(t==null?void 0:t.nodes)||[],i=(t==null?void 0:t.edges)||[],o=new Map(n.map(g=>[g.id,g])),d=new Set;for(const g of i){if(d.size>=72)break;o.has(g.from)&&d.add(g.from),o.has(g.to)&&d.add(g.to)}for(const g of n){if(d.size>=72)break;d.add(g.id)}const h=Array.from(d).map(g=>o.get(g)).filter(g=>!!g),j=i.filter(g=>d.has(g.from)&&d.has(g.to)).slice(0,120),b=Math.max(1,Math.ceil(Math.sqrt(h.length||1)*1.45)),k=Math.max(1,Math.ceil((h.length||1)/b)),v=840,_=360,w=b<=1?0:760/(b-1),N=k<=1?0:280/(k-1),J=new Map,F=[...h].sort((g,oe)=>{const Y=String(g.group||"").localeCompare(String(oe.group||""));return Y!==0?Y:String(g.label||g.id).localeCompare(String(oe.label||oe.id))});return F.forEach((g,oe)=>{const Y=oe%b,Pe=Math.floor(oe/b);J.set(g.id,{x:40+Y*w,y:42+Pe*N})}),{nodes:F,edges:j,positions:J,width:v,height:_}},[t]);return!t||a.nodes.length===0?e.jsxs("div",{className:"codegraph-empty",children:[e.jsx(St,{size:28}),e.jsx("strong",{children:"No graph loaded"}),e.jsx("span",{children:"Open a project and load graph data from LocalBridge."})]}):e.jsxs("svg",{className:"codegraph-map",viewBox:`0 0 ${a.width} ${a.height}`,role:"img","aria-label":"CodeGraph preview",children:[e.jsx("rect",{width:"840",height:"360",rx:"10"}),a.edges.map(n=>{const i=a.positions.get(n.from),o=a.positions.get(n.to);return!i||!o?null:e.jsx("line",{x1:i.x,y1:i.y,x2:o.x,y2:o.y,className:`codegraph-edge codegraph-edge--${n.type||"link"}`},n.id)}),a.nodes.map((n,i)=>{const o=a.positions.get(n.id);if(!o)return null;const d=lo(n.label||n.filePath||n.id);return e.jsxs("g",{transform:`translate(${o.x} ${o.y})`,className:"codegraph-node-dot",children:[e.jsx("circle",{r:co(n.kind),fill:uo(n.kind)}),e.jsx("title",{children:n.signature||n.filePath||n.label||n.id}),i<24&&e.jsx("text",{x:"11",y:"4",children:d})]},n.id)})]})}function oo(t){switch(t){case"connected":return"Connected";case"checking":return"Checking";case"blocked":return"Access gated";case"unavailable":return"Unavailable";default:return"Idle"}}function ot(t){return t!=null&&t.length?t.reduce((a,n)=>a+1+ot(n.children),0):0}function Ve(t){if(!t)return"-";const a=new Date(t);return Number.isNaN(a.getTime())?"-":a.toLocaleString(void 0,{month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function it(t,a){if(t.length<=a)return t;const n=Math.max(8,Math.floor((a-3)*.58)),i=Math.max(6,a-n-3);return`${t.slice(0,n)}...${t.slice(-i)}`}function lo(t){return t.length<=16?t:`${t.slice(0,14)}...`}function co(t){const a=String(t||"").toLowerCase();return a==="folder"?7.5:a==="file"?6:8.5}function uo(t){const a=String(t||"").toLowerCase();return a==="folder"?"#0f766e":a==="file"?"#2563eb":a==="interface"?"#7c3aed":a==="enum"?"#db2777":a==="struct"||a==="record"?"#ea580c":a==="class"?"#0f172a":"#64748b"}export{xo as CodePage};