PageSourceSearch

https://porfoli.com/_next/static/chunks/8685.db6d68b2f847785d.js

js porfoli.com collected 2026-10-02 00:58:32 UTC 174,355 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8685],{3697:(e,t,a)=>{a.d(t,{CU:()=>u,Cw:()=>y,Hx:()=>m,_J:()=>d,_Z:()=>x,g5:()=>f,gQ:()=>v,ix:()=>w,l2:()=>p,uU:()=>h,uj:()=>c,wh:()=>g,xz:()=>b,zJ:()=>o});var s=a(58795),n=a(57496),r=a(80416),i=a(94762),l=a(22301);let o=25,c=25,d=100,m=e=>"number"==typeof e&&Number.isSafeInteger(e)&&e>0&&e<=0x7fffffff,u=(e,t)=>{if(!e||e.length>100||!s.PORTFOLIO_SLUG_REGEX.test(e)||!t||!/^[1-9]\d*$/.test(t))return null;let a=Number(t);return m(a)?{slug:e,commitId:a}:null},h=e=>e instanceof n.NotFoundError||e instanceof Error&&"NotFoundError"===e.name?"not-found":e instanceof n.UnauthorizedError||e instanceof n.ForbiddenError||e instanceof Error&&("UnauthorizedError"===e.name||"ForbiddenError"===e.name)?"unauthorized":"error",p=(e,t,a=i.z,s=c)=>Math.min(Math.max(0,Math.floor(t)),Math.max(0,Math.floor(a)),Math.max(0,Math.floor(e))+Math.max(1,Math.floor(s))),x=e=>(0,l.Ey)(e.map(e=>e.instrument_id),100),g=e=>{switch(e){case"open":return(0,r.t)({message:"Open",desc:"Commit detail — state: open"});case"closed":return(0,r.t)({message:"Closed",desc:"Commit detail — state: closed"});case"merged":return(0,r.t)({message:"Merged",desc:"Commit detail — state: merged"});default:return(0,r.t)({message:"Unknown state",desc:"Commit detail — state: unknown"})}},b=e=>{switch(e){case"verified":return(0,r.t)({message:"Verified",desc:"Commit detail — verification: verified"});case"partially_verified":return(0,r.t)({message:"Partially verified",desc:"Commit detail — verification: partially verified"});case"unverified":return(0,r.t)({message:"Unverified",desc:"Commit detail — verification: unverified"});case"not_applicable":return(0,r.t)({message:"Not applicable",desc:"Commit detail — verification: not applicable"});default:return(0,r.t)({message:"Verification unavailable",desc:"Commit detail — verification: unavailable"})}},f=e=>{switch(e){case"approved":return(0,r.t)({message:"Approved",desc:"Commit detail — review: approved"});case"blocked":return(0,r.t)({message:"Blocked",desc:"Commit detail — review: blocked"});case"pending":return(0,r.t)({message:"Pending",desc:"Commit detail — review: pending"});default:return(0,r.t)({message:"Unknown",desc:"Commit detail — review: unknown"})}},v=e=>{switch(e){case"broker_order":return(0,r.t)({message:"Broker order",desc:"Commit detail — price source: broker order"});case"quote":return(0,r.t)({message:"Market quote",desc:"Commit detail — price source: market quote"});case"manual":return(0,r.t)({message:"Manual price",desc:"Commit detail — price source: manual"});default:return(0,r.t)({message:"Price source unavailable",desc:"Commit detail — price source: unavailable"})}},w=(e,t)=>{switch(e.log_entry_type){case"create_change":return(0,r.t)({message:"created this change",desc:"Commit activity — created change"});case"open_change":return(0,r.t)({message:"reopened this change",desc:"Commit activity — reopened change"});case"close_change":return(0,r.t)({message:"closed this change",desc:"Commit activity — closed change"});case"merge_change":return(0,r.t)({message:"merged this change",desc:"Commit activity — merged change"});case"review_change":return e.review_status?(0,r.t)({message:"marked the review {status}",values:{status:e.review_status},desc:"Commit activity — marked review status"}):(0,r.t)({message:"reviewed this change",desc:"Commit activity — reviewed change"});case"update_transactions":return(0,r.t)({message:"updated the transaction diff",desc:"Commit activity — updated transactions"});case"update_due_diligence":return(0,r.t)({message:"updated the research notes",desc:"Commit activity — updated due diligence"});case"add_reviewer":return t?(0,r.t)({message:"added {reviewer} as a reviewer",values:{reviewer:t},desc:"Commit activity — added reviewer"}):(0,r.t)({message:"added a reviewer",desc:"Commit activity — added a reviewer"});case"add_comment":return(0,r.t)({message:"commented",desc:"Commit activity — commented"})}},y=e=>{let t=e?.trim();return t?t.length<=2e3?t:`${t.slice(0,1999)}…`:null}},3734:(e,t,a)=>{a.d(t,{ei:()=>i,hi:()=>r,lY:()=>n});var s=a(80416);let n=e=>{switch(e){case"1d":return(0,s.t)({message:"Today",desc:"Instrument chart — 1D period"});case"1week":return(0,s.t)({message:"This week",desc:"Instrument chart — 1W period"});case"1m":return(0,s.t)({message:"This month",desc:"Instrument chart — 1M period"});case"3m":return(0,s.t)({message:"3 months",desc:"Instrument chart — 3M period"});case"6m":return(0,s.t)({message:"6 months",desc:"Instrument chart — 6M period"});case"1y":return(0,s.t)({message:"This year",desc:"Instrument chart — 1Y peri
1od"});case"5y":return(0,s.t)({message:"5 years",desc:"Instrument chart — 5Y period"});default:return e}},r=(e,t)=>{let a=e.close-t;return{close:e.close,change:a,changeRate:0===t?0:a/t,baseline:t}},i=({records:e,duration:t,quote:a})=>{let s=(e=>{let t=new Map;for(let a of e){let e=new Date(a.date).getTime();Number.isFinite(e)&&Number.isFinite(a.close)&&t.set(e,{timestamp:e,close:a.close})}return Array.from(t.values()).sort((e,t)=>e.timestamp-t.timestamp)})(e),n=null,r=null;if("1d"===t&&a&&Number.isFinite(a.close)&&Number.isFinite(a.change)&&Number.isFinite(a.change_percentage)){let e=Number.isFinite(a.previous_close)?a.previous_close:a.close-a.change;n={close:a.close,change:a.change,changeRate:a.change_percentage/100,baseline:e},r="quote";let t=s[0]?.timestamp??0;Number.isFinite(e)&&(s=[{timestamp:t-3e5,close:e},...s])}else{let e=s[0]?.close,t=s.at(-1)?.close;if(void 0!==e&&void 0!==t){let a=t-e;n={close:t,change:a,changeRate:0===e?0:a/e,baseline:e},r="time-series"}}return{points:s,stats:n,statsSource:r,domain:(e=>{if(0===e.length)return[0,1];let t=e.map(e=>e.close),a=Math.min(...t),s=Math.max(...t),n=s-a,r=n>0?.1*n:Math.max(.005*Math.abs(s),.01);return[a-r,s+r]})(s)}}},6092:(e,t,a)=>{a.d(t,{J:()=>l});var s=a(64694),n=a(68176),r=a(3995),i=a(43985);let l=(e,t)=>{let a=e.trim();return(0,n.I)({queryKey:r.l.search.results({query:a,type:t}),queryFn:async()=>(0,i.I)(await (0,s.getSearch)({query:a,type:t})),enabled:a.length>0,staleTime:6e4})}},6141:(e,t,a)=>{a.d(t,{G2:()=>f,Ok:()=>k,RN:()=>x,RO:()=>N,TV:()=>y,UY:()=>b,U_:()=>S,cn:()=>w,dk:()=>g,kY:()=>v,m9:()=>p,mN:()=>h,sM:()=>I,vA:()=>j});var s=a(57496);let n=s.VALID_RETURN_DURATIONS,r=s.VALID_RETURN_DURATIONS,i=s.VALID_RETURN_DURATIONS,l=s.VALID_RETURN_DURATIONS,o=s.VALID_RETURN_DURATIONS,c=["portfolio","instrument","user"],d=(e,t,a=!1)=>{if(null===e)return;let s=a?e.trim():e;if(!(!s||s.includes("\\")||[...s].some(e=>{let t=e.charCodeAt(0);return t<=31||127===t})))return s.slice(0,t)},m=(e,t,a)=>e&&t.includes(e)?e:a,u=e=>e&&/^[A-Z]{3}$/.test(e)?e:"USD",h=e=>({query:d(e.get("q"),256)??"",filter:m(e.get("type"),c,"all")}),p=e=>{let t=new URLSearchParams,a=d(e.query,256);return a&&t.set("q",a),"all"!==e.filter&&c.includes(e.filter)&&t.set("type",e.filter),t},x=e=>({duration:m(e.get("duration"),r,"1d"),sectorTagName:d(e.get("sector"),100,!0)}),g=e=>{let t=new URLSearchParams;"1d"!==e.duration&&r.some(t=>t===e.duration)&&t.set("duration",e.duration);let a=d(e.sectorTagName??null,100,!0);return a&&t.set("sector",a),t},b=e=>({duration:m(e.get("duration"),i,"1d")}),f=e=>{let t=new URLSearchParams;return"1d"!==e.duration&&i.some(t=>t===e.duration)&&t.set("duration",e.duration),t},v=e=>({duration:m(e.get("duration"),o,"1d")}),w=e=>{let t=new URLSearchParams;return"1d"!==e.duration&&o.some(t=>t===e.duration)&&t.set("duration",e.duration),t},y=e=>({duration:m(e.get("duration"),l,"1d")}),j=e=>{let t=new URLSearchParams;return"1d"!==e.duration&&l.some(t=>t===e.duration)&&t.set("duration",e.duration),t},k=e=>({duration:m(e.get("duration"),n,"all"),currency:u(e.get("currency"))}),N=e=>{let t=new URLSearchParams;"all"!==e.duration&&n.some(t=>t===e.duration)&&t.set("duration",e.duration);let a=u(e.currency);return"USD"!==a&&t.set("currency",a),t},S=e=>({brokerConnectionAccountId:d(e.get("brokerConnectionAccountId")??e.get("account"),512,!0),...k(e)}),I=e=>{let t=new URLSearchParams,a=d(e.brokerConnectionAccountId??null,512,!0);return a&&t.set("brokerConnectionAccountId",a),N(e).forEach((e,a)=>t.set(a,e)),t}},8653:(e,t,a)=>{a.d(t,{$Q:()=>c,C2:()=>d,E3:()=>$,Hr:()=>k,MI:()=>y,Mc:()=>f,Mn:()=>T,Nr:()=>S,OY:()=>g,Po:()=>_,Uq:()=>j,Vh:()=>v,Xw:()=>h,c2:()=>b,hj:()=>R,kq:()=>C,mQ:()=>w,my:()=>I,n8:()=>i,nB:()=>A,nE:()=>P,o9:()=>N,oe:()=>E,rn:()=>m,tw:()=>u});var s=a(80416),n=a(2105);let r=()=>(0,n.iI)().apiUrls.financial,i={company:"#3b82f6",etf:"#14b8a6",index:"#06b6d4",sector:"#22c55e",country:"#84cc16",person:"#f59e0b",product:"#8b5cf6",technology:"#a855f7",commodity:"#f97316",theme:"#ec4899"},l={supplies:"#22c55e",competes_with:"#ef4444",depends_on:"#3b82f6",enables:"#8b5cf6",substitutes:"#f97316",owns:"#6366f1",subsidiary_of:"#6366f1",regulates:"#14b8a6",partners_with:"#84cc16",belongs_to_sector:"#6b7280",domiciled_in:"#6b7280"},o=e=>({nodes:e.nodes.map(e=>{var t;return{data:{...e.data,color:"event"===(t=e.data).kind?"#f8fafc":"atom"===t.kind?"positive"===t.directionality?"#22c55e":"negative"===t.directionality?"#ef4444":(t.directionality,"#94a3b8"):i[t.entityType]??"#6b7280"}}}),edges:e.edges.map(e=>({data:{...e.data,edgeColor:l[e.data.relationshipType]??"#6b7280"}}
1)),matchIds:e.matchIds}),c=async(e,t,a)=>{let s=await fetch(`${r()}/v1/entity/search?q=${encodeURIComponent(t)}`,{headers:{Authorization:`Bearer ${e}`},signal:a});return o(await s.json())},d=async(e,t,a)=>{let s=await fetch(`${r()}/v1/entity/${t}/graph?hops=${a}&limit=60`,{headers:{Authorization:`Bearer ${e}`}});return o(await s.json())},m=async(e,t)=>{let a=await fetch(`${r()}/v1/entity/${t}/events`,{headers:{Authorization:`Bearer ${e}`}});return(await a.json()).atoms??[]},u=async(e,t)=>{let a=await fetch(`${r()}/v1/iie/portfolio-xray`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({positions:t})}),n=await a.json();if(!1===n.status)throw Error(n.error??(0,s.t)({message:"Failed to compute X-ray.",desc:"Intelligence API — X-ray compute failure"}));return{xray:n.xray??null,unresolved:n.unresolved??[]}},h=async e=>{let t=await fetch(`${r()}/v1/iie/scorecard`,{headers:{Authorization:`Bearer ${e}`}}),a=await t.json();if(!1===a.status)throw Error(a.error??(0,s.t)({message:"Failed to load scorecard.",desc:"Intelligence API — scorecard load failure"}));let n=e=>e?{...e,headlineValue:null===e.headlineValue||void 0===e.headlineValue?null:Number(e.headlineValue)}:null;return{scorecard:a.scorecard??null,history:a.history??[],axisPredictiveness:a.axisPredictiveness??null,oracleQa:n(a.oracleQa),entityResolution:n(a.entityResolution),graphIntegrity:n(a.graphIntegrity)}},p=["fred-macro","polygon-daily-bars","noaa-weather"],x=1,g=async(e,t,a=90,s=25)=>{if(0===t.length)return[];let n=new URL(`${r()}/v1/iie/events/intersect`);n.searchParams.set("entityIds",t.join(",")),n.searchParams.set("window",String(a)),n.searchParams.set("limit",String(s));let i=await fetch(n.toString(),{headers:{Authorization:`Bearer ${e}`}});return(await i.json()).events??[]},b=async(e,t=25,a=p,s=x)=>{let n=new URL(`${r()}/v1/iie/events`);n.searchParams.set("limit",String(t)),a.length>0&&n.searchParams.set("excludeSources",a.join(",")),s>0&&n.searchParams.set("minAtomCount",String(s));let i=await fetch(n.toString(),{headers:{Authorization:`Bearer ${e}`}});return(await i.json()).events??[]},f=async(e,t)=>{let a=await fetch(`${r()}/v1/iie/event/${encodeURIComponent(t)}/graph`,{headers:{Authorization:`Bearer ${e}`}});return o(await a.json())},v=async(e,t)=>{let a=await fetch(`${r()}/v1/iie/atoms/${encodeURIComponent(t)}/evidence`,{headers:{Authorization:`Bearer ${e}`}});if(404===a.status)return null;if(!a.ok)throw Error(`fetchAtomEvidence ${t}: ${a.status}`);let s=await a.json();if(!s.status)throw Error(`fetchAtomEvidence ${t} failed`);return s.evidence??null},w=async e=>{let t=await fetch(`${r()}/v1/event/instrument/${encodeURIComponent(e)}/intelligence?limit=1`);if(!t.ok)throw Error(`fetchInstrumentEntityId ${e}: ${t.status}`);let a=await t.json();if(!a.status)throw Error(`fetchInstrumentEntityId ${e} failed`);return a.entityId||null},y=async(e,t,a=40)=>{let s=await fetch(`${r()}/v1/iie/entity/${encodeURIComponent(t)}/subgraph?atomLimit=${a}`,{headers:{Authorization:`Bearer ${e}`}});return o(await s.json())},j=async(e,t=30,a=50,s="low")=>{let n=new URL(`${r()}/v1/iie/anomalies/recent`);n.searchParams.set("window",String(t)),n.searchParams.set("limit",String(a)),n.searchParams.set("minSeverity",s);let i=await fetch(n.toString(),{headers:{Authorization:`Bearer ${e}`}});return(await i.json()).anomalies??[]},k=async(e,t=30,a=50,s="low",n=3)=>{let i=new URL(`${r()}/v1/iie/anomalies/clusters`);i.searchParams.set("window",String(t)),i.searchParams.set("limit",String(a)),i.searchParams.set("minSeverity",s),i.searchParams.set("maxGapDays",String(n));let l=await fetch(i.toString(),{headers:{Authorization:`Bearer ${e}`}});return(await l.json()).clusters??[]},N=async(e,t=30,a=25,s=3)=>{let n=new URL(`${r()}/v1/iie/anomalies/cohorts`);n.searchParams.set("window",String(t)),n.searchParams.set("limit",String(a)),n.searchParams.set("minTickers",String(s));let i=await fetch(n.toString(),{headers:{Authorization:`Bearer ${e}`}});return(await i.json()).cohorts??[]},S=async(e,t,a=5,s=1,n=25)=>{let i=new URL(`${r()}/v1/iie/anomalies/${encodeURIComponent(t)}/explain`);i.searchParams.set("before",String(a)),i.searchParams.set("after",String(s)),i.searchParams.set("limit",String(n));let l=await fetch(i.toString(),{headers:{Authorization:`Bearer ${e}`}});return await l.json()},I=async(e,t,a=90,s=5)=>{let n=new URL(`${r()}/v1/iie/entity/${encodeURIComponent(t)}/digest`);n.searchParams.set("window",String(a)),n.searchParams.set("topN",String(s));let i=await fetch(n.toString(),{headers:{Authorization:`Bearer ${e}`}});return(await i.json()).digest},C=async(e,t=90,a=25,s=3)=>{let n=new URL(`${r()}/v1/iie/macro/overview`);n.searchParams.set("window",String(t)),n.searchParams.set("recentLimit",String(a)),n.searchParams.set("storyMinThemes",String(s));let i=await fetch(n.toString(),{headers:{Authorization:`Bearer ${e}`}});return(await i.json()).overview},A=(e,t)=>
1{let a=new Map(e.nodes.map(e=>[e.data.id,e]));for(let e of t.nodes){let t=a.get(e.data.id);if(!t){a.set(e.data.id,e);continue}a.set(e.data.id,{data:{...t.data,...e.data,label:e.data.label||t.data.label,entityType:e.data.entityType&&"unknown"!==e.data.entityType?e.data.entityType:t.data.entityType,color:e.data.entityType&&"unknown"!==e.data.entityType?e.data.color:t.data.color,aliases:e.data.aliases&&e.data.aliases.length>0?e.data.aliases:t.data.aliases}})}let s=new Map(e.edges.map(e=>[e.data.id,e]));for(let e of t.edges)s.set(e.data.id,e);return{nodes:Array.from(a.values()),edges:Array.from(s.values())}},_=async(e,t,a=15)=>{let s=await fetch(`${r()}/v1/iie/oracle/edge/${encodeURIComponent(t)}/evidence?limit=${a}`,{headers:{Authorization:`Bearer ${e}`}});if(!s.ok)throw Error(`edge evidence: HTTP ${s.status}`);return await s.json()},$=async(e,t,a,s=3,n=5)=>{let i=new URLSearchParams({sourceEntityId:t,targetEntityId:a,maxHops:String(s),maxPaths:String(n)}),l=await fetch(`${r()}/v1/iie/oracle/paths?${i.toString()}`,{headers:{Authorization:`Bearer ${e}`}});if(!l.ok)throw Error(`entity paths: HTTP ${l.status}`);return await l.json()},R=async(e,t,a=30,s=50)=>{let n=await fetch(`${r()}/v1/iie/oracle/entity/${encodeURIComponent(t)}/timeline?days=${a}&limit=${s}`,{headers:{Authorization:`Bearer ${e}`}});if(!n.ok)throw Error(`entity timeline: HTTP ${n.status}`);return await n.json()},P=async e=>{let t=await fetch(`${r()}/v1/iie/stats`,{headers:{Authorization:`Bearer ${e}`}}),a=await t.json();return{stats:a.stats,graphIntegrity:a.graphIntegrity??null}},E=async e=>{let t=await fetch(`${r()}/v1/iie/oracle/freshness`,{headers:{Authorization:`Bearer ${e}`}});if(!t.ok)throw Error(`freshness: HTTP ${t.status}`);return await t.json()},T=async(e,t,a=8)=>{let s=await fetch(`${r()}/v1/iie/instrument/${encodeURIComponent(t)}/second-order?limit=${a}`,{headers:{Authorization:`Bearer ${e}`}});if(!s.ok)throw Error(`second-order: HTTP ${s.status}`);return(await s.json()).events??[]}},52157:(e,t,a)=>{a.d(t,{Bp:()=>d,ee:()=>h,l6:()=>u,qW:()=>m});var s=a(18504),n=a(68176),r=a(77709),i=a(3697),l=a(3995),o=a(43985);let c=(e,t)=>"error"===(0,i.uU)(t)&&e<2,d=(e,t,a=!0)=>{let{user:i,getIdToken:d}=(0,r.xT)();return(0,n.I)({queryKey:l.l.commit.detail(i.uid,e,t),queryFn:async()=>(0,o.I)(await (0,s.getCommit)({token:await d(),slug:e,commitId:t})),enabled:a,staleTime:3e4,retry:c})},m=(e,t,a=!0)=>{let{user:i,getIdToken:d}=(0,r.xT)();return(0,n.I)({queryKey:l.l.commit.transactions(i.uid,e,t),queryFn:async()=>(0,o.I)(await (0,s.getCommitTransactions)({token:await d(),slug:e,commitId:t})),enabled:a,staleTime:3e4,retry:c})},u=(e,t,a=!0)=>{let{user:i,getIdToken:d}=(0,r.xT)();return(0,n.I)({queryKey:l.l.commit.reviewers(i.uid,e,t),queryFn:async()=>(0,o.I)(await (0,s.getCommitReviewersWithUsers)({token:await d(),slug:e,commitId:t})),enabled:a,staleTime:3e4,retry:c})},h=(e,t,a=!0)=>{let{user:i,getIdToken:d}=(0,r.xT)();return(0,n.I)({queryKey:l.l.commit.activity(i.uid,e,t),queryFn:async()=>(0,o.I)(await (0,s.getCommitActivityLog)({token:await d(),slug:e,commitId:t})),enabled:a,staleTime:3e4,retry:c})}},54983:(e,t,a)=>{a.d(t,{I$:()=>i,OH:()=>d,S7:()=>l,X_:()=>r,rr:()=>n,tr:()=>c});var s=a(98210);let n=e=>({pending:e.some(e=>e.isPending),paused:e.some(e=>e.isPending&&"paused"===e.fetchStatus)}),r=e=>"unified"===e.kind?"unified":"connection"===e.kind?`connection:${e.connectionId}`:`account:${e.connectionId}:${e.accountId}`,i=(e,t)=>{let a=new Map;for(let t of e){let e=t.brokerage.name;a.set(e,(a.get(e)??0)+1)}let n=new Map,r=new Map(t.map(e=>[e.brokerage_connection_id,e])),i=t.flatMap(e=>(0,s.II)(e).map(e=>e.brokerage_account_id)),l=(0,s.J9)(e,t),o=[{key:"unified",scope:{kind:"unified"},label:"All connected accounts",detail:`${i.length} active ${1===i.length?"account":"accounts"}`,accountIds:i,blockedReason:l?"A connected broker source needs attention, so unified holdings are hidden.":0===i.length?"No active trading accounts are available.":null}];for(let t of e){let e=r.get(t.id),i=e?.accounts??[],l=e?(0,s.II)(e):[],c=t.disabled||e?.disabled===!0||i.some(e=>!(0,s.Pj)(e)),d=t.brokerage.name,m=(n.get(d)??0)+1;n.set(d,m);let u=(a.get(d)??0)>1?`${d} ${m}`:d;for(let a of(o.push({key:`connection:${t.id}`,scope:{kind:"connection",connectionId:t.id},label:u,detail:`${l.length} active ${1===l.length?"account":"accounts"}`,accountIds:l.map(e=>
1e.brokerage_account_id),blockedReason:c?"This broker connection or one of its accounts needs attention.":0===l.length?"This broker connection has no active trading accounts.":null}),i)){let n=!t.disabled&&e?.disabled!==!0&&(0,s.Pj)(a),r=a.name||a.raw_type||"Brokerage account";o.push({key:`account:${t.id}:${a.brokerage_account_id}`,scope:{kind:"account",connectionId:t.id,accountId:a.brokerage_account_id},label:r,detail:`${u} \xb7 ${a.number}`,accountIds:n?[a.brokerage_account_id]:[],blockedReason:n?null:"This trading account is closed, unavailable, or disconnected."})}}return o},l=(e,t)=>{let a=r(e);return t.find(e=>e.key===a)??{key:a,scope:e,label:"unified"===e.kind?"All connected accounts":"connection"===e.kind?"Broker connection":"Trading account",detail:"Requested by the agent",accountIds:[],blockedReason:"account"===e.kind?"This trading account does not belong to the requested broker connection.":"This broker scope is no longer available."}},o=e=>{if(0!==e.percentageChange){let t=e.delta/e.percentageChange;if(Number.isFinite(t)&&t>0)return t}let t=e.marketValue-e.delta;if(Number.isFinite(t)&&t>0)return t;let a=e.costBasis*e.quantity;return Number.isFinite(a)&&a>0?a:0},c=(e,t)=>[...e].sort((e,a)=>{let s=Number(a.currencyAlphaCode===t)-Number(e.currencyAlphaCode===t);if(0!==s)return s;let n=e.currencyAlphaCode.localeCompare(a.currencyAlphaCode);return 0!==n?n:a.marketValue-e.marketValue||e.instrumentId.localeCompare(a.instrumentId)}),d=(e,t)=>{if(0===e.length)return null;let a=e.map(e=>e.totals.find(e=>e.currencyCode===t));if(a.some(e=>void 0===e))return null;let n=(e=>{let t=new Map,a=new Map;for(let s of e){let e=`${s.instrumentId}:${s.currencyAlphaCode}`,n=t.get(e);if(!n){t.set(e,{...s}),a.set(e,o(s));continue}let r=n.quantity+s.quantity,i=n.quantity*n.costBasis+s.quantity*s.costBasis;n.quantity=r,n.costBasis=0===r?0:i/r,n.marketValue+=s.marketValue,n.delta+=s.delta,n.close=0===r?s.close:n.marketValue/r;let l=(a.get(e)??0)+o(s);a.set(e,l),n.percentageChange=0===l?0:n.delta/l}return Array.from(t.values())})(e.flatMap(e=>(0,s.sz)(e))),r=e.reduce((e,t)=>e+t.totalReturn.delta,0),i=e.reduce((e,t)=>{let a=t.totalReturn.finalValue-t.totalReturn.delta;return e+(Number.isFinite(a)&&a>0?a:0)},0);return{total:a.reduce((e,t)=>e+t.total,0),totalCash:a.reduce((e,t)=>e+t.totalCash,0),totalPositions:a.reduce((e,t)=>e+t.totalPositions,0),delta:r,percentageChange:0===i?0:r/i,currency:t,positions:n}}},56734:(e,t,a)=>{a.d(t,{Z:()=>u,s:()=>h});var s=a(54568),n=a(31652),r=a(9494),i=a(42368),l=a(39980),o=a(16928),c=a(7620),d=a(80416),m=a(78453);let u=({items:e,value:t,onSelect:a,ariaLabel:d,searchPlaceholder:u,emptyLabel:h,clearSearchLabel:p,placeholder:x,disabled:g=!1,ariaDescribedBy:b,className:f,triggerClassName:v,menuClassName:w})=>{let[y,j]=c.useState(!1),[k,N]=c.useState(""),S=c.useRef(null),I=c.useRef(null),C=c.useRef(null),A=e.find(e=>e.id===t)??(void 0===x?e[0]:void 0),_=c.useCallback((e=!1)=>{j(!1),N(""),e&&window.requestAnimationFrame(()=>C.current?.focus({preventScroll:!0}))},[]);return c.useEffect(()=>{if(!y)return;let e=window.requestAnimationFrame(()=>I.current?.focus()),t=e=>{S.current?.contains(e.target)||_()},a=e=>{"Escape"===e.key&&(e.preventDefault(),_(!0))};return document.addEventListener("pointerdown",t),document.addEventListener("keydown",a),()=>{window.cancelAnimationFrame(e),document.removeEventListener("pointerdown",t),document.removeEventListener("keydown",a)}},[_,y]),c.useEffect(()=>{g&&y&&_()},[_,g,y]),(0,s.jsxs)("div",{ref:S,className:(0,m.cn)("relative",f),onBlur:e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||_()},children:[(0,s.jsxs)("button",{ref:C,type:"button",disabled:g,"aria-describedby":b,"aria-label":d,"aria-expanded":y&&!g,"aria-haspopup":"listbox",onClick:()=>j(e=>!e),"data-searchable-select-trigger":!0,className:(0,m.cn)("flex h-8 w-full items-center gap-2 rounded-md border border-white/10 bg-[#111212] px-2 text-xs text-white/55 outline-none hover:text-white/80 focus-visible:border-white/25 disabled:cursor-not-allowed disabled:text-white/30",v),children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:A?.label??x??""}),(0,s.jsx)(r.A,{className:(0,m.cn)("size-4 shrink-0 transition-transform",y&&"rotate-180")}
1)]}),y&&!g&&(0,s.jsxs)(n.uB,{loop:!0,label:d,defaultValue:A?.id,filter:(e,t,a=[])=>{let s=t.trim().toLowerCase();return s?+!![e,...a].join(" ").toLowerCase().includes(s):1},className:(0,m.cn)("viewport-menu-surface absolute start-0 top-[calc(100%+6px)] z-50 flex w-full flex-col overflow-hidden rounded-md border border-white/[0.14] bg-[#191a1a] text-white/75 shadow-2xl",w),"data-searchable-select":!0,"data-viewport-overlay":"menu",children:[(0,s.jsxs)("div",{className:"flex h-10 items-center gap-2 border-b border-white/[0.08] px-2.5",children:[(0,s.jsx)(i.A,{className:"size-[18px] shrink-0 text-white/40"}),(0,s.jsx)(n.uB.Input,{ref:I,autoFocus:!0,value:k,onValueChange:N,placeholder:u,className:"min-w-0 flex-1 bg-transparent text-sm text-white/80 outline-none placeholder:text-white/30"}),k&&(0,s.jsx)("button",{type:"button","aria-label":p,onClick:()=>{N(""),I.current?.focus()},className:"workbench-icon-button",children:(0,s.jsx)(l.A,{})})]}),(0,s.jsxs)(n.uB.List,{className:"min-h-0 max-h-[min(300px,calc(100vh-220px))] max-h-[min(300px,calc(100dvh-220px))] flex-1 overflow-y-auto p-1.5",children:[(0,s.jsx)(n.uB.Empty,{className:"px-3 py-8 text-center text-sm text-white/40",children:h}),e.map(e=>(0,s.jsxs)(n.uB.Item,{value:e.id,keywords:[e.label],onSelect:()=>{a(e.id),_(!0)},className:"command-item h-auto min-h-9 w-full",title:e.label,children:[(0,s.jsx)("span",{className:"flex size-[18px] shrink-0 items-center justify-center",children:e.id===A?.id&&(0,s.jsx)(o.A,{className:"size-4 text-emerald-300"})}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label})]},e.id))]})]})]})},h=()=>({clearSearchLabel:(0,d.t)({message:"Clear search",desc:"Searchable select — clear search a11y label"})})},94762:(e,t,a)=>{a.d(t,{z:()=>s});let s=200},98685:(e,t,a)=>{a.r(t),a.d(t,{WorkbenchPage:()=>aV});var s=a(54568),n=a(80416),r=a(46591),i=a(65775),l=a(8860),o=a(39980),c=a(39921),d=a(7620),m=a(91647),u=a(99897),h=a(31358),p=a(97335),x=a(18560),g=a(49145),b=a(38716),f=a(61838),v=a(64747),w=a(19628),y=a(69300),j=a(38853),k=a(76197),N=a(46631),S=a(62557),I=a(20720),C=a(16928),A=a(63361),_=a(74227),$=a(41713),R=a(74456),P=a(66566),E=a(62901),T=a(79574),W=a(34711),z=a(39224);let D="[truncated]",M=/(?:authorization|cookie|credential|password|secret|token|api[_-]?key|private[_-]?key|id[_-]?token|access[_-]?token|refresh[_-]?token|internal|stack)/i,L=(e,t={})=>{let a=t.maxDepth??5,s=t.maxRows??80,n=t.maxBytes??12e3,r=new WeakSet,i=0,l=!1,o=!1,c=(e,t)=>{let a=new TextEncoder;if(a.encode(e).byteLength<=t)return e;let s=0,n=e.length;for(;s<n;){let r=Math.ceil((s+n)/2);a.encode(e.slice(0,r)).byteLength<=t?s=r:n=r-1}return e.slice(0,s)},d=(e,t)=>{if(t>a)return l=!0,D;if(null===e||"boolean"==typeof e)return e;if("string"==typeof e){let t=new TextEncoder;if(t.encode(e).byteLength<=n)return e;l=!0;let a=t.encode(D).byteLength;return`${c(e,Math.max(0,n-a))}${D}`}if("number"==typeof e)return Number.isFinite(e)?e:String(e);if("bigint"==typeof e)return e.toString();if("object"!=typeof e)return String(e);if(r.has(e))return l=!0,"[circular]";if(r.add(e),Array.isArray(e)){let a=Math.max(0,s-i),n=e.slice(0,a);return i+=n.length,n.length<e.length&&(l=!0),[...n.map(e=>d(e,t+1)),...n.length<e.length?[D]:[]]}let m={};for(let[a,n]of Object.entries(e)){if(i>=s){m[D]=D,l=!0;break}i+=1,M.test(a)?(m[a]="[redacted]",o=!0):m[a]=d(n,t+1)}return m},m=d(e,0),u=JSON.stringify(m,null,2)??String(m);if(new TextEncoder().encode(u).byteLength>n){let e=`
2${D}`,t=new TextEncoder().encode(e).byteLength;u=`${c(u,Math.max(0,n-t))}${e}`}return{value:m,text:u,truncated:l,redacted:o}},F=()=>{let{state:e,answerApproval:t,answerUI:a}=(0,z.s)(),[r,i]=d.useState(null);if(d.useEffect(()=>{if(!e.pendingApproval)return;let t=window.setTimeout(()=>i(Date.now()),0),a=window.setInterval(()=>i(Date.now()),1e3);return()=>{window.clearTimeout(t),window.clearInterval(a)}},[e.pendingApproval]),e.pendingApproval){let a=e.pendingApproval,i="effectful"===a.effect,l=null!==r&&a.expiresAt<=r,c=Math.max(0,Math.ceil((a.expiresAt-(r??a.expiresAt))/1e3)),d=L(a.args,{maxDepth:4,maxRows:40,maxBytes:6e3});return(0,s.jsx)("div",{className:"mx-auto mb-2 w-[min(760px,calc(100%-24px))] rounded-md border border-amber-400/20 bg-[#1b1914] p-3 text-xs",children:(0,s.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,s.jsx)(W.A,{className:"mt-0.5 size-[18px] shrink-0 text-amber-400"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 font-medium text-white/85",children:[(0,s.jsx)("span",{children:a.preview}),(0,s.jsx)("span",{className:"rounded bg-amber-400/10 px-1.5 py-0.5 text-xs text-amber-300",children:a.riskTier})]}),(0,s.jsxs)("p",{className:"mt-1 text-white/45",children:[a.capability,i?(0,n.t)({message:" \xb7 This action changes external state.",desc:"Agent prompts — effectful action warning suffix"}):""]}),void 0!==a.args&&(0,s.jsxs)("details",{className:"mt-2 rounded-md border border-white/[0.07] bg-black/10",children:[(0,s.jsx)("summary",{className:"cursor-pointer px-2.5 py-2 text-white/45 hover:text-white/65",children:(0,s.jsx)(n.Pft,{id:"9Bx83x",message:"Review exact inputs",context:"Agent prompts \\u2014 review input
2s disclosure"})}),(0,s.jsx)("pre",{className:"max-h-40 overflow-auto border-t border-white/[0.06] p-2.5 leading-5 text-white/45",children:d.text})]}),(0,s.jsx)("p",{className:"mt-2 text-xs text-white/35",children:l?(0,n.t)({message:"This approval expired. Wait for the agent to issue a new request.",desc:"Agent prompts — approval expired notice"}):(0,n.t)({message:"{count, plural, one {# approval required} other {# approvals required}} \xb7 expires in {seconds}s",desc:"Agent prompts — approvals required and expiry countdown",values:{count:a.requiredApprovals,seconds:c}})}),(0,s.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,s.jsx)(U,{label:(0,n.t)({message:"Allow once",desc:"Agent prompts — allow once button"}),Icon:C.A,primary:!0,disabled:l,onClick:()=>void t("once")}),(0,s.jsx)(U,{label:(0,n.t)({message:"Reject",desc:"Agent prompts — reject button"}),Icon:o.A,disabled:l,onClick:()=>void t("reject")})]})]})]})})}return e.pendingUI?(0,s.jsx)(q,{command:e.pendingUI.command,onAnswer:e=>void a(e)},e.pendingUI.requestId):null},U=({label:e,Icon:t,onClick:a,primary:n,destructive:r,disabled:i})=>(0,s.jsxs)("button",{type:"button",onClick:a,disabled:i,className:r?"flex h-8 items-center gap-1.5 rounded-md bg-red-400 px-2.5 text-xs font-medium text-black hover:bg-red-300 disabled:opacity-30":n?"flex h-8 items-center gap-1.5 rounded-md bg-white px-2.5 text-xs font-medium text-black hover:bg-white/90 disabled:opacity-30":"flex h-8 items-center gap-1.5 rounded-md border border-white/10 px-2.5 text-xs text-white/65 hover:bg-white/[0.06] hover:text-white/85 disabled:opacity-30",children:[(0,s.jsx)(t,{className:"size-[18px]"}),(0,s.jsx)("span",{children:e})]}),q=({command:e,onAnswer:t})=>{let[a,r]=d.useState([]),[i,l]=d.useState(()=>(e=>{if("number_slider"===e.name)return{value:e.params.initial??e.params.min};if("date_picker"===e.name){let t,a=((t=new Date).setMinutes(t.getMinutes()-t.getTimezoneOffset()),t.toISOString().slice(0,10)),s=a<(e.params.min??a)?e.params.min:a>(e.params.max??a)?e.params.max:a;return"range"===e.params.mode?{start:s,end:s}:{date:s}}return{}})(e)),[c,m]=d.useState(""),[u,h]=d.useState(!1),[p,x]=d.useState({});if("navigate"===e.name||"entity_card"===e.name)return null;let g=e.params.title,b="form_sheet"===e.name&&e.params.fields.some(e=>{if(!e.required)return!1;let t=i[e.key];return"number"==typeof t?!Number.isFinite(t):!String(t??"").trim()}),f="options_sheet"===e.name&&0===a.length&&!c.trim();return(0,s.jsxs)("div",{"data-ui-command":e.name,className:"mx-auto mb-2 w-[min(760px,calc(100%-24px))] rounded-md border border-cyan-400/20 bg-[#151b1c] p-3 text-xs",children:[(0,s.jsx)("h3",{className:"font-medium text-white/85",children:g}),"message"in e.params&&e.params.message&&(0,s.jsx)("p",{className:"mt-1 text-white/45",children:e.params.message}),"body"in e.params&&e.params.body&&(0,s.jsx)("p",{className:"mt-1 text-white/45",children:e.params.body}),"options_sheet"===e.name&&(0,s.jsxs)("div",{className:"mt-3 space-y-1.5",children:[e.params.options.map(t=>{let n=a.includes(t.id);return(0,s.jsxs)("button",{type:"button",className:"flex w-full items-start gap-2 rounded-md border border-white/[0.08] px-2.5 py-2 text-left hover:bg-white/[0.04]",onClick:()=>r(a=>e.params.multiSelect?n?a.filter(e=>e!==t.id):[...a,t.id]:(h(!1),m(""),[t.id])),children:[(0,s.jsx)("span",{className:`mt-0.5 size-[18px] rounded-sm border ${n?"border-emerald-400 bg-emerald-400":"border-white/25"}`}),(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"block text-white/75",children:t.label}),t.description&&(0,s.jsx)("span",{className:"mt-0.5 block text-white/35",children:t.description})]})]},t.id)}),!1!==e.params.allowCustom?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{type:"button",className:"flex h-8 w-full items-center rounded-md border border-dashed border-white/[0.1] px-2.5 text-left text-white/45 hover:bg-white/[0.04]",onClick:()=>{h(!0),e.params.multiSelect||r([])},children:e.params.customLabel??(0,n.t)({message:"Other…",desc:"Agent prompts — custom option"})}),u&&(0,s.jsx)("input",{autoFocus:!0,value:c,onChange:e=>m(e.target.value),placeholder:(0,n.t)({message:"Type your own answer",desc:"Agent prompts — custom answer input placeholder"}),className:"h-8 w-full rounded-md border border-white/10 bg-[#101111] px-2 text-white/75 outline-none focus:border-emerald-400/60"})]}):null]}),"form_sheet"===e.name&&(0,s.jsx)("div",{className:"mt-3 grid gap-2",children:e.params.fields.map(e=>"select"===e.type?(0,s.jsxs)("label",{className:"grid gap-1 text-white/45",children:[(0,s.jsxs)("span",{children:[e.label,e.required?" *":""]}),(0,s.jsxs)("select",{value:p[e.key]?"__custom__":String(i[e.key]??""),className:"h-8 rounded-md border border-white/10 bg-[#101111] px-2 text-white/75 outline-none focus:border-emerald-400/60",onChange:t=>{let a="__custom__"===t.target.value;x(t=>({...t,[e.key]:a})),l(s=>({...s,[e.key]:a?"":t.target.value}))},children:[(0,s.jsx)("option",{value:"",children:(0,n.t)({message:"Select",desc:"Agent prompts — form select placeholder option"})}),e.options?.map(e=>(0,s.jsx)("option",{children:e},e)),(0,s.jsx)("option",{value:"__custom__",children:e.customLabel??(0,n.t)({message:"Other…",desc:"Agent prompts — custom option"})})]}),p[e.key]&&(0,s.jsx)("input",{autoFocus:!0,value:String(i[e.key]??""),onChange:t=>l(a=>({...a,[e.key]:t.target.value})),placeholder:(0,n.t)({message:"Type your own answer",desc:"Agent prompts — custom answer input placeholder"}),className:"h-8 rounded-md border border-white/10 bg-[#101111] px-2 text-white/75 outline-none focus:border-emerald-400/60"})]},e.key):(0,s.jsxs)("label",{className:"grid gap-1 text-white/45",children:[(0,s.jsxs)("span",{children:[e.label,e.required?" *":""]}
2),(0,s.jsx)("input",{type:e.type,required:e.required,className:"h-8 rounded-md border border-white/10 bg-[#101111] px-2 text-white/75 outline-none focus:border-emerald-400/60",onChange:t=>l(a=>({...a,[e.key]:"number"===e.type?""===t.target.value?"":t.target.valueAsNumber:t.target.value}))})]},e.key))}),"number_slider"===e.name&&(0,s.jsxs)("label",{className:"mt-3 grid gap-2 text-white/55",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("input",{type:"number",min:e.params.min,max:e.params.max,step:e.params.step,value:Number(i.value),onChange:t=>{let a=t.target.valueAsNumber;Number.isFinite(a)&&l({value:Math.min(e.params.max,Math.max(e.params.min,a))})},className:"h-8 w-28 rounded-md border border-white/10 bg-[#101111] px-2 text-base font-medium tabular-nums text-white/85 outline-none focus:border-emerald-400/60"}),(0,s.jsx)("span",{children:e.params.unit})]}),(0,s.jsx)("input",{type:"range",min:e.params.min,max:e.params.max,step:e.params.step,value:Number(i.value),onChange:e=>l({value:e.target.valueAsNumber}),className:"accent-emerald-400"})]}),"date_picker"===e.name&&(0,s.jsxs)("div",{className:"mt-3 flex gap-2",children:[(0,s.jsx)("input",{type:"date",min:e.params.min,max:e.params.max,value:String(i["range"===e.params.mode?"start":"date"]??""),className:"h-8 rounded-md border border-white/10 bg-[#101111] px-2 text-white/70",onChange:t=>{let a="range"===e.params.mode?"start":"date",s=t.target.value;l(e=>({...e,[a]:s,..."start"===a&&String(e.end)<s?{end:s}:{}}))}}),"range"===e.params.mode&&(0,s.jsx)("input",{type:"date",min:e.params.min,max:e.params.max,value:String(i.end??""),className:"h-8 rounded-md border border-white/10 bg-[#101111] px-2 text-white/70",onChange:e=>{let t=e.target.value;l(e=>({...e,end:t,...String(e.start)>t?{start:t}:{}}))}}),(0,s.jsx)("button",{type:"button",onClick:()=>h(e=>!e),className:"h-8 rounded-md border border-dashed border-white/10 px-2 text-white/45 hover:bg-white/[0.04]",children:(0,s.jsx)(n.Pft,{id:"dAXo6C",message:"Other\\u2026",context:"Agent prompts \\u2014 custom option"})})]}),"date_picker"===e.name&&u&&(0,s.jsx)("input",{autoFocus:!0,value:c,onChange:e=>m(e.target.value),placeholder:(0,n.t)({message:"Type a relative date or range",desc:"Agent prompts — date picker custom input placeholder"}),className:"mt-2 h-8 w-full rounded-md border border-white/10 bg-[#101111] px-2 text-white/75 outline-none focus:border-emerald-400/60"}),(0,s.jsxs)("div",{className:"mt-3 flex gap-2",children:["confirm_sheet"===e.name?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(U,{label:e.params.confirmLabel,Icon:C.A,primary:!0,destructive:e.params.destructive,onClick:()=>t({status:"completed",values:{confirmed:!0}})}),(0,s.jsx)(U,{label:e.params.cancelLabel,Icon:o.A,onClick:()=>t({status:"completed",values:{confirmed:!1}})})]}):(0,s.jsx)(U,{label:(0,n.t)({message:"Continue",desc:"Agent prompts — continue button"}),Icon:C.A,primary:!0,disabled:!(!b&&!f),onClick:()=>{"options_sheet"===e.name?t({status:"completed",selectedOptionIds:a,...c.trim()?{values:{customAnswer:c.trim()}}:{}}):"date_picker"===e.name&&c.trim()?t({status:"completed",values:{customAnswer:c.trim()}}):t({status:"completed",values:i})}}),"confirm_sheet"!==e.name&&(0,s.jsx)(U,{label:(0,n.t)({message:"Cancel",desc:"Agent prompts — cancel button"}),Icon:o.A,onClick:()=>t({status:"cancelled"})})]})]})};var O=a(3132),B=a(60736),V=a(48329),K=a(5382),H=a(79815),J=a(53809),Y=a(80657);let Z=e=>(0,s.jsx)(Y.K,{...e,renderFinanceBlock:(e,t)=>(0,s.jsx)(J.e,{block:e,compact:t.compact})});var G=a(92952),Q=a(73766),X=a(79743),ee=a(9927),et=a(35312),ea=a(41055);let es=H.Ik({artifact:H.L5(),threadId:H.Yj().min(1),seq:H.ai().int().positive(),turnId:H.Yj().min(1),createdAt:H.Yj().optional(),documentId:H.Yj().uuid().nullable(),documentLinkState:H.k5(["unlinked","linked","stale"]).optional()}).strict(),en=({data:e})=>{let t=(0,h.Zp)(),{runtimeStore:a}=(0,z.s)(),n=d.useMemo(()=>es.safeParse(e),[e]),r=d.useMemo(()=>n.success?B.canvasArtifactAnyVersionSchema.safeParse(n.data.artifact):null,[n]),i=(0,G.RA)(),[l,o]=d.useState("idle"),c=n.success&&r?.success?`agent:${n.data.threadId}:${r.data.artifactId}`:null,m=(0,et.F)(e=>c?e.artifacts.find(e=>e.id===c):null),u=(0,et.F)(e=>e.storageError);if(!n.success||!r?.success)return(0,s.jsx)("div",{className:"rounded-md border border-amber-400/20 bg-amber-400/[0.04] px-3 py-2 text-xs text-amber-100/65",children:"This Canvas artifact is not supported by this desktop version."});let p={...n.data,artifact:r.data},x=(0,Q.nd)(p.documentId,null),g=(0,B.projectCanvasArtifactPreview)(p.artifact,{...p,createdAt:p.createdAt}),b=(0,Q.gb)(g),f=(0,Q.IV)(p.artifact,p.createdAt),v=async()=>
2{if(x)return x;let e=await i.mutateAsync({artifactId:p.artifact.artifactId,artifact:p.artifact,threadId:p.threadId,seq:p.seq});a.hydrateArtifacts(p.threadId,[{...p,documentId:e.document.documentId}]);let t=ea.M.getState();return(0,Q.JT)(t.canvasArtifactPreview?.id,g.id)&&t.setCanvasArtifactPreview(null),e.document.documentId},w=async()=>{try{await navigator.clipboard.writeText((0,X.pQ)(g)),o("copied")}catch{o("error")}window.setTimeout(()=>o("idle"),1600)};return(0,s.jsxs)("section",{className:"overflow-hidden rounded-md border border-white/[0.1] bg-white/[0.025]",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 px-3 py-3",children:[(0,s.jsx)(_.A,{className:"mt-0.5 size-[18px] shrink-0 text-emerald-400"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"truncate text-sm font-medium text-white/85",children:p.artifact.title}),(0,s.jsxs)("div",{className:"mt-0.5 text-xs text-white/40",children:[f.kind," \xb7 ",f.blockCount," ",1===f.blockCount?"block":"blocks"," \xb7"," ",f.sourceTool,f.asOf?` \xb7 ${new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(new Date(f.asOf))}`:""]}),(0,s.jsx)("div",{className:"mt-1 text-xs text-white/35",children:(0,ee.tS)()?x?"Synced Canvas document":"Immutable chat artifact \xb7 not saved":m?"Saved locally on this device":"Local Canvas copy unavailable"})]}),(0,s.jsx)("button",{type:"button",onClick:()=>void w(),className:"workbench-icon-button","aria-label":"copied"===l?"Copied":"Copy artifact",title:"error"===l?"Copy failed":"Copy artifact",children:"copied"===l?(0,s.jsx)(C.A,{className:"size-[18px]"}):(0,s.jsx)(A.A,{className:"size-[18px]"})}),(0,ee.tS)()&&(0,s.jsxs)("button",{type:"button",onClick:()=>void v().catch(()=>void 0),disabled:i.isPending||!!x,className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-white/10 px-2.5 text-xs text-white/65 hover:bg-white/[0.06] disabled:opacity-50",children:[i.isPending?(0,s.jsx)(P.A,{className:"size-[18px] animate-spin"}):(0,s.jsx)(V.A,{className:"size-[18px]"}),(0,Q._E)(x,p.documentLinkState)]}),(0,s.jsxs)("button",{type:"button",onClick:()=>{if(!(0,ee.tS)()){let e=et.F.getState();ea.M.getState().setCanvasArtifactPreview(null),c&&e.selectArtifact(c),t(c?`/canvas/${encodeURIComponent(c)}`:"/canvas");return}if(x)return void t((0,O.BW)(x));let e=ea.M.getState();e.setCanvasArtifactPreview(g),e.setWorkspacePanelTab("canvas"),e.setRightSidebarOpen(!0)},className:"inline-flex h-8 items-center gap-1.5 rounded-md bg-white px-2.5 text-xs font-medium text-black hover:bg-white/90 disabled:opacity-50",children:[(0,s.jsx)(K.A,{className:"size-[18px]"}),!(0,ee.tS)()||x?"Open in Canvas":"Open preview"]})]}),!(0,ee.tS)()&&u&&(0,s.jsx)("div",{className:"border-t border-red-400/15 bg-red-400/[0.04] px-3 py-2 text-xs text-red-300/80",children:u}),i.error instanceof Error&&(0,s.jsxs)("div",{className:"border-t border-red-400/15 bg-red-400/[0.04] px-3 py-2 text-xs text-red-300/80",children:[i.error.message," You can retry without creating a duplicate."]}),(0,s.jsx)("div",{className:"max-h-[420px] overflow-auto border-t border-white/[0.07]",children:(0,s.jsx)(Z,{artifact:b,compact:!0,showChrome:!1,authorityLabel:"Chat artifact \xb7 immutable",storageDetail:(0,ee.tS)()?"Stored in this conversation. Save to create a synced document.":m?"A UID-scoped copy is saved locally on this device.":"The conversation artifact remains available, but its local copy could not be saved."})})]})};var er=a(33566),ei=a(83957),el=a(95658),eo=a(77709);let ec=e=>"string"==typeof e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e),ed=(e,t)=>`porfoli.canvas.proposal-resolution.v1:${encodeURIComponent(e)}:${t.documentId}:${t.proposalId}`,em=(e,t,a)=>!(!e||"object"!=typeof e||Array.isArray(e))&&1===e.version&&e.uid===t&&e.documentId===a.documentId&&e.proposalId===a.proposalId&&("accept"===e.action||"reject"===e.action)&&ec(e.idempotencyKey)&&"string"==typeof e.createdAt&&Number.isFinite(new Date(e.createdAt).valueOf()),eu=(e,t,a)=>{if(!t||t.length>128)return null;let s=ed(t,a);try{let n=e.getItem(s);if(!n)return null;let r=JSON.parse(n);if(em(r,t,a))return Object.freeze(r);return e.removeItem(s),null}catch{return null}},eh=(e,t,a,s)=>{let n=eu(e,t,a);if(void 0!==s&&n?.idempotencyKey!==s)return!1;try{return e.removeItem(ed(t,a)),!0}catch{return!1}};var ep=a(78453);let ex=({locator:e})=>{let t,{user:a}=(0,eo.xT)();return(0,s.jsx)(eg,{locator:e,uid:a.uid},(t=a.uid,`${t}:${e.documentId}:${e.proposalId}:${e.baseRevisionNumber}`))},eg=({locator:e,uid:t})=>{let a=(0,h.Zp)(),n=(0,G.sP)(e.documentId,e.proposalId),r=(0,G.nU)(),i=(0,G.gw)(),[c,m]=d.useState(!1),[u,p]=d.useState(),[x,g]=d.useState(()=>eu(window.localStorage,t,e)),[b,f]=d.useState(null),v=n.data,w=n.refetch,y=v?.proposalId===e.proposalId&&v.documentId===e.documentId&&v.baseRevisionNumber===e.baseRevisionNumber;d.useEffect(()=>{let e=()=>{w()};return window.addEventListener("focus",e),window.addEventListener("online",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("online",e)}},[w]),d.useEffect(()=>{v&&"pending"!==v.status&&eh(window.localStorage,t,e,x?.idempotencyKey)},[x?.idempotencyKey,e,v,t]);let j=async()=>{try{let a,s=await w();s.data&&(a=s.data.status,"pending"!==a)&&(eh(window.localStorage,t,e,x?.idempotencyKey),g(null),f(null))}catch{}},k=async a=>{let s=((e,t)=>{if(!t.uid||t.uid.length>128)return null;let a=eu(e,t.uid,t.locator);if(a)return a;let s=Object.freeze({version:1,uid:t.uid,documentId:t.locator.documentId,proposalId:t.locator.proposalId,action:t.action,idempotencyKey:t.idempotencyKey,createdAt:t.now});if(!em(s,t.uid,t.locator))return null;try{e.setItem(ed(t.uid,t.locator),JSON.stringify(s));let a=eu(e,t.uid,t.locator);return a?.idempotencyKey===s.idempotencyKey?a:null}catch{return null}})(window.localStorage,{uid:t,locator:e,action:a,idempotencyKey:crypto.randomUUID(),now:new Date().toISOString()});if(!s)return void f("Canvas cannot safely retain the action receipt on this device. Check storage access and try again.");if(g(s),s.action!==a)return void f(`A prior ${"accept"===s.action?"Apply":"Reject"} request may still be resolving. Retry that action to recover its authoritative result.`);f(null),p(a);try{"accept"===a?await r.mutateAsync({documentId:e.documentId,proposalId:e.proposalId,idempotencyKey:s.idempotencyKey,acknowledgeT2:v?.risk==="T2"||void 0}):await i.mutateAsync({documentId:e.documentId,proposalId:e.proposalId,idempotencyKey:s.idempotencyKey}),eh(window.localStorage,t,e,s.idempotencyKey),g(null)}catch{f(`The ${"accept"===a?"Apply":"Reject"} result is not confirmed. Retry uses the same action receipt while Canvas checks the authoritative proposal state.`),await j()}finally{p(void 0)}};if(n.isPending)return(0,s.jsx)(eb,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs text-white/50",children:[(0,s.jsx)(P.A,{className:"size-[18px] animate-spin text-emerald-400"}),"Loading proposed Canvas changes"]})});if(n.isError)return(0,s.jsx)(eb,{children:(0,s.jsxs)("div",{className:"flex items-start gap-2",children:[(0,s.jsx)(W.A,{className:"mt-0.5 size-[18px] shrink-0 text-amber-400"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"text-xs font-medium text-white/70",children:"Proposed Canvas changes are unavailable"}),(0,s.jsx)("p",{className:"mt-1 text-xs leading-5 text-white/40",children:"The proposal is durable. Reconnect and retry to recover its current state."})]}),(0,s.jsxs)("button",{type:"button",onClick:()=>void n.refetch(),className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-white/10 px-2.5 text-xs text-white/60 hover:bg-white/[0.05]",children:[(0,s.jsx)(l.A,{className:"size-[18px]"}),"Retry"]})]})});if(!v||!y)return(0,s.jsx)(eb,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs text-red-300/75",children:[(0,s.jsx)(W.A,{className:"size-[18px]"}),"Canvas returned a proposal that does not match this tool result."]})});let N="pending"!==v.status,S=x?.action,A=v.operations.slice(0,8);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(eb,{children:[(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)("div",{className:(0,ep.cn)("flex size-8 shrink-0 items-center justify-center rounded-md","T2"===v.risk?"bg-amber-400/10 text-amber-300":"bg-emerald-400/10 text-emerald-300"),children:"T2"===v.risk?(0,s.jsx)(er.A,{className:"size-[18px]"}):(0,s.jsx)(ei.A,{className:"size-[18px]"})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("h3",{className:"text-sm font-medium text-white/80",children:"Proposed Canvas changes"}),(0,s.jsx)("span",{className:(0,ep.cn)("rounded px-1.5 py-0.5 text-xs font-medium","T2"===v.risk?"bg-amber-400/10 text-amber-200/80":"bg-emerald-400/10 text-emerald-200/80"),children:v.risk}),(0,s.jsx)("span",{className:"text-xs text-white/35",children:(e=>
2{switch(e.status){case"pending":return"Awaiting review";case"accepted":return`Applied as revision ${e.acceptedRevisionNumber}`;case"rejected":return"Rejected";case"stale":return"Needs rebase";case"expired":return"Expired"}})(v)})]}),(0,s.jsx)("p",{className:"mt-1 text-xs leading-5 text-white/50",children:v.summary}),(0,s.jsxs)("p",{className:"mt-1 text-xs text-white/30",children:["Based on revision ",v.baseRevisionNumber]})]})]}),(0,s.jsxs)("div",{className:"mt-3 divide-y divide-white/[0.05] border-y border-white/[0.06]",children:[A.map((e,t)=>(0,s.jsxs)("div",{className:"flex min-h-9 items-center gap-2 py-1.5 text-xs text-white/55",children:[(0,s.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-white/20"}),(e=>{switch(e.op){case"rename":return`Rename Canvas to “${((e,t=100)=>e.length<=t?e:`${e.slice(0,t-1)}…`)(e.title)}”`;case"insert_block":return`Add ${e.block.type.replaceAll("_"," ")} block`;case"replace_block":return`Replace block ${e.blockId}`;case"update_markdown":return`Update text in ${e.blockId}`;case"update_table_cells":return`Update ${e.cells.length} table ${1===e.cells.length?"cell":"cells"} in ${e.blockId}`;case"remove_block":return`Remove block ${e.blockId}`;case"reorder_blocks":return`Reorder ${e.orderedBlockIds.length} blocks`;case"pin_live_data":return`Pin live data in ${e.blockId}`}return"Update Canvas"})(e)]},`${e.op}:${t}`)),v.operations.length>A.length&&(0,s.jsxs)("div",{className:"py-2 text-xs text-white/35",children:[v.operations.length-A.length," more changes"]})]}),!N&&b&&(0,s.jsx)("div",{className:"mt-3 border-l-2 border-amber-400 pl-3 text-xs leading-5 text-amber-100/65",children:b}),(0,s.jsx)("div",{className:"mt-3 flex items-center justify-end gap-2",children:N?(0,s.jsxs)("button",{type:"button",onClick:()=>a((0,O.BW)(e.documentId)),className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-white/10 px-2.5 text-xs text-white/65 hover:bg-white/[0.05]",children:["Open Canvas",(0,s.jsx)(I.A,{className:"size-[18px]"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",disabled:void 0!==u||"accept"===S,onClick:()=>void k("reject"),className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-white/10 px-2.5 text-xs text-white/60 hover:bg-white/[0.05] disabled:opacity-40",children:["reject"===u?(0,s.jsx)(P.A,{className:"size-[18px] animate-spin"}):(0,s.jsx)(o.A,{className:"size-[18px]"}),"reject"===S?"Retry reject":"Reject"]}),(0,s.jsxs)("button",{type:"button",disabled:void 0!==u||"reject"===S,onClick:()=>{"T2"===v.risk&&"accept"!==S?m(!0):k("accept")},className:"inline-flex h-8 items-center gap-1.5 rounded-md bg-white px-2.5 text-xs font-medium text-black hover:bg-white/90 disabled:opacity-40",children:["accept"===u?(0,s.jsx)(P.A,{className:"size-[18px] animate-spin"}):(0,s.jsx)(C.A,{className:"size-[18px]"}),"accept"===S?"Retry apply":"Apply"]})]})})]}),(0,s.jsx)(el.K,{open:c,title:"Apply destructive Canvas changes?",description:"This T2 proposal can remove, replace, reorder, or overwrite existing content. Applying it creates a new immutable revision;
2 the prior revision remains in history.",confirmLabel:"Apply changes",destructive:!0,pending:"accept"===u,onOpenChange:m,onConfirm:()=>{m(!1),k("accept")}})]})},eb=({children:e})=>(0,s.jsx)("section",{"data-canvas-patch-proposal":!0,className:"rounded-md border border-white/[0.09] bg-white/[0.025] p-3",children:e});var ef=a(68176),ev=a(42368),ew=a(54129),ey=a(59441),ej=a(66285),ek=a(56378),eN=a(83434),eS=a(6092),eI=a(33152),eC=a(8653);let eA=e=>"instrument"===e.type?{id:`instrument:${e.instrumentId}`,kind:"instrument",attachment:{kind:"instrument",id:`instrument:${e.instrumentId}`,instrumentId:e.instrumentId,label:e.instrumentSymbol},title:e.instrumentSymbol,subtitle:e.instrumentName}:"portfolio"===e.type?{id:`portfolio:${e.portfolioId}`,kind:"portfolio",attachment:{kind:"portfolio",id:`portfolio:${e.portfolioId}`,portfolioId:e.portfolioId,slug:e.slug,label:e.name},title:e.name,subtitle:`@${e.authorUsername}`}:{id:`user:${e.uid}`,kind:"user",attachment:{kind:"user",id:`user:${e.uid}`,uid:e.uid,username:e.username,label:e.displayName||e.username},title:e.displayName||e.username,subtitle:`@${e.username}`},e_=[{id:"instrument:aapl",kind:"instrument",attachment:{kind:"instrument",id:"instrument:aapl",instrumentId:"aapl",label:"AAPL"},title:"AAPL",subtitle:"Apple Inc."},{id:"portfolio:tech",kind:"portfolio",attachment:{kind:"portfolio",id:"portfolio:tech",slug:"tech",label:"Tech"},title:"Tech",subtitle:"Portfolio \xb7 @evan"},{id:"graph:ai-infrastructure",kind:"graph",attachment:{kind:"graph",id:"graph:ai-infrastructure",entityId:"ai-infrastructure",entityType:"theme",label:"AI infrastructure"},title:"AI infrastructure",subtitle:"Knowledge graph theme"}],e$=({open:e,onClose:t,returnFocus:a,onSelect:r})=>{let{getIdToken:i}=(0,eo.xT)(),[l,o]=d.useState(""),[c,m]=d.useState(""),[u,h]=d.useState(0),[p,x]=d.useState(),g=d.useRef(null),b=(0,eI.D)(),f=(0,G.S3)();d.useEffect(()=>{let e=window.setTimeout(()=>m(l.trim()),180);return()=>window.clearTimeout(e)},[l]);let v=(0,eS.J)(c),w=(0,ef.I)({queryKey:["desktop","context-graph-search",c],enabled:e&&!b&&c.length>1,queryFn:async()=>(0,eC.$Q)(await i(),c).then(e=>e.nodes.filter(e=>(e.data.kind??"entity")==="entity").slice(0,8)),staleTime:6e4}),y=d.useMemo(()=>{if(b){let e=c.toLowerCase();return e_.filter(t=>`${t.title} ${t.subtitle}`.toLowerCase().includes(e))}let e=(v.data??[]).map(eA),t=new Set(e.map(e=>e.id)),a=(w.data??[]).map(e=>({id:`graph:${e.data.id}`,kind:"graph",attachment:{kind:"graph",id:`graph:${e.data.id}`,entityId:e.data.id,entityType:e.data.entityType,label:e.data.label},title:e.data.label,subtitle:(0,n.t)({message:"Knowledge graph \xb7 {type}",desc:"Workbench: context picker — graph result subtitle",values:{type:e.data.entityType}})})).filter(e=>!t.has(e.id)),s=c.toLowerCase();return[...(f.data?.items??[]).filter(e=>e.title.toLowerCase().includes(s)).slice(0,8).map(e=>({id:`canvas:${e.documentId}`,kind:"canvas",canvasDocumentId:e.documentId,title:e.title,subtitle:`Canvas \xb7 Revision ${e.currentRevisionNumber}`})),...e,...a].slice(0,12)},[f.data?.items,c,b,v.data,w.data]);d.useEffect(()=>{if(!e)return;let a=e=>{g.current?.contains(e.target)||t()};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[t,e]);let j=(e=!1)=>{o(""),m(""),h(0),x(void 0),t(),e&&window.requestAnimationFrame(()=>a?.())},k=e=>{e.canvasDocumentId?x(e.canvasDocumentId):e.attachment&&(r(e.attachment),j(!0))},N=!b&&(v.isFetching||w.isFetching||f.isFetching)&&0===y.length,S=!b&&v.isError&&w.isError&&f.isError;return e?(0,s.jsxs)("div",{ref:g,"data-viewport-overlay":"menu",className:"viewport-menu-surface absolute bottom-10 start-2 z-30 flex w-[min(420px,calc(100%-16px))] flex-col overflow-hidden rounded-md border border-white/15 bg-[#1b1c1c] shadow-2xl",onBlur:e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||j()},children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 border-b border-white/[0.08] px-2.5",children:[(0,s.jsx)(ev.A,{className:"size-[18px] text-white/40"}),(0,s.jsx)("input",{autoFocus:!0,role:"combobox","aria-expanded":"true","aria-controls":"context-picker-results","aria-activedescendant":y[u]?`context-result-${u}
2`:void 0,value:l,onChange:e=>{o(e.target.value),h(0)},onKeyDown:e=>{"Escape"===e.key?(e.preventDefault(),j(!0)):"ArrowDown"===e.key&&y.length>0?(e.preventDefault(),h(e=>(e+1)%y.length)):"ArrowUp"===e.key&&y.length>0?(e.preventDefault(),h(e=>(e-1+y.length)%y.length)):"Enter"===e.key&&y[u]&&(e.preventDefault(),k(y[u]))},placeholder:(0,n.t)({message:"Attach a Canvas, company, portfolio, person, or graph entity",desc:"Workbench: context picker — search placeholder"}),className:"h-10 flex-1 bg-transparent text-sm text-white/75 outline-none placeholder:text-white/30"})]}),(0,s.jsxs)("div",{id:"context-picker-results",role:"listbox",className:"min-h-0 max-h-72 flex-1 overflow-y-auto p-1.5",children:[N&&(0,s.jsx)("div",{className:"px-2 py-3 text-xs text-white/35",children:(0,s.jsx)(n.Pft,{id:"Wk-E0B",message:"Searching\\u2026",context:"Workbench: context picker \\u2014 loading state"})}),S&&(0,s.jsx)("div",{className:"px-2 py-3 text-xs text-red-300/70",children:(0,s.jsx)(n.Pft,{id:"h1N4IC",message:"Context search is unavailable.",context:"Workbench: context picker \\u2014 search failed"})}),p&&(0,s.jsx)(eP,{documentId:p,onResolve:e=>{r(e),j(!0)}}),!N&&!S&&0===y.length&&(0,s.jsx)("div",{className:"px-2 py-3 text-xs text-white/35",children:c?(0,n.t)({message:"No matching context found",desc:"Workbench: context picker — no results"}):(0,n.t)({message:"Search all of Porfoli and the intelligence graph",desc:"Workbench: context picker — empty query hint"})}),y.map((e,t)=>(0,s.jsxs)("button",{type:"button",role:"option","aria-selected":t===u,id:`context-result-${t}`,onPointerMove:()=>h(t),onClick:()=>k(e),disabled:!!p&&p!==e.canvasDocumentId,className:"flex w-full items-center gap-2.5 rounded-md px-2 py-2 text-left aria-selected:bg-white/[0.07] hover:bg-white/[0.06]",children:[p===e.canvasDocumentId?(0,s.jsx)(P.A,{className:"size-[18px] shrink-0 animate-spin text-emerald-400/75"}):"canvas"===e.kind?(0,s.jsx)(_.A,{className:"size-[18px] shrink-0 text-emerald-400/75"}):e.attachment?(0,s.jsx)(eR,{attachment:e.attachment}):null,(0,s.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,s.jsx)("span",{className:"block truncate text-xs font-medium text-white/75",children:e.title}),(0,s.jsx)("span",{className:"mt-0.5 block truncate text-xs text-white/38",children:e.subt
2itle})]})]},e.id))]})]}):null},eR=({attachment:e})=>{let t="size-[18px] shrink-0 text-emerald-400/75";return"instrument"===e.kind?(0,s.jsx)(ew.A,{className:t}):"portfolio"===e.kind?(0,s.jsx)(ey.A,{className:t}):"user"===e.kind?(0,s.jsx)(ej.A,{className:t}):"routine"===e.kind?(0,s.jsx)(ek.A,{className:t}):"graph"===e.kind?(0,s.jsx)(eN.A,{className:t}):(0,s.jsx)(j.A,{className:t})},eP=({documentId:e,onResolve:t})=>{let a=(0,G.t$)(e,{freshOnMount:!0}),n=d.useRef(void 0),r="idle"===a.fetchStatus&&a.isFetchedAfterMount&&a.isSuccess&&!a.isError&&!a.isFetching;return(d.useEffect(()=>{let s;if(!r||a.data?.document.documentId!==e)return;let i=(s=a.data,{kind:"canvas",id:`canvas:${s.document.documentId}`,label:s.document.title,documentId:s.document.documentId,revisionNumber:s.revision.revisionNumber,contentSha256:s.revision.contentSha256}),l=`${i.documentId}:${i.revisionNumber}:${i.contentSha256}`;n.current!==l&&(n.current=l,t(i))},[r,a.data,e,t]),a.isError)?(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2 py-3 text-xs text-red-300/70",children:[(0,s.jsx)("span",{children:"Canvas could not be attached."}),(0,s.jsx)("button",{type:"button",onClick:()=>void a.refetch(),className:"rounded-md px-2 py-1 text-white/60 hover:bg-white/[0.05]",children:"Retry"})]}):null};var eE=a(11107),eT=a(23951),eW=a(91174),ez=a(42116),eD=a(75588),eM=a(54030),eL=a(13672),eF=a(97505),eU=a(87894),eq=a(4918),eO=a(83165),eB=a(87647),eV=a(3734),eK=a(49951),eH=a(63012),eJ=a(9494),eY=a(54983),eZ=a(43153),eG=a(53065),eQ=a(6141);let eX=(e,t,a)=>{let s=t.trim();if(!s)return null;if("instrument_card"===e)return(0,O.Xv)(s);if("portfolio_card"===e)return(0,O.if)(s);if("change_card"===e){let e=a?.trim();return e?(0,O.Pc)(e,s):null}return null};var e0=a(1277);let e1="USD",e2=({scope:e,signals:t,actions:a})=>
2{let[r,i]=d.useState(!1),[o,c]=d.useState(e),m=d.useId(),u=d.useId(),p=(0,h.Zp)(),x=(0,eZ.oS)(),g=(0,eZ.x$)(),b=d.useMemo(()=>(0,eY.I$)(x.data??[],g.data??[]),[x.data,g.data]),f=d.useMemo(()=>(0,eY.S7)(o,b),[b,o]),v=b.some(e=>e.key===(0,eY.X_)(o)),w="unified"===o.kind,y=x.isSuccess&&g.isSuccess&&null===f.blockedReason,j=(0,eZ.y$)("1d",e1,w&&y),k=(0,eZ.LI)(w?[]:f.accountIds,"1d",e1,!w&&y),N=d.useMemo(()=>w?j.data?[j.data]:[]:k.flatMap(e=>e.data?[e.data]:[]),[k,w,j.data]),S=d.useMemo(()=>(0,eY.OH)(N,e1),[N]),I=d.useMemo(()=>S?(0,eY.tr)(S.positions,e1).slice(0,6):[],[S]),C=(0,eG.EM)(r?Array.from(new Set(I.map(e=>e.instrumentId))):[]),A=d.useMemo(()=>new Map((C.data??[]).map(e=>[e.id,e])),[C.data]),_="unified"===o.kind?null:o.connectionId,$=x.data?.find(e=>e.id===_),R=(0,eY.rr)([x,g]),E=(0,eY.rr)(w?[j]:k),T=R.pending||y&&E.pending,W=R.paused||y&&E.paused,z=x.error??g.error??(w?j.error:k.find(e=>e.error)?.error)??null,D=a.find(e=>"open"===e.kind),M=(e=>{if("unified"===e.kind){let e=(0,eQ.RO)({duration:"1d",currency:"USD"}).toString();return`/home${e?`?${e}`:""}`}return(0,O.nl)(e.connectionId,{brokerConnectionAccountId:"account"===e.kind?e.accountId:void 0,duration:"1d"})})(o);return(0,s.jsxs)("section",{"data-entity-card":"broker_holdings_card","data-broker-holdings-scope":o.kind,"aria-labelledby":u,className:"overflow-hidden rounded-md border border-white/[0.09] bg-white/[0.018]",children:[(0,s.jsxs)("button",{type:"button","data-broker-holdings-toggle":!0,"aria-expanded":r,"aria-controls":m,onClick:()=>i(e=>!e),className:"flex min-h-[72px] w-full items-center gap-3 px-3 py-2.5 text-left hover:bg-white/[0.025] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-emerald-400",children:[$?.brokerage.square_logo_url??$?.brokerage.logo_url?(0,s.jsx)("img",{src:$.brokerage.square_logo_url??$.brokerage.logo_url,alt:"",className:"size-9 shrink-0 rounded-md bg-white object-contain p-1"}):(0,s.jsx)("span",{className:"flex size-9 shrink-0 items-center justify-center rounded-md bg-white/[0.055]",children:"unified"===o.kind?(0,s.jsx)(eK.A,{className:"size-[18px] text-emerald-300/75"}):(0,s.jsx)(eH.A,{className:"size-[18px] text-emerald-300/75"})}),(0,s.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,s.jsx)("span",{id:u,className:"block truncate text-sm font-semibold text-white/85",children:f.label}),(0,s.jsx)("span",{className:"mt-0.5 block truncate text-xs text-white/38",children:f.detail})]}),(0,s.jsxs)("span",{className:"shrink-0 text-right tabular-nums",children:[(0,s.jsx)("span",{className:"block text-sm font-semibold text-white/80",children:z?(0,n.t)({message:"Unavailable",desc:"Workbench: broker holdings card — total unavailable"}):T?(0,n.t)({message:"Loading…",desc:"Workbench: broker holdings card — total loading"}):S?e8(S.total):"—"}),(0,s.jsx)("span",{className:`mt-0.5 block text-xs ${S&&S.delta>0?"text-emerald-400":S&&S.delta<0?"text-red-400":"text-white/38"}`,children:z||T||!S?(0,n.t)({message:"Broker holdings",desc:"Workbench: broker holdings card — subtitle fallback"}):(0,n.t)({message:"{count, plural, one {# holding} other {# holdings}} \xb7 1D {change}",desc:"Workbench: broker holdings card — positions count and daily change",values:{count:S.positions.length,change:e6(S.percentageChange)}})})]}),(0,s.jsx)(eJ.A,{"aria-hidden":"true",className:`size-[18px] shrink-0 text-white/35 transition-transform ${r?"rotate-180":""}`})]}),r&&(0,s.jsx)("div",{id:m,"data-broker-holdings-details":!0,className:"border-t border-white/[0.07]",children:(0,s.jsxs)("div",{className:"p-3",children:[b.length>1&&(0,s.jsxs)("label",{className:"mb-3 flex items-center gap-2 text-xs text-white/45",children:[(0,s.jsx)(n.Pft,{id:"naLC6C",message:"View",context:"Workbench: broker holdings card \\u2014 scope selector label"}),(0,s.jsxs)("select",{"aria-label":(0,n.t)({message:"Broker holdings scope",desc:"Workbench: broker holdings card — scope selector a11y label"}),value:(0,eY.X_)(o),onChange:e=>{let t=b.find(t=>t.key===e.target.value);t&&c(t.scope)},className:"h-8 min-w-0 flex-1 rounded-md border border-white/[0.09] bg-[#171818] px-2 text-xs text-white/65 outline-none focus:border-emerald-400/60",children:[!v&&(0,s.jsx)("option",{value:(0,eY.X_)(o),disabled:!0,children:e3(f)}),b.map(e=>(0,s.jsx)("option",{value:e.key,children:e3(e)},e.key))]})]}),z?(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-red-300/70",children:[(0,s.jsx)("span",{children:(0,s.jsx)(n.Pft,{id:"DPDAyD",message:"Broker holdings are unavailable.",context:"Workbench: broker holdings card \\u2014 error state"})}),(0,s.jsxs)("button",{type:"button",onClick:()=>
2{if(x.refetch(),g.refetch(),w)j.refetch();else for(let e of k)e.refetch()},className:"flex items-center gap-1.5 text-white/55 hover:text-white/80",children:[(0,s.jsx)(l.A,{className:"size-4"})," ",(0,s.jsx)(n.Pft,{id:"Zp6TdB",message:"Retry",context:"Workbench: broker holdings card \\u2014 retry button"})]})]}):T?(0,s.jsxs)("div",{role:"status",className:"flex items-center gap-2 text-xs text-white/40",children:[(0,s.jsx)(P.A,{className:"size-4 animate-spin"}),W?(0,n.t)({message:"Waiting for network…",desc:"Workbench: broker holdings card — waiting for network"}):(0,n.t)({message:"Loading live holdings…",desc:"Workbench: broker holdings card — loading holdings"})]}):f.blockedReason?(0,s.jsx)("p",{role:"status",className:"text-xs leading-5 text-amber-200/65",children:f.blockedReason}):S?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("dl",{className:"grid grid-cols-3 border-y border-white/[0.065] py-2.5",children:[(0,s.jsx)(e5,{label:(0,n.t)({message:"Total",desc:"Workbench: broker holdings card — total metric"}),value:e8(S.total)}),(0,s.jsx)(e5,{label:(0,n.t)({message:"Positions",desc:"Workbench: broker holdings card — positions metric"}),value:e8(S.totalPositions)}),(0,s.jsx)(e5,{label:(0,n.t)({message:"Cash",desc:"Workbench: broker holdings card — cash metric"}),value:e8(S.totalCash)})]}),0===I.length?(0,s.jsx)("p",{className:"pt-3 text-xs text-white/40",children:(0,s.jsx)(n.Pft,{id:"M_CVRB",message:"This scope has no current positions.",context:"Workbench: broker holdings card \\u2014 empty positions"})}):(0,s.jsxs)("ul",{"aria-label":(0,n.t)({message:"Broker holdings",desc:"Workbench: broker holdings card — positions list a11y label"}),className:"pt-1.5",children:[I.map(e=>{let t=A.get(e.instrumentId),a=t?.symbol??e.instrumentId.slice(0,8);return(0,s.jsxs)("li",{"data-broker-holdings-row":!0,className:"flex min-h-10 items-center gap-2 border-b border-white/[0.055] px-0.5 last:border-b-0",children:[t?.logo_url?(0,s.jsx)("img",{src:t.logo_url,alt:"",className:"size-6 shrink-0 rounded-full object-cover"}):(0,s.jsx)("span",{className:"flex size-6 shrink-0 items-center justify-center rounded-full bg-white/[0.055] text-xs font-semibold text-white/45",children:a.slice(0,1).toUpperCase()}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs font-medium text-white/70",children:a}),(0,s.jsx)("span",{className:"shrink-0 text-xs tabular-nums text-white/55",children:e8(e.marketValue,e.currencyAlphaCode)}),(0,s.jsx)("span",{className:`w-[66px] shrink-0 text-right text-xs tabular-nums ${e.percentageChange>0?"text-emerald-400":e.percentageChange<0?"text-red-400":"text-white/38"}`,children:e6(e.percentageChange)})]},`${e.instrumentId}:${e.currencyAlphaCode}`)}),S.positions.length>I.length&&(0,s.jsx)("li",{className:"pt-2 text-xs text-white/32",children:(0,s.jsx)(n.Pft,{id:"t-exeC",message:"+ {count} more",context:"Workbench: broker holdings card \\u2014 hidden positions count",values:{count:S.positions.length-I.length}})})]})]}):(0,s.jsx)("p",{className:"text-xs leading-5 text-white/40",children:(0,s.jsx)(n.Pft,{id:"79xcDC",message:"No {currency} total is available for this scope.",context:"Workbench: broker holdings card \\u2014 no total for scope",values:{currency:e1}})}),t.length>0&&(0,s.jsx)("ul",{className:"mt-2 flex flex-wrap gap-1.5 text-xs text-white/50",children:t.map((e,t)=>(0,s.jsx)("li",{className:"rounded bg-white/[0.045] px-2 py-1",children:e},`${t}-${e}`))})]})}),D&&(0,s.jsxs)("button",{type:"button",onClick:()=>p(M),className:"flex h-9 w-full items-center border-t border-white/[0.07] px-3 text-left text-xs text-white/50 hover:bg-white/[0.04] hover:text-white/80",children:[(0,s.jsx)("span",{className:"flex-1",children:D.label??e4(o)}),(0,s.jsx)(eM.A,{className:"size-[18px]"})]})]})},e5=({label:e,value:t})=>(0,s.jsxs)("div",{className:"min-w-0 border-r border-white/[0.06] px-2 first:pl-0 last:border-r-0 last:pr-0",children:[(0,s.jsx)("dt",{className:"truncate text-xs text-white/32",children:e}),(0,s.jsx)("dd",{className:"mt-0.5 truncate text-xs font-medium tabular-nums text-white/68",children:t})]}),e3=e=>{let{scope:t,label:a,detail:s}=e;return"unified"===t.kind?a:"connection"===t.kind?(0,n.t)({message:"Broker \xb7 {label}
2",desc:"Workbench: broker holdings card — connection scope option",values:{label:a}}):(0,n.t)({message:"Account \xb7 {label} \xb7 {detail}",desc:"Workbench: broker holdings card — account scope option",values:{label:a,detail:s}})},e4=e=>"unified"===e.kind?(0,n.t)({message:"Open connected accounts",desc:"Workbench: broker holdings card — open unified accounts action"}):"connection"===e.kind?(0,n.t)({message:"Open broker",desc:"Workbench: broker holdings card — open broker action"}):(0,n.t)({message:"Open trading account",desc:"Workbench: broker holdings card — open trading account action"}),e8=(e,t=e1)=>{try{return new Intl.NumberFormat((0,e0.f)(),{style:"currency",currency:t,maximumFractionDigits:2}).format(e)}catch{return`${new Intl.NumberFormat((0,e0.f)(),{maximumFractionDigits:2}).format(e)} ${t}`}},e6=e=>{let t=new Intl.NumberFormat((0,e0.f)(),{style:"percent",minimumFractionDigits:1,maximumFractionDigits:1}).format(Math.abs(e));return`${e>0?"+":e<0?"−":""}${t}`};var e7=a(52157),e9=a(88384),te=a(77024);let tt=({params:e})=>{let t=y.entityCardParamsSchema.safeParse(e);if(!t.success)return(0,s.jsx)("div",{"data-entity-card":"unsupported",className:"rounded-md border border-white/[0.08] px-3 py-2.5 text-xs text-white/45",children:(0,s.jsx)(n.Pft,{id:"PeH79C",message:"This entity card is not supported by this version of Porfoli.",context:"Workbench: entity card \\u2014 unsupported card notice"})});if("broker_holdings_card"===t.data.component)return(0,s.jsx)(e2,{scope:t.data.scope,signals:t.data.signals,actions:t.data.actions});if("portfolio_verification_request_card"===t.data.component)return(0,s.jsx)(ti,{...t.data});if("investment_card"===t.data.component||"investment_request_card"===t.data.component||"dangling_stocks_card"===t.data.component||"portfolio_draft_card"===t.data.component||"event_card"===t.data.component||"portfolios_list_card"===t.data.component||"watchlist_card"===t.data.component)return(0,s.jsx)(ta,{});let a=eX(t.data.component,t.data.entityId,t.data.parentId);return a?"instrument_card"===t.data.component?(0,s.jsx)(ts,{...t.data,route:a}):"portfolio_card"===t.data.component?(0,s.jsx)(tn,{...t.data,route:a}):(0,s.jsx)(tr,{...t.data,route:a}):(0,s.jsx)(ta,{})},ta=()=>(0,s.jsx)("div",{"data-entity-card":"unsupported",className:"rounded-md border border-white/[0.08] px-3 py-2.5 text-xs text-white/45",children:(0,s.jsx)(n.Pft,{id:"PeH79C",message:"This entity card is not supported by this version of Porfoli.",context:"Workbench: entity card \\u2014 unsupported card notice"})});function ts({entityId:e,signals:t,actions:a,route:r}){let i=(0,eG.Ft)(e),l=(0,eG.Z6)(e),o=(0,eG.Ff)(e),[c,m]=(0,te.i)(),u=d.useMemo(()=>(0,eV.ei)({records:o.data??[],duration:"1d",quote:l.data}),[l.data,o.data]),h=i.data?.currency_alpha_code??"USD",{activePoint:p,isScrubbing:x,sliderProps:g}=(0,eB.JH)({points:u.points,resetKey:o.dataUpdatedAt,ariaLabel:(0,n.t)({message:"One-day price history for {symbol}",values:{symbol:i.data?.symbol??"instrument"},desc:"Workbench: instrument card — chart slider aria label"}),valueText:e=>{let t=(0,eV.hi)(e,u.stats?.baseline??e.close);return(0,n.t)({message:"{date}, {price}, change {change}",values:{date:ty(e.timestamp),price:tf(e.close,h),change:tw(t.changeRate)},desc:"Workbench: instrument card — chart slider value text"})}}),b=p&&u.stats?(0,eV.hi)(p,u.stats.baseline):u.stats,f=u.stats&&u.stats.change>0?"#34d399":u.stats&&u.stats.change<0?"#f87171":"rgba(255,255,255,0.38)",v=p??u.points.at(-1)??null,w=u.points[0]?.timestamp,y=u.points.at(-1)?.timestamp,j=p&&void 0!==w&&void 0!==y?(p.timestamp-w)/Math.max(1,y-w):null;return(0,s.jsxs)(td,{component:"instrument_card",children:[(0,s.jsxs)("div",{className:"p-3",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[i.isLoading?(0,s.jsx)(tm,{loading:!0,Icon:eT.A}):i.data?.logo_url?(0,s.jsx)("img",{src:i.data.logo_url,alt:"",className:"size-9 shrink-0 rounded-md object-cover"}):(0,s.jsx)(tm,{Icon:eT.A}),(0,s.jsx)("div",{className:"min-w-0 flex-1",children:i.data?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,s.jsx)("h3",{className:"font-semibold text-white/85",children:i.data.symbol}),(0,s.jsx)("span",{className:"truncate text-xs text-white/40",children:i.data.name})]}),(0,s.jsxs)("p",{className:"mt-0.5 text-xs uppercase text-white/30",children:[i.data.type," \xb7 ",i.data.mic]})]}):i.isError?(0,s.jsx)(tx,{children:(0,s.jsx)(n.Pft,{id:"sA5bmD",message:"Instrument data is unavailable.",context:"Workbench: instrument card \\u2014 data unavailable"})}):(0,s.jsx)(tp,{children:(0,s.jsx)(n.Pft,{id:"I1JDLD",message:"Loading instrument\\u2026",context:"Workbench: instrument card \\u2014 loading"})})}),(0,s.jsxs)("div",{className:"w-44 shrink-0 text-right tabular-nums",children:[(0,s.jsx)("div",{className:"text-sm font-semibold text-white/85",children:b?tf(b.close,h):"—"}),b&&(0,s.jsxs)("div",{className:`mt-0.5 text-xs font-medium ${b.change>0?"text-emerald-400":b.change<0?"text-red-400":"text-white/40"}`,children:[tv(b.change,h)," (",tw(b.changeRate),")"]}),(0,s.jsx)("div",{"data-instrument-card-scrub-date":!0,className:"mt-0.5 min-h-4 truncate text-xs text-white/35",children:v?ty(v.timestamp):""})]})]}),(0,s.jsxs)("div",{ref:c,...g,"aria-busy":o.isFetching,"data-scrubbing":x?"true":"false",className:"relative mt-3 h-32 w-full touch-none select-none outline-none focus-visible:ring-1 focus-visible:ring-emerald-300/50",children:[u.points.length>1&&m>0?(0,s.jsxs)(eL.b,{width:m,height:128,data:u.points,children:[(0,s.jsx)(eF.W,{dataKey:"timestamp",type:"number",scale:"time",domain:["dataMin","dataMax"],hide:!0}),(0,s.jsx)(eU.h,{hide:!0,domain:u.domain}),(0,s.jsx)(eq.N,{type:"linear",dataKey:"close",stroke:f,strokeWidth:2,dot:!1,activeDot:{r:3,fill:f,strokeWidth:0},isAnimationActive:!1})]}):(0,s.jsx)("div",{className:"h-full rounded bg-white/[0.018]"}),null!==j&&u.points.length>1&&(0,s.jsx)("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-y-0 border-l border-dashed border-white/25",style:{left:`${100*j}%`}})]}),(0,s.jsx)(eO.r,{caption:(0,n.t)({message:"{symbol}
2 one-day price history",values:{symbol:i.data?.symbol??"Instrument"},desc:"Workbench: instrument card — accessible data table caption"}),points:u.points,rowKey:e=>e.timestamp,columns:[{id:"timestamp",header:"Date and time",value:e=>ty(e.timestamp)},{id:"price",header:"Price",value:e=>tf(e.close,h)}]}),(0,s.jsx)(tu,{signals:t})]}),(0,s.jsx)(th,{actions:a,route:r,defaultLabel:(0,n.t)({message:"Open instrument",desc:"Workbench: instrument card — open action label"})})]})}function tn({entityId:e,signals:t,actions:a,variant:r,duration:i,route:l}){let o="returns"===r,c=i??"all",m=o?c:"1d",u=(0,e9.mc)(e),h=u.data,p=h?.verification_state==="verified"||h?.positions_verified===!0,x=(0,eZ.y$)(m,"USD",p),g=d.useMemo(()=>p?x.data?.verifiedPortfolios.find(t=>t.portfolio.slug===e)??x.data?.investments.find(t=>t.portfolio.slug===e)??null:null,[e,x.data,p]),b=null!=g,f=o&&u.isSuccess&&(!p||x.isFetched&&!b),v=(0,e9.uv)(e,"1d",!o&&!b&&(!p||x.isFetched)),w=(0,e9.uv)(e,c,f),y=d.useMemo(()=>{if(b&&g){let e=g.statistics.marketValue??g.positions.reduce((e,t)=>e+t.marketValue,0);return[...g.positions].sort((e,t)=>t.marketValue-e.marketValue).map(t=>({id:`broker-${t.instrument_id}`,instrumentId:t.instrument_id,marketValue:t.marketValue,weight:"sleeveWeight"in t&&"number"==typeof t.sleeveWeight?t.sleeveWeight:e>0?t.marketValue/e:0,delta:o?t.delta:null,percentageChange:o?t.percentageChange:null}))}let e=o?w.data:v.data;return[...e?.positions??[]].sort((e,t)=>o?t.quantity*t.close-e.quantity*e.close:t.weight-e.weight).map(e=>({id:String(e.id),instrumentId:e.instrument_id,marketValue:e.quantity*e.close,weight:e.weight,delta:o?e.modifiedDietzNormalizedDelta:null,percentageChange:o?e.modifiedDietzPercentageChange:null}))},[v.data,w.data,o,b,g]),j=d.useMemo(()=>y.slice(0,6),[y]),k=d.useMemo(()=>j.map(e=>e.instrumentId),[j]),N=(0,eG.EM)(k),S=d.useMemo(()=>new Map((N.data??[]).map(e=>[e.id,e])),[N.data]),I=Math.max(0,y.length-j.length),C=g?.statistics.marketValue??h?.assets_under_management,A=o&&b?g.statistics.totalDelta:f?w.data?.timeWeightedNormalizedDelta??null:null,_=o&&b?g.statistics.totalPercentageChange:f?w.data?.timeWeightedPercentageChange??null:null,$=!!p&&!x.isFetched||(o?!b&&w.isLoading:!b&&v.isLoading),R=o?w.error:v.error;return(0,s.jsxs)(td,{component:"portfolio_card",children:[(0,s.jsxs)("div",{"data-portfolio-card-variant":o?"returns":"holdings",className:"p-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[u.isLoading?(0,s.jsx)(tm,{loading:!0,Icon:ey.A,rounded:!0}):h?.image_url?(0,s.jsx)("img",{src:h.image_url,alt:"",className:"size-9 shrink-0 rounded-full object-cover"}):(0,s.jsx)(tm,{Icon:ey.A,rounded:!0}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("h3",{className:"truncate font-semibold text-white/85",children:h?.name??e}),p&&(0,s.jsx)(eW.A,{"aria-label":(0,n.t)({message:"Verified portfolio",desc:"Workbench: portfolio card — verified badge a11y label"}),className:"size-[18px] shrink-0 text-emerald-300/75"})]}),(0,s.jsx)("p",{className:"truncate text-xs text-white/35",children:e})]}),(0,s.jsxs)("div",{className:"shrink-0 text-right tabular-nums",children:[(0,s.jsx)("div",{className:"text-sm font-semibold text-white/75",children:null!=C?tb(C,"USD"):"—"}),o&&null!==A&&null!==_&&(0,s.jsxs)("div",{className:`mt-0.5 text-xs font-medium ${tN(A)}`,children:[tv(A,"USD")," (",tw(_),") \xb7"," ",tk(c)]})]})]}),u.isError?(0,s.jsx)(tx,{className:"mt-3",children:(0,s.jsx)(n.Pft,{id:"2rHV8H",message:"Portfolio data is unavailable.",context:"Workbench: portfolio card \\u2014 data unavailable"})}):R?(0,s.jsx)(tx,{className:"mt-3",children:o?(0,s.jsx)(n.Pft,{id:"EC888C",message:"Portfolio returns are unavailable.",context:"Workbench: portfolio card \\u2014 returns unavailable"}):(0,s.jsx)(n.Pft,{id:"OlWSmC",message:"Portfolio holdings are unavailable.",context:"Workbench: portfolio card \\u2014 holdings unavailable"})}):$?(0,s.jsx)("div",{"aria-label":o?(0,n.t)({message:"Loading portfolio returns",desc:"Workbench: portfolio card — loading returns a11y label"}):(0,n.t)({message:"Loading portfolio holdings",desc:"Workbench: portfolio card — loading holdings a11y label"}),className:"mt-3 grid gap-1.5",children:[0,1,2].map(e=>(0,s.jsx)("div",{className:"h-8 animate-pulse rounded bg-white/[0.035]"},e))}):j.length>0?(0,s.jsxs)("div",{className:"mt-3 overflow-hidden rounded-md border border-white/[0.07]",children:[j.map(e=>{let t=S.get(e.instrumentId),a=t?.currency_alpha_code??"USD";return(0,s.jsxs)("div",{className:"flex min-h-10 items-center gap-2 border-b border-white/[0.055] px-2.5 last:border-b-0",children:[t?.logo_url?(0,s.jsx)("img",{src:t.logo_url,alt:"",className:"size-6 shrink-0 rounded-full object-cover"}):(0,s.jsx)("span",{className:"flex size-6 shrink-0 items-center justify-center rounded-full bg-white/[0.055] text-xs font-semibold text-white/45",children:(t?.symbol??e.
2instrumentId).slice(0,1).toUpperCase()}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"truncate text-xs font-medium text-white/70",children:t?.symbol??e.instrumentId}),(0,s.jsx)("div",{className:"truncate text-xs text-white/30",children:t?.name??e.instrumentId})]}),(0,s.jsxs)("div",{className:"w-[118px] shrink-0 text-right text-xs tabular-nums",children:[(0,s.jsx)("div",{className:"text-white/58",children:tb(e.marketValue,a)}),(0,s.jsx)("div",{className:o&&null!==e.delta?tN(e.delta):"text-white/42",children:o&&null!==e.delta&&null!==e.percentageChange?`${tv(e.delta,a)} (${tw(e.percentageChange)})`:tg(e.weight)})]})]},e.id)}),I>0&&(0,s.jsx)("div",{className:"px-2.5 py-1.5 text-xs text-white/32",children:(0,s.jsx)(n.Pft,{id:"w6JqrJ",message:"+{count} more",context:"Workbench: entity card \\u2014 hidden rows count",values:{count:I}})})]}):(0,s.jsx)("p",{className:"mt-3 text-xs text-white/35",children:(0,s.jsx)(n.Pft,{id:"x1DqHD",message:"This portfolio has no current holdings.",context:"Workbench: portfolio card \\u2014 empty holdings"})}),(0,s.jsx)(tu,{signals:t})]}),(0,s.jsx)(th,{actions:a,route:l,defaultLabel:(0,n.t)({message:"Open portfolio",desc:"Workbench: portfolio card — open action label"})})]})}function tr({entityId:e,parentId:t,signals:a,actions:r,route:i}){let l=Number(e),o=Number.isInteger(l)&&l>0&&t.length>0,c=(0,e9.mc)(t,o),m=(0,e7.Bp)(t,l,o),u=(0,e7.qW)(t,l,o),h=d.useMemo(()=>(u.data??[]).slice(0,4),[u.data]),p=(0,eG.EM)(h.map(e=>e.instrument_id)),x=d.useMemo(()=>new Map((p.data??[]).map(e=>[e.id,e])),[p.data]),g=m.data?.commit,b=c.data,f=Math.max(0,(u.data?.length??0)-h.length);return o?(0,s.jsxs)(td,{component:"change_card",children:[(0,s.jsxs)("div",{className:"p-3",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[b?.image_url?(0,s.jsx)("img",{src:b.image_url,alt:"",className:"size-9 shrink-0 rounded-full object-cover"}):(0,s.jsx)(tm,{Icon:ez.A,rounded:!0}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("h3",{className:"truncate font-semibold text-white/85",children:["#",l,g?.title?` \xb7 ${g.title}`:""]}),(0,s.jsx)("p",{className:"truncate text-xs text-white/35",children:b?.name??t})]}),(0,s.jsx)(tc,{children:tS(g?.commit_state)})]}),m.isError?(0,s.jsx)(tx,{className:"mt-3",children:(0,s.jsx)(n.Pft,{id:"mozOaB",message:"Change data is unavailable.",context:"Workbench: change card \\u2014 data unavailable"})}):m.isLoading?(0,s.jsx)(tp,{children:(0,s.jsx)(n.Pft,{id:"CCZagZ",message:"Loading change\\u2026",context:"Workbench: change card \\u2014 loading"})}):(0,s.jsxs)(s.Fragment,{children:[g?.description&&(0,s.jsx)("p",{className:"mt-3 line-clamp-3 text-xs leading-5 text-white/52",children:tC(g.description)}),(0,s.jsx)(tl,{transactions:h,instruments:x,loading:u.isLoading,error:u.isError,hiddenCount:f})]}),(0,s.jsx)(tu,{signals:a})]}),(0,s.jsx)(th,{actions:r,route:i,defaultLabel:(0,n.t)({message:"Open change",desc:"Workbench: change card — open action label"})})]}):(0,s.jsx)(ta,{})}function ti({entityId:e,signals:t,actions:a}){let r=Number(e),i=Number.isInteger(r)&&r>0,l=(0,e9.yk)(r,i),o=l.data,c=d.useMemo(()=>(o?.transactions??[]).slice(0,4),[o?.transactions]),m=(0,eG.EM)(c.map(e=>e.instrument_id)),u=d.useMemo(()=>new Map((m.data??[]).map(e=>[e.id,e])),[m.data]),h=Math.max(0,(o?.transactions.length??0)-c.length),p=o?.linked_open_commit?eX("change_card",String(o.linked_open_commit.id),o.portfolio.slug):o?.portfolio.slug?eX("portfolio_card",o.portfolio.slug):null;return i?(0,s.jsxs)(td,{component:"portfolio_verification_request_card",children:[(0,s.jsxs)("div",{className:"p-3",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[o?.portfolio.image_url?(0,s.jsx)("img",{src:o.portfolio.image_url,alt:"",className:"size-9 shrink-0 rounded-full object-cover"}):(0,s.jsx)(tm,{Icon:eD.A,rounded:!0}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("h3",{className:"truncate font-semibold text-white/85",children:o?.linked_open_commit?`#${o.linked_open_commit.id} \xb7 ${o.linked_open_commit.title}`:o?.portfolio.name??(0,n.t)({message:"Verification #{id}",desc:"Workbench: verification card — title fallback",values:{id:r}})}),(0,s.jsx)("p",{className:"truncate text-xs text-white/35",children:o?.linked_open_commit?o.portfolio.name:(0,n.t)({message:"Portfolio verification",desc:"Workbench: verification card — subtitle"})})]}),(0,s.jsx)(tc,{children:tI(o?.verification_status)})]}),l.isError?(0,s.jsx)(tx,{className:"mt-3",children:(0,s.jsx)(n.Pft,{id:"A2VelB",message:"Verification data is unavailable.",context:"Workbench: verification card \\u2014 data unavailable"})}):l.isLoading?(0,s.jsx)(tp,{children:(0,s.jsx)(n.Pft,{id:"cm-s3B",message:"Loading verification\\u2026",context:"Workbench: verification card \\u2014 loading"})}):c.length>0?(0,s.jsxs)("div",{className:"mt-3 overflow-hidden rounded-md border border-white/[0.07]",children:[c.map(e=>{let t=u.get(e.instrument_id),a=(0,eE.isPortfolioVerificationSellTransaction)(e),r=(0,eE.getPortfolioVerificationTransactionTradeQuantity)(e);return(0,s.jsxs)("div",{className:"flex min-h-11 items-center gap-2 border-b border-white/[0.055] px-2.5 last:border-b-0",children:[(0,s.jsx)(to,{instrument:t,fallback:e.instrument_id}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"truncate text-xs font-medium text-white/70",children:[(0,s.jsx)("span",{className:a?"text-red-300/80":"text-emerald-300/80",children:a?(0,s.jsx)(n.Pft,{id:"9iWGsD",message:"Sell",context:"Workbench: verification card \\u2014 sell transaction"}):(0,s.jsx)(n.Pft,{id:"9DgS8g",message:"Buy",context:"Workbench: verification card \\u2014 buy transaction"})})," ",tj(r)," ",t?.symbol??"—"]}),(0,s.jsx)("div",{className:"truncate text-xs text-white/30",children:(0,s.jsx)(n.Pft,{id:"NmG37G",message:"{held} held \\u2192 {target} target",context:"Workbench: verification card \\u2014 held vs target quantity",values:{held:tj(e.broker_quantity_at_request),target:tj(e.required_quantity)}})})]}),(0,s.jsx)("span",{className:"text-xs capitalize text-white/38",children:e.verification_transaction_status.replace("_"," ")})]},e.id)}),h>0&&(0,s.jsx)("div",{className:"px-2.5 py-1.5 text-xs text-white/32",children:(0,s.jsx)(n.Pft,{id:"w6JqrJ",message:"+{count} more",context:"Workbench: entity card \\u2014 hidden rows count",values:{count:h}})})]}):null,(0,s.jsx)(tu,{signals:t})]}),(0,s.jsx)(th,{actions:a,route:p,defaultLabel:o?.linked_open_commit?(0,n.t)({message:"Open change",desc:"Workbench: change card — open action label"}):(0,n.t)({message:"Open portfolio",desc:"Workbench: portfolio card — open action label"})})]}):(0,s.jsx)(ta,{})}let tl=({transactions:e,instruments:t,loading:a,error:r,hiddenCount:i})=>r?(0,s.jsx)(tx,{className:"mt-3",children:(0,s.jsx)(n.Pft,{id:"aG7JnB",message:"Transactions are unavailable.",context:"Workbench: change card \\u2014 transactions unavailable"})}):a?(0,s.jsx)(tp,{children:(0,s.jsx)(n.Pft,{id:"uFaVDC",message:"Loading transactions\\u2026",context:"Workbench: change card \\u2014 loading transactions"})}):0===e.length?null:(0,s.jsxs)("div",{className:"mt-3 overflow-hidden rounded-md border border-white/[0.07]",children:[e.map(e=>{let a=t.get(e.instrument_id),r="sell"===e.transaction_type;return(0,s.jsxs)("div",{className:"flex min-h-11 items-center gap-2 border-b border-white/[0.055] px-2.5 last:border-b-0",children:[(0,s.jsx)(to,{instrument:a,fallback:e.instrument_id}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"truncate text-xs font-medium text-white/70",children:[(0,s.jsx)("span",{className:r?"text-red-300/80":"text-emerald-300/80",children:r?(0,s.jsx)(n.Pft,{id:"AGUVlB",message:"Sell",context:"Workbench: change card \\u2014 sell transaction"}):(0,s.jsx)(n.Pft,{id:"g1hP-C",message:"Buy",context:"Workbench: change card \\u2014 buy transaction"})})," ",tj(Math.abs(e.quantity))," ",a?.symbol??"—"]}),(0,s.jsx)("div",{className:"truncate text-xs text-white/30",children:a?.name??e.instrument_id})]}),(0,s.jsxs)("div",{className:"shrink-0 text-right text-xs tabular-nums",children:[(0,s.jsx)("div",{className:"text-white/58",children:tf(Math.abs(e.quantity)*e.price,e.currency_alpha_code)}),(0,s.jsx)("div",{className:"text-white/30",children:tf(e.price,e.currency_alpha_code)})]})]},e.id)}),i>0&&(0,s.jsx)("div",{className:"px-2.5 py-1.5 text-xs text-white/32",children:(0,s.jsx)(n.Pft,{id:"w6JqrJ",message:"+{count} more",context:"Workbench: entity card \\u2014 hidden rows count",values:{count:i}})})]}),to=({instrument:e,fallback:t})=>e?.logo_url?(0,s.jsx)("img",{src:e.logo_url,alt:"",className:"size-6 shrink-0 rounded-full object-cover"}):(0,s.jsx)("span",{className:"flex size-6 shrink-0 items-center justify-center rounded-full bg-white/[0.055] text-xs font-semibold text-white/45",children:(e?.symbol??t).slice(0,1).toUpperCase()}),tc=({children:e})=>(0,s.jsx)("span",{className:"max-w-[38%] shrink-0 rounded bg-white/[0.055] px-2 py-1 text-xs font-medium capitalize text-white/45",children:e}),td=({component:e,children:t})=>(0,s.jsx)("section",{"data-entity-card":e,className:"overflow-hidden rounded-md border border-white/[0.09] bg-white/[0.018]",children:t}),tm=({Icon:e,loading:t,rounded:a})=>(0,s.jsx)("span",{className:`flex size-9 shrink-0 items-center justify-center bg-white/[0.05] ${a?"rounded-full":"rounded-md"}`,children:t?(0,s.jsx)(P.A,{className:"size-[18px] animate-spin text-white/35"}):(0,s.jsx)(e,{className:"size-[18px] text-emerald-300/75"})}),tu=({signals:e})=>e.length>0?(0,s.jsx)("ul",{className:"mt-2 flex flex-wrap gap-1.5 text-xs text-white/50",children:e.map((e,t)=>(0,s.jsx)("li",{className:"rounded bg-white/[0.045] px-2 py-1",children:e},`${t}-${e}`))}):null,th=({actions:e,route:t,defaultLabel:a})=>{let n=(0,h.Zp)(),r=e.find(e=>"open"===e.kind);return r&&t?(0,s.jsxs)("button",{type:"button",onClick:()=>n(t),className:"flex h-9 w-full items-center border-t border-white/[0.07] px-3 text-left text-xs text-white/50 hover:bg-white/[0.04] hover:text-white/80",children:[(0,s.jsx)("span",{className:"flex-1",children:r.label??a}),(0,s.jsx)(eM.A,{className:"size-[18px]"})]}):null},tp=({children:e})=>(0,s.jsx)("div",{className:"text-xs text-white/35",children:e}),tx=({children:e,className:t=""})=>(0,s.jsx)("div",{className:`text-xs text-white/50 ${t}`,children:e}),tg=e=>new Intl.NumberFormat((0,e0.f)(),{style:"percent",minimumFractionDigits:1,maximumFractionDigits:1}).format(e),tb=(e,t)=>{try{return new Intl.NumberFormat((0,e0.f)(),{style:"currency",currency:t,maximumFractionDigits:0}).format(e)}catch{return`${new Intl.NumberFormat((0,e0.f)(),{maximumFractionDigits:0}).format(e)} ${t}`}},tf=(e,t)=>{try{return new Intl.NumberFormat((0,e0.f)(),{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}catch{return`${e.toFixed(2)} ${t}`}},tv=(e,t)=>
2{let a=tf(Math.abs(e),t);return`${e>0?"+":e<0?"-":""}${a}`},tw=e=>{let t=new Intl.NumberFormat((0,e0.f)(),{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2}).format(Math.abs(e));return`${e>0?"+":e<0?"-":""}${t}`},ty=e=>new Intl.DateTimeFormat((0,e0.f)(),{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(e),tj=e=>new Intl.NumberFormat((0,e0.f)(),{maximumFractionDigits:4}).format(e),tk=e=>{switch(e){case"1d":return"1D";case"1week":return"1W";case"1m":return"1M";case"3m":return"3M";case"6m":return"6M";case"1y":return"1Y";case"5y":return"5Y";case"all":return"ALL"}},tN=e=>e>0?"text-emerald-400":e<0?"text-red-400":"text-white/40",tS=e=>"merged"===e?(0,n.t)({message:"Merged",desc:"Workbench: change card — merged state"}):"closed"===e?(0,n.t)({message:"Closed",desc:"Workbench: change card — closed state"}):(0,n.t)({message:"Open",desc:"Workbench: change card — open state"}),tI=e=>"pending"===e?(0,n.t)({message:"In progress",desc:"Workbench: verification card — in progress status"}):"partially_verified"===e?(0,n.t)({message:"Partially verified",desc:"Workbench: verification card — partially verified status"}):"awaiting_merge"===e?(0,n.t)({message:"Awaiting merge",desc:"Workbench: verification card — awaiting merge status"}):"verified"===e?(0,n.t)({message:"Verified",desc:"Workbench: verification card — verified status"}):"cancelled"===e?(0,n.t)({message:"Cancelled",desc:"Workbench: verification card — cancelled status"}):(0,n.t)({message:"Loading",desc:"Workbench: verification card — loading status"}),tC=e=>e.replace(/!\[[^\]]*]\([^)]*\)/g,"").replace(/\[([^\]]+)]\([^)]*\)/g,"$1").replace(/[`*_~>#]/g,"").replace(/\s+/g," ").trim();var tA=a(31652);let t_=({models:e,value:t,onSelect:a})=>{let[r,i]=d.useState(!1),[l,c]=d.useState(""),m=d.useRef(null),u=d.useRef(null),h=d.useRef(null),p=e.find(e=>e.id===t)??e.find(e=>e.recommended)??e[0],x=d.useCallback((e=!1)=>{i(!1),c(""),e&&window.requestAnimationFrame(()=>h.current?.focus({preventScroll:!0}))},[]);return d.useEffect(()=>{if(!r)return;let e=window.requestAnimationFrame(()=>u.current?.focus()),t=e=>{m.current?.contains(e.target)||x()},a=e=>{"Escape"===e.key&&(e.preventDefault(),x(!0))};return document.addEventListener("pointerdown",t),document.addEventListener("keydown",a),()=>{window.cancelAnimationFrame(e),document.removeEventListener("pointerdown",t),document.removeEventListener("keydown",a)}},[x,r]),(0,s.jsxs)("div",{ref:m,className:"relative min-w-0",onBlur:e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||x()},children:[(0,s.jsxs)("button",{ref:h,type:"button","aria-label":(0,n.t)({message:"Choose agent model",desc:"Workbench: model picker — trigger a11y label"}),"aria-haspopup":"listbox","aria-expanded":r,"aria-controls":r?"agent-model-options":void 0,title:p?.label??(0,n.t)({message:"Choose agent model",desc:"Workbench: model picker — trigger tooltip fallback"}),onClick:()=>i(e=>!e),className:"flex h-8 max-w-[220px] items-center gap-1 rounded-md px-1.5 text-xs text-white/50 outline-none hover:bg-white/[0.05] hover:text-white/75 focus-visible:ring-1 focus-visible:ring-emerald-400",children:[(0,s.jsx)("span",{className:"truncate",children:p?.label??(0,n.t)({message:"Select model",desc:"Workbench: model picker — no model selected label"})}),(0,s.jsx)(eJ.A,{className:(0,ep.cn)("size-4 shrink-0 transition-transform",r&&"rotate-180")})]}),r&&(0,s.jsxs)(tA.uB,{loop:!0,label:(0,n.t)({message:"Agent model",desc:"Workbench: model picker — command list a11y label"}),defaultValue:p?.id,filter:(e,t,a=[])=>{let s=t.trim().toLowerCase();return s?+!![e,...a].join(" ").toLowerCase().includes(s):1}
2,className:"viewport-menu-surface absolute bottom-[calc(100%+6px)] start-0 z-50 flex w-[min(340px,calc(100vw-32px))] flex-col overflow-hidden rounded-md border border-white/[0.14] bg-[#191a1a] text-white/75 shadow-2xl","data-model-picker":!0,"data-viewport-overlay":"menu",children:[(0,s.jsxs)("div",{className:"flex h-10 items-center gap-2 border-b border-white/[0.08] px-2.5",children:[(0,s.jsx)(ev.A,{className:"size-[18px] shrink-0 text-white/40"}),(0,s.jsx)(tA.uB.Input,{ref:u,autoFocus:!0,value:l,onValueChange:c,placeholder:(0,n.t)({message:"Search models",desc:"Workbench: model picker — search placeholder"}),className:"min-w-0 flex-1 bg-transparent text-sm text-white/80 outline-none placeholder:text-white/30"}),l&&(0,s.jsx)("button",{type:"button","aria-label":(0,n.t)({message:"Clear model search",desc:"Workbench: model picker — clear search a11y label"}),onClick:()=>{c(""),u.current?.focus()},className:"workbench-icon-button",children:(0,s.jsx)(o.A,{})})]}),(0,s.jsxs)(tA.uB.List,{id:"agent-model-options",className:"min-h-0 max-h-[min(300px,calc(100vh-180px))] max-h-[min(300px,calc(100dvh-180px))] flex-1 overflow-y-auto p-1.5",children:[(0,s.jsx)(tA.uB.Empty,{className:"px-3 py-8 text-center text-sm text-white/40",children:0===e.length?(0,n.t)({message:"No models available",desc:"Workbench: model picker — no models available"}):(0,n.t)({message:"No matching models",desc:"Workbench: model picker — no matching models"})}),e.map(e=>(0,s.jsxs)(tA.uB.Item,{value:e.id,keywords:[e.label,e.provider,e.description],disabled:!e.enabled,onSelect:()=>{e.enabled&&(x(!0),e.id!==t&&a(e.id))},className:"command-item h-auto min-h-9 w-full data-[disabled=true]:opacity-40",title:e.description,children:[(0,s.jsx)("span",{className:"flex size-[18px] shrink-0 items-center justify-center",children:e.id===p?.id&&(0,s.jsx)(C.A,{className:"size-4 text-emerald-300"})}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label}),e.recommended&&(0,s.jsx)("span",{className:"shrink-0 text-xs text-emerald-300/65",children:(0,s.jsx)(n.Pft,{id:"Ct0rGD",message:"Recommended",context:"Workbench: model picker \\u2014 recommended badge"})}),!e.enabled&&(0,s.jsx)("span",{className:"shrink-0 text-xs text-white/30",children:(0,s.jsx)(n.Pft,{id:"EiBJmB",message:"Unavailable",context:"Workbench: model picker \\u2014 unavailable badge"})})]},e.id))]})]},p?.id??"no-model")]})};var t$=a(12221);let tR=e=>null===e||"boolean"==typeof e||"string"==typeof e?e:"number"==typeof e?Number.isFinite(e)?e:String(e):Array.isArray(e)?e.map(tR):"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,tR(t)])):String(e),tP=e=>{if("text"===e.type||"reasoning"===e.type)return e;if("tool"===e.type){let t;return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.name,args:"object"!=typeof(t=tR(e.args))||null===t||Array.isArray(t)?{value:t}:t,argsText:e.argsText,result:"running"===e.state?void 0:e.result,isError:"error"===e.state}}return"canvas-artifact"===e.type?{type:"data-canvas-artifact",data:tR(e.event)}:"entity-card"===e.type?{type:"data-entity-card",data:tR(e.params)}:"compacting"===e.type?{type:"data-compacting",data:{summarizedCount:e.summarizedCount}}:"compaction"===e.type?{type:"data-compaction",data:{summarizedCount:e.summarizedCount,...void 0===e.durationMs?{}:{durationMs:e.durationMs},...void 0===e.summary?{}:{summary:e.summary},...void 0===e.requested?{}:{requested:e.requested}}}:{type:"data-compaction-failed",data:{}}},tE=new WeakMap,tT=e=>{let t=tE.get(e);if(t)return t;let a={id:e.id,role:e.role,content:e.parts.map(tP),..."assistant"===e.role?{status:e.streaming?{type:"running"}:{type:"complete",reason:"stop"}}:{},metadata:{isOptimistic:e.optimistic,custom:{seq:e.seq,turnId:e.turnId,messageId:e.id,toolLabels:(e=>{let t={};for(let a of e.parts)"tool"===a.type&&void 0!==a.displayLabel&&(t[a.toolCallId]=a.displayLabel);return t})(e)}}};return tE.set(e,a),a};var tW=a(15518);let tz=e=>"text"===e.type||"reasoning"===e.type;var tD=a(17142);let tM=[],tL=()=>(0,n.t)({message:"Summarizing earlier conversation…",desc:"Workbench: agent — in-progress label while the server summarizes earlier conversation"}),tF=d.createContext({expanded:!1,hiddenCount:0,toggle:()=>void 0}),tU=()=>{let[e,t]=d.useState(!1),a=d.useRef(null),[r,i]=(0,u.ok)(),c=r.get("portfolio"),m=r.get("portfolioName"),{runtime:h,state:p,models:f,currentThreadI
2d:v,retryCanvasArtifacts:w,selectModel:y,setContext:I}=(0,z.s)(),C=h?.context??tM,A=d.useMemo(()=>c?{id:`portfolio:${c}`,label:m??c,kind:"portfolio",slug:c}:null,[m,c]);d.useEffect(()=>{!A||C.some(e=>e.id===A.id)||I([...C,A].slice(-5))},[C,A,I]);let _=d.useCallback(()=>{if(!c)return;let e=new URLSearchParams(r);e.delete("portfolio"),e.delete("portfolioName"),i(e,{replace:!0})},[c,r,i]),$=(0,tW.Gv)(p.messages),R=null===$?null:p.messages[$]?.id??null,[P,E]=d.useState(null),T=null!==R&&R===P,W=$??0,D=((e=0)=>{let{runtime:t,state:a,threads:s,suggestions:n,currentThreadId:r,selectThread:i,sendPrompt:l,interrupt:o}=(0,z.s)(),c=t?.readiness??"idle",m=d.useMemo(()=>e>0?a.messages.slice(e):a.messages,[e,a.messages]);return(0,t$.U)({messages:m,isRunning:null!==a.activeTurnId,isLoading:["hydrating","resuming","attaching"].includes(c),isSendDisabled:null!==t&&"ready"!==c,suggestions:"available"===n.status?n.data.map(e=>({prompt:e.prompt})):void 0,convertMessage:tT,onNew:async e=>{let t=e.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n").trim();if(!t)return;let a="available"===n.status?n.data.find(e=>e.prompt===t)?.skill:void 0;try{await l(t,a)}catch{}},onCancel:async()=>{await o()},adapters:{threadList:{threadId:r??void 0,threads:s.map(e=>({status:"regular",id:e.threadId,remoteId:e.threadId,title:e.title??"Untitled analysis"})),onSwitchToThread:i}},unstable_capabilities:{copy:!0}})})(T?0:W),M=d.useMemo(()=>({expanded:T,hiddenCount:W,toggle:()=>E(T?null:R)}),[R,T,W]),L=p.messages.some(e=>e.parts.some(e=>"compacting"===e.type));return(0,s.jsx)(x.o,{runtime:D,children:(0,s.jsxs)(g.hQ.Root,{className:"flex h-full min-h-0 flex-col bg-[#121313]",children:[(0,s.jsx)(tq,{}),(0,s.jsxs)(g.hQ.Viewport,{className:"flex min-h-0 flex-1 flex-col overflow-y-auto",children:[(0,s.jsx)(g.hQ.Empty,{children:(0,s.jsx)(tO,{})}),(0,s.jsx)(tF.Provider,{value:M,children:(0,s.jsx)(g.hQ.Messages,{components:{Message:tB}})}),(0,s.jsxs)(g.hQ.ViewportFooter,{className:"sticky bottom-0 mt-auto bg-[#121313]/95 pb-3 pt-8 backdrop-blur",children:[(0,s.jsx)(F,{}),"error"===p.canvasArtifactRecovery.status&&(0,s.jsxs)("div",{className:"mx-auto mb-2 flex w-[min(760px,calc(100%-24px))] items-center gap-3 border-l-2 border-amber-400 pl-3 text-xs text-amber-100/70",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"font-medium text-amber-100/80",children:"Canvas artifacts unavailable"}),(0,s.jsx)("div",{className:"mt-0.5 truncate text-amber-100/45",children:p.canvasArtifactRecovery.error})]}),p.canvasArtifactRecovery.retryable&&(0,s.jsxs)("button",{type:"button","aria-label":"Retry Canvas artifacts",onClick:()=>void w(),className:"inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md border border-amber-200/15 px-2.5 text-xs text-amber-100/70 hover:bg-amber-100/[0.06]",children:[(0,s.jsx)(l.A,{className:"size-[18px]"}),"Retry Canvas artifacts"]})]}),p.error&&(0,s.jsx)("div",{className:"mx-auto mb-2 w-[min(760px,calc(100%-24px))] border-l-2 border-red-400 pl-3 text-xs text-red-300/80",children:p.error}),p.budgetNotice&&(0,s.jsx)("div",{className:"mx-auto mb-2 w-[min(760px,calc(100%-24px))] border-l-2 border-amber-400 pl-3 text-xs text-amber-200/70",children:p.budgetNotice}),p.reloading&&(0,s.jsx)("div",{className:"mx-auto mb-2 w-[min(760px,calc(100%-24px))] border-l-2 border-amber-400 pl-3 text-xs text-amber-200/70",children:(0,s.jsx)(n.Pft,{id:"wLbqCD",message:"Reloading the conversation\\u2026",context:"Workbench: agent \\u2014 notice while the conversation is re-read after a missing snapshot"})}),p.contextUsage&&(0,s.jsx)(tG,{usage:p.contextUsage,summarizing:L}),(0,s.jsxs)(b.z.Root,{className:"relative mx-auto w-[min(760px,calc(100%-24px))] rounded-md border border-white/[0.13] bg-[#1a1b1b] shadow-xl focus-within:border-white/25",children:[(0,s.jsx)(e$,{open:e,onClose:()=>t(!1),returnFocus:()=>a.current?.focus({preventScroll:!0}),onSelect:e=>{I([...C.filter(t=>t.id!==e.id&&("canvas"!==t.kind||"canvas"!==e.kind||t.documentId!==e.documentId)),e].slice(-5))}}),C.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5 border-b border-white/[0.06] px-3 py-2",children:C.map(e=>(0,s.jsxs)("span",{className:"flex h-8 items-center gap-1 rounded-md bg-emerald-400/10 px-2 text-xs text-emerald-300/85",children:["@",e.label,(0,s.jsx)("button",{type:"button","aria-label":(0,n.t)({message:"Remove {label} context",desc:"Workbench: composer — remove context attachment a11y label",values:{label:e.label}}),onClick:()=>{I(C.filter(t=>t.id!==e.id)),"portfolio"===e.kind&&e.slug===c&&_()},className:"ml-0.5 flex size-8 items-center justify-center rounded hover:bg-emerald-300/10 text-emerald-300/45 hover:text-emerald-200",children:(0,s.jsx)(o.A,{className:"size-[18px]"})})]},e.id))}),(0,s.jsx)(b.z.Input,{autoFocus:!0,rows:1,placeholder:(0,n.t)({message:"Ask about a portfolio, company, market, or routine",desc:"Workbench: composer — input placeholder"}),className:"max-h-40 min-h-[54px] w-full resize-none bg-transparent px-3.5 py-3 text-sm leading-5 text-white/85 outline-none placeholder:text-white/30"}),(0,s.jsxs)("div",{className:"flex h-9 items-center gap-1 border-t border-white/[0.06] px-2",children:[(0,s.jsx)("button",{ref:a,type:"button",className:"workbench-icon-button","aria-label":(0,n.t)({message:"Attach entity context",desc:"Workbench: composer — attach context button a11y label"}),title:(0,n.t)({message:"Attach entity context",desc:"Workbench: composer — attach context button tooltip"}),onClick:()=>t(e=>!e),children:(0,s.jsx)(j.A,{className:"size-[18px]"})}),(0,s.jsx)(k.A,{className:"size-[18px] text-emerald-400/75"}),(0,s.jsx)(t_,{models:f,value:p.modelId??f.find(e=>e.recommended)?.id??"",onSelect:e=>void y(e)}),(0,s.jsx)("div",{className:"flex-1"}
2),p.activeTurnId&&(0,s.jsxs)(b.z.Cancel,{className:"workbench-icon-button bg-white/[0.08] text-white/75",children:[(0,s.jsx)(N.A,{className:"size-[18px] fill-current"}),(0,s.jsx)("span",{className:"sr-only",children:(0,s.jsx)(n.Pft,{id:"Ir5RM5",message:"Stop response",context:"Workbench: composer \\u2014 stop response button"})})]}),(0,s.jsxs)(b.z.Send,{className:"flex size-8 items-center justify-center rounded-md bg-white text-black transition-colors hover:bg-white/90 disabled:bg-white/10 disabled:text-white/25",children:[(0,s.jsx)(S.A,{className:"size-[18px]",strokeWidth:2.2}),(0,s.jsx)("span",{className:"sr-only",children:(0,s.jsx)(n.Pft,{id:"89hYPD",message:"Send message",context:"Workbench: composer \\u2014 send message button"})})]})]})]})]})]})]})},v??"unselected")},tq=()=>{let e=(0,f.I)(),t=(0,v.k)(e=>e.composer.text),{runtime:a,setDraft:s}=(0,z.s)(),n=a?.threadId??null,r=a?.draft??"",i=d.useRef(null),l=d.useRef(t);return d.useEffect(()=>{if(n!==i.current){i.current=n,l.current=r,e.getState().text!==r&&e.setText(r);return}if(t!==l.current){l.current=t,t!==r&&s(t);return}r!==t&&(l.current=r,e.setText(r))},[e,t,r,s,n]),null},tO=()=>{let{currentThreadId:e,refreshSuggestions:t,sendPrompt:a,suggestions:r}=(0,z.s)(),i="available"===r.status?r.data:[];return d.useEffect(()=>{t()},[e,t]),(0,s.jsxs)("div",{className:"mx-auto flex min-h-[calc(100vh-230px)] w-[min(680px,calc(100%-32px))] flex-col justify-center py-12",children:[(0,s.jsx)(k.A,{className:"mb-5 size-7 text-emerald-400",strokeWidth:1.6}),(0,s.jsx)("h1",{className:"text-lg font-medium text-white/90",children:(0,s.jsx)(n.Pft,{id:"XM6ezD",message:"What are you working on?",context:"Workbench: empty thread \\u2014 heading"})}),(0,s.jsx)("p",{className:"mt-1.5 max-w-lg text-sm leading-5 text-white/40",children:(0,s.jsx)(n.Pft,{id:"eR9uCC",message:"Research investments, work with connected portfolios, or create a monitored routine.",context:"Workbench: empty thread \\u2014 subheading"})}),(0,s.jsx)("div",{className:"mt-6 divide-y divide-white/[0.06] border-y border-white/[0.06]",children:i.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>void a(e.prompt,e.skill).catch(()=>void 0),className:"group flex h-10 w-full items-center text-left text-xs text-white/45 hover:text-white/80",children:[(0,s.jsx)("span",{className:"flex-1",children:e.label}),(0,s.jsx)(I.A,{className:"size-[18px] opacity-0 transition-opacity group-hover:opacity-100"})]},e.prompt))})]})},tB=()=>{var e;let t,a=(0,v.k)(e=>e.message),[r,i]=d.useState(!1),[l,o]=d.useState(!1),c=(0,et.F)(e=>e.createFromMessage),m=(0,ea.M)(e=>e.setRightSidebarOpen),u=(0,ea.M)(e=>e.setWorkspacePanelTab),{currentThreadId:h,rateMessage:p,runtime:x,state:g}=(0,z.s)(),b=a.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n"),f=a.metadata.custom?.seq,y="number"==typeof f?x?.feedback.ratings[f]??null:null,j=(t=(e=a.content)[e.length-1],t?.type!=="tool-call"||void 0!==t.result||t.isError?0===e.length?{phase:"thinking",phaseKey:"thinking"}:{phase:"working",phaseKey:`working:${e.length}`}:null),k=a.metadata.custom?.turnId,N=a.metadata.custom?.messageId,S="string"==typeof k?k:void 0,I=((e,t,a)=>{if(!a)return!0;let s=e.findLast(e=>"assistant"===e.role&&e.turnId===a);return void 0===s||s.id===t})(g.messages,"string"==typeof N?N:"",S),P=((e,t,a)=>{if(!t)return a;let s=e.filter(e=>"assistant"===e.role&&e.turnId===t).flatMap(e=>e.parts.filter(e=>"text"===e.type).map(e=>e.text??"")).filter(e=>e.length>0).join("\n\n");return s.length>0?s:a})(g.messages,S,b),E=t0(a.metadata.custom?.toolLabels),W=(e=>{let t=e.filter(e=>!(tz(e)&&0===("text"in e&&"string"==typeof e.text?e.text:"").trim().length)),a=t.filter(e=>"tool-call"===e.type);if(0===a.length)return t.map(e=>({kind:"part",part:e}));let s=t.filter(tz),n=1===a.length&&0===s.length?{kind:"part",part:a[0]}:{kind:"tools",tools:a,narration:s}
2,r=[],i=!1;for(let e of t){if("tool-call"===e.type||tz(e)){if(i)continue;i=!0,r.push(n);continue}r.push({kind:"part",part:e})}return r})(a.content),D=a.status?.type==="running"&&null!==j,M=a.status?.type!=="running"&&b.trim().length>0&&I,L=async()=>{try{await navigator.clipboard.writeText(P),o(!1),i(!0),window.setTimeout(()=>i(!1),1400)}catch{i(!1),o(!0),window.setTimeout(()=>o(!1),1800)}};return"user"===a.role?(0,s.jsx)(w.QF.Root,{className:"mx-auto flex w-[min(760px,calc(100%-24px))] justify-end py-3",children:(0,s.jsx)("div",{className:"max-w-[82%] whitespace-pre-wrap rounded-md bg-white/[0.075] px-3 py-2 text-sm leading-6 text-white/80",children:b})}):0!==W.length||D||M?(0,s.jsxs)(w.QF.Root,{className:(0,ep.cn)("group mx-auto w-[min(760px,calc(100%-24px))]",I?"py-4":"py-1"),children:[(0,s.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-white/70",children:[W.map((e,t)=>{if("tools"===e.kind){let a=e.tools.filter(e=>"toolName"in e).map(e=>t1(e,E)),n=e.narration.flatMap(e=>"text"===e.type||"reasoning"===e.type?[e.text]:[]);return(0,s.jsx)(tX,{tools:a,narration:n},`tools:${t}`)}let a=e.part;if("text"===a.type)return(0,s.jsx)(T.z,{children:a.text},t);if("reasoning"===a.type)return(0,s.jsxs)("details",{className:"text-xs text-white/35",children:[(0,s.jsx)("summary",{className:"cursor-pointer select-none",children:(0,s.jsx)(n.Pft,{id:"IrpfN9",message:"Reasoning",context:"Workbench: message \\u2014 reasoning disclosure label"})}),(0,s.jsx)("p",{className:"mt-2 border-l border-white/10 pl-3 leading-5",children:a.text})]},t);
2if("tool-call"===a.type)return(0,s.jsx)(t2,{part:t1(a,E)},a.toolCallId);if("data"===a.type&&"entity-card"===a.name)return(0,s.jsx)(tt,{params:a.data},t);if("data"===a.type&&"canvas-artifact"===a.name)return(0,s.jsx)(en,{data:a.data},t);if("data"===a.type&&"compacting"===a.name)return(0,s.jsx)(tK,{},t);if("data"===a.type&&"compaction"===a.name){let e=tH(a.data),r=tJ(a.data);return r?(0,s.jsx)(tZ,{summary:r,requested:tY(a.data),seconds:e},t):(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase text-white/30",children:[(0,s.jsx)("span",{className:"h-px flex-1 bg-white/[0.07]"}),(0,s.jsxs)("span",{children:[(0,s.jsx)(n.Pft,{id:"dwXtsB",message:"Earlier context summarized",context:"Workbench: message \\u2014 compaction divider label"}),null!==e&&(0,s.jsx)("span",{className:"tabular-nums text-white/20",children:` \xb7 ${e}s`})]}),(0,s.jsx)("span",{className:"h-px flex-1 bg-white/[0.07]"})]},t)}return"data"===a.type&&"compaction-failed"===a.name?(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase text-white/30",children:[(0,s.jsx)("span",{className:"h-px flex-1 bg-white/[0.07]"}),(0,s.jsx)(n.Pft,{id:"0P2U_C",message:"Earlier context could not be summarized",context:"Workbench: message \\u2014 compaction failure divider label"}),(0,s.jsx)("span",{className:"h-px flex-1 bg-white/[0.07]"})]},t):null}),D&&j&&(0,s.jsx)(tV,{label:"thinking"===j.phase?(0,n.t)({message:"Thinking",desc:"Workbench: turn activity — model is composing its first response"}):(0,n.t)({message:"Working",desc:"Workbench: turn activity — model is composing the next step of a turn"})},j.phaseKey)]}),M&&(0,s.jsxs)("div",{className:"mt-2 flex h-8 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 group-focus-within:opacity-100",children:[(0,s.jsx)(t5,{label:r?(0,n.t)({message:"Copied",desc:"Workbench: message — copy action (copied state)"}):l?(0,n.t)({message:"Copy failed",desc:"Workbench: message — copy action (failed state)"}):(0,n.t)({message:"Copy response",desc:"Workbench: message — copy action (idle state)"}),Icon:r?C.A:A.A,onClick:()=>void L()}),!(0,ee.tS)()&&(0,s.jsx)(t5,{label:(0,n.t)({message:"Add to local Canvas",desc:"Workbench: message — add to canvas action"}),Icon:_.A,onClick:()=>{c({title:P.split("\n").find(Boolean)?.slice(0,72)??(0,n.t)({message:"Agent analysis",desc:"Workbench: message — default canvas title"}),content:P,sourceThreadId:h??void 0}),u("canvas"),m(!0)}}),"number"==typeof f&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t5,{label:(0,n.t)({message:"Helpful",desc:"Workbench: message — helpful rating action"}),Icon:$.A,active:"up"===y,onClick:()=>{p(f,"up"===y?null:"up")}}),(0,s.jsx)(t5,{label:(0,n.t)({message:"Not helpful",desc:"Workbench: message — not helpful rating action"}),Icon:R.A,active:"down"===y,onClick:()=>{p(f,"down"===y?null:"down")}})]})]})]}):null},tV=({label:e})=>{let[t,a]=d.useState(0);return d.useEffect(()=>{let e=Date.now(),t=window.setInterval(()=>a(Date.now()-e),1e3);return()=>window.clearInterval(t)},[]),(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs text-white/40","data-turn-activity":e,children:[(0,s.jsx)(P.A,{className:"size-[18px] animate-spin text-emerald-400/70"}),(0,s.jsx)("span",{children:e}),t>=2e3&&(0,s.jsxs)("span",{className:"tabular-nums text-white/25",children:[Math.round(t/1e3),"s"]})]})},tK=()=>{let[e,t]=d.useState(0);return d.useEffect(()=>{let e=Date.now(),a=window.setInterval(()=>t(Date.now()-e),1e3);return()=>window.clearInterval(a)},[]),(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs uppercase text-white/30",children:[(0,s.jsx)("span",{className:"h-px flex-1 bg-white/[0.07]"}),(0,s.jsx)(P.A,{className:"size-[18px] animate-spin text-white/25"}),(0,s.jsxs)("span",{children:[tL(),e>=2e3&&(0,s.jsx)("span",{className:"tabular-nums text-white/20",children:` \xb7 ${Math.round(e/1e3)}s`})]}),(0,s.jsx)("span",{className:"h-px flex-1 bg-white/[0.07]"})]})},tH=e=>{let t="object"==typeof e&&null!==e?e.durationMs:void 0;if("number"!=typeof t||!Number.isFinite(t))return null;let a=Math.ceil(t/1e3);return a>0?a:null},tJ=e=>{let t="object"==typeof e&&null!==e?e.summary:void 0;return"string"==typeof t&&t.trim().length>0?t:null},tY=e=>"object"==typeof e&&null!==e&&!0===e.requested,tZ=({summary:e,requested:t,seconds:a})=>{let{expanded:r,hiddenCount:i,toggle:l}
2=d.useContext(tF),[o,c]=d.useState(!1);return(0,s.jsxs)("div",{className:"rounded-md border border-white/[0.07] bg-white/[0.02] px-3 py-2.5",children:[(0,s.jsxs)("button",{type:"button","aria-expanded":o,onClick:()=>c(e=>!e),className:"flex w-full items-center gap-2 text-xs uppercase text-white/30 hover:text-white/50",children:[(0,s.jsx)(I.A,{className:(0,ep.cn)("size-[18px] shrink-0 transition-transform",o&&"rotate-90")}),(0,s.jsxs)("span",{className:"text-left",children:[(0,s.jsx)(n.Pft,{id:"9ikcZB",message:"Earlier conversation summarized",context:"Workbench: message \\u2014 compaction summary card header"}),null!==a&&(0,s.jsx)("span",{className:"tabular-nums text-white/20",children:` \xb7 ${a}s`})]}),(0,s.jsx)("span",{className:"h-px flex-1 bg-white/[0.07]"})]}),t&&(0,s.jsx)("p",{className:"mt-1 pl-[26px] text-[11px] text-white/25",children:(0,s.jsx)(n.Pft,{id:"APXJZX",message:"Compacted at your request",context:"Workbench: message \\u2014 compaction card sub-line when the user asked for it"})}),(0,s.jsx)("p",{className:(0,ep.cn)("mt-2 whitespace-pre-wrap pl-[26px] text-xs leading-5 text-white/45",!o&&"line-clamp-6"),children:e}),i>0&&(0,s.jsx)("button",{type:"button",onClick:l,className:"mt-2 pl-[26px] text-[11px] text-white/35 hover:text-white/60",children:r?(0,n.t)({message:"Hide earlier messages",desc:"Workbench: message — collapse the messages a compaction summary covers"}):(0,n.t)({message:"{count, plural, one {Show # earlier message} other {Show # earlier messages}}",desc:"Workbench: message — expand the messages a compaction summary covers",values:{count:i}})})]})},tG=({usage:e,summarizing:t})=>{let a=Math.min(100,Math.round(e.usedTokens/e.triggerTokens*100));return a<60?null:(0,s.jsxs)("div",{className:"mx-auto mb-2 w-[min(760px,calc(100%-24px))]",children:[(0,s.jsx)("div",{className:"h-px w-full bg-white/[0.07]",children:(0,s.jsx)("div",{className:"h-full bg-white/25",style:{width:`${t?100:a}%`}})}),(0,s.jsx)("div",{className:"mt-1 text-[11px] text-white/25",children:t?tL():(0,n.t)({message:"{percent}% of context used",desc:"Workbench: agent — context pressure meter label",values:{percent:a}})})]})},tQ=({lines:e})=>(0,s.jsx)("div",{className:"space-y-1 border-l border-white/10 pl-3 text-xs leading-5 text-white/35",children:e.map((e,t)=>(0,s.jsx)("p",{children:e},t))}),tX=({tools:e,narration:t})=>{let a=(0,tD.$)(e=>e.expandToolDetails)||e.some(e=>!0===e.isError||void 0===e.result),r=e.filter(e=>e.isError).length,i=e.some(e=>void 0===e.result&&!e.isError),l=(0,y.labelsForRun)(e.map(e=>({name:e.toolName,displayLabel:e.displayLabel})),"user");return 0===l.length?null:a?(0,s.jsxs)("div",{className:"space-y-1.5",children:[t.length>0&&(0,s.jsx)(tQ,{lines:t}),e.map((e,t)=>(0,s.jsx)(t2,{part:e},e.toolCallId??t))]}):(0,s.jsxs)("details",{className:"rounded-md border border-white/[0.07] bg-white/[0.02] text-xs",children:[(0,s.jsxs)("summary",{className:"flex cursor-pointer list-none items-center gap-2 px-2.5 py-2 text-white/45","data-tool-run":e.length,children:[i?(0,s.jsx)(P.A,{className:"size-[18px] animate-spin text-cyan-400"}):(0,s.jsx)(E.A,{className:(0,ep.cn)("size-[18px]",r>0?"text-red-400":"text-emerald-400")}),(0,s.jsx)("span",{className:"flex-1 truncate",children:l.join(", ")}),e.length>1&&(0,s.jsx)("span",{className:"text-xs text-white/30",children:(0,n.t)({message:"{count} steps",desc:"Workbench: tool run — collapsed step count",values:{count:e.length}})})]}),(0,s.jsxs)("div",{className:"space-y-1.5 border-t border-white/[0.06] p-1.5",children:[t.length>0&&(0,s.jsx)(tQ,{lines:t}),e.map((e,t)=>(0,s.jsx)(t2,{part:e},e.toolCallId??t))]})]})},t0=e=>"object"==typeof e&&null!==e?e:{},t1=(e,t)=>{let a=void 0===e.toolCallId?void 0:t[e.toolCallId];return{toolCallId:e.toolCallId,toolName:e.toolName,displayLabel:"string"==typeof a?a:void 0,args:e.args,result:e.result,isError:e.isError}},t2=({part:e})=>{let t=(0,tD.$)(e=>e.expandToolDetails),a=(0,ee.tS)()&&!e.isError?((e,t)=>{if("canvas_propose_patch"!==e)return null;let a=null===t||"object"!=typeof t||Array.isArray(t)?null:t;if(!a)return null;let s=Object.keys(a).sort();if(3!==s.length||"baseRevisionNumber"!==s[0]||"documentId"!==s[1]||"proposalId"!==s[2])return null;let n=a.proposalId,r=a.documentId,i=a.baseRevisionNumber;return ec(n)&&ec(r)&&"number"==typeof i&&Number.isSafeInteger(i)&&!(i<1)&&!(i>1e3)?Object.freeze({proposalId:n,documentId:r,baseRevisionNumber:i}):null})(e.toolName,e.result):null;if(a)return(0,s.jsx)(ex,{locator:a});let r=L(e.result??e.args);return(0,s.jsxs)("details",{className:"rounded-md border border-white/[0.07] bg-white/[0.02] text-xs",open:t||void 0,children:[(0,s.jsxs)("summary",{className:"flex cursor-pointer list-none items-center gap-2 px-2.5 py-2 text-white/45",children:[void 0!==e.result||e.isError?(0,s.jsx)(E.A,{className:(0,ep.cn)("size-[18px]",e.isError?"text-red-400":"text-emerald-400")}):(0,s.jsx)(P.A,{className:"size-[18px] animate-spin text-cyan-400"}),(0,s.jsx)("span",{className:"flex-1 truncate",children:e.displayLabel??(0,y.labelForTool)(e.toolName,"user")}),(0,s.jsx)("span",{className:"text-xs text-white/30",children:e.isError?(0,n.t)({message:"Failed",desc:"Workbench: tool call — failed status"}):void 0===e.result?(0,n.t)({message:"Running",desc:"Workbench: tool call — running status"}):(0,n.t)({message:"Complete",desc:"Workbench: tool call — complete status"})})]}),(0,s.jsx)("div",{className:"border-t border-white/[0.06] px-2.5 pt-2",children:(0,s.jsx)("code",{className:"text-xs text-white/25",children:e.toolName})}),(0,s.jsx)("pre",{className:"max-h-56 overflow-auto p-2.5 text-xs leading-5 text-white/45",children:r.text})]})},t5=({label:e,Icon:t,onClick:a,active:n})=>(0,s.jsx)("button",{type:"button","aria-label":e,title:e,onClick:a,className:(0,ep.cn)("workbench-icon-button",n&&"bg-white/[0.08] text-emerald-400"),children:(0,s.jsx)(t,{className:"size-[18px]"})});
2var t3=a(23255),t4=a(66561),t8=a(9036),t6=a(3569),t7=a(6643),t9=a(76168),ae=a(44505),at=a(85371),aa=a(41108),as=a(52925),an=a(58247);let ar=e=>{switch(e){case"price":return(0,n.t)({message:"Latest price",desc:"Sheet binding picker: price metric label"});case"quote":return(0,n.t)({message:"Quote field",desc:"Sheet binding picker: quote metric label"});case"change_pct":return(0,n.t)({message:"Price change",desc:"Sheet binding picker: price change metric label"});case"series":return(0,n.t)({message:"Price series",desc:"Sheet binding picker: price series metric label"});case"holdings":return(0,n.t)({message:"Portfolio holdings",desc:"Sheet binding picker: holdings metric label"})}},ai=({artifact:e,onApply:t})=>{let a=(0,an.s)(e=>e.sheetApi),r=(0,an.s)(e=>e.acceptServerRevision),i=(0,an.s)(e=>e.syncFromServer),[l,c]=d.useState("price"),[m,u]=d.useState("close"),[h,p]=d.useState("1y"),[x,g]=d.useState(""),[b,f]=d.useState(""),[v,w]=d.useState(null),[y,j]=d.useState(""),[k,N]=d.useState(!1),[S,I]=d.useState(null);d.useEffect(()=>{let e=window.setTimeout(()=>f(x.trim()),250);return()=>window.clearTimeout(e)},[x]);let C=(0,eS.J)(b,"instrument"),A=d.useMemo(()=>(C.data??[]).filter(e=>"instrument"===e.type).map(e=>({id:e.instrumentId,symbol:e.instrumentSymbol,name:e.instrumentName})),[C.data]),_=(0,aa.N)("all"),$=d.useMemo(()=>(_.data??[]).map(e=>e.portfolioWithRankingMetadata).filter(e=>!e.is_archived),[_.data]),R=$.some(e=>e.slug===y)?y:$[0]?.slug??"",E=at.SHEET_BINDING_REGISTRY[l].source,T="instrument"===E?v?.id??"":R,W=e.wireArtifact,z=async()=>{var t;let s,o,c,d,u=(0,as.Pd)(e.id)?.activeSelection(),p=u?(s=(0,at.parseRange)(u.range))?{sheetId:u.sheetId,start:(0,at.formatCellAddress)(s.start.row,s.start.col)}:null:null;if(!p)return void I((0,n.t)({message:"Select a destination cell in the grid first.",desc:"Sheet binding picker: missing grid selection error"}));let x=(o=(t={fn:l,sourceId:T,quoteField:m,seriesDuration:h}).sourceId.trim(),c=(()=>{switch(t.fn){case"price":case"change_pct":return{fn:t.fn,params:{instrumentId:o},target:p};case"quote":return{fn:t.fn,params:{instrumentId:o,field:t.quoteField},target:p};case"series":return{fn:t.fn,params:{instrumentId:o,duration:t.seriesDuration},target:p};case"holdings":return{fn:t.fn,params:{slug:o},target:p}}})(),(d=at.sheetBindingSelectionSchema.safeParse(c)).success?{ok:!0,selection:d.data}:{ok:!1,error:d.error.issues[0]?.message??"The selected binding is not supported."});if(!x.ok)return void I(x.error);if(!a||!W)return void I((0,n.t)({message:"Live data is unavailable for this sheet.",desc:"Sheet binding picker: no authoritative server error"}));N(!0),I(null);let g=await a.insertBinding(W.sheetDocId,{baseRevision:e.revision,binding:x.selection});if(N(!1),"stale"===g.outcome){I((0,n.t)({message:"This sheet changed. Review the latest revision and try again.",desc:"Sheet binding picker: stale revision error"})),await i();return}"unavailable"===g.outcome?I(g.error??(0,n.t)({message:"The live-data snapshot could not be pinned.",desc:"Sheet binding picker: resolution failed fallback"})):r(e.id,g.artifact)||(I((0,n.t)({message:"The sheet changed while data was loading. Review the latest revision.",desc:"Sheet binding picker: local authoritative handoff conflict"})),await i())};return(0,s.jsxs)("details",{className:"border-t border-white/[0.06] px-3 py-2 text-xs",children:[(0,s.jsxs)("summary",{className:"cursor-pointer list-none text-white/55 hover:text-white/80",children:[(0,s.jsx)(n.Pft,{id:"7IGSFG",message:"Live data",context:"Sheet panel: live-data binding picker section label"}),(0,s.jsx)("span",{className:"ml-1.5 text-white/25",children:e.document.bindings.length})]}),(0,s.jsxs)("div",{className:"mt-2 space-y-2.5","data-sheet-binding-picker":!0,children:[(0,s.jsx)("p",{className:"text-[11px] leading-4 text-white/30",children:(0,s.jsx)(n.Pft,{id:"tnG2fG",message:"Choose a source and metric, then pin its current snapshot at the selected cell.",context:"Sheet panel: live-data binding picker instructions"})}),e.document.bindings.length>0&&(0,s.jsx)("div",{className:"max-h-36 space-y-1 overflow-y-auto pr-0.5",children:e.document.bindings.map(a=>(0,s.jsxs)("div",{"data-sheet-binding-id":a.id,className:"flex min-h-10 items-center gap-2 rounded bg-white/[0.025] px-2 py-1",children:[(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("span",{className:"truncate text-white/70",children:ar(a.fn)}),(0,s.jsx)("span",{className:"shrink-0 rounded bg-emerald-300/10 px-1 py-0.5 text-[10px] text-emerald-200/60",children:a.series?(0,n.t)({message:"{count, plural, one {# point} other {# points}}",values:{count:a.series.length},desc:"Sheet binding picker: pinned series point count"}):a.table?(0,n.t)({message:"{count, plural, one {# row} other {# rows}}",values:{count:a.table.rows.length},desc:"Sheet binding picker: pinned table row count"}):void 0===a.value?(0,n.t)({message:"Unresolved",desc:"Sheet binding picker: unresolved snapshot label"}):String(a.value)})]}),(0,s.jsxs)("div",{className:"truncate font-mono text-[10px] text-white/30",children:[(e=>{switch(e.fn){case"price":case"change_pct":case"series":return e.params.instrumentId??"";case"quote":return`${e.params.instrumentId??""} \xb7 ${e.params.field??""}`;case"holdings":return e.params.slug??""}})(a)," \xb7 ",(e=>{if(!e)return(0,n.t)({message:"Not pinned",desc:"Sheet binding picker: missing snapshot timestamp"});let t=new Date(e);return Number.isFinite(t.getTime())?new Intl.DateTimeFormat((0,e0.f)(),{dateStyle:"medium",timeStyle:"short"}).format(t):e})(a.asOf)]})]}),(0,s.jsx)("button",{type:"button",onClick:()=>{var s;let n,r;return s=a.id,n=e.document,void(!(r=(0,at.applySheetOps)(n,[{op:"remove_binding",id:s}])).ok?I(r.error):(I(null),t(r.document)))},"aria-label":(0,n.t)({message:"Remove live-data binding {binding}",values:{binding:ar(a.fn)},desc:"Sheet binding picker: remove binding a11y label"}),className:"workbench-icon-button",children:(0,s.jsx)(ae.A,{})})]},a.id))}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-1.5",children:[(0,s.jsxs)("label",{className:"space-y-1 text-[10px] text-white/35",children:[(0,s.jsx)("span",{children:(0,s.jsx)(n.Pft,{id:"htIL_D",message:"Metric",context:"Sheet binding picker: metric field label"})}
2),(0,s.jsx)("select",{value:l,onChange:e=>{c(e.target.value),I(null)},"data-binding-metric-select":!0,className:"h-8 w-full rounded border border-white/10 bg-[#111212] px-2 text-xs text-white/70 outline-none focus:border-white/25",children:Object.keys(at.SHEET_BINDING_REGISTRY).map(e=>(0,s.jsx)("option",{value:e,children:ar(e)},e))})]}),"quote"===l&&(0,s.jsxs)("label",{className:"space-y-1 text-[10px] text-white/35",children:[(0,s.jsx)("span",{children:(0,s.jsx)(n.Pft,{id:"L4c1VB",message:"Field",context:"Sheet binding picker: quote field label"})}),(0,s.jsx)("select",{value:m,onChange:e=>u(e.target.value),"data-binding-quote-field-select":!0,className:"h-8 w-full rounded border border-white/10 bg-[#111212] px-2 text-xs text-white/70 outline-none focus:border-white/25",children:at.SHEET_QUOTE_FIELDS.map(e=>(0,s.jsx)("option",{value:e,children:(e=>{switch(e){case"open":return(0,n.t)({message:"Open",desc:"Sheet binding picker: quote field option"});case"high":return(0,n.t)({message:"High",desc:"Sheet binding picker: quote field option"});case"low":return(0,n.t)({message:"Low",desc:"Sheet binding picker: quote field option"});case"close":return(0,n.t)({message:"Close",desc:"Sheet binding picker: quote field option"});case"volume":return(0,n.t)({message:"Volume",desc:"Sheet binding picker: quote field option"});case"changePct":return(0,n.t)({message:"Change %",desc:"Sheet binding picker: quote field option"})}})(e)},e))})]}),"series"===l&&(0,s.jsxs)("label",{className:"space-y-1 text-[10px] text-white/35",children:[(0,s.jsx)("span",{children:(0,s.jsx)(n.Pft,{id:"tcKhxD",message:"Period",context:"Sheet binding picker: series duration field label"})}),(0,s.jsx)("select",{value:h,onChange:e=>p(e.target.value),"data-binding-series-duration-select":!0,className:"h-8 w-full rounded border border-white/10 bg-[#111212] px-2 text-xs text-white/70 outline-none focus:border-white/25",children:at.SHEET_SERIES_DURATIONS.map(e=>(0,s.jsx)("option",{value:e,children:{"1h":"1H","1d":"1D","1week":"1W","1m":"1M","3m":"3M","6m":"6M","1y":"1Y","5y":"5Y"}[e]},e))})]})]}),"instrument"===E?(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("span",{className:"text-[10px] text-white/35",children:(0,s.jsx)(n.Pft,{id:"rLY5VB",message:"Instrument",context:"Sheet binding picker: instrument field label"})}),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(ev.A,{className:"pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-white/30"}),(0,s.jsx)("input",{value:x,onChange:e=>{g(e.target.value),w(null)},"data-binding-instrument-search":!0,role:"combobox","aria-expanded":!v&&b.length>0&&A.length>0,placeholder:(0,n.t)({message:"Search stocks and ETFs",desc:"Sheet binding picker: instrument search placeholder"}),autoComplete:"off",className:"h-8 w-full rounded border border-white/10 bg-[#111212] pl-7 pr-7 text-xs text-white/70 outline-none placeholder:text-white/20 focus:border-white/25"}),C.isFetching?(0,s.jsx)(P.A,{className:"absolute right-2 top-1/2 size-3.5 -translate-y-1/2 animate-spin text-white/30"}):x&&(0,s.jsx)("button",{type:"button",onClick:()=>{g(""),f(""),w(null)},"aria-label":(0,n.t)({message:"Clear instrument",desc:"Sheet binding picker: clear instrument search a11y label"}),className:"absolute right-1 top-1/2 -translate-y-1/2 p-1 text-white/30 hover:text-white/60",children:(0,s.jsx)(o.A,{className:"size-3.5"})})]}),!v&&b&&(0,s.jsx)("div",{role:"listbox","data-binding-instrument-results":!0,className:"max-h-28 overflow-y-auto rounded border border-white/10 bg-[#151616] p-1",children:C.isError?(0,s.jsx)("p",{className:"px-2 py-2 text-[11px] text-red-300/70",children:(0,s.jsx)(n.Pft,{id:"rvDF3B",message:"Instrument search failed.",context:"Sheet binding picker: instrument search failed"})}):0===A.length&&C.isSuccess?(0,s.jsx)("p",{className:"px-2 py-2 text-[11px] text-white/30",children:(0,s.jsx)(n.Pft,{id:"20cDmC",message:"No supported instruments found.",context:"Sheet binding picker: no instrument results"})}):A.map(e=>(0,s.jsxs)("button",{type:"button",role:"option","data-binding-instrument-id":e.id,onClick:()=>{w(e),g(`${e.symbol} \xb7 ${e.name}`),I(null)},className:"flex min-h-8 w-full items-center gap-2 rounded px-2 text-left hover:bg-white/[0.06]",children:[(0,s.jsx)("span",{className:"font-medium text-white/70",children:e.symbol}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-white/35",children:e.name})]},e.id))})]}):(0,s.jsxs)("label",{className:"block space-y-1 text-[10px] text-white/35",children:[(0,s.jsx)("span",{children:(0,s.jsx)(n.Pft,{id:"V-36pC",message:"Portfolio",context:"Sheet binding picker: portfolio field label"})}),(0,s.jsx)("select",{value:R,onChange:e=>j(e.target.value),"data-binding-portfolio-select":!0,disabled:_.isLoading||0===$.length,className:"h-8 w-full rounded border border-white/10 bg-[#111212] px-2 text-xs text-white/70 outline-none focus:border-white/25 disabled:opacity-40",children:$.map(e=>(0,s.jsx)("option",{value:e.slug,children:e.name},e.slug))})]}),(0,s.jsxs)("button",{type:"button",onClick:()=>void z(),disabled:k||!T,"data-binding-insert":!0,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded bg-emerald-300/10 text-emerald-100/70 hover:bg-emerald-300/15 hover:text-emerald-100 disabled:cursor-not-allowed disabled:opacity-35",children:[k?(0,s.jsx)(P.A,{className:"size-3.5 animate-spin"}):(0,s.jsx)(t8.A,{className:"size-3.5"}),(0,s.jsx)(n.Pft,{id:"aKJWeD",message:"Pin at selection",context:"Sheet binding picker: insert snapshot action"})]}),S&&(0,s.jsx)("p",{role:"alert",className:"border-l-2 border-red-400 pl-2 text-[11px] leading-4 text-red-300/80",children:S})]})]})},al=e=>{let t=new Map;for(let a of e.namedRanges){let s=(0,at.toUniverNamedRangeRef)(e,a);s&&t.set(a.name,s)}return t}
2,ao="dark",ac={light:{darkMode:!1,surfaceBackground:"#ffffff"},dark:{darkMode:!0,surfaceBackground:"#1f2124"}}[ao],ad=e=>{if("string"!=typeof e)return;let t=e.toLowerCase();return/^#[0-9a-f]{6}$/.test(t)?t:void 0},am=e=>{if(e){if("0.00%"===e||e.includes("%"))return"percent";if("$#,##0.00"===e||e.includes("$"))return"currency";if("yyyy-mm-dd"===e||/y.*m.*d/i.test(e))return"date";if("@"===e||e.includes("@"))return"text"}},au=(e,t,a,s,n,r,i)=>{let l,o,c,d;if(!e)return null;let m="string"==typeof e.f&&e.f.startsWith("=")?e.f:void 0,u=void 0!==e.v;if(!m&&!u)return null;let h=null===a?{}:"object"==typeof e.s&&null!==e.s?(e=>{if(!e)return{};let t={};1===e.bl&&(t.bold=!0),1===e.it&&(t.italic=!0),e.ul?.s===1&&(t.underline=!0),e.st?.s===1&&(t.strikethrough=!0),"number"==typeof e.fs&&Number.isFinite(e.fs)&&(t.fontSize=Math.min(72,Math.max(6,Math.round(e.fs))));let a=ad(e.cl?.rgb);a&&(t.color=a);let s=ad(e.bg?.rgb);return s&&(t.background=s),1===e.ht&&(t.hAlign="left"),2===e.ht&&(t.hAlign="center"),3===e.ht&&(t.hAlign="right"),1===e.vt&&(t.vAlign="top"),2===e.vt&&(t.vAlign="middle"),3===e.vt&&(t.vAlign="bottom"),3===e.tb&&(t.wrap=!0),1===e.tb&&(t.wrap=!1),{...Object.keys(t).length>0?{style:t}:{},...am(e.n?.pattern)?{format:am(e.n?.pattern)}:{}}})(e.s):a?(l={},a.bold&&(l.bold=!0),a.italic&&(l.italic=!0),a.underline&&(l.underline=!0),a.strikethrough&&(l.strikethrough=!0),"number"==typeof a.fontSize&&Number.isFinite(a.fontSize)&&(l.fontSize=Math.min(72,Math.max(6,Math.round(a.fontSize)))),(o=ad(a.color?.rgb))&&(l.color=o),(c=ad(a.background?.rgb))&&(l.background=c),d=am(a.numberFormat?.pattern),{...Object.keys(l).length>0?{style:l}:{},...d?{format:d}:{}}):{},p=void 0!==s?am(s):h.format,x=h.style?{...h.style}:void 0;if("object"!=typeof e.s||null===e.s){let e=x??{};["left","center","right"].includes(n??"")&&(e.hAlign=n),["top","middle","bottom"].includes(r??"")&&(e.vAlign=r),!0===i&&(e.wrap=!0),Object.keys(e).length>0&&(h.style=e)}let g=h.style,b={...m?{f:m}:{v:e.v??null},...p?{format:p}:{},...t?.tag?{tag:t.tag}:{},...g?{style:g}:{}};if(t?.tag==="assumption"&&t.style?.background===void 0&&b.style?.background===at.ASSUMPTION_FILL){let{background:e,...t}=b.style;Object.keys(t).length>0?b.style=t:delete b.style}return b},ah=e=>{let t=e.getRange();return{sheetId:e.getSheetId(),startRow:t.startRow,startColumn:t.startColumn,endRow:t.endRow,endColumn:t.endColumn,read:()=>e.getCellDatas(),readStyles:()=>e.getCellStyles?.("cell"),readFormats:()=>e.getNumberFormats?.(),readHorizontalAlignments:()=>e.getHorizontalAlignments?.(),readVerticalAlignments:()=>e.getVerticalAlignments?.(),readWraps:()=>e.getWraps?.()}},ap=(e,t)=>{t([e])},ax=(e,t)=>{let a,s;return null==e||null==t?null==e&&null==t:e.v===t.v&&e.f===t.f&&e.format===t.format&&e.tag===t.tag&&(a=e.style,s=t.style,a?.bold===s?.bold&&a?.italic===s?.italic&&a?.underline===s?.underline&&a?.strikethrough===s?.strikethrough&&a?.fontSize===s?.fontSize&&a?.color===s?.color&&a?.background===s?.background&&a?.hAlign===s?.hAlign&&a?.vAlign===s?.vAlign&&a?.wrap===s?.wrap)};class ag{api;getDocument;onOps;debounceMs;setTimer;clearTimer;subscriptions=[];pendingRanges=new Map;timer=null;suppressionDepth=0;flushDeferred=!1;disposed=!1;constructor(e){this.api=e.api,this.getDocument=e.getDocument,this.onOps=e.onOps,this.debounceMs=e.debounceMs??200,this.setTimer=e.setTimer??((e,t)=>window.setTimeout(e,t)),this.clearTimer=e.clearTimer??(e=>window.clearTimeout(e))}start(){return this.subscriptions.push(this.api.addEvent(this.api.Event.SheetValueChanged,e=>{if(!(this.suppressionDepth>0)){for(let t of e.effectedRanges){let e=ah(t),a=[e.sheetId,e.startRow,e.startColumn,e.endRow,e.endColumn].join(":");this.pendingRanges.set(a,e)}this.scheduleFlush()}}),this.api.addEvent(this.api.Event.SheetCreated,e=>{if(this.suppressionDepth>0)return;let t=[{op:"add_sheet",id:e.worksheet.getSheetId(),name:e.worksheet.getSheetName(),rowCount:e.worksheet.getMaxRows(),columnCount:e.worksheet.getMaxColumns()}],a=e.workbook.getSheets().findIndex(t=>t.getSheetId()===e.worksheet.getSheetId());a>=0&&a!==this.getDocument().sheets.length&&t.push({op:"move_sheet",sheetId:e.worksheet.getSheetId(),index:a}),this.onOps(t)}),this.api.addEvent(this.api.Event.SheetDeleted,e=>{this.suppressionDepth>0||ap({op:"remove_sheet",sheetId:e.sheetId},this.onOps)}),this.api.addEvent(this.api.Event.SheetNameChanged,e=>{this.suppressionDepth>0||ap({op:"rename_sheet",sheetId:e.worksheet.getSheetId(),name:e.newName},this.onOps)}),this.api.addEvent(this.api.Event.SheetMoved,e=>{this.suppressionDepth>0||ap({op:"move_sheet",sheetId:e.worksheet.getSheetId(),index:e.newIndex},this.onOps)})),this}withSuppressedEvents(e){0===this.suppressionDepth&&this.pendingRanges.size>0&&this.flush(),this.suppressionDepth+=1;try{return e()}finally{this.setTimer(()=>{this.suppressionDepth=Math.max(0,this.suppressionDepth-1),0===this.suppressionDepth&&this.flushDeferred&&(this.flushDeferred=!1,this.flush())},0)}}flush(){if(null!==this.timer&&(this.clearTimer(this.timer),this.timer=null),this.disposed){this.flushDeferred=!1,this.pendingRanges.clear();return}if(this.suppressionDepth>0){this.flushDeferred=this.pendingRanges.size>0;return}this.flushDeferred=!1;let e=this.getDocument(),t=new Map;for(let a of this.pendingRanges.values()){let s=e.sheets.find(e=>e.id===a.sheetId);if(!s)continue;let n=a.read(),r=a.readStyles(),i=a.readFormats(),l=a.readHorizontalAlignments(),o=a.readVerticalAlignments(),c=a.readWraps(),d=t.get(a.sheetId)??{};for(let e=a.startRow;e<=a.endRow;e+=1)for(let t=a.startColumn;t<=a.endColumn;t+=1){let m=(0,at.formatCellAddress)(e,t),u=n[e-a.startRow]?.[t-a.startColumn],h=s.cells[m],p=au(u,h,r?.[e-a.startRow]?.[t-a.startColumn],i?.[e-a.startRow]?.[t-a.startColumn],l?.[e-a.startRow]?.[t-a.startColumn],o?.[e-a.startRow]?.[t-a.startColumn],c?.[e-a.startRow]?.[t-a.startColumn]);ax(h,p)||(d[m]=p)}Object.keys(d).length>0&&t.set(a.sheetId,d)}this.pendingRanges.clear();let a=[...t.entries()].map(([e,t])=>({op:"set_cells_sparse",sheetId:e,cells:t}));a.length>0&&this.onOps(a)}dispose(){for(let e of(this.disposed=!0,null!==this.timer&&this.clearTimer(this.timer),this.timer=null,this.flushDeferred=!1,this.pendingRanges.clear(),this.subscriptions))e.dis
2pose();this.subscriptions.length=0}scheduleFlush(){null!==this.timer&&this.clearTimer(this.timer),this.timer=this.setTimer(()=>{this.timer=null,this.flush()},this.debounceMs)}}let ab="porfoli-sheet",af=({artifact:e})=>{let t=d.useRef(null),n=d.useRef(e.document),r=d.useRef(e.canonicalDocumentV2??null),i=d.useRef(null),l=d.useRef(new Map),o=d.useRef(e.document.bindings),c=(0,an.s)(e=>e.ownerUid),m=e.id,u=e.document,h=e.canonicalDocumentV2,p=e.projectionRevision??e.revision;return d.useEffect(()=>{o.current=u.bindings;let e=i.current;e?.artifactId===m&&e.api.getFormula().executeCalculation()},[m,u.bindings]),d.useEffect(()=>{r.current=h??null},[h]),d.useEffect(()=>{let e;n.current=u;let t=i.current;if(!t||t.artifactId!==m)return;let a=t.api.getActiveWorkbook();if(!a)return;let s=al(u),r=(e=l.current,{remove:[...e].filter(([e,t])=>s.get(e)!==t).map(([e])=>e),upsert:[...s].filter(([t,a])=>e.get(t)!==a).map(([e,t])=>({name:e,reference:t}))});for(let e of r.remove)a.deleteDefinedName(e);for(let{name:e,reference:t}of r.upsert)a.insertDefinedName(e,t);l.current=s},[m,u]),d.useEffect(()=>{let t=e.livePatch;if(!t)return;let a=i.current;!a||a.artifactId!==m||(e=>{let{api:t,bridge:a,patch:s,document:n}=e,r=t.getActiveWorkbook();if(!r)return!1;let i=(0,at.toUniverWorkbookData)(n,"porfoli-sheet-patch");try{return a.withSuppressedEvents(()=>{for(let e of s.sheetChanges){if("remove"===e.kind){if(!r.deleteSheet(e.sheetId))return!1;continue}if("add"===e.kind){let t=i.sheets?.[e.sheet.id];if(!t)return!1;r.create(e.sheet.name,e.sheet.rowCount,e.sheet.columnCount,{index:e.index,sheet:t});continue}let t=r.getSheetBySheetId(e.sheetId);if(!t)return!1;if(void 0!==e.name&&t.setName(e.name),void 0!==e.rowCount&&t.setRowCount(e.rowCount),void 0!==e.columnCount&&t.setColumnCount(e.columnCount),e.cells){let a=i.sheets?.[e.sheetId];if(!a)return!1;for(let[s,r]of Object.entries(e.cells)){let i=t.getRange(s);if(null===r){i.clear();continue}if(!(e.sheetId?n.sheets.find(t=>t.id===e.sheetId)?.cells[s]:void 0))return!1;let l=/^([A-Z]+)([1-9][0-9]*)$/i.exec(s);if(!l)return!1;let o=0;for(let e of l[1].toUpperCase())o=26*o+e.charCodeAt(0)-64;let c=Number(l[2])-1,d=a.cellData?.[c]?.[o-1];if(!d)return!1;i.setValues([[d]])}}void 0!==e.index&&r.moveSheet(t,e.index)}if(void 0!==s.namedRanges){for(let e of r.getDefinedNames())r.deleteDefinedName(e.getName());for(let e of n.namedRanges){let t=(0,at.toUniverNamedRangeRef)(n,e);if(!t)return!1;r.insertDefinedName(e.name,t)}}return void 0!==s.bindings&&t.getFormula().executeCalculation(),!0})}catch{return!1}})({api:a.api,bridge:a.bridge,patch:t.patch,document:u})||an.s.getState().markLivePatchFallback(m,t.token)},[m,e.livePatch,u]),d.useEffect(()=>{let s=t.current;if(!s)return;n.current=u;let d=!1,h=null,p=null,x=[],g=null,b=null;return(async()=>{let{createUniver:t,LocaleType:u,defaultTheme:f,merge:v,UniverPresetSheetsCoreEnUS:w,UniverPresetSheetsFilterEnUS:y,UniverPresetSheetsFindReplaceEnUS:j,UniverPresetSheetsSortEnUS:k,UniverSheetsCorePreset:N,UniverSheetsFilterPreset:S,UniverSheetsFindReplacePreset:I,UniverSheetsSortPreset:C}=await Promise.all([a.e(3930),a.e(2732),a.e(4993),a.e(9285),a.e(2941),a.e(7912),a.e(1968),a.e(9794),a.e(6327),a.e(1305),a.e(7726),a.e(4032),a.e(5559),a.e(3129),a.e(543),a.e(2978)]).then(a.bind(a,12978));if(d)return;let A=t({locale:u.EN_US,locales:{[u.EN_US]:v({},w,y,k,j)},theme:f,darkMode:ac.darkMode,presets:[N({container:s}),S(),C(),I()]});if(d)return A.univer.dispose();h=A.univer,(p=A.univerAPI).createWorkbook(r.current?(0,at.toUniverWorkbookDataV2)(r.current,ab):(0,at.toUniverWorkbookData)(n.current,ab)),l.current=al(n.current);let _=p.getFormula();_.registerFunction("PORFOLI.PRICE",(...e)=>(0,at.resolveBindingValue)(o.current,"price",e),"Snapshot price binding lookup"),_.registerFunction("PORFOLI.QUOTE",(...e)=>(0,at.resolveBindingValue)(o.current,"quote",e),"Snapshot quote binding lookup"),_.registerFunction("PORFOLI.CHANGE_PCT",(...e)=>(0,at.resolveBindingValue)(o.current,"change_pct",e),"Snapshot change-percent binding lookup"),_.registerFunction("PORFOLI.BIND",(...e)=>(0,at.resolveBindingById)(o.current,e[0]??null),"Explicit binding-id lookup");let $={identity:{ownerUid:c??"",artifactId:m,revision:e.revision},flushReadback:()=>g?.flush(),activeSheetId:()=>p?.getActiveWorkbook()?.getActiveSheet()?.getSheetId()??null,activeSelection:()=>{let e=p?.getActiveWorkbook()?.getActiveSheet(),t=e?.getActiveRange();return e&&t?{sheetId:e.getSheetId(),range:t.getA1Notation()}:null},readValues:(e,t,a)=>{let s=p?.getActiveWorkbook()?.getSheetBySheetId(e);return s?s.getRange(0,0,t,a).getValues():null},applyRemoteDocumentV2:(e,t)=>
2{let a=(0,at.deriveBoundedSheetChangeSetV2)(e,t);if(!a.ok||a.changeSet.addedSheets.length>0||a.changeSet.removedSheets.length>0||a.changeSet.renamedSheets.length>0||a.changeSet.resizedSheets.length>0||a.changeSet.sheetOrderChanged||a.changeSet.filterSheets.length>0||a.changeSet.trackSizeSheets.length>0||a.changeSet.namedRangeNames.length>0||a.changeSet.bindingIds.length>0||a.changeSet.validationIds.length>0||a.changeSet.manifestChanged)return"rebuild";let s=p?.getActiveWorkbook();if(!s||!g)return"rebuild";let i=(0,at.toUniverWorkbookDataV2)(t,ab);try{return g.withSuppressedEvents(()=>{for(let e of a.changeSet.changedCells){let t=(0,at.parseCellAddress)(e.address),a=s.getSheetBySheetId(e.sheetId);if(!t||!a)return"rebuild";let n=i.sheets[e.sheetId]?.cellData?.[t.row]?.[t.col],r=a.getRange(t.row,t.col);n?r.setValues([[n]]):r.clear()}return r.current=t,n.current=(0,at.projectSheetDocumentV2ToV1)(t),o.current=n.current.bindings,p?.getFormula().executeCalculation(),"applied"})}catch{return"rebuild"}}};b=$,(0,as.CW)(m,$),x.push(p.addEvent(p.Event.BeforeSheetCreate,e=>{e.workbook.getSheets().length>=at.SHEET_DOCUMENT_LIMITS.sheets&&(e.cancel=!0)}),p.addEvent(p.Event.BeforeSheetDelete,e=>{e.workbook.getSheets().length<=1&&(e.cancel=!0)})),g=new ag({api:p,getDocument:()=>n.current,onOps:e=>{an.s.getState().applyLocalOps(m,e)}}).start(),i.current={artifactId:m,api:p,bridge:g},s.__univerAPI=p})(),()=>{try{b?.flushReadback()}catch{}
2for(let e of(d=!0,g?.dispose(),x))e.dispose();b&&(0,as.BU)(m,b),delete s.__univerAPI,i.current?.api===p&&(i.current=null),l.current=new Map;let e=h;h=null,p=null,queueMicrotask(()=>e?.dispose())}},[m,c,p]),(0,s.jsx)("div",{ref:t,"data-sheet-host":m,"data-sheet-theme":ao,className:"h-full min-h-0 w-full",style:{backgroundColor:ac.surfaceBackground}})},av=()=>({modelKind:"custom",summary:"",assumptions:[],outputs:[]}),aw=(e,t,a)=>({...e,[t]:a}),ay=(e,t,a,s)=>{let n=[...e[t]];return a>=0&&a<n.length?n[a]=s:n.push(s),aw(e,t,n)},aj=({document:e,onApply:t})=>{let[a,r]=d.useState(null),i=e.manifest,l=JSON.stringify(i??null),[o,c]=d.useState(i??av()),m=d.useRef(l);m.current!==l&&(m.current=l,c(i??av()));let u=a=>{let s;c(a);let n=(s=(0,at.applySheetOps)(e,[{op:"set_manifest",manifest:a}])).ok?{ok:!0,document:s.document}:{ok:!1,error:s.error};n.ok?(r(null),t(n.document)):r(n.error)},h=[{group:"assumptions",label:(0,n.t)({message:"Assumptions",desc:"Sheet panel: manifest editor — assumptions group label"}),hint:(0,n.t)({message:"Each points at a typed-in number.",desc:"Sheet panel: manifest editor — assumptions hint"})},{group:"outputs",label:(0,n.t)({message:"Outputs",desc:"Sheet panel: manifest editor — outputs group label"}),hint:(0,n.t)({message:"Each points at a formula.",desc:"Sheet panel: manifest editor — outputs hint"})}],p=(e,t,a,n,r)=>{let i=o[e][t];return(0,s.jsx)("input",{value:i?.[a]??"","aria-label":n,onChange:s=>i&&c(ay(o,e,t,{...i,[a]:s.target.value})),onBlur:()=>u(o),className:r})},x="h-7 rounded border border-white/10 bg-[#111212] px-1.5 text-white/75 outline-none focus:border-white/25";return(0,s.jsxs)("details",{className:"border-t border-white/[0.06] px-3 py-2 text-xs",children:[(0,s.jsx)("summary",{className:"cursor-pointer list-none text-white/55 hover:text-white/80",children:(0,s.jsx)(n.Pft,{id:"Vk8EQ8",message:"Named assumptions and outputs",context:"Sheet panel: manifest editor \\u2014 section label"})}),(0,s.jsxs)("div",{className:"mt-2 space-y-3","data-manifest-editor":!0,children:[h.map(({group:t,label:a,hint:r})=>(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-white/60",children:a}),(0,s.jsx)("span",{className:"text-white/25",children:r})]}),o[t].map((e,a)=>(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[p(t,a,"name",(0,n.t)({message:"Name",desc:"Sheet panel: manifest editor — name field"}),`${x} w-28 font-mono`),p(t,a,"label",(0,n.t)({message:"Label",desc:"Sheet panel: manifest editor — label field"}),`${x} min-w-0 flex-1`),p(t,a,"cell",(0,n.t)({message:"Cell",desc:"Sheet panel: manifest editor — cell field"}),`${x} w-24 font-mono`),(0,s.jsx)("button",{type:"button",onClick:()=>u(aw(o,t,o[t].filter((e,t)=>t!==a))),"aria-label":(0,n.t)({message:"Remove {name}",desc:"Sheet panel: manifest editor — remove entry a11y label",values:{name:e.name}}),className:"workbench-icon-button",children:(0,s.jsx)(ae.A,{className:"size-[18px]"})})]},`${t}-${a}`)),(0,s.jsxs)("button",{type:"button",onClick:()=>{let a;return c(ay(o,t,o[t].length,(a=e.sheets[0]?.id??"sheet1",{name:"",label:"",cell:`${a}!`})))},className:"flex h-7 items-center gap-1 text-white/40 hover:text-white/70",children:[(0,s.jsx)(t8.A,{className:"size-[18px]"}),(0,s.jsx)(n.Pft,{id:"gFclLc",message:"Add",context:"Sheet panel: manifest editor \\u2014 add entry action"})]})]},t)),a&&(0,s.jsx)("p",{role:"alert",className:"border-l-2 border-red-400 pl-2 text-[11px] leading-4 text-red-300/80",children:a})]})]})},ak=({artifactId:e,document:t,onApply:a})=>{let[r,i]=d.useState(""),[l,o]=d.useState(null),c=new Set(t.manifest?[...t.manifest.assumptions.map(e=>e.name),...t.manifest.outputs.map(e=>e.name)]:[]),m=new Map(t.sheets.map(e=>[e.id,e.name])),u=r.trim();return(0,s.jsxs)("details",{className:"border-t border-white/[0.06] px-3 py-2 text-xs",children:[(0,s.jsxs)("summary",{className:"cursor-pointer list-none text-white/55 hover:text-white/80",children:[(0,s.jsx)(n.Pft,{id:"Amq-pB",message:"Named ranges",context:"Sheet panel: named-range manager section label"}),(0,s.jsx)("span",{className:"ml-1.5 text-white/25",children:t.namedRanges.length})]}),(0,s.jsxs)("div",{className:"mt-2 space-y-2","data-named-range-manager"
2:!0,children:[(0,s.jsx)("p",{className:"text-[11px] leading-4 text-white/30",children:(0,s.jsx)(n.Pft,{id:"_lpXqD",message:"Select cells in the grid, then give the selection a formula name.",context:"Sheet panel: named-range manager instructions"})}),0===t.namedRanges.length?(0,s.jsx)("p",{className:"py-1 text-[11px] text-white/30",children:(0,s.jsx)(n.Pft,{id:"qU73T7",message:"No named ranges yet",context:"Sheet panel: named-range manager empty state"})}):(0,s.jsx)("div",{className:"max-h-36 space-y-1 overflow-y-auto pr-0.5",children:t.namedRanges.map(e=>(0,s.jsxs)("div",{"data-named-range-name":e.name,className:"flex min-h-8 items-center gap-2 rounded bg-white/[0.025] px-2",children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-white/70",children:e.name}),c.has(e.name)&&(0,s.jsx)("span",{className:"rounded bg-amber-300/10 px-1 py-0.5 text-[10px] text-amber-200/60",children:(0,s.jsx)(n.Pft,{id:"qWanRC",message:"Manifest",context:"Sheet panel: named range generated by the manifest badge"})}),(0,s.jsxs)("span",{className:"max-w-32 truncate font-mono text-[11px] text-white/35",children:[m.get(e.sheetId)??e.sheetId,"!",e.range]}),(0,s.jsx)("button",{type:"button",onClick:()=>{var s;let n,r;return s=e.name,void(!(r=(n=(0,at.applySheetOps)(t,[{op:"remove_named_range",name:s}])).ok?{ok:!0,document:n.document}:{ok:!1,error:n.error}).ok?o(r.error):(o(null),a(r.document)))},"aria-label":(0,n.t)({message:"Remove named range {name}",values:{name:e.name},desc:"Sheet panel: named-range manager remove action a11y label"}),className:"workbench-icon-button",children:(0,s.jsx)(ae.A,{className:"size-[18px]"})})]},e.name))}),(0,s.jsxs)("form",{onSubmit:s=>{let r;if(s.preventDefault(),!u)return void o((0,n.t)({message:"Enter a name first.",desc:"Sheet panel: named-range manager missing-name error"}));let l=(0,as.Pd)(e)?.activeSelection();if(!l)return void o((0,n.t)({message:"Select cells in the grid first.",desc:"Sheet panel: named-range manager missing-selection error"}));let c=(r=(0,at.applySheetOps)(t,[{op:"define_named_range",name:u,sheetId:l.sheetId,range:l.range}])).ok?{ok:!0,document:r.document}:{ok:!1,error:r.error};c.ok?(o(null),i(""),a(c.document)):o(c.error)},className:"flex items-center gap-1.5",children:[(0,s.jsx)("input",{value:r,onChange:e=>i(e.target.value),"aria-label":(0,n.t)({message:"Named range name",desc:"Sheet panel: named-range manager name input a11y label"}),placeholder:(0,n.t)({message:"e.g. forecast_window",desc:"Sheet panel: named-range manager name input placeholder"}),maxLength:64,autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,className:"h-7 min-w-0 flex-1 rounded border border-white/10 bg-[#111212] px-2 font-mono text-white/75 outline-none placeholder:text-white/20 focus:border-white/25"}),(0,s.jsxs)("button",{type:"submit",disabled:!u,className:"flex h-7 shrink-0 items-center gap-1 rounded bg-white/[0.07] px-2 text-white/55 hover:bg-white/[0.1] hover:text-white/80 disabled:cursor-not-allowed disabled:opacity-35",children:[(0,s.jsx)(t8.A,{className:"size-3.5"}),(0,s.jsx)(n.Pft,{id:"uIVCLV",message:"Save selection",context:"Sheet panel: named-range manager save selection action"})]})]}),l&&(0,s.jsx)("p",{role:"alert",className:"border-l-2 border-red-400 pl-2 text-[11px] leading-4 text-red-300/80",children:l})]})]})};var aN=a(56734),aS=a(95245);let aI=(e,t,a)=>`${(0,X.Vx)(e,"sheet")}-${t.slice(-8).replace(/[^a-zA-Z0-9]/g,"")||"local"}.${a}`,aC={currency:"$#,##0.00",percent:"0.00%",date:"yyyy-mm-dd"},aA=/[[\]/\\?*:]/g,a_=e=>null==e?null:"number"==typeof e?Number.isFinite(e)?e:null:e,a$=async e=>{let t=await a.e(464).then(a.t.bind(a,86755,23)),s=new(t.default??t).Workbook,n=s.addWorksheet(e.sheetName.replace(aA," ").replace(/\s+/g," ").replace(/^'+|'+$/g,"").trim().slice(0,31)||"Sheet1");for(let t=0;t<e.values.length;t+=1){let a=e.values[t]??[];for(let s=0;s<a.length;s+=1){let r=a_(a[s]);if(null===r)continue;let i=n.getCell(t+1,s+1);i.value=r;let l=aC[e.formats[t]?.[s]??"text"];l&&(i.numFmt=l)}}let r=await s.xlsx.writeBuffer();return r instanceof Uint8Array?Uint8Array.from(r):new Uint8Array(r)};var aR=a(36552);let aP=({Icon:e,label:t,destructive:a,onSelect:n})=>(0,s.jsxs)("button",{type:"button",role:"menuitem",onClick:n,className:`flex h-8 w-full select-none items-center gap-2 rounded px-2 text-xs outline-none focus:bg-white/[0.07] ${a?"text-red-300/85 hover:bg-red-400/10 hover:text-red-200 focus:text-red-200":"text-white/70 hover:bg-white/[0.07] hover:text-white/90 focus:text-white"}`,children:[(0,s.jsx)(e,{className:"size-3.5 opacity-70"}),(0,s.jsx)("span",{children:t})]}),aE=({onExport:e,onDelete:t})=>{let[a,r]=d.useState(!1),i=d.useRef(null),l=d.useRef(null),o=d.useRef(null);d.useEffect(()=>{if(!a)return;window.requestAnimationFrame(()=>{l.current?.querySelector("[role='menuitem']")?.focus()});let e=e=>{i.current?.contains(e.target)||r(!1)},t=e=>{"Escape"===e.key&&(e.preventDefault(),r(!1),o.current?.focus())};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[a]);let c=e=>{r(!1),e()};return(0,s.jsxs)("div",{ref:i,className:"relative shrink-0",onBlur:e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||r(!1)},children:[(0,s.jsx)("button",{ref:o,type:"button","aria-haspopup":"menu","aria-expanded":a,"aria-label":(0,n.t)({message:"Sheet actions",desc:"Sheet panel: overflow menu trigger a11y label"}),onClick:()=>r(e=>!e),className:"flex size-6 items-center justify-center rounded text-white/45 transition-colors hover:bg-white/[0.06] hover:text-white/85",children:(0,s.jsx)(t7.A,{className:"size-3.5"})}),a&&(0,s.jsxs)("div",{ref:l,role:"menu","aria-label":(0,n.t)({message:"Sheet actions",desc:"Sheet panel: overflow menu landmark label"}),onKeyDown:e=>{let t=Array.from(l.current?.querySelectorAll("[role='menuitem']")??[]);if(0===t.length)return;let a=t.indexOf(document.activeElement),s=null;"ArrowDown"===e.key&&(s=a<0?0:(a+1)%t.length),"ArrowUp"===e.key&&(s=a<0?t.length-1:(a-1+t.length)%t.length),"Home"===e.key&&(s=0),"End"===e.key&&(s=t.length-1),null!==s&&(e.preventDefault(),t[s]?.focu
2s())},"data-viewport-overlay":"menu",className:"viewport-menu-surface absolute end-0 top-[calc(100%+6px)] z-50 w-48 overflow-y-auto rounded-md border border-white/[0.14] bg-[#181919] p-1 shadow-2xl",children:[(0,s.jsx)(aP,{Icon:t9.A,label:(0,n.t)({message:"Export as CSV",desc:"Sheet panel: export CSV menu item"}),onSelect:()=>c(()=>e("csv"))}),(0,s.jsx)(aP,{Icon:t9.A,label:(0,n.t)({message:"Export as TSV",desc:"Sheet panel: export TSV menu item"}),onSelect:()=>c(()=>e("tsv"))}),(0,s.jsx)(aP,{Icon:t9.A,label:(0,n.t)({message:"Export as XLSX",desc:"Sheet panel: export XLSX menu item"}),onSelect:()=>c(()=>e("xlsx"))}),(0,s.jsx)("div",{className:"my-1 h-px bg-white/[0.08]"}),(0,s.jsx)(aP,{Icon:ae.A,destructive:!0,label:(0,n.t)({message:"Delete sheet…",desc:"Sheet panel: delete sheet menu item"}),onSelect:()=>c(t)})]})]})},aT=()=>{let e=(0,aS.R)(),t=(0,tD.$)(e=>e.sheetsEnabled),a=(0,an.s)(e=>e.artifacts),r=(0,an.s)(e=>e.selectedArtifactId),i=(0,an.s)(e=>e.selectArtifact),l=(0,an.s)(e=>e.deleteArtifact),o=(0,an.s)(e=>e.applyLocalDocument),c=(0,an.s)(e=>e.applyLocalOps),m=(0,an.s)(e=>e.retryV2Sync),u=(0,an.s)(e=>e.resolveV2Conflict),h=(0,an.s)(e=>e.ownerUid),[p,x]=d.useState(null),[g,b]=d.useState(!1),f=a.find(e=>e.id===r)??a[0],v=d.useCallback(e=>{if(!f)return;let t=(0,aR.t1)(f.document,e);t&&c(f.id,t)||h&&o({ownerUid:h,artifactId:f.id,expectedRevision:f.revision,document:e})},[f,o,c,h]),w=d.useMemo(()=>{let e=(f?.document.bindings??[]).map(e=>e.asOf).filter(e=>"string"==typeof e);if(0===e.length)return null;let t=new Date(e.reduce((e,t)=>e<t?e:t));return Number.isNaN(t.getTime())?null:t.toLocaleString((0,e0.f)())},[f?.document.bindings]),y=async t=>{if(!f)return;let a=(0,as.Pd)(f.id);if(!a)return void x((0,n.t)({message:"The sheet is still loading.",desc:"Sheet panel: export not-ready status"}));let s=a.activeSheetId(),r=s?((e,t)=>{let a=e.sheets.find(e=>e.id===t);if(!a)return null;let s=-1,n=-1;for(let e of Object.keys(a.cells)){let t=(0,at.parseCellAddress)(e);t&&(t.row>s&&(s=t.row),t.col>n&&(n=t.col))}return s<0||n<0?null:{rows:s+1,cols:n+1}})(f.document,s):null;if(!s||!r)return void x((0,n.t)({message:"There is nothing to export yet.",desc:"Sheet panel: export empty status"}));let i=a.readValues(s,r.rows,r.cols);if(!i)return void x((0,n.t)({message:"Porfoli could not read the sheet values.",desc:"Sheet panel: export read-failure status"}));x((0,n.t)({message:"Choose where to save the {format} file.",values:{format:t.toUpperCase()},desc:"Sheet panel: export save prompt"}));try{let a=await e.files.saveExport("xlsx"===t?{content:(e=>{let t="";for(let a=0;a<e.length;a+=32768)t+=String.fromCharCode(...e.subarray(a,a+32768));return btoa(t)})(await a$({values:i,formats:((e,t,a,s)=>{let n=e.sheets.find(e=>e.id===t),r=[];for(let e=0;e<a;e+=1){let t=[];for(let a=0;a<s;a+=1)t.push(n?.cells[(0,at.formatCellAddress)(e,a)]?.format);r.push(t)}return r})(f.document,s,r.rows,r.cols),sheetName:f.document.sheets.find(e=>e.id===s)?.name??f.title})),format:"xlsx",encoding:"base64",suggestedName:aI(f.title,f.id,"xlsx")}:{content:(0,X.yg)(i,t),format:t,suggestedName:aI(f.title,f.id,t)});x(a.status?a.saved?(0,n.t)({message:"{format} export saved.",values:{format:t.toUpperCase()},desc:"Sheet panel: export saved status"}):(0,n.t)({message:"Export cancelled.",desc:"Sheet panel: export cancelled status"}):a.error)}catch{x((0,n.t)({message:"Porfoli could not open the export save dialog.",desc:"Sheet panel: export dialog open failure"}))}};return t?f?(0,s.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[a.length>1&&(0,s.jsx)(aN.Z,{className:"mx-3 mt-3 w-[calc(100%-24px)]",items:a.map(e=>({id:e.id,label:e.title})),value:f.id,onSelect:i,ariaLabel:(0,n.t)({message:"Sheet artifact",desc:"Sheet panel: artifact selector a11y label"}),searchPlaceholder:(0,n.t)({message:"Search sheets",desc:"Sheet panel: artifact selector search placeholder"}),emptyLabel:(0,n.t)({message:"No matching sheets",desc:"Sheet panel: artifact selector empty state"}),clearSearchLabel:(0,aN.s)().clearSearchLabel}),(0,s.jsxs)("div",{className:"flex flex-col gap-0.5 px-3 py-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-xs font-medium text-white/70",children:f.title}),(0,s.jsx)("span",{className:"shrink-0 text-[11px] tabular-nums text-white/35",children:(0,s.jsx)(n.Pft,{id:"RH224D",message:"Revision {revision}",context:"Sheet panel: revision label",values:{revision:f.revision}})}),void 0!==f.locallyModifiedAtMs&&(0,s.jsx)("span",{className:"shrink-0 rounded bg-amber-400/15 px-1.5 py-0.5 text-[11px] text-amber-300/80",children:(0,s.jsx)(n.Pft,{id:"Kr-a1-",message:"Edited locally",context:"Sheet panel: edited-locally badge"})}),f.v2Sync?.state==="conflict"&&(0,s.jsx)("span",{className:"shrink-0 rounded bg-red-400/15 px-1.5 py-0.5 text-[11px] text-red-300/85",children:(0,s.jsx)(n.Pft,{id:"FfGd0D",message:"Sync conflict",context:"Sheet panel: V2 sync conflict badge"})}),(f.v2Sync?.state==="offline"||f.v2Sync?.state==="error")&&(0,s.jsx)("button",{type:"button",className:"shrink-0 rounded bg-amber-400/15 px-1.5 py-0.5 text-[11px] text-amber-300/85 hover:bg-amber-400/20",onClick:()=>m(f.id),children:(0,s.jsx)(n.Pft,{id:"Yu-YED",message:"Retry sync",context:"Sheet panel: retry V2 sync action"})}),(0,s.jsx)(aE,{onExport:e=>void y(e),onDelete:()=>b(!0)})]}),w&&(0,s.jsx)("span",{className:"text-[11px] text-white/30",children:(0,s.jsx)(n.Pft,{id:"DA5Z4C",message:"Data as of {dataAsOf}",context:"Sheet panel: data freshness watermark",values:{dataAsOf:w}})}),p&&(0,s.jsx)("span",{role:"status",className:"text-[11px] text-white/45",children:p}),f.v2Sync?.message&&(0,s.jsx)("span",{role:"conflict"===f.v2Sync.state?"alert":"status",className:"conflict"===f.v2Sync.state?"text-[11px] text-red-300/75":"text-[11px] text-amber-300/70",children:f.v2Sync.message}),f.v2Sync?.state==="conflict"&&(0,s.jsxs)("div",{className:"flex items-center gap-1.5 pt-1",children:[(0,s.jsx)("button",{type:"button",className:"rounded bg-blue-500/20 px-2 py-1 text-[11px] font-medium text-blue-200 hover:bg-blue-500/30",onClick:()=>u(f.id,"keep_local"),children:(0,s.jsx)(n.Pft,{id:"uPsueC",message:"Keep my edits",context:"Sheet panel: keep local V2 conflict resolution"})}),(0,s.jsx)("button",{type:"button",className:"rounded bg-white/[0.07] px-2 py-1 text-[11px] text-white/65 hover:bg-white/[0.11]",onClick:()=>u(f.id,"accept_remote"),children:(0,s.jsx)(n.Pft,{id:"va59V5",message:"Use remote",context:"Sheet panel: accept remote V2 conflict resolution"})})]})]}),(0,s.jsx)(aj,{document:f.document,onApply:v}),(0,s.jsx)(ak,{artifactId:f.id,document:f.document,onApply:v}),(0,s.jsx)(ai,{artifact:f,onApply:v}),(0,s.jsx)("div",{className:"min-h-0 flex-1",children:(0,s.jsx)(af,{artifact:f},f.id)}),(0,s.jsx)(el.K,{open:g,onOpenChange:b,destructive:!0,title:(0,n.t)({message:'Delete "{title}"?',values:{title:f.title},desc:"Sheet panel: delete confirmation title"}),description:(0,n.t)({message:"This removes the sheet from Porfoli on this device. This can't be und
2one.",desc:"Sheet panel: delete confirmation description"}),confirmLabel:(0,n.t)({message:"Delete",desc:"Sheet panel: delete confirmation confirm button"}),onConfirm:()=>{l(f.id),b(!1)}})]}):(0,s.jsxs)("div",{className:"flex min-h-52 flex-col items-center justify-center px-4 text-center",children:[(0,s.jsx)(t3.A,{className:"size-5 text-white/20"}),(0,s.jsx)("p",{className:"mt-2 text-xs text-white/35",children:(0,s.jsx)(n.Pft,{id:"40IhFB",message:"Sheets the agent builds appear here",context:"Sheet panel: empty state"})})]}):null};var aW=a(85872);let az=()=>{let e=(0,h.Zp)(),{user:t}=(0,eo.xT)(),a=(0,ea.M)(e=>e.workspacePanelTab),r=(0,ea.M)(e=>e.setWorkspacePanelTab),i=(0,tD.$)(e=>e.sheetsEnabled),l="sheets"!==a||i?a:"canvas",o=(0,ea.M)(e=>e.canvasArtifactPreview),c=(0,ea.M)(e=>e.setCanvasArtifactPreview),{state:m}=(0,z.s)(),u=(0,et.F)(e=>e.artifacts),p=(0,et.F)(e=>e.selectedArtifactId),x=(0,et.F)(e=>e.selectArtifact),g=(0,et.F)(e=>e.createBlank),b=u.find(e=>e.id===p)??u[0],f=(0,G.S3)(),[v,w]=d.useState(),j=(v?.uid===t.uid?v.documentId:void 0)??f.data?.items[0]?.documentId,k=(0,G.t$)(j),N=k.data?(0,B.projectCanvasDocument)(k.data):null,S=(0,aW.V)({documentId:j,document:{hasData:!!k.data,isPending:k.isPending,error:k.error},documents:{hasData:void 0!==f.data,isPending:f.isPending,error:f.error}}),I=m.messages.flatMap(e=>e.parts.filter(e=>"entity-card"===e.type)),C=m.messages.flatMap(e=>e.parts.filter(e=>"tool"===e.type));return(0,s.jsxs)("aside",{className:"workspace-context-panel flex h-full min-w-0 flex-col bg-[#141515]",children:[(0,s.jsxs)("div",{className:"flex h-10 shrink-0 items-center border-b border-white/[0.07] px-2",children:[(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-0.5",children:[(0,s.jsx)(aM,{active:"canvas"===l,label:(0,n.t)({message:"Canvas",desc:"Workbench: context panel — canvas tab"}),Icon:_.A,onClick:()=>r("canvas")}),i&&(0,s.jsx)(aM,{active:"sheets"===l,label:(0,n.t)({message:"Sheets",desc:"Workbench: context panel — sheets tab"}),Icon:t3.A,onClick:()=>r("sheets")}),(0,s.jsx)(aM,{active:"context"===l,label:(0,n.t)({message:"Context",desc:"Workbench: context panel — context tab"}),Icon:eN.A,onClick:()=>r("context")}),(0,s.jsx)(aM,{active:"activity"===l,label:(0,n.t)({message:"Activity",desc:"Workbench: context panel — activity tab"}),Icon:t4.A,onClick:()=>r("activity")})]}),"canvas"===l&&(0,s.jsxs)(s.Fragment,{children:[!(0,ee.tS)()&&(0,s.jsx)("button",{type:"button",className:"workbench-icon-button","aria-label":(0,n.t)({message:"New Canvas",desc:"Workbench: context panel — new canvas button a11y label"}),title:(0,n.t)({message:"New Canvas",desc:"Workbench: context panel — new canvas button tooltip"}),onClick:()=>{c(null),g()},children:(0,s.jsx)(t8.A,{className:"size-[18px]"})}),!o&&(0,s.jsx)("button",{type:"button",className:"workbench-icon-button","aria-label":(0,n.t)({message:"Expand Canvas",desc:"Workbench: context panel — expand canvas button a11y label"}),title:(0,n.t)({message:"Expand Canvas",desc:"Workbench: context panel — expand canvas button tooltip"}),onClick:()=>e((0,ee.tS)()?j?(0,O.BW)(j):"/canvas":b?`/canvas/${encodeURIComponent(b.id)}`:"/canvas"),children:(0,s.jsx)(t6.A,{className:"size-[18px]"})})]})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:["sheets"===l&&i&&(0,s.jsx)(aT,{}),"canvas"===l&&(o?(0,s.jsx)(Z,{artifact:o,compact:!0,authorityLabel:"Chat artifact \xb7 immutable preview",storageDetail:"This preview has not been saved. Save it from the chat card to create a synced document."},`preview:${o.id}`):(0,ee.tS)()?(0,s.jsxs)(s.Fragment,{children:[(f.data?.items.length??0)>1&&(0,s.jsx)(aN.Z,{className:"mx-3 mt-3 w-[calc(100%-24px)]",items:(f.data?.items??[]).map(e=>({id:e.documentId,label:e.title})),value:j??"",onSelect:e=>{c(null),w({uid:t.uid,documentId:e})},ariaLabel:"Canvas document",searchPlaceholder:(0,n.t)({message:"Search canvases",desc:"Workbench: context panel — canvas selector search placeholder"}),emptyLabel:(0,n.t)({message:"No matching canvases",desc:"Workbench: context panel — canvas selector empty state"}),clearSearchLabel:(0,aN.s)().clearSearchLabel}),"data"===S.kind&&N?(0,s.jsx)(Z,{artifact:N,compact:!0,authorityLabel:"Synced document",storageDetail:"Saved to your Porfoli account as an immutable revision."},N.id):"loading"===S.kind?(0,s.jsx)(aL,{Icon:_.A,label:"Loading saved Canvas"}):"not-found"===S.kind?(0,s.jsx)(aL,{Icon:_.A,label:"Canvas not found"}):"error"===S.kind?(0,s.jsx)(aL,{Icon:_.A,label:"Canvas unavailable",detail:S.message,action:S.retryable?"Retry":void 0,onAction:S.retryable?()=>{j?k.refetch():f.refetch()}:void 0}):(0,s.jsx)(aL,{Icon:_.A,label:"No saved Canvas documents"})]}):b?(0,s.jsxs)(s.Fragment,{children:[u.length>1&&(0,s.jsx)(aN.Z,{className:"mx-3 mt-3 w-[calc(100%-24px)]",items:u.map(e=>({id:e.id,label:e.title})),value:b.id,onSelect:e=>{c(null),x(e)},ariaLabel:(0,n.t)({message:"Canvas artifact",desc:"Workbench: context panel — canvas artifact selector a11y label"}),searchPlaceholder:(0,n.t)({message:"Search canvases",desc:"Workbench: context panel — canvas selector search placeholder"}
2),emptyLabel:(0,n.t)({message:"No matching canvases",desc:"Workbench: context panel — canvas selector empty state"}),clearSearchLabel:(0,aN.s)().clearSearchLabel}),(0,s.jsx)(Y.K,{artifact:b,compact:!0},b.id)]}):(0,s.jsx)(aL,{Icon:_.A,label:(0,n.t)({message:"No Canvas open",desc:"Workbench: context panel — empty canvas label"}),action:(0,n.t)({message:"Create analysis",desc:"Workbench: context panel — empty canvas action"}),onAction:()=>{c(null),g()}})),"context"===l&&(0,s.jsx)("div",{className:"p-3",children:0===I.length?(0,s.jsx)(aL,{Icon:eN.A,label:(0,n.t)({message:"Entities appear as the agent works",desc:"Workbench: context panel — empty entities label"})}):(0,s.jsx)("div",{className:"space-y-2",children:I.map((e,t)=>"entity-card"===e.type?(0,s.jsxs)("div",{className:"rounded-md border border-white/[0.08] p-3",children:[(0,s.jsx)("div",{className:"text-sm font-medium text-white/75",children:aD(e.params)}),e.params.signals.map(e=>(0,s.jsx)("p",{className:"mt-1 text-xs text-white/45",children:e},e))]},`${aD(e.params)}-${t}`):null)})}),"activity"===l&&(0,s.jsx)("div",{className:"divide-y divide-white/[0.06]",children:0===C.length?(0,s.jsx)(aL,{Icon:t4.A,label:(0,n.t)({message:"Agent activity appears here",desc:"Workbench: context panel — empty activity label"})}):C.map((e,t)=>"tool"===e.type?(0,s.jsxs)("div",{className:"flex items-start gap-2.5 px-3 py-3",children:[(0,s.jsx)(E.A,{className:(0,ep.cn)("mt-0.5 size-[18px] shrink-0","error"===e.state?"text-red-400":"ok"===e.state?"text-emerald-400":"text-cyan-400")}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsx)("div",{className:"truncate text-sm text-white/60",children:e.displayLabel??(0,y.labelForTool)(e.name,"user")}),(0,s.jsx)("div",{className:"mt-0.5 text-xs capitalize text-white/35",children:e.state})]})]},`${e.toolCallId}-${t}`):null)})]})]})},aD=e=>"portfolio_draft_card"===e.component?e.title:"broker_holdings_card"!==e.component?e.entityId:"unified"===e.scope.kind?(0,n.t)({message:"All connected accounts",desc:"Workbench: context panel — unified broker holdings label"}):"connection"===e.scope.kind?(0,n.t)({message:"Broker holdings",desc:"Workbench: context panel — broker connection holdings label"}):(0,n.t)({message:"Trading account holdings",desc:"Workbench: context panel — trading account holdings label"}),aM=({active:e,label:t,Icon:a,onClick:n})=>(0,s.jsxs)("button",{type:"button",onClick:n,className:(0,ep.cn)("flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs transition-colors",e?"bg-white/[0.07] text-white/75":"text-white/35 hover:text-white/60"),children:[(0,s.jsx)(a,{className:"size-[18px]"}),(0,s.jsx)("span",{className:"context-tab-label",children:t})]}),aL=({Icon:e,label:t,detail:a,action:n,onAction:r})=>(0,s.jsxs)("div",{className:"flex min-h-52 flex-col items-center justify-center px-4 text-center",children:[(0,s.jsx)(e,{className:"size-5 text-white/20"}),(0,s.jsx)("p",{className:"mt-2 text-xs text-white/35",children:t}),a&&(0,s.jsx)("p",{className:"mt-1 max-w-64 text-xs leading-5 text-white/25",children:a}),n&&r&&(0,s.jsx)("button",{type:"button",onClick:r,className:"mt-3 inline-flex min-h-8 items-center px-2 text-xs text-emerald-400/75 hover:text-emerald-400",children:n})]});var aF=a(48263),aU=a(41065);let aq="porfoli.desktop.workbench-layout.v2",aO={chat:64,context:36},aB="(min-width: 1280px)",aV=()=>{let[e]=(0,u.ok)(),t=(0,h.zy)(),a=(0,h.Zp)(),[n,i]=d.useState(()=>window.matchMedia(aB).matches),l=e.get("thread"),{currentThreadId:o,dismissUnavailableThread:c,loadingThreads:x,refreshThreads:g,retryCanvasArtifacts:b,runtime:f,selectThread:v,threadListError:w,threads:y}
2=(0,z.s)(),[j,k]=d.useState(null),[N,S]=d.useState(null),I=d.useRef(null),C=d.useRef(null),A=d.useRef(null),_=d.useRef(0),$=(0,ea.M)(e=>e.tabs),R=(0,ea.M)(e=>e.closeTab),P=(0,ea.M)(e=>e.rightSidebarOpen),E=(0,ea.M)(e=>e.setRightSidebarOpen),T=d.useCallback(async e=>{let t=++_.current;S(e);let a=await (0,aF.py)(e,v);t===_.current&&(S(null),k("error"===a.status?a.failure:null))},[v]);d.useEffect(()=>{if(!l){I.current=null,A.current=null,_.current+=1;return}if(A.current===l)return;A.current=null;let e={requestedThreadId:l,currentThreadId:o,lastAttemptedThreadId:I.current},t=(0,aF.m5)(e),a=(0,aF.wE)(e);I.current=l,t?T(l):a&&b(l)},[o,T,l,b]),d.useEffect(()=>{let e=y[0]?.threadId;!l&&!x&&w&&e&&o===e&&f?.readiness==="error"&&C.current!==e&&(C.current=e,(0,aF.I1)(y.slice(1).map(e=>e.threadId),v).then(e=>{"ready"===e.status&&g().catch(()=>void 0)}))},[o,x,g,l,f?.readiness,v,w,y]);let W=d.useCallback(()=>{if(!l)return;let e=`${t.pathname}${t.search}`,s=$.find(t=>(0,aU.Sf)(t.path,e)),n=s?$.indexOf(s):$.length;A.current=l,_.current+=1,c(l),s&&R(s.path);let r=ea.M.getState().tabs,i=r[Math.min(n,r.length-1)]??r[n-1]??r[0];a(i?.path??"/workbench",{replace:!0})},[R,c,t.pathname,t.search,a,l,$]);return d.useEffect(()=>{let e=window.matchMedia(aB),t=e=>i(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,s.jsx)("div",{className:"relative h-full min-h-0",children:j?.threadId===l?(0,s.jsx)(aK,{failure:j,retrying:N===l,onRetry:()=>{l&&T(l)},onClose:W}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(m.YJ,{orientation:"horizontal",className:"h-full min-h-0",defaultLayout:(()=>{try{let e=JSON.parse(window.localStorage.getItem(aq)??"null");if(e&&"number"==typeof e.chat&&"number"==typeof e.context)return e}catch{}return aO})(),onLayoutChanged:(e,t)=>{t.isUserInteraction&&void 0!==e.context&&window.localStorage.setItem(aq,JSON.stringify(e))},children:[(0,s.jsx)(m.Zk,{id:"chat",minSize:"360px",defaultSize:"64%",children:(0,s.jsx)(tU,{},o??"unselected")}),n&&P&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(aH,{}),(0,s.jsx)(m.Zk,{id:"context",minSize:"300px",maxSize:"48%",defaultSize:"36%",children:(0,s.jsx)(az,{})})]})]}),(0,s.jsx)(r.bL,{open:!n&&P,onOpenChange:E,children:(0,s.jsxs)(p.Y,{children:[(0,s.jsx)(r.hJ,{className:"shell-drawer-inset fixed inset-x-0 bottom-0 z-40 bg-black/35"}),(0,s.jsxs)(r.UC,{"data-viewport-overlay":"drawer",className:"viewport-drawer-surface shell-drawer-inset fixed bottom-0 end-0 z-50 w-[min(480px,calc(100vw-40px))] border-s border-white/[0.1] bg-[#141515] shadow-2xl outline-none",onCloseAutoFocus:e=>{e.preventDefault(),document.querySelector("[data-right-sidebar-toggle]")?.focus()},children:[(0,s.jsx)(r.hE,{className:"sr-only",children:"Workspace context"}),(0,s.jsx)(az,{})]})]})})]})})},aK=({failure:e,retrying:t,onRetry:a,onClose:r})=>(0,s.jsx)("div",{className:"flex h-full items-center justify-center bg-[#111212] px-6",role:"alert",children:(0,s.jsxs)("div",{className:"w-full max-w-md text-center",children:[(0,s.jsx)(i.A,{className:"mx-auto size-7 text-amber-300/80"}),(0,s.jsx)("h1",{className:"mt-4 text-lg font-semibold text-white/90",children:e.title}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-6 text-white/55",children:e.message}),(0,s.jsxs)("div",{className:"mt-6 flex flex-wrap items-center justify-center gap-2",children:[(0,s.jsxs)("button",{type:"button",className:"inline-flex h-9 items-center gap-2 rounded-md bg-white/[0.1] px-3 text-sm font-medium text-white/90 hover:bg-white/[0.15] disabled:cursor-wait disabled:opacity-60",disabled:t,onClick:a,children:[(0,s.jsx)(l.A,{className:t?"size-4 animate-spin":"size-4"}),t?(0,n.t)({message:"Retrying",desc:"Route Workbench: tab error — retry in progress"}):(0,n.t)({message:"Retry",desc:"Route Workbench: tab error — retry button"})]}),(0,s.jsxs)("button",{type:"button",className:"inline-flex h-9 items-center gap-2 rounded-md px-3 text-sm font-medium text-white/60 hover:bg-white/[0.06] hover:text-white/85",onClick:r,children:[(0,s.jsx)(o.A,{className:"size-4"}),(0,s.jsx)(n.Pft,{id:"g8RoPR",message:"Close tab",context:"Route Workbench: tab error \\u2014 close tab button"})]})]})]})}),aH=()=>(0,s.jsx)(m.wv,{className:"group relative flex w-px items-center justify-center bg-white/[0.07] outline-none transition-colors hover:bg-emerald-400/50 focus-visible:bg-emerald-400/60",children:(0,s.jsx)(c.A,{className:"absolute z-10 size-3 text-white/0 group-hover:text-white/35"})})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.