heyiam 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,6 +9,6 @@ Error generating stack: `+e.message+`
9
9
  `).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Yt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Yt(e,``+r);break;case`className`:Nt(e,`class`,r);break;case`tabIndex`:Nt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Nt(e,n,r);break;case`style`:Qt(e,r,o);break;case`data`:if(t!==`object`){Nt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=nn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof o==`function`&&(n===`formAction`?(t!==`input`&&$(e,t,`name`,a.name,a,null),$(e,t,`formEncType`,a.formEncType,a,null),$(e,t,`formMethod`,a.formMethod,a,null),$(e,t,`formTarget`,a.formTarget,a,null)):($(e,t,`encType`,a.encType,a,null),$(e,t,`method`,a.method,a,null),$(e,t,`target`,a.target,a,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=nn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=rn);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=nn(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Q(`beforetoggle`,e),Q(`toggle`,e),Mt(e,`popover`,r);break;case`xlinkActuate`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Mt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=en.get(n)||n,Mt(e,n,r))}}function Nd(e,t,n,r,a,o){switch(n){case`style`:Qt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Yt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Yt(e,``+r);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=rn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Tt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),t=n.slice(2,a?n.length-7:void 0),o=e[dt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,a),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,a);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Mt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Q(`error`,e),Q(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,o,s,n,null)}}a&&$(e,t,`srcSet`,n.srcSet,n,null),r&&$(e,t,`src`,n.src,n,null);return;case`input`:Q(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:$(e,t,r,d,n,null)}}Wt(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Q(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:$(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Kt(e,!!r,n,!0):Kt(e,!!r,t,!1);return;case`textarea`:for(s in Q(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:$(e,t,s,c,n,null)}Jt(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:$(e,t,l,r,n,null)}return;case`dialog`:Q(`beforetoggle`,e),Q(`toggle`,e),Q(`cancel`,e),Q(`close`,e);break;case`iframe`:case`object`:Q(`load`,e);break;case`video`:case`audio`:for(r=0;r<_d.length;r++)Q(_d[r],e);break;case`image`:Q(`error`,e),Q(`load`,e);break;case`details`:Q(`toggle`,e);break;case`embed`:case`source`:case`link`:Q(`error`,e),Q(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:$(e,t,u,r,n,null)}return;default:if($t(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&$(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||$(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:a=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&$(e,t,p,m,r,f)}}Ut(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||$(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&$(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Kt(e,!!n,n?[]:``,!1):Kt(e,!!n,t,!0)):Kt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:$(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:p=a;break;case`defaultValue`:m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&$(e,t,s,a,r,o)}qt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:$(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:$(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&$(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:$(e,t,u,p,r,m)}return;default:if($t(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&$(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||$(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e===Wd?!1:(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[_t]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),vt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[_t])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);vt(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=M.d;M.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=bu();return e||t}function yf(e){var t=bt(e);t!==null&&t.tag===5&&t.type===`form`?Ds(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Ht(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),Ct(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Ht(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Ht(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Ht(n.imageSizes)+`"]`)):i+=`[href="`+Ht(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),Ct(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Ht(r)+`"][href="`+Ht(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),Ct(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=St(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);Ct(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=St(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Ct(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=St(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Ct(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=de.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=St(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=St(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=St(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+Ht(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),Ct(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Ht(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Ht(n.href)+`"]`);if(r)return t.instance=r,Ct(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Ct(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,Ct(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),Ct(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,Ct(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Ct(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[_t]||a[ut]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Ct(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),Ct(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:C,Provider:null,Consumer:null,_currentValue:ae,_currentValue2:ae,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=$e(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$e(0),this.hiddenUpdates=$e(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=di(3,null,null,t),e.current=a,a.stateNode=e,t=ca(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Va(a),e}function tp(e){return e?(e=li,e):li}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=Ua(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Wa(e,r,t),n!==null&&(hu(n,e,t),Ga(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=oi(e,67108864);t!==null&&hu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=pu();t=at(t);var n=oi(e,t);n!==null&&hu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=j.T;j.T=null;var a=M.p;try{M.p=2,up(e,t,n,r)}finally{M.p=a,j.T=i}}function lp(e,t,n,r){var i=j.T;j.T=null;var a=M.p;try{M.p=8,up(e,t,n,r)}finally{M.p=a,j.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)wd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=bt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Je(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ve(o);s.entanglements[1]|=c,o&=~c}rd(a),!(G&6)&&(tu=ke()+500,id(0,!1))}}break;case 31:case 13:s=oi(a,2),s!==null&&hu(s,a,2),bu(),ip(a,2)}if(a=dp(r),a===null&&wd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else wd(e,t,r,null,n)}}function dp(e){return e=on(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=yt(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Ae()){case je:return 2;case Me:return 8;case Ne:case Pe:return 32;case Fe:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=bt(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=yt(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,ct(e.priority,function(){op(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,ct(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);an=r,n.target.dispatchEvent(r),an=null}else return t=bt(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=bt(n);a!==null&&(e.splice(t,3),t-=3,Ts(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[dt]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[dt]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;np(n,pu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),bu(),t[ft]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=st();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.4`)throw Error(i(527,Lp,`19.2.4`));M.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.4`,rendererPackageName:`react-dom`,currentDispatcherRef:j,reconcilerVersion:`19.2.4`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Re=zp.inject(Rp),ze=zp}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Js,s=Ys,c=Xs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,o,s,c,Pp),e[ft]=t.current,Sd(e),new Fp(t)}})),g=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()}))(),_=c(u(),1),v=`modulepreload`,y=function(e){return`/`+e},b={},x=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=y(t,n),t in b)return;b[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:v,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},S=`popstate`;function C(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function w(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return k(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:ee(t)}return te(t,n,null,e)}function T(e,t){if(e===!1||e==null)throw Error(t)}function E(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function D(){return Math.random().toString(36).substring(2,10)}function O(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function k(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?A(t):t,state:n,key:t&&t.key||r||D(),unstable_mask:i}}function ee({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function A(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function te(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:h.location,delta:t})}function f(e,t){s=`PUSH`;let r=C(e)?e:k(h.location,e,t);n&&n(r,e),l=u()+1;let d=O(r,l),f=h.createHref(r.unstable_mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:h.location,delta:1})}function p(e,t){s=`REPLACE`;let r=C(e)?e:k(h.location,e,t);n&&n(r,e),l=u();let i=O(r,l),d=h.createHref(r.unstable_mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:h.location,delta:0})}function m(e){return ne(e)}let h={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(S,d),c=e,()=>{i.removeEventListener(S,d),c=null}},createHref(e){return t(i,e)},createURL:m,encodeLocation(e){let t=m(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:f,replace:p,go(e){return o.go(e)}};return h}function ne(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),T(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:ee(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function re(e,t,n=`/`){return ie(e,t,n,!1)}function ie(e,t,n,r){let i=ve((typeof t==`string`?A(t):t).pathname||`/`,n);if(i==null)return null;let a=M(e);oe(a);let o=null;for(let e=0;o==null&&e<a.length;++e){let t=_e(i);o=me(a[e],t,r)}return o}function j(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function M(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;T(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=Ee([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(T(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),M(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:fe(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of ae(e.path))a(e,t,!0,n)}),t}function ae(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=ae(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function oe(e){e.sort((e,t)=>e.score===t.score?pe(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var se=/^:[\w-]+$/,ce=3,N=2,P=1,le=10,ue=-2,de=e=>e===`*`;function fe(e,t){let n=e.split(`/`),r=n.length;return n.some(de)&&(r+=ue),t&&(r+=N),n.filter(e=>!de(e)).reduce((e,t)=>e+(se.test(t)?ce:t===``?P:le),r)}function pe(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function me(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=he({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=he({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:Ee([a,u.pathname]),pathnameBase:De(Ee([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=Ee([a,u.pathnameBase]))}return o}function he(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=ge(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function ge(e,t=!1,n=!0){E(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function _e(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return E(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function ve(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var ye=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function be(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?A(e):e,a;return n?(n=n.replace(/\/\/+/g,`/`),a=n.startsWith(`/`)?xe(n.substring(1),`/`):xe(n,t)):a=t,{pathname:a,search:Oe(r),hash:ke(i)}}function xe(e,t){let n=t.replace(/\/+$/,``).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function Se(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Ce(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function we(e){let t=Ce(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Te(e,t,n,r=!1){let i;typeof e==`string`?i=A(e):(i={...e},T(!i.pathname||!i.pathname.includes(`?`),Se(`?`,`pathname`,`search`,i)),T(!i.pathname||!i.pathname.includes(`#`),Se(`#`,`pathname`,`hash`,i)),T(!i.search||!i.search.includes(`#`),Se(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=be(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Ee=e=>e.join(`/`).replace(/\/\/+/g,`/`),De=e=>e.replace(/\/+$/,``).replace(/^\/*/,`/`),Oe=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,ke=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Ae=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function je(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Me(e){return e.map(e=>e.route.path).filter(Boolean).join(`/`).replace(/\/\/*/g,`/`)||`/`}var Ne=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Pe(e,t){let n=e;if(typeof n!=`string`||!ye.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Ne)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=ve(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{E(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Fe=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(Fe);var Ie=[`GET`,...Fe];new Set(Ie);var Le=_.createContext(null);Le.displayName=`DataRouter`;var Re=_.createContext(null);Re.displayName=`DataRouterState`;var ze=_.createContext(!1),Be=_.createContext({isTransitioning:!1});Be.displayName=`ViewTransition`;var Ve=_.createContext(new Map);Ve.displayName=`Fetchers`;var He=_.createContext(null);He.displayName=`Await`;var Ue=_.createContext(null);Ue.displayName=`Navigation`;var We=_.createContext(null);We.displayName=`Location`;var Ge=_.createContext({outlet:null,matches:[],isDataRoute:!1});Ge.displayName=`Route`;var Ke=_.createContext(null);Ke.displayName=`RouteError`;var qe=`REACT_ROUTER_ERROR`,Je=`REDIRECT`,Ye=`ROUTE_ERROR_RESPONSE`;function Xe(e){if(e.startsWith(`${qe}:${Je}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Ze(e){if(e.startsWith(`${qe}:${Ye}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new Ae(t.status,t.statusText,t.data)}catch{}}function Qe(e,{relative:t}={}){T($e(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=_.useContext(Ue),{hash:i,pathname:a,search:o}=ot(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:Ee([n,a])),r.createHref({pathname:s,search:o,hash:i})}function $e(){return _.useContext(We)!=null}function et(){return T($e(),`useLocation() may be used only in the context of a <Router> component.`),_.useContext(We).location}var tt=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function nt(e){_.useContext(Ue).static||_.useLayoutEffect(e)}function rt(){let{isDataRoute:e}=_.useContext(Ge);return e?Tt():it()}function it(){T($e(),`useNavigate() may be used only in the context of a <Router> component.`);let e=_.useContext(Le),{basename:t,navigator:n}=_.useContext(Ue),{matches:r}=_.useContext(Ge),{pathname:i}=et(),a=JSON.stringify(we(r)),o=_.useRef(!1);return nt(()=>{o.current=!0}),_.useCallback((r,s={})=>{if(E(o.current,tt),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Te(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:Ee([t,c.pathname])),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}_.createContext(null);function at(){let{matches:e}=_.useContext(Ge),t=e[e.length-1];return t?t.params:{}}function ot(e,{relative:t}={}){let{matches:n}=_.useContext(Ge),{pathname:r}=et(),i=JSON.stringify(we(n));return _.useMemo(()=>Te(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function st(e,t){return ct(e,t)}function ct(e,t,n){T($e(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=_.useContext(Ue),{matches:i}=_.useContext(Ge),a=i[i.length-1],o=a?a.params:{},s=a?a.pathname:`/`,c=a?a.pathnameBase:`/`,l=a&&a.route;{let e=l&&l.path||``;Dt(s,!l||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${s}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
10
10
 
11
11
  Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let u=et(),d;if(t){let e=typeof t==`string`?A(t):t;T(c===`/`||e.pathname?.startsWith(c),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${c}" but pathname "${e.pathname}" was given in the \`location\` prop.`),d=e}else d=u;let f=d.pathname||`/`,p=f;if(c!==`/`){let e=c.replace(/^\//,``).split(`/`);p=`/`+f.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let m=re(e,{pathname:p});E(l||m!=null,`No routes matched location "${d.pathname}${d.search}${d.hash}" `),E(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,`Matched leaf route at location "${d.pathname}${d.search}${d.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let h=ht(m&&m.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:Ee([c,r.encodeLocation?r.encodeLocation(e.pathname.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?c:Ee([c,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&h?_.createElement(We.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,unstable_mask:void 0,...d},navigationType:`POP`}},h):h}function lt(){let e=wt(),t=je(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},o=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),o=_.createElement(_.Fragment,null,_.createElement(`p`,null,`💿 Hey developer 👋`),_.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,_.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,_.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),_.createElement(_.Fragment,null,_.createElement(`h2`,null,`Unexpected Application Error!`),_.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?_.createElement(`pre`,{style:i},n):null,o)}var ut=_.createElement(lt,null),dt=class extends _.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Ze(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:_.createElement(Ge.Provider,{value:this.props.routeContext},_.createElement(Ke.Provider,{value:e,children:this.props.component}));return this.context?_.createElement(pt,{error:e},t):t}};dt.contextType=ze;var ft=new WeakMap;function pt({children:e,error:t}){let{basename:n}=_.useContext(Ue);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Xe(t.digest);if(e){let r=ft.get(t);if(r)throw r;let i=Pe(e.location,n);if(Ne&&!ft.get(t))if(i.isExternal||e.reloadDocument)window.location.href=i.absoluteURL||i.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw ft.set(t,n),n}return _.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${i.absoluteURL||i.to}`})}}return e}function mt({routeContext:e,match:t,children:n}){let r=_.useContext(Le);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),_.createElement(Ge.Provider,{value:e},n)}function ht(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);T(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:Me(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||ut,o&&(s<0&&c===0?(Dt(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?_.createElement(n.route.Component,null):n.route.element?n.route.element:e,_.createElement(mt,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?_.createElement(dt,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function gt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function _t(e){let t=_.useContext(Le);return T(t,gt(e)),t}function vt(e){let t=_.useContext(Re);return T(t,gt(e)),t}function yt(e){let t=_.useContext(Ge);return T(t,gt(e)),t}function bt(e){let t=yt(e),n=t.matches[t.matches.length-1];return T(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function xt(){return bt(`useRouteId`)}function St(){return vt(`useNavigation`).navigation}function Ct(){let{matches:e,loaderData:t}=vt(`useMatches`);return _.useMemo(()=>e.map(e=>j(e,t)),[e,t])}function wt(){let e=_.useContext(Ke),t=vt(`useRouteError`),n=bt(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Tt(){let{router:e}=_t(`useNavigate`),t=bt(`useNavigate`),n=_.useRef(!1);return nt(()=>{n.current=!0}),_.useCallback(async(r,i={})=>{E(n.current,tt),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var Et={};function Dt(e,t,n){!t&&!Et[e]&&(Et[e]=!0,E(!1,n))}_.useOptimistic,_.memo(Ot);function Ot({routes:e,future:t,state:n,isStatic:r,onError:i}){return ct(e,void 0,{state:n,isStatic:r,onError:i,future:t})}function kt(e){T(!1,`A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`)}function At({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,unstable_useTransitions:o}){T(!$e(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=_.useMemo(()=>({basename:s,navigator:i,static:a,unstable_useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=A(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,unstable_mask:m}=n,h=_.useMemo(()=>{let e=ve(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,unstable_mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return E(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:_.createElement(Ue.Provider,{value:c},_.createElement(We.Provider,{children:t,value:h}))}function jt({children:e,location:t}){return st(Mt(e),t)}function Mt(e,t=[]){let n=[];return _.Children.forEach(e,(e,r)=>{if(!_.isValidElement(e))return;let i=[...t,r];if(e.type===_.Fragment){n.push.apply(n,Mt(e.props.children,i));return}T(e.type===kt,`[${typeof e.type==`string`?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),T(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let a={id:e.props.id||i.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(a.children=Mt(e.props.children,i)),n.push(a)}),n}var Nt=`get`,Pt=`application/x-www-form-urlencoded`;function Ft(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function It(e){return Ft(e)&&e.tagName.toLowerCase()===`button`}function Lt(e){return Ft(e)&&e.tagName.toLowerCase()===`form`}function Rt(e){return Ft(e)&&e.tagName.toLowerCase()===`input`}function zt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Bt(e,t){return e.button===0&&(!t||t===`_self`)&&!zt(e)}function Vt(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function Ht(e,t){let n=Vt(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Ut=null;function Wt(){if(Ut===null)try{new FormData(document.createElement(`form`),0),Ut=!1}catch{Ut=!0}return Ut}var Gt=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Kt(e){return e!=null&&!Gt.has(e)?(E(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Pt}"`),null):e}function qt(e,t){let n,r,i,a,o;if(Lt(e)){let o=e.getAttribute(`action`);r=o?ve(o,t):null,n=e.getAttribute(`method`)||Nt,i=Kt(e.getAttribute(`enctype`))||Pt,a=new FormData(e)}else if(It(e)||Rt(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?ve(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||Nt,i=Kt(e.getAttribute(`formenctype`))||Kt(o.getAttribute(`enctype`))||Pt,a=new FormData(o,e),!Wt()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(Ft(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=Nt,r=null,i=Pt,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Jt={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},Yt=/[&><\u2028\u2029]/g;function Xt(e){return e.replace(Yt,e=>Jt[e])}function Zt(e,t){if(e===!1||e==null)throw Error(t)}function Qt(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&ve(i.pathname,t)===`/`?i.pathname=`${t.replace(/\/$/,``)}/_root.${r}`:i.pathname=`${i.pathname.replace(/\/$/,``)}.${r}`,i}async function $t(e,t){if(e.id in t)return t[e.id];try{let n=await x(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function en(e){return e!=null&&typeof e.page==`string`}function tn(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function nn(e,t,n){return cn((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await $t(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(tn).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function rn(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function an(e,t,{includeHydrateFallback:n}={}){return on(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function on(e){return[...new Set(e)]}function sn(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function cn(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!en(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(sn(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function ln(){let e=_.useContext(Le);return Zt(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function un(){let e=_.useContext(Re);return Zt(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var dn=_.createContext(void 0);dn.displayName=`FrameworkContext`;function fn(){let e=_.useContext(dn);return Zt(e,`You must render this element inside a <HydratedRouter> element`),e}function pn(e,t){let n=_.useContext(dn),[r,i]=_.useState(!1),[a,o]=_.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=_.useRef(null);_.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),_.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:mn(s,p),onBlur:mn(c,m),onMouseEnter:mn(l,p),onMouseLeave:mn(u,m),onTouchStart:mn(d,p)}]:[a,f,{}]:[!1,f,{}]}function mn(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function hn({page:e,...t}){let{router:n}=ln(),r=_.useMemo(()=>re(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?_.createElement(_n,{page:e,matches:r,...t}):null}function gn(e){let{manifest:t,routeModules:n}=fn(),[r,i]=_.useState([]);return _.useEffect(()=>{let r=!1;return nn(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function _n({page:e,matches:t,...n}){let r=et(),{future:i,manifest:a,routeModules:o}=fn(),{basename:s}=ln(),{loaderData:c,matches:l}=un(),u=_.useMemo(()=>rn(e,t,l,a,r,`data`),[e,t,l,a,r]),d=_.useMemo(()=>rn(e,t,l,a,r,`assets`),[e,t,l,a,r]),f=_.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,l=!1;if(t.forEach(e=>{let t=a.routes[e.route.id];!t||!t.hasLoader||(!u.some(t=>t.route.id===e.route.id)&&e.route.id in c&&o[e.route.id]?.shouldRevalidate||t.hasClientLoader?l=!0:n.add(e.route.id))}),n.size===0)return[];let d=Qt(e,s,i.unstable_trailingSlashAwareDataRequests,`data`);return l&&n.size>0&&d.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[d.pathname+d.search]},[s,i.unstable_trailingSlashAwareDataRequests,c,r,a,u,t,e,o]),p=_.useMemo(()=>an(d,a),[d,a]),m=gn(d);return _.createElement(_.Fragment,null,f.map(e=>_.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),p.map(e=>_.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),m.map(({key:e,link:t})=>_.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function vn(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var yn=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{yn&&(window.__reactRouterVersion=`7.13.1`)}catch{}function bn({basename:e,children:t,unstable_useTransitions:n,window:r}){let i=_.useRef();i.current??=w({window:r,v5Compat:!0});let a=i.current,[o,s]=_.useState({action:a.action,location:a.location}),c=_.useCallback(e=>{n===!1?s(e):_.startTransition(()=>s(e))},[n]);return _.useLayoutEffect(()=>a.listen(c),[a,c]),_.createElement(At,{basename:e,children:t,location:o.location,navigationType:o.action,navigator:a,unstable_useTransitions:n})}function xn({basename:e,children:t,history:n,unstable_useTransitions:r}){let[i,a]=_.useState({action:n.action,location:n.location}),o=_.useCallback(e=>{r===!1?a(e):_.startTransition(()=>a(e))},[r]);return _.useLayoutEffect(()=>n.listen(o),[n,o]),_.createElement(At,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:n,unstable_useTransitions:r})}xn.displayName=`unstable_HistoryRouter`;var Sn=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Cn=_.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,unstable_mask:o,state:s,target:c,to:l,preventScrollReset:u,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m){let{basename:h,navigator:g,unstable_useTransitions:v}=_.useContext(Ue),y=typeof l==`string`&&Sn.test(l),b=Pe(l,h);l=b.to;let x=Qe(l,{relative:r}),S=et(),C=null;if(o){let e=Te(o,[],S.unstable_mask?S.unstable_mask.pathname:`/`,!0);h!==`/`&&(e.pathname=e.pathname===`/`?h:Ee([h,e.pathname])),C=g.createHref(e)}let[w,T,E]=pn(n,p),D=An(l,{replace:a,unstable_mask:o,state:s,target:c,preventScrollReset:u,relative:r,viewTransition:d,unstable_defaultShouldRevalidate:f,unstable_useTransitions:v});function O(t){e&&e(t),t.defaultPrevented||D(t)}let k=!(b.isExternal||i),ee=_.createElement(`a`,{...p,...E,href:(k?C:void 0)||b.absoluteURL||x,onClick:k?O:e,ref:vn(m,T),target:c,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?_.createElement(_.Fragment,null,ee,_.createElement(hn,{page:x})):ee});Cn.displayName=`Link`;var wn=_.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:o,children:s,...c},l){let u=ot(a,{relative:c.relative}),d=et(),f=_.useContext(Re),{navigator:p,basename:m}=_.useContext(Ue),h=f!=null&&Vn(u)&&o===!0,g=p.encodeLocation?p.encodeLocation(u).pathname:u.pathname,v=d.pathname,y=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,g=g.toLowerCase()),y&&m&&(y=ve(y,m)||y);let b=g!==`/`&&g.endsWith(`/`)?g.length-1:g.length,x=v===g||!r&&v.startsWith(g)&&v.charAt(b)===`/`,S=y!=null&&(y===g||!r&&y.startsWith(g)&&y.charAt(g.length)===`/`),C={isActive:x,isPending:S,isTransitioning:h},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,h?`transitioning`:null].filter(Boolean).join(` `);let E=typeof i==`function`?i(C):i;return _.createElement(Cn,{...c,"aria-current":w,className:T,ref:l,style:E,to:a,viewTransition:o},typeof s==`function`?s(C):s)});wn.displayName=`NavLink`;var Tn=_.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:o=Nt,action:s,onSubmit:c,relative:l,preventScrollReset:u,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:h}=_.useContext(Ue),g=Pn(),v=Fn(s,{relative:l}),y=o.toLowerCase()===`get`?`get`:`post`,b=typeof s==`string`&&Sn.test(s);return _.createElement(`form`,{ref:m,method:y,action:v,onSubmit:r?c:e=>{if(c&&c(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,s=r?.getAttribute(`formmethod`)||o,p=()=>g(r||e.currentTarget,{fetcherKey:t,method:s,navigate:n,replace:i,state:a,relative:l,preventScrollReset:u,viewTransition:d,unstable_defaultShouldRevalidate:f});h&&n!==!1?_.startTransition(()=>p()):p()},...p,"data-discover":!b&&e===`render`?`true`:void 0})});Tn.displayName=`Form`;function En({getKey:e,storageKey:t,...n}){let r=_.useContext(dn),{basename:i}=_.useContext(Ue),a=et(),o=Ct();zn({getKey:e,storageKey:t});let s=_.useMemo(()=>{if(!r||!e)return null;let t=Rn(a,o,i,e);return t===a.key?null:t},[]);if(!r||r.isSpaMode)return null;let c=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return _.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${c})(${Xt(JSON.stringify(t||In))}, ${Xt(JSON.stringify(s))})`}})}En.displayName=`ScrollRestoration`;function Dn(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function On(e){let t=_.useContext(Le);return T(t,Dn(e)),t}function kn(e){let t=_.useContext(Re);return T(t,Dn(e)),t}function An(e,{target:t,replace:n,unstable_mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,unstable_defaultShouldRevalidate:c,unstable_useTransitions:l}={}){let u=rt(),d=et(),f=ot(e,{relative:o});return _.useCallback(p=>{if(Bt(p,t)){p.preventDefault();let t=n===void 0?ee(d)===ee(f):n,m=()=>u(e,{replace:t,unstable_mask:r,state:i,preventScrollReset:a,relative:o,viewTransition:s,unstable_defaultShouldRevalidate:c});l?_.startTransition(()=>m()):m()}},[d,u,f,n,r,i,t,e,a,o,s,c,l])}function jn(e){E(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=_.useRef(Vt(e)),n=_.useRef(!1),r=et(),i=_.useMemo(()=>Ht(r.search,n.current?null:t.current),[r.search]),a=rt();return[i,_.useCallback((e,t)=>{let r=Vt(typeof e==`function`?e(new URLSearchParams(i)):e);n.current=!0,a(`?`+r,t)},[a,i])]}var Mn=0,Nn=()=>`__${String(++Mn)}__`;function Pn(){let{router:e}=On(`useSubmit`),{basename:t}=_.useContext(Ue),n=xt(),r=e.fetch,i=e.navigate;return _.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=qt(e,t);a.navigate===!1?await r(a.fetcherKey||Nn(),n,a.action||o,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync}):await i(a.action||o,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function Fn(e,{relative:t}={}){let{basename:n}=_.useContext(Ue),r=_.useContext(Ge);T(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...ot(e||`.`,{relative:t})},o=et();if(e==null){a.search=o.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:Ee([n,a.pathname])),ee(a)}var In=`react-router-scroll-positions`,Ln={};function Rn(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:ve(e.pathname,n)||e.pathname},t)),i??=e.key,i}function zn({getKey:e,storageKey:t}={}){let{router:n}=On(`useScrollRestoration`),{restoreScrollPosition:r,preventScrollReset:i}=kn(`useScrollRestoration`),{basename:a}=_.useContext(Ue),o=et(),s=Ct(),c=St();_.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),Bn(_.useCallback(()=>{if(c.state===`idle`){let t=Rn(o,s,a,e);Ln[t]=window.scrollY}try{sessionStorage.setItem(t||In,JSON.stringify(Ln))}catch(e){E(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[c.state,e,a,o,s,t])),typeof document<`u`&&(_.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||In);e&&(Ln=JSON.parse(e))}catch{}},[t]),_.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(Ln,()=>window.scrollY,e?(t,n)=>Rn(t,n,a,e):void 0);return()=>t&&t()},[n,a,e]),_.useLayoutEffect(()=>{if(r!==!1){if(typeof r==`number`){window.scrollTo(0,r);return}try{if(o.hash){let e=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{E(!1,`"${o.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}i!==!0&&window.scrollTo(0,0)}},[o,r,i]))}function Bn(e,t){let{capture:n}=t||{};_.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function Vn(e,{relative:t}={}){let n=_.useContext(Be);T(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=On(`useViewTransitionState`),i=ot(e,{relative:t});if(!n.isTransitioning)return!1;let a=ve(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=ve(n.nextLocation.pathname,r)||n.nextLocation.pathname;return he(i.pathname,o)!=null||he(i.pathname,a)!=null}var Hn=`/api`;async function Un(){let e=await fetch(`${Hn}/projects`);if(!e.ok)throw Error(`Failed to fetch projects: ${e.status}`);return(await e.json()).projects}async function Wn(e){let t=await fetch(`${Hn}/projects/${encodeURIComponent(e)}/sessions`);if(!t.ok)throw Error(`Failed to fetch sessions: ${t.status}`);return(await t.json()).sessions}async function Gn(e,t){let n=await fetch(`${Hn}/projects/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}`);if(!n.ok)throw Error(`Failed to fetch session: ${n.status}`);return(await n.json()).session}function Kn(e,t){let n=new AbortController;return fetch(`${Hn}/projects/${encodeURIComponent(e)}/triage`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({}),signal:n.signal}).then(async e=>{if(!e.ok){let t=await e.json().catch(()=>({error:{message:`Triage failed`}}));throw Error(t.error?.message??`Triage failed`)}let n=e.body?.getReader();if(!n)throw Error(`No response stream`);let r=new TextDecoder,i=``;for(;;){let{done:e,value:a}=await n.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.split(`
12
- `);i=o.pop()??``;for(let e of o){if(!e.startsWith(`data: `))continue;let n=e.slice(6).trim();if(n)try{t(JSON.parse(n))}catch{}}}}).catch(e=>{e.name!==`AbortError`&&t({type:`done`,selected:0,skipped:0})}),n}async function qn(){try{let e=await fetch(`${Hn}/enhance/status`);return e.ok?await e.json():{mode:`unknown`,remaining:null}}catch{return{mode:`unknown`,remaining:null}}}async function Jn(){try{let e=await fetch(`${Hn}/auth/status`);return e.ok?await e.json():{authenticated:!1}}catch{return{authenticated:!1}}}async function Yn(){let e=await fetch(`${Hn}/auth/login`,{method:`POST`});if(!e.ok)throw Error(`Failed to start auth: ${e.status}`);return e.json()}async function Xn(e){let t=await fetch(`${Hn}/auth/poll`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({device_code:e})});if(!t.ok){let e=await t.json().catch(()=>({error:`poll_failed`}));if(e.error===`authorization_pending`)return{authenticated:!1};throw Error(e.error||`Poll failed`)}return t.json()}function Zn(e,t,n,r,i){let a=new AbortController;return fetch(`${Hn}/projects/${encodeURIComponent(e)}/enhance-project`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({selectedSessionIds:t,skippedSessions:n,force:i}),signal:a.signal}).then(async e=>{if(!e.ok){r({type:`error`,message:(await e.json().catch(()=>({error:{message:`Enhance failed`}}))).error?.message??`Enhance failed`});return}let t=e.body?.getReader();if(!t){r({type:`error`,message:`No response stream`});return}let n=new TextDecoder,i=``;for(;;){let{done:e,value:a}=await t.read();if(e)break;i+=n.decode(a,{stream:!0});let o=i.split(`
12
+ `);i=o.pop()??``;for(let e of o){if(!e.startsWith(`data: `))continue;let n=e.slice(6).trim();if(n)try{t(JSON.parse(n))}catch{}}}}).catch(e=>{e.name!==`AbortError`&&t({type:`error`,message:e.message})}),n}async function qn(){try{let e=await fetch(`${Hn}/enhance/status`);return e.ok?await e.json():{mode:`unknown`,remaining:null}}catch{return{mode:`unknown`,remaining:null}}}async function Jn(){try{let e=await fetch(`${Hn}/auth/status`);return e.ok?await e.json():{authenticated:!1}}catch{return{authenticated:!1}}}async function Yn(){let e=await fetch(`${Hn}/auth/login`,{method:`POST`});if(!e.ok)throw Error(`Failed to start auth: ${e.status}`);return e.json()}async function Xn(e){let t=await fetch(`${Hn}/auth/poll`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({device_code:e})});if(!t.ok){let e=await t.json().catch(()=>({error:`poll_failed`}));if(e.error===`authorization_pending`)return{authenticated:!1};throw Error(e.error||`Poll failed`)}return t.json()}function Zn(e,t,n,r,i){let a=new AbortController;return fetch(`${Hn}/projects/${encodeURIComponent(e)}/enhance-project`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({selectedSessionIds:t,skippedSessions:n,force:i}),signal:a.signal}).then(async e=>{if(!e.ok){r({type:`error`,message:(await e.json().catch(()=>({error:{message:`Enhance failed`}}))).error?.message??`Enhance failed`});return}let t=e.body?.getReader();if(!t){r({type:`error`,message:`No response stream`});return}let n=new TextDecoder,i=``;for(;;){let{done:e,value:a}=await t.read();if(e)break;i+=n.decode(a,{stream:!0});let o=i.split(`
13
13
  `);i=o.pop()??``;for(let e of o){if(!e.startsWith(`data: `))continue;let t=e.slice(6).trim();if(t)try{r(JSON.parse(t))}catch{}}}}).catch(e=>{e.name!==`AbortError`&&r({type:`error`,message:e.message})}),a}async function Qn(e){try{let t=await fetch(`${Hn}/projects/${encodeURIComponent(e)}/enhance-cache`);return t.ok?await t.json():null}catch{return null}}async function $n(e,t,n){try{return(await fetch(`${Hn}/projects/${encodeURIComponent(e)}/enhance-save`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({selectedSessionIds:t,result:n})})).ok}catch{return!1}}async function er(e,t,n,r){let i=await fetch(`${Hn}/projects/${encodeURIComponent(e)}/refine-narrative`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({draftNarrative:t,draftTimeline:n,answers:r})});if(!i.ok){let e=await i.json().catch(()=>({error:{message:`Refine failed`}}));throw Error(e.error?.message??`Refine failed`)}return i.json()}var tr=class extends Error{constructor(){super(`Authentication required`),this.name=`AuthRequiredError`}};function nr(e,t,n){let r=new AbortController;return fetch(`${Hn}/projects/${encodeURIComponent(e)}/publish`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:r.signal}).then(async e=>{if(e.status===401)throw new tr;if(!e.ok){n({type:`error`,error:(await e.json().catch(()=>({error:{message:`Publish failed`}}))).error?.message??`Publish failed`});return}let t=e.body?.getReader();if(!t){n({type:`error`,error:`No response stream`});return}let r=new TextDecoder,i=``;for(;;){let{done:e,value:a}=await t.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.split(`
14
- `);i=o.pop()??``;for(let e of o){if(!e.startsWith(`data: `))continue;let t=e.slice(6).trim();if(t)try{n(JSON.parse(t))}catch{}}}}).catch(e=>{e.name!==`AbortError`&&(e instanceof tr?n({type:`error`,error:`AUTH_REQUIRED`}):n({type:`error`,error:e.message}))}),r}var rr=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),F=o(((e,t)=>{t.exports=rr()}))(),ir=(0,_.createContext)({projects:[],sessions:[],activeProject:null,loading:!0,loadingSessions:!1,error:null,selectProject:()=>{},updateSession:()=>{},refreshSessions:()=>{}});function ar(){return(0,_.useContext)(ir)}function or(e){return{name:e.name,dirName:e.dirName,sessionCount:e.sessionCount,description:e.description,totalLoc:e.totalLoc,totalDuration:e.totalDuration,totalFiles:e.totalFiles,skills:e.skills,dateRange:e.dateRange,lastSessionDate:e.lastSessionDate,isPublished:e.isPublished,publishedSessionCount:e.publishedSessionCount,publishedSessions:e.publishedSessions,enhancedAt:e.enhancedAt}}function sr({children:e}){let[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(!0),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null);(0,_.useEffect)(()=>{let e=!1;return Un().then(t=>{e||(n(t.map(or)),c(!1))}).catch(t=>{e||(f(t instanceof Error?t.message:`Failed to load projects`),c(!1))}),()=>{e=!0}},[]),(0,_.useEffect)(()=>{if(!a)return;let e=!1;return u(!0),Wn(a).then(t=>{e||(i(t),u(!1))}).catch(()=>{e||(i([]),u(!1))}),()=>{e=!0}},[a]);let p=(0,_.useCallback)(e=>{o(e)},[]),m=(0,_.useCallback)((e,t)=>{i(n=>n.map(n=>n.id===e?{...n,...t}:n))},[]),h=(0,_.useCallback)(()=>{a&&Wn(a).then(e=>i(e)).catch(()=>{})},[a]);return(0,F.jsx)(ir.Provider,{value:{projects:t,sessions:r,activeProject:a,loading:s,loadingSessions:l,error:d,selectProject:p,updateSession:m,refreshSessions:h},children:e})}var cr=()=>Promise.reject(Error(`AuthProvider not mounted`)),lr=(0,_.createContext)({authenticated:!1,loading:!0,login:cr,refresh:cr});function ur(){return(0,_.useContext)(lr)}function dr({children:e}){let[t,n]=(0,_.useState)({authenticated:!1,loading:!0}),r=(0,_.useCallback)(async()=>{try{let e=await Jn();n({authenticated:e.authenticated,username:e.username,loading:!1})}catch{n({authenticated:!1,loading:!1})}},[]),i=(0,_.useCallback)(async()=>await Yn(),[]);return(0,_.useEffect)(()=>{r()},[r]),(0,F.jsx)(lr.Provider,{value:{...t,login:i,refresh:r},children:e})}function fr({title:e,showSidebar:t=!1,sidebarContent:n,bottomBar:r,onBack:i,headerActions:a,children:o}){let s=ur(),c=rt();return(0,F.jsxs)(`div`,{className:`app-shell`,children:[(0,F.jsxs)(`header`,{className:`app-header`,role:`banner`,children:[(0,F.jsxs)(`div`,{className:`app-header__left`,children:[i!=null&&(0,F.jsx)(`button`,{className:`app-header__back`,onClick:i,"aria-label":`Go back`,type:`button`,children:(0,F.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`path`,{d:`M19 12H5`}),(0,F.jsx)(`path`,{d:`M12 19l-7-7 7-7`})]})}),(0,F.jsx)(`span`,{className:`app-header__logo`,"aria-label":`heyi.am home`,children:`heyi.am`}),e!=null&&e.length>0&&(0,F.jsx)(`span`,{className:`app-header__title`,children:e})]}),(0,F.jsxs)(`div`,{className:`app-header__right`,children:[a,(0,F.jsx)(`div`,{className:`app-header__auth-indicator`,children:(0,F.jsx)(`span`,{className:`app-header__auth-dot${s.authenticated?` app-header__auth-dot--connected`:``}`,"aria-label":s.authenticated?`Authenticated`:`Not authenticated`})}),(0,F.jsx)(`button`,{className:`app-header__icon-btn`,"aria-label":`Settings`,type:`button`,onClick:()=>c(`/settings`),children:(0,F.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,F.jsx)(`path`,{d:`M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z`})]})})]})]}),(0,F.jsxs)(`div`,{className:`app-shell__body`,children:[t&&(0,F.jsx)(`aside`,{className:`app-sidebar`,role:`complementary`,children:n}),(0,F.jsxs)(`main`,{className:`app-main`,role:`main`,children:[o,r!=null&&(0,F.jsx)(`div`,{className:`app-bottom-bar`,children:(0,F.jsx)(`div`,{className:`app-bottom-bar__inner glass-panel`,children:r})})]})]})]})}var pr=`/api`;async function mr(){let e=await fetch(`${pr}/settings/api-key`);return e.ok?e.json():{hasKey:!1,maskedKey:null}}async function hr(e){let t=await fetch(`${pr}/settings/api-key`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKey:e})});if(!t.ok)throw Error(`Failed to save API key`);return t.json()}function gr(){let e=rt(),[t,n]=(0,_.useState)(``),[r,i]=(0,_.useState)(!1),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(`idle`),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null),p=ur(),m=p.authenticated,h=p.username??``;(0,_.useEffect)(()=>{qn().then(o),mr().then(({hasKey:e,maskedKey:t})=>{u(e),f(t)})},[]);let g=async()=>{c(`saving`);try{let e=await hr(t);c(`saved`),u(!!t.trim()),f(t.trim()?`${t.trim().slice(0,7)}...${t.trim().slice(-4)}`:null),n(``),o({mode:e.mode,remaining:null}),setTimeout(()=>c(`idle`),2e3)}catch{c(`error`),setTimeout(()=>c(`idle`),2e3)}},v=async()=>{c(`saving`);try{let e=await hr(``);c(`saved`),u(!1),f(null),n(``),o({mode:e.mode,remaining:null}),setTimeout(()=>c(`idle`),2e3)}catch{c(`error`),setTimeout(()=>c(`idle`),2e3)}},y=a?.mode===`local`?`Local API key`:a?.mode===`proxy`?`heyi.am proxy`:`Not configured`,b=a?.mode===`local`||a?.mode===`proxy`?`badge--published`:`badge--draft`;return(0,F.jsx)(fr,{title:`Settings`,onBack:()=>e(`/`),children:(0,F.jsxs)(`div`,{className:`settings-page`,children:[(0,F.jsxs)(`section`,{className:`settings-section`,children:[(0,F.jsx)(`span`,{className:`label`,children:`AI Enhancement`}),(0,F.jsxs)(`div`,{className:`card`,children:[(0,F.jsxs)(`div`,{className:`settings-row`,children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Mode`}),(0,F.jsx)(`span`,{className:`badge ${b}`,children:y})]}),a?.mode===`proxy`&&a.remaining!=null&&(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Usage`}),(0,F.jsxs)(`span`,{className:`settings-row__value`,children:[a.remaining,` remaining this month`]})]}),a?.mode===`none`&&(0,F.jsx)(`p`,{className:`settings-help`,style:{marginTop:`var(--spacing-4)`},children:`Log in or set ANTHROPIC_API_KEY to enable AI enhancement.`}),l&&d&&(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`API Key`}),(0,F.jsx)(`span`,{className:`settings-row__value`,children:d})]}),(0,F.jsxs)(`details`,{style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`summary`,{className:`text-label`,style:{cursor:`pointer`},children:l?`Change API key`:`Use your own API key`}),(0,F.jsxs)(`div`,{className:`settings-input-group`,style:{marginTop:`var(--spacing-3)`},children:[(0,F.jsxs)(`div`,{className:`settings-input-wrapper`,children:[(0,F.jsx)(`input`,{id:`api-key-input`,className:`input`,type:r?`text`:`password`,value:t,onChange:e=>n(e.target.value),placeholder:`sk-ant-...`,autoComplete:`off`}),(0,F.jsx)(`button`,{className:`settings-input-toggle`,type:`button`,onClick:()=>i(e=>!e),"aria-label":r?`Hide API key`:`Show API key`,children:r?(0,F.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`path`,{d:`M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94`}),(0,F.jsx)(`path`,{d:`M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19`}),(0,F.jsx)(`path`,{d:`M1 1l22 22`}),(0,F.jsx)(`path`,{d:`M14.12 14.12a3 3 0 1 1-4.24-4.24`})]}):(0,F.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`path`,{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z`}),(0,F.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})})]}),(0,F.jsxs)(`div`,{style:{display:`flex`,gap:`var(--spacing-2)`,marginTop:`var(--spacing-2)`},children:[(0,F.jsx)(`button`,{className:`btn btn-primary`,type:`button`,onClick:g,disabled:!t.trim()||s===`saving`,children:s===`saving`?`Saving...`:s===`saved`?`Saved`:`Save`}),l&&(0,F.jsx)(`button`,{className:`btn btn-secondary`,type:`button`,onClick:v,disabled:s===`saving`,children:`Remove`})]}),s===`error`&&(0,F.jsx)(`p`,{className:`settings-help`,style:{color:`var(--color-error, #e53e3e)`},children:`Failed to save. Try again.`}),(0,F.jsx)(`p`,{className:`settings-help`,children:`Saved to ~/.config/heyiam/settings.json. Uses your own Anthropic account.`})]})]})]})]}),(0,F.jsx)(`hr`,{className:`divider`}),(0,F.jsxs)(`section`,{className:`settings-section`,children:[(0,F.jsx)(`span`,{className:`label`,children:`Authentication`}),(0,F.jsxs)(`div`,{className:`card`,children:[(0,F.jsxs)(`div`,{className:`settings-row`,children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Status`}),m?(0,F.jsxs)(`span`,{className:`badge badge--published`,children:[`Connected `,h]}):(0,F.jsx)(`span`,{className:`badge badge--draft`,children:`Not connected`})]}),(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Username`}),(0,F.jsx)(`span`,{className:`settings-row__value`,children:m?h:`—`})]}),(0,F.jsx)(`div`,{style:{marginTop:`var(--spacing-4)`},children:m?(0,F.jsx)(`button`,{className:`btn btn-secondary`,type:`button`,children:`Disconnect`}):(0,F.jsxs)(`div`,{className:`terminal`,style:{fontSize:`0.75rem`},children:[(0,F.jsx)(`span`,{className:`terminal__prompt`,children:`$ `}),`heyiam login`]})})]})]}),(0,F.jsx)(`hr`,{className:`divider`}),(0,F.jsxs)(`section`,{className:`settings-section`,children:[(0,F.jsx)(`span`,{className:`label`,children:`Machine Identity`}),(0,F.jsxs)(`div`,{className:`card`,children:[(0,F.jsxs)(`div`,{className:`settings-input-group`,children:[(0,F.jsx)(`span`,{className:`text-label`,children:`Machine Token`}),(0,F.jsx)(`div`,{className:`terminal`,style:{fontSize:`0.75rem`,padding:`var(--spacing-3)`},children:`ed25519:a4f2...8b3c`}),(0,F.jsx)(`p`,{className:`settings-help`,children:`Used for cryptographic signing of published sessions`})]}),(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Token fingerprint`}),(0,F.jsx)(`span`,{className:`settings-row__value`,children:`SHA256:kR7x...Qm4w`})]})]})]})]})})}var _r=[`var(--primary)`,`var(--secondary)`,`var(--tertiary)`];function vr(e){if(e<60)return`${Math.round(e)}m`;let t=e/60;return t>=10?`${Math.round(t)}h`:`${t.toFixed(1)}h`}function yr(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function br(e){if(!e)return``;let[t,n]=e.split(`|`);if(!t||!n)return``;let r=new Date(t),i=new Date(n),a=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`}),o=i.getFullYear();return r.getMonth()===i.getMonth()&&r.getDate()===i.getDate()?`${a(r)}, ${o}`:`${a(r)}–${a(i)}, ${o}`}function xr(e){if(!e)return``;let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);return i<7?`${i}d ago`:`${Math.floor(i/7)}w ago`}function Sr({label:e,value:t}){return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`project-card__stat-label`,children:e}),(0,F.jsx)(`div`,{className:`project-card__stat-value`,children:t})]})}function Cr({project:e,index:t}){let n=rt(),r=_r[t%_r.length],i=e.enhancedAt,a=`/project/${encodeURIComponent(e.dirName)}/upload`;return(0,F.jsxs)(`div`,{className:`project-card`,onClick:()=>n(i?`${a}?view=1`:a),role:`button`,tabIndex:0,onKeyDown:e=>{e.key===`Enter`&&n(i?`${a}?view=1`:a)},children:[(0,F.jsxs)(`div`,{className:`project-card__header`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`project-card__title-row`,children:[(0,F.jsx)(`div`,{className:`project-card__dot`,style:{background:r}}),(0,F.jsx)(`h3`,{className:`project-card__name`,children:e.name}),e.isPublished&&(0,F.jsx)(`span`,{className:`project-card__badge project-card__badge--published`,children:`Published`}),i&&(0,F.jsx)(`span`,{className:`project-card__badge`,children:`Enhanced`})]}),e.description&&(0,F.jsx)(`p`,{className:`project-card__desc`,children:e.description}),(0,F.jsxs)(`div`,{className:`project-card__date`,children:[br(e.dateRange),e.lastSessionDate&&(0,F.jsxs)(`span`,{className:`project-card__date-ago`,children:[` · last session `,xr(e.lastSessionDate)]})]})]}),(0,F.jsxs)(`div`,{className:`project-card__actions`,children:[i&&(0,F.jsx)(`button`,{className:`btn btn--secondary project-card__upload-btn`,onClick:e=>{e.stopPropagation(),n(`${a}?view=1`)},children:`View`}),(0,F.jsxs)(`button`,{className:`btn btn--primary project-card__upload-btn`,onClick:e=>{e.stopPropagation(),n(a)},children:[e.isPublished?`Update Project`:i?`Re-enhance`:`Upload`,` →`]})]})]}),(0,F.jsxs)(`div`,{className:`project-card__stats`,children:[(0,F.jsx)(Sr,{label:`Sessions`,value:String(e.sessionCount)}),(0,F.jsx)(Sr,{label:`Time`,value:vr(e.totalDuration)}),(0,F.jsx)(Sr,{label:`LOC`,value:yr(e.totalLoc)}),(0,F.jsx)(Sr,{label:`Files`,value:String(e.totalFiles)})]}),e.skills.length>0&&(0,F.jsx)(`div`,{className:`project-card__skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`skill-chip`,children:e},e))})]})}function wr(){return(0,F.jsxs)(`div`,{className:`empty-state`,children:[(0,F.jsx)(`div`,{className:`empty-state__icon`,children:`📄`}),(0,F.jsx)(`h2`,{className:`empty-state__title`,children:`No sessions found`}),(0,F.jsxs)(`p`,{className:`empty-state__text`,children:[`Claude Code sessions from `,(0,F.jsx)(`code`,{children:`~/.claude/projects`}),` will appear here.`]}),(0,F.jsx)(`div`,{className:`empty-state__hint`,children:(0,F.jsx)(`code`,{children:`$ claude # start a session first`})})]})}function Tr(){let{projects:e,loading:t,error:n}=ar(),r=rt();return(0,F.jsx)(fr,{title:`heyi.am`,headerActions:(0,F.jsx)(`button`,{className:`topbar-icon-btn`,onClick:()=>r(`/settings`),"aria-label":`Settings`,children:`⚙`}),children:t?(0,F.jsx)(`div`,{className:`dashboard-loading`,children:`Loading projects...`}):n?(0,F.jsx)(`div`,{className:`dashboard-error`,children:n}):e.length===0?(0,F.jsx)(wr,{}):(0,F.jsxs)(`div`,{className:`dashboard`,children:[(0,F.jsx)(`h1`,{className:`dashboard__title`,children:`Your Projects`}),(0,F.jsx)(`p`,{className:`dashboard__subtitle`,children:`Pick a project to upload. The AI will read your sessions, pick the ones worth showcasing, and build the narrative for you.`}),(0,F.jsx)(`div`,{className:`dashboard__cards`,children:e.map((e,t)=>(0,F.jsx)(Cr,{project:e,index:t},e.dirName))})]})})}var Er={main:`#084471`,orchestrator:`#084471`,"frontend-dev":`#7c3aed`,frontend:`#7c3aed`,"backend-dev":`#0891b2`,backend:`#0891b2`,"qa-engineer":`#059669`,qa:`#059669`,"ux-designer":`#d97706`,ux:`#d97706`,"product-manager":`#dc2626`,pm:`#dc2626`,"security-engineer":`#6b7280`,"team-lead":`#6b7280`,explore:`#94a3b8`},Dr=`#6b7280`,Or=`#084471`,kr=`'IBM Plex Mono', monospace`;function Ar(e){return e?Er[e.toLowerCase()]??Dr:Dr}function jr(e){return new Date(e.date).getTime()}function Mr(e){return e.endTime?new Date(e.endTime).getTime():jr(e)+e.durationMinutes*6e4}function Nr(e){let t=e/36e5;if(t<20)return`${Math.round(t)}h`;let n=Math.round(t/24);return n<1?`${Math.round(t)}h`:n===1?`1 day`:`${n} days`}function Pr(e){let t=new Date(e);return`${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][t.getMonth()]} ${t.getDate()}`}function Fr(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}var Ir=60*6e4,Lr=56,Rr=5,zr=90;function Br(e){let t=[],n=null;for(let r of e){let e=jr(r),i=Mr(r);!n||e>=n.endMs?(n&&t.push(n),n={sessions:[r],startMs:e,endMs:i}):(n.sessions.push(r),i>n.endMs&&(n.endMs=i))}return n&&t.push(n),t}function Vr(e){if(e.length===0)return[];let t=Br([...e].sort((e,t)=>jr(e)-jr(t))),n=[];for(let e=0;e<t.length;e++){let r=t[e];if(e>0){let i=t[e-1].endMs,a=r.startMs-i;a>Ir&&n.push({type:`gap`,durationMs:a})}if(r.sessions.length===1){let e=r.sessions[0];n.push({type:`session`,session:e,startMs:r.startMs,endMs:r.endMs})}else n.push({type:`concurrent`,sessions:r.sessions,startMs:r.startMs,endMs:r.endMs})}return n}function Hr(e,t){let n=new Date(e),r=new Date(t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate()}var Ur=32,Wr=32,Gr=36,Kr=28,qr=24,Jr=24,Yr=18;function Xr(e){return e.childSessions&&e.childSessions.length>0?e.childSessions.length:e.children&&e.children.length>0?e.children.length:0}function Zr(e){return e.childSessions&&e.childSessions.length>0?e.childSessions.map(e=>({id:e.id,role:e.agentRole,durationMinutes:e.durationMinutes,linesOfCode:e.linesOfCode,date:e.date})):e.children&&e.children.length>0?e.children.map(e=>({id:e.sessionId,role:e.role,durationMinutes:e.durationMinutes??0,linesOfCode:e.linesOfCode??0,date:e.date})):[]}function Qr(e,t){let n=Math.floor(t/5.5);return e.length<=n?e:e.slice(0,Math.max(n-1,8))+`…`}function $r({sessions:e,onSessionClick:t}){let n=(0,_.useRef)(null),r=(0,_.useCallback)(e=>{n.current?.scrollBy({left:e,behavior:`smooth`})},[]);if(e.length===0)return(0,F.jsx)(`div`,{className:`work-timeline`,"data-testid":`work-timeline-empty`,children:(0,F.jsx)(`p`,{style:{fontFamily:kr,fontSize:`0.75rem`,color:`#6b7280`},children:`No sessions to display.`})});let i=Vr(e),a=0;for(let e of i)if(e.type===`gap`)a+=Lr;else{let t=(e.endMs-e.startMs)/6e4;a+=Math.max(t*Rr,zr)}let o=Ur+a+Wr,s=0;for(let e of i)if(e.type===`session`){let t=Xr(e.session);t>s&&(s=t)}else e.type===`concurrent`&&e.sessions.length>s&&(s=e.sessions.length);let c=s>0?s*qr+16:0,l=Math.max(48,c),u=Gr+l/2,d=Gr+l+Kr,f=i.filter(e=>e.type!==`gap`),p=f[0].startMs,m=f[f.length-1].endMs,h=Hr(p,m),g=[],v=Ur;for(let e of i)if(e.type===`gap`){let t=v,n=v+Lr;g.push({seg:e,x1:t,x2:n}),v=n}else{let t=(e.endMs-e.startMs)/6e4,n=Math.max(t*Rr,zr),r=v,i=v+n;g.push({seg:e,x1:r,x2:i}),v=i}let y=[];for(let e of g)e.seg.type!==`gap`&&y.push({label:h?Fr(e.seg.startMs):Pr(e.seg.startMs),x:e.x1});let b=[];for(let e of y){let t=b[b.length-1];(!t||e.x-t.x>70)&&b.push(e)}let x=o>800;return(0,F.jsxs)(`div`,{className:`work-timeline`,"data-testid":`work-timeline`,style:{position:`relative`},children:[x&&(0,F.jsxs)(`div`,{className:`work-timeline__scroll-controls`,children:[(0,F.jsx)(`button`,{type:`button`,className:`work-timeline__scroll-btn`,onClick:()=>r(-300),"aria-label":`Scroll left`,children:`←`}),(0,F.jsx)(`button`,{type:`button`,className:`work-timeline__scroll-btn`,onClick:()=>r(300),"aria-label":`Scroll right`,children:`→`})]}),(0,F.jsx)(`div`,{className:`work-timeline__container`,ref:n,style:{overflowX:`auto`,WebkitOverflowScrolling:`touch`,paddingBottom:`var(--spacing-2, 0.5rem)`},children:(0,F.jsxs)(`svg`,{viewBox:`0 0 ${o} ${d}`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`Work timeline showing ${e.length} sessions`,width:o,height:d,style:{display:`block`},children:[(0,F.jsx)(`line`,{x1:Ur,y1:d-Kr+4,x2:o-Wr,y2:d-Kr+4,stroke:`#e5e7eb`,strokeWidth:1,"data-testid":`axis-line`}),b.map((e,t)=>(0,F.jsxs)(`g`,{"data-testid":`axis-tick`,children:[(0,F.jsx)(`line`,{x1:e.x,y1:d-Kr+1,x2:e.x,y2:d-Kr+7,stroke:`#d1d5db`,strokeWidth:1}),(0,F.jsx)(`text`,{x:e.x,y:d-6,fontFamily:kr,fontSize:8,fill:`#9ca3af`,textAnchor:`start`,children:e.label})]},t)),g.map((e,n)=>{if(e.seg.type===`gap`)return(0,F.jsxs)(`g`,{"data-testid":`gap-segment`,children:[(0,F.jsx)(`line`,{x1:e.x1+4,y1:u,x2:e.x2-4,y2:u,stroke:`#d1d5db`,strokeWidth:1.5,strokeDasharray:`4,4`}),(0,F.jsx)(`text`,{x:(e.x1+e.x2)/2,y:u-8,fontFamily:kr,fontSize:8,fontStyle:`italic`,fill:`#9ca3af`,textAnchor:`middle`,"data-testid":`gap-label`,children:Nr(e.seg.durationMs)})]},`gap-${n}`);if(e.seg.type===`concurrent`)return(0,F.jsx)(ii,{x1:e.x1,x2:e.x2,mainY:u,sessions:e.seg.sessions,clusterStartMs:e.seg.startMs,clusterEndMs:e.seg.endMs,onSessionClick:t},`concurrent-${n}`);let r=e.seg.session,i=Zr(r),a=r.childCount??r.children?.length??0,o=i.length>0,s=o||a>0,c=`${r.durationMinutes}m`,l=[c,r.linesOfCode>0?`${r.linesOfCode} LOC`:``].filter(Boolean).join(` · `),d=o?i.length*qr/2+18:18;return(0,F.jsxs)(`g`,{"data-testid":`session-segment`,style:t?{cursor:`pointer`}:void 0,onClick:t?()=>t(r):void 0,role:t?`button`:void 0,tabIndex:t?0:void 0,onKeyDown:t?e=>{e.key===`Enter`&&t(r)}:void 0,"aria-label":`${r.title}, ${c}${a>0?`, ${a} agents`:``}`,children:[(0,F.jsx)(`text`,{x:e.x1+6,y:u-d,fontFamily:kr,fontSize:10,fontWeight:600,fill:`#191c1e`,"data-testid":`session-title`,children:Qr(r.title,e.x2-e.x1-12)}),(0,F.jsx)(`text`,{x:e.x1+6,y:u-d+12,fontFamily:kr,fontSize:8,fill:`#6b7280`,"data-testid":`session-subtitle`,children:l}),o?(0,F.jsx)(ni,{x1:e.x1,x2:e.x2,mainY:u,children:i}):s?(0,F.jsx)(ti,{x1:e.x1,x2:e.x2,mainY:u,agentCount:a}):(0,F.jsx)(ei,{x1:e.x1,x2:e.x2,mainY:u})]},`session-${n}`)})]})})]})}function ei({x1:e,x2:t,mainY:n}){return(0,F.jsxs)(`g`,{"data-testid":`single-bar`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or})]})}function ti({x1:e,x2:t,mainY:n,agentCount:r}){return(0,F.jsxs)(`g`,{"data-testid":`thick-bar`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:4.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or}),(0,F.jsxs)(`text`,{x:(e+t)/2,y:n+18,fontFamily:kr,fontSize:8,fill:`#6b7280`,textAnchor:`middle`,"data-testid":`agent-count-badge`,children:[`(`,r,` agents)`]})]})}function ni({x1:e,x2:t,mainY:n,children:r}){let i=[...r].sort((e,t)=>e.date&&t.date?new Date(e.date).getTime()-new Date(t.date).getTime():0),a=(i.length-1)*qr,o=e+Jr,s=t-Jr,c=o+Yr+4,l=s-Yr-4,u=Math.max(l-c,20),d=Math.max(...i.map(e=>e.durationMinutes),1);return(0,F.jsxs)(`g`,{"data-testid":`multi-agent-bar`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:o,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:o,cy:n,r:4,fill:Or,"data-testid":`fork-dot`}),i.map((e,t)=>{let r=n-a/2+t*qr,i=Ar(e.role),l=Math.max(24,e.durationMinutes/d*u);return(0,F.jsxs)(`g`,{"data-testid":`child-lane`,children:[(0,F.jsx)(`path`,{d:`M${o},${n} C${o+Yr},${n} ${o+Yr},${r} ${c},${r}`,stroke:i,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`}),(0,F.jsx)(`rect`,{x:c,y:r-10,rx:2,ry:2,width:l,height:20,fill:i,opacity:.06}),(0,F.jsx)(`line`,{x1:c,y1:r,x2:c+l,y2:r,stroke:i,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`text`,{x:c+l+6,y:r+3,fontFamily:kr,fontSize:8,fill:i,fontWeight:600,"data-testid":`child-role-label`,children:(e.role??`agent`).toUpperCase()}),(0,F.jsx)(`path`,{d:`M${c+l},${r} C${s-Yr},${r} ${s-Yr},${n} ${s},${n}`,stroke:i,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`})]},e.id||t)}),(0,F.jsx)(`circle`,{cx:s,cy:n,r:4,fill:Or,"data-testid":`join-dot`}),(0,F.jsx)(`line`,{x1:s,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or})]})}var ri=[`#084471`,`#7c3aed`,`#0891b2`,`#059669`,`#d97706`,`#dc2626`];function ii({x1:e,x2:t,mainY:n,sessions:r,clusterStartMs:i,clusterEndMs:a,onSessionClick:o}){let s=[...r].sort((e,t)=>jr(e)-jr(t)),c=(s.length-1)*qr,l=e+12,u=t-12,d=u-l-Yr*2-8,f=a-i;return(0,F.jsxs)(`g`,{"data-testid":`concurrent-segment`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:l,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:l,cy:n,r:4,fill:Or,"data-testid":`concurrent-fork`}),s.map((e,t)=>{let r=n-c/2+t*qr,a=ri[t%ri.length],s=jr(e),p=Mr(e),m=f>0?(s-i)/f:0,h=f>0?(p-i)/f:1,g=l+Yr+4+m*d,_=l+Yr+4+h*d,v=Math.max(_-g,20),y=[`${e.durationMinutes}m`,e.linesOfCode>0?`${e.linesOfCode} LOC`:``].filter(Boolean).join(` · `);return(0,F.jsxs)(`g`,{"data-testid":`concurrent-lane`,style:o?{cursor:`pointer`}:void 0,onClick:o?t=>{t.stopPropagation(),o(e)}:void 0,role:o?`button`:void 0,tabIndex:o?0:void 0,children:[(0,F.jsx)(`path`,{d:`M${l},${n} C${l+Yr},${n} ${l+Yr},${r} ${g},${r}`,stroke:a,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`}),(0,F.jsx)(`rect`,{x:g,y:r-10,rx:2,ry:2,width:v,height:20,fill:a,opacity:.06}),(0,F.jsx)(`line`,{x1:g,y1:r,x2:g+v,y2:r,stroke:a,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`text`,{x:g-4,y:r+3,fontFamily:kr,fontSize:8,fontWeight:600,fill:a,textAnchor:`end`,"data-testid":`concurrent-title`,children:e.title.length>30?e.title.slice(0,28)+`…`:e.title}),(0,F.jsx)(`text`,{x:g+v+6,y:r+3,fontFamily:kr,fontSize:7,fill:`#9ca3af`,children:y}),(0,F.jsx)(`path`,{d:`M${g+v},${r} C${u-Yr},${r} ${u-Yr},${n} ${u},${n}`,stroke:a,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`})]},e.id||t)}),(0,F.jsx)(`circle`,{cx:u,cy:n,r:4,fill:Or,"data-testid":`concurrent-join`}),(0,F.jsx)(`line`,{x1:u,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or})]})}var ai={main:`#084471`,orchestrator:`#084471`,"frontend-dev":`#7c3aed`,frontend:`#7c3aed`,"backend-dev":`#0891b2`,backend:`#0891b2`,"qa-engineer":`#059669`,qa:`#059669`,"ux-designer":`#d97706`,ux:`#d97706`,"product-manager":`#dc2626`,pm:`#dc2626`,"security-engineer":`#6b7280`,"team-lead":`#6b7280`,explore:`#94a3b8`},oi=`#6b7280`,si=`#084471`;function ci(e){return e?ai[e.toLowerCase()]??oi:oi}function li(e){if(e.length===0)return[];let t=[...e].sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),n=[],r=[t[0]],i=new Date(t[0].date).getTime()+(t[0].wallClockMinutes??t[0].durationMinutes)*6e4;for(let e=1;e<t.length;e++){let a=new Date(t[e].date).getTime();if(a>=i)n.push({children:r}),r=[t[e]],i=a+(t[e].wallClockMinutes??t[e].durationMinutes)*6e4;else{r.push(t[e]);let n=a+(t[e].wallClockMinutes??t[e].durationMinutes)*6e4;n>i&&(i=n)}}return n.push({children:r}),n}function ui({session:e,variant:t}){let n=t===`compact`,r=e.childSessions??[];if(!(r.length>0))return(0,F.jsx)(di,{session:e,isCompact:n});let i=li(r),a=n?20:60,o=Math.max(...i.map(e=>e.children.length),1),s=n?12:25,c=n?30:80,l=n?30:80,u=n?20:50,d=n?30:60,f=n?80:200,p=n?0:100,m=s*2,h=i.flatMap(e=>e.children),g=Math.max(...h.map(e=>e.durationMinutes),1),_=c+i.map(e=>{let t=Math.max(...e.children.map(e=>e.durationMinutes),1);return m+Math.max(d,t/g*f)+p+m}).reduce((e,t)=>e+t,0)+(i.length-1)*u+l,v=Math.max(n?400:900,_),y=n?10:30,b=n?30:Math.max(80,o*a/2+30),x=n?Math.max(60,o*a+30):b+o*a/2+40,S=n?2.5:3,C=n?3.5:5,w=n?3:4,T=n?7:8.5,E=n?0:7.5,D=n?8:13,O=n?16:26,k=[],ee=y+c,A=new Date(e.date).getTime();for(let e=0;e<i.length;e++){let t=i[e],n=ee,r=Math.max(...t.children.map(e=>e.durationMinutes),1),o=Math.max(d,r/g*f),s=n+m,c=s+o+p+m,l=[...t.children].sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),h=l.map((e,t)=>{let n=b-(l.length-1)*a/2+t*a,r=Math.max(d,e.durationMinutes/g*f),i=Math.round((new Date(e.date).getTime()-A)/6e4);return{child:e,y:n,x1:s,x2:s+r,color:ci(e.agentRole),offsetMinutes:i}});k.push({forkX:n,joinX:c,lanes:h}),ee=c+u}let te=v-y;return(0,F.jsx)(`div`,{style:{overflowX:`auto`,WebkitOverflowScrolling:`touch`},children:(0,F.jsxs)(`svg`,{viewBox:`0 0 ${v} ${x}`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`Multi-agent session timeline`,width:v,height:x,style:{display:`block`},children:[(0,F.jsx)(`circle`,{cx:y,cy:b,r:w,fill:`none`,stroke:si,strokeWidth:n?1.5:2}),(0,F.jsx)(`line`,{x1:y,y1:b,x2:k[0].forkX,y2:b,stroke:si,strokeWidth:S,strokeLinecap:`round`}),k.map((e,t)=>(0,F.jsxs)(`g`,{"data-testid":`wave`,children:[(0,F.jsx)(`circle`,{cx:e.forkX,cy:b,r:C,fill:si,"data-testid":`fork-circle`}),e.lanes.map((t,r)=>(0,F.jsx)(`path`,{d:`M${e.forkX},${b} C${e.forkX+s},${b} ${e.forkX+s},${t.y} ${t.x1},${t.y}`,stroke:t.color,strokeWidth:n?1.5:2,fill:`none`,strokeDasharray:n?`3,2`:`4,3`,"data-testid":`fork-line`},`f${r}`)),e.lanes.map((e,t)=>(0,F.jsxs)(`g`,{"data-testid":`agent-lane`,children:[(0,F.jsx)(`rect`,{x:e.x1,y:e.y-D,rx:2,ry:2,width:e.x2-e.x1,height:O,fill:e.color,opacity:.08}),(0,F.jsx)(`line`,{x1:e.x1,y1:e.y,x2:e.x2,y2:e.y,stroke:e.color,strokeWidth:S,strokeLinecap:`round`}),(0,F.jsx)(`text`,{x:e.x1-6,y:e.y+T/3,fontFamily:`var(--font-mono), 'IBM Plex Mono', monospace`,fontSize:T,fill:e.color,fontWeight:600,textAnchor:`end`,"data-testid":`role-label`,children:(e.child.agentRole??`agent`).toUpperCase()}),!n&&E>0&&(0,F.jsxs)(`text`,{x:e.x2+8,y:e.y+4,fontFamily:`var(--font-body), 'Inter', sans-serif`,fontSize:E,fill:`#6b7280`,children:[`+`,e.offsetMinutes,`m · `,e.child.linesOfCode>0?`${e.child.linesOfCode} LOC · `:``,e.child.durationMinutes,`m`]})]},`l${t}`)),e.lanes.map((t,r)=>(0,F.jsx)(`path`,{d:`M${t.x2},${t.y} C${t.x2+s},${t.y} ${e.joinX-s},${b} ${e.joinX},${b}`,stroke:t.color,strokeWidth:n?1.5:2,fill:`none`,strokeDasharray:n?`3,2`:`4,3`,"data-testid":`join-line`},`j${r}`)),(0,F.jsx)(`circle`,{cx:e.joinX,cy:b,r:C,fill:si,"data-testid":`join-circle`}),t<k.length-1&&(0,F.jsx)(`line`,{x1:e.joinX,y1:b,x2:k[t+1].forkX,y2:b,stroke:si,strokeWidth:S,strokeLinecap:`round`})]},t)),(0,F.jsx)(`line`,{x1:k[k.length-1].joinX,y1:b,x2:te,y2:b,stroke:si,strokeWidth:S,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:te,cy:b,r:w,fill:si})]})})}function di({session:e,isCompact:t}){let n=t?400:900,r=t?20:60,i=r,a=n-r,o=t?2.5:3,s=t?3:4,c=t?20:50,l=t?40:80,u=t?12:20,d=e.turns||0,f=Math.min(d,14),p=a-i,m=[];for(let e=0;e<f;e++){let t=(e+1)/(f+1),n=.15+(e*7+3)%5*.06;m.push({x:i+t*p,opacity:Math.min(n,.4)})}return(0,F.jsxs)(`svg`,{viewBox:`0 0 ${n} ${l}`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`Single agent session timeline`,style:{width:`100%`,display:`block`},children:[(0,F.jsx)(`line`,{x1:i,y1:c,x2:a,y2:c,stroke:si,strokeWidth:o,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:i,cy:c,r:s,fill:`none`,stroke:si,strokeWidth:t?1.5:2}),(0,F.jsx)(`circle`,{cx:a,cy:c,r:s,fill:si}),m.map((e,n)=>(0,F.jsx)(`rect`,{x:e.x,y:c-u/2,width:t?2:3,height:u,fill:si,opacity:e.opacity,rx:1,"data-testid":`activity-tick`},n))]})}function fi(e,t,n){if(n&&e.startsWith(n))return e.slice(n.length).replace(/^\//,``)||e;let r=t.replace(/^-/,`/`).replace(/-/g,`/`);return e.startsWith(r)&&e.slice(r.length).replace(/^\//,``)||e}function pi(e){if(e<60)return`${Math.round(e)}m`;let t=e/60;return t>=10?`${Math.round(t)}h`:`${t.toFixed(1)}h`}function mi(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function hi(e){return e?new Date(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}):``}function gi(e){let t=`${e.title} ${e.description}`.toLowerCase();return/\b(decision|pivot|key|critical|important|breakthrough)\b/.test(t)}function _i({session:e}){let t=e.filesChanged?.length??0;return(0,F.jsxs)(`div`,{className:`session-detail__stats-grid`,children:[(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:pi(e.durationMinutes)}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`Duration`})]}),(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:e.turns}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`Turns`})]}),(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:t}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`Files`})]}),(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:mi(e.linesOfCode)}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`LOC Changed`})]})]})}function vi({take:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`DEVELOPER TAKE`}),(0,F.jsx)(`blockquote`,{className:`session-detail__take`,children:e})]})}function yi({skills:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`APPLIED SKILLS`}),(0,F.jsx)(`div`,{className:`session-detail__skills`,children:e.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]})}function bi({pairs:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`SESSION Q&A`}),(0,F.jsx)(`div`,{className:`session-detail__qa-list`,children:e.map((e,t)=>(0,F.jsxs)(`div`,{className:`session-detail__qa-pair`,children:[(0,F.jsx)(`div`,{className:`session-detail__qa-question`,children:e.question}),(0,F.jsx)(`div`,{className:`session-detail__qa-answer`,children:e.answer})]},t))})]})}function xi({steps:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`HIGHLIGHTS`}),(0,F.jsx)(`div`,{className:`session-detail__highlights`,children:e.map(e=>(0,F.jsxs)(`div`,{className:`session-detail__highlight-card`,children:[(0,F.jsxs)(`div`,{className:`session-detail__highlight-step`,children:[`Step `,e.stepNumber]}),(0,F.jsx)(`div`,{className:`session-detail__highlight-title`,children:e.title}),(0,F.jsx)(`div`,{className:`session-detail__highlight-desc`,children:e.description})]},e.stepNumber))})]})}function Si({steps:e}){return(0,F.jsxs)(`section`,{className:`session-detail__sidebar-section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`EXECUTION PATH`}),(0,F.jsx)(`div`,{className:`session-detail__exec-path`,children:e.map(e=>(0,F.jsxs)(`div`,{className:`session-detail__exec-step`,children:[(0,F.jsx)(`div`,{className:`session-detail__exec-dot`}),(0,F.jsxs)(`div`,{className:`session-detail__exec-content`,children:[(0,F.jsx)(`div`,{className:`session-detail__exec-title`,children:e.title}),(0,F.jsx)(`div`,{className:`session-detail__exec-desc`,children:e.description})]})]},e.stepNumber))})]})}function Ci({lines:e}){let t=e.slice(0,4);return(0,F.jsxs)(`section`,{className:`session-detail__sidebar-section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`RAW LOG`}),(0,F.jsxs)(`div`,{className:`session-detail__raw-log`,children:[t.map((e,t)=>(0,F.jsx)(`div`,{className:`session-detail__raw-line`,children:e},t)),e.length>4&&(0,F.jsxs)(`div`,{className:`session-detail__raw-more`,children:[`View full transcript (`,e.length,` lines) →`]})]})]})}function wi({session:e,projectName:t}){return(0,F.jsxs)(`section`,{className:`session-detail__sidebar-section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`SOURCE INFO`}),(0,F.jsxs)(`div`,{className:`session-detail__source-list`,children:[(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Source`}),(0,F.jsx)(`span`,{className:`session-detail__source-val`,children:`Claude Code`})]}),(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Date`}),(0,F.jsx)(`span`,{className:`session-detail__source-val`,children:hi(e.date)})]}),(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Project`}),(0,F.jsx)(`span`,{className:`session-detail__source-val`,children:t})]}),e.isOrchestrated&&(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Type`}),(0,F.jsxs)(`span`,{className:`session-detail__source-val`,children:[`Orchestrated (`,e.childCount??e.childSessions?.length??0,` sub-sessions)`]})]})]})]})}function Ti({tools:e}){let t=e.length>0?Math.max(...e.map(e=>e.count)):1;return(0,F.jsxs)(`details`,{className:`session-detail__collapsible`,children:[(0,F.jsxs)(`summary`,{className:`session-detail__collapsible-summary`,children:[`Tool Breakdown (`,e.length,` tools)`]}),(0,F.jsx)(`div`,{className:`session-detail__tool-list`,children:e.map(e=>{let n=Math.max(8,Math.round(e.count/t*100));return(0,F.jsxs)(`div`,{className:`session-detail__tool-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__tool-name`,children:e.tool}),(0,F.jsx)(`div`,{className:`session-detail__tool-bar-track`,children:(0,F.jsx)(`div`,{className:`session-detail__tool-bar`,style:{width:`${n}%`}})}),(0,F.jsx)(`span`,{className:`session-detail__tool-count`,children:e.count})]},e.tool)})})]})}function Ei({files:e,projectDirName:t,cwd:n}){return(0,F.jsxs)(`details`,{className:`session-detail__collapsible`,children:[(0,F.jsxs)(`summary`,{className:`session-detail__collapsible-summary`,children:[`Files Changed (`,e.length,` files)`]}),(0,F.jsx)(`div`,{className:`session-detail__file-list`,children:e.map(e=>(0,F.jsxs)(`div`,{className:`session-detail__file-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__file-path`,children:fi(e.path,t,n)}),(0,F.jsxs)(`span`,{className:`session-detail__file-additions`,children:[`+`,e.additions]}),(0,F.jsxs)(`span`,{className:`session-detail__file-deletions`,children:[`-`,e.deletions]})]},e.path))})]})}function Di({session:e,projectName:t,projectDirName:n,onClose:r}){let i=(0,_.useCallback)(e=>{e.key===`Escape`&&r()},[r]);(0,_.useEffect)(()=>(document.addEventListener(`keydown`,i),()=>document.removeEventListener(`keydown`,i)),[i]);let a=(e.childCount??0)>0&&!e.childSessions?.length,[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(a);(0,_.useEffect)(()=>{if(!a||!n){l(!1);return}let t=!1;return l(!0),Gn(n,e.id).then(e=>{t||s(e)}).catch(()=>{}).finally(()=>{t||l(!1)}),()=>{t=!0}},[a,n,e.id]);let u=o??e,d=(u.childSessions?.length??0)>0,f=(e.executionPath??[]).filter(gi),p=Array.isArray(e.qaPairs)&&e.qaPairs.length>0,m=Array.isArray(e.skills)&&e.skills.length>0,h=Array.isArray(e.executionPath)&&e.executionPath.length>0,g=Array.isArray(e.rawLog)&&e.rawLog.length>0,v=Array.isArray(e.toolBreakdown)&&e.toolBreakdown.length>0,y=Array.isArray(e.filesChanged)&&e.filesChanged.length>0;return(0,F.jsxs)(`div`,{className:`session-detail-overlay`,role:`dialog`,"aria-label":`Session detail: ${e.title}`,children:[(0,F.jsxs)(`div`,{className:`session-detail__header`,children:[(0,F.jsx)(`button`,{className:`session-detail__back`,onClick:r,type:`button`,children:`← Back to project`}),(0,F.jsx)(`button`,{className:`session-detail__close`,onClick:r,"aria-label":`Close session detail`,type:`button`,children:`×`})]}),(0,F.jsxs)(`div`,{className:`session-detail__scroll`,children:[(0,F.jsxs)(`div`,{className:`session-detail__layout`,children:[(0,F.jsxs)(`div`,{className:`session-detail__main`,children:[(0,F.jsxs)(`div`,{className:`session-detail__breadcrumb`,children:[t,` / `,e.title]}),(0,F.jsx)(`h1`,{className:`session-detail__title`,children:e.title}),(0,F.jsx)(_i,{session:e}),c&&(0,F.jsx)(`div`,{className:`session-detail__timeline-loading`,"aria-label":`Loading agent activity`,children:`Loading agent activity...`}),!c&&d&&(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`AGENT ACTIVITY`}),(0,F.jsx)(ui,{session:u,variant:`full`})]}),e.developerTake&&(0,F.jsx)(vi,{take:e.developerTake}),e.context&&(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`CONTEXT`}),(0,F.jsx)(`p`,{className:`session-detail__context`,children:e.context})]}),m&&(0,F.jsx)(yi,{skills:e.skills}),p&&(0,F.jsx)(bi,{pairs:e.qaPairs}),f.length>0&&(0,F.jsx)(xi,{steps:f})]}),(0,F.jsxs)(`div`,{className:`session-detail__sidebar`,children:[h&&(0,F.jsx)(Si,{steps:e.executionPath}),g&&(0,F.jsx)(Ci,{lines:e.rawLog}),(0,F.jsx)(wi,{session:e,projectName:t})]})]}),(0,F.jsxs)(`div`,{className:`session-detail__full-width`,children:[v&&(0,F.jsx)(Ti,{tools:e.toolBreakdown}),y&&(0,F.jsx)(Ei,{files:e.filesChanged,projectDirName:n,cwd:e.cwd})]})]})]})}function Oi(e){if(e<60)return`${Math.round(e)}m`;let t=e/60;return t>=10?`${Math.round(t)}h`:`${t.toFixed(1)}h`}function I(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function ki(e){return e?new Date(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`}):``}function Ai(e){if(!e)return``;let[t,n]=e.split(`|`);if(!t||!n)return``;let r=new Date(t),i=new Date(n),a=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`}),o=i.getFullYear();return`${a(r)}\u2013${a(i)}, ${o}`}var ji=[`overview`,`triage`,`enhance`,`questions`,`timeline`,`review`,`done`];function Mi({current:e}){let t=ji.indexOf(e);return(0,F.jsx)(`div`,{className:`phase-bar`,children:ji.slice(0,-1).map((e,n)=>(0,F.jsx)(`div`,{className:`phase-bar__segment ${n<=t?`phase-bar__segment--active`:``}`},n))})}function Ni({project:e,sessions:t,onTriage:n,onCancel:r}){let i=[...t].sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`Upload Project`}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:e.name}),(0,F.jsx)(`div`,{className:`upload-flow__date`,children:Ai(e.dateRange)}),(0,F.jsxs)(`p`,{className:`upload-flow__desc`,children:[`The AI will scan all `,e.sessionCount,` sessions, pick the ones worth showcasing, and build a project narrative. Small or trivial sessions are skipped automatically.`]}),(0,F.jsxs)(`div`,{className:`upload-flow__stat-grid`,children:[(0,F.jsx)(Pi,{label:`Sessions`,value:String(e.sessionCount)}),(0,F.jsx)(Pi,{label:`Total Time`,value:Oi(e.totalDuration)}),(0,F.jsx)(Pi,{label:`LOC`,value:I(e.totalLoc)}),(0,F.jsx)(Pi,{label:`Files`,value:String(e.totalFiles)})]}),(0,F.jsxs)(`div`,{className:`upload-flow__section-label`,children:[`All Sessions (`,t.length,`)`]}),(0,F.jsxs)(`div`,{className:`session-table`,children:[(0,F.jsxs)(`div`,{className:`session-table__header`,children:[(0,F.jsx)(`span`,{children:`Session`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`Date`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`Time`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`LOC`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`Turns`})]}),(0,F.jsx)(`div`,{className:`session-table__body`,children:i.map(e=>(0,F.jsxs)(`div`,{className:`session-table__row`,children:[(0,F.jsx)(`span`,{className:`session-table__name`,children:e.title}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:ki(e.date)}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:Oi(e.durationMinutes)}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:I(e.linesOfCode)}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:e.turns})]},e.id))})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:r,children:`Cancel`}),(0,F.jsxs)(`button`,{className:`btn btn--primary btn--large`,onClick:n,children:[e.sessionCount<5?`Enhance all ${e.sessionCount} sessions`:`Let AI pick sessions`,` →`]})]})]})}function Pi({label:e,value:t}){return(0,F.jsxs)(`div`,{className:`stat-card`,children:[(0,F.jsx)(`div`,{className:`stat-card__label`,children:e}),(0,F.jsx)(`div`,{className:`stat-card__value`,children:t})]})}var Fi=[`◐`,`◑`,`◒`,`◓`];function L(){let[e,t]=(0,_.useState)(0);return(0,_.useEffect)(()=>{let e=setInterval(()=>t(e=>(e+1)%Fi.length),120);return()=>clearInterval(e)},[]),Fi[e]}function R(e,t){let n=[{id:`prompt`,text:`$ heyiam triage`,variant:`prompt`}],r=0,i=0,a=0,o=!1,s=!1,c=!1;for(let l of e)switch(l.type){case`scanning`:r=l.total,n.push({id:`scanning`,text:` Loading session stats... (${l.total} sessions)`,variant:`active`});break;case`loading_stats`:l.index;break;case`hard_floor`:{if(!o){let e=n.findIndex(e=>e.id===`scanning`);e!==-1&&(n[e]={id:`scanning-done`,text:` \u2713 Loaded ${r} sessions`,variant:`passed`}),n.push({id:`hf-header`,text:``,variant:`default`}),n.push({id:`hf-section`,text:` ── Hard floor filter ──`,variant:`section`}),o=!0}let e=l.sessionId.slice(0,8);l.passed?(i++,n.push({id:`hf-${l.sessionId}`,text:` \u2713 ${l.title||e} \u2192 passed`,variant:`passed`})):(a++,n.push({id:`hf-${l.sessionId}`,text:` \u2717 ${l.title||e} \u2192 skipped${l.reason?` (${l.reason})`:``}`,variant:`skipped`}));break}case`extracting_signals`:{s||=(o&&n.push({id:`hf-summary`,text:` \u2713 ${i} passed, ${a} filtered`,variant:`passed`}),n.push({id:`sig-header`,text:``,variant:`default`}),n.push({id:`sig-section`,text:` ── Signal extraction ──`,variant:`section`}),!0);let e=l.sessionId.slice(0,8);n.push({id:`sig-${l.sessionId}`,text:` ${t} Scanning ${l.title||e}...`,variant:`active`});break}case`signals_done`:{let e=n.findIndex(e=>e.id===`sig-${l.sessionId}`);if(e!==-1){let t=l.sessionId.slice(0,8);n[e]={id:`sig-done-${l.sessionId}`,text:` \u2713 ${t}: signals extracted`,variant:`passed`}}break}case`llm_ranking`:c||=(n.push({id:`rank-header`,text:``,variant:`default`}),n.push({id:`rank-section`,text:` ── AI ranking ──`,variant:`section`}),!0),n.push({id:`llm-ranking`,text:` ${t} Sending ${l.sessionCount} sessions to AI...`,variant:`active`});break;case`scoring_fallback`:c||=(n.push({id:`rank-header`,text:``,variant:`default`}),n.push({id:`rank-section`,text:` ── Scoring ──`,variant:`section`}),!0),n.push({id:`scoring-fallback`,text:` ${t} Scoring ${l.sessionCount} sessions...`,variant:`active`});break;case`done`:let e=n.findIndex(e=>e.id===`llm-ranking`||e.id===`scoring-fallback`);e!==-1&&(n[e]={id:`rank-done`,text:` \u2713 AI selected ${l.selected} sessions`,variant:`passed`});break;case`result`:break}return n}function Ii({events:e,dirName:t}){let n=L(),r=(0,_.useRef)(null),i=R(e,n);return(0,_.useEffect)(()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},[i.length]),(0,F.jsx)(`div`,{className:`triage-terminal`,role:`log`,"aria-live":`polite`,"aria-label":`Triage progress`,children:(0,F.jsx)(`div`,{className:`triage-terminal__feed`,ref:r,children:i.map(e=>(0,F.jsx)(`div`,{className:`triage-terminal__line${e.variant===`prompt`?` triage-terminal__prompt`:e.variant===`section`?` triage-terminal__section`:e.variant===`passed`?` triage-terminal__line--passed`:e.variant===`skipped`?` triage-terminal__line--skipped`:e.variant===`active`?` triage-terminal__line--active`:``}`,children:e.text},e.id))})})}function Li({sessionId:e,title:t,stats:n,reason:r,variant:i,checked:a,onToggle:o,dimTitle:s,previouslyPublished:c}){let[l,u]=(0,_.useState)(!1),d=r.length>(i===`selected`?60:40),f=i===`selected`?r.length>60?r.slice(0,57)+`...`:r:r.length>40?r.slice(0,37)+`...`:r;return(0,F.jsxs)(`div`,{className:`triage-item ${a?`triage-item--selected`:`triage-item--skipped`}`,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:a,onChange:o,className:`triage-item__checkbox`}),(0,F.jsxs)(`div`,{className:`triage-item__info`,children:[(0,F.jsxs)(`div`,{className:`triage-item__name`,style:s?{color:`var(--on-surface-variant)`}:void 0,children:[t,c&&(0,F.jsx)(`span`,{className:`triage-item__published-badge`,children:`previously published`})]}),(0,F.jsx)(`div`,{className:`triage-item__stats`,children:n})]}),(0,F.jsx)(`div`,{className:`triage-item__reason triage-item__reason--${i} ${d?`triage-item__reason--expandable`:``}`,onClick:d?()=>u(!l):void 0,role:d?`button`:void 0,tabIndex:d?0:void 0,onKeyDown:d?e=>{e.key===`Enter`&&u(!l)}:void 0,children:l?r:f})]})}function Ri({project:e,sessions:t,triageResult:n,selectedIds:r,onToggle:i,onEnhance:a,onBack:o,publishedSessionIds:s}){let c=new Map(t.map(e=>[e.id,e])),l=r.size,u=t.length-l;return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`triage`}),(0,F.jsxs)(`div`,{className:`upload-flow__scan-status`,children:[`✓ Scanned `,t.length,` sessions · `,Oi(e.totalDuration),` · `,I(e.totalLoc),` LOC`]}),(0,F.jsxs)(`h2`,{className:`upload-flow__title`,children:[`AI selected `,l,` sessions to showcase`]}),(0,F.jsxs)(`p`,{className:`upload-flow__desc`,children:[`Skipped `,u,` sessions that were too small, purely mechanical, or redundant. You can override any selection.`]}),n.triageMethod===`scoring`&&(0,F.jsxs)(`div`,{className:`triage-method-banner`,children:[(0,F.jsx)(`span`,{className:`triage-method-banner__icon`,"aria-hidden":`true`,children:`ⓘ`}),(0,F.jsx)(`span`,{children:`Sessions selected by signal analysis (no API key configured). `}),(0,F.jsx)(`a`,{href:`/settings`,className:`triage-method-banner__link`,children:`Go to Settings`})]}),(0,F.jsxs)(`div`,{className:`upload-flow__section-label upload-flow__section-label--selected`,children:[`✓ Selected for showcase (`,l,`)`]}),(0,F.jsx)(`div`,{className:`triage-list`,children:n.selected.map(e=>{let t=c.get(e.sessionId),n=r.has(e.sessionId);return(0,F.jsx)(Li,{sessionId:e.sessionId,title:t?.title??e.sessionId,stats:t?`${Oi(t.durationMinutes)} \u00b7 ${I(t.linesOfCode)} LOC \u00b7 ${t.turns} turns`:``,reason:e.reason,variant:`selected`,checked:n,onToggle:()=>i(e.sessionId),previouslyPublished:s?.has(e.sessionId)},e.sessionId)})}),(0,F.jsxs)(`details`,{className:`triage-skipped`,children:[(0,F.jsxs)(`summary`,{className:`triage-skipped__summary`,children:[(0,F.jsx)(`span`,{children:`▶`}),` Skipped (`,n.skipped.length,`) — click to override`]}),(0,F.jsx)(`div`,{className:`triage-list`,style:{marginTop:`var(--spacing-3)`},children:n.skipped.map(e=>{let t=c.get(e.sessionId),n=r.has(e.sessionId);return(0,F.jsx)(Li,{sessionId:e.sessionId,title:t?.title??e.sessionId,stats:t?`${Oi(t.durationMinutes)} \u00b7 ${I(t.linesOfCode)} LOC \u00b7 ${t.turns} turns`:``,reason:e.reason,variant:`skipped`,checked:n,onToggle:()=>i(e.sessionId),dimTitle:!n,previouslyPublished:s?.has(e.sessionId)},e.sessionId)})})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:o,children:`Back`}),(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:a,disabled:l===0,children:`Enhance project →`})]})]})}function zi({project:e,sessions:t,selectedIds:n,triageResult:r,onComplete:i,onBack:a}){let o=new Map(t.map(e=>[e.id,e])),[s,c]=(0,_.useState)(()=>{let e=r.selected.filter(e=>n.has(e.sessionId)),t=r.skipped.filter(e=>n.has(e.sessionId));return[...e,...t].map(e=>({sessionId:e.sessionId,title:o.get(e.sessionId)?.title??e.sessionId,status:`pending`}))}),[l,u]=(0,_.useState)(`waiting`),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(null),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),w=(0,_.useRef)(null),T=(0,_.useRef)(null),E=(0,_.useCallback)(t=>{if(!e.dirName)return;t&&(x(null),f(null),u(`waiting`),g(``),m([]),y(null),c(e=>e.map(e=>({...e,status:`pending`}))));let i=r.skipped.filter(e=>!n.has(e.sessionId)).map(e=>{let t=o.get(e.sessionId);return{title:t?.title??e.sessionId,duration:t?.durationMinutes??0,loc:t?.linesOfCode??0}}),a=Zn(e.dirName,Array.from(n),i,e=>{switch(e.type){case`session_progress`:c(t=>t.map(t=>t.sessionId===e.sessionId?{...t,status:e.status,title:e.title||t.title,detail:e.detail}:t)),(e.status===`done`||e.status===`skipped`)&&e.skills&&m(t=>{let n=new Set(t);for(let t of e.skills)n.add(t);return[...n]});break;case`project_enhance`:u(`generating`);break;case`narrative_chunk`:g(t=>t+e.text);break;case`cached`:x(e.enhancedAt),c(e=>e.map(e=>({...e,status:`done`}))),u(`done`);break;case`done`:u(`done`),f(e.result);break;case`error`:y(e.message);break}},t);return w.current=a,a},[e.dirName,n,r,o]);(0,_.useEffect)(()=>{let e=E(S);return()=>e?.abort()},[S]);let D=s.filter(e=>e.status!==`pending`).length;(0,_.useEffect)(()=>{if(!T.current||D===0)return;let e=T.current.querySelectorAll(`.enhance-feed-item:not(.enhance-feed-item--pending)`),t=e[e.length-1];t&&t.scrollIntoView({block:`nearest`,behavior:`smooth`})},[D]);let O=d!==null,k=d?.skills??p,ee=s.filter(e=>e.status===`failed`),A=s.filter(e=>e.status===`done`||e.status===`skipped`),te=s.every(e=>e.status!==`pending`&&e.status!==`enhancing`),ne=ee.length>0,re=A.length>0,ie=(0,_.useCallback)(()=>{c(e=>e.map(e=>e.status===`failed`?{...e,status:`pending`,detail:void 0}:e)),y(null),w.current?.abort(),C(e=>!e)},[]),j=(0,_.useCallback)(()=>{i({narrative:``,arc:[],skills:p,timeline:[],questions:[]})},[p,i]);return(0,F.jsxs)(`div`,{className:`enhance-split`,children:[(0,F.jsxs)(`div`,{className:`enhance-split__left`,children:[(0,F.jsx)(`div`,{className:`enhance-split__left-header`,children:`Session Processing`}),(0,F.jsx)(`div`,{className:`enhance-split__feed`,ref:T,children:s.map(e=>(0,F.jsxs)(`div`,{className:`enhance-feed-item ${e.status===`pending`?`enhance-feed-item--pending`:``} ${e.status===`failed`?`enhance-feed-item--failed`:``}`,children:[(0,F.jsxs)(`div`,{className:`enhance-feed-item__row`,children:[e.status===`done`||e.status===`skipped`?(0,F.jsx)(`span`,{className:`enhance-feed-item__check`,children:`✓`}):e.status===`failed`?(0,F.jsx)(`span`,{className:`enhance-feed-item__fail`,children:`✗`}):e.status===`enhancing`?(0,F.jsx)(`span`,{className:`enhance-feed-item__spinner`}):(0,F.jsx)(`span`,{className:`enhance-feed-item__circle`,children:`◯`}),(0,F.jsx)(`span`,{className:`enhance-feed-item__title ${e.status===`enhancing`?`enhance-feed-item__title--active`:``} ${e.status===`failed`?`enhance-feed-item__title--failed`:``}`,children:e.title})]}),e.detail&&e.status!==`pending`&&(0,F.jsx)(`div`,{className:`enhance-feed-item__detail ${e.status===`failed`?`enhance-feed-item__detail--failed`:``}`,children:e.detail})]},e.sessionId))}),(0,F.jsxs)(`div`,{className:`enhance-split__narrative-box`,children:[(0,F.jsx)(`div`,{className:`enhance-split__narrative-label`,children:`PROJECT NARRATIVE`}),(0,F.jsx)(`div`,{className:`enhance-split__narrative-status`,children:b&&l===`done`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`enhance-feed-item__check`,children:`✓`}),(0,F.jsxs)(`span`,{children:[`Loaded from cache (`,new Date(b).toLocaleDateString(),`)`]})]}):l===`done`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`enhance-feed-item__check`,children:`✓`}),(0,F.jsx)(`span`,{children:`Project story complete`})]}):l===`generating`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`enhance-split__blink-dot`}),(0,F.jsxs)(`span`,{children:[`Building project story from `,n.size,` sessions...`]})]}):(0,F.jsx)(`span`,{children:`Waiting for session processing...`})})]})]}),(0,F.jsxs)(`div`,{className:`enhance-split__right`,children:[(0,F.jsx)(Mi,{current:`enhance`}),v?(0,F.jsxs)(`div`,{className:`enhance-error`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`div`,{className:`enhance-error__message`,children:v}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:a,children:`Back`}),(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:ie,children:`Retry`}),re&&(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:j,children:`Publish without narrative`})]})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`Project Story`}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:e.name}),!h&&!d?.narrative&&(0,F.jsxs)(`div`,{className:`enhance-split__narrative-placeholder`,children:[(0,F.jsx)(`span`,{className:`enhance-split__blink-dot`}),(0,F.jsx)(`span`,{children:l===`generating`?`Writing project narrative...`:`Analyzing sessions — narrative will appear here...`})]}),(h||d?.narrative)&&(0,F.jsxs)(`div`,{className:`enhance-split__narrative-text`,children:[d?.narrative??h,l===`generating`&&(0,F.jsx)(`span`,{className:`typewriter-cursor`,"aria-hidden":`true`})]}),k.length>0&&(0,F.jsx)(`div`,{className:`enhance-split__skills`,children:k.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))}),d?.arc&&d.arc.length>0&&(()=>{let e=d.arc;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginTop:`var(--spacing-6)`},children:`Project Arc`}),(0,F.jsx)(`div`,{className:`enhance-split__arc`,children:e.map((t,n)=>(0,F.jsxs)(`div`,{className:`enhance-split__arc-item ${!O&&n===e.length-1?`enhance-split__arc-item--generating`:``}`,children:[(0,F.jsx)(`div`,{className:`enhance-split__arc-num`,children:String(t.phase).padStart(2,`0`)}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`enhance-split__arc-title`,children:t.title}),(0,F.jsx)(`div`,{className:`enhance-split__arc-desc`,children:t.description})]})]},n))})]})})(),te&&ne&&!O&&(0,F.jsxs)(`div`,{className:`enhance-split__failure-recovery`,children:[(0,F.jsxs)(`p`,{className:`enhance-split__failure-text`,children:[ee.length,` session`,ee.length===1?``:`s`,` failed to enhance.`]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:ie,children:`Retry failed`}),re&&(0,F.jsxs)(`button`,{className:`btn btn--primary btn--large`,onClick:j,children:[`Continue with `,A.length,` successful →`]})]})]}),O&&(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[b&&(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:()=>{w.current?.abort(),C(!0)},children:`Re-enhance`}),(0,F.jsxs)(`button`,{className:`btn btn--primary btn--large`,onClick:()=>i(d),children:[d.questions.length>0?`Answer a few questions`:`Continue`,` →`]})]})]})]})]})}var Bi={pattern:`Pattern detected`,architecture:`Architecture`,evolution:`Evolution`};function Vi({enhanceResult:e,onSkip:t,onWeave:n}){let[r,i]=(0,_.useState)(new Map),[a,o]=(0,_.useState)(!1),s=(0,_.useCallback)((e,t)=>{i(n=>{let r=new Map(n);return r.set(e,t),r})},[]),c=Array.from(r.values()).some(e=>e.trim().length>0),l=(0,_.useCallback)(()=>{let t=e.questions.filter(e=>(r.get(e.id)??``).trim().length>0).map(e=>({questionId:e.id,question:e.question,answer:r.get(e.id).trim()}));o(!0),n(t)},[r,e.questions,n]);return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`questions`}),(0,F.jsxs)(`div`,{className:`upload-flow__scan-status`,children:[`✓ `,e.timeline.reduce((e,t)=>e+t.sessions.length,0),` sessions enhanced · Project narrative generated`]}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:`A few things we noticed`}),(0,F.jsx)(`p`,{className:`upload-flow__desc`,children:`Your answers get woven into the narrative. Skip any you don't want to answer.`}),(0,F.jsx)(`div`,{className:`questions-list`,children:e.questions.map(e=>(0,F.jsxs)(`div`,{className:`question-card`,children:[(0,F.jsx)(`div`,{className:`question-card__tag-row`,children:(0,F.jsx)(`span`,{className:`question-card__tag question-card__tag--${e.category}`,children:Bi[e.category]??e.category})}),(0,F.jsx)(`div`,{className:`question-card__text`,children:e.question}),(0,F.jsx)(`textarea`,{className:`question-card__textarea`,value:r.get(e.id)??``,onChange:t=>s(e.id,t.target.value),placeholder:e.context||``,rows:3})]},e.id))}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:t,disabled:a,children:`Skip questions`}),(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:l,disabled:!c||a,children:a?`Weaving...`:`Weave into narrative →`})]})]})}function Hi({project:e,timeline:t,onBack:n,onReview:r}){let i=t.reduce((e,t)=>e+t.sessions.length,0);return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`timeline`}),(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`Project Timeline`}),(0,F.jsxs)(`h2`,{className:`upload-flow__title`,children:[e.name,` `,(0,F.jsxs)(`span`,{style:{fontWeight:400,fontSize:`1rem`,color:`var(--on-surface-variant)`},children:[i,` sessions`]})]}),(0,F.jsx)(`p`,{className:`upload-flow__desc`,children:e.description}),(0,F.jsxs)(`div`,{className:`timeline`,children:[(0,F.jsx)(`div`,{className:`timeline__line`}),t.map((e,t)=>{let n=e.sessions.filter(e=>e.featured),r=e.sessions.filter(e=>!e.featured);return(0,F.jsxs)(`div`,{className:`timeline__period`,children:[(0,F.jsxs)(`div`,{className:`timeline__period-header`,children:[(0,F.jsx)(`span`,{className:`timeline__period-date`,children:e.period}),(0,F.jsx)(`span`,{className:`timeline__period-sep`,children:`—`}),(0,F.jsx)(`span`,{className:`timeline__period-label`,children:e.label})]}),n.map(e=>(0,F.jsxs)(`div`,{className:`timeline__featured`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--large`}),(0,F.jsxs)(`div`,{className:`timeline__card`,children:[(0,F.jsxs)(`div`,{className:`timeline__card-header`,children:[(0,F.jsx)(`span`,{className:`timeline__card-title`,children:e.title}),e.tag&&(0,F.jsx)(`span`,{className:`timeline__card-tag`,children:e.tag})]}),(0,F.jsxs)(`div`,{className:`timeline__card-meta`,children:[(0,F.jsx)(`span`,{children:Oi(e.duration)}),e.date&&(0,F.jsx)(`span`,{children:ki(e.date)})]}),e.description&&(0,F.jsx)(`p`,{className:`timeline__card-desc`,children:e.description}),e.skills&&e.skills.length>0&&(0,F.jsx)(`div`,{className:`timeline__card-skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]})]},e.sessionId)),r.length>0&&(0,F.jsxs)(`div`,{className:`timeline__collapsed`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--small`}),(0,F.jsx)(Ui,{sessions:r})]})]},t)})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:n,children:`Back`}),(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:r,children:`Review & publish →`})]})]})}function Ui({sessions:e}){let t=e.map(e=>e.title.toLowerCase()).join(`, `),n=e.filter(e=>e.date).map(e=>e.date).sort(),r=n.length>=2?`${ki(n[0])} \u2013 ${ki(n[n.length-1])}`:n.length===1?ki(n[0]):``;return(0,F.jsxs)(`span`,{className:`timeline__collapsed-text`,children:[e.length,` smaller session`,e.length===1?``:`s`,` — `,t,r&&(0,F.jsxs)(F.Fragment,{children:[` · `,r]})]})}var Wi=[{period:`Mar 3–7`,label:`Foundation`,sessions:[{sessionId:`placeholder-1`,title:`Project scaffolding & architecture`,description:`Set up the monorepo structure, CI pipeline, and core abstractions.`,duration:145,featured:!0,tag:`KEY DECISION`,skills:[`Architecture`,`CI/CD`],date:`2026-03-03`},{sessionId:`placeholder-2`,title:`Dependency setup`,duration:30,featured:!1,date:`2026-03-04`},{sessionId:`placeholder-3`,title:`Initial config`,duration:15,featured:!1,date:`2026-03-05`}]},{period:`Mar 10–14`,label:`Core Implementation`,sessions:[{sessionId:`placeholder-4`,title:`Data model & API design`,description:`Designed the schema and REST endpoints for the core domain.`,duration:210,featured:!0,skills:[`API Design`,`PostgreSQL`],date:`2026-03-10`},{sessionId:`placeholder-5`,title:`Frontend component library`,description:`Built reusable components following the design system.`,duration:180,featured:!0,skills:[`React`,`CSS`],date:`2026-03-12`}]}];function Gi(e){return e===0?`0`:e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}k`:String(e)}function Ki(e){return e>=1e3?`+${(e/1e3).toFixed(e>=1e4?0:1)}k`:`+${e}`}function qi(e){if(e<=0)return[0];let t=e/4,n=10**Math.floor(Math.log10(t)),r=[1,2,2.5,5,10],i=n;for(let e of r)if(e*n>=t){i=e*n;break}let a=[];for(let t=0;t<=e+i*.1;t+=i)a.push(Math.round(t));return a[a.length-1]<e&&a.push(a[a.length-1]+Math.round(i)),a}var Ji=300*1e3,Yi=3600*1e3,Xi=600*1e3;function Zi(e,t,n,r){let i=e.map(e=>new Date(e.timestamp).getTime()).filter(e=>!isNaN(e)&&e>=t&&e<=n+Ji).sort((e,t)=>e-t);if(i.length===0)return[{time:n,locDelta:r*e.length}];let a=new Map;for(let e of i){let n=t+Math.floor((e-t)/Ji)*Ji;a.set(n,(a.get(n)??0)+1)}return Array.from(a.entries()).sort(([e],[t])=>e-t).map(([e,t])=>({time:e+Ji/2,locDelta:t*r}))}function Qi(e){let t=[...e].filter(e=>e.date).sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime());if(t.length===0)return{points:[],boundaries:[],totalVisualTime:0};let n=[],r=[],i=0;for(let e=0;e<t.length;e++){let a=t[e],o=new Date(a.date).getTime(),s=a.endTime?new Date(a.endTime).getTime():o+a.durationMinutes*60*1e3,c=Math.max(0,a.linesOfCode);if(r.push({realTime:o,title:a.title,sessionIndex:e}),n.push({realTime:o,cumulativeLoc:i,sessionIndex:e}),c===0){n.push({realTime:s,cumulativeLoc:i,sessionIndex:e});continue}let l=a.turnTimeline;if(!l||l.length===0){i+=c,n.push({realTime:s,cumulativeLoc:i,sessionIndex:e});continue}let u=l.filter(e=>e.type===`tool`&&e.tools&&e.tools.some(e=>/edit|write/i.test(e))),d=u.length>0?u:l.filter(e=>e.type===`tool`&&e.timestamp);if(d.length===0){i+=c,n.push({realTime:s,cumulativeLoc:i,sessionIndex:e});continue}let f=Zi(d,o,s,c/d.length);for(let t of f)i+=t.locDelta,n.push({realTime:t.time,cumulativeLoc:i,sessionIndex:e})}if(n.length===0)return{points:[],boundaries:[],totalVisualTime:0};let a=0,o=n[0].realTime,s=new Map;for(let e of n){let t=e.realTime-o;t>Yi?a+=Xi:a+=Math.max(0,t),s.set(e.realTime,a),o=e.realTime}return{points:n.map(e=>({visualTime:s.get(e.realTime)??0,cumulativeLoc:e.cumulativeLoc,sessionIndex:e.sessionIndex})),boundaries:r.map(e=>{let t=0,n=1/0;for(let[r,i]of s.entries()){let a=Math.abs(r-e.realTime);a<n&&(n=a,t=i)}return{visualTime:t,title:e.title,sessionIndex:e.sessionIndex}}),totalVisualTime:a}}function $i(e){if(e.length===0)return``;if(e.length===1)return`M${e[0].x.toFixed(1)},${e[0].y.toFixed(1)}`;if(e.length===2)return`M${e[0].x.toFixed(1)},${e[0].y.toFixed(1)} L${e[1].x.toFixed(1)},${e[1].y.toFixed(1)}`;let t=.3,n=`M${e[0].x.toFixed(1)},${e[0].y.toFixed(1)}`;for(let r=0;r<e.length-1;r++){let i=e[Math.max(0,r-1)],a=e[r],o=e[r+1],s=e[Math.min(e.length-1,r+2)],c=a.x+(o.x-i.x)*t,l=a.y+(o.y-i.y)*t,u=o.x-(s.x-a.x)*t,d=o.y-(s.y-a.y)*t;n+=` C${c.toFixed(1)},${l.toFixed(1)} ${u.toFixed(1)},${d.toFixed(1)} ${o.x.toFixed(1)},${o.y.toFixed(1)}`}return n}function ea(e,t=14){return e.length>t?e.slice(0,t-1)+`…`:e}function ta({sessions:e,totalLoc:t,totalFiles:n,onSessionClick:r}){if(e.length===0)return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,children:(0,F.jsx)(`p`,{style:{color:`var(--on-surface-variant)`,fontFamily:`var(--font-mono)`,fontSize:`0.75rem`},children:`No session data available for growth chart.`})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:`0`}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`})]})]});let i=e.filter(e=>e.date);if(i.length===0)return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,children:(0,F.jsx)(`p`,{style:{color:`var(--on-surface-variant)`,fontFamily:`var(--font-mono)`,fontSize:`0.75rem`},children:`No dated sessions available for growth chart.`})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:I(t)}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`})]})]});let a=[...i].sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),{points:o,boundaries:s,totalVisualTime:c}=Qi(i);if(o.length===0)return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,children:(0,F.jsx)(`p`,{style:{color:`var(--on-surface-variant)`,fontFamily:`var(--font-mono)`,fontSize:`0.75rem`},children:`No dated sessions available for growth chart.`})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:I(t)}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`})]})]});let l=qi(Math.max(...o.map(e=>e.cumulativeLoc),1)),u=l[l.length-1]||1,d=Math.max(600,Math.round(c/6e4*.8)+120),f=d-48-16,p=c||1,m=e=>48+e/p*f,h=e=>212-e/u*180,g=o.map(e=>({x:m(e.visualTime),y:h(e.cumulativeLoc)})),_=$i(g),v=g[g.length-1],y=g[0],b=_+` L${v.x.toFixed(1)},${212 .toFixed(1)} L${y.x.toFixed(1)},${212 .toFixed(1)} Z`,x=s.filter((e,t)=>t===0||Math.abs(e.visualTime-s[t-1].visualTime)>.001),S=i.length,C=d>600;return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,style:C?{overflowX:`auto`}:void 0,children:(0,F.jsxs)(`svg`,{viewBox:`0 0 ${d} 260`,width:C?d:`100%`,height:C?260:void 0,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`Growth chart showing cumulative lines of code across ${S} sessions`,children:[l.map(e=>(0,F.jsxs)(`g`,{children:[(0,F.jsx)(`line`,{x1:48,y1:h(e),x2:d-16,y2:h(e),stroke:`var(--outline-variant)`,strokeWidth:`0.5`,strokeDasharray:`4,4`}),(0,F.jsx)(`text`,{x:40,y:h(e)+3,textAnchor:`end`,fontFamily:`var(--font-mono)`,fontSize:`9`,fill:`var(--on-surface-variant)`,children:Gi(e)})]},`y-${e}`)),x.map((e,t)=>{let n=r&&a[e.sessionIndex];return(0,F.jsxs)(`g`,{style:n?{cursor:`pointer`}:void 0,onClick:n?()=>r(a[e.sessionIndex]):void 0,children:[(0,F.jsx)(`line`,{x1:m(e.visualTime),y1:32,x2:m(e.visualTime),y2:212,stroke:`var(--outline-variant)`,strokeWidth:`0.5`,strokeDasharray:`3,3`}),(0,F.jsx)(`text`,{x:m(e.visualTime),y:228,textAnchor:`middle`,fontFamily:`var(--font-mono)`,fontSize:`8`,fill:n?`var(--primary)`:`var(--on-surface-variant)`,textDecoration:n?`underline`:void 0,children:ea(e.title)})]},`boundary-${t}`)}),(0,F.jsx)(`path`,{d:b,fill:`rgba(8,68,113,0.06)`}),(0,F.jsx)(`path`,{d:_,fill:`none`,stroke:`var(--primary)`,strokeWidth:`2`,strokeLinejoin:`round`,strokeLinecap:`round`}),x.map((e,t)=>{let n=o.filter(t=>t.sessionIndex===e.sessionIndex);if(n.length===0)return null;let r=n[n.length-1],i=n[0],a=r.cumulativeLoc-i.cumulativeLoc+(i===o[0]?i.cumulativeLoc:0);return(0,F.jsxs)(`g`,{children:[(0,F.jsx)(`circle`,{cx:m(r.visualTime),cy:h(r.cumulativeLoc),r:`3`,fill:`var(--secondary)`}),a>0&&(0,F.jsx)(`text`,{x:m(r.visualTime),y:h(r.cumulativeLoc)-8,textAnchor:`middle`,fontFamily:`var(--font-mono)`,fontSize:`8`,fill:`var(--secondary)`,children:Ki(a)})]},`dot-${t}`)})]})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:I(t)}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`}),(0,F.jsxs)(`div`,{className:`growth-chart__stat`,children:[(0,F.jsx)(`div`,{className:`growth-chart__stat-value`,children:n}),(0,F.jsx)(`div`,{className:`growth-chart__stat-label`,children:`FILES TOUCHED`})]}),(0,F.jsxs)(`div`,{className:`growth-chart__stat`,children:[(0,F.jsx)(`div`,{className:`growth-chart__stat-value`,children:S}),(0,F.jsx)(`div`,{className:`growth-chart__stat-label`,children:`SESSIONS`})]})]})]})}function na(e,t,n){if(n&&e.startsWith(n))return e.slice(n.length).replace(/^\//,``)||e;let r=t.replace(/^-/,`/`).replace(/-/g,`/`);return e.startsWith(r)&&e.slice(r.length).replace(/^\//,``)||e}function ra(e){let t=e.split(`/`).filter(Boolean);if(t.length<=1)return`/`;let n=Math.min(t.length-1,2);return t.slice(0,n).join(`/`)+`/`}function ia(e,t){let n=new Map,r=new Map,i=new Map;for(let a of e)if(a.filesChanged)for(let e of a.filesChanged){if(!e.path||typeof e.path!=`string`)continue;let o=e.editCount??e.additions+e.deletions,s=na(e.path,t,a.cwd),c=ra(s);n.has(c)||n.set(c,new Map);let l=n.get(c);l.set(a.id,(l.get(a.id)??0)+o),r.set(c,(r.get(c)??0)+o),i.set(s,(i.get(s)??0)+o)}let a=Array.from(r.entries()).sort((e,t)=>t[1]-e[1]).slice(0,10).map(([e])=>e),o=new Map,s=0;for(let t of a){let r=n.get(t);if(r)for(let n of e){let e=r.get(n.id)??0;o.set(`${t}|${n.id}`,e),e>s&&(s=e)}}let c=Array.from(i.entries()).map(([e,t])=>({path:e,editCount:t})).sort((e,t)=>t.editCount-e.editCount).slice(0,10);return{directories:a,grid:o,maxEdits:s,files:c,totalFiles:i.size}}function aa(e,t){return e===0?.02:t===0?.05:.05+e/t*.65}function oa(e,t=15){return e.length<=t?e:e.slice(0,t-1)+`…`}function sa({sessions:e,projectDirName:t}){let{directories:n,grid:r,maxEdits:i,files:a,totalFiles:o}=ia(e,t);if(n.length===0)return(0,F.jsxs)(`div`,{className:`dir-heatmap`,children:[(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`EDIT HEATMAP BY DIRECTORY`}),(0,F.jsx)(`p`,{className:`dir-heatmap__empty`,children:`No file data available`})]});let s=e.length;return(0,F.jsxs)(`div`,{className:`dir-heatmap`,children:[(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`EDIT HEATMAP BY DIRECTORY`}),(0,F.jsxs)(`div`,{className:`dir-heatmap__grid`,style:{gridTemplateColumns:`150px repeat(${s}, 1fr)`},role:`table`,"aria-label":`Directory edit heatmap`,children:[(0,F.jsx)(`div`,{className:`dir-heatmap__corner`,role:`columnheader`}),e.map(e=>(0,F.jsx)(`div`,{className:`dir-heatmap__session-label`,role:`columnheader`,title:e.title,children:oa(e.title)},e.id)),n.map(t=>(0,F.jsxs)(_.Fragment,{children:[(0,F.jsx)(`div`,{className:`dir-heatmap__dir-label`,role:`rowheader`,title:t,children:t}),e.map(e=>{let n=r.get(`${t}|${e.id}`)??0;return(0,F.jsx)(`div`,{className:`dir-heatmap__cell`,style:{background:`rgba(8,68,113,${aa(n,i)})`},role:`cell`,title:`${t} in ${e.title}: ${n} edits`,"aria-label":`${t} in ${e.title}: ${n} edits`},e.id)})]},t))]}),(0,F.jsxs)(`div`,{className:`dir-heatmap__legend`,"aria-hidden":`true`,children:[(0,F.jsx)(`span`,{children:`Intensity = edit count`}),(0,F.jsx)(`span`,{style:{display:`inline-block`,width:12,height:12,background:`rgba(8,68,113,0.05)`,borderRadius:2}}),(0,F.jsx)(`span`,{style:{display:`inline-block`,width:12,height:12,background:`rgba(8,68,113,0.35)`,borderRadius:2}}),(0,F.jsx)(`span`,{style:{display:`inline-block`,width:12,height:12,background:`rgba(8,68,113,0.7)`,borderRadius:2}}),(0,F.jsx)(`span`,{children:`low → high`})]}),(0,F.jsxs)(`details`,{className:`dir-heatmap__top-files`,children:[(0,F.jsxs)(`summary`,{className:`dir-heatmap__top-files-summary`,children:[`Top `,a.length,` most-edited files (of `,o,` total) →`]}),(0,F.jsx)(`div`,{role:`list`,"aria-label":`Most edited files`,children:a.map(e=>(0,F.jsxs)(`div`,{className:`dir-heatmap__file-row`,role:`listitem`,children:[(0,F.jsx)(`span`,{className:`dir-heatmap__file-path`,title:e.path,children:e.path}),(0,F.jsxs)(`span`,{className:`dir-heatmap__file-count`,children:[e.editCount,` edits`]})]},e.path))})]})]})}var z=[`var(--primary)`,`var(--secondary)`,`var(--tertiary)`];function ca({project:e,narrative:t,skills:n,timeline:r,selectedCount:i,sessions:a,repoUrl:o,projectUrl:s,onClose:c}){let[l,u]=(0,_.useState)(null);r.reduce((e,t)=>e+t.sessions.length,0);let d=a.length>0?Math.max(...a.map(e=>e.durationMinutes)):1;return(0,_.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!l&&c()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[c,l]),(0,F.jsxs)(`div`,{className:`project-preview`,role:`dialog`,"aria-label":`Project preview`,children:[(0,F.jsx)(`div`,{className:`project-preview__banner`,children:`Preview — this is how your project will appear on heyi.am`}),(0,F.jsx)(`button`,{className:`project-preview__close`,onClick:c,"aria-label":`Close preview`,children:`Close preview ×`}),(0,F.jsxs)(`div`,{className:`project-preview__content`,children:[(0,F.jsxs)(`div`,{className:`project-preview__breadcrumb`,children:[`ben / `,e.name]}),(0,F.jsx)(`h1`,{className:`project-preview__title`,children:e.name}),(o||s)&&(0,F.jsxs)(`div`,{className:`project-preview__links`,children:[o&&(0,F.jsxs)(`a`,{href:o,className:`project-preview__link`,target:`_blank`,rel:`noopener noreferrer`,children:[(0,F.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`,children:(0,F.jsx)(`path`,{d:`M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z`})}),`Repo`]}),s&&(0,F.jsxs)(`a`,{href:s,className:`project-preview__link`,target:`_blank`,rel:`noopener noreferrer`,children:[(0,F.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,"aria-hidden":`true`,children:(0,F.jsx)(`path`,{d:`M5 1H2a1 1 0 00-1 1v10a1 1 0 001 1h10a1 1 0 001-1V9M8 1h5v5M13 1L6 8`,strokeLinecap:`round`,strokeLinejoin:`round`})}),`Live site`]})]}),t&&(0,F.jsx)(`div`,{className:`project-preview__narrative`,children:t}),n.length>0&&(0,F.jsx)(`div`,{className:`project-preview__skills`,children:n.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))}),(0,F.jsx)(`div`,{className:`project-preview__screenshot`,children:(0,F.jsxs)(`div`,{className:`project-preview__screenshot-inner`,children:[(0,F.jsx)(`span`,{"aria-hidden":`true`,children:`📷`}),(0,F.jsx)(`span`,{children:`Project screenshot`})]})}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stats`,children:[(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsx)(`div`,{className:`project-preview__hero-value project-preview__hero-value--primary`,children:Oi(e.totalDuration)}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`Total Time`})]}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsxs)(`div`,{className:`project-preview__hero-value`,children:[e.sessionCount,` (`,i,`)`]}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`Sessions`})]}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsx)(`div`,{className:`project-preview__hero-value`,children:I(e.totalLoc)}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`LOC`})]}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsx)(`div`,{className:`project-preview__hero-value`,children:e.totalFiles}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`Files`})]})]}),(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`WORK TIMELINE`}),(0,F.jsx)($r,{sessions:a,onSessionClick:u}),(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`PROJECT TIMELINE`}),(0,F.jsxs)(`div`,{className:`timeline`,children:[(0,F.jsx)(`div`,{className:`timeline__line`}),r.map((e,t)=>{let n=e.sessions.filter(e=>e.featured),r=e.sessions.filter(e=>!e.featured);return(0,F.jsxs)(`div`,{className:`timeline__period`,children:[(0,F.jsxs)(`div`,{className:`timeline__period-header`,children:[(0,F.jsx)(`span`,{className:`timeline__period-date`,children:e.period}),(0,F.jsx)(`span`,{className:`timeline__period-sep`,children:`—`}),(0,F.jsx)(`span`,{className:`timeline__period-label`,children:e.label})]}),n.map(e=>(0,F.jsxs)(`div`,{className:`timeline__featured`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--large`}),(0,F.jsxs)(`div`,{className:`timeline__card`,style:{cursor:`pointer`},onClick:()=>{let t=a.find(t=>t.id===e.sessionId);t?u(t):document.getElementById(`session-${e.sessionId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})},role:`button`,tabIndex:0,onKeyDown:t=>{if(t.key===`Enter`||t.key===` `){t.preventDefault();let n=a.find(t=>t.id===e.sessionId);n?u(n):document.getElementById(`session-${e.sessionId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}},children:[(0,F.jsxs)(`div`,{className:`timeline__card-header`,children:[(0,F.jsx)(`span`,{className:`timeline__card-title`,children:e.title}),e.tag&&(0,F.jsx)(`span`,{className:`timeline__card-tag`,children:e.tag})]}),(0,F.jsxs)(`div`,{className:`timeline__card-meta`,children:[(0,F.jsx)(`span`,{children:Oi(e.duration)}),e.date&&(0,F.jsx)(`span`,{children:ki(e.date)})]}),e.description&&(0,F.jsx)(`p`,{className:`timeline__card-desc`,children:e.description}),e.skills&&e.skills.length>0&&(0,F.jsx)(`div`,{className:`timeline__card-skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]})]},e.sessionId)),r.length>0&&(0,F.jsxs)(`div`,{className:`timeline__collapsed`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--small`}),(0,F.jsx)(Ui,{sessions:r})]})]},t)})]}),(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`PROJECT GROWTH`}),(0,F.jsx)(ta,{sessions:a,totalLoc:e.totalLoc,totalFiles:e.totalFiles,onSessionClick:u}),(0,F.jsx)(sa,{sessions:a,projectDirName:e.dirName}),a.length>0&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:`project-preview__sessions-heading`,children:`PUBLISHED SESSIONS`}),(0,F.jsx)(`div`,{className:`project-preview__sessions-grid`,children:a.map((e,t)=>{let n=z[t%z.length],r=d>0?Math.max(20,Math.round(e.durationMinutes/d*100)):100,i=e.filesChanged?.length??0;return(0,F.jsxs)(`div`,{id:`session-${e.id}`,className:`project-preview__session-card project-preview__session-card--clickable`,onClick:()=>u(e),role:`button`,tabIndex:0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),u(e))},children:[(0,F.jsx)(`div`,{className:`project-preview__session-bar`,style:{width:`${r}%`,background:n}}),(0,F.jsx)(`h3`,{className:`project-preview__session-title`,children:e.title}),(0,F.jsxs)(`div`,{className:`project-preview__session-stats`,children:[Math.round(e.durationMinutes),` min`,` · `,e.turns,` turns`,i>0&&(0,F.jsxs)(F.Fragment,{children:[` · `,i,` files`]}),` · `,I(e.linesOfCode),` LOC`]}),e.skills&&e.skills.length>0&&(0,F.jsx)(`div`,{className:`project-preview__session-skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]},e.id)})})]})]}),l&&(0,F.jsx)(Di,{session:l,projectName:e.name,projectDirName:e.dirName,onClose:()=>u(null)})]})}function la({project:e,narrative:t,selectedCount:n,skippedCount:r,skills:i,timeline:a,sessions:o,selectedIds:s,allSessions:c,repoUrl:l,onRepoUrlChange:u,projectUrl:d,onProjectUrlChange:f,onPublish:p,onSaveLocal:m,onBack:h}){let[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),[T,E]=(0,_.useState)(new Map),[D,O]=(0,_.useState)(null),[k,ee]=(0,_.useState)(!1),[A,te]=(0,_.useState)(null),[ne,re]=(0,_.useState)(!1),ie=(0,_.useRef)(null),j=(0,_.useRef)(null),{refresh:M}=ur(),ae=`${e.sessionCount} (${n} published)`,oe=e.name.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``),se=(0,_.useCallback)(()=>{let n=c.filter(e=>!s.has(e.id)).map(e=>({title:e.title,duration:e.durationMinutes??0,loc:e.linesOfCode??0,reason:`Not selected`}));return{title:e.name,slug:oe,narrative:t,repoUrl:l,projectUrl:d,timeline:a,skills:i,totalSessions:e.sessionCount,totalLoc:e.totalLoc,totalDurationMinutes:e.totalDuration,totalFilesChanged:e.totalFiles,skippedSessions:n,selectedSessionIds:[...s]}},[e,oe,t,l,d,a,i,c,s]),ce=(0,_.useCallback)(async()=>{ee(!0);try{let e=await Yn();te({userCode:e.user_code,verificationUri:e.verification_uri,deviceCode:e.device_code}),re(!0);let t=(e.interval||5)*1e3;ie.current=setInterval(async()=>{try{(await Xn(e.device_code)).authenticated&&(ie.current&&clearInterval(ie.current),ie.current=null,re(!1),ee(!1),await M(),N())}catch{}},t)}catch(e){S(`Login failed: ${e.message}`)}},[M]),N=(0,_.useCallback)(t=>{b(!0),S(null),w(null),ee(!1);let n=se();t&&(n.selectedSessionIds=t),j.current?.abort(),j.current=nr(e.dirName,n,e=>{switch(e.type){case`session`:E(t=>{let n=new Map(t);return n.set(e.sessionId,{status:e.status===`publishing`?`publishing`:e.status,error:e.error}),n});break;case`done`:b(!1),e.failed>0?(w(`sessions`),O(e.projectUrl),S(`${e.failed} session${e.failed===1?``:`s`} failed to publish`)):(M(),p({url:e.projectUrl,publishedSessions:e.uploaded}));break;case`error`:b(!1),e.error===`AUTH_REQUIRED`?ce():(w(`project`),S(e.error));break}})},[se,e.dirName,p,M,ce]);return(0,_.useEffect)(()=>()=>{ie.current&&clearInterval(ie.current),j.current?.abort()},[]),(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`review`}),(0,F.jsxs)(`div`,{className:`upload-flow__scan-status`,children:[`✓ `,n,` sessions enhanced · Project narrative generated · Timeline built`]}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:`Review your project`}),(0,F.jsxs)(`div`,{className:`review-card`,children:[(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`PROJECT`}),(0,F.jsx)(`h3`,{className:`review-card__name`,children:e.name}),t&&(0,F.jsx)(`p`,{className:`review-card__narrative`,children:t}),(0,F.jsxs)(`div`,{className:`upload-flow__stat-grid`,children:[(0,F.jsx)(Pi,{label:`Sessions`,value:ae}),(0,F.jsx)(Pi,{label:`Total Time`,value:Oi(e.totalDuration)}),(0,F.jsx)(Pi,{label:`LOC`,value:I(e.totalLoc)}),(0,F.jsx)(Pi,{label:`Files`,value:String(e.totalFiles)})]}),(0,F.jsx)(`div`,{className:`review-card__skills`,children:i.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]}),(0,F.jsx)(`button`,{className:`review-preview-link`,onClick:()=>v(!0),children:`Preview full project page →`}),g&&(0,F.jsx)(ca,{project:e,narrative:t,skills:i,timeline:a,selectedCount:n,sessions:o,repoUrl:l,projectUrl:d,onClose:()=>v(!1)}),(0,F.jsxs)(`div`,{className:`review-checklist`,children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginBottom:`var(--spacing-3)`},children:`What gets published`}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsx)(`span`,{children:`Project narrative and timeline`})]}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsxs)(`span`,{children:[n,` enhanced session case studies`]})]}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsx)(`span`,{children:`Aggregate stats from all sessions`})]}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsx)(`span`,{children:`Growth chart, heatmap, and top files`})]}),r>0&&(0,F.jsxs)(`div`,{className:`review-checklist__item review-checklist__item--skipped`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--skipped`,"aria-hidden":`true`,children:`○`}),(0,F.jsxs)(`span`,{children:[r,` skipped sessions (metadata only)`]})]})]}),(0,F.jsxs)(`div`,{className:`review-details`,children:[(0,F.jsxs)(`div`,{className:`review-details__header`,children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginBottom:0},children:`Project details`}),(0,F.jsx)(`span`,{className:`review-details__optional`,children:`all optional`})]}),(0,F.jsxs)(`div`,{className:`review-field`,children:[(0,F.jsxs)(`label`,{className:`review-field__label`,htmlFor:`review-repo-url`,children:[`Repository URL`,l&&(0,F.jsx)(`span`,{className:`review-field__badge`,children:`✓ auto-detected`})]}),(0,F.jsx)(`input`,{id:`review-repo-url`,type:`url`,className:`review-field__input`,value:l,onChange:e=>u(e.target.value),placeholder:`https://github.com/...`})]}),(0,F.jsxs)(`div`,{className:`review-field`,children:[(0,F.jsx)(`label`,{className:`review-field__label`,htmlFor:`review-project-url`,children:`Project URL`}),(0,F.jsx)(`input`,{id:`review-project-url`,type:`url`,className:`review-field__input`,value:d,onChange:e=>f(e.target.value),placeholder:`Live site, docs, demo...`})]}),(0,F.jsxs)(`div`,{className:`review-field`,children:[(0,F.jsx)(`span`,{className:`review-field__label`,children:`Screenshot`}),(0,F.jsxs)(`div`,{className:`review-dropzone`,role:`button`,tabIndex:0,"aria-label":`Upload screenshot`,children:[(0,F.jsx)(`span`,{className:`review-dropzone__icon`,"aria-hidden":`true`,children:`📷`}),(0,F.jsx)(`span`,{className:`review-dropzone__text`,children:`Drop an image or click to upload`})]})]})]}),k&&(0,F.jsx)(`div`,{className:`review-auth`,children:(0,F.jsxs)(`div`,{className:`review-auth__card`,children:[(0,F.jsx)(`h3`,{className:`review-auth__title`,children:`Sign in to publish`}),A?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`p`,{className:`review-auth__instructions`,children:[`Open`,` `,(0,F.jsx)(`a`,{href:A.verificationUri,target:`_blank`,rel:`noopener noreferrer`,children:A.verificationUri}),` `,`and enter:`]}),(0,F.jsx)(`div`,{className:`review-auth__code`,children:A.userCode}),ne&&(0,F.jsx)(`p`,{className:`review-auth__polling`,children:`Waiting for authorization...`})]}):(0,F.jsx)(`p`,{className:`review-auth__polling`,children:`Starting login...`})]})}),y&&T.size>0&&(0,F.jsxs)(`div`,{className:`publish-progress`,children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginBottom:`var(--spacing-2)`},children:`Publishing sessions...`}),(0,F.jsx)(`div`,{className:`publish-progress__sessions`,children:Array.from(T.entries()).map(([e,t])=>{let n=o.find(t=>t.id===e);return(0,F.jsxs)(`div`,{className:`publish-progress__row`,children:[t.status===`published`?(0,F.jsx)(`span`,{className:`publish-error__icon--published`,children:`✓`}):t.status===`publishing`?(0,F.jsx)(`span`,{className:`enhance-feed-item__spinner`}):(0,F.jsx)(`span`,{className:`publish-error__icon--failed`,children:`✗`}),(0,F.jsx)(`span`,{children:n?.title??e})]},e)})})]}),x&&(0,F.jsxs)(`div`,{className:`publish-error`,children:[(0,F.jsx)(`div`,{className:`publish-error__message`,children:x}),C===`sessions`&&T.size>0&&(0,F.jsx)(`div`,{className:`publish-error__sessions`,children:Array.from(T.entries()).map(([e,t])=>{let n=o.find(t=>t.id===e);return(0,F.jsxs)(`div`,{className:`publish-error__session-row publish-error__session-row--${t.status}`,children:[(0,F.jsx)(`span`,{className:`publish-error__icon publish-error__icon--${t.status}`,children:t.status===`published`?`✓`:`✗`}),(0,F.jsx)(`span`,{className:`publish-error__session-title`,children:n?.title??e}),t.error&&(0,F.jsx)(`span`,{className:`publish-error__session-error`,children:t.error})]},e)})}),(0,F.jsxs)(`div`,{className:`publish-error__actions`,children:[C===`sessions`&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{className:`btn btn--secondary`,onClick:()=>{N(Array.from(T.entries()).filter(([,e])=>e.status===`failed`).map(([e])=>e))},children:`Retry failed sessions`}),D&&(0,F.jsx)(`button`,{className:`btn btn--primary`,onClick:()=>p({url:D,publishedSessions:Array.from(T.values()).filter(e=>e.status===`published`).length}),children:`Continue with published sessions`})]}),C===`project`&&(0,F.jsx)(`button`,{className:`btn btn--secondary`,onClick:()=>N(),children:`Retry`}),(0,F.jsx)(`button`,{className:`btn btn--secondary`,onClick:()=>{S(null),w(null)},children:`Dismiss`})]})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{type:`button`,className:`btn btn--secondary btn--large`,onClick:h,disabled:y,children:`Back to timeline`}),(0,F.jsx)(`button`,{type:`button`,className:`btn btn--secondary btn--large`,onClick:m,disabled:y,children:`Save locally`}),(0,F.jsx)(`button`,{type:`button`,className:`btn btn--primary btn--large`,onClick:()=>N(),disabled:y||k,children:y?`Publishing...`:`Publish project →`})]})]})}function ua({project:e,narrative:t,selectedCount:n,publishedUrl:r,publishedSessions:i}){let a=rt(),[o,s]=(0,_.useState)(!1),c=!!r,l=r?r.startsWith(`/`)?`heyi.am${r}`:r:``,u=(0,_.useCallback)(()=>{l&&navigator.clipboard.writeText(`https://${l}`).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)}).catch(()=>{})},[l]),d=(0,_.useCallback)(()=>{l&&window.open(`https://${l}`,`_blank`,`noopener`)},[l]),f=(0,_.useCallback)(()=>{if(!l)return;let e=l.split(`/`),t=e.length>=2?`https://${e[0]}/${e[1]}`:`https://${l}`;window.open(t,`_blank`,`noopener`)},[l]),p=new Date().toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),m=t.length>120?`${t.slice(0,117)}...`:t;return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`done`}),(0,F.jsxs)(`div`,{className:`success-card`,children:[(0,F.jsx)(`div`,{className:`success-card__icon`,children:(0,F.jsxs)(`svg`,{width:`32`,height:`32`,viewBox:`0 0 32 32`,fill:`none`,children:[(0,F.jsx)(`circle`,{cx:`16`,cy:`16`,r:`16`,fill:`var(--success-bg, #dcfce7)`}),(0,F.jsx)(`path`,{d:`M10 16.5L14 20.5L22 12.5`,stroke:`var(--success-fg, #16a34a)`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}),(0,F.jsx)(`h2`,{className:`success-card__title`,children:c?`Project Published`:`Project Saved`}),(0,F.jsx)(`p`,{className:`success-card__subtitle`,children:c?`Your project is live on your portfolio with ${n} session case ${n===1?`study`:`studies`}.`:`Enhancement saved locally with ${n} session case ${n===1?`study`:`studies`}. You can preview or publish anytime.`}),(0,F.jsxs)(`div`,{className:`success-card__preview`,children:[(0,F.jsx)(`div`,{className:`success-card__preview-name`,children:e.name}),(0,F.jsx)(`div`,{className:`success-card__preview-narrative`,children:m}),(0,F.jsxs)(`div`,{className:`success-card__preview-stats`,children:[(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:e.sessionCount}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:`Sessions`})]}),(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:Oi(e.totalDuration)}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:`Time`})]}),(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:I(e.totalLoc)}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:`LOC`})]}),(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:n}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:c?`Published`:`Enhanced`})]})]})]}),c&&l&&(0,F.jsxs)(`div`,{className:`success-card__url-bar`,children:[(0,F.jsx)(`span`,{className:`success-card__url-text`,children:l}),(0,F.jsx)(`button`,{className:`success-card__url-copy`,onClick:u,children:o?`Copied`:`Copy`})]}),(0,F.jsxs)(`div`,{className:`success-card__meta`,children:[(0,F.jsx)(`span`,{className:`success-card__badge`,children:c?`Published`:`Saved locally`}),c&&i&&(0,F.jsxs)(`span`,{className:`success-card__meta-text`,children:[i,` sessions uploaded`]}),(0,F.jsx)(`span`,{className:`success-card__meta-text`,children:p})]}),(0,F.jsx)(`div`,{className:`success-card__actions`,children:c?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{type:`button`,className:`btn btn--primary btn--large`,onClick:d,children:`View Project Page`}),(0,F.jsx)(`button`,{type:`button`,className:`btn btn--secondary btn--large`,onClick:f,children:`View Portfolio`})]}):(0,F.jsx)(`button`,{type:`button`,className:`btn btn--primary btn--large`,onClick:()=>a(`/`),children:`Back to Projects`})})]})]})}function da(){let{dirName:e}=at(),[t,n]=jn(),r=rt(),{projects:i}=ar(),a=i.find(t=>t.dirName===e),[o,s]=(0,_.useState)(`overview`),c=(0,_.useCallback)(e=>{s(e),window.scrollTo(0,0)},[]),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)(!0),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(new Set),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)([]),[S,C]=(0,_.useState)(null),w=(0,_.useRef)(null),[T,E]=(0,_.useState)(null),[D,O]=(0,_.useState)(null),[k,ee]=(0,_.useState)(``),[A,te]=(0,_.useState)(``),[ne,re]=(0,_.useState)(null),ie=D?.narrative??``,j=D?.skills??[],M=D?.timeline??[],ae=(0,_.useCallback)(()=>{l.length>0||!e||Wn(e).then(e=>{u(e),f(!1)}).catch(e=>{E(e.message),f(!1)})},[e,l.length]);(0,_.useEffect)(()=>{[`overview`,`triage`,`enhance`].includes(o)&&ae()},[o,ae]),(0,_.useEffect)(()=>{let r=t.get(`view`)||t.get(`preview`);!e||r!==`1`||Qn(e).then(e=>{e&&(O(e.result),g(new Set(e.selectedSessionIds)),c(`review`)),n({},{replace:!0})})},[e]);let oe=(0,_.useCallback)(()=>{e&&(y(!0),E(null),x([]),w.current=Kn(e,e=>{if(x(t=>[...t,e]),e.type===`result`){let t={selected:e.selected,skipped:e.skipped,autoSelected:e.autoSelected,triageMethod:e.triageMethod};m(t);let n=new Set(t.selected.map(e=>e.sessionId));if(a?.publishedSessions)for(let e of a.publishedSessions)n.add(e);g(n),setTimeout(()=>{y(!1),t.autoSelected?(C(`All ${n.size} sessions selected (small project)`),c(`enhance`)):c(`triage`)},1200)}}))},[e]);(0,_.useEffect)(()=>()=>{w.current?.abort()},[]);let se=(0,_.useCallback)(e=>{O(e),e.questions.length>0?c(`questions`):c(`timeline`)},[]),ce=(0,_.useCallback)(()=>{c(`timeline`)},[]),N=(0,_.useCallback)(async t=>{if(!(!e||!D))try{let n=await er(e,D.narrative,D.timeline,t);O(e=>e&&{...e,narrative:n.narrative,timeline:n.timeline}),c(`timeline`)}catch(e){E(e.message)}},[e,D]),P=(0,_.useCallback)(e=>{g(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);return a?(0,F.jsx)(fr,{title:`heyi.am`,onBack:()=>r(`/`),children:d&&o===`overview`?(0,F.jsx)(`div`,{className:`dashboard-loading`,children:`Loading sessions...`}):T&&o===`overview`?(0,F.jsx)(`div`,{className:`dashboard-error`,children:T}):o===`overview`?v?(0,F.jsx)(Ii,{events:b,dirName:e??``}):(0,F.jsx)(Ni,{project:a,sessions:l,onTriage:oe,onCancel:()=>r(`/`)}):o===`triage`&&p?(0,F.jsx)(Ri,{project:a,sessions:l,triageResult:p,selectedIds:h,onToggle:P,onEnhance:()=>c(`enhance`),onBack:()=>c(`overview`),publishedSessionIds:a.publishedSessions?new Set(a.publishedSessions):void 0}):o===`enhance`&&p?(0,F.jsxs)(F.Fragment,{children:[S&&(0,F.jsxs)(`div`,{className:`upload-flow__auto-select-banner`,children:[`✓ `,S]}),(0,F.jsx)(zi,{project:a,sessions:l,selectedIds:h,triageResult:p,onComplete:se,onBack:()=>c(`triage`)})]}):o===`questions`&&D?(0,F.jsx)(Vi,{enhanceResult:D,onSkip:ce,onWeave:N}):o===`timeline`?(0,F.jsx)(Hi,{project:a,timeline:M.length>0?M.map(e=>({...e,sessions:e.sessions.map(e=>({sessionId:e.sessionId,title:e.title,featured:e.featured,tag:e.tag,duration:l.find(t=>t.id===e.sessionId)?.durationMinutes??0,date:l.find(t=>t.id===e.sessionId)?.date}))})):Wi,onBack:()=>D?.questions.length?c(`questions`):c(`enhance`),onReview:()=>c(`review`)}):o===`review`?(0,F.jsx)(la,{project:a,narrative:ie,selectedCount:h.size,skippedCount:l.length-h.size,skills:j.length>0?j:a.skills,timeline:M.length>0?M.map(e=>({...e,sessions:e.sessions.map(e=>({sessionId:e.sessionId,title:e.title,description:e.description,featured:e.featured,tag:e.tag,skills:e.skills,duration:l.find(t=>t.id===e.sessionId)?.durationMinutes??0,date:l.find(t=>t.id===e.sessionId)?.date}))})):Wi,sessions:l.filter(e=>h.has(e.id)),selectedIds:h,allSessions:l,repoUrl:k,onRepoUrlChange:ee,projectUrl:A,onProjectUrlChange:te,onPublish:e=>{re(e),c(`done`)},onSaveLocal:async()=>{!e||!D||(await $n(e,[...h],D),re(null),c(`done`))},onBack:()=>c(`timeline`)}):o===`done`?(0,F.jsx)(ua,{project:a,narrative:ie,selectedCount:h.size,publishedUrl:ne?.url,publishedSessions:ne?.publishedSessions}):null}):(0,F.jsx)(fr,{title:`heyi.am`,onBack:()=>r(`/`),children:(0,F.jsx)(`div`,{className:`dashboard-error`,children:`Project not found`})})}function fa(){return(0,F.jsx)(bn,{children:(0,F.jsx)(dr,{children:(0,F.jsx)(sr,{children:(0,F.jsxs)(jt,{children:[(0,F.jsx)(kt,{path:`/`,element:(0,F.jsx)(Tr,{})}),(0,F.jsx)(kt,{path:`/settings`,element:(0,F.jsx)(gr,{})}),(0,F.jsx)(kt,{path:`/project/:dirName/upload`,element:(0,F.jsx)(da,{})})]})})})})}(0,g.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(_.StrictMode,{children:(0,F.jsx)(fa,{})}));
14
+ `);i=o.pop()??``;for(let e of o){if(!e.startsWith(`data: `))continue;let t=e.slice(6).trim();if(t)try{n(JSON.parse(t))}catch{}}}}).catch(e=>{e.name!==`AbortError`&&(e instanceof tr?n({type:`error`,error:`AUTH_REQUIRED`}):n({type:`error`,error:e.message}))}),r}var rr=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),F=o(((e,t)=>{t.exports=rr()}))(),ir=(0,_.createContext)({projects:[],sessions:[],activeProject:null,loading:!0,loadingSessions:!1,error:null,selectProject:()=>{},updateSession:()=>{},refreshSessions:()=>{}});function ar(){return(0,_.useContext)(ir)}function or(e){return{name:e.name,dirName:e.dirName,sessionCount:e.sessionCount,description:e.description,totalLoc:e.totalLoc,totalDuration:e.totalDuration,totalFiles:e.totalFiles,skills:e.skills,dateRange:e.dateRange,lastSessionDate:e.lastSessionDate,isPublished:e.isPublished,publishedSessionCount:e.publishedSessionCount,publishedSessions:e.publishedSessions,enhancedAt:e.enhancedAt}}function sr({children:e}){let[t,n]=(0,_.useState)([]),[r,i]=(0,_.useState)([]),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(!0),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null);(0,_.useEffect)(()=>{let e=!1;return Un().then(t=>{e||(n(t.map(or)),c(!1))}).catch(t=>{e||(f(t instanceof Error?t.message:`Failed to load projects`),c(!1))}),()=>{e=!0}},[]),(0,_.useEffect)(()=>{if(!a)return;let e=!1;return u(!0),Wn(a).then(t=>{e||(i(t),u(!1))}).catch(()=>{e||(i([]),u(!1))}),()=>{e=!0}},[a]);let p=(0,_.useCallback)(e=>{o(e)},[]),m=(0,_.useCallback)((e,t)=>{i(n=>n.map(n=>n.id===e?{...n,...t}:n))},[]),h=(0,_.useCallback)(()=>{a&&Wn(a).then(e=>i(e)).catch(()=>{})},[a]);return(0,F.jsx)(ir.Provider,{value:{projects:t,sessions:r,activeProject:a,loading:s,loadingSessions:l,error:d,selectProject:p,updateSession:m,refreshSessions:h},children:e})}var cr=()=>Promise.reject(Error(`AuthProvider not mounted`)),lr=(0,_.createContext)({authenticated:!1,loading:!0,login:cr,refresh:cr});function ur(){return(0,_.useContext)(lr)}function dr({children:e}){let[t,n]=(0,_.useState)({authenticated:!1,loading:!0}),r=(0,_.useCallback)(async()=>{try{let e=await Jn();n({authenticated:e.authenticated,username:e.username,loading:!1})}catch{n({authenticated:!1,loading:!1})}},[]),i=(0,_.useCallback)(async()=>await Yn(),[]);return(0,_.useEffect)(()=>{r()},[r]),(0,F.jsx)(lr.Provider,{value:{...t,login:i,refresh:r},children:e})}function fr({title:e,showSidebar:t=!1,sidebarContent:n,bottomBar:r,onBack:i,headerActions:a,children:o}){let s=ur(),c=rt();return(0,F.jsxs)(`div`,{className:`app-shell`,children:[(0,F.jsxs)(`header`,{className:`app-header`,role:`banner`,children:[(0,F.jsxs)(`div`,{className:`app-header__left`,children:[i!=null&&(0,F.jsx)(`button`,{className:`app-header__back`,onClick:i,"aria-label":`Go back`,type:`button`,children:(0,F.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`path`,{d:`M19 12H5`}),(0,F.jsx)(`path`,{d:`M12 19l-7-7 7-7`})]})}),(0,F.jsx)(`span`,{className:`app-header__logo`,"aria-label":`heyi.am home`,children:`heyi.am`}),e!=null&&e.length>0&&(0,F.jsx)(`span`,{className:`app-header__title`,children:e})]}),(0,F.jsxs)(`div`,{className:`app-header__right`,children:[a,(0,F.jsx)(`div`,{className:`app-header__auth-indicator`,children:(0,F.jsx)(`span`,{className:`app-header__auth-dot${s.authenticated?` app-header__auth-dot--connected`:``}`,"aria-label":s.authenticated?`Authenticated`:`Not authenticated`})}),(0,F.jsx)(`button`,{className:`app-header__icon-btn`,"aria-label":`Settings`,type:`button`,onClick:()=>c(`/settings`),children:(0,F.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,F.jsx)(`path`,{d:`M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z`})]})})]})]}),(0,F.jsxs)(`div`,{className:`app-shell__body`,children:[t&&(0,F.jsx)(`aside`,{className:`app-sidebar`,role:`complementary`,children:n}),(0,F.jsxs)(`main`,{className:`app-main`,role:`main`,children:[o,r!=null&&(0,F.jsx)(`div`,{className:`app-bottom-bar`,children:(0,F.jsx)(`div`,{className:`app-bottom-bar__inner glass-panel`,children:r})})]})]})]})}var pr=`/api`;async function mr(){let e=await fetch(`${pr}/settings/api-key`);return e.ok?e.json():{hasKey:!1,maskedKey:null}}async function hr(e){let t=await fetch(`${pr}/settings/api-key`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKey:e})});if(!t.ok)throw Error(`Failed to save API key`);return t.json()}function gr(){let e=rt(),[t,n]=(0,_.useState)(``),[r,i]=(0,_.useState)(!1),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(`idle`),[l,u]=(0,_.useState)(!1),[d,f]=(0,_.useState)(null),p=ur(),m=p.authenticated,h=p.username??``;(0,_.useEffect)(()=>{qn().then(o),mr().then(({hasKey:e,maskedKey:t})=>{u(e),f(t)})},[]);let g=async()=>{c(`saving`);try{let e=await hr(t);c(`saved`),u(!!t.trim()),f(t.trim()?`${t.trim().slice(0,7)}...${t.trim().slice(-4)}`:null),n(``),o({mode:e.mode,remaining:null}),setTimeout(()=>c(`idle`),2e3)}catch{c(`error`),setTimeout(()=>c(`idle`),2e3)}},v=async()=>{c(`saving`);try{let e=await hr(``);c(`saved`),u(!1),f(null),n(``),o({mode:e.mode,remaining:null}),setTimeout(()=>c(`idle`),2e3)}catch{c(`error`),setTimeout(()=>c(`idle`),2e3)}},y=a?.mode===`local`?`Local API key`:a?.mode===`proxy`?`heyi.am proxy`:`Not configured`,b=a?.mode===`local`||a?.mode===`proxy`?`badge--published`:`badge--draft`;return(0,F.jsx)(fr,{title:`Settings`,onBack:()=>e(`/`),children:(0,F.jsxs)(`div`,{className:`settings-page`,children:[(0,F.jsxs)(`section`,{className:`settings-section`,children:[(0,F.jsx)(`span`,{className:`label`,children:`AI Enhancement`}),(0,F.jsxs)(`div`,{className:`card`,children:[(0,F.jsxs)(`div`,{className:`settings-row`,children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Mode`}),(0,F.jsx)(`span`,{className:`badge ${b}`,children:y})]}),a?.mode===`proxy`&&a.remaining!=null&&(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Usage`}),(0,F.jsxs)(`span`,{className:`settings-row__value`,children:[a.remaining,` remaining this month`]})]}),a?.mode===`none`&&(0,F.jsx)(`p`,{className:`settings-help`,style:{marginTop:`var(--spacing-4)`},children:`Log in or set ANTHROPIC_API_KEY to enable AI enhancement.`}),l&&d&&(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`API Key`}),(0,F.jsx)(`span`,{className:`settings-row__value`,children:d})]}),(0,F.jsxs)(`details`,{style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`summary`,{className:`text-label`,style:{cursor:`pointer`},children:l?`Change API key`:`Use your own API key`}),(0,F.jsxs)(`div`,{className:`settings-input-group`,style:{marginTop:`var(--spacing-3)`},children:[(0,F.jsxs)(`div`,{className:`settings-input-wrapper`,children:[(0,F.jsx)(`input`,{id:`api-key-input`,className:`input`,type:r?`text`:`password`,value:t,onChange:e=>n(e.target.value),placeholder:`sk-ant-...`,autoComplete:`off`}),(0,F.jsx)(`button`,{className:`settings-input-toggle`,type:`button`,onClick:()=>i(e=>!e),"aria-label":r?`Hide API key`:`Show API key`,children:r?(0,F.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`path`,{d:`M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94`}),(0,F.jsx)(`path`,{d:`M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19`}),(0,F.jsx)(`path`,{d:`M1 1l22 22`}),(0,F.jsx)(`path`,{d:`M14.12 14.12a3 3 0 1 1-4.24-4.24`})]}):(0,F.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,F.jsx)(`path`,{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z`}),(0,F.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})})]}),(0,F.jsxs)(`div`,{style:{display:`flex`,gap:`var(--spacing-2)`,marginTop:`var(--spacing-2)`},children:[(0,F.jsx)(`button`,{className:`btn btn-primary`,type:`button`,onClick:g,disabled:!t.trim()||s===`saving`,children:s===`saving`?`Saving...`:s===`saved`?`Saved`:`Save`}),l&&(0,F.jsx)(`button`,{className:`btn btn-secondary`,type:`button`,onClick:v,disabled:s===`saving`,children:`Remove`})]}),s===`error`&&(0,F.jsx)(`p`,{className:`settings-help`,style:{color:`var(--color-error, #e53e3e)`},children:`Failed to save. Try again.`}),(0,F.jsx)(`p`,{className:`settings-help`,children:`Saved to ~/.config/heyiam/settings.json. Uses your own Anthropic account.`})]})]})]})]}),(0,F.jsx)(`hr`,{className:`divider`}),(0,F.jsxs)(`section`,{className:`settings-section`,children:[(0,F.jsx)(`span`,{className:`label`,children:`Authentication`}),(0,F.jsxs)(`div`,{className:`card`,children:[(0,F.jsxs)(`div`,{className:`settings-row`,children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Status`}),m?(0,F.jsxs)(`span`,{className:`badge badge--published`,children:[`Connected `,h]}):(0,F.jsx)(`span`,{className:`badge badge--draft`,children:`Not connected`})]}),(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Username`}),(0,F.jsx)(`span`,{className:`settings-row__value`,children:m?h:`—`})]}),(0,F.jsx)(`div`,{style:{marginTop:`var(--spacing-4)`},children:m?(0,F.jsx)(`button`,{className:`btn btn-secondary`,type:`button`,children:`Disconnect`}):(0,F.jsxs)(`div`,{className:`terminal`,style:{fontSize:`0.75rem`},children:[(0,F.jsx)(`span`,{className:`terminal__prompt`,children:`$ `}),`heyiam login`]})})]})]}),(0,F.jsx)(`hr`,{className:`divider`}),(0,F.jsxs)(`section`,{className:`settings-section`,children:[(0,F.jsx)(`span`,{className:`label`,children:`Machine Identity`}),(0,F.jsxs)(`div`,{className:`card`,children:[(0,F.jsxs)(`div`,{className:`settings-input-group`,children:[(0,F.jsx)(`span`,{className:`text-label`,children:`Machine Token`}),(0,F.jsx)(`div`,{className:`terminal`,style:{fontSize:`0.75rem`,padding:`var(--spacing-3)`},children:`ed25519:a4f2...8b3c`}),(0,F.jsx)(`p`,{className:`settings-help`,children:`Used for cryptographic signing of published sessions`})]}),(0,F.jsxs)(`div`,{className:`settings-row`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`span`,{className:`settings-row__label`,children:`Token fingerprint`}),(0,F.jsx)(`span`,{className:`settings-row__value`,children:`SHA256:kR7x...Qm4w`})]})]})]})]})})}var _r=[`var(--primary)`,`var(--secondary)`,`var(--tertiary)`];function vr(e){if(e<60)return`${Math.round(e)}m`;let t=e/60;return t>=10?`${Math.round(t)}h`:`${t.toFixed(1)}h`}function yr(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function br(e){if(!e)return``;let[t,n]=e.split(`|`);if(!t||!n)return``;let r=new Date(t),i=new Date(n),a=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`}),o=i.getFullYear();return r.getMonth()===i.getMonth()&&r.getDate()===i.getDate()?`${a(r)}, ${o}`:`${a(r)}–${a(i)}, ${o}`}function xr(e){if(!e)return``;let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);if(r<24)return`${r}h ago`;let i=Math.floor(r/24);return i<7?`${i}d ago`:`${Math.floor(i/7)}w ago`}function Sr({label:e,value:t}){return(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`project-card__stat-label`,children:e}),(0,F.jsx)(`div`,{className:`project-card__stat-value`,children:t})]})}function Cr({project:e,index:t}){let n=rt(),r=_r[t%_r.length],i=e.enhancedAt,a=`/project/${encodeURIComponent(e.dirName)}/upload`;return(0,F.jsxs)(`div`,{className:`project-card`,onClick:()=>n(i?`${a}?view=1`:a),role:`button`,tabIndex:0,onKeyDown:e=>{e.key===`Enter`&&n(i?`${a}?view=1`:a)},children:[(0,F.jsxs)(`div`,{className:`project-card__header`,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`div`,{className:`project-card__title-row`,children:[(0,F.jsx)(`div`,{className:`project-card__dot`,style:{background:r}}),(0,F.jsx)(`h3`,{className:`project-card__name`,children:e.name}),e.isPublished&&(0,F.jsx)(`span`,{className:`project-card__badge project-card__badge--published`,children:`Published`}),i&&(0,F.jsx)(`span`,{className:`project-card__badge`,children:`Enhanced`})]}),e.description&&(0,F.jsx)(`p`,{className:`project-card__desc`,children:e.description}),(0,F.jsxs)(`div`,{className:`project-card__date`,children:[br(e.dateRange),e.lastSessionDate&&(0,F.jsxs)(`span`,{className:`project-card__date-ago`,children:[` · last session `,xr(e.lastSessionDate)]})]})]}),(0,F.jsxs)(`div`,{className:`project-card__actions`,children:[i&&(0,F.jsx)(`button`,{className:`btn btn--secondary project-card__upload-btn`,onClick:e=>{e.stopPropagation(),n(`${a}?view=1`)},children:`View`}),(0,F.jsxs)(`button`,{className:`btn btn--primary project-card__upload-btn`,onClick:e=>{e.stopPropagation(),n(a)},children:[e.isPublished?`Update Project`:i?`Re-enhance`:`Upload`,` →`]})]})]}),(0,F.jsxs)(`div`,{className:`project-card__stats`,children:[(0,F.jsx)(Sr,{label:`Sessions`,value:String(e.sessionCount)}),(0,F.jsx)(Sr,{label:`Time`,value:vr(e.totalDuration)}),(0,F.jsx)(Sr,{label:`LOC`,value:yr(e.totalLoc)}),(0,F.jsx)(Sr,{label:`Files`,value:String(e.totalFiles)})]}),e.skills.length>0&&(0,F.jsx)(`div`,{className:`project-card__skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`skill-chip`,children:e},e))})]})}function wr(){return(0,F.jsxs)(`div`,{className:`empty-state`,children:[(0,F.jsx)(`div`,{className:`empty-state__icon`,children:`📄`}),(0,F.jsx)(`h2`,{className:`empty-state__title`,children:`No sessions found`}),(0,F.jsxs)(`p`,{className:`empty-state__text`,children:[`Claude Code sessions from `,(0,F.jsx)(`code`,{children:`~/.claude/projects`}),` will appear here.`]}),(0,F.jsx)(`div`,{className:`empty-state__hint`,children:(0,F.jsx)(`code`,{children:`$ claude # start a session first`})})]})}function Tr(){let{projects:e,loading:t,error:n}=ar(),r=rt();return(0,F.jsx)(fr,{title:`heyi.am`,headerActions:(0,F.jsx)(`button`,{className:`topbar-icon-btn`,onClick:()=>r(`/settings`),"aria-label":`Settings`,children:`⚙`}),children:t?(0,F.jsx)(`div`,{className:`dashboard-loading`,children:`Loading projects...`}):n?(0,F.jsx)(`div`,{className:`dashboard-error`,children:n}):e.length===0?(0,F.jsx)(wr,{}):(0,F.jsxs)(`div`,{className:`dashboard`,children:[(0,F.jsx)(`h1`,{className:`dashboard__title`,children:`Your Projects`}),(0,F.jsx)(`p`,{className:`dashboard__subtitle`,children:`Pick a project to upload. The AI will read your sessions, pick the ones worth showcasing, and build the narrative for you.`}),(0,F.jsx)(`div`,{className:`dashboard__cards`,children:e.map((e,t)=>(0,F.jsx)(Cr,{project:e,index:t},e.dirName))})]})})}var Er={main:`#084471`,orchestrator:`#084471`,"frontend-dev":`#7c3aed`,frontend:`#7c3aed`,"backend-dev":`#0891b2`,backend:`#0891b2`,"qa-engineer":`#059669`,qa:`#059669`,"ux-designer":`#d97706`,ux:`#d97706`,"product-manager":`#dc2626`,pm:`#dc2626`,"security-engineer":`#6b7280`,"team-lead":`#6b7280`,explore:`#94a3b8`},Dr=`#6b7280`,Or=`#084471`,kr=`'IBM Plex Mono', monospace`;function Ar(e){return e?Er[e.toLowerCase()]??Dr:Dr}function jr(e){return new Date(e.date).getTime()}function Mr(e){return e.endTime?new Date(e.endTime).getTime():jr(e)+e.durationMinutes*6e4}function Nr(e){let t=e/36e5;if(t<20)return`${Math.round(t)}h`;let n=Math.round(t/24);return n<1?`${Math.round(t)}h`:n===1?`1 day`:`${n} days`}function Pr(e){let t=new Date(e);return`${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][t.getMonth()]} ${t.getDate()}`}function Fr(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}var Ir=60*6e4,Lr=56,Rr=5,zr=90;function Br(e){let t=[],n=null;for(let r of e){let e=jr(r),i=Mr(r);!n||e>=n.endMs?(n&&t.push(n),n={sessions:[r],startMs:e,endMs:i}):(n.sessions.push(r),i>n.endMs&&(n.endMs=i))}return n&&t.push(n),t}function Vr(e){if(e.length===0)return[];let t=Br([...e].sort((e,t)=>jr(e)-jr(t))),n=[];for(let e=0;e<t.length;e++){let r=t[e];if(e>0){let i=t[e-1].endMs,a=r.startMs-i;a>Ir&&n.push({type:`gap`,durationMs:a})}if(r.sessions.length===1){let e=r.sessions[0];n.push({type:`session`,session:e,startMs:r.startMs,endMs:r.endMs})}else n.push({type:`concurrent`,sessions:r.sessions,startMs:r.startMs,endMs:r.endMs})}return n}function Hr(e,t){let n=new Date(e),r=new Date(t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate()}var Ur=32,Wr=32,Gr=36,Kr=28,qr=24,Jr=24,Yr=18;function Xr(e){return e.childSessions&&e.childSessions.length>0?e.childSessions.length:e.children&&e.children.length>0?e.children.length:0}function Zr(e){return e.childSessions&&e.childSessions.length>0?e.childSessions.map(e=>({id:e.id,role:e.agentRole,durationMinutes:e.durationMinutes,linesOfCode:e.linesOfCode,date:e.date})):e.children&&e.children.length>0?e.children.map(e=>({id:e.sessionId,role:e.role,durationMinutes:e.durationMinutes??0,linesOfCode:e.linesOfCode??0,date:e.date})):[]}function Qr(e,t){let n=Math.floor(t/5.5);return e.length<=n?e:e.slice(0,Math.max(n-1,8))+`…`}function $r({sessions:e,onSessionClick:t}){let n=(0,_.useRef)(null),r=(0,_.useCallback)(e=>{n.current?.scrollBy({left:e,behavior:`smooth`})},[]);if(e.length===0)return(0,F.jsx)(`div`,{className:`work-timeline`,"data-testid":`work-timeline-empty`,children:(0,F.jsx)(`p`,{style:{fontFamily:kr,fontSize:`0.75rem`,color:`#6b7280`},children:`No sessions to display.`})});let i=Vr(e),a=0;for(let e of i)if(e.type===`gap`)a+=Lr;else{let t=(e.endMs-e.startMs)/6e4;a+=Math.max(t*Rr,zr)}let o=Ur+a+Wr,s=0;for(let e of i)if(e.type===`session`){let t=Xr(e.session);t>s&&(s=t)}else e.type===`concurrent`&&e.sessions.length>s&&(s=e.sessions.length);let c=s>0?s*qr+16:0,l=Math.max(48,c),u=Gr+l/2,d=Gr+l+Kr,f=i.filter(e=>e.type!==`gap`),p=f[0].startMs,m=f[f.length-1].endMs,h=Hr(p,m),g=[],v=Ur;for(let e of i)if(e.type===`gap`){let t=v,n=v+Lr;g.push({seg:e,x1:t,x2:n}),v=n}else{let t=(e.endMs-e.startMs)/6e4,n=Math.max(t*Rr,zr),r=v,i=v+n;g.push({seg:e,x1:r,x2:i}),v=i}let y=[];for(let e of g)e.seg.type!==`gap`&&y.push({label:h?Fr(e.seg.startMs):Pr(e.seg.startMs),x:e.x1});let b=[];for(let e of y){let t=b[b.length-1];(!t||e.x-t.x>70)&&b.push(e)}let x=o>800;return(0,F.jsxs)(`div`,{className:`work-timeline`,"data-testid":`work-timeline`,style:{position:`relative`},children:[x&&(0,F.jsxs)(`div`,{className:`work-timeline__scroll-controls`,children:[(0,F.jsx)(`button`,{type:`button`,className:`work-timeline__scroll-btn`,onClick:()=>r(-300),"aria-label":`Scroll left`,children:`←`}),(0,F.jsx)(`button`,{type:`button`,className:`work-timeline__scroll-btn`,onClick:()=>r(300),"aria-label":`Scroll right`,children:`→`})]}),(0,F.jsx)(`div`,{className:`work-timeline__container`,ref:n,style:{overflowX:`auto`,WebkitOverflowScrolling:`touch`,paddingBottom:`var(--spacing-2, 0.5rem)`},children:(0,F.jsxs)(`svg`,{viewBox:`0 0 ${o} ${d}`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`Work timeline showing ${e.length} sessions`,width:o,height:d,style:{display:`block`},children:[(0,F.jsx)(`line`,{x1:Ur,y1:d-Kr+4,x2:o-Wr,y2:d-Kr+4,stroke:`#e5e7eb`,strokeWidth:1,"data-testid":`axis-line`}),b.map((e,t)=>(0,F.jsxs)(`g`,{"data-testid":`axis-tick`,children:[(0,F.jsx)(`line`,{x1:e.x,y1:d-Kr+1,x2:e.x,y2:d-Kr+7,stroke:`#d1d5db`,strokeWidth:1}),(0,F.jsx)(`text`,{x:e.x,y:d-6,fontFamily:kr,fontSize:8,fill:`#9ca3af`,textAnchor:`start`,children:e.label})]},t)),g.map((e,n)=>{if(e.seg.type===`gap`)return(0,F.jsxs)(`g`,{"data-testid":`gap-segment`,children:[(0,F.jsx)(`line`,{x1:e.x1+4,y1:u,x2:e.x2-4,y2:u,stroke:`#d1d5db`,strokeWidth:1.5,strokeDasharray:`4,4`}),(0,F.jsx)(`text`,{x:(e.x1+e.x2)/2,y:u-8,fontFamily:kr,fontSize:8,fontStyle:`italic`,fill:`#9ca3af`,textAnchor:`middle`,"data-testid":`gap-label`,children:Nr(e.seg.durationMs)})]},`gap-${n}`);if(e.seg.type===`concurrent`)return(0,F.jsx)(ii,{x1:e.x1,x2:e.x2,mainY:u,sessions:e.seg.sessions,clusterStartMs:e.seg.startMs,clusterEndMs:e.seg.endMs,onSessionClick:t},`concurrent-${n}`);let r=e.seg.session,i=Zr(r),a=r.childCount??r.children?.length??0,o=i.length>0,s=o||a>0,c=`${r.durationMinutes}m`,l=[c,r.linesOfCode>0?`${r.linesOfCode} LOC`:``].filter(Boolean).join(` · `),d=o?i.length*qr/2+18:18;return(0,F.jsxs)(`g`,{"data-testid":`session-segment`,style:t?{cursor:`pointer`}:void 0,onClick:t?()=>t(r):void 0,role:t?`button`:void 0,tabIndex:t?0:void 0,onKeyDown:t?e=>{e.key===`Enter`&&t(r)}:void 0,"aria-label":`${r.title}, ${c}${a>0?`, ${a} agents`:``}`,children:[(0,F.jsx)(`text`,{x:e.x1+6,y:u-d,fontFamily:kr,fontSize:10,fontWeight:600,fill:`#191c1e`,"data-testid":`session-title`,children:Qr(r.title,e.x2-e.x1-12)}),(0,F.jsx)(`text`,{x:e.x1+6,y:u-d+12,fontFamily:kr,fontSize:8,fill:`#6b7280`,"data-testid":`session-subtitle`,children:l}),o?(0,F.jsx)(ni,{x1:e.x1,x2:e.x2,mainY:u,children:i}):s?(0,F.jsx)(ti,{x1:e.x1,x2:e.x2,mainY:u,agentCount:a}):(0,F.jsx)(ei,{x1:e.x1,x2:e.x2,mainY:u})]},`session-${n}`)})]})})]})}function ei({x1:e,x2:t,mainY:n}){return(0,F.jsxs)(`g`,{"data-testid":`single-bar`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or})]})}function ti({x1:e,x2:t,mainY:n,agentCount:r}){return(0,F.jsxs)(`g`,{"data-testid":`thick-bar`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:4.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or}),(0,F.jsxs)(`text`,{x:(e+t)/2,y:n+18,fontFamily:kr,fontSize:8,fill:`#6b7280`,textAnchor:`middle`,"data-testid":`agent-count-badge`,children:[`(`,r,` agents)`]})]})}function ni({x1:e,x2:t,mainY:n,children:r}){let i=[...r].sort((e,t)=>e.date&&t.date?new Date(e.date).getTime()-new Date(t.date).getTime():0),a=(i.length-1)*qr,o=e+Jr,s=t-Jr,c=o+Yr+4,l=s-Yr-4,u=Math.max(l-c,20),d=Math.max(...i.map(e=>e.durationMinutes),1);return(0,F.jsxs)(`g`,{"data-testid":`multi-agent-bar`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:o,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:o,cy:n,r:4,fill:Or,"data-testid":`fork-dot`}),i.map((e,t)=>{let r=n-a/2+t*qr,i=Ar(e.role),l=Math.max(24,e.durationMinutes/d*u);return(0,F.jsxs)(`g`,{"data-testid":`child-lane`,children:[(0,F.jsx)(`path`,{d:`M${o},${n} C${o+Yr},${n} ${o+Yr},${r} ${c},${r}`,stroke:i,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`}),(0,F.jsx)(`rect`,{x:c,y:r-10,rx:2,ry:2,width:l,height:20,fill:i,opacity:.06}),(0,F.jsx)(`line`,{x1:c,y1:r,x2:c+l,y2:r,stroke:i,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`text`,{x:c+l+6,y:r+3,fontFamily:kr,fontSize:8,fill:i,fontWeight:600,"data-testid":`child-role-label`,children:(e.role??`agent`).toUpperCase()}),(0,F.jsx)(`path`,{d:`M${c+l},${r} C${s-Yr},${r} ${s-Yr},${n} ${s},${n}`,stroke:i,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`})]},e.id||t)}),(0,F.jsx)(`circle`,{cx:s,cy:n,r:4,fill:Or,"data-testid":`join-dot`}),(0,F.jsx)(`line`,{x1:s,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or})]})}var ri=[`#084471`,`#7c3aed`,`#0891b2`,`#059669`,`#d97706`,`#dc2626`];function ii({x1:e,x2:t,mainY:n,sessions:r,clusterStartMs:i,clusterEndMs:a,onSessionClick:o}){let s=[...r].sort((e,t)=>jr(e)-jr(t)),c=(s.length-1)*qr,l=e+12,u=t-12,d=u-l-Yr*2-8,f=a-i;return(0,F.jsxs)(`g`,{"data-testid":`concurrent-segment`,children:[(0,F.jsx)(`circle`,{cx:e,cy:n,r:4,fill:`none`,stroke:Or,strokeWidth:1.5}),(0,F.jsx)(`line`,{x1:e,y1:n,x2:l,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:l,cy:n,r:4,fill:Or,"data-testid":`concurrent-fork`}),s.map((e,t)=>{let r=n-c/2+t*qr,a=ri[t%ri.length],s=jr(e),p=Mr(e),m=f>0?(s-i)/f:0,h=f>0?(p-i)/f:1,g=l+Yr+4+m*d,_=l+Yr+4+h*d,v=Math.max(_-g,20),y=[`${e.durationMinutes}m`,e.linesOfCode>0?`${e.linesOfCode} LOC`:``].filter(Boolean).join(` · `);return(0,F.jsxs)(`g`,{"data-testid":`concurrent-lane`,style:o?{cursor:`pointer`}:void 0,onClick:o?t=>{t.stopPropagation(),o(e)}:void 0,role:o?`button`:void 0,tabIndex:o?0:void 0,children:[(0,F.jsx)(`path`,{d:`M${l},${n} C${l+Yr},${n} ${l+Yr},${r} ${g},${r}`,stroke:a,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`}),(0,F.jsx)(`rect`,{x:g,y:r-10,rx:2,ry:2,width:v,height:20,fill:a,opacity:.06}),(0,F.jsx)(`line`,{x1:g,y1:r,x2:g+v,y2:r,stroke:a,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`text`,{x:g-4,y:r+3,fontFamily:kr,fontSize:8,fontWeight:600,fill:a,textAnchor:`end`,"data-testid":`concurrent-title`,children:e.title.length>30?e.title.slice(0,28)+`…`:e.title}),(0,F.jsx)(`text`,{x:g+v+6,y:r+3,fontFamily:kr,fontSize:7,fill:`#9ca3af`,children:y}),(0,F.jsx)(`path`,{d:`M${g+v},${r} C${u-Yr},${r} ${u-Yr},${n} ${u},${n}`,stroke:a,strokeWidth:1.5,fill:`none`,strokeDasharray:`4,3`})]},e.id||t)}),(0,F.jsx)(`circle`,{cx:u,cy:n,r:4,fill:Or,"data-testid":`concurrent-join`}),(0,F.jsx)(`line`,{x1:u,y1:n,x2:t,y2:n,stroke:Or,strokeWidth:2.5,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:t,cy:n,r:4,fill:Or})]})}var ai={main:`#084471`,orchestrator:`#084471`,"frontend-dev":`#7c3aed`,frontend:`#7c3aed`,"backend-dev":`#0891b2`,backend:`#0891b2`,"qa-engineer":`#059669`,qa:`#059669`,"ux-designer":`#d97706`,ux:`#d97706`,"product-manager":`#dc2626`,pm:`#dc2626`,"security-engineer":`#6b7280`,"team-lead":`#6b7280`,explore:`#94a3b8`},oi=`#6b7280`,si=`#084471`;function ci(e){return e?ai[e.toLowerCase()]??oi:oi}function li(e){if(e.length===0)return[];let t=[...e].sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),n=[],r=[t[0]],i=new Date(t[0].date).getTime()+(t[0].wallClockMinutes??t[0].durationMinutes)*6e4;for(let e=1;e<t.length;e++){let a=new Date(t[e].date).getTime();if(a>=i)n.push({children:r}),r=[t[e]],i=a+(t[e].wallClockMinutes??t[e].durationMinutes)*6e4;else{r.push(t[e]);let n=a+(t[e].wallClockMinutes??t[e].durationMinutes)*6e4;n>i&&(i=n)}}return n.push({children:r}),n}function ui({session:e,variant:t}){let n=t===`compact`,r=e.childSessions??[];if(!(r.length>0))return(0,F.jsx)(di,{session:e,isCompact:n});let i=li(r),a=n?20:60,o=Math.max(...i.map(e=>e.children.length),1),s=n?12:25,c=n?30:80,l=n?30:80,u=n?20:50,d=n?30:60,f=n?80:200,p=n?0:100,m=s*2,h=i.flatMap(e=>e.children),g=Math.max(...h.map(e=>e.durationMinutes),1),_=c+i.map(e=>{let t=Math.max(...e.children.map(e=>e.durationMinutes),1);return m+Math.max(d,t/g*f)+p+m}).reduce((e,t)=>e+t,0)+(i.length-1)*u+l,v=Math.max(n?400:900,_),y=n?10:30,b=n?30:Math.max(80,o*a/2+30),x=n?Math.max(60,o*a+30):b+o*a/2+40,S=n?2.5:3,C=n?3.5:5,w=n?3:4,T=n?7:8.5,E=n?0:7.5,D=n?8:13,O=n?16:26,k=[],ee=y+c,A=new Date(e.date).getTime();for(let e=0;e<i.length;e++){let t=i[e],n=ee,r=Math.max(...t.children.map(e=>e.durationMinutes),1),o=Math.max(d,r/g*f),s=n+m,c=s+o+p+m,l=[...t.children].sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),h=l.map((e,t)=>{let n=b-(l.length-1)*a/2+t*a,r=Math.max(d,e.durationMinutes/g*f),i=Math.round((new Date(e.date).getTime()-A)/6e4);return{child:e,y:n,x1:s,x2:s+r,color:ci(e.agentRole),offsetMinutes:i}});k.push({forkX:n,joinX:c,lanes:h}),ee=c+u}let te=v-y;return(0,F.jsx)(`div`,{style:{overflowX:`auto`,WebkitOverflowScrolling:`touch`},children:(0,F.jsxs)(`svg`,{viewBox:`0 0 ${v} ${x}`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`Multi-agent session timeline`,width:v,height:x,style:{display:`block`},children:[(0,F.jsx)(`circle`,{cx:y,cy:b,r:w,fill:`none`,stroke:si,strokeWidth:n?1.5:2}),(0,F.jsx)(`line`,{x1:y,y1:b,x2:k[0].forkX,y2:b,stroke:si,strokeWidth:S,strokeLinecap:`round`}),k.map((e,t)=>(0,F.jsxs)(`g`,{"data-testid":`wave`,children:[(0,F.jsx)(`circle`,{cx:e.forkX,cy:b,r:C,fill:si,"data-testid":`fork-circle`}),e.lanes.map((t,r)=>(0,F.jsx)(`path`,{d:`M${e.forkX},${b} C${e.forkX+s},${b} ${e.forkX+s},${t.y} ${t.x1},${t.y}`,stroke:t.color,strokeWidth:n?1.5:2,fill:`none`,strokeDasharray:n?`3,2`:`4,3`,"data-testid":`fork-line`},`f${r}`)),e.lanes.map((e,t)=>(0,F.jsxs)(`g`,{"data-testid":`agent-lane`,children:[(0,F.jsx)(`rect`,{x:e.x1,y:e.y-D,rx:2,ry:2,width:e.x2-e.x1,height:O,fill:e.color,opacity:.08}),(0,F.jsx)(`line`,{x1:e.x1,y1:e.y,x2:e.x2,y2:e.y,stroke:e.color,strokeWidth:S,strokeLinecap:`round`}),(0,F.jsx)(`text`,{x:e.x1-6,y:e.y+T/3,fontFamily:`var(--font-mono), 'IBM Plex Mono', monospace`,fontSize:T,fill:e.color,fontWeight:600,textAnchor:`end`,"data-testid":`role-label`,children:(e.child.agentRole??`agent`).toUpperCase()}),!n&&E>0&&(0,F.jsxs)(`text`,{x:e.x2+8,y:e.y+4,fontFamily:`var(--font-body), 'Inter', sans-serif`,fontSize:E,fill:`#6b7280`,children:[`+`,e.offsetMinutes,`m · `,e.child.linesOfCode>0?`${e.child.linesOfCode} LOC · `:``,e.child.durationMinutes,`m`]})]},`l${t}`)),e.lanes.map((t,r)=>(0,F.jsx)(`path`,{d:`M${t.x2},${t.y} C${t.x2+s},${t.y} ${e.joinX-s},${b} ${e.joinX},${b}`,stroke:t.color,strokeWidth:n?1.5:2,fill:`none`,strokeDasharray:n?`3,2`:`4,3`,"data-testid":`join-line`},`j${r}`)),(0,F.jsx)(`circle`,{cx:e.joinX,cy:b,r:C,fill:si,"data-testid":`join-circle`}),t<k.length-1&&(0,F.jsx)(`line`,{x1:e.joinX,y1:b,x2:k[t+1].forkX,y2:b,stroke:si,strokeWidth:S,strokeLinecap:`round`})]},t)),(0,F.jsx)(`line`,{x1:k[k.length-1].joinX,y1:b,x2:te,y2:b,stroke:si,strokeWidth:S,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:te,cy:b,r:w,fill:si})]})})}function di({session:e,isCompact:t}){let n=t?400:900,r=t?20:60,i=r,a=n-r,o=t?2.5:3,s=t?3:4,c=t?20:50,l=t?40:80,u=t?12:20,d=e.turns||0,f=Math.min(d,14),p=a-i,m=[];for(let e=0;e<f;e++){let t=(e+1)/(f+1),n=.15+(e*7+3)%5*.06;m.push({x:i+t*p,opacity:Math.min(n,.4)})}return(0,F.jsxs)(`svg`,{viewBox:`0 0 ${n} ${l}`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,"aria-label":`Single agent session timeline`,style:{width:`100%`,display:`block`},children:[(0,F.jsx)(`line`,{x1:i,y1:c,x2:a,y2:c,stroke:si,strokeWidth:o,strokeLinecap:`round`}),(0,F.jsx)(`circle`,{cx:i,cy:c,r:s,fill:`none`,stroke:si,strokeWidth:t?1.5:2}),(0,F.jsx)(`circle`,{cx:a,cy:c,r:s,fill:si}),m.map((e,n)=>(0,F.jsx)(`rect`,{x:e.x,y:c-u/2,width:t?2:3,height:u,fill:si,opacity:e.opacity,rx:1,"data-testid":`activity-tick`},n))]})}function fi(e,t,n){if(n&&e.startsWith(n))return e.slice(n.length).replace(/^\//,``)||e;let r=t.replace(/^-/,`/`).replace(/-/g,`/`);return e.startsWith(r)&&e.slice(r.length).replace(/^\//,``)||e}function pi(e){if(e<60)return`${Math.round(e)}m`;let t=e/60;return t>=10?`${Math.round(t)}h`:`${t.toFixed(1)}h`}function mi(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function hi(e){return e?new Date(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}):``}function gi(e){let t=`${e.title} ${e.description}`.toLowerCase();return/\b(decision|pivot|key|critical|important|breakthrough)\b/.test(t)}function _i({session:e}){let t=e.filesChanged?.length??0;return(0,F.jsxs)(`div`,{className:`session-detail__stats-grid`,children:[(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:pi(e.durationMinutes)}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`Duration`})]}),(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:e.turns}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`Turns`})]}),(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:t}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`Files`})]}),(0,F.jsxs)(`div`,{className:`session-detail__stat`,children:[(0,F.jsx)(`div`,{className:`session-detail__stat-value`,children:mi(e.linesOfCode)}),(0,F.jsx)(`div`,{className:`session-detail__stat-label`,children:`LOC Changed`})]})]})}function vi({take:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`DEVELOPER TAKE`}),(0,F.jsx)(`blockquote`,{className:`session-detail__take`,children:e})]})}function yi({skills:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`APPLIED SKILLS`}),(0,F.jsx)(`div`,{className:`session-detail__skills`,children:e.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]})}function bi({pairs:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`SESSION Q&A`}),(0,F.jsx)(`div`,{className:`session-detail__qa-list`,children:e.map((e,t)=>(0,F.jsxs)(`div`,{className:`session-detail__qa-pair`,children:[(0,F.jsx)(`div`,{className:`session-detail__qa-question`,children:e.question}),(0,F.jsx)(`div`,{className:`session-detail__qa-answer`,children:e.answer})]},t))})]})}function xi({steps:e}){return(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`HIGHLIGHTS`}),(0,F.jsx)(`div`,{className:`session-detail__highlights`,children:e.map(e=>(0,F.jsxs)(`div`,{className:`session-detail__highlight-card`,children:[(0,F.jsxs)(`div`,{className:`session-detail__highlight-step`,children:[`Step `,e.stepNumber]}),(0,F.jsx)(`div`,{className:`session-detail__highlight-title`,children:e.title}),(0,F.jsx)(`div`,{className:`session-detail__highlight-desc`,children:e.description})]},e.stepNumber))})]})}function Si({steps:e}){return(0,F.jsxs)(`section`,{className:`session-detail__sidebar-section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`EXECUTION PATH`}),(0,F.jsx)(`div`,{className:`session-detail__exec-path`,children:e.map(e=>(0,F.jsxs)(`div`,{className:`session-detail__exec-step`,children:[(0,F.jsx)(`div`,{className:`session-detail__exec-dot`}),(0,F.jsxs)(`div`,{className:`session-detail__exec-content`,children:[(0,F.jsx)(`div`,{className:`session-detail__exec-title`,children:e.title}),(0,F.jsx)(`div`,{className:`session-detail__exec-desc`,children:e.description})]})]},e.stepNumber))})]})}function Ci({lines:e}){let t=e.slice(0,4);return(0,F.jsxs)(`section`,{className:`session-detail__sidebar-section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`RAW LOG`}),(0,F.jsxs)(`div`,{className:`session-detail__raw-log`,children:[t.map((e,t)=>(0,F.jsx)(`div`,{className:`session-detail__raw-line`,children:e},t)),e.length>4&&(0,F.jsxs)(`div`,{className:`session-detail__raw-more`,children:[`View full transcript (`,e.length,` lines) →`]})]})]})}function wi({session:e,projectName:t}){return(0,F.jsxs)(`section`,{className:`session-detail__sidebar-section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`SOURCE INFO`}),(0,F.jsxs)(`div`,{className:`session-detail__source-list`,children:[(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Source`}),(0,F.jsx)(`span`,{className:`session-detail__source-val`,children:`Claude Code`})]}),(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Date`}),(0,F.jsx)(`span`,{className:`session-detail__source-val`,children:hi(e.date)})]}),(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Project`}),(0,F.jsx)(`span`,{className:`session-detail__source-val`,children:t})]}),e.isOrchestrated&&(0,F.jsxs)(`div`,{className:`session-detail__source-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__source-key`,children:`Type`}),(0,F.jsxs)(`span`,{className:`session-detail__source-val`,children:[`Orchestrated (`,e.childCount??e.childSessions?.length??0,` sub-sessions)`]})]})]})]})}function Ti({tools:e}){let t=e.length>0?Math.max(...e.map(e=>e.count)):1;return(0,F.jsxs)(`details`,{className:`session-detail__collapsible`,children:[(0,F.jsxs)(`summary`,{className:`session-detail__collapsible-summary`,children:[`Tool Breakdown (`,e.length,` tools)`]}),(0,F.jsx)(`div`,{className:`session-detail__tool-list`,children:e.map(e=>{let n=Math.max(8,Math.round(e.count/t*100));return(0,F.jsxs)(`div`,{className:`session-detail__tool-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__tool-name`,children:e.tool}),(0,F.jsx)(`div`,{className:`session-detail__tool-bar-track`,children:(0,F.jsx)(`div`,{className:`session-detail__tool-bar`,style:{width:`${n}%`}})}),(0,F.jsx)(`span`,{className:`session-detail__tool-count`,children:e.count})]},e.tool)})})]})}function Ei({files:e,projectDirName:t,cwd:n}){return(0,F.jsxs)(`details`,{className:`session-detail__collapsible`,children:[(0,F.jsxs)(`summary`,{className:`session-detail__collapsible-summary`,children:[`Files Changed (`,e.length,` files)`]}),(0,F.jsx)(`div`,{className:`session-detail__file-list`,children:e.map(e=>(0,F.jsxs)(`div`,{className:`session-detail__file-row`,children:[(0,F.jsx)(`span`,{className:`session-detail__file-path`,children:fi(e.path,t,n)}),(0,F.jsxs)(`span`,{className:`session-detail__file-additions`,children:[`+`,e.additions]}),(0,F.jsxs)(`span`,{className:`session-detail__file-deletions`,children:[`-`,e.deletions]})]},e.path))})]})}function Di({session:e,projectName:t,projectDirName:n,onClose:r}){let i=(0,_.useCallback)(e=>{e.key===`Escape`&&r()},[r]);(0,_.useEffect)(()=>(document.addEventListener(`keydown`,i),()=>document.removeEventListener(`keydown`,i)),[i]);let a=(e.childCount??0)>0&&!e.childSessions?.length,[o,s]=(0,_.useState)(null),[c,l]=(0,_.useState)(a);(0,_.useEffect)(()=>{if(!a||!n){l(!1);return}let t=!1;return l(!0),Gn(n,e.id).then(e=>{t||s(e)}).catch(()=>{}).finally(()=>{t||l(!1)}),()=>{t=!0}},[a,n,e.id]);let u=o??e,d=(u.childSessions?.length??0)>0,f=(e.executionPath??[]).filter(gi),p=Array.isArray(e.qaPairs)&&e.qaPairs.length>0,m=Array.isArray(e.skills)&&e.skills.length>0,h=Array.isArray(e.executionPath)&&e.executionPath.length>0,g=Array.isArray(e.rawLog)&&e.rawLog.length>0,v=Array.isArray(e.toolBreakdown)&&e.toolBreakdown.length>0,y=Array.isArray(e.filesChanged)&&e.filesChanged.length>0;return(0,F.jsxs)(`div`,{className:`session-detail-overlay`,role:`dialog`,"aria-label":`Session detail: ${e.title}`,children:[(0,F.jsxs)(`div`,{className:`session-detail__header`,children:[(0,F.jsx)(`button`,{className:`session-detail__back`,onClick:r,type:`button`,children:`← Back to project`}),(0,F.jsx)(`button`,{className:`session-detail__close`,onClick:r,"aria-label":`Close session detail`,type:`button`,children:`×`})]}),(0,F.jsxs)(`div`,{className:`session-detail__scroll`,children:[(0,F.jsxs)(`div`,{className:`session-detail__layout`,children:[(0,F.jsxs)(`div`,{className:`session-detail__main`,children:[(0,F.jsxs)(`div`,{className:`session-detail__breadcrumb`,children:[t,` / `,e.title]}),(0,F.jsx)(`h1`,{className:`session-detail__title`,children:e.title}),(0,F.jsx)(_i,{session:e}),c&&(0,F.jsx)(`div`,{className:`session-detail__timeline-loading`,"aria-label":`Loading agent activity`,children:`Loading agent activity...`}),!c&&d&&(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`AGENT ACTIVITY`}),(0,F.jsx)(ui,{session:u,variant:`full`})]}),e.developerTake&&(0,F.jsx)(vi,{take:e.developerTake}),e.context&&(0,F.jsxs)(`section`,{className:`session-detail__section`,children:[(0,F.jsx)(`h2`,{className:`session-detail__section-label`,children:`CONTEXT`}),(0,F.jsx)(`p`,{className:`session-detail__context`,children:e.context})]}),m&&(0,F.jsx)(yi,{skills:e.skills}),p&&(0,F.jsx)(bi,{pairs:e.qaPairs}),f.length>0&&(0,F.jsx)(xi,{steps:f})]}),(0,F.jsxs)(`div`,{className:`session-detail__sidebar`,children:[h&&(0,F.jsx)(Si,{steps:e.executionPath}),g&&(0,F.jsx)(Ci,{lines:e.rawLog}),(0,F.jsx)(wi,{session:e,projectName:t})]})]}),(0,F.jsxs)(`div`,{className:`session-detail__full-width`,children:[v&&(0,F.jsx)(Ti,{tools:e.toolBreakdown}),y&&(0,F.jsx)(Ei,{files:e.filesChanged,projectDirName:n,cwd:e.cwd})]})]})]})}function Oi(e){if(e<60)return`${Math.round(e)}m`;let t=e/60;return t>=10?`${Math.round(t)}h`:`${t.toFixed(1)}h`}function I(e){return e<1e3?String(e):`${(e/1e3).toFixed(1)}k`}function ki(e){return e?new Date(e).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`}):``}function Ai(e){if(!e)return``;let[t,n]=e.split(`|`);if(!t||!n)return``;let r=new Date(t),i=new Date(n),a=e=>e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`}),o=i.getFullYear();return`${a(r)}\u2013${a(i)}, ${o}`}var ji=[`overview`,`triage`,`enhance`,`questions`,`timeline`,`review`,`done`];function Mi({current:e}){let t=ji.indexOf(e);return(0,F.jsx)(`div`,{className:`phase-bar`,children:ji.slice(0,-1).map((e,n)=>(0,F.jsx)(`div`,{className:`phase-bar__segment ${n<=t?`phase-bar__segment--active`:``}`},n))})}function Ni({project:e,sessions:t,onTriage:n,onCancel:r}){let i=[...t].sort((e,t)=>{let n=e.date?new Date(e.date).getTime():0;return(t.date?new Date(t.date).getTime():0)-n});return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`Upload Project`}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:e.name}),(0,F.jsx)(`div`,{className:`upload-flow__date`,children:Ai(e.dateRange)}),(0,F.jsxs)(`p`,{className:`upload-flow__desc`,children:[`The AI will scan all `,e.sessionCount,` sessions, pick the ones worth showcasing, and build a project narrative. Small or trivial sessions are skipped automatically.`]}),(0,F.jsxs)(`div`,{className:`upload-flow__stat-grid`,children:[(0,F.jsx)(Pi,{label:`Sessions`,value:String(e.sessionCount)}),(0,F.jsx)(Pi,{label:`Total Time`,value:Oi(e.totalDuration)}),(0,F.jsx)(Pi,{label:`LOC`,value:I(e.totalLoc)}),(0,F.jsx)(Pi,{label:`Files`,value:String(e.totalFiles)})]}),(0,F.jsxs)(`div`,{className:`upload-flow__section-label`,children:[`All Sessions (`,t.length,`)`]}),(0,F.jsxs)(`div`,{className:`session-table`,children:[(0,F.jsxs)(`div`,{className:`session-table__header`,children:[(0,F.jsx)(`span`,{children:`Session`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`Date`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`Time`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`LOC`}),(0,F.jsx)(`span`,{style:{textAlign:`right`},children:`Turns`})]}),(0,F.jsx)(`div`,{className:`session-table__body`,children:i.map(e=>(0,F.jsxs)(`div`,{className:`session-table__row`,children:[(0,F.jsx)(`span`,{className:`session-table__name`,children:e.title}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:ki(e.date)}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:Oi(e.durationMinutes)}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:I(e.linesOfCode)}),(0,F.jsx)(`span`,{className:`session-table__cell`,children:e.turns})]},e.id))})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:r,children:`Cancel`}),(0,F.jsxs)(`button`,{className:`btn btn--primary btn--large`,onClick:n,children:[e.sessionCount<5?`Enhance all ${e.sessionCount} sessions`:`Let AI pick sessions`,` →`]})]})]})}function Pi({label:e,value:t}){return(0,F.jsxs)(`div`,{className:`stat-card`,children:[(0,F.jsx)(`div`,{className:`stat-card__label`,children:e}),(0,F.jsx)(`div`,{className:`stat-card__value`,children:t})]})}var Fi=[`◐`,`◑`,`◒`,`◓`];function L(){let[e,t]=(0,_.useState)(0);return(0,_.useEffect)(()=>{let e=setInterval(()=>t(e=>(e+1)%Fi.length),120);return()=>clearInterval(e)},[]),Fi[e]}function R(e,t){let n=[{id:`prompt`,text:`$ heyiam triage`,variant:`prompt`}],r=0,i=0,a=0,o=!1,s=!1,c=!1;for(let l of e)switch(l.type){case`scanning`:r=l.total,n.push({id:`scanning`,text:` Loading session stats... (${l.total} sessions)`,variant:`active`});break;case`loading_stats`:l.index;break;case`hard_floor`:{if(!o){let e=n.findIndex(e=>e.id===`scanning`);e!==-1&&(n[e]={id:`scanning-done`,text:` \u2713 Loaded ${r} sessions`,variant:`passed`}),n.push({id:`hf-header`,text:``,variant:`default`}),n.push({id:`hf-section`,text:` ── Hard floor filter ──`,variant:`section`}),o=!0}let e=l.sessionId.slice(0,8);l.passed?(i++,n.push({id:`hf-${l.sessionId}`,text:` \u2713 ${l.title||e} \u2192 passed`,variant:`passed`})):(a++,n.push({id:`hf-${l.sessionId}`,text:` \u2717 ${l.title||e} \u2192 skipped${l.reason?` (${l.reason})`:``}`,variant:`skipped`}));break}case`extracting_signals`:{s||=(o&&n.push({id:`hf-summary`,text:` \u2713 ${i} passed, ${a} filtered`,variant:`passed`}),n.push({id:`sig-header`,text:``,variant:`default`}),n.push({id:`sig-section`,text:` ── Signal extraction ──`,variant:`section`}),!0);let e=l.sessionId.slice(0,8);n.push({id:`sig-${l.sessionId}`,text:` ${t} Scanning ${l.title||e}...`,variant:`active`});break}case`signals_done`:{let e=n.findIndex(e=>e.id===`sig-${l.sessionId}`);if(e!==-1){let t=l.sessionId.slice(0,8);n[e]={id:`sig-done-${l.sessionId}`,text:` \u2713 ${t}: signals extracted`,variant:`passed`}}break}case`llm_ranking`:c||=(n.push({id:`rank-header`,text:``,variant:`default`}),n.push({id:`rank-section`,text:` ── AI ranking ──`,variant:`section`}),!0),n.push({id:`llm-ranking`,text:` ${t} Sending ${l.sessionCount} sessions to AI...`,variant:`active`});break;case`scoring_fallback`:c||=(n.push({id:`rank-header`,text:``,variant:`default`}),n.push({id:`rank-section`,text:` ── Scoring ──`,variant:`section`}),!0),n.push({id:`scoring-fallback`,text:` ${t} Scoring ${l.sessionCount} sessions...`,variant:`active`});break;case`done`:let e=n.findIndex(e=>e.id===`llm-ranking`||e.id===`scoring-fallback`);e!==-1&&(n[e]={id:`rank-done`,text:` \u2713 AI selected ${l.selected} sessions`,variant:`passed`});break;case`result`:break}return n}function Ii({events:e,dirName:t}){let n=L(),r=(0,_.useRef)(null),i=R(e,n);return(0,_.useEffect)(()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},[i.length]),(0,F.jsx)(`div`,{className:`triage-terminal`,role:`log`,"aria-live":`polite`,"aria-label":`Triage progress`,children:(0,F.jsx)(`div`,{className:`triage-terminal__feed`,ref:r,children:i.map(e=>(0,F.jsx)(`div`,{className:`triage-terminal__line${e.variant===`prompt`?` triage-terminal__prompt`:e.variant===`section`?` triage-terminal__section`:e.variant===`passed`?` triage-terminal__line--passed`:e.variant===`skipped`?` triage-terminal__line--skipped`:e.variant===`active`?` triage-terminal__line--active`:``}`,children:e.text},e.id))})})}function Li({sessionId:e,title:t,stats:n,reason:r,variant:i,checked:a,onToggle:o,dimTitle:s,previouslyPublished:c}){let[l,u]=(0,_.useState)(!1),d=r.length>(i===`selected`?60:40),f=i===`selected`?r.length>60?r.slice(0,57)+`...`:r:r.length>40?r.slice(0,37)+`...`:r;return(0,F.jsxs)(`div`,{className:`triage-item ${a?`triage-item--selected`:`triage-item--skipped`}`,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:a,onChange:o,className:`triage-item__checkbox`}),(0,F.jsxs)(`div`,{className:`triage-item__info`,children:[(0,F.jsxs)(`div`,{className:`triage-item__name`,style:s?{color:`var(--on-surface-variant)`}:void 0,children:[t,c&&(0,F.jsx)(`span`,{className:`triage-item__published-badge`,children:`previously published`})]}),(0,F.jsx)(`div`,{className:`triage-item__stats`,children:n})]}),(0,F.jsx)(`div`,{className:`triage-item__reason triage-item__reason--${i} ${d?`triage-item__reason--expandable`:``}`,onClick:d?()=>u(!l):void 0,role:d?`button`:void 0,tabIndex:d?0:void 0,onKeyDown:d?e=>{e.key===`Enter`&&u(!l)}:void 0,children:l?r:f})]})}function Ri({project:e,sessions:t,triageResult:n,selectedIds:r,onToggle:i,onEnhance:a,onBack:o,publishedSessionIds:s}){let c=new Map(t.map(e=>[e.id,e])),l=r.size,u=t.length-l;return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`triage`}),(0,F.jsxs)(`div`,{className:`upload-flow__scan-status`,children:[`✓ Scanned `,t.length,` sessions · `,Oi(e.totalDuration),` · `,I(e.totalLoc),` LOC`]}),(0,F.jsxs)(`h2`,{className:`upload-flow__title`,children:[`AI selected `,l,` sessions to showcase`]}),(0,F.jsxs)(`p`,{className:`upload-flow__desc`,children:[`Skipped `,u,` sessions that were too small, purely mechanical, or redundant. You can override any selection.`]}),n.triageMethod===`scoring`&&(0,F.jsxs)(`div`,{className:`triage-method-banner`,children:[(0,F.jsx)(`span`,{className:`triage-method-banner__icon`,"aria-hidden":`true`,children:`ⓘ`}),(0,F.jsx)(`span`,{children:`Sessions selected by signal analysis (no API key configured). `}),(0,F.jsx)(`a`,{href:`/settings`,className:`triage-method-banner__link`,children:`Go to Settings`})]}),(0,F.jsxs)(`div`,{className:`upload-flow__section-label upload-flow__section-label--selected`,children:[`✓ Selected for showcase (`,l,`)`]}),(0,F.jsx)(`div`,{className:`triage-list`,children:n.selected.map(e=>{let t=c.get(e.sessionId),n=r.has(e.sessionId);return(0,F.jsx)(Li,{sessionId:e.sessionId,title:t?.title??e.sessionId,stats:t?`${Oi(t.durationMinutes)} \u00b7 ${I(t.linesOfCode)} LOC \u00b7 ${t.turns} turns`:``,reason:e.reason,variant:`selected`,checked:n,onToggle:()=>i(e.sessionId),previouslyPublished:s?.has(e.sessionId)},e.sessionId)})}),(0,F.jsxs)(`details`,{className:`triage-skipped`,children:[(0,F.jsxs)(`summary`,{className:`triage-skipped__summary`,children:[(0,F.jsx)(`span`,{children:`▶`}),` Skipped (`,n.skipped.length,`) — click to override`]}),(0,F.jsx)(`div`,{className:`triage-list`,style:{marginTop:`var(--spacing-3)`},children:n.skipped.map(e=>{let t=c.get(e.sessionId),n=r.has(e.sessionId);return(0,F.jsx)(Li,{sessionId:e.sessionId,title:t?.title??e.sessionId,stats:t?`${Oi(t.durationMinutes)} \u00b7 ${I(t.linesOfCode)} LOC \u00b7 ${t.turns} turns`:``,reason:e.reason,variant:`skipped`,checked:n,onToggle:()=>i(e.sessionId),dimTitle:!n,previouslyPublished:s?.has(e.sessionId)},e.sessionId)})})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:o,children:`Back`}),(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:a,disabled:l===0,children:`Enhance project →`})]})]})}function zi({project:e,sessions:t,selectedIds:n,triageResult:r,onComplete:i,onBack:a}){let o=new Map(t.map(e=>[e.id,e])),[s,c]=(0,_.useState)(()=>{let e=r.selected.filter(e=>n.has(e.sessionId)),t=r.skipped.filter(e=>n.has(e.sessionId));return[...e,...t].map(e=>({sessionId:e.sessionId,title:o.get(e.sessionId)?.title??e.sessionId,status:`pending`}))}),[l,u]=(0,_.useState)(`waiting`),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)([]),[h,g]=(0,_.useState)(``),[v,y]=(0,_.useState)(null),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),w=(0,_.useRef)(null),T=(0,_.useRef)(null),E=(0,_.useCallback)(t=>{if(!e.dirName)return;t&&(x(null),f(null),u(`waiting`),g(``),m([]),y(null),c(e=>e.map(e=>({...e,status:`pending`}))));let i=r.skipped.filter(e=>!n.has(e.sessionId)).map(e=>{let t=o.get(e.sessionId);return{title:t?.title??e.sessionId,duration:t?.durationMinutes??0,loc:t?.linesOfCode??0}}),a=Zn(e.dirName,Array.from(n),i,e=>{switch(e.type){case`session_progress`:c(t=>t.map(t=>t.sessionId===e.sessionId?{...t,status:e.status,title:e.title||t.title,detail:e.detail}:t)),(e.status===`done`||e.status===`skipped`)&&e.skills&&m(t=>{let n=new Set(t);for(let t of e.skills)n.add(t);return[...n]});break;case`project_enhance`:u(`generating`);break;case`narrative_chunk`:g(t=>t+e.text);break;case`cached`:x(e.enhancedAt),c(e=>e.map(e=>({...e,status:`done`}))),u(`done`);break;case`done`:u(`done`),f(e.result);break;case`error`:y(e.message);break}},t);return w.current=a,a},[e.dirName,n,r,o]);(0,_.useEffect)(()=>{let e=E(S);return()=>e?.abort()},[S]);let D=s.filter(e=>e.status!==`pending`).length;(0,_.useEffect)(()=>{if(!T.current||D===0)return;let e=T.current.querySelectorAll(`.enhance-feed-item:not(.enhance-feed-item--pending)`),t=e[e.length-1];t&&t.scrollIntoView({block:`nearest`,behavior:`smooth`})},[D]);let O=d!==null,k=d?.skills??p,ee=s.filter(e=>e.status===`failed`),A=s.filter(e=>e.status===`done`||e.status===`skipped`),te=s.every(e=>e.status!==`pending`&&e.status!==`enhancing`),ne=ee.length>0,re=A.length>0,ie=(0,_.useCallback)(()=>{c(e=>e.map(e=>e.status===`failed`?{...e,status:`pending`,detail:void 0}:e)),y(null),w.current?.abort(),C(e=>!e)},[]),j=(0,_.useCallback)(()=>{i({narrative:``,arc:[],skills:p,timeline:[],questions:[]})},[p,i]);return(0,F.jsxs)(`div`,{className:`enhance-split`,children:[(0,F.jsxs)(`div`,{className:`enhance-split__left`,children:[(0,F.jsx)(`div`,{className:`enhance-split__left-header`,children:`Session Processing`}),(0,F.jsx)(`div`,{className:`enhance-split__feed`,ref:T,children:s.map(e=>(0,F.jsxs)(`div`,{className:`enhance-feed-item ${e.status===`pending`?`enhance-feed-item--pending`:``} ${e.status===`failed`?`enhance-feed-item--failed`:``}`,children:[(0,F.jsxs)(`div`,{className:`enhance-feed-item__row`,children:[e.status===`done`||e.status===`skipped`?(0,F.jsx)(`span`,{className:`enhance-feed-item__check`,children:`✓`}):e.status===`failed`?(0,F.jsx)(`span`,{className:`enhance-feed-item__fail`,children:`✗`}):e.status===`enhancing`?(0,F.jsx)(`span`,{className:`enhance-feed-item__spinner`}):(0,F.jsx)(`span`,{className:`enhance-feed-item__circle`,children:`◯`}),(0,F.jsx)(`span`,{className:`enhance-feed-item__title ${e.status===`enhancing`?`enhance-feed-item__title--active`:``} ${e.status===`failed`?`enhance-feed-item__title--failed`:``}`,children:e.title})]}),e.detail&&e.status!==`pending`&&(0,F.jsx)(`div`,{className:`enhance-feed-item__detail ${e.status===`failed`?`enhance-feed-item__detail--failed`:``}`,children:e.detail})]},e.sessionId))}),(0,F.jsxs)(`div`,{className:`enhance-split__narrative-box`,children:[(0,F.jsx)(`div`,{className:`enhance-split__narrative-label`,children:`PROJECT NARRATIVE`}),(0,F.jsx)(`div`,{className:`enhance-split__narrative-status`,children:b&&l===`done`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`enhance-feed-item__check`,children:`✓`}),(0,F.jsxs)(`span`,{children:[`Loaded from cache (`,new Date(b).toLocaleDateString(),`)`]})]}):l===`done`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`enhance-feed-item__check`,children:`✓`}),(0,F.jsx)(`span`,{children:`Project story complete`})]}):l===`generating`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`enhance-split__blink-dot`}),(0,F.jsxs)(`span`,{children:[`Building project story from `,n.size,` sessions...`]})]}):(0,F.jsx)(`span`,{children:`Waiting for session processing...`})})]})]}),(0,F.jsxs)(`div`,{className:`enhance-split__right`,children:[(0,F.jsx)(Mi,{current:`enhance`}),v?(0,F.jsxs)(`div`,{className:`enhance-error`,style:{marginTop:`var(--spacing-4)`},children:[(0,F.jsx)(`div`,{className:`enhance-error__message`,children:v}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:a,children:`Back`}),(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:ie,children:`Retry`}),re&&(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:j,children:`Publish without narrative`})]})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`Project Story`}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:e.name}),!h&&!d?.narrative&&(0,F.jsxs)(`div`,{className:`enhance-split__narrative-placeholder`,children:[(0,F.jsx)(`span`,{className:`enhance-split__blink-dot`}),(0,F.jsx)(`span`,{children:l===`generating`?`Writing project narrative...`:`Analyzing sessions — narrative will appear here...`})]}),(h||d?.narrative)&&(0,F.jsxs)(`div`,{className:`enhance-split__narrative-text`,children:[d?.narrative??h,l===`generating`&&(0,F.jsx)(`span`,{className:`typewriter-cursor`,"aria-hidden":`true`})]}),k.length>0&&(0,F.jsx)(`div`,{className:`enhance-split__skills`,children:k.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))}),d?.arc&&d.arc.length>0&&(()=>{let e=d.arc;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginTop:`var(--spacing-6)`},children:`Project Arc`}),(0,F.jsx)(`div`,{className:`enhance-split__arc`,children:e.map((t,n)=>(0,F.jsxs)(`div`,{className:`enhance-split__arc-item ${!O&&n===e.length-1?`enhance-split__arc-item--generating`:``}`,children:[(0,F.jsx)(`div`,{className:`enhance-split__arc-num`,children:String(t.phase).padStart(2,`0`)}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:`enhance-split__arc-title`,children:t.title}),(0,F.jsx)(`div`,{className:`enhance-split__arc-desc`,children:t.description})]})]},n))})]})})(),te&&ne&&!O&&(0,F.jsxs)(`div`,{className:`enhance-split__failure-recovery`,children:[(0,F.jsxs)(`p`,{className:`enhance-split__failure-text`,children:[ee.length,` session`,ee.length===1?``:`s`,` failed to enhance.`]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:ie,children:`Retry failed`}),re&&(0,F.jsxs)(`button`,{className:`btn btn--primary btn--large`,onClick:j,children:[`Continue with `,A.length,` successful →`]})]})]}),O&&(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[b&&(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:()=>{w.current?.abort(),C(!0)},children:`Re-enhance`}),(0,F.jsxs)(`button`,{className:`btn btn--primary btn--large`,onClick:()=>i(d),children:[d.questions.length>0?`Answer a few questions`:`Continue`,` →`]})]})]})]})]})}var Bi={pattern:`Pattern detected`,architecture:`Architecture`,evolution:`Evolution`};function Vi({enhanceResult:e,onSkip:t,onWeave:n}){let[r,i]=(0,_.useState)(new Map),[a,o]=(0,_.useState)(!1),s=(0,_.useCallback)((e,t)=>{i(n=>{let r=new Map(n);return r.set(e,t),r})},[]),c=Array.from(r.values()).some(e=>e.trim().length>0),l=(0,_.useCallback)(()=>{let t=e.questions.filter(e=>(r.get(e.id)??``).trim().length>0).map(e=>({questionId:e.id,question:e.question,answer:r.get(e.id).trim()}));o(!0),n(t)},[r,e.questions,n]);return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`questions`}),(0,F.jsxs)(`div`,{className:`upload-flow__scan-status`,children:[`✓ `,e.timeline.reduce((e,t)=>e+t.sessions.length,0),` sessions enhanced · Project narrative generated`]}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:`A few things we noticed`}),(0,F.jsx)(`p`,{className:`upload-flow__desc`,children:`Your answers get woven into the narrative. Skip any you don't want to answer.`}),(0,F.jsx)(`div`,{className:`questions-list`,children:e.questions.map(e=>(0,F.jsxs)(`div`,{className:`question-card`,children:[(0,F.jsx)(`div`,{className:`question-card__tag-row`,children:(0,F.jsx)(`span`,{className:`question-card__tag question-card__tag--${e.category}`,children:Bi[e.category]??e.category})}),(0,F.jsx)(`div`,{className:`question-card__text`,children:e.question}),(0,F.jsx)(`textarea`,{className:`question-card__textarea`,value:r.get(e.id)??``,onChange:t=>s(e.id,t.target.value),placeholder:e.context||``,rows:3})]},e.id))}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:t,disabled:a,children:`Skip questions`}),(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:l,disabled:!c||a,children:a?`Weaving...`:`Weave into narrative →`})]})]})}function Hi({project:e,timeline:t,onBack:n,onReview:r}){let i=t.reduce((e,t)=>e+t.sessions.length,0);return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`timeline`}),(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`Project Timeline`}),(0,F.jsxs)(`h2`,{className:`upload-flow__title`,children:[e.name,` `,(0,F.jsxs)(`span`,{style:{fontWeight:400,fontSize:`1rem`,color:`var(--on-surface-variant)`},children:[i,` sessions`]})]}),(0,F.jsx)(`p`,{className:`upload-flow__desc`,children:e.description}),(0,F.jsxs)(`div`,{className:`timeline`,children:[(0,F.jsx)(`div`,{className:`timeline__line`}),t.map((e,t)=>{let n=e.sessions.filter(e=>e.featured),r=e.sessions.filter(e=>!e.featured);return(0,F.jsxs)(`div`,{className:`timeline__period`,children:[(0,F.jsxs)(`div`,{className:`timeline__period-header`,children:[(0,F.jsx)(`span`,{className:`timeline__period-date`,children:e.period}),(0,F.jsx)(`span`,{className:`timeline__period-sep`,children:`—`}),(0,F.jsx)(`span`,{className:`timeline__period-label`,children:e.label})]}),n.map(e=>(0,F.jsxs)(`div`,{className:`timeline__featured`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--large`}),(0,F.jsxs)(`div`,{className:`timeline__card`,children:[(0,F.jsxs)(`div`,{className:`timeline__card-header`,children:[(0,F.jsx)(`span`,{className:`timeline__card-title`,children:e.title}),e.tag&&(0,F.jsx)(`span`,{className:`timeline__card-tag`,children:e.tag})]}),(0,F.jsxs)(`div`,{className:`timeline__card-meta`,children:[(0,F.jsx)(`span`,{children:Oi(e.duration)}),e.date&&(0,F.jsx)(`span`,{children:ki(e.date)})]}),e.description&&(0,F.jsx)(`p`,{className:`timeline__card-desc`,children:e.description}),e.skills&&e.skills.length>0&&(0,F.jsx)(`div`,{className:`timeline__card-skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]})]},e.sessionId)),r.length>0&&(0,F.jsxs)(`div`,{className:`timeline__collapsed`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--small`}),(0,F.jsx)(Ui,{sessions:r})]})]},t)})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{className:`btn btn--secondary btn--large`,onClick:n,children:`Back`}),(0,F.jsx)(`button`,{className:`btn btn--primary btn--large`,onClick:r,children:`Review & publish →`})]})]})}function Ui({sessions:e}){let t=e.map(e=>e.title.toLowerCase()).join(`, `),n=e.filter(e=>e.date).map(e=>e.date).sort(),r=n.length>=2?`${ki(n[0])} \u2013 ${ki(n[n.length-1])}`:n.length===1?ki(n[0]):``;return(0,F.jsxs)(`span`,{className:`timeline__collapsed-text`,children:[e.length,` smaller session`,e.length===1?``:`s`,` — `,t,r&&(0,F.jsxs)(F.Fragment,{children:[` · `,r]})]})}var Wi=[{period:`Mar 3–7`,label:`Foundation`,sessions:[{sessionId:`placeholder-1`,title:`Project scaffolding & architecture`,description:`Set up the monorepo structure, CI pipeline, and core abstractions.`,duration:145,featured:!0,tag:`KEY DECISION`,skills:[`Architecture`,`CI/CD`],date:`2026-03-03`},{sessionId:`placeholder-2`,title:`Dependency setup`,duration:30,featured:!1,date:`2026-03-04`},{sessionId:`placeholder-3`,title:`Initial config`,duration:15,featured:!1,date:`2026-03-05`}]},{period:`Mar 10–14`,label:`Core Implementation`,sessions:[{sessionId:`placeholder-4`,title:`Data model & API design`,description:`Designed the schema and REST endpoints for the core domain.`,duration:210,featured:!0,skills:[`API Design`,`PostgreSQL`],date:`2026-03-10`},{sessionId:`placeholder-5`,title:`Frontend component library`,description:`Built reusable components following the design system.`,duration:180,featured:!0,skills:[`React`,`CSS`],date:`2026-03-12`}]}];function Gi(e){return e===0?`0`:e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}k`:String(e)}function Ki(e){return e>=1e3?`+${(e/1e3).toFixed(e>=1e4?0:1)}k`:`+${e}`}function qi(e){if(e<=0)return[0];let t=e/4,n=10**Math.floor(Math.log10(t)),r=[1,2,2.5,5,10],i=n;for(let e of r)if(e*n>=t){i=e*n;break}let a=[];for(let t=0;t<=e+i*.1;t+=i)a.push(Math.round(t));return a[a.length-1]<e&&a.push(a[a.length-1]+Math.round(i)),a}var Ji=300*1e3,Yi=3600*1e3,Xi=600*1e3;function Zi(e,t,n,r){let i=e.map(e=>new Date(e.timestamp).getTime()).filter(e=>!isNaN(e)&&e>=t&&e<=n+Ji).sort((e,t)=>e-t);if(i.length===0)return[{time:n,locDelta:r*e.length}];let a=new Map;for(let e of i){let n=t+Math.floor((e-t)/Ji)*Ji;a.set(n,(a.get(n)??0)+1)}return Array.from(a.entries()).sort(([e],[t])=>e-t).map(([e,t])=>({time:e+Ji/2,locDelta:t*r}))}function Qi(e){let t=[...e].filter(e=>e.date).sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime());if(t.length===0)return{points:[],boundaries:[],totalVisualTime:0};let n=[],r=[],i=0;for(let e=0;e<t.length;e++){let a=t[e],o=new Date(a.date).getTime(),s=a.endTime?new Date(a.endTime).getTime():o+a.durationMinutes*60*1e3,c=Math.max(0,a.linesOfCode);if(r.push({realTime:o,title:a.title,sessionIndex:e}),n.push({realTime:o,cumulativeLoc:i,sessionIndex:e}),c===0){n.push({realTime:s,cumulativeLoc:i,sessionIndex:e});continue}let l=a.turnTimeline;if(!l||l.length===0){i+=c,n.push({realTime:s,cumulativeLoc:i,sessionIndex:e});continue}let u=l.filter(e=>e.type===`tool`&&e.tools&&e.tools.some(e=>/edit|write/i.test(e))),d=u.length>0?u:l.filter(e=>e.type===`tool`&&e.timestamp);if(d.length===0){i+=c,n.push({realTime:s,cumulativeLoc:i,sessionIndex:e});continue}let f=Zi(d,o,s,c/d.length);for(let t of f)i+=t.locDelta,n.push({realTime:t.time,cumulativeLoc:i,sessionIndex:e})}if(n.length===0)return{points:[],boundaries:[],totalVisualTime:0};let a=0,o=n[0].realTime,s=new Map;for(let e of n){let t=e.realTime-o;t>Yi?a+=Xi:a+=Math.max(0,t),s.set(e.realTime,a),o=e.realTime}return{points:n.map(e=>({visualTime:s.get(e.realTime)??0,cumulativeLoc:e.cumulativeLoc,sessionIndex:e.sessionIndex})),boundaries:r.map(e=>{let t=0,n=1/0;for(let[r,i]of s.entries()){let a=Math.abs(r-e.realTime);a<n&&(n=a,t=i)}return{visualTime:t,title:e.title,sessionIndex:e.sessionIndex}}),totalVisualTime:a}}function $i(e){if(e.length===0)return``;if(e.length===1)return`M${e[0].x.toFixed(1)},${e[0].y.toFixed(1)}`;if(e.length===2)return`M${e[0].x.toFixed(1)},${e[0].y.toFixed(1)} L${e[1].x.toFixed(1)},${e[1].y.toFixed(1)}`;let t=.3,n=`M${e[0].x.toFixed(1)},${e[0].y.toFixed(1)}`;for(let r=0;r<e.length-1;r++){let i=e[Math.max(0,r-1)],a=e[r],o=e[r+1],s=e[Math.min(e.length-1,r+2)],c=a.x+(o.x-i.x)*t,l=a.y+(o.y-i.y)*t,u=o.x-(s.x-a.x)*t,d=o.y-(s.y-a.y)*t;n+=` C${c.toFixed(1)},${l.toFixed(1)} ${u.toFixed(1)},${d.toFixed(1)} ${o.x.toFixed(1)},${o.y.toFixed(1)}`}return n}function ea(e,t=14){return e.length>t?e.slice(0,t-1)+`…`:e}function ta({sessions:e,totalLoc:t,totalFiles:n,onSessionClick:r}){if(e.length===0)return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,children:(0,F.jsx)(`p`,{style:{color:`var(--on-surface-variant)`,fontFamily:`var(--font-mono)`,fontSize:`0.75rem`},children:`No session data available for growth chart.`})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:`0`}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`})]})]});let i=e.filter(e=>e.date);if(i.length===0)return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,children:(0,F.jsx)(`p`,{style:{color:`var(--on-surface-variant)`,fontFamily:`var(--font-mono)`,fontSize:`0.75rem`},children:`No dated sessions available for growth chart.`})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:I(t)}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`})]})]});let a=[...i].sort((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()),{points:o,boundaries:s,totalVisualTime:c}=Qi(i);if(o.length===0)return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,children:(0,F.jsx)(`p`,{style:{color:`var(--on-surface-variant)`,fontFamily:`var(--font-mono)`,fontSize:`0.75rem`},children:`No dated sessions available for growth chart.`})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:I(t)}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`})]})]});let l=qi(Math.max(...o.map(e=>e.cumulativeLoc),1)),u=l[l.length-1]||1,d=Math.max(600,Math.round(c/6e4*.8)+120),f=d-48-16,p=c||1,m=e=>48+e/p*f,h=e=>212-e/u*180,g=o.map(e=>({x:m(e.visualTime),y:h(e.cumulativeLoc)})),_=$i(g),v=g[g.length-1],y=g[0],b=_+` L${v.x.toFixed(1)},${212 .toFixed(1)} L${y.x.toFixed(1)},${212 .toFixed(1)} Z`,x=s.filter((e,t)=>t===0||Math.abs(e.visualTime-s[t-1].visualTime)>.001),S=i.length,C=d>600;return(0,F.jsxs)(`div`,{className:`growth-chart`,children:[(0,F.jsx)(`div`,{className:`growth-chart__svg-container`,style:C?{overflowX:`auto`}:void 0,children:(0,F.jsxs)(`svg`,{viewBox:`0 0 ${d} 260`,width:C?d:`100%`,height:C?260:void 0,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":`Growth chart showing cumulative lines of code across ${S} sessions`,children:[l.map(e=>(0,F.jsxs)(`g`,{children:[(0,F.jsx)(`line`,{x1:48,y1:h(e),x2:d-16,y2:h(e),stroke:`var(--outline-variant)`,strokeWidth:`0.5`,strokeDasharray:`4,4`}),(0,F.jsx)(`text`,{x:40,y:h(e)+3,textAnchor:`end`,fontFamily:`var(--font-mono)`,fontSize:`9`,fill:`var(--on-surface-variant)`,children:Gi(e)})]},`y-${e}`)),x.map((e,t)=>{let n=r&&a[e.sessionIndex];return(0,F.jsxs)(`g`,{style:n?{cursor:`pointer`}:void 0,onClick:n?()=>r(a[e.sessionIndex]):void 0,children:[(0,F.jsx)(`line`,{x1:m(e.visualTime),y1:32,x2:m(e.visualTime),y2:212,stroke:`var(--outline-variant)`,strokeWidth:`0.5`,strokeDasharray:`3,3`}),(0,F.jsx)(`text`,{x:m(e.visualTime),y:228,textAnchor:`middle`,fontFamily:`var(--font-mono)`,fontSize:`8`,fill:n?`var(--primary)`:`var(--on-surface-variant)`,textDecoration:n?`underline`:void 0,children:ea(e.title)})]},`boundary-${t}`)}),(0,F.jsx)(`path`,{d:b,fill:`rgba(8,68,113,0.06)`}),(0,F.jsx)(`path`,{d:_,fill:`none`,stroke:`var(--primary)`,strokeWidth:`2`,strokeLinejoin:`round`,strokeLinecap:`round`}),x.map((e,t)=>{let n=o.filter(t=>t.sessionIndex===e.sessionIndex);if(n.length===0)return null;let r=n[n.length-1],i=n[0],a=r.cumulativeLoc-i.cumulativeLoc+(i===o[0]?i.cumulativeLoc:0);return(0,F.jsxs)(`g`,{children:[(0,F.jsx)(`circle`,{cx:m(r.visualTime),cy:h(r.cumulativeLoc),r:`3`,fill:`var(--secondary)`}),a>0&&(0,F.jsx)(`text`,{x:m(r.visualTime),y:h(r.cumulativeLoc)-8,textAnchor:`middle`,fontFamily:`var(--font-mono)`,fontSize:`8`,fill:`var(--secondary)`,children:Ki(a)})]},`dot-${t}`)})]})}),(0,F.jsxs)(`div`,{className:`growth-chart__summary`,children:[(0,F.jsx)(`div`,{className:`growth-chart__total-value`,children:I(t)}),(0,F.jsx)(`div`,{className:`growth-chart__total-label`,children:`LINES OF CODE`}),(0,F.jsxs)(`div`,{className:`growth-chart__stat`,children:[(0,F.jsx)(`div`,{className:`growth-chart__stat-value`,children:n}),(0,F.jsx)(`div`,{className:`growth-chart__stat-label`,children:`FILES TOUCHED`})]}),(0,F.jsxs)(`div`,{className:`growth-chart__stat`,children:[(0,F.jsx)(`div`,{className:`growth-chart__stat-value`,children:S}),(0,F.jsx)(`div`,{className:`growth-chart__stat-label`,children:`SESSIONS`})]})]})]})}function na(e,t,n){if(n&&e.startsWith(n))return e.slice(n.length).replace(/^\//,``)||e;let r=t.replace(/^-/,`/`).replace(/-/g,`/`);return e.startsWith(r)&&e.slice(r.length).replace(/^\//,``)||e}function ra(e){let t=e.split(`/`).filter(Boolean);if(t.length<=1)return`/`;let n=Math.min(t.length-1,2);return t.slice(0,n).join(`/`)+`/`}function ia(e,t){let n=new Map,r=new Map,i=new Map;for(let a of e)if(a.filesChanged)for(let e of a.filesChanged){if(!e.path||typeof e.path!=`string`)continue;let o=e.editCount??e.additions+e.deletions,s=na(e.path,t,a.cwd),c=ra(s);n.has(c)||n.set(c,new Map);let l=n.get(c);l.set(a.id,(l.get(a.id)??0)+o),r.set(c,(r.get(c)??0)+o),i.set(s,(i.get(s)??0)+o)}let a=Array.from(r.entries()).sort((e,t)=>t[1]-e[1]).slice(0,10).map(([e])=>e),o=new Map,s=0;for(let t of a){let r=n.get(t);if(r)for(let n of e){let e=r.get(n.id)??0;o.set(`${t}|${n.id}`,e),e>s&&(s=e)}}let c=Array.from(i.entries()).map(([e,t])=>({path:e,editCount:t})).sort((e,t)=>t.editCount-e.editCount).slice(0,10);return{directories:a,grid:o,maxEdits:s,files:c,totalFiles:i.size}}function aa(e,t){return e===0?.02:t===0?.05:.05+e/t*.65}function oa(e,t=15){return e.length<=t?e:e.slice(0,t-1)+`…`}function sa({sessions:e,projectDirName:t}){let{directories:n,grid:r,maxEdits:i,files:a,totalFiles:o}=ia(e,t);if(n.length===0)return(0,F.jsxs)(`div`,{className:`dir-heatmap`,children:[(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`EDIT HEATMAP BY DIRECTORY`}),(0,F.jsx)(`p`,{className:`dir-heatmap__empty`,children:`No file data available`})]});let s=e.length;return(0,F.jsxs)(`div`,{className:`dir-heatmap`,children:[(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`EDIT HEATMAP BY DIRECTORY`}),(0,F.jsxs)(`div`,{className:`dir-heatmap__grid`,style:{gridTemplateColumns:`150px repeat(${s}, 1fr)`},role:`table`,"aria-label":`Directory edit heatmap`,children:[(0,F.jsx)(`div`,{className:`dir-heatmap__corner`,role:`columnheader`}),e.map(e=>(0,F.jsx)(`div`,{className:`dir-heatmap__session-label`,role:`columnheader`,title:e.title,children:oa(e.title)},e.id)),n.map(t=>(0,F.jsxs)(_.Fragment,{children:[(0,F.jsx)(`div`,{className:`dir-heatmap__dir-label`,role:`rowheader`,title:t,children:t}),e.map(e=>{let n=r.get(`${t}|${e.id}`)??0;return(0,F.jsx)(`div`,{className:`dir-heatmap__cell`,style:{background:`rgba(8,68,113,${aa(n,i)})`},role:`cell`,title:`${t} in ${e.title}: ${n} edits`,"aria-label":`${t} in ${e.title}: ${n} edits`},e.id)})]},t))]}),(0,F.jsxs)(`div`,{className:`dir-heatmap__legend`,"aria-hidden":`true`,children:[(0,F.jsx)(`span`,{children:`Intensity = edit count`}),(0,F.jsx)(`span`,{style:{display:`inline-block`,width:12,height:12,background:`rgba(8,68,113,0.05)`,borderRadius:2}}),(0,F.jsx)(`span`,{style:{display:`inline-block`,width:12,height:12,background:`rgba(8,68,113,0.35)`,borderRadius:2}}),(0,F.jsx)(`span`,{style:{display:`inline-block`,width:12,height:12,background:`rgba(8,68,113,0.7)`,borderRadius:2}}),(0,F.jsx)(`span`,{children:`low → high`})]}),(0,F.jsxs)(`details`,{className:`dir-heatmap__top-files`,children:[(0,F.jsxs)(`summary`,{className:`dir-heatmap__top-files-summary`,children:[`Top `,a.length,` most-edited files (of `,o,` total) →`]}),(0,F.jsx)(`div`,{role:`list`,"aria-label":`Most edited files`,children:a.map(e=>(0,F.jsxs)(`div`,{className:`dir-heatmap__file-row`,role:`listitem`,children:[(0,F.jsx)(`span`,{className:`dir-heatmap__file-path`,title:e.path,children:e.path}),(0,F.jsxs)(`span`,{className:`dir-heatmap__file-count`,children:[e.editCount,` edits`]})]},e.path))})]})]})}var z=[`var(--primary)`,`var(--secondary)`,`var(--tertiary)`];function ca({project:e,narrative:t,skills:n,timeline:r,selectedCount:i,sessions:a,repoUrl:o,projectUrl:s,onClose:c}){let[l,u]=(0,_.useState)(null);r.reduce((e,t)=>e+t.sessions.length,0);let d=a.length>0?Math.max(...a.map(e=>e.durationMinutes)):1;return(0,_.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!l&&c()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[c,l]),(0,F.jsxs)(`div`,{className:`project-preview`,role:`dialog`,"aria-label":`Project preview`,children:[(0,F.jsx)(`div`,{className:`project-preview__banner`,children:`Preview — this is how your project will appear on heyi.am`}),(0,F.jsx)(`button`,{className:`project-preview__close`,onClick:c,"aria-label":`Close preview`,children:`Close preview ×`}),(0,F.jsxs)(`div`,{className:`project-preview__content`,children:[(0,F.jsxs)(`div`,{className:`project-preview__breadcrumb`,children:[`ben / `,e.name]}),(0,F.jsx)(`h1`,{className:`project-preview__title`,children:e.name}),(o||s)&&(0,F.jsxs)(`div`,{className:`project-preview__links`,children:[o&&(0,F.jsxs)(`a`,{href:o,className:`project-preview__link`,target:`_blank`,rel:`noopener noreferrer`,children:[(0,F.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`,children:(0,F.jsx)(`path`,{d:`M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z`})}),`Repo`]}),s&&(0,F.jsxs)(`a`,{href:s,className:`project-preview__link`,target:`_blank`,rel:`noopener noreferrer`,children:[(0,F.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,"aria-hidden":`true`,children:(0,F.jsx)(`path`,{d:`M5 1H2a1 1 0 00-1 1v10a1 1 0 001 1h10a1 1 0 001-1V9M8 1h5v5M13 1L6 8`,strokeLinecap:`round`,strokeLinejoin:`round`})}),`Live site`]})]}),t&&(0,F.jsx)(`div`,{className:`project-preview__narrative`,children:t}),n.length>0&&(0,F.jsx)(`div`,{className:`project-preview__skills`,children:n.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))}),(0,F.jsx)(`div`,{className:`project-preview__screenshot`,children:(0,F.jsxs)(`div`,{className:`project-preview__screenshot-inner`,children:[(0,F.jsx)(`span`,{"aria-hidden":`true`,children:`📷`}),(0,F.jsx)(`span`,{children:`Project screenshot`})]})}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stats`,children:[(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsx)(`div`,{className:`project-preview__hero-value project-preview__hero-value--primary`,children:Oi(e.totalDuration)}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`Total Time`})]}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsxs)(`div`,{className:`project-preview__hero-value`,children:[e.sessionCount,` (`,i,`)`]}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`Sessions`})]}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsx)(`div`,{className:`project-preview__hero-value`,children:I(e.totalLoc)}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`LOC`})]}),(0,F.jsxs)(`div`,{className:`project-preview__hero-stat`,children:[(0,F.jsx)(`div`,{className:`project-preview__hero-value`,children:e.totalFiles}),(0,F.jsx)(`div`,{className:`project-preview__hero-label`,children:`Files`})]})]}),(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`WORK TIMELINE`}),(0,F.jsx)($r,{sessions:a,onSessionClick:u}),(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`PROJECT TIMELINE`}),(0,F.jsxs)(`div`,{className:`timeline`,children:[(0,F.jsx)(`div`,{className:`timeline__line`}),r.map((e,t)=>{let n=e.sessions.filter(e=>e.featured),r=e.sessions.filter(e=>!e.featured);return(0,F.jsxs)(`div`,{className:`timeline__period`,children:[(0,F.jsxs)(`div`,{className:`timeline__period-header`,children:[(0,F.jsx)(`span`,{className:`timeline__period-date`,children:e.period}),(0,F.jsx)(`span`,{className:`timeline__period-sep`,children:`—`}),(0,F.jsx)(`span`,{className:`timeline__period-label`,children:e.label})]}),n.map(e=>(0,F.jsxs)(`div`,{className:`timeline__featured`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--large`}),(0,F.jsxs)(`div`,{className:`timeline__card`,style:{cursor:`pointer`},onClick:()=>{let t=a.find(t=>t.id===e.sessionId);t?u(t):document.getElementById(`session-${e.sessionId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})},role:`button`,tabIndex:0,onKeyDown:t=>{if(t.key===`Enter`||t.key===` `){t.preventDefault();let n=a.find(t=>t.id===e.sessionId);n?u(n):document.getElementById(`session-${e.sessionId}`)?.scrollIntoView({behavior:`smooth`,block:`center`})}},children:[(0,F.jsxs)(`div`,{className:`timeline__card-header`,children:[(0,F.jsx)(`span`,{className:`timeline__card-title`,children:e.title}),e.tag&&(0,F.jsx)(`span`,{className:`timeline__card-tag`,children:e.tag})]}),(0,F.jsxs)(`div`,{className:`timeline__card-meta`,children:[(0,F.jsx)(`span`,{children:Oi(e.duration)}),e.date&&(0,F.jsx)(`span`,{children:ki(e.date)})]}),e.description&&(0,F.jsx)(`p`,{className:`timeline__card-desc`,children:e.description}),e.skills&&e.skills.length>0&&(0,F.jsx)(`div`,{className:`timeline__card-skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]})]},e.sessionId)),r.length>0&&(0,F.jsxs)(`div`,{className:`timeline__collapsed`,children:[(0,F.jsx)(`div`,{className:`timeline__dot--small`}),(0,F.jsx)(Ui,{sessions:r})]})]},t)})]}),(0,F.jsx)(`div`,{className:`project-preview__timeline-heading`,children:`PROJECT GROWTH`}),(0,F.jsx)(ta,{sessions:a,totalLoc:e.totalLoc,totalFiles:e.totalFiles,onSessionClick:u}),(0,F.jsx)(sa,{sessions:a,projectDirName:e.dirName}),a.length>0&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`div`,{className:`project-preview__sessions-heading`,children:`PUBLISHED SESSIONS`}),(0,F.jsx)(`div`,{className:`project-preview__sessions-grid`,children:a.map((e,t)=>{let n=z[t%z.length],r=d>0?Math.max(20,Math.round(e.durationMinutes/d*100)):100,i=e.filesChanged?.length??0;return(0,F.jsxs)(`div`,{id:`session-${e.id}`,className:`project-preview__session-card project-preview__session-card--clickable`,onClick:()=>u(e),role:`button`,tabIndex:0,onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),u(e))},children:[(0,F.jsx)(`div`,{className:`project-preview__session-bar`,style:{width:`${r}%`,background:n}}),(0,F.jsx)(`h3`,{className:`project-preview__session-title`,children:e.title}),(0,F.jsxs)(`div`,{className:`project-preview__session-stats`,children:[Math.round(e.durationMinutes),` min`,` · `,e.turns,` turns`,i>0&&(0,F.jsxs)(F.Fragment,{children:[` · `,i,` files`]}),` · `,I(e.linesOfCode),` LOC`]}),e.skills&&e.skills.length>0&&(0,F.jsx)(`div`,{className:`project-preview__session-skills`,children:e.skills.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]},e.id)})})]})]}),l&&(0,F.jsx)(Di,{session:l,projectName:e.name,projectDirName:e.dirName,onClose:()=>u(null)})]})}function la({project:e,narrative:t,selectedCount:n,skippedCount:r,skills:i,timeline:a,sessions:o,selectedIds:s,allSessions:c,repoUrl:l,onRepoUrlChange:u,projectUrl:d,onProjectUrlChange:f,onPublish:p,onSaveLocal:m,onBack:h}){let[g,v]=(0,_.useState)(!1),[y,b]=(0,_.useState)(!1),[x,S]=(0,_.useState)(null),[C,w]=(0,_.useState)(null),[T,E]=(0,_.useState)(new Map),[D,O]=(0,_.useState)(null),[k,ee]=(0,_.useState)(!1),[A,te]=(0,_.useState)(null),[ne,re]=(0,_.useState)(!1),ie=(0,_.useRef)(null),j=(0,_.useRef)(null),{refresh:M}=ur(),ae=`${e.sessionCount} (${n} published)`,oe=e.name.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``),se=(0,_.useCallback)(()=>{let n=c.filter(e=>!s.has(e.id)).map(e=>({title:e.title,duration:e.durationMinutes??0,loc:e.linesOfCode??0,reason:`Not selected`}));return{title:e.name,slug:oe,narrative:t,repoUrl:l,projectUrl:d,timeline:a,skills:i,totalSessions:e.sessionCount,totalLoc:e.totalLoc,totalDurationMinutes:e.totalDuration,totalFilesChanged:e.totalFiles,skippedSessions:n,selectedSessionIds:[...s]}},[e,oe,t,l,d,a,i,c,s]),ce=(0,_.useCallback)(async()=>{ee(!0);try{let e=await Yn();te({userCode:e.user_code,verificationUri:e.verification_uri,deviceCode:e.device_code}),re(!0);let t=(e.interval||5)*1e3;ie.current=setInterval(async()=>{try{(await Xn(e.device_code)).authenticated&&(ie.current&&clearInterval(ie.current),ie.current=null,re(!1),ee(!1),await M(),N())}catch{}},t)}catch(e){S(`Login failed: ${e.message}`)}},[M]),N=(0,_.useCallback)(t=>{b(!0),S(null),w(null),ee(!1);let n=se();t&&(n.selectedSessionIds=t),j.current?.abort(),j.current=nr(e.dirName,n,e=>{switch(e.type){case`session`:E(t=>{let n=new Map(t);return n.set(e.sessionId,{status:e.status===`publishing`?`publishing`:e.status,error:e.error}),n});break;case`done`:b(!1),e.failed>0?(w(`sessions`),O(e.projectUrl),S(`${e.failed} session${e.failed===1?``:`s`} failed to publish`)):(M(),p({url:e.projectUrl,publishedSessions:e.uploaded}));break;case`error`:b(!1),e.error===`AUTH_REQUIRED`?ce():(w(`project`),S(e.error));break}})},[se,e.dirName,p,M,ce]);return(0,_.useEffect)(()=>()=>{ie.current&&clearInterval(ie.current),j.current?.abort()},[]),(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`review`}),(0,F.jsxs)(`div`,{className:`upload-flow__scan-status`,children:[`✓ `,n,` sessions enhanced · Project narrative generated · Timeline built`]}),(0,F.jsx)(`h2`,{className:`upload-flow__title`,children:`Review your project`}),(0,F.jsxs)(`div`,{className:`review-card`,children:[(0,F.jsx)(`div`,{className:`upload-flow__label`,children:`PROJECT`}),(0,F.jsx)(`h3`,{className:`review-card__name`,children:e.name}),t&&(0,F.jsx)(`p`,{className:`review-card__narrative`,children:t}),(0,F.jsxs)(`div`,{className:`upload-flow__stat-grid`,children:[(0,F.jsx)(Pi,{label:`Sessions`,value:ae}),(0,F.jsx)(Pi,{label:`Total Time`,value:Oi(e.totalDuration)}),(0,F.jsx)(Pi,{label:`LOC`,value:I(e.totalLoc)}),(0,F.jsx)(Pi,{label:`Files`,value:String(e.totalFiles)})]}),(0,F.jsx)(`div`,{className:`review-card__skills`,children:i.map(e=>(0,F.jsx)(`span`,{className:`chip`,children:e},e))})]}),(0,F.jsx)(`button`,{className:`review-preview-link`,onClick:()=>v(!0),children:`Preview full project page →`}),g&&(0,F.jsx)(ca,{project:e,narrative:t,skills:i,timeline:a,selectedCount:n,sessions:o,repoUrl:l,projectUrl:d,onClose:()=>v(!1)}),(0,F.jsxs)(`div`,{className:`review-checklist`,children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginBottom:`var(--spacing-3)`},children:`What gets published`}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsx)(`span`,{children:`Project narrative and timeline`})]}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsxs)(`span`,{children:[n,` enhanced session case studies`]})]}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsx)(`span`,{children:`Aggregate stats from all sessions`})]}),(0,F.jsxs)(`div`,{className:`review-checklist__item`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--checked`,"aria-hidden":`true`,children:`✓`}),(0,F.jsx)(`span`,{children:`Growth chart, heatmap, and top files`})]}),r>0&&(0,F.jsxs)(`div`,{className:`review-checklist__item review-checklist__item--skipped`,children:[(0,F.jsx)(`span`,{className:`review-checklist__icon review-checklist__icon--skipped`,"aria-hidden":`true`,children:`○`}),(0,F.jsxs)(`span`,{children:[r,` skipped sessions (metadata only)`]})]})]}),(0,F.jsxs)(`div`,{className:`review-details`,children:[(0,F.jsxs)(`div`,{className:`review-details__header`,children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginBottom:0},children:`Project details`}),(0,F.jsx)(`span`,{className:`review-details__optional`,children:`all optional`})]}),(0,F.jsxs)(`div`,{className:`review-field`,children:[(0,F.jsxs)(`label`,{className:`review-field__label`,htmlFor:`review-repo-url`,children:[`Repository URL`,l&&(0,F.jsx)(`span`,{className:`review-field__badge`,children:`✓ auto-detected`})]}),(0,F.jsx)(`input`,{id:`review-repo-url`,type:`url`,className:`review-field__input`,value:l,onChange:e=>u(e.target.value),placeholder:`https://github.com/...`})]}),(0,F.jsxs)(`div`,{className:`review-field`,children:[(0,F.jsx)(`label`,{className:`review-field__label`,htmlFor:`review-project-url`,children:`Project URL`}),(0,F.jsx)(`input`,{id:`review-project-url`,type:`url`,className:`review-field__input`,value:d,onChange:e=>f(e.target.value),placeholder:`Live site, docs, demo...`})]}),(0,F.jsxs)(`div`,{className:`review-field`,children:[(0,F.jsx)(`span`,{className:`review-field__label`,children:`Screenshot`}),(0,F.jsxs)(`div`,{className:`review-dropzone`,role:`button`,tabIndex:0,"aria-label":`Upload screenshot`,children:[(0,F.jsx)(`span`,{className:`review-dropzone__icon`,"aria-hidden":`true`,children:`📷`}),(0,F.jsx)(`span`,{className:`review-dropzone__text`,children:`Drop an image or click to upload`})]})]})]}),k&&(0,F.jsx)(`div`,{className:`review-auth`,children:(0,F.jsxs)(`div`,{className:`review-auth__card`,children:[(0,F.jsx)(`h3`,{className:`review-auth__title`,children:`Sign in to publish`}),A?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`p`,{className:`review-auth__instructions`,children:[`Open`,` `,(0,F.jsx)(`a`,{href:A.verificationUri,target:`_blank`,rel:`noopener noreferrer`,children:A.verificationUri}),` `,`and enter:`]}),(0,F.jsx)(`div`,{className:`review-auth__code`,children:A.userCode}),ne&&(0,F.jsx)(`p`,{className:`review-auth__polling`,children:`Waiting for authorization...`})]}):(0,F.jsx)(`p`,{className:`review-auth__polling`,children:`Starting login...`})]})}),y&&T.size>0&&(0,F.jsxs)(`div`,{className:`publish-progress`,children:[(0,F.jsx)(`div`,{className:`upload-flow__section-label`,style:{marginBottom:`var(--spacing-2)`},children:`Publishing sessions...`}),(0,F.jsx)(`div`,{className:`publish-progress__sessions`,children:Array.from(T.entries()).map(([e,t])=>{let n=o.find(t=>t.id===e);return(0,F.jsxs)(`div`,{className:`publish-progress__row`,children:[t.status===`published`?(0,F.jsx)(`span`,{className:`publish-error__icon--published`,children:`✓`}):t.status===`publishing`?(0,F.jsx)(`span`,{className:`enhance-feed-item__spinner`}):(0,F.jsx)(`span`,{className:`publish-error__icon--failed`,children:`✗`}),(0,F.jsx)(`span`,{children:n?.title??e})]},e)})})]}),x&&(0,F.jsxs)(`div`,{className:`publish-error`,children:[(0,F.jsx)(`div`,{className:`publish-error__message`,children:x}),C===`sessions`&&T.size>0&&(0,F.jsx)(`div`,{className:`publish-error__sessions`,children:Array.from(T.entries()).map(([e,t])=>{let n=o.find(t=>t.id===e);return(0,F.jsxs)(`div`,{className:`publish-error__session-row publish-error__session-row--${t.status}`,children:[(0,F.jsx)(`span`,{className:`publish-error__icon publish-error__icon--${t.status}`,children:t.status===`published`?`✓`:`✗`}),(0,F.jsx)(`span`,{className:`publish-error__session-title`,children:n?.title??e}),t.error&&(0,F.jsx)(`span`,{className:`publish-error__session-error`,children:t.error})]},e)})}),(0,F.jsxs)(`div`,{className:`publish-error__actions`,children:[C===`sessions`&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{className:`btn btn--secondary`,onClick:()=>{N(Array.from(T.entries()).filter(([,e])=>e.status===`failed`).map(([e])=>e))},children:`Retry failed sessions`}),D&&(0,F.jsx)(`button`,{className:`btn btn--primary`,onClick:()=>p({url:D,publishedSessions:Array.from(T.values()).filter(e=>e.status===`published`).length}),children:`Continue with published sessions`})]}),C===`project`&&(0,F.jsx)(`button`,{className:`btn btn--secondary`,onClick:()=>N(),children:`Retry`}),(0,F.jsx)(`button`,{className:`btn btn--secondary`,onClick:()=>{S(null),w(null)},children:`Dismiss`})]})]}),(0,F.jsxs)(`div`,{className:`upload-flow__actions`,children:[(0,F.jsx)(`button`,{type:`button`,className:`btn btn--secondary btn--large`,onClick:h,disabled:y,children:`Back to timeline`}),(0,F.jsx)(`button`,{type:`button`,className:`btn btn--secondary btn--large`,onClick:m,disabled:y,children:`Save locally`}),(0,F.jsx)(`button`,{type:`button`,className:`btn btn--primary btn--large`,onClick:()=>N(),disabled:y||k,children:y?`Publishing...`:`Publish project →`})]})]})}function ua({project:e,narrative:t,selectedCount:n,publishedUrl:r,publishedSessions:i}){let a=rt(),[o,s]=(0,_.useState)(!1),c=!!r,l=r?r.startsWith(`/`)?`heyi.am${r}`:r:``,u=(0,_.useCallback)(()=>{l&&navigator.clipboard.writeText(`https://${l}`).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)}).catch(()=>{})},[l]),d=(0,_.useCallback)(()=>{l&&window.open(`https://${l}`,`_blank`,`noopener`)},[l]),f=(0,_.useCallback)(()=>{if(!l)return;let e=l.split(`/`),t=e.length>=2?`https://${e[0]}/${e[1]}`:`https://${l}`;window.open(t,`_blank`,`noopener`)},[l]),p=new Date().toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`}),m=t.length>120?`${t.slice(0,117)}...`:t;return(0,F.jsxs)(`div`,{className:`upload-flow`,children:[(0,F.jsx)(Mi,{current:`done`}),(0,F.jsxs)(`div`,{className:`success-card`,children:[(0,F.jsx)(`div`,{className:`success-card__icon`,children:(0,F.jsxs)(`svg`,{width:`32`,height:`32`,viewBox:`0 0 32 32`,fill:`none`,children:[(0,F.jsx)(`circle`,{cx:`16`,cy:`16`,r:`16`,fill:`var(--success-bg, #dcfce7)`}),(0,F.jsx)(`path`,{d:`M10 16.5L14 20.5L22 12.5`,stroke:`var(--success-fg, #16a34a)`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}),(0,F.jsx)(`h2`,{className:`success-card__title`,children:c?`Project Published`:`Project Saved`}),(0,F.jsx)(`p`,{className:`success-card__subtitle`,children:c?`Your project is live on your portfolio with ${n} session case ${n===1?`study`:`studies`}.`:`Enhancement saved locally with ${n} session case ${n===1?`study`:`studies`}. You can preview or publish anytime.`}),(0,F.jsxs)(`div`,{className:`success-card__preview`,children:[(0,F.jsx)(`div`,{className:`success-card__preview-name`,children:e.name}),(0,F.jsx)(`div`,{className:`success-card__preview-narrative`,children:m}),(0,F.jsxs)(`div`,{className:`success-card__preview-stats`,children:[(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:e.sessionCount}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:`Sessions`})]}),(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:Oi(e.totalDuration)}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:`Time`})]}),(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:I(e.totalLoc)}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:`LOC`})]}),(0,F.jsxs)(`div`,{className:`success-card__preview-stat`,children:[(0,F.jsx)(`span`,{className:`success-card__preview-stat-value`,children:n}),(0,F.jsx)(`span`,{className:`success-card__preview-stat-label`,children:c?`Published`:`Enhanced`})]})]})]}),c&&l&&(0,F.jsxs)(`div`,{className:`success-card__url-bar`,children:[(0,F.jsx)(`span`,{className:`success-card__url-text`,children:l}),(0,F.jsx)(`button`,{className:`success-card__url-copy`,onClick:u,children:o?`Copied`:`Copy`})]}),(0,F.jsxs)(`div`,{className:`success-card__meta`,children:[(0,F.jsx)(`span`,{className:`success-card__badge`,children:c?`Published`:`Saved locally`}),c&&i&&(0,F.jsxs)(`span`,{className:`success-card__meta-text`,children:[i,` sessions uploaded`]}),(0,F.jsx)(`span`,{className:`success-card__meta-text`,children:p})]}),(0,F.jsx)(`div`,{className:`success-card__actions`,children:c?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`button`,{type:`button`,className:`btn btn--primary btn--large`,onClick:d,children:`View Project Page`}),(0,F.jsx)(`button`,{type:`button`,className:`btn btn--secondary btn--large`,onClick:f,children:`View Portfolio`})]}):(0,F.jsx)(`button`,{type:`button`,className:`btn btn--primary btn--large`,onClick:()=>a(`/`),children:`Back to Projects`})})]})]})}function da(){let{dirName:e}=at(),[t,n]=jn(),r=rt(),{projects:i}=ar(),a=i.find(t=>t.dirName===e),[o,s]=(0,_.useState)(`overview`),c=(0,_.useCallback)(e=>{s(e),window.scrollTo(0,0)},[]),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)(!0),[p,m]=(0,_.useState)(null),[h,g]=(0,_.useState)(new Set),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)([]),[S,C]=(0,_.useState)(null),w=(0,_.useRef)(null),[T,E]=(0,_.useState)(null),[D,O]=(0,_.useState)(null),[k,ee]=(0,_.useState)(``),[A,te]=(0,_.useState)(``),[ne,re]=(0,_.useState)(null),ie=D?.narrative??``,j=D?.skills??[],M=D?.timeline??[],ae=(0,_.useCallback)(()=>{l.length>0||!e||Wn(e).then(e=>{u(e),f(!1)}).catch(e=>{E(e.message),f(!1)})},[e,l.length]);(0,_.useEffect)(()=>{[`overview`,`triage`,`enhance`].includes(o)&&ae()},[o,ae]),(0,_.useEffect)(()=>{let r=t.get(`view`)||t.get(`preview`);!e||r!==`1`||Qn(e).then(e=>{e&&(O(e.result),g(new Set(e.selectedSessionIds)),c(`review`)),n({},{replace:!0})})},[e]);let oe=(0,_.useCallback)(()=>{e&&(y(!0),E(null),x([]),w.current=Kn(e,e=>{if(x(t=>[...t,e]),e.type===`error`){E(e.message),y(!1);return}if(e.type===`result`){let t={selected:e.selected,skipped:e.skipped,autoSelected:e.autoSelected,triageMethod:e.triageMethod};m(t);let n=new Set(t.selected.map(e=>e.sessionId));if(a?.publishedSessions)for(let e of a.publishedSessions)n.add(e);g(n),setTimeout(()=>{y(!1),t.autoSelected?(C(`All ${n.size} sessions selected (small project)`),c(`enhance`)):c(`triage`)},1200)}}))},[e]);(0,_.useEffect)(()=>()=>{w.current?.abort()},[]);let se=(0,_.useCallback)(e=>{O(e),e.questions.length>0?c(`questions`):c(`timeline`)},[]),ce=(0,_.useCallback)(()=>{c(`timeline`)},[]),N=(0,_.useCallback)(async t=>{if(!(!e||!D))try{let n=await er(e,D.narrative,D.timeline,t);O(e=>e&&{...e,narrative:n.narrative,timeline:n.timeline}),c(`timeline`)}catch(e){E(e.message)}},[e,D]),P=(0,_.useCallback)(e=>{g(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);return a?(0,F.jsx)(fr,{title:`heyi.am`,onBack:()=>r(`/`),children:d&&o===`overview`?(0,F.jsx)(`div`,{className:`dashboard-loading`,children:`Loading sessions...`}):T&&o===`overview`?(0,F.jsx)(`div`,{className:`dashboard-error`,children:T}):o===`overview`?v?(0,F.jsx)(Ii,{events:b,dirName:e??``}):(0,F.jsx)(Ni,{project:a,sessions:l,onTriage:oe,onCancel:()=>r(`/`)}):o===`triage`&&p?(0,F.jsx)(Ri,{project:a,sessions:l,triageResult:p,selectedIds:h,onToggle:P,onEnhance:()=>c(`enhance`),onBack:()=>c(`overview`),publishedSessionIds:a.publishedSessions?new Set(a.publishedSessions):void 0}):o===`enhance`&&p?(0,F.jsxs)(F.Fragment,{children:[S&&(0,F.jsxs)(`div`,{className:`upload-flow__auto-select-banner`,children:[`✓ `,S]}),(0,F.jsx)(zi,{project:a,sessions:l,selectedIds:h,triageResult:p,onComplete:se,onBack:()=>c(`triage`)})]}):o===`questions`&&D?(0,F.jsx)(Vi,{enhanceResult:D,onSkip:ce,onWeave:N}):o===`timeline`?(0,F.jsx)(Hi,{project:a,timeline:M.length>0?M.map(e=>({...e,sessions:e.sessions.map(e=>({sessionId:e.sessionId,title:e.title,featured:e.featured,tag:e.tag,duration:l.find(t=>t.id===e.sessionId)?.durationMinutes??0,date:l.find(t=>t.id===e.sessionId)?.date}))})):Wi,onBack:()=>D?.questions.length?c(`questions`):c(`enhance`),onReview:()=>c(`review`)}):o===`review`?(0,F.jsx)(la,{project:a,narrative:ie,selectedCount:h.size,skippedCount:l.length-h.size,skills:j.length>0?j:a.skills,timeline:M.length>0?M.map(e=>({...e,sessions:e.sessions.map(e=>({sessionId:e.sessionId,title:e.title,description:e.description,featured:e.featured,tag:e.tag,skills:e.skills,duration:l.find(t=>t.id===e.sessionId)?.durationMinutes??0,date:l.find(t=>t.id===e.sessionId)?.date}))})):Wi,sessions:l.filter(e=>h.has(e.id)),selectedIds:h,allSessions:l,repoUrl:k,onRepoUrlChange:ee,projectUrl:A,onProjectUrlChange:te,onPublish:e=>{re(e),c(`done`)},onSaveLocal:async()=>{!e||!D||(await $n(e,[...h],D),re(null),c(`done`))},onBack:()=>c(`timeline`)}):o===`done`?(0,F.jsx)(ua,{project:a,narrative:ie,selectedCount:h.size,publishedUrl:ne?.url,publishedSessions:ne?.publishedSessions}):null}):(0,F.jsx)(fr,{title:`heyi.am`,onBack:()=>r(`/`),children:(0,F.jsx)(`div`,{className:`dashboard-error`,children:`Project not found`})})}function fa(){return(0,F.jsx)(bn,{children:(0,F.jsx)(dr,{children:(0,F.jsx)(sr,{children:(0,F.jsxs)(jt,{children:[(0,F.jsx)(kt,{path:`/`,element:(0,F.jsx)(Tr,{})}),(0,F.jsx)(kt,{path:`/settings`,element:(0,F.jsx)(gr,{})}),(0,F.jsx)(kt,{path:`/project/:dirName/upload`,element:(0,F.jsx)(da,{})})]})})})})}(0,g.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(_.StrictMode,{children:(0,F.jsx)(fa,{})}));
@@ -11,7 +11,7 @@
11
11
  href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap"
12
12
  rel="stylesheet"
13
13
  />
14
- <script type="module" crossorigin src="/assets/index-CbLHxerW.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-CJrLbh9c.js"></script>
15
15
  <link rel="stylesheet" crossorigin href="/assets/index-BGQkmy7q.css">
16
16
  </head>
17
17
  <body>
package/dist/index.js CHANGED
@@ -4,11 +4,12 @@ import { startServer } from './server.js';
4
4
  import open from 'open';
5
5
  import { checkAuthStatus, deviceAuthFlow, getAuthToken, deleteAuthToken, buildPublishPayload } from './auth.js';
6
6
  import { loadOrCreateKeyPair, signPayload, getFingerprint } from './machine-key.js';
7
+ import { getAnthropicApiKey } from './settings.js';
7
8
  const program = new Command();
8
9
  program
9
10
  .name('heyiam')
10
11
  .description('Turn AI coding sessions into portfolio case studies')
11
- .version('0.1.0');
12
+ .version('0.1.1');
12
13
  program
13
14
  .command('open')
14
15
  .description('Start the local server and open the browser')
@@ -16,6 +17,13 @@ program
16
17
  .option('--no-open', 'Start server without opening browser')
17
18
  .action(async (opts) => {
18
19
  const port = parseInt(opts.port, 10);
20
+ // Check for API key before starting
21
+ const apiKey = getAnthropicApiKey();
22
+ if (!apiKey) {
23
+ console.log('\n⚠ No Anthropic API key found.');
24
+ console.log(' AI enhancement requires an API key. Add one in Settings after the app opens.');
25
+ console.log(' Or set ANTHROPIC_API_KEY in your environment.\n');
26
+ }
19
27
  const server = await startServer(port);
20
28
  const url = `http://localhost:${port}`;
21
29
  console.log(`\nheyiam running at ${url}`);
@@ -111,19 +119,22 @@ program
111
119
  process.exitCode = 1;
112
120
  }
113
121
  });
114
- // Default to 'open' when no command is given
115
- program.action(async () => {
116
- await program.parseAsync(['', '', 'open']);
117
- });
118
122
  export { program };
119
123
  // Only run if this is the entry point (not imported for testing).
120
- // When installed via npm link, process.argv[1] is the symlink path
121
- // (e.g., ~/.nvm/.../bin/heyiam), so we resolve it to check the real path.
122
124
  import { realpathSync } from 'node:fs';
123
125
  const resolvedArgv = process.argv[1] ? realpathSync(process.argv[1]) : '';
124
126
  const isDirectRun = resolvedArgv.endsWith('/dist/index.js') ||
125
127
  resolvedArgv.endsWith('/src/index.ts');
126
128
  if (isDirectRun) {
127
- program.parseAsync(process.argv);
129
+ // If no command given (just `heyiam`), default to `open`
130
+ const args = process.argv.slice(2);
131
+ const knownCommands = ['open', 'login', 'logout', 'publish'];
132
+ if (args.length === 0 || !knownCommands.includes(args[0])) {
133
+ process.argv.splice(2, 0, 'open');
134
+ }
135
+ program.parseAsync(process.argv).catch((err) => {
136
+ console.error(err);
137
+ process.exit(1);
138
+ });
128
139
  }
129
140
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,EAAE,OAAO,CAAC;KACxD,MAAM,CAAC,WAAW,EAAE,sCAAsC,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,oBAAoB,IAAI,EAAE,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,0CAA0C;QAC1C,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,6EAA6E;IAC7E,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEL,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE;YACxD,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;YAC9C,UAAU,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACxB,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,oBAAoB,IAAI,IAAI,CAAC,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iBAAkB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,GAAG,EAAE;IACX,eAAe,EAAE,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,iBAAiB,EAAE,cAAc,EAAE,QAAQ,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;IAEjD,oFAAoF;IACpF,MAAM,WAAW,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,aAAa,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;aACtC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAqB,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,6CAA6C;AAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACxB,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,kEAAkE;AAClE,mEAAmE;AACnE,0EAA0E;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzD,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEzC,IAAI,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -258,6 +258,10 @@ export function createApp(sessionsBasePath) {
258
258
  });
259
259
  // Triage endpoint — AI selects which sessions are worth showcasing (SSE stream)
260
260
  app.post('/api/projects/:project/triage', async (req, res) => {
261
+ if (!getAnthropicApiKey()) {
262
+ res.status(400).json({ error: { code: 'NO_API_KEY', message: 'No Anthropic API key configured. Add one in Settings or set ANTHROPIC_API_KEY.' } });
263
+ return;
264
+ }
261
265
  const { project } = req.params;
262
266
  const projects = await getProjects(sessionsBasePath);
263
267
  const proj = projects.find((p) => p.name === project || p.dirName === project);
@@ -497,6 +501,10 @@ export function createApp(sessionsBasePath) {
497
501
  res.status(400).json({ error: { code: 'INVALID_INPUT', message: 'selectedSessionIds must be a non-empty array' } });
498
502
  return;
499
503
  }
504
+ if (!getAnthropicApiKey()) {
505
+ res.status(400).json({ error: { code: 'NO_API_KEY', message: 'No Anthropic API key configured. Add one in Settings or set ANTHROPIC_API_KEY.' } });
506
+ return;
507
+ }
500
508
  // Set up SSE
501
509
  res.writeHead(200, {
502
510
  'Content-Type': 'text/event-stream',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "heyiam",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Turn AI coding sessions into portfolio case studies",
5
5
  "type": "module",
6
6
  "license": "MIT",