function GlobalHeartbeat({prefs:a,context:s}){if(a.heartbeat!=="global")return null;const t=[{label:"System",value:"12/14 ok",tone:"ok"},{label:"Alerts",value:String(s.alerts),tone:s.alerts?"warn":"ok"},{label:"DLQ",value:"0",tone:"ok"},{label:"Cost \xB7 day",value:"\u20AC114",tone:"ok"},{label:"Agents",value:"9 online",tone:"ok"}];return React.createElement("div",{className:"hb-strip","data-role":"L4/global-heartbeat"},React.createElement("span",{className:"hb-mark"},React.createElement("span",{className:"hb-pulse"})," live"),t.map(e=>React.createElement("span",{key:e.label,className:`hb-pair hb-${e.tone}`},React.createElement("span",{className:"hb-label"},e.label),React.createElement("span",{className:"hb-value"},e.value))),React.createElement("span",{className:"hb-spacer"}),React.createElement("span",{className:"hb-pair hb-ok"},React.createElement("span",{className:"hb-label"},"Last run"),React.createElement("span",{className:"hb-value"},"06:30Z \xB7 ok")))}function TopBar({tenant:a,onTenantChange:s,solution:t,onSolutionChange:e,prefs:i,setTweak:l,opsMode:o,setOpsMode:r,onOpenPalette:m,role:u,onRoleChange:v,theme:d,onToggleTheme:p,authenticated:g,onLogin:N,onLogout:c,onOpenMegaMenu:n}){return React.createElement("div",{className:"topbar"},React.createElement("div",{className:"tb-left"},React.createElement("button",{className:"tb-megamenu","aria-label":"App switcher",onClick:n,title:"App switcher"},React.createElement(MIcon,{name:"apps",size:20})),React.createElement("div",{className:"tb-brand"},React.createElement("span",{className:"tb-wordmark"},a.wordmark),React.createElement("span",{className:"tb-tag mono"},a.tagline))),React.createElement("div",{className:"tb-center"},React.createElement("button",{className:"tb-search",onClick:m},React.createElement(MIcon,{name:"search",size:16}),React.createElement("span",null,"Search anything \xB7 type ",React.createElement("kbd",{className:"kbd"},"\u2318K")))),React.createElement("div",{className:"tb-right"},React.createElement("button",{className:`tb-mode ${o?"tb-mode-on":""}`,onClick:()=>r(!o),title:"Toggle USER \u21C4 OPS"},React.createElement("span",{className:`tb-mode-pill ${o?"on":""}`},React.createElement("span",{className:"tb-mode-dot"})),React.createElement("span",{className:"tb-mode-label mono"},o?"OPS":"USER")),o&&React.createElement(RoleSwitcher,{current:u,onChange:v}),React.createElement(TenantSwitcher,{current:a.id,onChange:s}),React.createElement(ScopeSelector,{tenant:a.id,solution:t,onChange:e}),React.createElement("button",{className:`tb-theme tb-theme-${d}`,onClick:p,title:`Theme \xB7 ${d} (click for ${d==="dark"?"light":"dark"})`,"aria-label":"Toggle theme"},React.createElement(MIcon,{name:d==="dark"?"dark_mode":"light_mode",size:18})),React.createElement("button",{className:"tb-icon",title:"Notifications"},React.createElement(MIcon,{name:"notifications",size:18}),React.createElement("span",{className:"tb-icon-dot"})),g?React.createElement("button",{className:"tb-avatar",onClick:c,title:"Logout"},React.createElement("span",null,"JL")):React.createElement("button",{className:"tb-login",onClick:N,title:"Sign in"},React.createElement("span",{className:"mono"},"LOGIN"))))}function MegaMenu({open:a,onClose:s,streams:t,role:e,onPick:i,theme:l,authenticated:o,onLogin:r,onToggleTheme:m}){if(!a)return null;const u=Object.values(t||{}),v=e&&window.visibleOpsStreams?new Set(window.visibleOpsStreams(e)):new Set(u.map(p=>p.id)),d=[{id:"home",label:"Home",streams:["personal"]},{id:"product",label:"Products",streams:["podcast","design","select","content"]},{id:"domains",label:"Domains",streams:["domains"]},{id:"money",label:"Money",streams:["costs","finances"]},{id:"platform",label:"Platform",streams:["ops","quality","marketing","product","platform"]}];return React.createElement("div",{className:"mm-backdrop",onClick:s},React.createElement("div",{className:"mm-panel",onClick:p=>p.stopPropagation()},React.createElement("div",{className:"mm-head"},React.createElement("div",{className:"mm-head-l"},React.createElement(MIcon,{name:"apps",size:18}),React.createElement("span",{className:"mono"},"App switcher")),React.createElement("div",{className:"mm-head-r"},React.createElement("button",{className:"mm-aux",onClick:m,title:"Toggle theme"},React.createElement(MIcon,{name:l==="dark"?"dark_mode":"light_mode",size:16}),React.createElement("span",{className:"mono"},l)),!o&&React.createElement("button",{className:"mm-aux mm-aux-cta",onClick:r},React.createElement(MIcon,{name:"login",size:16}),React.createElement("span",{className:"mono"},"LOGIN")),React.createElement("button",{className:"mm-close",onClick:s,"aria-label":"Close"},React.createElement(MIcon,{name:"close",size:16})))),React.createElement("div",{className:"mm-body"},d.map(p=>React.createElement("div",{key:p.id,className:"mm-group"},React.createElement("div",{className:"mm-group-label mono"},p.label),React.createElement("div",{className:"mm-tiles"},p.streams.filter(g=>t[g]&&(g==="personal"||v.has(g))).map(g=>{const N=t[g],c=(N.subPages||[]).length;return React.createElement("button",{key:g,className:"mm-tile",onClick:()=>{i(g),s()}},React.createElement("div",{className:"mm-tile-icon"},React.createElement(MIcon,{name:N.icon,size:20})),React.createElement("div",{className:"mm-tile-meta"},React.createElement("div",{className:"mm-tile-label"},N.label),React.createElement("div",{className:"mm-tile-tag mono"},N.tagline),React.createElement("div",{className:"mm-tile-foot mono"},c," surfaces")))}))))),React.createElement("div",{className:"mm-foot mono"},React.createElement("span",null,"tap any tile to open \xB7 ESC to close"),React.createElement("span",{className:"mm-foot-r"},"15 AaaS domains \xB7 1 shell"))))}function RoleSwitcher({current:a,onChange:s}){const[t,e]=useState(!1),i=window.CANVAS_RBAC,l=i&&i.roles||{},o=l[a]||i&&i.restricted||{id:"restricted",label:"Restricted",short:"RSTR",streams:[],description:""};return React.createElement("div",{className:"tn-switch role-switch"},React.createElement("button",{className:`tb-role role-${a}`,onClick:()=>e(!t),title:"Switch role"},React.createElement(MIcon,{name:"badge",size:14}),React.createElement("span",{className:"tb-role-label mono"},o.short)),t&&React.createElement("div",{className:"tn-menu role-menu",onMouseLeave:()=>e(!1)},React.createElement("div",{className:"role-menu-head mono"},"Role \xB7 gates streams + finance actions"),Object.values(l).map(r=>React.createElement("button",{key:r.id,className:`tn-item role-item ${r.id===a?"on":""}`,onClick:()=>{s(r.id),e(!1)}},React.createElement("span",{className:`role-swatch role-${r.id}`}),React.createElement("span",{className:"role-meta"},React.createElement("span",{className:"role-name"},r.label),React.createElement("span",{className:"role-desc ink-soft"},r.description),React.createElement("span",{className:"role-streams mono ink-faint"},r.streams.includes("*")?"all OPS streams":r.streams.join(" \xB7 "))),r.id===a&&React.createElement(MIcon,{name:"check",size:16})))))}function TenantSwitcher({current:a,onChange:s}){const[t,e]=useState(!1),i=Object.keys(window.TENANTS);return React.createElement("div",{className:"tn-switch"},React.createElement("button",{className:"tb-icon tn-btn",onClick:()=>e(!t),title:"Tenant"},React.createElement(MIcon,{name:"domain",size:18}),React.createElement("span",{className:"tn-current mono"},window.TENANTS[a].label)),t&&React.createElement("div",{className:"tn-menu",onMouseLeave:()=>e(!1)},i.map(l=>React.createElement("button",{key:l,className:`tn-item ${l===a?"on":""}`,onClick:()=>{s(l),e(!1)}},React.createElement("span",{className:"tn-swatch","data-tenant":l}),React.createElement("span",null,window.TENANTS[l].label),React.createElement("span",{className:"mono ink-faint"},window.TENANTS[l].tagline),l===a&&React.createElement(MIcon,{name:"check",size:16})))))}function ScopeSelector({tenant:a,solution:s,onChange:t}){const[e,i]=useState(!1),l=window.scopeSelectorModel(a,s);return l.visible?React.createElement("div",{className:"tn-switch scope-switch"},React.createElement("button",{className:"tb-icon tn-btn",onClick:()=>i(!e),title:"Solution scope"},React.createElement(MIcon,{name:"filter_alt",size:18}),React.createElement("span",{className:"tn-current mono"},l.label)),e&&React.createElement("div",{className:"tn-menu",onMouseLeave:()=>i(!1)},React.createElement("button",{className:`tn-item ${l.solution===null?"on":""}`,onClick:()=>{t(null),i(!1)}},React.createElement("span",null,"Combined"),React.createElement("span",{className:"mono ink-faint"},"all solutions"),l.solution===null&&React.createElement(MIcon,{name:"check",size:16})),l.options.map(o=>React.createElement("button",{key:o.slug,className:`tn-item ${o.slug===l.solution?"on":""}`,onClick:()=>{t(o.slug),i(!1)}},React.createElement("span",null,o.slug),React.createElement("span",{className:"mono ink-faint"},o.subdomain||o.archetype),o.slug===l.solution&&React.createElement(MIcon,{name:"check",size:16}))))):null}const RAIL_GROUPS=[{id:"discover",label:"Discover",streams:["podcast","design","select","intelligence"]},{id:"ecosystem",label:"Ecosystem",streams:["domains","content"]},{id:"money",label:"Money",streams:["costs","finances"]},{id:"operate",label:"Operate",streams:["ops","quality","marketing","product","platform"]},{id:"growth",label:"Growth",streams:["fleet"]}];function StreamRail({active:a,onSelect:s,collapsed:t,onCollapse:e,opsMode:i,context:l,role:o}){const r=window.USER_STREAMS||["personal"],m=window.visibleOpsStreams&&window.visibleOpsStreams(o)||window.OPS_STREAMS||[],u=new Set(i?m:r),v=window.CANVAS_RBAC&&window.CANVAS_RBAC.roles&&window.CANVAS_RBAC.roles[o]||null,[d,p]=React.useState(()=>{const c={};return RAIL_GROUPS.forEach(n=>{c[n.id]=!0}),c});function g(c){p(n=>({...n,[c]:!n[c]}))}function N(c){const n=window.STREAMS[c];if(!n)return null;const b=a===c,k=l.workspaceBadges?.[c];return React.createElement("button",{key:c,className:`rail-item ${b?"on":""} ${n.gated?"rail-item-gated":""}`,onClick:()=>s(c),title:n.label},React.createElement(MIcon,{name:n.icon,size:18}),React.createElement("span",{className:"rail-label"},n.label),n.gated&&React.createElement("span",{className:"rail-gate-dot",title:"Role-gated"}),k?React.createElement("span",{className:"rail-badge"},k):null)}return React.createElement("aside",{className:`rail ${t?"rail-collapsed":""}`},React.createElement("div",{className:"rail-section-label mono"},i?React.createElement(React.Fragment,null,"OPS \xB7 streams ",React.createElement("span",{className:"rail-role-tag mono"},v?v.short:"")):"Personal"),React.createElement("nav",{className:"rail-nav"},!i&&r.map(N),i&&RAIL_GROUPS.map(c=>{const n=c.streams.filter(k=>u.has(k));if(n.length===0)return null;const b=d[c.id];return React.createElement("div",{key:c.id,className:`rail-group ${b?"on":""}`},React.createElement("button",{className:"rail-group-head",onClick:()=>g(c.id),title:c.label},React.createElement(MIcon,{name:b?"expand_more":"chevron_right",size:14}),React.createElement("span",{className:"rail-group-label mono"},c.label),React.createElement("span",{className:"rail-group-count mono"},n.length)),b&&React.createElement("div",{className:"rail-group-body"},n.map(N)))})),React.createElement("div",{className:"rail-bottom"},React.createElement("button",{className:"rail-item rail-aux",title:"Runbook"},React.createElement(MIcon,{name:"menu_book",size:18}),React.createElement("span",{className:"rail-label"},"Runbook")),React.createElement("button",{className:"rail-item rail-aux",title:"Alerts"},React.createElement(MIcon,{name:"notifications_active",size:18}),React.createElement("span",{className:"rail-label"},"Alerts"),l.alerts?React.createElement("span",{className:"rail-badge"},l.alerts):null),React.createElement("button",{className:"rail-item rail-aux",onClick:e},React.createElement(MIcon,{name:t?"chevron_right":"chevron_left",size:18}),React.createElement("span",{className:"rail-label"},"Collapse"))))}function SubNav({stream:a,activeSub:s,onSelectSub:t,role:e}){if(!a)return null;const i=window.visibleSubPages&&window.visibleSubPages(a.id,e)||a.subPages||[];if(i.length<=1)return null;const l=[];let r={};i.forEach(u=>{const v=u.bucket||null;v!==r&&(l.push({id:v,pages:[]}),r=v),l[l.length-1].pages.push(u)});const m=l.some(u=>u.id);return React.createElement("div",{className:"subnav"},React.createElement("div",{className:"subnav-stream mono"},React.createElement(MIcon,{name:a.icon,size:14}),React.createElement("span",null,a.label)),React.createElement("div",{className:"subnav-tabs"},l.map((u,v)=>React.createElement(React.Fragment,{key:v},u.id&&React.createElement("span",{className:"subnav-bucket mono"},u.id),u.pages.map(d=>{const p=d.kind&&d.kind!=="placeholder";return React.createElement("button",{key:d.id,className:`subnav-tab ${s===d.id?"on":""} ${p?"":"scaffold"}`,onClick:()=>t(d.id),title:d.note||d.label},React.createElement("span",null,d.label),!p&&React.createElement("span",{className:"subnav-scaffold mono"},"scaffold"))}),m&&v<l.length-1&&React.createElement("span",{className:"subnav-divider"})))))}function BridgeStatusBanner({state:a,role:s}){if(!a||a==="ok")return null;const t={failed:{tone:"fail",icon:"error",head:"Admin-bridge failed",body:s==="finance"||s==="builder"?"Your role cannot reach the billing service.":"Cookie not set on this session \u2014 server actions will surface 401/403. Sign out + back in to retry the bridge.",cta:"Retry bridge"},killswitch:{tone:"warn",icon:"lock",head:"Canvas-admin-only mode",body:"BILLING_TEMP_ACCESS_ENABLED=0 \u2014 all mutations gated behind cookie + admin uid. Read-only for non-bridge users.",cta:"Dismiss"}},e=t[a]||t.failed;return React.createElement("div",{className:`bridge-banner bridge-${e.tone}`,role:"status"},React.createElement("span",{className:"bridge-icon"},React.createElement(MIcon,{name:e.icon,size:16})),React.createElement("div",{className:"bridge-text"},React.createElement("div",{className:"bridge-head mono"},e.head),React.createElement("div",{className:"bridge-body"},e.body)),React.createElement("button",{className:"bridge-cta"},e.cta))}function KpiStrip({kind:a,prefs:s}){if(s.heartbeat==="off"||s.heartbeat==="rail")return null;const t=a.heroKpis||[];return React.createElement("div",{className:"kpi-strip"},t.map(e=>React.createElement("div",{className:"kpi-tile",key:e.label},React.createElement("div",{className:"kpi-label mono"},e.label),React.createElement("div",{className:"kpi-value"},e.value,e.delta&&React.createElement(Trend,{trend:e.trend,delta:e.delta})))))}function HeroPanel({kind:a,prefs:s,onPrimary:t,onSuggestion:e,contextSuggestion:i}){return React.createElement("div",{className:"hero-panel"},React.createElement("div",{className:"hero-text"},React.createElement("div",{className:"hero-overline mono"},a.workspaceLabel," \xB7 ",a.label.toLowerCase()),React.createElement("h1",{className:"hero-title"},a.workspaceLabel,React.createElement("span",{className:"hero-period"},".")),React.createElement("p",{className:"hero-sub"},a.description)),React.createElement("div",{className:"hero-actions"},a.primaryAction&&(a.primaryAction.kind==="red"?React.createElement(HoldToConfirm,{label:a.primaryAction.label,hint:"hold 3s to confirm",onConfirm:t,kind:"red",icon:a.primaryAction.icon}):React.createElement("button",{className:`btn btn-${a.primaryAction.kind}`,onClick:t},React.createElement(MIcon,{name:a.primaryAction.icon,size:18}),React.createElement("span",null,a.primaryAction.label))),(a.secondaryActions||[]).map(l=>React.createElement("button",{key:l.label,className:"btn btn-ghost"},React.createElement(MIcon,{name:l.icon,size:16}),React.createElement("span",null,l.label)))),i&&React.createElement(AISuggestion,{suggestion:i,onAccept:e}))}function AISuggestion({suggestion:a,onAccept:s}){return React.createElement("div",{className:"ai-suggestion",role:"status"},React.createElement("span",{className:"ai-shimmer","aria-hidden":"true"}),React.createElement("span",{className:"ai-mark mono"},React.createElement(MIcon,{name:"auto_awesome",size:14})," ai suggests"),React.createElement("span",{className:"ai-text"},a.text),React.createElement("button",{className:"ai-accept",onClick:s},"Accept"),React.createElement("button",{className:"ai-dismiss",onClick:()=>s(null)},"Dismiss"))}function DetailContent({item:a,kind:s,onClose:t,embedded:e}){if(!a)return React.createElement("div",{className:`detail-empty ${e?"embedded":""}`},React.createElement(MIcon,{name:"touch_app",size:24}),React.createElement("div",{className:"detail-empty-text"},"Select an item to see detail."));const i=s.stageNames||[],l=Array.isArray(a.stages);return React.createElement("div",{className:"detail-body"},React.createElement("div",{className:"detail-head"},React.createElement("div",null,React.createElement("div",{className:"detail-overline mono"},s.label.toUpperCase()," \xB7 ",a.id),React.createElement("div",{className:"detail-title"},a.title||a.name),a.subtitle&&React.createElement("div",{className:"detail-sub"},a.subtitle)),!e&&React.createElement("button",{className:"detail-close",onClick:t,"aria-label":"Close"},React.createElement(MIcon,{name:"close",size:18}))),React.createElement("div",{className:"detail-row"},React.createElement(StatusChip,{status:a.status,label:a.statusLabel||a.status}),a.duration&&React.createElement("span",{className:"mono ink-soft"},a.duration),a.value&&React.createElement("span",{className:"mono ink-soft"},a.value),a.cost&&React.createElement("span",{className:"mono ink-soft"},a.cost),a.owner&&React.createElement("span",{className:"mono ink-soft"},a.owner)),l&&React.createElement("div",{className:"detail-block"},React.createElement("div",{className:"detail-block-label mono"},"Stages"),React.createElement("div",{className:"detail-stages"},i.map((o,r)=>{const m=a.stages[r]||"idle";return React.createElement("div",{key:o,className:`detail-stage st-${m}`},React.createElement(StatusDot,{status:m}),React.createElement("span",{className:"mono"},o),React.createElement("span",{className:"detail-stage-meta mono ink-faint"},m==="ok"?"\u2713":m==="fail"?"\u2717":m==="run"?"live":""))}))),a.error&&React.createElement("div",{className:"detail-block detail-error"},React.createElement("div",{className:"detail-block-label mono"},"Error"),React.createElement("div",{className:"mono"},a.error)),a.provenance&&React.createElement("div",{className:"detail-block"},React.createElement("div",{className:"detail-block-label mono"},"Agent provenance \xB7 L1 inline"),React.createElement("div",{className:"detail-provenance"},a.provenance.map(o=>React.createElement("span",{key:o,className:"prov-chip"},React.createElement(MIcon,{name:"smart_toy",size:12})," ",o)))),a.preview&&React.createElement("div",{className:"detail-block"},React.createElement("div",{className:"detail-block-label mono"},"Latest"),React.createElement("pre",{className:"detail-pre"},a.preview)),a.linkOpens&&React.createElement("div",{className:"detail-block"},React.createElement("div",{className:"detail-block-label mono"},"Related"),React.createElement("div",{className:"detail-row"},React.createElement(EntityLink,{to:a.linkOpens,label:a.linkLabel||a.linkOpens.replace("."," / ")}))),React.createElement("div",{className:"detail-actions"},React.createElement("button",{className:"btn btn-secondary"},React.createElement(MIcon,{name:"open_in_new",size:14})," Open full page"),a.status==="fail"||a.status==="partial"?React.createElement(ReplayButton,{size:"md",cost:a.cost,onClick:()=>{},label:"Replay from failed stage"}):React.createElement("button",{className:"btn btn-ghost"},React.createElement(MIcon,{name:"replay",size:14})," Replay"),React.createElement("button",{className:"btn btn-ghost"},React.createElement(MIcon,{name:"content_copy",size:14})," Copy ID"),a.cost&&React.createElement(CostPill,{cost:a.cost,hint:"approximate cost per action"})))}function Drawer({open:a,item:s,kind:t,onClose:e}){return React.createElement("div",{className:`drawer ${a?"open":""}`,"aria-hidden":!a},React.createElement(DetailContent,{item:s,kind:t,onClose:e}))}function CommandPalette({open:a,onClose:s,prefs:t,setTweak:e,onTenantChange:i,kinds:l,activeWorkspace:o,onWorkspace:r,onNav:m}){const[u,v]=useState(""),d=useRef(null);if(useEffect(()=>{a&&d.current&&d.current.focus()},[a]),useEffect(()=>{const n=b=>{(b.metaKey||b.ctrlKey)&&b.key.toLowerCase()==="k"&&(b.preventDefault(),a?s():document.dispatchEvent(new CustomEvent("palette-open"))),b.key==="Escape"&&a&&s()};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[a,s]),!a)return null;const p=[];Object.values(window.STREAMS).forEach(n=>{n.subPages.forEach(b=>{p.push({group:n.label,label:`Go to \u2192 ${n.label} / ${b.label}`+(b.kind==="placeholder"?" (scaffold)":""),icon:n.icon,run:()=>{m&&m(n.id,b.id),s()}})})});const g=[...Object.keys(window.TENANTS).map(n=>({group:"Tenant",label:`Switch tenant \u2192 ${window.TENANTS[n].label}`,icon:"domain",run:()=>{i(n),s()}})),...p,...window.VIEW_OPTIONS.map(n=>({group:"View",label:`Set view \u2192 ${n.label}`,icon:n.icon,run:()=>{e("view",n.value),s()}})),{group:"Detail",label:"Detail pattern \u2192 Drawer",icon:"splitscreen_right",run:()=>{e("detail","drawer"),s()}},{group:"Detail",label:"Detail pattern \u2192 Split",icon:"view_column",run:()=>{e("detail","split"),s()}},{group:"Detail",label:"Detail pattern \u2192 Tab",icon:"tab",run:()=>{e("detail","tab"),s()}},{group:"Detail",label:"Detail pattern \u2192 Stack",icon:"layers",run:()=>{e("detail","stack"),s()}},{group:"Heartbeat",label:"Heartbeat \u2192 Global strip",icon:"sensors",run:()=>{e("heartbeat","global"),s()}},{group:"Heartbeat",label:"Heartbeat \u2192 Section DataTape",icon:"monitor_heart",run:()=>{e("heartbeat","section"),s()}},{group:"Heartbeat",label:"Heartbeat \u2192 Off",icon:"visibility_off",run:()=>{e("heartbeat","off"),s()}},{group:"Run",label:"Run now (Podcast)",icon:"play_arrow",run:()=>{m&&m("podcast","runs"),s()}},{group:"Help",label:"Open Runbook docs",icon:"menu_book",run:()=>{s()}}],N=u?g.filter(n=>n.label.toLowerCase().includes(u.toLowerCase())):g,c={};return N.forEach(n=>{(c[n.group]||=[]).push(n)}),React.createElement("div",{className:"palette-scrim",onClick:s},React.createElement("div",{className:"palette",onClick:n=>n.stopPropagation()},React.createElement("div",{className:"palette-input-row"},React.createElement(MIcon,{name:"search",size:18}),React.createElement("input",{ref:d,value:u,onChange:n=>v(n.target.value),placeholder:"Type a command, view, tenant, stream, or sub-page\u2026"}),React.createElement("span",{className:"kbd"},"esc")),React.createElement("div",{className:"palette-results"},Object.entries(c).slice(0,8).map(([n,b])=>React.createElement("div",{key:n,className:"palette-group"},React.createElement("div",{className:"palette-group-label mono"},n),b.slice(0,6).map((k,f)=>React.createElement("button",{key:f,className:"palette-item",onClick:k.run},React.createElement(MIcon,{name:k.icon,size:16}),React.createElement("span",null,k.label),React.createElement("span",{className:"palette-spacer"}),React.createElement(MIcon,{name:"arrow_forward",size:14})))))),React.createElement("div",{className:"palette-foot mono"},React.createElement("span",null,"\u2191\u2193 navigate"),React.createElement("span",null,"\u21B5 run"),React.createElement("span",null,"esc close"))))}function TasksTray({tasks:a,onDismiss:s,visible:t}){return!t||!a.length?null:React.createElement("div",{className:"tasks-tray",role:"status"},React.createElement("div",{className:"tasks-head mono"},React.createElement(MIcon,{name:"task_alt",size:14}),React.createElement("span",null,"Background tasks \xB7 ",a.length),React.createElement("button",{className:"tasks-min",onClick:()=>s("_all")},React.createElement(MIcon,{name:"close",size:14}))),a.map(e=>React.createElement("div",{key:e.id,className:`task-row st-${e.status}`},React.createElement(StatusDot,{status:e.status}),React.createElement("span",{className:"task-label"},e.label),React.createElement("span",{className:"mono ink-faint task-meta"},e.meta),e.status==="running"&&React.createElement("span",{className:"task-progress"},React.createElement("span",{className:"task-progress-fill",style:{width:e.progress+"%"}})),e.status!=="running"&&React.createElement("button",{className:"task-dismiss",onClick:()=>s(e.id)},React.createElement(MIcon,{name:"close",size:12})))))}function AgentRoster({visible:a,open:s,onToggle:t}){if(!a)return null;const e=[{id:"arxiv-agt",label:"arxiv-agt",status:"ok",task:"idle \xB7 last run 06:30"},{id:"ranker-agt",label:"ranker-agt",status:"ok",task:"idle"},{id:"gen-agt",label:"gen-agt",status:"running",task:"narrating ep 05-27 \xB7 14m elapsed"},{id:"postiz-agt",label:"postiz-agt",status:"warn",task:"rate-limited on X \xB7 backoff 4m"},{id:"sales-agt",label:"sales-agt",status:"running",task:"enriching Acme Dynamics inbound"},{id:"enrich-agt",label:"enrich-agt",status:"ok",task:"idle"},{id:"editor-agt",label:"editor-agt",status:"running",task:'drafting "Why we picked Item"'},{id:"fulfill-agt",label:"fulfill-agt",status:"ok",task:"picking O-29412, O-29417"},{id:"inventory-agt",label:"inventory-agt",status:"warn",task:"SKU-441 low \xB7 awaiting decision"},{id:"design-agt",label:"design-agt",status:"ok",task:"idle \xB7 6 in review"},{id:"ops-agt",label:"ops-agt",status:"ok",task:"monitoring \xB7 2 alerts"}];return React.createElement("aside",{className:`roster ${s?"":"roster-collapsed"}`},React.createElement("div",{className:"roster-head mono"},React.createElement(MIcon,{name:"smart_toy",size:14}),s&&React.createElement("span",{className:"roster-head-label"},"Agent roster \xB7 ",e.length),React.createElement("button",{type:"button",className:"roster-toggle",role:"switch","aria-checked":s,"aria-label":s?"Collapse agent roster":"Expand agent roster",title:s?"Collapse agent roster":"Expand agent roster",onClick:t},React.createElement("span",{className:"roster-toggle-knob"}))),React.createElement("div",{className:"roster-list"},e.map(i=>React.createElement("div",{key:i.id,className:`roster-row st-${i.status}`,title:s?void 0:`${i.label} \u2014 ${i.task}`},React.createElement(StatusDot,{status:i.status}),s&&React.createElement("div",{className:"roster-meta"},React.createElement("div",{className:"mono roster-name"},i.label),React.createElement("div",{className:"roster-task"},i.task))))))}function ActivityFeed({visible:a}){if(!a)return null;const s=[{agent:"gen-agt",verb:"started",target:"episode 2026-05-27",when:"14m ago",tone:"running"},{agent:"editor-agt",verb:"drafted",target:'"Why we picked Item over Run"',when:"32m ago",tone:"ok"},{agent:"sales-agt",verb:"enriched",target:"Acme Dynamics inbound \xB7 \u20AC90k",when:"38m ago",tone:"ok"},{agent:"inventory-agt",verb:"flagged",target:"SKU-441 low-stock",when:"1h ago",tone:"warn"},{agent:"postiz-agt",verb:"failed (retry 2/3)",target:"X post 2026-05-27",when:"1h ago",tone:"fail"},{agent:"design-agt",verb:"submitted",target:"DataTape v1.0.0-rc4",when:"1h ago",tone:"ok"},{agent:"fulfill-agt",verb:"shipped",target:"O-29411 \xB7 M\xFCller Logistik",when:"2h ago",tone:"ok"},{agent:"ops-agt",verb:"opened",target:"alert: OpenRouter 429 spike",when:"3h ago",tone:"fail"}];return React.createElement("aside",{className:"feed"},React.createElement("div",{className:"feed-head mono"},React.createElement(MIcon,{name:"rss_feed",size:14})," Activity"),React.createElement("div",{className:"feed-list"},s.map((t,e)=>React.createElement("div",{key:e,className:`feed-row st-${t.tone}`},React.createElement(StatusDot,{status:t.tone}),React.createElement("span",{className:"feed-line"},React.createElement("b",{className:"mono"},t.agent)," ",t.verb," ",React.createElement("span",{className:"ink-soft"},t.target)),React.createElement("span",{className:"feed-when mono ink-faint"},t.when)))))}window.GlobalHeartbeat=GlobalHeartbeat,window.TopBar=TopBar,window.MegaMenu=MegaMenu,window.StreamRail=StreamRail,window.SubNav=SubNav,window.BridgeStatusBanner=BridgeStatusBanner,window.KpiStrip=KpiStrip,window.HeroPanel=HeroPanel,window.AISuggestion=AISuggestion,window.DetailContent=DetailContent,window.Drawer=Drawer,window.CommandPalette=CommandPalette,window.TasksTray=TasksTray,window.AgentRoster=AgentRoster,window.ActivityFeed=ActivityFeed;
