vibeostheog 0.26.0 → 0.26.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/dist/assets/dashboard/assets/index-CspnmA46.js +3 -0
- package/dist/assets/dashboard/index.html +1 -1
- package/dist/assets/dashboard/vibeos-dashboard-config.js +1 -2
- package/dist/vibeOS.js +3439 -3519
- package/package.json +1 -1
- package/dist/assets/dashboard/assets/index-BAFoSUYT.css +0 -1
- package/dist/assets/dashboard/assets/index-BC32ZQ0q.css +0 -1
- package/dist/assets/dashboard/assets/index-BFPdi_Ph.css +0 -1
- package/dist/assets/dashboard/assets/index-BHjsjrCc.js +0 -5
- package/dist/assets/dashboard/assets/index-BUDvTrCq.css +0 -1
- package/dist/assets/dashboard/assets/index-BY7bffmm.js +0 -3
- package/dist/assets/dashboard/assets/index-BZu3dyXH.css +0 -1
- package/dist/assets/dashboard/assets/index-Brj9Ui6Z.js +0 -3
- package/dist/assets/dashboard/assets/index-C-ScsrcN.js +0 -3
- package/dist/assets/dashboard/assets/index-C5VfzSA8.js +0 -3
- package/dist/assets/dashboard/assets/index-C5tPTUjx.js +0 -3
- package/dist/assets/dashboard/assets/index-Cb3hwMDH.css +0 -1
- package/dist/assets/dashboard/assets/index-CjHF2vTf.css +0 -1
- package/dist/assets/dashboard/assets/index-CkX-loOf.js +0 -3
- package/dist/assets/dashboard/assets/index-D3bLrmaq.css +0 -1
- package/dist/assets/dashboard/assets/index-DGIMdqp_.css +0 -1
- package/dist/assets/dashboard/assets/index-DK4e4oaB.js +0 -3
- package/dist/assets/dashboard/assets/index-DhtwzMRd.js +0 -3
- package/dist/assets/dashboard/assets/index-DnK3sBqN.js +0 -3
- package/dist/assets/dashboard/assets/index-Dwg0W0mM.js +0 -3
- package/dist/assets/dashboard/assets/index-H09FCi_1.js +0 -5
- package/dist/assets/dashboard/assets/index-IZRaK1J1.js +0 -3
- package/dist/assets/dashboard/assets/index-VITT_Lum.js +0 -3
- package/dist/assets/dashboard/assets/index-Xf82CCxe.css +0 -1
- package/dist/assets/dashboard/assets/index-ZWfKo4FL.js +0 -3
- package/dist/assets/dashboard/assets/index-fhy-rD-W.css +0 -1
- package/dist/assets/dashboard/assets/index-mizr4ifp.js +0 -5
- package/dist/assets/dashboard/assets/index-rDxjSA11.css +0 -1
- package/dist/assets/dashboard/assets/index-xMN9Z-Zy.js +0 -3
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const a of l.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();const Dn=!1,In=(e,t)=>e===t,Ln=Symbol("solid-track"),Ct={equals:In};let rn=un;const Fe=1,Pt=2,on={owned:null,cleanups:null,context:null,owner:null},Rt={};var Z=null;let qt=null,Nn=null,M=null,ue=null,ze=null,Dt=0;function wt(e,t){const n=M,s=Z,i=e.length===0,l=t===void 0?s:t,a=i?on:{owned:null,cleanups:null,context:l?l.context:null,owner:l},o=i?e:()=>e(()=>Je(()=>_t(a)));Z=a,M=null;try{return Ze(o,!0)}finally{M=n,Z=s}}function K(e,t){t=t?Object.assign({},Ct,t):Ct;const n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},s=i=>(typeof i=="function"&&(i=i(n.value)),dn(n,i));return[cn.bind(n),s]}function Rn(e,t,n){const s=It(e,t,!0,Fe);rt(s)}function ne(e,t,n){const s=It(e,t,!1,Fe);rt(s)}function an(e,t,n){rn=zn;const s=It(e,t,!1,Fe);s.user=!0,ze?ze.push(s):rt(s)}function de(e,t,n){n=n?Object.assign({},Ct,n):Ct;const s=It(e,t,!0,0);return s.observers=null,s.observerSlots=null,s.comparator=n.equals||void 0,rt(s),cn.bind(s)}function qn(e){return e&&typeof e=="object"&&"then"in e}function Wt(e,t,n){let s,i,l;typeof t=="function"?(s=e,i=t,l={}):(s=!0,i=e,l=t||{});let a=null,o=Rt,c=!1,d="initialValue"in l,_=typeof s=="function"&&de(s);const u=new Set,[b,O]=(l.storage||K)(l.initialValue),[z,g]=K(void 0),[k,Q]=K(void 0,{equals:!1}),[D,$]=K(d?"ready":"unresolved");function I(U,v,C,T){return a===U&&(a=null,T!==void 0&&(d=!0),(U===o||v===o)&&l.onHydrated&&queueMicrotask(()=>l.onHydrated(T,{value:v})),o=Rt,se(v,C)),v}function se(U,v){Ze(()=>{v===void 0&&O(()=>U),$(v!==void 0?"errored":d?"ready":"unresolved"),g(v);for(const C of u.keys())C.decrement();u.clear()},!1)}function fe(){const U=Un,v=b(),C=z();if(C!==void 0&&!a)throw C;return M&&M.user,v}function ve(U=!0){if(U!==!1&&c)return;c=!1;const v=_?_():s;if(v==null||v===!1){I(a,Je(b));return}let C;const T=o!==Rt?o:Je(()=>{try{return i(v,{value:b(),refetching:U})}catch(q){C=q}});if(C!==void 0){I(a,void 0,kt(C),v);return}else if(!qn(T))return I(a,T,void 0,v),T;return a=T,"v"in T?(T.s===1?I(a,T.v,void 0,v):I(a,void 0,kt(T.v),v),T):(c=!0,queueMicrotask(()=>c=!1),Ze(()=>{$(d?"refreshing":"pending"),Q()},!1),T.then(q=>I(T,q,void 0,v),q=>I(T,void 0,kt(q),v)))}Object.defineProperties(fe,{state:{get:()=>D()},error:{get:()=>z()},loading:{get(){const U=D();return U==="pending"||U==="refreshing"}},latest:{get(){if(!d)return fe();const U=z();if(U&&!a)throw U;return b()}}});let ge=Z;return _?Rn(()=>(ge=Z,ve(!1))):ve(!1),[fe,{refetch:U=>Bn(ge,()=>ve(U)),mutate:O}]}function Je(e){if(M===null)return e();const t=M;M=null;try{return e()}finally{M=t}}function zt(e){return Z===null||(Z.cleanups===null?Z.cleanups=[e]:Z.cleanups.push(e)),e}function Bn(e,t){const n=Z,s=M;Z=e,M=null;try{return Ze(t,!0)}catch(i){Ft(i)}finally{Z=n,M=s}}const[Ki,Ji]=K(!1);let Un;function cn(){if(this.sources&&this.state)if(this.state===Fe)rt(this);else{const e=ue;ue=null,Ze(()=>At(this),!1),ue=e}if(M){const e=this.observers;if(!e||e[e.length-1]!==M){const t=e?e.length:0;M.sources?(M.sources.push(this),M.sourceSlots.push(t)):(M.sources=[this],M.sourceSlots=[t]),e?(e.push(M),this.observerSlots.push(M.sources.length-1)):(this.observers=[M],this.observerSlots=[M.sources.length-1])}}return this.value}function dn(e,t,n){let s=e.value;return(!e.comparator||!e.comparator(s,t))&&(e.value=t,e.observers&&e.observers.length&&Ze(()=>{for(let i=0;i<e.observers.length;i+=1){const l=e.observers[i],a=qt&&qt.running;a&&qt.disposed.has(l),(a?!l.tState:!l.state)&&(l.pure?ue.push(l):ze.push(l),l.observers&&fn(l)),a||(l.state=Fe)}if(ue.length>1e6)throw ue=[],new Error},!1)),t}function rt(e){if(!e.fn)return;_t(e);const t=Dt;Mn(e,e.value,t)}function Mn(e,t,n){let s;const i=Z,l=M;M=Z=e;try{s=e.fn(t)}catch(a){return e.pure&&(e.state=Fe,e.owned&&e.owned.forEach(_t),e.owned=null),e.updatedAt=n+1,Ft(a)}finally{M=l,Z=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?dn(e,s):e.value=s,e.updatedAt=n)}function It(e,t,n,s=Fe,i){const l={fn:e,state:s,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:Z,context:Z?Z.context:null,pure:n};return Z===null||Z!==on&&(Z.owned?Z.owned.push(l):Z.owned=[l]),l}function jt(e){if(e.state===0)return;if(e.state===Pt)return At(e);if(e.suspense&&Je(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<Dt);)e.state&&t.push(e);for(let n=t.length-1;n>=0;n--)if(e=t[n],e.state===Fe)rt(e);else if(e.state===Pt){const s=ue;ue=null,Ze(()=>At(e,t[0]),!1),ue=s}}function Ze(e,t){if(ue)return e();let n=!1;t||(ue=[]),ze?n=!0:ze=[],Dt++;try{const s=e();return Vn(n),s}catch(s){n||(ze=null),ue=null,Ft(s)}}function Vn(e){if(ue&&(un(ue),ue=null),e)return;const t=ze;ze=null,t.length&&Ze(()=>rn(t),!1)}function un(e){for(let t=0;t<e.length;t++)jt(e[t])}function zn(e){let t,n=0;for(t=0;t<e.length;t++){const s=e[t];s.user?e[n++]=s:jt(s)}for(t=0;t<n;t++)jt(e[t])}function At(e,t){e.state=0;for(let n=0;n<e.sources.length;n+=1){const s=e.sources[n];if(s.sources){const i=s.state;i===Fe?s!==t&&(!s.updatedAt||s.updatedAt<Dt)&&jt(s):i===Pt&&At(s,t)}}}function fn(e){for(let t=0;t<e.observers.length;t+=1){const n=e.observers[t];n.state||(n.state=Pt,n.pure?ue.push(n):ze.push(n),n.observers&&fn(n))}}function _t(e){let t;if(e.sources)for(;e.sources.length;){const n=e.sources.pop(),s=e.sourceSlots.pop(),i=n.observers;if(i&&i.length){const l=i.pop(),a=n.observerSlots.pop();s<i.length&&(l.sourceSlots[a]=s,i[s]=l,n.observerSlots[s]=a)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)_t(e.tOwned[t]);delete e.tOwned}if(e.owned){for(t=e.owned.length-1;t>=0;t--)_t(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0}function kt(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function Ft(e,t=Z){throw kt(e)}const Fn=Symbol("fallback");function Gt(e){for(let t=0;t<e.length;t++)e[t]()}function Hn(e,t,n={}){let s=[],i=[],l=[],a=0,o=t.length>1?[]:null;return zt(()=>Gt(l)),()=>{let c=e()||[],d=c.length,_,u;return c[Ln],Je(()=>{let O,z,g,k,Q,D,$,I,se;if(d===0)a!==0&&(Gt(l),l=[],s=[],i=[],a=0,o&&(o=[])),n.fallback&&(s=[Fn],i[0]=wt(fe=>(l[0]=fe,n.fallback())),a=1);else if(a===0){for(i=new Array(d),u=0;u<d;u++)s[u]=c[u],i[u]=wt(b);a=d}else{for(g=new Array(d),k=new Array(d),o&&(Q=new Array(d)),D=0,$=Math.min(a,d);D<$&&s[D]===c[D];D++);for($=a-1,I=d-1;$>=D&&I>=D&&s[$]===c[I];$--,I--)g[I]=i[$],k[I]=l[$],o&&(Q[I]=o[$]);for(O=new Map,z=new Array(I+1),u=I;u>=D;u--)se=c[u],_=O.get(se),z[u]=_===void 0?-1:_,O.set(se,u);for(_=D;_<=$;_++)se=s[_],u=O.get(se),u!==void 0&&u!==-1?(g[u]=i[_],k[u]=l[_],o&&(Q[u]=o[_]),u=z[u],O.set(se,u)):l[_]();for(u=D;u<d;u++)u in g?(i[u]=g[u],l[u]=k[u],o&&(o[u]=Q[u],o[u](u))):i[u]=wt(b);i=i.slice(0,a=d),s=c.slice(0)}return i});function b(O){if(l[u]=O,o){const[z,g]=K(u);return o[u]=g,t(c[u],z)}return t(c[u])}}}function y(e,t){return Je(()=>e(t||{}))}const Kn=e=>`Stale read from <${e}>.`;function ce(e){const t="fallback"in e&&{fallback:()=>e.fallback};return de(Hn(()=>e.each,e.children,t||void 0))}function we(e){const t=e.keyed,n=de(()=>e.when,void 0,void 0),s=t?n:de(n,void 0,{equals:(i,l)=>!i==!l});return de(()=>{const i=s();if(i){const l=e.children;return typeof l=="function"&&l.length>0?Je(()=>l(t?i:()=>{if(!Je(s))throw Kn("Show");return n()})):l}return e.fallback},void 0,void 0)}const it=e=>de(()=>e());function Jn(e,t,n){let s=n.length,i=t.length,l=s,a=0,o=0,c=t[i-1].nextSibling,d=null;for(;a<i||o<l;){if(t[a]===n[o]){a++,o++;continue}for(;t[i-1]===n[l-1];)i--,l--;if(i===a){const _=l<s?o?n[o-1].nextSibling:n[l-o]:c;for(;o<l;)e.insertBefore(n[o++],_)}else if(l===o)for(;a<i;)(!d||!d.has(t[a]))&&t[a].remove(),a++;else if(t[a]===n[l-1]&&n[o]===t[i-1]){const _=t[--i].nextSibling;e.insertBefore(n[o++],t[a++].nextSibling),e.insertBefore(n[--l],_),t[i]=n[l]}else{if(!d){d=new Map;let u=o;for(;u<l;)d.set(n[u],u++)}const _=d.get(t[a]);if(_!=null)if(o<_&&_<l){let u=a,b=1,O;for(;++u<i&&u<l&&!((O=d.get(t[u]))==null||O!==_+b);)b++;if(b>_-o){const z=t[a];for(;o<_;)e.insertBefore(n[o++],z)}else e.replaceChild(n[o++],t[a++])}else a++;else t[a++].remove()}}}const Xt="_$DX_DELEGATE";function Zn(e,t,n,s={}){let i;return wt(l=>{i=l,t===document?e():r(t,e(),t.firstChild?null:void 0,n)},s.owner),()=>{i(),t.textContent=""}}function S(e,t,n,s){let i;const l=()=>{const o=document.createElement("template");return o.innerHTML=e,o.content.firstChild},a=()=>(i||(i=l())).cloneNode(!0);return a.cloneNode=a,a}function gt(e,t=window.document){const n=t[Xt]||(t[Xt]=new Set);for(let s=0,i=e.length;s<i;s++){const l=e[s];n.has(l)||(n.add(l),t.addEventListener(l,Gn))}}function pt(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function oe(e,t){t==null?e.removeAttribute("class"):e.className=t}function xt(e,t,n,s){Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n}function Wn(e,t,n){if(!t)return n?pt(e,"style"):t;const s=e.style;if(typeof t=="string")return s.cssText=t;typeof n=="string"&&(s.cssText=n=void 0),n||(n={}),t||(t={});let i,l;for(l in n)t[l]==null&&s.removeProperty(l),delete n[l];for(l in t)i=t[l],i!==n[l]&&(s.setProperty(l,i),n[l]=i);return n}function r(e,t,n,s){if(n!==void 0&&!s&&(s=[]),typeof t!="function")return Tt(e,t,s,n);ne(i=>Tt(e,t(),i,n),s)}function Gn(e){let t=e.target;const n=`$$${e.type}`,s=e.target,i=e.currentTarget,l=c=>Object.defineProperty(e,"target",{configurable:!0,value:c}),a=()=>{const c=t[n];if(c&&!t.disabled){const d=t[`${n}Data`];if(d!==void 0?c.call(t,d,e):c.call(t,e),e.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(e.target)&&l(t.host),!0},o=()=>{for(;a()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),e.composedPath){const c=e.composedPath();l(c[0]);for(let d=0;d<c.length-2&&(t=c[d],!!a());d++){if(t._$host){t=t._$host,o();break}if(t.parentNode===i)break}}else o();l(s)}function Tt(e,t,n,s,i){for(;typeof n=="function";)n=n();if(t===n)return n;const l=typeof t,a=s!==void 0;if(e=a&&n[0]&&n[0].parentNode||e,l==="string"||l==="number"){if(l==="number"&&(t=t.toString(),t===n))return n;if(a){let o=n[0];o&&o.nodeType===3?o.data!==t&&(o.data=t):o=document.createTextNode(t),n=st(e,n,s,o)}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t}else if(t==null||l==="boolean")n=st(e,n,s);else{if(l==="function")return ne(()=>{let o=t();for(;typeof o=="function";)o=o();n=Tt(e,o,n,s)}),()=>n;if(Array.isArray(t)){const o=[],c=n&&Array.isArray(n);if(Ut(o,t,n,i))return ne(()=>n=Tt(e,o,n,s,!0)),()=>n;if(o.length===0){if(n=st(e,n,s),a)return n}else c?n.length===0?Qt(e,o,s):Jn(e,n,o):(n&&st(e),Qt(e,o));n=o}else if(t.nodeType){if(Array.isArray(n)){if(a)return n=st(e,n,s,t);st(e,n,null,t)}else n==null||n===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}}return n}function Ut(e,t,n,s){let i=!1;for(let l=0,a=t.length;l<a;l++){let o=t[l],c=n&&n[e.length],d;if(!(o==null||o===!0||o===!1))if((d=typeof o)=="object"&&o.nodeType)e.push(o);else if(Array.isArray(o))i=Ut(e,o,c)||i;else if(d==="function")if(s){for(;typeof o=="function";)o=o();i=Ut(e,Array.isArray(o)?o:[o],Array.isArray(c)?c:[c])||i}else e.push(o),i=!0;else{const _=String(o);c&&c.nodeType===3&&c.data===_?e.push(c):e.push(document.createTextNode(_))}}return i}function Qt(e,t,n=null){for(let s=0,i=t.length;s<i;s++)e.insertBefore(t[s],n)}function st(e,t,n,s){if(n===void 0)return e.textContent="";const i=s||document.createTextNode("");if(t.length){let l=!1;for(let a=t.length-1;a>=0;a--){const o=t[a];if(i!==o){const c=o.parentNode===e;!l&&!a?c?e.replaceChild(i,o):e.insertBefore(i,n):c&&o.remove()}else l=!0}}else e.insertBefore(i,n);return[i]}function V(e){return JSON.parse(JSON.stringify(e))}function et(){return new Date().toISOString()}function Yt(e){return`$${e.toFixed(2)}`}const $t="proj_dashboard",lt="sess_vibeultra_exec",Bt="flow_tdd_live",Ye={recommended_next_action:"Resolve the API wiring, run the TDD flow, then verify the desktop 4-column session workspace.",recommended_label:"TDD Flow Plan",reason:"The dashboard must expose a strict deterministic execution path before allowing further session work.",confidence:.92,flow:!0,steps:[{tool:"plan",label:"Resolve execution plan",reason:"Lock the next structured steps before any run."},{tool:"tdd",label:"Write failing expectation",reason:"Capture KPI, mode, and deterministic UI behavior in testable form."},{tool:"implement",label:"Wire API-backed session controls",reason:"Surface live mode, lock, policy, and plan data."},{tool:"web_search",label:"Ground research when needed",reason:"Only use structured search steps inside the session."},{tool:"verify",label:"Run preview and inspect layout",reason:"Confirm Home and 4-column workspace render operationally."}],signals:{deterministic_execution_policy:"strict-deterministic",requested_optimization_mode:"vibeultrax",effective_optimization_mode:"vibeultrax",effective_slot:"brain"},capabilities:{web_search:!0,tdd:!0,vibeultrax:!0}},h={status:{enabled:!0,active_slot:"brain",enforce:!0,flow_enforcer:!0,flow_extract_todos:!0,tdd_enforcer:!0,tdd_strict:!0,thinking:"full",current_model:"openai/gpt-5",current_provider:"OpenAI",current_quality_tier:"brain",credit_percent:72,version:"preview",backend_connected:!1,backendConnected:!1,backend_api_url:"https://api.vibetheog.com/api/v1",backend_health_url:"https://api.vibetheog.com/health",backend_health_checked_at:et(),backend_health_age_ms:0,backend_health_latency_ms:null,backend_health_status:null,backend_health_error:"preview fallback",backend_version:null,api_fallback:!0,api_fallback_since:et(),model_locked:!0,locked_slot:"brain",locked_model:"openai/gpt-5",optimization_mode:"vibeultrax",recommended_next_action:"Open the active session and run the TDD flow plan.",orchestration_plan:V(Ye),tiers:null,label_modes:["vibeultrax","vibeqmax","vibemax","vibelitex","raw"],todos:{total:6,pending:4},current_project_fingerprint:"dashboard/home-4col",current_project_name:"Dashboard Control Center",reality_check_enabled:!0,reality_check_scope:"project",reality_check_project_id:$t,reality_check_rules_count:3},savings:{lifetime:{delegation_usd:18.34,cache_usd:9.81,missed_context7_usd:2.15,total_warns:7},current_session:{delegation_usd:4.62,cache_usd:1.28,warns_count:1,tool_breakdown:{plan:2.1,tdd:1.7,web_search:.8,verify:1.3}},cache_hits_this_session:14,trend:"up",savings_rate_per_hour:3.9},capabilities:{web_search:{enabled:!0,provider:"api",fixture_mode:!0},compression:{enabled:!0,provider:"local"},tdd:{enabled:!0,provider:"local"},blackbox:{enabled:!0,provider:"local"},vibemax:{enabled:!0,provider:"local"},vibeqmax:{enabled:!0,provider:"local"},vibeultrax:{enabled:!0,provider:"local"},vibelitex:{enabled:!0,provider:"local"},raw:{enabled:!0,provider:"local"}},projects:[{id:$t,name:"Dashboard Control Center",fingerprint:"dashboard/home-4col",default_flow_id:Bt,created_at:"2026-07-03T12:30:00.000Z",updated_at:"2026-07-03T15:05:00.000Z"}],sessions:[{id:lt,project_id:$t,title:"Executive Home + Deterministic Session Rail",flow_id:Bt,created_at:"2026-07-03T12:45:00.000Z",updated_at:"2026-07-03T15:06:00.000Z"}],flows:[{id:Bt,scope:"project",project_id:$t,name:"TDD Flow Plan",graph:{nodes:[{id:"plan",tool:"plan",label:"Resolve plan"},{id:"tdd",tool:"tdd",label:"Write failing expectation"},{id:"implement",tool:"implement",label:"Implement dashboard changes"},{id:"verify",tool:"verify",label:"Preview and validate"}],edges:[{from:"plan",to:"tdd"},{from:"tdd",to:"implement"},{from:"implement",to:"verify"}]},created_at:"2026-07-03T12:40:00.000Z",updated_at:"2026-07-03T15:02:00.000Z"}],messages:{[lt]:[{id:"msg_user_1",role:"user",content:"Build the executive home, wire the 4-column operational session UI, and keep deterministic execution only.",plan:V(Ye),results:null,created_at:"2026-07-03T12:46:00.000Z"},{id:"msg_assistant_1",role:"assistant",content:"Resolved plan: Home KPIs first, then session rail, then API wiring, then preview verification.",plan:V(Ye),results:[{step:Ye.steps[0],result:{ok:!0,state:"resolved"}},{step:Ye.steps[1],result:{ok:!0,tests:"drafted"}},{step:Ye.steps[2],result:{ok:!0,controls:"api-backed"}}],created_at:"2026-07-03T12:49:00.000Z"}]},reports:[{id:"report_preview_audit",type:"audit",summary:"Preview fallback is active because the backend is unavailable; UI remains interactive.",created:"2026-07-03T15:00:00.000Z",tags:["preview","dashboard","fallback"]}],sessionState:{status:"active",locked:!0,archived:!1,optimization_mode:"vibeultrax",recommendation:"Run the structured TDD flow once the API is healthy, or continue in preview mode for layout verification.",lifecycle:{created_at:"2026-07-03T12:45:00.000Z",paused_at:null,resumed_at:"2026-07-03T13:10:00.000Z",archived_at:null,checked_out_at:"2026-07-03T15:06:00.000Z"},notes:[{text:"Column 4 is the authority rail for mode, plan, lock, and policy."},{text:"Sub-regimes such as speed, audit, forensic, and longrun are not top-level vibe modes."}],tags:["home","session","deterministic","tdd","web-search"],template:{id:"tdd-flow-plan",label:"TDD Flow Plan",body:"Plan -> TDD -> Implement -> Verify",signature:"preview-template",revision:4,source:"preview"},blackbox:{enabled:!0,sub_regime:"audit",resolution:"strict deterministic",momentum:84,loop_count:3}}};function Xn(){return h.projects[0]}function Qn(){return h.sessions[0]}function yt(){const e=Qn(),t=Xn();return{title:e.title,session_id:e.id,status:h.sessionState.status,locked:h.sessionState.locked,archived:h.sessionState.archived,project_name:t.name,project_fingerprint:t.fingerprint,started_at:h.sessionState.lifecycle.created_at,cost_usd:2.41,delegation_savings_usd:h.savings.current_session.delegation_usd,cache_savings_usd:h.savings.current_session.cache_usd,notes_count:h.sessionState.notes.length,tags:V(h.sessionState.tags),template:V(h.sessionState.template),optimization_mode:h.sessionState.optimization_mode,orchestration_plan:V(Ye),blackbox:V(h.sessionState.blackbox),recommendation:h.sessionState.recommendation,notes:V(h.sessionState.notes),lifecycle:V(h.sessionState.lifecycle),orchestration:{effective_optimization_mode:h.sessionState.optimization_mode,requested_optimization_mode:h.sessionState.optimization_mode,effective_slot:h.status.active_slot,deterministic_execution_policy:"strict-deterministic",resolved_plan_metadata:{source:"preview",strict:!0,generated_at:et()},mode_capabilities:V(h.capabilities)}}}function Yn(){var s;const e=yt(),t=h.savings.lifetime.delegation_usd+h.savings.lifetime.cache_usd,n=e.delegation_savings_usd+e.cache_savings_usd;return{home:{title:"Executive Operational Home",subtitle:"Main KPIs, current deterministic session, and next structured action.",recommendation:"Open the active session and continue the TDD Flow Plan from the deterministic rail.",cards:[{label:"Active project",value:e.project_name},{label:"Active session",value:e.title},{label:"Vibe mode",value:"VibeUltraX"},{label:"Slot",value:h.status.active_slot},{label:"Model",value:h.status.current_model},{label:"Lock state",value:h.sessionState.locked?"locked":"mutable"},{label:"Backend",value:h.status.backend_connected?"live":"preview fallback"},{label:"Session cost",value:Yt(e.cost_usd)},{label:"Session savings",value:Yt(n)},{label:"Pending TODOs",value:String(((s=h.status.todos)==null?void 0:s.pending)||0)}]},savings:V(h.savings),todos:[{id:"todo_1",status:"pending",title:"Verify Home KPI density"},{id:"todo_2",status:"pending",title:"Validate 4-column desktop layout"},{id:"todo_3",status:"pending",title:"Confirm mode rail exposes all branded vibe modes"},{id:"todo_4",status:"pending",title:"Check blocked-state messaging for unsupported actions"}],current_session:e,template_editor:{enabled:!0,session_id:e.session_id,template:V(h.sessionState.template),templates:[V(h.sessionState.template)],can_edit:!1,can_version:!1,version:4,history:[]},sessions:[{session_id:e.session_id,is_current:!0,started_at:e.started_at,cost_usd:e.cost_usd,delegation_savings_usd:e.delegation_savings_usd,cache_savings_usd:e.cache_savings_usd,status:e.status,locked:e.locked,archived:e.archived,tags:V(e.tags),notes_count:e.notes_count,template_label:e.template.label||e.template.id,template_signature:e.template.signature||null,recommendation:e.recommendation}],templates:[V(h.sessionState.template)],session_actions:["start","pause","resume","lock","unlock","archive","undo"],totals:{total_sessions:h.sessions.length,total_savings_usd:t,current_session_savings_usd:n,pending_todos:4},status:V(h.status),blackbox:{sub_regime:h.sessionState.blackbox.sub_regime,resolution:h.sessionState.blackbox.resolution},backend_connected:h.status.backend_connected,backend_status:h.status.backend_connected?"online":"preview fallback",backend_health_url:h.status.backend_health_url,backend_version:h.status.backend_version}}function es(){var n;if(typeof window>"u")return!1;const e=String(((n=window.localStorage)==null?void 0:n.getItem("vibeos.dashboard.preview"))||"").toLowerCase();if(e==="1"||e==="true"||e==="on")return!0;const t=window.location.hostname;return t==="127.0.0.1"||t==="localhost"}function ts(){return V(h.status)}function ns(){return V(h.savings)}function ss(){return V(h.capabilities)}function is(){return V(h.projects)}function ls(e){const t=e?h.sessions.filter(n=>n.project_id===e):h.sessions;return V(t)}function rs(e){const t=e?h.flows.filter(n=>n.project_id===e||n.scope==="global"):h.flows;return V(t)}function os(e){return V(h.messages[e]||[])}function as(){return V(h.reports)}function cs(){return Yn()}function Mt(e){return e!==lt?{session:yt(),metrics:{},orchestration:null}:{session:yt(),metrics:{session_savings_usd:h.savings.current_session.delegation_usd+h.savings.current_session.cache_usd,session_cost_usd:2.41,strict_policy:"strict-deterministic",effective_slot:h.status.active_slot,requested_optimization_mode:h.sessionState.optimization_mode,effective_optimization_mode:h.sessionState.optimization_mode},orchestration:V(yt().orchestration)}}function ds(e,t){return e==="mode"&&t?(h.status.optimization_mode=t,h.sessionState.optimization_mode=t,h.status.recommended_next_action=`Mode switched to ${t}. Continue with the structured TDD flow.`,{ok:!0,result:{optimization_mode:t}}):e==="set"&&t?(h.status.active_slot=t,h.status.current_quality_tier=t,h.status.model_locked=!0,h.status.locked_slot=t,{ok:!0,result:{active_slot:t}}):{ok:!0,result:{action:e,slot:t}}}function us(e,t){const n=h.sessions.find(s=>s.id===e)||h.sessions[0];return typeof t.title=="string"&&(n.title=t.title),"flow_id"in t&&(n.flow_id=t.flow_id??null),n.updated_at=et(),V(n)}function fs(e,t){return e!==lt||(t==="lock"?(h.sessionState.locked=!0,h.status.model_locked=!0):t==="unlock"?(h.sessionState.locked=!1,h.status.model_locked=!1):t==="pause"?(h.sessionState.status="paused",h.sessionState.lifecycle.paused_at=et()):t==="resume"||t==="start"?(h.sessionState.status="active",h.sessionState.lifecycle.resumed_at=et()):t==="archive"?(h.sessionState.archived=!0,h.sessionState.status="archived",h.sessionState.lifecycle.archived_at=et()):t==="undo"&&(h.sessionState.archived=!1,h.sessionState.status="active",h.sessionState.lifecycle.archived_at=null),h.sessionState.recommendation=`Last structured action: ${t}. Preview state updated locally.`),Mt(lt)}function hs(e){const t=e.trim()||"dashboard deterministic session";return{ok:!0,query:t,provider:"preview-fixture",results:[{id:"1",title:"Structured execution patterns for operational dashboards",url:"https://example.com/structured-execution",domain:"example.com",snippet:"Operational dashboards keep the execution plan, hard state, and KPI signals visible in the same workspace.",source:"preview",rank:1},{id:"2",title:"TDD planning in live orchestration UIs",url:"https://example.com/tdd-orchestration",domain:"example.com",snippet:"A deterministic control rail should expose the active plan before execution starts.",source:"preview",rank:2},{id:"3",title:"Session command centers with strict blocked-state messaging",url:"https://example.com/blocked-state",domain:"example.com",snippet:"Unsupported actions should fail explicitly when strict mode is active.",source:"preview",rank:3}],citations:[{id:1,title:"Structured execution patterns for operational dashboards",url:"https://example.com/structured-execution",domain:"example.com"},{id:2,title:"TDD planning in live orchestration UIs",url:"https://example.com/tdd-orchestration",domain:"example.com"},{id:3,title:"Session command centers with strict blocked-state messaging",url:"https://example.com/blocked-state",domain:"example.com"}],answer:`Preview search answer for "${t}": keep the Home screen KPI-dense, expose all branded vibe modes in column 4, render the resolved TDD flow plan before execution, and block unsupported actions under strict deterministic policy.`,meta:{resultCount:3,uniqueDomains:1}}}const Ht=typeof window<"u"?window:{},ht=Ht.__VIBEOS_DASHBOARD_BASE__??"",Vt=Ht.__VIBEOS_DASHBOARD_TOKEN__??"";let St=null;function Kt(){const e={"Content-Type":"application/json"};return Vt&&(e.Authorization="Bearer "+Vt),e}async function _e(e,t){const n=await fetch(ht+e,{headers:Kt(),...t});if(!n.ok)throw new Error(`API ${n.status}: ${n.statusText}`);return n.json()}function Et(e){return String(e||"").trim().replace(/\/$/,"")}function Ot(e){return Et(e).replace(/\/api\/v1$/,"")}function ms(e){const t=Et(e);if(!t)return"";try{const n=new URL(t,typeof window<"u"?window.location.origin:"http://127.0.0.1");return n.pathname.endsWith("/health")&&(n.pathname=n.pathname.slice(0,-7)||"/"),Ot(n.href)}catch{return Ot(t.replace(/\/health$/,""))}}async function hn(){const e=Ot(Ht.__VIBEOS_BACKEND_API_BASE__);if(e)return e;if(ht){const t=Et(ht).replace(/\/api\/v1\/dashboard$/,"");if(t!==Et(ht))return t}return St||(St=(async()=>{try{const t=await _e("/status"),n=Ot(t.backend_api_url);if(n)return n;const s=ms(t.backend_health_url);if(s)return s}catch{}return"https://api.vibetheog.com"})(),St)}async function mn(e,t){const n=await hn(),s=await fetch(n+e,{headers:Kt(),...t});if(!s.ok)throw new Error(`API ${s.status}: ${s.statusText}`);return s.json()}async function pe(e,t){try{return await e()}catch(n){if(es())return await t();throw n}}function _n(){return pe(()=>_e("/status"),()=>ts())}function pn(){return pe(()=>_e("/savings"),()=>ns())}function _s(){return pe(()=>_e("/sessions"),()=>({sessions:[],total_sessions:0}))}function ps(){return pe(()=>_e("/reports"),()=>as())}function vn(){return pe(()=>_e("/capabilities"),()=>ss())}function gn(){return pe(()=>_e("/dashboard/home"),()=>cs())}function bn(e){return pe(()=>_e(`/sessions/${encodeURIComponent(e)}`),()=>Mt(e))}function mt(e,t,n,s){const i={action:e};return t&&(i.slot=t),n&&(i.level=n),s&&(i.token=s),pe(()=>_e("/trinity",{method:"POST",body:JSON.stringify(i)}),()=>ds(e,t))}function vs(e,t){return pe(()=>_e(`/sessions/${encodeURIComponent(e)}/action`,{method:"POST",body:JSON.stringify(t)}),()=>{const n=fs(e,String(t.action||""));return{ok:!0,session:n.session,metrics:n.metrics,orchestration:n.orchestration??null}})}function gs(e="global",t){const n=new URLSearchParams;return n.set("scope",e),t&&n.set("project_id",t),_e(`/reality-check?${n.toString()}`)}function bs(e){return _e("/reality-check",{method:"POST",body:JSON.stringify(e)})}function $s(e){return pe(()=>_e("/web-search",{method:"POST",body:JSON.stringify(e)}),()=>hs(e.query))}async function Ss(e){const t=e||"https://api.vibetheog.com/health";try{return(await fetch(t,{signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}function $n(e){let t=!1;if(Vt){let i=null;const l=async()=>{try{const[a,o]=await Promise.all([_e("/status"),_e("/savings")]);t||e({status:a,savings:o})}catch{}};return l(),i=setInterval(l,3e3),()=>{t=!0,i&&clearInterval(i)}}let n=null;function s(){if(t)return;const i=new EventSource(ht+"/events");i.onmessage=l=>{try{const a=JSON.parse(l.data);t||e(a)}catch{}},i.onerror=()=>{i.close(),t||(n=setTimeout(s,3e3))}}return s(),()=>{t=!0,n&&clearTimeout(n)}}function ws(e,t){return mn("/api/v1/blackbox/analyze",{method:"POST",body:JSON.stringify({session_id:e,project_id:t.project_id||null,user_text:t.userText||"",features:t.features||{},action:t.action||"explore",entropy:t.entropy??1,uncertainty:t.uncertainty??50,embedding:t.embedding||null,optimization_mode:t.optimizationMode||"auto"})})}async function je(e,t){return mn(`/api/v1/orchestrator${e}`,t)}function Sn(){return pe(()=>je("/projects"),()=>({projects:is()}))}function wn(e,t){return je("/projects",{method:"POST",body:JSON.stringify({name:e,fingerprint:t})})}function ks(e,t){return je(`/projects/${e}`,{method:"PUT",body:JSON.stringify(t)})}function xs(e){return je(`/projects/${e}`,{method:"DELETE"})}function kn(e){return pe(()=>je(`/sessions${e?`?project_id=${encodeURIComponent(e)}`:""}`),()=>({sessions:ls(e)}))}function ys(e,t,n){return je("/sessions",{method:"POST",body:JSON.stringify({project_id:e,title:t,flow_id:n??null})})}function Cs(e,t){return pe(()=>je(`/sessions/${e}`,{method:"PUT",body:JSON.stringify(t)}),()=>({session:us(e,t)}))}function Ps(e){return je(`/sessions/${e}`,{method:"DELETE"})}function xn(e){return pe(()=>je(`/sessions/${e}/messages`),()=>({messages:os(e)}))}function yn(e){return pe(()=>je(`/flows${e?`?project_id=${encodeURIComponent(e)}`:""}`),()=>({flows:rs(e)}))}function js(e,t,n="global",s){return je("/flows",{method:"POST",body:JSON.stringify({name:e,graph:t,scope:n,project_id:s})})}function As(e,t){return je(`/flows/${e}`,{method:"PUT",body:JSON.stringify(t)})}function Ts(e){return je(`/flows/${e}`,{method:"DELETE"})}function Cn(e,t,n){const s=new AbortController;return(async()=>{var d,_,u;const i=await hn(),l=await fetch(i+`/api/v1/orchestrator/sessions/${e}/run`,{method:"POST",headers:Kt(),body:JSON.stringify(t),signal:s.signal});if(!l.ok||!l.body){(d=n.onError)==null||d.call(n,new Error(`run failed: ${l.status}`));return}const a=l.body.getReader(),o=new TextDecoder;let c="";for(;;){const{done:b,value:O}=await a.read();if(b)break;c+=o.decode(O,{stream:!0});let z;for(;(z=c.indexOf(`
|
|
2
|
-
|
|
3
|
-
`))>=0;){const g=c.slice(0,z);c=c.slice(z+2);const k=(_=g.match(/event: (.*)/))==null?void 0:_[1],Q=g.slice(g.indexOf("data: ")+6);if(!(!k||g.indexOf("data: ")<0))try{n.onEvent(k,JSON.parse(Q))}catch{}}}(u=n.onDone)==null||u.call(n)})().catch(i=>{var l;(i==null?void 0:i.name)!=="AbortError"&&((l=n.onError)==null||l.call(n,i))}),()=>s.abort()}const Es=Object.freeze(Object.defineProperty({__proto__:null,blackboxAnalyze:ws,checkBackendHealth:Ss,createFlow:js,createProject:wn,createSession:ys,deleteFlow:Ts,deleteProject:xs,deleteSession:Ps,fetchCapabilities:vn,fetchDashboardHome:gn,fetchRealityCheck:gs,fetchReports:ps,fetchSavings:pn,fetchSessionDetail:bn,fetchSessions:_s,fetchStatus:_n,listFlows:yn,listMessages:xn,listProjects:Sn,listSessions:kn,openSSE:$n,postSessionAction:vs,postTrinity:mt,runSession:Cn,saveRealityCheck:bs,updateFlow:As,updateProject:ks,updateSession:Cs,webSearch:$s},Symbol.toStringTag,{value:"Module"})),Os="home";function Ds(e){const t=String((e==null?void 0:e.name)||"").trim(),n=String((e==null?void 0:e.fingerprint)||"").trim(),s=`${t} ${n}`.toLowerCase();if(/\b(cli|terminal|shell|console)\b/.test(s))return{glyph:"⌘",label:"CLI"};if(/\b(api|backend|server)\b/.test(s))return{glyph:"◫",label:"API"};if(/\b(web|site|frontend|dashboard|ui|home)\b/.test(s))return{glyph:"◩",label:"UI"};if(/\b(app|desktop|mobile)\b/.test(s))return{glyph:"▣",label:"App"};const i=t.split(/[^A-Za-z0-9]+/).filter(Boolean).slice(0,2).map(c=>{var d;return((d=c[0])==null?void 0:d.toUpperCase())||""}).join("");if(i)return{glyph:i,label:t||i};const l=n||t||"project",a=["◆","◈","◉","▣","⬢","◬"];let o=0;for(const c of l)o=o*31+c.charCodeAt(0)>>>0;return{glyph:a[o%a.length],label:t||"Project"}}function Is(e){var l,a;const t=Array.isArray(e.flows)?e.flows:[],n=(l=e.session)!=null&&l.flow_id&&t.find(o=>{var c;return o.id===((c=e.session)==null?void 0:c.flow_id)})||null;if(n)return`${n.name}${n.scope==="project"?" (session override)":" (global)"}`.trim();const s=(a=e.project)!=null&&a.default_flow_id&&t.find(o=>{var c;return o.id===((c=e.project)==null?void 0:c.default_flow_id)})||null;if(s)return`${s.name}${s.scope==="project"?" (project default)":" (global default)"}`.trim();const i=t.find(o=>o.scope==="global");return i?`${i.name} (global default)`:"No default flow"}var Ls=S('<aside class=sidebar><button title=Home><span class=sidebar-home-icon aria-hidden=true>⌂</span></button><button class="sidebar-icon-button sidebar-add-button"title="New project">+'),Ns=S("<button><span class=sidebar-project-icon>");function en(e,t){return e.kind!==t.kind?!1:e.kind==="home"||e.kind==="status"?!0:e.kind==="project"&&t.kind==="project"?e.projectId===t.projectId:e.kind==="session"&&t.kind==="session"?e.sessionId===t.sessionId:!1}function Rs(e){const t=`${e.name}|${e.fingerprint||e.id}`;let n=0;for(const i of t)n=n*33+i.charCodeAt(0)>>>0;return`hsl(${n%360} 72% 46%)`}function qs(e){return(()=>{var t=Ls(),n=t.firstChild,s=n.nextSibling;return n.$$click=()=>e.onSelect({kind:"home"}),r(t,y(ce,{get each(){return e.projects},fallback:[],children:i=>{const l=Ds(i);return(()=>{var a=Ns(),o=a.firstChild;return a.$$click=()=>e.onSelect({kind:"project",projectId:i.id}),r(o,()=>l.glyph),ne(c=>{var d=`sidebar-icon-button ${en(e.selection,{kind:"project",projectId:i.id})?"active":""}`,_=i.name,u=l.label,b=`--project-icon-bg:${Rs(i)};--project-icon-fg:#f5f5f5;`;return d!==c.e&&oe(a,c.e=d),_!==c.t&&pt(a,"title",c.t=_),u!==c.a&&pt(o,"title",c.a=u),c.o=Wn(o,b,c.o),c},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}}),s),xt(s,"click",e.onNewProject),ne(()=>oe(n,`sidebar-icon-button ${en(e.selection,{kind:"home"})?"active":""}`)),t})()}gt(["click"]);const Bs=["vibemax","vibeqmax","vibeultrax","vibelitex","raw"];function Us(e){return Bs.includes(String(e||"").toLowerCase())}const ft={vibeultrax:{id:"vibeultrax",index:1,name:"VibeUltraX",icon:"🏆",pipeline:["cheap","medium","brain"],thinking:"full",tdd:"quality",enforcement:"strict",flow:"strict",qualityVsBrain:107,costVsBrain:58,default:!0,desc:"Default mode. 3-model debate: cheap proposes, medium reviews, brain refines."},vibeqmax:{id:"vibeqmax",index:2,name:"VibeQMaX",icon:"⭐",pipeline:["brain"],thinking:"full",tdd:"quality",enforcement:"strict",flow:"strict",qualityVsBrain:100,costVsBrain:50,desc:"Brain tier only. Same quality as Raw Brain at half cost."},vibemax:{id:"vibemax",index:3,name:"VibeMaX",icon:"⚡",pipeline:["medium"],thinking:"off",tdd:"lazy",enforcement:"relaxed",flow:"audit",qualityVsBrain:75,costVsBrain:18,desc:"Medium tier auto-escalate. Speed-first."},vibelitex:{id:"vibelitex",index:4,name:"VibeLiteX",icon:"💡",pipeline:["medium"],thinking:"brief",tdd:"lazy",enforcement:"normal",flow:"audit",qualityVsBrain:65,costVsBrain:20,desc:"Local fallback. Medium tier with enforcement. No API required."},raw:{id:"raw",index:10,name:"Raw Brain",icon:"🧠",pipeline:["brain"],thinking:"full",tdd:"—",enforcement:"—",flow:"—",qualityVsBrain:100,costVsBrain:0,desc:"Pure v4 Pro baseline. No vibeOS overhead."}};function Lt(e){const t=String(e||"").toLowerCase().trim();if(Us(t))return t;switch(t){case"litex":return"vibelitex";case"quality":return"vibeqmax";case"audit":case"forensic":return"vibeqmax";case"longrun":return"vibeqmax";case"speed":case"balanced":return"vibemax";case"budget":return"vibelitex";default:return"vibeultrax"}}const Ms=[ft.vibeultrax,ft.vibeqmax,ft.vibemax,ft.vibelitex];function vt(e){const t=Lt(e);return ft[t]}function Pn(){return Ms}var Vs=S("<div class=home-view><div class=card><h3>Home</h3><p class=muted>loading executive summary..."),zs=S("<section class=home-controls-strip><div class=qc-group><span class=field-label>slot</span></div><div class=qc-group><span class=field-label>vibe mode</span><span class=qc-model></span></div><div class=qc-group><span class=field-label>thinking</span><span class=qc-model></span></div><div class=qc-group><span class=field-label>enforce</span><span>"),Fs=S("<div class=home-tag-row>"),Hs=S("<div class=home-todo-list>"),Ks=S('<div class=home-view><section class=home-hero><div class=home-hero-copy><div class=home-kicker>opencode mirror</div><h2></h2><p></p></div><div class=home-hero-actions><button class=flow-save>Open session</button><button class=shell-link>Project</button><button class=shell-link>Status</button></div></section><section class=home-ops-strip></section><section class=home-mode-grid></section><section class=home-overview-grid><div class="card home-summary-card"><h3>Main KPIs</h3><div class=home-summary-table></div></div><div class="card home-recommendation-card"><h3>Command Center</h3><p class=home-recommendation></p><div class=home-inline-grid><div><span class=field-label>active session</span><div class=home-inline-value></div></div><div><span class=field-label>flow</span><div class=home-inline-value></div></div></div></div></section><section class=home-detail-grid><div class="card home-current-session"><h3>Current Session</h3><div class=home-session-head><div class=home-session-title></div><span></span></div><div class=home-metric-strip><span>session </span><span>mode </span><span>cost </span><span>saved </span></div><p class=muted></p></div><div class="card home-todos-card"><h3>Open TODOs</h3><div class=home-totals><span> pending</span><span> sessions</span></div></div><div class="card home-savings-card"><h3>Savings</h3><div class=home-money></div><div class=home-money-sub>current session </div><div class=home-metric-strip><span>delegation </span><span>cache </span></div></div><div class="card home-sessions-card"><h3>Recent Sessions</h3><div class=home-session-list>'),Js=S("<div class=home-op-tile><span class=field-label></span><span class=home-op-value>"),Zs=S("<button>"),Ws=S("<div><div class=home-mode-head><span class=home-mode-name></span><span class=home-mode-pipeline></span></div><p class=home-mode-copy></p><div class=home-mode-meta><span>thinking </span><span>flow </span><span>tdd "),Gs=S("<div class=home-summary-row><span class=home-summary-label></span><span class=home-summary-value>"),Xs=S("<span class=home-tag>"),Qs=S("<p class=muted>No pending TODOs."),Ys=S("<div class=home-todo-item><span class=home-todo-status></span><span>"),ei=S("<div><div><div class=home-session-item-title></div><div class=muted></div></div><div class=home-session-item-meta><span></span><span>");function Qe(e){return`$${Number(e||0).toFixed(2)}`}function ti(e){return e!=null&&e.id?`${e.title} · ${e.id.slice(0,8)}`:"No active session"}function ni(e){const t=String(e||"").trim().toLowerCase();if(!t||t==="auto")return"auto";try{return vt(t).name||vt(Lt(t)).name||t}catch{return t}}function si(e){if(!e.data)return Vs();const t=()=>Is({session:e.session,project:e.project,flows:e.flows}),n=()=>{var c;return(((c=e.data)==null?void 0:c.todos)||[]).filter(d=>(d==null?void 0:d.status)!=="done").slice(0,4)},s=()=>{var c;return((c=e.data)==null?void 0:c.status)||e.status},i=()=>{var c,d,_,u,b;return String(((d=(c=e.data)==null?void 0:c.current_session)==null?void 0:d.optimization_mode)||((_=s())==null?void 0:_.optimization_mode)||((b=(u=e.data)==null?void 0:u.home.cards.find(O=>O.label.toLowerCase()==="mode"))==null?void 0:b.value)||"auto").trim().toLowerCase()},l=()=>ni(i()),a=()=>Pn().map(c=>({...c,active:i()===c.id})),o=()=>{var c,d,_,u,b,O;return[{label:"mode",value:l()},{label:"slot",value:((c=s())==null?void 0:c.active_slot)||"brain"},{label:"model",value:((_=(d=s())==null?void 0:d.current_model)==null?void 0:_.split("/").pop())||"unknown"},{label:"lock",value:(u=s())!=null&&u.model_locked?"locked":"live"},{label:"backend",value:(b=s())!=null&&b.backend_connected?"online":"degraded"},{label:"todos",value:String(((O=e.data)==null?void 0:O.totals.pending_todos)||0)}]};return(()=>{var c=Ks(),d=c.firstChild,_=d.firstChild,u=_.firstChild,b=u.nextSibling,O=b.nextSibling,z=_.nextSibling,g=z.firstChild,k=g.nextSibling,Q=k.nextSibling,D=d.nextSibling,$=D.nextSibling,I=$.nextSibling,se=I.firstChild,fe=se.firstChild,ve=fe.nextSibling,ge=se.nextSibling,U=ge.firstChild,v=U.nextSibling,C=v.nextSibling,T=C.firstChild,q=T.firstChild,X=q.nextSibling,re=T.nextSibling,Ee=re.firstChild,Oe=Ee.nextSibling,Ue=I.nextSibling,De=Ue.firstChild,Ie=De.firstChild,Y=Ie.nextSibling,be=Y.firstChild,Le=be.nextSibling,f=Y.nextSibling,x=f.firstChild;x.firstChild;var L=x.nextSibling;L.firstChild;var N=L.nextSibling;N.firstChild;var B=N.nextSibling;B.firstChild;var W=f.nextSibling,F=De.nextSibling,ae=F.firstChild,ie=ae.nextSibling,te=ie.firstChild,ke=te.firstChild,he=te.nextSibling,Ne=he.firstChild,j=F.nextSibling,le=j.firstChild,$e=le.nextSibling,me=$e.nextSibling;me.firstChild;var E=me.nextSibling,R=E.firstChild;R.firstChild;var Me=R.nextSibling;Me.firstChild;var Be=j.nextSibling,He=Be.firstChild,tt=He.nextSibling;return r(b,()=>e.data.home.title),r(O,()=>e.data.home.recommendation||e.data.home.subtitle),xt(g,"click",e.onOpenSession),xt(k,"click",e.onOpenProject),xt(Q,"click",e.onOpenStatus),r(D,y(ce,{get each(){return o()},children:w=>(()=>{var A=Js(),H=A.firstChild,ee=H.nextSibling;return r(H,()=>w.label),r(ee,()=>w.value),A})()})),r(c,y(we,{get when(){return s()},get children(){var w=zs(),A=w.firstChild;A.firstChild;var H=A.nextSibling,ee=H.firstChild,xe=ee.nextSibling,ye=H.nextSibling,Ae=ye.firstChild,Re=Ae.nextSibling,p=ye.nextSibling,P=p.firstChild,Ce=P.nextSibling;return r(A,y(ce,{each:["brain","medium","cheap"],children:J=>(()=>{var Se=Zs();return Se.$$click=()=>mt("set",J).then(e.onTrinityAction).catch(()=>{}),r(Se,J),ne(()=>{var qe;return oe(Se,`qc-slot ${((qe=s())==null?void 0:qe.active_slot)===J?"active":""}`)}),Se})()}),null),r(xe,l),r(Re,()=>{var J;return((J=s())==null?void 0:J.thinking)??"brief"}),r(Ce,()=>{var J;return(J=s())!=null&&J.enforce?"on":"off"}),ne(()=>{var J;return oe(Ce,`qc-pill ${(J=s())!=null&&J.enforce?"on":"off"}`)}),w}}),$),r($,y(ce,{get each(){return a()},children:w=>(()=>{var A=Ws(),H=A.firstChild,ee=H.firstChild,xe=ee.nextSibling,ye=H.nextSibling,Ae=ye.nextSibling,Re=Ae.firstChild;Re.firstChild;var p=Re.nextSibling;p.firstChild;var P=p.nextSibling;return P.firstChild,r(ee,()=>w.name),r(xe,()=>w.pipeline.join(" → ")),r(ye,()=>w.desc),r(Re,()=>w.thinking,null),r(p,()=>w.flow,null),r(P,()=>w.tdd,null),ne(()=>oe(A,`card home-mode-card ${w.active?"active":""}`)),A})()})),r(ve,y(ce,{get each(){return e.data.home.cards},children:w=>(()=>{var A=Gs(),H=A.firstChild,ee=H.nextSibling;return r(H,()=>w.label),r(ee,()=>w.value),A})()})),r(v,()=>e.data.home.recommendation||"Continue with the active session."),r(X,()=>ti(e.session)),r(Oe,t),r(be,()=>e.data.current_session.project_name),r(Le,()=>e.data.current_session.status),r(x,()=>e.data.current_session.session_id||"none",null),r(L,l,null),r(N,()=>Qe(e.data.current_session.cost_usd),null),r(B,()=>Qe((e.data.current_session.delegation_savings_usd||0)+(e.data.current_session.cache_savings_usd||0)),null),r(W,()=>e.data.current_session.recommendation),r(De,y(we,{get when(){var w;return(w=e.data.current_session.tags)==null?void 0:w.length},get children(){var w=Fs();return r(w,y(ce,{get each(){return e.data.current_session.tags},children:A=>(()=>{var H=Xs();return r(H,A),H})()})),w}}),null),r(F,y(we,{get when(){return n().length},get fallback(){return Qs()},get children(){var w=Hs();return r(w,y(ce,{get each(){return n()},children:A=>(()=>{var H=Ys(),ee=H.firstChild,xe=ee.nextSibling;return r(ee,()=>String(A.status||"pending").toUpperCase()),r(xe,()=>A.title||A.text||A.content||"Untitled task"),H})()})),w}}),ie),r(te,()=>e.data.totals.pending_todos,ke),r(he,()=>e.data.totals.total_sessions,Ne),r($e,()=>Qe(e.data.totals.total_savings_usd)),r(me,()=>Qe(e.data.totals.current_session_savings_usd),null),r(R,()=>{var w,A;return Qe((A=(w=e.data.savings)==null?void 0:w.lifetime)==null?void 0:A.delegation_usd)},null),r(Me,()=>{var w,A;return Qe((A=(w=e.data.savings)==null?void 0:w.lifetime)==null?void 0:A.cache_usd)},null),r(tt,y(ce,{get each(){return e.data.sessions.slice(0,5)},children:w=>(()=>{var A=ei(),H=A.firstChild,ee=H.firstChild,xe=ee.nextSibling,ye=H.nextSibling,Ae=ye.firstChild,Re=Ae.nextSibling;return r(ee,()=>w.template_label||w.session_id.slice(0,14)),r(xe,()=>w.recommendation),r(Ae,()=>w.template_label),r(Re,()=>Qe(w.delegation_savings_usd+w.cache_savings_usd)),ne(()=>oe(A,`home-session-item ${w.is_current?"current":""}`)),A})()})),ne(()=>oe(Le,`badge ${e.data.current_session.locked?"off":"on"}`)),c})()}gt(["click"]);const ii="modulepreload",li=function(e){return"/"+e},tn={},ri=function(t,n,s){let i=Promise.resolve();if(n&&n.length>0){let a=function(d){return Promise.all(d.map(_=>Promise.resolve(_).then(u=>({status:"fulfilled",value:u}),u=>({status:"rejected",reason:u}))))};document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),c=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=a(n.map(d=>{if(d=li(d),d in tn)return;tn[d]=!0;const _=d.endsWith(".css"),u=_?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${u}`))return;const b=document.createElement("link");if(b.rel=_?"stylesheet":ii,_||(b.as="script"),b.crossOrigin="",b.href=d,c&&b.setAttribute("nonce",c),document.head.appendChild(b),_)return new Promise((O,z)=>{b.addEventListener("load",O),b.addEventListener("error",()=>z(new Error(`Unable to preload CSS for ${d}`)))})}))}function l(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return i.then(a=>{for(const o of a||[])o.status==="rejected"&&l(o.reason);return t().catch(l)})};var oi=S("<span class=run-step-skip>blocked — "),ai=S("<code class=run-step-result>"),ci=S("<div><span class=run-step-tool></span><span class=run-step-label>"),di=S('<div class="session-hero session-hero-compact"><div><div class=home-kicker>session workspace</div><h2 class=session-title></h2><div class=session-hero-meta><span>…</span><span>project </span><span></span><span></span></div></div><div class=session-hero-kpis><div class=session-kpi><span class=field-label>session savings</span><strong></strong></div><div class=session-kpi><span class=field-label>session cost</span><strong></strong></div><div class=session-kpi><span class=field-label>status</span><strong>'),ui=S('<div class="msg assistant live"><div class=msg-role>resolved plan</div><div class="msg-content mono"></div><div class=session-plan-head><span class=muted></span><span>%</span></div><div class=run-trace>'),fi=S('<div class="msg-content mono">'),hi=S('<div class="msg assistant live"><div class=msg-role>running</div><div class=run-trace></div><span class=run-spinner>executing allowed structured steps only'),mi=S("<div class=error>"),_i=S('<div class=session-body><div class=session-thread></div><div class=composer><textarea class=text-area placeholder="Describe the next structured session task…"></textarea><div class=composer-actions><span class=muted>policy: strict deterministic · ⌘/Ctrl+Enter to run</span><button class=flow-save></button></div></div><div class=session-mini-grid><div class=session-state-block><span class=field-label>session state</span><div class=session-state-stack><div class=session-state-row><span>project</span><strong></strong></div><div class=session-state-row><span>status</span><strong></strong></div><div class=session-state-row><span>mode</span><strong></strong></div><div class=session-state-row><span>started</span><strong></strong></div><div class=session-state-row><span>lock</span><strong></strong></div></div></div><div class=session-state-block><span class=field-label>lifecycle</span><div class=session-timeline><span>created </span><span>paused </span><span>resumed </span><span>archived </span></div></div></div><div class=session-actions-row>'),pi=S('<div class="session-workspace card panel"><div class="panel-head session-head"><div><div class=column-badge-row><span class=column-badge>3</span><h3>Session Chat</h3></div><div class=panel-head-copy> · live thread + structured run</div></div><div class=session-hero-meta><span>mode </span><span>slot </span><span>model </span><span>backend '),vi=S("<p class=muted>Pick a session link from column 2 to open the chat and live run stream."),gi=S("<div class=run-step><span class=run-step-tool></span><span class=run-step-label> · "),bi=S("<p class=muted>No chat yet. Use the composer below to run a structured session prompt."),$i=S("<details class=run-trace-details><summary>structured steps (<!>)</summary><div class=run-trace>"),Si=S("<div><div class=msg-role></div><div class=msg-content>"),wi=S("<button class=shell-link>");function nn(e){const t=e.r;return(()=>{var n=ci(),s=n.firstChild,i=s.nextSibling;return r(s,()=>{var l;return(l=t.step)==null?void 0:l.tool}),r(i,()=>{var l;return(l=t.step)==null?void 0:l.label}),r(n,y(we,{get when(){return t.skipped},get children(){var l=oi();return l.firstChild,r(l,()=>t.reason,null),l}}),null),r(n,y(we,{get when(){return it(()=>!t.skipped)()&&t.result},get children(){var l=ai();return r(l,()=>JSON.stringify(t.result).slice(0,160)),l}}),null),ne(()=>oe(n,`run-step ${t.skipped?"skipped":"done"}`)),n})()}function sn(e){return`$${Number(e||0).toFixed(2)}`}function ut(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function ki(e){const t=String(e||"").trim().toLowerCase();if(!t||t==="auto")return"auto";try{return vt(Lt(t)).name||t}catch{return t}}function xi(e){const t=e==null?void 0:e.session,n=["start","pause","resume",t!=null&&t.locked?"unlock":"lock","archive","undo"];return[...new Set(n)]}function yi(e){const[t,{mutate:n,refetch:s}]=Wt(()=>{var v;return((v=e.session)==null?void 0:v.id)||null},v=>v?bn(v):Promise.resolve({session:null})),[i,{refetch:l}]=Wt(()=>{var v;return((v=e.session)==null?void 0:v.id)||null},v=>v?xn(v):Promise.resolve({messages:[]})),[a,o]=K(""),[c,d]=K(!1),[_,u]=K(null),[b,O]=K(null),[z,g]=K([]),[k,Q]=K(null);let D=null;zt(()=>D==null?void 0:D());const $=de(()=>{var v;return(v=t())==null?void 0:v.session}),I=de(()=>{var v,C;return b()||((v=$())==null?void 0:v.orchestration_plan)||((C=e.status)==null?void 0:C.orchestration_plan)||null}),se=de(()=>{var v,C;return String(((v=$())==null?void 0:v.optimization_mode)||((C=e.status)==null?void 0:C.optimization_mode)||"auto").toLowerCase()}),fe=de(()=>ki(se())),ve=de(()=>{var v,C;return((v=e.status)==null?void 0:v.backend_connected)??((C=e.status)==null?void 0:C.backendConnected)??!1}),ge=v=>{var q;const C=e.session,T=String(v||"").trim();if(!(!C||!T||c())){if((q=$())!=null&&q.locked){Q("Session is locked. Unlock it before running a deterministic flow.");return}D==null||D(),d(!0),Q(null),O(null),g([]),D=Cn(C.id,{prompt:T,query:T,execution_policy:"strict-deterministic"},{onEvent:(X,re)=>{X==="plan"?O(re.plan):X==="step"?g(Ee=>[...Ee,re]):X==="done"?(d(!1),D=null,o(""),O(null),g([]),l(),s(),e.onRefresh()):X==="error"&&(Q(re.message||"run failed"),d(!1),D=null)},onError:X=>{Q(X.message),d(!1),D=null},onDone:()=>d(!1)})}};an(()=>{const v=e.runRequest,C=e.session;!v||!C||v.sessionId!==C.id||(o(v.prompt),e.onRunRequestHandled(),ge(v.prompt))});const U=async v=>{const C=e.session;if(C){u(v),Q(null);try{const{postSessionAction:T}=await ri(async()=>{const{postSessionAction:X}=await Promise.resolve().then(()=>Es);return{postSessionAction:X}},void 0),q=await T(C.id,{action:v});n(X=>X&&{...X,session:q.session,metrics:q.metrics,orchestration:q.orchestration??null}),s(),e.onRefresh()}catch(T){Q(T.message)}finally{u(null)}}};return(()=>{var v=pi(),C=v.firstChild,T=C.firstChild,q=T.firstChild,X=q.nextSibling,re=X.firstChild,Ee=T.nextSibling,Oe=Ee.firstChild;Oe.firstChild;var Ue=Oe.nextSibling;Ue.firstChild;var De=Ue.nextSibling;De.firstChild;var Ie=De.nextSibling;return Ie.firstChild,r(X,(()=>{var Y=it(()=>!!e.session);return()=>Y()?e.session.title:"Select a session from column 2"})(),re),r(Oe,()=>fe()||"auto",null),r(Ue,()=>{var Y;return((Y=e.status)==null?void 0:Y.active_slot)||"brain"},null),r(De,()=>{var Y;return(((Y=e.status)==null?void 0:Y.current_model)||"unknown").split("/").pop()},null),r(Ie,()=>ve()?"live":"degraded",null),r(v,y(we,{get when(){return e.session},get fallback(){return vi()},get children(){return[(()=>{var Y=di(),be=Y.firstChild,Le=be.firstChild,f=Le.nextSibling,x=f.nextSibling,L=x.firstChild,N=L.firstChild,B=L.nextSibling;B.firstChild;var W=B.nextSibling,F=W.nextSibling,ae=be.nextSibling,ie=ae.firstChild,te=ie.firstChild,ke=te.nextSibling,he=ie.nextSibling,Ne=he.firstChild,j=Ne.nextSibling,le=he.nextSibling,$e=le.firstChild,me=$e.nextSibling;return r(f,()=>e.session.title),r(L,()=>e.session.id.slice(0,18),N),r(B,()=>{var E,R;return((E=e.project)==null?void 0:E.name)||((R=$())==null?void 0:R.project_name)||"selected"},null),r(W,()=>ve()?"backend online":"backend degraded"),r(F,(()=>{var E=it(()=>{var R;return!!((R=$())!=null&&R.locked)});return()=>{var R;return E()?"locked":((R=$())==null?void 0:R.status)||"active"}})()),r(ke,()=>{var E,R;return sn((((E=$())==null?void 0:E.delegation_savings_usd)||0)+(((R=$())==null?void 0:R.cache_savings_usd)||0))}),r(j,()=>{var E;return sn((E=$())==null?void 0:E.cost_usd)}),r(me,(()=>{var E=it(()=>{var R;return!!((R=$())!=null&&R.locked)});return()=>{var R;return E()?"locked":((R=$())==null?void 0:R.status)||"active"}})()),Y})(),(()=>{var Y=_i(),be=Y.firstChild,Le=be.nextSibling,f=Le.firstChild,x=f.nextSibling,L=x.firstChild,N=L.nextSibling,B=Le.nextSibling,W=B.firstChild,F=W.firstChild,ae=F.nextSibling,ie=ae.firstChild,te=ie.firstChild,ke=te.nextSibling,he=ie.nextSibling,Ne=he.firstChild,j=Ne.nextSibling,le=he.nextSibling,$e=le.firstChild,me=$e.nextSibling,E=le.nextSibling,R=E.firstChild,Me=R.nextSibling,Be=E.nextSibling,He=Be.firstChild,tt=He.nextSibling,w=W.nextSibling,A=w.firstChild,H=A.nextSibling,ee=H.firstChild;ee.firstChild;var xe=ee.nextSibling;xe.firstChild;var ye=xe.nextSibling;ye.firstChild;var Ae=ye.nextSibling;Ae.firstChild;var Re=B.nextSibling;return r(be,y(we,{get when(){return I()},get children(){var p=ui(),P=p.firstChild,Ce=P.nextSibling,J=Ce.nextSibling,Se=J.firstChild,qe=Se.nextSibling,ot=qe.firstChild,nt=J.nextSibling;return r(Ce,()=>I().recommended_label||"Structured plan"),r(Se,()=>I().recommended_next_action||I().reason),r(qe,()=>Math.round(Number(I().confidence||0)*100),ot),r(nt,y(ce,{get each(){return I().steps||[]},children:(We,at)=>(()=>{var bt=gi(),ct=bt.firstChild,dt=ct.nextSibling,Nt=dt.firstChild;return r(ct,()=>at()+1),r(dt,()=>We.tool,Nt),r(dt,()=>We.label,null),bt})()})),p}}),null),r(be,y(ce,{get each(){var p;return((p=i())==null?void 0:p.messages)||[]},get fallback(){return bi()},children:p=>(()=>{var P=Si(),Ce=P.firstChild,J=Ce.nextSibling;return r(Ce,()=>p.role),r(J,()=>p.content||"(no summary)"),r(P,y(we,{get when(){return it(()=>!!(p.role==="assistant"&&p.results))()&&p.results.length},get children(){var Se=$i(),qe=Se.firstChild,ot=qe.firstChild,nt=ot.nextSibling;nt.nextSibling;var We=qe.nextSibling;return r(qe,()=>p.results.length,nt),r(We,y(ce,{get each(){return p.results},children:at=>y(nn,{r:at})})),Se}}),null),ne(()=>oe(P,`msg ${p.role}`)),P})()}),null),r(be,y(we,{get when(){return c()},get children(){var p=hi(),P=p.firstChild,Ce=P.nextSibling;return r(p,y(we,{get when(){return b()},get children(){var J=fi();return r(J,()=>b().steps.map(Se=>Se.tool).join(" → ")),J}}),Ce),r(Ce,y(ce,{get each(){return z()},children:J=>y(nn,{r:J})})),p}}),null),f.$$keydown=p=>{p.key==="Enter"&&(p.metaKey||p.ctrlKey)&&ge(a())},f.$$input=p=>o(p.currentTarget.value),N.$$click=()=>ge(a()),r(N,()=>c()?"running…":"run structured flow"),r(ke,()=>{var p,P;return((p=$())==null?void 0:p.project_name)||((P=e.project)==null?void 0:P.name)||"Current project"}),r(j,()=>{var p;return((p=$())==null?void 0:p.status)||"active"}),r(me,()=>fe()||"auto"),r(Me,()=>{var p;return ut((p=$())==null?void 0:p.started_at)}),r(tt,()=>{var p;return(p=$())!=null&&p.locked?"locked":"mutable"}),r(ee,()=>{var p,P;return ut((P=(p=$())==null?void 0:p.lifecycle)==null?void 0:P.created_at)},null),r(xe,()=>{var p,P;return ut((P=(p=$())==null?void 0:p.lifecycle)==null?void 0:P.paused_at)},null),r(ye,()=>{var p,P;return ut((P=(p=$())==null?void 0:p.lifecycle)==null?void 0:P.resumed_at)},null),r(Ae,()=>{var p,P;return ut((P=(p=$())==null?void 0:p.lifecycle)==null?void 0:P.archived_at)},null),r(Re,y(ce,{get each(){return xi(t())},children:p=>(()=>{var P=wi();return P.$$click=()=>void U(p),r(P,()=>_()===p?"…":p),ne(()=>P.disabled=_()===p),P})()})),r(Y,y(we,{get when(){return k()},get children(){var p=mi();return r(p,k),p}}),null),ne(()=>{var p;return N.disabled=c()||!a().trim()||((p=$())==null?void 0:p.locked)}),ne(()=>f.value=a()),Y})()]}}),null),v})()}gt(["input","keydown","click"]);var Ci=S("<div class=project-session-list>"),Pi=S('<div class="card panel project-sessions-panel"><div class=panel-head><div><div class=column-badge-row><span class=column-badge>2</span><h3>Sessions</h3></div><div class=panel-head-copy>selected project sessions only'),ji=S("<p class=muted>Pick a project from column 1 to see its sessions."),Ai=S("<p class=muted>No sessions in this project yet."),Ti=S("<button><span class=project-session-link-title></span><span class=project-session-link-meta>");function Ei(e,t){return t===e.id?"current":""}function Oi(e){return(()=>{var t=Pi();return t.firstChild,r(t,y(we,{get when(){return e.project},get fallback(){return ji()},get children(){var n=Ci();return r(n,y(ce,{get each(){return e.sessions},get fallback(){return Ai()},children:s=>(()=>{var i=Ti(),l=i.firstChild,a=l.nextSibling;return i.$$click=()=>e.onSelectSession(s),r(l,()=>s.title),r(a,(()=>{var o=it(()=>e.currentSessionId===s.id);return()=>o()?"current":s.id.slice(0,8)})()),ne(()=>oe(i,`project-session-link ${e.selectedSessionId===s.id?"active":""} ${Ei(s,e.currentSessionId)}`)),i})()})),n}}),null),t})()}gt(["click"]);var Di=S("<div class=result-box><code></code><button class=dismiss-btn>x"),Ii=S('<div class="card panel control-rail"><div class=panel-head><div><div class=column-badge-row><span class=column-badge>4</span><h3>Control Rail</h3></div><div class=panel-head-copy>mode first, then token, flow, plan, TDD</div></div><span></span></div><div class=control-group><h4>Vibe Mode</h4><div class=control-mode-summary><div class=control-status><span class=field-label>active mode</span><strong></strong></div><div class=control-status><span class=field-label>thinking</span><strong></strong></div></div><div class=mode-control-grid></div></div><div class=control-status-grid><div class=control-status><span class=field-label>api token</span><strong></strong></div><div class=control-status><span class=field-label>connect</span><strong></strong></div><div class=control-status><span class=field-label>slot</span><strong></strong></div><div class=control-status><span class=field-label>model</span><strong></strong></div></div><div class=control-group><h4>API Token</h4><input class=text-input placeholder="paste api token"><div class=session-action-grid><button class=shell-link>apply token</button><button class=shell-link>invalidate</button></div><p class=muted>Set or clear the runtime token. Connection state below reflects the live backend, not decoration.</p></div><div class=control-group><h4>Flow</h4><div class=control-flow-header><span class=muted></span><span></span></div><div class=control-flow-list></div></div><div class=control-group><h4>Create Plan / TDD</h4><div class=session-action-grid><button class=shell-link>create plan</button><button class=shell-link>tdd</button></div><p class=muted>Runs the active session with a structured prompt. No loose command launching.</p><p class=muted>web search <!> · tdd </p></div><div class=control-group><h4>KPI</h4><div class=control-kpi-strip><div><span class=field-label>slot</span><strong></strong></div><div><span class=field-label>model</span><strong></strong></div><div><span class=field-label>savings/hr</span><strong></strong></div><div><span class=field-label>todos</span><strong></strong></div></div><div class=control-kpi-strip><div><span class=field-label>session</span><strong></strong></div><div><span class=field-label>backend</span><strong></strong></div><div><span class=field-label>lock</span><strong></strong></div><div><span class=field-label>flow</span><strong>'),Li=S("<button><strong></strong><span>"),Ni=S("<p class=muted>No resolved plan yet. Use the chat or create a plan from here."),Ri=S("<div class=control-flow-step><span></span><div><strong></strong><div class=muted> · ");const qi=Pn();function Bi(e){return`$${Number(e||0).toFixed(2)}`}function Ui(e){const t=String(e||"").trim().toLowerCase();if(!t||t==="auto")return"auto";try{return vt(t).name||vt(Lt(t)).name||t}catch{return t}}function Mi(e){const[t,n]=K(null),[s,i]=K(null),[l,a]=K(""),o=de(()=>{var g,k;return String(((g=e.status)==null?void 0:g.optimization_mode)||((k=e.status)==null?void 0:k.native_agent_mode)||"auto").toLowerCase()}),c=de(()=>Ui(o())),d=de(()=>{var g,k;return((k=(g=e.status)==null?void 0:g.orchestration_plan)==null?void 0:k.steps)||[]}),_=de(()=>{var g,k;return((g=e.status)==null?void 0:g.backend_connected)??((k=e.status)==null?void 0:k.backendConnected)??!1}),u=de(()=>{var g;return((g=e.status)==null?void 0:g.api_fallback)===!0?"fallback":_()?"live":"unknown"}),b=async g=>{if(!t()){n(`mode:${g}`),i(null);try{const k=await mt("mode",g);i(k.ok?String(k.result||`mode:${g}`):String(k.error||"failed")),e.onRefresh()}catch(k){i(k.message)}finally{n(null)}}},O=async()=>{const g=l().trim();if(!(!g||t())){n("token"),i(null);try{const k=await mt("api-token","",void 0,g);i(k.ok?"API token updated":String(k.error||"failed")),a(""),e.onRefresh()}catch(k){i(k.message)}finally{n(null)}}},z=async()=>{if(!t()){n("token"),i(null);try{const g=await mt("api-token","",void 0,"invalidate");i(g.ok?"API token invalidated":String(g.error||"failed")),a(""),e.onRefresh()}catch(g){i(g.message)}finally{n(null)}}};return(()=>{var g=Ii(),k=g.firstChild,Q=k.firstChild,D=Q.nextSibling,$=k.nextSibling,I=$.firstChild,se=I.nextSibling,fe=se.firstChild,ve=fe.firstChild,ge=ve.nextSibling,U=fe.nextSibling,v=U.firstChild,C=v.nextSibling,T=se.nextSibling,q=$.nextSibling,X=q.firstChild,re=X.firstChild,Ee=re.nextSibling,Oe=X.nextSibling,Ue=Oe.firstChild,De=Ue.nextSibling,Ie=Oe.nextSibling,Y=Ie.firstChild,be=Y.nextSibling,Le=Ie.nextSibling,f=Le.firstChild,x=f.nextSibling,L=q.nextSibling,N=L.firstChild,B=N.nextSibling,W=B.nextSibling,F=W.firstChild,ae=F.nextSibling,ie=L.nextSibling,te=ie.firstChild,ke=te.nextSibling,he=ke.firstChild,Ne=he.nextSibling,j=ke.nextSibling,le=ie.nextSibling,$e=le.firstChild,me=$e.nextSibling,E=me.firstChild,R=E.nextSibling,Me=me.nextSibling,Be=Me.nextSibling,He=Be.firstChild,tt=He.nextSibling;tt.nextSibling;var w=le.nextSibling,A=w.firstChild,H=A.nextSibling,ee=H.firstChild,xe=ee.firstChild,ye=xe.nextSibling,Ae=ee.nextSibling,Re=Ae.firstChild,p=Re.nextSibling,P=Ae.nextSibling,Ce=P.firstChild,J=Ce.nextSibling,Se=P.nextSibling,qe=Se.firstChild,ot=qe.nextSibling,nt=H.nextSibling,We=nt.firstChild,at=We.firstChild,bt=at.nextSibling,ct=We.nextSibling,dt=ct.firstChild,Nt=dt.nextSibling,Jt=ct.nextSibling,jn=Jt.firstChild,An=jn.nextSibling,Tn=Jt.nextSibling,En=Tn.firstChild,On=En.nextSibling;return r(D,()=>_()?"LIVE":"DEGRADED"),r(ge,c),r(C,()=>{var m;return((m=e.status)==null?void 0:m.thinking)||"brief"}),r(T,y(ce,{each:qi,children:m=>(()=>{var G=Li(),Pe=G.firstChild,Ge=Pe.nextSibling;return G.$$click=()=>void b(m.id),r(Pe,()=>m.name),r(Ge,()=>m.pipeline.join(" → ")),ne(Te=>{var Zt;var Ke=`mode-card-btn ${((Zt=e.status)==null?void 0:Zt.optimization_mode)===m.id?"active":""}`,Ve=t()===`mode:${m.id}`||m.id==="raw",Xe=m.desc;return Ke!==Te.e&&oe(G,Te.e=Ke),Ve!==Te.t&&(G.disabled=Te.t=Ve),Xe!==Te.a&&pt(G,"title",Te.a=Xe),Te},{e:void 0,t:void 0,a:void 0}),G})()})),r(Ee,u),r(De,()=>_()?"live":"degraded"),r(be,()=>{var m;return((m=e.status)==null?void 0:m.active_slot)||"brain"}),r(x,()=>{var m;return(((m=e.status)==null?void 0:m.current_model)||"unknown").split("/").pop()}),B.$$input=m=>a(m.currentTarget.value),F.$$click=()=>void O(),ae.$$click=()=>void z(),r(he,()=>{var m;return((m=e.currentProject)==null?void 0:m.name)||"No project selected"}),r(Ne,()=>{var m;return(m=e.status)!=null&&m.flow_enforcer?"ON":"OFF"}),r(j,y(ce,{get each(){return d()},get fallback(){return Ni()},children:(m,G)=>(()=>{var Pe=Ri(),Ge=Pe.firstChild,Te=Ge.nextSibling,Ke=Te.firstChild,Ve=Ke.nextSibling,Xe=Ve.firstChild;return r(Ge,()=>G()+1),r(Ke,()=>m.label),r(Ve,()=>m.tool,Xe),r(Ve,()=>m.reason,null),Pe})()})),E.$$click=()=>{n("plan"),e.onCreatePlan(),e.onRefresh(),n(null)},R.$$click=()=>{n("tdd"),e.onStartTdd(),e.onRefresh(),n(null)},r(Be,()=>{var m,G;return(G=(m=e.capabilities)==null?void 0:m.web_search)!=null&&G.enabled?"on":"off"},tt),r(Be,()=>{var m,G;return(G=(m=e.capabilities)==null?void 0:m.tdd)!=null&&G.enabled?"on":"off"},null),r(ye,()=>{var m;return((m=e.status)==null?void 0:m.active_slot)||"brain"}),r(p,()=>{var m;return(((m=e.status)==null?void 0:m.current_model)||"unknown").split("/").pop()}),r(J,()=>{var m;return Bi((m=e.savings)==null?void 0:m.savings_rate_per_hour)}),r(ot,()=>{var m,G,Pe;return((G=(m=e.status)==null?void 0:m.todos)==null?void 0:G.pending)??((Pe=e.home)==null?void 0:Pe.totals.pending_todos)??0}),r(bt,()=>{var m;return((m=e.session)==null?void 0:m.title)||"none"}),r(Nt,()=>{var m;return(m=e.status)!=null&&m.backend_connected?"online":"degraded"}),r(An,()=>{var m;return(m=e.status)!=null&&m.model_locked?"locked":"open"}),r(On,()=>{var m;return(m=e.status)!=null&&m.flow_enforcer?"on":"off"}),r(g,y(we,{get when(){return s()},get children(){var m=Di(),G=m.firstChild,Pe=G.nextSibling;return r(G,()=>s()),Pe.$$click=()=>i(null),m}}),null),ne(m=>{var Xe;var G=`badge ${_()?"on":"off"}`,Pe=!l().trim()||t()==="token",Ge=t()==="token",Te=`badge ${(Xe=e.status)!=null&&Xe.flow_enforcer?"on":"off"}`,Ke=!e.session||t()==="plan",Ve=!e.session||t()==="tdd";return G!==m.e&&oe(D,m.e=G),Pe!==m.t&&(F.disabled=m.t=Pe),Ge!==m.a&&(ae.disabled=m.a=Ge),Te!==m.o&&oe(Ne,m.o=Te),Ke!==m.i&&(E.disabled=m.i=Ke),Ve!==m.n&&(R.disabled=m.n=Ve),m},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),ne(()=>B.value=l()),g})()}gt(["input","click"]);var Vi=S("<section class=home-shell>"),zi=S('<div class="shell shell-4col"><main class=workspace><header class="header workspace-header"><div class=header-title><div><h1></h1><div class=header-subtitle></div></div><span class=version></span></div><div class=header-indicators><span></span><span></span><span></span><span>'),Fi=S('<section class=workspace-grid><div class="workspace-column workspace-column-sessions"></div><div class="workspace-column workspace-column-chat"></div><div class="workspace-column workspace-column-controls">');function Hi(){const[e,t]=K(null),[n,s]=K(null),[i,l]=K(null),[a,o]=K(null),[c,d]=K(!1),[_,u]=K({kind:Os}),[b,O]=K([]),[z,g]=K([]),[k,Q]=K({}),[D,$]=K(null),I=()=>_n().then(f=>{t(f),d(!0)}).catch(()=>d(!1)),se=()=>pn().then(f=>{s(f),d(!0)}).catch(()=>d(!1)),fe=()=>vn().then(l).catch(()=>{}),ve=()=>gn().then(o).catch(()=>{}),ge=()=>Sn().then(f=>O(f.projects)).catch(()=>{}),U=f=>yn(f||void 0).then(x=>g(x.flows)).catch(()=>{}),v=()=>kn().then(f=>{var L;const x={};for(const N of f.sessions)(x[L=N.project_id]||(x[L]=[])).push(N);Q(x)}).catch(()=>{}),C=$n(f=>{t(f.status),s(f.savings),d(!0)});I(),se(),fe(),ge(),v(),ve(),zt(C);const T=async()=>{const f=window.prompt("Project name");if(!f||!f.trim())return;const x=await wn(f.trim());await ge(),await ve(),u({kind:"project",projectId:x.project.id})},q=()=>{var N,B,W,F,ae,ie;const f=_();if(f.kind==="project"||f.kind==="session")return b().find(te=>te.id===f.projectId)||null;const x=((B=(N=a())==null?void 0:N.current_session)==null?void 0:B.project_fingerprint)||((W=e())==null?void 0:W.current_project_fingerprint)||"",L=((ae=(F=a())==null?void 0:F.current_session)==null?void 0:ae.project_name)||((ie=e())==null?void 0:ie.current_project_name)||"";return b().find(te=>te.fingerprint&&te.fingerprint===x)||b().find(te=>te.name===L)||null},X=()=>{const f=q();return f?k()[f.id]||[]:[]},re=()=>{var B,W;const f=_();if(f.kind==="session")return(k()[f.projectId]||[]).find(F=>F.id===f.sessionId)||null;const x=((W=(B=a())==null?void 0:B.current_session)==null?void 0:W.session_id)||"";if(!x)return null;const L=q();if(!L)return null;const N=(k()[L.id]||[]).find(F=>F.id===x)||null;return N&&N.project_id===L.id?N:null};an(()=>{const f=q();U((f==null?void 0:f.id)||null)});const Ee=()=>{const f=e();if(!f)return{label:"API OFF",tone:"disconnected",title:"backend status unavailable"};const x=f.backend_connected??f.backendConnected,L=f.backend_api_url||f.backend_health_url||"unknown target",N=f.backend_health_checked_at?new Date(f.backend_health_checked_at).toLocaleTimeString():null;if(x){const W=typeof f.backend_health_age_ms=="number"?` ${Math.max(0,Math.round(f.backend_health_age_ms/1e3))}s`:"",F=typeof f.backend_health_latency_ms=="number"?` ${f.backend_health_latency_ms}ms`:"";return{label:`⚡ BACKEND${W}`,tone:"connected",title:`${L}${F}${N?` · checked ${N}`:""}`}}const B=f.backend_health_error||(typeof f.backend_health_status=="number"?`HTTP ${f.backend_health_status}`:"unreachable");return{label:"API OFF",tone:"disconnected",title:`${L} · ${B}${N?` · checked ${N}`:""}`}},Oe=f=>{const x=re();x&&$({sessionId:x.id,prompt:f})},Ue=()=>{const f=q()||b()[0]||null;f&&u({kind:"project",projectId:f.id})},De=()=>{const f=re()||null;f&&u({kind:"session",projectId:f.project_id,sessionId:f.id})},Ie=()=>{var f;I(),se(),ve(),ge(),v(),U(((f=q())==null?void 0:f.id)||null)},Y=()=>_().kind==="home"||_().kind==="status",be=()=>{var f,x,L;return _().kind==="status"?"Status":_().kind==="home"?"Dashboard":((f=q())==null?void 0:f.name)||((L=(x=a())==null?void 0:x.current_session)==null?void 0:L.project_name)||"Home"},Le=()=>{var f,x,L,N,B,W,F,ae,ie;return _().kind==="home"?((x=(f=a())==null?void 0:f.home)==null?void 0:x.title)||((N=(L=a())==null?void 0:L.home)==null?void 0:N.subtitle)||"Operational dashboard overview":_().kind==="status"?((W=(B=a())==null?void 0:B.home)==null?void 0:W.subtitle)||"Runtime status":((F=re())==null?void 0:F.title)||((ie=(ae=a())==null?void 0:ae.home)==null?void 0:ie.subtitle)||"OpenCode-style operational dashboard"};return(()=>{var f=zi(),x=f.firstChild,L=x.firstChild,N=L.firstChild,B=N.firstChild,W=B.firstChild,F=W.nextSibling,ae=B.nextSibling,ie=N.nextSibling,te=ie.firstChild,ke=te.nextSibling,he=ke.nextSibling,Ne=he.nextSibling;return r(f,y(qs,{get projects(){return b()},get selection(){return _()},onSelect:u,onNewProject:T}),x),r(W,be),r(F,Le),r(ae,()=>{var j;return((j=e())==null?void 0:j.version)??"..."}),r(te,()=>c()?"LIVE":"connecting"),r(ke,()=>Ee().label),r(he,()=>{var j,le;return((j=e())==null?void 0:j.backend_connected)??((le=e())==null?void 0:le.backendConnected)?"API LIVE":"API DEGRADED"}),r(Ne,()=>{var j;return((j=e())==null?void 0:j.enabled)===!1?"OFF":"ON"}),r(x,y(we,{get when(){return Y()},get fallback(){return(()=>{var j=Fi(),le=j.firstChild,$e=le.nextSibling,me=$e.nextSibling;return r(le,y(Oi,{get project(){return q()},get sessions(){return X()},get selectedSessionId(){var E;return((E=re())==null?void 0:E.id)||null},get currentSessionId(){var E,R;return((R=(E=a())==null?void 0:E.current_session)==null?void 0:R.session_id)||null},onSelectSession:E=>u({kind:"session",projectId:E.project_id,sessionId:E.id})})),r($e,y(yi,{get session(){return re()},get project(){return q()},get status(){return e()},get capabilities(){return i()},get savings(){return n()},get runRequest(){return D()},onRunRequestHandled:()=>$(null),onRefresh:Ie})),r(me,y(Mi,{get status(){return e()},get capabilities(){return i()},get home(){return a()},get savings(){return n()},get session(){return re()},get currentProject(){return q()},onRefresh:Ie,onCreatePlan:()=>Oe("Create a concise structured plan for this session. Show the plan before execution, keep it deterministic, and include TDD steps if they are required."),onStartTdd:()=>Oe("Start TDD for this session. Produce failing tests first, then implement the minimum fix, then verify the result.")})),j})()},get children(){var j=Vi();return r(j,y(si,{get data(){return a()},get status(){return e()},get project(){return q()},get session(){return re()},get flows(){return z()},onOpenStatus:()=>u({kind:"status"}),onOpenProject:Ue,onOpenSession:De,onTrinityAction:Ie})),j}}),null),ne(j=>{var Me,Be,He;var le=`indicator ${c()?"connected":"disconnected"}`,$e=`indicator flash ${Ee().tone}`,me=Ee().title,E=`indicator ${((Me=e())==null?void 0:Me.backend_connected)??((Be=e())==null?void 0:Be.backendConnected)?"connected":"disconnected"}`,R=`indicator ${((He=e())==null?void 0:He.enabled)===!1?"disabled":"connected"}`;return le!==j.e&&oe(te,j.e=le),$e!==j.t&&oe(ke,j.t=$e),me!==j.a&&pt(ke,"title",j.a=me),E!==j.o&&oe(he,j.o=E),R!==j.i&&oe(Ne,j.i=R),j},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),f})()}const ln=document.getElementById("app");ln&&Zn(()=>y(Hi,{}),ln);
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const r of l.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&s(r)}).observe(document,{childList:!0,subtree:!0});function n(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=n(o);fetch(o.href,l)}})();const Xi=!1,Gi=(e,t)=>e===t,Qi=Symbol("solid-track"),Jt={equals:Gi};let ti=ri;const tt=1,Zt=2,ni={owned:null,cleanups:null,context:null,owner:null},hn={};var Se=null;let bn=null,Yi=null,_e=null,Le=null,et=null,nn=0;function Ht(e,t){const n=_e,s=Se,o=e.length===0,l=t===void 0?s:t,r=o?ni:{owned:null,cleanups:null,context:l?l.context:null,owner:l},a=o?e:()=>e(()=>Qe(()=>Pt(r)));Se=r,_e=null;try{return lt(a,!0)}finally{_e=n,Se=s}}function F(e,t){t=t?Object.assign({},Jt,t):Jt;const n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},s=o=>(typeof o=="function"&&(o=o(n.value)),li(n,o));return[si.bind(n),s]}function es(e,t,n){const s=ln(e,t,!0,tt);xt(s)}function X(e,t,n){const s=ln(e,t,!1,tt);xt(s)}function ii(e,t,n){ti=rs;const s=ln(e,t,!1,tt);s.user=!0,et?et.push(s):xt(s)}function Ke(e,t,n){n=n?Object.assign({},Jt,n):Jt;const s=ln(e,t,!0,0);return s.observers=null,s.observerSlots=null,s.comparator=n.equals||void 0,xt(s),si.bind(s)}function ts(e){return e&&typeof e=="object"&&"then"in e}function Xt(e,t,n){let s,o,l;typeof t=="function"?(s=e,o=t,l={}):(s=!0,o=e,l=t||{});let r=null,a=hn,c=!1,b="initialValue"in l,x=typeof s=="function"&&Ke(s);const f=new Set,[S,m]=(l.storage||F)(l.initialValue),[y,I]=F(void 0),[N,g]=F(void 0,{equals:!1}),[d,_]=F(b?"ready":"unresolved");function w(M,B,D,J){return r===M&&(r=null,J!==void 0&&(b=!0),(M===a||B===a)&&l.onHydrated&&queueMicrotask(()=>l.onHydrated(J,{value:B})),a=hn,T(B,D)),B}function T(M,B){lt(()=>{B===void 0&&m(()=>M),_(B!==void 0?"errored":b?"ready":"unresolved"),I(B);for(const D of f.keys())D.decrement();f.clear()},!1)}function Q(){const M=is,B=S(),D=y();if(D!==void 0&&!r)throw D;return _e&&_e.user,B}function K(M=!0){if(M!==!1&&c)return;c=!1;const B=x?x():s;if(B==null||B===!1){w(r,Qe(S));return}let D;const J=a!==hn?a:Qe(()=>{try{return o(B,{value:S(),refetching:M})}catch(V){D=V}});if(D!==void 0){w(r,void 0,Wt(D),B);return}else if(!ts(J))return w(r,J,void 0,B),J;return r=J,"v"in J?(J.s===1?w(r,J.v,void 0,B):w(r,void 0,Wt(J.v),B),J):(c=!0,queueMicrotask(()=>c=!1),lt(()=>{_(b?"refreshing":"pending"),g()},!1),J.then(V=>w(J,V,void 0,B),V=>w(J,void 0,Wt(V),B)))}Object.defineProperties(Q,{state:{get:()=>d()},error:{get:()=>y()},loading:{get(){const M=d();return M==="pending"||M==="refreshing"}},latest:{get(){if(!b)return Q();const M=y();if(M&&!r)throw M;return S()}}});let ne=Se;return x?es(()=>(ne=Se,K(!1))):K(!1),[Q,{refetch:M=>ns(ne,()=>K(M)),mutate:m}]}function Qe(e){if(_e===null)return e();const t=_e;_e=null;try{return e()}finally{_e=t}}function wn(e){ii(()=>Qe(e))}function sn(e){return Se===null||(Se.cleanups===null?Se.cleanups=[e]:Se.cleanups.push(e)),e}function ns(e,t){const n=Se,s=_e;Se=e,_e=null;try{return lt(t,!0)}catch(o){kn(o)}finally{Se=n,_e=s}}const[oa,aa]=F(!1);let is;function si(){if(this.sources&&this.state)if(this.state===tt)xt(this);else{const e=Le;Le=null,lt(()=>Qt(this),!1),Le=e}if(_e){const e=this.observers;if(!e||e[e.length-1]!==_e){const t=e?e.length:0;_e.sources?(_e.sources.push(this),_e.sourceSlots.push(t)):(_e.sources=[this],_e.sourceSlots=[t]),e?(e.push(_e),this.observerSlots.push(_e.sources.length-1)):(this.observers=[_e],this.observerSlots=[_e.sources.length-1])}}return this.value}function li(e,t,n){let s=e.value;return(!e.comparator||!e.comparator(s,t))&&(e.value=t,e.observers&&e.observers.length&<(()=>{for(let o=0;o<e.observers.length;o+=1){const l=e.observers[o],r=bn&&bn.running;r&&bn.disposed.has(l),(r?!l.tState:!l.state)&&(l.pure?Le.push(l):et.push(l),l.observers&&oi(l)),r||(l.state=tt)}if(Le.length>1e6)throw Le=[],new Error},!1)),t}function xt(e){if(!e.fn)return;Pt(e);const t=nn;ss(e,e.value,t)}function ss(e,t,n){let s;const o=Se,l=_e;_e=Se=e;try{s=e.fn(t)}catch(r){return e.pure&&(e.state=tt,e.owned&&e.owned.forEach(Pt),e.owned=null),e.updatedAt=n+1,kn(r)}finally{_e=l,Se=o}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?li(e,s):e.value=s,e.updatedAt=n)}function ln(e,t,n,s=tt,o){const l={fn:e,state:s,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:Se,context:Se?Se.context:null,pure:n};return Se===null||Se!==ni&&(Se.owned?Se.owned.push(l):Se.owned=[l]),l}function Gt(e){if(e.state===0)return;if(e.state===Zt)return Qt(e);if(e.suspense&&Qe(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<nn);)e.state&&t.push(e);for(let n=t.length-1;n>=0;n--)if(e=t[n],e.state===tt)xt(e);else if(e.state===Zt){const s=Le;Le=null,lt(()=>Qt(e,t[0]),!1),Le=s}}function lt(e,t){if(Le)return e();let n=!1;t||(Le=[]),et?n=!0:et=[],nn++;try{const s=e();return ls(n),s}catch(s){n||(et=null),Le=null,kn(s)}}function ls(e){if(Le&&(ri(Le),Le=null),e)return;const t=et;et=null,t.length&<(()=>ti(t),!1)}function ri(e){for(let t=0;t<e.length;t++)Gt(e[t])}function rs(e){let t,n=0;for(t=0;t<e.length;t++){const s=e[t];s.user?e[n++]=s:Gt(s)}for(t=0;t<n;t++)Gt(e[t])}function Qt(e,t){e.state=0;for(let n=0;n<e.sources.length;n+=1){const s=e.sources[n];if(s.sources){const o=s.state;o===tt?s!==t&&(!s.updatedAt||s.updatedAt<nn)&&Gt(s):o===Zt&&Qt(s,t)}}}function oi(e){for(let t=0;t<e.observers.length;t+=1){const n=e.observers[t];n.state||(n.state=Zt,n.pure?Le.push(n):et.push(n),n.observers&&oi(n))}}function Pt(e){let t;if(e.sources)for(;e.sources.length;){const n=e.sources.pop(),s=e.sourceSlots.pop(),o=n.observers;if(o&&o.length){const l=o.pop(),r=n.observerSlots.pop();s<o.length&&(l.sourceSlots[r]=s,o[s]=l,n.observerSlots[s]=r)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)Pt(e.tOwned[t]);delete e.tOwned}if(e.owned){for(t=e.owned.length-1;t>=0;t--)Pt(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0}function Wt(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function kn(e,t=Se){throw Wt(e)}const os=Symbol("fallback");function Wn(e){for(let t=0;t<e.length;t++)e[t]()}function as(e,t,n={}){let s=[],o=[],l=[],r=0,a=t.length>1?[]:null;return sn(()=>Wn(l)),()=>{let c=e()||[],b=c.length,x,f;return c[Qi],Qe(()=>{let m,y,I,N,g,d,_,w,T;if(b===0)r!==0&&(Wn(l),l=[],s=[],o=[],r=0,a&&(a=[])),n.fallback&&(s=[os],o[0]=Ht(Q=>(l[0]=Q,n.fallback())),r=1);else if(r===0){for(o=new Array(b),f=0;f<b;f++)s[f]=c[f],o[f]=Ht(S);r=b}else{for(I=new Array(b),N=new Array(b),a&&(g=new Array(b)),d=0,_=Math.min(r,b);d<_&&s[d]===c[d];d++);for(_=r-1,w=b-1;_>=d&&w>=d&&s[_]===c[w];_--,w--)I[w]=o[_],N[w]=l[_],a&&(g[w]=a[_]);for(m=new Map,y=new Array(w+1),f=w;f>=d;f--)T=c[f],x=m.get(T),y[f]=x===void 0?-1:x,m.set(T,f);for(x=d;x<=_;x++)T=s[x],f=m.get(T),f!==void 0&&f!==-1?(I[f]=o[x],N[f]=l[x],a&&(g[f]=a[x]),f=y[f],m.set(T,f)):l[x]();for(f=d;f<b;f++)f in I?(o[f]=I[f],l[f]=N[f],a&&(a[f]=g[f],a[f](f))):o[f]=Ht(S);o=o.slice(0,r=b),s=c.slice(0)}return o});function S(m){if(l[f]=m,a){const[y,I]=F(f);return a[f]=I,t(c[f],y)}return t(c[f])}}}function k(e,t){return Qe(()=>e(t||{}))}const cs=e=>`Stale read from <${e}>.`;function fe(e){const t="fallback"in e&&{fallback:()=>e.fallback};return Ke(as(()=>e.each,e.children,t||void 0))}function oe(e){const t=e.keyed,n=Ke(()=>e.when,void 0,void 0),s=t?n:Ke(n,void 0,{equals:(o,l)=>!o==!l});return Ke(()=>{const o=s();if(o){const l=e.children;return typeof l=="function"&&l.length>0?Qe(()=>l(t?o:()=>{if(!Qe(s))throw cs("Show");return n()})):l}return e.fallback},void 0,void 0)}const ee=e=>Ke(()=>e());function ds(e,t,n){let s=n.length,o=t.length,l=s,r=0,a=0,c=t[o-1].nextSibling,b=null;for(;r<o||a<l;){if(t[r]===n[a]){r++,a++;continue}for(;t[o-1]===n[l-1];)o--,l--;if(o===r){const x=l<s?a?n[a-1].nextSibling:n[l-a]:c;for(;a<l;)e.insertBefore(n[a++],x)}else if(l===a)for(;r<o;)(!b||!b.has(t[r]))&&t[r].remove(),r++;else if(t[r]===n[l-1]&&n[a]===t[o-1]){const x=t[--o].nextSibling;e.insertBefore(n[a++],t[r++].nextSibling),e.insertBefore(n[--l],x),t[o]=n[l]}else{if(!b){b=new Map;let f=a;for(;f<l;)b.set(n[f],f++)}const x=b.get(t[r]);if(x!=null)if(a<x&&x<l){let f=r,S=1,m;for(;++f<o&&f<l&&!((m=b.get(t[f]))==null||m!==x+S);)S++;if(S>x-a){const y=t[r];for(;a<x;)e.insertBefore(n[a++],y)}else e.replaceChild(n[a++],t[r++])}else r++;else t[r++].remove()}}}const Kn="_$DX_DELEGATE";function us(e,t,n,s={}){let o;return Ht(l=>{o=l,t===document?e():i(t,e(),t.firstChild?null:void 0,n)},s.owner),()=>{o(),t.textContent=""}}function h(e,t,n,s){let o;const l=()=>{const a=s?document.createElementNS("http://www.w3.org/1998/Math/MathML","template"):document.createElement("template");return a.innerHTML=e,n?a.content.firstChild.firstChild:s?a.firstChild:a.content.firstChild},r=t?()=>Qe(()=>document.importNode(o||(o=l()),!0)):()=>(o||(o=l())).cloneNode(!0);return r.cloneNode=r,r}function Je(e,t=window.document){const n=t[Kn]||(t[Kn]=new Set);for(let s=0,o=e.length;s<o;s++){const l=e[s];n.has(l)||(n.add(l),t.addEventListener(l,hs))}}function ze(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function z(e,t){t==null?e.removeAttribute("class"):e.className=t}function yt(e,t,n,s){Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n}function ai(e,t,n){if(!t)return n?ze(e,"style"):t;const s=e.style;if(typeof t=="string")return s.cssText=t;typeof n=="string"&&(s.cssText=n=void 0),n||(n={}),t||(t={});let o,l;for(l in n)t[l]==null&&s.removeProperty(l),delete n[l];for(l in t)o=t[l],o!==n[l]&&(s.setProperty(l,o),n[l]=o);return n}function Jn(e,t,n){n!=null?e.style.setProperty(t,n):e.style.removeProperty(t)}function fs(e,t,n){return Qe(()=>e(t,n))}function i(e,t,n,s){if(n!==void 0&&!s&&(s=[]),typeof t!="function")return Yt(e,t,s,n);X(o=>Yt(e,t(),o,n),s)}function hs(e){let t=e.target;const n=`$$${e.type}`,s=e.target,o=e.currentTarget,l=c=>Object.defineProperty(e,"target",{configurable:!0,value:c}),r=()=>{const c=t[n];if(c&&!t.disabled){const b=t[`${n}Data`];if(b!==void 0?c.call(t,b,e):c.call(t,e),e.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(e.target)&&l(t.host),!0},a=()=>{for(;r()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),e.composedPath){const c=e.composedPath();l(c[0]);for(let b=0;b<c.length-2&&(t=c[b],!!r());b++){if(t._$host){t=t._$host,a();break}if(t.parentNode===o)break}}else a();l(s)}function Yt(e,t,n,s,o){for(;typeof n=="function";)n=n();if(t===n)return n;const l=typeof t,r=s!==void 0;if(e=r&&n[0]&&n[0].parentNode||e,l==="string"||l==="number"){if(l==="number"&&(t=t.toString(),t===n))return n;if(r){let a=n[0];a&&a.nodeType===3?a.data!==t&&(a.data=t):a=document.createTextNode(t),n=gt(e,n,s,a)}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t}else if(t==null||l==="boolean")n=gt(e,n,s);else{if(l==="function")return X(()=>{let a=t();for(;typeof a=="function";)a=a();n=Yt(e,a,n,s)}),()=>n;if(Array.isArray(t)){const a=[],c=n&&Array.isArray(n);if(gn(a,t,n,o))return X(()=>n=Yt(e,a,n,s,!0)),()=>n;if(a.length===0){if(n=gt(e,n,s),r)return n}else c?n.length===0?Zn(e,a,s):ds(e,n,a):(n&>(e),Zn(e,a));n=a}else if(t.nodeType){if(Array.isArray(n)){if(r)return n=gt(e,n,s,t);gt(e,n,null,t)}else n==null||n===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}}return n}function gn(e,t,n,s){let o=!1;for(let l=0,r=t.length;l<r;l++){let a=t[l],c=n&&n[e.length],b;if(!(a==null||a===!0||a===!1))if((b=typeof a)=="object"&&a.nodeType)e.push(a);else if(Array.isArray(a))o=gn(e,a,c)||o;else if(b==="function")if(s){for(;typeof a=="function";)a=a();o=gn(e,Array.isArray(a)?a:[a],Array.isArray(c)?c:[c])||o}else e.push(a),o=!0;else{const x=String(a);c&&c.nodeType===3&&c.data===x?e.push(c):e.push(document.createTextNode(x))}}return o}function Zn(e,t,n=null){for(let s=0,o=t.length;s<o;s++)e.insertBefore(t[s],n)}function gt(e,t,n,s){if(n===void 0)return e.textContent="";const o=s||document.createTextNode("");if(t.length){let l=!1;for(let r=t.length-1;r>=0;r--){const a=t[r];if(o!==a){const c=a.parentNode===e;!l&&!r?c?e.replaceChild(o,a):e.insertBefore(o,n):c&&a.remove()}else l=!0}}else e.insertBefore(o,n);return[o]}function ve(e){return JSON.parse(JSON.stringify(e))}function ft(){return new Date().toISOString()}function Xn(e){return`$${e.toFixed(2)}`}const Mt="proj_dashboard",pt="sess_vibeultra_exec",_n="flow_tdd_live",ut={recommended_next_action:"Resolve the API wiring, run the TDD flow, then verify the desktop 4-column session workspace.",recommended_label:"TDD Flow Plan",reason:"The dashboard must expose a strict deterministic execution path before allowing further session work.",confidence:.92,flow:!0,steps:[{tool:"plan",label:"Resolve execution plan",reason:"Lock the next structured steps before any run."},{tool:"tdd",label:"Write failing expectation",reason:"Capture KPI, mode, and deterministic UI behavior in testable form."},{tool:"implement",label:"Wire API-backed session controls",reason:"Surface live mode, lock, policy, and plan data."},{tool:"web_search",label:"Ground research when needed",reason:"Only use structured search steps inside the session."},{tool:"verify",label:"Run preview and inspect layout",reason:"Confirm Home and 4-column workspace render operationally."}],signals:{deterministic_execution_policy:"strict-deterministic",requested_optimization_mode:"vibeultrax",effective_optimization_mode:"vibeultrax",effective_slot:"brain"},capabilities:{web_search:!0,tdd:!0,vibeultrax:!0}},C={status:{enabled:!0,active_slot:"brain",enforce:!0,flow_enforcer:!0,flow_extract_todos:!0,tdd_enforcer:!0,tdd_strict:!0,thinking:"full",current_model:"openai/gpt-5",current_provider:"OpenAI",current_quality_tier:"brain",credit_percent:72,version:"preview",backend_connected:!1,backendConnected:!1,backend_api_url:"https://api.vibetheog.com/api/v1",backend_health_url:"https://api.vibetheog.com/health",backend_health_checked_at:ft(),backend_health_age_ms:0,backend_health_latency_ms:null,backend_health_status:null,backend_health_error:"preview fallback",backend_version:null,api_fallback:!0,api_fallback_since:ft(),model_locked:!0,locked_slot:"brain",locked_model:"openai/gpt-5",optimization_mode:"vibeultrax",recommended_next_action:"Open the active session and run the TDD flow plan.",orchestration_plan:ve(ut),tiers:null,label_modes:["vibeultrax","vibeqmax","vibemax","vibelitex","raw"],todos:{total:6,pending:4},current_project_fingerprint:"dashboard/home-4col",current_project_name:"Dashboard Control Center",reality_check_enabled:!0,reality_check_scope:"project",reality_check_project_id:Mt,reality_check_rules_count:3},savings:{lifetime:{delegation_usd:18.34,cache_usd:9.81,missed_context7_usd:2.15,total_warns:7},current_session:{delegation_usd:4.62,cache_usd:1.28,warns_count:1,tool_breakdown:{plan:2.1,tdd:1.7,web_search:.8,verify:1.3}},cache_hits_this_session:14,trend:"up",savings_rate_per_hour:3.9},capabilities:{web_search:{enabled:!0,provider:"api",fixture_mode:!0},compression:{enabled:!0,provider:"local"},tdd:{enabled:!0,provider:"local"},blackbox:{enabled:!0,provider:"local"},vibemax:{enabled:!0,provider:"local"},vibeqmax:{enabled:!0,provider:"local"},vibeultrax:{enabled:!0,provider:"local"},vibelitex:{enabled:!0,provider:"local"},raw:{enabled:!0,provider:"local"}},projects:[{id:Mt,name:"Dashboard Control Center",fingerprint:"dashboard/home-4col",default_flow_id:_n,created_at:"2026-07-03T12:30:00.000Z",updated_at:"2026-07-03T15:05:00.000Z"}],sessions:[{id:pt,project_id:Mt,title:"Executive Home + Deterministic Session Rail",flow_id:_n,created_at:"2026-07-03T12:45:00.000Z",updated_at:"2026-07-03T15:06:00.000Z"}],flows:[{id:_n,scope:"project",project_id:Mt,name:"TDD Flow Plan",graph:{nodes:[{id:"plan",tool:"plan",label:"Resolve plan"},{id:"tdd",tool:"tdd",label:"Write failing expectation"},{id:"implement",tool:"implement",label:"Implement dashboard changes"},{id:"verify",tool:"verify",label:"Preview and validate"}],edges:[{from:"plan",to:"tdd"},{from:"tdd",to:"implement"},{from:"implement",to:"verify"}]},created_at:"2026-07-03T12:40:00.000Z",updated_at:"2026-07-03T15:02:00.000Z"}],messages:{[pt]:[{id:"msg_user_1",role:"user",content:"Build the executive home, wire the 4-column operational session UI, and keep deterministic execution only.",plan:ve(ut),results:null,created_at:"2026-07-03T12:46:00.000Z"},{id:"msg_assistant_1",role:"assistant",content:"Resolved plan: Home KPIs first, then session rail, then API wiring, then preview verification.",plan:ve(ut),results:[{step:ut.steps[0],result:{ok:!0,state:"resolved"}},{step:ut.steps[1],result:{ok:!0,tests:"drafted"}},{step:ut.steps[2],result:{ok:!0,controls:"api-backed"}}],created_at:"2026-07-03T12:49:00.000Z"}]},reports:[{id:"report_preview_audit",type:"audit",summary:"Preview fallback is active because the backend is unavailable; UI remains interactive.",created:"2026-07-03T15:00:00.000Z",tags:["preview","dashboard","fallback"]}],sessionState:{status:"active",locked:!0,archived:!1,optimization_mode:"vibeultrax",recommendation:"Run the structured TDD flow once the API is healthy, or continue in preview mode for layout verification.",lifecycle:{created_at:"2026-07-03T12:45:00.000Z",paused_at:null,resumed_at:"2026-07-03T13:10:00.000Z",archived_at:null,checked_out_at:"2026-07-03T15:06:00.000Z"},notes:[{text:"Column 4 is the authority rail for mode, plan, lock, and policy."},{text:"Sub-regimes such as speed, audit, forensic, and longrun are not top-level vibe modes."}],tags:["home","session","deterministic","tdd","web-search"],template:{id:"tdd-flow-plan",label:"TDD Flow Plan",body:"Plan -> TDD -> Implement -> Verify",signature:"preview-template",revision:4,source:"preview"},blackbox:{enabled:!0,sub_regime:"audit",resolution:"strict deterministic",momentum:84,loop_count:3}}};function bs(){return C.projects[0]}function _s(){return C.sessions[0]}function Kt(){const e=_s(),t=bs();return{title:e.title,session_id:e.id,status:C.sessionState.status,locked:C.sessionState.locked,archived:C.sessionState.archived,project_name:t.name,project_fingerprint:t.fingerprint,started_at:C.sessionState.lifecycle.created_at,cost_usd:2.41,delegation_savings_usd:C.savings.current_session.delegation_usd,cache_savings_usd:C.savings.current_session.cache_usd,notes_count:C.sessionState.notes.length,tags:ve(C.sessionState.tags),template:ve(C.sessionState.template),optimization_mode:C.sessionState.optimization_mode,orchestration_plan:ve(ut),blackbox:ve(C.sessionState.blackbox),recommendation:C.sessionState.recommendation,notes:ve(C.sessionState.notes),lifecycle:ve(C.sessionState.lifecycle),orchestration:{effective_optimization_mode:C.sessionState.optimization_mode,requested_optimization_mode:C.sessionState.optimization_mode,effective_slot:C.status.active_slot,deterministic_execution_policy:"strict-deterministic",resolved_plan_metadata:{source:"preview",strict:!0,generated_at:ft()},mode_capabilities:ve(C.capabilities)}}}function vs(){var s;const e=Kt(),t=C.savings.lifetime.delegation_usd+C.savings.lifetime.cache_usd,n=e.delegation_savings_usd+e.cache_savings_usd;return{home:{title:"Executive Operational Home",subtitle:"Main KPIs, current deterministic session, and next structured action.",recommendation:"Open the active session and continue the TDD Flow Plan from the deterministic rail.",cards:[{label:"Active project",value:e.project_name},{label:"Active session",value:e.title},{label:"Vibe mode",value:"VibeUltraX"},{label:"Slot",value:C.status.active_slot},{label:"Model",value:C.status.current_model},{label:"Lock state",value:C.sessionState.locked?"locked":"mutable"},{label:"Backend",value:C.status.backend_connected?"live":"preview fallback"},{label:"Session cost",value:Xn(e.cost_usd)},{label:"Session savings",value:Xn(n)},{label:"Pending TODOs",value:String(((s=C.status.todos)==null?void 0:s.pending)||0)}]},savings:ve(C.savings),todos:[{id:"todo_1",status:"pending",title:"Verify Home KPI density"},{id:"todo_2",status:"pending",title:"Validate 4-column desktop layout"},{id:"todo_3",status:"pending",title:"Confirm mode rail exposes all branded vibe modes"},{id:"todo_4",status:"pending",title:"Check blocked-state messaging for unsupported actions"}],current_session:e,template_editor:{enabled:!0,session_id:e.session_id,template:ve(C.sessionState.template),templates:[ve(C.sessionState.template)],can_edit:!1,can_version:!1,version:4,history:[]},sessions:[{session_id:e.session_id,is_current:!0,started_at:e.started_at,cost_usd:e.cost_usd,delegation_savings_usd:e.delegation_savings_usd,cache_savings_usd:e.cache_savings_usd,status:e.status,locked:e.locked,archived:e.archived,tags:ve(e.tags),notes_count:e.notes_count,template_label:e.template.label||e.template.id,template_signature:e.template.signature||null,recommendation:e.recommendation}],templates:[ve(C.sessionState.template)],session_actions:["start","pause","resume","lock","unlock","archive","undo"],totals:{total_sessions:C.sessions.length,total_savings_usd:t,current_session_savings_usd:n,pending_todos:4},status:ve(C.status),blackbox:{sub_regime:C.sessionState.blackbox.sub_regime,resolution:C.sessionState.blackbox.resolution},backend_connected:C.status.backend_connected,backend_status:C.status.backend_connected?"online":"preview fallback",backend_health_url:C.status.backend_health_url,backend_version:C.status.backend_version}}function $s(){var n;if(typeof window>"u")return!1;const e=String(((n=window.localStorage)==null?void 0:n.getItem("vibeos.dashboard.preview"))||"").toLowerCase();if(e==="1"||e==="true"||e==="on")return!0;const t=window.location.hostname;return t==="127.0.0.1"||t==="localhost"}function gs(){return ve(C.status)}function ms(){return ve(C.savings)}function ps(){return ve(C.capabilities)}function xs(){return ve(C.projects)}function Ss(e){const t=C.sessions;return ve(t)}function ws(e){const t=C.flows;return ve(t)}function ks(e){return ve(C.messages[e]||[])}function Cs(){return ve(C.reports)}function ys(){return vs()}function mn(e){return e!==pt?{session:Kt(),metrics:{},orchestration:null}:{session:Kt(),metrics:{session_savings_usd:C.savings.current_session.delegation_usd+C.savings.current_session.cache_usd,session_cost_usd:2.41,strict_policy:"strict-deterministic",effective_slot:C.status.active_slot,requested_optimization_mode:C.sessionState.optimization_mode,effective_optimization_mode:C.sessionState.optimization_mode},orchestration:ve(Kt().orchestration)}}function js(e,t){return e==="mode"&&t?(C.status.optimization_mode=t,C.sessionState.optimization_mode=t,C.status.recommended_next_action=`Mode switched to ${t}. Continue with the structured TDD flow.`,{ok:!0,result:{optimization_mode:t}}):e==="set"&&t?(C.status.active_slot=t,C.status.current_quality_tier=t,C.status.model_locked=!0,C.status.locked_slot=t,{ok:!0,result:{active_slot:t}}):{ok:!0,result:{action:e,slot:t}}}function Ps(e,t){const n=C.sessions.find(s=>s.id===e)||C.sessions[0];return typeof t.title=="string"&&(n.title=t.title),"flow_id"in t&&(n.flow_id=t.flow_id??null),n.updated_at=ft(),ve(n)}function Ts(e,t){return e!==pt||(t==="lock"?(C.sessionState.locked=!0,C.status.model_locked=!0):t==="unlock"?(C.sessionState.locked=!1,C.status.model_locked=!1):t==="pause"?(C.sessionState.status="paused",C.sessionState.lifecycle.paused_at=ft()):t==="resume"||t==="start"?(C.sessionState.status="active",C.sessionState.lifecycle.resumed_at=ft()):t==="archive"?(C.sessionState.archived=!0,C.sessionState.status="archived",C.sessionState.lifecycle.archived_at=ft()):t==="undo"&&(C.sessionState.archived=!1,C.sessionState.status="active",C.sessionState.lifecycle.archived_at=null),C.sessionState.recommendation=`Last structured action: ${t}. Preview state updated locally.`),mn(pt)}function Es(e){const t=e.trim()||"dashboard deterministic session";return{ok:!0,query:t,provider:"preview-fixture",results:[{id:"1",title:"Structured execution patterns for operational dashboards",url:"https://example.com/structured-execution",domain:"example.com",snippet:"Operational dashboards keep the execution plan, hard state, and KPI signals visible in the same workspace.",source:"preview",rank:1},{id:"2",title:"TDD planning in live orchestration UIs",url:"https://example.com/tdd-orchestration",domain:"example.com",snippet:"A deterministic control rail should expose the active plan before execution starts.",source:"preview",rank:2},{id:"3",title:"Session command centers with strict blocked-state messaging",url:"https://example.com/blocked-state",domain:"example.com",snippet:"Unsupported actions should fail explicitly when strict mode is active.",source:"preview",rank:3}],citations:[{id:1,title:"Structured execution patterns for operational dashboards",url:"https://example.com/structured-execution",domain:"example.com"},{id:2,title:"TDD planning in live orchestration UIs",url:"https://example.com/tdd-orchestration",domain:"example.com"},{id:3,title:"Session command centers with strict blocked-state messaging",url:"https://example.com/blocked-state",domain:"example.com"}],answer:`Preview search answer for "${t}": keep the Home screen KPI-dense, expose all branded vibe modes in column 4, render the resolved TDD flow plan before execution, and block unsupported actions under strict deterministic policy.`,meta:{resultCount:3,uniqueDomains:1}}}const Cn=typeof window<"u"?window:{},jt=Cn.__VIBEOS_DASHBOARD_BASE__??"",pn=Cn.__VIBEOS_DASHBOARD_TOKEN__??"";let Rt=null;function yn(){const e={"Content-Type":"application/json"};return pn&&(e.Authorization="Bearer "+pn),e}async function Ve(e,t){const n=await fetch(jt+e,{headers:yn(),...t});if(!n.ok)throw new Error(`API ${n.status}: ${n.statusText}`);return n.json()}function en(e){return String(e||"").trim().replace(/\/$/,"")}function tn(e){return en(e).replace(/\/api\/v1$/,"")}function Os(e){const t=en(e);if(!t)return"";try{const n=new URL(t,typeof window<"u"?window.location.origin:"http://127.0.0.1");return n.pathname.endsWith("/health")&&(n.pathname=n.pathname.slice(0,-7)||"/"),tn(n.href)}catch{return tn(t.replace(/\/health$/,""))}}async function ci(){const e=tn(Cn.__VIBEOS_BACKEND_API_BASE__);if(e)return e;if(jt){const t=en(jt).replace(/\/api\/v1\/dashboard$/,"");if(t!==en(jt))return t}return Rt||(Rt=(async()=>{try{const t=await Ve("/status"),n=tn(t.backend_api_url);if(n)return n;const s=Os(t.backend_health_url);if(s)return s}catch{}return"https://api.vibetheog.com"})(),Rt)}async function di(e,t){const n=await ci(),s=await fetch(n+e,{headers:yn(),...t});if(!s.ok)throw new Error(`API ${s.status}: ${s.statusText}`);return s.json()}async function Re(e,t){try{return await e()}catch(n){if($s())return await t();throw n}}function ui(){return Re(()=>Ve("/status"),()=>gs())}function Ds(){return Re(()=>Ve("/savings"),()=>ms())}function Is(){return Re(()=>Ve("/sessions"),()=>({sessions:[],total_sessions:0}))}function As(){return Re(()=>Ve("/reports"),()=>Cs())}function jn(){return Re(()=>Ve("/capabilities"),()=>ps())}function Ns(){return Re(()=>Ve("/dashboard/home"),()=>ys())}function qs(e){return Re(()=>Ve(`/sessions/${encodeURIComponent(e)}`),()=>mn(e))}function rn(e,t,n){const s={action:e};return t&&(s.slot=t),Re(()=>Ve("/trinity",{method:"POST",body:JSON.stringify(s)}),()=>js(e,t))}function Fs(e,t){return Re(()=>Ve(`/sessions/${encodeURIComponent(e)}/action`,{method:"POST",body:JSON.stringify(t)}),()=>{const n=Ts(e,String(t.action||""));return{ok:!0,session:n.session,metrics:n.metrics,orchestration:n.orchestration??null}})}function fi(e){return Re(()=>Ve("/web-search",{method:"POST",body:JSON.stringify(e)}),()=>Es(e.query))}function Bs(e){let t=!1;if(pn){let o=null;const l=async()=>{try{const[r,a]=await Promise.all([Ve("/status"),Ve("/savings")]);t||e({status:r,savings:a})}catch{}};return l(),o=setInterval(l,3e3),()=>{t=!0,o&&clearInterval(o)}}let n=null;function s(){if(t)return;const o=new EventSource(jt+"/events");o.onmessage=l=>{try{const r=JSON.parse(l.data);t||e(r)}catch{}},o.onerror=()=>{o.close(),t||(n=setTimeout(s,3e3))}}return s(),()=>{t=!0,n&&clearTimeout(n)}}function Ls(e,t){return di("/api/v1/blackbox/analyze",{method:"POST",body:JSON.stringify({session_id:e,project_id:t.project_id||null,user_text:t.userText||"",features:t.features||{},action:t.action||"explore",entropy:t.entropy??1,uncertainty:t.uncertainty??50,embedding:t.embedding||null,optimization_mode:t.optimizationMode||"auto"})})}async function He(e,t){return di(`/api/v1/orchestrator${e}`,t)}function Ms(){return Re(()=>He("/projects"),()=>({projects:xs()}))}function Rs(e,t){return He("/projects",{method:"POST",body:JSON.stringify({name:e,fingerprint:t})})}function Us(e,t){return He(`/projects/${e}`,{method:"PUT",body:JSON.stringify(t)})}function zs(e){return He(`/projects/${e}`,{method:"DELETE"})}function Vs(e){return Re(()=>He(`/sessions${e?`?project_id=${encodeURIComponent(e)}`:""}`),()=>({sessions:Ss()}))}function Hs(e,t,n){return He("/sessions",{method:"POST",body:JSON.stringify({project_id:e,title:t,flow_id:null})})}function Ws(e,t){return Re(()=>He(`/sessions/${e}`,{method:"PUT",body:JSON.stringify(t)}),()=>({session:Ps(e,t)}))}function Ks(e){return He(`/sessions/${e}`,{method:"DELETE"})}function Js(e){return Re(()=>He(`/sessions/${e}/messages`),()=>({messages:ks(e)}))}function Zs(e){return Re(()=>He(`/flows${e?`?project_id=${encodeURIComponent(e)}`:""}`),()=>({flows:ws()}))}function Xs(e,t,n="global",s){return He("/flows",{method:"POST",body:JSON.stringify({name:e,graph:t,scope:n,project_id:s})})}function Gs(e,t){return He(`/flows/${e}`,{method:"PUT",body:JSON.stringify(t)})}function Qs(e){return He(`/flows/${e}`,{method:"DELETE"})}function Ys(e,t,n){const s=new AbortController;return(async()=>{var b,x,f;const o=await ci(),l=await fetch(o+`/api/v1/orchestrator/sessions/${e}/run`,{method:"POST",headers:yn(),body:JSON.stringify(t),signal:s.signal});if(!l.ok||!l.body){(b=n.onError)==null||b.call(n,new Error(`run failed: ${l.status}`));return}const r=l.body.getReader(),a=new TextDecoder;let c="";for(;;){const{done:S,value:m}=await r.read();if(S)break;c+=a.decode(m,{stream:!0});let y;for(;(y=c.indexOf(`
|
|
2
|
-
|
|
3
|
-
`))>=0;){const I=c.slice(0,y);c=c.slice(y+2);const N=(x=I.match(/event: (.*)/))==null?void 0:x[1],g=I.slice(I.indexOf("data: ")+6);if(!(!N||I.indexOf("data: ")<0))try{n.onEvent(N,JSON.parse(g))}catch{}}}(f=n.onDone)==null||f.call(n)})().catch(o=>{var l;(o==null?void 0:o.name)!=="AbortError"&&((l=n.onError)==null||l.call(n,o))}),()=>s.abort()}const el="home";function tl(e){const t=String((e==null?void 0:e.name)||"").trim(),n=String((e==null?void 0:e.fingerprint)||"").trim(),s=`${t} ${n}`.toLowerCase();if(/\b(cli|terminal|shell|console)\b/.test(s))return{glyph:"⌘",label:"CLI"};if(/\b(api|backend|server)\b/.test(s))return{glyph:"◫",label:"API"};if(/\b(web|site|frontend|dashboard|ui|home)\b/.test(s))return{glyph:"◩",label:"UI"};if(/\b(app|desktop|mobile)\b/.test(s))return{glyph:"▣",label:"App"};const o=t.split(/[^A-Za-z0-9]+/).filter(Boolean).slice(0,2).map(c=>{var b;return((b=c[0])==null?void 0:b.toUpperCase())||""}).join("");if(o)return{glyph:o,label:t||o};const l=n||t||"project",r=["◆","◈","◉","▣","⬢","◬"];let a=0;for(const c of l)a=a*31+c.charCodeAt(0)>>>0;return{glyph:r[a%r.length],label:t||"Project"}}function nl(e){var l,r;const t=Array.isArray(e.flows)?e.flows:[],n=(l=e.session)!=null&&l.flow_id&&t.find(a=>{var c;return a.id===((c=e.session)==null?void 0:c.flow_id)})||null;if(n)return`${n.name}${n.scope==="project"?" (session override)":" (global)"}`.trim();const s=(r=e.project)!=null&&r.default_flow_id&&t.find(a=>{var c;return a.id===((c=e.project)==null?void 0:c.default_flow_id)})||null;if(s)return`${s.name}${s.scope==="project"?" (project default)":" (global default)"}`.trim();const o=t.find(a=>a.scope==="global");return o?`${o.name} (global default)`:"No default flow"}function il(e){const t=String(e.currentProjectName||"").trim()||"unknown project",n=String(e.currentSessionId||"").trim();return n?`${t} · ${n}`:t}var sl=h("<div class=create-form><input class=create-input><button class=create-ok>ok</button><button class=create-cancel>x");function Gn(e){const[t,n]=F("");let s;return wn(()=>s==null?void 0:s.focus()),(()=>{var o=sl(),l=o.firstChild,r=l.nextSibling,a=r.nextSibling;l.$$keydown=b=>{b.key==="Enter"&&t().trim()&&e.onSubmit(t().trim()),b.key==="Escape"&&e.onCancel()},l.$$input=b=>n(b.currentTarget.value);var c=s;return typeof c=="function"?fs(c,l):s=l,r.$$click=()=>{t().trim()&&e.onSubmit(t().trim())},yt(a,"click",e.onCancel),X(b=>{var x=e.placeholder,f=!t().trim();return x!==b.e&&ze(l,"placeholder",b.e=x),f!==b.t&&(r.disabled=b.t=f),b},{e:void 0,t:void 0}),X(()=>l.value=t()),o})()}Je(["input","keydown","click"]);var ll=h("<button class=sidebar-inline-link>open project"),rl=h("<button class=sidebar-inline-link>open session"),ol=h('<aside class=sidebar><div class=sidebar-brand><div class=sidebar-brand-mark>~</div><div><div class=sidebar-brand-title>opencode</div><div class=sidebar-brand-subtitle>dashboard home</div></div></div><button><span class=sidebar-icon>⌂</span> Home</button><button><span class=sidebar-icon>≡</span> Overview</button><div class=sidebar-context-card><div class=sidebar-section-label>active context</div><div class=sidebar-context-main></div></div><div class=sidebar-section-head><span class=sidebar-section-label>projects</span><button class=sidebar-add title="New project">+'),al=h("<div class=sidebar-empty>no projects — click + to create one"),cl=h("<div class=sidebar-sessions>"),dl=h('<div class=sidebar-project><div class=sidebar-project-row><button><span class=sidebar-caret></span> </button><button class=sidebar-add title="New session">+</button><button class=sidebar-delete title="Delete project">x'),ul=h("<span class=sidebar-project-icon>"),fl=h('<div class="sidebar-empty sub">no sessions'),hl=h('<div class=sidebar-session-row><button><span class=sidebar-icon>›</span> </button><button class=sidebar-delete title="Delete session">x');function Ut(e,t){return e.kind!==t.kind?!1:e.kind==="home"||e.kind==="status"?!0:e.kind==="project"&&t.kind==="project"?e.projectId===t.projectId:e.kind==="session"&&t.kind==="session"?e.sessionId===t.sessionId:!1}function bl(e){return(()=>{var t=ol(),n=t.firstChild,s=n.nextSibling,o=s.nextSibling,l=o.nextSibling,r=l.firstChild,a=r.nextSibling,c=l.nextSibling,b=c.firstChild,x=b.nextSibling;return s.$$click=()=>e.onSelect({kind:"home"}),o.$$click=()=>e.onSelect({kind:"status"}),i(a,()=>il({currentProjectName:e.currentProjectName,currentSessionId:e.currentSessionId})),i(l,k(oe,{get when(){return e.currentProjectId},get children(){var f=ll();return f.$$click=()=>e.onSelect({kind:"project",projectId:e.currentProjectId}),f}}),null),i(l,k(oe,{get when(){return ee(()=>!!e.currentProjectId)()&&e.currentSessionId},get children(){var f=rl();return f.$$click=()=>e.onSelect({kind:"session",projectId:e.currentProjectId,sessionId:e.currentSessionId}),f}}),null),yt(x,"click",e.onNewProject),i(t,k(oe,{get when(){return e.creatingProject},get children(){return k(Gn,{placeholder:"project name",get onSubmit(){return e.onCreateProjectName},get onCancel(){return e.onCancelCreate}})}}),null),i(t,k(fe,{get each(){return e.projects},get fallback(){return al()},children:f=>(()=>{var S=dl(),m=S.firstChild,y=m.firstChild,I=y.firstChild;I.nextSibling;var N=y.nextSibling,g=N.nextSibling;return i(m,()=>{const d=tl(f);return(()=>{var _=ul();return i(_,()=>d.glyph),X(()=>ze(_,"title",d.label)),_})()},y),y.$$click=()=>{e.onToggle(f.id),e.onSelect({kind:"project",projectId:f.id})},i(I,()=>e.expanded[f.id]?"▾":"▸"),i(y,()=>f.name,null),N.$$click=()=>e.onNewSession(f.id),g.$$click=()=>e.onDeleteProject(f.id),i(S,k(oe,{get when(){return e.expanded[f.id]},get children(){var d=cl();return i(d,k(oe,{get when(){return e.creatingSessionFor===f.id},get children(){return k(Gn,{placeholder:"session title",onSubmit:_=>e.onCreateSessionName(f.id,_),get onCancel(){return e.onCancelCreate}})}}),null),i(d,k(fe,{get each(){return e.sessionsByProject[f.id]||[]},get fallback(){return fl()},children:_=>(()=>{var w=hl(),T=w.firstChild,Q=T.firstChild;Q.nextSibling;var K=T.nextSibling;return T.$$click=()=>e.onSelect({kind:"session",projectId:f.id,sessionId:_.id}),i(T,()=>_.title,null),K.$$click=()=>e.onDeleteSession(_.id),X(()=>z(T,`sidebar-item session ${Ut(e.selection,{kind:"session",projectId:f.id,sessionId:_.id})?"active":""}`)),w})()}),null),d}}),null),X(()=>z(y,`sidebar-item ${Ut(e.selection,{kind:"project",projectId:f.id})?"active":""}`)),S})()}),null),X(f=>{var S=`sidebar-item pinned ${Ut(e.selection,{kind:"home"})?"active":""}`,m=`sidebar-item pinned ${Ut(e.selection,{kind:"status"})?"active":""}`;return S!==f.e&&z(s,f.e=S),m!==f.t&&z(o,f.t=m),f},{e:void 0,t:void 0}),t})()}Je(["click"]);const _l=["vibemax","vibeqmax","vibeultrax","vibelitex","raw"];function vl(e){return _l.includes(String(e||"").toLowerCase())}const Ct={vibeultrax:{id:"vibeultrax",index:1,name:"VibeUltraX",icon:"🏆",pipeline:["cheap","medium","brain"],thinking:"full",tdd:"quality",enforcement:"strict",flow:"strict",qualityVsBrain:107,costVsBrain:58,default:!0,desc:"Default mode. 3-model debate: cheap proposes, medium reviews, brain refines."},vibeqmax:{id:"vibeqmax",index:2,name:"VibeQMaX",icon:"⭐",pipeline:["brain"],thinking:"full",tdd:"quality",enforcement:"strict",flow:"strict",qualityVsBrain:100,costVsBrain:50,desc:"Brain tier only. Same quality as Raw Brain at half cost."},vibemax:{id:"vibemax",index:3,name:"VibeMaX",icon:"⚡",pipeline:["medium"],thinking:"off",tdd:"lazy",enforcement:"relaxed",flow:"audit",qualityVsBrain:75,costVsBrain:18,desc:"Medium tier auto-escalate. Speed-first."},vibelitex:{id:"vibelitex",index:4,name:"VibeLiteX",icon:"💡",pipeline:["medium"],thinking:"brief",tdd:"lazy",enforcement:"normal",flow:"audit",qualityVsBrain:65,costVsBrain:20,desc:"Local fallback. Medium tier with enforcement. No API required."},raw:{id:"raw",index:10,name:"Raw Brain",icon:"🧠",pipeline:["brain"],thinking:"full",tdd:"—",enforcement:"—",flow:"—",qualityVsBrain:100,costVsBrain:0,desc:"Pure v4 Pro baseline. No vibeOS overhead."}};function hi(e){const t=String(e||"").toLowerCase().trim();if(vl(t))return t;switch(t){case"litex":return"vibelitex";case"quality":return"vibeqmax";case"audit":case"forensic":return"vibeqmax";case"longrun":return"vibeqmax";case"speed":case"balanced":return"vibemax";case"budget":return"vibelitex";default:return"vibeultrax"}}const $l=[Ct.vibeultrax,Ct.vibeqmax,Ct.vibemax,Ct.vibelitex];function xn(e){const t=hi(e);return Ct[t]}function Pn(){return $l}var gl=h("<div class=home-view><div class=card><h3>Home</h3><p class=muted>loading executive summary..."),ml=h("<section class=home-controls-strip><div class=qc-group><span class=field-label>slot</span></div><div class=qc-group><span class=field-label>vibe mode</span><span class=qc-model></span></div><div class=qc-group><span class=field-label>thinking</span><span class=qc-model></span></div><div class=qc-group><span class=field-label>enforce</span><span>"),pl=h("<div class=home-tag-row>"),xl=h("<div class=home-todo-list>"),Sl=h('<div class=home-view><section class=home-hero><div class=home-hero-copy><div class=home-kicker>opencode mirror</div><h2></h2><p></p></div><div class=home-hero-actions><button class=flow-save>Open session</button><button class=shell-link>Project</button><button class=shell-link>Status</button></div></section><section class=home-ops-strip></section><section class=home-mode-grid></section><section class=home-overview-grid><div class="card home-summary-card"><h3>Main KPIs</h3><div class=home-summary-table></div></div><div class="card home-recommendation-card"><h3>Command Center</h3><p class=home-recommendation></p><div class=home-inline-grid><div><span class=field-label>active session</span><div class=home-inline-value></div></div><div><span class=field-label>flow</span><div class=home-inline-value></div></div></div></div></section><section class=home-detail-grid><div class="card home-current-session"><h3>Current Session</h3><div class=home-session-head><div class=home-session-title></div><span></span></div><div class=home-metric-strip><span>session </span><span>mode </span><span>cost </span><span>saved </span></div><p class=muted></p></div><div class="card home-todos-card"><h3>Open TODOs</h3><div class=home-totals><span> pending</span><span> sessions</span></div></div><div class="card home-savings-card"><h3>Savings</h3><div class=home-money></div><div class=home-money-sub>current session </div><div class=home-metric-strip><span>delegation </span><span>cache </span></div></div><div class="card home-sessions-card"><h3>Recent Sessions</h3><div class=home-session-list>'),wl=h("<div class=home-op-tile><span class=field-label></span><span class=home-op-value>"),kl=h("<button>"),Cl=h("<div><div class=home-mode-head><span class=home-mode-name></span><span class=home-mode-pipeline></span></div><p class=home-mode-copy></p><div class=home-mode-meta><span>thinking </span><span>flow </span><span>tdd "),yl=h("<div class=home-summary-row><span class=home-summary-label></span><span class=home-summary-value>"),jl=h("<span class=home-tag>"),Pl=h("<p class=muted>No pending TODOs."),Tl=h("<div class=home-todo-item><span class=home-todo-status></span><span>"),El=h("<div><div><div class=home-session-item-title></div><div class=muted></div></div><div class=home-session-item-meta><span></span><span>");function dt(e){return`$${Number(e||0).toFixed(2)}`}function Ol(e){return e!=null&&e.id?`${e.title} · ${e.id.slice(0,8)}`:"No active session"}function Dl(e){const t=String(e||"").trim().toLowerCase();if(!t||t==="auto")return"auto";try{return xn(t).name||xn(hi(t)).name||t}catch{return t}}function Il(e){if(!e.data)return gl();const t=()=>nl({session:e.session,project:e.project,flows:e.flows}),n=()=>{var c;return(((c=e.data)==null?void 0:c.todos)||[]).filter(b=>(b==null?void 0:b.status)!=="done").slice(0,4)},s=()=>{var c;return((c=e.data)==null?void 0:c.status)||e.status},o=()=>{var c,b,x,f,S;return String(((b=(c=e.data)==null?void 0:c.current_session)==null?void 0:b.optimization_mode)||((x=s())==null?void 0:x.optimization_mode)||((S=(f=e.data)==null?void 0:f.home.cards.find(m=>m.label.toLowerCase()==="mode"))==null?void 0:S.value)||"auto").trim().toLowerCase()},l=()=>Dl(o()),r=()=>Pn().map(c=>({...c,active:o()===c.id})),a=()=>{var c,b,x,f,S,m;return[{label:"mode",value:l()},{label:"slot",value:((c=s())==null?void 0:c.active_slot)||"brain"},{label:"model",value:((x=(b=s())==null?void 0:b.current_model)==null?void 0:x.split("/").pop())||"unknown"},{label:"lock",value:(f=s())!=null&&f.model_locked?"locked":"live"},{label:"backend",value:(S=s())!=null&&S.backend_connected?"online":"degraded"},{label:"todos",value:String(((m=e.data)==null?void 0:m.totals.pending_todos)||0)}]};return(()=>{var c=Sl(),b=c.firstChild,x=b.firstChild,f=x.firstChild,S=f.nextSibling,m=S.nextSibling,y=x.nextSibling,I=y.firstChild,N=I.nextSibling,g=N.nextSibling,d=b.nextSibling,_=d.nextSibling,w=_.nextSibling,T=w.firstChild,Q=T.firstChild,K=Q.nextSibling,ne=T.nextSibling,M=ne.firstChild,B=M.nextSibling,D=B.nextSibling,J=D.firstChild,V=J.firstChild,de=V.nextSibling,Ce=J.nextSibling,L=Ce.firstChild,te=L.nextSibling,ge=w.nextSibling,q=ge.firstChild,R=q.firstChild,ie=R.nextSibling,we=ie.firstChild,je=we.nextSibling,Fe=ie.nextSibling,Ae=Fe.firstChild;Ae.firstChild;var De=Ae.nextSibling;De.firstChild;var Pe=De.nextSibling;Pe.firstChild;var O=Pe.nextSibling;O.firstChild;var U=Fe.nextSibling,se=q.nextSibling,he=se.firstChild,Te=he.nextSibling,ke=Te.firstChild,ye=ke.firstChild,Be=ke.nextSibling,Ue=Be.firstChild,H=se.nextSibling,be=H.firstChild,Ne=be.nextSibling,Ee=Ne.nextSibling;Ee.firstChild;var $=Ee.nextSibling,j=$.firstChild;j.firstChild;var G=j.nextSibling;G.firstChild;var v=H.nextSibling,re=v.firstChild,le=re.nextSibling;return i(S,()=>e.data.home.title),i(m,()=>e.data.home.recommendation||e.data.home.subtitle),yt(I,"click",e.onOpenSession),yt(N,"click",e.onOpenProject),yt(g,"click",e.onOpenStatus),i(d,k(fe,{get each(){return a()},children:E=>(()=>{var Z=wl(),Y=Z.firstChild,ae=Y.nextSibling;return i(Y,()=>E.label),i(ae,()=>E.value),Z})()})),i(c,k(oe,{get when(){return s()},get children(){var E=ml(),Z=E.firstChild;Z.firstChild;var Y=Z.nextSibling,ae=Y.firstChild,$e=ae.nextSibling,A=Y.nextSibling,W=A.firstChild,P=W.nextSibling,me=A.nextSibling,qe=me.firstChild,Ze=qe.nextSibling;return i(Z,k(fe,{each:["brain","medium","cheap"],children:Oe=>(()=>{var We=kl();return We.$$click=()=>rn("set",Oe).then(e.onTrinityAction).catch(()=>{}),i(We,Oe),X(()=>{var Xe;return z(We,`qc-slot ${((Xe=s())==null?void 0:Xe.active_slot)===Oe?"active":""}`)}),We})()}),null),i($e,l),i(P,()=>{var Oe;return((Oe=s())==null?void 0:Oe.thinking)??"brief"}),i(Ze,()=>{var Oe;return(Oe=s())!=null&&Oe.enforce?"on":"off"}),X(()=>{var Oe;return z(Ze,`qc-pill ${(Oe=s())!=null&&Oe.enforce?"on":"off"}`)}),E}}),_),i(_,k(fe,{get each(){return r()},children:E=>(()=>{var Z=Cl(),Y=Z.firstChild,ae=Y.firstChild,$e=ae.nextSibling,A=Y.nextSibling,W=A.nextSibling,P=W.firstChild;P.firstChild;var me=P.nextSibling;me.firstChild;var qe=me.nextSibling;return qe.firstChild,i(ae,()=>E.name),i($e,()=>E.pipeline.join(" → ")),i(A,()=>E.desc),i(P,()=>E.thinking,null),i(me,()=>E.flow,null),i(qe,()=>E.tdd,null),X(()=>z(Z,`card home-mode-card ${E.active?"active":""}`)),Z})()})),i(K,k(fe,{get each(){return e.data.home.cards},children:E=>(()=>{var Z=yl(),Y=Z.firstChild,ae=Y.nextSibling;return i(Y,()=>E.label),i(ae,()=>E.value),Z})()})),i(B,()=>e.data.home.recommendation||"Continue with the active session."),i(de,()=>Ol(e.session)),i(te,t),i(we,()=>e.data.current_session.project_name),i(je,()=>e.data.current_session.status),i(Ae,()=>e.data.current_session.session_id||"none",null),i(De,l,null),i(Pe,()=>dt(e.data.current_session.cost_usd),null),i(O,()=>dt((e.data.current_session.delegation_savings_usd||0)+(e.data.current_session.cache_savings_usd||0)),null),i(U,()=>e.data.current_session.recommendation),i(q,k(oe,{get when(){var E;return(E=e.data.current_session.tags)==null?void 0:E.length},get children(){var E=pl();return i(E,k(fe,{get each(){return e.data.current_session.tags},children:Z=>(()=>{var Y=jl();return i(Y,Z),Y})()})),E}}),null),i(se,k(oe,{get when(){return n().length},get fallback(){return Pl()},get children(){var E=xl();return i(E,k(fe,{get each(){return n()},children:Z=>(()=>{var Y=Tl(),ae=Y.firstChild,$e=ae.nextSibling;return i(ae,()=>String(Z.status||"pending").toUpperCase()),i($e,()=>Z.title||Z.text||Z.content||"Untitled task"),Y})()})),E}}),Te),i(ke,()=>e.data.totals.pending_todos,ye),i(Be,()=>e.data.totals.total_sessions,Ue),i(Ne,()=>dt(e.data.totals.total_savings_usd)),i(Ee,()=>dt(e.data.totals.current_session_savings_usd),null),i(j,()=>{var E,Z;return dt((Z=(E=e.data.savings)==null?void 0:E.lifetime)==null?void 0:Z.delegation_usd)},null),i(G,()=>{var E,Z;return dt((Z=(E=e.data.savings)==null?void 0:E.lifetime)==null?void 0:Z.cache_usd)},null),i(le,k(fe,{get each(){return e.data.sessions.slice(0,5)},children:E=>(()=>{var Z=El(),Y=Z.firstChild,ae=Y.firstChild,$e=ae.nextSibling,A=Y.nextSibling,W=A.firstChild,P=W.nextSibling;return i(ae,()=>E.template_label||E.session_id.slice(0,14)),i($e,()=>E.recommendation),i(W,()=>E.template_label),i(P,()=>dt(E.delegation_savings_usd+E.cache_savings_usd)),X(()=>z(Z,`home-session-item ${E.is_current?"current":""}`)),Z})()})),X(()=>z(je,`badge ${e.data.current_session.locked?"off":"on"}`)),c})()}Je(["click"]);var Al=h("<div class=card><h3>Status</h3><p class=muted>loading..."),Nl=h('<div class=card><h3>Status</h3><table class=kv-table><tbody><tr><td>slot</td><td><span class="badge slot"></span></td></tr><tr><td>model</td><td><code></code></td></tr><tr><td>thinking</td><td><span class=badge></span></td></tr><tr><td>enforce</td><td><span></span></td></tr><tr><td>flow</td><td><span></span></td></tr><tr><td>tdd</td><td><span></span></td></tr><tr><td>tdd strict</td><td><span></span></td></tr><tr><td>progress health</td><td><span></span></td></tr><tr><td>claim evidence</td><td><span></span></td></tr><tr><td>reality-check</td><td><span></span></td></tr><tr><td>backend</td><td><span></span></td></tr><tr><td>backend url</td><td><code></code></td></tr><tr><td>last check</td><td></td></tr><tr><td>health</td><td></td></tr><tr><td>lock</td><td><span></span></td></tr><tr><td>credit</td><td><div class=credit-bar><div class=credit-fill></div></div><span class=credit-label>%'),ql=h('<span class="badge off">'),Fl=h('<span class="badge on">');function Bl({status:e}){return e?(()=>{var t=Nl(),n=t.firstChild,s=n.nextSibling,o=s.firstChild,l=o.firstChild,r=l.firstChild,a=r.nextSibling,c=a.firstChild,b=l.nextSibling,x=b.firstChild,f=x.nextSibling,S=f.firstChild,m=b.nextSibling,y=m.firstChild,I=y.nextSibling,N=I.firstChild,g=m.nextSibling,d=g.firstChild,_=d.nextSibling,w=_.firstChild,T=g.nextSibling,Q=T.firstChild,K=Q.nextSibling,ne=K.firstChild,M=T.nextSibling,B=M.firstChild,D=B.nextSibling,J=D.firstChild,V=M.nextSibling,de=V.firstChild,Ce=de.nextSibling,L=Ce.firstChild,te=V.nextSibling,ge=te.firstChild,q=ge.nextSibling,R=q.firstChild,ie=te.nextSibling,we=ie.firstChild,je=we.nextSibling,Fe=je.firstChild,Ae=ie.nextSibling,De=Ae.firstChild,Pe=De.nextSibling,O=Pe.firstChild,U=Ae.nextSibling,se=U.firstChild,he=se.nextSibling,Te=he.firstChild,ke=U.nextSibling,ye=ke.firstChild,Be=ye.nextSibling,Ue=Be.firstChild,H=ke.nextSibling,be=H.firstChild,Ne=be.nextSibling,Ee=H.nextSibling,$=Ee.firstChild,j=$.nextSibling,G=Ee.nextSibling,v=G.firstChild,re=v.nextSibling,le=re.firstChild,E=G.nextSibling,Z=E.firstChild,Y=Z.nextSibling,ae=Y.firstChild,$e=ae.firstChild,A=ae.nextSibling,W=A.firstChild;return i(c,()=>e.active_slot),i(S,()=>e.current_model),i(N,()=>e.thinking),i(w,()=>e.enforce?"ON":"OFF"),i(ne,()=>e.flow_enforcer?"ON":"OFF"),i(J,()=>e.tdd_enforcer?"ON":"OFF"),i(L,()=>e.tdd_strict?"ON":"OFF"),i(R,(()=>{var P=ee(()=>!!e.session_health);return()=>P()?`${e.session_health.risk} (${e.session_health.score})`:"n/a"})()),i(Fe,()=>{var P;return((P=e.claim_evidence)==null?void 0:P.status)||"n/a"}),i(O,(()=>{var P=ee(()=>!!e.reality_check_enabled);return()=>P()?`ON${e.reality_check_scope?` (${e.reality_check_scope})`:""}`:"OFF"})()),i(Te,()=>e.backend_connected?"⚡ ON":"OFF"),i(Ue,()=>e.backend_api_url||e.backend_health_url||"unknown"),i(Ne,(()=>{var P=ee(()=>!!e.backend_health_checked_at);return()=>P()?`${e.backend_health_checked_at}${typeof e.backend_health_age_ms=="number"?` (${Math.round(e.backend_health_age_ms/1e3)}s ago)`:""}`:"never"})()),i(j,(()=>{var P=ee(()=>!!e.backend_health_error);return()=>P()?(()=>{var me=ql();return i(me,()=>e.backend_health_error),me})():(()=>{var me=Fl();return i(me,(()=>{var qe=ee(()=>typeof e.backend_health_latency_ms=="number");return()=>qe()?`${e.backend_health_latency_ms}ms`:"ok"})()),me})()})()),i(le,(()=>{var P=ee(()=>!!e.model_locked);return()=>P()?`ON${e.locked_slot?` (${e.locked_slot})`:""}`:"OFF"})()),i(A,()=>e.credit_percent.toFixed(1),W),X(P=>{var at,it,ct;var me=`badge ${e.enforce?"on":"off"}`,qe=`badge ${e.flow_enforcer?"on":"off"}`,Ze=`badge ${e.tdd_enforcer?"on":"off"}`,Oe=`badge ${e.tdd_strict?"on":"off"}`,We=`badge ${((at=e.session_health)==null?void 0:at.risk)==="high"?"off":"on"}`,Xe=`badge ${((it=e.claim_evidence)==null?void 0:it.status)==="supported"?"on":((ct=e.claim_evidence)==null?void 0:ct.status)==="not_applicable"?"":"off"}`,rt=`badge ${e.reality_check_enabled?"on":"off"}`,ot=`badge ${e.backend_connected?"on":"off"}`,nt=`badge ${e.model_locked?"on":"off"}`,ht=`width: ${e.credit_percent}%`;return me!==P.e&&z(w,P.e=me),qe!==P.t&&z(ne,P.t=qe),Ze!==P.a&&z(J,P.a=Ze),Oe!==P.o&&z(L,P.o=Oe),We!==P.i&&z(R,P.i=We),Xe!==P.n&&z(Fe,P.n=Xe),rt!==P.s&&z(O,P.s=rt),ot!==P.h&&z(Te,P.h=ot),nt!==P.r&&z(le,P.r=nt),P.d=ai($e,ht,P.d),P},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0}),t})():Al()}var Ll=h("<div class=card><h3>Savings</h3><p class=muted>loading..."),Ml=h("<div class=card><h3>Savings <span></span></h3><table class=kv-table><tbody><tr><td>lifetime</td><td><strong>$</strong></td></tr><tr><td>session</td><td><strong>$</strong></td></tr><tr><td>rate / hr</td><td>$</td></tr><tr><td>cache hits</td><td></td></tr><tr><td>total warns</td><td>"),Rl=h("<div class=bar-chart>"),Ul=h("<div class=bar-row><span class=bar-label></span><div class=bar-track><div class=bar-fill></div></div><span class=bar-value>$");function zl({savings:e}){if(!e)return Ll();const t=e.lifetime.delegation_usd+e.lifetime.cache_usd,n=e.current_session.delegation_usd+e.current_session.cache_usd,s=e.trend==="up"?"^":e.trend==="down"?"v":"-",o=e.trend==="up"?"trend-up":e.trend==="down"?"trend-down":"trend-flat";return(()=>{var l=Ml(),r=l.firstChild,a=r.firstChild,c=a.nextSibling,b=r.nextSibling,x=b.firstChild,f=x.firstChild,S=f.firstChild,m=S.nextSibling,y=m.firstChild;y.firstChild;var I=f.nextSibling,N=I.firstChild,g=N.nextSibling,d=g.firstChild;d.firstChild;var _=I.nextSibling,w=_.firstChild,T=w.nextSibling;T.firstChild;var Q=_.nextSibling,K=Q.firstChild,ne=K.nextSibling,M=Q.nextSibling,B=M.firstChild,D=B.nextSibling;return z(c,`trend ${o}`),i(c,s),i(y,()=>t.toFixed(4),null),i(d,()=>n.toFixed(4),null),i(T,()=>e.savings_rate_per_hour.toFixed(4),null),i(ne,()=>e.cache_hits_this_session),i(D,()=>e.lifetime.total_warns),i(l,(()=>{var J=ee(()=>!!(e.current_session.tool_breakdown&&Object.keys(e.current_session.tool_breakdown).length>0));return()=>J()&&(()=>{var V=Rl();return i(V,()=>Object.entries(e.current_session.tool_breakdown).map(([de,Ce])=>{const L=Math.max(...Object.values(e.current_session.tool_breakdown))||1;return(()=>{var te=Ul(),ge=te.firstChild,q=ge.nextSibling,R=q.firstChild,ie=q.nextSibling;return ie.firstChild,i(ge,de),i(ie,()=>Ce.toFixed(4),null),X(we=>ai(R,`width: ${Math.min(Ce/L*100,100)}%`,we)),te})()})),V})()})(),null),l})()}var Vl=h("<div class=card-full><h3>Sessions"),Hl=h("<p class=muted>loading..."),Wl=h("<p class=error>Failed to load sessions"),Kl=h("<table class=data-table><thead><tr><th>Session</th><th>Started</th><th>Cost</th><th>Del Saved</th><th>Cache</th><th>Warns</th></tr></thead><tbody>"),Jl=h("<tr><td><code></code></td><td></td><td>$</td><td>$</td><td>$</td><td>");function Zl(){const[e]=Xt(Is);return(()=>{var t=Vl();return t.firstChild,i(t,(()=>{var n=ee(()=>!!e.loading);return()=>n()&&Hl()})(),null),i(t,(()=>{var n=ee(()=>!!e.error);return()=>n()&&Wl()})(),null),i(t,(()=>{var n=ee(()=>!!e());return()=>n()&&(()=>{var s=Kl(),o=s.firstChild,l=o.nextSibling;return i(l,()=>e().sessions.map(r=>(()=>{var a=Jl(),c=a.firstChild,b=c.firstChild,x=c.nextSibling,f=x.nextSibling;f.firstChild;var S=f.nextSibling;S.firstChild;var m=S.nextSibling;m.firstChild;var y=m.nextSibling;return i(b,()=>r.id.slice(0,8)),i(x,(()=>{var I=ee(()=>!!r.started);return()=>I()?new Date(r.started).toLocaleDateString():"-"})()),i(f,()=>r.cost_usd.toFixed(2),null),i(S,()=>r.delegation_savings_usd.toFixed(4),null),i(m,()=>r.cache_savings_usd.toFixed(4),null),i(y,()=>r.warns_count),a})())),s})()})(),null),t})()}var Xl=h("<div class=card><h3>Stress</h3><div class=stress-bars>"),Gl=h("<span class=muted>awaiting data..."),Ql=h("<span class=stress-bar>");const Qn=["▁","▂","▃","▅","▆","█"];function Yl({status:e}){const[t,n]=F([]),s=setInterval(()=>{e&&n(o=>[...o,Qn[Math.floor(Math.random()*Qn.length)]].slice(-24))},2e3);return sn(()=>clearInterval(s)),(()=>{var o=Xl(),l=o.firstChild,r=l.nextSibling;return i(r,(()=>{var a=ee(()=>t().length===0);return()=>a()?Gl():t().map(c=>(()=>{var b=Ql();return i(b,c),b})())})()),o})()}var er=h('<div class=card-full><h3>Progress Health</h3><div class=bracket-row><button class="bracket-btn on">'),tr=h("<p class=muted>No session health snapshot yet."),nr=h("<div class=control-group><h4>Current Risk</h4><div class=bracket-row><span></span><span class=badge>score </span><span></span><span>"),ir=h("<div class=control-group><h4>Ratios</h4><div class=result-box><code>implementation <!>% | inspection <!>%"),sr=h("<div class=control-group><h4>Recovery</h4><div class=result-box><code>"),lr=h("<div class=control-group><h4>Loop Signals</h4><div class=result-box>"),rr=h("<div class=control-group><h4>Claim Evidence</h4><div class=result-box><code>"),or=h("<code>"),ar=h("<code>none"),cr=h("<code>: "),dr=h("<code>matched: "),ur=h("<code>missing: "),fr=h("<div class=result-box style=margin-top:0.65rem><code>");function hr({status:e}){const[t,n]=F(!1),[s,o]=F(""),l=()=>(e==null?void 0:e.session_health)||null,r=()=>{var c;return(e==null?void 0:e.claim_evidence)||((c=l())==null?void 0:c.claimEvidence)||null};async function a(){n(!0),o("");try{const c=await rn("reality-check");o(String(c.result||"Verified state refreshed"))}catch(c){o((c==null?void 0:c.message)||"Failed to refresh verified state")}finally{n(!1)}}return(()=>{var c=er(),b=c.firstChild,x=b.nextSibling,f=x.firstChild;return i(c,(()=>{var S=ee(()=>!l());return()=>S()?tr():[(()=>{var m=nr(),y=m.firstChild,I=y.nextSibling,N=I.firstChild,g=N.nextSibling;g.firstChild;var d=g.nextSibling,_=d.nextSibling;return i(N,()=>l().risk),i(g,()=>l().score,null),i(d,()=>l().decisiveProgress?"decisive progress":"no decisive progress"),i(_,()=>l().metaWorkDrift?"meta-work drift":"task-focused"),X(w=>{var T=`badge ${l().risk==="high"?"off":"on"}`,Q=`badge ${l().decisiveProgress?"on":"off"}`,K=`badge ${l().metaWorkDrift?"off":"on"}`;return T!==w.e&&z(N,w.e=T),Q!==w.t&&z(d,w.t=Q),K!==w.a&&z(_,w.a=K),w},{e:void 0,t:void 0,a:void 0}),m})(),(()=>{var m=ir(),y=m.firstChild,I=y.nextSibling,N=I.firstChild,g=N.firstChild,d=g.nextSibling,_=d.nextSibling,w=_.nextSibling;return w.nextSibling,i(N,()=>(l().implementationRatio*100).toFixed(0),d),i(N,()=>(l().inspectionRatio*100).toFixed(0),w),m})(),(()=>{var m=sr(),y=m.firstChild,I=y.nextSibling,N=I.firstChild;return i(N,()=>l().recommendedAction),i(I,(()=>{var g=ee(()=>!!l().stopDoing);return()=>g()&&(()=>{var d=or();return i(d,()=>l().stopDoing),d})()})(),null),m})(),(()=>{var m=lr(),y=m.firstChild,I=y.nextSibling;return i(I,(()=>{var N=ee(()=>(l().loopSignals||[]).length===0);return()=>N()?ar():(l().loopSignals||[]).slice(0,4).map(g=>(()=>{var d=cr(),_=d.firstChild;return i(d,()=>g.kind,_),i(d,()=>g.summary,null),d})())})()),m})(),(()=>{var m=rr(),y=m.firstChild,I=y.nextSibling,N=I.firstChild;return i(N,()=>{var g;return((g=r())==null?void 0:g.status)||"not_applicable"},null),i(N,(()=>{var g=ee(()=>{var d;return!!((d=r())!=null&&d.reason)});return()=>g()?` — ${r().reason}`:""})(),null),i(I,(()=>{var g=ee(()=>{var d,_;return!!((_=(d=r())==null?void 0:d.matchedEvidence)!=null&&_.length)});return()=>g()?(()=>{var d=dr();return d.firstChild,i(d,()=>r().matchedEvidence.join(", "),null),d})():null})(),null),i(I,(()=>{var g=ee(()=>{var d,_;return!!((_=(d=r())==null?void 0:d.missingEvidence)!=null&&_.length)});return()=>g()?(()=>{var d=ur();return d.firstChild,i(d,()=>r().missingEvidence.join(", "),null),d})():null})(),null),m})()]})(),x),f.$$click=()=>void a(),i(f,()=>t()?"...":"verify state"),i(c,(()=>{var S=ee(()=>!!s());return()=>S()&&(()=>{var m=fr(),y=m.firstChild;return i(y,s),m})()})(),null),X(()=>f.disabled=t()),c})()}Je(["click"]);var br=h("<div class=card-full><h3>Controls</h3><div class=control-group><h4>Vibe Mode</h4><div class=bracket-row></div></div><hr class=section-divider><div class=control-group><h4>Slot</h4><div class=bracket-row><button></button><button></button><button></button></div></div><hr class=section-divider><div class=control-group><h4>Enforcement</h4><div class=bracket-row><button></button><button></button></div></div><hr class=section-divider><div class=control-group><h4>Lock</h4><div class=bracket-row><button></button><button></button></div></div><hr class=section-divider><div class=control-group><h4>Flow</h4><div class=bracket-row><button></button><button></button><button></button></div></div><hr class=section-divider><div class=control-group><h4>TDD</h4><div class=bracket-row><button></button><button></button><button></button></div></div><hr class=section-divider><div class=control-group><h4>Thinking</h4><div class=bracket-row><button></button><button></button><button></button></div></div><hr class=section-divider><hr class=section-divider><div class=control-group><h4>Actions</h4><div class=bracket-row><button class=bracket-btn></button><button class=bracket-btn></button><button class=bracket-btn>"),_r=h("<button>"),vr=h("<div class=result-box><code></code><button class=dismiss-btn>x");const $r=Pn();function gr({status:e,onAction:t}){const[n,s]=F(null),[o,l]=F(null);async function r(a,c){s(a+(c||"")),l(null);try{const b=await rn(a,c);l({text:b.ok?String(b.result):String(b.error),ok:b.ok}),t()}catch(b){l({text:b.message,ok:!1})}finally{s(null)}}return(()=>{var a=br(),c=a.firstChild,b=c.nextSibling,x=b.firstChild,f=x.nextSibling,S=b.nextSibling,m=S.nextSibling,y=m.firstChild,I=y.nextSibling,N=I.firstChild,g=N.nextSibling,d=g.nextSibling,_=m.nextSibling,w=_.nextSibling,T=w.firstChild,Q=T.nextSibling,K=Q.firstChild,ne=K.nextSibling,M=w.nextSibling,B=M.nextSibling,D=B.firstChild,J=D.nextSibling,V=J.firstChild,de=V.nextSibling,Ce=B.nextSibling,L=Ce.nextSibling,te=L.firstChild,ge=te.nextSibling,q=ge.firstChild,R=q.nextSibling,ie=R.nextSibling,we=L.nextSibling,je=we.nextSibling,Fe=je.firstChild,Ae=Fe.nextSibling,De=Ae.firstChild,Pe=De.nextSibling,O=Pe.nextSibling,U=je.nextSibling,se=U.nextSibling,he=se.firstChild,Te=he.nextSibling,ke=Te.firstChild,ye=ke.nextSibling,Be=ye.nextSibling,Ue=se.nextSibling,H=Ue.nextSibling,be=H.nextSibling,Ne=be.firstChild,Ee=Ne.nextSibling,$=Ee.firstChild,j=$.nextSibling,G=j.nextSibling;return i(f,()=>$r.map(v=>(()=>{var re=_r();return re.$$click=()=>r("mode",v.id),i(re,(()=>{var le=ee(()=>n()===`mode${v.id}`);return()=>le()?"...":v.name})()),X(le=>{var E=`bracket-btn ${(e==null?void 0:e.optimization_mode)===v.id?"on":""}`,Z=n()===`mode${v.id}`,Y=v.desc;return E!==le.e&&z(re,le.e=E),Z!==le.t&&(re.disabled=le.t=Z),Y!==le.a&&ze(re,"title",le.a=Y),le},{e:void 0,t:void 0,a:void 0}),re})())),N.$$click=()=>r("set","brain"),i(N,()=>n()==="setbrain"?"...":"brain"),g.$$click=()=>r("set","medium"),i(g,()=>n()==="setmedium"?"...":"medium"),d.$$click=()=>r("set","cheap"),i(d,()=>n()==="setcheap"?"...":"cheap"),K.$$click=()=>r("enforce","on"),i(K,()=>n()==="enforceon"?"...":"enf on"),ne.$$click=()=>r("enforce","off"),i(ne,()=>n()==="enforceoff"?"...":"enf off"),V.$$click=()=>r("lock","on"),i(V,()=>n()==="lockon"?"...":"lock on"),de.$$click=()=>r("lock","off"),i(de,()=>n()==="lockoff"?"...":"lock off"),q.$$click=()=>r("flow","on"),i(q,()=>n()==="flowon"?"...":"flow on"),R.$$click=()=>r("flow","off"),i(R,()=>n()==="flowoff"?"...":"flow off"),ie.$$click=()=>r("flow","enforce"),i(ie,()=>n()==="flowenforce"?"...":"flow enf"),De.$$click=()=>r("tdd","on"),i(De,()=>n()==="tddon"?"...":"tdd on"),Pe.$$click=()=>r("tdd","off"),i(Pe,()=>n()==="tddoff"?"...":"tdd off"),O.$$click=()=>r("tdd","strict"),i(O,()=>n()==="tddstrict"?"...":"tdd strict"),ke.$$click=()=>r("thinking","full"),i(ke,()=>n()==="thinkingfull"?"...":"full"),ye.$$click=()=>r("thinking","brief"),i(ye,()=>n()==="thinkingbrief"?"...":"brief"),Be.$$click=()=>r("thinking","off"),i(Be,()=>n()==="thinkingoff"?"...":"off"),i(a,k(hr,{status:e}),H),$.$$click=()=>r("status"),i($,()=>n()==="status"?"...":"status"),j.$$click=()=>r("disable"),i(j,()=>n()==="disable"?"...":"disable"),G.$$click=()=>r("help"),i(G,()=>n()==="help"?"...":"help"),i(a,(()=>{var v=ee(()=>!!o());return()=>v()&&(()=>{var re=vr(),le=re.firstChild,E=le.nextSibling;return i(le,()=>o().text),E.$$click=()=>l(null),re})()})(),null),X(v=>{var re=`bracket-btn ${(e==null?void 0:e.active_slot)==="brain"?"on":""}`,le=n()==="setbrain",E=`bracket-btn ${(e==null?void 0:e.active_slot)==="medium"?"on":""}`,Z=n()==="setmedium",Y=`bracket-btn ${(e==null?void 0:e.active_slot)==="cheap"?"on":""}`,ae=n()==="setcheap",$e=`bracket-btn ${e!=null&&e.enforce?"on":"off"}`,A=n()==="enforceon",W=`bracket-btn ${e!=null&&e.enforce?"off":"on"}`,P=n()==="enforceoff",me=`bracket-btn ${e!=null&&e.model_locked?"on":"off"}`,qe=n()==="lockon",Ze=`bracket-btn ${e!=null&&e.model_locked?"off":"on"}`,Oe=n()==="lockoff",We=`bracket-btn ${e!=null&&e.flow_enforcer?"on":"off"}`,Xe=n()==="flowon",rt=`bracket-btn ${e!=null&&e.flow_enforcer?"off":"on"}`,ot=n()==="flowoff",nt=`bracket-btn ${e!=null&&e.flow_extract_todos?"on":"off"}`,ht=n()==="flowenforce",at=`bracket-btn ${e!=null&&e.tdd_enforcer?"on":"off"}`,it=n()==="tddon",ct=`bracket-btn ${e!=null&&e.tdd_enforcer?"off":"on"}`,Tt=n()==="tddoff",Et=`bracket-btn ${e!=null&&e.tdd_strict?"on":"off"}`,Ot=n()==="tddstrict",Dt=`bracket-btn ${(e==null?void 0:e.thinking)==="full"?"on":""}`,bt=n()==="thinkingfull",It=`bracket-btn ${(e==null?void 0:e.thinking)==="brief"?"on":""}`,At=n()==="thinkingbrief",St=`bracket-btn ${(e==null?void 0:e.thinking)==="off"?"on":""}`,Nt=n()==="thinkingoff",qt=n()==="status",_t=n()==="disable",vt=n()==="help";return re!==v.e&&z(N,v.e=re),le!==v.t&&(N.disabled=v.t=le),E!==v.a&&z(g,v.a=E),Z!==v.o&&(g.disabled=v.o=Z),Y!==v.i&&z(d,v.i=Y),ae!==v.n&&(d.disabled=v.n=ae),$e!==v.s&&z(K,v.s=$e),A!==v.h&&(K.disabled=v.h=A),W!==v.r&&z(ne,v.r=W),P!==v.d&&(ne.disabled=v.d=P),me!==v.l&&z(V,v.l=me),qe!==v.u&&(V.disabled=v.u=qe),Ze!==v.c&&z(de,v.c=Ze),Oe!==v.w&&(de.disabled=v.w=Oe),We!==v.m&&z(q,v.m=We),Xe!==v.f&&(q.disabled=v.f=Xe),rt!==v.y&&z(R,v.y=rt),ot!==v.g&&(R.disabled=v.g=ot),nt!==v.p&&z(ie,v.p=nt),ht!==v.b&&(ie.disabled=v.b=ht),at!==v.T&&z(De,v.T=at),it!==v.A&&(De.disabled=v.A=it),ct!==v.O&&z(Pe,v.O=ct),Tt!==v.I&&(Pe.disabled=v.I=Tt),Et!==v.S&&z(O,v.S=Et),Ot!==v.W&&(O.disabled=v.W=Ot),Dt!==v.C&&z(ke,v.C=Dt),bt!==v.B&&(ke.disabled=v.B=bt),It!==v.v&&z(ye,v.v=It),At!==v.k&&(ye.disabled=v.k=At),St!==v.x&&z(Be,v.x=St),Nt!==v.j&&(Be.disabled=v.j=Nt),qt!==v.q&&($.disabled=v.q=qt),_t!==v.z&&(j.disabled=v.z=_t),vt!==v.P&&(G.disabled=v.P=vt),v},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0,c:void 0,w:void 0,m:void 0,f:void 0,y:void 0,g:void 0,p:void 0,b:void 0,T:void 0,A:void 0,O:void 0,I:void 0,S:void 0,W:void 0,C:void 0,B:void 0,v:void 0,k:void 0,x:void 0,j:void 0,q:void 0,z:void 0,P:void 0}),a})()}Je(["click"]);var mr=h("<div class=card-full><h3>Reports"),pr=h("<p class=muted>loading..."),xr=h("<p class=error>Failed to load reports"),Sr=h("<div class=reports-layout><div class=report-list></div><div class=report-viewer>"),wr=h("<div><div class=report-summary></div><div class=report-meta><span class=report-type></span><span class=report-date>"),kr=h("<pre class=report-content>"),Cr=h("<p class=muted>Select a report");function yr(){const[e]=Xt(As),[t,n]=F(null),[s,o]=F(null);async function l(r){n(r);try{const a=await fetch(`/reports/${encodeURIComponent(r)}`);o(await a.text())}catch{o("Failed to load report")}}return(()=>{var r=mr();return r.firstChild,i(r,(()=>{var a=ee(()=>!!e.loading);return()=>a()&&pr()})(),null),i(r,(()=>{var a=ee(()=>!!e.error);return()=>a()&&xr()})(),null),i(r,(()=>{var a=ee(()=>!!e());return()=>a()&&(()=>{var c=Sr(),b=c.firstChild,x=b.nextSibling;return i(b,()=>e().map(f=>(()=>{var S=wr(),m=S.firstChild,y=m.nextSibling,I=y.firstChild,N=I.nextSibling;return S.$$click=()=>l(f.id),i(m,()=>f.summary||f.id),i(I,()=>f.type),i(N,(()=>{var g=ee(()=>!!f.created);return()=>g()?new Date(f.created).toLocaleDateString():""})()),X(()=>z(S,`report-item ${t()===f.id?"active":""}`)),S})())),i(x,(()=>{var f=ee(()=>!!s());return()=>f()?(()=>{var S=kr();return i(S,s),S})():Cr()})()),c})()})(),null),r})()}Je(["click"]);function zt(e){return String(e||"").trim()}function jr(e){const t=e.toLowerCase(),n=e.split(/\s+/).filter(Boolean).length,s=/\b(debug|bug|fix|error|issue|problem|null|undefined|crash|fault|wrong|broken)\b/i.test(t),o=/\b(refactor|optimize|migrate|architecture|design|implement|integrate|pattern|pipeline|deploy|orchestrate|analyze|analysis|proposal|explain|evaluate|review|compare|strategy|plan|recommend|roadmap|security|vulnerability|risk|assessment|\bai\b|complex|distributed|scale|performance|capacity)\b/i.test(t),l=/\b(function|class|const|let|var|import|export|return|async|await|interface|type|enum)\b/i.test(t),r=/\b(urgent|critical|crash|broken|fail|blocker|down|outage|incident)\b/i.test(t);let a=.05;return n<=3&&!o&&!l&&!s?a=.05:n<=10&&!o&&!s&&!l&&!r?a=.25:n<=20&&!o&&!s&&!r&&!l?a=.4:s||r?a=.65:o||/```/.test(e)||/\b(implement|add|create|write|build|make|change|update|remove|delete|configure|set|run|test|audit|review|check)\b/gi.test(t)?a=.8:a=.55,{score:a,signals:{hasDebug:s?1:0,hasComplexity:o?1:0,hasCode:l?1:0,hasUrgency:r?1:0,wordCount:n}}}function Pr(e={}){const t=(n,s)=>({enabled:(n==null?void 0:n.enabled)!==!1,provider:(n==null?void 0:n.provider)||s,fixture_mode:!!(n!=null&&n.fixture_mode),benchmark_path:(n==null?void 0:n.benchmark_path)||null,backend_status:(n==null?void 0:n.backend_status)||null});return{compression:t(e.compression,"local"),web_search:t(e.web_search,"duckduckgo"),tdd:t(e.tdd,"local"),blackbox:t(e.blackbox,"local"),vibemax:t(e.vibemax,"local"),vibeqmax:t(e.vibeqmax,"local"),vibeultrax:t(e.vibeultrax,"local")}}function Tr(e={}){var T;const t=zt(e.prompt||e.text),n=zt(e.contextText||e.sourceContent),s=zt(e.fileName||e.file_name),o=zt(e.ext||e.extension),l=[t,n,s,o].filter(Boolean).join(`
|
|
4
|
-
`),r=l.toLowerCase(),a=jr(l),c=l?l.split(`
|
|
5
|
-
`).length:0,b=Math.max(t.length,n.length)>=2400||c>=40,x=c>=25&&(((T=l.match(/```/g))==null?void 0:T.length)||0)>1,f=/\b(function|class|const|let|var|import|export|interface|type|enum|schema|api|route|endpoint|module|service|component|hook|test|spec|params?|skeleton|mock|fixture)\b/i.test(r)||l.includes("```"),S=/\b(latest|current|recent|today|this week|this month|now|up to date|up-to-date|release notes|docs|documentation|sources|citations|web search|search the web|look up|compare)\b/i.test(r),m=/\b(who|what|when|where|why|how many|is there|does|do we|can we|should we|could we)\b/i.test(r),y=Number(e.loopCount||e.loop_count||e.loopConsecutive||e.loop_consecutive||0)>=2||/\b(loop|stuck|again|repeating|same answer|not helping|circling|over and over|still not|you keep)\b/i.test(r),N=Number(e.stressScore||e.stress_score||e.latest_stress_multiplier||0)>=.7||/\b(urgent|critical|blocked|blocking|broken|failing|error|crash|outage|incident|hotfix|p0|p1)\b/i.test(r)||a.signals.hasUrgency===1,g=f||!!e.sourceContent||!!s||!!o||/\b(tdd|test first|tests first|skeleton|exports?|params?|infer type)\b/i.test(r),d=S||m,_=b||x,w=y||N||/\b(ambiguous|unclear|uncertain|confusing|many moving parts|multi step|orchestrate|plan)\b/i.test(r);return{prompt:t,contextText:n,fileName:s,ext:o,lineCount:c,lexical:a,hasLongContext:b,hasNoisyContext:x,hasCodeShape:f,hasResearchSignal:S,hasUnknownFactSignal:m,hasLoopSignal:y,hasStressSignal:N,needsTdd:g,needsWebSearch:d,needsCompression:_,needsEscalation:w}}function mt(e,t,n,s,o={}){e.push({tool:t,label:n,reason:s,autoExecute:o.autoExecute!==!1,requires:o.requires||[]})}function Er(e={}){const t=Pr(e.capabilities||{}),n=Tr(e),s=[],o=n.needsTdd&&n.needsWebSearch;!e.skipCompression&&n.needsCompression&&t.compression.enabled&&mt(s,"compress","Compress context","The prompt or context is long/noisy enough to compact before routing.",{requires:["contextText"]}),o&&t.vibeultrax.enabled&&mt(s,"vibeultrax","Plan with VibeUltraX","The request mixes code and research, so the learned router should break the ordering tie before helper calls.",{requires:[]});const l=[];if(n.needsWebSearch&&t.web_search.enabled&&l.push({tool:"web-search",label:"Search the web",reason:"The request asks for current, cited, or externally verifiable information.",autoExecute:!0,requires:["query"]}),n.needsTdd&&t.tdd.enabled&&l.push({tool:"tdd",label:"Use TDD helpers",reason:"The request looks code-heavy, API-shaped, or test-driven.",autoExecute:!0,requires:["sourceContent"]}),l.length===2&&o&&t.vibeultrax.enabled){const b=n.hasCodeShape?[l[1],l[0]]:[l[0],l[1]];for(const x of b)mt(s,x.tool,x.label,x.reason,{requires:x.requires})}else for(const c of l)mt(s,c.tool,c.label,c.reason,{requires:c.requires});if(n.needsEscalation&&(t.blackbox.enabled||t.vibeqmax.enabled||t.vibemax.enabled||t.vibeultrax.enabled)){const c=n.hasLoopSignal?t.vibeqmax.enabled?"vibeqmax":t.vibemax.enabled?"vibemax":"blackbox":t.vibeultrax.enabled?"vibeultrax":t.vibeqmax.enabled?"vibeqmax":t.vibemax.enabled?"vibemax":"blackbox";mt(s,c,c==="vibeultrax"?"Escalate with VibeUltraX":c==="vibeqmax"?"Escalate with VibeQMax":c==="vibemax"?"Escalate with VibeMaX":"Escalate through blackbox","Use the blackbox stack to decide whether to stay cheap, escalate, or switch to research mode.",{requires:["sessionId"]})}s.length||mt(s,"direct","Handle directly","The request is simple enough to answer without helper calls.",{autoExecute:!1});const r=s[0],a=Math.max(.1,Math.min(.99,n.hasLongContext||n.hasNoisyContext?.93:n.needsWebSearch?.9:n.needsTdd?.84:n.needsEscalation?.82:.72));return{recommended_next_action:r.tool,recommended_label:r.label,reason:r.reason,confidence:a,steps:s,signals:n,capabilities:t}}function Or(e){var t;return(t=e==null?void 0:e.steps)!=null&&t.length?`${e.recommended_label}${e.steps.length>1?` -> ${e.steps.slice(1).map(n=>n.label).join(" -> ")}`:""}`:"Direct path"}var Dr=h('<div class=card-full><h3>Blackbox Engine</h3><div class=control-group><h4>Mode</h4><div class=bracket-row><button>audit</button><button>budget</button><button>auto</button><button>quality</button><button>vibeqmax</button></div></div><div class=control-group><h4>Request</h4><label class=field-label>Session</label><input class=text-input placeholder=default><label class=field-label>Prompt</label><textarea class=text-area rows=4></textarea><div class=bracket-row><button class=bracket-btn></button><button class="bracket-btn on"></button></div></div><div class=control-group><h4>Recommended Next Action</h4><div class=search-hero><div><div class=search-hero-kicker>client-side orchestration</div><div class=search-hero-title></div><p class=search-hero-copy></p></div><div class=search-hero-meta><span class="badge on"></span><span class=badge>% confidence</span><span class=badge> step</span></div></div><div class=bracket-row></div><p class=muted>Plan: '),Ir=h("<span class=badge>"),Ar=h('<table class="kv-table blackbox-status"><tbody><tr><td>sub-regime</td><td><span class=badge></span></td></tr><tr><td>momentum</td><td>%</td></tr><tr><td>resolution</td><td></td></tr><tr><td>loops</td><td></td></tr><tr><td>intervention</td><td>L'),Nr=h('<table class="kv-table blackbox-status"><tbody><tr><td>mode</td><td><span class="badge on"></span></td></tr><tr><td>source</td><td></td></tr><tr><td>confidence</td><td></td></tr><tr><td>context</td><td>'),qr=h("<p class=muted>Press refresh to load state"),Fr=h("<p class=error>");function Br(){const[e,t]=F(null),[n,s]=F(null),[o,l]=F(null),[r,a]=F(!1),[c,b]=F("default"),[x,f]=F("show current status"),[S,m]=F("audit"),[y,I]=F(null);wn(async()=>{try{const _=await jn();s(_)}catch{}});async function N(){a(!0),l(null);try{const _=await ui();t({sub_regime:_.active_slot||"active",momentum:(_.credit_percent||0)/100,resolution_state:_.enabled?"in_progress":"disabled",loop_count:0,intervention_level:_.enforce?1:0})}catch(_){l(_.message)}finally{a(!1)}}async function g(){a(!0),l(null);try{const _=await Ls(c(),{userText:x(),action:"explore",optimizationMode:S()});I(_)}catch(_){l(_.message)}finally{a(!1)}}const d=()=>{var _,w,T;return Er({prompt:x(),contextText:x(),sessionId:c(),capabilities:n()||void 0,loopCount:((_=e())==null?void 0:_.loop_count)??0,loopConsecutive:((w=e())==null?void 0:w.loop_count)??0,stressScore:(T=e())!=null&&T.intervention_level?.8:.1})};return(()=>{var _=Dr(),w=_.firstChild,T=w.nextSibling,Q=T.firstChild,K=Q.nextSibling,ne=K.firstChild,M=ne.nextSibling,B=M.nextSibling,D=B.nextSibling,J=D.nextSibling,V=T.nextSibling,de=V.firstChild,Ce=de.nextSibling,L=Ce.nextSibling,te=L.nextSibling,ge=te.nextSibling,q=ge.nextSibling,R=q.firstChild,ie=R.nextSibling,we=V.nextSibling,je=we.firstChild,Fe=je.nextSibling,Ae=Fe.firstChild,De=Ae.firstChild,Pe=De.nextSibling,O=Pe.nextSibling,U=Ae.nextSibling,se=U.firstChild,he=se.nextSibling,Te=he.firstChild,ke=he.nextSibling,ye=ke.firstChild,Be=Fe.nextSibling,Ue=Be.nextSibling;return Ue.firstChild,ne.$$click=()=>m("audit"),M.$$click=()=>m("budget"),B.$$click=()=>m("auto"),D.$$click=()=>m("quality"),J.$$click=()=>m("vibeqmax"),L.$$input=H=>b(H.currentTarget.value),ge.$$input=H=>f(H.currentTarget.value),R.$$click=N,i(R,()=>r()?"...":"refresh"),ie.$$click=g,i(ie,()=>r()?"...":"run"),i(Pe,()=>d().recommended_label),i(O,()=>d().reason),i(se,()=>d().recommended_next_action),i(he,()=>Math.round(d().confidence*100),Te),i(ke,()=>d().steps.length,ye),i(ke,()=>d().steps.length===1?"":"s",null),i(Be,()=>d().steps.map(H=>(()=>{var be=Ir();return i(be,()=>H.label),be})())),i(Ue,()=>Or(d()),null),i(_,(()=>{var H=ee(()=>!!e());return()=>H()&&(()=>{var be=Ar(),Ne=be.firstChild,Ee=Ne.firstChild,$=Ee.firstChild,j=$.nextSibling,G=j.firstChild,v=Ee.nextSibling,re=v.firstChild,le=re.nextSibling,E=le.firstChild,Z=v.nextSibling,Y=Z.firstChild,ae=Y.nextSibling,$e=Z.nextSibling,A=$e.firstChild,W=A.nextSibling,P=$e.nextSibling,me=P.firstChild,qe=me.nextSibling;return qe.firstChild,i(G,()=>e().sub_regime),i(le,()=>(e().momentum*100).toFixed(0),E),i(ae,()=>e().resolution_state),i(W,()=>e().loop_count),i(qe,()=>e().intervention_level,null),be})()})(),null),i(_,(()=>{var H=ee(()=>!!y());return()=>H()&&(()=>{var be=Nr(),Ne=be.firstChild,Ee=Ne.firstChild,$=Ee.firstChild,j=$.nextSibling,G=j.firstChild,v=Ee.nextSibling,re=v.firstChild,le=re.nextSibling,E=v.nextSibling,Z=E.firstChild,Y=Z.nextSibling,ae=E.nextSibling,$e=ae.firstChild,A=$e.nextSibling;return i(G,()=>y().optimization_mode||S()),i(le,()=>{var W;return y().optimization_source||((W=y().selection)==null?void 0:W.source)||"manual"}),i(Y,()=>{var W;return Number(y().optimization_confidence??((W=y().selection)==null?void 0:W.confidence)??0).toFixed(2)}),i(A,()=>{var W,P;return((W=y().context_packet)==null?void 0:W.title)||((P=y().context_packet)==null?void 0:P.kind)||"n/a"}),be})()})(),null),i(_,(()=>{var H=ee(()=>!e()&&!r()&&!o());return()=>H()&&qr()})(),null),i(_,(()=>{var H=ee(()=>!!o());return()=>H()&&(()=>{var be=Fr();return i(be,o),be})()})(),null),X(H=>{var be=`bracket-btn ${S()==="audit"?"on":""}`,Ne=r(),Ee=`bracket-btn ${S()==="budget"?"on":""}`,$=r(),j=`bracket-btn ${S()==="auto"?"on":""}`,G=r(),v=`bracket-btn ${S()==="quality"?"on":""}`,re=r(),le=`bracket-btn ${S()==="vibeqmax"?"on":""}`,E=r(),Z=r(),Y=r();return be!==H.e&&z(ne,H.e=be),Ne!==H.t&&(ne.disabled=H.t=Ne),Ee!==H.a&&z(M,H.a=Ee),$!==H.o&&(M.disabled=H.o=$),j!==H.i&&z(B,H.i=j),G!==H.n&&(B.disabled=H.n=G),v!==H.s&&z(D,H.s=v),re!==H.h&&(D.disabled=H.h=re),le!==H.r&&z(J,H.r=le),E!==H.d&&(J.disabled=H.d=E),Z!==H.l&&(R.disabled=H.l=Z),Y!==H.u&&(ie.disabled=H.u=Y),H},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0,l:void 0,u:void 0}),X(()=>L.value=c()),X(()=>ge.value=x()),_})()}Je(["click","input"]);var Lr=h('<div class=search-hero><div><div class=search-hero-kicker>backend-driven mode</div><div class=search-hero-title>Live web retrieval with citations</div><p class=search-hero-copy>The backend controls routing, policy, and citations. The dashboard only sends the query and renders grounded results.</p></div><div class=search-hero-meta><span class="badge on"></span><span class=badge></span><span class=badge> max'),Mr=h("<div class=control-group><h4>Mode</h4><div class=bracket-row><button>fixture</button><button>duckduckgo"),Rr=h('<div class=control-group><h4>Query</h4><label class=field-label>Prompt</label><textarea class=text-area rows=3 placeholder="Ask for current docs, facts, or citations"></textarea><label class=field-label>Results</label><input class=text-input type=number min=1 max=10><div class=bracket-row><button class="bracket-btn on">'),Ur=h("<div class=card-full><h3>Web Search"),zr=h("<p class=muted>Web search is hidden until the backend advertises support."),Vr=h("<div class=search-output><div class=search-answer><h4>Answer</h4><pre class=search-answer-text></pre><div class=search-stats><span class=badge>results </span><span class=badge>domains </span><span class=badge>provider </span></div></div><div class=search-results><h4>Results</h4><div class=search-list></div></div><div class=search-citations><h4>Citations</h4><div class=citation-row></div><p class=muted>provider: <!> | unique domains: "),Hr=h("<a class=search-item target=_blank rel=noreferrer><div class=search-item-title><span class=search-rank>[<!>]</span> </div><div class=search-item-meta>"),Wr=h("<div class=search-item-snippet>"),Kr=h("<a class=citation-pill target=_blank rel=noreferrer>[<!>] "),Jr=h("<p class=error>");function Zr(){const[e,t]=F(null),[n,s]=F("fetch api"),[o,l]=F("fixture"),[r,a]=F(5),[c,b]=F(!1),[x,f]=F(null),[S,m]=F(null);wn(async()=>{var g;try{const d=await jn();t(d),(g=d.web_search)!=null&&g.provider&&l(d.web_search.provider)}catch(d){f(d.message)}});async function y(){b(!0),f(null);try{const g=await fi({query:n(),provider:o(),max_results:r(),compose_answer:!0});m(g)}catch(g){f(g.message)}finally{b(!1)}}const I=()=>{var g,d;return!!((d=(g=e())==null?void 0:g.web_search)!=null&&d.enabled)},N=()=>{var g,d,_,w;return(d=(g=e())==null?void 0:g.web_search)!=null&&d.fixture_mode?"fixture":((w=(_=e())==null?void 0:_.web_search)==null?void 0:w.provider)||o()};return(()=>{var g=Ur();return g.firstChild,i(g,k(oe,{get when(){return I()},get fallback(){return zr()},get children(){return[(()=>{var d=Lr(),_=d.firstChild,w=_.nextSibling,T=w.firstChild,Q=T.nextSibling,K=Q.nextSibling,ne=K.firstChild;return i(T,N),i(Q,()=>{var M,B;return(B=(M=e())==null?void 0:M.web_search)!=null&&B.benchmark_path?"gold set":"live"}),i(K,r,ne),d})(),(()=>{var d=Mr(),_=d.firstChild,w=_.nextSibling,T=w.firstChild,Q=T.nextSibling;return T.$$click=()=>l("fixture"),Q.$$click=()=>l("duckduckgo"),X(K=>{var ne=`bracket-btn ${o()==="fixture"?"on":""}`,M=c(),B=`bracket-btn ${o()==="duckduckgo"?"on":""}`,D=c();return ne!==K.e&&z(T,K.e=ne),M!==K.t&&(T.disabled=K.t=M),B!==K.a&&z(Q,K.a=B),D!==K.o&&(Q.disabled=K.o=D),K},{e:void 0,t:void 0,a:void 0,o:void 0}),d})(),(()=>{var d=Rr(),_=d.firstChild,w=_.nextSibling,T=w.nextSibling,Q=T.nextSibling,K=Q.nextSibling,ne=K.nextSibling,M=ne.firstChild;return T.$$input=B=>s(B.currentTarget.value),K.$$input=B=>a(Math.max(1,Math.min(10,Number(B.currentTarget.value)||5))),M.$$click=y,i(M,()=>c()?"...":"search"),X(()=>M.disabled=c()),X(()=>T.value=n()),X(()=>K.value=String(r())),d})(),k(oe,{get when(){return S()},children:d=>(()=>{var _=Vr(),w=_.firstChild,T=w.firstChild,Q=T.nextSibling,K=Q.nextSibling,ne=K.firstChild;ne.firstChild;var M=ne.nextSibling;M.firstChild;var B=M.nextSibling;B.firstChild;var D=w.nextSibling,J=D.firstChild,V=J.nextSibling,de=D.nextSibling,Ce=de.firstChild,L=Ce.nextSibling,te=L.nextSibling,ge=te.firstChild,q=ge.nextSibling;return q.nextSibling,i(Q,()=>d().answer||"No generated answer"),i(ne,()=>d().meta.resultCount,null),i(M,()=>d().meta.uniqueDomains,null),i(B,()=>d().provider,null),i(V,()=>d().results.map(R=>(()=>{var ie=Hr(),we=ie.firstChild,je=we.firstChild,Fe=je.firstChild,Ae=Fe.nextSibling;Ae.nextSibling,je.nextSibling;var De=we.nextSibling;return i(je,()=>R.rank,Ae),i(we,()=>R.title,null),i(De,()=>R.domain),i(ie,(()=>{var Pe=ee(()=>!!R.snippet);return()=>Pe()&&(()=>{var O=Wr();return i(O,()=>R.snippet),O})()})(),null),X(()=>ze(ie,"href",R.url)),ie})())),i(L,()=>d().citations.map(R=>(()=>{var ie=Kr(),we=ie.firstChild,je=we.nextSibling;return je.nextSibling,i(ie,()=>R.id,je),i(ie,()=>R.domain,null),X(()=>ze(ie,"href",R.url)),ie})())),i(te,()=>d().provider,q),i(te,()=>d().meta.uniqueDomains,null),_})()})]}}),null),i(g,(()=>{var d=ee(()=>!!x());return()=>d()&&(()=>{var _=Jr();return i(_,x),_})()})(),null),g})()}Je(["click","input"]);var Xr=h("<span class=run-step-skip>blocked — "),Gr=h("<code class=run-step-result>"),Qr=h("<div><span class=run-step-tool></span><span class=run-step-label>"),Yr=h("<div class=session-chip-row>"),eo=h("<div class=session-notes-list>"),to=h('<div class="msg-content mono">strict-deterministic plan: '),no=h('<div class="msg assistant live"><div class=msg-role>running </div><div class=run-trace></div><span class=run-spinner>executing allowed structured steps only'),io=h("<div class=session-plan-box><div class=session-plan-head><strong></strong><span>%</span></div><p class=session-copy></p><div class=run-trace>"),so=h("<div class=run-trace>"),Yn=h("<div class=error>"),lo=h('<div class=session-state-block><span class=field-label>web search</span><textarea class=text-area placeholder="Search the web inside this session workspace…"></textarea><div class=composer-actions><span class=muted>provider: </span><button class=flow-save>'),ro=h("<div class=session-plan-list>"),oo=h('<div class=session-workspace><section class=session-hero><div><div class=home-kicker>session workspace</div><h2 class=session-title></h2><div class=session-hero-meta><span>…</span><span>mode </span><span>slot </span><span>model </span><span></span></div></div><div class=session-hero-kpis><div class=session-kpi><span class=field-label>session savings</span><strong></strong></div><div class=session-kpi><span class=field-label>session cost</span><strong></strong></div><div class=session-kpi><span class=field-label>state</span><strong></strong></div></div></section><section class=session-grid-4><div class="card session-column"><h3>Session State</h3><div class=session-state-stack><div class=session-state-row><span>project</span><strong></strong></div><div class=session-state-row><span>status</span><strong></strong></div><div class=session-state-row><span>mode</span><strong></strong></div><div class=session-state-row><span>started</span><strong></strong></div><div class=session-state-row><span>lock</span><strong></strong></div><div class=session-state-row><span>flow</span><strong></strong></div></div><div class=session-state-block><span class=field-label>recommendation</span><p class=session-copy></p></div><div class=session-state-block><span class=field-label>lifecycle</span><div class=session-timeline><span>created </span><span>paused </span><span>resumed </span><span>archived </span></div></div><div class=session-state-block><span class=field-label>notes</span></div></div><div class="card session-column session-thread-column"><h3>Thread</h3><div class="thread session-thread"></div><div class=composer><textarea class=text-area placeholder="Describe the next structured session task…"></textarea><details class=composer-extra><summary>source content for TDD / review steps</summary><textarea class=text-area placeholder="Paste source or diff context here"></textarea></details><div class=composer-actions><span class=muted>policy: strict deterministic · ⌘/Ctrl+Enter to run</span><button class=flow-save></button></div></div></div><div class="card session-column"><h3>Review & KPIs</h3><div class=session-kpi-grid><div class=session-mini-kpi><span class=field-label>provider</span><strong></strong></div><div class=session-mini-kpi><span class=field-label>quality tier</span><strong></strong></div><div class=session-mini-kpi><span class=field-label>pending todos</span><strong></strong></div><div class=session-mini-kpi><span class=field-label>savings / hr</span><strong></strong></div></div><div class=session-state-block><span class=field-label>resolved plan</span></div><div class=session-state-block><span class=field-label>latest run trace</span></div><div class=session-state-block><span class=field-label>backend signal</span><p class=session-copy></p></div></div><div class="card session-column"><h3>Deterministic Control</h3><div class=session-state-block><span class=field-label>vibe modes</span><div class=mode-control-grid></div></div><div class=session-state-block><span class=field-label>flow binding</span><select><option value>inherit (project / global default)</option></select></div><div class=session-state-block><span class=field-label>strict policy</span><div class=policy-box><div class=policy-row><span>run model</span><strong>strict deterministic</strong></div><div class=policy-row><span>links / commands</span><strong>blocked unless structured</strong></div><div class=policy-row><span>TDD plan</span><strong></strong></div><div class=policy-row><span>thinking</span><strong></strong></div></div></div><div class=session-state-block><span class=field-label>session actions</span><div class=session-action-grid></div></div><div class=session-state-block><span class=field-label>TDD Flow Plan'),ao=h("<span class=session-chip>"),co=h("<p class=muted>No session notes yet."),uo=h("<div class=session-note-item>"),fo=h("<p class=muted>No messages yet. Run a deterministic prompt below."),ho=h("<details class=run-trace-details><summary>structured steps (<!>)</summary><div class=run-trace>"),bo=h("<div><div class=msg-role></div><div class=msg-content>"),_o=h("<p class=muted>No orchestration plan yet. Run the session to materialize one."),vo=h("<div class=run-step><span class=run-step-tool></span><span class=run-step-label> · "),$o=h("<p class=muted>No live execution trace yet."),go=h("<div class=session-search-box><p class=session-copy></p><div class=session-search-results>"),mo=h("<div class=search-item-snippet>"),po=h("<a class=search-item target=_blank rel=noreferrer><div class=search-item-title><span class=search-rank>[<!>]</span> </div><div class=search-item-meta>"),xo=h("<button><strong></strong><span>"),So=h("<option>"),wo=h("<button class=shell-link>"),ko=h("<p class=muted>No structured plan yet. Run a session task to generate one."),Co=h("<div class=session-plan-item><span></span><div><strong></strong><div class=muted> · ");const yo=Pn();function vn(e){const t=e.r;return(()=>{var n=Qr(),s=n.firstChild,o=s.nextSibling;return i(s,()=>{var l;return(l=t.step)==null?void 0:l.tool}),i(o,()=>{var l;return(l=t.step)==null?void 0:l.label}),i(n,k(oe,{get when(){return t.skipped},get children(){var l=Xr();return l.firstChild,i(l,()=>t.reason,null),l}}),null),i(n,k(oe,{get when(){return ee(()=>!t.skipped)()&&t.result},get children(){var l=Gr();return i(l,()=>JSON.stringify(t.result).slice(0,160)),l}}),null),X(()=>z(n,`run-step ${t.skipped?"skipped":"done"}`)),n})()}function $n(e){return`$${Number(e||0).toFixed(2)}`}function kt(e){if(!e)return"—";try{return new Date(e).toLocaleString()}catch{return e}}function jo(e){const t=e==null?void 0:e.session,n=["start","pause","resume",t!=null&&t.locked?"unlock":"lock","archive","undo"];return[...new Set(n)]}function Po(e){const[t,{mutate:n,refetch:s}]=Xt(()=>e.session.id,qs),[o,{refetch:l}]=Xt(()=>e.session.id,Js),[r,a]=F(""),[c,b]=F(""),[x,f]=F(!1),[S,m]=F(null),[y,I]=F(null),[N,g]=F(null),[d,_]=F([]),[w,T]=F(""),[Q,K]=F(null),[ne,M]=F(!1),[B,D]=F(null),[J,V]=F(null);let de=null;sn(()=>de==null?void 0:de());const Ce=O=>{const U=String(O||"").trim().toLowerCase();if(!U||U==="auto")return"auto";try{return xn(U).name||U}catch{return U}},L=Ke(()=>{var O;return(O=t())==null?void 0:O.session}),te=Ke(()=>{var O,U;return N()||((O=L())==null?void 0:O.orchestration_plan)||((U=e.status)==null?void 0:U.orchestration_plan)||null}),ge=Ke(()=>{var O,U;return String(((O=L())==null?void 0:O.optimization_mode)||((U=e.status)==null?void 0:U.optimization_mode)||"auto").toLowerCase()}),q=Ke(()=>yo.map(O=>{var U,se,he,Te,ke,ye;return{...O,active:ge()===O.id,available:O.id==="vibeultrax"?((se=(U=e.capabilities)==null?void 0:U.vibeultrax)==null?void 0:se.enabled)!==!1:O.id==="vibeqmax"?((Te=(he=e.capabilities)==null?void 0:he.vibeqmax)==null?void 0:Te.enabled)!==!1:O.id==="vibemax"?((ye=(ke=e.capabilities)==null?void 0:ke.vibemax)==null?void 0:ye.enabled)!==!1:!0}})),R=Ke(()=>{var O;return((O=q().find(U=>U.active))==null?void 0:O.name)||Ce(ge())}),ie=Ke(()=>{var O,U;return!!((U=(O=e.capabilities)==null?void 0:O.web_search)!=null&&U.enabled)}),we=()=>{var U;const O=e.session.flow_id;return O?((U=e.flows.find(se=>se.id===O))==null?void 0:U.name)||"custom":"inherit (project / global default)"},je=()=>{var U;const O=r().trim();if(!(!O||x())){if((U=L())!=null&&U.locked){V("Session is locked. Unlock it before running a deterministic flow.");return}f(!0),V(null),g(null),_([]),I(null),de=Ys(e.session.id,{prompt:O,sourceContent:c()||void 0,query:O,execution_policy:"strict-deterministic"},{onEvent:(se,he)=>{se==="flow"?I(he):se==="plan"?g(he.plan):se==="step"?_(Te=>[...Te,he]):se==="done"?(f(!1),a(""),b(""),g(null),_([]),I(null),l(),s(),e.onRefresh()):se==="error"&&(V(he.message||"run failed"),f(!1))},onError:se=>{V(se.message),f(!1)},onDone:()=>f(!1)})}},Fe=async O=>{const U=await Ws(e.session.id,{flow_id:O||null});e.onSessionChange(U.session),s()},Ae=async O=>{m(`mode:${O}`),V(null);try{await rn("mode",O),e.onRefresh()}catch(U){V(U.message)}finally{m(null)}},De=async O=>{m(O),V(null);try{const U=await Fs(e.session.id,{action:O});n(se=>se&&{...se,session:U.session,metrics:U.metrics,orchestration:U.orchestration??null}),s(),e.onRefresh()}catch(U){V(U.message)}finally{m(null)}},Pe=async()=>{var U,se;const O=w().trim();if(!(!O||ne())){M(!0),D(null);try{const he=await fi({query:O,provider:((se=(U=e.capabilities)==null?void 0:U.web_search)==null?void 0:se.provider)||"duckduckgo",max_results:5,compose_answer:!0});K(he)}catch(he){D(he.message)}finally{M(!1)}}};return(()=>{var O=oo(),U=O.firstChild,se=U.firstChild,he=se.firstChild,Te=he.nextSibling,ke=Te.nextSibling,ye=ke.firstChild,Be=ye.firstChild,Ue=ye.nextSibling;Ue.firstChild;var H=Ue.nextSibling;H.firstChild;var be=H.nextSibling;be.firstChild;var Ne=be.nextSibling,Ee=se.nextSibling,$=Ee.firstChild,j=$.firstChild,G=j.nextSibling,v=$.nextSibling,re=v.firstChild,le=re.nextSibling,E=v.nextSibling,Z=E.firstChild,Y=Z.nextSibling,ae=U.nextSibling,$e=ae.firstChild,A=$e.firstChild,W=A.nextSibling,P=W.firstChild,me=P.firstChild,qe=me.nextSibling,Ze=P.nextSibling,Oe=Ze.firstChild,We=Oe.nextSibling,Xe=Ze.nextSibling,rt=Xe.firstChild,ot=rt.nextSibling,nt=Xe.nextSibling,ht=nt.firstChild,at=ht.nextSibling,it=nt.nextSibling,ct=it.firstChild,Tt=ct.nextSibling,Et=it.nextSibling,Ot=Et.firstChild,Dt=Ot.nextSibling,bt=W.nextSibling,It=bt.firstChild,At=It.nextSibling,St=bt.nextSibling,Nt=St.firstChild,qt=Nt.nextSibling,_t=qt.firstChild;_t.firstChild;var vt=_t.nextSibling;vt.firstChild;var on=vt.nextSibling;on.firstChild;var Tn=on.nextSibling;Tn.firstChild;var En=St.nextSibling;En.firstChild;var On=$e.nextSibling,bi=On.firstChild,an=bi.nextSibling,_i=an.nextSibling,Ft=_i.firstChild,Dn=Ft.nextSibling,vi=Dn.firstChild,In=vi.nextSibling,$i=Dn.nextSibling,gi=$i.firstChild,cn=gi.nextSibling,Bt=On.nextSibling,mi=Bt.firstChild,An=mi.nextSibling,Nn=An.firstChild,pi=Nn.firstChild,xi=pi.nextSibling,qn=Nn.nextSibling,Si=qn.firstChild,wi=Si.nextSibling,Fn=qn.nextSibling,ki=Fn.firstChild,Ci=ki.nextSibling,yi=Fn.nextSibling,ji=yi.firstChild,Pi=ji.nextSibling,dn=An.nextSibling;dn.firstChild;var un=dn.nextSibling;un.firstChild;var Ti=un.nextSibling,Ei=Ti.firstChild,Oi=Ei.nextSibling,Di=Bt.nextSibling,Ii=Di.firstChild,Bn=Ii.nextSibling,Ai=Bn.firstChild,Ni=Ai.nextSibling,Ln=Bn.nextSibling,qi=Ln.firstChild,Lt=qi.nextSibling;Lt.firstChild;var Mn=Ln.nextSibling,Fi=Mn.firstChild,Bi=Fi.nextSibling,Li=Bi.firstChild,Mi=Li.nextSibling,Rn=Mi.nextSibling,Ri=Rn.firstChild,Ui=Ri.nextSibling,zi=Rn.nextSibling,Vi=zi.firstChild,Hi=Vi.nextSibling,Un=Mn.nextSibling,Wi=Un.firstChild,Ki=Wi.nextSibling,zn=Un.nextSibling;return zn.firstChild,i(Te,()=>e.session.title),i(ye,()=>e.session.id.slice(0,18),Be),i(Ue,()=>R()||"auto",null),i(H,()=>{var u;return((u=e.status)==null?void 0:u.active_slot)||"brain"},null),i(be,()=>{var u;return(((u=e.status)==null?void 0:u.current_model)||"unknown").split("/").pop()},null),i(Ne,()=>{var u;return(u=e.status)!=null&&u.backend_connected?"backend online":"backend degraded"}),i(G,()=>{var u,p;return $n((((u=L())==null?void 0:u.delegation_savings_usd)||0)+(((p=L())==null?void 0:p.cache_savings_usd)||0))}),i(le,()=>{var u;return $n((u=L())==null?void 0:u.cost_usd)}),i(Y,(()=>{var u=ee(()=>{var p;return!!((p=L())!=null&&p.locked)});return()=>{var p;return u()?"locked":((p=L())==null?void 0:p.status)||"active"}})()),i(qe,()=>{var u;return((u=L())==null?void 0:u.project_name)||"Current project"}),i(We,()=>{var u;return((u=L())==null?void 0:u.status)||"active"}),i(ot,()=>R()||"auto"),i(at,()=>{var u;return kt((u=L())==null?void 0:u.started_at)}),i(Tt,()=>{var u;return(u=L())!=null&&u.locked?"locked":"mutable"}),i(Dt,we),i($e,k(oe,{get when(){var u,p;return(p=(u=L())==null?void 0:u.tags)==null?void 0:p.length},get children(){var u=Yr();return i(u,k(fe,{get each(){var p;return((p=L())==null?void 0:p.tags)||[]},children:p=>(()=>{var ue=ao();return i(ue,p),ue})()})),u}}),bt),i(At,()=>{var u,p;return((u=L())==null?void 0:u.recommendation)||((p=e.status)==null?void 0:p.recommended_next_action)||"Continue with the next structured step."}),i(_t,()=>{var u,p;return kt((p=(u=L())==null?void 0:u.lifecycle)==null?void 0:p.created_at)},null),i(vt,()=>{var u,p;return kt((p=(u=L())==null?void 0:u.lifecycle)==null?void 0:p.paused_at)},null),i(on,()=>{var u,p;return kt((p=(u=L())==null?void 0:u.lifecycle)==null?void 0:p.resumed_at)},null),i(Tn,()=>{var u,p;return kt((p=(u=L())==null?void 0:u.lifecycle)==null?void 0:p.archived_at)},null),i(En,k(oe,{get when(){var u,p;return(p=(u=L())==null?void 0:u.notes)==null?void 0:p.length},get fallback(){return co()},get children(){var u=eo();return i(u,k(fe,{get each(){var p;return((p=L())==null?void 0:p.notes)||[]},children:p=>(()=>{var ue=uo();return i(ue,()=>p.text||"Untitled note"),ue})()})),u}}),null),i(an,k(fe,{get each(){var u;return((u=o())==null?void 0:u.messages)||[]},get fallback(){return fo()},children:u=>(()=>{var p=bo(),ue=p.firstChild,Ie=ue.nextSibling;return i(ue,()=>u.role),i(Ie,()=>u.content||"(no summary)"),i(p,k(oe,{get when(){return ee(()=>!!(u.role==="assistant"&&u.results))()&&u.results.length},get children(){var pe=ho(),Me=pe.firstChild,xe=Me.firstChild,ce=xe.nextSibling;ce.nextSibling;var Ge=Me.nextSibling;return i(Me,()=>u.results.length,ce),i(Ge,k(fe,{get each(){return u.results},children:$t=>k(vn,{r:$t})})),pe}}),null),X(()=>z(p,`msg ${u.role}`)),p})()}),null),i(an,k(oe,{get when(){return x()},get children(){var u=no(),p=u.firstChild;p.firstChild;var ue=p.nextSibling;return i(p,(()=>{var Ie=ee(()=>{var pe;return!!((pe=y())!=null&&pe.flow_name)});return()=>Ie()?`· ${y().flow_name}`:""})(),null),i(u,k(oe,{get when(){return N()},get children(){var Ie=to();return Ie.firstChild,i(Ie,()=>N().steps.map(pe=>pe.tool).join(" → "),null),Ie}}),ue),i(ue,k(fe,{get each(){return d()},children:Ie=>k(vn,{r:Ie})})),u}}),null),Ft.$$keydown=u=>{u.key==="Enter"&&(u.metaKey||u.ctrlKey)&&je()},Ft.$$input=u=>a(u.currentTarget.value),In.$$input=u=>b(u.currentTarget.value),cn.$$click=je,i(cn,()=>x()?"running…":"run structured flow"),i(xi,()=>{var u;return((u=e.status)==null?void 0:u.current_provider)||"unknown"}),i(wi,()=>{var u,p;return((u=e.status)==null?void 0:u.current_quality_tier)||((p=e.status)==null?void 0:p.active_slot)||"brain"}),i(Ci,()=>{var u,p,ue;return((p=(u=e.status)==null?void 0:u.todos)==null?void 0:p.pending)??((ue=e.home)==null?void 0:ue.totals.pending_todos)??0}),i(Pi,()=>{var u;return $n((u=e.savings)==null?void 0:u.savings_rate_per_hour)}),i(dn,k(oe,{get when(){return te()},get fallback(){return _o()},get children(){var u=io(),p=u.firstChild,ue=p.firstChild,Ie=ue.nextSibling,pe=Ie.firstChild,Me=p.nextSibling,xe=Me.nextSibling;return i(ue,()=>{var ce;return((ce=te())==null?void 0:ce.recommended_label)||"Structured plan"}),i(Ie,()=>{var ce;return Math.round(Number(((ce=te())==null?void 0:ce.confidence)||0)*100)},pe),i(Me,()=>{var ce,Ge;return((ce=te())==null?void 0:ce.recommended_next_action)||((Ge=te())==null?void 0:Ge.reason)}),i(xe,k(fe,{get each(){var ce;return((ce=te())==null?void 0:ce.steps)||[]},children:(ce,Ge)=>(()=>{var $t=vo(),Ye=$t.firstChild,st=Ye.nextSibling,wt=st.firstChild;return i(Ye,()=>Ge()+1),i(st,()=>ce.tool,wt),i(st,()=>ce.label,null),$t})()})),u}}),null),i(un,k(oe,{get when(){return d().length},get fallback(){return $o()},get children(){var u=so();return i(u,k(fe,{get each(){return d()},children:p=>k(vn,{r:p})})),u}}),null),i(Oi,()=>{var u;return(u=e.status)!=null&&u.backend_connected?"Backend reachable. Structured execution is live.":"Backend degraded. UI remains operational, but execution fidelity may be reduced."}),i(Bt,k(oe,{get when(){return ie()},get children(){var u=lo(),p=u.firstChild,ue=p.nextSibling,Ie=ue.nextSibling,pe=Ie.firstChild;pe.firstChild;var Me=pe.nextSibling;return ue.$$keydown=xe=>{xe.key==="Enter"&&(xe.metaKey||xe.ctrlKey)&&Pe()},ue.$$input=xe=>T(xe.currentTarget.value),i(pe,()=>{var xe,ce;return((ce=(xe=e.capabilities)==null?void 0:xe.web_search)==null?void 0:ce.provider)||"duckduckgo"},null),Me.$$click=()=>void Pe(),i(Me,()=>ne()?"searching…":"search web"),i(u,k(oe,{get when(){return Q()},children:xe=>(()=>{var ce=go(),Ge=ce.firstChild,$t=Ge.nextSibling;return i(Ge,()=>xe().answer||"No grounded answer returned."),i($t,k(fe,{get each(){return xe().results.slice(0,3)},children:Ye=>(()=>{var st=po(),wt=st.firstChild,fn=wt.firstChild,Ji=fn.firstChild,Vn=Ji.nextSibling;Vn.nextSibling,fn.nextSibling;var Zi=wt.nextSibling;return i(fn,()=>Ye.rank,Vn),i(wt,()=>Ye.title,null),i(Zi,()=>Ye.domain),i(st,k(oe,{get when(){return Ye.snippet},get children(){var Hn=mo();return i(Hn,()=>Ye.snippet),Hn}}),null),X(()=>ze(st,"href",Ye.url)),st})()})),ce})()}),null),i(u,k(oe,{get when(){return B()},get children(){var xe=Yn();return i(xe,B),xe}}),null),X(()=>Me.disabled=ne()||!w().trim()),X(()=>ue.value=w()),u}}),null),i(Bt,k(oe,{get when(){return J()},get children(){var u=Yn();return i(u,J),u}}),null),i(Ni,k(fe,{get each(){return q()},children:u=>(()=>{var p=xo(),ue=p.firstChild,Ie=ue.nextSibling;return p.$$click=()=>Ae(u.id),i(ue,()=>u.name),i(Ie,()=>u.pipeline.join(" → ")),X(pe=>{var Me=`mode-card-btn ${u.active?"active":""}`,xe=S()===`mode:${u.id}`||!u.available,ce=u.desc;return Me!==pe.e&&z(p,pe.e=Me),xe!==pe.t&&(p.disabled=pe.t=xe),ce!==pe.a&&ze(p,"title",pe.a=ce),pe},{e:void 0,t:void 0,a:void 0}),p})()})),Lt.addEventListener("change",u=>Fe(u.currentTarget.value)),i(Lt,k(fe,{get each(){return e.flows},children:u=>(()=>{var p=So();return i(p,()=>u.name,null),i(p,()=>u.scope==="project"?" (project)":"",null),X(()=>p.value=u.id),p})()}),null),i(Ui,()=>{var u,p;return(p=(u=te())==null?void 0:u.steps)!=null&&p.some(ue=>ue.tool==="tdd")?"active in plan":"inject when required"}),i(Hi,()=>{var u;return((u=e.status)==null?void 0:u.thinking)||"brief"}),i(Ki,k(fe,{get each(){return jo(t())},children:u=>(()=>{var p=wo();return p.$$click=()=>De(u),i(p,()=>S()===u?"…":u),X(()=>p.disabled=S()===u),p})()})),i(zn,k(oe,{get when(){var u,p;return(p=(u=te())==null?void 0:u.steps)==null?void 0:p.length},get fallback(){return ko()},get children(){var u=ro();return i(u,k(fe,{get each(){var p;return((p=te())==null?void 0:p.steps)||[]},children:(p,ue)=>(()=>{var Ie=Co(),pe=Ie.firstChild,Me=pe.nextSibling,xe=Me.firstChild,ce=xe.nextSibling,Ge=ce.firstChild;return i(pe,()=>ue()+1),i(xe,()=>p.label),i(ce,()=>p.tool,Ge),i(ce,()=>p.reason,null),Ie})()})),u}}),null),X(()=>{var u;return cn.disabled=x()||!r().trim()||((u=L())==null?void 0:u.locked)}),X(()=>Ft.value=r()),X(()=>In.value=c()),X(()=>Lt.value=e.session.flow_id||""),O})()}Je(["input","keydown","click"]);var To=h("<div class=flow-hint>connecting from a node — click a target node to link, or <button class=linkish>cancel"),Eo=h('<div class=flow-editor><div class=flow-toolbar><span class=field-label></span><div class=flow-palette></div><button class=flow-save>save flow</button></div><div class=flow-canvas><svg class=flow-edges width=100% height=100%><defs><marker id=arrow markerWidth=8 markerHeight=8 refX=7 refY=3 orient=auto><path d="M0,0 L7,3 L0,6 Z"fill=var(--text-dim)></path></marker></defs></svg></div><div class=flow-preview><span class=field-label>compiled path</span><code>'),Oo=h("<button class=flow-chip>+ "),Do=h("<svg><line stroke=var(--text-dim) stroke-width=1.5 marker-end=url(#arrow)></svg>",!1,!0,!1),Io=h("<div class=flow-empty>empty graph — add nodes from the palette above"),Ao=h("<select class=flow-mini>"),No=h('<div style=width:156px><div class=flow-node-head><span class=flow-node-tool></span><button class=flow-node-x title=delete>×</button></div><div class=flow-node-body><select class=flow-mini><option value>always</option></select><button class="flow-mini link">⊙ connect →'),qo=h("<option>"),Fo=h("<option>if ");const Bo=["compress","web-search","tdd","vibeultrax","vibeqmax","vibemax","blackbox","direct","condition"],Lo=["","cheap","medium","brain"],Mo=["needsCompression","needsWebSearch","needsTdd","needsEscalation","hasResearchSignal","hasLoopSignal","hasStressSignal","hasLongContext"],Ro=156,Uo=70;let zo=0;function Vo(){return`n_${Date.now().toString(36)}_${(zo++).toString(36)}`}function Sn(e){return{nodes:e.nodes.map(t=>({...t})),edges:e.edges.map(t=>({...t}))}}function Ho(e){const t=Sn(e&&e.nodes?e:{nodes:[],edges:[]});return t.nodes=t.nodes.map((n,s)=>({...n,x:n.x??30+s%4*180,y:n.y??30+Math.floor(s/4)*120})),t}function Wo(e){const t=new Map(e.nodes.map(r=>[r.id,0])),n=new Map(e.nodes.map(r=>[r.id,[]]));for(const r of e.edges)n.has(r.from)&&t.has(r.to)&&(n.get(r.from).push(r.to),t.set(r.to,t.get(r.to)+1));const s=e.nodes.filter(r=>t.get(r.id)===0).map(r=>r.id),o=[];for(;s.length;){const r=s.shift();o.push(r);for(const a of n.get(r)||[])t.set(a,t.get(a)-1),t.get(a)===0&&s.push(a)}const l=new Map(e.nodes.map(r=>[r.id,r]));return o.map(r=>l.get(r)).filter(r=>r&&r.tool!=="condition").map(r=>r.tool)}function Ko(e){const[t,n]=F(Ho(e.graph)),[s,o]=F(null),[l,r]=F(null),[a,c]=F(!1),b=g=>{n(d=>g(Sn(d))),c(!0)},x=g=>{const d=t().nodes.length;b(_=>(_.nodes.push({id:Vo(),tool:g,x:30+d%4*180,y:30+Math.floor(d/4)*110}),_))},f=g=>b(d=>(d.nodes=d.nodes.filter(_=>_.id!==g),d.edges=d.edges.filter(_=>_.from!==g&&_.to!==g),d)),S=(g,d)=>b(_=>{const w=_.nodes.find(T=>T.id===g);return w&&(w.condition=d?{signal:d}:null),_}),m=(g,d)=>b(_=>{const w=_.nodes.find(T=>T.id===g);return w&&(w.tier=d||void 0),_}),y=g=>{const d=s();d&&d!==g&&(b(_=>(_.edges.some(w=>w.from===d&&w.to===g)||_.edges.push({from:d,to:g}),_)),o(null))},I=g=>({x:(g.x??0)+Ro/2,y:(g.y??0)+Uo/2}),N=g=>{const d=l();if(!d)return;const _=g.currentTarget.getBoundingClientRect(),w=g.clientX-_.left-d.dx,T=g.clientY-_.top-d.dy;n(Q=>{const K=Sn(Q),ne=K.nodes.find(M=>M.id===d.id);return ne&&(ne.x=Math.max(0,w),ne.y=Math.max(0,T)),K})};return(()=>{var g=Eo(),d=g.firstChild,_=d.firstChild,w=_.nextSibling,T=w.nextSibling,Q=d.nextSibling,K=Q.firstChild;K.firstChild;var ne=Q.nextSibling,M=ne.firstChild,B=M.nextSibling;return i(_,()=>e.title||"Flow graph"),i(w,k(fe,{each:Bo,children:D=>(()=>{var J=Oo();return J.firstChild,J.$$click=()=>x(D),i(J,D,null),J})()})),T.$$click=()=>{e.onSave(t()),c(!1)},i(g,k(oe,{get when(){return s()},get children(){var D=To(),J=D.firstChild,V=J.nextSibling;return V.$$click=()=>o(null),D}}),Q),Q.addEventListener("pointerleave",()=>r(null)),Q.$$pointerup=()=>r(null),Q.$$pointermove=N,i(K,k(fe,{get each(){return t().edges},children:D=>{const J=t().nodes.find(L=>L.id===D.from),V=t().nodes.find(L=>L.id===D.to);if(!J||!V)return null;const de=I(J),Ce=I(V);return(()=>{var L=Do();return X(te=>{var ge=de.x,q=de.y,R=Ce.x,ie=Ce.y;return ge!==te.e&&ze(L,"x1",te.e=ge),q!==te.t&&ze(L,"y1",te.t=q),R!==te.a&&ze(L,"x2",te.a=R),ie!==te.o&&ze(L,"y2",te.o=ie),te},{e:void 0,t:void 0,a:void 0,o:void 0}),L})()}}),null),i(Q,k(fe,{get each(){return t().nodes},get fallback(){return Io()},children:D=>(()=>{var J=No(),V=J.firstChild,de=V.firstChild,Ce=de.nextSibling,L=V.nextSibling,te=L.firstChild;te.firstChild;var ge=te.nextSibling;return J.$$click=()=>y(D.id),V.$$pointerdown=q=>{const R=q.currentTarget.closest(".flow-canvas").getBoundingClientRect();r({id:D.id,dx:q.clientX-R.left-(D.x??0),dy:q.clientY-R.top-(D.y??0)})},i(de,()=>D.tool),Ce.$$click=q=>{q.stopPropagation(),f(D.id)},i(L,k(oe,{get when(){return D.tool==="vibeultrax"},get children(){var q=Ao();return q.$$click=R=>R.stopPropagation(),q.addEventListener("change",R=>m(D.id,R.currentTarget.value)),i(q,k(fe,{each:Lo,children:R=>(()=>{var ie=qo();return ie.value=R,i(ie,R?`tier:${R}`:"tier:auto"),ie})()})),X(()=>q.value=D.tier||""),q}}),te),te.$$click=q=>q.stopPropagation(),te.addEventListener("change",q=>S(D.id,q.currentTarget.value)),i(te,k(fe,{each:Mo,children:q=>(()=>{var R=Fo();return R.firstChild,R.value=q,i(R,q,null),R})()}),null),ge.$$click=q=>{q.stopPropagation(),o(D.id)},X(q=>{var R=`flow-node tool-${D.tool} ${s()===D.id?"linking":""}`,ie=`${D.x??0}px`,we=`${D.y??0}px`;return R!==q.e&&z(J,q.e=R),ie!==q.t&&Jn(J,"left",q.t=ie),we!==q.a&&Jn(J,"top",q.a=we),q},{e:void 0,t:void 0,a:void 0}),X(()=>{var q;return te.value=((q=D.condition)==null?void 0:q.signal)||""}),J})()}),null),i(B,()=>Wo(t()).join(" → ")||"direct"),X(()=>T.disabled=!a()),g})()}Je(["click","pointermove","pointerup","pointerdown"]);var Jo=h("<div class=project-view><div class=project-head><h2 class=session-title></h2><label class=session-flow><span class=field-label>default flow</span><select><option value>none (global default)</option></select></label></div><div class=flow-list-bar><span class=field-label>flows</span><button class=flow-chip>+ new flow"),Zo=h("<option>"),Xo=h('<span><button class=flow-pill-name></button><button class=flow-pill-x title="delete flow">×'),Go=h("<p class=muted>Select a flow to edit its node graph, or create a new one.");const Qo={nodes:[],edges:[]};function Yo(e){const[t,n]=F(null),s=()=>e.flows.find(c=>c.id===t())||null,o=async c=>{const b=await Us(e.project.id,{default_flow_id:c||null});e.onProjectChange(b.project)},l=async()=>{const c=await Xs(`Flow ${e.flows.length+1}`,Qo,"project",e.project.id);e.onFlowsChange(),n(c.flow.id)},r=async c=>{const b=t();b&&(await Gs(b,{graph:c}),e.onFlowsChange())},a=async c=>{await Qs(c),t()===c&&n(null),e.onFlowsChange()};return(()=>{var c=Jo(),b=c.firstChild,x=b.firstChild,f=x.nextSibling,S=f.firstChild,m=S.nextSibling;m.firstChild;var y=b.nextSibling,I=y.firstChild,N=I.nextSibling;return i(x,()=>e.project.name),m.addEventListener("change",g=>o(g.currentTarget.value)),i(m,k(fe,{get each(){return e.flows},children:g=>(()=>{var d=Zo();return i(d,()=>g.name,null),i(d,()=>g.scope==="project"?" (project)":"",null),X(()=>d.value=g.id),d})()}),null),i(y,k(fe,{get each(){return e.flows},children:g=>(()=>{var d=Xo(),_=d.firstChild,w=_.nextSibling;return _.$$click=()=>n(g.id),i(_,()=>g.name),w.$$click=()=>a(g.id),X(()=>z(d,`flow-pill ${t()===g.id?"active":""}`)),d})()}),N),N.$$click=l,i(c,k(oe,{get when(){return s()},get fallback(){return Go()},get children(){return k(Ko,{get graph(){return s().graph},get title(){return`editing: ${s().name}`},onSave:r})}}),null),X(()=>m.value=e.project.default_flow_id||""),c})()}Je(["click"]);var Vt=h("<main class=content>"),ea=h("<nav class=nav-tabs>"),ta=h("<div class=shell><div class=main><header class=header><div class=header-title><div><h1></h1><div class=header-subtitle></div></div><span class=version></span></div><div class=header-indicators><span></span><span>"),na=h('<span class="indicator connected">WEB SEARCH'),ia=h('<span class="indicator disabled">OFF'),sa=h("<button>"),la=h("<div class=grid-2col>");function ra(){const[e,t]=F(null),[n,s]=F(null),[o,l]=F(null),[r,a]=F(null),[c,b]=F("status"),[x,f]=F(!1),[S,m]=F({kind:el}),[y,I]=F([]),[N,g]=F({}),[d,_]=F([]),[w,T]=F({}),[Q,K]=F(!1),[ne,M]=F(null),B=()=>ui().then($=>{t($),f(!0)}).catch(()=>f(!1)),D=()=>Ds().then($=>{s($),f(!0)}).catch(()=>f(!1)),J=()=>jn().then(l).catch(()=>{}),V=()=>Ns().then(a).catch(()=>{}),de=()=>Ms().then($=>I($.projects)).catch(()=>{}),Ce=()=>Zs().then($=>_($.flows)).catch(()=>{}),L=()=>Vs().then($=>{var G;const j={};for(const v of $.sessions)(j[G=v.project_id]||(j[G]=[])).push(v);g(j)}).catch(()=>{}),te=Bs($=>{t($.status),s($.savings),f(!0)});B(),D(),J(),de(),Ce(),L(),V(),sn(te),ii(()=>{var $,j;c()==="websearch"&&!((j=($=o())==null?void 0:$.web_search)!=null&&j.enabled)&&b("status")});const ge=()=>K(!0),q=$=>M($),R=async $=>{K(!1);const j=await Rs($);await de(),await V(),T(G=>({...G,[j.project.id]:!0})),m({kind:"project",projectId:j.project.id})},ie=async($,j)=>{M(null);const G=await Hs($,j||"New session");await L(),await V(),T(v=>({...v,[$]:!0})),m({kind:"session",projectId:$,sessionId:G.session.id})},we=()=>{K(!1),M(null)},je=async $=>{confirm("Delete this project and all its sessions?")&&(await zs($),await de(),await L(),await V(),S().projectId===$&&m({kind:"home"}))},Fe=async $=>{await Ks($),await L(),await V(),S().sessionId===$&&m({kind:"home"})},Ae=$=>T(j=>({...j,[$]:!j[$]})),De=$=>{g(j=>{const G=(j[$.project_id]||[]).map(v=>v.id===$.id?$:v);return{...j,[$.project_id]:G}}),V()},Pe=$=>{I(j=>j.map(G=>G.id===$.id?$:G)),V()},O=()=>{const $=S();return $.kind!=="session"?null:(N()[$.projectId]||[]).find(j=>j.id===$.sessionId)||null},U=()=>{const $=S(),j=$.kind==="project"||$.kind==="session"?$.projectId:null;return j&&y().find(G=>G.id===j)||null},se=()=>{var G,v,re,le,E,Z;const $=((v=(G=r())==null?void 0:G.current_session)==null?void 0:v.project_fingerprint)||((re=e())==null?void 0:re.current_project_fingerprint)||"",j=((E=(le=r())==null?void 0:le.current_session)==null?void 0:E.project_name)||((Z=e())==null?void 0:Z.current_project_name)||"";return y().find(Y=>Y.fingerprint&&Y.fingerprint===$)||y().find(Y=>Y.name===j)||null},he=()=>{var j,G;const $=((G=(j=r())==null?void 0:j.current_session)==null?void 0:G.session_id)||"";if(!$)return null;for(const v of Object.values(N())){const re=v.find(le=>le.id===$);if(re)return re}return null},Te=$=>d().filter(j=>j.scope==="global"||j.project_id===$),ke=()=>{var $,j;return Te((($=se())==null?void 0:$.id)||((j=he())==null?void 0:j.project_id)||"")},ye=()=>{const $=e();if(!$)return{label:"API OFF",tone:"disconnected",title:"backend status unavailable"};const j=$.backend_connected??$.backendConnected,G=$.backend_api_url||$.backend_health_url||"unknown target",v=$.backend_health_checked_at?new Date($.backend_health_checked_at).toLocaleTimeString():null;if(j){const le=typeof $.backend_health_age_ms=="number"?` ${Math.max(0,Math.round($.backend_health_age_ms/1e3))}s`:"",E=typeof $.backend_health_latency_ms=="number"?` ${$.backend_health_latency_ms}ms`:"";return{label:`⚡ BACKEND${le}`,tone:"connected",title:`${G}${E}${v?` · checked ${v}`:""}`}}const re=$.backend_health_error||(typeof $.backend_health_status=="number"?`HTTP ${$.backend_health_status}`:"unreachable");return{label:"API OFF",tone:"disconnected",title:`${G} · ${re}${v?` · checked ${v}`:""}`}},Be=()=>{var $,j;return[{key:"status",label:"Status"},{key:"controls",label:"Controls"},{key:"reports",label:"Reports"},{key:"blackbox",label:"Blackbox"},{key:"websearch",label:"Web Search",visible:!!((j=($=o())==null?void 0:$.web_search)!=null&&j.enabled)}]},Ue=()=>Be().filter($=>$.visible!==!1),H=()=>{var j,G;const $=S();return $.kind==="project"?((j=U())==null?void 0:j.name)||"Project":$.kind==="session"?((G=O())==null?void 0:G.title)||"Session":$.kind==="status"?"Dashboard Overview":"Home"},be=()=>{var G,v,re;const $=se(),j=he();return $&&j?`${$.name} · ${j.title}`:$?$.name:((v=(G=r())==null?void 0:G.current_session)==null?void 0:v.project_name)||((re=e())==null?void 0:re.current_project_name)||"OpenCode shell"},Ne=()=>{const $=se();$&&m({kind:"project",projectId:$.id})},Ee=()=>{const $=he();$&&m({kind:"session",projectId:$.project_id,sessionId:$.id})};return(()=>{var $=ta(),j=$.firstChild,G=j.firstChild,v=G.firstChild,re=v.firstChild,le=re.firstChild,E=le.nextSibling,Z=re.nextSibling,Y=v.nextSibling,ae=Y.firstChild,$e=ae.nextSibling;return i($,k(bl,{get projects(){return y()},get sessionsByProject(){return N()},get expanded(){return w()},get selection(){return S()},get currentProjectId(){var A;return((A=se())==null?void 0:A.id)||null},get currentProjectName(){var A,W,P;return((W=(A=r())==null?void 0:A.current_session)==null?void 0:W.project_name)||((P=e())==null?void 0:P.current_project_name)||null},get currentSessionId(){var A,W;return((W=(A=r())==null?void 0:A.current_session)==null?void 0:W.session_id)||null},get creatingProject(){return Q()},get creatingSessionFor(){return ne()},onSelect:m,onToggle:Ae,onNewProject:ge,onNewSession:q,onCreateProjectName:R,onCreateSessionName:ie,onCancelCreate:we,onDeleteProject:je,onDeleteSession:Fe}),j),i(le,H),i(E,be),i(Z,()=>{var A;return((A=e())==null?void 0:A.version)??"..."}),i(ae,()=>x()?"LIVE":"connecting"),i($e,()=>ye().label),i(Y,(()=>{var A=ee(()=>{var W,P;return!!((P=(W=o())==null?void 0:W.web_search)!=null&&P.enabled)});return()=>A()&&na()})(),null),i(Y,(()=>{var A=ee(()=>{var W;return((W=e())==null?void 0:W.enabled)===!1});return()=>A()&&ia()})(),null),i(j,k(oe,{get when(){return S().kind==="home"},get children(){var A=Vt();return i(A,k(Il,{get data(){return r()},get status(){return e()},get project(){return se()},get session(){return he()},get flows(){return ke()},onOpenStatus:()=>m({kind:"status"}),onOpenProject:Ne,onOpenSession:Ee,onTrinityAction:()=>{B(),D(),V()}})),A}}),null),i(j,k(oe,{get when(){return S().kind==="status"},get children(){return[(()=>{var A=ea();return i(A,k(fe,{get each(){return Ue()},children:W=>(()=>{var P=sa();return P.$$click=()=>b(W.key),i(P,()=>W.label),X(()=>z(P,`tab ${c()===W.key?"active":""}`)),P})()})),A})(),(()=>{var A=Vt();return i(A,(()=>{var W=ee(()=>c()==="status");return()=>W()&&(()=>{var P=la();return i(P,k(Bl,{get status(){return e()}}),null),i(P,k(zl,{get savings(){return n()}}),null),i(P,k(Yl,{get status(){return e()}}),null),i(P,k(Zl,{}),null),P})()})(),null),i(A,(()=>{var W=ee(()=>c()==="controls");return()=>W()&&k(gr,{get status(){return e()},onAction:()=>{B(),D(),V()}})})(),null),i(A,(()=>{var W=ee(()=>c()==="reports");return()=>W()&&k(yr,{})})(),null),i(A,(()=>{var W=ee(()=>c()==="blackbox");return()=>W()&&k(Br,{})})(),null),i(A,(()=>{var W=ee(()=>c()==="websearch");return()=>W()&&k(Zr,{})})(),null),A})()]}}),null),i(j,k(oe,{get when(){return ee(()=>S().kind==="project")()&&U()},get children(){var A=Vt();return i(A,k(Yo,{get project(){return U()},get flows(){return Te(U().id)},onProjectChange:Pe,onFlowsChange:()=>{Ce(),V()}})),A}}),null),i(j,k(oe,{get when(){return ee(()=>S().kind==="session")()&&O()},get children(){var A=Vt();return i(A,k(Po,{get session(){return O()},get flows(){return Te(O().project_id)},get status(){return e()},get capabilities(){return o()},get home(){return r()},get savings(){return n()},onSessionChange:De,onRefresh:()=>{B(),D(),V(),L()}})),A}}),null),X(A=>{var W=`indicator ${x()?"connected":"disconnected"}`,P=`indicator flash ${ye().tone}`,me=ye().title;return W!==A.e&&z(ae,A.e=W),P!==A.t&&z($e,A.t=P),me!==A.a&&ze($e,"title",A.a=me),A},{e:void 0,t:void 0,a:void 0}),$})()}Je(["click"]);const ei=document.getElementById("app");ei&&us(()=>k(ra,{}),ei);
|