@cleocode/cleo 2026.8.3 → 2026.8.4
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/dist/cli/index.js +140 -104
- package/dist/cli/index.js.map +3 -3
- package/package.json +13 -13
- package/studio-dist/client/_app/immutable/chunks/{B_IgYp0Q.js → BUGCWghM.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/BYc4Jvn4.js +1 -0
- package/studio-dist/client/_app/immutable/chunks/{CKl0GUXg.js → Buy7LnV8.js} +1 -1
- package/studio-dist/client/_app/immutable/chunks/{Cnf8fGu7.js → DE-1PFLR.js} +1 -1
- package/studio-dist/client/_app/immutable/entry/{app.BCazOf3D.js → app.qaAaulo2.js} +2 -2
- package/studio-dist/client/_app/immutable/entry/start.geHIExPE.js +1 -0
- package/studio-dist/client/_app/immutable/nodes/{0.DkQR1Qhk.js → 0.DukdGTgf.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{1.sQRW-2Yx.js → 1.B5QmqOp_.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{15.Bthdk1uH.js → 15.C8C7o4Ke.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{16.E0OqiJHc.js → 16.gWaB82Pi.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{17.D5s8A2vJ.js → 17.DArfjohh.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{18.BGJV6j5H.js → 18.bLTgiKRB.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{20.D5Qgiozt.js → 20.CiZMN_Ni.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{24.fg7r7xAq.js → 24.BOeywHAp.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{25.DMINB1-t.js → 25.-wr6OrE5.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{26.D5JsjBp1.js → 26.AjZ_Fv7F.js} +1 -1
- package/studio-dist/client/_app/immutable/nodes/{3.CbKDVLlu.js → 3.3BhS05qm.js} +1 -1
- package/studio-dist/client/_app/version.json +1 -1
- package/studio-dist/server/chunks/{0-CrN368X_.js → 0-Cj8lp-vV.js} +3 -3
- package/studio-dist/server/chunks/{0-CrN368X_.js.map → 0-Cj8lp-vV.js.map} +1 -1
- package/studio-dist/server/chunks/{1-CfcFNOpp.js → 1-mvAddk8l.js} +3 -3
- package/studio-dist/server/chunks/{1-CfcFNOpp.js.map → 1-mvAddk8l.js.map} +1 -1
- package/studio-dist/server/chunks/{15-tVNJQWMr.js → 15-BaFi1Rz0.js} +3 -3
- package/studio-dist/server/chunks/{15-tVNJQWMr.js.map → 15-BaFi1Rz0.js.map} +1 -1
- package/studio-dist/server/chunks/{16-BokuGN_z.js → 16-DaoLkZbH.js} +3 -3
- package/studio-dist/server/chunks/{16-BokuGN_z.js.map → 16-DaoLkZbH.js.map} +1 -1
- package/studio-dist/server/chunks/{17-CDD-Ov5m.js → 17-DE32nTRa.js} +3 -3
- package/studio-dist/server/chunks/{17-CDD-Ov5m.js.map → 17-DE32nTRa.js.map} +1 -1
- package/studio-dist/server/chunks/{18-DsDyFwyZ.js → 18-DaAfWhLL.js} +3 -3
- package/studio-dist/server/chunks/{18-DsDyFwyZ.js.map → 18-DaAfWhLL.js.map} +1 -1
- package/studio-dist/server/chunks/{20-ipaJADB4.js → 20-BPT7f_2T.js} +3 -3
- package/studio-dist/server/chunks/{20-ipaJADB4.js.map → 20-BPT7f_2T.js.map} +1 -1
- package/studio-dist/server/chunks/{24-DMor7iHN.js → 24-Cpe3n5Fe.js} +3 -3
- package/studio-dist/server/chunks/{24-DMor7iHN.js.map → 24-Cpe3n5Fe.js.map} +1 -1
- package/studio-dist/server/chunks/{25-BMRgppbY.js → 25-BfZnRvHX.js} +3 -3
- package/studio-dist/server/chunks/{25-BMRgppbY.js.map → 25-BfZnRvHX.js.map} +1 -1
- package/studio-dist/server/chunks/{26-DLr7iTMz.js → 26-CslOdFIr.js} +3 -3
- package/studio-dist/server/chunks/{26-DLr7iTMz.js.map → 26-CslOdFIr.js.map} +1 -1
- package/studio-dist/server/chunks/{3-CBEuYMKL.js → 3-DMJI0J_l.js} +3 -3
- package/studio-dist/server/chunks/{3-CBEuYMKL.js.map → 3-DMJI0J_l.js.map} +1 -1
- package/studio-dist/server/chunks/{_layout.svelte-BdYJ0XOr.js → _layout.svelte-Bt5JLnI6.js} +4 -4
- package/studio-dist/server/chunks/{_layout.svelte-BdYJ0XOr.js.map → _layout.svelte-Bt5JLnI6.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-DOrUlkcl.js → _page.svelte--X49zLt2.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DOrUlkcl.js.map → _page.svelte--X49zLt2.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-anmDho-n.js → _page.svelte-BsnroOSv.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-anmDho-n.js.map → _page.svelte-BsnroOSv.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-CDOTeiB_.js → _page.svelte-C8U3IifT.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-CDOTeiB_.js.map → _page.svelte-C8U3IifT.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-CU_2T-us.js → _page.svelte-C9fNWql1.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-CU_2T-us.js.map → _page.svelte-C9fNWql1.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-DG43u848.js → _page.svelte-CmfYjWds.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-DG43u848.js.map → _page.svelte-CmfYjWds.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-C1SLWnmf.js → _page.svelte-DiklQPxf.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-C1SLWnmf.js.map → _page.svelte-DiklQPxf.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-DBJqZ4tH.js → _page.svelte-Dss1dsLk.js} +4 -4
- package/studio-dist/server/chunks/{_page.svelte-DBJqZ4tH.js.map → _page.svelte-Dss1dsLk.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-BmKwnSmo.js → _page.svelte-l8g_SB07.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-BmKwnSmo.js.map → _page.svelte-l8g_SB07.js.map} +1 -1
- package/studio-dist/server/chunks/{_page.svelte-N1-4fyD8.js → _page.svelte-sKCSKyCk.js} +3 -3
- package/studio-dist/server/chunks/{_page.svelte-N1-4fyD8.js.map → _page.svelte-sKCSKyCk.js.map} +1 -1
- package/studio-dist/server/chunks/{client-CpS5Z5ic.js → client-0XYxDqM7.js} +2 -2
- package/studio-dist/server/chunks/{client-CpS5Z5ic.js.map → client-0XYxDqM7.js.map} +1 -1
- package/studio-dist/server/chunks/{error.svelte-OTAkvfqc.js → error.svelte-uwNG2w3h.js} +3 -3
- package/studio-dist/server/chunks/{error.svelte-OTAkvfqc.js.map → error.svelte-uwNG2w3h.js.map} +1 -1
- package/studio-dist/server/chunks/{internal-DRwgsLmF.js → internal-C6KP7eXK.js} +2 -2
- package/studio-dist/server/chunks/{internal-DRwgsLmF.js.map → internal-C6KP7eXK.js.map} +1 -1
- package/studio-dist/server/chunks/{stores-kdOSK__S.js → stores-tMbHvxQz.js} +2 -2
- package/studio-dist/server/chunks/{stores-kdOSK__S.js.map → stores-tMbHvxQz.js.map} +1 -1
- package/studio-dist/server/index.js +1 -1
- package/studio-dist/server/index.js.map +1 -1
- package/studio-dist/server/manifest.js +12 -12
- package/studio-dist/server/manifest.js.map +1 -1
- package/studio-dist/client/_app/immutable/chunks/DWgHjJc2.js +0 -1
- package/studio-dist/client/_app/immutable/entry/start.BmXgG-qs.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,D as n,E as r,H as i,I as a,J as o,K as s,M as c,N as l,O as u,P as d,Q as f,T as p,U as m,V as h,X as g,Y as _,Z as v,a as y,at as b,b as x,c as S,d as C,et as w,ft as T,lt as E,m as D,ot as O,s as k,u as A,ut as j,v as M,w as N,x as P}from"../chunks/DyGQ_VXC.js";import{f as F,i as I,n as L,t as R,u as z}from"../chunks/
|
|
1
|
+
import{$ as e,A as t,D as n,E as r,H as i,I as a,J as o,K as s,M as c,N as l,O as u,P as d,Q as f,T as p,U as m,V as h,X as g,Y as _,Z as v,a as y,at as b,b as x,c as S,d as C,et as w,ft as T,lt as E,m as D,ot as O,s as k,u as A,ut as j,v as M,w as N,x as P}from"../chunks/DyGQ_VXC.js";import{f as F,i as I,n as L,t as R,u as z}from"../chunks/Buy7LnV8.js";import"../chunks/CQCxd1p9.js";import{t as B}from"../chunks/wI_OOyoh.js";import{a as V,r as H}from"../chunks/CEqOYim7.js";import{a as U,i as W,l as G}from"../chunks/CqF5Lomf.js";import"../chunks/BYc4Jvn4.js";function ee(e){let t=JSON.parse(e);return t.data&&=z(t.data,R.decoders),t}function K(e){return HTMLElement.prototype.cloneNode.call(e)}function te(e,t=F){let n=async({action:t,result:n,reset:r=!0,invalidateAll:i=!0})=>{n.type===`success`&&(r&&HTMLFormElement.prototype.reset.call(e),i&&await I()),(location.origin+location.pathname===t.origin+t.pathname||n.type===`redirect`||n.type===`error`)&&await L(n)};async function r(r){if((r.submitter?.hasAttribute(`formmethod`)?r.submitter.formMethod:K(e).method)!==`post`)return;r.preventDefault();let i=new URL(r.submitter?.hasAttribute(`formaction`)?r.submitter.formAction:K(e).action),a=r.submitter?.hasAttribute(`formenctype`)?r.submitter.formEnctype:K(e).enctype,o=new FormData(e,r.submitter),s=new AbortController,c=!1,l=await t({action:i,cancel:()=>c=!0,controller:s,formData:o,formElement:e,submitter:r.submitter})??n;if(c)return;let u;try{let e=new Headers({accept:`application/json`,"x-sveltekit-action":`true`});a!==`multipart/form-data`&&e.set(`Content-Type`,/^(:?application\/x-www-form-urlencoded|text\/plain)$/.test(a)?a:`application/x-www-form-urlencoded`);let t=a===`multipart/form-data`?o:new URLSearchParams(o),n=await fetch(i,{method:`POST`,headers:e,cache:`no-store`,body:t,signal:s.signal});u=ee(await n.text()),u.type===`error`&&(u.status=n.status)}catch(e){if(e?.name===`AbortError`)return;u={type:`error`,error:e}}await l({action:i,formData:o,formElement:e,update:e=>n({action:i,result:u,reset:e?.reset,invalidateAll:e?.invalidateAll}),result:u})}return HTMLFormElement.prototype.addEventListener.call(e,`submit`,r),{destroy(){HTMLFormElement.prototype.removeEventListener.call(e,`submit`,r)}}}var ne=t(`<span class="panel-count svelte-1fyimgn"> </span>`),re=t(`<div class="alert svelte-1fyimgn" role="alert"> </div>`),ie=t(`<p class="empty svelte-1fyimgn">No recorded admin actions yet.</p>`),ae=t(`<span class="target svelte-1fyimgn"> </span>`),oe=t(`<button type="button" class="expand-btn svelte-1fyimgn"> </button>`),se=t(`<p class="detail-text svelte-1fyimgn"> </p>`),q=t(`<pre class="meta svelte-1fyimgn"> </pre>`),J=t(`<div class="details svelte-1fyimgn"><!> <!></div>`),ce=t(`<li class="log-item svelte-1fyimgn"><div class="row svelte-1fyimgn"><time class="ts svelte-1fyimgn"> </time> <code class="action svelte-1fyimgn"> </code> <!> <!> <span class="actor svelte-1fyimgn"> </span> <!></div> <!></li>`),Y=t(`<ol class="log-list svelte-1fyimgn"></ol>`),le=t(`<section aria-label="Admin action audit log"><header class="panel-head svelte-1fyimgn"><h3 class="panel-title svelte-1fyimgn">Audit log <!></h3> <!></header> <!> <!></section>`);function ue(t,s){O(s,!0);let l=y(s,`initial`,19,()=>[]),p=y(s,`class`,3,``),h=l(),_=e(v(h)),x=e(!1),S=e(null),T=e(null);async function D(){f(x,!0),f(S,null);try{let e=await(await fetch(`/api/project/audit`)).json();e.success&&e.data?f(_,e.data.entries??[],!0):f(S,e.error?.message??`Unable to read audit log`,!0)}catch(e){f(S,e instanceof Error?e.message:`Unexpected error`,!0)}finally{f(x,!1)}}function k(e){return e===`success`?`success`:e===`failure`?`danger`:e===`dry-run`?`warning`:`info`}function A(e){try{return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}catch{return e}}function P(e){f(T,a(T)===e?null:e,!0)}function F(e){return!!e.detail||!!(e.meta&&Object.keys(e.meta).length>0)}m(()=>{a(_).length===0&&!a(x)&&h.length===0&&D()});var I=le(),L=o(I),R=o(L),z=g(o(R)),B=e=>{var t=ne(),r=o(t,!0);j(t),i(()=>n(r,a(_).length)),u(e,t)};r(z,e=>{a(_).length>0&&e(B)}),j(R),G(g(R,2),{variant:`ghost`,size:`sm`,onclick:D,get loading(){return a(x)},children:(e,t)=>{E(),u(e,c(`Refresh`))},$$slots:{default:!0}}),j(L);var H=g(L,2),U=e=>{var t=re(),r=o(t,!0);j(t),i(()=>n(r,a(S))),u(e,t)};r(H,e=>{a(S)&&e(U)});var W=g(H,2),ee=e=>{u(e,ie())},K=e=>{var t=Y();N(t,23,()=>a(_),(e,t)=>e.timestamp+e.action+t,(e,t,s)=>{let l=w(()=>F(a(t)));var f=ce(),p=o(f),m=o(p),h=o(m,!0);j(m);var _=g(m,2),v=o(_,!0);j(_);var y=g(_,2);{let e=w(()=>k(a(t).result));V(y,{get tone(){return a(e)},size:`sm`,children:(e,r)=>{E();var o=c();i(()=>n(o,a(t).result)),u(e,o)},$$slots:{default:!0}})}var b=g(y,2),x=e=>{var r=ae(),s=o(r,!0);j(r),i(()=>n(s,a(t).target)),u(e,r)};r(b,e=>{a(t).target&&e(x)});var S=g(b,2),D=o(S,!0);j(S);var O=g(S,2),M=e=>{var t=oe(),r=o(t,!0);j(t),i(()=>{C(t,`aria-expanded`,a(T)===a(s)),C(t,`aria-label`,a(T)===a(s)?`Collapse entry`:`Expand entry`),n(r,a(T)===a(s)?`▾`:`▸`)}),d(`click`,t,()=>P(a(s))),u(e,t)};r(O,e=>{a(l)&&e(M)}),j(p);var N=g(p,2),I=e=>{var s=J(),c=o(s),l=e=>{var r=se(),s=o(r,!0);j(r),i(()=>n(s,a(t).detail)),u(e,r)};r(c,e=>{a(t).detail&&e(l)});var d=g(c,2),f=e=>{var r=q(),s=o(r,!0);j(r),i(e=>n(s,e),[()=>JSON.stringify(a(t).meta,null,2)]),u(e,r)};r(d,e=>{a(t).meta&&e(f)}),j(s),u(e,s)};r(N,e=>{a(T)===a(s)&&a(l)&&e(I)}),j(f),i(e=>{n(h,e),n(v,a(t).action),n(D,a(t).actor)},[()=>A(a(t).timestamp)]),u(e,f)}),j(t),u(e,t)};r(W,e=>{a(_).length===0&&!a(x)?e(ee):e(K,-1)}),j(I),i(()=>M(I,1,`audit-panel ${p()??``}`,`svelte-1fyimgn`)),u(t,I),b()}l([`click`]);var X=t(`<!> <!>`,1),de=t(`<div class="success svelte-bv3qg3" role="status"> </div>`),fe=t(`<div class="alert svelte-bv3qg3" role="alert"> </div>`),pe=t(`<code class="list-dir svelte-bv3qg3"> </code>`),me=t(`<p class="hint svelte-bv3qg3">Loading…</p>`),he=t(`<p class="hint svelte-bv3qg3">No snapshots yet. Create one above.</p>`),ge=t(`<li class="list-item svelte-bv3qg3"><!> <code class="list-name svelte-bv3qg3"> </code> <span class="list-size svelte-bv3qg3"> </span> <time class="list-time svelte-bv3qg3"> </time></li>`),_e=t(`<ul class="list svelte-bv3qg3"></ul>`),ve=t(`<div class="body svelte-bv3qg3"><section class="create"><h3 class="section-title svelte-bv3qg3">New snapshot</h3> <p class="description svelte-bv3qg3">Captures <code class="svelte-bv3qg3">tasks.db</code>, <code class="svelte-bv3qg3">brain.db</code>, <code class="svelte-bv3qg3">config.json</code>, and <code class="svelte-bv3qg3">project-info.json</code> via <code class="svelte-bv3qg3">cleo backup add</code>. Vacuums into a
|
|
2
2
|
timestamped <code class="svelte-bv3qg3">.cleo/backups/sqlite/</code> file.</p> <div class="create-row svelte-bv3qg3"><!> <!></div> <!> <!></section> <section class="list-section"><div class="list-head svelte-bv3qg3"><h3 class="section-title svelte-bv3qg3">Existing snapshots</h3> <!></div> <!> <p class="restore-hint svelte-bv3qg3">Restore via CLI: <code class="svelte-bv3qg3">cleo restore backup --file <filename></code>.</p></section></div>`);function ye(t,s){O(s,!0);let l=y(s,`open`,15,!0),d=e(v([])),h=e(!1),x=e(!1),S=e(``),C=e(null),T=e(null),D=e(``);function k(){l(!1),s.onClose?.()}async function A(){f(h,!0),f(C,null);try{let e=await(await fetch(`/api/project/backup`)).json();e.success&&e.data?(f(d,e.data.backups??[],!0),f(D,e.data.dir??``,!0)):f(C,e.error?.message??`Unable to list backups`,!0)}catch(e){f(C,e instanceof Error?e.message:`Unexpected error`,!0)}finally{f(h,!1)}}async function M(){f(x,!0),f(C,null),f(T,null);try{let e=await(await fetch(`/api/project/backup`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({note:a(S).trim()||void 0})})).json();e.success?(f(T,`Snapshot created`),f(S,``),await A()):f(C,e.error?.message??`Snapshot failed`,!0)}catch(e){f(C,e instanceof Error?e.message:`Unexpected error`,!0)}finally{f(x,!1)}}function P(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} kB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`}function F(e){try{return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return e}}function I(e){return e===`tasks`?`accent`:e===`brain`?`info`:e===`config`||e===`project-info`?`warning`:`neutral`}m(()=>{l()&&a(d).length===0&&!a(h)&&A()}),W(t,{title:`Project Backups`,maxWidth:44,onclose:k,get open(){return l()},set open(e){l(e)},footer:e=>{var t=X(),n=_(t);G(n,{variant:`ghost`,onclick:k,children:(e,t)=>{E(),u(e,c(`Close`))},$$slots:{default:!0}}),G(g(n,2),{variant:`secondary`,onclick:A,get loading(){return a(h)},children:(e,t)=>{E(),u(e,c(`Refresh`))},$$slots:{default:!0}}),u(e,t)},children:(e,t)=>{var s=ve(),l=o(s),m=g(o(l),4),_=o(m);U(_,{label:`Note`,placeholder:`e.g. pre-migration checkpoint`,get value(){return a(S)},set value(e){f(S,e,!0)}}),G(g(_,2),{variant:`primary`,onclick:M,get loading(){return a(x)},children:(e,t)=>{E();var r=c();i(()=>n(r,a(x)?`Creating`:`Create snapshot`)),u(e,r)},$$slots:{default:!0}}),j(m);var v=g(m,2),y=e=>{var t=de(),r=o(t,!0);j(t),i(()=>n(r,a(T))),u(e,t)};r(v,e=>{a(T)&&e(y)});var b=g(v,2),O=e=>{var t=fe(),r=o(t,!0);j(t),i(()=>n(r,a(C))),u(e,t)};r(b,e=>{a(C)&&e(O)}),j(l);var k=g(l,2),A=o(k),L=g(o(A),2),R=e=>{var t=pe(),r=o(t,!0);j(t),i(()=>n(r,a(D))),u(e,t)};r(L,e=>{a(D)&&e(R)}),j(A);var z=g(A,2),B=e=>{u(e,me())},H=e=>{u(e,he())},W=e=>{var t=_e();N(t,21,()=>a(d),p,(e,t)=>{var r=ge(),s=o(r);{let e=w(()=>I(a(t).kind));V(s,{get tone(){return a(e)},size:`sm`,children:(e,r)=>{E();var o=c();i(()=>n(o,a(t).kind)),u(e,o)},$$slots:{default:!0}})}var l=g(s,2),d=o(l,!0);j(l);var f=g(l,2),p=o(f,!0);j(f);var m=g(f,2),h=o(m,!0);j(m),j(r),i((e,r)=>{n(d,a(t).filename),n(p,e),n(h,r)},[()=>P(a(t).sizeBytes),()=>F(a(t).createdAt)]),u(e,r)}),j(t),u(e,t)};r(z,e=>{a(h)?e(B):a(d).length===0?e(H,1):e(W,-1)}),E(2),j(k),j(s),u(e,s)},$$slots:{footer:!0,default:!0}}),b()}var be=t(`<!> <!> <!>`,1),Z=t(`<div class="alert svelte-1bkgyl6" role="alert"> </div>`),xe=t(`<span class="tag tag-dry svelte-1bkgyl6">DRY RUN</span>`),Se=t(`<span class="tag tag-live svelte-1bkgyl6">PURGED</span>`),Ce=t(`<span class="result-summary svelte-1bkgyl6"> </span>`),we=t(`<li class="path svelte-1bkgyl6"> </li>`),Te=t(`<ul class="paths svelte-1bkgyl6"></ul>`),Ee=t(`<p class="empty svelte-1bkgyl6">No matching projects.</p>`),Q=t(`<div><div class="result-head svelte-1bkgyl6"><!> <!></div> <!></div>`),De=t(`<div class="clean-body svelte-1bkgyl6"><fieldset class="filters svelte-1bkgyl6"><legend class="legend svelte-1bkgyl6">Target filters</legend> <label class="row svelte-1bkgyl6"><input type="checkbox" class="check svelte-1bkgyl6"/> <span>Include <code class="svelte-1bkgyl6">.temp</code> paths</span></label> <label class="row svelte-1bkgyl6"><input type="checkbox" class="check svelte-1bkgyl6"/> <span>Include test / tmp / fixture / scratch / sandbox paths</span></label> <label class="row svelte-1bkgyl6"><input type="checkbox" class="check svelte-1bkgyl6"/> <span>Include unhealthy projects</span></label> <label class="row svelte-1bkgyl6"><input type="checkbox" class="check svelte-1bkgyl6"/> <span>Include never-indexed projects</span></label></fieldset> <!> <div class="purge-section svelte-1bkgyl6"><p class="purge-label svelte-1bkgyl6">Confirm destructive purge</p> <p class="purge-hint svelte-1bkgyl6">Type <strong class="purge-keyword svelte-1bkgyl6">PURGE</strong> to enable the red button.</p> <input type="text" class="purge-input svelte-1bkgyl6" placeholder="PURGE" autocomplete="off" spellcheck="false"/></div> <!> <!></div>`);function Oe(t,s){O(s,!0);let l=y(s,`open`,15,!0),d=e(!0),m=e(!1),h=e(!1),v=e(!1),x=e(``),C=e(``),T=w(()=>a(C)===`PURGE`),D=e(!1),P=e(null),F=e(null);function I(){l(!1),s.onClose?.()}async function L(e){f(D,!0),f(P,null),f(F,null);try{let t=await(await fetch(`/api/project/clean`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({includeTemp:a(d),includeTests:a(m),includeUnhealthy:a(h),includeNeverIndexed:a(v),pattern:a(x).trim()||void 0,dryRun:e})})).json();if(!t.success)f(F,t.error?.message??`Clean failed`,!0);else{let n=t.data??{};f(P,{removed:typeof n.removed==`number`?n.removed:void 0,dryRun:typeof n.dryRun==`boolean`?n.dryRun:e,paths:Array.isArray(n.paths)?n.paths.slice(0,50):void 0},!0),e||s.onSuccess?.()}}catch(e){f(F,e instanceof Error?e.message:`Unexpected error`,!0)}finally{f(D,!1)}}W(t,{title:`Clean Project Registry`,maxWidth:34,onclose:I,get open(){return l()},set open(e){l(e)},footer:e=>{var t=be(),n=_(t);G(n,{variant:`ghost`,onclick:I,children:(e,t)=>{E(),u(e,c(`Close`))},$$slots:{default:!0}});var r=g(n,2);G(r,{variant:`secondary`,get loading(){return a(D)},onclick:()=>L(!0),children:(e,t)=>{E(),u(e,c(`Preview`))},$$slots:{default:!0}});var i=g(r,2);{let e=w(()=>!a(T)||a(D));G(i,{variant:`danger`,get disabled(){return a(e)},get loading(){return a(D)},onclick:()=>L(!1),children:(e,t)=>{E(),u(e,c(`Purge`))},$$slots:{default:!0}})}u(e,t)},children:(e,t)=>{var s=De(),c=o(s),l=g(o(c),2),_=o(l);A(_),E(2),j(l);var y=g(l,2),b=o(y);A(b),E(2),j(y);var w=g(y,2),T=o(w);A(T),E(2),j(w);var D=g(w,2),O=o(D);A(O),E(2),j(D),j(c);var I=g(c,2);U(I,{label:`Pattern filter`,description:`Optional regex applied to project paths.`,placeholder:`e.g. /tmp/`,get value(){return a(x)},set value(e){f(x,e,!0)}});var L=g(I,2),R=g(o(L),4);A(R),j(L);var z=g(L,2),B=e=>{var t=Z(),r=o(t,!0);j(t),i(()=>n(r,a(F))),u(e,t)};r(z,e=>{a(F)&&e(B)});var V=g(z,2),H=e=>{var t=Q();let s;var c=o(t),l=o(c),d=e=>{u(e,xe())},f=e=>{u(e,Se())};r(l,e=>{a(P).dryRun?e(d):e(f,-1)});var m=g(l,2),h=e=>{var t=Ce(),r=o(t);j(t),i(()=>n(r,`${a(P).removed??``} project${a(P).removed===1?``:`s`}
|
|
3
3
|
${a(P).dryRun?`would be`:``} removed`)),u(e,t)};r(m,e=>{a(P).removed!==void 0&&e(h)}),j(c);var _=g(c,2),v=e=>{var t=Te();N(t,21,()=>a(P).paths,p,(e,t)=>{var r=we(),s=o(r,!0);j(r),i(()=>n(s,a(t))),u(e,r)}),j(t),u(e,t)},y=e=>{u(e,Ee())};r(_,e=>{a(P).paths&&a(P).paths.length>0?e(v):e(y,-1)}),j(t),i(()=>s=M(t,1,`result svelte-1bkgyl6`,null,s,{"is-dry-run":a(P).dryRun})),u(e,t)};r(V,e=>{a(P)!==null&&e(H)}),j(s),k(_,()=>a(d),e=>f(d,e)),k(b,()=>a(m),e=>f(m,e)),k(T,()=>a(h),e=>f(h,e)),k(O,()=>a(v),e=>f(v,e)),S(R,()=>a(C),e=>f(C,e)),u(e,s)},$$slots:{footer:!0,default:!0}}),b()}var ke=t(`<!> <!>`,1),Ae=t(`<div class="body svelte-15ygpq"><p class="warning svelte-15ygpq">This removes the project from the nexus registry. Files on disk are not touched.</p> <p class="hint svelte-15ygpq">Type <strong class="keyword svelte-15ygpq"> </strong> to confirm:</p> <input type="text" class="confirm-input svelte-15ygpq" autocomplete="off" spellcheck="false"/></div>`);function je(t,r){O(r,!0);let s=y(r,`open`,15,!0),l=e(``),d=w(()=>a(l)===r.projectName);function p(){s(!1),r.onClose?.()}function m(){a(d)&&r.onConfirm()}W(t,{title:`Delete project`,maxWidth:28,closeOnBackdrop:!1,onclose:p,get open(){return s()},set open(e){s(e)},footer:e=>{var t=ke(),n=_(t);G(n,{variant:`ghost`,onclick:p,children:(e,t)=>{E(),u(e,c(`Cancel`))},$$slots:{default:!0}});var r=g(n,2);{let e=w(()=>!a(d));G(r,{variant:`danger`,get disabled(){return a(e)},onclick:m,children:(e,t)=>{E(),u(e,c(`Delete`))},$$slots:{default:!0}})}u(e,t)},children:(e,t)=>{var s=Ae(),c=g(o(s),2),d=g(o(c)),p=o(d,!0);j(d),E(),j(c);var m=g(c,2);A(m),j(s),i(()=>{n(p,r.projectName),C(m,`placeholder`,r.projectName)}),S(m,()=>a(l),e=>f(l,e)),u(e,s)},$$slots:{footer:!0,default:!0}}),b()}var $=t(`<!> <!>`,1),Me=t(`<div class="state svelte-ef4fmo"><span class="spinner svelte-ef4fmo" aria-hidden="true"></span> <span>Running diagnostics…</span></div>`),Ne=t(`<div class="alert svelte-ef4fmo" role="alert"> </div>`),Pe=t(`<span class="result-time svelte-ef4fmo"> </span>`),Fe=t(`<div class="field svelte-ef4fmo"><span class="field-key svelte-ef4fmo"> </span> <pre class="field-value svelte-ef4fmo"> </pre></div>`),Ie=t(`<div class="result svelte-ef4fmo"><div class="result-head svelte-ef4fmo"><!> <!></div> <div class="fields svelte-ef4fmo"></div></div>`),Le=t(`<div class="body svelte-ef4fmo"><p class="description svelte-ef4fmo">Runs <code class="svelte-ef4fmo">cleo nexus doctor</code> against the active project. Reports schema versions, row
|
|
4
4
|
counts, orphaned references, and broken links.</p> <!> <!> <!></div>`);function Re(t,s){O(s,!0);let l=y(s,`open`,15,!0),d=y(s,`projectId`,3,null),h=e(!1),v=e(null),x=e(null),S=e(null);function C(){l(!1),s.onClose?.()}async function D(){f(h,!0),f(v,null),f(x,null);try{let e=await(await fetch(`/api/project/doctor`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(d()?{projectId:d()}:{})})).json();e.success?(f(x,e.data??{},!0),f(S,new Date().toLocaleTimeString(),!0)):f(v,e.error?.message??`Doctor failed`,!0)}catch(e){f(v,e instanceof Error?e.message:`Unexpected error`,!0)}finally{f(h,!1)}}m(()=>{l()&&a(x)===null&&!a(h)&&D()});function k(e){if(e===null)return`null`;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e,null,2)}catch{return String(e)}}function A(e){return Array.isArray(e)?e.length===0?`success`:e.length<5?`warning`:`danger`:`neutral`}W(t,{title:`Project Doctor`,maxWidth:48,onclose:C,get open(){return l()},set open(e){l(e)},footer:e=>{var t=$(),r=_(t);G(r,{variant:`ghost`,onclick:C,children:(e,t)=>{E(),u(e,c(`Close`))},$$slots:{default:!0}}),G(g(r,2),{variant:`secondary`,onclick:D,get loading(){return a(h)},children:(e,t)=>{E();var r=c();i(()=>n(r,a(h)?`Running`:`Re-run`)),u(e,r)},$$slots:{default:!0}}),u(e,t)},children:(e,t)=>{var s=Le(),l=g(o(s),2),d=e=>{u(e,Me())};r(l,e=>{a(h)&&e(d)});var f=g(l,2),m=e=>{var t=Ne(),r=o(t,!0);j(t),i(()=>n(r,a(v))),u(e,t)};r(f,e=>{a(v)&&e(m)});var _=g(f,2),y=e=>{var t=Ie(),s=o(t),l=o(s);{let e=w(()=>A(a(x).issues));V(l,{get tone(){return a(e)},children:(e,t)=>{E();var r=c();i(e=>n(r,e),[()=>Array.isArray(a(x).issues)&&a(x).issues.length===0?`healthy`:`issues`]),u(e,r)},$$slots:{default:!0}})}var d=g(l,2),f=e=>{var t=Pe(),r=o(t);j(t),i(()=>n(r,`checked at ${a(S)??``}`)),u(e,t)};r(d,e=>{a(S)&&e(f)}),j(s);var m=g(s,2);N(m,21,()=>Object.entries(a(x)),p,(e,t)=>{var r=w(()=>T(a(t),2));let s=()=>a(r)[0],c=()=>a(r)[1];var l=Fe(),d=o(l),f=o(d,!0);j(d);var p=g(d,2),m=o(p,!0);j(p),j(l),i(e=>{n(f,s()),n(m,e)},[()=>k(c())]),u(e,l)}),j(m),j(t),u(e,t)};r(_,e=>{a(x)&&e(y)}),j(s),u(e,s)},$$slots:{footer:!0,default:!0}}),b()}var ze=t(`<!> <!> <!>`,1),Be=t(`<div class="alert svelte-1o64xpr" role="alert"> </div>`),Ve=t(`<span class="tag tag-dry svelte-1o64xpr">DRY RUN</span>`),He=t(`<span class="tag tag-live svelte-1o64xpr">REMOVED</span>`),Ue=t(`<span class="result-summary svelte-1o64xpr"> </span>`),We=t(`<div><div class="result-head svelte-1o64xpr"><!> <!></div></div>`),Ge=t(`<div class="body svelte-1o64xpr"><p class="description svelte-1o64xpr">Removes orphaned nexus rows (dead edges, unreferenced symbols).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,D as r,E as i,H as a,I as o,J as s,K as c,M as l,N as u,O as d,P as f,Q as p,U as m,X as h,Y as g,a as _,at as v,d as y,et as b,k as x,lt as S,nt as C,ot as w,tt as ee,ut as T,v as E,w as D,x as O,z as k}from"../chunks/DyGQ_VXC.js";import{r as A}from"../chunks/CKl0GUXg.js";import"../chunks/CQCxd1p9.js";import{t as j}from"../chunks/Cnf8fGu7.js";import{a as te}from"../chunks/CEqOYim7.js";import"../chunks/CqF5Lomf.js";import{C as M,S as N,f as P,i as F}from"../chunks/Sz0lc_TQ.js";import"../chunks/DWgHjJc2.js";import{n as I,t as L}from"../chunks/B9WSZcBK.js";var R=t(`· scoped to <code class="svelte-1lzd0zi"> </code>`,1),z=t(`for <code class="svelte-1lzd0zi"> </code>`,1),B=t(`<div class="empty-state svelte-1lzd0zi"><p>No tasks in this workgraph <!>.</p></div>`),V=t(`<div class="workgraph-view svelte-1lzd0zi"><div class="workgraph-meta svelte-1lzd0zi"><span class="count svelte-1lzd0zi"><strong class="svelte-1lzd0zi"> </strong> nodes · <strong class="svelte-1lzd0zi"> </strong> edges <!></span> <span class="legend-hint svelte-1lzd0zi">containment · depends · blocks</span></div> <div class="workgraph-body svelte-1lzd0zi"><div class="graph-wrap svelte-1lzd0zi"><!></div> <!></div></div>`);function H(e,t){w(t,!0);let n=_(t,`sagaId`,3,null),c=_(t,`includeCancelled`,3,!1),l=_(t,`selectedId`,15,null),u=b(()=>M(t.tasks,t.deps,{epicScope:n(),includeCancelled:c(),includeArchived:!1})),f=new Set([`parent`,`blocks`,`depends`]),p=b(()=>new Map(t.tasks.map(e=>[e.id,e]))),m=b(()=>l()?o(p).get(l())??null:null),y=b(()=>{if(!o(m))return[];let e=[];for(let n of t.deps){if(n.taskId!==o(m).id)continue;let t=o(p).get(n.dependsOn);t&&e.push({id:t.id,title:t.title,status:t.status,priority:t.priority})}return e}),x=b(()=>{if(!o(m))return[];let e=[];for(let n of t.deps){if(n.dependsOn!==o(m).id)continue;let t=o(p).get(n.taskId);t&&e.push({id:t.id,title:t.title,status:t.status,priority:t.priority})}return e}),C=b(()=>{if(!o(m))return[];let e=[],t=o(m).parentId?o(p).get(o(m).parentId):void 0,n=new Set;for(;t&&!n.has(t.id);)n.add(t.id),e.unshift({id:t.id,title:t.title,type:t.type}),t=t.parentId?o(p).get(t.parentId):void 0;return e});function ee(e){l(e.id)}function E(){l(null)}function D(e){l(e)}var O=V(),k=s(O),A=s(k),j=s(A),te=s(j,!0);T(j);var F=h(j,2),I=s(F,!0);T(F);var L=h(F,2),H=e=>{var t=R(),i=h(g(t)),o=s(i,!0);T(i),a(()=>r(o,n())),d(e,t)};i(L,e=>{n()&&e(H)}),T(A),S(2),T(k);var U=h(k,2),W=s(U),G=s(W),K=e=>{var t=B(),o=s(t),c=h(s(o)),l=e=>{var t=z(),i=h(g(t)),o=s(i,!0);T(i),a(()=>r(o,n())),d(e,t)};i(c,e=>{n()&&e(l)}),S(),T(o),T(t),d(e,t)},q=e=>{N(e,{get nodes(){return o(u).nodes},get edges(){return o(u).edges},get clusters(){return o(u).clusters},get visibleEdgeKinds(){return f},get selectedNodeId(){return l()},onNodeClick:ee,showLabels:`id-only`,nodeRenderer:`pill`,showToolbar:!0,showLegend:!0,ariaLabel:`Saga workgraph — containment and dependency edges`})};i(G,e=>{o(u).nodes.length===0?e(K):e(q,-1)}),T(W);var J=h(W,2),Y=e=>{P(e,{get task(){return o(m)},get upstream(){return o(y)},get downstream(){return o(x)},get parentChain(){return o(C)},onClose:E,onSelectDep:D})};i(J,e=>{o(m)&&e(Y)}),T(U),T(O),a(()=>{r(te,o(u).nodes.length),r(I,o(u).edges.length)}),d(e,O),v()}var U=[`hermes`,`nous`,`bronze`,`slate`,`mono`],W={hermes:`Hermes`,nous:`Nous`,bronze:`Bronze`,slate:`Slate`,mono:`Mono`},G=`hermes`,K=`cleo-studio-theme`,q=`cleo-studio-theme-mode`;function J(e){return U.includes(e??``)?e:G}var Y=class{#e=e(G);#t=e(!1);constructor(e){e&&p(this.#e,e,!0)}get active(){return o(this.#e)}get light(){return o(this.#t)}get themes(){return U}hydrate(){typeof localStorage<`u`&&(p(this.#e,J(localStorage.getItem(K)),!0),p(this.#t,localStorage.getItem(q)===`light`)),this.apply()}set(e){p(this.#e,e,!0),typeof localStorage<`u`&&localStorage.setItem(K,e),this.apply()}toggleLight(){p(this.#t,!o(this.#t)),typeof localStorage<`u`&&localStorage.setItem(q,o(this.#t)?`light`:`dark`),this.apply()}apply(){if(typeof document>`u`)return;let e=document.documentElement;e.setAttribute(`data-theme`,o(this.#e)),e.classList.toggle(`light`,o(this.#t))}};function ne(e){return new Y(e)}var X=t(`<button type="button" role="radio"><span class="swatch svelte-2szurj" aria-hidden="true"></span> </button>`),Z=t(`<div class="theme-switcher svelte-2szurj" role="group" aria-label="Operator console theme"><div class="seg svelte-2szurj" role="radiogroup" aria-label="Theme palette"></div> <button type="button" class="mode-btn svelte-2szurj" title="Toggle light operator console"> </button></div>`);function re(e,t){w(t,!0);function n(e){t.theme.set(e)}var i=Z(),o=s(i);D(o,20,()=>t.theme.themes,e=>e,(e,i)=>{var o=X();let c;var l=s(o),u=h(l);T(o),a(()=>{c=E(o,1,`seg-btn svelte-2szurj`,null,c,{active:t.theme.active===i}),y(o,`aria-checked`,t.theme.active===i),y(o,`title`,`${W[i]} theme`),y(l,`data-theme`,i),r(u,` ${W[i]??``}`)}),f(`click`,o,()=>n(i)),d(e,o)}),T(o);var c=h(o,2),l=s(c,!0);T(c),T(i),a(()=>{y(c,`aria-pressed`,t.theme.light),r(l,t.theme.light?`Light`:`Dark`)}),f(`click`,c,()=>t.theme.toggleLight()),d(e,i),v()}u([`click`]);var Q=t(`<div class="empty-state svelte-62ic89"><p class="svelte-62ic89">No active cards in <code class="svelte-62ic89"> </code>.</p></div>`),ie=t(`<div class="board-host svelte-62ic89"><!></div>`),ae=t(`<div role="status" aria-live="polite"> </div>`),$=t(`<div class="saga-kanban-pane svelte-62ic89"><div class="pane-meta svelte-62ic89"><span class="count svelte-62ic89"><strong class="svelte-62ic89"> </strong> cards in saga</span> <span><span class="live-dot svelte-62ic89" aria-hidden="true"></span> </span></div> <!></div> <!> <!>`,1);function oe(t,n){w(n,!0);let c=L({root:k(()=>n.sagaId)}),l=e(!1);m(()=>(c.hydrate().then(()=>{p(l,!0)}),c.connect(),()=>c.disconnect()));let u=b(()=>c.lanes),f=b(()=>c.columns.flatMap(e=>e.cards.filter(e=>n.subtreeIds.has(e.id)).map(e=>({...e,__lane:e.lane}))));function _(e){return e.__lane??`backlog`}let y=e(null),x=b(()=>o(y)?o(f).find(e=>e.id===o(y))??null:null),C=b(()=>o(x)?{id:o(x).id,title:o(x).title,description:o(x).title,status:o(x).status,priority:o(x).priority,size:o(x).size??void 0,createdAt:new Date().toISOString()}:null);function ee(e){p(y,e,!0)}function D(){p(y,null)}let O=e(null),A=null;function j(e,t){p(O,{kind:e,message:t},!0),A&&clearTimeout(A),A=setTimeout(()=>{p(O,null)},4200)}async function te(e,t,n){let r=t,i=n,a=F(e,r,i);if(!a.ok){j(`err`,a.message);return}let o=await c.move(e,r,i);if(!o.ok){j(`err`,o.message);return}j(`ok`,a.plan.summary)}let M=b(()=>o(l)&&c.connected),N=b(()=>o(f).length);var R=$(),z=g(R),B=s(z),V=s(B),H=s(V),U=s(H,!0);T(H),S(),T(V);var W=h(V,2);let G;var K=h(s(W));T(W),T(B);var q=h(B,2),J=e=>{var t=Q(),i=s(t),o=h(s(i)),c=s(o,!0);T(o),S(),T(i),T(t),a(()=>r(c,n.sagaId)),d(e,t)},Y=e=>{var t=ie();I(s(t),{get lanes(){return o(u)},get cards(){return o(f)},laneResolver:_,onSelect:ee,onMove:te}),T(t),d(e,t)};i(q,e=>{o(l)&&o(N)===0?e(J):e(Y,-1)}),T(z);var ne=h(z,2),X=e=>{var t=ae();let n;var i=s(t,!0);T(t),a(()=>{n=E(t,1,`toast svelte-62ic89`,null,n,{err:o(O).kind===`err`}),r(i,o(O).message)}),d(e,t)};i(ne,e=>{o(O)&&e(X)});var Z=h(ne,2),re=e=>{P(e,{get task(){return o(C)},onClose:D})};i(Z,e=>{o(C)&&e(re)}),a(()=>{r(U,o(N)),G=E(W,1,`live svelte-62ic89`,null,G,{connected:o(M)}),r(K,` ${o(M)?`live`:`connecting…`}`)}),d(t,R),v()}var se=t(`<meta name="robots" content="noindex"/>`),ce=t(`<span class="crumb-title svelte-b7bs0"> </span>`),le=t(`<div class="shell-error svelte-b7bs0" role="alert"><p> </p></div>`),ue=t(`<div class="shell-error svelte-b7bs0" role="alert"><p>No workgraph bundle available for this saga.</p></div>`);t(`<div class="ssr-placeholder svelte-b7bs0"><p>Loading the live board…</p></div>`);var de=t(`<section class="saga-shell svelte-b7bs0"><header class="command-bar svelte-b7bs0"><nav class="crumbs svelte-b7bs0" aria-label="Breadcrumb"><a class="crumb svelte-b7bs0" href="/projects"> </a> <span class="sep svelte-b7bs0" aria-hidden="true">▸</span> <span class="crumb current svelte-b7bs0"><code class="svelte-b7bs0"> </code> <!></span> <!></nav> <div class="toggle svelte-b7bs0" role="tablist" aria-label="Saga view"><button type="button" role="tab">Workgraph</button> <button type="button" role="tab">Kanban</button></div> <div class="bar-right svelte-b7bs0"><!></div></header> <div class="canvas svelte-b7bs0"><!></div> <footer class="shell-foot svelte-b7bs0"><span class="hint svelte-b7bs0"> </span></footer></section>`);function fe(e,t){w(t,!0);let u=()=>C(j,`$page`,p),[p,_]=ee(),D=ne();m(()=>{D.hydrate()});let k=b(()=>u().url.searchParams.get(`view`)===`kanban`?`kanban`:`workgraph`);function M(e){let t=new URL(u().url);t.searchParams.set(`view`,e),A(t.pathname+t.search,{replaceState:!0,noScroll:!0,keepFocus:!0})}let N=b(()=>{let e=new Set([t.data.sagaId]),n=t.data.explorer?.tasks??[],r=!0;for(;r;){r=!1;for(let t of n)e.has(t.id)||t.parentId&&e.has(t.parentId)&&(e.add(t.id),r=!0)}return e}),P=b(()=>t.data.saga?.title??t.data.sagaId),F=b(()=>t.data.explorer?.tasks.length??0);var I=de();O(`b7bs0`,e=>{var r=se();n(()=>{c.title=`${t.data.sagaId??``} · ${t.data.projectName??``} — CLEO Studio`}),d(e,r)});var L=s(I),R=s(L),z=s(R),B=s(z,!0);T(z);var V=h(z,4),U=s(V),W=s(U,!0);T(U);var G=h(U,2),K=e=>{var n=ce(),i=s(n,!0);T(n),a(()=>r(i,t.data.saga.title)),d(e,n)};i(G,e=>{t.data.saga&&e(K)}),T(V);var q=h(V,2),J=e=>{te(e,{tone:`info`,size:`sm`,children:(e,n)=>{S();var i=l();a(()=>r(i,t.data.saga.type)),d(e,i)},$$slots:{default:!0}})};i(q,e=>{t.data.saga&&e(J)}),T(R);var Y=h(R,2),X=s(Y);let Z;var Q=h(X,2);let ie;T(Y);var ae=h(Y,2);re(s(ae),{get theme(){return D}}),T(ae),T(L);var $=h(L,2),fe=s($),pe=e=>{var n=le(),i=s(n),o=s(i,!0);T(i),T(n),a(()=>r(o,t.data.error)),d(e,n)},me=e=>{d(e,ue())},he=e=>{H(e,{get tasks(){return t.data.explorer.tasks},get deps(){return t.data.explorer.deps},get sagaId(){return t.data.sagaId}})},ge=e=>{var n=x(),r=g(n),a=e=>{oe(e,{get sagaId(){return t.data.sagaId},get subtreeIds(){return o(N)}})};i(r,e=>{e(a)}),d(e,n)};i(fe,e=>{t.data.error?e(pe):t.data.explorer?o(k)===`workgraph`?e(he,2):e(ge,-1):e(me,1)}),T($);var _e=h($,2),ve=s(_e),ye=s(ve);T(ve),T(_e),T(I),a(()=>{y(I,`data-view`,o(k)),r(B,t.data.projectName),y(V,`title`,o(P)),r(W,t.data.sagaId),Z=E(X,1,`toggle-btn svelte-b7bs0`,null,Z,{active:o(k)===`workgraph`}),y(X,`aria-selected`,o(k)===`workgraph`),ie=E(Q,1,`toggle-btn svelte-b7bs0`,null,ie,{active:o(k)===`kanban`}),y(Q,`aria-selected`,o(k)===`kanban`),r(ye,`${o(F)??``} tasks in bundle · containment + depends · operator console`)}),f(`click`,X,()=>M(`workgraph`)),f(`click`,Q,()=>M(`kanban`)),d(e,I),v(),_()}u([`click`]);export{fe as component};
|
|
1
|
+
import{$ as e,A as t,B as n,D as r,E as i,H as a,I as o,J as s,K as c,M as l,N as u,O as d,P as f,Q as p,U as m,X as h,Y as g,a as _,at as v,d as y,et as b,k as x,lt as S,nt as C,ot as w,tt as ee,ut as T,v as E,w as D,x as O,z as k}from"../chunks/DyGQ_VXC.js";import{r as A}from"../chunks/Buy7LnV8.js";import"../chunks/CQCxd1p9.js";import{t as j}from"../chunks/DE-1PFLR.js";import{a as te}from"../chunks/CEqOYim7.js";import"../chunks/CqF5Lomf.js";import{C as M,S as N,f as P,i as F}from"../chunks/Sz0lc_TQ.js";import"../chunks/BYc4Jvn4.js";import{n as I,t as L}from"../chunks/B9WSZcBK.js";var R=t(`· scoped to <code class="svelte-1lzd0zi"> </code>`,1),z=t(`for <code class="svelte-1lzd0zi"> </code>`,1),B=t(`<div class="empty-state svelte-1lzd0zi"><p>No tasks in this workgraph <!>.</p></div>`),V=t(`<div class="workgraph-view svelte-1lzd0zi"><div class="workgraph-meta svelte-1lzd0zi"><span class="count svelte-1lzd0zi"><strong class="svelte-1lzd0zi"> </strong> nodes · <strong class="svelte-1lzd0zi"> </strong> edges <!></span> <span class="legend-hint svelte-1lzd0zi">containment · depends · blocks</span></div> <div class="workgraph-body svelte-1lzd0zi"><div class="graph-wrap svelte-1lzd0zi"><!></div> <!></div></div>`);function H(e,t){w(t,!0);let n=_(t,`sagaId`,3,null),c=_(t,`includeCancelled`,3,!1),l=_(t,`selectedId`,15,null),u=b(()=>M(t.tasks,t.deps,{epicScope:n(),includeCancelled:c(),includeArchived:!1})),f=new Set([`parent`,`blocks`,`depends`]),p=b(()=>new Map(t.tasks.map(e=>[e.id,e]))),m=b(()=>l()?o(p).get(l())??null:null),y=b(()=>{if(!o(m))return[];let e=[];for(let n of t.deps){if(n.taskId!==o(m).id)continue;let t=o(p).get(n.dependsOn);t&&e.push({id:t.id,title:t.title,status:t.status,priority:t.priority})}return e}),x=b(()=>{if(!o(m))return[];let e=[];for(let n of t.deps){if(n.dependsOn!==o(m).id)continue;let t=o(p).get(n.taskId);t&&e.push({id:t.id,title:t.title,status:t.status,priority:t.priority})}return e}),C=b(()=>{if(!o(m))return[];let e=[],t=o(m).parentId?o(p).get(o(m).parentId):void 0,n=new Set;for(;t&&!n.has(t.id);)n.add(t.id),e.unshift({id:t.id,title:t.title,type:t.type}),t=t.parentId?o(p).get(t.parentId):void 0;return e});function ee(e){l(e.id)}function E(){l(null)}function D(e){l(e)}var O=V(),k=s(O),A=s(k),j=s(A),te=s(j,!0);T(j);var F=h(j,2),I=s(F,!0);T(F);var L=h(F,2),H=e=>{var t=R(),i=h(g(t)),o=s(i,!0);T(i),a(()=>r(o,n())),d(e,t)};i(L,e=>{n()&&e(H)}),T(A),S(2),T(k);var U=h(k,2),W=s(U),G=s(W),K=e=>{var t=B(),o=s(t),c=h(s(o)),l=e=>{var t=z(),i=h(g(t)),o=s(i,!0);T(i),a(()=>r(o,n())),d(e,t)};i(c,e=>{n()&&e(l)}),S(),T(o),T(t),d(e,t)},q=e=>{N(e,{get nodes(){return o(u).nodes},get edges(){return o(u).edges},get clusters(){return o(u).clusters},get visibleEdgeKinds(){return f},get selectedNodeId(){return l()},onNodeClick:ee,showLabels:`id-only`,nodeRenderer:`pill`,showToolbar:!0,showLegend:!0,ariaLabel:`Saga workgraph — containment and dependency edges`})};i(G,e=>{o(u).nodes.length===0?e(K):e(q,-1)}),T(W);var J=h(W,2),Y=e=>{P(e,{get task(){return o(m)},get upstream(){return o(y)},get downstream(){return o(x)},get parentChain(){return o(C)},onClose:E,onSelectDep:D})};i(J,e=>{o(m)&&e(Y)}),T(U),T(O),a(()=>{r(te,o(u).nodes.length),r(I,o(u).edges.length)}),d(e,O),v()}var U=[`hermes`,`nous`,`bronze`,`slate`,`mono`],W={hermes:`Hermes`,nous:`Nous`,bronze:`Bronze`,slate:`Slate`,mono:`Mono`},G=`hermes`,K=`cleo-studio-theme`,q=`cleo-studio-theme-mode`;function J(e){return U.includes(e??``)?e:G}var Y=class{#e=e(G);#t=e(!1);constructor(e){e&&p(this.#e,e,!0)}get active(){return o(this.#e)}get light(){return o(this.#t)}get themes(){return U}hydrate(){typeof localStorage<`u`&&(p(this.#e,J(localStorage.getItem(K)),!0),p(this.#t,localStorage.getItem(q)===`light`)),this.apply()}set(e){p(this.#e,e,!0),typeof localStorage<`u`&&localStorage.setItem(K,e),this.apply()}toggleLight(){p(this.#t,!o(this.#t)),typeof localStorage<`u`&&localStorage.setItem(q,o(this.#t)?`light`:`dark`),this.apply()}apply(){if(typeof document>`u`)return;let e=document.documentElement;e.setAttribute(`data-theme`,o(this.#e)),e.classList.toggle(`light`,o(this.#t))}};function ne(e){return new Y(e)}var X=t(`<button type="button" role="radio"><span class="swatch svelte-2szurj" aria-hidden="true"></span> </button>`),Z=t(`<div class="theme-switcher svelte-2szurj" role="group" aria-label="Operator console theme"><div class="seg svelte-2szurj" role="radiogroup" aria-label="Theme palette"></div> <button type="button" class="mode-btn svelte-2szurj" title="Toggle light operator console"> </button></div>`);function re(e,t){w(t,!0);function n(e){t.theme.set(e)}var i=Z(),o=s(i);D(o,20,()=>t.theme.themes,e=>e,(e,i)=>{var o=X();let c;var l=s(o),u=h(l);T(o),a(()=>{c=E(o,1,`seg-btn svelte-2szurj`,null,c,{active:t.theme.active===i}),y(o,`aria-checked`,t.theme.active===i),y(o,`title`,`${W[i]} theme`),y(l,`data-theme`,i),r(u,` ${W[i]??``}`)}),f(`click`,o,()=>n(i)),d(e,o)}),T(o);var c=h(o,2),l=s(c,!0);T(c),T(i),a(()=>{y(c,`aria-pressed`,t.theme.light),r(l,t.theme.light?`Light`:`Dark`)}),f(`click`,c,()=>t.theme.toggleLight()),d(e,i),v()}u([`click`]);var Q=t(`<div class="empty-state svelte-62ic89"><p class="svelte-62ic89">No active cards in <code class="svelte-62ic89"> </code>.</p></div>`),ie=t(`<div class="board-host svelte-62ic89"><!></div>`),ae=t(`<div role="status" aria-live="polite"> </div>`),$=t(`<div class="saga-kanban-pane svelte-62ic89"><div class="pane-meta svelte-62ic89"><span class="count svelte-62ic89"><strong class="svelte-62ic89"> </strong> cards in saga</span> <span><span class="live-dot svelte-62ic89" aria-hidden="true"></span> </span></div> <!></div> <!> <!>`,1);function oe(t,n){w(n,!0);let c=L({root:k(()=>n.sagaId)}),l=e(!1);m(()=>(c.hydrate().then(()=>{p(l,!0)}),c.connect(),()=>c.disconnect()));let u=b(()=>c.lanes),f=b(()=>c.columns.flatMap(e=>e.cards.filter(e=>n.subtreeIds.has(e.id)).map(e=>({...e,__lane:e.lane}))));function _(e){return e.__lane??`backlog`}let y=e(null),x=b(()=>o(y)?o(f).find(e=>e.id===o(y))??null:null),C=b(()=>o(x)?{id:o(x).id,title:o(x).title,description:o(x).title,status:o(x).status,priority:o(x).priority,size:o(x).size??void 0,createdAt:new Date().toISOString()}:null);function ee(e){p(y,e,!0)}function D(){p(y,null)}let O=e(null),A=null;function j(e,t){p(O,{kind:e,message:t},!0),A&&clearTimeout(A),A=setTimeout(()=>{p(O,null)},4200)}async function te(e,t,n){let r=t,i=n,a=F(e,r,i);if(!a.ok){j(`err`,a.message);return}let o=await c.move(e,r,i);if(!o.ok){j(`err`,o.message);return}j(`ok`,a.plan.summary)}let M=b(()=>o(l)&&c.connected),N=b(()=>o(f).length);var R=$(),z=g(R),B=s(z),V=s(B),H=s(V),U=s(H,!0);T(H),S(),T(V);var W=h(V,2);let G;var K=h(s(W));T(W),T(B);var q=h(B,2),J=e=>{var t=Q(),i=s(t),o=h(s(i)),c=s(o,!0);T(o),S(),T(i),T(t),a(()=>r(c,n.sagaId)),d(e,t)},Y=e=>{var t=ie();I(s(t),{get lanes(){return o(u)},get cards(){return o(f)},laneResolver:_,onSelect:ee,onMove:te}),T(t),d(e,t)};i(q,e=>{o(l)&&o(N)===0?e(J):e(Y,-1)}),T(z);var ne=h(z,2),X=e=>{var t=ae();let n;var i=s(t,!0);T(t),a(()=>{n=E(t,1,`toast svelte-62ic89`,null,n,{err:o(O).kind===`err`}),r(i,o(O).message)}),d(e,t)};i(ne,e=>{o(O)&&e(X)});var Z=h(ne,2),re=e=>{P(e,{get task(){return o(C)},onClose:D})};i(Z,e=>{o(C)&&e(re)}),a(()=>{r(U,o(N)),G=E(W,1,`live svelte-62ic89`,null,G,{connected:o(M)}),r(K,` ${o(M)?`live`:`connecting…`}`)}),d(t,R),v()}var se=t(`<meta name="robots" content="noindex"/>`),ce=t(`<span class="crumb-title svelte-b7bs0"> </span>`),le=t(`<div class="shell-error svelte-b7bs0" role="alert"><p> </p></div>`),ue=t(`<div class="shell-error svelte-b7bs0" role="alert"><p>No workgraph bundle available for this saga.</p></div>`);t(`<div class="ssr-placeholder svelte-b7bs0"><p>Loading the live board…</p></div>`);var de=t(`<section class="saga-shell svelte-b7bs0"><header class="command-bar svelte-b7bs0"><nav class="crumbs svelte-b7bs0" aria-label="Breadcrumb"><a class="crumb svelte-b7bs0" href="/projects"> </a> <span class="sep svelte-b7bs0" aria-hidden="true">▸</span> <span class="crumb current svelte-b7bs0"><code class="svelte-b7bs0"> </code> <!></span> <!></nav> <div class="toggle svelte-b7bs0" role="tablist" aria-label="Saga view"><button type="button" role="tab">Workgraph</button> <button type="button" role="tab">Kanban</button></div> <div class="bar-right svelte-b7bs0"><!></div></header> <div class="canvas svelte-b7bs0"><!></div> <footer class="shell-foot svelte-b7bs0"><span class="hint svelte-b7bs0"> </span></footer></section>`);function fe(e,t){w(t,!0);let u=()=>C(j,`$page`,p),[p,_]=ee(),D=ne();m(()=>{D.hydrate()});let k=b(()=>u().url.searchParams.get(`view`)===`kanban`?`kanban`:`workgraph`);function M(e){let t=new URL(u().url);t.searchParams.set(`view`,e),A(t.pathname+t.search,{replaceState:!0,noScroll:!0,keepFocus:!0})}let N=b(()=>{let e=new Set([t.data.sagaId]),n=t.data.explorer?.tasks??[],r=!0;for(;r;){r=!1;for(let t of n)e.has(t.id)||t.parentId&&e.has(t.parentId)&&(e.add(t.id),r=!0)}return e}),P=b(()=>t.data.saga?.title??t.data.sagaId),F=b(()=>t.data.explorer?.tasks.length??0);var I=de();O(`b7bs0`,e=>{var r=se();n(()=>{c.title=`${t.data.sagaId??``} · ${t.data.projectName??``} — CLEO Studio`}),d(e,r)});var L=s(I),R=s(L),z=s(R),B=s(z,!0);T(z);var V=h(z,4),U=s(V),W=s(U,!0);T(U);var G=h(U,2),K=e=>{var n=ce(),i=s(n,!0);T(n),a(()=>r(i,t.data.saga.title)),d(e,n)};i(G,e=>{t.data.saga&&e(K)}),T(V);var q=h(V,2),J=e=>{te(e,{tone:`info`,size:`sm`,children:(e,n)=>{S();var i=l();a(()=>r(i,t.data.saga.type)),d(e,i)},$$slots:{default:!0}})};i(q,e=>{t.data.saga&&e(J)}),T(R);var Y=h(R,2),X=s(Y);let Z;var Q=h(X,2);let ie;T(Y);var ae=h(Y,2);re(s(ae),{get theme(){return D}}),T(ae),T(L);var $=h(L,2),fe=s($),pe=e=>{var n=le(),i=s(n),o=s(i,!0);T(i),T(n),a(()=>r(o,t.data.error)),d(e,n)},me=e=>{d(e,ue())},he=e=>{H(e,{get tasks(){return t.data.explorer.tasks},get deps(){return t.data.explorer.deps},get sagaId(){return t.data.sagaId}})},ge=e=>{var n=x(),r=g(n),a=e=>{oe(e,{get sagaId(){return t.data.sagaId},get subtreeIds(){return o(N)}})};i(r,e=>{e(a)}),d(e,n)};i(fe,e=>{t.data.error?e(pe):t.data.explorer?o(k)===`workgraph`?e(he,2):e(ge,-1):e(me,1)}),T($);var _e=h($,2),ve=s(_e),ye=s(ve);T(ve),T(_e),T(I),a(()=>{y(I,`data-view`,o(k)),r(B,t.data.projectName),y(V,`title`,o(P)),r(W,t.data.sagaId),Z=E(X,1,`toggle-btn svelte-b7bs0`,null,Z,{active:o(k)===`workgraph`}),y(X,`aria-selected`,o(k)===`workgraph`),ie=E(Q,1,`toggle-btn svelte-b7bs0`,null,ie,{active:o(k)===`kanban`}),y(Q,`aria-selected`,o(k)===`kanban`),r(ye,`${o(F)??``} tasks in bundle · containment + depends · operator console`)}),f(`click`,X,()=>M(`workgraph`)),f(`click`,Q,()=>M(`kanban`)),d(e,I),v(),_()}u([`click`]);export{fe as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,A as t,D as n,E as r,F as i,H as a,I as o,J as s,K as c,N as l,O as u,P as d,Q as f,U as p,V as m,X as h,Y as g,Z as _,_ as ee,at as v,c as y,d as b,et as x,ft as te,lt as S,nt as C,ot as w,q as T,r as ne,tt as E,u as re,ut as D,v as O,w as ie,x as ae,z as k}from"../chunks/DyGQ_VXC.js";import{r as A}from"../chunks/CKl0GUXg.js";import"../chunks/CQCxd1p9.js";import{t as j}from"../chunks/Cnf8fGu7.js";import{a as oe,c as se,d as ce,f as le,l as M,n as ue,o as de,r as fe,u as N}from"../chunks/Sz0lc_TQ.js";import"../chunks/DWgHjJc2.js";import{Ct as P}from"../chunks/Z0bVIwpH.js";var F=`hierarchy`,I=new Set([`hierarchy`,`graph`,`kanban`]),L=new Set([`critical`,`high`,`medium`,`low`]),R=150,z=!1;function B(e,t){if(!e)return[];let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=[],i=new Set;for(let e of n)t(e)&&!i.has(e)&&(r.push(e),i.add(e));return r}function pe(e){return P.includes(e)}function V(e){return L.has(e)}function H(e){return I.has(e)}function U(e){return e.length>0}function W(e){let t=e.searchParams,n=t.get(`cancelled`)===`1`,r=t.get(`deferred`)===`1`;r&&!z&&(z=!0,console.warn(`[task-filters] ?deferred=1 is deprecated; use ?cancelled=1. Alias removal tracked by T958.`));let i=t.get(`view`),a=i&&H(i)?i:F;return{query:t.get(`q`)??``,status:B(t.get(`status`),pe),priority:B(t.get(`priority`),V),labels:B(t.get(`labels`),U),epic:t.get(`epic`),selected:t.get(`selected`),cancelled:n||r,view:a}}function G(e,t){let n=new URL(e.toString()),r=n.searchParams;return r.delete(`deferred`),K(r,`q`,t.query||null),K(r,`status`,t.status.length?t.status.join(`,`):null),K(r,`priority`,t.priority.length?t.priority.join(`,`):null),K(r,`labels`,t.labels.length?t.labels.join(`,`):null),K(r,`epic`,t.epic),K(r,`selected`,t.selected),K(r,`cancelled`,t.cancelled?`1`:null),K(r,`view`,t.view===F?null:t.view),n}function K(e,t,n){n===null||n===``?e.delete(t):e.set(t,n)}function q(e){let t=_(W(e)),n=null,r=null;function i(){if(typeof window>`u`)return;let e=G(new URL(window.location.href),t);e.search!==window.location.search&&window.history.replaceState(window.history.state,``,e.toString())}function a(){typeof window>`u`||(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,i()},R))}function o(){if(typeof window>`u`)return;let e=W(new URL(window.location.href));t.query=e.query,t.status=e.status,t.priority=e.priority,t.labels=e.labels,t.epic=e.epic,t.selected=e.selected,t.cancelled=e.cancelled,t.view=e.view}typeof window<`u`&&(r=o,window.addEventListener(`popstate`,r));function s(e,t){let n=e.indexOf(t);return n===-1?[...e,t]:[...e.slice(0,n),...e.slice(n+1)]}return{get state(){return t},setQuery(e){t.query=e,a()},toggleStatus(e){t.status=s(t.status,e),i()},togglePriority(e){t.priority=s(t.priority,e),i()},toggleLabel(e){t.labels=s(t.labels,e),i()},setEpic(e){t.epic=e,i()},setSelected(e){t.selected=e,i()},setCancelled(e){t.cancelled=e,i()},setView(e){t.view=e,i()},clear(){t.query=``,t.status=[],t.priority=[],t.labels=[],t.epic=null,t.selected=null,t.cancelled=!1,t.view=F,n!==null&&(clearTimeout(n),n=null),i()},dispose(){n!==null&&(clearTimeout(n),n=null),r!==null&&typeof window<`u`&&(window.removeEventListener(`popstate`,r),r=null)}}}function me(e){let t=e.trim();if(t.length===0)return{kind:`empty`};let n=/^[Tt]?(\d+)$/.exec(t);return n?{kind:`id`,id:`T${n[1]}`}:{kind:`title`,query:t}}var he=t(`<span class="live-ts svelte-1pluywh"> </span>`),ge=t(`<button class="search-clear svelte-1pluywh" aria-label="Clear search">✕</button>`),_e=t(`<div class="search-error svelte-1pluywh"> </div>`),ve=t(`<div class="search-empty svelte-1pluywh"> </div>`),ye=t(`<div class="search-empty svelte-1pluywh"> </div>`),be=t(`<span class="result-type svelte-1pluywh"> </span>`),xe=t(`<a class="search-result-row svelte-1pluywh"><span> </span> <div class="result-info svelte-1pluywh"><span class="result-id svelte-1pluywh"> </span> <!> <span class="result-title svelte-1pluywh"> </span></div> <div class="result-meta svelte-1pluywh"><span> </span> <span class="result-time svelte-1pluywh"> </span></div></a>`),Se=t(`<div class="search-results-header svelte-1pluywh"><span class="results-count svelte-1pluywh"> </span> <button class="results-close svelte-1pluywh" aria-label="Close results">✕</button></div> <div class="search-results-list svelte-1pluywh"></div>`,1),Ce=t(`<div class="search-results-panel svelte-1pluywh"><!></div>`),we=t(`<div class="priority-row svelte-1pluywh"><span> </span> <div class="priority-bar-track svelte-1pluywh"><div></div></div> <span class="priority-count svelte-1pluywh"> </span></div>`),Te=t(`<section class="rail-card svelte-1pluywh" aria-label="Task counts"><header class="rail-head svelte-1pluywh"><span class="rail-eyebrow svelte-1pluywh">Overview</span> <span class="rail-total svelte-1pluywh"> <span class="rail-total-lbl svelte-1pluywh">tasks</span></span></header> <div class="stat-grid svelte-1pluywh"><span class="stat-card status-active-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Active</span></span> <span class="stat-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Pending</span></span> <span class="stat-card status-done-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Done</span></span> <span class="stat-card status-cancelled-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Cancelled</span></span> <span class="stat-card muted svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Archived</span></span></div> <div class="priority-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Priority</div> <div class="priority-bars svelte-1pluywh"></div></div> <div class="type-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Type</div> <div class="type-chips svelte-1pluywh"><span class="type-chip svelte-1pluywh">Epics <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Tasks <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Subtasks <strong class="svelte-1pluywh"> </strong></span></div></div> <div class="filter-bar svelte-1pluywh" aria-label="Dashboard filters"><a data-sveltekit-noscroll="" title="Include cancelled epics in the Epic Progress panel"><span class="chip-check svelte-1pluywh"> </span> Cancelled epics</a> <a data-sveltekit-noscroll="" title="Include archived tasks in Recent Activity"><span class="chip-check svelte-1pluywh"> </span> Archived</a></div></section>`),Ee=t(`<div class="no-db svelte-1pluywh">tasks.db not found — start CLEO in the project directory</div>`),De=t(`<div class="command-surface svelte-1pluywh"><section class="task-explorer svelte-1pluywh" aria-label="Task Explorer"><header class="explorer-header svelte-1pluywh"><div class="tabs svelte-1pluywh" role="tablist" aria-label="Task Explorer views"><button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">1</span> Hierarchy</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">2</span> Graph</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">3</span> Kanban</button></div> <div class="toolbar svelte-1pluywh"><!> <!> <!> <!></div></header> <div class="explorer-body svelte-1pluywh"><!></div></section> <aside class="side-rail svelte-1pluywh" aria-label="Dashboard summary"><!> <!> <!></aside></div> <!>`,1),Oe=t(`<div class="tasks-page svelte-1pluywh"><div class="page-header svelte-1pluywh"><div class="header-left svelte-1pluywh"><h1 class="page-title svelte-1pluywh">Tasks</h1> <nav class="tasks-nav svelte-1pluywh"><a href="/tasks" class="nav-tab active svelte-1pluywh">Dashboard</a> <a href="/tasks/pipeline" class="nav-tab svelte-1pluywh">Pipeline</a> <a href="/tasks/sessions" class="nav-tab svelte-1pluywh">Sessions</a></nav></div> <div><span class="live-dot svelte-1pluywh"></span> <span class="live-label svelte-1pluywh"> </span> <!></div></div> <div class="search-section svelte-1pluywh"><div><span class="search-icon svelte-1pluywh" aria-hidden="true">⌕</span> <input class="search-input svelte-1pluywh" type="text" placeholder="Search by ID (T663, t663, 663) or title..." autocomplete="off" spellcheck="false"/> <!></div> <!></div> <!> <!></div>`);function ke(t,l){w(l,!0);let P=()=>C(j,`$page`,F),[F,I]=E(),L=x(()=>l.data.stats),R=x(()=>l.data.recentTasks??[]),z=x(()=>l.data.epicProgress??[]),B=x(()=>l.data.filters??{showCancelled:!1,showArchived:!1});function pe(e){let t=new URL(P().url);return t.searchParams.get(e)===`1`?t.searchParams.delete(e):t.searchParams.set(e,`1`),e===`cancelled`&&t.searchParams.delete(`deferred`),t.pathname+(t.search?t.search:``)}let V=e(_(q(new URL(P().url))));p(()=>{let e=new URL(P().url),{next:t,old:n}=k(()=>{let t=q(e),n=o(V);return f(V,t,!0),{next:t,old:n}});return()=>{t.dispose(),n?.dispose()}});function H(e){let t=e.replace(/^#/,``).toLowerCase();return t===`hierarchy`||t===`graph`||t===`kanban`?t:null}ne(()=>{function e(){if(!o(V))return;let e=H(window.location.hash);e&&e!==o(V).state.view&&o(V).setView(e)}return e(),window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)});function U(e){if(o(V)&&(o(V).setView(e),typeof window<`u`&&window.location.hash!==`#${e}`)){let t=`${window.location.pathname}${window.location.search}#${e}`;window.history.replaceState(window.history.state,``,t)}}let W=x(()=>l.data.explorer?.tasks??[]),G=x(()=>l.data.explorer?.deps??[]),K=x(()=>l.data.explorer?.labels??[]),ke=x(()=>l.data.explorer?.epicProgress??{}),Ae=x(()=>(()=>{if(!o(V))return null;let e=o(V).state.selected;return e?o(W).find(t=>t.id===e)??null:null})()),je=[{value:`pending`,label:`Pending`,tint:`var(--status-pending)`},{value:`active`,label:`Active`,tint:`var(--status-active)`},{value:`blocked`,label:`Blocked`,tint:`var(--status-blocked)`},{value:`done`,label:`Done`,tint:`var(--status-done)`},{value:`cancelled`,label:`Cancelled`,tint:`var(--status-cancelled)`}],Me=[{value:`critical`,label:`Critical`,tint:`var(--priority-critical)`},{value:`high`,label:`High`,tint:`var(--priority-high)`},{value:`medium`,label:`Medium`,tint:`var(--priority-medium)`},{value:`low`,label:`Low`,tint:`var(--priority-low)`}],Ne=x(()=>o(K).map(e=>({value:e,label:e})));function Pe(e,t,n){let r=new Set(e),i=new Set(t);for(let e of r)i.has(e)||n(e);for(let e of i)r.has(e)||n(e)}let J=e(``),Y=e(!1),X=e(null),Z=e(_([])),Fe=e(!1),Ie=e(null),Le=e(!1),Q=e(!1);p(()=>{let e=o(J);if(me(e).kind===`empty`){f(Z,[],!0),f(Fe,!1),f(Ie,null),f(Le,!1),f(Q,!1);return}let t=new AbortController,n=setTimeout(async()=>{f(Y,!0),f(X,null),f(Fe,!1),f(Le,!1),f(Ie,null);try{let n=await fetch(`/api/tasks/search?q=${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok){f(X,`Search failed (${n.status})`),f(Y,!1);return}let r=await n.json();if(`error`in r){f(X,r.error,!0),f(Y,!1);return}if(r.kind===`id`)if(r.task)A(`/tasks/${r.task.id}`);else{f(Fe,!0);let t=me(e);f(Ie,t.kind===`id`?t.id:null,!0),f(Q,!0)}else r.kind===`title`?(f(Z,r.tasks,!0),f(Le,r.total===0),f(Q,!0)):f(Q,!1)}catch(e){e.name!==`AbortError`&&f(X,String(e),!0)}finally{f(Y,!1)}},250);return()=>{clearTimeout(n),t.abort()}});function Re(){f(J,``)}function ze(e){return e===`critical`?`priority-critical`:e===`high`?`priority-high`:e===`medium`?`priority-medium`:`priority-low`}function Be(e){return e===`done`?`✓`:e===`active`?`●`:e===`blocked`?`✗`:`○`}function Ve(e){return e===`done`?`status-done`:e===`active`?`status-active`:e===`blocked`?`status-blocked`:`status-pending`}function He(e){try{let t=new Date(e),n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}catch{return e}}let $=e(!1),Ue=e(``);p(()=>{let e=new EventSource(`/api/tasks/events`);return e.addEventListener(`connected`,()=>{f($,!0)}),e.addEventListener(`task-updated`,e=>{f(Ue,JSON.parse(e.data).ts,!0)}),e.addEventListener(`heartbeat`,()=>{f($,!0)}),e.onerror=()=>{f($,!1)},()=>e.close()});function We(e){if(!o(V))return;let t=e.target;if(t instanceof HTMLElement){let e=t.tagName;if(e===`INPUT`||e===`TEXTAREA`||t.isContentEditable)return}e.key===`1`?(e.preventDefault(),U(`hierarchy`)):e.key===`2`?(e.preventDefault(),U(`graph`)):e.key===`3`&&(e.preventDefault(),U(`kanban`))}var Ge=Oe();ae(`1pluywh`,e=>{m(()=>{c.title=`Tasks — CLEO Studio`})}),i(`keydown`,T,We);var Ke=s(Ge),qe=h(s(Ke),2);let Je;var Ye=h(s(qe),2),Xe=s(Ye,!0);D(Ye);var Ze=h(Ye,2),Qe=e=>{var t=he(),r=s(t);D(t),a(e=>n(r,`updated ${e??``}`),[()=>He(o(Ue))]),u(e,t)};r(Ze,e=>{o(Ue)&&e(Qe)}),D(qe),D(Ke);var $e=h(Ke,2),et=s($e);let tt;var nt=h(s(et),2);re(nt);var rt=h(nt,2),it=e=>{var t=ge();d(`click`,t,Re),u(e,t)};r(rt,e=>{o(J).length>0&&e(it)}),D(et);var at=h(et,2),ot=e=>{var t=_e(),r=s(t,!0);D(t),a(()=>n(r,o(X))),u(e,t)};r(at,e=>{o(X)&&e(ot)}),D($e);var st=h($e,2),ct=e=>{var t=Ce(),i=s(t),c=e=>{var t=ve(),r=s(t);D(t),a(()=>n(r,`Task ${o(Ie)??o(J)??``} not found.`)),u(e,t)},l=e=>{var t=ye(),r=s(t);D(t),a(()=>n(r,`No tasks match "${o(J)??``}".`)),u(e,t)},f=e=>{var t=Se(),i=g(t),c=s(i),l=s(c);D(c);var f=h(c,2);D(i);var p=h(i,2);ie(p,21,()=>o(Z),e=>e.id,(e,t)=>{var i=xe(),c=s(i),l=s(c,!0);D(c);var f=h(c,2),p=s(f),m=s(p,!0);D(p);var g=h(p,2),_=e=>{var r=be(),i=s(r,!0);D(r),a(()=>n(i,o(t).type)),u(e,r)};r(g,e=>{o(t).type!==`task`&&e(_)});var ee=h(g,2),v=s(ee,!0);D(ee),D(f);var y=h(f,2),x=s(y),te=s(x,!0);D(x);var S=h(x,2),C=s(S,!0);D(S),D(y),D(i),a((e,r,a,s)=>{b(i,`href`,`/tasks/${o(t).id??``}`),O(c,1,`result-status-icon ${e??``}`,`svelte-1pluywh`),n(l,r),n(m,o(t).id),n(v,o(t).title),O(x,1,`result-priority ${a??``}`,`svelte-1pluywh`),n(te,o(t).priority),n(C,s)},[()=>Ve(o(t).status),()=>Be(o(t).status),()=>ze(o(t).priority),()=>He(o(t).updated_at)]),d(`click`,i,Re),u(e,i)}),D(p),a(()=>n(l,`${o(Z).length??``} result${o(Z).length===1?``:`s`}`)),d(`click`,f,Re),u(e,t)};r(i,e=>{o(Fe)?e(c):o(Le)?e(l,1):e(f,-1)}),D(t),u(e,t)};r(st,e=>{o(Q)&&e(ct)});var lt=h(st,2),ut=e=>{var t=De(),i=g(t),c=s(i),l=s(c),f=s(l),p=s(f);let m;var _=h(p,2);let v;var y=h(_,2);let C;D(f);var w=h(f,2),T=s(w);ue(T,{get value(){return o(V).state.query},onChange:e=>o(V)?.setQuery(e),placeholder:`Filter explorer by id or title...`,registerSlashShortcut:!0});var ne=h(T,2);N(ne,{label:`Status`,get options(){return je},get selected(){return o(V).state.status},onChange:e=>{o(V)&&Pe(o(V).state.status,e,e=>o(V)?.toggleStatus(e))}});var E=h(ne,2);N(E,{label:`Priority`,get options(){return Me},get selected(){return o(V).state.priority},onChange:e=>{o(V)&&Pe(o(V).state.priority,e,e=>o(V)?.togglePriority(e))}});var re=h(E,2),ae=e=>{oe(e,{get options(){return o(Ne)},get selected(){return o(V).state.labels},onChange:e=>{o(V)&&Pe(o(V).state.labels,e,e=>o(V)?.toggleLabel(e))}})};r(re,e=>{o(Ne).length>0&&e(ae)}),D(w),D(l);var k=h(l,2),A=s(k),j=e=>{se(e,{get tasks(){return o(W)},get deps(){return o(G)},get epicProgress(){return o(ke)},get filters(){return o(V)}})},F=e=>{{let t=x(()=>P().data.activeProjectId??null);M(e,{get tasks(){return o(W)},get deps(){return o(G)},get filters(){return o(V)},get labels(){return o(K)},get activeProjectId(){return o(t)}})}},I=e=>{de(e,{get tasks(){return o(W)},get deps(){return o(G)},get filters(){return o(V)}})};r(A,e=>{o(V).state.view===`hierarchy`?e(j):o(V).state.view===`graph`?e(F,1):e(I,-1)}),D(k),D(c);var H=h(c,2),q=s(H),me=e=>{var t=Te(),r=s(t),i=h(s(r),2),c=s(i);S(),D(i),D(r);var l=h(r,2),d=s(l),f=s(d),p=s(f,!0);D(f),S(2),D(d);var m=h(d,2),g=s(m),_=s(g,!0);D(g),S(2),D(m);var v=h(m,2),y=s(v),C=s(y,!0);D(y),S(2),D(v);var w=h(v,2),T=s(w),ne=s(T,!0);D(T),S(2),D(w);var E=h(w,2),re=s(E),ae=s(re,!0);D(re),S(2),D(E),D(l);var k=h(l,2),A=h(s(k),2);ie(A,21,()=>[[`critical`,o(L).critical],[`high`,o(L).high],[`medium`,o(L).medium],[`low`,o(L).low]],([e,t])=>e,(e,t)=>{var r=x(()=>te(o(t),2));let i=()=>o(r)[0],c=()=>o(r)[1],l=x(()=>o(L).critical+o(L).high+o(L).medium+o(L).low),d=x(()=>o(l)>0?Math.round(Number(c())/o(l)*100):0);var f=we(),p=s(f),m=s(p,!0);D(p);var g=h(p,2),_=s(g);D(g);var v=h(g,2),y=s(v,!0);D(v),D(f),a((e,t)=>{O(p,1,`priority-label ${e??``}`,`svelte-1pluywh`),n(m,i()),O(_,1,`priority-bar-fill ${t??``}`,`svelte-1pluywh`),ee(_,`width:${o(d)??``}%`),n(y,c())},[()=>ze(String(i())),()=>ze(String(i()))]),u(e,f)}),D(A),D(k);var j=h(k,2),oe=h(s(j),2),se=s(oe),ce=h(s(se)),le=s(ce,!0);D(ce),D(se);var M=h(se,2),ue=h(s(M)),de=s(ue,!0);D(ue),D(M);var fe=h(M,2),N=h(s(fe)),P=s(N,!0);D(N),D(fe),D(oe),D(j);var F=h(j,2),I=s(F);let R;var z=s(I),V=s(z,!0);D(z),S(),D(I);var H=h(I,2);let U;var W=s(H),G=s(W,!0);D(W),S(),D(H),D(F),D(t),a((e,t)=>{n(c,`${o(L).total??``} `),n(p,o(L).active),n(_,o(L).pending),n(C,o(L).done),n(ne,o(L).cancelled),n(ae,o(L).archived),n(le,o(L).epics),n(de,o(L).tasks),n(P,o(L).subtasks),b(I,`href`,e),R=O(I,1,`filter-chip svelte-1pluywh`,null,R,{active:o(B).showCancelled}),n(V,o(B).showCancelled?`✓`:` `),b(H,`href`,t),U=O(H,1,`filter-chip svelte-1pluywh`,null,U,{active:o(B).showArchived}),n(G,o(B).showArchived?`✓`:` `)},[()=>pe(`cancelled`),()=>pe(`archived`)]),u(e,t)},he=e=>{u(e,Ee())};r(q,e=>{o(L)?e(me):e(he,-1)});var ge=h(q,2),_e=e=>{ce(e,{get epics(){return o(z)},get includingDeferred(){return o(B).showCancelled}})};r(ge,e=>{o(z).length>0&&e(_e)});var ve=h(ge,2),ye=e=>{fe(e,{get tasks(){return o(R)}})};r(ve,e=>{o(R).length>0&&e(ye)}),D(H),D(i),le(h(i,2),{get task(){return o(Ae)},onClose:()=>o(V)?.setSelected(null)}),a(()=>{m=O(p,1,`tab svelte-1pluywh`,null,m,{active:o(V).state.view===`hierarchy`}),b(p,`aria-selected`,o(V).state.view===`hierarchy`),v=O(_,1,`tab svelte-1pluywh`,null,v,{active:o(V).state.view===`graph`}),b(_,`aria-selected`,o(V).state.view===`graph`),C=O(y,1,`tab svelte-1pluywh`,null,C,{active:o(V).state.view===`kanban`}),b(y,`aria-selected`,o(V).state.view===`kanban`)}),d(`click`,p,()=>U(`hierarchy`)),d(`click`,_,()=>U(`graph`)),d(`click`,y,()=>U(`kanban`)),u(e,t)};r(lt,e=>{o(V)&&e(ut)}),D(Ge),a(()=>{Je=O(qe,1,`live-indicator svelte-1pluywh`,null,Je,{connected:o($)}),n(Xe,o($)?`Live`:`Connecting...`),tt=O(et,1,`search-box svelte-1pluywh`,null,tt,{loading:o(Y)})}),y(nt,()=>o(J),e=>f(J,e)),u(t,Ge),v(),I()}l([`click`]);export{ke as component};
|
|
1
|
+
import{$ as e,A as t,D as n,E as r,F as i,H as a,I as o,J as s,K as c,N as l,O as u,P as d,Q as f,U as p,V as m,X as h,Y as g,Z as _,_ as ee,at as v,c as y,d as b,et as x,ft as te,lt as S,nt as C,ot as w,q as T,r as ne,tt as E,u as re,ut as D,v as O,w as ie,x as ae,z as k}from"../chunks/DyGQ_VXC.js";import{r as A}from"../chunks/Buy7LnV8.js";import"../chunks/CQCxd1p9.js";import{t as j}from"../chunks/DE-1PFLR.js";import{a as oe,c as se,d as ce,f as le,l as M,n as ue,o as de,r as fe,u as N}from"../chunks/Sz0lc_TQ.js";import"../chunks/BYc4Jvn4.js";import{Ct as P}from"../chunks/Z0bVIwpH.js";var F=`hierarchy`,I=new Set([`hierarchy`,`graph`,`kanban`]),L=new Set([`critical`,`high`,`medium`,`low`]),R=150,z=!1;function B(e,t){if(!e)return[];let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=[],i=new Set;for(let e of n)t(e)&&!i.has(e)&&(r.push(e),i.add(e));return r}function pe(e){return P.includes(e)}function V(e){return L.has(e)}function H(e){return I.has(e)}function U(e){return e.length>0}function W(e){let t=e.searchParams,n=t.get(`cancelled`)===`1`,r=t.get(`deferred`)===`1`;r&&!z&&(z=!0,console.warn(`[task-filters] ?deferred=1 is deprecated; use ?cancelled=1. Alias removal tracked by T958.`));let i=t.get(`view`),a=i&&H(i)?i:F;return{query:t.get(`q`)??``,status:B(t.get(`status`),pe),priority:B(t.get(`priority`),V),labels:B(t.get(`labels`),U),epic:t.get(`epic`),selected:t.get(`selected`),cancelled:n||r,view:a}}function G(e,t){let n=new URL(e.toString()),r=n.searchParams;return r.delete(`deferred`),K(r,`q`,t.query||null),K(r,`status`,t.status.length?t.status.join(`,`):null),K(r,`priority`,t.priority.length?t.priority.join(`,`):null),K(r,`labels`,t.labels.length?t.labels.join(`,`):null),K(r,`epic`,t.epic),K(r,`selected`,t.selected),K(r,`cancelled`,t.cancelled?`1`:null),K(r,`view`,t.view===F?null:t.view),n}function K(e,t,n){n===null||n===``?e.delete(t):e.set(t,n)}function q(e){let t=_(W(e)),n=null,r=null;function i(){if(typeof window>`u`)return;let e=G(new URL(window.location.href),t);e.search!==window.location.search&&window.history.replaceState(window.history.state,``,e.toString())}function a(){typeof window>`u`||(n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,i()},R))}function o(){if(typeof window>`u`)return;let e=W(new URL(window.location.href));t.query=e.query,t.status=e.status,t.priority=e.priority,t.labels=e.labels,t.epic=e.epic,t.selected=e.selected,t.cancelled=e.cancelled,t.view=e.view}typeof window<`u`&&(r=o,window.addEventListener(`popstate`,r));function s(e,t){let n=e.indexOf(t);return n===-1?[...e,t]:[...e.slice(0,n),...e.slice(n+1)]}return{get state(){return t},setQuery(e){t.query=e,a()},toggleStatus(e){t.status=s(t.status,e),i()},togglePriority(e){t.priority=s(t.priority,e),i()},toggleLabel(e){t.labels=s(t.labels,e),i()},setEpic(e){t.epic=e,i()},setSelected(e){t.selected=e,i()},setCancelled(e){t.cancelled=e,i()},setView(e){t.view=e,i()},clear(){t.query=``,t.status=[],t.priority=[],t.labels=[],t.epic=null,t.selected=null,t.cancelled=!1,t.view=F,n!==null&&(clearTimeout(n),n=null),i()},dispose(){n!==null&&(clearTimeout(n),n=null),r!==null&&typeof window<`u`&&(window.removeEventListener(`popstate`,r),r=null)}}}function me(e){let t=e.trim();if(t.length===0)return{kind:`empty`};let n=/^[Tt]?(\d+)$/.exec(t);return n?{kind:`id`,id:`T${n[1]}`}:{kind:`title`,query:t}}var he=t(`<span class="live-ts svelte-1pluywh"> </span>`),ge=t(`<button class="search-clear svelte-1pluywh" aria-label="Clear search">✕</button>`),_e=t(`<div class="search-error svelte-1pluywh"> </div>`),ve=t(`<div class="search-empty svelte-1pluywh"> </div>`),ye=t(`<div class="search-empty svelte-1pluywh"> </div>`),be=t(`<span class="result-type svelte-1pluywh"> </span>`),xe=t(`<a class="search-result-row svelte-1pluywh"><span> </span> <div class="result-info svelte-1pluywh"><span class="result-id svelte-1pluywh"> </span> <!> <span class="result-title svelte-1pluywh"> </span></div> <div class="result-meta svelte-1pluywh"><span> </span> <span class="result-time svelte-1pluywh"> </span></div></a>`),Se=t(`<div class="search-results-header svelte-1pluywh"><span class="results-count svelte-1pluywh"> </span> <button class="results-close svelte-1pluywh" aria-label="Close results">✕</button></div> <div class="search-results-list svelte-1pluywh"></div>`,1),Ce=t(`<div class="search-results-panel svelte-1pluywh"><!></div>`),we=t(`<div class="priority-row svelte-1pluywh"><span> </span> <div class="priority-bar-track svelte-1pluywh"><div></div></div> <span class="priority-count svelte-1pluywh"> </span></div>`),Te=t(`<section class="rail-card svelte-1pluywh" aria-label="Task counts"><header class="rail-head svelte-1pluywh"><span class="rail-eyebrow svelte-1pluywh">Overview</span> <span class="rail-total svelte-1pluywh"> <span class="rail-total-lbl svelte-1pluywh">tasks</span></span></header> <div class="stat-grid svelte-1pluywh"><span class="stat-card status-active-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Active</span></span> <span class="stat-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Pending</span></span> <span class="stat-card status-done-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Done</span></span> <span class="stat-card status-cancelled-card svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Cancelled</span></span> <span class="stat-card muted svelte-1pluywh"><span class="stat-num svelte-1pluywh"> </span> <span class="stat-lbl svelte-1pluywh">Archived</span></span></div> <div class="priority-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Priority</div> <div class="priority-bars svelte-1pluywh"></div></div> <div class="type-block svelte-1pluywh"><div class="section-label svelte-1pluywh">Type</div> <div class="type-chips svelte-1pluywh"><span class="type-chip svelte-1pluywh">Epics <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Tasks <strong class="svelte-1pluywh"> </strong></span> <span class="type-chip svelte-1pluywh">Subtasks <strong class="svelte-1pluywh"> </strong></span></div></div> <div class="filter-bar svelte-1pluywh" aria-label="Dashboard filters"><a data-sveltekit-noscroll="" title="Include cancelled epics in the Epic Progress panel"><span class="chip-check svelte-1pluywh"> </span> Cancelled epics</a> <a data-sveltekit-noscroll="" title="Include archived tasks in Recent Activity"><span class="chip-check svelte-1pluywh"> </span> Archived</a></div></section>`),Ee=t(`<div class="no-db svelte-1pluywh">tasks.db not found — start CLEO in the project directory</div>`),De=t(`<div class="command-surface svelte-1pluywh"><section class="task-explorer svelte-1pluywh" aria-label="Task Explorer"><header class="explorer-header svelte-1pluywh"><div class="tabs svelte-1pluywh" role="tablist" aria-label="Task Explorer views"><button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">1</span> Hierarchy</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">2</span> Graph</button> <button type="button" role="tab"><span class="tab-key svelte-1pluywh" aria-hidden="true">3</span> Kanban</button></div> <div class="toolbar svelte-1pluywh"><!> <!> <!> <!></div></header> <div class="explorer-body svelte-1pluywh"><!></div></section> <aside class="side-rail svelte-1pluywh" aria-label="Dashboard summary"><!> <!> <!></aside></div> <!>`,1),Oe=t(`<div class="tasks-page svelte-1pluywh"><div class="page-header svelte-1pluywh"><div class="header-left svelte-1pluywh"><h1 class="page-title svelte-1pluywh">Tasks</h1> <nav class="tasks-nav svelte-1pluywh"><a href="/tasks" class="nav-tab active svelte-1pluywh">Dashboard</a> <a href="/tasks/pipeline" class="nav-tab svelte-1pluywh">Pipeline</a> <a href="/tasks/sessions" class="nav-tab svelte-1pluywh">Sessions</a></nav></div> <div><span class="live-dot svelte-1pluywh"></span> <span class="live-label svelte-1pluywh"> </span> <!></div></div> <div class="search-section svelte-1pluywh"><div><span class="search-icon svelte-1pluywh" aria-hidden="true">⌕</span> <input class="search-input svelte-1pluywh" type="text" placeholder="Search by ID (T663, t663, 663) or title..." autocomplete="off" spellcheck="false"/> <!></div> <!></div> <!> <!></div>`);function ke(t,l){w(l,!0);let P=()=>C(j,`$page`,F),[F,I]=E(),L=x(()=>l.data.stats),R=x(()=>l.data.recentTasks??[]),z=x(()=>l.data.epicProgress??[]),B=x(()=>l.data.filters??{showCancelled:!1,showArchived:!1});function pe(e){let t=new URL(P().url);return t.searchParams.get(e)===`1`?t.searchParams.delete(e):t.searchParams.set(e,`1`),e===`cancelled`&&t.searchParams.delete(`deferred`),t.pathname+(t.search?t.search:``)}let V=e(_(q(new URL(P().url))));p(()=>{let e=new URL(P().url),{next:t,old:n}=k(()=>{let t=q(e),n=o(V);return f(V,t,!0),{next:t,old:n}});return()=>{t.dispose(),n?.dispose()}});function H(e){let t=e.replace(/^#/,``).toLowerCase();return t===`hierarchy`||t===`graph`||t===`kanban`?t:null}ne(()=>{function e(){if(!o(V))return;let e=H(window.location.hash);e&&e!==o(V).state.view&&o(V).setView(e)}return e(),window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)});function U(e){if(o(V)&&(o(V).setView(e),typeof window<`u`&&window.location.hash!==`#${e}`)){let t=`${window.location.pathname}${window.location.search}#${e}`;window.history.replaceState(window.history.state,``,t)}}let W=x(()=>l.data.explorer?.tasks??[]),G=x(()=>l.data.explorer?.deps??[]),K=x(()=>l.data.explorer?.labels??[]),ke=x(()=>l.data.explorer?.epicProgress??{}),Ae=x(()=>(()=>{if(!o(V))return null;let e=o(V).state.selected;return e?o(W).find(t=>t.id===e)??null:null})()),je=[{value:`pending`,label:`Pending`,tint:`var(--status-pending)`},{value:`active`,label:`Active`,tint:`var(--status-active)`},{value:`blocked`,label:`Blocked`,tint:`var(--status-blocked)`},{value:`done`,label:`Done`,tint:`var(--status-done)`},{value:`cancelled`,label:`Cancelled`,tint:`var(--status-cancelled)`}],Me=[{value:`critical`,label:`Critical`,tint:`var(--priority-critical)`},{value:`high`,label:`High`,tint:`var(--priority-high)`},{value:`medium`,label:`Medium`,tint:`var(--priority-medium)`},{value:`low`,label:`Low`,tint:`var(--priority-low)`}],Ne=x(()=>o(K).map(e=>({value:e,label:e})));function Pe(e,t,n){let r=new Set(e),i=new Set(t);for(let e of r)i.has(e)||n(e);for(let e of i)r.has(e)||n(e)}let J=e(``),Y=e(!1),X=e(null),Z=e(_([])),Fe=e(!1),Ie=e(null),Le=e(!1),Q=e(!1);p(()=>{let e=o(J);if(me(e).kind===`empty`){f(Z,[],!0),f(Fe,!1),f(Ie,null),f(Le,!1),f(Q,!1);return}let t=new AbortController,n=setTimeout(async()=>{f(Y,!0),f(X,null),f(Fe,!1),f(Le,!1),f(Ie,null);try{let n=await fetch(`/api/tasks/search?q=${encodeURIComponent(e)}`,{signal:t.signal});if(!n.ok){f(X,`Search failed (${n.status})`),f(Y,!1);return}let r=await n.json();if(`error`in r){f(X,r.error,!0),f(Y,!1);return}if(r.kind===`id`)if(r.task)A(`/tasks/${r.task.id}`);else{f(Fe,!0);let t=me(e);f(Ie,t.kind===`id`?t.id:null,!0),f(Q,!0)}else r.kind===`title`?(f(Z,r.tasks,!0),f(Le,r.total===0),f(Q,!0)):f(Q,!1)}catch(e){e.name!==`AbortError`&&f(X,String(e),!0)}finally{f(Y,!1)}},250);return()=>{clearTimeout(n),t.abort()}});function Re(){f(J,``)}function ze(e){return e===`critical`?`priority-critical`:e===`high`?`priority-high`:e===`medium`?`priority-medium`:`priority-low`}function Be(e){return e===`done`?`✓`:e===`active`?`●`:e===`blocked`?`✗`:`○`}function Ve(e){return e===`done`?`status-done`:e===`active`?`status-active`:e===`blocked`?`status-blocked`:`status-pending`}function He(e){try{let t=new Date(e),n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}catch{return e}}let $=e(!1),Ue=e(``);p(()=>{let e=new EventSource(`/api/tasks/events`);return e.addEventListener(`connected`,()=>{f($,!0)}),e.addEventListener(`task-updated`,e=>{f(Ue,JSON.parse(e.data).ts,!0)}),e.addEventListener(`heartbeat`,()=>{f($,!0)}),e.onerror=()=>{f($,!1)},()=>e.close()});function We(e){if(!o(V))return;let t=e.target;if(t instanceof HTMLElement){let e=t.tagName;if(e===`INPUT`||e===`TEXTAREA`||t.isContentEditable)return}e.key===`1`?(e.preventDefault(),U(`hierarchy`)):e.key===`2`?(e.preventDefault(),U(`graph`)):e.key===`3`&&(e.preventDefault(),U(`kanban`))}var Ge=Oe();ae(`1pluywh`,e=>{m(()=>{c.title=`Tasks — CLEO Studio`})}),i(`keydown`,T,We);var Ke=s(Ge),qe=h(s(Ke),2);let Je;var Ye=h(s(qe),2),Xe=s(Ye,!0);D(Ye);var Ze=h(Ye,2),Qe=e=>{var t=he(),r=s(t);D(t),a(e=>n(r,`updated ${e??``}`),[()=>He(o(Ue))]),u(e,t)};r(Ze,e=>{o(Ue)&&e(Qe)}),D(qe),D(Ke);var $e=h(Ke,2),et=s($e);let tt;var nt=h(s(et),2);re(nt);var rt=h(nt,2),it=e=>{var t=ge();d(`click`,t,Re),u(e,t)};r(rt,e=>{o(J).length>0&&e(it)}),D(et);var at=h(et,2),ot=e=>{var t=_e(),r=s(t,!0);D(t),a(()=>n(r,o(X))),u(e,t)};r(at,e=>{o(X)&&e(ot)}),D($e);var st=h($e,2),ct=e=>{var t=Ce(),i=s(t),c=e=>{var t=ve(),r=s(t);D(t),a(()=>n(r,`Task ${o(Ie)??o(J)??``} not found.`)),u(e,t)},l=e=>{var t=ye(),r=s(t);D(t),a(()=>n(r,`No tasks match "${o(J)??``}".`)),u(e,t)},f=e=>{var t=Se(),i=g(t),c=s(i),l=s(c);D(c);var f=h(c,2);D(i);var p=h(i,2);ie(p,21,()=>o(Z),e=>e.id,(e,t)=>{var i=xe(),c=s(i),l=s(c,!0);D(c);var f=h(c,2),p=s(f),m=s(p,!0);D(p);var g=h(p,2),_=e=>{var r=be(),i=s(r,!0);D(r),a(()=>n(i,o(t).type)),u(e,r)};r(g,e=>{o(t).type!==`task`&&e(_)});var ee=h(g,2),v=s(ee,!0);D(ee),D(f);var y=h(f,2),x=s(y),te=s(x,!0);D(x);var S=h(x,2),C=s(S,!0);D(S),D(y),D(i),a((e,r,a,s)=>{b(i,`href`,`/tasks/${o(t).id??``}`),O(c,1,`result-status-icon ${e??``}`,`svelte-1pluywh`),n(l,r),n(m,o(t).id),n(v,o(t).title),O(x,1,`result-priority ${a??``}`,`svelte-1pluywh`),n(te,o(t).priority),n(C,s)},[()=>Ve(o(t).status),()=>Be(o(t).status),()=>ze(o(t).priority),()=>He(o(t).updated_at)]),d(`click`,i,Re),u(e,i)}),D(p),a(()=>n(l,`${o(Z).length??``} result${o(Z).length===1?``:`s`}`)),d(`click`,f,Re),u(e,t)};r(i,e=>{o(Fe)?e(c):o(Le)?e(l,1):e(f,-1)}),D(t),u(e,t)};r(st,e=>{o(Q)&&e(ct)});var lt=h(st,2),ut=e=>{var t=De(),i=g(t),c=s(i),l=s(c),f=s(l),p=s(f);let m;var _=h(p,2);let v;var y=h(_,2);let C;D(f);var w=h(f,2),T=s(w);ue(T,{get value(){return o(V).state.query},onChange:e=>o(V)?.setQuery(e),placeholder:`Filter explorer by id or title...`,registerSlashShortcut:!0});var ne=h(T,2);N(ne,{label:`Status`,get options(){return je},get selected(){return o(V).state.status},onChange:e=>{o(V)&&Pe(o(V).state.status,e,e=>o(V)?.toggleStatus(e))}});var E=h(ne,2);N(E,{label:`Priority`,get options(){return Me},get selected(){return o(V).state.priority},onChange:e=>{o(V)&&Pe(o(V).state.priority,e,e=>o(V)?.togglePriority(e))}});var re=h(E,2),ae=e=>{oe(e,{get options(){return o(Ne)},get selected(){return o(V).state.labels},onChange:e=>{o(V)&&Pe(o(V).state.labels,e,e=>o(V)?.toggleLabel(e))}})};r(re,e=>{o(Ne).length>0&&e(ae)}),D(w),D(l);var k=h(l,2),A=s(k),j=e=>{se(e,{get tasks(){return o(W)},get deps(){return o(G)},get epicProgress(){return o(ke)},get filters(){return o(V)}})},F=e=>{{let t=x(()=>P().data.activeProjectId??null);M(e,{get tasks(){return o(W)},get deps(){return o(G)},get filters(){return o(V)},get labels(){return o(K)},get activeProjectId(){return o(t)}})}},I=e=>{de(e,{get tasks(){return o(W)},get deps(){return o(G)},get filters(){return o(V)}})};r(A,e=>{o(V).state.view===`hierarchy`?e(j):o(V).state.view===`graph`?e(F,1):e(I,-1)}),D(k),D(c);var H=h(c,2),q=s(H),me=e=>{var t=Te(),r=s(t),i=h(s(r),2),c=s(i);S(),D(i),D(r);var l=h(r,2),d=s(l),f=s(d),p=s(f,!0);D(f),S(2),D(d);var m=h(d,2),g=s(m),_=s(g,!0);D(g),S(2),D(m);var v=h(m,2),y=s(v),C=s(y,!0);D(y),S(2),D(v);var w=h(v,2),T=s(w),ne=s(T,!0);D(T),S(2),D(w);var E=h(w,2),re=s(E),ae=s(re,!0);D(re),S(2),D(E),D(l);var k=h(l,2),A=h(s(k),2);ie(A,21,()=>[[`critical`,o(L).critical],[`high`,o(L).high],[`medium`,o(L).medium],[`low`,o(L).low]],([e,t])=>e,(e,t)=>{var r=x(()=>te(o(t),2));let i=()=>o(r)[0],c=()=>o(r)[1],l=x(()=>o(L).critical+o(L).high+o(L).medium+o(L).low),d=x(()=>o(l)>0?Math.round(Number(c())/o(l)*100):0);var f=we(),p=s(f),m=s(p,!0);D(p);var g=h(p,2),_=s(g);D(g);var v=h(g,2),y=s(v,!0);D(v),D(f),a((e,t)=>{O(p,1,`priority-label ${e??``}`,`svelte-1pluywh`),n(m,i()),O(_,1,`priority-bar-fill ${t??``}`,`svelte-1pluywh`),ee(_,`width:${o(d)??``}%`),n(y,c())},[()=>ze(String(i())),()=>ze(String(i()))]),u(e,f)}),D(A),D(k);var j=h(k,2),oe=h(s(j),2),se=s(oe),ce=h(s(se)),le=s(ce,!0);D(ce),D(se);var M=h(se,2),ue=h(s(M)),de=s(ue,!0);D(ue),D(M);var fe=h(M,2),N=h(s(fe)),P=s(N,!0);D(N),D(fe),D(oe),D(j);var F=h(j,2),I=s(F);let R;var z=s(I),V=s(z,!0);D(z),S(),D(I);var H=h(I,2);let U;var W=s(H),G=s(W,!0);D(W),S(),D(H),D(F),D(t),a((e,t)=>{n(c,`${o(L).total??``} `),n(p,o(L).active),n(_,o(L).pending),n(C,o(L).done),n(ne,o(L).cancelled),n(ae,o(L).archived),n(le,o(L).epics),n(de,o(L).tasks),n(P,o(L).subtasks),b(I,`href`,e),R=O(I,1,`filter-chip svelte-1pluywh`,null,R,{active:o(B).showCancelled}),n(V,o(B).showCancelled?`✓`:` `),b(H,`href`,t),U=O(H,1,`filter-chip svelte-1pluywh`,null,U,{active:o(B).showArchived}),n(G,o(B).showArchived?`✓`:` `)},[()=>pe(`cancelled`),()=>pe(`archived`)]),u(e,t)},he=e=>{u(e,Ee())};r(q,e=>{o(L)?e(me):e(he,-1)});var ge=h(q,2),_e=e=>{ce(e,{get epics(){return o(z)},get includingDeferred(){return o(B).showCancelled}})};r(ge,e=>{o(z).length>0&&e(_e)});var ve=h(ge,2),ye=e=>{fe(e,{get tasks(){return o(R)}})};r(ve,e=>{o(R).length>0&&e(ye)}),D(H),D(i),le(h(i,2),{get task(){return o(Ae)},onClose:()=>o(V)?.setSelected(null)}),a(()=>{m=O(p,1,`tab svelte-1pluywh`,null,m,{active:o(V).state.view===`hierarchy`}),b(p,`aria-selected`,o(V).state.view===`hierarchy`),v=O(_,1,`tab svelte-1pluywh`,null,v,{active:o(V).state.view===`graph`}),b(_,`aria-selected`,o(V).state.view===`graph`),C=O(y,1,`tab svelte-1pluywh`,null,C,{active:o(V).state.view===`kanban`}),b(y,`aria-selected`,o(V).state.view===`kanban`)}),d(`click`,p,()=>U(`hierarchy`)),d(`click`,_,()=>U(`graph`)),d(`click`,y,()=>U(`kanban`)),u(e,t)};r(lt,e=>{o(V)&&e(ut)}),D(Ge),a(()=>{Je=O(qe,1,`live-indicator svelte-1pluywh`,null,Je,{connected:o($)}),n(Xe,o($)?`Live`:`Connecting...`),tt=O(et,1,`search-box svelte-1pluywh`,null,tt,{loading:o(Y)})}),y(nt,()=>o(J),e=>f(J,e)),u(t,Ge),v(),I()}l([`click`]);export{ke as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,B as t,D as n,E as r,H as i,I as a,J as o,K as s,M as c,O as l,T as u,X as d,Y as f,_ as p,a as m,at as h,d as g,dt as _,et as v,lt as y,ot as b,ut as x,v as S,w as C,x as w}from"../chunks/DyGQ_VXC.js";import{r as T}from"../chunks/CKl0GUXg.js";import"../chunks/CQCxd1p9.js";import{t as E}from"../chunks/wI_OOyoh.js";import{a as D,i as O,r as k}from"../chunks/CEqOYim7.js";import{l as A}from"../chunks/CqF5Lomf.js";import{S as j,g as M,h as ee,m as te,p as N}from"../chunks/Sz0lc_TQ.js";import"../chunks/DWgHjJc2.js";var P=e(`<div class="dep-graph-empty svelte-1ytw5n2">No dependencies</div>`),F=e(`<div class="dep-graph-wrap svelte-1ytw5n2"><!></div>`);function ne(e,t){b(t,!0);let n=m(t,`height`,3,`260px`),s=v(()=>t.nodes.map(e=>({id:e.id,substrate:`tasks`,kind:e.type||`task`,label:e.title,category:null,weight:e.isFocus?1:.6,meta:{status:e.status,priority:e.priority,focal:e.isFocus}}))),c=v(()=>t.edges.filter(e=>e.source!==e.target).map((e,t)=>({id:`dep-${t}:${e.source}->${e.target}`,source:e.source,target:e.target,kind:`depends`,directional:!0,weight:.6})));function u(e){T(`/tasks/${e.id}`)}var d=F(),f=o(d),g=e=>{l(e,P())},_=e=>{j(e,{get nodes(){return a(s)},get edges(){return a(c)},showLabels:`full`,nodeRenderer:`circle`,onNodeClick:u,ariaLabel:`Task dependency neighbourhood`})};r(f,e=>{t.nodes.length===0?e(g):e(_,-1)}),x(d),i(()=>p(d,`--dep-graph-height: ${n()??``};`)),l(e,d),h()}var re=e(`<!> <!> <!>`,1),ie=e(`<div><span class="gate-key svelte-13zy71l"> </span> <span class="gate-label svelte-13zy71l"> </span> <span class="gate-icon svelte-13zy71l" aria-hidden="true"> </span></div>`),ae=e(`<section class="prose-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Description</span> <div class="prose svelte-13zy71l"> </div></section>`),oe=e(`<li><span class="ac-check svelte-13zy71l" aria-hidden="true"> </span> <span class="ac-text svelte-13zy71l"> </span></li>`),se=e(`<section class="ac-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Acceptance criteria <span class="section-meta svelte-13zy71l"> </span></span> <ul class="ac-list svelte-13zy71l"></ul></section>`),ce=e(`<li class="note-item svelte-13zy71l"><span class="note-index svelte-13zy71l"></span> <span class="note-text svelte-13zy71l"> </span></li>`),le=e(`<section class="prose-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Notes <span class="section-meta svelte-13zy71l"> </span></span> <ol class="notes-list svelte-13zy71l"></ol></section>`),ue=e(`<time class="artifact-date svelte-13zy71l"> </time>`),de=e(`<h3 class="artifact-title svelte-13zy71l"> </h3>`),fe=e(`<p class="artifact-summary svelte-13zy71l"> </p>`),pe=e(`<div class="artifact-output svelte-13zy71l"><span class="artifact-output-label svelte-13zy71l">output:</span> <code class="artifact-output-path svelte-13zy71l"> </code></div>`),me=e(`<code class="artifact-file svelte-13zy71l"> </code>`),he=e(`<div class="artifact-files svelte-13zy71l"></div>`),ge=e(`<article class="artifact svelte-13zy71l"><header class="artifact-head svelte-13zy71l"><!> <!> <!> <code class="artifact-id svelte-13zy71l"> </code></header> <!> <!> <!> <!></article>`),_e=e(`<section class="artifacts-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Agent artifacts <span class="section-meta svelte-13zy71l"> </span></span> <div class="artifact-list svelte-13zy71l"></div></section>`),ve=e(`<time class="commit-date svelte-13zy71l"> </time>`),ye=e(`<code class="commit-file svelte-13zy71l"> </code>`),be=e(`<span class="commit-files-more svelte-13zy71l"> </span>`),xe=e(`<div class="commit-files svelte-13zy71l"><!> <!></div>`),Se=e(`<li class="commit-item svelte-13zy71l"><code class="commit-sha svelte-13zy71l"> </code> <span class="commit-subject svelte-13zy71l"> </span> <!> <!></li>`),Ce=e(`<section class="commits-section"><span class="section-label svelte-13zy71l">Git commits <span class="section-meta svelte-13zy71l"> </span></span> <ol class="commits-list svelte-13zy71l"></ol></section>`),we=e(`<span class="dep-row svelte-13zy71l"><!> <span class="dep-id svelte-13zy71l"> </span> <span class="dep-title svelte-13zy71l"> </span> <!></span>`),Te=e(`<section class="side-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Dependency graph</span> <!></section>`),Ee=e(`<li><a class="dep svelte-13zy71l"> </a></li>`),De=e(`<section class="side-section svelte-13zy71l"><span class="section-label dep-label dep-blocked svelte-13zy71l">↑ Blocked by <span class="section-meta svelte-13zy71l"> </span></span> <ul class="dep-list svelte-13zy71l"></ul></section>`),Oe=e(`<li><a class="dep svelte-13zy71l"> </a></li>`),ke=e(`<section class="side-section svelte-13zy71l"><span class="section-label dep-label dep-blocking svelte-13zy71l">↓ Blocking <span class="section-meta svelte-13zy71l"> </span></span> <ul class="dep-list svelte-13zy71l"></ul></section>`),Ae=e(`<li><a class="subtask svelte-13zy71l"><!> <span class="subtask-id svelte-13zy71l"> </span> <span class="subtask-title svelte-13zy71l"> </span> <span class="subtask-gates svelte-13zy71l" aria-hidden="true"><span>I</span> <span>T</span> <span>Q</span></span></a></li>`),je=e(`<section class="side-section svelte-13zy71l"><span class="section-label svelte-13zy71l"> <span class="section-meta svelte-13zy71l"> </span></span> <div class="subtask-progress svelte-13zy71l" aria-hidden="true"><div class="subtask-progress-fill svelte-13zy71l"></div></div> <ul class="subtask-list svelte-13zy71l"></ul></section>`),Me=e(`<div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Completed</dt> <dd class="svelte-13zy71l"> </dd></div>`),Ne=e(`<div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Phase</dt> <dd class="svelte-13zy71l"> </dd></div>`),Pe=e(`<div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Labels</dt> <dd class="svelte-13zy71l"><div class="label-chips svelte-13zy71l"></div></dd></div>`),Fe=e(`<dl class="meta-list svelte-13zy71l"><div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Created</dt> <dd class="svelte-13zy71l"> </dd></div> <div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Updated</dt> <dd class="svelte-13zy71l"> </dd></div> <!> <!> <!></dl>`),Ie=e(`<div class="task-detail svelte-13zy71l"><!> <!> <div class="detail-layout svelte-13zy71l"><div class="detail-main svelte-13zy71l"><section class="gate-section svelte-13zy71l"><div class="gate-head svelte-13zy71l"><span class="section-label svelte-13zy71l">Verification gates</span> <span class="gate-counter svelte-13zy71l"> </span> <!></div> <div class="gate-strip svelte-13zy71l"></div></section> <!> <!> <!> <!> <!></div> <aside class="detail-side svelte-13zy71l"><!> <!> <!> <!> <!> <div class="sidebar-nav svelte-13zy71l"><!> <!></div></aside></div></div>`);function I(e,m){b(m,!0);let T=new Set([`pending`,`active`,`blocked`,`done`,`cancelled`,`archived`,`proposed`]),j=new Set([`low`,`medium`,`high`,`critical`]);function P(e){return T.has(e)?e:`pending`}function F(e){return j.has(e)?e:`medium`}let I=v(()=>m.data.task),L=v(()=>m.data.subtasks),R=v(()=>m.data.parent),z=v(()=>m.data.manifestEntries),B=v(()=>m.data.linkedCommits),Le=v(()=>[{label:`Tasks`,href:`/tasks`},...a(R)?[{label:a(R).id,href:`/tasks/${a(R).id}`}]:[],{label:a(I).id}]);function V(e){if(!e)return`—`;try{return new Date(e).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return e}}function H(e){if(!e)return`—`;try{return new Date(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}catch{return e}}function Re(e,t){return e?e.length<=t?e:`${e.slice(0,t)}…`:``}function ze(e){return e.split(`/`).pop()??e}let U=v(()=>[{key:`I`,label:`Implemented`,passed:a(I).verification?.gates.implemented??!1},{key:`T`,label:`Tests`,passed:a(I).verification?.gates.testsPassed??!1},{key:`Q`,label:`QA`,passed:a(I).verification?.gates.qaPassed??!1},{key:`D`,label:`Documented`,passed:!1},{key:`S`,label:`Security`,passed:!1},{key:`C`,label:`Cleanup`,passed:!1}]),Be=v(()=>a(U).filter(e=>e.passed).length);function Ve(e){return ee(e.verification_json)}let W=v(()=>a(L).filter(e=>e.status===`done`).length),G=v(()=>a(L).length>0?Math.round(a(W)/a(L).length*100):0),He=v(()=>[a(I).pipeline_stage?`stage: ${a(I).pipeline_stage}`:null,a(I).size?`size: ${a(I).size}`:null,a(I).assignee?`assigned: ${a(I).assignee}`:null,`updated ${te(a(I).updated_at)}`].filter(e=>e!==null).join(` · `));function Ue(e){return e===`critical`||e===`high`?`danger`:e===`medium`?`warning`:e===`low`?`neutral`:`info`}function We(e){return e===`complete`?`success`:e===`partial`?`warning`:e===`blocked`?`danger`:`neutral`}function Ge(){let e=[{id:a(I).id,title:a(I).title,status:a(I).status,priority:a(I).priority,type:a(I).type,isFocus:!0}];for(let t of a(I).upstream)e.push({id:t.id,title:t.title,status:t.status,priority:t.priority,type:`task`,isFocus:!1});for(let t of a(I).downstream)e.push({id:t.id,title:t.title,status:t.status,priority:t.priority,type:`task`,isFocus:!1});return e}function Ke(){let e=[];for(let t of a(I).upstream)e.push({source:a(I).id,target:t.id});for(let t of a(I).downstream)e.push({source:t.id,target:a(I).id});return e}var K=Ie();w(`13zy71l`,e=>{t(()=>{s.title=`${a(I).id??``} — ${a(I).title??``} — CLEO Studio`})});var q=o(K);O(q,{get items(){return a(Le)}});var qe=d(q,2);{let e=e=>{var t=re(),o=f(t);{let e=v(()=>P(a(I).status));N(o,{get status(){return a(e)}})}var s=d(o,2);{let e=v(()=>F(a(I).priority));M(s,{get priority(){return a(e)}})}var u=d(s,2),p=e=>{D(e,{tone:`neutral`,size:`sm`,children:(e,t)=>{y();var r=c();i(()=>n(r,a(I).size)),l(e,r)},$$slots:{default:!0}})};r(u,e=>{a(I).size&&e(p)}),l(e,t)},t=v(()=>a(I).type.toUpperCase());E(qe,{get eyebrow(){return a(t)},get title(){return a(I).title},get meta(){return a(He)},actions:e,$$slots:{actions:!0}})}var Je=d(qe,2),J=o(Je),Y=o(J),X=o(Y),Z=d(o(X),2),Ye=o(Z);x(Z);var Xe=d(Z,2),Ze=e=>{D(e,{tone:`success`,size:`sm`,children:(e,t)=>{y(),l(e,c(`ALL PASSED`))},$$slots:{default:!0}})},Qe=e=>{D(e,{tone:`warning`,size:`sm`,children:(e,t)=>{y();var r=c();i(()=>n(r,`Round ${a(I).verification.round??``}`)),l(e,r)},$$slots:{default:!0}})};r(Xe,e=>{a(I).verification?.passed?e(Ze):a(I).verification&&e(Qe,1)}),x(X);var $e=d(X,2);C($e,21,()=>a(U),u,(e,t)=>{var r=ie();let s;var c=o(r),u=o(c,!0);x(c);var f=d(c,2),p=o(f,!0);x(f);var m=d(f,2),h=o(m,!0);x(m),x(r),i(()=>{s=S(r,1,`gate svelte-13zy71l`,null,s,{passed:a(t).passed}),g(r,`title`,a(t).label),n(u,a(t).key),n(p,a(t).label),n(h,a(t).passed?`✓`:`·`)}),l(e,r)}),x($e),x(Y);var et=d(Y,2),tt=e=>{var t=ae(),r=d(o(t),2),s=o(r,!0);x(r),x(t),i(()=>n(s,a(I).description)),l(e,t)};r(et,e=>{a(I).description&&e(tt)});var nt=d(et,2),rt=e=>{var t=se(),r=o(t),s=d(o(r)),c=o(s);x(s),x(r);var f=d(r,2);C(f,21,()=>a(I).acceptance,u,(e,t)=>{let r=v(()=>a(I).verification?.passed??!1);var s=oe();let c;var u=o(s),f=o(u,!0);x(u);var p=d(u,2),m=o(p,!0);x(p),x(s),i(()=>{c=S(s,1,`ac-item svelte-13zy71l`,null,c,{passed:a(r)}),n(f,a(r)?`✓`:`○`),n(m,a(t))}),l(e,s)}),x(f),x(t),i(()=>n(c,`${a(I).acceptance.length??``} criteria`)),l(e,t)};r(nt,e=>{a(I).acceptance&&a(I).acceptance.length>0&&e(rt)});var it=d(nt,2),at=e=>{var t=le(),r=o(t),s=d(o(r)),c=o(s);x(s),x(r);var f=d(r,2);C(f,21,()=>a(I).notes,u,(e,t,r)=>{var s=ce(),c=o(s);c.textContent=`#${r+1}`;var u=d(c,2),f=o(u,!0);x(u),x(s),i(()=>n(f,a(t))),l(e,s)}),x(f),x(t),i(()=>n(c,`${a(I).notes.length??``} entries`)),l(e,t)};r(it,e=>{a(I).notes&&a(I).notes.length>0&&e(at)});var Q=d(it,2),ot=e=>{var t=_e(),s=o(t),f=d(o(s)),p=o(f,!0);x(f),x(s);var m=d(s,2);C(m,21,()=>a(z),e=>e.id,(e,t)=>{var s=ge(),f=o(s),p=o(f);D(p,{tone:`accent`,size:`sm`,children:(e,r)=>{y();var o=c();i(()=>n(o,a(t).type)),l(e,o)},$$slots:{default:!0}});var m=d(p,2);{let e=v(()=>We(a(t).status));D(m,{get tone(){return a(e)},size:`sm`,children:(e,r)=>{y();var o=c();i(()=>n(o,a(t).status)),l(e,o)},$$slots:{default:!0}})}var h=d(m,2),_=e=>{var r=ue(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>H(a(t).date)]),l(e,r)};r(h,e=>{a(t).date&&e(_)});var b=d(h,2),S=o(b,!0);x(b),x(f);var w=d(f,2),T=e=>{var r=de(),s=o(r,!0);x(r),i(()=>n(s,a(t).title)),l(e,r)};r(w,e=>{a(t).title&&e(T)});var E=d(w,2),O=e=>{var r=fe(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>Re(a(t).summary,300)]),l(e,r)};r(E,e=>{a(t).summary&&e(O)});var k=d(E,2),A=e=>{var r=pe(),s=d(o(r),2),c=o(s,!0);x(s),x(r),i(()=>n(c,a(t).output)),l(e,r)};r(k,e=>{a(t).output&&e(A)});var j=d(k,2),M=e=>{var r=he();C(r,21,()=>a(t).files,u,(e,t)=>{var r=me(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>ze(a(t))]),l(e,r)}),x(r),l(e,r)};r(j,e=>{a(t).files&&a(t).files.length>0&&e(M)}),x(s),i(()=>{g(s,`data-status`,a(t).status),n(S,a(t).id)}),l(e,s)}),x(m),x(t),i(()=>n(p,a(z).length)),l(e,t)};r(Q,e=>{a(z)&&a(z).length>0&&e(ot)});var st=d(Q,2),ct=e=>{var t=Ce(),s=o(t),c=d(o(s)),f=o(c,!0);x(c),x(s);var p=d(s,2);C(p,21,()=>a(B),u,(e,t)=>{var s=Se(),c=o(s),f=o(c,!0);x(c);var p=d(c,2),m=o(p,!0);x(p);var h=d(p,2),g=e=>{var r=ve(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>H(a(t).date)]),l(e,r)};r(h,e=>{a(t).date&&e(g)});var _=d(h,2),v=e=>{var s=xe(),c=o(s);C(c,17,()=>a(t).files.slice(0,6),u,(e,t)=>{var r=ye(),s=o(r,!0);x(r),i(()=>n(s,a(t))),l(e,r)});var f=d(c,2),p=e=>{var r=be(),s=o(r);x(r),i(()=>n(s,`+${a(t).files.length-6}`)),l(e,r)};r(f,e=>{a(t).files.length>6&&e(p)}),x(s),l(e,s)};r(_,e=>{a(t).files&&a(t).files.length>0&&e(v)}),x(s),i(()=>{n(f,a(t).sha),n(m,a(t).subject)}),l(e,s)}),x(p),x(t),i(()=>n(f,a(B).length)),l(e,t)};r(st,e=>{a(B)&&a(B).length>0&&e(ct)}),x(J);var lt=d(J,2);{let e=(e,t=_)=>{var r=we(),s=o(r);{let e=v(()=>P(t().status));N(s,{get status(){return a(e)},compact:!0})}var u=d(s,2),f=o(u,!0);x(u);var p=d(u,2),m=o(p,!0);x(p);var h=d(p,2);{let e=v(()=>Ue(t().priority));D(h,{get tone(){return a(e)},size:`sm`,subtle:!0,children:(e,r)=>{y();var a=c();i(()=>n(a,t().priority)),l(e,a)},$$slots:{default:!0}})}x(r),i(()=>{n(f,t().id),n(m,t().title)}),l(e,r)};var ut=o(lt),dt=e=>{let t=v(Ge),n=v(Ke);var r=Te();k(d(o(r),2),{padding:`cozy`,elevation:0,children:(e,r)=>{ne(e,{get nodes(){return a(t)},get edges(){return a(n)},height:`260px`})},$$slots:{default:!0}}),x(r),l(e,r)};r(ut,e=>{(a(I).upstream.length>0||a(I).downstream.length>0)&&e(dt)});var ft=d(ut,2),pt=t=>{var r=De(),s=o(r),c=d(o(s)),f=o(c,!0);x(c),x(s);var p=d(s,2);C(p,21,()=>a(I).upstream,u,(t,r)=>{var s=Ee(),c=o(s),u=o(c,!0);x(c),x(s),i(e=>{g(c,`href`,`/tasks/${a(r).id}`),n(u,e)},[()=>e(a(r))]),l(t,s)}),x(p),x(r),i(()=>n(f,a(I).upstream.length)),l(t,r)};r(ft,e=>{a(I).upstream.length>0&&e(pt)});var mt=d(ft,2),ht=t=>{var r=ke(),s=o(r),c=d(o(s)),f=o(c,!0);x(c),x(s);var p=d(s,2);C(p,21,()=>a(I).downstream,u,(t,r)=>{var s=Oe(),c=o(s),u=o(c,!0);x(c),x(s),i(e=>{g(c,`href`,`/tasks/${a(r).id}`),n(u,e)},[()=>e(a(r))]),l(t,s)}),x(p),x(r),i(()=>n(f,a(I).downstream.length)),l(t,r)};r(mt,e=>{a(I).downstream.length>0&&e(ht)});var gt=d(mt,2),_t=e=>{var t=je(),r=o(t),s=o(r),c=d(s),f=o(c);x(c),x(r);var m=d(r,2),h=o(m);x(m);var _=d(m,2);C(_,21,()=>a(L),u,(e,t)=>{let r=v(()=>Ve(a(t)));var s=Ae(),c=o(s),u=o(c);{let e=v(()=>P(a(t).status));N(u,{get status(){return a(e)},compact:!0})}var f=d(u,2),p=o(f,!0);x(f);var m=d(f,2),h=o(m,!0);x(m);var _=d(m,2),y=o(_);let b;var C=d(y,2);let w;var T=d(C,2);let E;x(_),x(c),x(s),i(()=>{g(c,`href`,`/tasks/${a(t).id}`),n(p,a(t).id),n(h,a(t).title),b=S(y,1,`g-dot svelte-13zy71l`,null,b,{"g-pass":a(r).implemented}),w=S(C,1,`g-dot svelte-13zy71l`,null,w,{"g-pass":a(r).testsPassed}),E=S(T,1,`g-dot svelte-13zy71l`,null,E,{"g-pass":a(r).qaPassed})}),l(e,s)}),x(_),x(t),i(()=>{n(s,`${a(I).type===`epic`?`Children`:`Subtasks`} `),n(f,`${a(W)??``}/${a(L).length??``} · ${a(G)??``}%`),p(h,`width: ${a(G)}%`)}),l(e,t)};r(gt,e=>{a(L).length>0&&e(_t)});var vt=d(gt,2);k(vt,{padding:`cozy`,elevation:1,children:(e,t)=>{var s=Fe(),f=o(s),p=d(o(f),2),m=o(p,!0);x(p),x(f);var h=d(f,2),g=d(o(h),2),_=o(g,!0);x(g),x(h);var v=d(h,2),b=e=>{var t=Me(),r=d(o(t),2),s=o(r,!0);x(r),x(t),i(e=>n(s,e),[()=>V(a(I).completed_at)]),l(e,t)};r(v,e=>{a(I).completed_at&&e(b)});var S=d(v,2),w=e=>{var t=Ne(),r=d(o(t),2),s=o(r,!0);x(r),x(t),i(()=>n(s,a(I).phase)),l(e,t)};r(S,e=>{a(I).phase&&e(w)});var T=d(S,2),E=e=>{var t=Pe(),r=d(o(t),2),s=o(r);C(s,21,()=>a(I).labels,u,(e,t)=>{D(e,{tone:`neutral`,size:`sm`,children:(e,r)=>{y();var o=c();i(()=>n(o,a(t))),l(e,o)},$$slots:{default:!0}})}),x(s),x(r),x(t),l(e,t)};r(T,e=>{a(I).labels&&a(I).labels.length>0&&e(E)}),x(s),i((e,t)=>{n(m,e),n(_,t)},[()=>V(a(I).created_at),()=>V(a(I).updated_at)]),l(e,s)},$$slots:{default:!0}});var yt=d(vt,2),$=o(yt);A($,{variant:`ghost`,size:`sm`,href:`/tasks`,block:!0,children:(e,t)=>{y(),l(e,c(`← All Tasks`))},$$slots:{default:!0}});var bt=d($,2),xt=e=>{{let t=v(()=>`/tasks?hierarchy=${a(I).id}`);A(e,{variant:`ghost`,size:`sm`,get href(){return a(t)},block:!0,children:(e,t)=>{y(),l(e,c(`View as tree`))},$$slots:{default:!0}})}};r(bt,e=>{a(I).type===`epic`&&e(xt)}),x(yt),x(lt)}x(Je),x(K),i(()=>n(Ye,`${a(Be)??``}/${a(U).length??``}`)),l(e,K),h()}export{I as component};
|
|
1
|
+
import{A as e,B as t,D as n,E as r,H as i,I as a,J as o,K as s,M as c,O as l,T as u,X as d,Y as f,_ as p,a as m,at as h,d as g,dt as _,et as v,lt as y,ot as b,ut as x,v as S,w as C,x as w}from"../chunks/DyGQ_VXC.js";import{r as T}from"../chunks/Buy7LnV8.js";import"../chunks/CQCxd1p9.js";import{t as E}from"../chunks/wI_OOyoh.js";import{a as D,i as O,r as k}from"../chunks/CEqOYim7.js";import{l as A}from"../chunks/CqF5Lomf.js";import{S as j,g as M,h as ee,m as te,p as N}from"../chunks/Sz0lc_TQ.js";import"../chunks/BYc4Jvn4.js";var P=e(`<div class="dep-graph-empty svelte-1ytw5n2">No dependencies</div>`),F=e(`<div class="dep-graph-wrap svelte-1ytw5n2"><!></div>`);function ne(e,t){b(t,!0);let n=m(t,`height`,3,`260px`),s=v(()=>t.nodes.map(e=>({id:e.id,substrate:`tasks`,kind:e.type||`task`,label:e.title,category:null,weight:e.isFocus?1:.6,meta:{status:e.status,priority:e.priority,focal:e.isFocus}}))),c=v(()=>t.edges.filter(e=>e.source!==e.target).map((e,t)=>({id:`dep-${t}:${e.source}->${e.target}`,source:e.source,target:e.target,kind:`depends`,directional:!0,weight:.6})));function u(e){T(`/tasks/${e.id}`)}var d=F(),f=o(d),g=e=>{l(e,P())},_=e=>{j(e,{get nodes(){return a(s)},get edges(){return a(c)},showLabels:`full`,nodeRenderer:`circle`,onNodeClick:u,ariaLabel:`Task dependency neighbourhood`})};r(f,e=>{t.nodes.length===0?e(g):e(_,-1)}),x(d),i(()=>p(d,`--dep-graph-height: ${n()??``};`)),l(e,d),h()}var re=e(`<!> <!> <!>`,1),ie=e(`<div><span class="gate-key svelte-13zy71l"> </span> <span class="gate-label svelte-13zy71l"> </span> <span class="gate-icon svelte-13zy71l" aria-hidden="true"> </span></div>`),ae=e(`<section class="prose-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Description</span> <div class="prose svelte-13zy71l"> </div></section>`),oe=e(`<li><span class="ac-check svelte-13zy71l" aria-hidden="true"> </span> <span class="ac-text svelte-13zy71l"> </span></li>`),se=e(`<section class="ac-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Acceptance criteria <span class="section-meta svelte-13zy71l"> </span></span> <ul class="ac-list svelte-13zy71l"></ul></section>`),ce=e(`<li class="note-item svelte-13zy71l"><span class="note-index svelte-13zy71l"></span> <span class="note-text svelte-13zy71l"> </span></li>`),le=e(`<section class="prose-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Notes <span class="section-meta svelte-13zy71l"> </span></span> <ol class="notes-list svelte-13zy71l"></ol></section>`),ue=e(`<time class="artifact-date svelte-13zy71l"> </time>`),de=e(`<h3 class="artifact-title svelte-13zy71l"> </h3>`),fe=e(`<p class="artifact-summary svelte-13zy71l"> </p>`),pe=e(`<div class="artifact-output svelte-13zy71l"><span class="artifact-output-label svelte-13zy71l">output:</span> <code class="artifact-output-path svelte-13zy71l"> </code></div>`),me=e(`<code class="artifact-file svelte-13zy71l"> </code>`),he=e(`<div class="artifact-files svelte-13zy71l"></div>`),ge=e(`<article class="artifact svelte-13zy71l"><header class="artifact-head svelte-13zy71l"><!> <!> <!> <code class="artifact-id svelte-13zy71l"> </code></header> <!> <!> <!> <!></article>`),_e=e(`<section class="artifacts-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Agent artifacts <span class="section-meta svelte-13zy71l"> </span></span> <div class="artifact-list svelte-13zy71l"></div></section>`),ve=e(`<time class="commit-date svelte-13zy71l"> </time>`),ye=e(`<code class="commit-file svelte-13zy71l"> </code>`),be=e(`<span class="commit-files-more svelte-13zy71l"> </span>`),xe=e(`<div class="commit-files svelte-13zy71l"><!> <!></div>`),Se=e(`<li class="commit-item svelte-13zy71l"><code class="commit-sha svelte-13zy71l"> </code> <span class="commit-subject svelte-13zy71l"> </span> <!> <!></li>`),Ce=e(`<section class="commits-section"><span class="section-label svelte-13zy71l">Git commits <span class="section-meta svelte-13zy71l"> </span></span> <ol class="commits-list svelte-13zy71l"></ol></section>`),we=e(`<span class="dep-row svelte-13zy71l"><!> <span class="dep-id svelte-13zy71l"> </span> <span class="dep-title svelte-13zy71l"> </span> <!></span>`),Te=e(`<section class="side-section svelte-13zy71l"><span class="section-label svelte-13zy71l">Dependency graph</span> <!></section>`),Ee=e(`<li><a class="dep svelte-13zy71l"> </a></li>`),De=e(`<section class="side-section svelte-13zy71l"><span class="section-label dep-label dep-blocked svelte-13zy71l">↑ Blocked by <span class="section-meta svelte-13zy71l"> </span></span> <ul class="dep-list svelte-13zy71l"></ul></section>`),Oe=e(`<li><a class="dep svelte-13zy71l"> </a></li>`),ke=e(`<section class="side-section svelte-13zy71l"><span class="section-label dep-label dep-blocking svelte-13zy71l">↓ Blocking <span class="section-meta svelte-13zy71l"> </span></span> <ul class="dep-list svelte-13zy71l"></ul></section>`),Ae=e(`<li><a class="subtask svelte-13zy71l"><!> <span class="subtask-id svelte-13zy71l"> </span> <span class="subtask-title svelte-13zy71l"> </span> <span class="subtask-gates svelte-13zy71l" aria-hidden="true"><span>I</span> <span>T</span> <span>Q</span></span></a></li>`),je=e(`<section class="side-section svelte-13zy71l"><span class="section-label svelte-13zy71l"> <span class="section-meta svelte-13zy71l"> </span></span> <div class="subtask-progress svelte-13zy71l" aria-hidden="true"><div class="subtask-progress-fill svelte-13zy71l"></div></div> <ul class="subtask-list svelte-13zy71l"></ul></section>`),Me=e(`<div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Completed</dt> <dd class="svelte-13zy71l"> </dd></div>`),Ne=e(`<div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Phase</dt> <dd class="svelte-13zy71l"> </dd></div>`),Pe=e(`<div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Labels</dt> <dd class="svelte-13zy71l"><div class="label-chips svelte-13zy71l"></div></dd></div>`),Fe=e(`<dl class="meta-list svelte-13zy71l"><div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Created</dt> <dd class="svelte-13zy71l"> </dd></div> <div class="meta-row svelte-13zy71l"><dt class="svelte-13zy71l">Updated</dt> <dd class="svelte-13zy71l"> </dd></div> <!> <!> <!></dl>`),Ie=e(`<div class="task-detail svelte-13zy71l"><!> <!> <div class="detail-layout svelte-13zy71l"><div class="detail-main svelte-13zy71l"><section class="gate-section svelte-13zy71l"><div class="gate-head svelte-13zy71l"><span class="section-label svelte-13zy71l">Verification gates</span> <span class="gate-counter svelte-13zy71l"> </span> <!></div> <div class="gate-strip svelte-13zy71l"></div></section> <!> <!> <!> <!> <!></div> <aside class="detail-side svelte-13zy71l"><!> <!> <!> <!> <!> <div class="sidebar-nav svelte-13zy71l"><!> <!></div></aside></div></div>`);function I(e,m){b(m,!0);let T=new Set([`pending`,`active`,`blocked`,`done`,`cancelled`,`archived`,`proposed`]),j=new Set([`low`,`medium`,`high`,`critical`]);function P(e){return T.has(e)?e:`pending`}function F(e){return j.has(e)?e:`medium`}let I=v(()=>m.data.task),L=v(()=>m.data.subtasks),R=v(()=>m.data.parent),z=v(()=>m.data.manifestEntries),B=v(()=>m.data.linkedCommits),Le=v(()=>[{label:`Tasks`,href:`/tasks`},...a(R)?[{label:a(R).id,href:`/tasks/${a(R).id}`}]:[],{label:a(I).id}]);function V(e){if(!e)return`—`;try{return new Date(e).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}catch{return e}}function H(e){if(!e)return`—`;try{return new Date(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}catch{return e}}function Re(e,t){return e?e.length<=t?e:`${e.slice(0,t)}…`:``}function ze(e){return e.split(`/`).pop()??e}let U=v(()=>[{key:`I`,label:`Implemented`,passed:a(I).verification?.gates.implemented??!1},{key:`T`,label:`Tests`,passed:a(I).verification?.gates.testsPassed??!1},{key:`Q`,label:`QA`,passed:a(I).verification?.gates.qaPassed??!1},{key:`D`,label:`Documented`,passed:!1},{key:`S`,label:`Security`,passed:!1},{key:`C`,label:`Cleanup`,passed:!1}]),Be=v(()=>a(U).filter(e=>e.passed).length);function Ve(e){return ee(e.verification_json)}let W=v(()=>a(L).filter(e=>e.status===`done`).length),G=v(()=>a(L).length>0?Math.round(a(W)/a(L).length*100):0),He=v(()=>[a(I).pipeline_stage?`stage: ${a(I).pipeline_stage}`:null,a(I).size?`size: ${a(I).size}`:null,a(I).assignee?`assigned: ${a(I).assignee}`:null,`updated ${te(a(I).updated_at)}`].filter(e=>e!==null).join(` · `));function Ue(e){return e===`critical`||e===`high`?`danger`:e===`medium`?`warning`:e===`low`?`neutral`:`info`}function We(e){return e===`complete`?`success`:e===`partial`?`warning`:e===`blocked`?`danger`:`neutral`}function Ge(){let e=[{id:a(I).id,title:a(I).title,status:a(I).status,priority:a(I).priority,type:a(I).type,isFocus:!0}];for(let t of a(I).upstream)e.push({id:t.id,title:t.title,status:t.status,priority:t.priority,type:`task`,isFocus:!1});for(let t of a(I).downstream)e.push({id:t.id,title:t.title,status:t.status,priority:t.priority,type:`task`,isFocus:!1});return e}function Ke(){let e=[];for(let t of a(I).upstream)e.push({source:a(I).id,target:t.id});for(let t of a(I).downstream)e.push({source:t.id,target:a(I).id});return e}var K=Ie();w(`13zy71l`,e=>{t(()=>{s.title=`${a(I).id??``} — ${a(I).title??``} — CLEO Studio`})});var q=o(K);O(q,{get items(){return a(Le)}});var qe=d(q,2);{let e=e=>{var t=re(),o=f(t);{let e=v(()=>P(a(I).status));N(o,{get status(){return a(e)}})}var s=d(o,2);{let e=v(()=>F(a(I).priority));M(s,{get priority(){return a(e)}})}var u=d(s,2),p=e=>{D(e,{tone:`neutral`,size:`sm`,children:(e,t)=>{y();var r=c();i(()=>n(r,a(I).size)),l(e,r)},$$slots:{default:!0}})};r(u,e=>{a(I).size&&e(p)}),l(e,t)},t=v(()=>a(I).type.toUpperCase());E(qe,{get eyebrow(){return a(t)},get title(){return a(I).title},get meta(){return a(He)},actions:e,$$slots:{actions:!0}})}var Je=d(qe,2),J=o(Je),Y=o(J),X=o(Y),Z=d(o(X),2),Ye=o(Z);x(Z);var Xe=d(Z,2),Ze=e=>{D(e,{tone:`success`,size:`sm`,children:(e,t)=>{y(),l(e,c(`ALL PASSED`))},$$slots:{default:!0}})},Qe=e=>{D(e,{tone:`warning`,size:`sm`,children:(e,t)=>{y();var r=c();i(()=>n(r,`Round ${a(I).verification.round??``}`)),l(e,r)},$$slots:{default:!0}})};r(Xe,e=>{a(I).verification?.passed?e(Ze):a(I).verification&&e(Qe,1)}),x(X);var $e=d(X,2);C($e,21,()=>a(U),u,(e,t)=>{var r=ie();let s;var c=o(r),u=o(c,!0);x(c);var f=d(c,2),p=o(f,!0);x(f);var m=d(f,2),h=o(m,!0);x(m),x(r),i(()=>{s=S(r,1,`gate svelte-13zy71l`,null,s,{passed:a(t).passed}),g(r,`title`,a(t).label),n(u,a(t).key),n(p,a(t).label),n(h,a(t).passed?`✓`:`·`)}),l(e,r)}),x($e),x(Y);var et=d(Y,2),tt=e=>{var t=ae(),r=d(o(t),2),s=o(r,!0);x(r),x(t),i(()=>n(s,a(I).description)),l(e,t)};r(et,e=>{a(I).description&&e(tt)});var nt=d(et,2),rt=e=>{var t=se(),r=o(t),s=d(o(r)),c=o(s);x(s),x(r);var f=d(r,2);C(f,21,()=>a(I).acceptance,u,(e,t)=>{let r=v(()=>a(I).verification?.passed??!1);var s=oe();let c;var u=o(s),f=o(u,!0);x(u);var p=d(u,2),m=o(p,!0);x(p),x(s),i(()=>{c=S(s,1,`ac-item svelte-13zy71l`,null,c,{passed:a(r)}),n(f,a(r)?`✓`:`○`),n(m,a(t))}),l(e,s)}),x(f),x(t),i(()=>n(c,`${a(I).acceptance.length??``} criteria`)),l(e,t)};r(nt,e=>{a(I).acceptance&&a(I).acceptance.length>0&&e(rt)});var it=d(nt,2),at=e=>{var t=le(),r=o(t),s=d(o(r)),c=o(s);x(s),x(r);var f=d(r,2);C(f,21,()=>a(I).notes,u,(e,t,r)=>{var s=ce(),c=o(s);c.textContent=`#${r+1}`;var u=d(c,2),f=o(u,!0);x(u),x(s),i(()=>n(f,a(t))),l(e,s)}),x(f),x(t),i(()=>n(c,`${a(I).notes.length??``} entries`)),l(e,t)};r(it,e=>{a(I).notes&&a(I).notes.length>0&&e(at)});var Q=d(it,2),ot=e=>{var t=_e(),s=o(t),f=d(o(s)),p=o(f,!0);x(f),x(s);var m=d(s,2);C(m,21,()=>a(z),e=>e.id,(e,t)=>{var s=ge(),f=o(s),p=o(f);D(p,{tone:`accent`,size:`sm`,children:(e,r)=>{y();var o=c();i(()=>n(o,a(t).type)),l(e,o)},$$slots:{default:!0}});var m=d(p,2);{let e=v(()=>We(a(t).status));D(m,{get tone(){return a(e)},size:`sm`,children:(e,r)=>{y();var o=c();i(()=>n(o,a(t).status)),l(e,o)},$$slots:{default:!0}})}var h=d(m,2),_=e=>{var r=ue(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>H(a(t).date)]),l(e,r)};r(h,e=>{a(t).date&&e(_)});var b=d(h,2),S=o(b,!0);x(b),x(f);var w=d(f,2),T=e=>{var r=de(),s=o(r,!0);x(r),i(()=>n(s,a(t).title)),l(e,r)};r(w,e=>{a(t).title&&e(T)});var E=d(w,2),O=e=>{var r=fe(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>Re(a(t).summary,300)]),l(e,r)};r(E,e=>{a(t).summary&&e(O)});var k=d(E,2),A=e=>{var r=pe(),s=d(o(r),2),c=o(s,!0);x(s),x(r),i(()=>n(c,a(t).output)),l(e,r)};r(k,e=>{a(t).output&&e(A)});var j=d(k,2),M=e=>{var r=he();C(r,21,()=>a(t).files,u,(e,t)=>{var r=me(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>ze(a(t))]),l(e,r)}),x(r),l(e,r)};r(j,e=>{a(t).files&&a(t).files.length>0&&e(M)}),x(s),i(()=>{g(s,`data-status`,a(t).status),n(S,a(t).id)}),l(e,s)}),x(m),x(t),i(()=>n(p,a(z).length)),l(e,t)};r(Q,e=>{a(z)&&a(z).length>0&&e(ot)});var st=d(Q,2),ct=e=>{var t=Ce(),s=o(t),c=d(o(s)),f=o(c,!0);x(c),x(s);var p=d(s,2);C(p,21,()=>a(B),u,(e,t)=>{var s=Se(),c=o(s),f=o(c,!0);x(c);var p=d(c,2),m=o(p,!0);x(p);var h=d(p,2),g=e=>{var r=ve(),s=o(r,!0);x(r),i(e=>n(s,e),[()=>H(a(t).date)]),l(e,r)};r(h,e=>{a(t).date&&e(g)});var _=d(h,2),v=e=>{var s=xe(),c=o(s);C(c,17,()=>a(t).files.slice(0,6),u,(e,t)=>{var r=ye(),s=o(r,!0);x(r),i(()=>n(s,a(t))),l(e,r)});var f=d(c,2),p=e=>{var r=be(),s=o(r);x(r),i(()=>n(s,`+${a(t).files.length-6}`)),l(e,r)};r(f,e=>{a(t).files.length>6&&e(p)}),x(s),l(e,s)};r(_,e=>{a(t).files&&a(t).files.length>0&&e(v)}),x(s),i(()=>{n(f,a(t).sha),n(m,a(t).subject)}),l(e,s)}),x(p),x(t),i(()=>n(f,a(B).length)),l(e,t)};r(st,e=>{a(B)&&a(B).length>0&&e(ct)}),x(J);var lt=d(J,2);{let e=(e,t=_)=>{var r=we(),s=o(r);{let e=v(()=>P(t().status));N(s,{get status(){return a(e)},compact:!0})}var u=d(s,2),f=o(u,!0);x(u);var p=d(u,2),m=o(p,!0);x(p);var h=d(p,2);{let e=v(()=>Ue(t().priority));D(h,{get tone(){return a(e)},size:`sm`,subtle:!0,children:(e,r)=>{y();var a=c();i(()=>n(a,t().priority)),l(e,a)},$$slots:{default:!0}})}x(r),i(()=>{n(f,t().id),n(m,t().title)}),l(e,r)};var ut=o(lt),dt=e=>{let t=v(Ge),n=v(Ke);var r=Te();k(d(o(r),2),{padding:`cozy`,elevation:0,children:(e,r)=>{ne(e,{get nodes(){return a(t)},get edges(){return a(n)},height:`260px`})},$$slots:{default:!0}}),x(r),l(e,r)};r(ut,e=>{(a(I).upstream.length>0||a(I).downstream.length>0)&&e(dt)});var ft=d(ut,2),pt=t=>{var r=De(),s=o(r),c=d(o(s)),f=o(c,!0);x(c),x(s);var p=d(s,2);C(p,21,()=>a(I).upstream,u,(t,r)=>{var s=Ee(),c=o(s),u=o(c,!0);x(c),x(s),i(e=>{g(c,`href`,`/tasks/${a(r).id}`),n(u,e)},[()=>e(a(r))]),l(t,s)}),x(p),x(r),i(()=>n(f,a(I).upstream.length)),l(t,r)};r(ft,e=>{a(I).upstream.length>0&&e(pt)});var mt=d(ft,2),ht=t=>{var r=ke(),s=o(r),c=d(o(s)),f=o(c,!0);x(c),x(s);var p=d(s,2);C(p,21,()=>a(I).downstream,u,(t,r)=>{var s=Oe(),c=o(s),u=o(c,!0);x(c),x(s),i(e=>{g(c,`href`,`/tasks/${a(r).id}`),n(u,e)},[()=>e(a(r))]),l(t,s)}),x(p),x(r),i(()=>n(f,a(I).downstream.length)),l(t,r)};r(mt,e=>{a(I).downstream.length>0&&e(ht)});var gt=d(mt,2),_t=e=>{var t=je(),r=o(t),s=o(r),c=d(s),f=o(c);x(c),x(r);var m=d(r,2),h=o(m);x(m);var _=d(m,2);C(_,21,()=>a(L),u,(e,t)=>{let r=v(()=>Ve(a(t)));var s=Ae(),c=o(s),u=o(c);{let e=v(()=>P(a(t).status));N(u,{get status(){return a(e)},compact:!0})}var f=d(u,2),p=o(f,!0);x(f);var m=d(f,2),h=o(m,!0);x(m);var _=d(m,2),y=o(_);let b;var C=d(y,2);let w;var T=d(C,2);let E;x(_),x(c),x(s),i(()=>{g(c,`href`,`/tasks/${a(t).id}`),n(p,a(t).id),n(h,a(t).title),b=S(y,1,`g-dot svelte-13zy71l`,null,b,{"g-pass":a(r).implemented}),w=S(C,1,`g-dot svelte-13zy71l`,null,w,{"g-pass":a(r).testsPassed}),E=S(T,1,`g-dot svelte-13zy71l`,null,E,{"g-pass":a(r).qaPassed})}),l(e,s)}),x(_),x(t),i(()=>{n(s,`${a(I).type===`epic`?`Children`:`Subtasks`} `),n(f,`${a(W)??``}/${a(L).length??``} · ${a(G)??``}%`),p(h,`width: ${a(G)}%`)}),l(e,t)};r(gt,e=>{a(L).length>0&&e(_t)});var vt=d(gt,2);k(vt,{padding:`cozy`,elevation:1,children:(e,t)=>{var s=Fe(),f=o(s),p=d(o(f),2),m=o(p,!0);x(p),x(f);var h=d(f,2),g=d(o(h),2),_=o(g,!0);x(g),x(h);var v=d(h,2),b=e=>{var t=Me(),r=d(o(t),2),s=o(r,!0);x(r),x(t),i(e=>n(s,e),[()=>V(a(I).completed_at)]),l(e,t)};r(v,e=>{a(I).completed_at&&e(b)});var S=d(v,2),w=e=>{var t=Ne(),r=d(o(t),2),s=o(r,!0);x(r),x(t),i(()=>n(s,a(I).phase)),l(e,t)};r(S,e=>{a(I).phase&&e(w)});var T=d(S,2),E=e=>{var t=Pe(),r=d(o(t),2),s=o(r);C(s,21,()=>a(I).labels,u,(e,t)=>{D(e,{tone:`neutral`,size:`sm`,children:(e,r)=>{y();var o=c();i(()=>n(o,a(t))),l(e,o)},$$slots:{default:!0}})}),x(s),x(r),x(t),l(e,t)};r(T,e=>{a(I).labels&&a(I).labels.length>0&&e(E)}),x(s),i((e,t)=>{n(m,e),n(_,t)},[()=>V(a(I).created_at),()=>V(a(I).updated_at)]),l(e,s)},$$slots:{default:!0}});var yt=d(vt,2),$=o(yt);A($,{variant:`ghost`,size:`sm`,href:`/tasks`,block:!0,children:(e,t)=>{y(),l(e,c(`← All Tasks`))},$$slots:{default:!0}});var bt=d($,2),xt=e=>{{let t=v(()=>`/tasks?hierarchy=${a(I).id}`);A(e,{variant:`ghost`,size:`sm`,get href(){return a(t)},block:!0,children:(e,t)=>{y(),l(e,c(`View as tree`))},$$slots:{default:!0}})}};r(bt,e=>{a(I).type===`epic`&&e(xt)}),x(yt),x(lt)}x(Je),x(K),i(()=>n(Ye,`${a(Be)??``}/${a(U).length??``}`)),l(e,K),h()}export{I as component};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,D as n,E as r,F as i,H as a,I as o,J as s,K as c,M as l,N as u,O as d,P as f,Q as p,T as m,U as h,V as g,X as _,Y as v,Z as y,_ as b,a as x,at as S,c as C,d as w,et as T,ft as E,k as D,lt as O,m as k,n as A,o as j,ot as M,q as N,r as P,u as F,ut as I,v as L,w as R,x as z}from"../chunks/DyGQ_VXC.js";import"../chunks/CQCxd1p9.js";import{t as B}from"../chunks/B_IgYp0Q.js";import{a as V,i as H,n as U,r as W,t as G}from"../chunks/CEqOYim7.js";import{n as ee}from"../chunks/o1PZ6Kzq.js";import{a as te,i as ne,r as re,s as K}from"../chunks/RptFUp2P.js";import{n as q,t as ie}from"../chunks/Bxz2A0ZC.js";function ae(e){let t=e.url??`/api/brain/stream`,n=e.initialReconnectMs??2e3,r=e.maxReconnectMs??3e4,i=e.callbacks,a=null,o=!1,s=n,c=null,l=`connecting`,u=e=>{l!==e&&(l=e,i.onStatus?.(e))},d=()=>{o||c===null&&(c=setTimeout(()=>{c=null,!o&&(s=Math.min(s*2,r),p())},s))},f=e=>{let t;try{t=JSON.parse(e)}catch(e){i.onError?.(e instanceof Error?e:Error(`Malformed SSE payload`));return}switch(t.type){case`hello`:u(`connected`),i.onConnect?.();return;case`heartbeat`:i.onHeartbeat?.(t);return;case`node.create`:i.onNodeCreate?.(t);return;case`edge.strengthen`:i.onEdgeStrengthen?.(t);return;case`task.status`:i.onTaskStatus?.(t);return;case`message.send`:i.onMessageSend?.(t);return}},p=()=>{if(o)return;if(typeof EventSource>`u`){i.onError?.(Error(`EventSource is not available in this environment`));return}u(`connecting`);let e=new EventSource(t);a=e,e.onopen=()=>{if(o){e.close();return}s=n,u(`connected`)},e.onmessage=e=>{o||f(e.data)},e.onerror=()=>{e.close(),a=null,!o&&(u(`error`),d())}};return p(),{dispose:()=>{o||(o=!0,c!==null&&(clearTimeout(c),c=null),a?.close(),a=null,u(`disconnected`))},status:()=>l}}function oe(e){let t=e>>>0;return t===0&&(t=2654435761),()=>(t^=t<<13,t^=t>>>17,t^=t<<5,t>>>=0,t/4294967295)}var se={brain:[`observation`,`decision`,`pattern`,`learning`],nexus:[`symbol`,`file`,`community`],tasks:[`task`,`session`],conduit:[`message`],"agent-registry":[`agent`]},ce={brain:[`supersedes`,`contradicts`,`derived_from`,`cites`,`references`,`documents`],nexus:[`calls`,`extends`,`implements`,`imports`,`accesses`,`defines`,`contains`,`has_method`,`has_property`],tasks:[`blocks`,`depends`,`parent`],conduit:[`messages`,`fires`],"agent-registry":[`messages`,`co_fires`]},J=[`references`,`relates_to`,`documents`,`informed_by`,`produced_by`];function le(e=400,t=600,n=3252719635){let r=oe(n),i=[],a=[],o={brain:Math.round(e*.3),nexus:Math.round(e*.35),tasks:Math.round(e*.15),conduit:Math.round(e*.12),"agent-registry":0},s=o.brain+o.nexus+o.tasks+o.conduit;o[`agent-registry`]=Math.max(0,e-s);for(let e of q){let t=o[e],s=se[e],c=ue(e,Math.min(5,Math.max(1,Math.floor(t/30)))),l=Object.fromEntries(c.map(e=>[e.id,[]]));for(let a=0;a<t;a++){let t=s[Math.floor(r()*s.length)],o=Math.floor(r()*c.length),u=c[o]?.id,d=`${e}:${t}-${a.toString(36)}-${n.toString(36).slice(-3)}`,f=Z(r()*.85+.1,3),p=Z(r(),3),m=a<c.length||r()>.95,h=de(e,t,a);i.push({id:d,substrate:e,kind:t,label:h,category:u,weight:m?Math.max(.82,f):f,freshness:p,meta:{isHub:m,clusterLabel:c[o]?.label??null}}),u&&l[u]?.push(d)}for(let t of c)a.push({id:t.id,label:t.label,substrate:e,memberIds:l[t.id]??[]})}let c=[],l=new Set,u=fe(i),d=0,f=t*4;for(;c.length<t&&d<f;){d++;let e=i[Math.floor(r()*i.length)],t=r()<.25,n,a;if(t){let t=e.substrate;for(;t===e.substrate;)t=q[Math.floor(r()*q.length)];let i=u[t];if(!i||i.length===0)continue;n=i[Math.floor(r()*i.length)],a=J[Math.floor(r()*J.length)]}else if(n=i[Math.floor(r()*i.length)],n.substrate!==e.substrate)a=J[Math.floor(r()*J.length)];else{let t=ce[e.substrate];a=t[Math.floor(r()*t.length)]}if(n.id===e.id)continue;let o=`${e.id}>${n.id}:${a}`;l.has(o)||(l.add(o),c.push({id:`e${c.length.toString(36)}`,source:e.id,target:n.id,kind:a,weight:Z(r()*.7+.15,3),directional:!0,meta:{crossSubstrate:t}}))}return{nodes:i,edges:c,clusters:a}}function ue(e,t){let n={brain:[`Cortex`,`Hippocampus`,`Reflexes`,`Lineage`,`Atlas`],nexus:[`Core`,`Dispatch`,`Memory Bridge`,`Session Runtime`,`Brain Adapter`],tasks:[`Epic`,`Backlog`,`In Flight`,`Release`],conduit:[`Agent Chatter`,`System Events`,`Broadcast`],"agent-registry":[`Orchestrators`,`Leads`,`Workers`]}[e];return Array.from({length:t},(t,r)=>({id:`${e}:cluster:${n[r%n.length]}:${r}`,label:`${n[r%n.length]}`}))}function de(e,t,n){let r=n.toString(36);switch(e){case`brain`:return t===`decision`?`D-${r}: canonicalise ${Y([`envelope`,`registry`,`cluster`],n)}`:t===`pattern`?`P-${r}: ${Y([`rate-limit`,`cache-warm`,`retry-backoff`],n)}`:t===`learning`?`L-${r}: ${Y([`ssoT drift`,`flake source`,`slow path`],n)}`:`O-${r}: ${Y([`observed`,`resolved`,`noted`],n)} ${Y([`fix`,`regression`,`pattern`],n)}`;case`nexus`:return t===`file`?`src/${Y([`dispatch`,`engines`,`adapters`,`stores`],n)}/${Y([`index`,`bridge`,`harness`,`runtime`],n)}.ts`:t===`community`?`cluster-${r}`:`${Y([`register`,`resolve`,`build`,`spawn`,`emit`],n)}${X(Y([`Provider`,`Engine`,`Adapter`,`Bridge`,`Session`],n))}`;case`tasks`:return t===`session`?`ses_${r}`:`T${(n+100).toString(10)}: ${Y([`wire`,`ship`,`audit`,`repair`],n)} ${Y([`brain`,`nexus`,`harness`,`payload`],n)}`;case`conduit`:return`msg_${r} → ${Y([`orchestrator`,`worker-a`,`worker-b`],n)}`;case`agent-registry`:return`${Y([`orc`,`lead`,`wk`],n)}-${r}`}}function Y(e,t){return e[t%e.length]}function X(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}function Z(e,t){let n=10**t;return Math.round(e*n)/n}function fe(e){let t={brain:[],nexus:[],tasks:[],conduit:[],"agent-registry":[]};for(let n of e)t[n.substrate].push(n);return t}var pe=t(`<span class="lbc-fallback-reason svelte-1fx55sa"> </span>`),me=t(`<div class="lbc-fallback svelte-1fx55sa"><span class="lbc-fallback-icon svelte-1fx55sa">!</span> <span class="lbc-fallback-msg">GPU renderer unavailable — using 3D <!></span></div>`),he=t(`<div class="lbc-empty svelte-1fx55sa">No data to display</div>`),ge=t(`<div class="lbc-canvas svelte-1fx55sa"></div> <!> <div class="lbc-badge svelte-1fx55sa" aria-label="GPU-accelerated renderer active">GPU</div>`,1),_e=t(`<div class="lbc-wrap svelte-1fx55sa"><!></div>`);function ve(t,i){M(i,!0);let c=x(i,`height`,3,`100%`),l=x(i,`pulsingNodes`,19,()=>new Set),u={brain:`var(--info)`,nexus:`var(--success)`,tasks:`var(--warning)`,conduit:`var(--accent)`,"agent-registry":`var(--danger)`};function f(e,t=.9){if(typeof document>`u`||typeof window>`u`)return[.5,.5,.5,t];let n=document.createElement(`span`);n.style.color=e,n.style.position=`absolute`,n.style.visibility=`hidden`,document.body.appendChild(n);let r=window.getComputedStyle(n).color;document.body.removeChild(n);let i=/rgba?\(([^)]+)\)/i.exec(r);if(!i)return[1,1,1,t];let a=i[1].split(/[,\s/]+/).filter(e=>e.length>0);return[Number.parseFloat(a[0])/255,Number.parseFloat(a[1])/255,Number.parseFloat(a[2])/255,t]}let m=new Map;function g(e){return 4+(e.weight??.3)*14}let y=e(null),C=null,w=e(!1),T=e(``),E=!1,D=!1,k=null,N=[],F=[],L=-1,R=-1;function z(){let e=new Map,t=[],n=[];i.nodes.forEach((r,i)=>{e.set(r.id,i),t.push(r.id),n.push(r)});let r=4096,a=r/2,o=r*.01,s=new Float32Array(i.nodes.length*2);for(let e=0;e<i.nodes.length;e++)s[e*2]=a+(Math.random()-.5)*o,s[e*2+1]=a+(Math.random()-.5)*o;let c=new Float32Array(i.nodes.length*4);for(let e=0;e<i.nodes.length;e++){let t=m.get(i.nodes[e].substrate)??[.5,.5,.5,.9];c[e*4]=t[0],c[e*4+1]=t[1],c[e*4+2]=t[2],c[e*4+3]=t[3]}let l=new Float32Array(i.nodes.length);for(let e=0;e<i.nodes.length;e++)l[e]=g(i.nodes[e]);let u=[],d=new Set;for(let t of i.edges){if(t.source===t.target||!e.has(t.source)||!e.has(t.target))continue;let n=`${t.source}|${t.target}`;d.has(n)||(d.add(n),u.push(t))}let f=new Float32Array(u.length*2),p=new Float32Array(u.length*4),h=new Float32Array(u.length);for(let t=0;t<u.length;t++){let n=u[t],r=e.get(n.source)??0,i=e.get(n.target)??0;f[t*2]=r,f[t*2+1]=i;let a=K(n.kind);p[t*4]=a[0],p[t*4+1]=a[1],p[t*4+2]=a[2],p[t*4+3]=.7,h[t]=.5+(n.weight??.5)*2.5}return{positions:s,colors:c,sizes:l,links:f,linkColors:p,linkWidths:h,idToIndex:e,idxToId:t,idxToNode:n}}function B(e){if(!C||l().size===0)return;let t=f(`var(--text)`,1),n=new Float32Array(i.nodes.length*4);for(let e=0;e<i.nodes.length;e++){let r=l().has(i.nodes[e].id),a=r?t:m.get(i.nodes[e].substrate)??[.5,.5,.5,.9];n[e*4]=a[0],n[e*4+1]=a[1],n[e*4+2]=a[2],n[e*4+3]=r?1:a[3]}C.setPointColors(n);let r=[...l()][0];if(r!==void 0){let t=e.get(r);t!==void 0&&C.zoomToPointByIndex(t,500,2,!1)}setTimeout(()=>{if(!C)return;let e=new Float32Array(i.nodes.length*4);for(let t=0;t<i.nodes.length;t++){let n=m.get(i.nodes[t].substrate)??[.5,.5,.5,.9];e[t*4]=n[0],e[t*4+1]=n[1],e[t*4+2]=n[2],e[t*4+3]=n[3]}C.setPointColors(e)},1500)}function V(){try{let e=document.createElement(`canvas`);return(e.getContext(`webgl2`)??e.getContext(`webgl`))!==null}catch{return!1}}function H(){if(!(!E||!o(y))){if(C&&=(C.destroy(),null),!V()){p(w,!0),p(T,`WebGL not available in this browser`),i.onInitFailed?.(`WebGL not available in this browser`);return}m.clear();for(let e of q)m.set(e,f(u[e],.9));try{let{positions:e,colors:t,sizes:n,links:r,linkColors:a,linkWidths:s,idToIndex:c,idxToId:u,idxToNode:d}=z();N=u,F=d;let f=U(`--bg`,`black`),m=U(`--text-dim`,`gray`),h=U(`--border-strong`,`gray`),g={backgroundColor:f,spaceSize:4096,pointColor:m,pointSize:4,renderHoveredPointRing:!0,hoveredPointRingColor:U(`--text`,`white`),hoveredPointCursor:`pointer`,linkColor:h,linkWidth:.1,linkGreyoutOpacity:0,renderLinks:!0,curvedLinks:!0,simulationLinkDistance:1,simulationLinkSpring:2,simulationRepulsion:.2,simulationGravity:.1,simulationDecay:1e5,onClick:e=>{if(e===void 0){i.onCanvasClear?.();return}let t=F[e];t!==void 0&&i.onNodeSelect?.(t)}};if(C=new ee(o(y),g),C.setPointPositions(e),C.setPointColors(t),C.setPointSizes(n),C.setLinks(r),C.setLinkColors(a),C.setLinkWidths(s),C.zoom(.9),C.render(),D=!0,l().size>0){let e=new Map;for(let t=0;t<u.length;t++){let n=u[t];n!==void 0&&e.set(n,t)}B(e)}setTimeout(()=>{C&&C.fitView(800,.18)},3e3),p(w,!1),p(T,``)}catch(e){C=null,D=!1,p(w,!0);let t=e instanceof Error?e.message:`cosmos.gl renderer failed to initialise`;p(T,t,!0),i.onInitFailed?.(t)}}}function U(e,t){return typeof document>`u`||typeof window>`u`?t:window.getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}function W(){if(!o(y))return;let e=o(y);if(e.clientWidth>0&&e.clientHeight>0){H();return}k?.disconnect(),k=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;if(e>0&&n>0){k?.disconnect(),k=null,H();return}}}),k.observe(e)}P(()=>{E=!0,requestAnimationFrame(()=>{requestAnimationFrame(()=>{E&&W()})})}),A(()=>{E=!1,D=!1,k?.disconnect(),k=null,C?.destroy(),C=null}),h(()=>{let e=i.nodes.length,t=i.edges.length;D&&(e===L&&t===R||(L=e,R=t,H()))}),h(()=>{if(l().size===0||!D)return;let e=new Map;for(let t=0;t<N.length;t++){let n=N[t];n!==void 0&&e.set(n,t)}B(e)});var G=_e(),te=s(G),ne=e=>{var t=me(),i=_(s(t),2),c=_(s(i)),l=e=>{var t=pe(),r=s(t);I(t),a(()=>n(r,`(${o(T)??``})`)),d(e,t)};r(c,e=>{o(T)&&e(l)}),I(i),I(t),d(e,t)},re=e=>{var t=ge(),n=v(t);j(n,e=>p(y,e),()=>o(y));var a=_(n,2),s=e=>{d(e,he())};r(a,e=>{i.nodes.length===0&&e(s)}),O(2),d(e,t)};r(te,e=>{o(w)?e(ne):e(re,-1)}),I(G),a(()=>b(G,`height: ${c()??``}; position: relative;`)),d(t,G),S()}var Q=t(`<button type="button"><span aria-hidden="true"></span> <span class="edge-name svelte-xiv1be"> </span></button>`),ye=t(`<footer class="controls-dock svelte-xiv1be" aria-label="Canvas controls"><div class="dock-section controls-toggles svelte-xiv1be"><span class="dock-eyebrow svelte-xiv1be">Canvas</span> <div class="toggle-group svelte-xiv1be" role="group" aria-label="Canvas visibility toggles"><button type="button" title="Toggle synapse edge lines (s)"><span aria-hidden="true"></span> synapses <kbd class="shortcut-hint svelte-xiv1be" aria-hidden="true">s</kbd></button> <button type="button" title="Show only cross-substrate bridge edges (b)"><span aria-hidden="true"></span> bridges only <kbd class="shortcut-hint svelte-xiv1be" aria-hidden="true">b</kbd></button> <button type="button" title="Pause ambient simulation breathing"><span aria-hidden="true"></span> </button></div></div> <div class="dock-divider svelte-xiv1be" aria-hidden="true"></div> <div class="dock-section edge-section svelte-xiv1be"><span class="dock-eyebrow svelte-xiv1be">Edge taxonomy — toggle to filter</span> <div class="edge-grid svelte-xiv1be"></div></div> <div class="dock-actions svelte-xiv1be"><button type="button" class="reset-btn svelte-xiv1be" title="Fit camera to graph (f)" aria-label="Reset camera view to fit the graph">fit view <kbd class="shortcut-hint svelte-xiv1be" aria-hidden="true">f</kbd></button></div></footer>`);function be(e,t){M(t,!0);var r=ye(),i=s(r),c=_(s(i),2),l=s(c);let u;var p=s(l);let m;O(2),I(l);var h=_(l,2);let g;var v=s(h);let y;O(2),I(h);var x=_(h,2);let C;var E=s(x);let D;var k=_(E);I(x),I(c),I(i);var A=_(i,4),j=_(s(A),2);R(j,20,()=>re,e=>e,(e,r)=>{let i=T(()=>ne[r]);var c=Q();let l;var u=s(c);let p;var m=_(u,2),h=s(m,!0);I(m),I(c),a((e,t,a,s)=>{l=L(c,1,`edge-kind svelte-xiv1be`,null,l,e),w(c,`aria-pressed`,t),w(c,`title`,a),p=L(u,1,`edge-swatch svelte-xiv1be`,null,p,s),b(u,`--swatch-color: ${o(i).color??``};`),n(h,r)},[()=>({active:t.enabledKinds.has(r)}),()=>t.enabledKinds.has(r),()=>te(r),()=>({dashed:!!o(i).dash})]),f(`click`,c,()=>t.onToggleKind?.(r)),d(e,c)}),I(j),I(A);var N=_(A,2),P=s(N);I(N),I(r),a(()=>{u=L(l,1,`dock-toggle svelte-xiv1be`,null,u,{active:t.showSynapses}),w(l,`aria-pressed`,t.showSynapses),m=L(p,1,`toggle-dot svelte-xiv1be`,null,m,{on:t.showSynapses}),g=L(h,1,`dock-toggle svelte-xiv1be`,null,g,{active:t.showBridgesOnly}),w(h,`aria-pressed`,t.showBridgesOnly),y=L(v,1,`toggle-dot svelte-xiv1be`,null,y,{on:t.showBridgesOnly}),C=L(x,1,`dock-toggle svelte-xiv1be`,null,C,{active:t.breathingPaused}),w(x,`aria-pressed`,t.breathingPaused),D=L(E,1,`toggle-dot svelte-xiv1be`,null,D,{on:t.breathingPaused}),n(k,` ${t.breathingPaused?`paused`:`breathing`}`)}),f(`click`,l,function(...e){t.onToggleSynapses?.apply(this,e)}),f(`click`,h,function(...e){t.onToggleBridgesOnly?.apply(this,e)}),f(`click`,x,function(...e){t.onToggleBreathing?.apply(this,e)}),f(`click`,P,function(...e){t.onResetView?.apply(this,e)}),d(e,r),S()}u([`click`]);var xe=t(`<div class="ghost-cluster svelte-trzjgq"><div class="ghost-label svelte-trzjgq"><span class="ghost-substrate svelte-trzjgq"> </span> <span class="ghost-dash svelte-trzjgq">·</span> <span class="ghost-count svelte-trzjgq">—</span> <span class="ghost-dash svelte-trzjgq">·</span> <span class="ghost-count svelte-trzjgq">—</span></div> <div class="shimmer-overlay svelte-trzjgq"></div></div>`),Se=t(`<div class="ghost-dot svelte-trzjgq"></div>`),Ce=t(`<div class="skeleton-canvas svelte-trzjgq" aria-hidden="true" data-brain-skeleton=""><div class="ambient-glow svelte-trzjgq"></div> <!> <div class="ghost-dots svelte-trzjgq" aria-hidden="true"></div> <div class="scan-line svelte-trzjgq"></div></div>`);function we(e,t){let i=x(t,`visible`,3,!0),c=x(t,`height`,3,`100%`),l=[{id:`brain`,label:`BRAIN`,cssVar:`var(--info)`,top:`18%`,left:`22%`,width:`22%`,height:`14%`},{id:`nexus`,label:`NEXUS`,cssVar:`var(--success)`,top:`42%`,left:`52%`,width:`26%`,height:`16%`},{id:`tasks`,label:`TASKS`,cssVar:`var(--warning)`,top:`62%`,left:`20%`,width:`20%`,height:`12%`},{id:`conduit`,label:`CONDUIT`,cssVar:`var(--accent)`,top:`28%`,left:`58%`,width:`16%`,height:`10%`},{id:`agent-registry`,label:`SIGNALDOCK`,cssVar:`var(--danger)`,top:`70%`,left:`55%`,width:`18%`,height:`10%`}];var u=D(),f=v(u),p=e=>{var t=Ce(),r=_(s(t),2);R(r,17,()=>l,e=>e.id,(e,t)=>{var r=xe(),i=s(r),c=s(i),l=s(c,!0);I(c),O(8),I(i),O(2),I(r),a(()=>{b(r,`
|
|
1
|
+
import{$ as e,A as t,D as n,E as r,F as i,H as a,I as o,J as s,K as c,M as l,N as u,O as d,P as f,Q as p,T as m,U as h,V as g,X as _,Y as v,Z as y,_ as b,a as x,at as S,c as C,d as w,et as T,ft as E,k as D,lt as O,m as k,n as A,o as j,ot as M,q as N,r as P,u as F,ut as I,v as L,w as R,x as z}from"../chunks/DyGQ_VXC.js";import"../chunks/CQCxd1p9.js";import{t as B}from"../chunks/BUGCWghM.js";import{a as V,i as H,n as U,r as W,t as G}from"../chunks/CEqOYim7.js";import{n as ee}from"../chunks/o1PZ6Kzq.js";import{a as te,i as ne,r as re,s as K}from"../chunks/RptFUp2P.js";import{n as q,t as ie}from"../chunks/Bxz2A0ZC.js";function ae(e){let t=e.url??`/api/brain/stream`,n=e.initialReconnectMs??2e3,r=e.maxReconnectMs??3e4,i=e.callbacks,a=null,o=!1,s=n,c=null,l=`connecting`,u=e=>{l!==e&&(l=e,i.onStatus?.(e))},d=()=>{o||c===null&&(c=setTimeout(()=>{c=null,!o&&(s=Math.min(s*2,r),p())},s))},f=e=>{let t;try{t=JSON.parse(e)}catch(e){i.onError?.(e instanceof Error?e:Error(`Malformed SSE payload`));return}switch(t.type){case`hello`:u(`connected`),i.onConnect?.();return;case`heartbeat`:i.onHeartbeat?.(t);return;case`node.create`:i.onNodeCreate?.(t);return;case`edge.strengthen`:i.onEdgeStrengthen?.(t);return;case`task.status`:i.onTaskStatus?.(t);return;case`message.send`:i.onMessageSend?.(t);return}},p=()=>{if(o)return;if(typeof EventSource>`u`){i.onError?.(Error(`EventSource is not available in this environment`));return}u(`connecting`);let e=new EventSource(t);a=e,e.onopen=()=>{if(o){e.close();return}s=n,u(`connected`)},e.onmessage=e=>{o||f(e.data)},e.onerror=()=>{e.close(),a=null,!o&&(u(`error`),d())}};return p(),{dispose:()=>{o||(o=!0,c!==null&&(clearTimeout(c),c=null),a?.close(),a=null,u(`disconnected`))},status:()=>l}}function oe(e){let t=e>>>0;return t===0&&(t=2654435761),()=>(t^=t<<13,t^=t>>>17,t^=t<<5,t>>>=0,t/4294967295)}var se={brain:[`observation`,`decision`,`pattern`,`learning`],nexus:[`symbol`,`file`,`community`],tasks:[`task`,`session`],conduit:[`message`],"agent-registry":[`agent`]},ce={brain:[`supersedes`,`contradicts`,`derived_from`,`cites`,`references`,`documents`],nexus:[`calls`,`extends`,`implements`,`imports`,`accesses`,`defines`,`contains`,`has_method`,`has_property`],tasks:[`blocks`,`depends`,`parent`],conduit:[`messages`,`fires`],"agent-registry":[`messages`,`co_fires`]},J=[`references`,`relates_to`,`documents`,`informed_by`,`produced_by`];function le(e=400,t=600,n=3252719635){let r=oe(n),i=[],a=[],o={brain:Math.round(e*.3),nexus:Math.round(e*.35),tasks:Math.round(e*.15),conduit:Math.round(e*.12),"agent-registry":0},s=o.brain+o.nexus+o.tasks+o.conduit;o[`agent-registry`]=Math.max(0,e-s);for(let e of q){let t=o[e],s=se[e],c=ue(e,Math.min(5,Math.max(1,Math.floor(t/30)))),l=Object.fromEntries(c.map(e=>[e.id,[]]));for(let a=0;a<t;a++){let t=s[Math.floor(r()*s.length)],o=Math.floor(r()*c.length),u=c[o]?.id,d=`${e}:${t}-${a.toString(36)}-${n.toString(36).slice(-3)}`,f=Z(r()*.85+.1,3),p=Z(r(),3),m=a<c.length||r()>.95,h=de(e,t,a);i.push({id:d,substrate:e,kind:t,label:h,category:u,weight:m?Math.max(.82,f):f,freshness:p,meta:{isHub:m,clusterLabel:c[o]?.label??null}}),u&&l[u]?.push(d)}for(let t of c)a.push({id:t.id,label:t.label,substrate:e,memberIds:l[t.id]??[]})}let c=[],l=new Set,u=fe(i),d=0,f=t*4;for(;c.length<t&&d<f;){d++;let e=i[Math.floor(r()*i.length)],t=r()<.25,n,a;if(t){let t=e.substrate;for(;t===e.substrate;)t=q[Math.floor(r()*q.length)];let i=u[t];if(!i||i.length===0)continue;n=i[Math.floor(r()*i.length)],a=J[Math.floor(r()*J.length)]}else if(n=i[Math.floor(r()*i.length)],n.substrate!==e.substrate)a=J[Math.floor(r()*J.length)];else{let t=ce[e.substrate];a=t[Math.floor(r()*t.length)]}if(n.id===e.id)continue;let o=`${e.id}>${n.id}:${a}`;l.has(o)||(l.add(o),c.push({id:`e${c.length.toString(36)}`,source:e.id,target:n.id,kind:a,weight:Z(r()*.7+.15,3),directional:!0,meta:{crossSubstrate:t}}))}return{nodes:i,edges:c,clusters:a}}function ue(e,t){let n={brain:[`Cortex`,`Hippocampus`,`Reflexes`,`Lineage`,`Atlas`],nexus:[`Core`,`Dispatch`,`Memory Bridge`,`Session Runtime`,`Brain Adapter`],tasks:[`Epic`,`Backlog`,`In Flight`,`Release`],conduit:[`Agent Chatter`,`System Events`,`Broadcast`],"agent-registry":[`Orchestrators`,`Leads`,`Workers`]}[e];return Array.from({length:t},(t,r)=>({id:`${e}:cluster:${n[r%n.length]}:${r}`,label:`${n[r%n.length]}`}))}function de(e,t,n){let r=n.toString(36);switch(e){case`brain`:return t===`decision`?`D-${r}: canonicalise ${Y([`envelope`,`registry`,`cluster`],n)}`:t===`pattern`?`P-${r}: ${Y([`rate-limit`,`cache-warm`,`retry-backoff`],n)}`:t===`learning`?`L-${r}: ${Y([`ssoT drift`,`flake source`,`slow path`],n)}`:`O-${r}: ${Y([`observed`,`resolved`,`noted`],n)} ${Y([`fix`,`regression`,`pattern`],n)}`;case`nexus`:return t===`file`?`src/${Y([`dispatch`,`engines`,`adapters`,`stores`],n)}/${Y([`index`,`bridge`,`harness`,`runtime`],n)}.ts`:t===`community`?`cluster-${r}`:`${Y([`register`,`resolve`,`build`,`spawn`,`emit`],n)}${X(Y([`Provider`,`Engine`,`Adapter`,`Bridge`,`Session`],n))}`;case`tasks`:return t===`session`?`ses_${r}`:`T${(n+100).toString(10)}: ${Y([`wire`,`ship`,`audit`,`repair`],n)} ${Y([`brain`,`nexus`,`harness`,`payload`],n)}`;case`conduit`:return`msg_${r} → ${Y([`orchestrator`,`worker-a`,`worker-b`],n)}`;case`agent-registry`:return`${Y([`orc`,`lead`,`wk`],n)}-${r}`}}function Y(e,t){return e[t%e.length]}function X(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}function Z(e,t){let n=10**t;return Math.round(e*n)/n}function fe(e){let t={brain:[],nexus:[],tasks:[],conduit:[],"agent-registry":[]};for(let n of e)t[n.substrate].push(n);return t}var pe=t(`<span class="lbc-fallback-reason svelte-1fx55sa"> </span>`),me=t(`<div class="lbc-fallback svelte-1fx55sa"><span class="lbc-fallback-icon svelte-1fx55sa">!</span> <span class="lbc-fallback-msg">GPU renderer unavailable — using 3D <!></span></div>`),he=t(`<div class="lbc-empty svelte-1fx55sa">No data to display</div>`),ge=t(`<div class="lbc-canvas svelte-1fx55sa"></div> <!> <div class="lbc-badge svelte-1fx55sa" aria-label="GPU-accelerated renderer active">GPU</div>`,1),_e=t(`<div class="lbc-wrap svelte-1fx55sa"><!></div>`);function ve(t,i){M(i,!0);let c=x(i,`height`,3,`100%`),l=x(i,`pulsingNodes`,19,()=>new Set),u={brain:`var(--info)`,nexus:`var(--success)`,tasks:`var(--warning)`,conduit:`var(--accent)`,"agent-registry":`var(--danger)`};function f(e,t=.9){if(typeof document>`u`||typeof window>`u`)return[.5,.5,.5,t];let n=document.createElement(`span`);n.style.color=e,n.style.position=`absolute`,n.style.visibility=`hidden`,document.body.appendChild(n);let r=window.getComputedStyle(n).color;document.body.removeChild(n);let i=/rgba?\(([^)]+)\)/i.exec(r);if(!i)return[1,1,1,t];let a=i[1].split(/[,\s/]+/).filter(e=>e.length>0);return[Number.parseFloat(a[0])/255,Number.parseFloat(a[1])/255,Number.parseFloat(a[2])/255,t]}let m=new Map;function g(e){return 4+(e.weight??.3)*14}let y=e(null),C=null,w=e(!1),T=e(``),E=!1,D=!1,k=null,N=[],F=[],L=-1,R=-1;function z(){let e=new Map,t=[],n=[];i.nodes.forEach((r,i)=>{e.set(r.id,i),t.push(r.id),n.push(r)});let r=4096,a=r/2,o=r*.01,s=new Float32Array(i.nodes.length*2);for(let e=0;e<i.nodes.length;e++)s[e*2]=a+(Math.random()-.5)*o,s[e*2+1]=a+(Math.random()-.5)*o;let c=new Float32Array(i.nodes.length*4);for(let e=0;e<i.nodes.length;e++){let t=m.get(i.nodes[e].substrate)??[.5,.5,.5,.9];c[e*4]=t[0],c[e*4+1]=t[1],c[e*4+2]=t[2],c[e*4+3]=t[3]}let l=new Float32Array(i.nodes.length);for(let e=0;e<i.nodes.length;e++)l[e]=g(i.nodes[e]);let u=[],d=new Set;for(let t of i.edges){if(t.source===t.target||!e.has(t.source)||!e.has(t.target))continue;let n=`${t.source}|${t.target}`;d.has(n)||(d.add(n),u.push(t))}let f=new Float32Array(u.length*2),p=new Float32Array(u.length*4),h=new Float32Array(u.length);for(let t=0;t<u.length;t++){let n=u[t],r=e.get(n.source)??0,i=e.get(n.target)??0;f[t*2]=r,f[t*2+1]=i;let a=K(n.kind);p[t*4]=a[0],p[t*4+1]=a[1],p[t*4+2]=a[2],p[t*4+3]=.7,h[t]=.5+(n.weight??.5)*2.5}return{positions:s,colors:c,sizes:l,links:f,linkColors:p,linkWidths:h,idToIndex:e,idxToId:t,idxToNode:n}}function B(e){if(!C||l().size===0)return;let t=f(`var(--text)`,1),n=new Float32Array(i.nodes.length*4);for(let e=0;e<i.nodes.length;e++){let r=l().has(i.nodes[e].id),a=r?t:m.get(i.nodes[e].substrate)??[.5,.5,.5,.9];n[e*4]=a[0],n[e*4+1]=a[1],n[e*4+2]=a[2],n[e*4+3]=r?1:a[3]}C.setPointColors(n);let r=[...l()][0];if(r!==void 0){let t=e.get(r);t!==void 0&&C.zoomToPointByIndex(t,500,2,!1)}setTimeout(()=>{if(!C)return;let e=new Float32Array(i.nodes.length*4);for(let t=0;t<i.nodes.length;t++){let n=m.get(i.nodes[t].substrate)??[.5,.5,.5,.9];e[t*4]=n[0],e[t*4+1]=n[1],e[t*4+2]=n[2],e[t*4+3]=n[3]}C.setPointColors(e)},1500)}function V(){try{let e=document.createElement(`canvas`);return(e.getContext(`webgl2`)??e.getContext(`webgl`))!==null}catch{return!1}}function H(){if(!(!E||!o(y))){if(C&&=(C.destroy(),null),!V()){p(w,!0),p(T,`WebGL not available in this browser`),i.onInitFailed?.(`WebGL not available in this browser`);return}m.clear();for(let e of q)m.set(e,f(u[e],.9));try{let{positions:e,colors:t,sizes:n,links:r,linkColors:a,linkWidths:s,idToIndex:c,idxToId:u,idxToNode:d}=z();N=u,F=d;let f=U(`--bg`,`black`),m=U(`--text-dim`,`gray`),h=U(`--border-strong`,`gray`),g={backgroundColor:f,spaceSize:4096,pointColor:m,pointSize:4,renderHoveredPointRing:!0,hoveredPointRingColor:U(`--text`,`white`),hoveredPointCursor:`pointer`,linkColor:h,linkWidth:.1,linkGreyoutOpacity:0,renderLinks:!0,curvedLinks:!0,simulationLinkDistance:1,simulationLinkSpring:2,simulationRepulsion:.2,simulationGravity:.1,simulationDecay:1e5,onClick:e=>{if(e===void 0){i.onCanvasClear?.();return}let t=F[e];t!==void 0&&i.onNodeSelect?.(t)}};if(C=new ee(o(y),g),C.setPointPositions(e),C.setPointColors(t),C.setPointSizes(n),C.setLinks(r),C.setLinkColors(a),C.setLinkWidths(s),C.zoom(.9),C.render(),D=!0,l().size>0){let e=new Map;for(let t=0;t<u.length;t++){let n=u[t];n!==void 0&&e.set(n,t)}B(e)}setTimeout(()=>{C&&C.fitView(800,.18)},3e3),p(w,!1),p(T,``)}catch(e){C=null,D=!1,p(w,!0);let t=e instanceof Error?e.message:`cosmos.gl renderer failed to initialise`;p(T,t,!0),i.onInitFailed?.(t)}}}function U(e,t){return typeof document>`u`||typeof window>`u`?t:window.getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}function W(){if(!o(y))return;let e=o(y);if(e.clientWidth>0&&e.clientHeight>0){H();return}k?.disconnect(),k=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;if(e>0&&n>0){k?.disconnect(),k=null,H();return}}}),k.observe(e)}P(()=>{E=!0,requestAnimationFrame(()=>{requestAnimationFrame(()=>{E&&W()})})}),A(()=>{E=!1,D=!1,k?.disconnect(),k=null,C?.destroy(),C=null}),h(()=>{let e=i.nodes.length,t=i.edges.length;D&&(e===L&&t===R||(L=e,R=t,H()))}),h(()=>{if(l().size===0||!D)return;let e=new Map;for(let t=0;t<N.length;t++){let n=N[t];n!==void 0&&e.set(n,t)}B(e)});var G=_e(),te=s(G),ne=e=>{var t=me(),i=_(s(t),2),c=_(s(i)),l=e=>{var t=pe(),r=s(t);I(t),a(()=>n(r,`(${o(T)??``})`)),d(e,t)};r(c,e=>{o(T)&&e(l)}),I(i),I(t),d(e,t)},re=e=>{var t=ge(),n=v(t);j(n,e=>p(y,e),()=>o(y));var a=_(n,2),s=e=>{d(e,he())};r(a,e=>{i.nodes.length===0&&e(s)}),O(2),d(e,t)};r(te,e=>{o(w)?e(ne):e(re,-1)}),I(G),a(()=>b(G,`height: ${c()??``}; position: relative;`)),d(t,G),S()}var Q=t(`<button type="button"><span aria-hidden="true"></span> <span class="edge-name svelte-xiv1be"> </span></button>`),ye=t(`<footer class="controls-dock svelte-xiv1be" aria-label="Canvas controls"><div class="dock-section controls-toggles svelte-xiv1be"><span class="dock-eyebrow svelte-xiv1be">Canvas</span> <div class="toggle-group svelte-xiv1be" role="group" aria-label="Canvas visibility toggles"><button type="button" title="Toggle synapse edge lines (s)"><span aria-hidden="true"></span> synapses <kbd class="shortcut-hint svelte-xiv1be" aria-hidden="true">s</kbd></button> <button type="button" title="Show only cross-substrate bridge edges (b)"><span aria-hidden="true"></span> bridges only <kbd class="shortcut-hint svelte-xiv1be" aria-hidden="true">b</kbd></button> <button type="button" title="Pause ambient simulation breathing"><span aria-hidden="true"></span> </button></div></div> <div class="dock-divider svelte-xiv1be" aria-hidden="true"></div> <div class="dock-section edge-section svelte-xiv1be"><span class="dock-eyebrow svelte-xiv1be">Edge taxonomy — toggle to filter</span> <div class="edge-grid svelte-xiv1be"></div></div> <div class="dock-actions svelte-xiv1be"><button type="button" class="reset-btn svelte-xiv1be" title="Fit camera to graph (f)" aria-label="Reset camera view to fit the graph">fit view <kbd class="shortcut-hint svelte-xiv1be" aria-hidden="true">f</kbd></button></div></footer>`);function be(e,t){M(t,!0);var r=ye(),i=s(r),c=_(s(i),2),l=s(c);let u;var p=s(l);let m;O(2),I(l);var h=_(l,2);let g;var v=s(h);let y;O(2),I(h);var x=_(h,2);let C;var E=s(x);let D;var k=_(E);I(x),I(c),I(i);var A=_(i,4),j=_(s(A),2);R(j,20,()=>re,e=>e,(e,r)=>{let i=T(()=>ne[r]);var c=Q();let l;var u=s(c);let p;var m=_(u,2),h=s(m,!0);I(m),I(c),a((e,t,a,s)=>{l=L(c,1,`edge-kind svelte-xiv1be`,null,l,e),w(c,`aria-pressed`,t),w(c,`title`,a),p=L(u,1,`edge-swatch svelte-xiv1be`,null,p,s),b(u,`--swatch-color: ${o(i).color??``};`),n(h,r)},[()=>({active:t.enabledKinds.has(r)}),()=>t.enabledKinds.has(r),()=>te(r),()=>({dashed:!!o(i).dash})]),f(`click`,c,()=>t.onToggleKind?.(r)),d(e,c)}),I(j),I(A);var N=_(A,2),P=s(N);I(N),I(r),a(()=>{u=L(l,1,`dock-toggle svelte-xiv1be`,null,u,{active:t.showSynapses}),w(l,`aria-pressed`,t.showSynapses),m=L(p,1,`toggle-dot svelte-xiv1be`,null,m,{on:t.showSynapses}),g=L(h,1,`dock-toggle svelte-xiv1be`,null,g,{active:t.showBridgesOnly}),w(h,`aria-pressed`,t.showBridgesOnly),y=L(v,1,`toggle-dot svelte-xiv1be`,null,y,{on:t.showBridgesOnly}),C=L(x,1,`dock-toggle svelte-xiv1be`,null,C,{active:t.breathingPaused}),w(x,`aria-pressed`,t.breathingPaused),D=L(E,1,`toggle-dot svelte-xiv1be`,null,D,{on:t.breathingPaused}),n(k,` ${t.breathingPaused?`paused`:`breathing`}`)}),f(`click`,l,function(...e){t.onToggleSynapses?.apply(this,e)}),f(`click`,h,function(...e){t.onToggleBridgesOnly?.apply(this,e)}),f(`click`,x,function(...e){t.onToggleBreathing?.apply(this,e)}),f(`click`,P,function(...e){t.onResetView?.apply(this,e)}),d(e,r),S()}u([`click`]);var xe=t(`<div class="ghost-cluster svelte-trzjgq"><div class="ghost-label svelte-trzjgq"><span class="ghost-substrate svelte-trzjgq"> </span> <span class="ghost-dash svelte-trzjgq">·</span> <span class="ghost-count svelte-trzjgq">—</span> <span class="ghost-dash svelte-trzjgq">·</span> <span class="ghost-count svelte-trzjgq">—</span></div> <div class="shimmer-overlay svelte-trzjgq"></div></div>`),Se=t(`<div class="ghost-dot svelte-trzjgq"></div>`),Ce=t(`<div class="skeleton-canvas svelte-trzjgq" aria-hidden="true" data-brain-skeleton=""><div class="ambient-glow svelte-trzjgq"></div> <!> <div class="ghost-dots svelte-trzjgq" aria-hidden="true"></div> <div class="scan-line svelte-trzjgq"></div></div>`);function we(e,t){let i=x(t,`visible`,3,!0),c=x(t,`height`,3,`100%`),l=[{id:`brain`,label:`BRAIN`,cssVar:`var(--info)`,top:`18%`,left:`22%`,width:`22%`,height:`14%`},{id:`nexus`,label:`NEXUS`,cssVar:`var(--success)`,top:`42%`,left:`52%`,width:`26%`,height:`16%`},{id:`tasks`,label:`TASKS`,cssVar:`var(--warning)`,top:`62%`,left:`20%`,width:`20%`,height:`12%`},{id:`conduit`,label:`CONDUIT`,cssVar:`var(--accent)`,top:`28%`,left:`58%`,width:`16%`,height:`10%`},{id:`agent-registry`,label:`SIGNALDOCK`,cssVar:`var(--danger)`,top:`70%`,left:`55%`,width:`18%`,height:`10%`}];var u=D(),f=v(u),p=e=>{var t=Ce(),r=_(s(t),2);R(r,17,()=>l,e=>e.id,(e,t)=>{var r=xe(),i=s(r),c=s(i),l=s(c,!0);I(c),O(8),I(i),O(2),I(r),a(()=>{b(r,`
|
|
2
2
|
top: ${o(t).top??``};
|
|
3
3
|
left: ${o(t).left??``};
|
|
4
4
|
width: ${o(t).width??``};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1786399198029"}
|
|
@@ -116,11 +116,11 @@ var _layout_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
116
116
|
|
|
117
117
|
const index = 0;
|
|
118
118
|
let component_cache;
|
|
119
|
-
const component = async () => component_cache ??= (await import('./_layout.svelte-
|
|
119
|
+
const component = async () => component_cache ??= (await import('./_layout.svelte-Bt5JLnI6.js')).default;
|
|
120
120
|
const server_id = "src/routes/+layout.server.ts";
|
|
121
|
-
const imports = ["_app/immutable/nodes/0.
|
|
121
|
+
const imports = ["_app/immutable/nodes/0.DukdGTgf.js","_app/immutable/chunks/DE-1PFLR.js","_app/immutable/chunks/Buy7LnV8.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/CQCxd1p9.js"];
|
|
122
122
|
const stylesheets = ["_app/immutable/assets/0.BAKYIbXL.css"];
|
|
123
123
|
const fonts = ["_app/immutable/assets/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2","_app/immutable/assets/inter-cyrillic-wght-normal.DqGufNeO.woff2","_app/immutable/assets/inter-greek-ext-wght-normal.DlzME5K_.woff2","_app/immutable/assets/inter-greek-wght-normal.CkhJZR-_.woff2","_app/immutable/assets/inter-vietnamese-wght-normal.CBcvBZtf.woff2","_app/immutable/assets/inter-latin-ext-wght-normal.DO1Apj_S.woff2","_app/immutable/assets/inter-latin-wght-normal.Dx4kXJAl.woff2","_app/immutable/assets/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2","_app/immutable/assets/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2","_app/immutable/assets/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2","_app/immutable/assets/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2","_app/immutable/assets/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2"];
|
|
124
124
|
|
|
125
125
|
export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
|
|
126
|
-
//# sourceMappingURL=0-
|
|
126
|
+
//# sourceMappingURL=0-Cj8lp-vV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0-
|
|
1
|
+
{"version":3,"file":"0-Cj8lp-vV.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["import { i as listRegisteredProjects, r as getActiveProjectId } from \"../../chunks/project-context.js\";\n//#region src/routes/+layout.server.ts\n/**\n* Root layout server load — supplies active project context and full project\n* list to every page in CLEO Studio so the header ProjectSelector has data\n* without requiring a per-page load function.\n*\n* @task T646\n*/\nvar load = ({ cookies }) => {\n\tconst activeProjectId = getActiveProjectId(cookies);\n\treturn {\n\t\tprojects: listRegisteredProjects(),\n\t\tactiveProjectId\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.DukdGTgf.js\",\"_app/immutable/chunks/DE-1PFLR.js\",\"_app/immutable/chunks/Buy7LnV8.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.BAKYIbXL.css\"];\nexport const fonts = [\"_app/immutable/assets/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2\",\"_app/immutable/assets/inter-cyrillic-wght-normal.DqGufNeO.woff2\",\"_app/immutable/assets/inter-greek-ext-wght-normal.DlzME5K_.woff2\",\"_app/immutable/assets/inter-greek-wght-normal.CkhJZR-_.woff2\",\"_app/immutable/assets/inter-vietnamese-wght-normal.CBcvBZtf.woff2\",\"_app/immutable/assets/inter-latin-ext-wght-normal.DO1Apj_S.woff2\",\"_app/immutable/assets/inter-latin-wght-normal.Dx4kXJAl.woff2\",\"_app/immutable/assets/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2\",\"_app/immutable/assets/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2\",\"_app/immutable/assets/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2\",\"_app/immutable/assets/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2\",\"_app/immutable/assets/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2\"];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK;AAC5B,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC;AACpD,CAAC,OAAO;AACR,EAAE,QAAQ,EAAE,sBAAsB,EAAE;AACpC,EAAE;AACF,EAAE;AACF,CAAC;;;;;;;ACbW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpO,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG,CAAC,qEAAqE,CAAC,iEAAiE,CAAC,kEAAkE,CAAC,8DAA8D,CAAC,mEAAmE,CAAC,kEAAkE,CAAC,8DAA8D,CAAC,0EAA0E,CAAC,uEAAuE,CAAC,4EAA4E,CAAC,2EAA2E,CAAC,uEAAuE;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const index = 1;
|
|
2
2
|
let component_cache;
|
|
3
|
-
const component = async () => component_cache ??= (await import('./error.svelte-
|
|
4
|
-
const imports = ["_app/immutable/nodes/1.
|
|
3
|
+
const component = async () => component_cache ??= (await import('./error.svelte-uwNG2w3h.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/1.B5QmqOp_.js","_app/immutable/chunks/BUGCWghM.js","_app/immutable/chunks/Buy7LnV8.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/CQCxd1p9.js"];
|
|
5
5
|
const stylesheets = [];
|
|
6
6
|
const fonts = [];
|
|
7
7
|
|
|
8
8
|
export { component, fonts, imports, index, stylesheets };
|
|
9
|
-
//# sourceMappingURL=1-
|
|
9
|
+
//# sourceMappingURL=1-mvAddk8l.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1-
|
|
1
|
+
{"version":3,"file":"1-mvAddk8l.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.B5QmqOp_.js\",\"_app/immutable/chunks/BUGCWghM.js\",\"_app/immutable/chunks/Buy7LnV8.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/CQCxd1p9.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpO,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -27,11 +27,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
27
27
|
|
|
28
28
|
const index = 15;
|
|
29
29
|
let component_cache;
|
|
30
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
30
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-BsnroOSv.js')).default;
|
|
31
31
|
const server_id = "src/routes/code/+page.server.ts";
|
|
32
|
-
const imports = ["_app/immutable/nodes/15.
|
|
32
|
+
const imports = ["_app/immutable/nodes/15.C8C7o4Ke.js","_app/immutable/chunks/Buy7LnV8.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/BYc4Jvn4.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/D8NsLz6i.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
|
|
33
33
|
const stylesheets = ["_app/immutable/assets/cluster-label-layer.aRgASjnn.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/nexus-adapter.DuSZKvuH.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/15.CdtiwMjj.css"];
|
|
34
34
|
const fonts = [];
|
|
35
35
|
|
|
36
36
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
37
|
-
//# sourceMappingURL=15-
|
|
37
|
+
//# sourceMappingURL=15-BaFi1Rz0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"15-
|
|
1
|
+
{"version":3,"file":"15-BaFi1Rz0.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/code/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/15.js"],"sourcesContent":["//#region src/routes/code/+page.server.ts\nvar load = async ({ fetch }) => {\n\tconst resp = await fetch(\"/api/nexus\");\n\tif (!resp.ok) return {\n\t\tcommunities: [],\n\t\tedges: [],\n\t\ttotalNodes: 0,\n\t\ttotalRelations: 0,\n\t\tempty: true,\n\t\temptyReason: resp.status === 503 ? \"nexus.db not available\" : `API error ${resp.status}`\n\t};\n\tconst payload = await resp.json();\n\treturn {\n\t\tcommunities: payload.communities,\n\t\tedges: payload.edges,\n\t\ttotalNodes: payload.totalNodes,\n\t\ttotalRelations: payload.totalRelations,\n\t\tempty: payload.communities.length === 0,\n\t\temptyReason: payload.communities.length === 0 ? \"No communities indexed yet. Run `cleo nexus analyze` to populate nexus.db.\" : null\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/code/_page.server.ts.js';\n\nexport const index = 15;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/code/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/code/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/15.C8C7o4Ke.js\",\"_app/immutable/chunks/Buy7LnV8.js\",\"_app/immutable/chunks/DyGQ_VXC.js\",\"_app/immutable/chunks/DrKWWDpL.js\",\"_app/immutable/chunks/BYc4Jvn4.js\",\"_app/immutable/chunks/CQCxd1p9.js\",\"_app/immutable/chunks/D8NsLz6i.js\",\"_app/immutable/chunks/o1PZ6Kzq.js\",\"_app/immutable/chunks/RptFUp2P.js\",\"_app/immutable/chunks/CEqOYim7.js\",\"_app/immutable/chunks/CqF5Lomf.js\"];\nexport const stylesheets = [\"_app/immutable/assets/cluster-label-layer.aRgASjnn.css\",\"_app/immutable/assets/no-face-up.BlswZ73M.css\",\"_app/immutable/assets/nexus-adapter.DuSZKvuH.css\",\"_app/immutable/assets/Tabs.CU9_rsWl.css\",\"_app/immutable/assets/ui.CH-9N9-0.css\",\"_app/immutable/assets/15.CdtiwMjj.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAAA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK;AAChC,CAAC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC;AACvC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO;AACtB,EAAE,WAAW,EAAE,EAAE;AACjB,EAAE,KAAK,EAAE,EAAE;AACX,EAAE,UAAU,EAAE,CAAC;AACf,EAAE,cAAc,EAAE,CAAC;AACnB,EAAE,KAAK,EAAE,IAAI;AACb,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,KAAK,GAAG,GAAG,wBAAwB,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AACzF,EAAE;AACF,CAAC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;AAClC,CAAC,OAAO;AACR,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW;AAClC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;AACtB,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU;AAChC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc;AACxC,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;AACzC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,GAAG,4EAA4E,GAAG;AACjI,EAAE;AACF,CAAC;;;;;;;AClBW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAuC,CAAC,EAAE;AAErG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACzZ,MAAC,WAAW,GAAG,CAAC,wDAAwD,CAAC,+CAA+C,CAAC,kDAAkD,CAAC,yCAAyC,CAAC,uCAAuC,CAAC,uCAAuC;AACrS,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -53,11 +53,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
|
|
|
53
53
|
|
|
54
54
|
const index = 16;
|
|
55
55
|
let component_cache;
|
|
56
|
-
const component = async () => component_cache ??= (await import('./_page.svelte
|
|
56
|
+
const component = async () => component_cache ??= (await import('./_page.svelte--X49zLt2.js')).default;
|
|
57
57
|
const server_id = "src/routes/code/community/[id]/+page.server.ts";
|
|
58
|
-
const imports = ["_app/immutable/nodes/16.
|
|
58
|
+
const imports = ["_app/immutable/nodes/16.gWaB82Pi.js","_app/immutable/chunks/Buy7LnV8.js","_app/immutable/chunks/DyGQ_VXC.js","_app/immutable/chunks/DrKWWDpL.js","_app/immutable/chunks/BYc4Jvn4.js","_app/immutable/chunks/CQCxd1p9.js","_app/immutable/chunks/D8NsLz6i.js","_app/immutable/chunks/o1PZ6Kzq.js","_app/immutable/chunks/RptFUp2P.js","_app/immutable/chunks/CEqOYim7.js","_app/immutable/chunks/CqF5Lomf.js"];
|
|
59
59
|
const stylesheets = ["_app/immutable/assets/cluster-label-layer.aRgASjnn.css","_app/immutable/assets/no-face-up.BlswZ73M.css","_app/immutable/assets/nexus-adapter.DuSZKvuH.css","_app/immutable/assets/Tabs.CU9_rsWl.css","_app/immutable/assets/ui.CH-9N9-0.css","_app/immutable/assets/16.BzOs0cg_.css"];
|
|
60
60
|
const fonts = [];
|
|
61
61
|
|
|
62
62
|
export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
|
|
63
|
-
//# sourceMappingURL=16-
|
|
63
|
+
//# sourceMappingURL=16-DaoLkZbH.js.map
|