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
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,42 @@
|
|
|
1
|
+
## 0.26.2
|
|
2
|
+
- fix: check the actual shipped bundle, not a stale pre-TS-migration file (#432)
|
|
3
|
+
- fix: install dashboard deps before test:ci in release workflow (#431)
|
|
4
|
+
- fix: footer leaked another session's LOOPING regime via root disk state (#430)
|
|
5
|
+
- fix: stop synthesizing negative outcomes from LOOPING+stress alone (#429)
|
|
6
|
+
- fix: close leaked http server fixtures causing test-file hangs
|
|
7
|
+
- fix: reports prune trimmed the index but never deleted the over-cap files
|
|
8
|
+
- fix: footer tier badge must not claim a higher tier than the model that actually answered
|
|
9
|
+
- fix: rotate unbounded jsonl state logs (turn-ledger, calibration, loop-audit, session-health)
|
|
10
|
+
- fix: cascade-depth icon shows nominal depth instead of real 0 for direct (non-cascaded) calls
|
|
11
|
+
- fix: log blackbox/self-heal diagnostics at warn level so they're actually captured
|
|
12
|
+
- fix: self-heal a rejected API token instead of permanently sticking in local fallback
|
|
13
|
+
- fix: attempt bootstrap token exchange in fetchBlackboxEnrichment before giving up on the API
|
|
14
|
+
- fix: raise poll-repeat loop threshold to stop false-positive LOOPING on routine CI waits
|
|
15
|
+
- fix: pass text+hookModel to resolveFooterDisplayState, fix audit test path for compiled TS
|
|
16
|
+
- fix: footer refactor — extract resolveFooterDisplayState, remove state mutations
|
|
17
|
+
- fix: null guard in formatStressGauge + 14 deep feature tests
|
|
18
|
+
- test: update 2 pre-existing tests to match the intentional self-heal behavior change
|
|
19
|
+
- chore: drop now-unused appendFileSync imports after rotation-helper migration
|
|
20
|
+
Merge pull request #428 from DrunkkToys/fix/live-debug-pass
|
|
21
|
+
revert: back out the cascade-tier model-corroboration override
|
|
22
|
+
Merge pull request #427 from DrunkkToys/fix/footer-refactor-extract-state-resolution
|
|
23
|
+
Revert "fix: null guard in formatStressGauge + 14 deep feature tests"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## 0.26.1
|
|
27
|
+
- fix: accept embedded token as direct API token (#425)
|
|
28
|
+
- fix: accept embedded token as direct API token, reset stuck fallback mode (#424)
|
|
29
|
+
- fix: force overwrite stale bootstrap token in syncApiTokenFromDisk() else branch (#423)
|
|
30
|
+
- fix: reject invalid bootstrap tokens from disk so embedded fallback works (#422) (#422)
|
|
31
|
+
- Revert "fix: reject invalid bootstrap tokens from disk so embedded fallback works (#422)"
|
|
32
|
+
- fix: reject invalid bootstrap tokens from disk so embedded fallback works (#422)
|
|
33
|
+
- fix: refresh API token in chat.params hook so flash icon displays (#421)
|
|
34
|
+
- fix: propagate VIBEOS_API_TOKEN to sub-agent child processes (#420)
|
|
35
|
+
- fix: blackbox status, verify-claims ESM crash, cascade type re-exports, CI cleanup (#419)
|
|
36
|
+
- Kill layers — cascade, footer, state, api-client (#417)
|
|
37
|
+
- fix: reject non-byte-safe model ids (#418)
|
|
38
|
+
- v0.26.0 — Containment of Potential (#416)
|
|
39
|
+
|
|
1
40
|
## 0.26.0
|
|
2
41
|
- feat: add classify/escalate cascade API wiring (#398)
|
|
3
42
|
- feat: rebuild dashboard home and session workspace (#389)
|
|
@@ -0,0 +1,3 @@
|
|
|
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,fe=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 ue(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"&&ue(s);const u=new Set,[g,j]=(l.storage||K)(l.initialValue),[z,v]=K(void 0),[k,Q]=K(void 0,{equals:!1}),[D,S]=K(d?"ready":"unresolved");function I(U,b,C,E){return a===U&&(a=null,E!==void 0&&(d=!0),(U===o||b===o)&&l.onHydrated&&queueMicrotask(()=>l.onHydrated(E,{value:b})),o=Rt,se(b,C)),b}function se(U,b){Ze(()=>{b===void 0&&j(()=>U),S(b!==void 0?"errored":d?"ready":"unresolved"),v(b);for(const C of u.keys())C.decrement();u.clear()},!1)}function he(){const U=Un,b=g(),C=z();if(C!==void 0&&!a)throw C;return M&&M.user,b}function ge(U=!0){if(U!==!1&&c)return;c=!1;const b=_?_():s;if(b==null||b===!1){I(a,Je(g));return}let C;const E=o!==Rt?o:Je(()=>{try{return i(b,{value:g(),refetching:U})}catch(q){C=q}});if(C!==void 0){I(a,void 0,kt(C),b);return}else if(!qn(E))return I(a,E,void 0,b),E;return a=E,"v"in E?(E.s===1?I(a,E.v,void 0,b):I(a,void 0,kt(E.v),b),E):(c=!0,queueMicrotask(()=>c=!1),Ze(()=>{S(d?"refreshing":"pending"),Q()},!1),E.then(q=>I(E,q,void 0,b),q=>I(E,void 0,kt(q),b)))}Object.defineProperties(he,{state:{get:()=>D()},error:{get:()=>z()},loading:{get(){const U=D();return U==="pending"||U==="refreshing"}},latest:{get(){if(!d)return he();const U=z();if(U&&!a)throw U;return g()}}});let ve=Z;return _?Rn(()=>(ve=Z,ge(!1))):ge(!1),[he,{refetch:U=>Bn(ve,()=>ge(U)),mutate:j}]}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[Ji,Zi]=K(!1);let Un;function cn(){if(this.sources&&this.state)if(this.state===Fe)rt(this);else{const e=fe;fe=null,Ze(()=>At(this),!1),fe=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?fe.push(l):ze.push(l),l.observers&&fn(l)),a||(l.state=Fe)}if(fe.length>1e6)throw fe=[],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=fe;fe=null,Ze(()=>At(e,t[0]),!1),fe=s}}function Ze(e,t){if(fe)return e();let n=!1;t||(fe=[]),ze?n=!0:ze=[],Dt++;try{const s=e();return Vn(n),s}catch(s){n||(ze=null),fe=null,Ft(s)}}function Vn(e){if(fe&&(un(fe),fe=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?fe.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 j,z,v,k,Q,D,S,I,se;if(d===0)a!==0&&(Gt(l),l=[],s=[],i=[],a=0,o&&(o=[])),n.fallback&&(s=[Fn],i[0]=wt(he=>(l[0]=he,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(g);a=d}else{for(v=new Array(d),k=new Array(d),o&&(Q=new Array(d)),D=0,S=Math.min(a,d);D<S&&s[D]===c[D];D++);for(S=a-1,I=d-1;S>=D&&I>=D&&s[S]===c[I];S--,I--)v[I]=i[S],k[I]=l[S],o&&(Q[I]=o[S]);for(j=new Map,z=new Array(I+1),u=I;u>=D;u--)se=c[u],_=j.get(se),z[u]=_===void 0?-1:_,j.set(se,u);for(_=D;_<=S;_++)se=s[_],u=j.get(se),u!==void 0&&u!==-1?(v[u]=i[_],k[u]=l[_],o&&(Q[u]=o[_]),u=z[u],j.set(se,u)):l[_]();for(u=D;u<d;u++)u in v?(i[u]=v[u],l[u]=k[u],o&&(o[u]=Q[u],o[u](u))):i[u]=wt(g);i=i.slice(0,a=d),s=c.slice(0)}return i});function g(j){if(l[u]=j,o){const[z,v]=K(u);return o[u]=v,t(c[u],z)}return t(c[u])}}}function x(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 ue(Hn(()=>e.each,e.children,t||void 0))}function de(e){const t=e.keyed,n=ue(()=>e.when,void 0,void 0),s=t?n:ue(n,void 0,{equals:(i,l)=>!i==!l});return ue(()=>{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=>ue(()=>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,g=1,j;for(;++u<i&&u<l&&!((j=d.get(t[u]))==null||j!==_+g);)g++;if(g>_-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 $(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 pe(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 pe("/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 be(e,t){try{return await e()}catch(n){if(es())return await t();throw n}}function _n(){return be(()=>pe("/status"),()=>ts())}function pn(){return be(()=>pe("/savings"),()=>ns())}function _s(){return be(()=>pe("/sessions"),()=>({sessions:[],total_sessions:0}))}function ps(){return be(()=>pe("/reports"),()=>as())}function bn(){return be(()=>pe("/capabilities"),()=>ss())}function gn(){return be(()=>pe("/dashboard/home"),()=>cs())}function vn(e){return be(()=>pe(`/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),be(()=>pe("/trinity",{method:"POST",body:JSON.stringify(i)}),()=>ds(e,t))}function bs(e,t){return be(()=>pe(`/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),pe(`/reality-check?${n.toString()}`)}function vs(e){return pe("/reality-check",{method:"POST",body:JSON.stringify(e)})}function $s(e){return be(()=>pe("/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([pe("/status"),pe("/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 be(()=>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 be(()=>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 be(()=>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 be(()=>je(`/sessions/${e}/messages`),()=>({messages:os(e)}))}function yn(e){return be(()=>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:g,value:j}=await a.read();if(g)break;c+=o.decode(j,{stream:!0});let z;for(;(z=c.indexOf(`
|
|
2
|
+
|
|
3
|
+
`))>=0;){const v=c.slice(0,z);c=c.slice(z+2);const k=(_=v.match(/event: (.*)/))==null?void 0:_[1],Q=v.slice(v.indexOf("data: ")+6);if(!(!k||v.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:bn,fetchDashboardHome:gn,fetchRealityCheck:gs,fetchReports:ps,fetchSavings:pn,fetchSessionDetail:vn,fetchSessions:_s,fetchStatus:_n,listFlows:yn,listMessages:xn,listProjects:Sn,listSessions:kn,openSSE:$n,postSessionAction:bs,postTrinity:mt,runSession:Cn,saveRealityCheck:vs,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=$('<button class=sidebar-home-card title="Open dashboard home"><span class=sidebar-home-card-kicker>Home</span><span class=sidebar-home-card-title></span><span class=sidebar-home-card-copy></span><span class=sidebar-home-card-meta><span></span><span></span><span>'),Ns=$('<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">+'),Rs=$("<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 qs(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 Bs(e){return(()=>{var t=Ns(),n=t.firstChild,s=n.nextSibling;return n.$$click=()=>e.onSelect({kind:"home"}),r(t,x(de,{get when(){return e.home},get children(){var i=Ls(),l=i.firstChild,a=l.nextSibling,o=a.nextSibling,c=o.nextSibling,d=c.firstChild,_=d.nextSibling,u=_.nextSibling;return i.$$click=()=>e.onSelect({kind:"home"}),r(a,()=>{var g;return(g=e.home)==null?void 0:g.home.title}),r(o,()=>{var g,j;return((g=e.home)==null?void 0:g.home.recommendation)||((j=e.home)==null?void 0:j.home.subtitle)}),r(d,()=>{var g;return(g=e.status)!=null&&g.backend_connected?"live":"degraded"}),r(_,()=>{var g;return((g=e.status)==null?void 0:g.active_slot)||"brain"}),r(u,()=>{var g;return((g=e.status)==null?void 0:g.optimization_mode)||"auto"}),i}}),s),r(t,x(ce,{get each(){return e.projects},fallback:[],children:i=>{const l=Ds(i);return(()=>{var a=Rs(),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,g=`--project-icon-bg:${qs(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,g,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 Us=["vibemax","vibeqmax","vibeultrax","vibelitex","raw"];function Ms(e){return Us.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(Ms(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 Vs=[ft.vibeultrax,ft.vibeqmax,ft.vibemax,ft.vibelitex];function bt(e){const t=Lt(e);return ft[t]}function Pn(){return Vs}var zs=$("<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=$("<div class=home-tag-row>"),Hs=$("<div class=home-todo-list>"),Ks=$('<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=$("<div class=home-view><div class=card><h3>Home</h3><p class=muted>loading executive summary..."),Zs=$("<div class=home-op-tile><span class=field-label></span><span class=home-op-value>"),Ws=$("<button>"),Gs=$("<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 "),Xs=$("<div class=home-summary-row><span class=home-summary-label></span><span class=home-summary-value>"),Qs=$("<span class=home-tag>"),Ys=$("<p class=muted>No pending TODOs."),ei=$("<div class=home-todo-item><span class=home-todo-status></span><span>"),ti=$("<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 ni(e){return e!=null&&e.id?`${e.title} · ${e.id.slice(0,8)}`:"No active session"}function si(e){const t=String(e||"").trim().toLowerCase();if(!t||t==="auto")return"auto";try{return bt(t).name||bt(Lt(t)).name||t}catch{return t}}function ii(e){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,g;return String(((d=(c=e.data)==null?void 0:c.current_session)==null?void 0:d.optimization_mode)||((_=s())==null?void 0:_.optimization_mode)||((g=(u=e.data)==null?void 0:u.home.cards.find(j=>j.label.toLowerCase()==="mode"))==null?void 0:g.value)||"auto").trim().toLowerCase()},l=()=>si(i()),a=()=>Pn().map(c=>({...c,active:i()===c.id})),o=()=>{var c,d,_,u,g,j;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:(g=s())!=null&&g.backend_connected?"online":"degraded"},{label:"todos",value:String(((j=e.data)==null?void 0:j.totals.pending_todos)||0)}]};return x(de,{get when(){return e.data},get fallback(){return Js()},get children(){var c=Ks(),d=c.firstChild,_=d.firstChild,u=_.firstChild,g=u.nextSibling,j=g.nextSibling,z=_.nextSibling,v=z.firstChild,k=v.nextSibling,Q=k.nextSibling,D=d.nextSibling,S=D.nextSibling,I=S.nextSibling,se=I.firstChild,he=se.firstChild,ge=he.nextSibling,ve=se.nextSibling,U=ve.firstChild,b=U.nextSibling,C=b.nextSibling,E=C.firstChild,q=E.firstChild,X=q.nextSibling,re=E.nextSibling,Ee=re.firstChild,Oe=Ee.nextSibling,Ue=I.nextSibling,De=Ue.firstChild,Ie=De.firstChild,Y=Ie.nextSibling,$e=Y.firstChild,Le=$e.nextSibling,f=Y.nextSibling,y=f.firstChild;y.firstChild;var L=y.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,me=te.nextSibling,Ne=me.firstChild,A=F.nextSibling,le=A.firstChild,Se=le.nextSibling,_e=Se.nextSibling;_e.firstChild;var O=_e.nextSibling,R=O.firstChild;R.firstChild;var Me=R.nextSibling;Me.firstChild;var Be=A.nextSibling,He=Be.firstChild,tt=He.nextSibling;return r(g,()=>e.data.home.title),r(j,()=>e.data.home.recommendation||e.data.home.subtitle),xt(v,"click",e.onOpenSession),xt(k,"click",e.onOpenProject),xt(Q,"click",e.onOpenStatus),r(D,x(ce,{get each(){return o()},children:w=>(()=>{var T=Zs(),H=T.firstChild,ee=H.nextSibling;return r(H,()=>w.label),r(ee,()=>w.value),T})()})),r(c,x(de,{get when(){return s()},get children(){var w=zs(),T=w.firstChild;T.firstChild;var H=T.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(T,x(ce,{each:["brain","medium","cheap"],children:J=>(()=>{var we=Ws();return we.$$click=()=>mt("set",J).then(e.onTrinityAction).catch(()=>{}),r(we,J),ne(()=>{var qe;return oe(we,`qc-slot ${((qe=s())==null?void 0:qe.active_slot)===J?"active":""}`)}),we})()}),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}}),S),r(S,x(ce,{get each(){return a()},children:w=>(()=>{var T=Gs(),H=T.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(T,`card home-mode-card ${w.active?"active":""}`)),T})()})),r(ge,x(ce,{get each(){return e.data.home.cards},children:w=>(()=>{var T=Xs(),H=T.firstChild,ee=H.nextSibling;return r(H,()=>w.label),r(ee,()=>w.value),T})()})),r(b,()=>e.data.home.recommendation||"Continue with the active session."),r(X,()=>ni(e.session)),r(Oe,t),r($e,()=>e.data.current_session.project_name),r(Le,()=>e.data.current_session.status),r(y,()=>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,x(de,{get when(){var w;return(w=e.data.current_session.tags)==null?void 0:w.length},get children(){var w=Fs();return r(w,x(ce,{get each(){return e.data.current_session.tags},children:T=>(()=>{var H=Qs();return r(H,T),H})()})),w}}),null),r(F,x(de,{get when(){return n().length},get fallback(){return Ys()},get children(){var w=Hs();return r(w,x(ce,{get each(){return n()},children:T=>(()=>{var H=ei(),ee=H.firstChild,xe=ee.nextSibling;return r(ee,()=>String(T.status||"pending").toUpperCase()),r(xe,()=>T.title||T.text||T.content||"Untitled task"),H})()})),w}}),ie),r(te,()=>e.data.totals.pending_todos,ke),r(me,()=>e.data.totals.total_sessions,Ne),r(Se,()=>Qe(e.data.totals.total_savings_usd)),r(_e,()=>Qe(e.data.totals.current_session_savings_usd),null),r(R,()=>{var w,T;return Qe((T=(w=e.data.savings)==null?void 0:w.lifetime)==null?void 0:T.delegation_usd)},null),r(Me,()=>{var w,T;return Qe((T=(w=e.data.savings)==null?void 0:w.lifetime)==null?void 0:T.cache_usd)},null),r(tt,x(ce,{get each(){return e.data.sessions.slice(0,5)},children:w=>(()=>{var T=ti(),H=T.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(T,`home-session-item ${w.is_current?"current":""}`)),T})()})),ne(()=>oe(Le,`badge ${e.data.current_session.locked?"off":"on"}`)),c}})}gt(["click"]);const li="modulepreload",ri=function(e){return"/"+e},tn={},oi=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=ri(d),d in tn)return;tn[d]=!0;const _=d.endsWith(".css"),u=_?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${u}`))return;const g=document.createElement("link");if(g.rel=_?"stylesheet":li,_||(g.as="script"),g.crossOrigin="",g.href=d,c&&g.setAttribute("nonce",c),document.head.appendChild(g),_)return new Promise((j,z)=>{g.addEventListener("load",j),g.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 ai=$("<span class=run-step-skip>blocked — "),ci=$("<code class=run-step-result>"),di=$("<div><span class=run-step-tool></span><span class=run-step-label>"),ui=$('<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>'),fi=$('<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>'),hi=$('<div class="msg-content mono">'),mi=$('<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'),_i=$("<div class=error>"),pi=$('<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>'),bi=$('<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 '),gi=$("<p class=muted>Pick a session link from column 2 to open the chat and live run stream."),vi=$("<div class=run-step><span class=run-step-tool></span><span class=run-step-label> · "),$i=$("<p class=muted>No chat yet. Use the composer below to run a structured session prompt."),Si=$("<details class=run-trace-details><summary>structured steps (<!>)</summary><div class=run-trace>"),wi=$("<div><div class=msg-role></div><div class=msg-content>"),ki=$("<button class=shell-link>");function nn(e){const t=e.r;return(()=>{var n=di(),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,x(de,{get when(){return t.skipped},get children(){var l=ai();return l.firstChild,r(l,()=>t.reason,null),l}}),null),r(n,x(de,{get when(){return it(()=>!t.skipped)()&&t.result},get children(){var l=ci();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 xi(e){const t=String(e||"").trim().toLowerCase();if(!t||t==="auto")return"auto";try{return bt(Lt(t)).name||t}catch{return t}}function yi(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 Ci(e){const[t,{mutate:n,refetch:s}]=Wt(()=>{var b;return((b=e.session)==null?void 0:b.id)||null},b=>b?vn(b):Promise.resolve({session:null})),[i,{refetch:l}]=Wt(()=>{var b;return((b=e.session)==null?void 0:b.id)||null},b=>b?xn(b):Promise.resolve({messages:[]})),[a,o]=K(""),[c,d]=K(!1),[_,u]=K(null),[g,j]=K(null),[z,v]=K([]),[k,Q]=K(null);let D=null;zt(()=>D==null?void 0:D());const S=ue(()=>{var b;return(b=t())==null?void 0:b.session}),I=ue(()=>{var b,C;return g()||((b=S())==null?void 0:b.orchestration_plan)||((C=e.status)==null?void 0:C.orchestration_plan)||null}),se=ue(()=>{var b,C;return String(((b=S())==null?void 0:b.optimization_mode)||((C=e.status)==null?void 0:C.optimization_mode)||"auto").toLowerCase()}),he=ue(()=>xi(se())),ge=ue(()=>{var b,C;return((b=e.status)==null?void 0:b.backend_connected)??((C=e.status)==null?void 0:C.backendConnected)??!1}),ve=b=>{var q;const C=e.session,E=String(b||"").trim();if(!(!C||!E||c())){if((q=S())!=null&&q.locked){Q("Session is locked. Unlock it before running a deterministic flow.");return}D==null||D(),d(!0),Q(null),j(null),v([]),D=Cn(C.id,{prompt:E,query:E,execution_policy:"strict-deterministic"},{onEvent:(X,re)=>{X==="plan"?j(re.plan):X==="step"?v(Ee=>[...Ee,re]):X==="done"?(d(!1),D=null,o(""),j(null),v([]),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 b=e.runRequest,C=e.session;!b||!C||b.sessionId!==C.id||(o(b.prompt),e.onRunRequestHandled(),ve(b.prompt))});const U=async b=>{const C=e.session;if(C){u(b),Q(null);try{const{postSessionAction:E}=await oi(async()=>{const{postSessionAction:X}=await Promise.resolve().then(()=>Es);return{postSessionAction:X}},void 0),q=await E(C.id,{action:b});n(X=>X&&{...X,session:q.session,metrics:q.metrics,orchestration:q.orchestration??null}),s(),e.onRefresh()}catch(E){Q(E.message)}finally{u(null)}}};return(()=>{var b=bi(),C=b.firstChild,E=C.firstChild,q=E.firstChild,X=q.nextSibling,re=X.firstChild,Ee=E.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,()=>he()||"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,()=>ge()?"live":"degraded",null),r(b,x(de,{get when(){return e.session},get fallback(){return gi()},get children(){return[(()=>{var Y=ui(),$e=Y.firstChild,Le=$e.firstChild,f=Le.nextSibling,y=f.nextSibling,L=y.firstChild,N=L.firstChild,B=L.nextSibling;B.firstChild;var W=B.nextSibling,F=W.nextSibling,ae=$e.nextSibling,ie=ae.firstChild,te=ie.firstChild,ke=te.nextSibling,me=ie.nextSibling,Ne=me.firstChild,A=Ne.nextSibling,le=me.nextSibling,Se=le.firstChild,_e=Se.nextSibling;return r(f,()=>e.session.title),r(L,()=>e.session.id.slice(0,18),N),r(B,()=>{var O,R;return((O=e.project)==null?void 0:O.name)||((R=S())==null?void 0:R.project_name)||"selected"},null),r(W,()=>ge()?"backend online":"backend degraded"),r(F,(()=>{var O=it(()=>{var R;return!!((R=S())!=null&&R.locked)});return()=>{var R;return O()?"locked":((R=S())==null?void 0:R.status)||"active"}})()),r(ke,()=>{var O,R;return sn((((O=S())==null?void 0:O.delegation_savings_usd)||0)+(((R=S())==null?void 0:R.cache_savings_usd)||0))}),r(A,()=>{var O;return sn((O=S())==null?void 0:O.cost_usd)}),r(_e,(()=>{var O=it(()=>{var R;return!!((R=S())!=null&&R.locked)});return()=>{var R;return O()?"locked":((R=S())==null?void 0:R.status)||"active"}})()),Y})(),(()=>{var Y=pi(),$e=Y.firstChild,Le=$e.nextSibling,f=Le.firstChild,y=f.nextSibling,L=y.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,me=ie.nextSibling,Ne=me.firstChild,A=Ne.nextSibling,le=me.nextSibling,Se=le.firstChild,_e=Se.nextSibling,O=le.nextSibling,R=O.firstChild,Me=R.nextSibling,Be=O.nextSibling,He=Be.firstChild,tt=He.nextSibling,w=W.nextSibling,T=w.firstChild,H=T.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($e,x(de,{get when(){return I()},get children(){var p=fi(),P=p.firstChild,Ce=P.nextSibling,J=Ce.nextSibling,we=J.firstChild,qe=we.nextSibling,ot=qe.firstChild,nt=J.nextSibling;return r(Ce,()=>I().recommended_label||"Structured plan"),r(we,()=>I().recommended_next_action||I().reason),r(qe,()=>Math.round(Number(I().confidence||0)*100),ot),r(nt,x(ce,{get each(){return I().steps||[]},children:(We,at)=>(()=>{var vt=vi(),ct=vt.firstChild,dt=ct.nextSibling,Nt=dt.firstChild;return r(ct,()=>at()+1),r(dt,()=>We.tool,Nt),r(dt,()=>We.label,null),vt})()})),p}}),null),r($e,x(ce,{get each(){var p;return((p=i())==null?void 0:p.messages)||[]},get fallback(){return $i()},children:p=>(()=>{var P=wi(),Ce=P.firstChild,J=Ce.nextSibling;return r(Ce,()=>p.role),r(J,()=>p.content||"(no summary)"),r(P,x(de,{get when(){return it(()=>!!(p.role==="assistant"&&p.results))()&&p.results.length},get children(){var we=Si(),qe=we.firstChild,ot=qe.firstChild,nt=ot.nextSibling;nt.nextSibling;var We=qe.nextSibling;return r(qe,()=>p.results.length,nt),r(We,x(ce,{get each(){return p.results},children:at=>x(nn,{r:at})})),we}}),null),ne(()=>oe(P,`msg ${p.role}`)),P})()}),null),r($e,x(de,{get when(){return c()},get children(){var p=mi(),P=p.firstChild,Ce=P.nextSibling;return r(p,x(de,{get when(){return g()},get children(){var J=hi();return r(J,()=>g().steps.map(we=>we.tool).join(" → ")),J}}),Ce),r(Ce,x(ce,{get each(){return z()},children:J=>x(nn,{r:J})})),p}}),null),f.$$keydown=p=>{p.key==="Enter"&&(p.metaKey||p.ctrlKey)&&ve(a())},f.$$input=p=>o(p.currentTarget.value),N.$$click=()=>ve(a()),r(N,()=>c()?"running…":"run structured flow"),r(ke,()=>{var p,P;return((p=S())==null?void 0:p.project_name)||((P=e.project)==null?void 0:P.name)||"Current project"}),r(A,()=>{var p;return((p=S())==null?void 0:p.status)||"active"}),r(_e,()=>he()||"auto"),r(Me,()=>{var p;return ut((p=S())==null?void 0:p.started_at)}),r(tt,()=>{var p;return(p=S())!=null&&p.locked?"locked":"mutable"}),r(ee,()=>{var p,P;return ut((P=(p=S())==null?void 0:p.lifecycle)==null?void 0:P.created_at)},null),r(xe,()=>{var p,P;return ut((P=(p=S())==null?void 0:p.lifecycle)==null?void 0:P.paused_at)},null),r(ye,()=>{var p,P;return ut((P=(p=S())==null?void 0:p.lifecycle)==null?void 0:P.resumed_at)},null),r(Ae,()=>{var p,P;return ut((P=(p=S())==null?void 0:p.lifecycle)==null?void 0:P.archived_at)},null),r(Re,x(ce,{get each(){return yi(t())},children:p=>(()=>{var P=ki();return P.$$click=()=>void U(p),r(P,()=>_()===p?"…":p),ne(()=>P.disabled=_()===p),P})()})),r(Y,x(de,{get when(){return k()},get children(){var p=_i();return r(p,k),p}}),null),ne(()=>{var p;return N.disabled=c()||!a().trim()||((p=S())==null?void 0:p.locked)}),ne(()=>f.value=a()),Y})()]}}),null),b})()}gt(["input","keydown","click"]);var Pi=$("<div class=project-session-list>"),ji=$('<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'),Ai=$("<p class=muted>Pick a project from column 1 to see its sessions."),Ti=$("<p class=muted>No sessions in this project yet."),Ei=$("<button><span class=project-session-link-title></span><span class=project-session-link-meta>");function Oi(e,t){return t===e.id?"current":""}function Di(e){return(()=>{var t=ji();return t.firstChild,r(t,x(de,{get when(){return e.project},get fallback(){return Ai()},get children(){var n=Pi();return r(n,x(ce,{get each(){return e.sessions},get fallback(){return Ti()},children:s=>(()=>{var i=Ei(),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":""} ${Oi(s,e.currentSessionId)}`)),i})()})),n}}),null),t})()}gt(["click"]);var Ii=$("<div class=result-box><code></code><button class=dismiss-btn>x"),Li=$('<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>'),Ni=$("<button><strong></strong><span>"),Ri=$("<p class=muted>No resolved plan yet. Use the chat or create a plan from here."),qi=$("<div class=control-flow-step><span></span><div><strong></strong><div class=muted> · ");const Bi=Pn();function Ui(e){return`$${Number(e||0).toFixed(2)}`}function Mi(e){const t=String(e||"").trim().toLowerCase();if(!t||t==="auto")return"auto";try{return bt(t).name||bt(Lt(t)).name||t}catch{return t}}function Vi(e){const[t,n]=K(null),[s,i]=K(null),[l,a]=K(""),o=ue(()=>{var v,k;return String(((v=e.status)==null?void 0:v.optimization_mode)||((k=e.status)==null?void 0:k.native_agent_mode)||"auto").toLowerCase()}),c=ue(()=>Mi(o())),d=ue(()=>{var v,k;return((k=(v=e.status)==null?void 0:v.orchestration_plan)==null?void 0:k.steps)||[]}),_=ue(()=>{var v,k;return((v=e.status)==null?void 0:v.backend_connected)??((k=e.status)==null?void 0:k.backendConnected)??!1}),u=ue(()=>{var v;return((v=e.status)==null?void 0:v.api_fallback)===!0?"fallback":_()?"live":"unknown"}),g=async v=>{if(!t()){n(`mode:${v}`),i(null);try{const k=await mt("mode",v);i(k.ok?String(k.result||`mode:${v}`):String(k.error||"failed")),e.onRefresh()}catch(k){i(k.message)}finally{n(null)}}},j=async()=>{const v=l().trim();if(!(!v||t())){n("token"),i(null);try{const k=await mt("api-token","",void 0,v);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 v=await mt("api-token","",void 0,"invalidate");i(v.ok?"API token invalidated":String(v.error||"failed")),a(""),e.onRefresh()}catch(v){i(v.message)}finally{n(null)}}};return(()=>{var v=Li(),k=v.firstChild,Q=k.firstChild,D=Q.nextSibling,S=k.nextSibling,I=S.firstChild,se=I.nextSibling,he=se.firstChild,ge=he.firstChild,ve=ge.nextSibling,U=he.nextSibling,b=U.firstChild,C=b.nextSibling,E=se.nextSibling,q=S.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,$e=Y.nextSibling,Le=Ie.nextSibling,f=Le.firstChild,y=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,me=ke.firstChild,Ne=me.nextSibling,A=ke.nextSibling,le=ie.nextSibling,Se=le.firstChild,_e=Se.nextSibling,O=_e.firstChild,R=O.nextSibling,Me=_e.nextSibling,Be=Me.nextSibling,He=Be.firstChild,tt=He.nextSibling;tt.nextSibling;var w=le.nextSibling,T=w.firstChild,H=T.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,we=P.nextSibling,qe=we.firstChild,ot=qe.nextSibling,nt=H.nextSibling,We=nt.firstChild,at=We.firstChild,vt=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(ve,c),r(C,()=>{var m;return((m=e.status)==null?void 0:m.thinking)||"brief"}),r(E,x(ce,{each:Bi,children:m=>(()=>{var G=Ni(),Pe=G.firstChild,Ge=Pe.nextSibling;return G.$$click=()=>void g(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($e,()=>{var m;return((m=e.status)==null?void 0:m.active_slot)||"brain"}),r(y,()=>{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 j(),ae.$$click=()=>void z(),r(me,()=>{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(A,x(ce,{get each(){return d()},get fallback(){return Ri()},children:(m,G)=>(()=>{var Pe=qi(),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})()})),O.$$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 Ui((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(vt,()=>{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(v,x(de,{get when(){return s()},get children(){var m=Ii(),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&&(O.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()),v})()}gt(["input","click"]);var zi=$("<section class=home-shell>"),Fi=$('<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>'),Hi=$('<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 Ki(){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}),[g,j]=K([]),[z,v]=K([]),[k,Q]=K({}),[D,S]=K(null),I=()=>_n().then(f=>{t(f),d(!0)}).catch(()=>d(!1)),se=()=>pn().then(f=>{s(f),d(!0)}).catch(()=>d(!1)),he=()=>bn().then(l).catch(()=>{}),ge=()=>gn().then(o).catch(()=>{}),ve=()=>Sn().then(f=>j(f.projects)).catch(()=>{}),U=f=>yn(f||void 0).then(y=>v(y.flows)).catch(()=>{}),b=()=>kn().then(f=>{var L;const y={};for(const N of f.sessions)(y[L=N.project_id]||(y[L]=[])).push(N);Q(y)}).catch(()=>{}),C=$n(f=>{t(f.status),s(f.savings),d(!0)});I(),se(),he(),ve(),b(),ge(),zt(C);const E=async()=>{const f=window.prompt("Project name");if(!f||!f.trim())return;const y=await wn(f.trim());await ve(),await ge(),u({kind:"project",projectId:y.project.id})},q=()=>{var N,B,W,F,ae,ie;const f=_();if(f.kind==="project"||f.kind==="session")return g().find(te=>te.id===f.projectId)||null;const y=((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 g().find(te=>te.fingerprint&&te.fingerprint===y)||g().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 y=((W=(B=a())==null?void 0:B.current_session)==null?void 0:W.session_id)||"";if(!y)return null;const L=q();if(!L)return null;const N=(k()[L.id]||[]).find(F=>F.id===y)||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 y=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(y){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 y=re();y&&S({sessionId:y.id,prompt:f})},Ue=()=>{const f=q()||g()[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(),ge(),ve(),b(),U(((f=q())==null?void 0:f.id)||null)},Y=()=>_().kind==="home"||_().kind==="status",$e=()=>{var f,y,L;return _().kind==="status"?"Status":_().kind==="home"?"Dashboard":((f=q())==null?void 0:f.name)||((L=(y=a())==null?void 0:y.current_session)==null?void 0:L.project_name)||"Home"},Le=()=>{var f,y,L,N,B,W,F,ae,ie;return _().kind==="home"?((y=(f=a())==null?void 0:f.home)==null?void 0:y.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=Fi(),y=f.firstChild,L=y.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,me=ke.nextSibling,Ne=me.nextSibling;return r(f,x(Bs,{get projects(){return g()},get selection(){return _()},get home(){return a()},get status(){return e()},onSelect:u,onNewProject:E}),y),r(W,$e),r(F,Le),r(ae,()=>{var A;return((A=e())==null?void 0:A.version)??"..."}),r(te,()=>c()?"LIVE":"connecting"),r(ke,()=>Ee().label),r(me,()=>{var A,le;return((A=e())==null?void 0:A.backend_connected)??((le=e())==null?void 0:le.backendConnected)?"API LIVE":"API DEGRADED"}),r(Ne,()=>{var A;return((A=e())==null?void 0:A.enabled)===!1?"OFF":"ON"}),r(y,x(de,{get when(){return Y()},get fallback(){return(()=>{var A=Hi(),le=A.firstChild,Se=le.nextSibling,_e=Se.nextSibling;return r(le,x(Di,{get project(){return q()},get sessions(){return X()},get selectedSessionId(){var O;return((O=re())==null?void 0:O.id)||null},get currentSessionId(){var O,R;return((R=(O=a())==null?void 0:O.current_session)==null?void 0:R.session_id)||null},onSelectSession:O=>u({kind:"session",projectId:O.project_id,sessionId:O.id})})),r(Se,x(Ci,{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:()=>S(null),onRefresh:Ie})),r(_e,x(Vi,{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.")})),A})()},get children(){var A=zi();return r(A,x(ii,{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})),A}}),null),ne(A=>{var Me,Be,He;var le=`indicator ${c()?"connected":"disconnected"}`,Se=`indicator flash ${Ee().tone}`,_e=Ee().title,O=`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!==A.e&&oe(te,A.e=le),Se!==A.t&&oe(ke,A.t=Se),_e!==A.a&&pt(ke,"title",A.a=_e),O!==A.o&&oe(me,A.o=O),R!==A.i&&oe(Ne,A.i=R),A},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),f})()}const ln=document.getElementById("app");ln&&Zn(()=>x(Ki,{}),ln);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><title>vibeOS Dashboard</title> <script type="module" crossorigin src="/assets/index-
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><title>vibeOS Dashboard</title> <script type="module" crossorigin src="/assets/index-CspnmA46.js"></script>
|
|
2
2
|
<link rel="stylesheet" crossorigin href="/assets/index-UkrMFHPp.css">
|
|
3
3
|
</head><body><div id="app"></div><div hidden aria-hidden="true">Web Search Search the Web</div></body></html>
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
window.__VIBEOS_DASHBOARD_BASE__ = "http://127.0.0.1:
|
|
2
|
-
window.__VIBEOS_BACKEND_API_BASE__ = "http://127.0.0.1:62784";
|
|
1
|
+
window.__VIBEOS_DASHBOARD_BASE__ = "http://127.0.0.1:63452";
|