night-orch 0.6.0 → 0.6.1

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.
@@ -84,6 +84,15 @@ export declare class CostTracker {
84
84
  * day rolls over — operators do not need to clear it manually.
85
85
  */
86
86
  setDailyCapOverride(overrideUsd: number | null, date?: string): void;
87
+ /**
88
+ * Subtract a run's accumulated cost and token counts from today's
89
+ * `daily_costs` row. Call this inside a transaction **before** zeroing
90
+ * the per-run accumulators so the daily totals stay consistent.
91
+ *
92
+ * Clamps to zero — never produces negative daily totals even if the
93
+ * run's recorded cost drifted from the daily aggregate.
94
+ */
95
+ subtractRunCostFromDaily(runId: string, date?: string): void;
87
96
  private logSubscriptionMeteredWarningOnce;
88
97
  }
89
98
  export type BudgetStatus = {
@@ -1 +1 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/loop/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/loop/cost.ts"],"names":[],"mappings":"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"}
package/dist/loop/cost.js CHANGED
@@ -363,6 +363,29 @@ export class CostTracker {
363
363
  ON CONFLICT(date) DO UPDATE SET daily_cost_cap_override_usd = excluded.daily_cost_cap_override_usd`)
364
364
  .run(date, overrideUsd);
365
365
  }
366
+ /**
367
+ * Subtract a run's accumulated cost and token counts from today's
368
+ * `daily_costs` row. Call this inside a transaction **before** zeroing
369
+ * the per-run accumulators so the daily totals stay consistent.
370
+ *
371
+ * Clamps to zero — never produces negative daily totals even if the
372
+ * run's recorded cost drifted from the daily aggregate.
373
+ */
374
+ subtractRunCostFromDaily(runId, date = utcDayKey()) {
375
+ const run = this.db
376
+ .prepare('SELECT estimated_cost_usd, prompt_tokens, completion_tokens, cache_read_tokens FROM runs WHERE id = ?')
377
+ .get(runId);
378
+ if (!run || run.estimated_cost_usd <= 0)
379
+ return;
380
+ this.db
381
+ .prepare(`UPDATE daily_costs
382
+ SET total_cost_usd = MAX(0, total_cost_usd - ?),
383
+ total_prompt_tokens = MAX(0, total_prompt_tokens - ?),
384
+ total_completion_tokens = MAX(0, total_completion_tokens - ?),
385
+ total_cache_read_tokens = MAX(0, total_cache_read_tokens - ?)
386
+ WHERE date = ?`)
387
+ .run(run.estimated_cost_usd, run.prompt_tokens, run.completion_tokens, run.cache_read_tokens, date);
388
+ }
366
389
  logSubscriptionMeteredWarningOnce(key, data, message) {
367
390
  if (this.advisoryWarnings.has(key))
368
391
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/loop/cost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/loop/cost.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"continue.d.ts","sourceRoot":"","sources":["../../src/ops/continue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAuBrD,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoG9C"}
1
+ {"version":3,"file":"continue.d.ts","sourceRoot":"","sources":["../../src/ops/continue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAwBrD,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA0G9C"}
@@ -1,3 +1,4 @@
1
+ import { CostTracker } from '../loop/cost.js';
1
2
  import { RunManager } from '../state/runs.js';
2
3
  import { LeaseManager } from '../state/leases.js';
3
4
  import { transitionLabels } from '../labels/manager.js';
@@ -47,7 +48,12 @@ export async function queueContinue(db, forge, repoConfig, issueNumber, botUser,
47
48
  // Atomic state transition: update run + release leases in a single
48
49
  // DB transaction so a crash in between cannot leave the issue
49
50
  // queued-but-leased.
51
+ const costTracker = new CostTracker(db);
50
52
  const transition = db.transaction(() => {
53
+ // Subtract the run's cost from the daily total BEFORE zeroing
54
+ // the per-run accumulators — otherwise the daily budget check
55
+ // still sees the old accumulated total and re-blocks immediately.
56
+ costTracker.subtractRunCostFromDaily(run.id);
51
57
  runManager.update(run.id, {
52
58
  status: 'queued',
53
59
  currentPhase: resumePhase,
@@ -1 +1 @@
1
- {"version":3,"file":"continue.js","sourceRoot":"","sources":["../../src/ops/continue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continue.js","sourceRoot":"","sources":["../../src/ops/continue.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cost-resume.d.ts","sourceRoot":"","sources":["../../src/ops/cost-resume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAarD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CA6HpD"}
1
+ {"version":3,"file":"cost-resume.d.ts","sourceRoot":"","sources":["../../src/ops/cost-resume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAarD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAkIpD"}
@@ -49,6 +49,10 @@ export async function scanCostBlockedRuns(db, config, forge, repoConfig, botUser
49
49
  logger.info({ runId, repo: row.repo, issue: issueNumber }, 'Cost budget cleared — auto-resuming blocked run');
50
50
  // Atomic transition: update run state, zero cost fields, release leases
51
51
  const transition = db.transaction(() => {
52
+ // Subtract the run's cost from the daily total BEFORE zeroing
53
+ // the per-run accumulators — otherwise the daily budget check
54
+ // still sees the old accumulated total and re-blocks immediately.
55
+ costTracker.subtractRunCostFromDaily(runId);
52
56
  runManager.update(runId, {
53
57
  status: 'queued',
54
58
  currentPhase: null,
@@ -1 +1 @@
1
- {"version":3,"file":"cost-resume.js","sourceRoot":"","sources":["../../src/ops/cost-resume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-resume.js","sourceRoot":"","sources":["../../src/ops/cost-resume.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "night-orch",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Nightly GitHub/Forgejo issue orchestrator — autonomous AI agent coding tool",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,4 +31,4 @@ WARNING: This link could potentially be dangerous`)){let r=window.open();if(r){t
31
31
  0%, 100% { opacity: 1; }
32
32
  50% { opacity: 0.4; }
33
33
  }
34
- `;function LR({status:e,serverUnreachable:s=!1,elapsedSeconds:r}){const a=DR(e.installMethod);return _.jsxs("div",{"data-theme":"black",style:{position:"fixed",inset:0,zIndex:9999,display:"grid",placeItems:"center",backgroundColor:"rgba(0, 0, 0, 0.78)",backdropFilter:"blur(4px)",padding:"1rem"},role:"dialog","aria-modal":"true","aria-label":"Self update in progress",children:[_.jsx("style",{children:AR}),_.jsxs("section",{className:"w-full max-w-xl rounded-box border border-base-300/80 bg-base-100/95 p-5 shadow-2xl",children:[_.jsx("h2",{className:"text-lg font-semibold",children:"Applying self-update"}),(e.previousCommit||e.targetCommit)&&_.jsxs("p",{className:"mt-1 font-mono text-xs text-base-content/60",children:[e.previousCommit?.slice(0,8),e.targetCommit&&_.jsxs(_.Fragment,{children:[" → ",e.targetCommit.slice(0,8)]})]}),_.jsxs("div",{className:"mt-3 flex items-center gap-3 text-sm text-base-content/80",children:[_.jsx("span",{className:"loading loading-spinner loading-md text-info"}),_.jsxs("span",{children:["Update in progress",r!=null&&r>0&&_.jsxs(_.Fragment,{children:[" — ",BR(r)]})]})]}),_.jsx("ul",{className:"steps steps-vertical mt-4 w-full",children:a.map(o=>{const c=NR(o.id,e.state,a),d=c==="done"?"step step-success":c==="active"?"step step-info update-step-active":"step",p=c==="done"?"✓":c==="active"?"●":"○";return _.jsx("li",{className:d,"data-content":p,children:_.jsx("span",{className:c==="pending"?"text-base-content/50":void 0,children:o.label})},o.id)})}),s&&_.jsxs("div",{className:"mt-4 flex items-center gap-2 rounded border border-info/35 bg-info/10 p-2.5 text-xs text-info-content",children:[_.jsx("span",{className:"loading loading-dots loading-xs"}),_.jsx("span",{children:"Server is restarting — reconnecting automatically..."})]}),e.state==="rolling-back"&&_.jsx("div",{className:"mt-4 rounded border border-warning/35 bg-warning/10 p-2 text-xs text-warning-content",children:"Health checks failed. Rolling back to the previous known-good build."}),_.jsx("p",{className:"mt-4 text-xs text-base-content/70",children:"Dashboard controls are temporarily blocked. This page refreshes automatically after a healthy restart."})]})]})}function OR(e){return X0.createPortal(_.jsx(LR,{...e}),document.body)}function jR(e){if(!e||typeof e!="object")return null;const s=e.runId,r=e.events,a=e.lastEventId;return typeof s!="string"||!Array.isArray(r)||typeof a!="number"?null:{runId:s,events:r.filter(o=>!o||typeof o!="object"?!1:typeof o.id=="number"),lastEventId:a}}function zR(e,s){const r=new Set(e.map(o=>o.id)),a=[...e];for(const o of s)r.has(o.id)||(r.add(o.id),a.push(o));return a.sort((o,c)=>o.id-c.id),a}function HR(e){if(!e||typeof e!="object")return null;const s=e.sessionId,r=e.status,a=e.events,o=e.lastEventId;return typeof s!="string"||r!=="running"&&r!=="closed"||!Array.isArray(a)||typeof o!="number"?null:{sessionId:s,status:r,events:a.filter(c=>!c||typeof c!="object"?!1:typeof c.id=="number"),lastEventId:o}}function PR(e,s){const r=new Set(e.map(o=>o.id)),a=[...e];for(const o of s)r.has(o.id)||(r.add(o.id),a.push(o));return a.sort((o,c)=>o.id-c.id),a}const UR="Start self-update now? This pulls latest code, rebuilds, and restarts Night-Orch services.",IR="Start self-update now? This installs the latest version from npm and restarts Night-Orch services.";function qR(e,s="unknown"){return e(s==="npm"?IR:UR)}const FR=6e3;function WR(e){return{startedAtMs:e,sawActiveState:!1}}function Xc(){return{startedAtMs:null,sawActiveState:!1}}function Zc(e){return e!=null&&e.state!=="idle"&&e.state!=="failed"}function KR(e){return Zc(e)?e:null}function $R(e,s,r){return e.startedAtMs==null||e.sawActiveState?!0:s-e.startedAtMs>=r}function VR(e,s,r,a){return Zc(e)?{nextTransition:{startedAtMs:s.startedAtMs,sawActiveState:!0},nextStatus:e,errorMessage:null,shouldReload:!1}:$R(s,r,a)?e.state==="failed"?{nextTransition:Xc(),nextStatus:e,errorMessage:`Update failed: ${e.error??"unknown error"}`,shouldReload:!1}:{nextTransition:Xc(),nextStatus:e,errorMessage:null,shouldReload:e.state==="idle"}:{nextTransition:s,nextStatus:null,errorMessage:null,shouldReload:!1}}async function YR(e){const s=await e.fetchUpdateStatus();if(!s)return e.transition;const r=VR(s,e.transition,e.nowMs?e.nowMs():Date.now(),e.graceMs??FR);return r.nextStatus&&e.onStatus(r.nextStatus),r.errorMessage&&e.onError(r.errorMessage),r.shouldReload&&e.onReload(),r.nextTransition}const w0="x-night-orch-intent",C0="mutate",kc="x-night-orch-web-token",GR="0.6.0",XR=6e4;function E0(e){if(!e)return null;try{return decodeURIComponent(e)}catch{return e}}function ZR(e){return e===null?"null":typeof e=="boolean"?e?"true":"false":Array.isArray(e)||typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}function Pc({activePage:e,issueDetailRunId:s=null,projectDetailRepo:r=null}){const a=Gf(),[o,c]=A.useState(null),[d,p]=A.useState(null),[m,f]=A.useState(null),[S,v]=A.useState(!0),[b,y]=A.useState(!0),[x,C]=A.useState(!0),[R,E]=A.useState(!1),[K,W]=A.useState("all"),[z,U]=A.useState(""),[Q,F]=A.useState([]),[ee,H]=A.useState(null),[ce,ne]=A.useState(!1),[G,I]=A.useState(""),[ae,te]=A.useState(null),[D,q]=A.useState([]),[V,_e]=A.useState({cwd:""}),[ge,M]=A.useState(null),[$,re]=A.useState(null),[se,ue]=A.useState(null),[pe,Se]=A.useState(!1),[be,Be]=A.useState(null),[Xe,Pt]=A.useState(!0),[Rt,Te]=A.useState({}),[Ut,qi]=A.useState(""),[Mt,Qs]=A.useState({repo:"",issueNumber:"",amount:""}),[Es,Qt]=A.useState(""),[Rs,Ms]=A.useState(null),[Or,Sn]=A.useState(null),[Re,kt]=A.useState(0),lt=A.useRef(null),Fi=A.useRef(null),Wi=A.useRef(""),jr=A.useRef(""),yn=A.useRef(""),xa=A.useRef(""),ui=A.useRef(Xc()),Ki=A.useRef(Date.now()),$t=A.useRef(Xe),Ws=A.useRef(se),Vt=A.useRef(be),Ks=o?.config.repos??[],zr=o?.runs.runs??[],xn=o?.stats.overview.runningRuns??0,$i=o?.stats.overview.queuedRuns??0,$s=Zc(Rs),wn=A.useMemo(()=>K==="all"?zr:zr.filter(N=>N.repo===K),[zr,K]),Yt=A.useMemo(()=>E0(s),[s]),Hr=A.useMemo(()=>E0(r),[r]),di=A.useMemo(()=>Yt?zr.find(N=>N.runId===Yt)??null:null,[zr,Yt]),fi=di?.hasRun?di.runId:"",wa=A.useMemo(()=>$s?{label:`updating ${Rs?.state??"starting"}`,toneClass:"badge-warning"}:R?xn>0?{label:"processing",toneClass:"badge-success"}:$i>0?{label:"queued",toneClass:"badge-info"}:{label:"idle",toneClass:"badge-neutral"}:{label:"reconnecting",toneClass:"badge-error"},[$i,xn,R,$s,Rs?.state]),Ca=A.useMemo(()=>{const N=o?.build?.version??GR,ie=o?.build?.gitSha;return o?.build?.installMethod==="git"&&ie?`v${N} · ${ie.slice(0,8)}`:`v${N}`},[o?.build]),ks=A.useCallback(async()=>{const N=await fetch("/api/dashboard");if(!N.ok)throw new Error(`Failed to load dashboard (${N.status})`);const ie=await N.json();c(ie)},[]),Vi=A.useCallback(async()=>{const N=await fetch("/api/update-status");return N.ok?await N.json():null},[]),Ea=A.useCallback(async()=>{const N=await fetch("/api/session");if(!N.ok)throw new Error(`Failed to initialize web session (${N.status})`);const ie=await N.json();if(!ie.mutationToken)throw new Error("Missing mutation token in session response");Be(ie.mutationToken),Pt(ie.operationsEnabled??!0)},[]),Pr=A.useCallback(async()=>{const N=await fetch("/api/projects");if(!N.ok)throw new Error(`Failed to load projects (${N.status})`);const ie=await N.json();p(ie)},[]),_i=A.useCallback(async()=>{const N=await fetch("/api/settings");if(!N.ok)throw new Error(`Failed to load settings (${N.status})`);const ie=await N.json();f(ie),Te(Object.fromEntries(ie.settings.map(Ce=>[Ce.key,ZR(Ce.effectiveValue)])))},[]),Ts=A.useCallback(async()=>{if(!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");const N=await fetch("/api/shell/sessions",{headers:{[kc]:be}});if(!N.ok)throw new Error(`Failed to load shell sessions (${N.status})`);const ie=await N.json();H(ie)},[be]),Yi=A.useCallback(async N=>{if(!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");if(!N){te(null);return}const ie=await fetch(`/api/shell/sessions/${encodeURIComponent(N)}`,{headers:{[kc]:be}});if(ie.status===404){te(null);return}if(!ie.ok)throw new Error(`Failed to load shell session (${ie.status})`);const Ce=await ie.json();if(!Ce.session)throw new Error("Malformed shell session response");te(Ce.session)},[be]);A.useEffect(()=>{(async()=>{try{v(!0),y(!0),C(!0),await Promise.all([ks(),Ea(),Pr(),_i()])}catch(N){M(N.message)}finally{v(!1),y(!1),C(!1)}})()},[ks,Pr,Ea,_i]),A.useEffect(()=>{let N=!1;return(async()=>{try{const ie=await Vi();if(!ie||N)return;Zc(ie)?ui.current={startedAtMs:null,sawActiveState:!0}:ui.current=Xc(),Ms(ie)}catch{}})(),()=>{N=!0}},[Vi]),A.useEffect(()=>{if(Ks.length===0){Qt("");return}Qt(N=>N&&Ks.includes(N)?N:Ks[0]??""),W(N=>N==="all"||Ks.includes(N)?N:"all")},[Ks]),A.useEffect(()=>{$t.current=Xe},[Xe]),A.useEffect(()=>{Ws.current=se},[se]),A.useEffect(()=>{Vt.current=be},[be]),A.useEffect(()=>{Yt&&U(Yt)},[Yt]),A.useEffect(()=>{if(e!=="agent"||!be)return;let N=!1;return ne(!0),M(null),(async()=>{try{await Ts()}catch(ie){N||M(ie.message)}finally{N||ne(!1)}})(),()=>{N=!0}},[e,Ts,be]),A.useEffect(()=>{if(e!=="agent")return;const N=ee?.sessions??[];I(ie=>ie&&N.some(Ce=>Ce.id===ie)?ie:N[0]?.id??"")},[e,ee]),A.useEffect(()=>{if(e!=="agent"||!be)return;let N=!1;return(async()=>{try{await Yi(G)}catch(ie){N||M(ie.message)}})(),()=>{N=!0}},[e,Yi,G,be]),A.useEffect(()=>{let N=!1;const ie=()=>{const Ce=window.location.protocol==="https:"?"wss":"ws",Ie=be?`?token=${encodeURIComponent(be)}`:"",Oe=new WebSocket(`${Ce}://${window.location.host}/ws${Ie}`);lt.current=Oe,Oe.onopen=()=>{if(N)return;E(!0),Oe.send(JSON.stringify({type:"refresh"}));const Ze=Wi.current;Ze&&Oe.send(JSON.stringify({type:"subscribe-run-events",runId:Ze,since:0}));const qe=jr.current;qe&&Oe.send(JSON.stringify({type:"subscribe-shell-session-events",sessionId:qe,since:0}))},Oe.onmessage=Ze=>{try{const qe=JSON.parse(Ze.data);if(qe.type==="snapshot"&&qe.payload){c(qe.payload);return}if(qe.type==="run-events"&&qe.payload){const _t=jR(qe.payload);if(!_t||_t.runId!==Wi.current)return;F(pt=>zR(pt,_t.events));return}if(qe.type==="shell-session-events"&&qe.payload){const _t=HR(qe.payload);if(!_t||(H(pt=>pt&&{...pt,sessions:pt.sessions.map(kn=>kn.id===_t.sessionId?{...kn,status:_t.status}:kn)}),_t.sessionId!==jr.current))return;q(pt=>PR(pt,_t.events)),te(pt=>pt&&pt.id===_t.sessionId?{...pt,status:_t.status}:pt);return}qe.type==="error"&&qe.error&&re(qe.error)}catch{}},Oe.onclose=()=>{lt.current===Oe&&(lt.current=null),E(!1),!N&&(Fi.current=window.setTimeout(ie,2e3))},Oe.onerror=()=>{Oe.close()}};return ie(),()=>{N=!0,Fi.current!==null&&window.clearTimeout(Fi.current),lt.current?.close(),lt.current=null}},[be]),A.useEffect(()=>{Wi.current=fi,F([]);const N=lt.current;if(!N||N.readyState!==WebSocket.OPEN){yn.current=fi;return}const ie=yn.current;ie&&ie!==fi&&N.send(JSON.stringify({type:"unsubscribe-run-events",runId:ie})),fi&&N.send(JSON.stringify({type:"subscribe-run-events",runId:fi,since:0})),yn.current=fi},[fi,R]),A.useEffect(()=>{jr.current=G,q([]);const N=lt.current;if(!N||N.readyState!==WebSocket.OPEN){xa.current=G;return}const ie=xa.current;ie&&ie!==G&&N.send(JSON.stringify({type:"unsubscribe-shell-session-events",sessionId:ie})),G&&N.send(JSON.stringify({type:"subscribe-shell-session-events",sessionId:G,since:0})),xa.current=G},[G,R]);const[Ql,Cn]=A.useState(!1);A.useEffect(()=>{if(!$s)return;let N=!1,ie=0;const Ce=async()=>{try{const Oe=await YR({fetchUpdateStatus:Vi,transition:ui.current,onStatus:Ze=>{N||(ie=0,Cn(!1),Ms(Ze))},onError:Ze=>{N||(ie=0,Cn(!1),M(Ze))},onReload:()=>{N||window.location.reload()}});N||(ui.current=Oe)}catch{ie++,!N&&ie>=2&&(Cn(!0),Ms(Oe=>{if(!Oe)return Oe;const Ze=Oe.installMethod==="npm"?TR:kR,qe=Ze.indexOf(Oe.state);if(qe<0||qe>=Ze.length-1)return Oe;if(ie*2>=4*(qe+1)){const pt=Ze[qe+1];if(pt)return{...Oe,state:pt}}return Oe}))}};Ce();const Ie=window.setInterval(()=>{Ce()},2e3);return()=>{N=!0,window.clearInterval(Ie)}},[Vi,$s]),A.useEffect(()=>{if(!Or)return;const N=window.setInterval(()=>{kt(Math.floor((Date.now()-Or)/1e3))},1e3);return()=>window.clearInterval(N)},[Or]);const ze=A.useCallback(async(N,ie,Ce,Ie,Oe)=>{try{if(ue(N),M(null),!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");if(!Xe)throw new Error("Web operations are disabled by server policy.");const Ze=await fetch(ie,{method:"POST",headers:{"Content-Type":"application/json",[w0]:C0,[kc]:be},body:JSON.stringify(Ce)}),qe=await Ze.json();if(!Ze.ok){const pt=typeof qe.error=="string"?qe.error:`Operation failed (${Ze.status})`;throw new Error(pt)}const _t=lw(qe)??Ie;return re(_t),(Oe?.refreshAfterSuccess??!0)&&await Promise.all([ks(),_i()]),!0}catch(Ze){return M(Ze.message),!1}finally{ue(null)}},[ks,_i,Xe,be]),ot=A.useCallback(async(N,ie,Ce,Ie="POST")=>{try{if(ue(N),M(null),!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");if(!Xe)throw new Error("Web operations are disabled by server policy.");const Oe=await fetch(ie,{method:Ie,headers:{"Content-Type":"application/json",[w0]:C0,[kc]:be},body:Ie==="DELETE"?void 0:JSON.stringify(Ce)}),Ze=await Oe.json();if(!Oe.ok){const qe=typeof Ze.error=="string"?Ze.error:`Operation failed (${Oe.status})`;throw new Error(qe)}return Ze}catch(Oe){return M(Oe.message),null}finally{ue(null)}},[Xe,be]),Gt=A.useCallback(async()=>{try{Se(!0),M(null);const N=[ks(),Pr(),_i()];e==="agent"&&N.push(Ts()),await Promise.all(N),lt.current?.readyState===WebSocket.OPEN&&lt.current.send(JSON.stringify({type:"refresh"}))}catch(N){M(N.message)}finally{Se(!1)}},[e,ks,Pr,_i,Ts]),Vs=A.useCallback(()=>{Ki.current=Date.now(),ze("poll","/api/operations/poll",{},"Manual poll requested")},[ze]);A.useEffect(()=>{const N=()=>{if(document.visibilityState!=="visible")return;const ie=Date.now()-Ki.current>=XR,Ce=$t.current&&Ws.current===null&&Vt.current!==null;ie&&Ce&&Vs()};return document.addEventListener("visibilitychange",N),()=>{document.removeEventListener("visibilitychange",N)}},[Vs]);const En=A.useCallback(()=>{ze("sync","/api/operations/sync",{},"Sync completed")},[ze]),ch=A.useCallback(()=>{ze("cleanup","/api/operations/cleanup",{},"Cleanup completed")},[ze]),Jl=A.useCallback(N=>{a({to:"/$page",params:{page:N}})},[a]),eo=A.useCallback(N=>{U(N),a({to:"/$page/$detailId",params:{page:"issues",detailId:N}})},[a]),Ur=A.useCallback(()=>{a({to:"/$page",params:{page:"issues"}})},[a]),Ra=A.useCallback(N=>{a({to:"/$page/$detailId",params:{page:"projects",detailId:N}})},[a]),Gi=A.useCallback(()=>{a({to:"/$page",params:{page:"projects"}})},[a]),Xi=A.useCallback(async()=>{const N=o?.build?.installMethod;if(!(!qR(Ie=>window.confirm(Ie),N==="git"||N==="npm"?N:"unknown")||!await ze("update","/api/operations/update",{},"Update initiated - pulling and rebuilding...",{refreshAfterSuccess:!1}))){ui.current=WR(Date.now()),Ms({state:"draining",installMethod:N==="git"||N==="npm"?N:void 0}),Sn(Date.now()),kt(0);try{const Ie=await Vi();if(!Ie)return;const Oe=KR(Ie);Oe&&(ui.current={startedAtMs:ui.current.startedAtMs,sawActiveState:!0},Ms(Oe))}catch{}}},[Vi,ze]),rs=A.useCallback(async(N,ie)=>{window.confirm(ie.confirmMessage)&&await ze(ie.operationName,ie.endpoint,{repo:N.repo,issueNumber:N.issue,...ie.payload},ie.fallbackMessage)},[ze]),Zi=A.useCallback(N=>{rs(N,{operationName:"retry",endpoint:"/api/operations/retry",confirmMessage:`Queue retry for ${N.repo}#${N.issue}?`,fallbackMessage:`Retry queued for ${N.repo}#${N.issue}`,payload:{resetPlan:!1,fresh:!1}})},[rs]),bt=A.useCallback(N=>{rs(N,{operationName:"rebase",endpoint:"/api/operations/rebase",confirmMessage:`Queue rebase for ${N.repo}#${N.issue}?`,fallbackMessage:`Rebase queued for ${N.repo}#${N.issue}`})},[rs]),to=A.useCallback(N=>{rs(N,{operationName:"continue",endpoint:"/api/operations/continue",confirmMessage:`Queue continue pass for ${N.repo}#${N.issue}?`,fallbackMessage:`Continue pass queued for ${N.repo}#${N.issue}`})},[rs]),so=A.useCallback((N,ie)=>{rs(N,{operationName:"delete-entry",endpoint:"/api/operations/delete-entry",confirmMessage:ie?`Force delete local entry for ${N.repo}#${N.issue}? This can remove run-local state while shared issue state is still active elsewhere.`:`Delete local entry for ${N.repo}#${N.issue}?`,fallbackMessage:ie?`Force-deleted local entry for ${N.repo}#${N.issue}`:`Deleted local entry for ${N.repo}#${N.issue}`,payload:{force:ie}})},[rs]),pi=A.useCallback(async N=>{if(N.preventDefault(),!Es){M("Labels init requires a repo");return}await ze("labels-init","/api/operations/labels-init",{repo:Es},`Labels initialized for ${Es}`)},[Es,ze]),Qi=A.useCallback(async N=>{const ie=Rt[N];if(ie===void 0){M(`No draft value found for ${N}`);return}await ze(`setting:set:${N}`,"/api/operations/settings/set",{key:N,value:ie},`Updated ${N}`)},[ze,Rt]),hh=A.useCallback(async N=>{await ze(`setting:clear:${N}`,"/api/operations/settings/clear",{key:N},`Cleared override for ${N}`)},[ze]),io=A.useCallback(async N=>{N.preventDefault();const ie=Number.parseFloat(Ut);if(!Number.isFinite(ie)||ie<=0){M("Daily override requires a positive number (USD)");return}await ze("daily-cost-override:set","/api/operations/daily-cost-override/set",{amountUsd:ie},`Raised today's daily cap to $${ie.toFixed(2)}`)},[Ut,ze]),ro=A.useCallback(async()=>{await ze("daily-cost-override:clear","/api/operations/daily-cost-override/clear",{},"Cleared today's daily cap override")},[ze]),uh=A.useCallback(async N=>{N.preventDefault();const ie=Number.parseInt(Mt.issueNumber,10),Ce=Number.parseFloat(Mt.amount);if(!Mt.repo||!Number.isFinite(ie)||ie<=0){M("Per-issue override requires a repo and a positive issue number");return}if(!Number.isFinite(Ce)||Ce<=0){M("Per-issue override requires a positive amount (USD)");return}await ze("cost-override:set","/api/operations/cost-override/set",{repo:Mt.repo,issueNumber:ie,amountUsd:Ce},`Set cost override for ${Mt.repo}#${ie} to $${Ce.toFixed(2)}`)},[Mt,ze]),Rn=A.useCallback(async()=>{const N=Number.parseInt(Mt.issueNumber,10);if(!Mt.repo||!Number.isFinite(N)||N<=0){M("Clearing a per-issue override requires a repo and a positive issue number");return}await ze("cost-override:clear","/api/operations/cost-override/clear",{repo:Mt.repo,issueNumber:N},`Cleared cost override for ${Mt.repo}#${N}`)},[Mt,ze]),Mn=A.useCallback(async N=>{N.preventDefault();const ie=await ot("shell:create-session","/api/shell/sessions",{cwd:V.cwd.trim()||void 0});if(!ie)return;const Ce=ie.session;await Ts(),Ce?.id&&(I(Ce.id),te(Ce),q([]),re(`Created shell session in ${Ce.cwd}`))},[Ts,ot,V.cwd]),Ys=A.useCallback(async()=>{!G||!await ot("shell:close-session",`/api/shell/sessions/${encodeURIComponent(G)}`,{},"DELETE")||(await Ts(),await Yi(G),re("Shell session closed"))},[Yi,Ts,ot,G]),ns=A.useCallback(N=>{const ie=jr.current;if(!ie)return;const Ce=lt.current;!Ce||Ce.readyState!==WebSocket.OPEN||Ce.send(JSON.stringify({type:"shell-input",sessionId:ie,data:N}))},[]),no=A.useCallback((N,ie)=>{const Ce=jr.current;if(!Ce)return;const Ie=lt.current;!Ie||Ie.readyState!==WebSocket.OPEN||Ie.send(JSON.stringify({type:"shell-resize",sessionId:Ce,cols:N,rows:ie}))},[]),dh=e==="issues"&&Yt!==null,Ma=e==="projects"&&Hr!==null;return _.jsxs("main",{"data-theme":"black",className:"min-h-screen bg-orch-admin",children:[_.jsx(ME,{currentStateLabel:wa.label,currentStateToneClass:wa.toneClass,isWorking:xn>0||se!==null||$s,socketConnected:R,lastRefreshAt:o?.generatedAt??null,pollIntervalSeconds:o?.config.pollIntervalSeconds??null,reposCount:Ks.length,activeRuns:o?.status.activeRuns??0,runningRuns:xn,queuedRuns:$i,operationsEnabled:Xe,activeOperation:se,isRefreshing:pe,onRefresh:()=>{Gt()},onPoll:Vs,onSync:En,onGoToSettings:()=>{Jl("settings")}}),_.jsxs("div",{className:"mx-auto flex w-full max-w-[1550px] flex-col gap-5 px-4 pb-24 pt-5 sm:px-6 md:pb-6 lg:px-8",children:[ge&&_.jsx("div",{className:"alert alert-error shadow-sm",children:_.jsx("span",{children:ge})}),$&&_.jsx("div",{className:"alert alert-info shadow-sm",children:_.jsx("span",{children:$})}),_.jsxs("div",{className:"grid gap-5 md:grid-cols-[auto_minmax(0,1fr)] md:items-stretch md:gap-0",children:[_.jsx(OE,{activePage:e,onPageChange:Jl}),_.jsxs("div",{className:"flex min-w-0 flex-col gap-5 md:pl-6",children:[e==="issues"&&(dh?_.jsx(qE,{run:di,runId:Yt??"",runEvents:Q,operationsEnabled:Xe,activeOperation:se,onRetry:Zi,onRebase:bt,onContinue:to,onDeleteEntry:so,onBack:Ur}):_.jsxs("div",{className:"flex flex-col gap-5",children:[_.jsx(If,{snapshot:o}),_.jsxs("section",{className:"grid gap-5 xl:grid-cols-[1.65fr_1fr]",children:[_.jsx(fR,{isLoading:S,repos:Ks,selectedRepo:K,onSelectedRepoChange:W,filteredRuns:wn,selectedRunId:z,onOpenRun:eo,statusTone:iR}),_.jsx(WE,{operationsEnabled:Xe,activeOperation:se,updateStatus:Rs,installMethod:o?.build?.installMethod,repos:Ks,labelsInitForm:{repo:Es},onLabelsInitFormChange:N=>{N.repo!==void 0&&Qt(N.repo)},onPoll:Vs,onSync:En,onCleanup:ch,onLabelsInitSubmit:N=>{pi(N)},onUpdate:()=>{Xi()}})]})]})),e==="stats"&&_.jsx(MR,{snapshot:o,socketConnected:R}),e==="projects"&&(Ma?_.jsx(eR,{snapshot:d,repo:Hr??"",isLoading:b,onBack:Gi}):_.jsx(sR,{snapshot:d,isLoading:b,onOpenRepo:Ra})),e==="agent"&&_.jsx(EE,{snapshot:ee,selectedSessionId:G,selectedSession:ae,events:D,createDraft:V,isLoading:ce,isMutating:se!==null,socketConnected:R,onSelectSession:N=>{I(N)},onCreateDraftChange:N=>{_e(ie=>({...ie,...N}))},onCreateSession:N=>{Mn(N)},onCloseSession:()=>{Ys()},onTerminalInput:ns,onTerminalResize:no}),e==="settings"&&_.jsxs("div",{className:"flex flex-col gap-5",children:[_.jsx(hw,{baseDailyBudgetUsd:o?.cost.dailyBudgetUsd??0,dailyBudgetOverrideUsd:o?.cost.dailyBudgetOverrideUsd??null,effectiveDailyBudgetUsd:o?.cost.effectiveDailyBudgetUsd??o?.cost.dailyBudgetUsd??0,todayCostUsd:o?.status.dailyCostUsd??0,activeOperation:se,dailyDraft:Ut,onDailyDraftChange:qi,onDailySubmit:N=>{io(N)},onDailyClear:()=>{ro()},issueDraft:Mt,repos:Ks,onIssueDraftChange:N=>{Qs(ie=>({...ie,...N}))},onIssueSubmit:N=>{uh(N)},onIssueClear:()=>{Rn()}}),_.jsx(CR,{settings:m?.settings??[],generatedAt:m?.generatedAt??null,isLoading:x,activeOperation:se,drafts:Rt,onDraftChange:(N,ie)=>{Te(Ce=>({...Ce,[N]:ie}))},onApply:N=>{Qi(N)},onClear:N=>{hh(N)}})]})]})]}),_.jsxs("div",{className:"flex flex-col items-center gap-2 pb-16 pt-1 md:pb-2",children:[_.jsx("button",{type:"button",className:"btn btn-outline btn-sm border-primary/55 bg-base-200/45 text-primary hover:bg-primary/15",onClick:()=>{window.location.reload()},children:"UI reload"}),_.jsx("span",{className:"text-[10px] text-base-content/50",children:Ca})]})]}),$s&&Rs&&_.jsx(OR,{status:Rs,serverUnreachable:Ql,elapsedSeconds:Re})]})}const QR=["issues","stats","projects","agent","settings"];function Gb(e){return QR.some(s=>s===e)}function JR(){return _.jsx(eb,{})}function e3(){const{page:e}=th({from:"/$page"});return _.jsx(Pc,{activePage:e})}function t3(){const{page:e,detailId:s}=th({from:"/$page/$detailId"});return e==="issues"?_.jsx(Pc,{activePage:"issues",issueDetailRunId:s}):e==="projects"?_.jsx(Pc,{activePage:"projects",projectDetailRepo:s}):_.jsx(Pc,{activePage:e})}const oh=Ix({component:JR}),s3=Xf({getParentRoute:()=>oh,path:"/",loader:()=>Pl({to:"/$page",params:{page:"issues"},replace:!0,throw:!0}),component:()=>null}),i3=Xf({getParentRoute:()=>oh,path:"$page",loader:({params:e})=>{if(!Gb(e.page))return Pl({to:"/$page",params:{page:"issues"},replace:!0,throw:!0})},component:e3}),r3=Xf({getParentRoute:()=>oh,path:"$page/$detailId",loader:({params:e})=>{if(!Gb(e.page))return Pl({to:"/$page",params:{page:"issues"},replace:!0,throw:!0});if(e.page!=="issues"&&e.page!=="projects")return Pl({to:"/$page",params:{page:e.page},replace:!0,throw:!0})},component:t3}),n3=oh.addChildren([s3,i3,r3]);function a3(){return typeof window>"u"?tx({initialEntries:["/issues"]}):H0()}function l3(e={}){return Qx({routeTree:n3,history:e.history??a3(),isServer:e.isServer})}const o3=l3(),Xb=document.getElementById("root");if(!Xb)throw new Error("Root container not found");u1.createRoot(Xb).render(_.jsx(ma.StrictMode,{children:_.jsx(tw,{router:o3})}));"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(()=>{})});
34
+ `;function LR({status:e,serverUnreachable:s=!1,elapsedSeconds:r}){const a=DR(e.installMethod);return _.jsxs("div",{"data-theme":"black",style:{position:"fixed",inset:0,zIndex:9999,display:"grid",placeItems:"center",backgroundColor:"rgba(0, 0, 0, 0.78)",backdropFilter:"blur(4px)",padding:"1rem"},role:"dialog","aria-modal":"true","aria-label":"Self update in progress",children:[_.jsx("style",{children:AR}),_.jsxs("section",{className:"w-full max-w-xl rounded-box border border-base-300/80 bg-base-100/95 p-5 shadow-2xl",children:[_.jsx("h2",{className:"text-lg font-semibold",children:"Applying self-update"}),(e.previousCommit||e.targetCommit)&&_.jsxs("p",{className:"mt-1 font-mono text-xs text-base-content/60",children:[e.previousCommit?.slice(0,8),e.targetCommit&&_.jsxs(_.Fragment,{children:[" → ",e.targetCommit.slice(0,8)]})]}),_.jsxs("div",{className:"mt-3 flex items-center gap-3 text-sm text-base-content/80",children:[_.jsx("span",{className:"loading loading-spinner loading-md text-info"}),_.jsxs("span",{children:["Update in progress",r!=null&&r>0&&_.jsxs(_.Fragment,{children:[" — ",BR(r)]})]})]}),_.jsx("ul",{className:"steps steps-vertical mt-4 w-full",children:a.map(o=>{const c=NR(o.id,e.state,a),d=c==="done"?"step step-success":c==="active"?"step step-info update-step-active":"step",p=c==="done"?"✓":c==="active"?"●":"○";return _.jsx("li",{className:d,"data-content":p,children:_.jsx("span",{className:c==="pending"?"text-base-content/50":void 0,children:o.label})},o.id)})}),s&&_.jsxs("div",{className:"mt-4 flex items-center gap-2 rounded border border-info/35 bg-info/10 p-2.5 text-xs text-info-content",children:[_.jsx("span",{className:"loading loading-dots loading-xs"}),_.jsx("span",{children:"Server is restarting — reconnecting automatically..."})]}),e.state==="rolling-back"&&_.jsx("div",{className:"mt-4 rounded border border-warning/35 bg-warning/10 p-2 text-xs text-warning-content",children:"Health checks failed. Rolling back to the previous known-good build."}),_.jsx("p",{className:"mt-4 text-xs text-base-content/70",children:"Dashboard controls are temporarily blocked. This page refreshes automatically after a healthy restart."})]})]})}function OR(e){return X0.createPortal(_.jsx(LR,{...e}),document.body)}function jR(e){if(!e||typeof e!="object")return null;const s=e.runId,r=e.events,a=e.lastEventId;return typeof s!="string"||!Array.isArray(r)||typeof a!="number"?null:{runId:s,events:r.filter(o=>!o||typeof o!="object"?!1:typeof o.id=="number"),lastEventId:a}}function zR(e,s){const r=new Set(e.map(o=>o.id)),a=[...e];for(const o of s)r.has(o.id)||(r.add(o.id),a.push(o));return a.sort((o,c)=>o.id-c.id),a}function HR(e){if(!e||typeof e!="object")return null;const s=e.sessionId,r=e.status,a=e.events,o=e.lastEventId;return typeof s!="string"||r!=="running"&&r!=="closed"||!Array.isArray(a)||typeof o!="number"?null:{sessionId:s,status:r,events:a.filter(c=>!c||typeof c!="object"?!1:typeof c.id=="number"),lastEventId:o}}function PR(e,s){const r=new Set(e.map(o=>o.id)),a=[...e];for(const o of s)r.has(o.id)||(r.add(o.id),a.push(o));return a.sort((o,c)=>o.id-c.id),a}const UR="Start self-update now? This pulls latest code, rebuilds, and restarts Night-Orch services.",IR="Start self-update now? This installs the latest version from npm and restarts Night-Orch services.";function qR(e,s="unknown"){return e(s==="npm"?IR:UR)}const FR=6e3;function WR(e){return{startedAtMs:e,sawActiveState:!1}}function Xc(){return{startedAtMs:null,sawActiveState:!1}}function Zc(e){return e!=null&&e.state!=="idle"&&e.state!=="failed"}function KR(e){return Zc(e)?e:null}function $R(e,s,r){return e.startedAtMs==null||e.sawActiveState?!0:s-e.startedAtMs>=r}function VR(e,s,r,a){return Zc(e)?{nextTransition:{startedAtMs:s.startedAtMs,sawActiveState:!0},nextStatus:e,errorMessage:null,shouldReload:!1}:$R(s,r,a)?e.state==="failed"?{nextTransition:Xc(),nextStatus:e,errorMessage:`Update failed: ${e.error??"unknown error"}`,shouldReload:!1}:{nextTransition:Xc(),nextStatus:e,errorMessage:null,shouldReload:e.state==="idle"}:{nextTransition:s,nextStatus:null,errorMessage:null,shouldReload:!1}}async function YR(e){const s=await e.fetchUpdateStatus();if(!s)return e.transition;const r=VR(s,e.transition,e.nowMs?e.nowMs():Date.now(),e.graceMs??FR);return r.nextStatus&&e.onStatus(r.nextStatus),r.errorMessage&&e.onError(r.errorMessage),r.shouldReload&&e.onReload(),r.nextTransition}const w0="x-night-orch-intent",C0="mutate",kc="x-night-orch-web-token",GR="0.6.1",XR=6e4;function E0(e){if(!e)return null;try{return decodeURIComponent(e)}catch{return e}}function ZR(e){return e===null?"null":typeof e=="boolean"?e?"true":"false":Array.isArray(e)||typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}function Pc({activePage:e,issueDetailRunId:s=null,projectDetailRepo:r=null}){const a=Gf(),[o,c]=A.useState(null),[d,p]=A.useState(null),[m,f]=A.useState(null),[S,v]=A.useState(!0),[b,y]=A.useState(!0),[x,C]=A.useState(!0),[R,E]=A.useState(!1),[K,W]=A.useState("all"),[z,U]=A.useState(""),[Q,F]=A.useState([]),[ee,H]=A.useState(null),[ce,ne]=A.useState(!1),[G,I]=A.useState(""),[ae,te]=A.useState(null),[D,q]=A.useState([]),[V,_e]=A.useState({cwd:""}),[ge,M]=A.useState(null),[$,re]=A.useState(null),[se,ue]=A.useState(null),[pe,Se]=A.useState(!1),[be,Be]=A.useState(null),[Xe,Pt]=A.useState(!0),[Rt,Te]=A.useState({}),[Ut,qi]=A.useState(""),[Mt,Qs]=A.useState({repo:"",issueNumber:"",amount:""}),[Es,Qt]=A.useState(""),[Rs,Ms]=A.useState(null),[Or,Sn]=A.useState(null),[Re,kt]=A.useState(0),lt=A.useRef(null),Fi=A.useRef(null),Wi=A.useRef(""),jr=A.useRef(""),yn=A.useRef(""),xa=A.useRef(""),ui=A.useRef(Xc()),Ki=A.useRef(Date.now()),$t=A.useRef(Xe),Ws=A.useRef(se),Vt=A.useRef(be),Ks=o?.config.repos??[],zr=o?.runs.runs??[],xn=o?.stats.overview.runningRuns??0,$i=o?.stats.overview.queuedRuns??0,$s=Zc(Rs),wn=A.useMemo(()=>K==="all"?zr:zr.filter(N=>N.repo===K),[zr,K]),Yt=A.useMemo(()=>E0(s),[s]),Hr=A.useMemo(()=>E0(r),[r]),di=A.useMemo(()=>Yt?zr.find(N=>N.runId===Yt)??null:null,[zr,Yt]),fi=di?.hasRun?di.runId:"",wa=A.useMemo(()=>$s?{label:`updating ${Rs?.state??"starting"}`,toneClass:"badge-warning"}:R?xn>0?{label:"processing",toneClass:"badge-success"}:$i>0?{label:"queued",toneClass:"badge-info"}:{label:"idle",toneClass:"badge-neutral"}:{label:"reconnecting",toneClass:"badge-error"},[$i,xn,R,$s,Rs?.state]),Ca=A.useMemo(()=>{const N=o?.build?.version??GR,ie=o?.build?.gitSha;return o?.build?.installMethod==="git"&&ie?`v${N} · ${ie.slice(0,8)}`:`v${N}`},[o?.build]),ks=A.useCallback(async()=>{const N=await fetch("/api/dashboard");if(!N.ok)throw new Error(`Failed to load dashboard (${N.status})`);const ie=await N.json();c(ie)},[]),Vi=A.useCallback(async()=>{const N=await fetch("/api/update-status");return N.ok?await N.json():null},[]),Ea=A.useCallback(async()=>{const N=await fetch("/api/session");if(!N.ok)throw new Error(`Failed to initialize web session (${N.status})`);const ie=await N.json();if(!ie.mutationToken)throw new Error("Missing mutation token in session response");Be(ie.mutationToken),Pt(ie.operationsEnabled??!0)},[]),Pr=A.useCallback(async()=>{const N=await fetch("/api/projects");if(!N.ok)throw new Error(`Failed to load projects (${N.status})`);const ie=await N.json();p(ie)},[]),_i=A.useCallback(async()=>{const N=await fetch("/api/settings");if(!N.ok)throw new Error(`Failed to load settings (${N.status})`);const ie=await N.json();f(ie),Te(Object.fromEntries(ie.settings.map(Ce=>[Ce.key,ZR(Ce.effectiveValue)])))},[]),Ts=A.useCallback(async()=>{if(!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");const N=await fetch("/api/shell/sessions",{headers:{[kc]:be}});if(!N.ok)throw new Error(`Failed to load shell sessions (${N.status})`);const ie=await N.json();H(ie)},[be]),Yi=A.useCallback(async N=>{if(!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");if(!N){te(null);return}const ie=await fetch(`/api/shell/sessions/${encodeURIComponent(N)}`,{headers:{[kc]:be}});if(ie.status===404){te(null);return}if(!ie.ok)throw new Error(`Failed to load shell session (${ie.status})`);const Ce=await ie.json();if(!Ce.session)throw new Error("Malformed shell session response");te(Ce.session)},[be]);A.useEffect(()=>{(async()=>{try{v(!0),y(!0),C(!0),await Promise.all([ks(),Ea(),Pr(),_i()])}catch(N){M(N.message)}finally{v(!1),y(!1),C(!1)}})()},[ks,Pr,Ea,_i]),A.useEffect(()=>{let N=!1;return(async()=>{try{const ie=await Vi();if(!ie||N)return;Zc(ie)?ui.current={startedAtMs:null,sawActiveState:!0}:ui.current=Xc(),Ms(ie)}catch{}})(),()=>{N=!0}},[Vi]),A.useEffect(()=>{if(Ks.length===0){Qt("");return}Qt(N=>N&&Ks.includes(N)?N:Ks[0]??""),W(N=>N==="all"||Ks.includes(N)?N:"all")},[Ks]),A.useEffect(()=>{$t.current=Xe},[Xe]),A.useEffect(()=>{Ws.current=se},[se]),A.useEffect(()=>{Vt.current=be},[be]),A.useEffect(()=>{Yt&&U(Yt)},[Yt]),A.useEffect(()=>{if(e!=="agent"||!be)return;let N=!1;return ne(!0),M(null),(async()=>{try{await Ts()}catch(ie){N||M(ie.message)}finally{N||ne(!1)}})(),()=>{N=!0}},[e,Ts,be]),A.useEffect(()=>{if(e!=="agent")return;const N=ee?.sessions??[];I(ie=>ie&&N.some(Ce=>Ce.id===ie)?ie:N[0]?.id??"")},[e,ee]),A.useEffect(()=>{if(e!=="agent"||!be)return;let N=!1;return(async()=>{try{await Yi(G)}catch(ie){N||M(ie.message)}})(),()=>{N=!0}},[e,Yi,G,be]),A.useEffect(()=>{let N=!1;const ie=()=>{const Ce=window.location.protocol==="https:"?"wss":"ws",Ie=be?`?token=${encodeURIComponent(be)}`:"",Oe=new WebSocket(`${Ce}://${window.location.host}/ws${Ie}`);lt.current=Oe,Oe.onopen=()=>{if(N)return;E(!0),Oe.send(JSON.stringify({type:"refresh"}));const Ze=Wi.current;Ze&&Oe.send(JSON.stringify({type:"subscribe-run-events",runId:Ze,since:0}));const qe=jr.current;qe&&Oe.send(JSON.stringify({type:"subscribe-shell-session-events",sessionId:qe,since:0}))},Oe.onmessage=Ze=>{try{const qe=JSON.parse(Ze.data);if(qe.type==="snapshot"&&qe.payload){c(qe.payload);return}if(qe.type==="run-events"&&qe.payload){const _t=jR(qe.payload);if(!_t||_t.runId!==Wi.current)return;F(pt=>zR(pt,_t.events));return}if(qe.type==="shell-session-events"&&qe.payload){const _t=HR(qe.payload);if(!_t||(H(pt=>pt&&{...pt,sessions:pt.sessions.map(kn=>kn.id===_t.sessionId?{...kn,status:_t.status}:kn)}),_t.sessionId!==jr.current))return;q(pt=>PR(pt,_t.events)),te(pt=>pt&&pt.id===_t.sessionId?{...pt,status:_t.status}:pt);return}qe.type==="error"&&qe.error&&re(qe.error)}catch{}},Oe.onclose=()=>{lt.current===Oe&&(lt.current=null),E(!1),!N&&(Fi.current=window.setTimeout(ie,2e3))},Oe.onerror=()=>{Oe.close()}};return ie(),()=>{N=!0,Fi.current!==null&&window.clearTimeout(Fi.current),lt.current?.close(),lt.current=null}},[be]),A.useEffect(()=>{Wi.current=fi,F([]);const N=lt.current;if(!N||N.readyState!==WebSocket.OPEN){yn.current=fi;return}const ie=yn.current;ie&&ie!==fi&&N.send(JSON.stringify({type:"unsubscribe-run-events",runId:ie})),fi&&N.send(JSON.stringify({type:"subscribe-run-events",runId:fi,since:0})),yn.current=fi},[fi,R]),A.useEffect(()=>{jr.current=G,q([]);const N=lt.current;if(!N||N.readyState!==WebSocket.OPEN){xa.current=G;return}const ie=xa.current;ie&&ie!==G&&N.send(JSON.stringify({type:"unsubscribe-shell-session-events",sessionId:ie})),G&&N.send(JSON.stringify({type:"subscribe-shell-session-events",sessionId:G,since:0})),xa.current=G},[G,R]);const[Ql,Cn]=A.useState(!1);A.useEffect(()=>{if(!$s)return;let N=!1,ie=0;const Ce=async()=>{try{const Oe=await YR({fetchUpdateStatus:Vi,transition:ui.current,onStatus:Ze=>{N||(ie=0,Cn(!1),Ms(Ze))},onError:Ze=>{N||(ie=0,Cn(!1),M(Ze))},onReload:()=>{N||window.location.reload()}});N||(ui.current=Oe)}catch{ie++,!N&&ie>=2&&(Cn(!0),Ms(Oe=>{if(!Oe)return Oe;const Ze=Oe.installMethod==="npm"?TR:kR,qe=Ze.indexOf(Oe.state);if(qe<0||qe>=Ze.length-1)return Oe;if(ie*2>=4*(qe+1)){const pt=Ze[qe+1];if(pt)return{...Oe,state:pt}}return Oe}))}};Ce();const Ie=window.setInterval(()=>{Ce()},2e3);return()=>{N=!0,window.clearInterval(Ie)}},[Vi,$s]),A.useEffect(()=>{if(!Or)return;const N=window.setInterval(()=>{kt(Math.floor((Date.now()-Or)/1e3))},1e3);return()=>window.clearInterval(N)},[Or]);const ze=A.useCallback(async(N,ie,Ce,Ie,Oe)=>{try{if(ue(N),M(null),!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");if(!Xe)throw new Error("Web operations are disabled by server policy.");const Ze=await fetch(ie,{method:"POST",headers:{"Content-Type":"application/json",[w0]:C0,[kc]:be},body:JSON.stringify(Ce)}),qe=await Ze.json();if(!Ze.ok){const pt=typeof qe.error=="string"?qe.error:`Operation failed (${Ze.status})`;throw new Error(pt)}const _t=lw(qe)??Ie;return re(_t),(Oe?.refreshAfterSuccess??!0)&&await Promise.all([ks(),_i()]),!0}catch(Ze){return M(Ze.message),!1}finally{ue(null)}},[ks,_i,Xe,be]),ot=A.useCallback(async(N,ie,Ce,Ie="POST")=>{try{if(ue(N),M(null),!be)throw new Error("Web session is not initialized yet. Refresh the page and try again.");if(!Xe)throw new Error("Web operations are disabled by server policy.");const Oe=await fetch(ie,{method:Ie,headers:{"Content-Type":"application/json",[w0]:C0,[kc]:be},body:Ie==="DELETE"?void 0:JSON.stringify(Ce)}),Ze=await Oe.json();if(!Oe.ok){const qe=typeof Ze.error=="string"?Ze.error:`Operation failed (${Oe.status})`;throw new Error(qe)}return Ze}catch(Oe){return M(Oe.message),null}finally{ue(null)}},[Xe,be]),Gt=A.useCallback(async()=>{try{Se(!0),M(null);const N=[ks(),Pr(),_i()];e==="agent"&&N.push(Ts()),await Promise.all(N),lt.current?.readyState===WebSocket.OPEN&&lt.current.send(JSON.stringify({type:"refresh"}))}catch(N){M(N.message)}finally{Se(!1)}},[e,ks,Pr,_i,Ts]),Vs=A.useCallback(()=>{Ki.current=Date.now(),ze("poll","/api/operations/poll",{},"Manual poll requested")},[ze]);A.useEffect(()=>{const N=()=>{if(document.visibilityState!=="visible")return;const ie=Date.now()-Ki.current>=XR,Ce=$t.current&&Ws.current===null&&Vt.current!==null;ie&&Ce&&Vs()};return document.addEventListener("visibilitychange",N),()=>{document.removeEventListener("visibilitychange",N)}},[Vs]);const En=A.useCallback(()=>{ze("sync","/api/operations/sync",{},"Sync completed")},[ze]),ch=A.useCallback(()=>{ze("cleanup","/api/operations/cleanup",{},"Cleanup completed")},[ze]),Jl=A.useCallback(N=>{a({to:"/$page",params:{page:N}})},[a]),eo=A.useCallback(N=>{U(N),a({to:"/$page/$detailId",params:{page:"issues",detailId:N}})},[a]),Ur=A.useCallback(()=>{a({to:"/$page",params:{page:"issues"}})},[a]),Ra=A.useCallback(N=>{a({to:"/$page/$detailId",params:{page:"projects",detailId:N}})},[a]),Gi=A.useCallback(()=>{a({to:"/$page",params:{page:"projects"}})},[a]),Xi=A.useCallback(async()=>{const N=o?.build?.installMethod;if(!(!qR(Ie=>window.confirm(Ie),N==="git"||N==="npm"?N:"unknown")||!await ze("update","/api/operations/update",{},"Update initiated - pulling and rebuilding...",{refreshAfterSuccess:!1}))){ui.current=WR(Date.now()),Ms({state:"draining",installMethod:N==="git"||N==="npm"?N:void 0}),Sn(Date.now()),kt(0);try{const Ie=await Vi();if(!Ie)return;const Oe=KR(Ie);Oe&&(ui.current={startedAtMs:ui.current.startedAtMs,sawActiveState:!0},Ms(Oe))}catch{}}},[Vi,ze]),rs=A.useCallback(async(N,ie)=>{window.confirm(ie.confirmMessage)&&await ze(ie.operationName,ie.endpoint,{repo:N.repo,issueNumber:N.issue,...ie.payload},ie.fallbackMessage)},[ze]),Zi=A.useCallback(N=>{rs(N,{operationName:"retry",endpoint:"/api/operations/retry",confirmMessage:`Queue retry for ${N.repo}#${N.issue}?`,fallbackMessage:`Retry queued for ${N.repo}#${N.issue}`,payload:{resetPlan:!1,fresh:!1}})},[rs]),bt=A.useCallback(N=>{rs(N,{operationName:"rebase",endpoint:"/api/operations/rebase",confirmMessage:`Queue rebase for ${N.repo}#${N.issue}?`,fallbackMessage:`Rebase queued for ${N.repo}#${N.issue}`})},[rs]),to=A.useCallback(N=>{rs(N,{operationName:"continue",endpoint:"/api/operations/continue",confirmMessage:`Queue continue pass for ${N.repo}#${N.issue}?`,fallbackMessage:`Continue pass queued for ${N.repo}#${N.issue}`})},[rs]),so=A.useCallback((N,ie)=>{rs(N,{operationName:"delete-entry",endpoint:"/api/operations/delete-entry",confirmMessage:ie?`Force delete local entry for ${N.repo}#${N.issue}? This can remove run-local state while shared issue state is still active elsewhere.`:`Delete local entry for ${N.repo}#${N.issue}?`,fallbackMessage:ie?`Force-deleted local entry for ${N.repo}#${N.issue}`:`Deleted local entry for ${N.repo}#${N.issue}`,payload:{force:ie}})},[rs]),pi=A.useCallback(async N=>{if(N.preventDefault(),!Es){M("Labels init requires a repo");return}await ze("labels-init","/api/operations/labels-init",{repo:Es},`Labels initialized for ${Es}`)},[Es,ze]),Qi=A.useCallback(async N=>{const ie=Rt[N];if(ie===void 0){M(`No draft value found for ${N}`);return}await ze(`setting:set:${N}`,"/api/operations/settings/set",{key:N,value:ie},`Updated ${N}`)},[ze,Rt]),hh=A.useCallback(async N=>{await ze(`setting:clear:${N}`,"/api/operations/settings/clear",{key:N},`Cleared override for ${N}`)},[ze]),io=A.useCallback(async N=>{N.preventDefault();const ie=Number.parseFloat(Ut);if(!Number.isFinite(ie)||ie<=0){M("Daily override requires a positive number (USD)");return}await ze("daily-cost-override:set","/api/operations/daily-cost-override/set",{amountUsd:ie},`Raised today's daily cap to $${ie.toFixed(2)}`)},[Ut,ze]),ro=A.useCallback(async()=>{await ze("daily-cost-override:clear","/api/operations/daily-cost-override/clear",{},"Cleared today's daily cap override")},[ze]),uh=A.useCallback(async N=>{N.preventDefault();const ie=Number.parseInt(Mt.issueNumber,10),Ce=Number.parseFloat(Mt.amount);if(!Mt.repo||!Number.isFinite(ie)||ie<=0){M("Per-issue override requires a repo and a positive issue number");return}if(!Number.isFinite(Ce)||Ce<=0){M("Per-issue override requires a positive amount (USD)");return}await ze("cost-override:set","/api/operations/cost-override/set",{repo:Mt.repo,issueNumber:ie,amountUsd:Ce},`Set cost override for ${Mt.repo}#${ie} to $${Ce.toFixed(2)}`)},[Mt,ze]),Rn=A.useCallback(async()=>{const N=Number.parseInt(Mt.issueNumber,10);if(!Mt.repo||!Number.isFinite(N)||N<=0){M("Clearing a per-issue override requires a repo and a positive issue number");return}await ze("cost-override:clear","/api/operations/cost-override/clear",{repo:Mt.repo,issueNumber:N},`Cleared cost override for ${Mt.repo}#${N}`)},[Mt,ze]),Mn=A.useCallback(async N=>{N.preventDefault();const ie=await ot("shell:create-session","/api/shell/sessions",{cwd:V.cwd.trim()||void 0});if(!ie)return;const Ce=ie.session;await Ts(),Ce?.id&&(I(Ce.id),te(Ce),q([]),re(`Created shell session in ${Ce.cwd}`))},[Ts,ot,V.cwd]),Ys=A.useCallback(async()=>{!G||!await ot("shell:close-session",`/api/shell/sessions/${encodeURIComponent(G)}`,{},"DELETE")||(await Ts(),await Yi(G),re("Shell session closed"))},[Yi,Ts,ot,G]),ns=A.useCallback(N=>{const ie=jr.current;if(!ie)return;const Ce=lt.current;!Ce||Ce.readyState!==WebSocket.OPEN||Ce.send(JSON.stringify({type:"shell-input",sessionId:ie,data:N}))},[]),no=A.useCallback((N,ie)=>{const Ce=jr.current;if(!Ce)return;const Ie=lt.current;!Ie||Ie.readyState!==WebSocket.OPEN||Ie.send(JSON.stringify({type:"shell-resize",sessionId:Ce,cols:N,rows:ie}))},[]),dh=e==="issues"&&Yt!==null,Ma=e==="projects"&&Hr!==null;return _.jsxs("main",{"data-theme":"black",className:"min-h-screen bg-orch-admin",children:[_.jsx(ME,{currentStateLabel:wa.label,currentStateToneClass:wa.toneClass,isWorking:xn>0||se!==null||$s,socketConnected:R,lastRefreshAt:o?.generatedAt??null,pollIntervalSeconds:o?.config.pollIntervalSeconds??null,reposCount:Ks.length,activeRuns:o?.status.activeRuns??0,runningRuns:xn,queuedRuns:$i,operationsEnabled:Xe,activeOperation:se,isRefreshing:pe,onRefresh:()=>{Gt()},onPoll:Vs,onSync:En,onGoToSettings:()=>{Jl("settings")}}),_.jsxs("div",{className:"mx-auto flex w-full max-w-[1550px] flex-col gap-5 px-4 pb-24 pt-5 sm:px-6 md:pb-6 lg:px-8",children:[ge&&_.jsx("div",{className:"alert alert-error shadow-sm",children:_.jsx("span",{children:ge})}),$&&_.jsx("div",{className:"alert alert-info shadow-sm",children:_.jsx("span",{children:$})}),_.jsxs("div",{className:"grid gap-5 md:grid-cols-[auto_minmax(0,1fr)] md:items-stretch md:gap-0",children:[_.jsx(OE,{activePage:e,onPageChange:Jl}),_.jsxs("div",{className:"flex min-w-0 flex-col gap-5 md:pl-6",children:[e==="issues"&&(dh?_.jsx(qE,{run:di,runId:Yt??"",runEvents:Q,operationsEnabled:Xe,activeOperation:se,onRetry:Zi,onRebase:bt,onContinue:to,onDeleteEntry:so,onBack:Ur}):_.jsxs("div",{className:"flex flex-col gap-5",children:[_.jsx(If,{snapshot:o}),_.jsxs("section",{className:"grid gap-5 xl:grid-cols-[1.65fr_1fr]",children:[_.jsx(fR,{isLoading:S,repos:Ks,selectedRepo:K,onSelectedRepoChange:W,filteredRuns:wn,selectedRunId:z,onOpenRun:eo,statusTone:iR}),_.jsx(WE,{operationsEnabled:Xe,activeOperation:se,updateStatus:Rs,installMethod:o?.build?.installMethod,repos:Ks,labelsInitForm:{repo:Es},onLabelsInitFormChange:N=>{N.repo!==void 0&&Qt(N.repo)},onPoll:Vs,onSync:En,onCleanup:ch,onLabelsInitSubmit:N=>{pi(N)},onUpdate:()=>{Xi()}})]})]})),e==="stats"&&_.jsx(MR,{snapshot:o,socketConnected:R}),e==="projects"&&(Ma?_.jsx(eR,{snapshot:d,repo:Hr??"",isLoading:b,onBack:Gi}):_.jsx(sR,{snapshot:d,isLoading:b,onOpenRepo:Ra})),e==="agent"&&_.jsx(EE,{snapshot:ee,selectedSessionId:G,selectedSession:ae,events:D,createDraft:V,isLoading:ce,isMutating:se!==null,socketConnected:R,onSelectSession:N=>{I(N)},onCreateDraftChange:N=>{_e(ie=>({...ie,...N}))},onCreateSession:N=>{Mn(N)},onCloseSession:()=>{Ys()},onTerminalInput:ns,onTerminalResize:no}),e==="settings"&&_.jsxs("div",{className:"flex flex-col gap-5",children:[_.jsx(hw,{baseDailyBudgetUsd:o?.cost.dailyBudgetUsd??0,dailyBudgetOverrideUsd:o?.cost.dailyBudgetOverrideUsd??null,effectiveDailyBudgetUsd:o?.cost.effectiveDailyBudgetUsd??o?.cost.dailyBudgetUsd??0,todayCostUsd:o?.status.dailyCostUsd??0,activeOperation:se,dailyDraft:Ut,onDailyDraftChange:qi,onDailySubmit:N=>{io(N)},onDailyClear:()=>{ro()},issueDraft:Mt,repos:Ks,onIssueDraftChange:N=>{Qs(ie=>({...ie,...N}))},onIssueSubmit:N=>{uh(N)},onIssueClear:()=>{Rn()}}),_.jsx(CR,{settings:m?.settings??[],generatedAt:m?.generatedAt??null,isLoading:x,activeOperation:se,drafts:Rt,onDraftChange:(N,ie)=>{Te(Ce=>({...Ce,[N]:ie}))},onApply:N=>{Qi(N)},onClear:N=>{hh(N)}})]})]})]}),_.jsxs("div",{className:"flex flex-col items-center gap-2 pb-16 pt-1 md:pb-2",children:[_.jsx("button",{type:"button",className:"btn btn-outline btn-sm border-primary/55 bg-base-200/45 text-primary hover:bg-primary/15",onClick:()=>{window.location.reload()},children:"UI reload"}),_.jsx("span",{className:"text-[10px] text-base-content/50",children:Ca})]})]}),$s&&Rs&&_.jsx(OR,{status:Rs,serverUnreachable:Ql,elapsedSeconds:Re})]})}const QR=["issues","stats","projects","agent","settings"];function Gb(e){return QR.some(s=>s===e)}function JR(){return _.jsx(eb,{})}function e3(){const{page:e}=th({from:"/$page"});return _.jsx(Pc,{activePage:e})}function t3(){const{page:e,detailId:s}=th({from:"/$page/$detailId"});return e==="issues"?_.jsx(Pc,{activePage:"issues",issueDetailRunId:s}):e==="projects"?_.jsx(Pc,{activePage:"projects",projectDetailRepo:s}):_.jsx(Pc,{activePage:e})}const oh=Ix({component:JR}),s3=Xf({getParentRoute:()=>oh,path:"/",loader:()=>Pl({to:"/$page",params:{page:"issues"},replace:!0,throw:!0}),component:()=>null}),i3=Xf({getParentRoute:()=>oh,path:"$page",loader:({params:e})=>{if(!Gb(e.page))return Pl({to:"/$page",params:{page:"issues"},replace:!0,throw:!0})},component:e3}),r3=Xf({getParentRoute:()=>oh,path:"$page/$detailId",loader:({params:e})=>{if(!Gb(e.page))return Pl({to:"/$page",params:{page:"issues"},replace:!0,throw:!0});if(e.page!=="issues"&&e.page!=="projects")return Pl({to:"/$page",params:{page:e.page},replace:!0,throw:!0})},component:t3}),n3=oh.addChildren([s3,i3,r3]);function a3(){return typeof window>"u"?tx({initialEntries:["/issues"]}):H0()}function l3(e={}){return Qx({routeTree:n3,history:e.history??a3(),isServer:e.isServer})}const o3=l3(),Xb=document.getElementById("root");if(!Xb)throw new Error("Root container not found");u1.createRoot(Xb).render(_.jsx(ma.StrictMode,{children:_.jsx(tw,{router:o3})}));"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(()=>{})});
@@ -13,7 +13,7 @@
13
13
  rel="stylesheet"
14
14
  />
15
15
  <title>night-orch web</title>
16
- <script type="module" crossorigin src="/assets/index-x5Hkc8wn.js"></script>
16
+ <script type="module" crossorigin src="/assets/index-B3_MiG8U.js"></script>
17
17
  <link rel="stylesheet" crossorigin href="/assets/index-Csbu-XE-.css">
18
18
  </head>
19
19
  <body>