@coreplane/switchboard 1.245.0 → 1.246.0

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 (123) hide show
  1. package/dist/assets/deploy/cloudflare-resident/worker.ts +9 -10
  2. package/dist/assets/deploy/cloudflare-sandbox/worker.ts +17 -1
  3. package/dist/assets/package-lock.json +3 -3
  4. package/dist/assets/package.json +1 -1
  5. package/dist/assets/source.json +3 -3
  6. package/dist/assets/src/agents/registry.ts +31 -7
  7. package/dist/assets/src/core/budgets.ts +18 -0
  8. package/dist/assets/src/core/coordinator/contract.ts +29 -4
  9. package/dist/assets/src/core/coordinator/driver.ts +7 -1
  10. package/dist/assets/src/core/reviewVerdict.ts +138 -6
  11. package/dist/assets/src/core/runEvents.ts +29 -1
  12. package/dist/assets/src/core/runRecord.ts +38 -16
  13. package/dist/assets/src/core/ship/coordinator.ts +23 -2
  14. package/dist/assets/src/core/ship/renewal.ts +10 -3
  15. package/dist/assets/src/execution/bashTimeout.ts +46 -2
  16. package/dist/assets/src/execution/residentRefresh.ts +9 -5
  17. package/dist/assets/src/execution/sandboxErrors.ts +9 -4
  18. package/dist/assets/web/dist/.vite/manifest.json +468 -468
  19. package/dist/assets/web/dist/assets/{AppShell-qqs_p96-.js → AppShell-B4EUiSwP.js} +1 -1
  20. package/dist/assets/web/dist/assets/{CostsPage-Dd9aXxxI.js → CostsPage-D8VjAtuH.js} +1 -1
  21. package/dist/assets/web/dist/assets/DeliveryPage-DpQi5XUI.js +1 -0
  22. package/dist/assets/web/dist/assets/{HomePage-VLTFopnl.js → HomePage-CvKuIGqg.js} +1 -1
  23. package/dist/assets/web/dist/assets/{InputMenu-lQP3ia9D.js → InputMenu-DmqAxkn4.js} +1 -1
  24. package/dist/assets/web/dist/assets/{NotFoundPage-8ViskpN3.js → NotFoundPage-DDogyiXA.js} +1 -1
  25. package/dist/assets/web/dist/assets/{PendingTurnRow-D2gHef5v.js → PendingTurnRow-BoSLlR6j.js} +1 -1
  26. package/dist/assets/web/dist/assets/{ResidentDetailPage-nWLN8BOd.js → ResidentDetailPage-CiBdbzkE.js} +1 -1
  27. package/dist/assets/web/dist/assets/{ResidentsIndexPage-D3Q48CJW.js → ResidentsIndexPage-DgtHtd9K.js} +1 -1
  28. package/dist/assets/web/dist/assets/{RunFoldRow-CHy_IfZG.js → RunFoldRow-IF4xbz-3.js} +1 -1
  29. package/dist/assets/web/dist/assets/{RunRoutePage-C6kX5om4.js → RunRoutePage-DHYa7rHK.js} +3 -3
  30. package/dist/assets/web/dist/assets/RunsIndexPage-aWhNTv8r.js +1 -0
  31. package/dist/assets/web/dist/assets/{RunsTabs-WyeG5tKb.js → RunsTabs-CY_tdGTU.js} +1 -1
  32. package/dist/assets/web/dist/assets/{ScheduledPage-B8D5AU4d.js → ScheduledPage-gPEBZjcx.js} +1 -1
  33. package/dist/assets/web/dist/assets/{SettingSelect-UTHsqUUS.js → SettingSelect-VDanrTZi.js} +1 -1
  34. package/dist/assets/web/dist/assets/{SettingsPage-BoW7Zjzt.js → SettingsPage-CFoltSRD.js} +1 -1
  35. package/dist/assets/web/dist/assets/{StatusDot-BGHureCJ.js → StatusDot-DA3eTVrT.js} +1 -1
  36. package/dist/assets/web/dist/assets/{Tooltip-CiP8qPd7.js → Tooltip-BgbCkM12.js} +1 -1
  37. package/dist/assets/web/dist/assets/{UnitRoutePage-2zEeRBP1.js → UnitRoutePage-DibegaJJ.js} +1 -1
  38. package/dist/assets/web/dist/assets/{angular-html-qXhb9ti8.js → angular-html-D_3slZqf.js} +1 -1
  39. package/dist/assets/web/dist/assets/{angular-ts-DzvdyoUZ.js → angular-ts-D1Fv2cpN.js} +1 -1
  40. package/dist/assets/web/dist/assets/{apl-Ck7Ru2Sm.js → apl-60Nm_trN.js} +1 -1
  41. package/dist/assets/web/dist/assets/{astro-CwehvReb.js → astro-CvyaM3Q9.js} +1 -1
  42. package/dist/assets/web/dist/assets/{blade-WSyVbSFK.js → blade-yan3VBls.js} +1 -1
  43. package/dist/assets/web/dist/assets/{c-DMHI1wDz.js → c-Ddgepap2.js} +1 -1
  44. package/dist/assets/web/dist/assets/{chapel-BF8AYK8_.js → chapel-CgNY6dxC.js} +1 -1
  45. package/dist/assets/web/dist/assets/{cobol-UAfImuWu.js → cobol-C7q82cdP.js} +1 -1
  46. package/dist/assets/web/dist/assets/{coffee-D54hi96d.js → coffee-DgRMF_ni.js} +1 -1
  47. package/dist/assets/web/dist/assets/{cpp-BRWfLgBc.js → cpp-B8Lf-aeo.js} +1 -1
  48. package/dist/assets/web/dist/assets/{crystal-CSqC5deT.js → crystal-CkA_dhEO.js} +1 -1
  49. package/dist/assets/web/dist/assets/{css-D4ZuRFGk.js → css-Cyu-C_oA.js} +1 -1
  50. package/dist/assets/web/dist/assets/{dist-73ZMn_Mg.js → dist-DS-gMjLZ.js} +2 -2
  51. package/dist/assets/web/dist/assets/{durationTone-D51enaGR.js → durationTone-l6aVrHb8.js} +1 -1
  52. package/dist/assets/web/dist/assets/{edge-DDPtNbZc.js → edge-BxV3rKNI.js} +1 -1
  53. package/dist/assets/web/dist/assets/{elixir-BTQkQfsJ.js → elixir-pNSEK39d.js} +1 -1
  54. package/dist/assets/web/dist/assets/{elm-B_PkLzGZ.js → elm-zgwWE33W.js} +1 -1
  55. package/dist/assets/web/dist/assets/{erb-DfjIMVM_.js → erb-yzcYAHp_.js} +1 -1
  56. package/dist/assets/web/dist/assets/{eventSource-By0B_w4S.js → eventSource-Ce94ho6M.js} +1 -1
  57. package/dist/assets/web/dist/assets/{git-rebase-DP8wmn7K.js → git-rebase-Dg7Ous1-.js} +1 -1
  58. package/dist/assets/web/dist/assets/{glimmer-js-G12VK2gK.js → glimmer-js-CbZEwX27.js} +1 -1
  59. package/dist/assets/web/dist/assets/{glimmer-ts-D3XiSI8E.js → glimmer-ts-D3NIqALy.js} +1 -1
  60. package/dist/assets/web/dist/assets/{glsl-DOKAhMj-.js → glsl-y4-3WrI2.js} +1 -1
  61. package/dist/assets/web/dist/assets/{graphql-CJB_fmON.js → graphql-D5d0al7K.js} +1 -1
  62. package/dist/assets/web/dist/assets/{hack-BHqtRWap.js → hack-D8fD6kEl.js} +1 -1
  63. package/dist/assets/web/dist/assets/{haml-DwotyarS.js → haml-BWeFFc-V.js} +1 -1
  64. package/dist/assets/web/dist/assets/{handlebars-B6fDaA3U.js → handlebars-gIm5FeE_.js} +1 -1
  65. package/dist/assets/web/dist/assets/{html-derivative-C5bpQmmI.js → html-derivative-B3ySSBrQ.js} +1 -1
  66. package/dist/assets/web/dist/assets/{html-s52taj36.js → html-fXJTVLSM.js} +1 -1
  67. package/dist/assets/web/dist/assets/{http-99zC935r.js → http-DrJfQUmw.js} +1 -1
  68. package/dist/assets/web/dist/assets/{hurl-Bgk-4-0x.js → hurl-Bvbnsf55.js} +1 -1
  69. package/dist/assets/web/dist/assets/{java-CuV_c5I0.js → java-CUSpb-i-.js} +1 -1
  70. package/dist/assets/web/dist/assets/{javascript-CZlOvSMQ.js → javascript-BWRH5fbY.js} +1 -1
  71. package/dist/assets/web/dist/assets/{jinja-BuXeZ4Tu.js → jinja-D3Ymci8y.js} +1 -1
  72. package/dist/assets/web/dist/assets/{jison-DIuP0hkG.js → jison-Gt9SO7ZC.js} +1 -1
  73. package/dist/assets/web/dist/assets/{json-CZ74vfoD.js → json-Cfcblhgn.js} +1 -1
  74. package/dist/assets/web/dist/assets/{jsx-BNjRs8Vj.js → jsx-C0366fFM.js} +1 -1
  75. package/dist/assets/web/dist/assets/{julia-OCE-fFOg.js → julia-CyBOTbxS.js} +1 -1
  76. package/dist/assets/web/dist/assets/{just-CtvD87WF.js → just-FPXZcIOd.js} +1 -1
  77. package/dist/assets/web/dist/assets/{latex-C3kf86OR.js → latex-Bd-c88v0.js} +1 -1
  78. package/dist/assets/web/dist/assets/{liquid-B1WI--Kp.js → liquid-5tu9Hc0k.js} +1 -1
  79. package/dist/assets/web/dist/assets/{lua-DtoT0gKg.js → lua-BZ5fdPP8.js} +1 -1
  80. package/dist/assets/web/dist/assets/{main-ClluP-Qf.js → main-B4A6x82d.js} +3 -3
  81. package/dist/assets/web/dist/assets/{marko-BE2MC6Yt.js → marko-C_mmj4p0.js} +1 -1
  82. package/dist/assets/web/dist/assets/{mdc-BwO4weXJ.js → mdc-CtaNqWjY.js} +1 -1
  83. package/dist/assets/web/dist/assets/{nginx-BTuOgGVC.js → nginx-Ddm5Mb8J.js} +1 -1
  84. package/dist/assets/web/dist/assets/{nim-CiIUM-oV.js → nim-COhfroYB.js} +1 -1
  85. package/dist/assets/web/dist/assets/{org-L78DEWB-.js → org-CCHFgmTb.js} +1 -1
  86. package/dist/assets/web/dist/assets/{perl-KqHOm4Ft.js → perl-CXzOE-Z-.js} +1 -1
  87. package/dist/assets/web/dist/assets/{php-C41XbEkn.js → php-1V6jAIhU.js} +1 -1
  88. package/dist/assets/web/dist/assets/{pug-B12-4i-k.js → pug-uS37efts.js} +1 -1
  89. package/dist/assets/web/dist/assets/{qml--fw2Up5c.js → qml-Bj1A0Ben.js} +1 -1
  90. package/dist/assets/web/dist/assets/{r-Db1JBXrC.js → r-CMbKbLsS.js} +1 -1
  91. package/dist/assets/web/dist/assets/{razor-BYpVBgbu.js → razor-DVRq_Ndk.js} +1 -1
  92. package/dist/assets/web/dist/assets/{regexp-BMqGLSPc.js → regexp-AbaOr4oB.js} +1 -1
  93. package/dist/assets/web/dist/assets/{rst-B63n7-Sa.js → rst-Dq_QWgOF.js} +1 -1
  94. package/dist/assets/web/dist/assets/{ruby-D3VI8UYv.js → ruby-CVSsAj7T.js} +1 -1
  95. package/dist/assets/web/dist/assets/{sas-DxRf8ZAR.js → sas-C-dGfxUi.js} +1 -1
  96. package/dist/assets/web/dist/assets/{scss-DRRA6d6A.js → scss-DxALxYPA.js} +1 -1
  97. package/dist/assets/web/dist/assets/{seed-DFfT5S_N.js → seed-BhxEVasY.js} +1 -1
  98. package/dist/assets/web/dist/assets/{shellscript-CoOBe3_y.js → shellscript--qXcvQ5L.js} +1 -1
  99. package/dist/assets/web/dist/assets/{shellsession-DOV1HYxf.js → shellsession-DeqnW8Ux.js} +1 -1
  100. package/dist/assets/web/dist/assets/{soy-Acpmpp1W.js → soy-DreoUIMt.js} +1 -1
  101. package/dist/assets/web/dist/assets/{sql-DeT9N-fA.js → sql-o3i2VTG6.js} +1 -1
  102. package/dist/assets/web/dist/assets/{sseReplay-DPXVxhL5.js → sseReplay-qF-gpbAY.js} +1 -1
  103. package/dist/assets/web/dist/assets/{stata-CbxXAMO4.js → stata-CGAT41H7.js} +1 -1
  104. package/dist/assets/web/dist/assets/{surrealql-BdKbi4hc.js → surrealql-CBU0QuGV.js} +1 -1
  105. package/dist/assets/web/dist/assets/{svelte-tAcjDM7R.js → svelte-CfHaLZiG.js} +1 -1
  106. package/dist/assets/web/dist/assets/{templ-CObINNJj.js → templ-D02MUcma.js} +1 -1
  107. package/dist/assets/web/dist/assets/{tex-BYwpZT1J.js → tex-DjprHYXl.js} +1 -1
  108. package/dist/assets/web/dist/assets/{ts-tags-BciREL5R.js → ts-tags-DftDOzP-.js} +1 -1
  109. package/dist/assets/web/dist/assets/{tsx-CRiv3Pr3.js → tsx-BOdvPohJ.js} +1 -1
  110. package/dist/assets/web/dist/assets/{twig-DuZZ1Ej0.js → twig-B_yLS56B.js} +1 -1
  111. package/dist/assets/web/dist/assets/{typescript-jkHz_5HZ.js → typescript-CdPCa4nU.js} +1 -1
  112. package/dist/assets/web/dist/assets/{typst-DOac4Gal.js → typst-C1oIFsUl.js} +1 -1
  113. package/dist/assets/web/dist/assets/{vue-CgOX5wXA.js → vue-CcszJEX8.js} +1 -1
  114. package/dist/assets/web/dist/assets/{vue-html-Duu99VNw.js → vue-html-DcpxPcuT.js} +1 -1
  115. package/dist/assets/web/dist/assets/{vue-vine-Bmj_wvRJ.js → vue-vine-D26bIKGj.js} +1 -1
  116. package/dist/assets/web/dist/assets/{wallClock-DD_fPuSY.js → wallClock-DPTuP2FD.js} +1 -1
  117. package/dist/assets/web/dist/assets/{xml-BtUIVeWH.js → xml-D8zl6W5P.js} +1 -1
  118. package/dist/assets/web/dist/assets/{xsl-wX71n1E5.js → xsl-D86Bii28.js} +1 -1
  119. package/dist/assets/web/dist/assets/{yaml-CdLdXvmz.js → yaml-g6Px4KFU.js} +1 -1
  120. package/dist/cli.js +1750 -566
  121. package/package.json +1 -1
  122. package/dist/assets/web/dist/assets/DeliveryPage-D90FTjYq.js +0 -1
  123. package/dist/assets/web/dist/assets/RunsIndexPage-DjxGj1Q5.js +0 -1
@@ -1,2 +1,2 @@
1
- import{t as e}from"./AppShell-qqs_p96-.js";import{Dn as t,Ei as n,Gr as r,Gt as i,Mi as a,Tn as o,Yt as s,_n as c,fr as l,gi as u,gn as d,hn as f,in as p,ji as m,ki as h,mn as g,or as ee,qr as _,r as v,ur as y,vn as b,vr as x,wn as S}from"./seed-DFfT5S_N.js";import{d as C,f as w,l as T}from"./delivery-CTdOqpVK.js";import{t as E}from"./eventSource-By0B_w4S.js";import{r as te}from"./settingsApi-Dm6eaQcu.js";import{t as D}from"./wallClock-DD_fPuSY.js";var O=`Durable Objects`;function ne(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t;if(n.type!==`status`||typeof n.everyHours!=`number`)return null;let{type:r,...i}=n;return i}var k=e=>e===`schedule`?`on schedule`:`by ${e}`;function A(e,t){let n=[];if(e.inFlight?(n.push(`Taking a snapshot now — started ${C(e.inFlight.startedAt,t)} ${k(e.inFlight.by)}`),e.snapshot&&n.push(`showing the one from ${T(e.snapshot.takenAt)} meanwhile`)):e.snapshot?(n.push(`Snapshot from ${T(e.snapshot.takenAt)}, ${C(e.snapshot.takenAt,t)} ${k(e.snapshot.takenBy)}`),e.nextAt&&n.push(`next ${w(e.nextAt,t)}`)):e.nextAt?n.push(`No snapshot yet — next attempt ${w(e.nextAt,t)}`):n.push(`No snapshot yet — the first one is taken within a minute of startup`),e.lastFailure&&!e.inFlight){let r=e.lastFailure.count>1?` (${e.lastFailure.count} in a row)`:``;n.push(`last attempt ${C(e.lastFailure.at,t)} failed${r}: ${e.lastFailure.message.slice(0,120)}`)}return n.join(` · `)}var j=`Workers · storage · R2`,M=`LLM (Anthropic)`,N=(e,t=2)=>`$${e.toFixed(t)}`,P=e=>e.workersUsd+e.doRowsUsd+e.doStorageUsd+e.r2Usd+e.workflowsUsd;function re(e){let t=[];for(let n of e.days)for(let e of Object.keys(n.containers))t.includes(e)||t.push(e);return e.days.some(e=>Object.keys(e.durableObjects).length>0)&&t.push(O),e.days.some(e=>P(e)>0)&&t.push(j),e.llmAvailable&&t.push(M),t}function F(e,t){return t===`Durable Objects`?Object.values(e.durableObjects).reduce((e,t)=>e+t,0)+e.doRequestsUsd:t===`Workers · storage · R2`?P(e):t===`LLM (Anthropic)`?e.llmUsd:e.containers[t]?.total??0}var I=30.4;function ie(e){let t=e.range.partialLastDay?e.days.slice(0,-1):e.days,n=e.range.partialLastDay?e.days[e.days.length-1]:void 0,r=t[t.length-1],i=t.slice(-7),a=i.length?i.reduce((e,t)=>e+t.total,0)/i.length:void 0,o=e.account.cloudUsd>0?Math.round(e.totals.cloudUsd/e.account.cloudUsd*100):0;return{...r?{yesterday:{date:r.date,total:r.total}}:{},...n?{today:{date:n.date,total:n.total}}:{},...a===void 0?{}:{avg7:a},projection:R(e,t,n),llm:{range:e.totals.llmUsd,...r?{yesterday:r.llmUsd}:{},...n?{today:{usd:n.llmUsd,estimated:n.llmEstimated}}:{}},accountShare:o}}var L=e=>e.reduce((e,t)=>e+t,0)/e.length;function ae(e,t){let n=Date.parse(`${t.date}T00:00:00Z`),r=(e.generatedAt-n)/864e5;return Math.min(1,Math.max(1/24,Number.isFinite(r)?r:1))}function R(e,t,n){let r=n?ae(e,n):1,i=t.slice(-7),a=0,o=`full-days`;i.length?a=L(i.map(e=>e.cloudUsd)):n&&(a=n.cloudUsd/r,o=`today`);let s=0,c=`none`,l=0;if(e.llmAvailable){let e=t.findIndex(e=>e.llmUsd>0),i=e===-1?[]:t.slice(e).slice(-7);i.length?(s=L(i.map(e=>e.llmUsd)),c=`closed-days`,l=i.length):n&&n.llmUsd>0&&(s=n.llmUsd/r,c=`today`)}return{monthUsd:(a+s)*I,cloudRate:a,llmRate:s,cloudBasis:o,llmBasis:c,llmClosedDays:l}}function oe(e){let t=`https://dash.cloudflare.com/${e.account.id}`;return{account:t,billing:`${t}/billing`,containers:`${t}/workers/containers`,durableObjects:`${t}/workers/durable-objects`,workers:`${t}/workers-and-pages`,r2:`${t}/r2/overview`,workflows:`${t}/workers/workflows`,worker:e=>`${t}/workers/services/view/${encodeURIComponent(e)}/production/metrics`,bucket:e=>`${t}/r2/default/buckets/${encodeURIComponent(e)}`,anthropic:`https://platform.claude.com/cost`}}var se=e=>e.account.name??`${e.account.id.slice(0,8)}…`;function z(e,t,n){let r=[`${e.date} · total ${N(e.total)}${n?` (partial day)`:``}`];for(let n of t){let t=F(e,n);t<=0||r.push(`${n} ${N(t)}${n===`LLM (Anthropic)`&&e.llmEstimated?` (estimate)`:``}`)}return r.join(`
1
+ import{t as e}from"./AppShell-B4EUiSwP.js";import{Dn as t,Ei as n,Gr as r,Gt as i,Mi as a,Tn as o,Yt as s,_n as c,fr as l,gi as u,gn as d,hn as f,in as p,ji as m,ki as h,mn as g,or as ee,qr as _,r as v,ur as y,vn as b,vr as x,wn as S}from"./seed-BhxEVasY.js";import{d as C,f as w,l as T}from"./delivery-CTdOqpVK.js";import{t as E}from"./eventSource-Ce94ho6M.js";import{r as te}from"./settingsApi-Dm6eaQcu.js";import{t as D}from"./wallClock-DPTuP2FD.js";var O=`Durable Objects`;function ne(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t;if(n.type!==`status`||typeof n.everyHours!=`number`)return null;let{type:r,...i}=n;return i}var k=e=>e===`schedule`?`on schedule`:`by ${e}`;function A(e,t){let n=[];if(e.inFlight?(n.push(`Taking a snapshot now — started ${C(e.inFlight.startedAt,t)} ${k(e.inFlight.by)}`),e.snapshot&&n.push(`showing the one from ${T(e.snapshot.takenAt)} meanwhile`)):e.snapshot?(n.push(`Snapshot from ${T(e.snapshot.takenAt)}, ${C(e.snapshot.takenAt,t)} ${k(e.snapshot.takenBy)}`),e.nextAt&&n.push(`next ${w(e.nextAt,t)}`)):e.nextAt?n.push(`No snapshot yet — next attempt ${w(e.nextAt,t)}`):n.push(`No snapshot yet — the first one is taken within a minute of startup`),e.lastFailure&&!e.inFlight){let r=e.lastFailure.count>1?` (${e.lastFailure.count} in a row)`:``;n.push(`last attempt ${C(e.lastFailure.at,t)} failed${r}: ${e.lastFailure.message.slice(0,120)}`)}return n.join(` · `)}var j=`Workers · storage · R2`,M=`LLM (Anthropic)`,N=(e,t=2)=>`$${e.toFixed(t)}`,P=e=>e.workersUsd+e.doRowsUsd+e.doStorageUsd+e.r2Usd+e.workflowsUsd;function re(e){let t=[];for(let n of e.days)for(let e of Object.keys(n.containers))t.includes(e)||t.push(e);return e.days.some(e=>Object.keys(e.durableObjects).length>0)&&t.push(O),e.days.some(e=>P(e)>0)&&t.push(j),e.llmAvailable&&t.push(M),t}function F(e,t){return t===`Durable Objects`?Object.values(e.durableObjects).reduce((e,t)=>e+t,0)+e.doRequestsUsd:t===`Workers · storage · R2`?P(e):t===`LLM (Anthropic)`?e.llmUsd:e.containers[t]?.total??0}var I=30.4;function ie(e){let t=e.range.partialLastDay?e.days.slice(0,-1):e.days,n=e.range.partialLastDay?e.days[e.days.length-1]:void 0,r=t[t.length-1],i=t.slice(-7),a=i.length?i.reduce((e,t)=>e+t.total,0)/i.length:void 0,o=e.account.cloudUsd>0?Math.round(e.totals.cloudUsd/e.account.cloudUsd*100):0;return{...r?{yesterday:{date:r.date,total:r.total}}:{},...n?{today:{date:n.date,total:n.total}}:{},...a===void 0?{}:{avg7:a},projection:R(e,t,n),llm:{range:e.totals.llmUsd,...r?{yesterday:r.llmUsd}:{},...n?{today:{usd:n.llmUsd,estimated:n.llmEstimated}}:{}},accountShare:o}}var L=e=>e.reduce((e,t)=>e+t,0)/e.length;function ae(e,t){let n=Date.parse(`${t.date}T00:00:00Z`),r=(e.generatedAt-n)/864e5;return Math.min(1,Math.max(1/24,Number.isFinite(r)?r:1))}function R(e,t,n){let r=n?ae(e,n):1,i=t.slice(-7),a=0,o=`full-days`;i.length?a=L(i.map(e=>e.cloudUsd)):n&&(a=n.cloudUsd/r,o=`today`);let s=0,c=`none`,l=0;if(e.llmAvailable){let e=t.findIndex(e=>e.llmUsd>0),i=e===-1?[]:t.slice(e).slice(-7);i.length?(s=L(i.map(e=>e.llmUsd)),c=`closed-days`,l=i.length):n&&n.llmUsd>0&&(s=n.llmUsd/r,c=`today`)}return{monthUsd:(a+s)*I,cloudRate:a,llmRate:s,cloudBasis:o,llmBasis:c,llmClosedDays:l}}function oe(e){let t=`https://dash.cloudflare.com/${e.account.id}`;return{account:t,billing:`${t}/billing`,containers:`${t}/workers/containers`,durableObjects:`${t}/workers/durable-objects`,workers:`${t}/workers-and-pages`,r2:`${t}/r2/overview`,workflows:`${t}/workers/workflows`,worker:e=>`${t}/workers/services/view/${encodeURIComponent(e)}/production/metrics`,bucket:e=>`${t}/r2/default/buckets/${encodeURIComponent(e)}`,anthropic:`https://platform.claude.com/cost`}}var se=e=>e.account.name??`${e.account.id.slice(0,8)}…`;function z(e,t,n){let r=[`${e.date} · total ${N(e.total)}${n?` (partial day)`:``}`];for(let n of t){let t=F(e,n);t<=0||r.push(`${n} ${N(t)}${n===`LLM (Anthropic)`&&e.llmEstimated?` (estimate)`:``}`)}return r.join(`
2
2
  `)}function B(e){let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.getTime())?e:`${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][t.getUTCMonth()]} ${t.getUTCDate()}`}function ce(e,t,n){let r=t.map(t=>({series:t,usd:F(e,t),estimated:t===`LLM (Anthropic)`&&e.llmEstimated})).filter(e=>e.usd>0).sort((e,t)=>t.usd-e.usd);return{date:e.date,label:B(e.date),partial:n,total:e.total,rows:r}}function V(e,t){let n={t:12,r:12,b:30,l:48},r=960-n.l-n.r,i=260-n.t-n.b,a=e.days,o=Math.max(1e-9,...a.map(e=>e.total))*1.08,s=r/Math.max(1,a.length),c=Math.min(10,s*.28),l=e=>n.t+i-e/o*i,u=Array.from({length:5},(e,t)=>{let n=o/4*t;return{y:Number(l(n).toFixed(1)),label:N(n)}}),d=[],f=[],p=[];return a.forEach((r,o)=>{let u=0,m=n.l+o*s+c/2,h=s-c;f.push({x:Number((n.l+o*s).toFixed(1)),y:n.t,width:Number(s.toFixed(1)),height:i,title:z(r,t,e.range.partialLastDay&&o===a.length-1),tip:ce(r,t,e.range.partialLastDay&&o===a.length-1)}),t.forEach((e,t)=>{let n=F(r,e);if(n<=0)return;let i=l(u+n),a=l(u),o=Math.max(0,a-i-2);d.push({seriesIndex:t,x:Number(m.toFixed(1)),y:Number(i.toFixed(1)),width:Number(h.toFixed(1)),height:Number(o.toFixed(1))}),u+=n}),(a.length<=16||o%Math.ceil(a.length/16)===0)&&p.push({x:Number((m+h/2).toFixed(1)),label:r.date.slice(5)})}),{width:960,height:260,gridLines:u,segments:d,dayHovers:f,dayLabels:p,axisY:Number(l(0).toFixed(1)),marginLeft:n.l,marginRight:n.r}}function le(e){let t=e.totals.byResource,n=[[`Memory (provisioned while awake)`,t.memory],[`vCPU (active use only)`,t.cpu],[`Durable Object duration + requests`,t.durableObjects],[`Disk (provisioned while awake)`,t.disk],[`Workers requests + CPU`,t.workers],[`Durable Object SQLite rows`,t.doRows],[`Durable Object SQLite storage`,t.doStorage],[`R2 storage + operations`,t.r2],[`Workflow steps + state`,t.workflows]],r=n.reduce((e,t)=>e+t[1],0)||1;return n.map(([e,t])=>({label:e,usd:t,percent:t/r*100}))}var H=[`fill-[#4478b8] dark:fill-[#7aa7e0]`,`fill-[#c8823b] dark:fill-[#e0a95a]`,`fill-[#4c8c57] dark:fill-[#6fae7a]`,`fill-[#b8963e] dark:fill-[#d4b45a]`,`fill-[#b0568c] dark:fill-[#d489b8]`,`fill-[#6b7bcc] dark:fill-[#98a5e6]`,`fill-[#d05252] dark:fill-[#e07a74]`,`fill-[#3e8e96] dark:fill-[#6fb9c0]`],ue=[`bg-[#4478b8] dark:bg-[#7aa7e0]`,`bg-[#c8823b] dark:bg-[#e0a95a]`,`bg-[#4c8c57] dark:bg-[#6fae7a]`,`bg-[#b8963e] dark:bg-[#d4b45a]`,`bg-[#b0568c] dark:bg-[#d489b8]`,`bg-[#6b7bcc] dark:bg-[#98a5e6]`,`bg-[#d05252] dark:bg-[#e07a74]`,`bg-[#3e8e96] dark:bg-[#6fb9c0]`],de={class:`overflow-x-auto`},U=[`viewBox`],W=[`x1`,`x2`,`y1`,`y2`],G=[`x`,`y`],K=[`x`,`y`,`width`,`height`],q=[`aria-label`,`x`,`y`,`width`,`height`,`onPointerenter`,`onPointermove`],J=[`x`,`y`],Y=[`x1`,`x2`,`y1`,`y2`],fe={class:`tip-head mb-1.5 flex items-baseline justify-between gap-3 border-b border-muted pb-1.5`},X={class:`font-medium text-highlighted`},pe={key:0,class:`ml-1.5 font-normal text-dimmed`},me={class:`font-medium text-highlighted`},he={class:`tip-name truncate text-muted`},ge={class:`text-highlighted`},_e={class:`tip-usd`},ve={key:0,class:`ml-1 text-dimmed`},Z=256,Q=12,ye=t({__name:`CostChart`,props:{report:{},series:{}},setup(e){let t=e,r=g(()=>V(t.report,t.series)),i=e=>44+e*20,o=u(null),s=u(null);function d(e,t){let n=s.value,r=n?.getBoundingClientRect(),a=t.clientX-(r?.left??0),c=t.clientY-(r?.top??0),l=n?.clientWidth??0,u=n?.clientHeight??0,d=i(e.tip.rows.length),f=l>0&&a+Q+Z>l,p=u>0&&c+Q+d>u;o.value={x:Math.max(0,f?a-Q-Z:a+Q),y:Math.max(0,p?c-Q-d:c+Q),data:e.tip}}return(e,t)=>(l(),b(`div`,{ref_key:`host`,ref:s,class:`chart-host relative`},[f(`div`,de,[(l(),b(`svg`,{class:`block h-auto w-full font-mono`,viewBox:`0 0 ${r.value.width} ${r.value.height}`,role:`img`,"aria-label":`Daily cost, stacked by component`},[(l(!0),b(p,null,x(r.value.gridLines,(e,t)=>(l(),b(p,{key:`g${t}`},[f(`line`,{class:`stroke-(--ui-border-muted)`,x1:r.value.marginLeft,x2:r.value.width-r.value.marginRight,y1:e.y,y2:e.y},null,8,W),f(`text`,{class:`fill-(--ui-text-dimmed) text-[11px] tabular-nums`,x:r.value.marginLeft-8,y:e.y+4,"text-anchor":`end`},a(e.label),9,G)],64))),128)),(l(!0),b(p,null,x(r.value.segments,(e,t)=>(l(),b(`rect`,{key:`s${t}`,class:h([`seg hover:opacity-85`,n(H)[e.seriesIndex%n(H).length]]),x:e.x,y:e.y,width:e.width,height:e.height},null,10,K))),128)),(l(!0),b(p,null,x(r.value.dayHovers,(e,n)=>(l(),b(`rect`,{key:`h${n}`,class:`day fill-transparent`,role:`img`,"aria-label":e.title,x:e.x,y:e.y,width:e.width,height:e.height,onPointerenter:t=>d(e,t),onPointermove:t=>d(e,t),onPointerleave:t[0]||=e=>o.value=null},null,40,q))),128)),(l(!0),b(p,null,x(r.value.dayLabels,(e,t)=>(l(),b(`text`,{key:`d${t}`,class:`fill-(--ui-text-dimmed) text-[11px]`,x:e.x,y:r.value.height-10,"text-anchor":`middle`},a(e.label),9,J))),128)),f(`line`,{class:`stroke-(--ui-border)`,x1:r.value.marginLeft,x2:r.value.width-r.value.marginRight,y1:r.value.axisY,y2:r.value.axisY},null,8,Y)],8,U))]),o.value?(l(),b(`div`,{key:0,class:`chart-tip pointer-events-none absolute z-10 w-64 rounded-md border border-default bg-elevated px-3 py-2 font-mono text-xs tabular-nums whitespace-nowrap shadow-lg`,role:`tooltip`,style:m({left:`${o.value.x}px`,top:`${o.value.y}px`})},[f(`div`,fe,[f(`span`,X,[S(a(o.value.data.label),1),o.value.data.partial?(l(),b(`span`,pe,`partial day`)):c(``,!0)]),f(`span`,me,a(n(N)(o.value.data.total)),1)]),(l(!0),b(p,null,x(o.value.data.rows,e=>(l(),b(`div`,{key:e.series,class:`tip-row flex items-baseline justify-between gap-3 leading-5`},[f(`span`,he,a(e.series),1),f(`span`,ge,[f(`span`,_e,a(n(N)(e.usd)),1),e.estimated?(l(),b(`span`,ve,`est.`)):c(``,!0)])]))),128))],4)):c(``,!0)],512))}}),$=[`data-dimension`],be={class:`flex flex-wrap items-center gap-x-4 gap-y-2`},xe={class:`flex items-center gap-2 text-sm text-muted`},Se=[`placeholder`,`aria-label`],Ce=[`title`],we=[`disabled`,`aria-describedby`],Te={key:0,id:`me-hint`,class:`me-hint text-xs text-dimmed`},Ee={class:`coverage font-mono text-xs tabular-nums text-muted`},De={class:`overflow-x-auto`},Oe={class:`by w-full min-w-[40rem] border-collapse whitespace-nowrap font-mono text-[0.8125rem] tabular-nums`},ke={class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-left text-xs font-medium text-muted`},Ae={class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-right text-xs font-medium text-muted`},je={key:0,class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-right text-xs font-medium text-muted`},Me=[`title`],Ne={class:`text-highlighted`},Pe={key:0,class:`ml-1.5 text-xs text-dimmed`},Fe={key:1,class:`ml-1.5 rounded-xs bg-accented px-1 text-xs text-highlighted`},Ie=[`title`],Le={class:`border-b border-muted px-2.5 py-1.5 text-right`},Re={class:`border-b border-muted px-2.5 py-1.5 text-right`},ze={key:0,class:`border-b border-muted px-2.5 py-1.5 text-right`},Be={class:`border-b border-muted px-2.5 py-1.5 text-right font-medium text-highlighted`},Ve={class:`border-b border-muted px-2.5 py-1.5 text-right`},He={key:0},Ue=[`colspan`],We={key:0},Ge=[`colspan`],Ke={class:`px-2.5 py-1.5 text-right text-xs text-muted`},qe={class:`px-2.5 py-1.5 text-right text-xs text-muted`},Je={class:`reconciliation font-mono text-xs tabular-nums text-muted`},Ye={class:`text-xs text-dimmed`},Xe=t({__name:`CostsByDimension`,props:{report:{}},setup(e){let t=e,r={user:`User`,thread:`Thread`,channel:`Channel`,agent:`Agent`,model:`Model`},o=u(``),d=u(!1),m=g(()=>t.report.dimension),ee=g(()=>t.report.viewer!==void 0),v=g(()=>(t.report.viewer?.userIds.length??0)>0),y=g(()=>t.report.cloudAllocated),C=g(()=>m.value===`model`?`Turns`:`Runs`),w=e=>m.value===`model`?e.turns:e.runs,T=g(()=>{let e=o.value.trim().toLowerCase(),n=new Set(t.report.viewer?.userIds??[]);return t.report.rows.filter(t=>d.value&&!n.has(t.key)?!1:!e||t.key.toLowerCase().includes(e)||(t.label??``).toLowerCase().includes(e))}),E=g(()=>t.report.rows.reduce((e,t)=>e+t.totalUsd,0)),te=g(()=>T.value.reduce((e,t)=>e+t.totalUsd,0)),D=e=>t.report.viewer?.userIds.includes(e.key)??!1,O=g(()=>m.value===`user`||m.value===`thread`||m.value===`channel`),ne=e=>e.label?m.value===`channel`?`#${e.label}`:e.label:O.value?e.key.replace(/^[a-z]+:/,``):e.key,k=e=>O.value&&e.key.includes(`:`)?e.key.split(`:`)[0]:``,A=e=>`${e} day${e===1?``:`s`}`,j=g(()=>y.value?6:5);return(t,u)=>(l(),b(`section`,{class:`by-dimension grid gap-3`,"data-dimension":m.value},[f(`div`,be,[f(`label`,xe,[u[2]||=f(`span`,null,`Filter`,-1),_(f(`input`,{"onUpdate:modelValue":u[0]||=e=>o.value=e,class:`key-filter rounded-md border border-default bg-elevated px-2.5 py-1 font-mono text-xs text-highlighted`,type:`search`,placeholder:m.value===`user`?`name or id`:r[m.value].toLowerCase(),"aria-label":`Filter by ${r[m.value].toLowerCase()}`},null,8,Se),[[s,o.value]])]),ee.value?(l(),b(`label`,{key:0,class:h([`me-toggle flex items-center gap-2 text-sm`,v.value?`text-muted`:`text-dimmed`]),title:v.value?`Only your own runs`:void 0},[_(f(`input`,{"onUpdate:modelValue":u[1]||=e=>d.value=e,type:`checkbox`,disabled:!v.value,"aria-label":`Only me`,"aria-describedby":v.value?void 0:`me-hint`},null,8,we),[[i,d.value]]),u[3]||=f(`span`,null,`me`,-1),v.value?c(``,!0):(l(),b(`span`,Te,`— your sign-in email matched no Slack user in this range`))],10,Ce)):c(``,!0),f(`p`,Ee,[e.report.coverage.historyOn?(l(),b(p,{key:1},[S(` runs from `+a(n(B)(e.report.coverage.from))+` to `+a(n(B)(e.report.range.to)),1),e.report.coverage.clamped?(l(),b(p,{key:0},[S(` · earlier days are past the history's `+a(e.report.coverage.retentionDays)+`-day window`,1)],64)):c(``,!0),e.report.pending>0?(l(),b(p,{key:1},[S(` · `+a(e.report.pending)+` run`+a(e.report.pending===1?``:`s`)+` still being priced`,1)],64)):c(``,!0)],64)):(l(),b(p,{key:0},[S(`run history is off — no runs to attribute`)],64))])]),f(`div`,De,[f(`table`,Oe,[f(`thead`,null,[f(`tr`,null,[f(`th`,ke,a(r[m.value]),1),f(`th`,Ae,a(C.value),1),u[5]||=f(`th`,{class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-right text-xs font-medium text-muted`},` LLM `,-1),y.value?(l(),b(`th`,je,[...u[4]||=[S(` Cloud `,-1),f(`span`,{class:`font-normal text-dimmed`},`allocated`,-1)]])):c(``,!0),u[6]||=f(`th`,{class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-right text-xs font-medium text-muted`},` Total `,-1),u[7]||=f(`th`,{class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-right text-xs font-medium text-muted`},` Share `,-1)])]),f(`tbody`,null,[(l(!0),b(p,null,x(T.value,e=>(l(),b(`tr`,{key:e.key,class:h([`by-row`,D(e)?`is-me`:``])},[f(`td`,{class:`border-b border-muted px-2.5 py-1.5`,title:e.key},[f(`span`,Ne,a(ne(e)),1),k(e)?(l(),b(`span`,Pe,a(k(e)),1)):c(``,!0),D(e)?(l(),b(`span`,Fe,`me`)):c(``,!0),e.unpricedTokens>0?(l(),b(`span`,{key:2,class:`ml-1.5 text-xs text-warn`,title:`${e.unpricedTokens} tokens ran under a model with no price`},`unpriced tokens`,8,Ie)):c(``,!0)],8,Me),f(`td`,Le,a(w(e)),1),f(`td`,Re,a(n(N)(e.llmUsd)),1),y.value?(l(),b(`td`,ze,a(n(N)(e.cloudUsd)),1)):c(``,!0),f(`td`,Be,a(n(N)(e.totalUsd)),1),f(`td`,Ve,a(E.value>0?Math.round(e.totalUsd/E.value*100):0)+`% `,1)],2))),128)),T.value.length===0?(l(),b(`tr`,He,[f(`td`,{class:`empty px-2.5 py-3 text-sm text-muted`,colspan:j.value},a(e.report.rows.length===0?`no runs in this range`:`no ${r[m.value].toLowerCase()} matches`),9,Ue)])):c(``,!0)]),T.value.length>0&&T.value.length<e.report.rows.length?(l(),b(`tfoot`,We,[f(`tr`,null,[f(`td`,{class:`px-2.5 py-1.5 text-xs text-muted`,colspan:j.value-2},`shown`,8,Ge),f(`td`,Ke,a(n(N)(te.value)),1),f(`td`,qe,a(E.value>0?Math.round(te.value/E.value*100):0)+`% `,1)])])):c(``,!0)])]),f(`p`,Je,[e.report.reconciliation.comparedDays>0?(l(),b(p,{key:0},[S(` LLM attributed `+a(n(N)(e.report.reconciliation.attributedLlmUsd))+` of `+a(n(N)(e.report.reconciliation.workspaceLlmUsd))+` on the workspace over `+a(A(e.report.reconciliation.comparedDays))+` · `,1),e.report.reconciliation.unattributedLlmUsd>=0?(l(),b(p,{key:0},[S(a(n(N)(e.report.reconciliation.unattributedLlmUsd))+` unattributed (router, review abridges, runs without a record, list vs invoice) `,1)],64)):(l(),b(p,{key:1},[S(a(n(N)(-e.report.reconciliation.unattributedLlmUsd))+` more attributed than the workspace figure (list vs invoice, or spend billed outside this workspace on a compared day) `,1)],64))],64)):(l(),b(p,{key:1},[S(`no day in range has a workspace LLM figure to compare against`)],64)),e.report.reconciliation.uncomparedDays>0?(l(),b(p,{key:2},[S(` · `+a(A(e.report.reconciliation.uncomparedDays))+` with `+a(n(N)(e.report.reconciliation.uncomparedLlmUsd))+` of run tokens but no workspace figure (billed outside this workspace) not compared`,1)],64)):c(``,!0),y.value?(l(),b(p,{key:3},[S(` · cloud allocated `+a(n(N)(e.report.reconciliation.cloudAllocatedUsd)),1),e.report.reconciliation.cloudUnallocatedUsd>0?(l(),b(p,{key:0},[S(` · `+a(n(N)(e.report.reconciliation.cloudUnallocatedUsd))+` on days with no runs`,1)],64)):c(``,!0)],64)):c(``,!0)]),f(`p`,Ye,[m.value===`model`?(l(),b(p,{key:0},[S(` A model's LLM is the runs' tokens on it, priced through the price table (the configured rates over Anthropic list; cache writes at the 5-minute rate); a run that spent on two models counts under both, and cloud is not split by model — a container runs a run, not a model. `)],64)):(l(),b(p,{key:1},[S(` A `+a(r[m.value].toLowerCase())+`'s LLM is its runs' tokens priced through the price table (the configured rates over Anthropic list; cache writes at the 5-minute rate); a child run bills to whoever started its parent, in the child's own thread and agent. Cloud is each day's Cloudflare spend split by share of run wall-clock — an allocation, not a meter. `,1)],64))])],8,$))}}),Ze={class:`mb-4 flex flex-wrap items-center gap-x-4 gap-y-2`},Qe={class:`flex items-center gap-1`,"aria-label":`Range`},$e={key:0,class:`rounded-md bg-accented px-2.5 py-1 font-mono text-xs font-medium tabular-nums text-highlighted`,"aria-current":`page`},et=[`href`],tt={key:0,class:`flex items-center gap-1`,"aria-label":`Cost groups`},nt={key:0,class:`rounded-md bg-accented px-2.5 py-1 text-xs font-medium text-highlighted`,"aria-current":`page`},rt=[`href`],it={class:`font-mono text-sm tabular-nums text-muted`},at={key:1,class:`flex basis-full flex-wrap items-center gap-x-3 gap-y-1`},ot={class:`font-mono text-xs tabular-nums text-dimmed`,"data-snapshot-status":``},st=[`disabled`],ct={key:1,class:`text-xs text-error`,role:`status`,"data-snapshot-error":``},lt={class:`mb-5 grid grid-cols-[repeat(auto-fit,minmax(190px,1fr))] gap-3`},ut={key:0,class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},dt={class:`font-mono text-2xl font-medium tabular-nums`},ft={class:`text-xs text-muted`},pt={key:1,class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},mt={class:`font-mono text-2xl font-medium tabular-nums`},ht={class:`text-xs text-muted`},gt={class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},_t={class:`font-mono text-2xl font-medium tabular-nums`},vt={class:`text-xs text-muted`},yt={class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},bt={class:`font-mono text-2xl font-medium tabular-nums`},xt={class:`text-xs text-muted`},St={class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},Ct={class:`font-mono text-2xl font-medium tabular-nums`},wt={class:`text-xs text-muted`},Tt={class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},Et={class:`font-mono text-2xl font-medium tabular-nums`},Dt={class:`text-xs text-muted`},Ot=[`href`,`title`],kt=[`href`],At={class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},jt={class:`flex flex-wrap items-baseline justify-between gap-x-4 gap-y-2`},Mt={class:`legend flex flex-wrap gap-x-4 gap-y-1.5 text-xs text-muted`},Nt=[`href`,`title`],Pt={key:0,class:`text-xs text-warn`},Ft={key:1,class:`text-xs text-muted`},It={class:`mb-3 flex flex-wrap items-center gap-1 border-b border-default`,"aria-label":`View`},Lt={key:0,class:`-mb-px border-b-2 border-primary px-3 py-1.5 text-sm font-medium text-highlighted`,"aria-current":`page`},Rt=[`href`],zt={key:0,class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},Bt={class:`text-[0.9375rem] font-medium`},Vt={class:`text-sm text-muted`},Ht={key:1,class:`text-sm text-warn`},Ut={class:`text-xs text-muted`},Wt={class:`rounded bg-accented px-1 py-0.5`},Gt={key:1,class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},Kt={class:`w-full border-collapse font-mono text-[0.8125rem] tabular-nums`},qt={class:`px-2.5 py-1.5`},Jt=[`href`],Yt={class:`px-2.5 py-1.5 text-right`},Xt={class:`px-2.5 py-1.5 text-right`},Zt={class:`w-2/5 px-2.5 py-1.5`},Qt={key:2,class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},$t={open:``},en={class:`mt-2.5 overflow-x-auto`},tn={class:`data w-full min-w-[38rem] border-collapse whitespace-nowrap font-mono text-[0.8125rem] tabular-nums`},nn=[`title`],rn={key:0,class:`text-xs text-dimmed`},an={key:1,class:`text-xs text-dimmed`},on={class:`border-b border-muted px-2.5 py-1.5 text-right font-medium`},sn={class:`text-xs text-muted`},cn={class:`rounded bg-accented px-1 py-0.5`},ln={class:`border-t border-default pt-3.5 text-xs text-dimmed`},un={class:`mt-2 grid gap-1.5`},dn=[`href`],fn={key:2},pn=[`href`],mn={key:2},hn=[`href`],gn=[`href`],_n={class:`mb-4 flex flex-wrap items-center gap-x-4 gap-y-2`},vn={key:0,class:`flex items-center gap-1`,"aria-label":`Cost groups`},yn={key:0,class:`rounded-md bg-accented px-2.5 py-1 text-xs font-medium text-highlighted`,"aria-current":`page`},bn=[`href`],xn={class:`mb-5 grid gap-2 rounded-lg border border-default bg-elevated px-5 py-4`},Sn={class:`flex flex-wrap items-center gap-x-3 gap-y-1`},Cn={class:`font-mono text-xs tabular-nums text-muted`,"data-snapshot-status":``},wn=[`disabled`],Tn={key:1,class:`text-xs text-error`,role:`status`,"data-snapshot-error":``},En=t({__name:`CostsPage`,setup(t){let i=v(`costs`),s=u(i?.report??null),_=g(()=>i?.groups??[]),C=g(()=>i?.group??s.value?.group??``),w=u(i?.snapshot??null),T=D(void 0,6e4),O=g(()=>w.value?A(w.value,T.value):``),k=g(()=>i?.view??`daily`),j=u(i&&i.view!==`daily`?i.by??null:null),M=[{view:`daily`,tab:`Daily`,subtitle:``},{view:`users`,tab:`By user`,subtitle:`Who started the runs · LLM from their tokens through the price table · cloud allocated by wall-clock`},{view:`threads`,tab:`By thread`,subtitle:`The thread each run ran in · LLM from its tokens through the price table · cloud allocated by wall-clock`},{view:`channels`,tab:`By channel`,subtitle:`The channel each run ran in · LLM from its tokens through the price table · cloud allocated by wall-clock`},{view:`agents`,tab:`By agent`,subtitle:`The agent each run ran on · LLM from its tokens through the price table · cloud allocated by wall-clock`},{view:`models`,tab:`By model`,subtitle:`The model each turn ran on · LLM from its tokens through the price table · cloud is not split by model`}],P=g(()=>M.find(e=>e.view===k.value)??M[0]),I=g(()=>i?.canSnapshot===!0),L=g(()=>typeof window>`u`?null:new URLSearchParams(window.location.search).get(`days`)),ae=e=>`/costs/${C.value}${e}${L.value?`?days=${L.value}`:``}`,R=i?.snapshot?.snapshot?.takenAt??null,z=R,B=null;async function ce(){try{let[e,t]=await Promise.all([fetch(ae(`.json`),{credentials:`same-origin`}),k.value===`daily`?Promise.resolve(null):fetch(ae(`/${k.value}.json`),{credentials:`same-origin`})]);return e.ok?(s.value=await e.json(),t?.ok&&(j.value=await t.json()),!0):!1}catch{return!1}}function V(){if(B||z===null||z===R)return;let e=z;B=ce().then(t=>{t&&(R=e)}).finally(()=>{B=null,z!==e&&V()})}function H(e){w.value=e;let t=e.snapshot?.takenAt??null;t&&(z=t,V())}let de=E(),U=null;ee(()=>{C.value&&(U=de(`/costs/${C.value}?stream=1`),U.onmessage=e=>{let t=ne(e.data);t&&H(t)})}),y(()=>U?.close());let W=u(!1),G=u(``);async function K(){W.value=!0,G.value=``;let e=await te(fetch,`costs.snapshot`,{});e.ok||(G.value=e.failure.message),W.value=!1}function q(e,t,n){let r=[`days=${t}`];return n!==`daily`&&r.push(`view=${n}`),`/costs/${e}?${r.join(`&`)}`}let J=g(()=>s.value?re(s.value):[]),Y=g(()=>s.value?ie(s.value):null),fe=g(()=>s.value?le(s.value):[]),X=g(()=>s.value?oe(s.value):null),pe=g(()=>s.value?se(s.value):``);function me(e){let t=X.value;if(t){if(/^(Memory|vCPU|Disk)/.test(e))return t.containers;if(e.startsWith(`Durable Object`))return t.durableObjects;if(e.startsWith(`Workers`))return t.workers;if(e.startsWith(`R2`))return t.r2;if(e.startsWith(`Workflow`))return t.workflows}}function he(e){let t=X.value;if(t)return e===`LLM (Anthropic)`?t.anthropic:e===`Durable Objects`?t.durableObjects:e===`Workers · storage · R2`?t.workers:t.containers}let ge=g(()=>{let e=s.value,t=Y.value;if(!e||!t)return``;let n=t.projection,r=`cloud ${N(n.cloudRate)}/day`,i=n.cloudBasis===`today`?`cloud from today so far`:`cloud from the last 7 full days`;if(!e.llmAvailable)return`${r} × 30.4 · ${i} · before plan fees and included allowances`;let a=`LLM ${N(n.llmRate)}/day`,o=n.llmBasis===`closed-days`?`LLM from ${n.llmClosedDays} closed day${n.llmClosedDays===1?``:`s`}`:n.llmBasis===`today`?`LLM from today so far`:`no LLM spend in range`;return`${r} + ${a} · × 30.4 · ${n.cloudBasis===`today`&&n.llmBasis===`today`?`both from today so far`:`${i} · ${o}`}`}),_e=g(()=>s.value?[...s.value.days].reverse():[]),ve=[1,7,30],Z=e=>e===1?`today`:`${e}d`,Q=g(()=>{let e=s.value,t=Y.value;if(!e||!t)return``;if(!e.llmAvailable)return`LLM spend not configured`;let n=[];return t.llm.yesterday!==void 0&&n.push(`yesterday ${N(t.llm.yesterday)}`),t.llm.today&&n.push(`today ${N(t.llm.today.usd)}${t.llm.today.estimated?` (estimate)`:``}`),n.length?n.join(` · `):`in range`});function $(e){let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.getTime())?e:`${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][t.getUTCMonth()]} ${t.getUTCDate()}`}return(t,i)=>s.value&&Y.value?(l(),d(e,{key:0,title:`${s.value.label} spend`,nav:`costs`},{default:r(()=>[f(`div`,Ze,[f(`nav`,Qe,[(l(),b(p,null,x(ve,e=>(l(),b(p,{key:e},[e===s.value.range.days?(l(),b(`span`,$e,a(Z(e)),1)):(l(),b(`a`,{key:1,class:`rounded-md px-2.5 py-1 font-mono text-xs tabular-nums text-muted no-underline hover:bg-elevated hover:text-highlighted`,href:q(s.value.group,e,k.value)},a(Z(e)),9,et))],64))),64))]),_.value.length>1?(l(),b(`nav`,tt,[(l(!0),b(p,null,x(_.value,e=>(l(),b(p,{key:e},[e===s.value.group?(l(),b(`span`,nt,a(e),1)):(l(),b(`a`,{key:1,class:`rounded-md px-2.5 py-1 text-xs text-muted no-underline hover:bg-elevated hover:text-highlighted`,href:q(e,s.value.range.days,k.value)},a(e),9,rt))],64))),128))])):c(``,!0),f(`p`,it,[S(a($(s.value.range.from))+` → `+a($(s.value.range.to))+` · `+a(s.value.range.days)+`d`,1),s.value.range.partialLastDay?(l(),b(p,{key:0},[S(` · today partial`)],64)):c(``,!0)]),O.value?(l(),b(`div`,at,[f(`p`,ot,a(O.value),1),I.value?(l(),b(`button`,{key:0,type:`button`,class:`rounded-md border border-default px-2 py-0.5 text-xs text-muted hover:bg-elevated hover:text-highlighted disabled:cursor-not-allowed disabled:opacity-60`,disabled:W.value||w.value?.inFlight!==null,"data-snapshot-now":``,onClick:K},a(w.value?.inFlight?`Taking…`:`Snapshot now`),9,st)):c(``,!0),G.value?(l(),b(`span`,ct,a(G.value),1)):c(``,!0)])):c(``,!0)]),f(`section`,lt,[Y.value.yesterday?(l(),b(`div`,ut,[i[0]||=f(`span`,{class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`Yesterday`,-1),f(`span`,dt,a(n(N)(Y.value.yesterday.total)),1),f(`span`,ft,a(Y.value.yesterday.date)+` · last full day`,1)])):(l(),b(`div`,pt,[i[1]||=f(`span`,{class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`Today so far`,-1),f(`span`,mt,a(Y.value.today?n(N)(Y.value.today.total):`—`),1),f(`span`,ht,a(Y.value.today?`${Y.value.today.date} · partial day, UTC`:`no day in range`),1)])),f(`div`,gt,[i[2]||=f(`span`,{class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`7-day average`,-1),f(`span`,_t,a(Y.value.avg7===void 0?`—`:n(N)(Y.value.avg7)),1),f(`span`,vt,a(Y.value.avg7===void 0?`no full day yet in this range`:`per day, full days only`),1)]),f(`div`,yt,[i[3]||=f(`span`,{class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`Projected month`,-1),f(`span`,bt,a(n(N)(Y.value.projection.monthUsd,0)),1),f(`span`,xt,a(ge.value),1)]),f(`div`,St,[i[4]||=f(`span`,{class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`LLM spend`,-1),f(`span`,Ct,a(s.value.llmAvailable?n(N)(Y.value.llm.range):`—`),1),f(`span`,wt,a(Q.value),1)]),f(`div`,Tt,[i[6]||=f(`span`,{class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},`Share of account`,-1),f(`span`,Et,a(Y.value.accountShare)+`%`,1),f(`span`,Dt,[S(a(n(N)(s.value.totals.cloudUsd))+` of `+a(n(N)(s.value.account.cloudUsd))+` on `,1),X.value?(l(),b(`a`,{key:0,class:`text-primary hover:underline`,href:X.value.account,target:`_blank`,rel:`noopener noreferrer`,title:`Cloudflare account ${s.value.account.id}`},a(pe.value),9,Ot)):c(``,!0),i[5]||=S(` · Cloudflare spend in range · `,-1),X.value?(l(),b(`a`,{key:1,class:`text-primary hover:underline`,href:X.value.billing,target:`_blank`,rel:`noopener noreferrer`},`billing`,8,kt)):c(``,!0)])])]),f(`section`,At,[f(`div`,jt,[i[7]||=f(`div`,null,[f(`h2`,{class:`text-[0.9375rem] font-medium`},`Daily cost`),f(`p`,{class:`text-sm text-muted`},`Stacked by component · USD list price`)],-1),f(`div`,Mt,[(l(!0),b(p,null,x(J.value,(e,t)=>(l(),b(`a`,{key:e,class:`inline-flex items-center gap-1.5 no-underline hover:text-highlighted hover:underline`,href:he(e),target:`_blank`,rel:`noopener noreferrer`,title:`Open where ${e} is billed`},[f(`i`,{class:h([`inline-block size-2.5 rounded-xs`,n(ue)[t%n(ue).length]])},null,2),S(a(e),1)],8,Nt))),128))])]),o(ye,{report:s.value,series:J.value},null,8,[`report`,`series`]),s.value.llmAvailable?s.value.days.some(e=>e.llmEstimated)?(l(),b(`p`,Ft,[i[9]||=S(` A day the Anthropic cost report has not closed yet (today, and yesterday until a few hours after midnight UTC) shows its LLM figure as an estimate: the hourly usage report priced at list. The closed days are the cost report itself. `,-1),s.value.days.some(e=>e.llmUnpricedTokens>0)?(l(),b(p,{key:0},[S(` Some tokens ran under a model this page has no price for and are not in the estimate. `)],64)):c(``,!0)])):c(``,!0):(l(),b(`p`,Pt,[...i[8]||=[S(` LLM spend not configured — set `,-1),f(`code`,null,`ANTHROPIC_ADMIN_KEY`,-1),S(` and the group's `,-1),f(`code`,null,`anthropicWorkspaceId`,-1),S(` to layer it in. `,-1)]]))]),f(`nav`,It,[(l(),b(p,null,x(M,e=>(l(),b(p,{key:e.view},[e.view===k.value?(l(),b(`span`,Lt,a(e.tab),1)):(l(),b(`a`,{key:1,class:`-mb-px border-b-2 border-transparent px-3 py-1.5 text-sm text-muted no-underline hover:border-muted hover:text-highlighted`,href:q(s.value.group,s.value.range.days,e.view)},a(e.tab),9,Rt))],64))),64))]),k.value===`daily`?c(``,!0):(l(),b(`section`,zt,[f(`div`,null,[f(`h2`,Bt,`Cost `+a(P.value.tab.toLowerCase()),1),f(`p`,Vt,a(P.value.subtitle),1)]),j.value?(l(),d(Xe,{key:0,report:j.value},null,8,[`report`])):(l(),b(`p`,Ht,` The `+a(P.value.tab.toLowerCase())+` report did not load with this page. `,1)),f(`p`,Ut,[i[10]||=S(` Machine-readable twin: `,-1),f(`code`,Wt,`GET /costs/`+a(s.value.group)+`/`+a(k.value)+`.json`,1),i[11]||=S(` (same Access gate). `,-1)])])),k.value===`daily`?(l(),b(`section`,Gt,[i[12]||=f(`div`,null,[f(`h2`,{class:`text-[0.9375rem] font-medium`},`What each cloud dollar buys`)],-1),f(`table`,Kt,[f(`tbody`,null,[(l(!0),b(p,null,x(fe.value,e=>(l(),b(`tr`,{key:e.label,class:`border-b border-muted`},[f(`td`,qt,[me(e.label)?(l(),b(`a`,{key:0,class:`no-underline hover:text-highlighted hover:underline`,href:me(e.label),target:`_blank`,rel:`noopener noreferrer`,title:`Open where this is billed on Cloudflare`},a(e.label),9,Jt)):(l(),b(p,{key:1},[S(a(e.label),1)],64))]),f(`td`,Yt,a(n(N)(e.usd)),1),f(`td`,Xt,a(Math.round(e.percent))+`%`,1),f(`td`,Zt,[f(`i`,{class:`block h-2.5 rounded-xs bg-primary opacity-75`,style:m({width:`${e.percent.toFixed(1)}%`})},null,4)])]))),128))])])])):c(``,!0),k.value===`daily`?(l(),b(`section`,Qt,[f(`details`,$t,[i[15]||=f(`summary`,{class:`cursor-pointer text-sm text-muted`},`Table view — daily cost by component (USD)`,-1),f(`div`,en,[f(`table`,tn,[f(`thead`,null,[f(`tr`,null,[i[13]||=f(`th`,{class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-left text-xs font-medium text-muted`},` Date `,-1),(l(!0),b(p,null,x(J.value,e=>(l(),b(`th`,{key:e,class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-right text-xs font-medium text-muted`},a(e),1))),128)),i[14]||=f(`th`,{class:`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-right text-xs font-medium text-muted`},` Total `,-1)])]),f(`tbody`,null,[(l(!0),b(p,null,x(_e.value,e=>(l(),b(`tr`,{key:e.date},[f(`td`,{class:`border-b border-muted px-2.5 py-1.5`,title:e.date},[S(a($(e.date))+` `,1),s.value.range.partialLastDay&&e.date===s.value.range.to?(l(),b(`span`,rn,`(partial day`+a(e.llmEstimated?` · LLM estimated`:``)+`)`,1)):e.llmEstimated?(l(),b(`span`,an,`(LLM estimated)`)):c(``,!0)],8,nn),(l(!0),b(p,null,x(J.value,t=>(l(),b(`td`,{key:t,class:`border-b border-muted px-2.5 py-1.5 text-right`},a(n(N)(n(F)(e,t),3)),1))),128)),f(`td`,on,a(n(N)(e.total,3)),1)]))),128))])])])]),f(`p`,sn,[i[16]||=S(` Machine-readable twin: `,-1),f(`code`,cn,`GET /costs/`+a(s.value.group)+`.json`,1),i[17]||=S(` (same Access gate). `,-1)])])):c(``,!0),f(`footer`,ln,[f(`details`,null,[i[25]||=f(`summary`,{class:`cursor-pointer text-muted`},`How these numbers are computed`,-1),f(`div`,un,[i[23]||=f(`div`,null,[f(`b`,null,`Snapshot.`),S(` Both billing sources and the run history are read once over the widest range this page offers and kept as a snapshot; every figure here, the JSON twins and the dimension tabs are arithmetic over it, with `),f(`em`,null,`today`),S(` the day it was taken. The line under the range says when that was, how old it is and when the next one is due (`),f(`code`,null,`costs.snapshot.everyHours`),S(`, daily by default); `),f(`code`,null,`costs snapshot`),S(` takes one now. Cloudflare bills vCPU on active use only; memory and disk bill on the provisioned size for every second a container is awake. LLM spend is the Anthropic Admin API cost report for this group's workspace (gross, USD); a day the cost report has not closed is the Admin API usage report, hourly, priced at Anthropic list per model (input, output, cache writes, cache reads) and marked as an estimate. `)],-1),i[24]||=f(`div`,null,[f(`b`,null,`Method.`),S(` Cloudflare GraphQL Analytics, every meter a Workers deployment is billed on: `),f(`code`,null,`containersUsageAdaptiveGroups`),S(` (cpuTimeSec, allocatedMemory, allocatedDisk per app per UTC day), `),f(`code`,null,`durableObjectsPeriodicGroups`),S(` (billable `),f(`code`,null,`duration`),S(` GB-s and SQLite rows read and written per namespace), `),f(`code`,null,`durableObjectsInvocationsAdaptiveGroups`),S(` (requests per namespace), `),f(`code`,null,`durableObjectsSqlStorageGroups`),S(` (bytes stored), `),f(`code`,null,`workersInvocationsAdaptive`),S(` (requests, CPU time), `),f(`code`,null,`r2StorageAdaptiveGroups`),S(` and `),f(`code`,null,`r2OperationsAdaptiveGroups`),S(` (bytes stored, class A/B operations). Prices: vCPU $0.000020/s, memory $0.0000025/GiB-s, disk $0.00000007/GB-s, DO duration $12.50 per million GB-s, DO requests $0.15/M, SQLite rows $0.001/M read and $1.00/M written, DO storage $0.20/GB-month, Workers $0.30/M requests and $0.02/M CPU-ms, R2 $0.015/GB-month, $4.50/M class A and $0.36/M class B (deletes free). Storage is the day's peak, prorated over a 30.44-day month. Gross list price — plan fees and included allowances are not subtracted; Workers Logs volume has no analytics dataset and is not priced. `)],-1),f(`div`,null,[i[18]||=f(`b`,null,`Scope.`,-1),i[19]||=S(` Attributed to this group: the Workers `,-1),(l(!0),b(p,null,x(s.value.attribution.workers,(e,t)=>(l(),b(p,{key:e},[t>0?(l(),b(p,{key:0},[S(`, `)],64)):c(``,!0),X.value?(l(),b(`a`,{key:1,class:`font-mono hover:underline`,href:X.value.worker(e),target:`_blank`,rel:`noopener noreferrer`},a(e),9,dn)):(l(),b(`code`,fn,a(e),1))],64))),128)),S(`, every Durable Object namespace they host (`+a(Object.keys(s.value.attribution.durableObjectNamespaces).length)+`), the R2 buckets named after them (`,1),(l(!0),b(p,null,x(Object.keys(s.value.attribution.r2Buckets),(e,t)=>(l(),b(p,{key:e},[t>0?(l(),b(p,{key:0},[S(`, `)],64)):c(``,!0),X.value?(l(),b(`a`,{key:1,class:`font-mono hover:underline`,href:X.value.bucket(e),target:`_blank`,rel:`noopener noreferrer`},a(e),9,pn)):(l(),b(`code`,mn,a(e),1))],64))),128)),Object.keys(s.value.attribution.r2Buckets).length===0?(l(),b(p,{key:0},[S(`none`)],64)):c(``,!0),i[20]||=S(`), and the container apps mapped in `,-1),f(`code`,null,`costs.groups.`+a(s.value.group),1),S(` (`+a(Object.keys(s.value.attribution.containerApps).length)+`). Everything else in the account is priced the same way into the account total, which is what "share of account" divides by. Every figure above links to where it is billed: the `,1),X.value?(l(),b(`a`,{key:1,class:`hover:underline`,href:X.value.account,target:`_blank`,rel:`noopener noreferrer`},`Cloudflare dashboard`,8,hn)):c(``,!0),i[21]||=S(` for the account `,-1),f(`code`,null,a(s.value.account.id),1),S(a(s.value.account.name?` (${s.value.account.name})`:``)+`, and `,1),X.value?(l(),b(`a`,{key:2,class:`hover:underline`,href:X.value.anthropic,target:`_blank`,rel:`noopener noreferrer`},`Anthropic's cost page`,8,gn)):c(``,!0),i[22]||=S(` for the LLM line. `,-1)])])])])]),_:1},8,[`title`])):(l(),d(e,{key:1,title:`${C.value} spend`,nav:`costs`},{default:r(()=>[f(`div`,_n,[_.value.length>1?(l(),b(`nav`,vn,[(l(!0),b(p,null,x(_.value,e=>(l(),b(p,{key:e},[e===C.value?(l(),b(`span`,yn,a(e),1)):(l(),b(`a`,{key:1,class:`rounded-md px-2.5 py-1 text-xs text-muted no-underline hover:bg-elevated hover:text-highlighted`,href:`/costs/${e}`},a(e),9,bn))],64))),128))])):c(``,!0)]),f(`section`,xn,[i[26]||=f(`h2`,{class:`text-sm font-medium text-highlighted`},`Nothing to show yet`,-1),f(`div`,Sn,[f(`p`,Cn,a(O.value),1),I.value?(l(),b(`button`,{key:0,type:`button`,class:`rounded-md border border-default px-2 py-0.5 text-xs text-muted hover:bg-elevated hover:text-highlighted disabled:cursor-not-allowed disabled:opacity-60`,disabled:W.value||w.value?.inFlight!==null,"data-snapshot-now":``,onClick:K},a(w.value?.inFlight?`Taking…`:`Snapshot now`),9,wn)):c(``,!0),G.value?(l(),b(`span`,Tn,a(G.value),1)):c(``,!0)]),i[27]||=f(`p`,{class:`text-xs text-dimmed`},[S(` The page prices a stored snapshot of both billing sources, never a live read; the figures appear here the moment the first one lands (this page listens for it), or take one now with `),f(`code`,null,`costs snapshot`),S(`. `)],-1)])]),_:1},8,[`title`]))}});export{En as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./AppShell-B4EUiSwP.js";import{Dn as t,Ei as n,Gr as r,Mi as i,_n as a,fr as o,gn as s,hn as c,in as l,ki as u,mn as d,r as f,vn as p,vr as m,wn as h}from"./seed-BhxEVasY.js";import{a as g,c as ee,d as te,i as _,l as v,n as ne,o as y,r as b,s as x,t as S,u as re}from"./delivery-CTdOqpVK.js";import{t as ie}from"./wallClock-DPTuP2FD.js";var C=6e4;1440*C,10*C,5*C;var w={general:2,coding:10,review:5,research:3,explore:15,conductor:15};w.coding,w.coding,w.review;function T(e,t){return e.truncated&&e.completeFrom!==void 0&&Date.parse(`${t}T00:00:00Z`)<Date.parse(e.completeFrom)}Object.freeze({reviewers:[],agentLogins:[],agentCoauthors:[]}),Object.freeze({default:60,min:5,max:1440});var E={class:`text-xs text-muted`},D={key:1,class:`text-highlighted`},O=[`href`],k={class:`mb-4 flex flex-wrap items-center gap-x-4 gap-y-2`},A={key:0,class:`flex items-center gap-1`,"aria-label":`Repositories`},j={key:0,class:`rounded-md bg-accented px-2.5 py-1 text-xs font-medium text-highlighted`,"aria-current":`page`},M=[`href`],N={class:`font-mono text-sm tabular-nums text-muted`},P={class:`mb-5 grid gap-3`},F={key:0,class:`text-sm text-muted`},I={class:`grid grid-cols-[repeat(auto-fit,minmax(190px,1fr))] gap-3`},L={class:`font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},R={class:`font-mono text-2xl font-medium tabular-nums`},z={class:`text-xs text-muted`},B={class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},V={class:`overflow-x-auto`},H={class:`weeks w-full min-w-[52rem] border-collapse whitespace-nowrap font-mono text-[0.8125rem] tabular-nums`},ae=[`title`],U={key:0,class:`ml-1 text-xs`},W={key:0,class:`text-xs text-muted`},G={class:`mb-5 grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`},K={key:0,class:`text-sm text-muted`},q={key:1,class:`overflow-x-auto`},J={class:`units w-full min-w-[52rem] border-collapse font-mono text-[0.8125rem] tabular-nums`},oe=[`href`],se={key:1,class:`text-dimmed`},ce=[`title`],le=[`href`],ue={class:`text-xs text-muted`},de={class:`rounded bg-accented px-1 py-0.5`},fe={class:`border-t border-default pt-3.5 text-xs text-dimmed`},pe={key:0,class:`mb-2 font-mono tabular-nums text-muted`},me=[`href`],he={class:`mt-2 grid gap-1.5`},Y=`border-b border-muted bg-(--ui-bg-muted) px-2.5 py-1.5 text-xs font-medium text-muted whitespace-nowrap`,X=`border-b border-muted px-2.5 py-1.5`,Z=t({__name:`DeliveryPage`,setup(t){let C=f(`delivery`),w=d(()=>C?.report??null),Z=d(()=>C?.repos??[]),ge=d(()=>w.value?re(w.value):[]),Q=d(()=>w.value?ne(w.value):void 0),$=e=>w.value?T(w.value,e):!1,_e=d(()=>w.value?.weeks.some(e=>$(e.week))??!1),ve=[1,2,4,8,13],ye=ie(void 0,6e4),be=typeof window>`u`?``:window.location.search;return(t,d)=>w.value?(o(),s(e,{key:0,title:`${w.value.repo} delivery`,nav:`delivery`},{actions:r(()=>[c(`span`,E,[(o(),p(l,null,m(ve,(e,t)=>(o(),p(l,{key:e},[t>0?(o(),p(l,{key:0},[h(` · `)],64)):a(``,!0),e===w.value.range.weeks?(o(),p(`b`,D,i(e)+`w`,1)):(o(),p(`a`,{key:2,class:`text-primary hover:underline`,href:`/delivery/${w.value.repo}?weeks=${e}`},i(e)+`w`,9,O))],64))),64))])]),default:r(()=>[c(`div`,k,[Z.value.length>1?(o(),p(`nav`,A,[(o(!0),p(l,null,m(Z.value,e=>(o(),p(l,{key:e},[e===w.value.repo?(o(),p(`span`,j,i(e),1)):(o(),p(`a`,{key:1,class:`rounded-md px-2.5 py-1 text-xs text-muted no-underline hover:bg-elevated hover:text-highlighted`,href:`/delivery/${e}`},i(e),9,M))],64))),128))])):a(``,!0),c(`p`,N,i(n(y)(w.value.range.since))+` → `+i(n(y)(w.value.range.until))+` · `+i(w.value.range.weeks)+`w · weeks start Monday, UTC `,1)]),c(`section`,P,[Q.value?(o(),p(`p`,F,i(Q.value),1)):a(``,!0),c(`div`,I,[(o(!0),p(l,null,m(ge.value,e=>(o(),p(`div`,{key:e.label,class:`grid gap-0.5 rounded-lg border border-default bg-elevated px-4 py-3.5`},[c(`span`,L,i(e.label),1),c(`span`,R,i(e.value),1),c(`span`,z,i(e.note),1)]))),128))])]),c(`section`,B,[d[0]||=c(`div`,null,[c(`h2`,{class:`text-[0.9375rem] font-medium`},`By week`),c(`p`,{class:`text-sm text-muted`},`One row per Monday-start week · merged pull requests only`)],-1),c(`div`,V,[c(`table`,H,[c(`thead`,null,[c(`tr`,null,[c(`th`,{class:u([Y,`text-left`])},`Week`,2),c(`th`,{class:u([Y,`text-right`])},`Merged`,2),c(`th`,{class:u([Y,`text-right`])},`Agent-authored`,2),c(`th`,{class:u([Y,`text-right`])},`Issue → merge`,2),c(`th`,{class:u([Y,`text-right`])},`First-pass CI`,2),c(`th`,{class:u([Y,`text-right`])},`Rounds / PR`,2),c(`th`,{class:u([Y,`text-right`])},`Findings`,2),c(`th`,{class:u([Y,`text-right`])},`No human edit`,2),c(`th`,{class:u([Y,`text-right`])},`Agent run min`,2)])]),c(`tbody`,null,[(o(!0),p(l,null,m(w.value.weeks,e=>(o(),p(`tr`,{key:e.week,class:u($(e.week)?`text-dimmed`:``)},[c(`td`,{class:u(X),title:`${e.week} → ${e.until}`},[h(i(n(y)(e.week))+` – `+i(n(y)(e.until))+` `,1),$(e.week)?(o(),p(`span`,U,`(incomplete)`)):a(``,!0)],8,ae),c(`td`,{class:u([X,`text-right font-medium`])},i(e.prsMerged),3),c(`td`,{class:u([X,`text-right`])},i(e.agentAuthoredPrs),3),c(`td`,{class:u([X,`text-right`])},i(n(g)(e.leadTimeHours.median)),3),c(`td`,{class:u([X,`text-right`])},i(n(S)(e)),3),c(`td`,{class:u([X,`text-right`])},i(n(ee)(e.reviewRounds.perPr)),3),c(`td`,{class:u([X,`text-right`])},i(n(b)(e)),3),c(`td`,{class:u([X,`text-right`])},i(n(x)(e.findings.noHumanEditShare)),3),c(`td`,{class:u([X,`text-right`])},i(e.agentRuns.minutes.toFixed(0)),3)],2))),128))])])]),_e.value&&w.value.completeFrom?(o(),p(`p`,W,` Incomplete weeks hold the newest pull requests the read reached — it is complete from `+i(n(v)(w.value.completeFrom))+` — so their numbers are a floor on the merges, not the week's. `,1)):a(``,!0)]),c(`section`,G,[d[3]||=c(`div`,null,[c(`h2`,{class:`text-[0.9375rem] font-medium`},`By unit`),c(`p`,{class:`text-sm text-muted`},` One row per board issue the pull requests link · the issue's opening starts the clock `)],-1),w.value.units.length===0?(o(),p(`p`,K,`Nothing merged in range.`)):(o(),p(`div`,q,[c(`table`,J,[c(`thead`,null,[c(`tr`,null,[c(`th`,{class:u([Y,`text-left`])},`Issue`,2),c(`th`,{class:u([Y,`text-left`])},`Unit`,2),c(`th`,{class:u([Y,`text-left`])},`PRs`,2),c(`th`,{class:u([Y,`text-right`])},`Issue → merge`,2),c(`th`,{class:u([Y,`text-right`])},`First-pass CI`,2),c(`th`,{class:u([Y,`text-right`])},`Rounds`,2),c(`th`,{class:u([Y,`text-right`])},`Findings`,2),c(`th`,{class:u([Y,`text-right`])},`No human edit`,2)])]),c(`tbody`,null,[(o(!0),p(l,null,m(w.value.units,e=>(o(),p(`tr`,{key:e.issue??`none`},[c(`td`,{class:u([X,`whitespace-nowrap`])},[e.issue===null?(o(),p(`span`,se,`—`)):(o(),p(`a`,{key:0,class:`text-primary hover:underline`,href:`https://github.com/${w.value.repo}/issues/${e.issue}`},`#`+i(e.issue),9,oe))],2),c(`td`,{class:u([X,`max-w-[28rem] truncate font-sans`]),title:e.title},i(e.title),11,ce),c(`td`,{class:u([X,`whitespace-nowrap`])},[(o(!0),p(l,null,m(e.prs,(e,t)=>(o(),p(l,{key:e},[t>0?(o(),p(l,{key:0},[h(`, `)],64)):a(``,!0),c(`a`,{class:`text-primary hover:underline`,href:`https://github.com/${w.value.repo}/pull/${e}`},i(e),9,le)],64))),128))],2),c(`td`,{class:u([X,`text-right`])},i(n(g)(e.leadTimeHours.median)),3),c(`td`,{class:u([X,`text-right`])},i(n(S)(e)),3),c(`td`,{class:u([X,`text-right`])},i(e.reviewRounds.verdicts),3),c(`td`,{class:u([X,`text-right`])},i(n(b)(e)),3),c(`td`,{class:u([X,`text-right`])},i(n(x)(e.findings.noHumanEditShare)),3)]))),128))])])])),c(`p`,ue,[d[1]||=h(` Machine-readable twin: `,-1),c(`code`,de,`GET /delivery/`+i(w.value.repo)+`.json`,1),d[2]||=h(` (same gate). `,-1)])]),c(`footer`,fe,[w.value.snapshotAt?(o(),p(`p`,pe,[h(` As of `+i(n(v)(w.value.snapshotAt))+`, `+i(n(te)(w.value.snapshotAt,n(ye)))+` · `,1),c(`a`,{class:`text-primary hover:underline`,href:n(_)(n(be))},`read GitHub now`,8,me)])):a(``,!0),c(`details`,null,[d[13]||=c(`summary`,{class:`cursor-pointer text-muted`},`How these numbers are computed`,-1),c(`div`,he,[d[11]||=c(`div`,null,[c(`b`,null,`Snapshot.`),h(` GitHub's record of the merged pull requests (each one's timeline and its branch's workflow runs, the board issue its body links) is read on an interval and kept as a snapshot the page, its JSON twin and `),c(`code`,null,`delivery report`),h(` serve; `),c(`code`,null,`?fresh=1`),h(` reads GitHub now. The run history you may see joins on every load. `)],-1),d[12]||=c(`div`,null,[c(`b`,null,`Issue → merge`),h(` runs from the linked board issue's opening (a closing keyword or a `),c(`code`,null,`board item`),h(` reference in the body) to the merge; a pull request that links no issue counts from its own opening. `),c(`b`,null,`First-pass CI`),h(` is green when every pull-request-triggered workflow run (`),c(`code`,null,`pull_request`),h(`, `),c(`code`,null,`pull_request_target`),h(`) on the first head succeeded at its first attempt — a rerun or a red run fails it; a head with no such run is not counted. `),c(`b`,null,`Review rounds`),h(` are the review agent's verdicts; a `),c(`i`,null,`fix round`),h(` is a verdict that followed a push. `),c(`b`,null,`No human edit`),h(` is the share of the agent's findings on pull requests where every push after the first verdict was an agent's: a bot login, or a commit co-authored by an agent. `),c(`b`,null,`Agent run minutes`),h(` are the finished runs of this repository that named a pull request. `)],-1),c(`div`,null,[d[5]||=c(`b`,null,`Identities.`,-1),d[6]||=h(` Verdicts by `,-1),c(`code`,null,i(w.value.identities.reviewers.join(`, `)||`(none configured)`),1),d[7]||=h(`; agent logins end in `,-1),d[8]||=c(`code`,null,`[bot]`,-1),w.value.identities.agentLogins.length?(o(),p(l,{key:0},[d[4]||=h(`, plus `,-1),c(`code`,null,i(w.value.identities.agentLogins.join(`, `)),1)],64)):a(``,!0),d[9]||=h(`; agent co-authors named `,-1),c(`code`,null,i(w.value.identities.agentCoauthors.join(`, `)||`(none)`),1),d[10]||=h(`. `,-1)])])])])]),_:1},8,[`title`])):a(``,!0)}});export{Z as default};
@@ -1,2 +1,2 @@
1
- import{a as e,i as t,r as n,t as r}from"./AppShell-qqs_p96-.js";import{$n as i,At as a,Br as o,Dn as s,Ei as c,Gr as l,Mi as u,Qt as d,Tn as f,Yt as p,_n as m,a as ee,fr as h,g,gi as _,gn as v,hn as y,in as b,ji as te,ki as x,kt as S,mi as C,mn as w,mr as ne,nr as re,o as T,or as ie,qr as E,r as D,ur as O,vn as k,vr as A,wn as j,yr as M}from"./seed-DFfT5S_N.js";import{t as N}from"./Tooltip-CiP8qPd7.js";import{i as P,n as F,r as ae,t as oe}from"./PendingTurnRow-D2gHef5v.js";import{t as se}from"./eventSource-By0B_w4S.js";import{t as ce}from"./wallClock-DD_fPuSY.js";import{n as le,r as ue}from"./favicon-D1hkyC5j.js";import{n as I,r as L,t as R}from"./indexFormat-B-pd4r7Y.js";import{O as de,a as z,i as fe,t as pe,y as me}from"./indexRow-BmK74Vp1.js";import{i as he}from"./format-BldUwl_R.js";import{i as ge,n as _e,t as ve}from"./durationTone-D51enaGR.js";import{D as B,E as ye,a as V,c as be,d as H,i as xe,n as Se,o as Ce,s as we,t as Te,u as U,v as W}from"./sseReplay-DPXVxhL5.js";var G=`To run this:`;function Ee(e,t){return e?t.trim()===``?`stop`:`steer`:`send`}var K=`↪ Folded into`;function De(e){let t=e.trim();return t.startsWith(`To run this:`)?{kind:`handBack`,command:t.slice(G.length).trim()}:t.startsWith(K)?{kind:`steerAck`,text:t}:{kind:`inline`,text:t}}function Oe(e){let t=/^\/runs\/([^/?#]+)(\?t=([^&#]+))?$/.exec(e);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[3]?`?t=${t[3]}`:``;return{id:n,eventsUrl:`/runs/${t[1]}/events${r}`,stopUrl:`/runs/${t[1]}/stop${r}`}}function q(e,t=60){let n=e.split(/\r?\n/).find(e=>e.trim()!==``)?.trim()??``;return n.length<=t?n||`New conversation`:`${n.slice(0,t-1).trimEnd()}…`}function ke(e,t){let n=t-e;if(!(n>45e3))return`now`;let r=Math.floor(n/6e4);if(r<60)return`${Math.max(1,r)}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);return a<7?`${a}d`:I(e,t)}function Ae(e,t){let n=e.surface??`web`,r=fe[n]??n,i=e.channelName?`${r} #${e.channelName}`:r;return{title:e.excerpt||e.title,when:R(e.lastAt,t),source:n===`web`?r:`${i} · read-only here`,runs:`${e.runs} run${e.runs===1?``:`s`}`,live:e.live}}var J={min:224,default:288,max:448,step:16};function je(e){let t=typeof e==`string`?Number(e):e;return typeof t!=`number`||!Number.isFinite(t)?J.default:Math.min(J.max,Math.max(J.min,Math.round(t)))}var Y={width:`sb.rail.width`,collapsed:`sb.rail.collapsed`};function Me(e){return{width:je(e.width??void 0),collapsed:e.collapsed===`1`}}function Ne(e,t){let n=e<5?`Still up`:e<12?`Good morning`:e<18?`Good afternoon`:`Good evening`;return t?`${n}, ${t}.`:`${n}.`}function Pe(e,t){let n=t.trim();for(let t=e.length-1;t>=0;t--){let r=e[t];if(!r.folded&&r.text.trim()===n)return r}return null}function Fe(e,t=60){return e<=t}function Ie(e){return e.key===`Enter`&&!e.shiftKey&&!e.isComposing}function X(e,t){let n=e.trim().toLowerCase();if(n===``)return 0;let r=t.toLowerCase(),i=0,a=-1,o=-1;for(let e of n){if(e===` `)continue;let t=r.indexOf(e,i);if(t===-1)return null;a===-1&&(a=t),o=t,i=t+1}return a===-1?0:o-a}function Le(e,t){return t.trim()===``?[...e]:e.map((e,n)=>({row:e,i:n,score:X(t,e.title)})).filter(e=>e.score!==null).sort((e,t)=>e.score-t.score||e.i-t.i).map(e=>e.row)}function Re(e){if(!(e.metaKey||e.ctrlKey))return null;let t=e.key.toLowerCase();return t===`o`&&e.shiftKey?`newThread`:t===`k`&&!e.shiftKey?`search`:null}function ze(e,t){return t?``:e===`steer`?`Say what to add — it folds into the run at its next step`:e===`stop`?`A run is working — type to steer it, or stop it`:`Review a pull request, ship a fix, investigate a run… or type / for a command`}function Be(e){let t=new Map;for(let n of e){let[e,r]=n.chat.split(` `,2);if(!e)continue;let i=t.get(e)??{name:e,verbs:[]};r===void 0?i.bare=n:i.verbs.push({verb:r,command:n}),t.set(e,i)}return[...t.values()]}function Z(e,t,n){if(t===``)return[...e];let r=t.toLowerCase(),i=e.filter(e=>n(e)[0].toLowerCase().startsWith(r));return i.length>0?i:e.map((e,r)=>{let i=n(e).map(e=>X(t,e)).filter(e=>e!==null);return i.length===0?null:{item:e,i:r,score:Math.min(...i)}}).filter(e=>e!==null).sort((e,t)=>e.score-t.score||e.i-t.i).map(e=>e.item)}function Ve(e,t=0,n=new Set){let r=(e.args??[]).slice(t),i=(e.options??[]).filter(e=>!n.has(Q(e.form))).map(e=>`[${e.form}]`);return[...r,...i].join(` `)}var Q=e=>e.split(` `,1)[0];function He(e,t){let n=new Set,r=0;for(let i=0;i<t.length;i++){let a=t[i];if(a.startsWith(`-`)){n.add(a);let t=(e.options??[]).find(e=>Q(e.form)===a);t&&t.form.includes(` `)&&i++}else r++}return{positionals:r,flags:n}}function Ue(e,t){let n=/^\/([^\n]*)$/.exec(e);if(!n||t.length===0)return null;let r=n[1].split(` `),i=r[r.length-1],a=r.slice(0,-1).filter(e=>e!==``),o=e.slice(0,e.length-i.length),s=Be(t);if(a.length===0)return{level:`group`,head:o,partial:i,rows:Z(s,i,e=>[e.name,...e.bare?[e.bare.describe]:[],...e.verbs.map(e=>e.command.describe)]).map(e=>({insert:e.name,label:`/${e.name}`,describe:e.bare?e.verbs.length>0?`${e.bare.describe} · also ${e.verbs.map(e=>e.verb).join(`, `)}`:e.bare.describe:e.verbs.map(e=>e.verb).join(` · `),kind:e.bare&&e.verbs.length===0?`command`:`group`,acceptable:!0}))};let c=s.find(e=>e.name===a[0]);if(!c)return null;if(a.length===1){let e=Z(c.verbs,i,e=>[e.verb,e.command.describe]);if(e.length===0&&c.bare&&i!==``)return Ge(c.bare,o,i,[]);if(e.length===0&&!c.bare)return{level:`verb`,head:o,partial:i,rows:[]};let t=e.map(e=>({insert:e.verb,label:`/${e.command.chat}`,describe:e.command.describe,kind:`command`,acceptable:!0}));return c.bare&&i===``&&t.unshift(We(c.bare,0,new Set)),{level:`verb`,head:o,partial:i,rows:t}}let l=c.verbs.find(e=>e.verb===a[1]);return l?Ge(l.command,o,i,a.slice(2)):c.bare?Ge(c.bare,o,i,a.slice(1)):null}function We(e,t,n){let r=Ve(e,t,n);return{insert:``,label:`/${e.chat}`,describe:r?`${r} — ${e.describe}`:e.describe,kind:`usage`,acceptable:!1}}function Ge(e,t,n,r){let i=He(e,r);return n.startsWith(`-`)?{level:`tail`,head:t,partial:n,rows:Z((e.options??[]).filter(e=>!i.flags.has(Q(e.form))),n,e=>[Q(e.form),e.describe]).map(e=>({insert:Q(e.form),label:e.form,describe:e.describe,kind:`option`,acceptable:!0})),command:e}:{level:`tail`,head:t,partial:n,rows:[We(e,i.positionals,i.flags)],command:e}}function Ke(e,t){let n=e.rows[t];if(!n)return null;if(n.acceptable){if(!n.insert.toLowerCase().startsWith(e.partial.toLowerCase()))return null;let t=n.insert.slice(e.partial.length);return t===``?null:{text:t,acceptable:!0}}if(e.partial!==``||n.kind!==`usage`)return null;let[r,...i]=n.describe.split(` — `);return i.length===0?null:{text:r,acceptable:!1}}function qe(e,t){return`${e.head}${t.insert} `}function Je(e,t){if(!e.startsWith(`/`))return e;let n=e.slice(1),[r,i]=n.split(/\s+/,2);return t.some(e=>e.chat===r||i!==void 0&&e.chat===`${r} ${i}`)?n:e}var $={class:`composer-wrap relative`},Ye={key:0,class:`palette absolute bottom-full left-0 right-0 z-20 mb-2 max-h-72 overflow-y-auto rounded-xl border border-default bg-(--ui-bg-elevated) p-1 shadow-sm`,role:`listbox`,"aria-label":`Commands`,"data-testid":`palette`},Xe={key:0,class:`px-3 py-2 font-mono text-xs text-dimmed`},Ze=[`aria-selected`,`data-insert`,`data-kind`,`data-label`,`onClick`,`onMouseenter`],Qe={class:`chat shrink-0 font-mono text-[0.8rem] font-medium text-highlighted`},$e={class:`describe min-w-0 flex-1 truncate text-[0.8rem] text-muted`},et={key:0,class:`shrink-0 rounded border border-default px-1 font-mono text-[0.62rem] text-dimmed`,"aria-hidden":`true`},tt=[`data-mode`],nt={class:`relative min-w-0 flex-1`},rt=[`data-acceptable`],it={class:`invisible`},at={class:`text-dimmed`},ot=[`rows`,`value`,`placeholder`,`autofocus`,`aria-expanded`],st=[`aria-hidden`,`data-hint`,`data-shown`],ct=s({__name:`ChatComposer`,props:{modelValue:{},mode:{},hint:{},autofocus:{type:Boolean},sweepOnMount:{type:Boolean},commands:{}},emits:[`update:modelValue`,`submit`,`stop`],setup(e,{expose:t,emit:n}){let r=e,a=n,s=_(null),c=_(!1),p=_(!1),ee=w(()=>Math.min(8,Math.max(1,r.modelValue.split(`
1
+ import{a as e,i as t,r as n,t as r}from"./AppShell-B4EUiSwP.js";import{$n as i,At as a,Br as o,Dn as s,Ei as c,Gr as l,Mi as u,Qt as d,Tn as f,Yt as p,_n as m,a as ee,fr as h,g,gi as _,gn as v,hn as y,in as b,ji as te,ki as x,kt as S,mi as C,mn as w,mr as ne,nr as re,o as T,or as ie,qr as E,r as D,ur as O,vn as k,vr as A,wn as j,yr as M}from"./seed-BhxEVasY.js";import{t as N}from"./Tooltip-BgbCkM12.js";import{i as P,n as F,r as ae,t as oe}from"./PendingTurnRow-BoSLlR6j.js";import{t as se}from"./eventSource-Ce94ho6M.js";import{t as ce}from"./wallClock-DPTuP2FD.js";import{n as le,r as ue}from"./favicon-D1hkyC5j.js";import{n as I,r as L,t as R}from"./indexFormat-B-pd4r7Y.js";import{O as de,a as z,i as fe,t as pe,y as me}from"./indexRow-BmK74Vp1.js";import{i as he}from"./format-BldUwl_R.js";import{i as ge,n as _e,t as ve}from"./durationTone-l6aVrHb8.js";import{D as B,E as ye,a as V,c as be,d as H,i as xe,n as Se,o as Ce,s as we,t as Te,u as U,v as W}from"./sseReplay-qF-gpbAY.js";var G=`To run this:`;function Ee(e,t){return e?t.trim()===``?`stop`:`steer`:`send`}var K=`↪ Folded into`;function De(e){let t=e.trim();return t.startsWith(`To run this:`)?{kind:`handBack`,command:t.slice(G.length).trim()}:t.startsWith(K)?{kind:`steerAck`,text:t}:{kind:`inline`,text:t}}function Oe(e){let t=/^\/runs\/([^/?#]+)(\?t=([^&#]+))?$/.exec(e);if(!t)return null;let n=decodeURIComponent(t[1]),r=t[3]?`?t=${t[3]}`:``;return{id:n,eventsUrl:`/runs/${t[1]}/events${r}`,stopUrl:`/runs/${t[1]}/stop${r}`}}function q(e,t=60){let n=e.split(/\r?\n/).find(e=>e.trim()!==``)?.trim()??``;return n.length<=t?n||`New conversation`:`${n.slice(0,t-1).trimEnd()}…`}function ke(e,t){let n=t-e;if(!(n>45e3))return`now`;let r=Math.floor(n/6e4);if(r<60)return`${Math.max(1,r)}m`;let i=Math.floor(r/60);if(i<24)return`${i}h`;let a=Math.floor(i/24);return a<7?`${a}d`:I(e,t)}function Ae(e,t){let n=e.surface??`web`,r=fe[n]??n,i=e.channelName?`${r} #${e.channelName}`:r;return{title:e.excerpt||e.title,when:R(e.lastAt,t),source:n===`web`?r:`${i} · read-only here`,runs:`${e.runs} run${e.runs===1?``:`s`}`,live:e.live}}var J={min:224,default:288,max:448,step:16};function je(e){let t=typeof e==`string`?Number(e):e;return typeof t!=`number`||!Number.isFinite(t)?J.default:Math.min(J.max,Math.max(J.min,Math.round(t)))}var Y={width:`sb.rail.width`,collapsed:`sb.rail.collapsed`};function Me(e){return{width:je(e.width??void 0),collapsed:e.collapsed===`1`}}function Ne(e,t){let n=e<5?`Still up`:e<12?`Good morning`:e<18?`Good afternoon`:`Good evening`;return t?`${n}, ${t}.`:`${n}.`}function Pe(e,t){let n=t.trim();for(let t=e.length-1;t>=0;t--){let r=e[t];if(!r.folded&&r.text.trim()===n)return r}return null}function Fe(e,t=60){return e<=t}function Ie(e){return e.key===`Enter`&&!e.shiftKey&&!e.isComposing}function X(e,t){let n=e.trim().toLowerCase();if(n===``)return 0;let r=t.toLowerCase(),i=0,a=-1,o=-1;for(let e of n){if(e===` `)continue;let t=r.indexOf(e,i);if(t===-1)return null;a===-1&&(a=t),o=t,i=t+1}return a===-1?0:o-a}function Le(e,t){return t.trim()===``?[...e]:e.map((e,n)=>({row:e,i:n,score:X(t,e.title)})).filter(e=>e.score!==null).sort((e,t)=>e.score-t.score||e.i-t.i).map(e=>e.row)}function Re(e){if(!(e.metaKey||e.ctrlKey))return null;let t=e.key.toLowerCase();return t===`o`&&e.shiftKey?`newThread`:t===`k`&&!e.shiftKey?`search`:null}function ze(e,t){return t?``:e===`steer`?`Say what to add — it folds into the run at its next step`:e===`stop`?`A run is working — type to steer it, or stop it`:`Review a pull request, ship a fix, investigate a run… or type / for a command`}function Be(e){let t=new Map;for(let n of e){let[e,r]=n.chat.split(` `,2);if(!e)continue;let i=t.get(e)??{name:e,verbs:[]};r===void 0?i.bare=n:i.verbs.push({verb:r,command:n}),t.set(e,i)}return[...t.values()]}function Z(e,t,n){if(t===``)return[...e];let r=t.toLowerCase(),i=e.filter(e=>n(e)[0].toLowerCase().startsWith(r));return i.length>0?i:e.map((e,r)=>{let i=n(e).map(e=>X(t,e)).filter(e=>e!==null);return i.length===0?null:{item:e,i:r,score:Math.min(...i)}}).filter(e=>e!==null).sort((e,t)=>e.score-t.score||e.i-t.i).map(e=>e.item)}function Ve(e,t=0,n=new Set){let r=(e.args??[]).slice(t),i=(e.options??[]).filter(e=>!n.has(Q(e.form))).map(e=>`[${e.form}]`);return[...r,...i].join(` `)}var Q=e=>e.split(` `,1)[0];function He(e,t){let n=new Set,r=0;for(let i=0;i<t.length;i++){let a=t[i];if(a.startsWith(`-`)){n.add(a);let t=(e.options??[]).find(e=>Q(e.form)===a);t&&t.form.includes(` `)&&i++}else r++}return{positionals:r,flags:n}}function Ue(e,t){let n=/^\/([^\n]*)$/.exec(e);if(!n||t.length===0)return null;let r=n[1].split(` `),i=r[r.length-1],a=r.slice(0,-1).filter(e=>e!==``),o=e.slice(0,e.length-i.length),s=Be(t);if(a.length===0)return{level:`group`,head:o,partial:i,rows:Z(s,i,e=>[e.name,...e.bare?[e.bare.describe]:[],...e.verbs.map(e=>e.command.describe)]).map(e=>({insert:e.name,label:`/${e.name}`,describe:e.bare?e.verbs.length>0?`${e.bare.describe} · also ${e.verbs.map(e=>e.verb).join(`, `)}`:e.bare.describe:e.verbs.map(e=>e.verb).join(` · `),kind:e.bare&&e.verbs.length===0?`command`:`group`,acceptable:!0}))};let c=s.find(e=>e.name===a[0]);if(!c)return null;if(a.length===1){let e=Z(c.verbs,i,e=>[e.verb,e.command.describe]);if(e.length===0&&c.bare&&i!==``)return Ge(c.bare,o,i,[]);if(e.length===0&&!c.bare)return{level:`verb`,head:o,partial:i,rows:[]};let t=e.map(e=>({insert:e.verb,label:`/${e.command.chat}`,describe:e.command.describe,kind:`command`,acceptable:!0}));return c.bare&&i===``&&t.unshift(We(c.bare,0,new Set)),{level:`verb`,head:o,partial:i,rows:t}}let l=c.verbs.find(e=>e.verb===a[1]);return l?Ge(l.command,o,i,a.slice(2)):c.bare?Ge(c.bare,o,i,a.slice(1)):null}function We(e,t,n){let r=Ve(e,t,n);return{insert:``,label:`/${e.chat}`,describe:r?`${r} — ${e.describe}`:e.describe,kind:`usage`,acceptable:!1}}function Ge(e,t,n,r){let i=He(e,r);return n.startsWith(`-`)?{level:`tail`,head:t,partial:n,rows:Z((e.options??[]).filter(e=>!i.flags.has(Q(e.form))),n,e=>[Q(e.form),e.describe]).map(e=>({insert:Q(e.form),label:e.form,describe:e.describe,kind:`option`,acceptable:!0})),command:e}:{level:`tail`,head:t,partial:n,rows:[We(e,i.positionals,i.flags)],command:e}}function Ke(e,t){let n=e.rows[t];if(!n)return null;if(n.acceptable){if(!n.insert.toLowerCase().startsWith(e.partial.toLowerCase()))return null;let t=n.insert.slice(e.partial.length);return t===``?null:{text:t,acceptable:!0}}if(e.partial!==``||n.kind!==`usage`)return null;let[r,...i]=n.describe.split(` — `);return i.length===0?null:{text:r,acceptable:!1}}function qe(e,t){return`${e.head}${t.insert} `}function Je(e,t){if(!e.startsWith(`/`))return e;let n=e.slice(1),[r,i]=n.split(/\s+/,2);return t.some(e=>e.chat===r||i!==void 0&&e.chat===`${r} ${i}`)?n:e}var $={class:`composer-wrap relative`},Ye={key:0,class:`palette absolute bottom-full left-0 right-0 z-20 mb-2 max-h-72 overflow-y-auto rounded-xl border border-default bg-(--ui-bg-elevated) p-1 shadow-sm`,role:`listbox`,"aria-label":`Commands`,"data-testid":`palette`},Xe={key:0,class:`px-3 py-2 font-mono text-xs text-dimmed`},Ze=[`aria-selected`,`data-insert`,`data-kind`,`data-label`,`onClick`,`onMouseenter`],Qe={class:`chat shrink-0 font-mono text-[0.8rem] font-medium text-highlighted`},$e={class:`describe min-w-0 flex-1 truncate text-[0.8rem] text-muted`},et={key:0,class:`shrink-0 rounded border border-default px-1 font-mono text-[0.62rem] text-dimmed`,"aria-hidden":`true`},tt=[`data-mode`],nt={class:`relative min-w-0 flex-1`},rt=[`data-acceptable`],it={class:`invisible`},at={class:`text-dimmed`},ot=[`rows`,`value`,`placeholder`,`autofocus`,`aria-expanded`],st=[`aria-hidden`,`data-hint`,`data-shown`],ct=s({__name:`ChatComposer`,props:{modelValue:{},mode:{},hint:{},autofocus:{type:Boolean},sweepOnMount:{type:Boolean},commands:{}},emits:[`update:modelValue`,`submit`,`stop`],setup(e,{expose:t,emit:n}){let r=e,a=n,s=_(null),c=_(!1),p=_(!1),ee=w(()=>Math.min(8,Math.max(1,r.modelValue.split(`
2
2
  `).length))),te={send:{icon:`i-lucide-arrow-up`,label:`Send`},steer:{icon:`i-lucide-corner-down-right`,label:`Steer the run`},stop:{icon:`i-lucide-square`,label:`Stop the run`}},C=w(()=>te[r.mode]),ne=w(()=>ze(r.mode,r.hint)),re=w(()=>r.hint?r.hint:r.mode===`steer`?`Enter folds this into the run in flight`:r.mode===`stop`?`A run is in flight · type to steer it, or stop it`:`Enter to send · Shift+Enter for a new line · / for a command`),E=w(()=>c.value||r.hint!==void 0||r.mode!==`send`),D=w(()=>Ue(r.modelValue,r.commands??[])),O=w(()=>D.value?.rows??[]),j=_(!1),M=_(0),N=w(()=>D.value!==null&&!j.value),P=w(()=>N.value&&D.value?Ke(D.value,M.value):null);o(()=>`${D.value?.level??``}|${D.value?.head??``}`,()=>{j.value=!1,M.value=0}),o(O,e=>{M.value>=e.length&&(M.value=Math.max(0,e.length-1))});function F(e){D.value&&e.acceptable&&(a(`update:modelValue`,qe(D.value,e)),I())}function ae(){let e=s.value;return!e||e.selectionStart===e.value.length&&e.selectionEnd===e.value.length}function oe(e){a(`update:modelValue`,e.target.value)}function se(e){if(N.value){if(e.key===`ArrowDown`){e.preventDefault(),O.value.length>0&&(M.value=(M.value+1)%O.value.length);return}if(e.key===`ArrowUp`){e.preventDefault(),O.value.length>0&&(M.value=(M.value-1+O.value.length)%O.value.length);return}if(e.key===`Escape`){e.preventDefault(),j.value=!0;return}let t=O.value[M.value];if(e.key===`Tab`&&t?.acceptable){e.preventDefault(),F(t);return}if(e.key===`ArrowRight`&&P.value?.acceptable&&t&&ae()){e.preventDefault(),F(t);return}if(e.key===`Enter`&&!e.shiftKey&&t?.acceptable){e.preventDefault(),F(t);return}}Ie(e)&&(e.preventDefault(),ce())}function ce(){r.mode===`stop`?a(`stop`):r.modelValue.trim()!==``&&a(`submit`)}function le(){p.value=!1,i().then(()=>{p.value=!0})}function ue(){c.value=!0,le()}function I(){i().then(()=>{let e=s.value;e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length),document.activeElement===e&&!c.value&&ue())})}return o(()=>r.hint,e=>{e&&I()}),ie(()=>{r.autofocus&&I(),r.sweepOnMount&&le()}),t({focus:I}),(t,n)=>{let r=g,i=T;return h(),k(`div`,$,[f(S,{name:`sb-rise`},{default:l(()=>[N.value?(h(),k(`div`,Ye,[O.value.length===0?(h(),k(`p`,Xe,` No command matches "`+u(e.modelValue)+`". `,1)):m(``,!0),(h(!0),k(b,null,A(O.value,(e,t)=>(h(),k(`button`,{key:e.label,type:`button`,role:`option`,class:x([`item flex w-full items-baseline gap-3 rounded-lg px-3 py-1.5 text-left transition-colors duration-150 ease-out`,t===M.value?`bg-(--ui-bg-accented)`:`hover:bg-(--ui-bg-muted)`]),"aria-selected":t===M.value?`true`:`false`,"data-insert":e.insert,"data-kind":e.kind,"data-label":e.label,onMousedown:n[0]||=d(()=>{},[`prevent`]),onClick:t=>F(e),onMouseenter:e=>M.value=t},[y(`span`,Qe,u(e.label),1),y(`span`,$e,u(e.describe),1),t===M.value&&e.acceptable?(h(),k(`kbd`,et,`Tab`)):m(``,!0)],42,Ze))),128))])):m(``,!0)]),_:1}),y(`div`,{class:x([`ring relative rounded-2xl`,p.value?`ring-sweep`:``]),onAnimationend:n[2]||=e=>p.value=!1},[y(`form`,{class:x([`composer relative flex items-end gap-2 rounded-2xl border bg-default px-3 py-2 transition-colors duration-150 ease-out`,c.value?`border-primary`:`border-default hover:border-accented`]),"data-mode":e.mode,onSubmit:d(ce,[`prevent`])},[y(`div`,nt,[P.value?(h(),k(`div`,{key:0,class:`ghost composer-text pointer-events-none absolute inset-0 overflow-hidden whitespace-pre-wrap break-words`,"aria-hidden":`true`,"data-testid":`ghost`,"data-acceptable":P.value.acceptable?`1`:`0`},[y(`span`,it,u(e.modelValue),1),y(`span`,at,u(P.value.text),1)],8,rt)):m(``,!0),y(`textarea`,{ref_key:`box`,ref:s,class:`box composer-text relative block min-h-6 w-full resize-none bg-transparent text-highlighted outline-none placeholder:text-dimmed`,rows:ee.value,value:e.modelValue,placeholder:ne.value,autofocus:e.autofocus,"aria-label":`Message`,"aria-expanded":N.value?`true`:void 0,autocomplete:`off`,spellcheck:`true`,onInput:oe,onKeydown:se,onFocus:ue,onBlur:n[1]||=e=>c.value=!1},null,40,ot)]),f(i,{type:`submit`,class:`control shrink-0 rounded-full transition-transform duration-150 ease-out active:scale-95`,color:e.mode===`stop`?`neutral`:`primary`,variant:e.mode===`stop`?`outline`:`solid`,size:`sm`,"aria-label":C.value.label,title:C.value.label,disabled:e.mode===`send`&&e.modelValue.trim()===``,"data-mode":e.mode},{default:l(()=>[f(S,{name:`sb-fade`,mode:`out-in`},{default:l(()=>[(h(),v(r,{key:C.value.icon,name:C.value.icon,class:`size-4`,"aria-hidden":`true`},null,8,[`name`]))]),_:1})]),_:1},8,[`color`,`variant`,`aria-label`,`title`,`disabled`,`data-mode`])],42,tt)],34),y(`p`,{class:x([`hint mt-1.5 min-h-[1.1rem] select-none px-3 font-mono text-[0.7rem] text-dimmed transition-opacity duration-150 ease-out`,E.value?`opacity-100`:`opacity-0`]),"aria-hidden":E.value?void 0:`true`,"data-hint":e.hint?`handback`:e.mode,"data-shown":E.value?`1`:`0`},u(re.value),11,st)])}}}),lt={class:`thread-tip flex max-w-xs flex-col gap-1 text-xs`},ut={class:`tip-title leading-snug text-highlighted`},dt={class:`flex flex-wrap items-center gap-x-1.5 gap-y-0.5 font-mono text-[0.68rem] text-muted`},ft={class:`tip-when tabular-nums`},pt={class:`tip-source inline-flex items-center gap-1`},mt={class:`tip-runs`},ht={key:0,class:`tip-live inline-flex items-center gap-1 text-toned`},gt=s({__name:`ThreadTip`,props:{row:{},now:{}},setup(e){let t=e,n=w(()=>Ae(t.row,t.now));return(t,r)=>(h(),k(`div`,lt,[y(`p`,ut,u(n.value.title),1),y(`p`,dt,[y(`span`,ft,u(n.value.when),1),r[1]||=y(`span`,{"aria-hidden":`true`},`·`,-1),y(`span`,pt,[e.row.surface===`slack`?(h(),v(ge,{key:0})):m(``,!0),j(u(n.value.source),1)]),r[2]||=y(`span`,{"aria-hidden":`true`},`·`,-1),y(`span`,mt,u(n.value.runs),1),n.value.live?(h(),k(`span`,ht,[...r[0]||=[y(`span`,{class:`size-1.5 rounded-full bg-ok`,"aria-hidden":`true`},null,-1),j(`live`,-1)]])):m(``,!0)])]))}}),_t={class:`rail flex flex-col gap-1 text-[0.8rem]`,"aria-label":`Recent threads`},vt=[`aria-current`],yt={class:`filter mb-2 flex items-center gap-2 rounded-lg border border-default px-2.5 py-1.5 transition-colors duration-150 ease-out focus-within:border-primary hover:border-accented`},bt={key:0,class:`rounded border border-default px-1 font-mono text-[0.65rem] text-dimmed`},xt={key:0,class:`empty px-3 py-1 text-xs text-dimmed`},St={key:1,class:`nomatch px-3 py-1 text-xs text-dimmed`},Ct=[`href`,`aria-current`,`data-surface`],wt={key:0,class:`dot mt-px size-1.5 shrink-0 self-center rounded-full bg-ok motion-safe:animate-pulse`,"aria-label":`a run is in flight`},Tt={class:`title min-w-0 flex-1 truncate text-toned group-hover:text-highlighted group-aria-[current=page]:text-highlighted`},Et={class:`when shrink-0 font-mono text-[0.7rem] tabular-nums text-dimmed`},Dt={class:`all mt-3 flex items-center gap-1.5 px-3 py-1 text-xs font-medium text-muted no-underline transition-colors duration-150 ease-out hover:text-highlighted`,href:`/runs`,"data-testid":`all-runs`},Ot={class:`retention px-3 pt-1 text-[0.7rem] leading-relaxed text-dimmed`},kt=500,At=s({__name:`ConversationRail`,props:{rows:{},current:{},now:{},retention:{}},setup(e,{expose:t}){let n=e,r=_(``),i=_(null),o=w(()=>Le(n.rows,r.value));function s(){i.value?.focus(),i.value?.select()}function d(e){e.key===`Escape`&&(r.value=``,i.value?.blur())}return t({focusFilter:s}),(t,n)=>{let s=g,ee=N;return h(),k(`nav`,_t,[y(`a`,{class:`new group mb-3 flex items-center gap-2 rounded-xl bg-inverted px-3 py-2 font-medium text-inverted no-underline transition-[transform,opacity] duration-150 ease-out hover:-translate-y-px hover:opacity-90 active:translate-y-0 active:opacity-100`,href:`/threads`,"aria-current":e.current===``?`page`:void 0,"data-testid":`new-thread`},[f(s,{name:`i-lucide-plus`,class:`size-4 shrink-0 transition-transform duration-150 ease-out group-hover:rotate-90`,"aria-hidden":`true`}),n[1]||=y(`span`,null,`New thread`,-1),n[2]||=y(`span`,{class:`kbd ml-auto flex gap-0.5 font-mono text-[0.65rem] opacity-70`,"aria-label":`shortcut shift command O`},[y(`kbd`,{class:`rounded border border-current/30 px-1`},`⇧`),y(`kbd`,{class:`rounded border border-current/30 px-1`},`⌘`),y(`kbd`,{class:`rounded border border-current/30 px-1`},`O`)],-1)],8,vt),y(`label`,yt,[f(s,{name:`i-lucide-search`,class:`size-3.5 shrink-0 text-dimmed`,"aria-hidden":`true`}),E(y(`input`,{ref_key:`filter`,ref:i,"onUpdate:modelValue":n[0]||=e=>r.value=e,class:`min-w-0 flex-1 bg-transparent text-[0.8rem] text-highlighted outline-none placeholder:text-dimmed`,type:`text`,placeholder:`Filter recent`,"aria-label":`Filter recent threads`,autocomplete:`off`,onKeydown:d},null,544),[[p,r.value]]),r.value?m(``,!0):(h(),k(`kbd`,bt,`⌘K`))]),n[5]||=y(`p`,{class:`label px-3 pb-1 font-mono text-[0.65rem] font-medium uppercase tracking-wider text-dimmed`},`Recent`,-1),e.rows.length===0?(h(),k(`p`,xt,`Nothing yet. Ask something.`)):o.value.length===0?(h(),k(`p`,St,`Nothing matches "`+u(r.value)+`".`,1)):m(``,!0),f(a,{name:`sb-rise`,tag:`div`,class:`rows flex flex-col gap-0.5`},{default:l(()=>[(h(!0),k(b,null,A(o.value,t=>(h(),k(`div`,{key:t.id},[f(ee,{"delay-duration":kt,content:{side:`right`,sideOffset:12,align:`start`},ui:{content:`h-auto max-w-xs px-2.5 py-2`}},{content:l(()=>[f(gt,{row:t,now:e.now},null,8,[`row`,`now`])]),default:l(()=>[y(`a`,{class:`row group relative flex items-baseline gap-2 rounded-lg px-3 py-1.5 no-underline transition-colors duration-150 ease-out hover:bg-(--ui-bg-muted) aria-[current=page]:bg-(--ui-bg-accented)`,href:`/threads/${encodeURIComponent(t.id)}`,"aria-current":t.id===e.current?`page`:void 0,"data-surface":t.surface},[n[3]||=y(`span`,{class:`bar absolute left-0 top-1/2 h-4 w-0.5 -translate-y-1/2 rounded-full bg-primary opacity-0 transition-opacity duration-150 ease-out group-aria-[current=page]:opacity-100`,"aria-hidden":`true`},null,-1),t.live?(h(),k(`span`,wt)):m(``,!0),y(`span`,Tt,u(t.title),1),y(`span`,Et,u(c(ke)(t.lastAt,e.now)),1)],8,Ct)]),_:2},1024)]))),128))]),_:1}),y(`a`,Dt,[n[4]||=j(` All runs `,-1),f(s,{name:`i-lucide-arrow-right`,class:`size-3 transition-transform duration-150 ease-out group-hover:translate-x-0.5`,"aria-hidden":`true`})]),y(`p`,Ot,u(e.retention),1),n[6]||=y(`p`,{class:`model px-3 pt-2 text-[0.7rem] leading-relaxed text-dimmed`,"data-testid":`what-is-a-thread`},[j(` A thread is a conversation; each message you send is a run. `),y(`a`,{class:`text-muted hover:text-highlighted`,href:`/runs`},`Runs`),j(` lists every run across everyone's threads. `)],-1)])}}}),jt={class:`empty mx-auto flex w-full max-w-2xl flex-col items-center gap-5 px-3 py-6 text-center`},Mt={class:`flex flex-col gap-1.5`},Nt={class:`greeting sb-stagger text-xl font-medium tracking-tight text-highlighted`,style:{"--sb-i":`1`}},Pt={class:`sb-stagger w-full text-left`,style:{"--sb-i":`3`}},Ft={key:0,class:`chips flex flex-wrap justify-center gap-2`,"aria-label":`Suggestions`},It=[`onClick`],Lt=s({__name:`EmptyState`,props:{name:{},hour:{},suggestions:{}},emits:[`pick`],setup(e,{emit:n}){let r=n;return(n,i)=>(h(),k(`section`,jt,[f(t,{draw:``,idle:``,class:`mark-lg sb-stagger text-highlighted`,style:{"font-size":`3.25rem`,"--sb-i":`0`}}),y(`div`,Mt,[y(`h2`,Nt,u(c(Ne)(e.hour,e.name)),1),i[0]||=y(`p`,{class:`sub sb-stagger text-[0.875rem] text-muted`,style:{"--sb-i":`2`}},` Ask in plain words. The right agent picks it up, and you watch it work here. `,-1)]),y(`div`,Pt,[M(n.$slots,`default`)]),e.suggestions.length>0?(h(),k(`ul`,Ft,[(h(!0),k(b,null,A(e.suggestions,(e,t)=>(h(),k(`li`,{key:e,class:`sb-stagger`,style:te({"--sb-i":t+4})},[y(`button`,{type:`button`,class:`chip rounded-full border border-default px-3 py-1 text-[0.8rem] text-toned transition-[color,border-color,background-color,transform] duration-150 ease-out hover:-translate-y-px hover:border-accented hover:bg-(--ui-bg-muted) hover:text-highlighted focus-visible:outline-2 focus-visible:outline-primary active:translate-y-0`,onClick:t=>r(`pick`,e)},u(e),9,It)],4))),128))])):m(``,!0)]))}}),Rt=[`data-pending`],zt={class:`meta flex items-baseline gap-2 pr-1 font-mono text-[0.7rem] text-dimmed`},Bt={key:0,class:`failed text-bad`},Vt={key:0,class:`folded text-muted`},Ht=[`title`],Ut=s({__name:`PersonTurn`,props:{text:{},at:{},now:{},pending:{type:Boolean},folded:{},failed:{}},setup(e){let t=e,n=w(()=>R(t.at,t.now));return(t,r)=>(h(),k(`div`,{class:`turn person flex flex-col items-end gap-1`,"data-pending":e.pending?`1`:void 0},[y(`div`,{class:x([`bubble max-w-[min(42rem,88%)] whitespace-pre-wrap break-words rounded-2xl rounded-br-md bg-(--ui-bg-accented) px-4 py-2.5 text-[0.875rem] leading-normal text-highlighted transition-opacity duration-150 ease-out`,e.pending?`opacity-70`:``])},u(e.text),3),y(`div`,zt,[e.failed?(h(),k(`span`,Bt,u(e.failed),1)):m(``,!0),f(S,{name:`sb-fade`},{default:l(()=>[e.folded?(h(),k(`span`,Vt,`↪ folded in `+u(e.folded),1)):m(``,!0)]),_:1}),y(`span`,{class:`ts select-none`,title:c(he)(e.at)},u(n.value),9,Ht)])],8,Rt))}}),Wt=[`title`],Gt={class:`preset font-medium`},Kt={class:`reason truncate font-normal opacity-80`},qt=s({__name:`ReceiptChip`,props:{route:{}},setup(e){let t=e,n=w(()=>pe[z(t.route.preset)]);return(t,r)=>(h(),k(`span`,{class:x([`receipt inline-flex max-w-full items-baseline gap-1.5 rounded border px-1.5 py-px font-mono text-[0.7rem] leading-relaxed`,n.value]),title:`routed: ${e.route.reason}`,"data-testid":`receipt`},[y(`span`,Gt,u(e.route.preset),1),y(`span`,Kt,`· `+u(e.route.reason),1)],10,Wt))}}),Jt=[`data-phase`,`data-run-id`,`data-live`],Yt={class:`head flex flex-wrap items-baseline gap-2 font-mono text-[0.7rem] text-dimmed`},Xt={key:0,class:`model`},Zt={key:1,class:`elapsed ml-auto tabular-nums`,"data-testid":`elapsed`},Qt={key:0,class:`disconnected flex items-baseline gap-2 rounded-lg border border-dashed border-bad/40 px-3 py-2 font-mono text-xs text-bad`,"data-testid":`disconnected`},$t=[`href`],en=[`open`],tn={class:`flex min-h-6 cursor-pointer list-none items-baseline gap-2 font-mono text-[0.7rem] text-dimmed hover:text-toned [&::-webkit-details-marker]:hidden`},nn={class:`summary`},rn={class:`pl-1 pt-1`},an={key:0,class:`py-2 font-mono text-xs text-dimmed`},on={key:1,class:`py-2 font-mono text-xs text-warn`},sn=[`href`],cn={key:2,class:`m-0 list-none p-0`},ln={key:0,class:`reply`,"data-testid":`reply`},un={key:1,class:`outcome font-mono text-xs text-warn`,"data-testid":`outcome`},dn={key:2,class:`facts flex flex-wrap items-baseline gap-x-3 font-mono text-[0.7rem] text-dimmed`},fn=[`href`],pn=s({__name:`AssistantTurn`,props:{turn:{},now:{},live:{},fetch:{}},emits:[`ended`,`input`,`stop`],setup(e,{emit:t}){let n=e,r=t,i=be(),s=i.state,d=_(n.live?`connecting`:`ended`),p=_(n.turn.route??null),ee=_(!0),g=w(()=>s.reply?.text??n.turn.answer??``),C=w(()=>s.meta?.agent??n.turn.agent??``),re=w(()=>{let e=s.meta?.model??n.turn.model;return e?H(e):``}),T=w(()=>n.live!==null&&n.live!==void 0&&d.value!==`ended`),E=w(()=>d.value===`disconnected`),D=n.live?.serverNow?we({startedAt:n.turn.startedAt,receivedAt:n.turn.receivedAt,serverNow:n.live.serverNow},n.now):null,M=n.now,N=_(void 0),P=w(()=>n.turn.finished&&n.turn.finishedAt!==void 0?Math.max(0,n.turn.finishedAt-(n.turn.receivedAt??n.turn.startedAt)):N.value===void 0?D?D.elapsedMs(n.now):Math.max(0,n.now-M):N.value),ce=w(()=>de(P.value,`clock`)),le=w(()=>ve(T.value?void 0:P.value,`run`)),ue=w(()=>_e(le.value)),I=w(()=>T.value?W(s,n.now):null);ne(Ce,I),ne(xe,null),ne(V,w(()=>s.reply!==null));let L=w(()=>T.value?U(s,i.pendingCall(),n.now):null),R=w(()=>{let e=L.value;return E.value||!e||e.kind===`call`?null:e.kind===`starting`?{verb:`Starting`,elapsedMs:P.value,slow:!1}:{verb:F(e.elapsedMs),elapsedMs:e.elapsedMs,slow:e.slow}}),fe=w(()=>s.log.filter(e=>e.kind===`step`)),he=w(()=>fe.value.length>0?fe.value.length:n.turn.stepCount??0),ge=w(()=>n.turn.finished&&n.turn.status&&n.turn.status!==`completed`?me(n.turn.status):``),G=w(()=>`/runs/${encodeURIComponent(n.turn.id)}`),Ee=se(),K=null;function De(e){let t=e;t.type===`route`&&typeof t.preset==`string`&&(p.value={preset:t.preset,reason:typeof t.reason==`string`?t.reason:``}),t.type===`input`&&typeof t.text==`string`&&(ee.value?ee.value=!1:r(`input`,t.text,t.at)),i.handle(e)}ie(()=>{n.live&&(r(`stop`,n.live.stopUrl),K=ae({url:n.live.eventsUrl,factory:Ee,model:i,handle:De,onFinished:e=>{N.value=D&&e?D.elapsedAt(e.finishedAt):P.value},onEnd:()=>{N.value??=P.value,r(`ended`)},onDisconnected:()=>{N.value??=P.value}}),o(K.phase,e=>d.value=e,{immediate:!0}))}),O(()=>K?.close());let Oe=_(n.live!==null&&n.live!==void 0),q=_(n.live?`ready`:`none`);o(T,e=>{e||(Oe.value=!1)});async function ke(e){if(Oe.value=e.target.open,!Oe.value||q.value!==`none`)return;q.value=`loading`;let t=n.fetch??((...e)=>globalThis.fetch(...e));try{let e=await t(`/runs/${encodeURIComponent(n.turn.id)}/events`,{credentials:`same-origin`});if(!e.ok)throw Error(`HTTP ${e.status}`);let r=Te(await e.text()).filter(e=>e.type!==`replay_note`);for(let e of(n.turn.schema??0)>=2?B(r):r)i.handle(e);i.closePhases(),q.value=`ready`}catch{q.value=`failed`}}let Ae=w(()=>{let e=he.value;return e>0?`${e} step${e===1?``:`s`}`:T.value?`starting`:`no steps recorded`});return(t,n)=>(h(),k(`div`,{class:`turn assistant flex flex-col gap-2`,"data-phase":d.value,"data-run-id":e.turn.id,"data-live":T.value?`1`:void 0},[y(`div`,Yt,[f(S,{name:`sb-rise`},{default:l(()=>[p.value?(h(),v(qt,{key:`receipt`,route:p.value},null,8,[`route`])):C.value?(h(),k(`span`,{key:`agent`,class:x([`agent rounded border px-1.5 py-px font-medium`,c(pe)[c(z)(C.value)]])},u(C.value),3)):m(``,!0)]),_:1}),re.value?(h(),k(`span`,Xt,u(re.value),1)):m(``,!0),T.value?(h(),k(`span`,Zt,u(ce.value),1)):m(``,!0)]),f(S,{name:`sb-fade`},{default:l(()=>[T.value&&R.value?(h(),v(oe,{key:0,tag:`div`,verb:R.value.verb,"elapsed-ms":R.value.elapsedMs,slow:R.value.slow,model:c(s).meta?.model??e.turn.model??null},null,8,[`verb`,`elapsed-ms`,`slow`,`model`])):m(``,!0)]),_:1}),E.value?(h(),k(`p`,Qt,[n[0]||=y(`span`,null,`stream disconnected · the run may still be working`,-1),y(`a`,{class:`ml-auto text-primary no-underline hover:underline`,href:G.value},`open the run`,8,$t)])):m(``,!0),T.value||he.value>0||q.value!==`none`?(h(),k(`details`,{key:1,class:`work group`,open:Oe.value,"data-testid":`work`,onToggle:ke},[y(`summary`,tn,[n[1]||=y(`span`,{class:`chev select-none transition-transform duration-150 ease-out group-open:rotate-90 motion-reduce:transition-none`},`❯`,-1),y(`span`,nn,u(Ae.value),1)]),y(`div`,rn,[q.value===`loading`?(h(),k(`p`,an,`reading the run's record…`)):q.value===`failed`?(h(),k(`p`,on,[n[2]||=j(` the run's record could not be read — `,-1),y(`a`,{class:`text-primary no-underline hover:underline`,href:G.value},`open the run`,8,sn)])):(h(),k(`ol`,cn,[f(a,{name:`sb-rise`},{default:l(()=>[(h(!0),k(b,null,A(fe.value,e=>(h(),v(Se,{key:e.key,step:e,class:`mt-3 first:mt-0`,onToggleGroup:t=>c(i).toggleGroup(e)},null,8,[`step`,`onToggleGroup`]))),128))]),_:1})]))])],40,en)):m(``,!0),f(S,{name:`sb-rise`},{default:l(()=>[g.value?(h(),k(`div`,ln,[f(ye,{text:g.value},null,8,[`text`])])):ge.value?(h(),k(`p`,un,u(ge.value),1)):m(``,!0)]),_:1}),T.value?m(``,!0):(h(),k(`div`,dn,[y(`span`,{class:x([`dur tabular-nums`,ue.value?`heat`:``]),style:te(ue.value)},u(ce.value),7),y(`a`,{class:`open text-dimmed no-underline hover:text-primary hover:underline`,href:G.value},`open run`,8,fn)]))],8,Jt))}});function mn(){return{runs:new Map,connected:!1}}function hn(e,t){t.type===`upsert`&&t.run?t.run.finished||!t.run.threadKey?e.runs.delete(t.run.id):e.runs.set(t.run.id,{threadKey:t.run.threadKey,startedAt:t.run.startedAt,...t.run.label===void 0?{}:{label:t.run.label},...t.run.channelId===void 0?{}:{channelId:t.run.channelId}}):t.type===`removed`&&t.id&&e.runs.delete(t.id)}function gn(e){let t=new Map;for(let n of e.runs.values()){let e=t.get(n.threadKey)??[];e.push(n),t.set(n.threadKey,e)}return t}function _n(e,t){return t.includes(`:`)?t:`${e}:${t}`}function vn(e){let t=e.indexOf(`:`);return t>0?e.slice(0,t):`unknown`}function yn(e,t,n){if(!t.connected)return[...e];let r=gn(t),i=new Set,a=e.map(e=>{let t=_n(n,e.id);i.add(t);let a=r.get(t);if(!a)return e.live?{...e,live:!1}:e;let o=e.live?0:a.length;return{...e,live:!0,runs:e.runs+o,lastAt:Math.max(e.lastAt,...a.map(e=>e.startedAt))}}),o=[];for(let[e,t]of r){if(i.has(e))continue;let r=t.reduce((e,t)=>t.startedAt>e.startedAt?t:e),a=r.label?L(r.label).snippet:void 0;o.push({id:e.startsWith(`${n}:`)?e.slice(n.length+1):e,title:a??r.label??e,excerpt:a??r.label??e,lastAt:r.startedAt,runs:t.length,live:!0,surface:vn(r.channelId??e)})}return o.sort((e,t)=>t.lastAt-e.lastAt),[...o,...a]}var bn={key:0,class:`mx-auto my-12 max-w-xl text-center text-toned`},xn=[`data-rail`],Sn={key:0,class:`relative hidden md:block`},Cn=[`aria-valuemin`,`aria-valuemax`,`aria-valuenow`],wn={class:`thread mx-auto flex min-h-[calc(100vh-8rem)] w-full max-w-3xl flex-col`},Tn={key:2,class:`inline text-[0.875rem] text-toned`,"data-testid":`inline`},En={key:2,class:`elsewhere sticky bottom-0 z-10 -mx-3 mt-auto bg-default/85 px-3 py-4 text-center text-[0.8rem] text-toned backdrop-blur sm:-mx-5 sm:px-5`,"data-testid":`elsewhere`},Dn=[`href`],On={key:3,class:`composer-dock sticky bottom-0 z-10 -mx-3 mt-auto bg-default/85 px-3 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-3 backdrop-blur sm:-mx-5 sm:px-5`},kn=`(min-width: 48rem)`,An=s({__name:`HomePage`,setup(t){let s=D(`home`),d=ce(s?.now),p=s?.conversation??``,g=ee(s?.retentionDays??null),E=0,M=e=>`${e}-${++E}`,N=C([]);for(let e of s?.turns??[]){N.push({key:M(`p`),kind:`person`,text:e.request,at:e.receivedAt??e.startedAt,pending:!1});let t=!e.finished&&e.token?{eventsUrl:`/runs/${encodeURIComponent(e.id)}/events?t=${e.token}`,stopUrl:`/runs/${encodeURIComponent(e.id)}/stop?t=${e.token}`,serverNow:s?.now}:null;N.push({key:M(`a`),kind:`assistant`,turn:e,live:t,ended:e.finished})}let F=w(()=>{for(let e=N.length-1;e>=0;e--){let t=N[e];if(t.kind===`assistant`&&t.live&&!t.ended)return t}return null}),ae=_(null),oe=_(0);ne(e,oe);let I=_(``),L=_(void 0),R=w(()=>Ee(F.value!==null,I.value)),z=_(!1);o(I,()=>{L.value&&I.value===``&&(L.value=void 0)});function pe(e){I.value=e,me()}async function me(){if(!s||z.value)return;let e=Je(I.value.trim(),s.commands);if(e===``)return;let t=C({key:M(`p`),kind:`person`,text:e,at:d.value,pending:!0});N.push(t),I.value=``,L.value=void 0,z.value=!0,oe.value++;try{let r=await fetch(s.sendUrl,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({text:e})}),i=await r.json().catch(()=>({}));if(r.status===202&&typeof i.viewPath==`string`&&typeof i.runId==`string`){let r=Oe(i.viewPath);if(!r)throw Error(`the run's view path was not one`);t.pending=!1,n.pathname()===`/threads`&&n.replaceUrl(`/threads/${encodeURIComponent(p)}`),N.push({key:M(`a`),kind:`assistant`,turn:{id:i.runId,request:e,startedAt:d.value,receivedAt:d.value,finished:!1,eventCount:0},live:{eventsUrl:r.eventsUrl,stopUrl:r.stopUrl},ended:!1});return}if(r.ok&&typeof i.reply==`string`){t.pending=!1;let e=De(i.reply);e.kind===`handBack`?(I.value=e.command,L.value=`Enter runs it`):e.kind===`inline`&&N.push({key:M(`i`),kind:`inline`,text:e.text});return}throw Error(i.error??`HTTP ${r.status}`)}catch(e){t.pending=!1,t.failed=`not sent: ${e instanceof Error?e.message:`error`}`}finally{z.value=!1}}function he(){let e=ae.value;e&&fetch(`${e}${e.includes(`?`)?`&`:`?`}mode=soft`,{method:`POST`,credentials:`same-origin`})}function ge(e,t,n){let r=Pe(N.filter(e=>e.kind===`person`).map(e=>({text:e.text,folded:e.folded!==void 0,ref:e})),t);if(!r)return;let i=e.turn.receivedAt??e.turn.startedAt;r.ref.folded=n===void 0?``:`at ${de(Math.max(0,n-i),`clock`)}`}function _e(e){e.ended=!0,ae.value=null}let ve=Me({width:n.readPref(Y.width),collapsed:n.readPref(Y.collapsed)}),B=_(ve.width),V=_(ve.collapsed),be=_(!1),H=_(n.mediaMatches(kn)),xe=n.onMediaChange(kn,e=>{H.value=e}),Se=_(null),Ce=_(null),we=w(()=>H.value?V.value?`Show recent threads`:`Hide recent threads`:`Recent threads`);function Te(){if(H.value=n.mediaMatches(kn),H.value){V.value=!V.value,n.writePref(Y.collapsed,V.value?`1`:`0`);return}be.value=!0}function U(e,t){B.value=je(e),t&&n.writePref(Y.width,String(B.value))}let W=null;function G(e){W&&U(W.startWidth+(e.clientX-W.startX),!1)}function K(){window.removeEventListener(`pointermove`,G),W&&(W=null,n.writePref(Y.width,String(B.value)))}function ke(e){e.button===0&&(e.preventDefault(),W={startX:e.clientX,startWidth:B.value},e.currentTarget?.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,G),window.addEventListener(`pointerup`,K,{once:!0}))}function Ae(e){if(e.key===`ArrowRight`)U(B.value+J.step,!0);else if(e.key===`ArrowLeft`)U(B.value-J.step,!0);else if(e.key===`Home`)U(J.min,!0);else if(e.key===`End`)U(J.max,!0);else return;e.preventDefault()}re(()=>{window.removeEventListener(`pointermove`,G),window.removeEventListener(`pointerup`,K),xe()});function Ne(e){let t=Re(e);if(t){if(e.preventDefault(),t===`newThread`){n.navigate(`/threads`);return}if(Se.value){Se.value.focusFilter();return}if(V.value&&n.mediaMatches(kn)){V.value=!1,n.writePref(Y.collapsed,`0`),i().then(()=>Se.value?.focusFilter());return}be.value=!0,i().then(()=>Ce.value?.focusFilter())}}let Ie=_(null),X=_(!1);function Le(){return document.body.scrollHeight-(window.innerHeight+window.scrollY)}o(()=>N.length,()=>{let e=Fe(Le());i().then(()=>{e?Ie.value?.scrollIntoView?.({block:`end`}):X.value=!0})});function ze(){Fe(Le())&&(X.value=!1)}function Be(){Ie.value?.scrollIntoView?.({block:`end`,behavior:`smooth`}),X.value=!1}ie(()=>{window.addEventListener(`scroll`,ze,{passive:!0}),window.addEventListener(`keydown`,Ne),s&&We()}),O(()=>{window.removeEventListener(`scroll`,ze),window.removeEventListener(`keydown`,Ne),Ue?.close()});let Z=C(mn()),Ve=w(()=>yn(s?.conversations??[],Z,s?.lane??``)),Q=w(()=>{let e=F.value?.turn.id;return Z.runs.size+(e&&!Z.runs.has(e)?1:0)}),He=se(),Ue=null;function We(){Ue=He(`/runs?stream=1&mine=1`);let e=!1;Ue.onopen=()=>{e&&Z.runs.clear(),e=!0,Z.connected=!0},Ue.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}hn(Z,t)}}let Ge=w(()=>{let e=N.find(e=>e.kind===`person`);return e?q(e.text):`Switchboard`});o([Ge,Q],([e,t])=>{n.setTitle(t>0?`(${t}) ${e}`:e),n.setFavicon(t>0?ue:le)},{immediate:!0});let Ke=w(()=>new Date(d.value).getHours()),qe=w(()=>N.length===0),$=s?.elsewhere,Ye=$?$.surface===`web`?`This thread is another person's conversation. You can read it here.`:`This thread lives in ${fe[$.surface]??$.surface}.`:``;return(e,t)=>{let n=T,i=P;return h(),v(r,{title:`Threads`,nav:`home`},{leading:l(()=>[f(n,{class:`rail-toggle -ml-1`,size:`xs`,color:`neutral`,variant:`ghost`,icon:H.value&&!V.value?`i-lucide-panel-left-close`:`i-lucide-panel-left`,"aria-label":we.value,"aria-expanded":H.value?!V.value:void 0,onClick:Te},null,8,[`icon`,`aria-label`,`aria-expanded`])]),default:l(()=>[c(s)?(h(),k(`div`,{key:1,class:x([`home gap-8 md:grid`,V.value?`md:grid-cols-[minmax(0,1fr)]`:`md:grid-cols-[var(--rail-w)_minmax(0,1fr)]`]),style:te({"--rail-w":`${B.value}px`}),"data-rail":V.value?`hidden`:`shown`},[V.value?m(``,!0):(h(),k(`aside`,Sn,[f(At,{ref_key:`rail`,ref:Se,class:`sticky top-20`,rows:Ve.value,current:c(p),now:c(d),retention:c(g)},null,8,[`rows`,`current`,`now`,`retention`]),y(`div`,{class:`handle group/handle absolute inset-y-0 -right-5 flex w-3 cursor-col-resize touch-none select-none justify-center outline-none`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize the recent threads column`,"aria-valuemin":c(J).min,"aria-valuemax":c(J).max,"aria-valuenow":B.value,tabindex:`0`,"data-testid":`rail-handle`,onPointerdown:ke,onKeydown:Ae,onDblclick:t[0]||=e=>U(c(J).default,!0)},[...t[5]||=[y(`span`,{class:`w-px rounded-full bg-(--ui-border-accented) opacity-0 transition-opacity duration-150 ease-out group-hover/handle:opacity-100 group-focus-visible/handle:opacity-100`,"aria-hidden":`true`},null,-1)]],40,Cn)])),f(i,{open:be.value,"onUpdate:open":t[1]||=e=>be.value=e,side:`left`,title:`Recent threads`,ui:{content:`max-w-xs`}},{body:l(()=>[f(At,{ref_key:`sheetRail`,ref:Ce,rows:Ve.value,current:c(p),now:c(d),retention:c(g)},null,8,[`rows`,`current`,`now`,`retention`])]),_:1},8,[`open`]),y(`section`,wn,[qe.value?(h(),v(Lt,{key:0,class:`mb-auto mt-[clamp(1.5rem,14vh,9rem)]`,name:c(s).viewer.name,hour:Ke.value,suggestions:c(s).suggestions,onPick:pe},{default:l(()=>[f(ct,{modelValue:I.value,"onUpdate:modelValue":t[2]||=e=>I.value=e,mode:R.value,hint:L.value,commands:c(s).commands,autofocus:``,"sweep-on-mount":``,onSubmit:me,onStop:he},null,8,[`modelValue`,`mode`,`hint`,`commands`])]),_:1},8,[`name`,`hour`,`suggestions`])):(h(),v(a,{key:1,name:`sb-rise`,"move-class":`sb-move-move`,tag:`ol`,class:`transcript m-0 flex list-none flex-col gap-6 p-0 pb-32 pt-2`},{default:l(()=>[(h(!0),k(b,null,A(N,e=>(h(),k(`li`,{key:e.key},[e.kind===`person`?(h(),v(Ut,{key:0,text:e.text,at:e.at,now:c(d),pending:e.pending,folded:e.folded,failed:e.failed},null,8,[`text`,`at`,`now`,`pending`,`folded`,`failed`])):e.kind===`assistant`?(h(),v(pn,{key:1,turn:e.turn,live:e.live,now:c(d),onInput:(t,n)=>ge(e,t,n),onEnded:t=>_e(e),onStop:t[3]||=e=>ae.value=e},null,8,[`turn`,`live`,`now`,`onInput`,`onEnded`])):(h(),k(`div`,Tn,[f(ye,{text:e.text},null,8,[`text`])]))]))),128))]),_:1})),y(`div`,{ref_key:`end`,ref:Ie,class:`end`,"aria-hidden":`true`},null,512),!qe.value&&c($)?(h(),k(`p`,En,[j(u(c(Ye))+` `,1),c($).url?(h(),k(`a`,{key:0,href:c($).url,target:`_blank`,rel:`noopener`,class:`text-highlighted`},`Reply there ↗`,8,Dn)):c($).surface===`web`?m(``,!0):(h(),k(b,{key:1},[j(`Reply there.`)],64))])):qe.value?m(``,!0):(h(),k(`div`,On,[f(S,{name:`sb-rise`},{default:l(()=>[X.value?(h(),k(`button`,{key:0,type:`button`,class:`new-pill absolute -top-9 left-1/2 -translate-x-1/2 rounded-full border border-default bg-(--ui-bg-elevated) px-3 py-1 font-mono text-[0.7rem] text-toned shadow-sm hover:text-highlighted`,onClick:Be},` ↓ new `)):m(``,!0)]),_:1}),f(ct,{modelValue:I.value,"onUpdate:modelValue":t[4]||=e=>I.value=e,mode:R.value,hint:L.value,commands:c(s).commands,autofocus:``,onSubmit:me,onStop:he},null,8,[`modelValue`,`mode`,`hint`,`commands`])]))])],14,xn)):(h(),k(`div`,bn,`This page needs its seed.`))]),_:1})}}});export{An as default};
@@ -1 +1 @@
1
- import{I as e,N as t,O as n,P as r,S as i,d as a,j as o,l as s,u as c}from"./AppShell-qqs_p96-.js";import{$ as l,$n as u,Ai as d,Br as f,C as p,Ci as m,Dn as h,Ei as g,Fr as ee,G as te,Gr as _,I as v,Ir as y,J as b,K as ne,Ln as x,Mi as S,N as C,Nr as re,Q as w,Qn as T,Qt as E,Si as D,Tn as O,U as k,X as ie,Y as ae,Zn as A,Zt as oe,_ as se,_n as j,bt as ce,ct as le,d as ue,di as de,et as fe,f as pe,fr as M,g as N,gi as P,gn as F,h as me,hn as I,in as L,jr as he,ki as R,m as ge,mn as z,o as _e,or as ve,p as ye,pt as B,q as V,tt as be,u as xe,v as Se,vn as H,vr as Ce,wn as U,x as we,xi as Te,y as Ee,yr as W,yt as De}from"./seed-DFfT5S_N.js";var[G,Oe]=k(`TagsInputRoot`),ke=h({__name:`TagsInputRoot`,props:{modelValue:{type:[Array,null],required:!1},defaultValue:{type:Array,required:!1,default:()=>[]},addOnPaste:{type:Boolean,required:!1},addOnTab:{type:Boolean,required:!1},addOnBlur:{type:Boolean,required:!1},duplicate:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},delimiter:{type:null,required:!1,default:`,`},dir:{type:String,required:!1},max:{type:Number,required:!1,default:0},id:{type:String,required:!1},convertValue:{type:Function,required:!1},displayValue:{type:Function,required:!1,default:e=>e.toString()},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`invalid`,`addTag`,`removeTag`],setup(n,{emit:r}){let a=n,s=r,{addOnPaste:c,disabled:l,delimiter:u,max:d,id:f,dir:h,addOnBlur:ee,addOnTab:te}=m(a),y=t(h),b=B(a,`modelValue`,s,{defaultValue:a.defaultValue,passive:!0,deep:!0}),{forwardRef:ne,currentElement:x}=v(),{focused:S}=le(x),re=o(x),{getItems:T,CollectionSlot:E}=p({isProvider:!0}),D=P(),k=P(!1),ie=z(()=>Array.isArray(b.value)?[...b.value]:[]);function ae(e){if(e!==-1){let t=b.value[e];b.value=b.value.filter((t,n)=>n!==e),s(`removeTag`,t)}}return Oe({modelValue:b,onAddValue:e=>{let t=[...ie.value],n=t.length>0&&typeof t[0]==`object`,r=t.length>0&&typeof a.defaultValue[0]==`object`;if((n||r)&&typeof a.convertValue!=`function`)throw Error("You must provide a `convertValue` function when using objects as values.");let i=a.convertValue?a.convertValue(e):e;if(t.length>=d.value&&d.value)return s(`invalid`,i),!1;if(a.duplicate)return b.value=[...t,i],s(`addTag`,i),!0;if(t.includes(i))k.value=!0;else return b.value=[...t,i],s(`addTag`,i),!0;return s(`invalid`,i),!1},onRemoveValue:ae,onInputKeydown:t=>{if(t.isComposing)return;let n=t.target,r=T().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);if(!r.length)return;let i=r.at(-1);switch(t.key){case`Delete`:case`Backspace`:if(n.selectionStart!==0||n.selectionEnd!==0)break;if(D.value){let e=r.findIndex(e=>e===D.value),n=T().find(e=>e.ref===D.value);ae(n?b.value.findIndex(e=>w(e,n.value)):-1),D.value=D.value===i?r.at(e-1):r.at(e+1),t.preventDefault()}else t.key===`Backspace`&&(D.value=i,t.preventDefault());break;case`Home`:case`End`:case`ArrowRight`:case`ArrowLeft`:{let a=t.key===`ArrowRight`&&y.value===`ltr`||t.key===`ArrowLeft`&&y.value===`rtl`,o=!a;if(n.selectionStart!==0||n.selectionEnd!==0)break;if(o&&!D.value)D.value=i,t.preventDefault();else if(a&&i&&D.value===i)D.value=void 0,t.preventDefault();else if(D.value){let n=e(t,D.value,void 0,{itemsArray:r,loop:!1,dir:y.value});n&&(D.value=n),t.preventDefault()}break}case`ArrowUp`:case`ArrowDown`:D.value&&t.preventDefault();break;default:D.value=void 0}},selectedElement:D,isInvalidInput:k,addOnPaste:c,addOnBlur:ee,addOnTab:te,dir:y,disabled:l,delimiter:u,max:d,id:f,displayValue:a.displayValue}),(e,t)=>(M(),F(g(E),null,{default:_(()=>[O(g(C),{ref:g(ne),dir:g(y),as:e.as,"as-child":e.asChild,"data-invalid":k.value?``:void 0,"data-disabled":g(l)?``:void 0,"data-focused":g(S)?``:void 0},{default:_(()=>[W(e.$slots,`default`,{modelValue:g(b)}),g(re)&&e.name?(M(),F(g(i),{key:0,name:e.name,value:g(b),required:e.required,disabled:g(l)},null,8,[`name`,`value`,`required`,`disabled`])):j(`v-if`,!0)]),_:3},8,[`dir`,`as`,`as-child`,`data-invalid`,`data-disabled`,`data-focused`])]),_:3}))}}),Ae=h({__name:`TagsInputInput`,props:{placeholder:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},maxLength:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},setup(e){let t=e,n=G(),{forwardRef:i,currentElement:a}=v();function o(e){if(n.selectedElement.value=void 0,!n.addOnBlur.value)return;let t=e.target,r=e.relatedTarget,i=t.getAttribute(`aria-controls`);i&&r?.closest(`#${CSS.escape(i)}`)||t.value&&n.onAddValue(t.value)&&(t.value=``)}function s(e){n.addOnTab.value&&f(e)}let{isComposing:c,handleCompositionStart:l,handleCompositionEnd:d}=r();async function f(e){if(c.value||(await u(),e.defaultPrevented))return;let t=e.target;t.value&&(n.onAddValue(t.value)&&(t.value=``),e.preventDefault())}function p(e){if(c.value||(n.isInvalidInput.value=!1,e.data===null))return;let t=n.delimiter.value;if(t===e.data||t instanceof RegExp&&t.test(e.data)){let r=e.target;if(r.value=r.value.replace(t,``),r.value.trim()===``){r.value=``;return}n.onAddValue(r.value)&&(r.value=``)}}function m(e){c.value||n.onInputKeydown(e)}function h(e){if(n.addOnPaste.value){e.preventDefault();let t=e.clipboardData;if(!t)return;let r=t.getData(`text`);n.delimiter.value?r.split(n.delimiter.value).forEach(e=>{n.onAddValue(e)}):n.onAddValue(r)}}return ve(()=>{let e=a.value.nodeName===`INPUT`?a.value:a.value.querySelector(`input`);e&&setTimeout(()=>{t.autoFocus&&e?.focus()},1)}),(e,t)=>(M(),F(g(C),{id:g(n).id?.value,ref:g(i),type:`text`,autocomplete:`off`,autocorrect:`off`,autocapitalize:`off`,as:e.as,"as-child":e.asChild,maxlength:e.maxLength,placeholder:e.placeholder,disabled:g(n).disabled.value,"data-invalid":g(n).isInvalidInput.value?``:void 0,onInput:p,onKeydown:[oe(f,[`enter`]),oe(s,[`tab`]),m],onBlur:o,onCompositionstart:g(l),onCompositionend:g(d),onPaste:h},{default:_(()=>[W(e.$slots,`default`)]),_:3},8,[`id`,`as`,`as-child`,`maxlength`,`placeholder`,`disabled`,`data-invalid`,`onCompositionstart`,`onCompositionend`]))}}),[je,Me]=k(`TagsInputItem`),Ne=h({__name:`TagsInputItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{value:n}=m(t),r=G(),{forwardRef:i,currentElement:a}=v(),{CollectionItem:o}=p(),s=z(()=>r.selectedElement.value===a.value),c=z(()=>t.disabled||r.disabled.value),l=Me({value:n,isSelected:s,disabled:c,textId:``,displayValue:z(()=>r.displayValue(n.value))});return(e,t)=>(M(),F(g(o),{value:g(n)},{default:_(()=>[O(g(C),{ref:g(i),as:e.as,"as-child":e.asChild,"aria-labelledby":g(l).textId,"aria-current":s.value,"data-disabled":c.value?``:void 0,"data-state":s.value?`active`:`inactive`},{default:_(()=>[W(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-labelledby`,`aria-current`,`data-disabled`,`data-state`])]),_:3},8,[`value`]))}}),Pe=h({__name:`TagsInputItemDelete`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;v();let n=G(),r=je(),i=z(()=>r.disabled?.value||n.disabled.value);function a(){if(i.value)return;let e=n.modelValue.value.findIndex(e=>w(e,r.value.value));n.onRemoveValue(e)}return(e,n)=>(M(),F(g(C),T({tabindex:`-1`},t,{"aria-labelledby":g(r).textId,"aria-current":g(r).isSelected.value,"data-state":g(r).isSelected.value?`active`:`inactive`,"data-disabled":i.value?``:void 0,type:e.as===`button`?`button`:void 0,onClick:a}),{default:_(()=>[W(e.$slots,`default`)]),_:3},16,[`aria-labelledby`,`aria-current`,`data-state`,`data-disabled`,`type`]))}}),Fe=h({__name:`TagsInputItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,r=je();return v(),r.textId||=n(void 0,`reka-tags-input-item-text`),(e,n)=>(M(),F(g(C),T(t,{id:g(r).textId}),{default:_(()=>[W(e.$slots,`default`,{},()=>[U(S(g(r).displayValue.value),1)])]),_:3},16,[`id`]))}});function Ie(e,t){if(typeof e!=`object`||!e)return!1;let n=V(e,t);return n!=null&&n!==``}function Le(e,t){return t?{xs:44,sm:48,md:52,lg:56,xl:60}[e]:{xs:24,sm:28,md:32,lg:36,xl:40}[e]}function Re(e,t,n,r){let i=Le(t,!0),a=Le(t,!1);return r?()=>i:n?t=>Ie(e[t],n)?i:a:()=>a}var ze={slots:{root:`relative inline-flex items-center`,base:[`rounded-md`,`transition-colors`],leading:`absolute inset-y-0 start-0 flex items-center`,leadingIcon:`shrink-0 text-dimmed`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailing:`group absolute inset-y-0 end-0 flex items-center disabled:cursor-not-allowed disabled:opacity-75 focus:outline-none`,trailingIcon:`shrink-0 text-dimmed`,trailingClear:`p-0`,arrow:`fill-bg stroke-default`,content:`max-h-[min(15rem,var(--reka-combobox-content-available-height,15rem))] w-(--reka-combobox-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)] origin-(--reka-combobox-content-transform-origin) pointer-events-auto flex flex-col`,viewport:`relative scroll-py-1 overflow-y-auto flex-1`,group:`p-1 isolate`,empty:`text-center text-muted`,label:`font-semibold text-highlighted`,separator:`-mx-1 my-1 h-px bg-border`,item:[`group relative w-full flex items-start gap-1.5 p-1.5 text-sm select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50`,`transition-colors before:transition-colors`],itemLeadingIcon:[`shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default`,`transition-colors`],itemLeadingAvatar:`shrink-0`,itemLeadingAvatarSize:``,itemLeadingChip:`shrink-0`,itemLeadingChipSize:``,itemTrailing:`ms-auto inline-flex gap-1.5 items-center`,itemTrailingIcon:`shrink-0`,itemWrapper:`flex-1 flex flex-col min-w-0`,itemLabel:`truncate`,itemDescription:`truncate text-muted`,tagsItem:`px-1.5 py-0.5 rounded-sm font-medium inline-flex items-center gap-0.5 ring ring-inset ring-accented bg-elevated text-default data-disabled:cursor-not-allowed data-disabled:opacity-75`,tagsItemText:`truncate`,tagsItemDelete:[`inline-flex items-center rounded-xs text-dimmed hover:text-default hover:bg-accented/75 disabled:pointer-events-none`,`transition-colors`],tagsItemDeleteIcon:`shrink-0`,tagsInput:`flex-1 border-0 bg-transparent placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75`},variants:{fieldGroup:{horizontal:{root:`group has-focus-visible:z-[1]`,base:`group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none`},vertical:{root:`group has-focus-visible:z-[1]`,base:`group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none`}},size:{xs:{base:`px-2 py-1 text-sm/4 gap-1`,leading:`ps-2`,trailing:`pe-2`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1 text-[10px]/3 gap-1`,item:`p-1 text-xs gap-1`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,tagsItem:`text-[10px]/3`,tagsItemDeleteIcon:`size-3`,empty:`p-2 text-xs`},sm:{base:`px-2.5 py-1.5 text-sm/4 gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1.5 text-[10px]/3 gap-1.5`,item:`p-1.5 text-xs gap-1.5`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,tagsItem:`text-[10px]/3`,tagsItemDeleteIcon:`size-3`,empty:`p-2.5 text-xs`},md:{base:`px-2.5 py-1.5 text-base/5 gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-1.5 text-xs gap-1.5`,item:`p-1.5 text-sm gap-1.5`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,tagsItem:`text-xs`,tagsItemDeleteIcon:`size-3.5`,empty:`p-2.5 text-sm`},lg:{base:`px-3 py-2 text-base/5 gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-2 text-xs gap-2`,item:`p-2 text-sm gap-2`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,tagsItem:`text-xs`,tagsItemDeleteIcon:`size-3.5`,empty:`p-3 text-sm`},xl:{base:`px-3 py-2 text-base gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-6`,leadingAvatarSize:`xs`,trailingIcon:`size-6`,label:`p-2 text-sm gap-2`,item:`p-2 text-base gap-2`,itemLeadingIcon:`size-6`,itemLeadingAvatarSize:`xs`,itemLeadingChip:`size-6`,itemLeadingChipSize:`lg`,itemTrailingIcon:`size-6`,tagsItem:`text-sm`,tagsItemDeleteIcon:`size-4`,empty:`p-3 text-base`}},variant:{outline:`text-highlighted bg-default ring ring-inset ring-accented`,soft:`text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50`,subtle:`text-highlighted bg-elevated ring ring-inset ring-accented`,ghost:`text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent`,none:`text-highlighted bg-transparent focus:outline-none`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},leading:{true:``},trailing:{true:``},loading:{true:``},highlight:{true:``},fixed:{false:``},type:{file:`file:me-1.5 file:font-medium file:text-muted file:outline-none`},virtualize:{true:{viewport:`p-1 isolate`},false:{viewport:`divide-y divide-default`}},multiple:{true:{root:`flex-wrap`},false:{base:`w-full border-0 placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75`}}},compoundVariants:[{variant:`soft`,multiple:!0,class:`has-focus:bg-elevated has-focus-visible:outline-3`},{variant:`ghost`,multiple:!0,class:`has-focus:bg-elevated has-focus-visible:outline-3`},{color:`primary`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-primary`},{color:`secondary`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-secondary`},{color:`success`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-success`},{color:`info`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-info`},{color:`warning`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-warning`},{color:`error`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-error`},{color:`neutral`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-inverted`},{color:`primary`,variant:[`outline`,`subtle`],class:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`},{color:`secondary`,variant:[`outline`,`subtle`],class:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`},{color:`success`,variant:[`outline`,`subtle`],class:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`},{color:`info`,variant:[`outline`,`subtle`],class:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`},{color:`warning`,variant:[`outline`,`subtle`],class:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`},{color:`error`,variant:[`outline`,`subtle`],class:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`},{color:`primary`,variant:[`soft`,`ghost`],class:`outline-primary/25 focus-visible:outline-3`},{color:`secondary`,variant:[`soft`,`ghost`],class:`outline-secondary/25 focus-visible:outline-3`},{color:`success`,variant:[`soft`,`ghost`],class:`outline-success/25 focus-visible:outline-3`},{color:`info`,variant:[`soft`,`ghost`],class:`outline-info/25 focus-visible:outline-3`},{color:`warning`,variant:[`soft`,`ghost`],class:`outline-warning/25 focus-visible:outline-3`},{color:`error`,variant:[`soft`,`ghost`],class:`outline-error/25 focus-visible:outline-3`},{color:`primary`,highlight:!0,class:`ring ring-inset ring-primary`},{color:`secondary`,highlight:!0,class:`ring ring-inset ring-secondary`},{color:`success`,highlight:!0,class:`ring ring-inset ring-success`},{color:`info`,highlight:!0,class:`ring ring-inset ring-info`},{color:`warning`,highlight:!0,class:`ring ring-inset ring-warning`},{color:`error`,highlight:!0,class:`ring ring-inset ring-error`},{color:`neutral`,variant:[`outline`,`subtle`],class:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`},{color:`neutral`,variant:[`soft`,`ghost`],class:`outline-inverted/25 focus-visible:outline-3`},{color:`neutral`,highlight:!0,class:`ring ring-inset ring-inverted`},{leading:!0,size:`xs`,class:`ps-7`},{leading:!0,size:`sm`,class:`ps-8`},{leading:!0,size:`md`,class:`ps-9`},{leading:!0,size:`lg`,class:`ps-10`},{leading:!0,size:`xl`,class:`ps-11`},{trailing:!0,size:`xs`,class:`pe-7`},{trailing:!0,size:`sm`,class:`pe-8`},{trailing:!0,size:`md`,class:`pe-9`},{trailing:!0,size:`lg`,class:`pe-10`},{trailing:!0,size:`xl`,class:`pe-11`},{loading:!0,leading:!0,class:{leadingIcon:`animate-spin`}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:`animate-spin`}},{fixed:!1,size:`xs`,class:`md:text-xs`},{fixed:!1,size:`sm`,class:`md:text-xs`},{fixed:!1,size:`md`,class:`md:text-sm`},{fixed:!1,size:`lg`,class:`md:text-sm`}],defaultVariants:{size:`md`,color:`primary`,variant:`outline`}},Be=Object.assign({inheritAttrs:!1},{__name:`InputMenu`,props:A({as:{type:null,required:!1},id:{type:String,required:!1},type:{type:null,required:!1,default:`text`},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},deleteIcon:{type:null,required:!1},clear:{type:[Boolean,Object],required:!1},clearIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},virtualize:{type:[Boolean,Object],required:!1,default:!1},valueKey:{type:null,required:!1},labelKey:{type:null,required:!1,default:`label`},descriptionKey:{type:null,required:!1,default:`description`},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},fixed:{type:Boolean,required:!1},mode:{type:String,required:!1,default:`combobox`},createItem:{type:[Boolean,String,Object],required:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},resetModelValueOnClear:{type:Boolean,required:!1,default:!0},highlightOnHover:{type:Boolean,required:!1},openOnClick:{type:Boolean,required:!1},openOnFocus:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},{searchTerm:{type:String,default:``},searchTermModifiers:{}}),emits:A([`change`,`blur`,`focus`,`create`,`clear`,`highlight`,`remove-tag`,`update:modelValue`,`update:open`],[`update:searchTerm`]),setup(e,{expose:t,emit:n}){let r=e,i=n,o=ee(),p=Ee(`inputMenu`,r),m=re(e,`searchTerm`,{type:String,default:``}),{t:h}=te(),v=fe(),{filterGroups:C}=s(),k=z(()=>p.mode===`autocomplete`),A=ce(p,`as`,`modelValue`,`defaultValue`,`open`,`defaultOpen`,`required`,`multiple`,`resetSearchTermOnBlur`,`resetSearchTermOnSelect`,`resetModelValueOnClear`,`highlightOnHover`,`openOnClick`,`openOnFocus`,`by`),oe=De(A,`multiple`,`resetSearchTermOnSelect`,`resetModelValueOnClear`,`by`),le=Se(z(()=>k.value?oe:A),i),B=z(()=>k.value?c:a),G=he(),Oe=z(()=>p.multiple&&!k.value?G[`data-slot`]??`base`:`base`),je=we(D(()=>p.portal)),Me=D(()=>l(p.content,{side:`bottom`,sideOffset:8,collisionPadding:8,position:`popper`})),Ie=D(()=>l(p.arrow,{rounded:!0})),Le=z(()=>typeof p.clear==`object`?p.clear:{}),Be=D(()=>p.virtualize?l(typeof p.virtualize==`boolean`?{}:p.virtualize,{estimateSize:Re(J.value,ot.value??`md`,p.descriptionKey,!!o[`item-description`])}):!1),{emitFormBlur:Ve,emitFormFocus:He,emitFormChange:Ue,emitFormInput:We,size:Ge,color:Ke,id:qe,name:Je,highlight:Ye,disabled:Xe,ariaAttrs:Ze}=xe(r),{orientation:Qe,size:$e}=pe(r),{isLeading:et,isTrailing:tt,leadingIconName:nt,trailingIconName:rt}=ye(z(()=>({icon:p.icon,leading:p.leading,leadingIcon:p.leadingIcon,trailing:p.trailing,trailingIcon:p.trailingIcon??v.ui.icons.chevronDown,loading:p.loading,loadingIcon:p.loadingIcon}))),it=z(()=>Ke.value??p.color),at=z(()=>Ye.value??p.highlight),ot=z(()=>$e.value??Ge.value??p.size),st=z(()=>Xe.value??p.disabled),[ct,K]=be(),[lt,ut]=be({props:{item:{type:[Object,String,Number,Boolean],required:!0},index:{type:Number,required:!1}}}),q=z(()=>se({extend:ze,...v.ui?.inputMenu||{}})({color:it.value,variant:p.variant,size:ot.value,loading:p.loading,highlight:at.value,fixed:p.fixed,leading:et.value||!!p.avatar||!!o.leading,trailing:tt.value||!!o.trailing,multiple:p.multiple,fieldGroup:Qe.value,virtualize:!!p.virtualize})),dt=z(()=>pt.value.flatMap(e=>e));function ft(e){return b(dt.value,e,{labelKey:p.labelKey,valueKey:p.valueKey,by:p.by})??``}let pt=z(()=>p.items?.length?ae(p.items)?p.items:[p.items]:[]),mt=z(()=>{if(p.ignoreFilter||!m.value)return pt.value;let e=Array.isArray(p.filterFields)?p.filterFields:[p.labelKey];return C(pt.value,m.value,{fields:e,isStructural:e=>$(e)&&!!e.type&&[`label`,`separator`].includes(e.type)})}),J=z(()=>mt.value.flatMap(e=>e)),Y=z(()=>{if(!p.createItem||!m.value)return!1;let e=p.valueKey?{[p.valueKey]:m.value}:m.value;return typeof p.createItem==`object`&&p.createItem.when===`always`||p.createItem===`always`?!J.value.find(t=>ne(t,e,p.by??p.valueKey)):!J.value.length}),X=z(()=>typeof p.createItem==`object`?p.createItem.position:`bottom`),Z=y(`inputRef`);function ht(){p.autofocus&&Z.value?.$el?.focus()}let gt;ve(()=>{u(()=>{k.value?m.value=String(p.modelValue??p.defaultValue??``):m.value=``}),gt=setTimeout(()=>{ht()},p.autofocusDelay)}),de(()=>clearTimeout(gt)),f(()=>p.modelValue,e=>{k.value&&(m.value=String(e??``))});function _t(e){if(Te(p.modelValue)===e)return;p.modelModifiers?.trim&&(typeof e==`string`||e==null)&&(e=e?.trim()??null),p.modelModifiers?.number&&(e=ie(e)),p.modelModifiers?.nullable&&(e??=null),p.modelModifiers?.optional&&!p.modelModifiers?.nullable&&e!==null&&(e??=void 0);let t=new Event(`change`,{target:{value:e}});i(`change`,t),Ue(),We(),k.value?m.value=String(e??``):p.resetSearchTermOnSelect&&(m.value=``)}function vt(e){k.value||(m.value=e)}function yt(e){i(`blur`,e),Ve()}function bt(e){i(`focus`,e),He()}let xt=P(!1),Q;de(()=>clearTimeout(Q));function St(e){if(xt.value=e,e){let e=new FocusEvent(`focus`);i(`focus`,e),He(),clearTimeout(Q)}else{let e=new FocusEvent(`blur`);i(`blur`,e),Ve(),!k.value&&p.resetSearchTermOnBlur&&(Q=setTimeout(()=>{m.value=``},100))}}function Ct(e,t){if(p.multiple){let n=t.filter(t=>!w(t,e));i(`update:modelValue`,n),i(`remove-tag`,e),_t(n)}}function wt(e){e.preventDefault(),e.stopPropagation(),i(`create`,m.value)}function Tt(e,t){if($(t)){if(t.disabled){e.preventDefault();return}t.onSelect?.(e)}}function $(e){return typeof e==`object`&&!!e}function Et(e){return p.multiple&&Array.isArray(e)?e.length===0:e==null||e===``}function Dt(){i(`clear`)}let Ot=y(`viewportRef`),kt=y(`comboboxRootRef`);return f(()=>p.items,async()=>{xt.value&&p.createItem&&(await u(),kt.value?.highlightFirstItem?.())},{flush:`post`}),t({inputRef:D(()=>Z.value?.$el),viewportRef:D(()=>Ot.value)}),(e,t)=>(M(),H(L,null,[O(g(ct),null,{default:_(()=>[O(g(B).Item,{"data-slot":`item`,class:R(q.value.item({class:g(p).ui?.item})),value:m.value,onSelect:wt},{default:_(()=>[I(`span`,{"data-slot":`itemLabel`,class:R(q.value.itemLabel({class:g(p).ui?.itemLabel}))},[W(e.$slots,`create-item-label`,{item:m.value},()=>[U(S(g(h)(`inputMenu.create`,{label:m.value})),1)])],2)]),_:3},8,[`class`,`value`])]),_:3}),O(g(lt),null,{default:_(({item:t,index:n})=>[$(t)&&t.type===`label`?(M(),F(g(B).Label,{key:0,"data-slot":`label`,class:R(q.value.label({class:[g(p).ui?.label,t.ui?.label,t.class]}))},{default:_(()=>[U(S(g(V)(t,g(p).labelKey)),1)]),_:2},1032,[`class`])):$(t)&&t.type===`separator`?(M(),F(g(B).Separator,{key:1,"data-slot":`separator`,class:R(q.value.separator({class:[g(p).ui?.separator,t.ui?.separator,t.class]}))},null,8,[`class`])):(M(),F(g(B).Item,{key:2,"data-slot":`item`,class:R(q.value.item({class:[g(p).ui?.item,$(t)&&t.ui?.item,$(t)&&t.class]})),disabled:$(t)&&t.disabled,value:g(p).valueKey&&$(t)?g(V)(t,g(p).valueKey):t,onSelect:e=>Tt(e,t)},{default:_(()=>[W(e.$slots,`item`,{item:t,index:n,ui:q.value},()=>[W(e.$slots,`item-leading`,{item:t,index:n,ui:q.value},()=>[$(t)&&t.icon?(M(),F(N,{key:0,name:t.icon,"data-slot":`itemLeadingIcon`,class:R(q.value.itemLeadingIcon({class:[g(p).ui?.itemLeadingIcon,t.ui?.itemLeadingIcon]}))},null,8,[`name`,`class`])):$(t)&&t.avatar?(M(),F(ge,T({key:1,size:t.ui?.itemLeadingAvatarSize||g(p).ui?.itemLeadingAvatarSize||q.value.itemLeadingAvatarSize()},t.avatar,{"data-slot":`itemLeadingAvatar`,class:q.value.itemLeadingAvatar({class:[g(p).ui?.itemLeadingAvatar,t.ui?.itemLeadingAvatar]})}),null,16,[`size`,`class`])):$(t)&&t.chip?(M(),F(me,T({key:2,size:t.ui?.itemLeadingChipSize||g(p).ui?.itemLeadingChipSize||q.value.itemLeadingChipSize(),inset:``,standalone:``},t.chip,{"data-slot":`itemLeadingChip`,class:q.value.itemLeadingChip({class:[g(p).ui?.itemLeadingChip,t.ui?.itemLeadingChip]})}),null,16,[`size`,`class`])):j(``,!0)]),I(`span`,{"data-slot":`itemWrapper`,class:R(q.value.itemWrapper({class:[g(p).ui?.itemWrapper,$(t)&&t.ui?.itemWrapper]}))},[I(`span`,{"data-slot":`itemLabel`,class:R(q.value.itemLabel({class:[g(p).ui?.itemLabel,$(t)&&t.ui?.itemLabel]}))},[W(e.$slots,`item-label`,{item:t,index:n},()=>[U(S($(t)?g(V)(t,g(p).labelKey):t),1)])],2),$(t)&&(g(V)(t,g(p).descriptionKey)||o[`item-description`])?(M(),H(`span`,{key:0,"data-slot":`itemDescription`,class:R(q.value.itemDescription({class:[g(p).ui?.itemDescription,$(t)&&t.ui?.itemDescription]}))},[W(e.$slots,`item-description`,{item:t,index:n},()=>[U(S(g(V)(t,g(p).descriptionKey)),1)])],2)):j(``,!0)],2),I(`span`,{"data-slot":`itemTrailing`,class:R(q.value.itemTrailing({class:[g(p).ui?.itemTrailing,$(t)&&t.ui?.itemTrailing]}))},[W(e.$slots,`item-trailing`,{item:t,index:n,ui:q.value}),k.value?j(``,!0):(M(),F(g(B).ItemIndicator,{key:0,"as-child":``},{default:_(()=>[O(N,{name:g(p).selectedIcon||g(v).ui.icons.check,"data-slot":`itemTrailingIcon`,class:R(q.value.itemTrailingIcon({class:[g(p).ui?.itemTrailingIcon,$(t)&&t.ui?.itemTrailingIcon]}))},null,8,[`name`,`class`])]),_:2},1024))],2)])]),_:2},1032,[`class`,`disabled`,`value`,`onSelect`]))]),_:3}),O(g(B).Root,T({ref_key:`comboboxRootRef`,ref:kt},g(le),{name:g(Je),disabled:st.value,"data-slot":e.$attrs[`data-slot`]??`root`,class:q.value.root({class:[g(p).ui?.root,g(p).class]}),"as-child":!!g(p).multiple&&!k.value,"ignore-filter":``,"onUpdate:modelValue":_t,"onUpdate:open":St}),{default:_(({modelValue:n,open:r})=>[O(g(B).Anchor,{"as-child":!g(p).multiple,"data-slot":Oe.value,class:R(q.value.base({class:g(p).ui?.base}))},{default:_(()=>[g(p).multiple&&!k.value?(M(),F(g(ke),{key:0,"model-value":n,disabled:st.value,required:g(p).required,delimiter:``,"as-child":``,onBlur:yt,onFocus:bt,onRemoveTag:e=>Ct(e,n)},{default:_(({modelValue:n})=>[(M(!0),H(L,null,Ce(n,(t,n)=>(M(),F(g(Ne),{key:n,value:t,"data-slot":`tagsItem`,class:R(q.value.tagsItem({class:[g(p).ui?.tagsItem,$(t)&&t.ui?.tagsItem]}))},{default:_(()=>[O(g(Fe),{"data-slot":`tagsItemText`,class:R(q.value.tagsItemText({class:[g(p).ui?.tagsItemText,$(t)&&t.ui?.tagsItemText]}))},{default:_(()=>[W(e.$slots,`tags-item-text`,{item:t,index:n},()=>[U(S(ft(t)),1)])]),_:2},1032,[`class`]),O(g(Pe),{"data-slot":`tagsItemDelete`,class:R(q.value.tagsItemDelete({class:[g(p).ui?.tagsItemDelete,$(t)&&t.ui?.tagsItemDelete]})),disabled:st.value},{default:_(()=>[W(e.$slots,`tags-item-delete`,{item:t,index:n,ui:q.value},()=>[O(N,{name:g(p).deleteIcon||g(v).ui.icons.close,"data-slot":`tagsItemDeleteIcon`,class:R(q.value.tagsItemDeleteIcon({class:[g(p).ui?.tagsItemDeleteIcon,$(t)&&t.ui?.tagsItemDeleteIcon]}))},null,8,[`name`,`class`])])]),_:2},1032,[`class`,`disabled`])]),_:2},1032,[`value`,`class`]))),128)),O(g(B).Input,{modelValue:m.value,"onUpdate:modelValue":t[1]||=e=>m.value=e,"as-child":``},{default:_(()=>[O(g(Ae),T({id:g(qe),ref_key:`inputRef`,ref:Z},{...e.$attrs,...g(Ze)},{placeholder:g(p).placeholder,"data-slot":`tagsInput`,class:q.value.tagsInput({class:g(p).ui?.tagsInput}),onChange:t[0]||=E(()=>{},[`stop`])}),null,16,[`id`,`placeholder`,`class`])]),_:1},8,[`modelValue`])]),_:3},8,[`model-value`,`disabled`,`required`,`onRemoveTag`])):(M(),F(g(B).Input,T({key:1,id:g(qe),ref_key:`inputRef`,ref:Z},{...k.value?{}:{displayValue:ft},...e.$attrs,...g(Ze)},{"data-slot":g(p).multiple?void 0:`base`,type:g(p).type,placeholder:g(p).placeholder,required:g(p).required,onBlur:yt,onFocus:bt,onChange:t[2]||=E(()=>{},[`stop`]),"onUpdate:modelValue":vt}),null,16,[`id`,`data-slot`,`type`,`placeholder`,`required`])),g(et)||g(p).avatar||o.leading?(M(),H(`span`,{key:2,"data-slot":`leading`,class:R(q.value.leading({class:g(p).ui?.leading}))},[W(e.$slots,`leading`,{modelValue:n,open:r,ui:q.value},()=>[g(et)&&g(nt)?(M(),F(N,{key:0,name:g(nt),"data-slot":`leadingIcon`,class:R(q.value.leadingIcon({class:g(p).ui?.leadingIcon}))},null,8,[`name`,`class`])):g(p).avatar?(M(),F(ge,T({key:1,size:g(p).ui?.itemLeadingAvatarSize||q.value.itemLeadingAvatarSize()},g(p).avatar,{"data-slot":`itemLeadingAvatar`,class:q.value.itemLeadingAvatar({class:g(p).ui?.itemLeadingAvatar})}),null,16,[`size`,`class`])):j(``,!0)])],2)):j(``,!0),g(tt)||o.trailing||g(p).clear?(M(),F(g(B).Trigger,{key:3,"data-slot":`trailing`,class:R(q.value.trailing({class:g(p).ui?.trailing}))},{default:_(()=>[W(e.$slots,`trailing`,{modelValue:n,open:r,ui:q.value},()=>[g(p).clear&&!Et(n)?(M(),F(g(B).Cancel,{key:0,"as-child":``},{default:_(()=>[O(_e,T({as:`span`,icon:g(p).clearIcon||g(v).ui.icons.close,size:ot.value,variant:`link`,color:`neutral`,tabindex:`-1`},Le.value,{"data-slot":`trailingClear`,class:q.value.trailingClear({class:g(p).ui?.trailingClear}),onClick:E(Dt,[`stop`])}),null,16,[`icon`,`size`,`class`])]),_:1})):g(rt)?(M(),F(N,{key:1,name:g(rt),"data-slot":`trailingIcon`,class:R(q.value.trailingIcon({class:g(p).ui?.trailingIcon}))},null,8,[`name`,`class`])):j(``,!0)])]),_:2},1032,[`class`])):j(``,!0)]),_:2},1032,[`as-child`,`data-slot`,`class`]),O(g(B).Portal,d(x(g(je))),{default:_(()=>[O(g(ue),null,{default:_(()=>[O(g(B).Content,T({"data-slot":`content`,class:q.value.content({class:g(p).ui?.content})},Me.value,{onFocusOutside:t[3]||=E(()=>{},[`prevent`])}),{default:_(()=>[W(e.$slots,`content-top`),O(g(B).Empty,{"data-slot":`empty`,class:R(q.value.empty({class:g(p).ui?.empty}))},{default:_(()=>[W(e.$slots,`empty`,{searchTerm:m.value},()=>[U(S(m.value?g(h)(`inputMenu.noMatch`,{searchTerm:m.value}):g(h)(`inputMenu.noData`)),1)])]),_:3},8,[`class`]),I(`div`,{ref_key:`viewportRef`,ref:Ot,role:`presentation`,"data-slot":`viewport`,class:R(q.value.viewport({class:g(p).ui?.viewport}))},[g(p).virtualize?(M(),H(L,{key:0},[Y.value&&X.value===`top`?(M(),F(g(K),{key:0})):j(``,!0),O(g(B).Virtualizer,T({options:J.value,"text-content":e=>$(e)?g(V)(e,g(p).labelKey):String(e)},Be.value),{default:_(({option:e,virtualItem:t})=>[O(g(ut),{item:e,index:t.index},null,8,[`item`,`index`])]),_:1},16,[`options`,`text-content`]),Y.value&&X.value===`bottom`?(M(),F(g(K),{key:1})):j(``,!0)],64)):(M(),H(L,{key:1},[Y.value&&X.value===`top`?(M(),F(g(B).Group,{key:0,"data-slot":`group`,class:R(q.value.group({class:g(p).ui?.group}))},{default:_(()=>[O(g(K))]),_:1},8,[`class`])):j(``,!0),(M(!0),H(L,null,Ce(mt.value,(e,t)=>(M(),F(g(B).Group,{key:`group-${t}`,"data-slot":`group`,class:R(q.value.group({class:g(p).ui?.group}))},{default:_(()=>[(M(!0),H(L,null,Ce(e,(e,n)=>(M(),F(g(ut),{key:`group-${t}-${n}`,item:e,index:n},null,8,[`item`,`index`]))),128))]),_:2},1032,[`class`]))),128)),Y.value&&X.value===`bottom`?(M(),F(g(B).Group,{key:1,"data-slot":`group`,class:R(q.value.group({class:g(p).ui?.group}))},{default:_(()=>[O(g(K))]),_:1},8,[`class`])):j(``,!0)],64))],2),W(e.$slots,`content-bottom`),g(p).arrow?(M(),F(g(B).Arrow,T({key:0},Ie.value,{"data-slot":`arrow`,class:q.value.arrow({class:g(p).ui?.arrow})}),null,16,[`class`])):j(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`name`,`disabled`,`data-slot`,`class`,`as-child`])],64))}});export{Be as t};
1
+ import{I as e,N as t,O as n,P as r,S as i,d as a,j as o,l as s,u as c}from"./AppShell-B4EUiSwP.js";import{$ as l,$n as u,Ai as d,Br as f,C as p,Ci as m,Dn as h,Ei as g,Fr as ee,G as te,Gr as _,I as v,Ir as y,J as b,K as ne,Ln as x,Mi as S,N as C,Nr as re,Q as w,Qn as T,Qt as E,Si as D,Tn as O,U as k,X as ie,Y as ae,Zn as A,Zt as oe,_ as se,_n as j,bt as ce,ct as le,d as ue,di as de,et as fe,f as pe,fr as M,g as N,gi as P,gn as F,h as me,hn as I,in as L,jr as he,ki as R,m as ge,mn as z,o as _e,or as ve,p as ye,pt as B,q as V,tt as be,u as xe,v as Se,vn as H,vr as Ce,wn as U,x as we,xi as Te,y as Ee,yr as W,yt as De}from"./seed-BhxEVasY.js";var[G,Oe]=k(`TagsInputRoot`),ke=h({__name:`TagsInputRoot`,props:{modelValue:{type:[Array,null],required:!1},defaultValue:{type:Array,required:!1,default:()=>[]},addOnPaste:{type:Boolean,required:!1},addOnTab:{type:Boolean,required:!1},addOnBlur:{type:Boolean,required:!1},duplicate:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},delimiter:{type:null,required:!1,default:`,`},dir:{type:String,required:!1},max:{type:Number,required:!1,default:0},id:{type:String,required:!1},convertValue:{type:Function,required:!1},displayValue:{type:Function,required:!1,default:e=>e.toString()},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`invalid`,`addTag`,`removeTag`],setup(n,{emit:r}){let a=n,s=r,{addOnPaste:c,disabled:l,delimiter:u,max:d,id:f,dir:h,addOnBlur:ee,addOnTab:te}=m(a),y=t(h),b=B(a,`modelValue`,s,{defaultValue:a.defaultValue,passive:!0,deep:!0}),{forwardRef:ne,currentElement:x}=v(),{focused:S}=le(x),re=o(x),{getItems:T,CollectionSlot:E}=p({isProvider:!0}),D=P(),k=P(!1),ie=z(()=>Array.isArray(b.value)?[...b.value]:[]);function ae(e){if(e!==-1){let t=b.value[e];b.value=b.value.filter((t,n)=>n!==e),s(`removeTag`,t)}}return Oe({modelValue:b,onAddValue:e=>{let t=[...ie.value],n=t.length>0&&typeof t[0]==`object`,r=t.length>0&&typeof a.defaultValue[0]==`object`;if((n||r)&&typeof a.convertValue!=`function`)throw Error("You must provide a `convertValue` function when using objects as values.");let i=a.convertValue?a.convertValue(e):e;if(t.length>=d.value&&d.value)return s(`invalid`,i),!1;if(a.duplicate)return b.value=[...t,i],s(`addTag`,i),!0;if(t.includes(i))k.value=!0;else return b.value=[...t,i],s(`addTag`,i),!0;return s(`invalid`,i),!1},onRemoveValue:ae,onInputKeydown:t=>{if(t.isComposing)return;let n=t.target,r=T().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);if(!r.length)return;let i=r.at(-1);switch(t.key){case`Delete`:case`Backspace`:if(n.selectionStart!==0||n.selectionEnd!==0)break;if(D.value){let e=r.findIndex(e=>e===D.value),n=T().find(e=>e.ref===D.value);ae(n?b.value.findIndex(e=>w(e,n.value)):-1),D.value=D.value===i?r.at(e-1):r.at(e+1),t.preventDefault()}else t.key===`Backspace`&&(D.value=i,t.preventDefault());break;case`Home`:case`End`:case`ArrowRight`:case`ArrowLeft`:{let a=t.key===`ArrowRight`&&y.value===`ltr`||t.key===`ArrowLeft`&&y.value===`rtl`,o=!a;if(n.selectionStart!==0||n.selectionEnd!==0)break;if(o&&!D.value)D.value=i,t.preventDefault();else if(a&&i&&D.value===i)D.value=void 0,t.preventDefault();else if(D.value){let n=e(t,D.value,void 0,{itemsArray:r,loop:!1,dir:y.value});n&&(D.value=n),t.preventDefault()}break}case`ArrowUp`:case`ArrowDown`:D.value&&t.preventDefault();break;default:D.value=void 0}},selectedElement:D,isInvalidInput:k,addOnPaste:c,addOnBlur:ee,addOnTab:te,dir:y,disabled:l,delimiter:u,max:d,id:f,displayValue:a.displayValue}),(e,t)=>(M(),F(g(E),null,{default:_(()=>[O(g(C),{ref:g(ne),dir:g(y),as:e.as,"as-child":e.asChild,"data-invalid":k.value?``:void 0,"data-disabled":g(l)?``:void 0,"data-focused":g(S)?``:void 0},{default:_(()=>[W(e.$slots,`default`,{modelValue:g(b)}),g(re)&&e.name?(M(),F(g(i),{key:0,name:e.name,value:g(b),required:e.required,disabled:g(l)},null,8,[`name`,`value`,`required`,`disabled`])):j(`v-if`,!0)]),_:3},8,[`dir`,`as`,`as-child`,`data-invalid`,`data-disabled`,`data-focused`])]),_:3}))}}),Ae=h({__name:`TagsInputInput`,props:{placeholder:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},maxLength:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`input`}},setup(e){let t=e,n=G(),{forwardRef:i,currentElement:a}=v();function o(e){if(n.selectedElement.value=void 0,!n.addOnBlur.value)return;let t=e.target,r=e.relatedTarget,i=t.getAttribute(`aria-controls`);i&&r?.closest(`#${CSS.escape(i)}`)||t.value&&n.onAddValue(t.value)&&(t.value=``)}function s(e){n.addOnTab.value&&f(e)}let{isComposing:c,handleCompositionStart:l,handleCompositionEnd:d}=r();async function f(e){if(c.value||(await u(),e.defaultPrevented))return;let t=e.target;t.value&&(n.onAddValue(t.value)&&(t.value=``),e.preventDefault())}function p(e){if(c.value||(n.isInvalidInput.value=!1,e.data===null))return;let t=n.delimiter.value;if(t===e.data||t instanceof RegExp&&t.test(e.data)){let r=e.target;if(r.value=r.value.replace(t,``),r.value.trim()===``){r.value=``;return}n.onAddValue(r.value)&&(r.value=``)}}function m(e){c.value||n.onInputKeydown(e)}function h(e){if(n.addOnPaste.value){e.preventDefault();let t=e.clipboardData;if(!t)return;let r=t.getData(`text`);n.delimiter.value?r.split(n.delimiter.value).forEach(e=>{n.onAddValue(e)}):n.onAddValue(r)}}return ve(()=>{let e=a.value.nodeName===`INPUT`?a.value:a.value.querySelector(`input`);e&&setTimeout(()=>{t.autoFocus&&e?.focus()},1)}),(e,t)=>(M(),F(g(C),{id:g(n).id?.value,ref:g(i),type:`text`,autocomplete:`off`,autocorrect:`off`,autocapitalize:`off`,as:e.as,"as-child":e.asChild,maxlength:e.maxLength,placeholder:e.placeholder,disabled:g(n).disabled.value,"data-invalid":g(n).isInvalidInput.value?``:void 0,onInput:p,onKeydown:[oe(f,[`enter`]),oe(s,[`tab`]),m],onBlur:o,onCompositionstart:g(l),onCompositionend:g(d),onPaste:h},{default:_(()=>[W(e.$slots,`default`)]),_:3},8,[`id`,`as`,`as-child`,`maxlength`,`placeholder`,`disabled`,`data-invalid`,`onCompositionstart`,`onCompositionend`]))}}),[je,Me]=k(`TagsInputItem`),Ne=h({__name:`TagsInputItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{value:n}=m(t),r=G(),{forwardRef:i,currentElement:a}=v(),{CollectionItem:o}=p(),s=z(()=>r.selectedElement.value===a.value),c=z(()=>t.disabled||r.disabled.value),l=Me({value:n,isSelected:s,disabled:c,textId:``,displayValue:z(()=>r.displayValue(n.value))});return(e,t)=>(M(),F(g(o),{value:g(n)},{default:_(()=>[O(g(C),{ref:g(i),as:e.as,"as-child":e.asChild,"aria-labelledby":g(l).textId,"aria-current":s.value,"data-disabled":c.value?``:void 0,"data-state":s.value?`active`:`inactive`},{default:_(()=>[W(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-labelledby`,`aria-current`,`data-disabled`,`data-state`])]),_:3},8,[`value`]))}}),Pe=h({__name:`TagsInputItemDelete`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;v();let n=G(),r=je(),i=z(()=>r.disabled?.value||n.disabled.value);function a(){if(i.value)return;let e=n.modelValue.value.findIndex(e=>w(e,r.value.value));n.onRemoveValue(e)}return(e,n)=>(M(),F(g(C),T({tabindex:`-1`},t,{"aria-labelledby":g(r).textId,"aria-current":g(r).isSelected.value,"data-state":g(r).isSelected.value?`active`:`inactive`,"data-disabled":i.value?``:void 0,type:e.as===`button`?`button`:void 0,onClick:a}),{default:_(()=>[W(e.$slots,`default`)]),_:3},16,[`aria-labelledby`,`aria-current`,`data-state`,`data-disabled`,`type`]))}}),Fe=h({__name:`TagsInputItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,r=je();return v(),r.textId||=n(void 0,`reka-tags-input-item-text`),(e,n)=>(M(),F(g(C),T(t,{id:g(r).textId}),{default:_(()=>[W(e.$slots,`default`,{},()=>[U(S(g(r).displayValue.value),1)])]),_:3},16,[`id`]))}});function Ie(e,t){if(typeof e!=`object`||!e)return!1;let n=V(e,t);return n!=null&&n!==``}function Le(e,t){return t?{xs:44,sm:48,md:52,lg:56,xl:60}[e]:{xs:24,sm:28,md:32,lg:36,xl:40}[e]}function Re(e,t,n,r){let i=Le(t,!0),a=Le(t,!1);return r?()=>i:n?t=>Ie(e[t],n)?i:a:()=>a}var ze={slots:{root:`relative inline-flex items-center`,base:[`rounded-md`,`transition-colors`],leading:`absolute inset-y-0 start-0 flex items-center`,leadingIcon:`shrink-0 text-dimmed`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailing:`group absolute inset-y-0 end-0 flex items-center disabled:cursor-not-allowed disabled:opacity-75 focus:outline-none`,trailingIcon:`shrink-0 text-dimmed`,trailingClear:`p-0`,arrow:`fill-bg stroke-default`,content:`max-h-[min(15rem,var(--reka-combobox-content-available-height,15rem))] w-(--reka-combobox-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_var(--ease-out)] data-[state=closed]:animate-[scale-out_100ms_var(--ease-out)] origin-(--reka-combobox-content-transform-origin) pointer-events-auto flex flex-col`,viewport:`relative scroll-py-1 overflow-y-auto flex-1`,group:`p-1 isolate`,empty:`text-center text-muted`,label:`font-semibold text-highlighted`,separator:`-mx-1 my-1 h-px bg-border`,item:[`group relative w-full flex items-start gap-1.5 p-1.5 text-sm select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50`,`transition-colors before:transition-colors`],itemLeadingIcon:[`shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default`,`transition-colors`],itemLeadingAvatar:`shrink-0`,itemLeadingAvatarSize:``,itemLeadingChip:`shrink-0`,itemLeadingChipSize:``,itemTrailing:`ms-auto inline-flex gap-1.5 items-center`,itemTrailingIcon:`shrink-0`,itemWrapper:`flex-1 flex flex-col min-w-0`,itemLabel:`truncate`,itemDescription:`truncate text-muted`,tagsItem:`px-1.5 py-0.5 rounded-sm font-medium inline-flex items-center gap-0.5 ring ring-inset ring-accented bg-elevated text-default data-disabled:cursor-not-allowed data-disabled:opacity-75`,tagsItemText:`truncate`,tagsItemDelete:[`inline-flex items-center rounded-xs text-dimmed hover:text-default hover:bg-accented/75 disabled:pointer-events-none`,`transition-colors`],tagsItemDeleteIcon:`shrink-0`,tagsInput:`flex-1 border-0 bg-transparent placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75`},variants:{fieldGroup:{horizontal:{root:`group has-focus-visible:z-[1]`,base:`group-not-only:group-first:rounded-e-none group-not-only:group-last:rounded-s-none group-not-last:group-not-first:rounded-none`},vertical:{root:`group has-focus-visible:z-[1]`,base:`group-not-only:group-first:rounded-b-none group-not-only:group-last:rounded-t-none group-not-last:group-not-first:rounded-none`}},size:{xs:{base:`px-2 py-1 text-sm/4 gap-1`,leading:`ps-2`,trailing:`pe-2`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1 text-[10px]/3 gap-1`,item:`p-1 text-xs gap-1`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,tagsItem:`text-[10px]/3`,tagsItemDeleteIcon:`size-3`,empty:`p-2 text-xs`},sm:{base:`px-2.5 py-1.5 text-sm/4 gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`,label:`p-1.5 text-[10px]/3 gap-1.5`,item:`p-1.5 text-xs gap-1.5`,itemLeadingIcon:`size-4`,itemLeadingAvatarSize:`3xs`,itemLeadingChip:`size-4`,itemLeadingChipSize:`sm`,itemTrailingIcon:`size-4`,tagsItem:`text-[10px]/3`,tagsItemDeleteIcon:`size-3`,empty:`p-2.5 text-xs`},md:{base:`px-2.5 py-1.5 text-base/5 gap-1.5`,leading:`ps-2.5`,trailing:`pe-2.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-1.5 text-xs gap-1.5`,item:`p-1.5 text-sm gap-1.5`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,tagsItem:`text-xs`,tagsItemDeleteIcon:`size-3.5`,empty:`p-2.5 text-sm`},lg:{base:`px-3 py-2 text-base/5 gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`,label:`p-2 text-xs gap-2`,item:`p-2 text-sm gap-2`,itemLeadingIcon:`size-5`,itemLeadingAvatarSize:`2xs`,itemLeadingChip:`size-5`,itemLeadingChipSize:`md`,itemTrailingIcon:`size-5`,tagsItem:`text-xs`,tagsItemDeleteIcon:`size-3.5`,empty:`p-3 text-sm`},xl:{base:`px-3 py-2 text-base gap-2`,leading:`ps-3`,trailing:`pe-3`,leadingIcon:`size-6`,leadingAvatarSize:`xs`,trailingIcon:`size-6`,label:`p-2 text-sm gap-2`,item:`p-2 text-base gap-2`,itemLeadingIcon:`size-6`,itemLeadingAvatarSize:`xs`,itemLeadingChip:`size-6`,itemLeadingChipSize:`lg`,itemTrailingIcon:`size-6`,tagsItem:`text-sm`,tagsItemDeleteIcon:`size-4`,empty:`p-3 text-base`}},variant:{outline:`text-highlighted bg-default ring ring-inset ring-accented`,soft:`text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50`,subtle:`text-highlighted bg-elevated ring ring-inset ring-accented`,ghost:`text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent`,none:`text-highlighted bg-transparent focus:outline-none`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},leading:{true:``},trailing:{true:``},loading:{true:``},highlight:{true:``},fixed:{false:``},type:{file:`file:me-1.5 file:font-medium file:text-muted file:outline-none`},virtualize:{true:{viewport:`p-1 isolate`},false:{viewport:`divide-y divide-default`}},multiple:{true:{root:`flex-wrap`},false:{base:`w-full border-0 placeholder:text-dimmed disabled:cursor-not-allowed disabled:opacity-75`}}},compoundVariants:[{variant:`soft`,multiple:!0,class:`has-focus:bg-elevated has-focus-visible:outline-3`},{variant:`ghost`,multiple:!0,class:`has-focus:bg-elevated has-focus-visible:outline-3`},{color:`primary`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-primary`},{color:`secondary`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-secondary`},{color:`success`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-success`},{color:`info`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-info`},{color:`warning`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-warning`},{color:`error`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-error`},{color:`neutral`,multiple:!0,variant:[`outline`,`subtle`],class:`has-focus-visible:outline-3 has-focus-visible:ring-inverted`},{color:`primary`,variant:[`outline`,`subtle`],class:`outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary`},{color:`secondary`,variant:[`outline`,`subtle`],class:`outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary`},{color:`success`,variant:[`outline`,`subtle`],class:`outline-success/25 focus-visible:outline-3 focus-visible:ring-success`},{color:`info`,variant:[`outline`,`subtle`],class:`outline-info/25 focus-visible:outline-3 focus-visible:ring-info`},{color:`warning`,variant:[`outline`,`subtle`],class:`outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning`},{color:`error`,variant:[`outline`,`subtle`],class:`outline-error/25 focus-visible:outline-3 focus-visible:ring-error`},{color:`primary`,variant:[`soft`,`ghost`],class:`outline-primary/25 focus-visible:outline-3`},{color:`secondary`,variant:[`soft`,`ghost`],class:`outline-secondary/25 focus-visible:outline-3`},{color:`success`,variant:[`soft`,`ghost`],class:`outline-success/25 focus-visible:outline-3`},{color:`info`,variant:[`soft`,`ghost`],class:`outline-info/25 focus-visible:outline-3`},{color:`warning`,variant:[`soft`,`ghost`],class:`outline-warning/25 focus-visible:outline-3`},{color:`error`,variant:[`soft`,`ghost`],class:`outline-error/25 focus-visible:outline-3`},{color:`primary`,highlight:!0,class:`ring ring-inset ring-primary`},{color:`secondary`,highlight:!0,class:`ring ring-inset ring-secondary`},{color:`success`,highlight:!0,class:`ring ring-inset ring-success`},{color:`info`,highlight:!0,class:`ring ring-inset ring-info`},{color:`warning`,highlight:!0,class:`ring ring-inset ring-warning`},{color:`error`,highlight:!0,class:`ring ring-inset ring-error`},{color:`neutral`,variant:[`outline`,`subtle`],class:`outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted`},{color:`neutral`,variant:[`soft`,`ghost`],class:`outline-inverted/25 focus-visible:outline-3`},{color:`neutral`,highlight:!0,class:`ring ring-inset ring-inverted`},{leading:!0,size:`xs`,class:`ps-7`},{leading:!0,size:`sm`,class:`ps-8`},{leading:!0,size:`md`,class:`ps-9`},{leading:!0,size:`lg`,class:`ps-10`},{leading:!0,size:`xl`,class:`ps-11`},{trailing:!0,size:`xs`,class:`pe-7`},{trailing:!0,size:`sm`,class:`pe-8`},{trailing:!0,size:`md`,class:`pe-9`},{trailing:!0,size:`lg`,class:`pe-10`},{trailing:!0,size:`xl`,class:`pe-11`},{loading:!0,leading:!0,class:{leadingIcon:`animate-spin`}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:`animate-spin`}},{fixed:!1,size:`xs`,class:`md:text-xs`},{fixed:!1,size:`sm`,class:`md:text-xs`},{fixed:!1,size:`md`,class:`md:text-sm`},{fixed:!1,size:`lg`,class:`md:text-sm`}],defaultVariants:{size:`md`,color:`primary`,variant:`outline`}},Be=Object.assign({inheritAttrs:!1},{__name:`InputMenu`,props:A({as:{type:null,required:!1},id:{type:String,required:!1},type:{type:null,required:!1,default:`text`},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},deleteIcon:{type:null,required:!1},clear:{type:[Boolean,Object],required:!1},clearIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},virtualize:{type:[Boolean,Object],required:!1,default:!1},valueKey:{type:null,required:!1},labelKey:{type:null,required:!1,default:`label`},descriptionKey:{type:null,required:!1,default:`description`},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},fixed:{type:Boolean,required:!1},mode:{type:String,required:!1,default:`combobox`},createItem:{type:[Boolean,String,Object],required:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},resetModelValueOnClear:{type:Boolean,required:!1,default:!0},highlightOnHover:{type:Boolean,required:!1},openOnClick:{type:Boolean,required:!1},openOnFocus:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},{searchTerm:{type:String,default:``},searchTermModifiers:{}}),emits:A([`change`,`blur`,`focus`,`create`,`clear`,`highlight`,`remove-tag`,`update:modelValue`,`update:open`],[`update:searchTerm`]),setup(e,{expose:t,emit:n}){let r=e,i=n,o=ee(),p=Ee(`inputMenu`,r),m=re(e,`searchTerm`,{type:String,default:``}),{t:h}=te(),v=fe(),{filterGroups:C}=s(),k=z(()=>p.mode===`autocomplete`),A=ce(p,`as`,`modelValue`,`defaultValue`,`open`,`defaultOpen`,`required`,`multiple`,`resetSearchTermOnBlur`,`resetSearchTermOnSelect`,`resetModelValueOnClear`,`highlightOnHover`,`openOnClick`,`openOnFocus`,`by`),oe=De(A,`multiple`,`resetSearchTermOnSelect`,`resetModelValueOnClear`,`by`),le=Se(z(()=>k.value?oe:A),i),B=z(()=>k.value?c:a),G=he(),Oe=z(()=>p.multiple&&!k.value?G[`data-slot`]??`base`:`base`),je=we(D(()=>p.portal)),Me=D(()=>l(p.content,{side:`bottom`,sideOffset:8,collisionPadding:8,position:`popper`})),Ie=D(()=>l(p.arrow,{rounded:!0})),Le=z(()=>typeof p.clear==`object`?p.clear:{}),Be=D(()=>p.virtualize?l(typeof p.virtualize==`boolean`?{}:p.virtualize,{estimateSize:Re(J.value,ot.value??`md`,p.descriptionKey,!!o[`item-description`])}):!1),{emitFormBlur:Ve,emitFormFocus:He,emitFormChange:Ue,emitFormInput:We,size:Ge,color:Ke,id:qe,name:Je,highlight:Ye,disabled:Xe,ariaAttrs:Ze}=xe(r),{orientation:Qe,size:$e}=pe(r),{isLeading:et,isTrailing:tt,leadingIconName:nt,trailingIconName:rt}=ye(z(()=>({icon:p.icon,leading:p.leading,leadingIcon:p.leadingIcon,trailing:p.trailing,trailingIcon:p.trailingIcon??v.ui.icons.chevronDown,loading:p.loading,loadingIcon:p.loadingIcon}))),it=z(()=>Ke.value??p.color),at=z(()=>Ye.value??p.highlight),ot=z(()=>$e.value??Ge.value??p.size),st=z(()=>Xe.value??p.disabled),[ct,K]=be(),[lt,ut]=be({props:{item:{type:[Object,String,Number,Boolean],required:!0},index:{type:Number,required:!1}}}),q=z(()=>se({extend:ze,...v.ui?.inputMenu||{}})({color:it.value,variant:p.variant,size:ot.value,loading:p.loading,highlight:at.value,fixed:p.fixed,leading:et.value||!!p.avatar||!!o.leading,trailing:tt.value||!!o.trailing,multiple:p.multiple,fieldGroup:Qe.value,virtualize:!!p.virtualize})),dt=z(()=>pt.value.flatMap(e=>e));function ft(e){return b(dt.value,e,{labelKey:p.labelKey,valueKey:p.valueKey,by:p.by})??``}let pt=z(()=>p.items?.length?ae(p.items)?p.items:[p.items]:[]),mt=z(()=>{if(p.ignoreFilter||!m.value)return pt.value;let e=Array.isArray(p.filterFields)?p.filterFields:[p.labelKey];return C(pt.value,m.value,{fields:e,isStructural:e=>$(e)&&!!e.type&&[`label`,`separator`].includes(e.type)})}),J=z(()=>mt.value.flatMap(e=>e)),Y=z(()=>{if(!p.createItem||!m.value)return!1;let e=p.valueKey?{[p.valueKey]:m.value}:m.value;return typeof p.createItem==`object`&&p.createItem.when===`always`||p.createItem===`always`?!J.value.find(t=>ne(t,e,p.by??p.valueKey)):!J.value.length}),X=z(()=>typeof p.createItem==`object`?p.createItem.position:`bottom`),Z=y(`inputRef`);function ht(){p.autofocus&&Z.value?.$el?.focus()}let gt;ve(()=>{u(()=>{k.value?m.value=String(p.modelValue??p.defaultValue??``):m.value=``}),gt=setTimeout(()=>{ht()},p.autofocusDelay)}),de(()=>clearTimeout(gt)),f(()=>p.modelValue,e=>{k.value&&(m.value=String(e??``))});function _t(e){if(Te(p.modelValue)===e)return;p.modelModifiers?.trim&&(typeof e==`string`||e==null)&&(e=e?.trim()??null),p.modelModifiers?.number&&(e=ie(e)),p.modelModifiers?.nullable&&(e??=null),p.modelModifiers?.optional&&!p.modelModifiers?.nullable&&e!==null&&(e??=void 0);let t=new Event(`change`,{target:{value:e}});i(`change`,t),Ue(),We(),k.value?m.value=String(e??``):p.resetSearchTermOnSelect&&(m.value=``)}function vt(e){k.value||(m.value=e)}function yt(e){i(`blur`,e),Ve()}function bt(e){i(`focus`,e),He()}let xt=P(!1),Q;de(()=>clearTimeout(Q));function St(e){if(xt.value=e,e){let e=new FocusEvent(`focus`);i(`focus`,e),He(),clearTimeout(Q)}else{let e=new FocusEvent(`blur`);i(`blur`,e),Ve(),!k.value&&p.resetSearchTermOnBlur&&(Q=setTimeout(()=>{m.value=``},100))}}function Ct(e,t){if(p.multiple){let n=t.filter(t=>!w(t,e));i(`update:modelValue`,n),i(`remove-tag`,e),_t(n)}}function wt(e){e.preventDefault(),e.stopPropagation(),i(`create`,m.value)}function Tt(e,t){if($(t)){if(t.disabled){e.preventDefault();return}t.onSelect?.(e)}}function $(e){return typeof e==`object`&&!!e}function Et(e){return p.multiple&&Array.isArray(e)?e.length===0:e==null||e===``}function Dt(){i(`clear`)}let Ot=y(`viewportRef`),kt=y(`comboboxRootRef`);return f(()=>p.items,async()=>{xt.value&&p.createItem&&(await u(),kt.value?.highlightFirstItem?.())},{flush:`post`}),t({inputRef:D(()=>Z.value?.$el),viewportRef:D(()=>Ot.value)}),(e,t)=>(M(),H(L,null,[O(g(ct),null,{default:_(()=>[O(g(B).Item,{"data-slot":`item`,class:R(q.value.item({class:g(p).ui?.item})),value:m.value,onSelect:wt},{default:_(()=>[I(`span`,{"data-slot":`itemLabel`,class:R(q.value.itemLabel({class:g(p).ui?.itemLabel}))},[W(e.$slots,`create-item-label`,{item:m.value},()=>[U(S(g(h)(`inputMenu.create`,{label:m.value})),1)])],2)]),_:3},8,[`class`,`value`])]),_:3}),O(g(lt),null,{default:_(({item:t,index:n})=>[$(t)&&t.type===`label`?(M(),F(g(B).Label,{key:0,"data-slot":`label`,class:R(q.value.label({class:[g(p).ui?.label,t.ui?.label,t.class]}))},{default:_(()=>[U(S(g(V)(t,g(p).labelKey)),1)]),_:2},1032,[`class`])):$(t)&&t.type===`separator`?(M(),F(g(B).Separator,{key:1,"data-slot":`separator`,class:R(q.value.separator({class:[g(p).ui?.separator,t.ui?.separator,t.class]}))},null,8,[`class`])):(M(),F(g(B).Item,{key:2,"data-slot":`item`,class:R(q.value.item({class:[g(p).ui?.item,$(t)&&t.ui?.item,$(t)&&t.class]})),disabled:$(t)&&t.disabled,value:g(p).valueKey&&$(t)?g(V)(t,g(p).valueKey):t,onSelect:e=>Tt(e,t)},{default:_(()=>[W(e.$slots,`item`,{item:t,index:n,ui:q.value},()=>[W(e.$slots,`item-leading`,{item:t,index:n,ui:q.value},()=>[$(t)&&t.icon?(M(),F(N,{key:0,name:t.icon,"data-slot":`itemLeadingIcon`,class:R(q.value.itemLeadingIcon({class:[g(p).ui?.itemLeadingIcon,t.ui?.itemLeadingIcon]}))},null,8,[`name`,`class`])):$(t)&&t.avatar?(M(),F(ge,T({key:1,size:t.ui?.itemLeadingAvatarSize||g(p).ui?.itemLeadingAvatarSize||q.value.itemLeadingAvatarSize()},t.avatar,{"data-slot":`itemLeadingAvatar`,class:q.value.itemLeadingAvatar({class:[g(p).ui?.itemLeadingAvatar,t.ui?.itemLeadingAvatar]})}),null,16,[`size`,`class`])):$(t)&&t.chip?(M(),F(me,T({key:2,size:t.ui?.itemLeadingChipSize||g(p).ui?.itemLeadingChipSize||q.value.itemLeadingChipSize(),inset:``,standalone:``},t.chip,{"data-slot":`itemLeadingChip`,class:q.value.itemLeadingChip({class:[g(p).ui?.itemLeadingChip,t.ui?.itemLeadingChip]})}),null,16,[`size`,`class`])):j(``,!0)]),I(`span`,{"data-slot":`itemWrapper`,class:R(q.value.itemWrapper({class:[g(p).ui?.itemWrapper,$(t)&&t.ui?.itemWrapper]}))},[I(`span`,{"data-slot":`itemLabel`,class:R(q.value.itemLabel({class:[g(p).ui?.itemLabel,$(t)&&t.ui?.itemLabel]}))},[W(e.$slots,`item-label`,{item:t,index:n},()=>[U(S($(t)?g(V)(t,g(p).labelKey):t),1)])],2),$(t)&&(g(V)(t,g(p).descriptionKey)||o[`item-description`])?(M(),H(`span`,{key:0,"data-slot":`itemDescription`,class:R(q.value.itemDescription({class:[g(p).ui?.itemDescription,$(t)&&t.ui?.itemDescription]}))},[W(e.$slots,`item-description`,{item:t,index:n},()=>[U(S(g(V)(t,g(p).descriptionKey)),1)])],2)):j(``,!0)],2),I(`span`,{"data-slot":`itemTrailing`,class:R(q.value.itemTrailing({class:[g(p).ui?.itemTrailing,$(t)&&t.ui?.itemTrailing]}))},[W(e.$slots,`item-trailing`,{item:t,index:n,ui:q.value}),k.value?j(``,!0):(M(),F(g(B).ItemIndicator,{key:0,"as-child":``},{default:_(()=>[O(N,{name:g(p).selectedIcon||g(v).ui.icons.check,"data-slot":`itemTrailingIcon`,class:R(q.value.itemTrailingIcon({class:[g(p).ui?.itemTrailingIcon,$(t)&&t.ui?.itemTrailingIcon]}))},null,8,[`name`,`class`])]),_:2},1024))],2)])]),_:2},1032,[`class`,`disabled`,`value`,`onSelect`]))]),_:3}),O(g(B).Root,T({ref_key:`comboboxRootRef`,ref:kt},g(le),{name:g(Je),disabled:st.value,"data-slot":e.$attrs[`data-slot`]??`root`,class:q.value.root({class:[g(p).ui?.root,g(p).class]}),"as-child":!!g(p).multiple&&!k.value,"ignore-filter":``,"onUpdate:modelValue":_t,"onUpdate:open":St}),{default:_(({modelValue:n,open:r})=>[O(g(B).Anchor,{"as-child":!g(p).multiple,"data-slot":Oe.value,class:R(q.value.base({class:g(p).ui?.base}))},{default:_(()=>[g(p).multiple&&!k.value?(M(),F(g(ke),{key:0,"model-value":n,disabled:st.value,required:g(p).required,delimiter:``,"as-child":``,onBlur:yt,onFocus:bt,onRemoveTag:e=>Ct(e,n)},{default:_(({modelValue:n})=>[(M(!0),H(L,null,Ce(n,(t,n)=>(M(),F(g(Ne),{key:n,value:t,"data-slot":`tagsItem`,class:R(q.value.tagsItem({class:[g(p).ui?.tagsItem,$(t)&&t.ui?.tagsItem]}))},{default:_(()=>[O(g(Fe),{"data-slot":`tagsItemText`,class:R(q.value.tagsItemText({class:[g(p).ui?.tagsItemText,$(t)&&t.ui?.tagsItemText]}))},{default:_(()=>[W(e.$slots,`tags-item-text`,{item:t,index:n},()=>[U(S(ft(t)),1)])]),_:2},1032,[`class`]),O(g(Pe),{"data-slot":`tagsItemDelete`,class:R(q.value.tagsItemDelete({class:[g(p).ui?.tagsItemDelete,$(t)&&t.ui?.tagsItemDelete]})),disabled:st.value},{default:_(()=>[W(e.$slots,`tags-item-delete`,{item:t,index:n,ui:q.value},()=>[O(N,{name:g(p).deleteIcon||g(v).ui.icons.close,"data-slot":`tagsItemDeleteIcon`,class:R(q.value.tagsItemDeleteIcon({class:[g(p).ui?.tagsItemDeleteIcon,$(t)&&t.ui?.tagsItemDeleteIcon]}))},null,8,[`name`,`class`])])]),_:2},1032,[`class`,`disabled`])]),_:2},1032,[`value`,`class`]))),128)),O(g(B).Input,{modelValue:m.value,"onUpdate:modelValue":t[1]||=e=>m.value=e,"as-child":``},{default:_(()=>[O(g(Ae),T({id:g(qe),ref_key:`inputRef`,ref:Z},{...e.$attrs,...g(Ze)},{placeholder:g(p).placeholder,"data-slot":`tagsInput`,class:q.value.tagsInput({class:g(p).ui?.tagsInput}),onChange:t[0]||=E(()=>{},[`stop`])}),null,16,[`id`,`placeholder`,`class`])]),_:1},8,[`modelValue`])]),_:3},8,[`model-value`,`disabled`,`required`,`onRemoveTag`])):(M(),F(g(B).Input,T({key:1,id:g(qe),ref_key:`inputRef`,ref:Z},{...k.value?{}:{displayValue:ft},...e.$attrs,...g(Ze)},{"data-slot":g(p).multiple?void 0:`base`,type:g(p).type,placeholder:g(p).placeholder,required:g(p).required,onBlur:yt,onFocus:bt,onChange:t[2]||=E(()=>{},[`stop`]),"onUpdate:modelValue":vt}),null,16,[`id`,`data-slot`,`type`,`placeholder`,`required`])),g(et)||g(p).avatar||o.leading?(M(),H(`span`,{key:2,"data-slot":`leading`,class:R(q.value.leading({class:g(p).ui?.leading}))},[W(e.$slots,`leading`,{modelValue:n,open:r,ui:q.value},()=>[g(et)&&g(nt)?(M(),F(N,{key:0,name:g(nt),"data-slot":`leadingIcon`,class:R(q.value.leadingIcon({class:g(p).ui?.leadingIcon}))},null,8,[`name`,`class`])):g(p).avatar?(M(),F(ge,T({key:1,size:g(p).ui?.itemLeadingAvatarSize||q.value.itemLeadingAvatarSize()},g(p).avatar,{"data-slot":`itemLeadingAvatar`,class:q.value.itemLeadingAvatar({class:g(p).ui?.itemLeadingAvatar})}),null,16,[`size`,`class`])):j(``,!0)])],2)):j(``,!0),g(tt)||o.trailing||g(p).clear?(M(),F(g(B).Trigger,{key:3,"data-slot":`trailing`,class:R(q.value.trailing({class:g(p).ui?.trailing}))},{default:_(()=>[W(e.$slots,`trailing`,{modelValue:n,open:r,ui:q.value},()=>[g(p).clear&&!Et(n)?(M(),F(g(B).Cancel,{key:0,"as-child":``},{default:_(()=>[O(_e,T({as:`span`,icon:g(p).clearIcon||g(v).ui.icons.close,size:ot.value,variant:`link`,color:`neutral`,tabindex:`-1`},Le.value,{"data-slot":`trailingClear`,class:q.value.trailingClear({class:g(p).ui?.trailingClear}),onClick:E(Dt,[`stop`])}),null,16,[`icon`,`size`,`class`])]),_:1})):g(rt)?(M(),F(N,{key:1,name:g(rt),"data-slot":`trailingIcon`,class:R(q.value.trailingIcon({class:g(p).ui?.trailingIcon}))},null,8,[`name`,`class`])):j(``,!0)])]),_:2},1032,[`class`])):j(``,!0)]),_:2},1032,[`as-child`,`data-slot`,`class`]),O(g(B).Portal,d(x(g(je))),{default:_(()=>[O(g(ue),null,{default:_(()=>[O(g(B).Content,T({"data-slot":`content`,class:q.value.content({class:g(p).ui?.content})},Me.value,{onFocusOutside:t[3]||=E(()=>{},[`prevent`])}),{default:_(()=>[W(e.$slots,`content-top`),O(g(B).Empty,{"data-slot":`empty`,class:R(q.value.empty({class:g(p).ui?.empty}))},{default:_(()=>[W(e.$slots,`empty`,{searchTerm:m.value},()=>[U(S(m.value?g(h)(`inputMenu.noMatch`,{searchTerm:m.value}):g(h)(`inputMenu.noData`)),1)])]),_:3},8,[`class`]),I(`div`,{ref_key:`viewportRef`,ref:Ot,role:`presentation`,"data-slot":`viewport`,class:R(q.value.viewport({class:g(p).ui?.viewport}))},[g(p).virtualize?(M(),H(L,{key:0},[Y.value&&X.value===`top`?(M(),F(g(K),{key:0})):j(``,!0),O(g(B).Virtualizer,T({options:J.value,"text-content":e=>$(e)?g(V)(e,g(p).labelKey):String(e)},Be.value),{default:_(({option:e,virtualItem:t})=>[O(g(ut),{item:e,index:t.index},null,8,[`item`,`index`])]),_:1},16,[`options`,`text-content`]),Y.value&&X.value===`bottom`?(M(),F(g(K),{key:1})):j(``,!0)],64)):(M(),H(L,{key:1},[Y.value&&X.value===`top`?(M(),F(g(B).Group,{key:0,"data-slot":`group`,class:R(q.value.group({class:g(p).ui?.group}))},{default:_(()=>[O(g(K))]),_:1},8,[`class`])):j(``,!0),(M(!0),H(L,null,Ce(mt.value,(e,t)=>(M(),F(g(B).Group,{key:`group-${t}`,"data-slot":`group`,class:R(q.value.group({class:g(p).ui?.group}))},{default:_(()=>[(M(!0),H(L,null,Ce(e,(e,n)=>(M(),F(g(ut),{key:`group-${t}-${n}`,item:e,index:n},null,8,[`item`,`index`]))),128))]),_:2},1032,[`class`]))),128)),Y.value&&X.value===`bottom`?(M(),F(g(B).Group,{key:1,"data-slot":`group`,class:R(q.value.group({class:g(p).ui?.group}))},{default:_(()=>[O(g(K))]),_:1},8,[`class`])):j(``,!0)],64))],2),W(e.$slots,`content-bottom`),g(p).arrow?(M(),F(g(B).Arrow,T({key:0},Ie.value,{"data-slot":`arrow`,class:q.value.arrow({class:g(p).ui?.arrow})}),null,16,[`class`])):j(``,!0)]),_:3},16,[`class`])]),_:3})]),_:3},16)]),_:3},16,[`name`,`disabled`,`data-slot`,`class`,`as-child`])],64))}});export{Be as t};
@@ -1 +1 @@
1
- import{R as e,t}from"./AppShell-qqs_p96-.js";import{Dn as n,Ei as r,Gr as i,Mi as a,Tn as o,a as s,fr as c,gn as l,hn as u,o as d,r as f}from"./seed-DFfT5S_N.js";import{t as p}from"./RunsTabs-WyeG5tKb.js";var m={class:`notfound mx-auto my-12 max-w-xl text-center text-toned`},h={class:`why text-[0.8rem] text-muted`},g=n({__name:`NotFoundPage`,setup(e){let n=f(`runNotFound`),g=s(n?.retentionDays??null);return(e,n)=>{let s=d;return c(),l(t,{title:`Run not found`,nav:`runs`},{default:i(()=>[o(p,{current:`runs`}),u(`section`,m,[n[0]||=u(`p`,{class:`code mb-3 font-mono text-4xl font-medium tracking-wide text-dimmed`},`404`,-1),n[1]||=u(`h2`,{class:`mb-3 text-lg font-medium tracking-tight text-highlighted`},`That run isn't here.`,-1),n[2]||=u(`p`,{class:`mb-2.5 leading-relaxed`},` It may have finished and aged out, the link may be missing its token, or it never existed — this page says the same thing in every case. `,-1),u(`p`,h,a(r(g)),1),o(s,{class:`back mt-4`,color:`neutral`,variant:`outline`,to:`/runs`,label:`← All runs`})])]),_:1})}}}),_=e({default:()=>v}),v=g;export{_ as n,v as t};
1
+ import{R as e,t}from"./AppShell-B4EUiSwP.js";import{Dn as n,Ei as r,Gr as i,Mi as a,Tn as o,a as s,fr as c,gn as l,hn as u,o as d,r as f}from"./seed-BhxEVasY.js";import{t as p}from"./RunsTabs-CY_tdGTU.js";var m={class:`notfound mx-auto my-12 max-w-xl text-center text-toned`},h={class:`why text-[0.8rem] text-muted`},g=n({__name:`NotFoundPage`,setup(e){let n=f(`runNotFound`),g=s(n?.retentionDays??null);return(e,n)=>{let s=d;return c(),l(t,{title:`Run not found`,nav:`runs`},{default:i(()=>[o(p,{current:`runs`}),u(`section`,m,[n[0]||=u(`p`,{class:`code mb-3 font-mono text-4xl font-medium tracking-wide text-dimmed`},`404`,-1),n[1]||=u(`h2`,{class:`mb-3 text-lg font-medium tracking-tight text-highlighted`},`That run isn't here.`,-1),n[2]||=u(`p`,{class:`mb-2.5 leading-relaxed`},` It may have finished and aged out, the link may be missing its token, or it never existed — this page says the same thing in every case. `,-1),u(`p`,h,a(r(g)),1),o(s,{class:`back mt-4`,color:`neutral`,variant:`outline`,to:`/runs`,label:`← All runs`})])]),_:1})}}}),_=e({default:()=>v}),v=g;export{_ as n,v as t};
@@ -1 +1 @@
1
- import{E as e,F as t,O as n,T as r,k as i,w as a}from"./AppShell-qqs_p96-.js";import{Ai as o,Br as s,Ci as c,Dn as l,Ei as u,Fr as d,G as f,Gr as p,H as m,I as h,L as g,Ln as _,Mi as v,N as y,P as b,Qn as x,Qt as ee,S,Si as C,Sr as te,Tn as w,U as T,Xt as E,_ as D,_n as O,bt as ne,d as re,et as k,fr as A,gi as j,gn as M,hn as N,ki as P,kr as ie,mn as F,o as ae,or as I,pt as oe,qr as L,v as R,vn as z,w as B,wn as V,x as H,y as U,yr as W}from"./seed-DFfT5S_N.js";import{O as G}from"./indexRow-BmK74Vp1.js";import"./format-BldUwl_R.js";import{d as K,f as q,m as J,p as se}from"./sseReplay-DPXVxhL5.js";var[Y,ce]=T(`DialogRoot`),le=l({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=oe(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o,unmountOnHide:s}=c(n);return ce({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>W(e.$slots,`default`,{open:u(r),close:()=>r.value=!1})}}),ue=l({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;h();let n=Y();return(e,r)=>(A(),M(u(y),x(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>u(n).onOpenChange(!1)}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`type`]))}}),X=l({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:i}){let o=t,s=i,c=Y(),{forwardRef:l,currentElement:d}=h();return c.titleId||=n(void 0,`reka-dialog-title`),c.descriptionId||=n(void 0,`reka-dialog-description`),I(()=>{c.contentElement=d,m()!==document.body&&(c.triggerElement.value=m())}),(t,n)=>(A(),M(u(r),{"as-child":``,loop:``,trapped:o.trapFocus,present:o.present,onMountAutoFocus:n[5]||=e=>s(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>s(`closeAutoFocus`,e)},{default:p(()=>[w(u(e),x({id:u(c).contentId,ref:u(l),as:t.as,"as-child":t.asChild,present:o.present,"disable-outside-pointer-events":t.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":u(c).descriptionId,"aria-labelledby":u(c).titleId,"data-state":u(a)(u(c).open.value)},t.$attrs,{onDismiss:n[0]||=e=>u(c).onOpenChange(!1),onEscapeKeyDown:n[1]||=e=>s(`escapeKeyDown`,e),onFocusOutside:n[2]||=e=>s(`focusOutside`,e),onInteractOutside:n[3]||=e=>s(`interactOutside`,e),onPointerDownOutside:n[4]||=e=>s(`pointerDownOutside`,e)}),{default:p(()=>[W(t.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),de=l({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,a=Y(),o=g(r),{forwardRef:c,currentElement:l}=h(),d=F(()=>n.present?l.value:void 0);i(d);let f=F(()=>{let{present:e,...t}=n;return t});return s(()=>n.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>(A(),M(X,x({...f.value,...u(o)},{ref:u(c),present:e.present,"trap-focus":u(a).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),u(a).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),fe=l({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=g(t);h();let i=Y(),a=j(!1),o=j(!1),c=F(()=>{let{present:e,...t}=n;return t});return s(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(A(),M(X,x({...c.value,...u(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||u(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;u(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`present`]))}}),pe=l({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Y(),a=g(r),{forwardRef:o}=h();return(e,t)=>(A(),M(u(b),{present:e.forceMount||u(i).open.value,"force-mount":e.forceMount||!u(i).unmountOnHide.value},{default:p(({present:t})=>[u(i).modal.value?L((A(),M(de,x({key:0,ref:u(o),present:u(i).unmountOnHide.value||t},{...n,...u(a),...e.$attrs}),{default:p(()=>[W(e.$slots,`default`)]),_:2},1040,[`present`])),[[E,u(i).unmountOnHide.value||t]]):L((A(),M(fe,x({key:1,ref:u(o),present:u(i).unmountOnHide.value||t},{...n,...u(a),...e.$attrs}),{default:p(()=>[W(e.$slots,`default`)]),_:2},1040,[`present`])),[[E,u(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),Z=l({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;h();let n=Y();return(e,r)=>(A(),M(u(y),x(t,{id:u(n).descriptionId}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`id`]))}}),me=l({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let n=e,r=Y(),i=t(n.present);return s(()=>n.present,e=>i.value=e),h(),(e,t)=>(A(),M(u(y),{as:e.as,"as-child":e.asChild,"data-state":u(r).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=ee(()=>{},[`left`,`self`,`prevent`])},{default:p(()=>[W(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),he=l({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Y(),{forwardRef:n}=h();return(e,r)=>u(t)?.modal.value?(A(),M(u(b),{key:0,present:e.forceMount||u(t).open.value,"force-mount":e.forceMount||!u(t).unmountOnHide.value},{default:p(({present:r})=>[L(w(me,x(e.$attrs,{ref:u(n),as:e.as,"as-child":e.asChild,present:u(t).unmountOnHide.value||r}),{default:p(()=>[W(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[E,u(t).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`])):O(`v-if`,!0)}}),ge=l({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(A(),M(u(B),o(_(t)),{default:p(()=>[W(e.$slots,`default`)]),_:3},16))}}),Q=l({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Y();return h(),(e,r)=>(A(),M(u(y),x(t,{id:u(n).titleId}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`id`]))}}),_e=l({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,r=Y(),{forwardRef:i,currentElement:a}=h();return r.contentId||=n(void 0,`reka-dialog-content`),I(()=>{r.triggerElement.value=a.value}),(e,n)=>(A(),M(u(y),x(t,{ref:u(i),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":u(r).open.value||!1,"aria-controls":u(r).open.value?u(r).contentId:void 0,"data-state":u(r).open.value?`open`:`closed`,onClick:u(r).onOpenToggle}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}});function ve(e,t={}){let n=e.detail.originalEvent,r=n.target;if(!r?.isConnected){e.preventDefault();return}t.scrollable&&(n.offsetX>r.clientWidth||n.offsetY>r.clientHeight)&&e.preventDefault()}var ye={slots:{overlay:`fixed inset-0 bg-elevated/75`,content:`fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none`,header:`flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)`,wrapper:``,body:`flex-1 overflow-y-auto p-4 sm:p-6`,footer:`flex items-center gap-1.5 p-4 sm:px-6`,title:`text-highlighted font-semibold`,description:`mt-1 text-muted text-sm`,close:`absolute top-4 end-4`},variants:{side:{top:{content:``},right:{content:`max-w-md`},bottom:{content:``},left:{content:`max-w-md`}},inset:{true:{content:`rounded-lg`}},transition:{true:{overlay:`data-[state=open]:animate-[fade-in_200ms_var(--ease-out)] data-[state=closed]:animate-[fade-out_200ms_var(--ease-out)]`}}},compoundVariants:[{side:`top`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 top-4`}},{side:`top`,inset:!1,class:{content:`max-h-full inset-x-0 top-0`}},{side:`right`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 right-4`}},{side:`right`,inset:!1,class:{content:`w-full inset-y-0 right-0`}},{side:`bottom`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 bottom-4`}},{side:`bottom`,inset:!1,class:{content:`max-h-full inset-x-0 bottom-0`}},{side:`left`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 left-4`}},{side:`left`,inset:!1,class:{content:`w-full inset-y-0 left-0`}},{transition:!0,side:`top`,class:{content:`data-[state=open]:animate-[slide-in-from-top_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-top_200ms_var(--ease-out)]`}},{transition:!0,side:`right`,class:{content:`data-[state=open]:animate-[slide-in-from-right_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-right_200ms_var(--ease-out)]`}},{transition:!0,side:`bottom`,class:{content:`data-[state=open]:animate-[slide-in-from-bottom_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_200ms_var(--ease-out)]`}},{transition:!0,side:`left`,class:{content:`data-[state=open]:animate-[slide-in-from-left_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-left_200ms_var(--ease-out)]`}}]},be={__name:`Slideover`,props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},transition:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1,default:`right`},inset:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1}},emits:[`leave`,`after:leave`,`enter`,`after:enter`,`close:prevent`,`update:open`],setup(e,{emit:t}){let n=e,r=t,i=d(),a=U(`slideover`,n),{t:s}=f(),c=k(),l=R(ne(a,`open`,`defaultOpen`,`modal`,`unmountOnHide`),r),m=H(C(()=>a.portal)),h=C(()=>a.content),g=F(()=>a.dismissible?{pointerDownOutside:ve}:[`interactOutside`,`escapeKeyDown`].reduce((e,t)=>(e[t]=e=>{e.preventDefault(),r(`close:prevent`)},e),{})),y=F(()=>D({extend:ye,...c.ui?.slideover||{}})({transition:a.transition,side:a.side,inset:a.inset}));return(e,t)=>(A(),M(u(le),o(_(u(l))),{default:p(({open:n,close:o})=>[i.default?(A(),M(u(_e),{key:0,"as-child":``,class:P(u(a).class)},{default:p(()=>[W(e.$slots,`default`,{open:n})]),_:2},1032,[`class`])):O(``,!0),w(u(ge),x(u(m),{"force-mount":u(m).disabled&&u(a).unmountOnHide===!1||void 0}),{default:p(()=>[w(u(re),null,{default:p(()=>[u(a).overlay?(A(),M(u(he),{key:0,"data-slot":`overlay`,class:P(y.value.overlay({class:u(a).ui?.overlay}))},null,8,[`class`])):O(``,!0),w(u(pe),x({"data-side":u(a).side,"data-slot":`content`,class:y.value.content({class:[!i.default&&u(a).class,u(a).ui?.content]})},h.value,{onEnter:t[0]||=e=>r(`enter`),onAfterEnter:t[1]||=e=>r(`after:enter`),onLeave:t[2]||=e=>r(`leave`),onAfterLeave:t[3]||=e=>r(`after:leave`)},ie(g.value)),{default:p(()=>[!u(a).title&&!i.title||!u(a).description&&!i.description||i.content?(A(),M(u(S),{key:0},{default:p(()=>[!u(a).title&&!i.title?(A(),M(u(Q),{key:0})):i.content?(A(),M(u(Q),{key:1},{default:p(()=>[W(e.$slots,`title`,{},()=>[V(v(u(a).title),1)])]),_:3})):O(``,!0),!u(a).description&&!i.description?(A(),M(u(Z),{key:2})):i.content?(A(),M(u(Z),{key:3},{default:p(()=>[W(e.$slots,`description`,{},()=>[V(v(u(a).description),1)])]),_:3})):O(``,!0)]),_:3})):O(``,!0),W(e.$slots,`content`,{close:o},()=>[i.header||u(a).title||i.title||u(a).description||i.description||u(a).close||i.close?(A(),z(`div`,{key:0,"data-slot":`header`,class:P(y.value.header({class:u(a).ui?.header}))},[W(e.$slots,`header`,{close:o},()=>[u(a).title||i.title||u(a).description||i.description?(A(),z(`div`,{key:0,"data-slot":`wrapper`,class:P(y.value.wrapper({class:u(a).ui?.wrapper}))},[u(a).title||i.title?(A(),M(u(Q),{key:0,"data-slot":`title`,class:P(y.value.title({class:u(a).ui?.title}))},{default:p(()=>[W(e.$slots,`title`,{},()=>[V(v(u(a).title),1)])]),_:3},8,[`class`])):O(``,!0),u(a).description||i.description?(A(),M(u(Z),{key:1,"data-slot":`description`,class:P(y.value.description({class:u(a).ui?.description}))},{default:p(()=>[W(e.$slots,`description`,{},()=>[V(v(u(a).description),1)])]),_:3},8,[`class`])):O(``,!0)],2)):O(``,!0),W(e.$slots,`actions`),u(a).close||i.close?(A(),M(u(ue),{key:1,"as-child":``},{default:p(()=>[W(e.$slots,`close`,{ui:y.value},()=>[u(a).close?(A(),M(ae,x({key:0,icon:u(a).closeIcon||u(c).ui.icons.close,color:`neutral`,variant:`ghost`,"aria-label":u(s)(`slideover.close`)},typeof u(a).close==`object`?u(a).close:{},{"data-slot":`close`,class:y.value.close({class:u(a).ui?.close})}),null,16,[`icon`,`aria-label`,`class`])):O(``,!0)])]),_:2},1024)):O(``,!0)])],2)):O(``,!0),N(`div`,{"data-slot":`body`,class:P(y.value.body({class:u(a).ui?.body}))},[W(e.$slots,`body`,{close:o})],2),i.footer?(A(),z(`div`,{key:1,"data-slot":`footer`,class:P(y.value.footer({class:u(a).ui?.footer}))},[W(e.$slots,`footer`,{close:o})],2)):O(``,!0)])]),_:2},1040,[`data-side`,`class`])]),_:2},1024)]),_:2},1040,[`force-mount`])]),_:3},16))}};function xe(e){let t=j(`connecting`),n=e.factory(e.url);n.onopen=()=>{t.value===`connecting`&&!e.model.state.stopMode&&(t.value=`running`)};let r=0;return n.onmessage=t=>{let n;try{n=JSON.parse(t.data)}catch{return}if(n.type!==`replay_note`){let e=Number(t.lastEventId);if(e>0){if(e<=r)return;r=e}}e.handle(n)},n.addEventListener(`replay_elided`,t=>{let n=J(t);n&&e.model.noteElided(n)}),n.addEventListener(`finished`,n=>{e.onFinished?.(se(n)),(t.value===`connecting`||t.value===`running`)&&(t.value=`finished`)}),n.addEventListener(`end`,r=>{e.model.flushPendingTurn(`the run ended here`),e.model.closePhases(),t.value=`ended`,n.close(),e.onEnd?.(q(r))}),n.onerror=()=>{n.readyState===2&&(t.value=`disconnected`,e.onDisconnected?.())},{phase:t,close:()=>n.close()}}var $=[`Thinking`,`Pondering`,`Mulling it over`,`Reasoning`,`Cogitating`,`Weighing options`,`Puzzling`,`Deliberating`,`Noodling`,`Chewing on it`,`Ruminating`,`Reticulating splines`];function Se(e){return $[Math.floor(Math.max(0,e)/6e3)%$.length]}var Ce=[`title`],we={class:`verb min-w-0 truncate text-toned`},Te=l({__name:`PendingTurnRow`,props:{verb:{},elapsedMs:{},slow:{type:Boolean},model:{},tag:{},id:{}},setup(e){return(t,n)=>(A(),M(te(e.tag??`li`),{id:e.id,class:`pending flex items-center gap-3 rounded-md border border-dashed border-accented pl-3 pr-[calc(var(--sb-gutter)-1px)] py-2 text-sm`,"aria-live":`off`,title:`the model is working on its next turn — nothing back yet (since the last event, runner clock)`,"data-testid":`pending`},{default:p(()=>[n[0]||=N(`span`,{class:`pulse text-[1.1em] leading-none text-info motion-safe:animate-pulse`},`∿`,-1),e.model?(A(),z(`span`,{key:0,class:`badge shrink-0 rounded bg-accented px-1.5 font-mono text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:e.model},v(u(K)(e.model)),9,Ce)):O(``,!0),N(`span`,we,v(e.verb)+`…`,1),N(`span`,{class:P([`since ml-auto shrink-0 font-mono text-xs tabular-nums`,e.slow?`text-warn`:`text-dimmed`])},v(u(G)(e.elapsedMs,`clock`)),3)]),_:1},8,[`id`]))}});export{be as i,Se as n,xe as r,Te as t};
1
+ import{E as e,F as t,O as n,T as r,k as i,w as a}from"./AppShell-B4EUiSwP.js";import{Ai as o,Br as s,Ci as c,Dn as l,Ei as u,Fr as d,G as f,Gr as p,H as m,I as h,L as g,Ln as _,Mi as v,N as y,P as b,Qn as x,Qt as ee,S,Si as C,Sr as te,Tn as w,U as T,Xt as E,_ as D,_n as O,bt as ne,d as re,et as k,fr as A,gi as j,gn as M,hn as N,ki as P,kr as ie,mn as F,o as ae,or as I,pt as oe,qr as L,v as R,vn as z,w as B,wn as V,x as H,y as U,yr as W}from"./seed-BhxEVasY.js";import{O as G}from"./indexRow-BmK74Vp1.js";import"./format-BldUwl_R.js";import{d as K,f as q,m as J,p as se}from"./sseReplay-qF-gpbAY.js";var[Y,ce]=T(`DialogRoot`),le=l({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=oe(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o,unmountOnHide:s}=c(n);return ce({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>W(e.$slots,`default`,{open:u(r),close:()=>r.value=!1})}}),ue=l({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;h();let n=Y();return(e,r)=>(A(),M(u(y),x(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>u(n).onOpenChange(!1)}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`type`]))}}),X=l({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:i}){let o=t,s=i,c=Y(),{forwardRef:l,currentElement:d}=h();return c.titleId||=n(void 0,`reka-dialog-title`),c.descriptionId||=n(void 0,`reka-dialog-description`),I(()=>{c.contentElement=d,m()!==document.body&&(c.triggerElement.value=m())}),(t,n)=>(A(),M(u(r),{"as-child":``,loop:``,trapped:o.trapFocus,present:o.present,onMountAutoFocus:n[5]||=e=>s(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>s(`closeAutoFocus`,e)},{default:p(()=>[w(u(e),x({id:u(c).contentId,ref:u(l),as:t.as,"as-child":t.asChild,present:o.present,"disable-outside-pointer-events":t.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":u(c).descriptionId,"aria-labelledby":u(c).titleId,"data-state":u(a)(u(c).open.value)},t.$attrs,{onDismiss:n[0]||=e=>u(c).onOpenChange(!1),onEscapeKeyDown:n[1]||=e=>s(`escapeKeyDown`,e),onFocusOutside:n[2]||=e=>s(`focusOutside`,e),onInteractOutside:n[3]||=e=>s(`interactOutside`,e),onPointerDownOutside:n[4]||=e=>s(`pointerDownOutside`,e)}),{default:p(()=>[W(t.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),de=l({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,a=Y(),o=g(r),{forwardRef:c,currentElement:l}=h(),d=F(()=>n.present?l.value:void 0);i(d);let f=F(()=>{let{present:e,...t}=n;return t});return s(()=>n.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>(A(),M(X,x({...f.value,...u(o)},{ref:u(c),present:e.present,"trap-focus":u(a).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),u(a).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),fe=l({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=g(t);h();let i=Y(),a=j(!1),o=j(!1),c=F(()=>{let{present:e,...t}=n;return t});return s(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(A(),M(X,x({...c.value,...u(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||u(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;u(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`present`]))}}),pe=l({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Y(),a=g(r),{forwardRef:o}=h();return(e,t)=>(A(),M(u(b),{present:e.forceMount||u(i).open.value,"force-mount":e.forceMount||!u(i).unmountOnHide.value},{default:p(({present:t})=>[u(i).modal.value?L((A(),M(de,x({key:0,ref:u(o),present:u(i).unmountOnHide.value||t},{...n,...u(a),...e.$attrs}),{default:p(()=>[W(e.$slots,`default`)]),_:2},1040,[`present`])),[[E,u(i).unmountOnHide.value||t]]):L((A(),M(fe,x({key:1,ref:u(o),present:u(i).unmountOnHide.value||t},{...n,...u(a),...e.$attrs}),{default:p(()=>[W(e.$slots,`default`)]),_:2},1040,[`present`])),[[E,u(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),Z=l({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;h();let n=Y();return(e,r)=>(A(),M(u(y),x(t,{id:u(n).descriptionId}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`id`]))}}),me=l({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let n=e,r=Y(),i=t(n.present);return s(()=>n.present,e=>i.value=e),h(),(e,t)=>(A(),M(u(y),{as:e.as,"as-child":e.asChild,"data-state":u(r).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=ee(()=>{},[`left`,`self`,`prevent`])},{default:p(()=>[W(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),he=l({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Y(),{forwardRef:n}=h();return(e,r)=>u(t)?.modal.value?(A(),M(u(b),{key:0,present:e.forceMount||u(t).open.value,"force-mount":e.forceMount||!u(t).unmountOnHide.value},{default:p(({present:r})=>[L(w(me,x(e.$attrs,{ref:u(n),as:e.as,"as-child":e.asChild,present:u(t).unmountOnHide.value||r}),{default:p(()=>[W(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[E,u(t).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`])):O(`v-if`,!0)}}),ge=l({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(A(),M(u(B),o(_(t)),{default:p(()=>[W(e.$slots,`default`)]),_:3},16))}}),Q=l({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Y();return h(),(e,r)=>(A(),M(u(y),x(t,{id:u(n).titleId}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`id`]))}}),_e=l({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,r=Y(),{forwardRef:i,currentElement:a}=h();return r.contentId||=n(void 0,`reka-dialog-content`),I(()=>{r.triggerElement.value=a.value}),(e,n)=>(A(),M(u(y),x(t,{ref:u(i),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":u(r).open.value||!1,"aria-controls":u(r).open.value?u(r).contentId:void 0,"data-state":u(r).open.value?`open`:`closed`,onClick:u(r).onOpenToggle}),{default:p(()=>[W(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}});function ve(e,t={}){let n=e.detail.originalEvent,r=n.target;if(!r?.isConnected){e.preventDefault();return}t.scrollable&&(n.offsetX>r.clientWidth||n.offsetY>r.clientHeight)&&e.preventDefault()}var ye={slots:{overlay:`fixed inset-0 bg-elevated/75`,content:`fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none`,header:`flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)`,wrapper:``,body:`flex-1 overflow-y-auto p-4 sm:p-6`,footer:`flex items-center gap-1.5 p-4 sm:px-6`,title:`text-highlighted font-semibold`,description:`mt-1 text-muted text-sm`,close:`absolute top-4 end-4`},variants:{side:{top:{content:``},right:{content:`max-w-md`},bottom:{content:``},left:{content:`max-w-md`}},inset:{true:{content:`rounded-lg`}},transition:{true:{overlay:`data-[state=open]:animate-[fade-in_200ms_var(--ease-out)] data-[state=closed]:animate-[fade-out_200ms_var(--ease-out)]`}}},compoundVariants:[{side:`top`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 top-4`}},{side:`top`,inset:!1,class:{content:`max-h-full inset-x-0 top-0`}},{side:`right`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 right-4`}},{side:`right`,inset:!1,class:{content:`w-full inset-y-0 right-0`}},{side:`bottom`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 bottom-4`}},{side:`bottom`,inset:!1,class:{content:`max-h-full inset-x-0 bottom-0`}},{side:`left`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 left-4`}},{side:`left`,inset:!1,class:{content:`w-full inset-y-0 left-0`}},{transition:!0,side:`top`,class:{content:`data-[state=open]:animate-[slide-in-from-top_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-top_200ms_var(--ease-out)]`}},{transition:!0,side:`right`,class:{content:`data-[state=open]:animate-[slide-in-from-right_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-right_200ms_var(--ease-out)]`}},{transition:!0,side:`bottom`,class:{content:`data-[state=open]:animate-[slide-in-from-bottom_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_200ms_var(--ease-out)]`}},{transition:!0,side:`left`,class:{content:`data-[state=open]:animate-[slide-in-from-left_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-left_200ms_var(--ease-out)]`}}]},be={__name:`Slideover`,props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},transition:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1,default:`right`},inset:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1}},emits:[`leave`,`after:leave`,`enter`,`after:enter`,`close:prevent`,`update:open`],setup(e,{emit:t}){let n=e,r=t,i=d(),a=U(`slideover`,n),{t:s}=f(),c=k(),l=R(ne(a,`open`,`defaultOpen`,`modal`,`unmountOnHide`),r),m=H(C(()=>a.portal)),h=C(()=>a.content),g=F(()=>a.dismissible?{pointerDownOutside:ve}:[`interactOutside`,`escapeKeyDown`].reduce((e,t)=>(e[t]=e=>{e.preventDefault(),r(`close:prevent`)},e),{})),y=F(()=>D({extend:ye,...c.ui?.slideover||{}})({transition:a.transition,side:a.side,inset:a.inset}));return(e,t)=>(A(),M(u(le),o(_(u(l))),{default:p(({open:n,close:o})=>[i.default?(A(),M(u(_e),{key:0,"as-child":``,class:P(u(a).class)},{default:p(()=>[W(e.$slots,`default`,{open:n})]),_:2},1032,[`class`])):O(``,!0),w(u(ge),x(u(m),{"force-mount":u(m).disabled&&u(a).unmountOnHide===!1||void 0}),{default:p(()=>[w(u(re),null,{default:p(()=>[u(a).overlay?(A(),M(u(he),{key:0,"data-slot":`overlay`,class:P(y.value.overlay({class:u(a).ui?.overlay}))},null,8,[`class`])):O(``,!0),w(u(pe),x({"data-side":u(a).side,"data-slot":`content`,class:y.value.content({class:[!i.default&&u(a).class,u(a).ui?.content]})},h.value,{onEnter:t[0]||=e=>r(`enter`),onAfterEnter:t[1]||=e=>r(`after:enter`),onLeave:t[2]||=e=>r(`leave`),onAfterLeave:t[3]||=e=>r(`after:leave`)},ie(g.value)),{default:p(()=>[!u(a).title&&!i.title||!u(a).description&&!i.description||i.content?(A(),M(u(S),{key:0},{default:p(()=>[!u(a).title&&!i.title?(A(),M(u(Q),{key:0})):i.content?(A(),M(u(Q),{key:1},{default:p(()=>[W(e.$slots,`title`,{},()=>[V(v(u(a).title),1)])]),_:3})):O(``,!0),!u(a).description&&!i.description?(A(),M(u(Z),{key:2})):i.content?(A(),M(u(Z),{key:3},{default:p(()=>[W(e.$slots,`description`,{},()=>[V(v(u(a).description),1)])]),_:3})):O(``,!0)]),_:3})):O(``,!0),W(e.$slots,`content`,{close:o},()=>[i.header||u(a).title||i.title||u(a).description||i.description||u(a).close||i.close?(A(),z(`div`,{key:0,"data-slot":`header`,class:P(y.value.header({class:u(a).ui?.header}))},[W(e.$slots,`header`,{close:o},()=>[u(a).title||i.title||u(a).description||i.description?(A(),z(`div`,{key:0,"data-slot":`wrapper`,class:P(y.value.wrapper({class:u(a).ui?.wrapper}))},[u(a).title||i.title?(A(),M(u(Q),{key:0,"data-slot":`title`,class:P(y.value.title({class:u(a).ui?.title}))},{default:p(()=>[W(e.$slots,`title`,{},()=>[V(v(u(a).title),1)])]),_:3},8,[`class`])):O(``,!0),u(a).description||i.description?(A(),M(u(Z),{key:1,"data-slot":`description`,class:P(y.value.description({class:u(a).ui?.description}))},{default:p(()=>[W(e.$slots,`description`,{},()=>[V(v(u(a).description),1)])]),_:3},8,[`class`])):O(``,!0)],2)):O(``,!0),W(e.$slots,`actions`),u(a).close||i.close?(A(),M(u(ue),{key:1,"as-child":``},{default:p(()=>[W(e.$slots,`close`,{ui:y.value},()=>[u(a).close?(A(),M(ae,x({key:0,icon:u(a).closeIcon||u(c).ui.icons.close,color:`neutral`,variant:`ghost`,"aria-label":u(s)(`slideover.close`)},typeof u(a).close==`object`?u(a).close:{},{"data-slot":`close`,class:y.value.close({class:u(a).ui?.close})}),null,16,[`icon`,`aria-label`,`class`])):O(``,!0)])]),_:2},1024)):O(``,!0)])],2)):O(``,!0),N(`div`,{"data-slot":`body`,class:P(y.value.body({class:u(a).ui?.body}))},[W(e.$slots,`body`,{close:o})],2),i.footer?(A(),z(`div`,{key:1,"data-slot":`footer`,class:P(y.value.footer({class:u(a).ui?.footer}))},[W(e.$slots,`footer`,{close:o})],2)):O(``,!0)])]),_:2},1040,[`data-side`,`class`])]),_:2},1024)]),_:2},1040,[`force-mount`])]),_:3},16))}};function xe(e){let t=j(`connecting`),n=e.factory(e.url);n.onopen=()=>{t.value===`connecting`&&!e.model.state.stopMode&&(t.value=`running`)};let r=0;return n.onmessage=t=>{let n;try{n=JSON.parse(t.data)}catch{return}if(n.type!==`replay_note`){let e=Number(t.lastEventId);if(e>0){if(e<=r)return;r=e}}e.handle(n)},n.addEventListener(`replay_elided`,t=>{let n=J(t);n&&e.model.noteElided(n)}),n.addEventListener(`finished`,n=>{e.onFinished?.(se(n)),(t.value===`connecting`||t.value===`running`)&&(t.value=`finished`)}),n.addEventListener(`end`,r=>{e.model.flushPendingTurn(`the run ended here`),e.model.closePhases(),t.value=`ended`,n.close(),e.onEnd?.(q(r))}),n.onerror=()=>{n.readyState===2&&(t.value=`disconnected`,e.onDisconnected?.())},{phase:t,close:()=>n.close()}}var $=[`Thinking`,`Pondering`,`Mulling it over`,`Reasoning`,`Cogitating`,`Weighing options`,`Puzzling`,`Deliberating`,`Noodling`,`Chewing on it`,`Ruminating`,`Reticulating splines`];function Se(e){return $[Math.floor(Math.max(0,e)/6e3)%$.length]}var Ce=[`title`],we={class:`verb min-w-0 truncate text-toned`},Te=l({__name:`PendingTurnRow`,props:{verb:{},elapsedMs:{},slow:{type:Boolean},model:{},tag:{},id:{}},setup(e){return(t,n)=>(A(),M(te(e.tag??`li`),{id:e.id,class:`pending flex items-center gap-3 rounded-md border border-dashed border-accented pl-3 pr-[calc(var(--sb-gutter)-1px)] py-2 text-sm`,"aria-live":`off`,title:`the model is working on its next turn — nothing back yet (since the last event, runner clock)`,"data-testid":`pending`},{default:p(()=>[n[0]||=N(`span`,{class:`pulse text-[1.1em] leading-none text-info motion-safe:animate-pulse`},`∿`,-1),e.model?(A(),z(`span`,{key:0,class:`badge shrink-0 rounded bg-accented px-1.5 font-mono text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:e.model},v(u(K)(e.model)),9,Ce)):O(``,!0),N(`span`,we,v(e.verb)+`…`,1),N(`span`,{class:P([`since ml-auto shrink-0 font-mono text-xs tabular-nums`,e.slow?`text-warn`:`text-dimmed`])},v(u(G)(e.elapsedMs,`clock`)),3)]),_:1},8,[`id`]))}});export{be as i,Se as n,xe as r,Te as t};
@@ -1 +1 @@
1
- import{t as e}from"./AppShell-qqs_p96-.js";import{Dn as t,Ei as n,Gr as r,Mi as i,Tn as ee,_n as te,fr as a,gn as o,hn as s,in as c,mn as l,r as ne,vn as u,vr as d,wn as f}from"./seed-DFfT5S_N.js";import{t as p}from"./StatusDot-BGHureCJ.js";import{_ as m,a as h,c as re,g,h as ie,i as ae,l as oe,o as se,p as _,s as ce,t as le,u as ue}from"./residentsModel-By1fThvk.js";var de={class:`mt-4 first:mt-0`},fe={class:`w-full border-collapse font-mono text-[0.8125rem]`},pe={class:`border-t border-muted`},me={class:`px-2 py-1 align-top`},v={class:`ml-1.5 font-medium`},y={class:`border-t border-muted`},b={class:`break-all px-2 py-1 align-top`},x={key:0},S={key:1,class:`text-dimmed`},C={class:`border-t border-muted`},w={class:`break-all px-2 py-1 align-top`},T={key:0},E={key:1,class:`text-dimmed`},D={class:`border-t border-muted`},O={class:`break-all px-2 py-1 align-top`},k={key:0},A={key:1,class:`text-dimmed`},j={class:`border-t border-muted`},M={class:`break-all px-2 py-1 align-top`},N={key:0},P={key:1,class:`text-dimmed`},F={class:`border-t border-muted`},I={class:`break-all px-2 py-1 align-top`},L={key:1,class:`text-dimmed`},R={class:`mt-4`},z={class:`w-full border-collapse font-mono text-[0.8125rem]`},he={class:`border-t border-muted`},ge={class:`break-all px-2 py-1 align-top`},_e=[`href`],ve={key:1},ye={class:`border-t border-muted`},be={class:`break-all px-2 py-1 align-top`},xe={class:`border-t border-muted`},Se={class:`break-all px-2 py-1 align-top`},Ce=[`href`],we={key:1},Te={key:2,class:`text-dimmed`},Ee={class:`border-t border-muted`},De={class:`break-all px-2 py-1 align-top`},Oe={key:0},ke={key:1,class:`text-dimmed`},Ae={class:`border-t border-muted`},je={class:`break-all px-2 py-1 align-top`},Me={key:0},Ne={key:1,class:`text-dimmed`},Pe={class:`border-t border-muted`},Fe={class:`break-all px-2 py-1 align-top`},Ie={key:0},Le={key:1,class:`text-dimmed`},Re={class:`mt-4`},ze={class:`w-full border-collapse font-mono text-[0.8125rem]`},Be={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},Ve={class:`break-all px-2 py-1 align-top`},He={class:`w-full border-collapse font-mono text-[0.8125rem]`},Ue={class:`w-32 break-all px-2 py-1 align-top text-muted sm:w-96 sm:break-words`},We={class:`px-2 py-1 align-top`},Ge={key:1,class:`text-xs text-muted`},Ke={class:`mt-4`},qe={key:0,class:`w-full border-collapse font-mono text-[0.8125rem]`},Je={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},B={class:`break-all px-2 py-1 align-top`},Ye={key:0},Xe={key:1,class:`text-dimmed`},Ze={key:1,class:`text-xs text-muted`},Qe={class:`mt-4`},$e={class:`mb-1 text-xs text-muted`},et={class:`overflow-x-auto`},tt={class:`w-full border-collapse font-mono text-[0.8125rem]`},nt={class:`break-all px-2 py-1 align-top`},rt={key:0,class:`text-xs text-muted`},it={class:`break-all px-2 py-1 align-top`},at=[`href`],ot={key:1},st={key:2,class:`text-dimmed`},ct={class:`break-all px-2 py-1 align-top`},lt={key:0},ut={key:1,class:`text-dimmed`},dt={key:2},ft={key:3,class:`text-dimmed`},pt={class:`break-all px-2 py-1 align-top`},mt={key:0},ht={key:1,class:`text-dimmed`},gt={key:2},_t={key:3,class:`text-dimmed`},vt={key:1,class:`text-xs text-muted`},yt={class:`mt-4`},bt={class:`w-full border-collapse font-mono text-[0.8125rem]`},xt={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},St={class:`px-2 py-1 align-top`},Ct={class:`mt-4`},wt={key:0,class:`w-full border-collapse font-mono text-[0.8125rem]`},Tt={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},Et={class:`break-all px-2 py-1 align-top`},Dt={class:`text-xs text-muted`},Ot={key:1,class:`text-xs text-muted`},kt={class:`mt-4`},At={class:`w-full border-collapse font-mono text-[0.8125rem]`},jt={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},Mt={class:`break-all px-2 py-1 align-top`},Nt={key:0},Pt={key:1,class:`text-dimmed`},Ft={class:`mt-4 text-xs text-muted`},It={class:`rounded bg-elevated px-1 py-0.5`},Lt={class:`rounded bg-elevated px-1 py-0.5`},Rt={class:`rounded bg-elevated px-1 py-0.5`},V=t({__name:`ResidentDetailPage`,setup(t){let V=ne(`resident`),H=l(()=>V?.record??{}),U=l(()=>ce(H.value)),W=l(()=>re(H.value)||(V?.slug??``)),G=l(()=>_(U.value.sha)),K=l(()=>le.test(W.value)?`https://github.com/${W.value}`:void 0),q=l(()=>K.value&&/^[0-9a-f]{7,40}$/.test(G.value)?`${K.value}/commit/${G.value}`:void 0),J=l(()=>{let e=U.value.snapshot;return e&&typeof e==`object`?h(e):void 0}),zt=l(()=>h(U.value.schedules)),Y=l(()=>{let e=h(H.value.commands),t=h(H.value.effects);return Object.keys(e).sort().map(n=>({name:n,command:_(e[n]),effect:_(t[n])||`readonly`}))}),X=l(()=>ue(H.value).map(e=>({...e,threadKey:e.threadKey||`?`,ref:e.ref||`?`,sha:e.sha?e.sha.slice(0,8):``,commitHref:K.value&&/^[0-9a-f]{7,40}$/.test(e.sha)?`${K.value}/commit/${e.sha}`:void 0}))),Z=l(()=>X.value.filter(e=>!e.evicted).length),Q=l(()=>{let e=U.value.lastRestore;return e?JSON.stringify(e):``}),$=l(()=>se(H.value)),Bt=l(()=>typeof H.value.diskBudgetMb==`number`?H.value.diskBudgetMb:void 0),Vt=l(()=>{let e=$.value;if(!e)return[];let t=ae(e,Bt.value),n=n=>{let r=t.room[n];return r===null?m(e.parts,n)===null?`? (checkout not measured)`:`?`:`${r} more (${g(m(e.parts,n))} each)`};return[[`used / total`,ie(e)],[`free`,`${g(t.freeKiB)}${t.capped?` under the ${g(t.capacityKiB)} diskBudgetMb cap`:``}`],[`reserve`,`${g(t.reserve.totalKiB)} (snapshot staging ${g(t.reserve.stagingKiB)} + floor ${g(t.reserve.floorKiB)})`],[`headroom`,`${g(t.headroomKiB)} — room for ${n(`hardlink`)} hardlinked trees, ${n(`reconcile`)} lockfile-diverged (reconciling)`],[`measured`,e.at||`—`]]}),Ht=l(()=>{let e=$.value;if(!e)return[];let t=[[`mirror`,g(e.parts.mirror)],[`checkout deps (node_modules)`,g(e.parts.deps)],[`checkout (history + tree + build)`,g(e.parts.checkout)]];for(let[n,r]of Object.entries(e.parts.threads).sort((e,t)=>t[1]-e[1]))t.push([`thread ${n}`,g(r)]);for(let[n,r]of Object.entries(e.parts.homes).sort((e,t)=>t[1]-e[1]))r>=1024&&t.push([`home ${n}`,g(r)]);return t.push([`other (image, /tmp, …)`,g(e.parts.other)]),t});return(t,l)=>(a(),o(e,{title:W.value||`Resident`,nav:`residents`},{leading:r(()=>[...l[0]||=[s(`a`,{class:`back text-sm text-muted no-underline hover:text-primary`,href:`/residents`},`← All residents`,-1)]]),default:r(()=>[s(`section`,de,[l[8]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Lifecycle`,-1),s(`table`,fe,[s(`tbody`,null,[s(`tr`,pe,[l[1]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`state`,-1),s(`td`,me,[ee(p,{tone:n(oe)(U.value.state),label:U.value.state},null,8,[`tone`,`label`]),s(`span`,v,i(U.value.state),1)])]),s(`tr`,y,[l[2]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`reason`,-1),s(`td`,b,[U.value.reason?(a(),u(`span`,x,i(U.value.reason),1)):(a(),u(`span`,S,`—`))])]),s(`tr`,C,[l[3]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`last refresh error`,-1),s(`td`,w,[n(_)(U.value.lastRefreshError)?(a(),u(`span`,T,i(n(_)(U.value.lastRefreshError)),1)):(a(),u(`span`,E,`—`))])]),s(`tr`,D,[l[4]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`last restore`,-1),s(`td`,O,[Q.value?(a(),u(`span`,k,i(Q.value),1)):(a(),u(`span`,A,`—`))])]),s(`tr`,j,[l[5]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`state updated`,-1),s(`td`,M,[n(_)(U.value.updatedAt)?(a(),u(`span`,N,i(n(_)(U.value.updatedAt)),1)):(a(),u(`span`,P,`—`))])]),s(`tr`,F,[l[7]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`idle since`,-1),s(`td`,I,[n(_)(U.value.idleSince)?(a(),u(c,{key:0},[f(i(n(_)(U.value.idleSince))+` `,1),l[6]||=s(`span`,{class:`text-xs text-muted`},`(refresh parked; container may sleep)`,-1)],64)):(a(),u(`span`,L,`awake`))])])])])]),s(`section`,R,[l[15]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Pinned facts`,-1),s(`table`,z,[s(`tbody`,null,[s(`tr`,he,[l[9]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`repository`,-1),s(`td`,ge,[K.value?(a(),u(`a`,{key:0,class:`text-primary`,href:K.value},i(K.value),9,_e)):(a(),u(`span`,ve,i(n(_)(H.value.resource)||`—`),1))])]),s(`tr`,ye,[l[10]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`default ref`,-1),s(`td`,be,i(n(_)(U.value.defaultRef)||n(_)(H.value.defaultRef)||`—`),1)]),s(`tr`,xe,[l[11]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`pinned sha`,-1),s(`td`,Se,[q.value?(a(),u(`a`,{key:0,class:`text-primary`,href:q.value},i(G.value),9,Ce)):G.value?(a(),u(`span`,we,i(G.value),1)):(a(),u(`span`,Te,`—`))])]),s(`tr`,Ee,[l[12]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`lockfile hash`,-1),s(`td`,De,[n(_)(U.value.lockfileHash)?(a(),u(`span`,Oe,i(n(_)(U.value.lockfileHash)),1)):(a(),u(`span`,ke,`—`))])]),s(`tr`,Ae,[l[13]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`provisioned`,-1),s(`td`,je,[n(_)(U.value.provisionedAt)?(a(),u(`span`,Me,i(n(_)(U.value.provisionedAt)),1)):(a(),u(`span`,Ne,`—`))])]),s(`tr`,Pe,[l[14]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`last refresh`,-1),s(`td`,Fe,[n(_)(U.value.lastRefreshAt)?(a(),u(`span`,Ie,i(n(_)(U.value.lastRefreshAt)),1)):(a(),u(`span`,Le,`—`))])])])])]),s(`section`,Re,[l[17]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Disk`,-1),$.value?(a(),u(c,{key:0},[s(`table`,ze,[s(`tbody`,null,[(a(!0),u(c,null,d(Vt.value,([e,t])=>(a(),u(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,Be,i(e),1),s(`td`,Ve,i(t),1)]))),128))])]),l[16]||=s(`p`,{class:`mb-1 mt-2 text-xs text-muted`},` components (one du, hardlinks counted once — a thread tree shows only what it does not share with the checkout) `,-1),s(`table`,He,[s(`tbody`,null,[(a(!0),u(c,null,d(Ht.value,([e,t])=>(a(),u(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,Ue,i(e),1),s(`td`,We,i(t),1)]))),128))])])],64)):(a(),u(`p`,Ge,` not measured yet — the first refresh cycle or attach of this container measures it `))]),s(`section`,Ke,[l[18]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Snapshot stamp`,-1),J.value?(a(),u(`table`,qe,[s(`tbody`,null,[(a(),u(c,null,d([`ref`,`sha`,`lockfileHash`,`createdAt`,`mirrorBackupId`,`checkoutBackupId`],e=>s(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,Je,i(e),1),s(`td`,B,[n(_)(J.value[e])?(a(),u(`span`,Ye,i(n(_)(J.value[e])),1)):(a(),u(`span`,Xe,`—`))])])),64))])])):(a(),u(`p`,Ze,`no snapshot recorded`))]),s(`section`,Qe,[l[22]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Thread worktrees`,-1),X.value.length>0?(a(),u(c,{key:0},[s(`p`,$e,i(Z.value)+` live · `+i(X.value.length-Z.value)+` evicted`,1),s(`div`,et,[s(`table`,tt,[s(`tbody`,null,[l[21]||=s(`tr`,{class:`text-xs text-muted`},[s(`td`,{class:`px-2 py-1`},`thread`),s(`td`,{class:`px-2 py-1`},`ref · sha`),s(`td`,{class:`px-2 py-1`},`user · deps`),s(`td`,{class:`px-2 py-1`},`bound · last attach`)],-1),(a(!0),u(c,null,d(X.value,e=>(a(),u(`tr`,{key:e.threadKey,class:`border-t border-muted`},[s(`td`,nt,[e.evicted?(a(),u(`span`,rt,[f(`evicted `+i(e.evictedAt||`—`),1),e.evictedWhy?(a(),u(c,{key:0},[f(` · `+i(e.evictedWhy),1)],64)):te(``,!0)])):(a(),o(p,{key:1,tone:`green`,label:`live`,tip:`live`})),f(` `+i(e.threadKey),1)]),s(`td`,it,[f(i(e.ref)+` · `,1),e.commitHref?(a(),u(`a`,{key:0,class:`text-primary`,href:e.commitHref},i(e.sha),9,at)):e.sha?(a(),u(`span`,ot,i(e.sha),1)):(a(),u(`span`,st,`—`))]),s(`td`,ct,[e.user?(a(),u(`span`,lt,i(e.user),1)):(a(),u(`span`,ut,`—`)),l[19]||=f(` · `,-1),e.deps?(a(),u(`span`,dt,i(e.deps),1)):(a(),u(`span`,ft,`—`))]),s(`td`,pt,[e.boundAt?(a(),u(`span`,mt,i(e.boundAt),1)):(a(),u(`span`,ht,`—`)),l[20]||=f(` · `,-1),e.lastAttachAt?(a(),u(`span`,gt,i(e.lastAttachAt),1)):(a(),u(`span`,_t,`—`))])]))),128))])])])],64)):(a(),u(`p`,vt,`no thread worktrees`))]),s(`section`,yt,[l[23]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Pending schedules`,-1),s(`table`,bt,[s(`tbody`,null,[(a(),u(c,null,d([[`refresh`,`refresh`],[`provision run`,`provisionRun`],[`provision deadline`,`provisionDeadline`]],([e,t])=>s(`tr`,{key:t,class:`border-t border-muted`},[s(`td`,xt,i(e),1),s(`td`,St,i(n(_)(zt.value[t]??0)||`0`),1)])),64))])])]),s(`section`,Ct,[l[25]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Command table`,-1),Y.value.length>0?(a(),u(`table`,wt,[s(`tbody`,null,[(a(!0),u(c,null,d(Y.value,e=>(a(),u(`tr`,{key:e.name,class:`border-t border-muted`},[s(`td`,Tt,i(e.name),1),s(`td`,Et,[s(`code`,null,i(e.command),1),l[24]||=f(),s(`span`,Dt,i(e.effect),1)])]))),128))])])):(a(),u(`p`,Ot,`no command table`))]),s(`section`,kt,[l[26]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Registry settings`,-1),s(`table`,At,[s(`tbody`,null,[(a(!0),u(c,null,d([[`onboarded`,n(_)(H.value.onboardedAt)],[`record updated`,n(_)(H.value.updatedAt)],[`provisioning timeout (ms)`,n(_)(H.value.provisioningTimeoutMs)],[`disk budget (MB)`,n(_)(H.value.diskBudgetMb)],[`worktree TTL (days)`,n(_)(H.value.worktreeTtlDays??7)]],([e,t])=>(a(),u(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,jt,i(e),1),s(`td`,Mt,[t?(a(),u(`span`,Nt,i(t),1)):(a(),u(`span`,Pt,`—`))])]))),128))])])]),s(`p`,Ft,[l[27]||=f(` Manage from chat: `,-1),s(`code`,It,`repo rebuild `+i(W.value),1),l[28]||=f(` · `,-1),s(`code`,Lt,`repo reconfigure `+i(W.value)+` …`,1),l[29]||=f(` · `,-1),s(`code`,Rt,`repo offboard `+i(W.value)+` --dry-run`,1)])]),_:1},8,[`title`]))}});export{V as default};
1
+ import{t as e}from"./AppShell-B4EUiSwP.js";import{Dn as t,Ei as n,Gr as r,Mi as i,Tn as ee,_n as te,fr as a,gn as o,hn as s,in as c,mn as l,r as ne,vn as u,vr as d,wn as f}from"./seed-BhxEVasY.js";import{t as p}from"./StatusDot-DA3eTVrT.js";import{_ as m,a as h,c as re,g,h as ie,i as ae,l as oe,o as se,p as _,s as ce,t as le,u as ue}from"./residentsModel-By1fThvk.js";var de={class:`mt-4 first:mt-0`},fe={class:`w-full border-collapse font-mono text-[0.8125rem]`},pe={class:`border-t border-muted`},me={class:`px-2 py-1 align-top`},v={class:`ml-1.5 font-medium`},y={class:`border-t border-muted`},b={class:`break-all px-2 py-1 align-top`},x={key:0},S={key:1,class:`text-dimmed`},C={class:`border-t border-muted`},w={class:`break-all px-2 py-1 align-top`},T={key:0},E={key:1,class:`text-dimmed`},D={class:`border-t border-muted`},O={class:`break-all px-2 py-1 align-top`},k={key:0},A={key:1,class:`text-dimmed`},j={class:`border-t border-muted`},M={class:`break-all px-2 py-1 align-top`},N={key:0},P={key:1,class:`text-dimmed`},F={class:`border-t border-muted`},I={class:`break-all px-2 py-1 align-top`},L={key:1,class:`text-dimmed`},R={class:`mt-4`},z={class:`w-full border-collapse font-mono text-[0.8125rem]`},he={class:`border-t border-muted`},ge={class:`break-all px-2 py-1 align-top`},_e=[`href`],ve={key:1},ye={class:`border-t border-muted`},be={class:`break-all px-2 py-1 align-top`},xe={class:`border-t border-muted`},Se={class:`break-all px-2 py-1 align-top`},Ce=[`href`],we={key:1},Te={key:2,class:`text-dimmed`},Ee={class:`border-t border-muted`},De={class:`break-all px-2 py-1 align-top`},Oe={key:0},ke={key:1,class:`text-dimmed`},Ae={class:`border-t border-muted`},je={class:`break-all px-2 py-1 align-top`},Me={key:0},Ne={key:1,class:`text-dimmed`},Pe={class:`border-t border-muted`},Fe={class:`break-all px-2 py-1 align-top`},Ie={key:0},Le={key:1,class:`text-dimmed`},Re={class:`mt-4`},ze={class:`w-full border-collapse font-mono text-[0.8125rem]`},Be={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},Ve={class:`break-all px-2 py-1 align-top`},He={class:`w-full border-collapse font-mono text-[0.8125rem]`},Ue={class:`w-32 break-all px-2 py-1 align-top text-muted sm:w-96 sm:break-words`},We={class:`px-2 py-1 align-top`},Ge={key:1,class:`text-xs text-muted`},Ke={class:`mt-4`},qe={key:0,class:`w-full border-collapse font-mono text-[0.8125rem]`},Je={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},B={class:`break-all px-2 py-1 align-top`},Ye={key:0},Xe={key:1,class:`text-dimmed`},Ze={key:1,class:`text-xs text-muted`},Qe={class:`mt-4`},$e={class:`mb-1 text-xs text-muted`},et={class:`overflow-x-auto`},tt={class:`w-full border-collapse font-mono text-[0.8125rem]`},nt={class:`break-all px-2 py-1 align-top`},rt={key:0,class:`text-xs text-muted`},it={class:`break-all px-2 py-1 align-top`},at=[`href`],ot={key:1},st={key:2,class:`text-dimmed`},ct={class:`break-all px-2 py-1 align-top`},lt={key:0},ut={key:1,class:`text-dimmed`},dt={key:2},ft={key:3,class:`text-dimmed`},pt={class:`break-all px-2 py-1 align-top`},mt={key:0},ht={key:1,class:`text-dimmed`},gt={key:2},_t={key:3,class:`text-dimmed`},vt={key:1,class:`text-xs text-muted`},yt={class:`mt-4`},bt={class:`w-full border-collapse font-mono text-[0.8125rem]`},xt={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},St={class:`px-2 py-1 align-top`},Ct={class:`mt-4`},wt={key:0,class:`w-full border-collapse font-mono text-[0.8125rem]`},Tt={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},Et={class:`break-all px-2 py-1 align-top`},Dt={class:`text-xs text-muted`},Ot={key:1,class:`text-xs text-muted`},kt={class:`mt-4`},At={class:`w-full border-collapse font-mono text-[0.8125rem]`},jt={class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},Mt={class:`break-all px-2 py-1 align-top`},Nt={key:0},Pt={key:1,class:`text-dimmed`},Ft={class:`mt-4 text-xs text-muted`},It={class:`rounded bg-elevated px-1 py-0.5`},Lt={class:`rounded bg-elevated px-1 py-0.5`},Rt={class:`rounded bg-elevated px-1 py-0.5`},V=t({__name:`ResidentDetailPage`,setup(t){let V=ne(`resident`),H=l(()=>V?.record??{}),U=l(()=>ce(H.value)),W=l(()=>re(H.value)||(V?.slug??``)),G=l(()=>_(U.value.sha)),K=l(()=>le.test(W.value)?`https://github.com/${W.value}`:void 0),q=l(()=>K.value&&/^[0-9a-f]{7,40}$/.test(G.value)?`${K.value}/commit/${G.value}`:void 0),J=l(()=>{let e=U.value.snapshot;return e&&typeof e==`object`?h(e):void 0}),zt=l(()=>h(U.value.schedules)),Y=l(()=>{let e=h(H.value.commands),t=h(H.value.effects);return Object.keys(e).sort().map(n=>({name:n,command:_(e[n]),effect:_(t[n])||`readonly`}))}),X=l(()=>ue(H.value).map(e=>({...e,threadKey:e.threadKey||`?`,ref:e.ref||`?`,sha:e.sha?e.sha.slice(0,8):``,commitHref:K.value&&/^[0-9a-f]{7,40}$/.test(e.sha)?`${K.value}/commit/${e.sha}`:void 0}))),Z=l(()=>X.value.filter(e=>!e.evicted).length),Q=l(()=>{let e=U.value.lastRestore;return e?JSON.stringify(e):``}),$=l(()=>se(H.value)),Bt=l(()=>typeof H.value.diskBudgetMb==`number`?H.value.diskBudgetMb:void 0),Vt=l(()=>{let e=$.value;if(!e)return[];let t=ae(e,Bt.value),n=n=>{let r=t.room[n];return r===null?m(e.parts,n)===null?`? (checkout not measured)`:`?`:`${r} more (${g(m(e.parts,n))} each)`};return[[`used / total`,ie(e)],[`free`,`${g(t.freeKiB)}${t.capped?` under the ${g(t.capacityKiB)} diskBudgetMb cap`:``}`],[`reserve`,`${g(t.reserve.totalKiB)} (snapshot staging ${g(t.reserve.stagingKiB)} + floor ${g(t.reserve.floorKiB)})`],[`headroom`,`${g(t.headroomKiB)} — room for ${n(`hardlink`)} hardlinked trees, ${n(`reconcile`)} lockfile-diverged (reconciling)`],[`measured`,e.at||`—`]]}),Ht=l(()=>{let e=$.value;if(!e)return[];let t=[[`mirror`,g(e.parts.mirror)],[`checkout deps (node_modules)`,g(e.parts.deps)],[`checkout (history + tree + build)`,g(e.parts.checkout)]];for(let[n,r]of Object.entries(e.parts.threads).sort((e,t)=>t[1]-e[1]))t.push([`thread ${n}`,g(r)]);for(let[n,r]of Object.entries(e.parts.homes).sort((e,t)=>t[1]-e[1]))r>=1024&&t.push([`home ${n}`,g(r)]);return t.push([`other (image, /tmp, …)`,g(e.parts.other)]),t});return(t,l)=>(a(),o(e,{title:W.value||`Resident`,nav:`residents`},{leading:r(()=>[...l[0]||=[s(`a`,{class:`back text-sm text-muted no-underline hover:text-primary`,href:`/residents`},`← All residents`,-1)]]),default:r(()=>[s(`section`,de,[l[8]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Lifecycle`,-1),s(`table`,fe,[s(`tbody`,null,[s(`tr`,pe,[l[1]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`state`,-1),s(`td`,me,[ee(p,{tone:n(oe)(U.value.state),label:U.value.state},null,8,[`tone`,`label`]),s(`span`,v,i(U.value.state),1)])]),s(`tr`,y,[l[2]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`reason`,-1),s(`td`,b,[U.value.reason?(a(),u(`span`,x,i(U.value.reason),1)):(a(),u(`span`,S,`—`))])]),s(`tr`,C,[l[3]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`last refresh error`,-1),s(`td`,w,[n(_)(U.value.lastRefreshError)?(a(),u(`span`,T,i(n(_)(U.value.lastRefreshError)),1)):(a(),u(`span`,E,`—`))])]),s(`tr`,D,[l[4]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`last restore`,-1),s(`td`,O,[Q.value?(a(),u(`span`,k,i(Q.value),1)):(a(),u(`span`,A,`—`))])]),s(`tr`,j,[l[5]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`state updated`,-1),s(`td`,M,[n(_)(U.value.updatedAt)?(a(),u(`span`,N,i(n(_)(U.value.updatedAt)),1)):(a(),u(`span`,P,`—`))])]),s(`tr`,F,[l[7]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`idle since`,-1),s(`td`,I,[n(_)(U.value.idleSince)?(a(),u(c,{key:0},[f(i(n(_)(U.value.idleSince))+` `,1),l[6]||=s(`span`,{class:`text-xs text-muted`},`(refresh parked; container may sleep)`,-1)],64)):(a(),u(`span`,L,`awake`))])])])])]),s(`section`,R,[l[15]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Pinned facts`,-1),s(`table`,z,[s(`tbody`,null,[s(`tr`,he,[l[9]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`repository`,-1),s(`td`,ge,[K.value?(a(),u(`a`,{key:0,class:`text-primary`,href:K.value},i(K.value),9,_e)):(a(),u(`span`,ve,i(n(_)(H.value.resource)||`—`),1))])]),s(`tr`,ye,[l[10]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`default ref`,-1),s(`td`,be,i(n(_)(U.value.defaultRef)||n(_)(H.value.defaultRef)||`—`),1)]),s(`tr`,xe,[l[11]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`pinned sha`,-1),s(`td`,Se,[q.value?(a(),u(`a`,{key:0,class:`text-primary`,href:q.value},i(G.value),9,Ce)):G.value?(a(),u(`span`,we,i(G.value),1)):(a(),u(`span`,Te,`—`))])]),s(`tr`,Ee,[l[12]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`lockfile hash`,-1),s(`td`,De,[n(_)(U.value.lockfileHash)?(a(),u(`span`,Oe,i(n(_)(U.value.lockfileHash)),1)):(a(),u(`span`,ke,`—`))])]),s(`tr`,Ae,[l[13]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`provisioned`,-1),s(`td`,je,[n(_)(U.value.provisionedAt)?(a(),u(`span`,Me,i(n(_)(U.value.provisionedAt)),1)):(a(),u(`span`,Ne,`—`))])]),s(`tr`,Pe,[l[14]||=s(`td`,{class:`w-32 px-2 py-1 align-top text-muted sm:w-48 sm:whitespace-nowrap`},`last refresh`,-1),s(`td`,Fe,[n(_)(U.value.lastRefreshAt)?(a(),u(`span`,Ie,i(n(_)(U.value.lastRefreshAt)),1)):(a(),u(`span`,Le,`—`))])])])])]),s(`section`,Re,[l[17]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Disk`,-1),$.value?(a(),u(c,{key:0},[s(`table`,ze,[s(`tbody`,null,[(a(!0),u(c,null,d(Vt.value,([e,t])=>(a(),u(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,Be,i(e),1),s(`td`,Ve,i(t),1)]))),128))])]),l[16]||=s(`p`,{class:`mb-1 mt-2 text-xs text-muted`},` components (one du, hardlinks counted once — a thread tree shows only what it does not share with the checkout) `,-1),s(`table`,He,[s(`tbody`,null,[(a(!0),u(c,null,d(Ht.value,([e,t])=>(a(),u(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,Ue,i(e),1),s(`td`,We,i(t),1)]))),128))])])],64)):(a(),u(`p`,Ge,` not measured yet — the first refresh cycle or attach of this container measures it `))]),s(`section`,Ke,[l[18]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Snapshot stamp`,-1),J.value?(a(),u(`table`,qe,[s(`tbody`,null,[(a(),u(c,null,d([`ref`,`sha`,`lockfileHash`,`createdAt`,`mirrorBackupId`,`checkoutBackupId`],e=>s(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,Je,i(e),1),s(`td`,B,[n(_)(J.value[e])?(a(),u(`span`,Ye,i(n(_)(J.value[e])),1)):(a(),u(`span`,Xe,`—`))])])),64))])])):(a(),u(`p`,Ze,`no snapshot recorded`))]),s(`section`,Qe,[l[22]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Thread worktrees`,-1),X.value.length>0?(a(),u(c,{key:0},[s(`p`,$e,i(Z.value)+` live · `+i(X.value.length-Z.value)+` evicted`,1),s(`div`,et,[s(`table`,tt,[s(`tbody`,null,[l[21]||=s(`tr`,{class:`text-xs text-muted`},[s(`td`,{class:`px-2 py-1`},`thread`),s(`td`,{class:`px-2 py-1`},`ref · sha`),s(`td`,{class:`px-2 py-1`},`user · deps`),s(`td`,{class:`px-2 py-1`},`bound · last attach`)],-1),(a(!0),u(c,null,d(X.value,e=>(a(),u(`tr`,{key:e.threadKey,class:`border-t border-muted`},[s(`td`,nt,[e.evicted?(a(),u(`span`,rt,[f(`evicted `+i(e.evictedAt||`—`),1),e.evictedWhy?(a(),u(c,{key:0},[f(` · `+i(e.evictedWhy),1)],64)):te(``,!0)])):(a(),o(p,{key:1,tone:`green`,label:`live`,tip:`live`})),f(` `+i(e.threadKey),1)]),s(`td`,it,[f(i(e.ref)+` · `,1),e.commitHref?(a(),u(`a`,{key:0,class:`text-primary`,href:e.commitHref},i(e.sha),9,at)):e.sha?(a(),u(`span`,ot,i(e.sha),1)):(a(),u(`span`,st,`—`))]),s(`td`,ct,[e.user?(a(),u(`span`,lt,i(e.user),1)):(a(),u(`span`,ut,`—`)),l[19]||=f(` · `,-1),e.deps?(a(),u(`span`,dt,i(e.deps),1)):(a(),u(`span`,ft,`—`))]),s(`td`,pt,[e.boundAt?(a(),u(`span`,mt,i(e.boundAt),1)):(a(),u(`span`,ht,`—`)),l[20]||=f(` · `,-1),e.lastAttachAt?(a(),u(`span`,gt,i(e.lastAttachAt),1)):(a(),u(`span`,_t,`—`))])]))),128))])])])],64)):(a(),u(`p`,vt,`no thread worktrees`))]),s(`section`,yt,[l[23]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Pending schedules`,-1),s(`table`,bt,[s(`tbody`,null,[(a(),u(c,null,d([[`refresh`,`refresh`],[`provision run`,`provisionRun`],[`provision deadline`,`provisionDeadline`]],([e,t])=>s(`tr`,{key:t,class:`border-t border-muted`},[s(`td`,xt,i(e),1),s(`td`,St,i(n(_)(zt.value[t]??0)||`0`),1)])),64))])])]),s(`section`,Ct,[l[25]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Command table`,-1),Y.value.length>0?(a(),u(`table`,wt,[s(`tbody`,null,[(a(!0),u(c,null,d(Y.value,e=>(a(),u(`tr`,{key:e.name,class:`border-t border-muted`},[s(`td`,Tt,i(e.name),1),s(`td`,Et,[s(`code`,null,i(e.command),1),l[24]||=f(),s(`span`,Dt,i(e.effect),1)])]))),128))])])):(a(),u(`p`,Ot,`no command table`))]),s(`section`,kt,[l[26]||=s(`h2`,{class:`mb-1.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Registry settings`,-1),s(`table`,At,[s(`tbody`,null,[(a(!0),u(c,null,d([[`onboarded`,n(_)(H.value.onboardedAt)],[`record updated`,n(_)(H.value.updatedAt)],[`provisioning timeout (ms)`,n(_)(H.value.provisioningTimeoutMs)],[`disk budget (MB)`,n(_)(H.value.diskBudgetMb)],[`worktree TTL (days)`,n(_)(H.value.worktreeTtlDays??7)]],([e,t])=>(a(),u(`tr`,{key:e,class:`border-t border-muted`},[s(`td`,jt,i(e),1),s(`td`,Mt,[t?(a(),u(`span`,Nt,i(t),1)):(a(),u(`span`,Pt,`—`))])]))),128))])])]),s(`p`,Ft,[l[27]||=f(` Manage from chat: `,-1),s(`code`,It,`repo rebuild `+i(W.value),1),l[28]||=f(` · `,-1),s(`code`,Lt,`repo reconfigure `+i(W.value)+` …`,1),l[29]||=f(` · `,-1),s(`code`,Rt,`repo offboard `+i(W.value)+` --dry-run`,1)])]),_:1},8,[`title`]))}});export{V as default};