@kubitnodes/stellaris 0.3.3 → 0.3.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.
Files changed (31) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/server/index.js +1 -1
  3. package/package.json +1 -1
  4. package/web/dist/assets/{ChannelView-CBWvCs5U.js → ChannelView-CZyYu_Zi.js} +1 -1
  5. package/web/dist/assets/{CitizenView-DKqzTA5L.js → CitizenView-JsI89Tn3.js} +1 -1
  6. package/web/dist/assets/{CitizensView-BtutRBPU.js → CitizensView-7vHTRRIs.js} +1 -1
  7. package/web/dist/assets/{KnowledgeView-DSinMNzK.js → KnowledgeView-eBae2Dix.js} +1 -1
  8. package/web/dist/assets/Markdown-BrvfGmz7.js +31 -0
  9. package/web/dist/assets/{MessageItem-DaQY-yGb.js → MessageItem-DXU3Ovq1.js} +1 -1
  10. package/web/dist/assets/{MetricsView-BBgZsSMk.js → MetricsView-CxXGHRtN.js} +1 -1
  11. package/web/dist/assets/{NeedsYouView-gft672O-.js → NeedsYouView-R-oQddyC.js} +1 -1
  12. package/web/dist/assets/{Overview-C7bUUfnY.js → Overview-D76LQcxp.js} +1 -1
  13. package/web/dist/assets/{ProjectView-CSTwTULB.js → ProjectView-vYKWw1Ck.js} +1 -1
  14. package/web/dist/assets/{ProposalView-B0qXK-Vb.js → ProposalView-dskJSjhm.js} +1 -1
  15. package/web/dist/assets/{ProposalsView-D35XMr14.js → ProposalsView-DQW7OmOU.js} +1 -1
  16. package/web/dist/assets/{RunnersView-DxmadMPv.js → RunnersView-BLwSywI7.js} +1 -1
  17. package/web/dist/assets/{SocietyView-DQ3w5OWp.js → SocietyView-OCdDJqhz.js} +1 -1
  18. package/web/dist/assets/{SubjectThread-XI7ydhsi.js → SubjectThread-DQNXXY4q.js} +1 -1
  19. package/web/dist/assets/TaskFileView-Bl1vm7Op.js +4 -0
  20. package/web/dist/assets/{TaskView-DyZBBjh1.js → TaskView-Bq-vXuc5.js} +1 -1
  21. package/web/dist/assets/{TasksView-nQhDOU_5.js → TasksView-C1cdPYRc.js} +1 -1
  22. package/web/dist/assets/{ThreadCard-BZHmKArH.js → ThreadCard-CliRbP_c.js} +1 -1
  23. package/web/dist/assets/{ThreadForms-TZMoO5-W.js → ThreadForms-C4ytMMBB.js} +1 -1
  24. package/web/dist/assets/{ThreadView-BV2yDunm.js → ThreadView-CvXd68Ml.js} +1 -1
  25. package/web/dist/assets/{citizen-9NPRBOpv.js → citizen-TjyiyFqE.js} +1 -1
  26. package/web/dist/assets/{index-DrMc2vuA.js → index-CADeLxUP.js} +2 -2
  27. package/web/dist/assets/index-iNICYkef.css +2 -0
  28. package/web/dist/index.html +2 -2
  29. package/web/dist/assets/Markdown-CwjhVNEk.js +0 -31
  30. package/web/dist/assets/TaskFileView-7ljZ5Olx.js +0 -1
  31. package/web/dist/assets/index-C3ujZpqY.css +0 -2
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChannelView-CBWvCs5U.js","assets/format-8m6fdeP8.js","assets/MessageItem-DaQY-yGb.js","assets/tasks-Di8iatzY.js","assets/Markdown-CwjhVNEk.js","assets/Pane-JzhKR0rO.js","assets/ThreadCard-BZHmKArH.js","assets/ThreadForms-TZMoO5-W.js","assets/useStickyScroll-BPuANcOs.js","assets/ThreadView-BV2yDunm.js","assets/SocietyView-DQ3w5OWp.js","assets/Overview-C7bUUfnY.js","assets/citizen-9NPRBOpv.js","assets/ProjectView-CSTwTULB.js","assets/KnowledgeView-DSinMNzK.js","assets/TasksView-nQhDOU_5.js","assets/TaskView-DyZBBjh1.js","assets/SubjectThread-XI7ydhsi.js","assets/TaskFileView-7ljZ5Olx.js","assets/MetricsView-BBgZsSMk.js","assets/CitizensView-BtutRBPU.js","assets/NeedsYouView-gft672O-.js","assets/RunnersView-DxmadMPv.js","assets/ProposalsView-D35XMr14.js","assets/ProposalView-B0qXK-Vb.js","assets/CitizenView-DKqzTA5L.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ChannelView-CZyYu_Zi.js","assets/format-8m6fdeP8.js","assets/MessageItem-DXU3Ovq1.js","assets/tasks-Di8iatzY.js","assets/Markdown-BrvfGmz7.js","assets/Pane-JzhKR0rO.js","assets/ThreadCard-CliRbP_c.js","assets/ThreadForms-C4ytMMBB.js","assets/useStickyScroll-BPuANcOs.js","assets/ThreadView-CvXd68Ml.js","assets/SocietyView-OCdDJqhz.js","assets/Overview-D76LQcxp.js","assets/citizen-TjyiyFqE.js","assets/ProjectView-vYKWw1Ck.js","assets/KnowledgeView-eBae2Dix.js","assets/TasksView-C1cdPYRc.js","assets/TaskView-Bq-vXuc5.js","assets/SubjectThread-DQNXXY4q.js","assets/TaskFileView-Bl1vm7Op.js","assets/MetricsView-CxXGHRtN.js","assets/CitizensView-7vHTRRIs.js","assets/NeedsYouView-R-oQddyC.js","assets/RunnersView-BLwSywI7.js","assets/ProposalsView-DQW7OmOU.js","assets/ProposalView-dskJSjhm.js","assets/CitizenView-JsI89Tn3.js"])))=>i.map(i=>d[i]);
2
2
  import{$ as e,$t as t,A as n,At as r,B as i,Bt as a,C as o,Ct as s,D as c,Dt as l,E as u,Et as d,Ft as f,G as p,Gt as m,H as h,Ht as g,It as _,Jt as v,K as y,Kt as b,L as ee,Lt as x,Mt as S,N as C,Nt as te,Ot as w,P as T,Pt as ne,Q as re,Qt as ie,R as ae,Rt as oe,S as se,St as ce,T as le,Tt as ue,U as de,Ut as fe,V as pe,Vt as me,W as he,Wt as ge,X as _e,Xt as ve,Y as ye,Z as be,Zt as xe,_n as Se,an as E,at as D,bn as Ce,bt as we,cn as Te,dn as Ee,dt as De,en as O,et as Oe,fn as ke,gn as Ae,hn as je,ht as Me,i as Ne,in as Pe,it as Fe,jt as Ie,k as Le,kt as Re,l as ze,ln as Be,m as Ve,mn as He,mt as Ue,n as We,nn as Ge,o as Ke,on as qe,ot as Je,pn as Ye,q as Xe,qt as Ze,r as Qe,rn as $e,rt as et,s as tt,sn as nt,st as rt,t as it,tn as at,tt as ot,un as st,ut as ct,v as lt,vn as ut,wt as dt,x as ft,xt as k,y as pt,yt as mt,z as ht,zt as gt}from"./format-8m6fdeP8.js";import{a as _t,n as vt,r as yt,s as bt,t as xt}from"./tasks-Di8iatzY.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var St=class extends xe{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Ct(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=ie({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),O.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Ct(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var wt=class extends Ge{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new St({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=Tt(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=Tt(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=Tt(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=Tt(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){O.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>qe(t,e))}findAll(e={}){return this.getAll().filter(t=>qe(e,t))}notify(e){O.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return O.batch(()=>Promise.all(e.map(e=>e.continue().catch(Te))))}};function Tt(e){return e.options.scope?.id}var Et=class extends Ge{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),Ee(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&Pe(t.mutationKey)!==Pe(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??Ct();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){O.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},Dt=class extends Ge{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??E(r,t),a=this.get(i);return a||(a=new ve({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){this.#e.get(e.queryHash)===e&&(e.destroy(),this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){O.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>nt(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>nt(e,t)):t}notify(e){O.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){O.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){O.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},Ot=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new Dt,this.#t=e.mutationCache||new wt,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=at.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=t.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(st(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=$e(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return O.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;O.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return O.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=O.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(Te).catch(Te)}invalidateQueries(e,t={}){return O.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=O.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(Te)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(Te)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(st(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(st(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Te).catch(Te)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Te).catch(Te)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return t.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(Pe(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{Be(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(Pe(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{Be(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=E(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===Ye&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},A=Ce(Se(),1);function kt(e,t){let n=je(t),[r]=A.useState(()=>new Et(n,e));A.useEffect(()=>{r.setOptions(e)},[r,e]);let i=A.useSyncExternalStore(A.useCallback(e=>r.subscribe(O.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=A.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(Te)},[r]);if(i.error&&ke(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var At=ut((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function ee(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,x||(x=!0,ne());else{var t=n(l);t!==null&&ae(ee,t.startTime-e)}}}var x=!1,S=-1,C=5,te=-1;function w(){return g?!0:!(e.unstable_now()-te<C)}function T(){if(g=!1,x){var t=e.unstable_now();te=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(S),S=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&w());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ae(ee,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ne():x=!1}}}var ne;if(typeof y==`function`)ne=function(){y(T)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=T,ne=function(){ie.postMessage(null)}}else ne=function(){_(T,0)};function ae(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):C=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,ae(ee,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,x||(x=!0,ne()))),r},e.unstable_shouldYield=w,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),jt=ut(((e,t)=>{t.exports=At()})),Mt=ut((e=>{var t=Se();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`),o=Symbol.for(`react.recoverable`),s=Symbol.for(`react.optimistic_key`);function c(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:r===s?s:``+r,children:e,containerInfo:t,implementation:n}}var l=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function u(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.browser=function(e){return{$$typeof:o,_reason:e}},e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return c(e,t,null,r)},e.flushSync=function(e){var t=l.T,n=i.p;try{if(l.T=null,i.p=2,e)return e()}finally{l.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=u(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=u(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=u(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=u(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return l.H.useFormState(e,t,n)},e.useFormStatus=function(){return l.H.useHostTransitionStatus()},e.version=`19.3.0`})),Nt=ut(((e,t)=>{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Mt()})),Pt=ut((e=>{var t=jt(),n=Se(),r=Nt();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){for(var t=e,n=t;n&&!n.alternate;)t=n,t.flags&4098&&(e=t.return),n=t.return;for(;t.return;)t=t.return;return t.tag===3?e:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}function f(e,t,n,r,i,a){for(;e!==null;){if((e.tag===5||e.tag===27||e.tag===6)&&n(e,r,i,a)||(e.tag!==22||e.memoizedState===null)&&(t||e.tag!==5&&e.tag!==27)&&f(e.child,t,n,r,i,a))return!0;e=e.sibling}return!1}function p(e){for(e=e.return;e!==null;){if(e.tag===3||e.tag===5||e.tag===27)return e;e=e.return}return null}function m(e){var t=!1;for(e=e.return;e!==null&&(e.tag===4&&(t=!0),e.tag!==3&&e.tag!==5&&e.tag!==27);)e=e.return;return t}function h(e){var t=[null,null],n=p(e);return n===null||g(t,e,n.child,{foundSelf:!1}),t}function g(e,t,n,r){for(;n!==null;){if(n===t)r.foundSelf=!0;else if(n.tag===5||n.tag===27||n.tag===6){if(r.foundSelf)return e[1]=n,!0;e[0]=n}else if((n.tag!==22||n.memoizedState===null)&&g(e,t,n.child,r))return!0;n=n.sibling}return!1}function _(e){switch(e.tag){case 5:case 27:case 6:return e.stateNode;case 3:return e.stateNode.containerInfo;default:throw Error(i(559))}}var v=null,y=null;function b(e,t,n){return e===n||e===t&&(v=e,!0)}function ee(e,t,n){return e===n?(y=e,!1):e===t&&(y!==null&&(v=e),!0)}function x(e){if(e===null)return null;do e=e===null?null:e.return;while(e&&e.tag!==5&&e.tag!==27&&e.tag!==3);return e||null}function S(e,t,n){for(var r=0,i=e;i;i=n(i))r++;i=0;for(var a=t;a;a=n(a))i++;for(;0<r-i;)e=n(e),r--;for(;0<i-r;)t=n(t),i--;for(;r--;){if(e===t||t!==null&&e===t.alternate)return e;e=n(e),t=n(t)}return null}var C=Object.assign,te=Symbol.for(`react.element`),w=Symbol.for(`react.transitional.element`),T=Symbol.for(`react.portal`),ne=Symbol.for(`react.fragment`),re=Symbol.for(`react.strict_mode`),ie=Symbol.for(`react.profiler`),ae=Symbol.for(`react.consumer`),oe=Symbol.for(`react.context`),se=Symbol.for(`react.forward_ref`),ce=Symbol.for(`react.suspense`),le=Symbol.for(`react.suspense_list`),ue=Symbol.for(`react.memo`),de=Symbol.for(`react.lazy`),fe=Symbol.for(`react.activity`),pe=Symbol.for(`react.legacy_hidden`),me=Symbol.for(`react.memo_cache_sentinel`),he=Symbol.for(`react.view_transition`),ge=Symbol.for(`react.recoverable`),_e=Symbol.iterator;function ve(e){return typeof e!=`object`||!e?null:(e=_e&&e[_e]||e[`@@iterator`],typeof e==`function`?e:null)}var ye=Symbol.for(`react.client.reference`);function be(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ye?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case ne:return`Fragment`;case ie:return`Profiler`;case re:return`StrictMode`;case ce:return`Suspense`;case le:return`SuspenseList`;case fe:return`Activity`;case he:return`ViewTransition`}if(typeof e==`object`)switch(e.$$typeof){case T:return`Portal`;case oe:return e.displayName||`Context`;case ae:return(e._context.displayName||`Context`)+`.Consumer`;case se:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ue:return t=e.displayName||null,t===null?be(e.type)||`Memo`:t;case de:t=e._payload,e=e._init;try{return be(e(t))}catch{}}return null}var xe=Array.isArray,E=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,D=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ce={pending:!1,data:null,method:null,action:null},we=[],Te=-1;function Ee(e){return{current:e}}function De(e){0>Te||(e.current=we[Te],we[Te]=null,Te--)}function O(e,t){Te++,we[Te]=e.current,e.current=t}var Oe=Ee(null),ke=Ee(null),Ae=Ee(null),je=Ee(null);function Me(e,t){switch(O(Ae,t),O(ke,e),O(Oe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}De(Oe),O(Oe,e)}function Ne(){De(Oe),De(ke),De(Ae)}function Pe(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,O(je,e)),t=Oe.current;var n=dp(t,e.type);t!==n&&(O(ke,e),O(Oe,n))}function Fe(e){ke.current===e&&(De(Oe),De(ke)),je.current===e&&(De(je),sh._currentValue=Ce)}var Ie,Le;function Re(e){if(Ie===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ie=t&&t[1]||``,Le=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+Ie+e+Le}var ze=!1;function Be(e,t){if(!e||ze)return``;ze=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}n=!1;try{var i=Object.getOwnPropertyDescriptor(e.prototype,`props`);Object.defineProperty(e.prototype,"props",{configurable:!0,set:function(){throw Error()}}),n=!0,new e}finally{n&&(i===void 0?delete e.prototype.props:Object.defineProperty(e.prototype,"props",i))}}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -20,4 +20,4 @@ Error generating stack: `+e.message+`
20
20
  `)){let n=uo(o.slice(0,t));o=o.slice(t+2),n!==``&&e.onData(n)}e.onBatch?.()}}catch{if(n.aborted)return}i=!0,await lo(r,n),r=Math.min(r*2,15e3)}})(),()=>t.abort()}function po(e,t,n){return Xe(e,t,n)}function mo(e){return e.thread===void 0?e.scope:`${e.scope}/${e.thread}`}function ho(e,t){return[...e.values()].filter(e=>e.agent===t).toSorted((e,t)=>t.lastAt.localeCompare(e.lastAt))}var go=400,_o=400,vo=4e3,yo=/^\[([^\]]*)\] (.*?) from @([a-z0-9][a-z0-9-]*)(?:, who .*?)? \(message [0-9A-Z]+\)$/;function bo(e){let t=e.split(/^### /m).slice(1).flatMap(e=>{let[t=``,...n]=e.split(`
21
21
  `),r=yo.exec(t.trim());return r===null?[]:[{at:r[1]??``,where:r[2]??``,author:r[3]??``,body:n.join(`
22
22
  `).trim()}]});return{posts:t,from:[...new Set(t.map(e=>e.author))]}}function xo(e){let t=/^mcp__(.+?)__(.+)$/.exec(e);return t===null?e:t[1]===`board`?t[2]??e:`${t[1]}:${t[2]}`}function So(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function Co(e){return e.replaceAll(/\s+/g,` `).trim()}function wo(e){return e.split(`
23
- `).map(e=>e.trim()).find(e=>e.length>0)??``}function To(e){return/^\/bin\/(?:ba)?sh -lc (["'])([\s\S]*)\1$/.exec(e.trim())?.[2]??e}function Eo(e){return typeof e==`object`&&e&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{}}var Do=[`file_path`,`path`,`url`,`query`,`pattern`,`description`,`prompt`];function Oo(e){let t=Eo(e),n=t.command;if(typeof n==`string`){let e=To(n);return{summary:So(Co(e),_o),detail:So(e,vo)}}let r=So(JSON.stringify(e??null,null,2),vo),i=t.changes;if(Array.isArray(i))return{summary:So(i.map(e=>Eo(e).path).filter(e=>typeof e==`string`).join(`, `),_o),detail:r};let a=Do.map(e=>t[e]).find(e=>typeof e==`string`&&e.trim()!==``),o=Object.values(t).filter(e=>typeof e==`string`||typeof e==`number`);return{summary:So(Co(a??o.slice(0,3).join(` · `)),_o),detail:r}}var ko=`StructuredOutput`;function Ao(e,t){try{return Eo(JSON.parse(e)).summary===t}catch{return!1}}function jo(e,t,n){let r=[...e.steps,t],i=r.length-n;return{...e,steps:i>0?r.slice(i):r,fromStart:e.fromStart&&i<=0,lastAt:t.at}}function Mo(e,t,{maxSteps:n}={maxSteps:go}){let{event:r}=t,i=po(t.agent,t.project,t.thread),a=e.get(i),o=new Map(e),s={agent:t.agent,scope:t.project,...t.thread===void 0?{}:{thread:t.thread}};if(r.type===`turn_started`)return o.set(i,{...s,startedAt:t.ts,fromStart:!0,model:r.model??null,steps:[],lastAt:t.ts,end:null}),o;let c=a!==void 0&&a.end===null?a:{...s,startedAt:t.ts,fromStart:!1,model:null,steps:[],lastAt:t.ts,end:null};switch(r.type){case`text`:o.set(i,jo(c,{kind:`say`,seq:t.seq,at:t.ts,text:r.delta},n));break;case`tool_call`:if(r.name===ko)break;o.set(i,jo(c,{kind:`tool`,seq:t.seq,at:t.ts,name:r.name,...Oo(r.input),ok:null,output:null},n));break;case`tool_result`:{let e=c.steps.findIndex(e=>e.kind===`tool`&&e.name===r.name&&e.ok===null),n=c.steps[e];if(n?.kind===`tool`){let a=c.steps.with(e,{...n,ok:r.ok,output:r.output??null});o.set(i,{...c,steps:a,lastAt:t.ts})}break}case`error`:o.set(i,jo(c,{kind:`error`,seq:t.seq,at:t.ts,message:r.message},n));break;case`steered`:o.set(i,jo(c,{kind:`steer`,seq:t.seq,at:t.ts,...bo(r.text??``)},n));break;case`turn_completed`:{let e=r.status?.summary??null,n=c.steps.at(-1),a=n?.kind===`say`&&e!==null&&Ao(n.text,e);o.set(i,{...c,steps:a?c.steps.slice(0,-1):c.steps,lastAt:t.ts,end:{at:t.ts,exitReason:r.exitReason,costUsd:r.costUsd,summary:e}});break}}return o}function No(e,t,n,r){let i=new Map;for(let[a,o]of e.entries())i=Mo(i,{seq:a+1,ts:o.ts,agent:t,project:n,...r===void 0?{}:{thread:r},event:o.event},{maxSteps:1/0});return i.get(po(t,n,r))}function Po(e,t){if(xo(e)!==`post_message`)return null;let n=Eo(t).body,r=typeof n==`string`?wo(n).replace(/^[#>*\-\s]+/,``):``;return r===``?null:So(r,_o)}function Fo(e){let t=e.steps.at(-1);return t===void 0?null:t.kind===`tool`?`${xo(t.name)} · ${t.summary}`:t.kind===`steer`?`took ${Io(t.posts.length)}${t.from.length===0?``:` from ${t.from.join(`, `)}`}`:So(wo(t.kind===`say`?t.text:t.message),_o)}function Io(e){return e===1?`1 post`:`${e} posts`}function Lo(e,t){return Qe(t-Date.parse(e))}var Ro=class{turns=new Map;listeners=new Set;eventListeners=new Set;subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});snapshot=()=>this.turns;listen=e=>(this.eventListeners.add(e),()=>{this.eventListeners.delete(e)});follow(e){return fo({token:e,url:()=>`/api/turns/stream?since=0`,onOpen:()=>{this.turns=new Map,this.emit()},onData:e=>{let t=_e.safeParse(JSON.parse(e));if(t.success){this.turns=Mo(this.turns,t.data);for(let e of this.eventListeners)e(t.data)}},onBatch:()=>this.emit()})}emit(){for(let e of this.listeners)e()}},zo=(0,A.createContext)(null);function Bo(){let e=(0,A.useContext)(zo);if(e===null)throw Error(`useLiveTurns needs a LiveContext`);return(0,A.useSyncExternalStore)(e.subscribe,e.snapshot)}function Vo({activeCitizen:e,activeScope:t}){let n=le(),r=Ve(),i=Bo(),a=ao(),o=lt(5e3),s=pe(n.data?.running??[]),c=n.data?.pending.length??0;return(0,N.jsxs)(`section`,{"aria-label":`Working now`,className:`mt-3`,children:[(0,N.jsxs)(`h3`,{className:`flex items-center justify-between px-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:[(0,N.jsx)(`span`,{children:`Working now`}),c>0?(0,N.jsxs)(`span`,{className:`font-normal tracking-normal normal-case`,children:[c,` queued`]}):null]}),s.length===0?(0,N.jsx)(`p`,{className:`px-2 py-1 text-xs text-fg-muted`,children:`Nobody is in a turn.`}):(0,N.jsx)(`ul`,{children:s.map(({agent:n,scope:s,thread:c})=>{let l=i.get(po(n,s,c)),u=l!==void 0&&l.end===null,d=r.data?.find(e=>e.name===n)?.cli??null,f=u?Fo(l):null,p=mo({scope:s,thread:c}),m=n===e&&(t===null||t===p||t===s),h=s===`society`?`society`:s,g=c===void 0?null:a.get(c)?.title??`a thread`;return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/citizen/$name`,params:{name:n},search:{scope:p},className:`block rounded-lg px-2 py-1.5 transition-colors ${m?`bg-surface-2/80 text-fg-primary`:`text-fg-secondary hover:bg-surface-2/50 hover:text-fg-primary`}`,children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-1.5 text-sm`,children:[(0,N.jsxs)(`span`,{className:`relative grid size-4 shrink-0 place-items-center`,children:[d===null?null:(0,N.jsx)(Ga,{cli:d,size:13}),(0,N.jsx)(`span`,{className:`absolute -right-0.5 -bottom-0.5 size-1.5 animate-pulse rounded-full bg-emerald-400`})]}),(0,N.jsx)(`span`,{className:`min-w-0 truncate`,children:n}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-fg-muted`,children:g===null?h:`${h} · ${g}`}),u?(0,N.jsxs)(`span`,{className:`shrink-0 font-mono text-[11px] text-fg-tertiary`,children:[l.fromStart?``:`≥ `,Lo(l.startedAt,o)]}):null]}),(0,N.jsx)(`span`,{className:`mt-0.5 block truncate pl-5.5 text-[11px] text-fg-muted`,children:f===null?`Starting…`:(0,N.jsx)(co,{text:f,links:!1})})]})},po(n,s,c))})})]})}var Ho=`flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-sm transition-colors`;function Uo(e){return`block truncate rounded-md px-2 text-[11px] font-semibold tracking-wider uppercase transition-colors ${e?`text-fg-primary`:`text-fg-muted hover:text-fg-primary`}`}var Wo=`bg-surface-2/80 text-fg-primary`,Go=`text-fg-secondary hover:bg-surface-2/50 hover:text-fg-primary`;function R({slug:e,active:t}){let n=(C(e).data??[]).filter(_t).length;return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/p/$slug/tasks`,params:{slug:e},className:`${Ho} ${t?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`◇`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`tasks`}),n>0?(0,N.jsx)(`span`,{title:`${n} tasks in play`,className:`rounded-md bg-surface-2/70 px-1.5 text-[11px] text-fg-tertiary`,children:n}):null]})})}function z({value:e,title:t}){return e===0?null:(0,N.jsx)(`span`,{title:t,className:`rounded-md bg-amber-500/15 px-1.5 text-[11px] text-amber-300`,children:e})}function Ko({active:e}){let t=(ft().data??[]).filter(ja).length,n=Wa().length,r=ze().data?.length??0;return(0,N.jsxs)(`section`,{"aria-label":`Governance`,className:`mt-3`,children:[(0,N.jsx)(`h3`,{className:`px-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:`Governance`}),(0,N.jsxs)(`ul`,{children:[(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/needs-you`,className:`${Ho} ${e===`needs-you`?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`◉`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`needs you`}),(0,N.jsx)(z,{value:n,title:`${n} waiting on you`})]})}),(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/proposals`,className:`${Ho} ${e===`proposals`?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`◈`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`proposals`}),(0,N.jsx)(z,{value:t,title:`${t} waiting on you`})]})}),(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/runners`,className:`${Ho} ${e===`runners`?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`▣`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`runners`}),(0,N.jsx)(z,{value:r,title:`${r} waiting for approval`})]})})]})]})}function qo({activeChannel:e,activeTasks:t,activeCitizen:n,activeScope:r,activeGovernance:i,activeOverview:a}){let o=tt(),s=pt(),c=T(),l=Ta();(0,A.useEffect)(()=>{o.data!==void 0&&Ea(o.data.map(e=>[e.ref,e.lastMessageId]))},[o.data]);let u=(0,A.useMemo)(()=>(s.data??[]).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.slug.localeCompare(t.slug)),[s.data]),d=u.filter(e=>e.archived!==void 0),f=(0,A.useMemo)(()=>{let e=o.data??[];return[{key:`society`,label:`Society`,project:null,channels:e.filter(e=>e.project===null)},...u.filter(e=>e.archived===void 0).map(t=>({key:t.slug,label:t.name,project:t.slug,channels:e.filter(e=>e.project===t.slug)}))]},[o.data,u]),p=(0,A.useMemo)(()=>{let e=new Map;for(let t of c.data??[])t.state===`open`&&e.set(t.channel,(e.get(t.channel)??0)+1);return e},[c.data]);return(0,N.jsxs)(_a,{label:`Board navigator`,className:`top-[72px] bottom-4 left-4 w-64`,children:[(0,N.jsxs)(`header`,{className:`flex items-center justify-between px-4 pt-4 pb-1`,children:[(0,N.jsx)(`span`,{className:`text-caps`,children:`Board`}),(0,N.jsx)(k,{to:`/`,"aria-label":`Close the board`,className:`grid size-7 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`✕`})]}),(0,N.jsxs)(`nav`,{className:`flex-1 overflow-y-auto px-2 pb-3`,children:[(0,N.jsx)(Vo,{activeCitizen:n,activeScope:r}),(0,N.jsx)(Ko,{active:i}),f.map(n=>(0,N.jsxs)(`section`,{className:`mt-3`,children:[(0,N.jsx)(`h3`,{className:`pb-1`,children:n.project===null?(0,N.jsx)(k,{to:`/society`,className:Uo(a===n.key),children:n.label}):(0,N.jsx)(k,{to:`/p/$slug`,params:{slug:n.project},className:Uo(a===n.key),children:n.label})}),(0,N.jsxs)(`ul`,{children:[n.channels.map(t=>{let n=t.ref===e,r=p.get(t.ref)??0,i=!n&&Oa(l,t.ref,t.lastMessageId);return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/c/$`,params:{_splat:t.ref},className:`${Ho} ${n?Wo:Go}`,children:[(0,N.jsx)(`span`,{className:`text-fg-muted`,children:`#`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate ${i?`font-semibold`:``}`,children:t.name}),r>0?(0,N.jsx)(`span`,{title:`${r} open threads`,className:`rounded-md bg-surface-2/70 px-1.5 text-[11px] text-fg-tertiary`,children:r}):null,i?(0,N.jsx)(`span`,{"aria-label":`new messages`,className:`size-1.5 rounded-full bg-emerald-400`}):null]})},t.ref)}),n.project===null?null:(0,N.jsx)(R,{slug:n.project,active:n.project===t})]})]},n.key)),d.length===0?null:(0,N.jsxs)(`section`,{"aria-label":`Archived projects`,className:`mt-3`,children:[(0,N.jsx)(`h3`,{className:`px-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:`Archived`}),(0,N.jsx)(`ul`,{children:d.map(e=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/p/$slug`,params:{slug:e.slug},className:`${Ho} ${a===e.slug?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`▫`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name})]})},e.slug))})]})]})]})}function Jo({name:e,members:t}){let n=t?.find(t=>t.name===e)?.cli??null;return n===null?e===`user`?(0,N.jsx)(`span`,{className:`grid size-7 shrink-0 place-items-center rounded-lg bg-fg-primary/90 text-[10px] font-semibold text-surface-0`,children:`you`}):(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-7 shrink-0 place-items-center rounded-lg bg-surface-2/50 text-xs text-fg-muted`,children:`✦`}):(0,N.jsx)(`span`,{className:`grid size-7 shrink-0 place-items-center rounded-lg bg-surface-2/80`,children:(0,N.jsx)(Ga,{cli:n,size:16})})}function Yo({name:e,members:t}){let n=t?.find(t=>t.name===e)?.cli??null;return(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1 align-middle`,children:[n===null?null:(0,N.jsx)(Ga,{cli:n,size:12}),(0,N.jsx)(`span`,{className:`text-fg-secondary`,children:e})]})}function Xo(e){return e===`user`?`you`:e}var Zo={primary:`bg-fg-primary font-medium text-surface-0 hover:bg-white`,ghost:`text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`};function Qo({variant:e=`ghost`,className:t=``,...n}){return(0,N.jsx)(`button`,{type:`button`,...n,className:`inline-flex h-7 shrink-0 items-center rounded-md px-3 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-40 ${Zo[e]} ${t}`})}var $o=/(^|[^\w@])@([a-z0-9][a-z0-9-]{0,31})(?![\w-])/g,B=new Set([`code`,`inlineCode`,`link`,`linkReference`,`html`]);function es(e){let t=[],n=0;for(let r of e.matchAll($o)){let i=(r.index??0)+(r[1]?.length??0);i>n&&t.push({type:`text`,value:e.slice(n,i)});let a=r[2]??``;t.push({type:`mention`,data:{hName:`span`,hProperties:{className:[`mention`]},hChildren:[{type:`text`,value:`@${a}`}]}}),n=i+a.length+1}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t}function ts(e){e.children!==void 0&&(e.children=e.children.flatMap(e=>e.type===`text`&&e.value!==void 0?es(e.value):(B.has(e.type)||ts(e),[e])))}function ns(e){return[...new Set([...e.matchAll($o)].map(e=>e[2]??``))].filter(e=>e!==``)}function rs(){return e=>ts(e)}function is(e,t){let n=/(^|[^\w@])@([a-z0-9-]*)$/.exec(e.slice(0,t))?.[2];return n===void 0?null:{start:t-n.length-1,prefix:n}}function as(e,t,n,r){let i=`@${r} `;return{text:e.slice(0,n)+i+e.slice(t),caret:n+i.length}}function os(e,t,n){let r=t.filter(e=>e.status===`active`&&e.cli!==null),i=r.filter(e=>n.find(t=>t.name===e.role)?.wakeTriggers.includes(`user_post`)).map(e=>e.name),a=ns(e).filter(e=>r.some(t=>t.name===e));return[...new Set([...i,...a])]}function ss(e,t,n,r){return e.filter(e=>n.some(n=>{if(n.agent!==e||!n.steerable)return!1;if(`thread`in r)return n.thread===r.thread;let i=t.find(t=>t.name===e);return i!==void 0&&n.thread===void 0&&n.scope===ct(i,Me(r.channel).project)}))}function cs(e,t){let n=e.length===0?null:`reaches ${us(e)} in the turn under way`,r=t.length===0?null:`wakes ${us(t)}: a turn each`;return n===null&&r===null?null:`Sending ${[n,r].filter(e=>e!==null).join(` and `)}.`}var ls=new Intl.ListFormat(`en`,{type:`conjunction`});function us(e){return ls.format(e)}var ds=6;function fs({target:e,placeholder:t,initialText:n=``,oneLine:r=!1,className:i=`border-t border-line p-3`,focusOnOpen:a=!1,onPosted:s,onEmptyEscape:c}){let{api:l}=u(),d=je(),f=Ve(),p=o(),m=le(),[h,g]=(0,A.useState)(n),[_,v]=(0,A.useState)(0),[y,b]=(0,A.useState)(0),[x,S]=(0,A.useState)(!1),C=(0,A.useRef)(null),te=(0,A.useRef)(null),w=kt({mutationFn:async t=>{if(`channel`in e)return l.sendMessage({channel:e.channel,body:t});if(`threadId`in e)return l.sendMessage({thread_id:e.threadId,body:t});let n=await l.openThread({channel:be,title:pa(t)});return l.sendMessage({thread_id:n.id,body:t})},onSuccess:t=>{g(n),d.invalidateQueries({queryKey:t.thread===void 0?[`channel`,t.channel]:[`thread`,t.thread]}),`ask`in e&&d.invalidateQueries({queryKey:[`threads`]}),d.invalidateQueries({queryKey:[`requests`]}),s?.(t)}});(0,A.useEffect)(()=>{a&&C.current?.focus()},[a]),(0,A.useLayoutEffect)(()=>{let e=C.current;e!==null&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`,te.current!==null&&(e.setSelectionRange(te.current,te.current),te.current=null))});let T=x?null:is(h,_),ne=(f.data??[]).filter(e=>e.status===`active`&&e.cli!==null),re=T===null?[]:ne.filter(e=>e.name.startsWith(T.prefix)).slice(0,ds),ie=os(h,f.data??[],p.data??[]),ae=`ask`in e?[]:ss(ie,f.data??[],m.data?.turns??[],`channel`in e?{channel:e.channel}:{thread:e.threadId}),oe=cs(ae,ie.filter(e=>!ae.includes(e))),se=e=>{if(T===null)return;let t=as(h,_,T.start,e);te.current=t.caret,g(t.text),v(t.caret)},ce=()=>{h.trim()!==``&&h.trim()!==n.trim()&&!w.isPending&&w.mutate(h.trim())},ue=e=>{if(re.length>0){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:re.length-1;b((y+t)%re.length);return}if(e.key===`Enter`||e.key===`Tab`){e.preventDefault(),se(re[Math.min(y,re.length-1)]?.name??``);return}if(e.key===`Escape`){e.preventDefault(),S(!0);return}}if(e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing){e.preventDefault(),ce();return}e.key===`Escape`&&h===``&&c!==void 0&&(e.preventDefault(),c())},de=(0,N.jsx)(Qo,{variant:`primary`,type:`submit`,disabled:h.trim()===``||h.trim()===n.trim()||w.isPending,children:w.isPending?`Sending…`:`Send`});return(0,N.jsxs)(`form`,{className:i,onSubmit:e=>{e.preventDefault(),ce()},children:[(0,N.jsxs)(`div`,{className:`relative rounded-xl bg-surface-2/50 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] focus-within:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.16)] ${r?`flex items-end gap-2 pr-1.5`:``}`,children:[re.length>0?(0,N.jsx)(`ul`,{"aria-label":`Citizens to mention`,className:`card absolute bottom-full left-2 mb-2 w-60 overflow-hidden py-1`,children:re.map((e,t)=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,onMouseDown:t=>{t.preventDefault(),se(e.name)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm ${t===y?`bg-surface-2 text-fg-primary`:`text-fg-secondary`}`,children:[e.cli===null?null:(0,N.jsx)(Ga,{cli:e.cli,size:14}),(0,N.jsx)(`span`,{className:`flex-1 truncate`,children:e.name}),(0,N.jsx)(`span`,{className:`truncate font-mono text-[11px] text-fg-muted`,children:e.role})]})},e.name))}):null,(0,N.jsx)(`textarea`,{ref:C,rows:1,value:h,placeholder:t,"aria-label":t,onChange:e=>{g(e.target.value),v(e.target.selectionStart),b(0),S(!1)},onSelect:e=>v(e.currentTarget.selectionStart),onKeyDown:ue,className:`block max-h-48 w-full resize-none bg-transparent px-3 text-sm text-fg-primary outline-none placeholder:text-fg-muted ${r?`py-2.5`:`pt-2.5 pb-1`}`}),r?(0,N.jsx)(`div`,{className:`shrink-0 pb-1.5`,children:de}):(0,N.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-2`,children:[(0,N.jsx)(`p`,{className:`min-w-0 flex-1 truncate text-[11px] text-fg-muted`,children:oe??`Enter to send · Shift+Enter for a new line`}),de]})]}),w.error===null?null:(0,N.jsx)(`p`,{role:`alert`,className:`mt-2 text-xs text-red-400`,children:w.error instanceof ee?w.error.message:`The message was not sent.`})]})}var ps=5;function ms(e,t){switch(e.kind){case`answering`:return{text:`${us(e.who)} ${e.who.length===1?`is`:`are`} answering…`,tone:`text-emerald-300`};case`queued`:return{text:`${us(e.who)} will answer next`,tone:`text-amber-300`};case`waiting`:return{text:`waiting for an answer`,tone:`text-fg-muted`};case`answered`:return{text:`answered by ${Xo(e.by)}`,tone:`text-fg-secondary`}}let n=We(t.body,160);return{text:`closed by ${Xo(e.by??`board`)}${n===``?``:` · ${n}`}`,tone:`text-fg-muted`}}function hs({left:e,width:t,onClose:n}){let r=T(),i=le(),a=Ta(),o=lt(3e4),s=(0,A.useRef)(null),c=fa(r.data??[]).slice(0,ps),l=pe(i.data?.running??[]),u=pe(i.data?.pending??[]);return(0,A.useEffect)(()=>{let e=e=>{e.target instanceof Node&&s.current?.contains(e.target)===!1&&n()};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[n]),(0,N.jsxs)(`section`,{ref:s,"aria-label":`Ask`,className:`absolute top-[26%] z-30 flex flex-col gap-2`,style:{left:e,width:t},children:[(0,N.jsx)(`div`,{className:ga,children:(0,N.jsx)(fs,{target:{ask:!0},placeholder:`Ask the front desk`,oneLine:!0,className:`p-2`,focusOnOpen:!0,onEmptyEscape:n})}),c.length===0?null:(0,N.jsx)(`ol`,{"aria-label":`Your asks`,className:`${ga} max-h-[40vh] overflow-y-auto py-1`,children:c.map(e=>{let t=ms(ma(e,l,u),e),n=ha(e,a);return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/thread/$threadId`,params:{threadId:e.id},className:`block px-4 py-2 transition-colors hover:bg-surface-2/50`,children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-fg-primary ${n?`font-semibold`:``}`,children:e.title}),n?(0,N.jsx)(`span`,{"aria-label":`new answer`,className:`size-1.5 shrink-0 rounded-full bg-emerald-400`}):null,(0,N.jsx)(`time`,{dateTime:e.openedAt,className:`shrink-0 text-meta`,children:it(e.openedAt,o)})]}),(0,N.jsx)(`span`,{className:`mt-0.5 block truncate text-xs ${t.tone}`,children:t.text})]})},e.id)})})]})}function gs({unread:e,onOpen:t}){let[n]=e,r=n===void 0?null:e.length===1?`${Xo(n.lastAuthor??`board`)} answered “${n.title}”`:`${e.length} new answers`;return(0,N.jsxs)(`button`,{type:`button`,onClick:t,className:`pointer-events-auto flex max-w-full min-w-0 items-center gap-2 rounded-full px-3 py-1.5 text-meta transition-colors hover:text-fg-secondary`,children:[r===null?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`size-1.5 shrink-0 rounded-full bg-emerald-400`}),(0,N.jsx)(`span`,{className:`min-w-0 truncate text-fg-secondary`,children:r}),(0,N.jsx)(`span`,{"aria-hidden":`true`,children:`·`})]}),(0,N.jsx)(`kbd`,{className:`shrink-0 rounded border border-line px-1.5 font-sans text-[11px] text-fg-secondary`,children:`Space`}),(0,N.jsx)(`span`,{className:`shrink-0`,children:`to ask`})]})}var _s={working:{label:`working`,style:`bg-emerald-500/15 text-emerald-300`},queued:{label:`queued`,style:`bg-amber-500/15 text-amber-300`},idle:{label:`resting`,style:`bg-surface-2 text-fg-tertiary`}};function vs(e,t,n,r){return t.state===`working`?`In a turn at ${n}`:t.state===`queued`?`Queued for ${n}`:e.lastTurnAt===void 0?`No turns yet`:`Last turn ${it(e.lastTurnAt,r)}`}function ys({member:e,star:t,place:n,now:r}){let i=e.lastModel??e.model,a=_s[t.state];return(0,N.jsxs)(`article`,{className:`card w-72 p-3.5`,"aria-label":`${e.name}, ${e.role}`,children:[(0,N.jsxs)(`header`,{className:`flex items-center gap-3`,children:[(0,N.jsx)(`span`,{className:`grid size-8 shrink-0 place-items-center rounded-md bg-surface-2/70`,children:(0,N.jsx)(Ga,{cli:t.cli,size:18})}),(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`h2`,{className:`text-title truncate`,children:e.name}),(0,N.jsxs)(`p`,{className:`truncate text-meta`,children:[e.role,i===void 0?``:` · ${i}`]})]}),(0,N.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${a.style}`,children:a.label})]}),(0,N.jsx)(`p`,{className:`mt-2.5 text-sm text-fg-secondary`,children:vs(e,t,n,r)})]})}function bs({society:e,citizens:t,citizensOpen:n,onToggleCitizens:r,attention:i,onOpenAttention:a,paused:o,onTogglePause:s,pauseBusy:c,boardOpen:l,onToggleBoard:u,metricsOpen:d,onToggleMetrics:f,logsOpen:p,onToggleLogs:m,onSignOut:h}){return(0,N.jsxs)(`header`,{className:`pointer-events-none absolute inset-x-0 top-0 flex items-start justify-between p-5`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,N.jsx)(`span`,{className:`text-display`,children:`Stellaris`}),e===void 0?null:(0,N.jsx)(`span`,{className:`text-meta`,children:e})]}),(0,N.jsxs)(`div`,{className:`pointer-events-auto flex items-center gap-2`,children:[i===0?null:(0,N.jsxs)(`button`,{type:`button`,onClick:a,className:`card inline-flex h-7 items-center gap-1.5 rounded-md px-2.5 text-xs text-amber-300 transition-colors hover:text-amber-200 focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`size-1.5 rounded-full bg-amber-300`}),i,` `,i===1?`needs`:`need`,` you`]}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":o,disabled:c,onClick:s,title:o?`Nobody takes a turn until you resume; wakes wait in the queue.`:`Stop dispatching turns. Running turns finish; new wakes wait.`,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none disabled:opacity-50 ${o?`text-amber-300 hover:text-amber-200`:`text-fg-tertiary hover:text-fg-primary`}`,children:o?`Paused · resume`:`Pause`}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:r,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${n?`text-fg-primary`:`text-fg-tertiary hover:text-fg-primary`}`,children:t===1?`1 citizen`:`${t} citizens`}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":l,onClick:u,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${l?`text-fg-primary`:`text-fg-secondary hover:text-fg-primary`}`,children:`Board`}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":d,onClick:f,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${d?`text-fg-primary`:`text-fg-secondary hover:text-fg-primary`}`,children:`Metrics`}),(0,N.jsx)(`button`,{type:`button`,"aria-expanded":p,onClick:m,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${p?`text-fg-primary`:`text-fg-secondary hover:text-fg-primary`}`,children:`Logs`}),(0,N.jsx)(`button`,{type:`button`,onClick:h,className:`h-7 rounded-md px-2.5 text-xs text-fg-tertiary transition-colors hover:bg-surface-2/60 hover:text-fg-primary focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`,children:`Sign out`})]})]})}var xs=new Set(p),Ss={waiting_stage:`stage waiting`,backlog:`backlog`,role_gap:`role gap`,churn:`churn`,stale_thread:`stale thread`,idle_member:`idle member`,blocked_capability:`missing capability`,turn_cost:`spend`,scaled:`replica added`,runner:`runner`,home_conflict:`edits to reconcile`};function Cs(e){return xs.has(e)}function ws(e,t){let n=new Set(t),r=new Map;for(let t of e)n.has(t.signal.key)&&r.set(t.signal.key,t.id);return new Set(r.values())}function Ts(e){return[e.project??``,e.agent??``,e.role===void 0?``:`role ${e.role}`,Cs(e.kind)?`wakes the steward`:``].filter(e=>e.length>0)}function Es({onClose:e}){let t=c(!0),n=le(),r=lt(3e4),i=t.data??[],a=ws(i,n.data?.signals??[]);return(0,N.jsxs)(_a,{label:`Operations log`,className:`top-[72px] right-4 z-20 max-h-[min(70vh,640px)]`,style:{width:400},children:[(0,N.jsxs)(`header`,{className:`flex items-start gap-3 border-b border-line px-4 py-3`,children:[(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`h2`,{className:`text-heading`,children:`Operations log`}),(0,N.jsx)(`p`,{className:`mt-0.5 text-meta`,children:`What the scheduler measured. Only kinds that wake the steward start a turn; it reads the rest at its next one.`})]}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Close the log`,onClick:e,className:`grid size-7 shrink-0 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`,children:`×`})]}),i.length===0?(0,N.jsx)(`p`,{className:`px-4 py-4 text-meta`,children:t.data===void 0?`Reading the log…`:`Nothing measured yet.`}):(0,N.jsx)(`ol`,{className:`flex-1 overflow-y-auto`,children:i.toReversed().map(({id:e,ts:t,signal:n})=>{let i=Cs(n.kind),o=Ts(n);return(0,N.jsxs)(`li`,{className:`border-b border-line/60 px-4 py-2.5 last:border-b-0`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`rounded-md px-1.5 py-px text-[11px] ${i?`bg-amber-500/15 text-amber-300`:`bg-surface-2 text-fg-tertiary`}`,children:Ss[n.kind]}),a.has(e)?(0,N.jsx)(`span`,{className:`text-[11px] text-emerald-300`,children:`holds now`}):null,(0,N.jsx)(`time`,{dateTime:t,title:t,className:`ml-auto shrink-0 text-meta`,children:it(t,r)})]}),(0,N.jsx)(`p`,{className:`mt-1 text-sm text-fg-secondary`,children:(0,N.jsx)(co,{text:n.summary})}),o.length===0&&n.taskId===void 0?null:(0,N.jsxs)(`p`,{className:`mt-0.5 text-meta`,children:[o.join(` · `),n.taskId===void 0?null:(0,N.jsxs)(N.Fragment,{children:[o.length===0?``:` · `,(0,N.jsx)(k,{to:`/task/$taskId`,params:{taskId:n.taskId},className:`text-fg-tertiary underline-offset-2 hover:text-fg-primary hover:underline`,children:`the task`})]})]})]},e)})})]})}function Ds({mark:e,project:t,members:n}){let r=n?.find(t=>t.name===e.holder)?.cli??null,i=xt.find(t=>t.phase===e.phase)?.label??e.phase;return(0,N.jsxs)(`article`,{className:`card w-72 p-4`,"aria-label":`Task ${e.title}`,children:[(0,N.jsxs)(`header`,{className:`flex items-start gap-3`,children:[(0,N.jsx)(`h2`,{className:`text-title min-w-0 flex-1`,children:e.title}),(0,N.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${vt[e.phase]}`,children:i.toLowerCase()})]}),(0,N.jsxs)(`dl`,{className:`mt-3 grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs`,children:[(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Project`}),(0,N.jsx)(`dd`,{className:`min-w-0 truncate text-fg-secondary`,children:t}),(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Stage`}),(0,N.jsx)(`dd`,{className:`min-w-0 truncate text-fg-secondary`,children:e.stage}),e.holder===null?e.waitingFor===null?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Waiting for`}),(0,N.jsx)(`dd`,{className:`min-w-0 truncate text-fg-secondary`,children:e.waitingFor})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Held by`}),(0,N.jsxs)(`dd`,{className:`flex min-w-0 items-center gap-1 text-fg-secondary`,children:[r===null?null:(0,N.jsx)(Ga,{cli:r,size:12}),e.holder,e.linked===null?` · resting`:` · in a turn on it`]})]})]})]})}function Os(e,t){let n=`latest`;return fo({token:e,url:()=>`/api/events/stream?since=${n}`,onData:e=>{let r=ye.parse(JSON.parse(e));n=r.id,t.onEvent(r)},onOpen:e=>{e&&t.onResume()}})}function ks(e){return typeof e==`string`?e:void 0}function As(e){let{type:t,payload:n,actor:r}=e;if(t===`message.posted`){let e=ks(n.thread);return e===void 0?[[`channels`],[`channel`,ks(n.channel)],[`requests`]]:[[`threads`],[`thread`,e],[`requests`]]}return t.startsWith(`thread.`)?[[`threads`],[`thread`,ks(n.threadId)],[`channel`],[`requests`]]:t.startsWith(`task.`)||t.startsWith(`merge.`)||t===`lease.expired`?[[`tasks`],[`task`,ks(n.taskId)],[`members`],[`metrics`]]:t===`turn.completed`||t===`turn.failed`?[[`scheduler`],[`members`],[`turns`,r],[`memory`,r],[`agent-skills`,r],[`conflicts`,r],[`history`,r],[`task-file`],[`task-changes`],[`metrics`]]:t===`turn.started`?[[`scheduler`],[`members`],[`metrics`]]:t.startsWith(`turn.`)||t===`wake.requested`||t===`paused.changed`?[[`scheduler`],[`members`]]:t===`knowledge.written`?[[`knowledge`,ks(n.project)??`society`]]:t.startsWith(`agent.`)||t===`subscription.changed`?[[`members`]]:t.startsWith(`project.`)||t===`channel.added`?[[`projects`],[`channels`],[`society`]]:t===`role.added`?[[`roles`]]:t.startsWith(`runner.`)?[[`runners`]]:t.startsWith(`proposal.`)?[[`proposals`],[`proposal`,ks(n.proposalId)],[`metrics`]]:t===`skill.promoted`?[[`skills`]]:t===`ops.signal`?[[`signals`],[`scheduler`],[`metrics`]]:[]}function js(e,t){for(let n of As(t)){let t=n.filter(e=>e!==void 0);e.invalidateQueries({queryKey:t})}}function Ms(e,t){let n=xt.find(t=>t.phase===e.phase)?.label.toLowerCase(),r=e.holder===null?e.waitingFor===null?null:`for ${e.waitingFor}`:`held by ${e.holder}${e.linked===null?``:`, in a turn there`}`;return[`Task ${e.title} at ${t}`,`stage ${e.stage}`,n,r].filter(e=>e!=null).join(`, `)}var Ns=Math.PI*(3-Math.sqrt(5)),Ps=68,Fs=44,Is=58,Ls=26,Rs=13,zs=.3,Bs=1.5*Math.PI,Vs=28,Hs=280,Us=8,Ws=40;function Gs(e){return Math.max(Is,Ps*Math.sqrt(Math.max(0,e-1))+Fs)}function Ks(e){return e+Ls}function qs(e){let t=new Map;for(let n of e.toSorted()){let e=y(n);if(e!==null){let n=t.get(e.agent)??[];n.includes(e.scope)||t.set(e.agent,[...n,e.scope])}}return t}function Js(e){let t=e.projects.filter(e=>e.archived===void 0).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.slug.localeCompare(t.slug)),n=new Set(t.map(e=>e.slug)),r=e=>n.has(e)?e:Fe,i=qs(e.scheduler.running),a=qs(e.scheduler.pending),o=new Set(e.scheduler.resident.map(e=>e.split(`/`)[0])),s=e.members.filter(e=>e.cli!==null).filter(e=>e.status===`active`).toSorted((e,t)=>e.name.localeCompare(t.name)),c=s.flatMap(e=>{let t=[...new Set((i.get(e.name)??[]).map(r))];if(t.length>0)return t.map(t=>({id:t===`society`?e.name:`${e.name}/${t}`,member:e,state:`working`,scope:t,queuedFor:null}));let n=a.get(e.name)?.[0];return[{id:e.name,member:e,state:n===void 0?`idle`:`queued`,scope:Fe,queuedFor:n===void 0?null:r(n)}]}),l=new Map([[Fe,new Map(s.map((e,t)=>[e.name,t]))]]);for(let e of t){let t=s.filter(t=>t.memberships.includes(e.slug)),n=c.filter(t=>t.scope===e.slug).map(e=>e.member).filter(t=>!t.memberships.includes(e.slug));l.set(e.slug,new Map([...t,...n].map((e,t)=>[e.name,t])))}let u=new Map([...l].map(([e,t])=>[e,t.size])),d={id:Fe,label:`society`,kind:`society`,x:0,y:0,radius:Gs(u.get(`society`)??0)},f=[d,...Zs(t,u,d)],p=new Map(f.map(e=>[e.id,e])),m=c.map(({id:e,member:t,state:n,scope:r,queuedFor:i})=>{let a=p.get(r)??d,s=l.get(a.id)?.get(t.name)??0,c=Ps*Math.sqrt(s),u=s*Ns-Math.PI/2;return{id:e,name:t.name,cli:t.cli,state:n,resident:o.has(t.name),anchor:a.id,queuedFor:i,x:Math.round(a.x+c*Math.cos(u)),y:Math.round(a.y+c*Math.sin(u))}}),h=Ys(e.tasks??[],f,m),g=Math.max(...f.map(e=>Math.hypot(e.x,e.y)+Ks(e.radius)));return{anchors:f,stars:m,tasks:h,radius:Math.round(g+Ws)}}function Ys(e,t,n){let r=[];for(let i of t){if(i.kind!==`project`)continue;let t=e.filter(e=>e.project===i.id).flatMap(e=>{let t=bt(e);return t===`done`||t===`abandoned`?[]:[{task:e,phase:t}]}).toSorted((e,t)=>e.task.id.localeCompare(t.task.id)),a=Math.min(zs,Bs/Math.max(1,t.length)),o=i.radius+Rs;t.forEach(({task:e,phase:t},s)=>{let c=s%2==0?1:-1,l=-Math.PI/2+c*Math.ceil(s/2)*a,u=t===`landing`?null:e.claimedBy??null,d=Je(e),f=u===null?null:n.find(e=>e.name===u&&e.anchor===i.id)?.id??null;r.push({id:e.id,title:e.title,project:i.id,phase:t,stage:d?.name??e.stage,holder:u,waitingFor:u===null&&t!==`landing`&&d!==void 0?yt(d):null,linked:f,x:Math.round(i.x+o*Math.cos(l)),y:Math.round(i.y+o*Math.sin(l))})})}return r}function Xs(e,t,n){let r=e.stars.filter(e=>e.name===t);return(r.find(e=>e.anchor===n)??r[0])?.id??null}function Zs(e,t,n){let r=[],i=Ks(n.radius),a=Us;for(let n=0,o=0;n<e.length;o+=1){let s=e.slice(n,n+a);n+=a,a+=4;let c=s.map(e=>Gs(t.get(e.slug)??0)),l=c.map(Ks),u=l.map(e=>2*e+Vs),d=u.reduce((e,t)=>e+t,0),f=u.map(e=>2*Math.PI*e/d),p=-Math.PI/2-(f[0]??0)/2+(o===0?0:Math.PI/s.length),m=f.map(e=>{let t=p+e/2;return p+=e,t}),h=Math.max(o===0?Hs:0,i+Math.max(...l)+Vs);if(s.length>1)for(let e=0;e<s.length;e+=1){let t=(e+1)%s.length,n=((f[e]??0)+(f[t]??0))/2,r=((l[e]??0)+(l[t]??0)+Vs)/(2*Math.sin(n/2));h=Math.max(h,r)}s.forEach((e,t)=>{let n=m[t]??0;r.push({id:e.slug,label:e.name,kind:`project`,x:Math.round(h*Math.cos(n)),y:Math.round(h*Math.sin(n)),radius:Math.round(c[t]??Is)})}),i=h+Math.max(...l)}return r}var Qs=.15,$s=.45,ec=1.35,tc=64,nc=1.15;function rc(e,t,n){return Math.min(n,Math.max(t,e))}function ic(e){return Math.max(240,e.width-e.left-e.right)}function ac(e){return{x:e.left+ic(e)/2,y:e.height/2}}function oc(e,t){return{x:0,y:0,scale:rc(Math.min(ic(e),e.height)/(2*t),$s,ec)}}function sc(e,t,n,r){let i=rc(e.scale*n,Qs,3),a=ac(t),o=e.x+(r.x-a.x)/e.scale,s=e.y+(r.y-a.y)/e.scale;return{x:o-(r.x-a.x)/i,y:s-(r.y-a.y)/i,scale:i}}function cc(e,t,n){return{...e,x:e.x-t/e.scale,y:e.y-n/e.scale}}function lc(e,t,n){let r=ac(t),i=r.x+(n.x-e.x)*e.scale,a=r.y+(n.y-e.y)*e.scale,o=n.reach*e.scale;if(i-o>=t.left&&i+o<=t.width-t.right&&a-o>=tc&&a+o<=t.height)return null;let s=Math.min(ic(t),t.height-tc)/(2*n.reach*nc);return{x:n.x,y:n.y,scale:Math.min(e.scale,rc(s,Qs,3))}}var uc=`#0a0a0a`,dc=`#171717`,fc=`212, 212, 212`,pc=`163, 163, 163`,mc=`115, 115, 115`,hc=`"Instrument Sans Variable", ui-sans-serif, sans-serif`,gc=`500 12px "Onest Variable", ui-sans-serif, sans-serif`,_c=`600 10px "Onest Variable", ui-sans-serif, sans-serif`,vc={waiting:`#fcd34d`,working:`#6ee7b7`,returned:`#fdba74`,landing:`#7dd3fc`},yc=`500 11px ${hc}`,bc=5,xc=240,Sc=34,Cc=.06,wc=15,Tc=5,Ec=4.2,Dc=280;function Oc(e){let t=e;return()=>{t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function kc(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0)/4294967296*Math.PI*2}function Ac(e,t){return(e%t+t)%t}function jc(e){let t=Number.parseInt(e.slice(1),16);return`${t>>16&255}, ${t>>8&255}, ${t&255}`}function Mc(e){let t=document.createElement(`canvas`);t.width=256,t.height=256;let n=t.getContext(`2d`);if(n!==null){let t=jc(e),r=n.createRadialGradient(128,128,0,128,128,128);r.addColorStop(0,`rgba(${t}, 0.55)`),r.addColorStop(.22,`rgba(${t}, 0.2)`),r.addColorStop(.55,`rgba(${t}, 0.05)`),r.addColorStop(1,`rgba(${t}, 0)`),n.fillStyle=r,n.fillRect(0,0,256,256)}return t}var Nc=class{canvas;options;ctx;glyphs;glows=new Map;bodies=new Map;marks=new Map;bubbles=new Map;clock=0;specks;spheres=new Map;radius=400;scale=1;camX=0;camY=0;target={x:0,y:0,scale:1};mode=`home`;focusPending=!1;width=0;height=0;dpr=1;hovered=null;focus=null;paused=!1;insetLeft=0;insetRight=0;centerX=0;frameId=null;last=0;constructor(e,t){this.canvas=e,this.options=t;let n=e.getContext(`2d`);if(n===null)throw Error(`the sky needs a 2D canvas context`);this.ctx=n,this.glyphs={claude:new Path2D(F.claude.path),codex:new Path2D(F.codex.path)};let r=Oc(7);this.specks=Array.from({length:Dc},()=>({x:r(),y:r(),size:.5+r()*1.1,alpha:.12+r()*.45,rate:.2+r()*.8,phase:r()*Math.PI*2}))}setModel(e){this.radius=e.radius;for(let t of e.anchors){let e=this.spheres.get(t.id);e===void 0?this.spheres.set(t.id,{anchor:t,x:t.x,y:t.y,radius:t.radius}):e.anchor=t}for(let t of this.spheres.keys())e.anchors.some(e=>e.id===t)||this.spheres.delete(t);let t=new Set(e.stars.map(e=>e.id)),n=[...this.bodies.entries()].filter(([e])=>!t.has(e));for(let r of e.stars){let i=this.bodies.get(r.id);if(i!==void 0){i.star=r,i.leaving=!1;continue}let a=n.findIndex(([,e])=>e.star.name===r.name),o=n[a];if(o!==void 0){n.splice(a,1),this.bodies.delete(o[0]),this.bodies.set(r.id,{...o[1],star:r,leaving:!1});continue}let s=[...this.bodies.values()].find(e=>e.star.name===r.name&&t.has(e.star.id)),c=e.anchors.find(e=>e.id===r.anchor),l=s??c??r;this.bodies.set(r.id,{star:r,x:this.options.reducedMotion?r.x:l.x,y:this.options.reducedMotion?r.y:l.y,vx:0,vy:0,phase:kc(r.name),presence:+!!this.options.reducedMotion,leaving:!1,screen:{x:0,y:0},flash:0})}for(let[,t]of n){let n=e.stars.find(e=>e.name===t.star.name);t.leaving=!0,n!==void 0&&(t.star={...t.star,x:n.x,y:n.y})}let r=new Set(e.tasks.map(e=>e.id));for(let t of e.tasks){let e=this.marks.get(t.id);e===void 0?this.marks.set(t.id,{mark:t,x:t.x,y:t.y,presence:+!!this.options.reducedMotion,leaving:!1,screen:{x:0,y:0}}):(e.mark=t,e.leaving=!1)}for(let[e,t]of this.marks)r.has(e)||(t.leaving=!0)}flash(e){let t=this.bodies.get(e);t!==void 0&&!this.options.reducedMotion&&(t.flash=1)}say(e,t){this.bodies.has(e)&&this.bubbles.set(e,{text:t,born:this.clock})}setHovered(e){this.hovered=e}setPaused(e){this.paused=e}setFocus(e){this.focus=e,this.focusPending=!0}zoomBy(e,t){let n=this.view();this.target=sc(this.target,n,e,t??ac(n)),this.mode=`manual`}panBy(e,t){this.target=cc(this.target,e,t),this.camX-=e/this.scale,this.camY-=t/this.scale,this.mode=`manual`}home(){this.mode=`home`}view(){return{width:this.width,height:this.height,left:this.insetLeft,right:this.insetRight}}frameFocus(e){let t=this.focus===null?void 0:this.spheres.get(this.focus);if(t===void 0||t.anchor.kind===`society`){this.mode===`focus`&&(this.mode=`home`);return}let n=lc(this.target,e,{x:t.anchor.x,y:t.anchor.y,reach:t.anchor.radius+Sc});n!==null&&(this.target=n,this.mode=`focus`)}setInsets(e,t){this.insetLeft=e,this.insetRight=t}hitTestAnchor(e,t){let n=null,r=1/0;for(let i of this.spheres.values()){let a=this.toScreen(i.x,i.y),o=Math.hypot(a.x-e,a.y-t);o<=i.radius*this.scale&&o<r&&(n=i.anchor.id,r=o)}return n}resize(e,t,n){this.width=e,this.height=t,this.dpr=n,this.canvas.width=Math.round(e*n),this.canvas.height=Math.round(t*n)}hitTestMark(e,t){let n=null,r=10;for(let[i,a]of this.marks){let o=Math.hypot(a.screen.x-e,a.screen.y-t);!a.leaving&&o<r&&(n=i,r=o)}return n}hitTest(e,t){let n=null,r=Math.max(wc*this.scale+8,18);for(let[i,a]of this.bodies){if(a.leaving)continue;let o=Math.hypot(a.screen.x-e,a.screen.y-t);o<r&&(n=i,r=o)}return n}start(){this.frameId===null&&(this.last=performance.now()/1e3,this.frameId=requestAnimationFrame(this.frame))}stop(){this.frameId!==null&&(cancelAnimationFrame(this.frameId),this.frameId=null)}frame=e=>{let t=e/1e3;this.clock=t;let n=Math.min(.05,Math.max(0,t-this.last));this.last=t,this.step(n),this.draw(this.options.reducedMotion?0:t),this.frameId=requestAnimationFrame(this.frame)};step(e){let t=this.view();this.mode===`home`&&(this.target=oc(t,this.radius)),this.focusPending&&this.width>0&&(this.focusPending=!1,this.frameFocus(t));let n=this.options.reducedMotion?1:Math.min(1,e*3);this.scale+=(this.target.scale-this.scale)*n,this.camX+=(this.target.x-this.camX)*n,this.camY+=(this.target.y-this.camY)*n;let r=ac(t).x;this.centerX=this.centerX===0?r:this.centerX+(r-this.centerX)*n;for(let e of this.spheres.values())e.x+=(e.anchor.x-e.x)*n,e.y+=(e.anchor.y-e.y)*n,e.radius+=(e.anchor.radius-e.radius)*n;for(let[t,n]of this.bodies){if(this.options.reducedMotion)n.x=n.star.x,n.y=n.star.y,n.presence=+!n.leaving;else{n.vx+=(Tc*(n.star.x-n.x)-Ec*n.vx)*e,n.vy+=(Tc*(n.star.y-n.y)-Ec*n.vy)*e,n.x+=n.vx*e,n.y+=n.vy*e;let t=+!n.leaving;n.presence+=(t-n.presence)*Math.min(1,e*2.5)}n.flash=Math.max(0,n.flash-e*2.2),n.leaving&&n.presence<.02&&this.bodies.delete(t)}for(let[t,r]of this.marks){r.x+=(r.mark.x-r.x)*n,r.y+=(r.mark.y-r.y)*n;let i=+!r.leaving;r.presence+=(i-r.presence)*(this.options.reducedMotion?1:Math.min(1,e*2.5)),r.leaving&&r.presence<.02&&this.marks.delete(t)}for(let[e,t]of this.bubbles)(this.clock-t.born>bc||this.bodies.get(e)?.leaving!==!1)&&this.bubbles.delete(e)}toScreen(e,t){return{x:this.centerX+(e-this.camX)*this.scale,y:this.height/2+(t-this.camY)*this.scale}}glow(e){let t=this.glows.get(e);return t===void 0&&(t=Mc(e),this.glows.set(e,t)),t}draw(e){let{ctx:t}=this;t.setTransform(this.dpr,0,0,this.dpr,0,0),t.fillStyle=uc,t.fillRect(0,0,this.width,this.height),this.drawSpecks(e),this.drawAnchors(),this.drawTasks(e);let n=[...this.bodies.values()].toSorted((e,t)=>Number(e.star.id===this.hovered)-Number(t.star.id===this.hovered));for(let t of n)this.drawBody(t,e);this.drawBubbles();let r=this.hovered?.startsWith(`task:`)===!0?this.hovered.slice(5):null,i=r===null?this.hovered===null?void 0:this.bodies.get(this.hovered):this.marks.get(r);this.options.onHoverPosition(i===void 0||i.leaving?null:i.screen)}drawTasks(e){let{ctx:t}=this;for(let e of this.marks.values())e.screen=this.toScreen(e.x,e.y);t.save(),t.lineWidth=1;for(let n of this.marks.values()){let r=n.mark.linked===null?void 0:this.bodies.get(n.mark.linked);if(r===void 0||r.leaving)continue;let i=jc(vc[n.mark.phase]),a=Math.min(n.presence,r.presence),o=n.screen,s=r.screen,c=t.createLinearGradient(o.x,o.y,s.x,s.y);if(c.addColorStop(0,`rgba(${i}, ${(.55*a).toFixed(3)})`),c.addColorStop(1,`rgba(${i}, ${(.12*a).toFixed(3)})`),t.strokeStyle=c,t.beginPath(),t.moveTo(o.x,o.y),t.lineTo(s.x,s.y),t.stroke(),e!==0){let n=(e*.45+r.phase)%1;t.beginPath(),t.arc(s.x+(o.x-s.x)*n,s.y+(o.y-s.y)*n,1.4,0,Math.PI*2),t.fillStyle=`rgba(${i}, ${(.85*a).toFixed(3)})`,t.fill()}}t.restore();for(let[n,r]of this.marks){let{mark:i,screen:a}=r,o=this.hovered===`task:${n}`,s=vc[i.phase],c=i.phase===`waiting`&&e!==0?.65+.35*Math.sin(e*1.6+a.x):1,l=Math.max(3,4*this.scale)*(o?1.5:1);t.save(),t.globalAlpha=r.presence*c*(this.paused?.7:1),t.globalCompositeOperation=`lighter`;let u=l*7;t.drawImage(this.glow(s),a.x-u/2,a.y-u/2,u,u),t.globalCompositeOperation=`source-over`,t.translate(a.x,a.y),t.rotate(Math.PI/4),t.fillStyle=s,t.fillRect(-l/2,-l/2,l,l),o&&(t.strokeStyle=`rgba(255, 255, 255, 0.8)`,t.lineWidth=1,t.strokeRect(-l/2-2,-l/2-2,l+4,l+4)),t.restore()}}drawBubbles(){let{ctx:e}=this;e.save(),e.font=yc,e.textAlign=`left`,e.textBaseline=`middle`;for(let[t,n]of this.bubbles){let r=this.bodies.get(t);if(r===void 0)continue;let i=this.clock-n.born,a=Math.min(1,i/.25,(bc-i)/1.2)*r.presence;if(a<=0)continue;let o=n.text;if(e.measureText(o).width>xc){for(;o.length>1&&e.measureText(`${o}…`).width>xc;)o=o.slice(0,-1);o=`${o.trimEnd()}…`}let s=e.measureText(o).width+16,c=this.options.reducedMotion?0:i*7,l=Math.max(10,wc*this.scale),u=r.screen.x-s/2,d=r.screen.y-l-14-22-c;e.globalAlpha=a,e.beginPath(),e.roundRect(u,d,s,22,7),e.fillStyle=`rgba(23, 23, 23, 0.92)`,e.fill(),e.strokeStyle=`rgba(255, 255, 255, 0.1)`,e.lineWidth=1,e.stroke(),e.fillStyle=`rgba(${fc}, 1)`,e.fillText(o,u+8,d+11+.5)}e.restore()}drawSpecks(e){let{ctx:t}=this,n=-this.camX*this.scale*Cc,r=-this.camY*this.scale*Cc;for(let i of this.specks){let a=e===0?1:.6+.4*Math.sin(e*i.rate+i.phase);t.fillStyle=`rgba(255, 255, 255, ${(i.alpha*a*(this.paused?.6:1)).toFixed(3)})`,t.fillRect(Ac(i.x*this.width+n,this.width),Ac(i.y*this.height+r,this.height),i.size,i.size)}let i=this.toScreen(0,0),a=t.createRadialGradient(i.x,i.y,0,i.x,i.y,320*this.scale);a.addColorStop(0,`rgba(255, 255, 255, 0.035)`),a.addColorStop(1,`rgba(255, 255, 255, 0)`),t.fillStyle=a,t.fillRect(0,0,this.width,this.height)}drawAnchors(){let{ctx:e}=this,t=this.toScreen(0,0);e.save(),e.setLineDash([2,7]),e.lineWidth=1,e.strokeStyle=`rgba(255, 255, 255, 0.07)`;for(let n of this.spheres.values())if(n.anchor.kind===`project`){let r=this.toScreen(n.x,n.y);e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.stroke()}e.restore();for(let{anchor:t,x:n,y:r,radius:i}of this.spheres.values()){let a=this.toScreen(n,r),o=i*this.scale,s=t.id===this.focus;if(t.kind===`project`){let t=e.createRadialGradient(a.x,a.y,0,a.x,a.y,o*1.8);t.addColorStop(0,`rgba(160, 170, 255, ${s?.1:.05})`),t.addColorStop(1,`rgba(160, 170, 255, 0)`),e.fillStyle=t,e.fillRect(a.x-o*1.8,a.y-o*1.8,o*3.6,o*3.6)}e.beginPath(),e.arc(a.x,a.y,o,0,Math.PI*2),e.lineWidth=s?1.5:1,e.strokeStyle=s?`rgba(255, 255, 255, 0.28)`:t.kind===`society`?`rgba(255, 255, 255, 0.09)`:`rgba(255, 255, 255, 0.06)`,e.stroke(),e.textAlign=`center`,e.textBaseline=`top`,t.kind===`society`?(e.font=_c,e.letterSpacing=`2px`,e.fillStyle=`rgba(${mc}, 0.9)`,e.fillText(t.label.toUpperCase(),a.x,a.y+o+10),e.letterSpacing=`0px`):(e.font=gc,e.fillStyle=s?`rgba(245, 245, 245, 1)`:`rgba(${pc}, 0.95)`,e.fillText(t.label,a.x,a.y+o+10))}}drawBody(e,t){let{ctx:n}=this,{star:r}=e,i=F[r.cli],a=r.id===this.hovered,o=r.state===`working`,s=o?2.5:5,c=s*(Math.sin(t*.29+e.phase)+.6*Math.sin(t*.17+e.phase*2.1)),l=s*(Math.cos(t*.23+e.phase*1.3)+.6*Math.cos(t*.11+e.phase)),u=this.toScreen(e.x+c,e.y+l);e.screen=u;let d=o?2.4:r.state===`queued`?1.4:.7,f=t===0?.5:.5+.5*Math.sin(t*d+e.phase),p=((o?.95+.35*f:r.state===`queued`?.7+.2*f:.5+.2*f)+(a?.25:0)+.8*e.flash)*e.presence*(this.paused?.7:1),m=Math.max(10,wc*this.scale),h=(o?170:130)*this.scale*(.9+.15*f);n.save(),n.globalCompositeOperation=`lighter`,n.globalAlpha=Math.min(1,p),n.drawImage(this.glow(i.accent),u.x-h/2,u.y-h/2,h,h),n.restore(),n.save(),n.globalAlpha=e.presence;let g=jc(i.accent);if(o&&t!==0){let r=(t+e.phase)%1.8/1.8;n.beginPath(),n.arc(u.x,u.y,m+(6+30*r)*this.scale,0,Math.PI*2),n.strokeStyle=`rgba(${g}, ${(.4*(1-r)).toFixed(3)})`,n.lineWidth=1.25,n.stroke()}e.flash>0&&(n.beginPath(),n.arc(u.x,u.y,m+(3+12*(1-e.flash))*this.scale,0,Math.PI*2),n.strokeStyle=`rgba(255, 255, 255, ${(.55*e.flash).toFixed(3)})`,n.lineWidth=1.25,n.stroke()),r.resident&&(n.beginPath(),n.arc(u.x,u.y,m+5*this.scale,0,Math.PI*2),n.strokeStyle=`rgba(${g}, 0.3)`,n.lineWidth=1,n.stroke()),r.state===`queued`&&(n.beginPath(),n.arc(u.x,u.y,m+8*this.scale,0,Math.PI*2),n.setLineDash([3,4]),n.lineDashOffset=-t*8,n.strokeStyle=`rgba(${fc}, 0.55)`,n.lineWidth=1,n.stroke(),n.setLineDash([])),n.beginPath(),n.arc(u.x,u.y,m,0,Math.PI*2),n.fillStyle=dc,n.fill(),n.strokeStyle=`rgba(${g}, ${a?.95:.6})`,n.lineWidth=a?1.75:1.25,n.stroke(),n.save();let _=m*1.2/24;if(n.translate(u.x,u.y),n.scale(_,_),n.translate(-12,-12),n.fillStyle=i.fill,n.fill(this.glyphs[r.cli],`evenodd`),n.restore(),o)for(let r=0;r<3;r+=1){let i=t*1.8+r*Math.PI*2/3+e.phase,a=m+9*this.scale;n.beginPath(),n.arc(u.x+a*Math.cos(i),u.y+a*Math.sin(i),1.6,0,Math.PI*2),n.fillStyle=`rgba(${g}, 0.9)`,n.fill()}n.font=`500 ${Math.max(9,Math.min(11,11*this.scale)).toFixed(1)}px ${hc}`,n.textAlign=`center`,n.textBaseline=`top`,n.fillStyle=`rgba(${fc}, ${a||o?1:.7})`,n.fillText(r.name,u.x,u.y+m+8*this.scale+3),n.restore()}},Pc=15e3,Fc=26,V=12,Ic=4,Lc=.0015,Rc=.01,zc=1.3,Bc=`grid size-7 place-items-center rounded-md text-sm text-fg-tertiary transition-colors hover:bg-surface-2/70 hover:text-fg-primary focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`;function Vc(e,t,n,r){if(e===null)return;if(t===null){e.style.visibility=`hidden`;return}let i=e.offsetWidth,a=e.offsetHeight,o=r.left+V,s=n.width-r.right-V,c=t.x+Fc+i<=s?t.x+Fc:t.x-Fc-i,l=Math.min(Math.max(V,t.y-a/3),n.height-a-V);e.style.transform=`translate(${Math.round(Math.max(o,c))}px, ${Math.round(l)}px)`,e.style.visibility=`visible`}function Hc({model:e,paused:t,hovered:n,onHover:r,insets:i,focus:a,onSelectAnchor:o,onSelectStar:s,onSelectTask:c,live:l,card:u}){let d=(0,A.useRef)(null),f=(0,A.useRef)(null),p=(0,A.useRef)(null),m=(0,A.useRef)(i);(0,A.useLayoutEffect)(()=>{m.current=i},[i]);let h=(0,A.useRef)(e);(0,A.useLayoutEffect)(()=>{h.current=e},[e]);let g=ao(),_=(0,A.useRef)(g);(0,A.useLayoutEffect)(()=>{_.current=g},[g]);let v=(0,A.useRef)(null),y=(0,A.useRef)(!1);return(0,A.useEffect)(()=>{let e=d.current;if(e===null)throw Error(`the sky's canvas is not mounted`);let t=e.getBoundingClientRect(),n=new Nc(e,{reducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,onHoverPosition:e=>Vc(f.current,e,t,m.current)});p.current=n;let r=new ResizeObserver(()=>{t=e.getBoundingClientRect(),n.resize(t.width,t.height,window.devicePixelRatio)});r.observe(e);let i=e=>{e.preventDefault();let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?e.deltaY*16:e.deltaY;n.zoomBy(Math.exp(-t*(e.ctrlKey?Rc:Lc)),{x:e.offsetX,y:e.offsetY})};return e.addEventListener(`wheel`,i,{passive:!1}),n.start(),()=>{e.removeEventListener(`wheel`,i),r.disconnect(),n.stop(),p.current=null}},[]),(0,A.useEffect)(()=>{p.current?.setModel(e)},[e]),(0,A.useEffect)(()=>l.listen(e=>{let t=p.current;if(t===null||e.event.type!==`tool_call`||Date.now()-Date.parse(e.ts)>Pc)return;let n=Xs(h.current,e.agent,e.project);if(n===null)return;t.flash(n);let r=Po(e.event.name,e.event.input);r!==null&&t.say(n,Xa(r,_.current))}),[l]),(0,A.useEffect)(()=>{p.current?.setPaused(t)},[t]),(0,A.useEffect)(()=>{p.current?.setHovered(n)},[n]),(0,A.useEffect)(()=>{p.current?.setFocus(a)},[a]),(0,A.useEffect)(()=>{p.current?.setInsets(i.left,i.right)},[i.left,i.right]),(0,N.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,N.jsx)(`canvas`,{ref:d,className:`size-full touch-none`,"aria-hidden":`true`,onPointerDown:e=>{e.button===0&&(v.current={x:e.clientX,y:e.clientY,dragging:!1},y.current=!1)},onPointerUp:e=>{v.current?.dragging===!0&&(e.currentTarget.releasePointerCapture(e.pointerId),e.currentTarget.style.cursor=`grab`),v.current=null},onPointerMove:e=>{let t=p.current,i=v.current;if(i!==null&&t!==null){let n=e.clientX-i.x,a=e.clientY-i.y;if(!i.dragging&&Math.hypot(n,a)>Ic&&(i.dragging=!0,y.current=!0,e.currentTarget.setPointerCapture(e.pointerId),r(null)),i.dragging){t.panBy(n,a),i.x=e.clientX,i.y=e.clientY,e.currentTarget.style.cursor=`grabbing`;return}}let{offsetX:a,offsetY:o}=e.nativeEvent,s=t?.hitTest(a,o)??null,c=s===null?t?.hitTestMark(a,o)??null:null,l=s??(c===null?null:`task:${c}`),u=l===null?t?.hitTestAnchor(a,o)??null:null;e.currentTarget.style.cursor=l!==null||u!==null?`pointer`:`grab`,l!==n&&r(l)},onPointerLeave:()=>r(null),onClick:e=>{let t=p.current,{offsetX:n,offsetY:r}=e.nativeEvent;if(t===null||y.current){y.current=!1;return}let i=t.hitTest(n,r),a=i===null?t.hitTestMark(n,r):null,l=i===null&&a===null?t.hitTestAnchor(n,r):null;i===null?a===null?l!==null&&o(l):c(a):s(i)}}),(0,N.jsxs)(`fieldset`,{className:`card absolute bottom-4 flex flex-col gap-0.5 p-1`,style:{right:i.right+16},children:[(0,N.jsx)(`legend`,{className:`sr-only`,children:`Camera`}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Zoom in`,className:Bc,onClick:()=>p.current?.zoomBy(zc),children:`+`}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Zoom out`,className:Bc,onClick:()=>p.current?.zoomBy(1/zc),children:`−`}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Fit the whole sky`,title:`Fit the whole sky`,className:Bc,onClick:()=>p.current?.home(),children:`⤢`})]}),(0,N.jsx)(`div`,{ref:f,className:`pointer-events-none absolute top-0 left-0 will-change-transform`,style:{visibility:`hidden`},children:u})]})}var Uc={left:0,right:0};function Wc(){let[e,t]=(0,A.useState)(()=>window.innerWidth);return(0,A.useEffect)(()=>{let e=()=>t(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function Gc(e,t){return e.startsWith(t)?decodeURIComponent(e.slice(t.length)):null}function Kc(){let{api:e,token:t,signOut:r,expire:i}=u(),a=je();(0,A.useEffect)(()=>Os(t,{onEvent:e=>js(a,e),onResume:()=>void a.invalidateQueries()}),[t,a]);let[o]=(0,A.useState)(()=>new Ro);(0,A.useEffect)(()=>o.follow(t),[o,t]);let s=Le(),c=Ve(),l=pt(),d=le(),f=T(),p=Ke(),m=ft(),h=(0,A.useMemo)(()=>Ja(f.data??[],p,m.data??[]),[f.data,p,m.data]),g=Ni(),_=kt({mutationFn:t=>e.setPaused(t),onSuccess:()=>void a.invalidateQueries({queryKey:[`scheduler`]})}),v=aa({select:e=>e.location.pathname}),[y,b]=(0,A.useState)(!1),[x,S]=(0,A.useState)(null),C=x===v,te=(0,A.useCallback)(()=>S(null),[]),w=(0,A.useRef)(!0),ne=Ta(),re=Mi({strict:!1}),[ie,ae]=(0,A.useState)(null),oe=lt(3e4),se=Wc(),ce=v!==`/`,ue=Math.round(Math.min(680,Math.max(420,se*.4))),de=(0,A.useMemo)(()=>ce?{left:288,right:ue+32}:Uc,[ce,ue]),fe=Gc(v,`/thread/`),pe=n(Gc(v,`/task/`)),me=Gc(v,`/c/`)??(fe===null?null:f.data?.find(e=>e.id===fe)?.channel??null),he=/^\/p\/([^/]+)\/tasks$/.exec(v)?.[1]??pe.data?.project??null,ge=Gc(v,`/citizen/`),_e=ge===null?null:re.scope??null,ve=_e?.split(`/`)[0]??null,ye=v===`/needs-you`?`needs-you`:v===`/proposals`||v.startsWith(`/proposal/`)?`proposals`:v===`/runners`?`runners`:null,be=Wa().length,xe=v===`/society`?Fe:/^\/p\/([^/]+)$/.exec(v)?.[1]??/^\/knowledge\/([^/]+)\//.exec(v)?.[1]??null;(0,A.useEffect)(()=>{let e=()=>{w.current=!0},t=e=>{e.key===`Tab`&&(w.current=!1);let t=e.target instanceof HTMLElement?e.target:null;if(!(t?.closest(`input, textarea, select, [contenteditable]`)!=null||e.metaKey||e.ctrlKey||e.altKey)){if(e.key===` `){if(t?.closest(`button, a, summary, [role='button']`)!=null&&!w.current)return;e.preventDefault(),S(v);return}e.key===`Escape`&&(C?S(null):y?b(!1):ce&&g({to:`/`}))}};return window.addEventListener(`keydown`,t),window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(`pointerdown`,e)}},[ce,y,C,v,g]);let Se=[s,c,l,d].some(e=>e.error instanceof ee&&e.error.status===401);(0,A.useEffect)(()=>{Se&&i()},[Se,i]);let E=(0,A.useMemo)(()=>c.data===void 0||l.data===void 0||d.data===void 0?null:Js({members:c.data,projects:l.data,scheduler:d.data,tasks:p}),[c.data,l.data,d.data,p]);if(E===null){let e=[c,l,d].some(e=>e.error!==null);return(0,N.jsx)(`main`,{className:`grid h-full place-items-center`,children:(0,N.jsx)(`p`,{className:`text-meta`,"aria-live":`polite`,children:e?`The board server is not answering. Retrying…`:`Reading the board…`})})}let D=(ye===null&&v!==`/metrics`?null:`society`)??xe??he??(me===null?ge===null?null:ve??E.stars.find(e=>e.name===ge)?.anchor??null:me.includes(`/`)?me.split(`/`)[0]??null:`society`),Ce=se-de.left-de.right,we=Ce>=460,Te=Math.min(560,(we?Ce:se)-32),Ee={left:(we?de.left:0)+((we?Ce:se)-Te)/2,width:Te},De=fa(f.data??[]).filter(e=>ha(e,ne)),O=e=>e===`society`?`the society`:l.data?.find(t=>t.slug===e)?.name??e,Oe=E.stars.find(e=>e.id===ie),ke=E.tasks.find(e=>`task:${e.id}`===ie),Ae=c.data?.find(e=>e.name===Oe?.name),Me=Oe===void 0?`the society`:O(Oe.queuedFor??Oe.anchor),Ne=e=>{let t=E.stars.find(t=>t.id===e);t!==void 0&&g({to:`/citizen/$name`,params:{name:t.name},search:t.state===`working`?{scope:t.anchor}:{}})},Pe=e=>{g({to:`/task/$taskId`,params:{taskId:e}})};return(0,N.jsx)(zo,{value:o,children:(0,N.jsx)(io,{value:h,children:(0,N.jsxs)(`main`,{className:`relative h-full overflow-hidden`,children:[(0,N.jsx)(Hc,{model:E,paused:d.data?.paused??!1,hovered:ie,onHover:ae,insets:de,focus:D,onSelectAnchor:e=>{g(e===`society`?{to:`/society`}:{to:`/p/$slug`,params:{slug:e}})},onSelectStar:Ne,onSelectTask:Pe,live:o,card:ke===void 0?Oe===void 0||Ae===void 0?null:(0,N.jsx)(ys,{member:Ae,star:Oe,place:Me,now:oe}):(0,N.jsx)(Ds,{mark:ke,project:O(ke.project),members:c.data})}),(0,N.jsx)(bs,{society:s.data?.name,citizens:new Set(E.stars.map(e=>e.name)).size,citizensOpen:v===`/citizens`,onToggleCitizens:()=>void g(v===`/citizens`?{to:`/`}:{to:`/citizens`}),attention:be,onOpenAttention:()=>void g({to:`/needs-you`}),paused:d.data?.paused??!1,onTogglePause:()=>_.mutate(!(d.data?.paused??!1)),pauseBusy:_.isPending,boardOpen:ce,onToggleBoard:()=>void g(ce?{to:`/`}:{to:`/c/$`,params:{_splat:`general`}}),logsOpen:y,metricsOpen:v===`/metrics`,onToggleMetrics:()=>void g(v===`/metrics`?{to:`/`}:{to:`/metrics`}),onToggleLogs:()=>b(!y),onSignOut:r}),ce?(0,N.jsx)(qo,{activeChannel:me,activeTasks:he,activeCitizen:ge,activeScope:_e,activeGovernance:ye,activeOverview:xe}):null,ce?(0,N.jsx)(_a,{label:`Board content`,className:`top-[72px] right-4 bottom-4`,style:{width:ue},children:(0,N.jsx)(Yi,{})}):null,y?(0,N.jsx)(Es,{onClose:()=>b(!1)}):null,C?(0,N.jsx)(hs,{left:Ee.left,width:Ee.width,onClose:te}):(0,N.jsx)(`div`,{className:`pointer-events-none absolute bottom-5 flex justify-center px-16`,style:{left:de.left,right:de.right},children:(0,N.jsx)(gs,{unread:De,onOpen:()=>S(v)})}),E.stars.length===0&&!ce?(0,N.jsxs)(`p`,{className:`pointer-events-none absolute inset-x-0 top-1/2 mt-24 text-center text-meta`,children:[`No citizens yet. Ask the concierge for one, or add one with`,` `,(0,N.jsx)(`code`,{className:`font-mono text-fg-secondary`,children:`stellaris agent add`}),`.`]}):null,(0,N.jsx)(`ul`,{className:`sr-only`,"aria-label":`Tasks in play`,children:E.tasks.map(e=>(0,N.jsx)(`li`,{children:(0,N.jsx)(`button`,{type:`button`,onFocus:()=>ae(`task:${e.id}`),onBlur:()=>ae(null),onClick:()=>Pe(e.id),children:Ms(e,O(e.project))})},e.id))}),(0,N.jsx)(`ul`,{className:`sr-only`,"aria-label":`Citizens`,children:E.stars.map(e=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,onFocus:()=>ae(e.id),onBlur:()=>ae(null),onClick:()=>Ne(e.id),children:[e.name,`, `,e.state,e.state===`working`?` at ${O(e.anchor)}`:``]})},e.id))})]})})})}var qc=`modulepreload`,Jc=function(e){return`/`+e},Yc={},Xc=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Jc(t,n),t=s(t),t in Yc)return;Yc[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:qc,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function Zc(){return null}var Qc=Li({component:Kc}),$c=ta({routeTree:Qc.addChildren([P({getParentRoute:()=>Qc,path:`/`,component:Zc}),P({getParentRoute:()=>Qc,path:`/c/$`,component:Ri(()=>Xc(()=>import(`./ChannelView-CBWvCs5U.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8])),`ChannelView`)}),P({getParentRoute:()=>Qc,path:`/thread/$threadId`,component:Ri(()=>Xc(()=>import(`./ThreadView-BV2yDunm.js`),__vite__mapDeps([9,1,4,2,3,5,6,7,8])),`ThreadView`)}),P({getParentRoute:()=>Qc,path:`/society`,component:Ri(()=>Xc(()=>import(`./SocietyView-DQ3w5OWp.js`),__vite__mapDeps([10,1,5,11,12])),`SocietyView`)}),P({getParentRoute:()=>Qc,path:`/p/$slug`,component:Ri(()=>Xc(()=>import(`./ProjectView-CSTwTULB.js`),__vite__mapDeps([13,1,3,4,5,11,12])),`ProjectView`)}),P({getParentRoute:()=>Qc,path:`/knowledge/$scope/$topic`,component:Ri(()=>Xc(()=>import(`./KnowledgeView-DSinMNzK.js`),__vite__mapDeps([14,1,4,5])),`KnowledgeView`)}),P({getParentRoute:()=>Qc,path:`/p/$slug/tasks`,component:Ri(()=>Xc(()=>import(`./TasksView-nQhDOU_5.js`),__vite__mapDeps([15,1,3,5])),`TasksView`)}),P({getParentRoute:()=>Qc,path:`/task/$taskId`,component:Ri(()=>Xc(()=>import(`./TaskView-DyZBBjh1.js`),__vite__mapDeps([16,1,3,4,5,17,2])),`TaskView`)}),P({getParentRoute:()=>Qc,path:`/task/$taskId/files/$`,component:Ri(()=>Xc(()=>import(`./TaskFileView-7ljZ5Olx.js`),__vite__mapDeps([18,1,4,5])),`TaskFileView`)}),P({getParentRoute:()=>Qc,path:`/metrics`,validateSearch:e=>{let t=he.safeParse(e.window);return t.success?{window:t.data}:{}},component:Ri(()=>Xc(()=>import(`./MetricsView-BBgZsSMk.js`),__vite__mapDeps([19,1,5,11,12])),`MetricsView`)}),P({getParentRoute:()=>Qc,path:`/citizens`,component:Ri(()=>Xc(()=>import(`./CitizensView-BtutRBPU.js`),__vite__mapDeps([20,1,5,12])),`CitizensView`)}),P({getParentRoute:()=>Qc,path:`/needs-you`,component:Ri(()=>Xc(()=>import(`./NeedsYouView-gft672O-.js`),__vite__mapDeps([21,1,5])),`NeedsYouView`)}),P({getParentRoute:()=>Qc,path:`/runners`,validateSearch:e=>typeof e.code==`string`?{code:e.code}:{},component:Ri(()=>Xc(()=>import(`./RunnersView-DxmadMPv.js`),__vite__mapDeps([22,1,5,7,11,12])),`RunnersView`)}),P({getParentRoute:()=>Qc,path:`/proposals`,component:Ri(()=>Xc(()=>import(`./ProposalsView-D35XMr14.js`),__vite__mapDeps([23,1,5])),`ProposalsView`)}),P({getParentRoute:()=>Qc,path:`/proposal/$proposalId`,component:Ri(()=>Xc(()=>import(`./ProposalView-B0qXK-Vb.js`),__vite__mapDeps([24,1,3,4,5,7,23,17,2])),`ProposalView`)}),P({getParentRoute:()=>Qc,path:`/citizen/$name`,validateSearch:e=>({...typeof e.scope==`string`?{scope:e.scope}:{},...e.tab===`turns`||e.tab===`memory`||e.tab===`history`?{tab:e.tab}:{},...typeof e.turn==`string`?{turn:e.turn}:{}}),component:Ri(()=>Xc(()=>import(`./CitizenView-DKqzTA5L.js`),__vite__mapDeps([25,1,4,5,7,8,12])),`CitizenView`)})])});function el({signInError:e}){let t=je(),[n,r]=(0,A.useState)(de),a=(0,A.useCallback)(()=>{ht(),t.clear(),r(null)},[t]),o=(0,A.useCallback)(()=>{n!==null&&i(n).signOut().catch(()=>void 0),a(),$c.navigate({to:`/`})},[n,a]),s=(0,A.useMemo)(()=>n===null?null:{api:i(n),token:n,signOut:o,expire:a},[n,o,a]);return s===null?(0,N.jsx)(ua,{initialError:e,onEnter:e=>{h(e),r(e)}}):(0,N.jsx)(Ne,{value:s,children:(0,N.jsx)(ia,{router:$c})})}var tl={expired:`The sign-in took too long or was already used. Try again.`,declined:`GitHub sign-in was cancelled.`,github:`GitHub could not confirm who signed in. Try again.`,"not-allowed":`That GitHub account is not allowed on this board.`};function nl(e){let t=new URLSearchParams(e.replace(/^#/,``)),n=t.get(`session`),r=t.get(`signin-error`);return n===null&&r===null?null:{token:n===null||n===``?null:n,error:r===null?null:tl[r]??`GitHub sign-in failed.`}}function rl(){let e=nl(window.location.hash);return e!==null&&(e.token!==null&&h(e.token),window.history.replaceState(window.history.state,``,`${window.location.pathname}${window.location.search}`)),e}var il=new Ot({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),al=rl(),ol=document.getElementById(`root`);if(ol===null)throw Error(`missing #root element`);(0,oa.createRoot)(ol).render((0,N.jsx)(A.StrictMode,{children:(0,N.jsx)(He,{client:il,children:(0,N.jsx)(el,{signInError:al?.error??null})})}));export{za as A,Wa as C,Na as D,Fa as E,Mi as F,ji as I,kt as L,ja as M,Da as N,Aa as O,Ni as P,Ga as S,Va as T,so as _,Qo as a,$a as b,Xo as c,po as d,Io as f,Bo as g,ho as h,rs as i,Ba as j,Ia as k,mo as l,No as m,us as n,Jo as o,xo as p,os as r,Yo as s,fs as t,Lo as u,co as v,ka as w,ro as x,ao as y};
23
+ `).map(e=>e.trim()).find(e=>e.length>0)??``}function To(e){return/^\/bin\/(?:ba)?sh -lc (["'])([\s\S]*)\1$/.exec(e.trim())?.[2]??e}function Eo(e){return typeof e==`object`&&e&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{}}var Do=[`file_path`,`path`,`url`,`query`,`pattern`,`description`,`prompt`];function Oo(e){let t=Eo(e),n=t.command;if(typeof n==`string`){let e=To(n);return{summary:So(Co(e),_o),detail:So(e,vo)}}let r=So(JSON.stringify(e??null,null,2),vo),i=t.changes;if(Array.isArray(i))return{summary:So(i.map(e=>Eo(e).path).filter(e=>typeof e==`string`).join(`, `),_o),detail:r};let a=Do.map(e=>t[e]).find(e=>typeof e==`string`&&e.trim()!==``),o=Object.values(t).filter(e=>typeof e==`string`||typeof e==`number`);return{summary:So(Co(a??o.slice(0,3).join(` · `)),_o),detail:r}}var ko=`StructuredOutput`;function Ao(e,t){try{return Eo(JSON.parse(e)).summary===t}catch{return!1}}function jo(e,t,n){let r=[...e.steps,t],i=r.length-n;return{...e,steps:i>0?r.slice(i):r,fromStart:e.fromStart&&i<=0,lastAt:t.at}}function Mo(e,t,{maxSteps:n}={maxSteps:go}){let{event:r}=t,i=po(t.agent,t.project,t.thread),a=e.get(i),o=new Map(e),s={agent:t.agent,scope:t.project,...t.thread===void 0?{}:{thread:t.thread}};if(r.type===`turn_started`)return o.set(i,{...s,startedAt:t.ts,fromStart:!0,model:r.model??null,steps:[],lastAt:t.ts,end:null}),o;let c=a!==void 0&&a.end===null?a:{...s,startedAt:t.ts,fromStart:!1,model:null,steps:[],lastAt:t.ts,end:null};switch(r.type){case`text`:o.set(i,jo(c,{kind:`say`,seq:t.seq,at:t.ts,text:r.delta},n));break;case`tool_call`:if(r.name===ko)break;o.set(i,jo(c,{kind:`tool`,seq:t.seq,at:t.ts,name:r.name,...Oo(r.input),ok:null,output:null},n));break;case`tool_result`:{let e=c.steps.findIndex(e=>e.kind===`tool`&&e.name===r.name&&e.ok===null),n=c.steps[e];if(n?.kind===`tool`){let a=c.steps.with(e,{...n,ok:r.ok,output:r.output??null});o.set(i,{...c,steps:a,lastAt:t.ts})}break}case`error`:o.set(i,jo(c,{kind:`error`,seq:t.seq,at:t.ts,message:r.message},n));break;case`steered`:o.set(i,jo(c,{kind:`steer`,seq:t.seq,at:t.ts,...bo(r.text??``)},n));break;case`turn_completed`:{let e=r.status?.summary??null,n=c.steps.at(-1),a=n?.kind===`say`&&e!==null&&Ao(n.text,e);o.set(i,{...c,steps:a?c.steps.slice(0,-1):c.steps,lastAt:t.ts,end:{at:t.ts,exitReason:r.exitReason,costUsd:r.costUsd,summary:e}});break}}return o}function No(e,t,n,r){let i=new Map;for(let[a,o]of e.entries())i=Mo(i,{seq:a+1,ts:o.ts,agent:t,project:n,...r===void 0?{}:{thread:r},event:o.event},{maxSteps:1/0});return i.get(po(t,n,r))}function Po(e,t){if(xo(e)!==`post_message`)return null;let n=Eo(t).body,r=typeof n==`string`?wo(n).replace(/^[#>*\-\s]+/,``):``;return r===``?null:So(r,_o)}function Fo(e){let t=e.steps.at(-1);return t===void 0?null:t.kind===`tool`?`${xo(t.name)} · ${t.summary}`:t.kind===`steer`?`took ${Io(t.posts.length)}${t.from.length===0?``:` from ${t.from.join(`, `)}`}`:So(wo(t.kind===`say`?t.text:t.message),_o)}function Io(e){return e===1?`1 post`:`${e} posts`}function Lo(e,t){return Qe(t-Date.parse(e))}var Ro=class{turns=new Map;listeners=new Set;eventListeners=new Set;subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});snapshot=()=>this.turns;listen=e=>(this.eventListeners.add(e),()=>{this.eventListeners.delete(e)});follow(e){return fo({token:e,url:()=>`/api/turns/stream?since=0`,onOpen:()=>{this.turns=new Map,this.emit()},onData:e=>{let t=_e.safeParse(JSON.parse(e));if(t.success){this.turns=Mo(this.turns,t.data);for(let e of this.eventListeners)e(t.data)}},onBatch:()=>this.emit()})}emit(){for(let e of this.listeners)e()}},zo=(0,A.createContext)(null);function Bo(){let e=(0,A.useContext)(zo);if(e===null)throw Error(`useLiveTurns needs a LiveContext`);return(0,A.useSyncExternalStore)(e.subscribe,e.snapshot)}function Vo({activeCitizen:e,activeScope:t}){let n=le(),r=Ve(),i=Bo(),a=ao(),o=lt(5e3),s=pe(n.data?.running??[]),c=n.data?.pending.length??0;return(0,N.jsxs)(`section`,{"aria-label":`Working now`,className:`mt-3`,children:[(0,N.jsxs)(`h3`,{className:`flex items-center justify-between px-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:[(0,N.jsx)(`span`,{children:`Working now`}),c>0?(0,N.jsxs)(`span`,{className:`font-normal tracking-normal normal-case`,children:[c,` queued`]}):null]}),s.length===0?(0,N.jsx)(`p`,{className:`px-2 py-1 text-xs text-fg-muted`,children:`Nobody is in a turn.`}):(0,N.jsx)(`ul`,{children:s.map(({agent:n,scope:s,thread:c})=>{let l=i.get(po(n,s,c)),u=l!==void 0&&l.end===null,d=r.data?.find(e=>e.name===n)?.cli??null,f=u?Fo(l):null,p=mo({scope:s,thread:c}),m=n===e&&(t===null||t===p||t===s),h=s===`society`?`society`:s,g=c===void 0?null:a.get(c)?.title??`a thread`;return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/citizen/$name`,params:{name:n},search:{scope:p},className:`block rounded-lg px-2 py-1.5 transition-colors ${m?`bg-surface-2/80 text-fg-primary`:`text-fg-secondary hover:bg-surface-2/50 hover:text-fg-primary`}`,children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-1.5 text-sm`,children:[(0,N.jsxs)(`span`,{className:`relative grid size-4 shrink-0 place-items-center`,children:[d===null?null:(0,N.jsx)(Ga,{cli:d,size:13}),(0,N.jsx)(`span`,{className:`absolute -right-0.5 -bottom-0.5 size-1.5 animate-pulse rounded-full bg-emerald-400`})]}),(0,N.jsx)(`span`,{className:`min-w-0 truncate`,children:n}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-fg-muted`,children:g===null?h:`${h} · ${g}`}),u?(0,N.jsxs)(`span`,{className:`shrink-0 font-mono text-[11px] text-fg-tertiary`,children:[l.fromStart?``:`≥ `,Lo(l.startedAt,o)]}):null]}),(0,N.jsx)(`span`,{className:`mt-0.5 block truncate pl-5.5 text-[11px] text-fg-muted`,children:f===null?`Starting…`:(0,N.jsx)(co,{text:f,links:!1})})]})},po(n,s,c))})})]})}var Ho=`flex items-center gap-1.5 rounded-lg px-2 py-1.5 text-sm transition-colors`;function Uo(e){return`block truncate rounded-md px-2 text-[11px] font-semibold tracking-wider uppercase transition-colors ${e?`text-fg-primary`:`text-fg-muted hover:text-fg-primary`}`}var Wo=`bg-surface-2/80 text-fg-primary`,Go=`text-fg-secondary hover:bg-surface-2/50 hover:text-fg-primary`;function R({slug:e,active:t}){let n=(C(e).data??[]).filter(_t).length;return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/p/$slug/tasks`,params:{slug:e},className:`${Ho} ${t?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`◇`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`tasks`}),n>0?(0,N.jsx)(`span`,{title:`${n} tasks in play`,className:`rounded-md bg-surface-2/70 px-1.5 text-[11px] text-fg-tertiary`,children:n}):null]})})}function z({value:e,title:t}){return e===0?null:(0,N.jsx)(`span`,{title:t,className:`rounded-md bg-amber-500/15 px-1.5 text-[11px] text-amber-300`,children:e})}function Ko({active:e}){let t=(ft().data??[]).filter(ja).length,n=Wa().length,r=ze().data?.length??0;return(0,N.jsxs)(`section`,{"aria-label":`Governance`,className:`mt-3`,children:[(0,N.jsx)(`h3`,{className:`px-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:`Governance`}),(0,N.jsxs)(`ul`,{children:[(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/needs-you`,className:`${Ho} ${e===`needs-you`?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`◉`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`needs you`}),(0,N.jsx)(z,{value:n,title:`${n} waiting on you`})]})}),(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/proposals`,className:`${Ho} ${e===`proposals`?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`◈`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`proposals`}),(0,N.jsx)(z,{value:t,title:`${t} waiting on you`})]})}),(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/runners`,className:`${Ho} ${e===`runners`?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`▣`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:`runners`}),(0,N.jsx)(z,{value:r,title:`${r} waiting for approval`})]})})]})]})}function qo({activeChannel:e,activeTasks:t,activeCitizen:n,activeScope:r,activeGovernance:i,activeOverview:a}){let o=tt(),s=pt(),c=T(),l=Ta();(0,A.useEffect)(()=>{o.data!==void 0&&Ea(o.data.map(e=>[e.ref,e.lastMessageId]))},[o.data]);let u=(0,A.useMemo)(()=>(s.data??[]).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.slug.localeCompare(t.slug)),[s.data]),d=u.filter(e=>e.archived!==void 0),f=(0,A.useMemo)(()=>{let e=o.data??[];return[{key:`society`,label:`Society`,project:null,channels:e.filter(e=>e.project===null)},...u.filter(e=>e.archived===void 0).map(t=>({key:t.slug,label:t.name,project:t.slug,channels:e.filter(e=>e.project===t.slug)}))]},[o.data,u]),p=(0,A.useMemo)(()=>{let e=new Map;for(let t of c.data??[])t.state===`open`&&e.set(t.channel,(e.get(t.channel)??0)+1);return e},[c.data]);return(0,N.jsxs)(_a,{label:`Board navigator`,className:`top-[72px] bottom-4 left-4 w-64`,children:[(0,N.jsxs)(`header`,{className:`flex items-center justify-between px-4 pt-4 pb-1`,children:[(0,N.jsx)(`span`,{className:`text-caps`,children:`Board`}),(0,N.jsx)(k,{to:`/`,"aria-label":`Close the board`,className:`grid size-7 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`,children:`✕`})]}),(0,N.jsxs)(`nav`,{className:`flex-1 overflow-y-auto px-2 pb-3`,children:[(0,N.jsx)(Vo,{activeCitizen:n,activeScope:r}),(0,N.jsx)(Ko,{active:i}),f.map(n=>(0,N.jsxs)(`section`,{className:`mt-3`,children:[(0,N.jsx)(`h3`,{className:`pb-1`,children:n.project===null?(0,N.jsx)(k,{to:`/society`,className:Uo(a===n.key),children:n.label}):(0,N.jsx)(k,{to:`/p/$slug`,params:{slug:n.project},className:Uo(a===n.key),children:n.label})}),(0,N.jsxs)(`ul`,{children:[n.channels.map(t=>{let n=t.ref===e,r=p.get(t.ref)??0,i=!n&&Oa(l,t.ref,t.lastMessageId);return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/c/$`,params:{_splat:t.ref},className:`${Ho} ${n?Wo:Go}`,children:[(0,N.jsx)(`span`,{className:`text-fg-muted`,children:`#`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate ${i?`font-semibold`:``}`,children:t.name}),r>0?(0,N.jsx)(`span`,{title:`${r} open threads`,className:`rounded-md bg-surface-2/70 px-1.5 text-[11px] text-fg-tertiary`,children:r}):null,i?(0,N.jsx)(`span`,{"aria-label":`new messages`,className:`size-1.5 rounded-full bg-emerald-400`}):null]})},t.ref)}),n.project===null?null:(0,N.jsx)(R,{slug:n.project,active:n.project===t})]})]},n.key)),d.length===0?null:(0,N.jsxs)(`section`,{"aria-label":`Archived projects`,className:`mt-3`,children:[(0,N.jsx)(`h3`,{className:`px-2 pb-1 text-[11px] font-semibold tracking-wider text-fg-muted uppercase`,children:`Archived`}),(0,N.jsx)(`ul`,{children:d.map(e=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/p/$slug`,params:{slug:e.slug},className:`${Ho} ${a===e.slug?Wo:Go}`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`text-fg-muted`,children:`▫`}),(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name})]})},e.slug))})]})]})]})}function Jo({name:e,members:t}){let n=t?.find(t=>t.name===e)?.cli??null;return n===null?e===`user`?(0,N.jsx)(`span`,{className:`grid size-7 shrink-0 place-items-center rounded-lg bg-fg-primary/90 text-[10px] font-semibold text-surface-0`,children:`you`}):(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-7 shrink-0 place-items-center rounded-lg bg-surface-2/50 text-xs text-fg-muted`,children:`✦`}):(0,N.jsx)(`span`,{className:`grid size-7 shrink-0 place-items-center rounded-lg bg-surface-2/80`,children:(0,N.jsx)(Ga,{cli:n,size:16})})}function Yo({name:e,members:t}){let n=t?.find(t=>t.name===e)?.cli??null;return(0,N.jsxs)(`span`,{className:`inline-flex items-center gap-1 align-middle`,children:[n===null?null:(0,N.jsx)(Ga,{cli:n,size:12}),(0,N.jsx)(`span`,{className:`text-fg-secondary`,children:e})]})}function Xo(e){return e===`user`?`you`:e}var Zo={primary:`bg-fg-primary font-medium text-surface-0 hover:bg-white`,ghost:`text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary`};function Qo({variant:e=`ghost`,className:t=``,...n}){return(0,N.jsx)(`button`,{type:`button`,...n,className:`inline-flex h-7 shrink-0 items-center rounded-md px-3 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-40 ${Zo[e]} ${t}`})}var $o=/(^|[^\w@])@([a-z0-9][a-z0-9-]{0,31})(?![\w-])/g,B=new Set([`code`,`inlineCode`,`link`,`linkReference`,`html`]);function es(e){let t=[],n=0;for(let r of e.matchAll($o)){let i=(r.index??0)+(r[1]?.length??0);i>n&&t.push({type:`text`,value:e.slice(n,i)});let a=r[2]??``;t.push({type:`mention`,data:{hName:`span`,hProperties:{className:[`mention`]},hChildren:[{type:`text`,value:`@${a}`}]}}),n=i+a.length+1}return n<e.length&&t.push({type:`text`,value:e.slice(n)}),t}function ts(e){e.children!==void 0&&(e.children=e.children.flatMap(e=>e.type===`text`&&e.value!==void 0?es(e.value):(B.has(e.type)||ts(e),[e])))}function ns(e){return[...new Set([...e.matchAll($o)].map(e=>e[2]??``))].filter(e=>e!==``)}function rs(){return e=>ts(e)}function is(e,t){let n=/(^|[^\w@])@([a-z0-9-]*)$/.exec(e.slice(0,t))?.[2];return n===void 0?null:{start:t-n.length-1,prefix:n}}function as(e,t,n,r){let i=`@${r} `;return{text:e.slice(0,n)+i+e.slice(t),caret:n+i.length}}function os(e,t,n){let r=t.filter(e=>e.status===`active`&&e.cli!==null),i=r.filter(e=>n.find(t=>t.name===e.role)?.wakeTriggers.includes(`user_post`)).map(e=>e.name),a=ns(e).filter(e=>r.some(t=>t.name===e));return[...new Set([...i,...a])]}function ss(e,t,n,r){return e.filter(e=>n.some(n=>{if(n.agent!==e||!n.steerable)return!1;if(`thread`in r)return n.thread===r.thread;let i=t.find(t=>t.name===e);return i!==void 0&&n.thread===void 0&&n.scope===ct(i,Me(r.channel).project)}))}function cs(e,t){let n=e.length===0?null:`reaches ${us(e)} in the turn under way`,r=t.length===0?null:`wakes ${us(t)}: a turn each`;return n===null&&r===null?null:`Sending ${[n,r].filter(e=>e!==null).join(` and `)}.`}var ls=new Intl.ListFormat(`en`,{type:`conjunction`});function us(e){return ls.format(e)}var ds=6;function fs({target:e,placeholder:t,initialText:n=``,oneLine:r=!1,className:i=`border-t border-line p-3`,focusOnOpen:a=!1,onPosted:s,onEmptyEscape:c}){let{api:l}=u(),d=je(),f=Ve(),p=o(),m=le(),[h,g]=(0,A.useState)(n),[_,v]=(0,A.useState)(0),[y,b]=(0,A.useState)(0),[x,S]=(0,A.useState)(!1),C=(0,A.useRef)(null),te=(0,A.useRef)(null),w=kt({mutationFn:async t=>{if(`channel`in e)return l.sendMessage({channel:e.channel,body:t});if(`threadId`in e)return l.sendMessage({thread_id:e.threadId,body:t});let n=await l.openThread({channel:be,title:pa(t)});return l.sendMessage({thread_id:n.id,body:t})},onSuccess:t=>{g(n),d.invalidateQueries({queryKey:t.thread===void 0?[`channel`,t.channel]:[`thread`,t.thread]}),`ask`in e&&d.invalidateQueries({queryKey:[`threads`]}),d.invalidateQueries({queryKey:[`requests`]}),s?.(t)}});(0,A.useEffect)(()=>{a&&C.current?.focus()},[a]),(0,A.useLayoutEffect)(()=>{let e=C.current;e!==null&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`,te.current!==null&&(e.setSelectionRange(te.current,te.current),te.current=null))});let T=x?null:is(h,_),ne=(f.data??[]).filter(e=>e.status===`active`&&e.cli!==null),re=T===null?[]:ne.filter(e=>e.name.startsWith(T.prefix)).slice(0,ds),ie=os(h,f.data??[],p.data??[]),ae=`ask`in e?[]:ss(ie,f.data??[],m.data?.turns??[],`channel`in e?{channel:e.channel}:{thread:e.threadId}),oe=cs(ae,ie.filter(e=>!ae.includes(e))),se=e=>{if(T===null)return;let t=as(h,_,T.start,e);te.current=t.caret,g(t.text),v(t.caret)},ce=()=>{h.trim()!==``&&h.trim()!==n.trim()&&!w.isPending&&w.mutate(h.trim())},ue=e=>{if(re.length>0){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:re.length-1;b((y+t)%re.length);return}if(e.key===`Enter`||e.key===`Tab`){e.preventDefault(),se(re[Math.min(y,re.length-1)]?.name??``);return}if(e.key===`Escape`){e.preventDefault(),S(!0);return}}if(e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing){e.preventDefault(),ce();return}e.key===`Escape`&&h===``&&c!==void 0&&(e.preventDefault(),c())},de=(0,N.jsx)(Qo,{variant:`primary`,type:`submit`,disabled:h.trim()===``||h.trim()===n.trim()||w.isPending,children:w.isPending?`Sending…`:`Send`});return(0,N.jsxs)(`form`,{className:i,onSubmit:e=>{e.preventDefault(),ce()},children:[(0,N.jsxs)(`div`,{className:`relative rounded-xl bg-surface-2/50 shadow-[inset_0_0_0_1px_rgba(255,255,255,0.06)] focus-within:shadow-[inset_0_0_0_1px_rgba(255,255,255,0.16)] ${r?`flex items-end gap-2 pr-1.5`:``}`,children:[re.length>0?(0,N.jsx)(`ul`,{"aria-label":`Citizens to mention`,className:`card absolute bottom-full left-2 mb-2 w-60 overflow-hidden py-1`,children:re.map((e,t)=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,onMouseDown:t=>{t.preventDefault(),se(e.name)},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm ${t===y?`bg-surface-2 text-fg-primary`:`text-fg-secondary`}`,children:[e.cli===null?null:(0,N.jsx)(Ga,{cli:e.cli,size:14}),(0,N.jsx)(`span`,{className:`flex-1 truncate`,children:e.name}),(0,N.jsx)(`span`,{className:`truncate font-mono text-[11px] text-fg-muted`,children:e.role})]})},e.name))}):null,(0,N.jsx)(`textarea`,{ref:C,rows:1,value:h,placeholder:t,"aria-label":t,onChange:e=>{g(e.target.value),v(e.target.selectionStart),b(0),S(!1)},onSelect:e=>v(e.currentTarget.selectionStart),onKeyDown:ue,className:`block max-h-48 w-full resize-none bg-transparent px-3 text-sm text-fg-primary outline-none placeholder:text-fg-muted ${r?`py-2.5`:`pt-2.5 pb-1`}`}),r?(0,N.jsx)(`div`,{className:`shrink-0 pb-1.5`,children:de}):(0,N.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-2`,children:[(0,N.jsx)(`p`,{className:`min-w-0 flex-1 truncate text-[11px] text-fg-muted`,children:oe??`Enter to send · Shift+Enter for a new line`}),de]})]}),w.error===null?null:(0,N.jsx)(`p`,{role:`alert`,className:`mt-2 text-xs text-red-400`,children:w.error instanceof ee?w.error.message:`The message was not sent.`})]})}var ps=5;function ms(e,t){switch(e.kind){case`answering`:return{text:`${us(e.who)} ${e.who.length===1?`is`:`are`} answering…`,tone:`text-emerald-300`};case`queued`:return{text:`${us(e.who)} will answer next`,tone:`text-amber-300`};case`waiting`:return{text:`waiting for an answer`,tone:`text-fg-muted`};case`answered`:return{text:`answered by ${Xo(e.by)}`,tone:`text-fg-secondary`}}let n=We(t.body,160);return{text:`closed by ${Xo(e.by??`board`)}${n===``?``:` · ${n}`}`,tone:`text-fg-muted`}}function hs({left:e,width:t,onClose:n}){let r=T(),i=le(),a=Ta(),o=lt(3e4),s=(0,A.useRef)(null),c=fa(r.data??[]).slice(0,ps),l=pe(i.data?.running??[]),u=pe(i.data?.pending??[]);return(0,A.useEffect)(()=>{let e=e=>{e.target instanceof Node&&s.current?.contains(e.target)===!1&&n()};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[n]),(0,N.jsxs)(`section`,{ref:s,"aria-label":`Ask`,className:`absolute top-[26%] z-30 flex flex-col gap-2`,style:{left:e,width:t},children:[(0,N.jsx)(`div`,{className:ga,children:(0,N.jsx)(fs,{target:{ask:!0},placeholder:`Ask the front desk`,oneLine:!0,className:`p-2`,focusOnOpen:!0,onEmptyEscape:n})}),c.length===0?null:(0,N.jsx)(`ol`,{"aria-label":`Your asks`,className:`${ga} max-h-[40vh] overflow-y-auto py-1`,children:c.map(e=>{let t=ms(ma(e,l,u),e),n=ha(e,a);return(0,N.jsx)(`li`,{children:(0,N.jsxs)(k,{to:`/thread/$threadId`,params:{threadId:e.id},className:`block px-4 py-2 transition-colors hover:bg-surface-2/50`,children:[(0,N.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-fg-primary ${n?`font-semibold`:``}`,children:e.title}),n?(0,N.jsx)(`span`,{"aria-label":`new answer`,className:`size-1.5 shrink-0 rounded-full bg-emerald-400`}):null,(0,N.jsx)(`time`,{dateTime:e.openedAt,className:`shrink-0 text-meta`,children:it(e.openedAt,o)})]}),(0,N.jsx)(`span`,{className:`mt-0.5 block truncate text-xs ${t.tone}`,children:t.text})]})},e.id)})})]})}function gs({unread:e,onOpen:t}){let[n]=e,r=n===void 0?null:e.length===1?`${Xo(n.lastAuthor??`board`)} answered “${n.title}”`:`${e.length} new answers`;return(0,N.jsxs)(`button`,{type:`button`,onClick:t,className:`pointer-events-auto flex max-w-full min-w-0 items-center gap-2 rounded-full px-3 py-1.5 text-meta transition-colors hover:text-fg-secondary`,children:[r===null?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`size-1.5 shrink-0 rounded-full bg-emerald-400`}),(0,N.jsx)(`span`,{className:`min-w-0 truncate text-fg-secondary`,children:r}),(0,N.jsx)(`span`,{"aria-hidden":`true`,children:`·`})]}),(0,N.jsx)(`kbd`,{className:`shrink-0 rounded border border-line px-1.5 font-sans text-[11px] text-fg-secondary`,children:`Space`}),(0,N.jsx)(`span`,{className:`shrink-0`,children:`to ask`})]})}var _s={working:{label:`working`,style:`bg-emerald-500/15 text-emerald-300`},queued:{label:`queued`,style:`bg-amber-500/15 text-amber-300`},idle:{label:`resting`,style:`bg-surface-2 text-fg-tertiary`}};function vs(e,t,n,r){return t.state===`working`?`In a turn at ${n}`:t.state===`queued`?`Queued for ${n}`:e.lastTurnAt===void 0?`No turns yet`:`Last turn ${it(e.lastTurnAt,r)}`}function ys({member:e,star:t,place:n,now:r}){let i=e.lastModel??e.model,a=_s[t.state];return(0,N.jsxs)(`article`,{className:`card w-72 p-3.5`,"aria-label":`${e.name}, ${e.role}`,children:[(0,N.jsxs)(`header`,{className:`flex items-center gap-3`,children:[(0,N.jsx)(`span`,{className:`grid size-8 shrink-0 place-items-center rounded-md bg-surface-2/70`,children:(0,N.jsx)(Ga,{cli:t.cli,size:18})}),(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`h2`,{className:`text-title truncate`,children:e.name}),(0,N.jsxs)(`p`,{className:`truncate text-meta`,children:[e.role,i===void 0?``:` · ${i}`]})]}),(0,N.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${a.style}`,children:a.label})]}),(0,N.jsx)(`p`,{className:`mt-2.5 text-sm text-fg-secondary`,children:vs(e,t,n,r)})]})}function bs({society:e,citizens:t,citizensOpen:n,onToggleCitizens:r,attention:i,onOpenAttention:a,paused:o,onTogglePause:s,pauseBusy:c,boardOpen:l,onToggleBoard:u,metricsOpen:d,onToggleMetrics:f,logsOpen:p,onToggleLogs:m,onSignOut:h}){return(0,N.jsxs)(`header`,{className:`pointer-events-none absolute inset-x-0 top-0 flex items-start justify-between p-5`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,N.jsx)(`span`,{className:`text-display`,children:`Stellaris`}),e===void 0?null:(0,N.jsx)(`span`,{className:`text-meta`,children:e})]}),(0,N.jsxs)(`div`,{className:`pointer-events-auto flex items-center gap-2`,children:[i===0?null:(0,N.jsxs)(`button`,{type:`button`,onClick:a,className:`card inline-flex h-7 items-center gap-1.5 rounded-md px-2.5 text-xs text-amber-300 transition-colors hover:text-amber-200 focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:`size-1.5 rounded-full bg-amber-300`}),i,` `,i===1?`needs`:`need`,` you`]}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":o,disabled:c,onClick:s,title:o?`Nobody takes a turn until you resume; wakes wait in the queue.`:`Stop dispatching turns. Running turns finish; new wakes wait.`,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none disabled:opacity-50 ${o?`text-amber-300 hover:text-amber-200`:`text-fg-tertiary hover:text-fg-primary`}`,children:o?`Paused · resume`:`Pause`}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:r,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${n?`text-fg-primary`:`text-fg-tertiary hover:text-fg-primary`}`,children:t===1?`1 citizen`:`${t} citizens`}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":l,onClick:u,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${l?`text-fg-primary`:`text-fg-secondary hover:text-fg-primary`}`,children:`Board`}),(0,N.jsx)(`button`,{type:`button`,"aria-pressed":d,onClick:f,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${d?`text-fg-primary`:`text-fg-secondary hover:text-fg-primary`}`,children:`Metrics`}),(0,N.jsx)(`button`,{type:`button`,"aria-expanded":p,onClick:m,className:`card inline-flex h-7 items-center rounded-md px-2.5 text-xs transition-colors focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none ${p?`text-fg-primary`:`text-fg-secondary hover:text-fg-primary`}`,children:`Logs`}),(0,N.jsx)(`button`,{type:`button`,onClick:h,className:`h-7 rounded-md px-2.5 text-xs text-fg-tertiary transition-colors hover:bg-surface-2/60 hover:text-fg-primary focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`,children:`Sign out`})]})]})}var xs=new Set(p),Ss={waiting_stage:`stage waiting`,backlog:`backlog`,role_gap:`role gap`,churn:`churn`,stale_thread:`stale thread`,idle_member:`idle member`,blocked_capability:`missing capability`,turn_cost:`spend`,scaled:`replica added`,runner:`runner`,home_conflict:`edits to reconcile`};function Cs(e){return xs.has(e)}function ws(e,t){let n=new Set(t),r=new Map;for(let t of e)n.has(t.signal.key)&&r.set(t.signal.key,t.id);return new Set(r.values())}function Ts(e){return[e.project??``,e.agent??``,e.role===void 0?``:`role ${e.role}`,Cs(e.kind)?`wakes the steward`:``].filter(e=>e.length>0)}function Es({onClose:e}){let t=c(!0),n=le(),r=lt(3e4),i=t.data??[],a=ws(i,n.data?.signals??[]);return(0,N.jsxs)(_a,{label:`Operations log`,className:`top-[72px] right-4 z-20 max-h-[min(70vh,640px)]`,style:{width:400},children:[(0,N.jsxs)(`header`,{className:`flex items-start gap-3 border-b border-line px-4 py-3`,children:[(0,N.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,N.jsx)(`h2`,{className:`text-heading`,children:`Operations log`}),(0,N.jsx)(`p`,{className:`mt-0.5 text-meta`,children:`What the scheduler measured. Only kinds that wake the steward start a turn; it reads the rest at its next one.`})]}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Close the log`,onClick:e,className:`grid size-7 shrink-0 place-items-center rounded-lg text-fg-tertiary hover:bg-surface-2/70 hover:text-fg-primary focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`,children:`×`})]}),i.length===0?(0,N.jsx)(`p`,{className:`px-4 py-4 text-meta`,children:t.data===void 0?`Reading the log…`:`Nothing measured yet.`}):(0,N.jsx)(`ol`,{className:`flex-1 overflow-y-auto`,children:i.toReversed().map(({id:e,ts:t,signal:n})=>{let i=Cs(n.kind),o=Ts(n);return(0,N.jsxs)(`li`,{className:`border-b border-line/60 px-4 py-2.5 last:border-b-0`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:`rounded-md px-1.5 py-px text-[11px] ${i?`bg-amber-500/15 text-amber-300`:`bg-surface-2 text-fg-tertiary`}`,children:Ss[n.kind]}),a.has(e)?(0,N.jsx)(`span`,{className:`text-[11px] text-emerald-300`,children:`holds now`}):null,(0,N.jsx)(`time`,{dateTime:t,title:t,className:`ml-auto shrink-0 text-meta`,children:it(t,r)})]}),(0,N.jsx)(`p`,{className:`mt-1 text-sm text-fg-secondary`,children:(0,N.jsx)(co,{text:n.summary})}),o.length===0&&n.taskId===void 0?null:(0,N.jsxs)(`p`,{className:`mt-0.5 text-meta`,children:[o.join(` · `),n.taskId===void 0?null:(0,N.jsxs)(N.Fragment,{children:[o.length===0?``:` · `,(0,N.jsx)(k,{to:`/task/$taskId`,params:{taskId:n.taskId},className:`text-fg-tertiary underline-offset-2 hover:text-fg-primary hover:underline`,children:`the task`})]})]})]},e)})})]})}function Ds({mark:e,project:t,members:n}){let r=n?.find(t=>t.name===e.holder)?.cli??null,i=xt.find(t=>t.phase===e.phase)?.label??e.phase;return(0,N.jsxs)(`article`,{className:`card w-72 p-4`,"aria-label":`Task ${e.title}`,children:[(0,N.jsxs)(`header`,{className:`flex items-start gap-3`,children:[(0,N.jsx)(`h2`,{className:`text-title min-w-0 flex-1`,children:e.title}),(0,N.jsx)(`span`,{className:`shrink-0 rounded-full px-2 py-0.5 text-[11px] font-medium ${vt[e.phase]}`,children:i.toLowerCase()})]}),(0,N.jsxs)(`dl`,{className:`mt-3 grid grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs`,children:[(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Project`}),(0,N.jsx)(`dd`,{className:`min-w-0 truncate text-fg-secondary`,children:t}),(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Stage`}),(0,N.jsx)(`dd`,{className:`min-w-0 truncate text-fg-secondary`,children:e.stage}),e.holder===null?e.waitingFor===null?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Waiting for`}),(0,N.jsx)(`dd`,{className:`min-w-0 truncate text-fg-secondary`,children:e.waitingFor})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`dt`,{className:`text-fg-muted`,children:`Held by`}),(0,N.jsxs)(`dd`,{className:`flex min-w-0 items-center gap-1 text-fg-secondary`,children:[r===null?null:(0,N.jsx)(Ga,{cli:r,size:12}),e.holder,e.linked===null?` · resting`:` · in a turn on it`]})]})]})]})}function Os(e,t){let n=`latest`;return fo({token:e,url:()=>`/api/events/stream?since=${n}`,onData:e=>{let r=ye.parse(JSON.parse(e));n=r.id,t.onEvent(r)},onOpen:e=>{e&&t.onResume()}})}function ks(e){return typeof e==`string`?e:void 0}function As(e){let{type:t,payload:n,actor:r}=e;if(t===`message.posted`){let e=ks(n.thread);return e===void 0?[[`channels`],[`channel`,ks(n.channel)],[`requests`]]:[[`threads`],[`thread`,e],[`requests`]]}return t.startsWith(`thread.`)?[[`threads`],[`thread`,ks(n.threadId)],[`channel`],[`requests`]]:t.startsWith(`task.`)||t.startsWith(`merge.`)||t===`lease.expired`?[[`tasks`],[`task`,ks(n.taskId)],[`members`],[`metrics`]]:t===`turn.completed`||t===`turn.failed`?[[`scheduler`],[`members`],[`turns`,r],[`memory`,r],[`agent-skills`,r],[`conflicts`,r],[`history`,r],[`task-file`],[`task-changes`],[`metrics`]]:t===`turn.started`?[[`scheduler`],[`members`],[`metrics`]]:t.startsWith(`turn.`)||t===`wake.requested`||t===`paused.changed`?[[`scheduler`],[`members`]]:t===`knowledge.written`?[[`knowledge`,ks(n.project)??`society`]]:t.startsWith(`agent.`)||t===`subscription.changed`?[[`members`]]:t.startsWith(`project.`)||t===`channel.added`?[[`projects`],[`channels`],[`society`]]:t===`role.added`?[[`roles`]]:t.startsWith(`runner.`)?[[`runners`]]:t.startsWith(`proposal.`)?[[`proposals`],[`proposal`,ks(n.proposalId)],[`metrics`]]:t===`skill.promoted`?[[`skills`]]:t===`ops.signal`?[[`signals`],[`scheduler`],[`metrics`]]:[]}function js(e,t){for(let n of As(t)){let t=n.filter(e=>e!==void 0);e.invalidateQueries({queryKey:t})}}function Ms(e,t){let n=xt.find(t=>t.phase===e.phase)?.label.toLowerCase(),r=e.holder===null?e.waitingFor===null?null:`for ${e.waitingFor}`:`held by ${e.holder}${e.linked===null?``:`, in a turn there`}`;return[`Task ${e.title} at ${t}`,`stage ${e.stage}`,n,r].filter(e=>e!=null).join(`, `)}var Ns=Math.PI*(3-Math.sqrt(5)),Ps=68,Fs=44,Is=58,Ls=26,Rs=13,zs=.3,Bs=1.5*Math.PI,Vs=28,Hs=280,Us=8,Ws=40;function Gs(e){return Math.max(Is,Ps*Math.sqrt(Math.max(0,e-1))+Fs)}function Ks(e){return e+Ls}function qs(e){let t=new Map;for(let n of e.toSorted()){let e=y(n);if(e!==null){let n=t.get(e.agent)??[];n.includes(e.scope)||t.set(e.agent,[...n,e.scope])}}return t}function Js(e){let t=e.projects.filter(e=>e.archived===void 0).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.slug.localeCompare(t.slug)),n=new Set(t.map(e=>e.slug)),r=e=>n.has(e)?e:Fe,i=qs(e.scheduler.running),a=qs(e.scheduler.pending),o=new Set(e.scheduler.resident.map(e=>e.split(`/`)[0])),s=e.members.filter(e=>e.cli!==null).filter(e=>e.status===`active`).toSorted((e,t)=>e.name.localeCompare(t.name)),c=s.flatMap(e=>{let t=[...new Set((i.get(e.name)??[]).map(r))];if(t.length>0)return t.map(t=>({id:t===`society`?e.name:`${e.name}/${t}`,member:e,state:`working`,scope:t,queuedFor:null}));let n=a.get(e.name)?.[0];return[{id:e.name,member:e,state:n===void 0?`idle`:`queued`,scope:Fe,queuedFor:n===void 0?null:r(n)}]}),l=new Map([[Fe,new Map(s.map((e,t)=>[e.name,t]))]]);for(let e of t){let t=s.filter(t=>t.memberships.includes(e.slug)),n=c.filter(t=>t.scope===e.slug).map(e=>e.member).filter(t=>!t.memberships.includes(e.slug));l.set(e.slug,new Map([...t,...n].map((e,t)=>[e.name,t])))}let u=new Map([...l].map(([e,t])=>[e,t.size])),d={id:Fe,label:`society`,kind:`society`,x:0,y:0,radius:Gs(u.get(`society`)??0)},f=[d,...Zs(t,u,d)],p=new Map(f.map(e=>[e.id,e])),m=c.map(({id:e,member:t,state:n,scope:r,queuedFor:i})=>{let a=p.get(r)??d,s=l.get(a.id)?.get(t.name)??0,c=Ps*Math.sqrt(s),u=s*Ns-Math.PI/2;return{id:e,name:t.name,cli:t.cli,state:n,resident:o.has(t.name),anchor:a.id,queuedFor:i,x:Math.round(a.x+c*Math.cos(u)),y:Math.round(a.y+c*Math.sin(u))}}),h=Ys(e.tasks??[],f,m),g=Math.max(...f.map(e=>Math.hypot(e.x,e.y)+Ks(e.radius)));return{anchors:f,stars:m,tasks:h,radius:Math.round(g+Ws)}}function Ys(e,t,n){let r=[];for(let i of t){if(i.kind!==`project`)continue;let t=e.filter(e=>e.project===i.id).flatMap(e=>{let t=bt(e);return t===`done`||t===`abandoned`?[]:[{task:e,phase:t}]}).toSorted((e,t)=>e.task.id.localeCompare(t.task.id)),a=Math.min(zs,Bs/Math.max(1,t.length)),o=i.radius+Rs;t.forEach(({task:e,phase:t},s)=>{let c=s%2==0?1:-1,l=-Math.PI/2+c*Math.ceil(s/2)*a,u=t===`landing`?null:e.claimedBy??null,d=Je(e),f=u===null?null:n.find(e=>e.name===u&&e.anchor===i.id)?.id??null;r.push({id:e.id,title:e.title,project:i.id,phase:t,stage:d?.name??e.stage,holder:u,waitingFor:u===null&&t!==`landing`&&d!==void 0?yt(d):null,linked:f,x:Math.round(i.x+o*Math.cos(l)),y:Math.round(i.y+o*Math.sin(l))})})}return r}function Xs(e,t,n){let r=e.stars.filter(e=>e.name===t);return(r.find(e=>e.anchor===n)??r[0])?.id??null}function Zs(e,t,n){let r=[],i=Ks(n.radius),a=Us;for(let n=0,o=0;n<e.length;o+=1){let s=e.slice(n,n+a);n+=a,a+=4;let c=s.map(e=>Gs(t.get(e.slug)??0)),l=c.map(Ks),u=l.map(e=>2*e+Vs),d=u.reduce((e,t)=>e+t,0),f=u.map(e=>2*Math.PI*e/d),p=-Math.PI/2-(f[0]??0)/2+(o===0?0:Math.PI/s.length),m=f.map(e=>{let t=p+e/2;return p+=e,t}),h=Math.max(o===0?Hs:0,i+Math.max(...l)+Vs);if(s.length>1)for(let e=0;e<s.length;e+=1){let t=(e+1)%s.length,n=((f[e]??0)+(f[t]??0))/2,r=((l[e]??0)+(l[t]??0)+Vs)/(2*Math.sin(n/2));h=Math.max(h,r)}s.forEach((e,t)=>{let n=m[t]??0;r.push({id:e.slug,label:e.name,kind:`project`,x:Math.round(h*Math.cos(n)),y:Math.round(h*Math.sin(n)),radius:Math.round(c[t]??Is)})}),i=h+Math.max(...l)}return r}var Qs=.15,$s=.45,ec=1.35,tc=64,nc=1.15;function rc(e,t,n){return Math.min(n,Math.max(t,e))}function ic(e){return Math.max(240,e.width-e.left-e.right)}function ac(e){return{x:e.left+ic(e)/2,y:e.height/2}}function oc(e,t){return{x:0,y:0,scale:rc(Math.min(ic(e),e.height)/(2*t),$s,ec)}}function sc(e,t,n,r){let i=rc(e.scale*n,Qs,3),a=ac(t),o=e.x+(r.x-a.x)/e.scale,s=e.y+(r.y-a.y)/e.scale;return{x:o-(r.x-a.x)/i,y:s-(r.y-a.y)/i,scale:i}}function cc(e,t,n){return{...e,x:e.x-t/e.scale,y:e.y-n/e.scale}}function lc(e,t,n){let r=ac(t),i=r.x+(n.x-e.x)*e.scale,a=r.y+(n.y-e.y)*e.scale,o=n.reach*e.scale;if(i-o>=t.left&&i+o<=t.width-t.right&&a-o>=tc&&a+o<=t.height)return null;let s=Math.min(ic(t),t.height-tc)/(2*n.reach*nc);return{x:n.x,y:n.y,scale:Math.min(e.scale,rc(s,Qs,3))}}var uc=`#0a0a0a`,dc=`#171717`,fc=`212, 212, 212`,pc=`163, 163, 163`,mc=`115, 115, 115`,hc=`"Instrument Sans Variable", ui-sans-serif, sans-serif`,gc=`500 12px "Onest Variable", ui-sans-serif, sans-serif`,_c=`600 10px "Onest Variable", ui-sans-serif, sans-serif`,vc={waiting:`#fcd34d`,working:`#6ee7b7`,returned:`#fdba74`,landing:`#7dd3fc`},yc=`500 11px ${hc}`,bc=5,xc=240,Sc=34,Cc=.06,wc=15,Tc=5,Ec=4.2,Dc=280;function Oc(e){let t=e;return()=>{t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function kc(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t=Math.imul(t^e.charCodeAt(n),16777619);return(t>>>0)/4294967296*Math.PI*2}function Ac(e,t){return(e%t+t)%t}function jc(e){let t=Number.parseInt(e.slice(1),16);return`${t>>16&255}, ${t>>8&255}, ${t&255}`}function Mc(e){let t=document.createElement(`canvas`);t.width=256,t.height=256;let n=t.getContext(`2d`);if(n!==null){let t=jc(e),r=n.createRadialGradient(128,128,0,128,128,128);r.addColorStop(0,`rgba(${t}, 0.55)`),r.addColorStop(.22,`rgba(${t}, 0.2)`),r.addColorStop(.55,`rgba(${t}, 0.05)`),r.addColorStop(1,`rgba(${t}, 0)`),n.fillStyle=r,n.fillRect(0,0,256,256)}return t}var Nc=class{canvas;options;ctx;glyphs;glows=new Map;bodies=new Map;marks=new Map;bubbles=new Map;clock=0;specks;spheres=new Map;radius=400;scale=1;camX=0;camY=0;target={x:0,y:0,scale:1};mode=`home`;focusPending=!1;width=0;height=0;dpr=1;hovered=null;focus=null;paused=!1;insetLeft=0;insetRight=0;centerX=0;frameId=null;last=0;constructor(e,t){this.canvas=e,this.options=t;let n=e.getContext(`2d`);if(n===null)throw Error(`the sky needs a 2D canvas context`);this.ctx=n,this.glyphs={claude:new Path2D(F.claude.path),codex:new Path2D(F.codex.path)};let r=Oc(7);this.specks=Array.from({length:Dc},()=>({x:r(),y:r(),size:.5+r()*1.1,alpha:.12+r()*.45,rate:.2+r()*.8,phase:r()*Math.PI*2}))}setModel(e){this.radius=e.radius;for(let t of e.anchors){let e=this.spheres.get(t.id);e===void 0?this.spheres.set(t.id,{anchor:t,x:t.x,y:t.y,radius:t.radius}):e.anchor=t}for(let t of this.spheres.keys())e.anchors.some(e=>e.id===t)||this.spheres.delete(t);let t=new Set(e.stars.map(e=>e.id)),n=[...this.bodies.entries()].filter(([e])=>!t.has(e));for(let r of e.stars){let i=this.bodies.get(r.id);if(i!==void 0){i.star=r,i.leaving=!1;continue}let a=n.findIndex(([,e])=>e.star.name===r.name),o=n[a];if(o!==void 0){n.splice(a,1),this.bodies.delete(o[0]),this.bodies.set(r.id,{...o[1],star:r,leaving:!1});continue}let s=[...this.bodies.values()].find(e=>e.star.name===r.name&&t.has(e.star.id)),c=e.anchors.find(e=>e.id===r.anchor),l=s??c??r;this.bodies.set(r.id,{star:r,x:this.options.reducedMotion?r.x:l.x,y:this.options.reducedMotion?r.y:l.y,vx:0,vy:0,phase:kc(r.name),presence:+!!this.options.reducedMotion,leaving:!1,screen:{x:0,y:0},flash:0})}for(let[,t]of n){let n=e.stars.find(e=>e.name===t.star.name);t.leaving=!0,n!==void 0&&(t.star={...t.star,x:n.x,y:n.y})}let r=new Set(e.tasks.map(e=>e.id));for(let t of e.tasks){let e=this.marks.get(t.id);e===void 0?this.marks.set(t.id,{mark:t,x:t.x,y:t.y,presence:+!!this.options.reducedMotion,leaving:!1,screen:{x:0,y:0}}):(e.mark=t,e.leaving=!1)}for(let[e,t]of this.marks)r.has(e)||(t.leaving=!0)}flash(e){let t=this.bodies.get(e);t!==void 0&&!this.options.reducedMotion&&(t.flash=1)}say(e,t){this.bodies.has(e)&&this.bubbles.set(e,{text:t,born:this.clock})}setHovered(e){this.hovered=e}setPaused(e){this.paused=e}setFocus(e){this.focus=e,this.focusPending=!0}zoomBy(e,t){let n=this.view();this.target=sc(this.target,n,e,t??ac(n)),this.mode=`manual`}panBy(e,t){this.target=cc(this.target,e,t),this.camX-=e/this.scale,this.camY-=t/this.scale,this.mode=`manual`}home(){this.mode=`home`}view(){return{width:this.width,height:this.height,left:this.insetLeft,right:this.insetRight}}frameFocus(e){let t=this.focus===null?void 0:this.spheres.get(this.focus);if(t===void 0||t.anchor.kind===`society`){this.mode===`focus`&&(this.mode=`home`);return}let n=lc(this.target,e,{x:t.anchor.x,y:t.anchor.y,reach:t.anchor.radius+Sc});n!==null&&(this.target=n,this.mode=`focus`)}setInsets(e,t){this.insetLeft=e,this.insetRight=t}hitTestAnchor(e,t){let n=null,r=1/0;for(let i of this.spheres.values()){let a=this.toScreen(i.x,i.y),o=Math.hypot(a.x-e,a.y-t);o<=i.radius*this.scale&&o<r&&(n=i.anchor.id,r=o)}return n}resize(e,t,n){this.width=e,this.height=t,this.dpr=n,this.canvas.width=Math.round(e*n),this.canvas.height=Math.round(t*n)}hitTestMark(e,t){let n=null,r=10;for(let[i,a]of this.marks){let o=Math.hypot(a.screen.x-e,a.screen.y-t);!a.leaving&&o<r&&(n=i,r=o)}return n}hitTest(e,t){let n=null,r=Math.max(wc*this.scale+8,18);for(let[i,a]of this.bodies){if(a.leaving)continue;let o=Math.hypot(a.screen.x-e,a.screen.y-t);o<r&&(n=i,r=o)}return n}start(){this.frameId===null&&(this.last=performance.now()/1e3,this.frameId=requestAnimationFrame(this.frame))}stop(){this.frameId!==null&&(cancelAnimationFrame(this.frameId),this.frameId=null)}frame=e=>{let t=e/1e3;this.clock=t;let n=Math.min(.05,Math.max(0,t-this.last));this.last=t,this.step(n),this.draw(this.options.reducedMotion?0:t),this.frameId=requestAnimationFrame(this.frame)};step(e){let t=this.view();this.mode===`home`&&(this.target=oc(t,this.radius)),this.focusPending&&this.width>0&&(this.focusPending=!1,this.frameFocus(t));let n=this.options.reducedMotion?1:Math.min(1,e*3);this.scale+=(this.target.scale-this.scale)*n,this.camX+=(this.target.x-this.camX)*n,this.camY+=(this.target.y-this.camY)*n;let r=ac(t).x;this.centerX=this.centerX===0?r:this.centerX+(r-this.centerX)*n;for(let e of this.spheres.values())e.x+=(e.anchor.x-e.x)*n,e.y+=(e.anchor.y-e.y)*n,e.radius+=(e.anchor.radius-e.radius)*n;for(let[t,n]of this.bodies){if(this.options.reducedMotion)n.x=n.star.x,n.y=n.star.y,n.presence=+!n.leaving;else{n.vx+=(Tc*(n.star.x-n.x)-Ec*n.vx)*e,n.vy+=(Tc*(n.star.y-n.y)-Ec*n.vy)*e,n.x+=n.vx*e,n.y+=n.vy*e;let t=+!n.leaving;n.presence+=(t-n.presence)*Math.min(1,e*2.5)}n.flash=Math.max(0,n.flash-e*2.2),n.leaving&&n.presence<.02&&this.bodies.delete(t)}for(let[t,r]of this.marks){r.x+=(r.mark.x-r.x)*n,r.y+=(r.mark.y-r.y)*n;let i=+!r.leaving;r.presence+=(i-r.presence)*(this.options.reducedMotion?1:Math.min(1,e*2.5)),r.leaving&&r.presence<.02&&this.marks.delete(t)}for(let[e,t]of this.bubbles)(this.clock-t.born>bc||this.bodies.get(e)?.leaving!==!1)&&this.bubbles.delete(e)}toScreen(e,t){return{x:this.centerX+(e-this.camX)*this.scale,y:this.height/2+(t-this.camY)*this.scale}}glow(e){let t=this.glows.get(e);return t===void 0&&(t=Mc(e),this.glows.set(e,t)),t}draw(e){let{ctx:t}=this;t.setTransform(this.dpr,0,0,this.dpr,0,0),t.fillStyle=uc,t.fillRect(0,0,this.width,this.height),this.drawSpecks(e),this.drawAnchors(),this.drawTasks(e);let n=[...this.bodies.values()].toSorted((e,t)=>Number(e.star.id===this.hovered)-Number(t.star.id===this.hovered));for(let t of n)this.drawBody(t,e);this.drawBubbles();let r=this.hovered?.startsWith(`task:`)===!0?this.hovered.slice(5):null,i=r===null?this.hovered===null?void 0:this.bodies.get(this.hovered):this.marks.get(r);this.options.onHoverPosition(i===void 0||i.leaving?null:i.screen)}drawTasks(e){let{ctx:t}=this;for(let e of this.marks.values())e.screen=this.toScreen(e.x,e.y);t.save(),t.lineWidth=1;for(let n of this.marks.values()){let r=n.mark.linked===null?void 0:this.bodies.get(n.mark.linked);if(r===void 0||r.leaving)continue;let i=jc(vc[n.mark.phase]),a=Math.min(n.presence,r.presence),o=n.screen,s=r.screen,c=t.createLinearGradient(o.x,o.y,s.x,s.y);if(c.addColorStop(0,`rgba(${i}, ${(.55*a).toFixed(3)})`),c.addColorStop(1,`rgba(${i}, ${(.12*a).toFixed(3)})`),t.strokeStyle=c,t.beginPath(),t.moveTo(o.x,o.y),t.lineTo(s.x,s.y),t.stroke(),e!==0){let n=(e*.45+r.phase)%1;t.beginPath(),t.arc(s.x+(o.x-s.x)*n,s.y+(o.y-s.y)*n,1.4,0,Math.PI*2),t.fillStyle=`rgba(${i}, ${(.85*a).toFixed(3)})`,t.fill()}}t.restore();for(let[n,r]of this.marks){let{mark:i,screen:a}=r,o=this.hovered===`task:${n}`,s=vc[i.phase],c=i.phase===`waiting`&&e!==0?.65+.35*Math.sin(e*1.6+a.x):1,l=Math.max(3,4*this.scale)*(o?1.5:1);t.save(),t.globalAlpha=r.presence*c*(this.paused?.7:1),t.globalCompositeOperation=`lighter`;let u=l*7;t.drawImage(this.glow(s),a.x-u/2,a.y-u/2,u,u),t.globalCompositeOperation=`source-over`,t.translate(a.x,a.y),t.rotate(Math.PI/4),t.fillStyle=s,t.fillRect(-l/2,-l/2,l,l),o&&(t.strokeStyle=`rgba(255, 255, 255, 0.8)`,t.lineWidth=1,t.strokeRect(-l/2-2,-l/2-2,l+4,l+4)),t.restore()}}drawBubbles(){let{ctx:e}=this;e.save(),e.font=yc,e.textAlign=`left`,e.textBaseline=`middle`;for(let[t,n]of this.bubbles){let r=this.bodies.get(t);if(r===void 0)continue;let i=this.clock-n.born,a=Math.min(1,i/.25,(bc-i)/1.2)*r.presence;if(a<=0)continue;let o=n.text;if(e.measureText(o).width>xc){for(;o.length>1&&e.measureText(`${o}…`).width>xc;)o=o.slice(0,-1);o=`${o.trimEnd()}…`}let s=e.measureText(o).width+16,c=this.options.reducedMotion?0:i*7,l=Math.max(10,wc*this.scale),u=r.screen.x-s/2,d=r.screen.y-l-14-22-c;e.globalAlpha=a,e.beginPath(),e.roundRect(u,d,s,22,7),e.fillStyle=`rgba(23, 23, 23, 0.92)`,e.fill(),e.strokeStyle=`rgba(255, 255, 255, 0.1)`,e.lineWidth=1,e.stroke(),e.fillStyle=`rgba(${fc}, 1)`,e.fillText(o,u+8,d+11+.5)}e.restore()}drawSpecks(e){let{ctx:t}=this,n=-this.camX*this.scale*Cc,r=-this.camY*this.scale*Cc;for(let i of this.specks){let a=e===0?1:.6+.4*Math.sin(e*i.rate+i.phase);t.fillStyle=`rgba(255, 255, 255, ${(i.alpha*a*(this.paused?.6:1)).toFixed(3)})`,t.fillRect(Ac(i.x*this.width+n,this.width),Ac(i.y*this.height+r,this.height),i.size,i.size)}let i=this.toScreen(0,0),a=t.createRadialGradient(i.x,i.y,0,i.x,i.y,320*this.scale);a.addColorStop(0,`rgba(255, 255, 255, 0.035)`),a.addColorStop(1,`rgba(255, 255, 255, 0)`),t.fillStyle=a,t.fillRect(0,0,this.width,this.height)}drawAnchors(){let{ctx:e}=this,t=this.toScreen(0,0);e.save(),e.setLineDash([2,7]),e.lineWidth=1,e.strokeStyle=`rgba(255, 255, 255, 0.07)`;for(let n of this.spheres.values())if(n.anchor.kind===`project`){let r=this.toScreen(n.x,n.y);e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(r.x,r.y),e.stroke()}e.restore();for(let{anchor:t,x:n,y:r,radius:i}of this.spheres.values()){let a=this.toScreen(n,r),o=i*this.scale,s=t.id===this.focus;if(t.kind===`project`){let t=e.createRadialGradient(a.x,a.y,0,a.x,a.y,o*1.8);t.addColorStop(0,`rgba(160, 170, 255, ${s?.1:.05})`),t.addColorStop(1,`rgba(160, 170, 255, 0)`),e.fillStyle=t,e.fillRect(a.x-o*1.8,a.y-o*1.8,o*3.6,o*3.6)}e.beginPath(),e.arc(a.x,a.y,o,0,Math.PI*2),e.lineWidth=s?1.5:1,e.strokeStyle=s?`rgba(255, 255, 255, 0.28)`:t.kind===`society`?`rgba(255, 255, 255, 0.09)`:`rgba(255, 255, 255, 0.06)`,e.stroke(),e.textAlign=`center`,e.textBaseline=`top`,t.kind===`society`?(e.font=_c,e.letterSpacing=`2px`,e.fillStyle=`rgba(${mc}, 0.9)`,e.fillText(t.label.toUpperCase(),a.x,a.y+o+10),e.letterSpacing=`0px`):(e.font=gc,e.fillStyle=s?`rgba(245, 245, 245, 1)`:`rgba(${pc}, 0.95)`,e.fillText(t.label,a.x,a.y+o+10))}}drawBody(e,t){let{ctx:n}=this,{star:r}=e,i=F[r.cli],a=r.id===this.hovered,o=r.state===`working`,s=o?2.5:5,c=s*(Math.sin(t*.29+e.phase)+.6*Math.sin(t*.17+e.phase*2.1)),l=s*(Math.cos(t*.23+e.phase*1.3)+.6*Math.cos(t*.11+e.phase)),u=this.toScreen(e.x+c,e.y+l);e.screen=u;let d=o?2.4:r.state===`queued`?1.4:.7,f=t===0?.5:.5+.5*Math.sin(t*d+e.phase),p=((o?.95+.35*f:r.state===`queued`?.7+.2*f:.5+.2*f)+(a?.25:0)+.8*e.flash)*e.presence*(this.paused?.7:1),m=Math.max(10,wc*this.scale),h=(o?170:130)*this.scale*(.9+.15*f);n.save(),n.globalCompositeOperation=`lighter`,n.globalAlpha=Math.min(1,p),n.drawImage(this.glow(i.accent),u.x-h/2,u.y-h/2,h,h),n.restore(),n.save(),n.globalAlpha=e.presence;let g=jc(i.accent);if(o&&t!==0){let r=(t+e.phase)%1.8/1.8;n.beginPath(),n.arc(u.x,u.y,m+(6+30*r)*this.scale,0,Math.PI*2),n.strokeStyle=`rgba(${g}, ${(.4*(1-r)).toFixed(3)})`,n.lineWidth=1.25,n.stroke()}e.flash>0&&(n.beginPath(),n.arc(u.x,u.y,m+(3+12*(1-e.flash))*this.scale,0,Math.PI*2),n.strokeStyle=`rgba(255, 255, 255, ${(.55*e.flash).toFixed(3)})`,n.lineWidth=1.25,n.stroke()),r.resident&&(n.beginPath(),n.arc(u.x,u.y,m+5*this.scale,0,Math.PI*2),n.strokeStyle=`rgba(${g}, 0.3)`,n.lineWidth=1,n.stroke()),r.state===`queued`&&(n.beginPath(),n.arc(u.x,u.y,m+8*this.scale,0,Math.PI*2),n.setLineDash([3,4]),n.lineDashOffset=-t*8,n.strokeStyle=`rgba(${fc}, 0.55)`,n.lineWidth=1,n.stroke(),n.setLineDash([])),n.beginPath(),n.arc(u.x,u.y,m,0,Math.PI*2),n.fillStyle=dc,n.fill(),n.strokeStyle=`rgba(${g}, ${a?.95:.6})`,n.lineWidth=a?1.75:1.25,n.stroke(),n.save();let _=m*1.2/24;if(n.translate(u.x,u.y),n.scale(_,_),n.translate(-12,-12),n.fillStyle=i.fill,n.fill(this.glyphs[r.cli],`evenodd`),n.restore(),o)for(let r=0;r<3;r+=1){let i=t*1.8+r*Math.PI*2/3+e.phase,a=m+9*this.scale;n.beginPath(),n.arc(u.x+a*Math.cos(i),u.y+a*Math.sin(i),1.6,0,Math.PI*2),n.fillStyle=`rgba(${g}, 0.9)`,n.fill()}n.font=`500 ${Math.max(9,Math.min(11,11*this.scale)).toFixed(1)}px ${hc}`,n.textAlign=`center`,n.textBaseline=`top`,n.fillStyle=`rgba(${fc}, ${a||o?1:.7})`,n.fillText(r.name,u.x,u.y+m+8*this.scale+3),n.restore()}},Pc=15e3,Fc=26,V=12,Ic=4,Lc=.0015,Rc=.01,zc=1.3,Bc=`grid size-7 place-items-center rounded-md text-sm text-fg-tertiary transition-colors hover:bg-surface-2/70 hover:text-fg-primary focus-visible:ring-2 focus-visible:ring-fg-primary/30 focus-visible:outline-none`;function Vc(e,t,n,r){if(e===null)return;if(t===null){e.style.visibility=`hidden`;return}let i=e.offsetWidth,a=e.offsetHeight,o=r.left+V,s=n.width-r.right-V,c=t.x+Fc+i<=s?t.x+Fc:t.x-Fc-i,l=Math.min(Math.max(V,t.y-a/3),n.height-a-V);e.style.transform=`translate(${Math.round(Math.max(o,c))}px, ${Math.round(l)}px)`,e.style.visibility=`visible`}function Hc({model:e,paused:t,hovered:n,onHover:r,insets:i,focus:a,onSelectAnchor:o,onSelectStar:s,onSelectTask:c,live:l,card:u}){let d=(0,A.useRef)(null),f=(0,A.useRef)(null),p=(0,A.useRef)(null),m=(0,A.useRef)(i);(0,A.useLayoutEffect)(()=>{m.current=i},[i]);let h=(0,A.useRef)(e);(0,A.useLayoutEffect)(()=>{h.current=e},[e]);let g=ao(),_=(0,A.useRef)(g);(0,A.useLayoutEffect)(()=>{_.current=g},[g]);let v=(0,A.useRef)(null),y=(0,A.useRef)(!1);return(0,A.useEffect)(()=>{let e=d.current;if(e===null)throw Error(`the sky's canvas is not mounted`);let t=e.getBoundingClientRect(),n=new Nc(e,{reducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,onHoverPosition:e=>Vc(f.current,e,t,m.current)});p.current=n;let r=new ResizeObserver(()=>{t=e.getBoundingClientRect(),n.resize(t.width,t.height,window.devicePixelRatio)});r.observe(e);let i=e=>{e.preventDefault();let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?e.deltaY*16:e.deltaY;n.zoomBy(Math.exp(-t*(e.ctrlKey?Rc:Lc)),{x:e.offsetX,y:e.offsetY})};return e.addEventListener(`wheel`,i,{passive:!1}),n.start(),()=>{e.removeEventListener(`wheel`,i),r.disconnect(),n.stop(),p.current=null}},[]),(0,A.useEffect)(()=>{p.current?.setModel(e)},[e]),(0,A.useEffect)(()=>l.listen(e=>{let t=p.current;if(t===null||e.event.type!==`tool_call`||Date.now()-Date.parse(e.ts)>Pc)return;let n=Xs(h.current,e.agent,e.project);if(n===null)return;t.flash(n);let r=Po(e.event.name,e.event.input);r!==null&&t.say(n,Xa(r,_.current))}),[l]),(0,A.useEffect)(()=>{p.current?.setPaused(t)},[t]),(0,A.useEffect)(()=>{p.current?.setHovered(n)},[n]),(0,A.useEffect)(()=>{p.current?.setFocus(a)},[a]),(0,A.useEffect)(()=>{p.current?.setInsets(i.left,i.right)},[i.left,i.right]),(0,N.jsxs)(`div`,{className:`absolute inset-0`,children:[(0,N.jsx)(`canvas`,{ref:d,className:`size-full touch-none`,"aria-hidden":`true`,onPointerDown:e=>{e.button===0&&(v.current={x:e.clientX,y:e.clientY,dragging:!1},y.current=!1)},onPointerUp:e=>{v.current?.dragging===!0&&(e.currentTarget.releasePointerCapture(e.pointerId),e.currentTarget.style.cursor=`grab`),v.current=null},onPointerMove:e=>{let t=p.current,i=v.current;if(i!==null&&t!==null){let n=e.clientX-i.x,a=e.clientY-i.y;if(!i.dragging&&Math.hypot(n,a)>Ic&&(i.dragging=!0,y.current=!0,e.currentTarget.setPointerCapture(e.pointerId),r(null)),i.dragging){t.panBy(n,a),i.x=e.clientX,i.y=e.clientY,e.currentTarget.style.cursor=`grabbing`;return}}let{offsetX:a,offsetY:o}=e.nativeEvent,s=t?.hitTest(a,o)??null,c=s===null?t?.hitTestMark(a,o)??null:null,l=s??(c===null?null:`task:${c}`),u=l===null?t?.hitTestAnchor(a,o)??null:null;e.currentTarget.style.cursor=l!==null||u!==null?`pointer`:`grab`,l!==n&&r(l)},onPointerLeave:()=>r(null),onClick:e=>{let t=p.current,{offsetX:n,offsetY:r}=e.nativeEvent;if(t===null||y.current){y.current=!1;return}let i=t.hitTest(n,r),a=i===null?t.hitTestMark(n,r):null,l=i===null&&a===null?t.hitTestAnchor(n,r):null;i===null?a===null?l!==null&&o(l):c(a):s(i)}}),(0,N.jsxs)(`fieldset`,{className:`card absolute bottom-4 flex flex-col gap-0.5 p-1`,style:{right:i.right+16},children:[(0,N.jsx)(`legend`,{className:`sr-only`,children:`Camera`}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Zoom in`,className:Bc,onClick:()=>p.current?.zoomBy(zc),children:`+`}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Zoom out`,className:Bc,onClick:()=>p.current?.zoomBy(1/zc),children:`−`}),(0,N.jsx)(`button`,{type:`button`,"aria-label":`Fit the whole sky`,title:`Fit the whole sky`,className:Bc,onClick:()=>p.current?.home(),children:`⤢`})]}),(0,N.jsx)(`div`,{ref:f,className:`pointer-events-none absolute top-0 left-0 will-change-transform`,style:{visibility:`hidden`},children:u})]})}var Uc={left:0,right:0};function Wc(){let[e,t]=(0,A.useState)(()=>window.innerWidth);return(0,A.useEffect)(()=>{let e=()=>t(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function Gc(e,t){return e.startsWith(t)?decodeURIComponent(e.slice(t.length)):null}function Kc(){let{api:e,token:t,signOut:r,expire:i}=u(),a=je();(0,A.useEffect)(()=>Os(t,{onEvent:e=>js(a,e),onResume:()=>void a.invalidateQueries()}),[t,a]);let[o]=(0,A.useState)(()=>new Ro);(0,A.useEffect)(()=>o.follow(t),[o,t]);let s=Le(),c=Ve(),l=pt(),d=le(),f=T(),p=Ke(),m=ft(),h=(0,A.useMemo)(()=>Ja(f.data??[],p,m.data??[]),[f.data,p,m.data]),g=Ni(),_=kt({mutationFn:t=>e.setPaused(t),onSuccess:()=>void a.invalidateQueries({queryKey:[`scheduler`]})}),v=aa({select:e=>e.location.pathname}),[y,b]=(0,A.useState)(!1),[x,S]=(0,A.useState)(null),C=x===v,te=(0,A.useCallback)(()=>S(null),[]),w=(0,A.useRef)(!0),ne=Ta(),re=Mi({strict:!1}),[ie,ae]=(0,A.useState)(null),oe=lt(3e4),se=Wc(),ce=v!==`/`,ue=Math.round(Math.min(680,Math.max(420,se*.4))),de=(0,A.useMemo)(()=>ce?{left:288,right:ue+32}:Uc,[ce,ue]),fe=Gc(v,`/thread/`),pe=n(Gc(v,`/task/`)),me=Gc(v,`/c/`)??(fe===null?null:f.data?.find(e=>e.id===fe)?.channel??null),he=/^\/p\/([^/]+)\/tasks$/.exec(v)?.[1]??pe.data?.project??null,ge=Gc(v,`/citizen/`),_e=ge===null?null:re.scope??null,ve=_e?.split(`/`)[0]??null,ye=v===`/needs-you`?`needs-you`:v===`/proposals`||v.startsWith(`/proposal/`)?`proposals`:v===`/runners`?`runners`:null,be=Wa().length,xe=v===`/society`?Fe:/^\/p\/([^/]+)$/.exec(v)?.[1]??/^\/knowledge\/([^/]+)\//.exec(v)?.[1]??null;(0,A.useEffect)(()=>{let e=()=>{w.current=!0},t=e=>{e.key===`Tab`&&(w.current=!1);let t=e.target instanceof HTMLElement?e.target:null;if(!(t?.closest(`input, textarea, select, [contenteditable]`)!=null||e.metaKey||e.ctrlKey||e.altKey)){if(e.key===` `){if(t?.closest(`button, a, summary, [role='button']`)!=null&&!w.current)return;e.preventDefault(),S(v);return}e.key===`Escape`&&(C?S(null):y?b(!1):ce&&g({to:`/`}))}};return window.addEventListener(`keydown`,t),window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(`pointerdown`,e)}},[ce,y,C,v,g]);let Se=[s,c,l,d].some(e=>e.error instanceof ee&&e.error.status===401);(0,A.useEffect)(()=>{Se&&i()},[Se,i]);let E=(0,A.useMemo)(()=>c.data===void 0||l.data===void 0||d.data===void 0?null:Js({members:c.data,projects:l.data,scheduler:d.data,tasks:p}),[c.data,l.data,d.data,p]);if(E===null){let e=[c,l,d].some(e=>e.error!==null);return(0,N.jsx)(`main`,{className:`grid h-full place-items-center`,children:(0,N.jsx)(`p`,{className:`text-meta`,"aria-live":`polite`,children:e?`The board server is not answering. Retrying…`:`Reading the board…`})})}let D=(ye===null&&v!==`/metrics`?null:`society`)??xe??he??(me===null?ge===null?null:ve??E.stars.find(e=>e.name===ge)?.anchor??null:me.includes(`/`)?me.split(`/`)[0]??null:`society`),Ce=se-de.left-de.right,we=Ce>=460,Te=Math.min(560,(we?Ce:se)-32),Ee={left:(we?de.left:0)+((we?Ce:se)-Te)/2,width:Te},De=fa(f.data??[]).filter(e=>ha(e,ne)),O=e=>e===`society`?`the society`:l.data?.find(t=>t.slug===e)?.name??e,Oe=E.stars.find(e=>e.id===ie),ke=E.tasks.find(e=>`task:${e.id}`===ie),Ae=c.data?.find(e=>e.name===Oe?.name),Me=Oe===void 0?`the society`:O(Oe.queuedFor??Oe.anchor),Ne=e=>{let t=E.stars.find(t=>t.id===e);t!==void 0&&g({to:`/citizen/$name`,params:{name:t.name},search:t.state===`working`?{scope:t.anchor}:{}})},Pe=e=>{g({to:`/task/$taskId`,params:{taskId:e}})};return(0,N.jsx)(zo,{value:o,children:(0,N.jsx)(io,{value:h,children:(0,N.jsxs)(`main`,{className:`relative h-full overflow-hidden`,children:[(0,N.jsx)(Hc,{model:E,paused:d.data?.paused??!1,hovered:ie,onHover:ae,insets:de,focus:D,onSelectAnchor:e=>{g(e===`society`?{to:`/society`}:{to:`/p/$slug`,params:{slug:e}})},onSelectStar:Ne,onSelectTask:Pe,live:o,card:ke===void 0?Oe===void 0||Ae===void 0?null:(0,N.jsx)(ys,{member:Ae,star:Oe,place:Me,now:oe}):(0,N.jsx)(Ds,{mark:ke,project:O(ke.project),members:c.data})}),(0,N.jsx)(bs,{society:s.data?.name,citizens:new Set(E.stars.map(e=>e.name)).size,citizensOpen:v===`/citizens`,onToggleCitizens:()=>void g(v===`/citizens`?{to:`/`}:{to:`/citizens`}),attention:be,onOpenAttention:()=>void g({to:`/needs-you`}),paused:d.data?.paused??!1,onTogglePause:()=>_.mutate(!(d.data?.paused??!1)),pauseBusy:_.isPending,boardOpen:ce,onToggleBoard:()=>void g(ce?{to:`/`}:{to:`/c/$`,params:{_splat:`general`}}),logsOpen:y,metricsOpen:v===`/metrics`,onToggleMetrics:()=>void g(v===`/metrics`?{to:`/`}:{to:`/metrics`}),onToggleLogs:()=>b(!y),onSignOut:r}),ce?(0,N.jsx)(qo,{activeChannel:me,activeTasks:he,activeCitizen:ge,activeScope:_e,activeGovernance:ye,activeOverview:xe}):null,ce?(0,N.jsx)(_a,{label:`Board content`,className:`top-[72px] right-4 bottom-4`,style:{width:ue},children:(0,N.jsx)(Yi,{})}):null,y?(0,N.jsx)(Es,{onClose:()=>b(!1)}):null,C?(0,N.jsx)(hs,{left:Ee.left,width:Ee.width,onClose:te}):(0,N.jsx)(`div`,{className:`pointer-events-none absolute bottom-5 flex justify-center px-16`,style:{left:de.left,right:de.right},children:(0,N.jsx)(gs,{unread:De,onOpen:()=>S(v)})}),E.stars.length===0&&!ce?(0,N.jsxs)(`p`,{className:`pointer-events-none absolute inset-x-0 top-1/2 mt-24 text-center text-meta`,children:[`No citizens yet. Ask the concierge for one, or add one with`,` `,(0,N.jsx)(`code`,{className:`font-mono text-fg-secondary`,children:`stellaris agent add`}),`.`]}):null,(0,N.jsx)(`ul`,{className:`sr-only`,"aria-label":`Tasks in play`,children:E.tasks.map(e=>(0,N.jsx)(`li`,{children:(0,N.jsx)(`button`,{type:`button`,onFocus:()=>ae(`task:${e.id}`),onBlur:()=>ae(null),onClick:()=>Pe(e.id),children:Ms(e,O(e.project))})},e.id))}),(0,N.jsx)(`ul`,{className:`sr-only`,"aria-label":`Citizens`,children:E.stars.map(e=>(0,N.jsx)(`li`,{children:(0,N.jsxs)(`button`,{type:`button`,onFocus:()=>ae(e.id),onBlur:()=>ae(null),onClick:()=>Ne(e.id),children:[e.name,`, `,e.state,e.state===`working`?` at ${O(e.anchor)}`:``]})},e.id))})]})})})}var qc=`modulepreload`,Jc=function(e){return`/`+e},Yc={},Xc=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Jc(t,n),t=s(t),t in Yc)return;Yc[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:qc,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function Zc(){return null}var Qc=Li({component:Kc}),$c=ta({routeTree:Qc.addChildren([P({getParentRoute:()=>Qc,path:`/`,component:Zc}),P({getParentRoute:()=>Qc,path:`/c/$`,component:Ri(()=>Xc(()=>import(`./ChannelView-CZyYu_Zi.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8])),`ChannelView`)}),P({getParentRoute:()=>Qc,path:`/thread/$threadId`,component:Ri(()=>Xc(()=>import(`./ThreadView-CvXd68Ml.js`),__vite__mapDeps([9,1,4,2,3,5,6,7,8])),`ThreadView`)}),P({getParentRoute:()=>Qc,path:`/society`,component:Ri(()=>Xc(()=>import(`./SocietyView-OCdDJqhz.js`),__vite__mapDeps([10,1,5,11,12])),`SocietyView`)}),P({getParentRoute:()=>Qc,path:`/p/$slug`,component:Ri(()=>Xc(()=>import(`./ProjectView-vYKWw1Ck.js`),__vite__mapDeps([13,1,3,4,5,11,12])),`ProjectView`)}),P({getParentRoute:()=>Qc,path:`/knowledge/$scope/$topic`,component:Ri(()=>Xc(()=>import(`./KnowledgeView-eBae2Dix.js`),__vite__mapDeps([14,1,4,5])),`KnowledgeView`)}),P({getParentRoute:()=>Qc,path:`/p/$slug/tasks`,component:Ri(()=>Xc(()=>import(`./TasksView-C1cdPYRc.js`),__vite__mapDeps([15,1,3,5])),`TasksView`)}),P({getParentRoute:()=>Qc,path:`/task/$taskId`,component:Ri(()=>Xc(()=>import(`./TaskView-Bq-vXuc5.js`),__vite__mapDeps([16,1,3,4,5,17,2])),`TaskView`)}),P({getParentRoute:()=>Qc,path:`/task/$taskId/files/$`,validateSearch:e=>{let t=Number(e.line);return Number.isInteger(t)&&t>0?{line:t}:{}},component:Ri(()=>Xc(()=>import(`./TaskFileView-Bl1vm7Op.js`),__vite__mapDeps([18,1,4,5])),`TaskFileView`)}),P({getParentRoute:()=>Qc,path:`/metrics`,validateSearch:e=>{let t=he.safeParse(e.window);return t.success?{window:t.data}:{}},component:Ri(()=>Xc(()=>import(`./MetricsView-CxXGHRtN.js`),__vite__mapDeps([19,1,5,11,12])),`MetricsView`)}),P({getParentRoute:()=>Qc,path:`/citizens`,component:Ri(()=>Xc(()=>import(`./CitizensView-7vHTRRIs.js`),__vite__mapDeps([20,1,5,12])),`CitizensView`)}),P({getParentRoute:()=>Qc,path:`/needs-you`,component:Ri(()=>Xc(()=>import(`./NeedsYouView-R-oQddyC.js`),__vite__mapDeps([21,1,5])),`NeedsYouView`)}),P({getParentRoute:()=>Qc,path:`/runners`,validateSearch:e=>typeof e.code==`string`?{code:e.code}:{},component:Ri(()=>Xc(()=>import(`./RunnersView-BLwSywI7.js`),__vite__mapDeps([22,1,5,7,11,12])),`RunnersView`)}),P({getParentRoute:()=>Qc,path:`/proposals`,component:Ri(()=>Xc(()=>import(`./ProposalsView-DQW7OmOU.js`),__vite__mapDeps([23,1,5])),`ProposalsView`)}),P({getParentRoute:()=>Qc,path:`/proposal/$proposalId`,component:Ri(()=>Xc(()=>import(`./ProposalView-dskJSjhm.js`),__vite__mapDeps([24,1,3,4,5,7,23,17,2])),`ProposalView`)}),P({getParentRoute:()=>Qc,path:`/citizen/$name`,validateSearch:e=>({...typeof e.scope==`string`?{scope:e.scope}:{},...e.tab===`turns`||e.tab===`memory`||e.tab===`history`?{tab:e.tab}:{},...typeof e.turn==`string`?{turn:e.turn}:{}}),component:Ri(()=>Xc(()=>import(`./CitizenView-JsI89Tn3.js`),__vite__mapDeps([25,1,4,5,7,8,12])),`CitizenView`)})])});function el({signInError:e}){let t=je(),[n,r]=(0,A.useState)(de),a=(0,A.useCallback)(()=>{ht(),t.clear(),r(null)},[t]),o=(0,A.useCallback)(()=>{n!==null&&i(n).signOut().catch(()=>void 0),a(),$c.navigate({to:`/`})},[n,a]),s=(0,A.useMemo)(()=>n===null?null:{api:i(n),token:n,signOut:o,expire:a},[n,o,a]);return s===null?(0,N.jsx)(ua,{initialError:e,onEnter:e=>{h(e),r(e)}}):(0,N.jsx)(Ne,{value:s,children:(0,N.jsx)(ia,{router:$c})})}var tl={expired:`The sign-in took too long or was already used. Try again.`,declined:`GitHub sign-in was cancelled.`,github:`GitHub could not confirm who signed in. Try again.`,"not-allowed":`That GitHub account is not allowed on this board.`};function nl(e){let t=new URLSearchParams(e.replace(/^#/,``)),n=t.get(`session`),r=t.get(`signin-error`);return n===null&&r===null?null:{token:n===null||n===``?null:n,error:r===null?null:tl[r]??`GitHub sign-in failed.`}}function rl(){let e=nl(window.location.hash);return e!==null&&(e.token!==null&&h(e.token),window.history.replaceState(window.history.state,``,`${window.location.pathname}${window.location.search}`)),e}var il=new Ot({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),al=rl(),ol=document.getElementById(`root`);if(ol===null)throw Error(`missing #root element`);(0,oa.createRoot)(ol).render((0,N.jsx)(A.StrictMode,{children:(0,N.jsx)(He,{client:il,children:(0,N.jsx)(el,{signInError:al?.error??null})})}));export{za as A,Wa as C,Na as D,Fa as E,Mi as F,ji as I,kt as L,ja as M,Da as N,Aa as O,Ni as P,Ga as S,Va as T,so as _,Qo as a,$a as b,Xo as c,po as d,Io as f,Bo as g,ho as h,rs as i,Ba as j,Ia as k,mo as l,No as m,us as n,Jo as o,xo as p,os as r,Yo as s,fs as t,Lo as u,co as v,ka as w,ro as x,ao as y};
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Instrument Sans Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Fira Code Variable", ui-monospace, monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Onest Variable", ui-sans-serif, system-ui, sans-serif;--color-surface-0:#0a0a0a;--color-surface-1:#171717;--color-surface-2:#262626;--color-line:#1f1f1f;--color-line-strong:#333;--color-fg-primary:#f5f5f5;--color-fg-secondary:#d4d4d4;--color-fg-tertiary:#a3a3a3;--color-fg-muted:#737373}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html,body,#root{height:100%}body{background-color:var(--color-surface-0);font-family:var(--font-sans);color:var(--color-fg-primary);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}::selection{color:#fafafa;background-color:#404040}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--color-line-strong) transparent}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--color-line-strong);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-fg-muted)}::-webkit-scrollbar-thumb:active{background-color:var(--color-fg-muted)}}@layer components{.text-display{font-family:var(--font-display);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--color-fg-primary)}.text-heading{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--color-fg-primary)}.text-section{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-fg-primary)}.text-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--color-fg-primary)}.text-body{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);color:var(--color-fg-primary)}.text-meta{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-fg-tertiary)}.text-caps{--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-fg-secondary)}.card{border-radius:var(--radius-lg);background-color:var(--color-surface-1);--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff0f), 0 4px 12px -4px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.board-markdown{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed);overflow-wrap:break-word;color:var(--color-fg-secondary)}.board-markdown>*+*{margin-top:calc(var(--spacing) * 2)}.board-markdown :is(h1,h2,h3,h4){margin-top:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-fg-primary)}.board-markdown>:first-child{margin-top:0}:where(.board-markdown :is(ul,ol)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}.board-markdown :is(ul,ol){padding-left:calc(var(--spacing) * 5)}.board-markdown ul{list-style-type:disc}.board-markdown ol{list-style-type:decimal}.board-markdown strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-fg-primary)}.board-markdown a{color:var(--color-fg-primary);text-decoration-line:underline;-webkit-text-decoration-color:var(--color-fg-muted);-webkit-text-decoration-color:var(--color-fg-muted);-webkit-text-decoration-color:var(--color-fg-muted);text-decoration-color:var(--color-fg-muted);text-underline-offset:2px}@media (hover:hover){.board-markdown a:hover{-webkit-text-decoration-color:var(--color-fg-primary);-webkit-text-decoration-color:var(--color-fg-primary);-webkit-text-decoration-color:var(--color-fg-primary);text-decoration-color:var(--color-fg-primary)}}.board-markdown :not(pre)>code{background-color:#262626cc;border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.board-markdown :not(pre)>code{background-color:color-mix(in oklab, var(--color-surface-2) 80%, transparent)}}.board-markdown :not(pre)>code{padding-inline:var(--spacing);font-family:var(--font-mono);color:var(--color-fg-primary);padding-block:1px;font-size:12px}.board-markdown pre{border-radius:var(--radius-lg);background-color:#0a0a0acc;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.board-markdown pre{background-color:color-mix(in oklab, var(--color-surface-0) 80%, transparent)}}.board-markdown pre{padding:calc(var(--spacing) * 3);font-family:var(--font-mono);--tw-leading:var(--leading-relaxed);font-size:12px;line-height:var(--leading-relaxed);--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff0d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.board-markdown blockquote{border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--color-line-strong);padding-left:calc(var(--spacing) * 3);color:var(--color-fg-tertiary)}.board-markdown table{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));display:block;overflow-x:auto}.board-markdown :is(th,td){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-line);padding-inline:calc(var(--spacing) * 2);padding-block:var(--spacing);text-align:left}.board-markdown hr{border-color:var(--color-line)}.line-target{border-radius:var(--radius-sm);background-color:#ffd2361a}@supports (color:color-mix(in lab, red, red)){.line-target{background-color:color-mix(in oklab, var(--color-amber-300) 10%, transparent)}}.line-target{--tw-shadow:0 0 0 4px var(--tw-shadow-color,#fcd34d1a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.board-markdown .mention{background-color:#00bcfe1a;border-radius:.25rem}@supports (color:color-mix(in lab, red, red)){.board-markdown .mention{background-color:color-mix(in oklab, var(--color-sky-400) 10%, transparent)}}.board-markdown .mention{padding-inline:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-sky-300)}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-1\/2{top:50%}.top-6{top:calc(var(--spacing) * 6)}.top-\[26\%\]{top:26%}.top-\[72px\]{top:72px}.top-full{top:100%}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-5{bottom:calc(var(--spacing) * 5)}.bottom-full{bottom:100%}.left-0{left:0}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.col-span-full{grid-column:1/-1}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-6{margin-block:calc(var(--spacing) * 6)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-7{height:calc(var(--spacing) * 7)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.h-px{height:1px}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[32rem\]{max-height:32rem}.max-h-\[40vh\]{max-height:40vh}.max-h-\[min\(70vh\,640px\)\]{max-height:min(70vh,640px)}.w-3{width:calc(var(--spacing) * 3)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-full{width:100%}.w-px{width:1px}.max-w-\[40\%\]{max-width:40%}.max-w-\[320px\]{max-width:320px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-3{min-width:calc(var(--spacing) * 3)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.table-fixed{table-layout:fixed}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-\[9rem_1fr\]{grid-template-columns:9rem 1fr}.grid-cols-\[auto_auto_auto_minmax\(0\,max-content\)_auto_minmax\(3rem\,1fr\)_auto\]{grid-template-columns:auto auto auto minmax(0,max-content) auto minmax(3rem,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-subgrid{grid-template-columns:subgrid}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:var(--spacing)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.border-line\/50{border-color:#1f1f1f80}@supports (color:color-mix(in lab, red, red)){.border-line\/50{border-color:color-mix(in oklab, var(--color-line) 50%, transparent)}}.border-line\/60{border-color:#1f1f1f99}@supports (color:color-mix(in lab, red, red)){.border-line\/60{border-color:color-mix(in oklab, var(--color-line) 60%, transparent)}}.bg-amber-300{background-color:var(--color-amber-300)}.bg-amber-300\/80{background-color:#ffd236cc}@supports (color:color-mix(in lab, red, red)){.bg-amber-300\/80{background-color:color-mix(in oklab, var(--color-amber-300) 80%, transparent)}}.bg-amber-500\/5{background-color:#f99c000d}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/5{background-color:color-mix(in oklab, var(--color-amber-500) 5%, transparent)}}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\/20{background-color:#00d29433}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\/20{background-color:color-mix(in oklab, var(--color-emerald-400) 20%, transparent)}}.bg-emerald-400\/60{background-color:#00d29499}@supports (color:color-mix(in lab, red, red)){.bg-emerald-400\/60{background-color:color-mix(in oklab, var(--color-emerald-400) 60%, transparent)}}.bg-emerald-500\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-fg-primary{background-color:var(--color-fg-primary)}.bg-fg-primary\/90{background-color:#f5f5f5e6}@supports (color:color-mix(in lab, red, red)){.bg-fg-primary\/90{background-color:color-mix(in oklab, var(--color-fg-primary) 90%, transparent)}}.bg-line{background-color:var(--color-line)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/10{background-color:color-mix(in oklab, var(--color-orange-500) 10%, transparent)}}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/15{background-color:color-mix(in oklab, var(--color-orange-500) 15%, transparent)}}.bg-red-500\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-sky-400\/10{background-color:#00bcfe1a}@supports (color:color-mix(in lab, red, red)){.bg-sky-400\/10{background-color:color-mix(in oklab, var(--color-sky-400) 10%, transparent)}}.bg-sky-500\/15{background-color:#00a5ef26}@supports (color:color-mix(in lab, red, red)){.bg-sky-500\/15{background-color:color-mix(in oklab, var(--color-sky-500) 15%, transparent)}}.bg-surface-0\/40{background-color:#0a0a0a66}@supports (color:color-mix(in lab, red, red)){.bg-surface-0\/40{background-color:color-mix(in oklab, var(--color-surface-0) 40%, transparent)}}.bg-surface-0\/60{background-color:#0a0a0a99}@supports (color:color-mix(in lab, red, red)){.bg-surface-0\/60{background-color:color-mix(in oklab, var(--color-surface-0) 60%, transparent)}}.bg-surface-0\/80{background-color:#0a0a0acc}@supports (color:color-mix(in lab, red, red)){.bg-surface-0\/80{background-color:color-mix(in oklab, var(--color-surface-0) 80%, transparent)}}.bg-surface-1{background-color:var(--color-surface-1)}.bg-surface-1\/80{background-color:#171717cc}@supports (color:color-mix(in lab, red, red)){.bg-surface-1\/80{background-color:color-mix(in oklab, var(--color-surface-1) 80%, transparent)}}.bg-surface-1\/95{background-color:#171717f2}@supports (color:color-mix(in lab, red, red)){.bg-surface-1\/95{background-color:color-mix(in oklab, var(--color-surface-1) 95%, transparent)}}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-2\/20{background-color:#26262633}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/20{background-color:color-mix(in oklab, var(--color-surface-2) 20%, transparent)}}.bg-surface-2\/30{background-color:#2626264d}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/30{background-color:color-mix(in oklab, var(--color-surface-2) 30%, transparent)}}.bg-surface-2\/40{background-color:#26262666}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/40{background-color:color-mix(in oklab, var(--color-surface-2) 40%, transparent)}}.bg-surface-2\/50{background-color:#26262680}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/50{background-color:color-mix(in oklab, var(--color-surface-2) 50%, transparent)}}.bg-surface-2\/60{background-color:#26262699}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/60{background-color:color-mix(in oklab, var(--color-surface-2) 60%, transparent)}}.bg-surface-2\/70{background-color:#262626b3}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/70{background-color:color-mix(in oklab, var(--color-surface-2) 70%, transparent)}}.bg-surface-2\/80{background-color:#262626cc}@supports (color:color-mix(in lab, red, red)){.bg-surface-2\/80{background-color:color-mix(in oklab, var(--color-surface-2) 80%, transparent)}}.bg-transparent{background-color:#0000}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[radial-gradient\(ellipse_70\%_55\%_at_50\%_42\%\,rgba\(255\,255\,255\,0\.045\)\,transparent\)\]{background-image:radial-gradient(70% 55% at 50% 42%,#ffffff0b,#0000)}.from-surface-1{--tw-gradient-from:var(--color-surface-1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-16{padding-inline:calc(var(--spacing) * 16)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-px{padding-top:1px}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-\[8vh\]{padding-bottom:8vh}.pl-5\.5{padding-left:calc(var(--spacing) * 5.5)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[2rem\]{font-size:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-400{color:var(--color-emerald-400)}.text-fg-muted{color:var(--color-fg-muted)}.text-fg-primary{color:var(--color-fg-primary)}.text-fg-secondary{color:var(--color-fg-secondary)}.text-fg-tertiary{color:var(--color-fg-tertiary)}.text-orange-200{color:var(--color-orange-200)}.text-orange-300{color:var(--color-orange-300)}.text-orange-300\/90{color:#ffb96de6}@supports (color:color-mix(in lab, red, red)){.text-orange-300\/90{color:color-mix(in oklab, var(--color-orange-300) 90%, transparent)}}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-sky-200{color:var(--color-sky-200)}.text-sky-300{color:var(--color-sky-300)}.text-surface-0{color:var(--color-surface-0)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.decoration-fg-muted{-webkit-text-decoration-color:var(--color-fg-muted);-webkit-text-decoration-color:var(--color-fg-muted);-webkit-text-decoration-color:var(--color-fg-muted);text-decoration-color:var(--color-fg-muted)}.decoration-line{-webkit-text-decoration-color:var(--color-line);-webkit-text-decoration-color:var(--color-line);-webkit-text-decoration-color:var(--color-line);text-decoration-color:var(--color-line)}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.caret-fg-primary{caret-color:var(--color-fg-primary)}.opacity-70{opacity:.7}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.05\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff0d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.06\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff0f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.07\)\,0_24px_48px_-16px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff12), 0 24px 48px -16px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.08\)\,0_16px_32px_-12px_rgba\(0\,0\,0\,0\.8\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff14), 0 16px 32px -12px var(--tw-shadow-color,#000c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-sky-300\/70{--tw-ring-color:#77d4ffb3}@supports (color:color-mix(in lab, red, red)){.ring-sky-300\/70{--tw-ring-color:color-mix(in oklab, var(--color-sky-300) 70%, transparent)}}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-surface-1{--tw-ring-offset-color:var(--color-surface-1)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}.group-open\:bg-surface-2\/20:is(:where(.group):is([open],:popover-open,:open) *){background-color:#26262633}@supports (color:color-mix(in lab, red, red)){.group-open\:bg-surface-2\/20:is(:where(.group):is([open],:popover-open,:open) *){background-color:color-mix(in oklab, var(--color-surface-2) 20%, transparent)}}.placeholder\:font-sans::placeholder{font-family:var(--font-sans)}.placeholder\:text-fg-muted::placeholder{color:var(--color-fg-muted)}.placeholder\:text-fg-tertiary::placeholder{color:var(--color-fg-tertiary)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.open\:bg-surface-2\/30:is([open],:popover-open,:open){background-color:#2626264d}@supports (color:color-mix(in lab, red, red)){.open\:bg-surface-2\/30:is([open],:popover-open,:open){background-color:color-mix(in oklab, var(--color-surface-2) 30%, transparent)}}.focus-within\:shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.16\)\]:focus-within{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff29);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (hover:hover){.hover\:bg-surface-1:hover{background-color:var(--color-surface-1)}.hover\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\:bg-surface-2\/30:hover{background-color:#2626264d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-2\/30:hover{background-color:color-mix(in oklab, var(--color-surface-2) 30%, transparent)}}.hover\:bg-surface-2\/40:hover{background-color:#26262666}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-2\/40:hover{background-color:color-mix(in oklab, var(--color-surface-2) 40%, transparent)}}.hover\:bg-surface-2\/50:hover{background-color:#26262680}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-2\/50:hover{background-color:color-mix(in oklab, var(--color-surface-2) 50%, transparent)}}.hover\:bg-surface-2\/60:hover{background-color:#26262699}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-2\/60:hover{background-color:color-mix(in oklab, var(--color-surface-2) 60%, transparent)}}.hover\:bg-surface-2\/70:hover{background-color:#262626b3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-surface-2\/70:hover{background-color:color-mix(in oklab, var(--color-surface-2) 70%, transparent)}}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-amber-200:hover{color:var(--color-amber-200)}.hover\:text-fg-primary:hover{color:var(--color-fg-primary)}.hover\:text-fg-secondary:hover{color:var(--color-fg-secondary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-fg-primary:hover{-webkit-text-decoration-color:var(--color-fg-primary);-webkit-text-decoration-color:var(--color-fg-primary);-webkit-text-decoration-color:var(--color-fg-primary);text-decoration-color:var(--color-fg-primary)}}.focus\:border-fg-muted:focus{border-color:var(--color-fg-muted)}.focus\:shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,0\.16\)\]:focus{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff29);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:bg-surface-2\/50:focus-visible{background-color:#26262680}@supports (color:color-mix(in lab, red, red)){.focus-visible\:bg-surface-2\/50:focus-visible{background-color:color-mix(in oklab, var(--color-surface-2) 50%, transparent)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-fg-primary\/30:focus-visible{--tw-ring-color:#f5f5f54d}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-fg-primary\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-fg-primary) 30%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:border-line:disabled{border-color:var(--color-line)}.disabled\:bg-surface-2:disabled{background-color:var(--color-surface-2)}.disabled\:text-fg-muted:disabled{color:var(--color-fg-muted)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.has-focus-visible\:ring-2:has(:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-focus-visible\:ring-fg-primary\/30:has(:focus-visible){--tw-ring-color:#f5f5f54d}@supports (color:color-mix(in lab, red, red)){.has-focus-visible\:ring-fg-primary\/30:has(:focus-visible){--tw-ring-color:color-mix(in oklab, var(--color-fg-primary) 30%, transparent)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-\[gate-rise_700ms_cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{animation:.7s cubic-bezier(.16,1,.3,1) gate-rise}}}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-cyrillic-ext-wght-normal-DhYMMuQd.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-cyrillic-wght-normal-Y3u8pIsh.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-greek-ext-wght-normal-wWus70Ix.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-greek-wght-normal-B2SviObF.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-symbols2-wght-normal-CE6EOz_n.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-latin-ext-wght-normal-Dvfvaomy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fira-code-latin-wght-normal-CHoedHDv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes gate-rise{0%{opacity:.2;filter:blur(6px);transform:translateY(10px)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
@@ -6,10 +6,10 @@
6
6
  <meta name="color-scheme" content="dark" />
7
7
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
8
8
  <title>Stellaris</title>
9
- <script type="module" crossorigin src="/assets/index-DrMc2vuA.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-CADeLxUP.js"></script>
10
10
  <link rel="modulepreload" crossorigin href="/assets/format-8m6fdeP8.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/tasks-Di8iatzY.js">
12
- <link rel="stylesheet" crossorigin href="/assets/index-C3ujZpqY.css">
12
+ <link rel="stylesheet" crossorigin href="/assets/index-iNICYkef.css">
13
13
  </head>
14
14
  <body class="antialiased">
15
15
  <div id="root"></div>