@sigrun/sigrun 0.10.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +19 -18
  3. package/dist/curation/runs.js +65 -50
  4. package/dist/curation/skill-tool.js +1 -1
  5. package/dist/extension.d.ts +2 -1
  6. package/dist/harness/blocks/tools.js +1 -1
  7. package/dist/harness/boot.js +94 -28
  8. package/dist/harness/decision-tool.js +1 -1
  9. package/dist/harness/decisions.js +1 -1
  10. package/dist/harness/event-bus.js +19 -9
  11. package/dist/harness/loader.js +14 -6
  12. package/dist/harness/migration-snapshot.js +104 -0
  13. package/dist/harness/packages.js +2 -1
  14. package/dist/harness/reports.js +83 -35
  15. package/dist/harness/tools.js +1 -1
  16. package/dist/jobs/docs.js +23 -3
  17. package/dist/jobs/index.js +74 -15
  18. package/dist/jobs/observe.js +26 -9
  19. package/dist/jobs/reconcile.js +12 -3
  20. package/dist/jobs/restart-limit.js +39 -0
  21. package/dist/sandbox/protocol.js +3 -2
  22. package/dist/sandbox/sandboxed-env.js +4 -0
  23. package/dist/sandbox/worker.js +21 -4
  24. package/dist/server/conversation-watch.js +49 -0
  25. package/dist/server/helpers.js +5 -5
  26. package/dist/server/host-bridge.js +6 -3
  27. package/dist/server/routes/admin.js +7 -36
  28. package/dist/server/routes/jobs.js +30 -1
  29. package/dist/server/routes/metrics.js +31 -7
  30. package/dist/server/routes/stream.js +6 -3
  31. package/dist/server/schema-fixture.js +59 -56
  32. package/dist/skills/index.js +1 -1
  33. package/node_modules/@sigrun/shared/CHANGELOG.md +8 -0
  34. package/node_modules/@sigrun/shared/dist/live.d.ts +25 -0
  35. package/node_modules/@sigrun/shared/dist/live.js +30 -0
  36. package/node_modules/@sigrun/shared/dist/views.d.ts +15 -0
  37. package/node_modules/@sigrun/shared/package.json +1 -1
  38. package/package.json +14 -14
  39. package/webui/dist/assets/{index-Bh9dImMT.js → index-B77MiI5E.js} +2 -2
  40. package/webui/dist/assets/index-BvOKatk4.css +1 -0
  41. package/webui/dist/index.html +2 -2
  42. package/dist/jobs/parked.js +0 -38
  43. package/webui/dist/assets/index-B3T0KKiX.css +0 -1
@@ -39,7 +39,7 @@ Error generating stack: `+e.message+`
39
39
  `,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(`
40
40
  `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return Jc(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=Kl.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function nu(){return{exit:{taskListCheckValueChecked:iu,taskListCheckValueUnchecked:iu,paragraph:au}}}function ru(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:ou}}}function iu(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function au(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function ou(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=Kl.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function su(){return[dc(),Fc(),Bc(),ql(),nu()]}function cu(e){return{extensions:[fc(),Ic(e),Vc(),tu(e),ru()]}}var lu={tokenize:Su,partial:!0},uu={tokenize:Cu,partial:!0},du={tokenize:wu,partial:!0},fu={tokenize:Tu,partial:!0},pu={tokenize:Eu,partial:!0},mu={name:`wwwAutolink`,tokenize:bu,previous:Du},hu={name:`protocolAutolink`,tokenize:xu,previous:Ou},gu={name:`emailAutolink`,tokenize:yu,previous:ku},Y={};function _u(){return{text:Y}}for(var vu=48;vu<123;)Y[vu]=gu,vu++,vu===58?vu=65:vu===91&&(vu=97);Y[43]=gu,Y[45]=gu,Y[46]=gu,Y[95]=gu,Y[72]=[gu,hu],Y[104]=[gu,hu],Y[87]=[gu,mu],Y[119]=[gu,mu];function yu(e,t,n){let r=this,i,a;return o;function o(t){return!Au(t)||!ku.call(r,r.previous)||ju(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return Au(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(pu,u,l)(t):t===45||t===95||dr(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&ur(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function bu(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!Du.call(r,r.previous)||ju(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(lu,e.attempt(uu,e.attempt(du,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function xu(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&Ou.call(r,r.previous)&&!ju(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(ur(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||pr(t)||_r(t)||yr(t)||vr(t)?n(t):e.attempt(uu,e.attempt(du,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function Su(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function Cu(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(fu,c,s)(t):t===null||_r(t)||yr(t)||t!==45&&vr(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function wu(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(fu,t,a)(o):o===null||_r(o)||yr(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function Tu(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||_r(o)||yr(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||_r(e)||yr(e)?t(e):r(e)}function a(e){return ur(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):ur(t)?(e.consume(t),o):n(t)}}function Eu(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return dr(e)?n(e):t(e)}}function Du(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||_r(e)}function Ou(e){return!ur(e)}function ku(e){return!(e===47||Au(e))}function Au(e){return e===43||e===45||e===46||e===95||dr(e)}function ju(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var Mu={tokenize:Bu,partial:!0};function Nu(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:Lu,continuation:{tokenize:Ru},exit:zu}},text:{91:{name:`gfmFootnoteCall`,tokenize:Iu},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:Pu,resolveTo:Fu}}}}function Pu(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=lr(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function Fu(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function Iu(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||_r(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(lr(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return _r(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function Lu(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||_r(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=lr(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return _r(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),K(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function Ru(e,t,n){return e.check(zr,t,e.attempt(Mu,t,n))}function zu(e){e.exit(`gfmFootnoteDefinition`)}function Bu(e,t,n){let r=this;return K(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function Vu(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&nr(o,o.length,0,Mr(s,e.slice(r+1,n),t)),nr(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),nr(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=jr(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=jr(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var Hu=class{constructor(){this.map=[],this.index=new Map}add(e,t,n){Uu(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0,this.index.clear()}};function Uu(e,t,n,r){if(n===0&&r.length===0)return;let i=e.index.get(t);if(i){i[1]+=n,i[2].push(...r);return}let a=[t,n,r];e.map.push(a),e.index.set(t,a)}function Wu(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function Gu(){return{flow:{null:{name:`table`,tokenize:Ku,resolveAll:qu}}}}function Ku(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let{type:e}=r.events[t][1];if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):W(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):G(t)?K(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||_r(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,G(t)?K(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return G(t)?K(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||W(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return G(t)?K(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||W(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||W(n)?(e.exit(`tableRow`),t(n)):G(n)?K(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||_r(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function qu(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new Hu;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(Yu(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=Ju(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=Ju(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=Ju(f,t,o,i,n,d)):(o[0]=o[1],d=Ju(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&Yu(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=Wu(t.events,n))}return e}function Ju(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},X(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=X(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=X(t.events,n[2]),a=X(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},X(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function Yu(e,t,n,r,i){let a=[],o=X(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function X(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var Xu={name:`tasklistCheck`,tokenize:Q};function Z(){return{text:{91:Xu}}}function Q(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return _r(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return W(r)?t(r):G(r)?e.check({tokenize:Zu},t,n)(r):n(r)}}function Zu(e,t,n){return K(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function Qu(e){return ar([_u(),Nu(),Vu(e),Gu(),Z()])}var $u={};function ed(e){let t=this,n=e||$u,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(Qu(n)),a.push(su()),o.push(cu(n))}var td=1500;function nd(e){let t=globalThis.navigator?.clipboard;if(t!==void 0){t.writeText(e).catch(()=>{});return}let n=globalThis.document;if(n===void 0)return;let r=n.createElement(`textarea`);r.value=e,r.setAttribute(`readonly`,``),r.style.position=`fixed`,r.style.top=`-1000px`,n.body.appendChild(r);let i=n.getSelection(),a=i!==null&&i.rangeCount>0?i.getRangeAt(0).cloneRange():void 0;r.select();try{n.execCommand(`copy`)}catch{}finally{r.remove(),a!==void 0&&i!==null&&(i.removeAllRanges(),i.addRange(a))}}function rd(e){let[t,n]=(0,v.useState)(!1),r=(0,v.useRef)(null);return(0,v.useEffect)(()=>()=>{r.current!==null&&clearTimeout(r.current)},[]),(0,R.jsxs)(`div`,{className:`message-actions`,"data-kind":e.kind,children:[(0,R.jsx)(`button`,{type:`button`,className:`message-action`,"data-copied":t||void 0,onClick:()=>{nd(e.text),n(!0),r.current!==null&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),td)},children:t?`Copied`:`Copy`}),e.kind===`user`&&e.onEdit!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`message-action`,onClick:e.onEdit,children:`Edit`}),(0,R.jsx)(`button`,{type:`button`,className:`message-action`,onClick:e.onFork,children:`Fork from here`}),e.meta!==void 0&&(0,R.jsx)(`span`,{className:`message-meta`,title:e.metaTitle,children:e.meta})]})}var id=new Set([`https`,`http`,`mailto`]);function ad(e){let t=e.replace(/[\t\n\r]/g,``).replace(/[\u0000-\u0020]+$/,``).replace(/^[\u0000-\u0020]+/,``),n=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(t)?.[1];return n===void 0?``:id.has(n.toLowerCase())?t:``}function od(e){return typeof e==`string`||typeof e==`number`?String(e):Array.isArray(e)?e.map(od).join(``):(0,v.isValidElement)(e)?od(e.props.children):``}function sd(e){for(let t of e){if(!(0,v.isValidElement)(t)||t.type!==`tbody`)continue;let e=t;return{body:e,rows:v.Children.toArray(e.props.children).filter(e=>(0,v.isValidElement)(e))}}return{body:null,rows:[]}}function cd(e){return/language-([\w+-]+)/.exec(e.props.className??``)?.[1]??`text`}function ld(e){let t=v.Children.toArray(e.children),{body:n,rows:r}=sd(t),[i,a]=(0,v.useState)(``),o=i.trim().toLowerCase(),s=o===``?r:r.filter(e=>od(e).toLowerCase().includes(o)),c=o!==``&&n!==null;return(0,R.jsxs)(`div`,{className:`md-tbl`,children:[r.length>6&&(0,R.jsxs)(`div`,{className:`md-tbl-bar`,children:[(0,R.jsx)(`input`,{type:`text`,"aria-label":`Filter rows`,placeholder:`Filter rows`,value:i,onChange:e=>a(e.target.value)}),(0,R.jsxs)(`span`,{className:`md-tbl-count`,children:[s.length,` of `,r.length,` rows`]})]}),(0,R.jsx)(`div`,{className:`md-tbl-scroll`,children:(0,R.jsxs)(`table`,{children:[c?t.filter(e=>e!==n):t,c&&(0,v.cloneElement)(n,void 0,s)]})})]})}function ud(e){let{children:t}=e,[n,r]=(0,v.useState)(!1),[i,a]=(0,v.useState)(!1),o=(0,v.useRef)(null);(0,v.useEffect)(()=>()=>{o.current!==null&&clearTimeout(o.current)},[]);let s=v.Children.toArray(t),c=s.length===1&&(0,v.isValidElement)(s[0])?s[0]:null;if(c===null)return(0,R.jsx)(`pre`,{children:t});let l=od(c.props.children).replace(/\n$/,``);return(0,R.jsxs)(`div`,{className:`md-code`,children:[(0,R.jsxs)(`div`,{className:`md-code-head`,children:[(0,R.jsx)(`span`,{className:`md-code-lang`,children:cd(c)}),(0,R.jsxs)(`span`,{className:`md-code-tools`,children:[(0,R.jsx)(`button`,{type:`button`,className:`md-code-wrap`,"aria-pressed":i,title:`Wrap long lines`,onClick:()=>a(e=>!e),children:`Wrap`}),(0,R.jsx)(`button`,{type:`button`,className:`md-code-copy`,"data-copied":n||void 0,onClick:()=>{nd(l),r(!0),o.current!==null&&clearTimeout(o.current),o.current=setTimeout(()=>r(!1),td)},children:n?`Copied`:`Copy`})]})]}),(0,R.jsx)(`pre`,{"data-wrap":i?``:void 0,children:(0,R.jsx)(`code`,{children:l})})]})}function dd(e){let{href:t,children:n}=e;return t===void 0||t===``?(0,R.jsx)(`span`,{children:n}):(0,R.jsx)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,children:n})}function fd(e){let{src:t,alt:n}=e;return t===void 0||t===``?null:(0,R.jsx)(`img`,{src:t,alt:n??``})}var pd={a:({node:e,...t})=>(0,R.jsx)(dd,{...t}),img:({node:e,...t})=>(0,R.jsx)(fd,{...t}),pre:ud,table:ld};function md(e){return(0,R.jsx)(`div`,{className:`md md-${e.variant}`,dir:`auto`,children:(0,R.jsx)(Qs,{remarkPlugins:[ed],urlTransform:ad,components:pd,children:e.source})})}var hd={add:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M5 12h14`}),(0,R.jsx)(`path`,{d:`M12 5v14`})]}),edit:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}),(0,R.jsx)(`path`,{d:`m15 5 4 4`})]}),delete:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M10 11v6`}),(0,R.jsx)(`path`,{d:`M14 11v6`}),(0,R.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),(0,R.jsx)(`path`,{d:`M3 6h18`}),(0,R.jsx)(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]}),refresh:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}),(0,R.jsx)(`path`,{d:`M21 3v5h-5`}),(0,R.jsx)(`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}),(0,R.jsx)(`path`,{d:`M8 16H3v5`})]}),search:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`m21 21-4.34-4.34`}),(0,R.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`})]}),filter:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`})}),share:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`18`,cy:`5`,r:`3`}),(0,R.jsx)(`circle`,{cx:`6`,cy:`12`,r:`3`}),(0,R.jsx)(`circle`,{cx:`18`,cy:`19`,r:`3`}),(0,R.jsx)(`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`}),(0,R.jsx)(`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`})]}),copy:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),(0,R.jsx)(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})]}),link:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}),(0,R.jsx)(`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`})]}),external:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M15 3h6v6`}),(0,R.jsx)(`path`,{d:`M10 14 21 3`}),(0,R.jsx)(`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`})]}),more:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1`}),(0,R.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1`}),(0,R.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1`})]}),check:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M20 6 9 17l-5-5`})}),close:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M18 6 6 18`}),(0,R.jsx)(`path`,{d:`m6 6 12 12`})]}),drag:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`9`,cy:`12`,r:`1`}),(0,R.jsx)(`circle`,{cx:`9`,cy:`5`,r:`1`}),(0,R.jsx)(`circle`,{cx:`9`,cy:`19`,r:`1`}),(0,R.jsx)(`circle`,{cx:`15`,cy:`12`,r:`1`}),(0,R.jsx)(`circle`,{cx:`15`,cy:`5`,r:`1`}),(0,R.jsx)(`circle`,{cx:`15`,cy:`19`,r:`1`})]}),file:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}),(0,R.jsx)(`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`})]}),folder:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`})}),calendar:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M8 2v4`}),(0,R.jsx)(`path`,{d:`M16 2v4`}),(0,R.jsx)(`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`}),(0,R.jsx)(`path`,{d:`M3 10h18`})]}),clock:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`path`,{d:`M12 6v6l4 2`})]}),user:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`7`,r:`4`})]}),users:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}),(0,R.jsx)(`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`}),(0,R.jsx)(`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`}),(0,R.jsx)(`circle`,{cx:`9`,cy:`7`,r:`4`})]}),tag:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}),(0,R.jsx)(`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`})]}),list:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M3 5h.01`}),(0,R.jsx)(`path`,{d:`M3 12h.01`}),(0,R.jsx)(`path`,{d:`M3 19h.01`}),(0,R.jsx)(`path`,{d:`M8 5h13`}),(0,R.jsx)(`path`,{d:`M8 12h13`}),(0,R.jsx)(`path`,{d:`M8 19h13`})]}),board:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}),(0,R.jsx)(`path`,{d:`M8 7v7`}),(0,R.jsx)(`path`,{d:`M12 7v4`}),(0,R.jsx)(`path`,{d:`M16 7v9`})]}),chart:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`}),(0,R.jsx)(`path`,{d:`M18 17V9`}),(0,R.jsx)(`path`,{d:`M13 17V5`}),(0,R.jsx)(`path`,{d:`M8 17v-3`})]}),image:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}),(0,R.jsx)(`circle`,{cx:`9`,cy:`9`,r:`2`}),(0,R.jsx)(`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`})]}),book:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`})}),cart:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`8`,cy:`21`,r:`1`}),(0,R.jsx)(`circle`,{cx:`19`,cy:`21`,r:`1`}),(0,R.jsx)(`path`,{d:`M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12`})]}),home:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`}),(0,R.jsx)(`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`})]}),bell:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}),(0,R.jsx)(`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`})]}),lock:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}),(0,R.jsx)(`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`})]}),key:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`}),(0,R.jsx)(`path`,{d:`m21 2-9.6 9.6`}),(0,R.jsx)(`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`})]}),info:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`path`,{d:`M12 16v-4`}),(0,R.jsx)(`path`,{d:`M12 8h.01`})]}),warn:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,R.jsx)(`path`,{d:`M12 9v4`}),(0,R.jsx)(`path`,{d:`M12 17h.01`})]}),error:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`m15 9-6 6`}),(0,R.jsx)(`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}),(0,R.jsx)(`path`,{d:`m9 9 6 6`})]}),success:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,R.jsx)(`path`,{d:`m9 12 2 2 4-4`})]}),pending:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M5 22h14`}),(0,R.jsx)(`path`,{d:`M5 2h14`}),(0,R.jsx)(`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`}),(0,R.jsx)(`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`})]}),running:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`})}),sun:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,R.jsx)(`path`,{d:`M12 2v2`}),(0,R.jsx)(`path`,{d:`M12 20v2`}),(0,R.jsx)(`path`,{d:`m4.93 4.93 1.41 1.41`}),(0,R.jsx)(`path`,{d:`m17.66 17.66 1.41 1.41`}),(0,R.jsx)(`path`,{d:`M2 12h2`}),(0,R.jsx)(`path`,{d:`M20 12h2`}),(0,R.jsx)(`path`,{d:`m6.34 17.66-1.41 1.41`}),(0,R.jsx)(`path`,{d:`m19.07 4.93-1.41 1.41`})]}),moon:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`})}),cloud:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`})}),"cloud-sun":(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M12 2v2`}),(0,R.jsx)(`path`,{d:`m4.93 4.93 1.41 1.41`}),(0,R.jsx)(`path`,{d:`M20 12h2`}),(0,R.jsx)(`path`,{d:`m19.07 4.93-1.41 1.41`}),(0,R.jsx)(`path`,{d:`M15.947 12.65a4 4 0 0 0-5.925-4.128`}),(0,R.jsx)(`path`,{d:`M13 22H7a5 5 0 1 1 4.9-6H13a3 3 0 0 1 0 6Z`})]}),"cloud-rain":(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}),(0,R.jsx)(`path`,{d:`M16 14v6`}),(0,R.jsx)(`path`,{d:`M8 14v6`}),(0,R.jsx)(`path`,{d:`M12 16v6`})]}),"cloud-snow":(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}),(0,R.jsx)(`path`,{d:`M8 15h.01`}),(0,R.jsx)(`path`,{d:`M8 19h.01`}),(0,R.jsx)(`path`,{d:`M12 17h.01`}),(0,R.jsx)(`path`,{d:`M12 21h.01`}),(0,R.jsx)(`path`,{d:`M16 15h.01`}),(0,R.jsx)(`path`,{d:`M16 19h.01`})]}),"cloud-lightning":(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M6 16.326A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 .5 8.973`}),(0,R.jsx)(`path`,{d:`m13 12-3 5h4l-3 5`})]}),fog:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`}),(0,R.jsx)(`path`,{d:`M16 17H7`}),(0,R.jsx)(`path`,{d:`M17 21H9`})]}),wind:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M12.8 19.6A2 2 0 1 0 14 16H2`}),(0,R.jsx)(`path`,{d:`M17.5 8a2.5 2.5 0 1 1 2 4H2`}),(0,R.jsx)(`path`,{d:`M9.8 4.4A2 2 0 1 1 11 8H2`})]}),droplets:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z`}),(0,R.jsx)(`path`,{d:`M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97`})]}),thermometer:(0,R.jsx)(R.Fragment,{children:(0,R.jsx)(`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`})}),umbrella:(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`path`,{d:`M12 13v7a2 2 0 0 0 4 0`}),(0,R.jsx)(`path`,{d:`M12 2v2`}),(0,R.jsx)(`path`,{d:`M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z`})]})};function gd(e){return(0,R.jsx)(`svg`,{className:`blk-icon`,width:e.size??16,height:e.size??16,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:hd[e.name]})}var _d={neutral:`--text`,accent:`--accent`,good:`--ok`,warn:`--warn`,bad:`--danger`,info:`--muted`};function vd(e){return{color:`var(${_d[e]})`}}function yd(e){return e===`accent`?{background:`var(--accent-bg)`}:{background:`color-mix(in srgb, var(${_d[e]}) 12%, transparent)`}}function bd(e){let t=L(F(),e.block.text);return(0,R.jsx)(`div`,{className:`blk blk-markdown`,children:(0,R.jsx)(md,{source:t,variant:`prose`})})}function xd(e){return(0,R.jsxs)(`div`,{className:`blk-field-row`,children:[(0,R.jsx)(`dt`,{dir:`auto`,children:e.label}),(0,R.jsxs)(`dd`,{dir:`auto`,"data-tone":e.tone,style:vd(e.tone),children:[e.icon,e.value]})]})}function Sd(e){let t=F(),n=I(t,e.block.rows)??[];return(0,R.jsx)(`div`,{className:`blk blk-fields`,children:(0,R.jsx)(`dl`,{children:n.map((e,n)=>{let r=I(t,e.icon);return(0,R.jsx)(xd,{label:L(t,e.label),value:N(I(t,e.value)??null,void 0,t.locale),tone:I(t,e.tone)??`neutral`,icon:r===void 0?void 0:(0,R.jsx)(gd,{name:r})},n)})})})}function Cd(e){let{points:t}=e;if(t.length<2)return null;let n=Math.min(...t),r=Math.max(...t)-n||1,i=t.map((e,i)=>{let a=i/(t.length-1)*100,o=24-(e-n)/r*24;return`${i===0?`M`:`L`}${a.toFixed(2)},${o.toFixed(2)}`}).join(` `);return(0,R.jsx)(`svg`,{className:`blk-spark`,viewBox:`0 0 100 24`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:(0,R.jsx)(`path`,{d:i,fill:`none`,stroke:`currentColor`,strokeWidth:2})})}function wd(e){let t=F(),n=I(t,e.block.icon),r=L(t,e.block.unit),i=L(t,e.block.caption),a=I(t,e.block.tone)??`neutral`,o=I(t,e.block.sparkline);return(0,R.jsxs)(`div`,{className:`blk blk-stat`,"data-block":`stat`,"data-size":e.block.size??`m`,"data-tone":a,children:[(0,R.jsxs)(`div`,{className:`blk-stat-top`,children:[n!==void 0&&(0,R.jsx)(gd,{name:n}),(0,R.jsx)(`div`,{className:`blk-stat-label`,dir:`auto`,children:L(t,e.block.label)})]}),(0,R.jsxs)(`div`,{className:`blk-stat-value`,dir:`auto`,style:vd(a),children:[N(I(t,e.block.value)??null,e.block.format,t.locale),r!==``&&(0,R.jsxs)(`span`,{className:`blk-stat-unit`,children:[` `,r]})]}),i!==``&&(0,R.jsx)(`div`,{className:`blk-stat-caption`,dir:`auto`,children:i}),o!==void 0&&o.length>1&&(0,R.jsx)(Cd,{points:o})]})}function Td(e){let t=F(),n=I(t,e.block.tone)??`neutral`,r=L(t,e.block.body);return(0,R.jsxs)(`div`,{className:`blk blk-callout`,"data-block":`callout`,"data-tone":n,children:[(0,R.jsx)(`div`,{className:`blk-callout-title`,dir:`auto`,style:vd(n),children:L(t,e.block.title)}),r!==``&&(0,R.jsx)(`div`,{className:`blk-callout-body`,children:(0,R.jsx)(md,{source:r,variant:`prose`})}),e.block.actions!==void 0&&e.block.actions.length>0&&(0,R.jsx)(jd,{buttons:e.block.actions})]})}function Ed(e){let t=F(),[n,r]=(0,v.useState)(!1),i=L(t,e.block.src),a=L(t,e.block.alt);return n||i===``?(0,R.jsx)(`div`,{className:`blk blk-image-fallback`,dir:`auto`,children:a}):(0,R.jsx)(`img`,{className:`blk blk-image`,src:i,alt:a,loading:`lazy`,onError:()=>{r(!0)}})}function Dd(e){let t=e.block.path;return(0,R.jsxs)(`div`,{className:`blk blk-diff`,"data-block":`diff`,children:[t!==void 0&&t!==``&&(0,R.jsx)(`div`,{className:`blk-diff-path`,dir:`auto`,children:t}),(0,R.jsxs)(`div`,{className:`blk-diff-panes`,children:[(0,R.jsx)(`pre`,{className:`blk-diff-before`,dir:`auto`,children:e.block.before}),(0,R.jsx)(`pre`,{className:`blk-diff-after`,dir:`auto`,children:e.block.after})]})]})}function Od(e,t){if(Array.isArray(e)){let n=e.map(e=>Od(e,`${t} `));return n.length===0?`[]`:`[\n${n.map(e=>`${t} ${e}`).join(`,
41
41
  `)}\n${t}]`}if(typeof e==`object`&&e){let n=Object.keys(e).sort().map(n=>`${t} ${JSON.stringify(n)}: ${Od(e[n],`${t} `)}`);return n.length===0?`{}`:`{\n${n.join(`,
42
- `)}\n${t}}`}return JSON.stringify(e)??`null`}function kd(e){let[t,n]=(0,v.useState)(!1);return(0,R.jsxs)(`details`,{className:`blk blk-details`,"data-block":`details`,open:t,children:[(0,R.jsx)(`summary`,{onClick:e=>{e.preventDefault(),n(!t)},children:`Details`}),t&&(0,R.jsx)(`pre`,{className:`blk-details-json`,dir:`auto`,children:Od(e.block.value,``)})]})}function Ad(e){return e.type===`copy`||e.type===`open`||e.type===`navigate`}function jd(e){let t=Ve(),n=F(),[r,i]=(0,v.useState)(null),a=t.access===`write`?e.buttons:e.buttons.filter(e=>Ad(e.action));function o(e){let r=e.action;if(r.type===`copy`){nd(typeof r.text==`string`?r.text:I(n,r.text)??``);return}if(r.type===`open`){let e=ad(r.url);if(e===``)return;let t=globalThis.open;t?.(e,`_blank`,`noopener,noreferrer`);return}if((r.type===`submit`||r.type===`restart`)&&r.confirm!==void 0){i({button:e,confirm:r.confirm});return}t.dispatch(r,null)}if(r!==null){let{button:e,confirm:n}=r;return(0,R.jsxs)(`div`,{className:`blk-confirm`,role:`dialog`,"data-tone":n.tone??`bad`,children:[(0,R.jsx)(`div`,{className:`blk-confirm-title`,dir:`auto`,children:n.title}),n.body!==void 0&&n.body!==``&&(0,R.jsx)(`div`,{className:`blk-confirm-body`,dir:`auto`,children:n.body}),(0,R.jsxs)(`div`,{className:`blk-confirm-row`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>i(null),children:`Cancel`}),(0,R.jsx)(`button`,{type:`button`,className:`blk-confirm-ok`,onClick:()=>{i(null),t.dispatch(e.action,null)},children:n.confirmLabel??`Confirm`})]})]})}return a.length===0?null:(0,R.jsx)(`div`,{className:`blk-actions`,"data-block":`actions`,children:a.map(e=>{let t=I(n,e.icon);return(0,R.jsxs)(`button`,{type:`button`,className:`blk-action`,onClick:()=>o(e),children:[t!==void 0&&(0,R.jsx)(gd,{name:t}),(0,R.jsx)(`span`,{dir:`auto`,children:L(n,e.label)})]},e.id)})})}var Md=24,Nd={error:`bad`,warn:`warn`,info:`neutral`,debug:`info`};function Pd(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.text==`string`):[]}function Fd(e,t){return e===void 0?`neutral`:t?.[e]??Nd[e]??`neutral`}function Id(e){if(e.at!==void 0)return typeof e.at==`number`?new Date(e.at).toISOString():e.at}function Ld(e){let t=F(),n=e.block,r=Pd(I(t,n.lines)),i=(0,v.useRef)(null),a=(0,v.useRef)(!0),[o,s]=(0,v.useState)(!0);a.current=o&&n.follow===!0,(0,v.useEffect)(()=>{let e=i.current;e!==null&&a.current&&(e.scrollTop=e.scrollHeight)},[r.length]);function c(){let e=i.current;if(e===null)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=Md;s(t)}return(0,R.jsx)(`div`,{className:`blk blk-log`,"data-block":`log`,"data-wrap":n.wrap===!0,children:(0,R.jsx)(`div`,{ref:i,className:`blk-log-lines`,onScroll:c,role:`log`,children:r.map((e,t)=>{let r=Fd(e.level,n.tones);return(0,R.jsxs)(`div`,{className:`blk-log-line`,"data-tone":r,"data-level":e.level,style:vd(r),children:[e.at!==void 0&&(0,R.jsx)(`time`,{className:`blk-log-time`,dateTime:Id(e),children:Id(e)}),e.level!==void 0&&(0,R.jsx)(`span`,{className:`blk-log-level`,children:e.level}),(0,R.jsx)(`span`,{className:`blk-log-text`,dir:`auto`,children:e.text})]},t)})})})}function Rd(e){for(let t of e){if(t.type===`collection`)return t;if(t.type===`stack`){let e=Rd(t.children);if(e!==void 0)return e}if(t.type===`section`){let e=Rd(t.children.filter(e=>e.type===`collection`||e.type===`stack`||e.type===`columns`||e.type===`grid`||e.type===`section`));if(e!==void 0)return e}if(t.type===`columns`||t.type===`grid`)for(let e of t.children){let t=Rd([e.block]);if(t!==void 0)return t}}}function zd(e,t){if(e.empty===void 0)return!1;let n=Rd(e.main);if(n===void 0)return!1;let r=n.items;if(typeof r!=`object`||!(`$`in r))return!1;let i=k(t,r.$);return!Array.isArray(i)||i.length===0}function Bd(e){return e.map((e,t)=>(0,R.jsx)(Kp,{block:e},t))}function Vd(e){let t=F(),n=Ve(),r=I(t,e.field.options)??[],i=t=>{n.dispatch({type:`navigate`,params:{[e.field.name]:t}},{[e.field.name]:t})};return(0,R.jsx)(`span`,{className:`blk-page-switcher`,"data-page-switcher":``,children:r.map(n=>(0,R.jsxs)(`label`,{className:`blk-page-switcher-option`,children:[(0,R.jsx)(`input`,{type:`radio`,name:e.field.name,value:n.id,onChange:()=>i(n.id)}),(0,R.jsx)(`span`,{children:L(t,n.label)})]},n.id))})}function Hd(e){let t=F(),n=Ve();return n.access===`read`?null:(0,R.jsxs)(`button`,{type:`button`,className:`blk-page-action`,"data-page-action":e.button.id,onClick:()=>n.dispatch(e.button.action,{}),children:[e.button.icon!==void 0&&(0,R.jsx)(gd,{name:e.button.icon,size:14}),(0,R.jsx)(`span`,{children:L(t,e.button.label)})]})}function Ud(e){let t=e.block,n=F(),r=Ve(),i=z()===`compact`,[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(!1),l=L(n,t.title),u=L(n,t.subtitle),d=zd(t,n.data),f=t.sidebar!==void 0&&t.sidebar.length>0,p=t.detail!==void 0&&t.detail.length>0,m=t.selection,h=i&&m!==void 0&&f&&!m.selected,g=i&&m!==void 0&&f&&m.selected,_=i&&f&&m===void 0;return(0,R.jsxs)(`div`,{className:`blk blk-page`,"data-block":`page`,id:t.id,children:[(0,R.jsxs)(`header`,{className:`blk-page-header`,children:[(0,R.jsxs)(`div`,{className:`blk-page-titles`,children:[(0,R.jsx)(`h1`,{className:`blk-page-title`,dir:`auto`,children:l}),u!==``&&(0,R.jsx)(`p`,{className:`blk-page-subtitle`,dir:`auto`,children:u})]}),t.switcher!==void 0&&(0,R.jsx)(Vd,{field:t.switcher}),(t.actions??[]).map(e=>(0,R.jsx)(Hd,{button:e},e.id)),_&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-drawer-toggle":``,"aria-label":`toggle sidebar`,onClick:()=>o(e=>!e),children:`☰`}),i&&p&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-detail-toggle":``,"aria-label":`open detail`,onClick:()=>c(!0),children:`›`})]}),(0,R.jsxs)(`div`,{className:`blk-page-body`,children:[f&&!g&&(0,R.jsx)(`aside`,{className:`blk-page-sidebar`,"data-page-region":`sidebar`,"data-open":i&&m===void 0&&a?``:void 0,"data-selection":h?`list`:void 0,children:Bd(t.sidebar??[])}),!h&&(0,R.jsxs)(`main`,{className:`blk-page-main`,"data-page-region":`main`,children:[g&&m!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-back":``,"aria-label":`back to list`,onClick:()=>r.dispatch({type:`navigate`,params:m.back},{}),children:`‹ back`}),d&&t.empty!==void 0?(0,R.jsxs)(`div`,{className:`blk-page-empty`,"data-page-empty":``,children:[(0,R.jsx)(gd,{name:t.empty.icon,size:24}),(0,R.jsx)(`p`,{className:`blk-page-empty-title`,children:t.empty.title}),t.empty.hint!==void 0&&t.empty.hint!==``&&(0,R.jsx)(`p`,{className:`blk-page-empty-hint`,children:t.empty.hint})]}):Bd(t.main)]}),p&&(0,R.jsxs)(`aside`,{className:`blk-page-detail`,"data-page-region":`detail`,"data-open":i&&s?``:void 0,children:[i&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-detail-back":``,"aria-label":`back`,onClick:()=>c(!1),children:`‹ back`}),Bd(t.detail??[])]})]})]})}function Wd(e){return Array.isArray(e.options)?e.options:[]}function Gd(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e.other;return typeof t==`string`?t:``}if(Array.isArray(e)){let t=e[e.length-1];if(typeof t==`object`&&t&&!Array.isArray(t)){let e=t.other;return typeof e==`string`?e:``}}return``}function Kd(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function qd(e,t){let n=Wd(e),r=e=>{let t=n.find(t=>t.id===e)?.label;return typeof t==`string`&&t!==``?t:e};if(e.multi===!0){let e=Kd(t).map(r),n=Gd(t);return n!==``&&e.push(n),e.length===0?void 0:e.join(`, `)}if(typeof t==`string`)return t===``?void 0:r(t);let i=Gd(t);return i===``?void 0:i}var Jd=5;function Yd(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Xd(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e.other;if(typeof t==`string`)return t}if(Array.isArray(e)){let t=e[e.length-1];if(typeof t==`object`&&t&&!Array.isArray(t)){let e=t.other;if(typeof e==`string`)return e}}return``}function Zd(e){let{field:t}=e,n=F(),r=z(),i=I(n,t.options)??[],a=t.multi===!0,o=t.allowOther!==void 0,s=L(n,t.label),[c,l]=(0,v.useState)(null),u=typeof e.value==`string`?e.value:``,d=Yd(e.value),f=Xd(e.value),p=a?Xd(e.value)!==``:typeof e.value==`object`&&e.value!==null&&!Array.isArray(e.value),m=n=>e.onChange(t.name,n),h=n=>e.onChange(t.name,n===``?``:{other:n}),g=n=>{let r=Yd(e.value),i=f===``?[]:[{other:f}];r.includes(n)?e.onChange(t.name,[...r.filter(e=>e!==n),...i]):e.onChange(t.name,[...r,n,...i])},_=n=>{let r=Yd(e.value);e.onChange(t.name,n.trim()===``?[...r]:[...r,{other:n}])},y=i.find(e=>e.id===c&&e.preview!==void 0),b=r===`compact`?`below`:`beside`,x=(0,R.jsxs)(R.Fragment,{children:[i.length<=Jd?(0,R.jsx)(`div`,{className:`blk-choice-options`,role:a?`group`:`radiogroup`,"aria-label":s,children:i.map(r=>{let i=L(n,r.label),o=a?d.includes(r.id):u===r.id;return(0,R.jsxs)(`label`,{className:`blk-choice-option`,"data-recommended":r.recommended===!0||void 0,"data-tone":r.tone,dir:`auto`,children:[(0,R.jsx)(`input`,{type:a?`checkbox`:`radio`,name:t.name,value:r.id,checked:o,disabled:e.disabled,onFocus:()=>l(r.id),onChange:()=>a?g(r.id):m(r.id)}),(0,R.jsx)(`span`,{className:`blk-choice-label`,dir:`auto`,children:i}),r.description!==void 0&&(0,R.jsx)(`span`,{className:`blk-choice-description`,dir:`auto`,children:L(n,r.description)})]},r.id)})}):(0,R.jsxs)(`select`,{"aria-label":s,multiple:a,disabled:e.disabled,value:a?[...d]:u,onFocus:()=>l(null),onChange:n=>{if(a){let r=Array.from(n.target.selectedOptions).map(e=>e.value),i=f===``?[]:[{other:f}];e.onChange(t.name,[...r,...i])}else m(n.target.value)},children:[!a&&(0,R.jsx)(`option`,{value:``}),i.map(e=>(0,R.jsx)(`option`,{value:e.id,children:L(n,e.label)},e.id))]}),o&&(0,R.jsxs)(`div`,{className:`blk-choice-other`,children:[a&&(0,R.jsx)(`input`,{type:`checkbox`,"aria-label":`${s} other`,checked:p,disabled:e.disabled,onChange:n=>n.target.checked&&f.trim()!==``?_(f):e.onChange(t.name,[...d])}),(0,R.jsx)(`input`,{type:`text`,dir:`auto`,"aria-label":`${s} other text`,placeholder:t.allowOther?.label??`Type something`,value:f,disabled:e.disabled,onFocus:()=>l(null),onChange:e=>a?_(e.target.value):h(e.target.value)})]})]});return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-choice`,"data-preview":y===void 0?void 0:b,children:[(0,R.jsx)(`div`,{className:`blk-choice-main`,children:x}),y!==void 0&&y.preview!==void 0&&(0,R.jsx)(`div`,{className:`blk-choice-preview`,"data-layout":b,children:(0,R.jsx)(bd,{block:{text:y.preview}})})]})})}function Qd(e){return e===`stored`?`set (stored)`:e===`env`?`set (env)`:`not set`}function $d(e){let{field:t}=e,n=F(),r=e.formBind??``,i=I(n,{$:`${r===``?``:r}/${t.name}`.replace(/^\/+/,`/`)}),a=typeof e.value==`string`?e.value:``;return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-secret`,children:[(0,R.jsx)(`span`,{className:`blk-secret-status`,"data-status":typeof i==`string`?i:`unset`,children:Qd(i)}),(0,R.jsx)(`input`,{type:`password`,dir:`auto`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),autoComplete:`new-password`,value:a,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})]})})}function ef(e,t){return e===void 0||e.trim()===``||e.split(`,`).some(e=>{let n=e.trim();return n===``?!1:n.startsWith(`.`)?t.name.endsWith(n):n.endsWith(`/*`)?t.type.startsWith(n.slice(0,-1)):t.type===n})}function tf(e){let{field:t}=e,n=F(),r=Ve(),[i,a]=(0,v.useState)(null),o=(0,v.useRef)(null),s=L(n,t.label),c=n=>{let i=[];for(let e of n){if(!ef(t.accept,e)){a(`${e.name}: not an accepted type`);return}if(t.maxBytes!==void 0&&e.size>t.maxBytes){a(`${e.name} is larger than ${t.maxBytes} bytes`);return}i.push(e)}a(null),e.onChange(t.name,i.map(e=>({name:e.name,size:e.size,type:e.type}))),r.dispatch({type:`submit`,name:t.onUpload,turn:!1},{field:t.name,files:i.map(e=>({name:e.name,size:e.size,type:e.type}))}),o.current!==null&&(o.current.value=``)},l=i??e.error;return(0,R.jsx)(lf,{field:t,error:l,children:(0,R.jsx)(`input`,{ref:o,type:`file`,"aria-label":s,accept:t.accept,multiple:t.multi===!0,disabled:e.disabled,onChange:e=>{let t=e.target.files;c(t===null?[]:Array.from(t))}})})}function nf(e){return Array.isArray(e)?e:[]}function rf(e){let{field:t}=e,n=nf(e.value),r=t.min??0,i=t.max,a=!e.disabled&&(i===void 0||n.length<i),o=!e.disabled&&n.length>r,s=!e.disabled&&t.reorder===!0,c=n=>e.onChange(t.name,[...n]),l=(e,t)=>c(n.map((n,r)=>r===e?t:n)),u=e=>c(n.filter((t,n)=>n!==e)),d=(e,t)=>{let r=e+t;if(r<0||r>=n.length)return;let i=[...n],[a]=i.splice(e,1);i.splice(r,0,a),c(i)};return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-list`,"data-min":r,"data-max":i,children:[n.map((r,i)=>(0,R.jsxs)(`div`,{className:`blk-list-entry`,children:[(0,R.jsx)(gf,{field:{...t.item,name:`${t.name}.${i}`},value:r,disabled:e.disabled,onChange:(e,t)=>l(i,t)}),(0,R.jsxs)(`div`,{className:`blk-list-controls`,children:[s&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":`move entry ${i+1} up`,disabled:i===0,onClick:()=>d(i,-1),children:`↑`}),(0,R.jsx)(`button`,{type:`button`,"aria-label":`move entry ${i+1} down`,disabled:i===n.length-1,onClick:()=>d(i,1),children:`↓`})]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":`remove entry ${i+1}`,disabled:!o,onClick:()=>u(i),children:`Remove`})]})]},i)),(0,R.jsx)(`button`,{type:`button`,disabled:!a,onClick:()=>{c([...n,``])},children:`Add`})]})})}function af(e,t){let n=/^P(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/.exec(e);if(n===null)return null;let r=Number(n[1]??0),i=Number(n[2]??0),a=Number(n[3]??0),o=Number(n[4]??0),s=Number(n[5]??0),c=new Date(t.getTime());c.setDate(c.getDate()-(r*7+i));let l=((a*60+o)*60+s)*1e3;return{start:sf(new Date(c.getTime()-l)),end:sf(t)}}function of(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e;return{start:typeof t.start==`string`?t.start:``,end:typeof t.end==`string`?t.end:``}}return{start:``,end:``}}function sf(e){let t=e=>String(e).padStart(2,`0`);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`}function cf(e){let{field:t}=e,n=L(F(),t.label),r=of(e.value),i=(n,r)=>e.onChange(t.name,{start:n,end:r}),a=e=>{let t=af(e,new Date);t!==null&&i(t.start,t.end)};return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-daterange`,children:[t.presets!==void 0&&t.presets.length>0&&(0,R.jsx)(`div`,{className:`blk-daterange-presets`,children:t.presets.map(t=>(0,R.jsx)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>a(t.duration),children:t.label},t.id))}),(0,R.jsx)(`input`,{type:`date`,"aria-label":`${n} start`,value:r.start,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:e=>i(e.target.value,r.end)}),(0,R.jsx)(`input`,{type:`date`,"aria-label":`${n} end`,value:r.end,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:e=>i(r.start,e.target.value)})]})})}function lf(e){let t=F(),n=L(t,e.field.label),r=L(t,e.field.help);return(0,R.jsxs)(`div`,{className:`blk-field`,"data-field":e.field.type,"data-name":e.field.name,children:[n!==``&&(0,R.jsxs)(`label`,{className:`blk-field-label`,dir:`auto`,children:[n,e.field.required===!0&&(0,R.jsx)(`span`,{"aria-hidden":!0,children:` *`})]}),e.children,r!==``&&(0,R.jsx)(`div`,{className:`blk-field-help`,dir:`auto`,children:r}),e.error!==void 0&&(0,R.jsx)(`div`,{className:`blk-field-error`,role:`alert`,dir:`auto`,children:e.error})]})}function uf(e){let{field:t}=e,n=F(),r=t.kind===`email`?`email`:t.kind===`url`?`url`:t.kind===`search`?`search`:`text`;return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:r,dir:`auto`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),value:typeof e.value==`string`?e.value:``,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function df(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`textarea`,{dir:`auto`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),rows:t.rows??3,value:typeof e.value==`string`?e.value:``,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function ff(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`number`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),value:typeof e.value==`number`?String(e.value):``,step:t.step,min:t.min,max:t.max,disabled:e.disabled,onChange:n=>{let r=n.target.value;e.onChange(t.name,r===``?``:Number(r))}})})}function pf(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`checkbox`,"aria-label":L(n,t.label),checked:e.value===!0,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.checked)})})}function mf(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`date`,"aria-label":L(n,t.label),value:typeof e.value==`string`?e.value:``,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function hf(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`datetime-local`,"aria-label":L(n,t.label),value:typeof e.value==`string`?e.value:``,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function gf(e){let t=e.field;switch(t.type){case`text`:return(0,R.jsx)(uf,{...e,field:t});case`longtext`:return(0,R.jsx)(df,{...e,field:t});case`number`:return(0,R.jsx)(ff,{...e,field:t});case`toggle`:return(0,R.jsx)(pf,{...e,field:t});case`date`:return(0,R.jsx)(mf,{...e,field:t});case`datetime`:return(0,R.jsx)(hf,{...e,field:t});case`choice`:return(0,R.jsx)(Zd,{...e,field:t});case`secret`:return(0,R.jsx)($d,{...e,field:t});case`file`:return(0,R.jsx)(tf,{...e,field:t});case`list`:return(0,R.jsx)(rf,{...e,field:t});case`daterange`:return(0,R.jsx)(cf,{...e,field:t})}}function _f(e){return typeof e==`object`&&!!e&&typeof e.type==`string`&&typeof e.name==`string`}var vf=_f;function yf(e){let t=[],n=e=>{for(let r of e)vf(r)?t.push(r):typeof r==`object`&&r&&r.type===`section`&&n(r.children)};return n(e.children),t}function bf(e,t){if(e.type===`secret`)return``;let n=t[e.name];if(n!==void 0)return n;switch(e.type){case`toggle`:return e.default===!0;case`choice`:if(Array.isArray(e.options)){let t=e.options.filter(e=>e.recommended===!0).map(e=>e.id);if(e.multi===!0)return t;if(t.length>0)return t[0]}return e.multi===!0?[]:``;case`list`:return[];case`daterange`:return{};default:return``}}function xf(e,t,n){let r=t==null||t===``||Array.isArray(t)&&t.length===0||typeof t==`object`&&!Array.isArray(t)&&Object.keys(t).length===0;if(e.required===!0&&r)return`${n} is required`;if(r)return null;if(typeof t==`number`){if(e.min!==void 0&&t<e.min)return`${n} must be at least ${e.min}`;if(e.max!==void 0&&t>e.max)return`${n} must be at most ${e.max}`}if(typeof t==`string`){if(e.minLength!==void 0&&t.length<e.minLength)return`${n} must be at least ${e.minLength} characters`;if(e.maxLength!==void 0&&t.length>e.maxLength)return`${n} must be at most ${e.maxLength} characters`;if(e.pattern!==void 0&&t!==``){let r=null;try{r=RegExp(`^(?:${e.pattern})$`)}catch{r=null}if(r!==null&&!r.test(t))return`${n} does not match ${e.pattern}`}}if(Array.isArray(t)){if(e.min!==void 0&&t.length<e.min)return`${n} needs at least ${e.min} entries`;if(e.max!==void 0&&t.length>e.max)return`${n} allows at most ${e.max} entries`}return null}function Sf(e,t){if(!t)return null;let n=e.children.filter(e=>typeof e==`object`&&!!e&&e.type===`section`);return n.length<2?null:n.every(e=>e.children.some(e=>typeof e==`object`&&!!e&&e.type===`choice`))?n:null}function Cf(e){let{block:t}=e,n=F(),r=Ve(),i=t.bind.startsWith(`/view/`)?k(r.viewState,t.bind.replace(/^\/view\/?/,`/`))??{}:k(n.data,t.bind)??{},a=yf(t),[o,s]=(0,v.useState)(()=>{let e={};for(let t of a)e[t.name]=bf(t,i);return e}),[c,l]=(0,v.useState)({}),u=(0,v.useRef)(null),d=(0,v.useRef)(null);(0,v.useEffect)(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);let f=r.access!==`write`,p=e=>{let t={};for(let r of a){let i=xf(r,e[r.name],L(n,r.label)||r.name);i!==null&&(t[r.name]=i)}return l(t),Object.keys(t).length===0},m=e=>{if(!p(e))return!1;let n=Object.fromEntries(a.filter(e=>e.disabled!==!0).map(t=>[t.name,e[t.name]]));return r.dispatch({type:`submit`,name:t.onSubmit??`submit`,...t.turn===void 0?{}:{turn:t.turn}},{values:n,rev:r.rev??0}),!0},h=(e,n)=>{s(i=>{let a={...i,[e]:n};return t.mode===`live`&&(d.current=a,u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>{let e=d.current;if(d.current=null,e!==null){if(t.bind.startsWith(`/view/`)){let n=t.bind.replace(/^\/view\/?/,``);r.setView?.(n,{...e});return}r.dispatch({type:`edit`,name:t.onSubmit??`edit`,...t.turn===void 0?{}:{turn:t.turn}},{values:{...e}})}},300)),a})},g=L(n,t.submitLabel)||`Submit`,_=Sf(t,e.interaction===!0);return _===null?(0,R.jsxs)(`div`,{className:`blk blk-form`,"data-block":`form`,"data-mode":t.mode,children:[(0,R.jsx)(wf,{block:t,values:o,errors:c,serverErrors:r.serverErrors??{},disabled:f,onChange:h,formBind:t.bind}),t.mode!==`live`&&!f&&(0,R.jsx)(`button`,{type:`button`,className:`blk-form-submit`,onClick:()=>{if(m(o)&&t.mode===`inline`){let e={};for(let t of a)e[t.name]=bf(t,{});s(e)}},children:g})]}):(0,R.jsx)(Df,{block:t,sections:_,values:o,errors:c,serverErrors:r.serverErrors??{},disabled:f,submitLabel:g,onChange:h,onSubmit:()=>{m(o)}})}function wf(e){return(0,R.jsx)(R.Fragment,{children:e.block.children.map((t,n)=>(0,R.jsx)(Tf,{child:t,...e},n))})}function Tf(e){let t=e.child;if(typeof t==`object`&&t&&t.type===`section`){let n=t;return(0,R.jsxs)(`div`,{className:`blk blk-section`,"data-block":`section`,children:[n.title!==void 0&&(0,R.jsx)(Ef,{section:n}),n.children.map((t,n)=>{if(typeof t==`object`&&t&&typeof t.name==`string`){let{child:r,...i}=e;return(0,R.jsx)(Tf,{...i,child:t},n)}return(0,R.jsx)(Kp,{block:t},n)})]})}let n=t;return(0,R.jsx)(gf,{field:n,value:e.values[n.name],disabled:e.disabled||n.disabled===!0,error:e.errors[n.name]??e.serverErrors[n.name],onChange:e.onChange,formBind:e.formBind})}function Ef(e){let t=F();return(0,R.jsx)(`h3`,{className:`blk-section-title`,dir:`auto`,children:L(t,e.section.title)})}function Df(e){let[t,n]=(0,v.useState)(0),r=F(),i=e.sections.length,a=t>=i?void 0:e.sections[t],o=e=>e.children.find(e=>typeof e==`object`&&!!e&&e.type===`choice`),s=e.sections.filter(t=>{let n=o(t);return n===void 0||n.required!==!0?!1:qd(n,e.values[n.name])===void 0});return(0,R.jsx)(`div`,{className:`blk blk-form blk-stepper`,"data-block":`form`,"data-step":t,children:a===void 0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`blk-stepper-review`,children:[e.sections.map((t,n)=>{let r=o(t),i=r===void 0?void 0:qd(r,e.values[r.name]);return(0,R.jsxs)(`div`,{className:`blk-stepper-review-row`,children:[(0,R.jsx)(Ef,{section:t}),(0,R.jsx)(`span`,{dir:`auto`,children:i})]},n)}),s.map((e,t)=>(0,R.jsxs)(`div`,{className:`blk-stepper-review-unanswered`,children:[`Not answered yet: `,L(r,e.title)]},`unanswered-${t}`))]}),(0,R.jsxs)(`div`,{className:`blk-stepper-nav`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(i-1),children:`Back`}),!e.disabled&&(0,R.jsx)(`button`,{type:`button`,className:`blk-form-submit`,disabled:s.length>0,onClick:e.onSubmit,children:e.submitLabel})]})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`blk-stepper-progress`,children:[`Step `,t+1,` of `,i]}),(0,R.jsx)(Tf,{child:a,values:e.values,errors:e.errors,serverErrors:e.serverErrors,disabled:e.disabled,onChange:e.onChange}),(0,R.jsxs)(`div`,{className:`blk-stepper-nav`,children:[t>0&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(t-1),children:`Back`}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(t+1),children:t+1===i?`Review`:`Next`})]})]})})}function Of(e){let t={...F(),item:e.item};return(0,R.jsx)(ze.Provider,{value:t,children:(0,R.jsx)(kf,{card:e.card,display:e.display})})}function kf(e){let t=F(),n=e.card,r=L(t,n.eyebrow),i=L(t,n.title),a=L(t,n.subtitle),o=L(t,n.body),s=L(t,n.image),c=I(t,n.icon),l=I(t,n.tone),u=I(t,n.quiet),d=I(t,n.deps),f=e.display===`list`||e.display===`lanes`;return(0,R.jsxs)(`div`,{className:`blk blk-card`,"data-block":`card`,"data-tone":l??`neutral`,"data-quiet":u===!0||void 0,children:[l!==void 0&&(0,R.jsx)(`div`,{className:`blk-card-stripe`,style:yd(l)}),s!==``&&(0,R.jsx)(`img`,{className:`blk-card-image`,"data-layout":e.display===`grid`?`top`:`thumb`,src:s,alt:``}),(0,R.jsxs)(`div`,{className:`blk-card-main`,children:[(0,R.jsxs)(`div`,{className:`blk-card-head`,children:[c!==void 0&&(0,R.jsx)(`span`,{className:`blk-card-icon`,children:(0,R.jsx)(gd,{name:c})}),(0,R.jsxs)(`div`,{className:`blk-card-titles`,children:[r!==``&&(0,R.jsx)(`div`,{className:`blk-card-eyebrow`,dir:`auto`,children:r}),(0,R.jsx)(`div`,{className:`blk-card-title`,dir:`auto`,children:i}),a!==``&&(0,R.jsx)(`div`,{className:`blk-card-subtitle`,dir:`auto`,children:a})]}),n.status!==void 0&&(0,R.jsx)(Af,{card:n})]}),o!==``&&(0,R.jsx)(`div`,{className:`blk-card-body`,"data-clamped":f?!0:void 0,children:(0,R.jsx)(md,{source:o,variant:`prose`})}),(0,R.jsx)(jf,{card:n}),(0,R.jsx)(Mf,{card:n}),(0,R.jsx)(Pf,{card:n}),d!==void 0&&d.length>0&&(0,R.jsxs)(`div`,{className:`blk-card-deps`,dir:`auto`,children:[`after: `,d.join(`, `)]}),(0,R.jsx)(Ff,{card:n})]})]})}function Af(e){let t=F(),n=e.card.status;if(n===void 0)return null;let r=L(t,n.label),i=I(t,n.tone),a=I(t,n.spinner)===!0;return r===``&&!a?null:(0,R.jsxs)(`div`,{className:`blk-card-status`,"data-tone":i??`neutral`,children:[a&&(0,R.jsx)(`span`,{className:`blk-card-spinner`,"data-spinner":`true`}),(0,R.jsx)(`span`,{dir:`auto`,children:r})]})}function jf(e){let t=F(),n=(e.card.badges??[]).map((e,n)=>{let r=L(t,e.text);return r===``?null:(0,R.jsx)(`span`,{className:`blk-card-badge`,"data-tone":I(t,e.tone)??`neutral`,dir:`auto`,children:r},n)}).filter(e=>e!==null);return n.length===0?null:(0,R.jsx)(`div`,{className:`blk-card-badges`,children:n})}function Mf(e){let t=F(),n=(e.card.meta??[]).map((e,n)=>Nf(t,e,n)).filter(e=>e!==null);return n.length===0?null:(0,R.jsx)(`div`,{className:`blk-card-meta`,children:n})}function Nf(e,t,n){if(`person`in t){let r=L(e,t.person.name);return r===``?null:(0,R.jsxs)(`span`,{className:`blk-card-meta-item`,dir:`auto`,children:[(0,R.jsx)(gd,{name:`user`}),r]},n)}if(`time`in t){let r=I(e,t.time),i=N(typeof r==`string`||typeof r==`number`?r:``,t.format,e.locale);return i===``?null:(0,R.jsxs)(`span`,{className:`blk-card-meta-item`,dir:`auto`,children:[(0,R.jsx)(gd,{name:`clock`}),i]},n)}let r=L(e,t.text);if(r===``)return null;let i=`icon`in t?I(e,t.icon):void 0;return(0,R.jsxs)(`span`,{className:`blk-card-meta-item`,dir:`auto`,children:[i!==void 0&&(0,R.jsx)(gd,{name:i}),r]},n)}function Pf(e){let t=F(),n=(e.card.metrics??[]).map((e,n)=>{let r=L(t,e.label),i=I(t,e.value);return r===``||i===void 0?null:(0,R.jsxs)(`span`,{className:`blk-card-metric`,dir:`auto`,children:[(0,R.jsx)(`span`,{className:`blk-card-metric-value`,children:N(i,e.format,t.locale)}),(0,R.jsx)(`span`,{className:`blk-card-metric-label`,children:r})]},n)}).filter(e=>e!==null);return n.length===0?null:(0,R.jsx)(`div`,{className:`blk-card-metrics`,children:n})}function Ff(e){let t=e.card.actions??[];if(t.length===0)return null;let n=t.slice(0,3),r=t.slice(3);return(0,R.jsxs)(`div`,{className:`blk-card-actions`,onClick:e=>e.stopPropagation(),children:[(0,R.jsx)(jd,{buttons:n}),r.length>0&&(0,R.jsxs)(`details`,{className:`blk-card-overflow`,children:[(0,R.jsx)(`summary`,{"aria-label":`More actions`,children:(0,R.jsx)(gd,{name:`more`})}),(0,R.jsx)(jd,{buttons:r})]})]})}function If(e,t){if(typeof e==`object`&&e&&!Array.isArray(e)&&`id`in e){let t=e.id;if(typeof t==`string`)return t;if(typeof t==`number`)return String(t)}return`item-${t}`}function Lf(e,t,n){return n===`single`?e.includes(t)?[]:[t]:e.includes(t)?e.filter(e=>e!==t):[...e,t]}function Rf(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function zf(e,t){return e===void 0||e.field!==t?{field:t,dir:`asc`}:{field:t,dir:e.dir===`asc`?`desc`:`asc`}}function Bf(e){let[t,n]=(0,v.useState)([]),[r,i]=(0,v.useState)([]);return{selection:t,folded:r,toggleSelect:t=>{n(n=>Lf(n,t,e.select??`single`))},toggleFold:e=>{i(t=>Rf(t,e))}}}function $(e){let t=Ve();return n=>{let r=e.onActivate;r!==void 0&&(r.type===`navigate`||r.type===`copy`||r.type===`open`||t.access===`write`)&&t.dispatch(r,{itemId:n})}}function Vf(e){let t=Ve(),n=F(),[r,i]=(0,v.useState)(null),a=e.block.bulkActions??[];if(t.access!==`write`||e.block.select!==`multi`||e.selection.length===0||a.length===0)return null;let o=(n,r)=>{t.dispatch({type:`submit`,name:n.onSubmit},{ids:[...e.selection],values:r}),i(null)};return(0,R.jsxs)(`div`,{className:`blk-bulk`,"data-block":`bulk-actions`,children:[a.map(e=>{let t=I(n,e.label)??e.id;return(0,R.jsx)(`button`,{type:`button`,className:`blk-bulk-action`,onClick:()=>{e.form===void 0?o(e,{}):i(e)},children:t},e.id)}),r!==null&&r.form!==void 0&&(0,R.jsx)(`div`,{className:`blk-bulk-form`,children:(0,R.jsx)(Be.Provider,{value:{...t,dispatch:(e,t)=>{let n=typeof t==`object`&&t&&!Array.isArray(t)&&typeof t.values==`object`?t.values:{};o(r,n)}},children:(0,R.jsx)(Cf,{block:Hf(r.form)})})})]})}function Hf(e){let t=e.root;return typeof t==`object`&&t&&t.type===`form`?t:e}function Uf(e){return Ve().access===`write`?(0,R.jsx)(`input`,{type:`checkbox`,className:`blk-select`,checked:e.checked,onClick:e=>e.stopPropagation(),onChange:()=>e.onToggle()}):null}function Wf(e){return e.slice(0,10)}function Gf(e,t){let n=new Date(`${e}T00:00:00Z`);return n.setUTCDate(n.getUTCDate()+t),n.toISOString().slice(0,10)}function Kf(e,t){let[n,r]=e.split(`-`),i=Number(n),a=Number(r)-1+t;return new Date(Date.UTC(i,a,1)).toISOString().slice(0,7)}function qf(){return new Date().toISOString().slice(0,7)}function Jf(e){let[t,n]=e.split(`-`),r=Number(t),i=Number(n),a=[],o=new Date(Date.UTC(r,i-1,1));for(;o.getUTCMonth()===i-1;)a.push(o.toISOString().slice(0,10)),o.setUTCDate(o.getUTCDate()+1);return a}function Yf(e,t){let n=e.time;if(n===void 0||typeof t!=`object`||!t||Array.isArray(t))return;let r=t,i=r[n.start];if(typeof i!=`string`)return;let a=n.end===void 0?void 0:r[n.end];return{start:i,end:typeof a==`string`?a:void 0}}function Xf(e,t){if(typeof document==`object`)return(document.elementFromPoint(e,t)?.closest(`[data-drop-day]`))?.getAttribute(`data-drop-day`)??void 0}function Zf(e){let t=e.block,n=t.time,r=$(t),i=Ve(),a=z()===`compact`,o=i.access===`write`,s=o&&t.onMove!==void 0,c=o&&n?.onResize!==void 0,l=o&&n?.onCreate!==void 0,[u,d]=(0,v.useState)(qf),f=new Map,p=e.groups.flatMap(e=>[...e.buckets.visible,...e.buckets.quiet]);for(let e of p){let n=Yf(t,e.item);if(n===void 0)continue;let r=Wf(n.start),i=f.get(r)??[];i.push(e),f.set(r,i)}let m=(0,v.useRef)(null),[,h]=(0,v.useState)(!1),g=e=>{e.key===`[`?d(e=>Kf(e,-1)):e.key===`]`?d(e=>Kf(e,1)):e.key===`t`&&d(qf())},_=(e,n,r)=>{let i=Yf(t,n.item);if(i===void 0)return;let a=r?.currentTarget;a!==void 0&&r!==void 0&&a.setPointerCapture?.(r.pointerId),m.current=e===`move`?{kind:e,itemId:n.id,start:i.start,end:i.end,el:a,pointerId:r?.pointerId}:{kind:e,itemId:n.id,start:i.start,el:a,pointerId:r?.pointerId},h(!0)},y=()=>{let e=m.current;if(e!==null&&(m.current=null,h(!1),e.el!==void 0&&e.pointerId!==void 0))try{e.el.releasePointerCapture?.(e.pointerId)}catch{}},b=e=>{let r=m.current;if(r===null)return;if(m.current=null,h(!1),r.el!==void 0&&r.pointerId!==void 0)try{r.el.releasePointerCapture?.(r.pointerId)}catch{}let a=Xf(e.clientX,e.clientY);if(a===void 0)return;if(r.kind===`move`){let e=t.onMove;if(e===void 0)return;let n=(Date.parse(`${a}T00:00:00Z`)-Date.parse(`${Wf(r.start)}T00:00:00Z`))/864e5,o=Qf(r.start,n),s=r.end===void 0?void 0:Qf(r.end,n);i.dispatch({type:`move`,name:e},{itemId:r.itemId,to:s===void 0?{start:o}:{start:o,end:s}});return}if(r.kind===`resize`){let e=n?.onResize;if(e===void 0||n?.end===void 0)return;let o=x(r.itemId),s=o===void 0?void 0:Yf(t,o.item),c=s?.end===void 0?`T00:00:00Z`:s.end.slice(10);i.dispatch({type:`edit`,name:e},{itemId:r.itemId,end:`${a}${c}`});return}let o=n?.onCreate;o!==void 0&&i.dispatch({type:`submit`,name:o,turn:!1},{start:`${a}T00:00:00Z`,end:`${Gf(a,1)}T00:00:00Z`})},x=e=>p.find(t=>t.id===e);if(a||n?.range===`agenda`){let e=[...p].sort((e,n)=>{let r=Yf(t,e.item)?.start??``,i=Yf(t,n.item)?.start??``;return r.localeCompare(i)});return(0,R.jsx)(`div`,{className:`blk blk-collection blk-calendar`,"data-display":`calendar`,"data-layout":`agenda`,"data-range-label":u,onKeyDown:g,children:e.map(e=>(0,R.jsxs)(`div`,{className:`blk-agenda-row`,onClick:()=>r(e.id),children:[(0,R.jsx)(`span`,{className:`blk-agenda-when`,children:Yf(t,e.item)?.start??``}),(0,R.jsx)(Of,{card:t.item,item:e.item,display:`list`})]},e.id))})}let S=Jf(u);return(0,R.jsx)(`div`,{className:`blk blk-collection blk-calendar`,"data-display":`calendar`,"data-layout":`month`,"data-range-label":u,onKeyDown:g,children:(0,R.jsx)(`div`,{className:`blk-calendar-grid`,children:S.map(e=>(0,R.jsxs)(`div`,{className:`blk-calendar-day`,"data-day":e,"data-drop-day":e,"data-create-day":l?e:void 0,onPointerDown:l?e=>{let t=e.currentTarget;t?.setPointerCapture?.(e.pointerId),m.current={kind:`create`,el:t,pointerId:e.pointerId},h(!0)}:void 0,onPointerUp:b,onPointerCancel:y,children:[(0,R.jsx)(`div`,{className:`blk-calendar-daynum`,children:e.slice(8)}),(f.get(e)??[]).map(e=>(0,R.jsxs)(`div`,{className:`blk-calendar-item`,"data-drag-item":s?e.id:void 0,onPointerDown:t=>{t.stopPropagation?.(),s&&_(`move`,e,t)},onPointerUp:b,onPointerCancel:y,onClick:()=>r(e.id),children:[(0,R.jsx)(Of,{card:t.item,item:e.item,display:`lanes`}),c&&(0,R.jsx)(`span`,{className:`blk-calendar-resize`,"data-resize-item":e.id,onPointerDown:t=>{t.stopPropagation?.(),_(`resize`,e,t)},onPointerUp:b,onPointerCancel:y})]},e.id))]},e))})})}function Qf(e,t){let n=new Date(e);return n.setUTCDate(n.getUTCDate()+t),n.toISOString().replace(/\.\d{3}Z$/,`Z`)}var $f={s:16,m:24,l:32};function ep(e){return e.item.image===void 0?`s`:`m`}function tp(e){let t=Bf(e.block),n=$(e.block),r=Qe(),i=z(),a=ep(e.block),o=e.block.overflow===`scroll`,s=o||i===`compact`||r!==null&&$f[a]>r?`1fr`:`repeat(auto-fill, minmax(${$f[a]}rem, 1fr))`,c=e.groups.flatMap(e=>[...e.buckets.visible,...e.buckets.quiet]);return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-grid-display`,"data-display":`grid`,"data-overflow":e.block.overflow??`wrap`,children:[(0,R.jsx)(Vf,{block:e.block,selection:t.selection}),(0,R.jsx)(`div`,{className:`blk-grid-items`,style:{gridTemplateColumns:s,overflowX:o?`auto`:void 0},children:c.map(t=>(0,R.jsx)(`div`,{className:`blk-grid-card`,"data-item-id":t.id,onClick:()=>n(t.id),children:(0,R.jsx)(Of,{card:e.block.item,item:t.item,display:`grid`})},t.id))})]})}function np(e,t,n){return e.setPointerCapture?.(t),n}function rp(e,t){ap(e,t)}function ip(e,t,n){let r=n??(typeof document==`object`?(e,t)=>document.elementFromPoint(e,t):void 0);if(r===void 0)return;let i=r(e,t)?.closest(`[data-drop-group][data-drop-index]`);if(i==null)return;let a=i.getAttribute(`data-drop-group`),o=i.getAttribute(`data-drop-index`);if(a===null||o===null)return;let s=Number(o);if(Number.isInteger(s))return{group:a,index:s}}function ap(e,t){try{e.releasePointerCapture?.(t)}catch{}}function op(e,t,n,r,i,a){ap(e,t);let o=ip(r,i,a);if(o!==void 0&&(o.group!==n.from.group||o.index!==n.from.index))return{itemId:n.itemId,from:n.from,to:o}}function sp(e){return{itemId:e.itemId,from:{group:e.from.group,index:e.from.index},to:{group:e.to.group,index:e.to.index}}}function cp(e){let t=e.block,n=Bf(t),r=$(t),i=Ve(),a=z()===`compact`,o=i.access===`write`&&t.onMove!==void 0,[s,c]=(0,v.useState)(e.groups[0]?.id??``),[l,u]=(0,v.useState)(null),d=e.groups.map(e=>e.id),f=a&&d.includes(s)?s:d[0]??``,p=e=>{let n=t.onMove;n!==void 0&&i.dispatch({type:`move`,name:n},sp(e))},[m,h]=(0,v.useState)(null),g=(0,v.useRef)(null),_=(0,v.useRef)(null),y=(e,t,n)=>{if(!o)return;let r=e.currentTarget;_.current=r??null,r!==void 0&&np(r,e.pointerId,{itemId:t,from:n}),g.current={itemId:t,from:n},h({itemId:t,from:n})},b=e=>{let t=g.current;if(t===null)return;g.current=null,h(null);let n=e.currentTarget??_.current??void 0;if(_.current=null,n!==void 0){let r=op(n,e.pointerId,t,e.clientX,e.clientY);r!==void 0&&p(r);return}let r=ip(e.clientX,e.clientY);r!==void 0&&(r.group!==t.from.group||r.index!==t.from.index)&&p({itemId:t.itemId,from:t.from,to:r})},x=e=>{if(g.current===null)return;g.current=null,h(null);let t=e.currentTarget??_.current??void 0;_.current=null,t!==void 0&&rp(t,e.pointerId)},S=e=>{let t=e.target;if(!o)return;if(e.key===`m`){let e=(t.closest?.(`[data-drag-item]`))?.getAttribute(`data-drag-item`);if(e==null)return;let n=C(e);n!==void 0&&u({itemId:e,at:n});return}if(l===null)return;if(e.key===`Escape`||e.key===`Esc`){u(null);return}let n=d.indexOf(l.at.group);if(e.key===`ArrowRight`||e.key===`ArrowLeft`){let t=e.key===`ArrowRight`?n+1:n-1,r=d[t];if(r===void 0)return;let i=w(r,l.itemId);u({itemId:l.itemId,at:{group:r,index:Math.min(l.at.index,i)}});return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){let t=w(l.at.group,l.itemId),n=e.key===`ArrowDown`?Math.min(l.at.index+1,t):Math.max(l.at.index-1,0);u({itemId:l.itemId,at:{group:l.at.group,index:n}});return}if(e.key===`Enter`){let e=C(l.itemId);if(u(null),e===void 0||e.group===l.at.group&&e.index===l.at.index)return;p({itemId:l.itemId,from:e,to:l.at})}},C=t=>{for(let n of e.groups){let e=n.buckets.visible.findIndex(e=>e.id===t);if(e>=0)return{group:n.id,index:e}}},w=(t,n)=>e.groups.find(e=>e.id===t)?.buckets.visible.length??0,T=(i,s,c)=>(0,R.jsxs)(`div`,{className:`blk-lane-card`,"data-drag-item":o?i.id:void 0,"data-drop-group":s,"data-drop-index":c,onPointerDown:e=>y(e,i.id,{group:s,index:c}),onPointerUp:b,onPointerCancel:x,onClick:()=>r(i.id),children:[t.select!==void 0&&(0,R.jsx)(Uf,{checked:n.selection.includes(i.id),onToggle:()=>n.toggleSelect(i.id)}),(0,R.jsx)(Of,{card:t.item,item:i.item,display:`lanes`}),a&&o&&e.groups.length>1&&(0,R.jsx)(lp,{block:t,prepared:i,from:{group:s,index:c},otherGroups:d.filter(e=>e!==s),dispatchMove:p})]},i.id),E=a?e.groups.filter(e=>e.id===f):e.groups;return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-lanes`,"data-display":`lanes`,"data-layout":a?`single`:`side-by-side`,onKeyDown:S,children:[(0,R.jsx)(Vf,{block:t,selection:n.selection}),a&&e.groups.length>1&&(0,R.jsx)(`select`,{className:`blk-lane-switcher`,"aria-label":`Lane`,value:f,onChange:e=>c(e.target.value),children:e.groups.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.title},e.id))}),(0,R.jsx)(`div`,{className:`blk-lanes-row`,children:E.map(e=>(0,R.jsxs)(`div`,{className:`blk-lane`,"data-lane":e.id,"data-drop-group":e.id,"data-drop-index":e.buckets.visible.length,children:[(0,R.jsx)(`div`,{className:`blk-lane-heading`,dir:`auto`,children:e.title}),e.buckets.visible.map((t,n)=>T(t,e.id,n))]},e.id))})]})}function lp(e){let[t,n]=(0,v.useState)(!1),r=F(),i=up(e.block),a=e=>{e?.stopPropagation?.()};return(0,R.jsxs)(`span`,{className:`blk-move-to`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":`Move to…`,"data-item":e.prepared.id,"data-targets":e.otherGroups.join(`,`),onClick:e=>{a(e),n(e=>!e)},children:`Move to…`}),t&&e.otherGroups.map(t=>(0,R.jsx)(`button`,{type:`button`,className:`blk-move-to-target`,"data-item":e.prepared.id,"data-move-target":t,onClick:i=>{a(i),n(!1),e.dispatchMove({itemId:e.prepared.id,from:e.from,to:{group:t,index:dp(e.block,r.data,t)}})},children:i.get(t)??t},t))]})}function up(e){return new Map((e.groups??[]).map(e=>[e.id,typeof e.title==`string`?e.title:e.id]))}function dp(e,t,n){let r=e.items;if(typeof r!=`object`||Array.isArray(r)||!(`$`in r))return 0;let i=k(t,r.$),a=Array.isArray(i)?i:[],o=e.groupBy;return o===void 0?a.length:a.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&e[o]===n).length}function fp(e){let{block:t,prepared:n,depth:r,index:i,view:a,activate:o}=e,s=t.children===void 0?void 0:Tp(n.item,t.children),c=Array.isArray(s)?s:[];return(0,R.jsxs)(`li`,{className:`blk-list-row`,"data-depth":r,children:[(0,R.jsxs)(`div`,{className:`blk-list-line`,style:{paddingInlineStart:`${r*2}rem`},children:[t.select!==void 0&&(0,R.jsx)(Uf,{checked:a.selection.includes(n.id),onToggle:()=>a.toggleSelect(n.id)}),t.numbered===!0&&(0,R.jsx)(`span`,{className:`blk-list-number`,children:i+1}),t.checkable!==void 0&&(0,R.jsx)(pp,{block:t,prepared:n}),(0,R.jsx)(`div`,{className:`blk-list-card`,onClick:()=>o(n.id),onKeyDown:e=>{e.key===`Enter`&&o(n.id)},role:t.onActivate===void 0?void 0:`button`,tabIndex:t.onActivate===void 0?void 0:0,children:(0,R.jsx)(Of,{card:t.item,item:n.item,display:`list`})})]}),c.length>0&&(0,R.jsx)(`ol`,{className:`blk-list-nested`,children:c.map((e,i)=>(0,R.jsx)(fp,{block:t,prepared:{id:`${n.id}/${i}`,item:e},depth:r+1,index:i,view:a,activate:o},i))})]})}function pp(e){let t=Ve();if(t.access!==`write`)return null;let n=e.block.checkable;if(n===void 0)return null;let r=Tp(e.prepared.item,n)===!0;return(0,R.jsx)(`input`,{type:`checkbox`,className:`blk-check`,checked:r,onClick:e=>e.stopPropagation(),onChange:()=>{let n=e.block.onCheck;n!==void 0&&t.dispatch({type:`edit`,name:n},{itemId:e.prepared.id,value:!r})}})}function mp(e){let{block:t,group:n,view:r,activate:i}=e,a=`${n.id}:quiet`,o=r.folded.includes(a),s=`${n.id}:collapsed`,c=r.folded.includes(s),l=n.collapsed&&!c;return(0,R.jsxs)(`div`,{className:`blk-list-group`,"data-group":n.id||void 0,children:[n.title!==``&&(0,R.jsx)(`div`,{className:`blk-list-heading`,dir:`auto`,role:n.collapsed?`button`:void 0,tabIndex:n.collapsed?0:void 0,onClick:n.collapsed?()=>r.toggleFold(s):void 0,children:n.title}),!l&&(0,R.jsx)(`ol`,{className:`blk-list-rows`,children:n.buckets.visible.map((e,n)=>(0,R.jsx)(fp,{block:t,prepared:e,depth:0,index:n,view:r,activate:i},e.id))}),!l&&n.buckets.quiet.length>0&&(o?(0,R.jsxs)(`ol`,{className:`blk-list-rows blk-list-quiet`,children:[n.buckets.quiet.map((e,n)=>(0,R.jsx)(fp,{block:t,prepared:e,depth:0,index:n,view:r,activate:i},e.id)),(0,R.jsx)(`button`,{type:`button`,className:`blk-quiet-toggle`,onClick:()=>r.toggleFold(a),children:`Show less`})]}):(0,R.jsxs)(`button`,{type:`button`,className:`blk-quiet-toggle`,onClick:()=>r.toggleFold(a),children:[n.buckets.quiet.length,` more`]}))]})}function hp(e){let t=Bf(e.block),n=$(e.block);return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-list`,"data-display":`list`,children:[(0,R.jsx)(Vf,{block:e.block,selection:t.selection}),e.groups.map((r,i)=>(0,R.jsx)(mp,{block:e.block,group:r,view:t,activate:n},r.id||i))]})}function gp(e){let[t,n]=(0,v.useState)(e.sort),[r,i]=(0,v.useState)(0),[a,o]=(0,v.useState)([]);return{sort:t,page:r,expanded:a,clickSort:e=>{n(t=>zf(t,e)),i(0)},setPage:i,toggleExpanded:e=>{o(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}}}function _p(e,t,n,r){let i=typeof e==`number`?e:void 0,a=typeof t==`number`?t:void 0;if(i!==void 0&&a!==void 0)return i-a;let o=e===void 0?``:N(e,n,r),s=t===void 0?``:N(t,n,r);return o.localeCompare(s)}function vp(e,t,n,r){if(t===void 0)return e;let i=n.find(e=>e.field===t.field),a=t.dir===`asc`?1:-1;return[...e].sort((e,n)=>a*_p(Tp(e.item,t.field),Tp(n.item,t.field),i?.format,r))}function yp(e){let t=F(),n=Tp(e.prepared.item,e.column.field);if(e.column.cell===`meter`)return(0,R.jsx)(`td`,{className:`blk-table-cell`,"data-cell":`meter`,children:(0,R.jsx)(`div`,{className:`blk-meter-track`,children:(0,R.jsx)(`div`,{className:`blk-meter-fill`,style:{inlineSize:`${(typeof n==`number`?Math.min(1,Math.max(0,n)):0)*100}%`}})})});if(e.column.cell===`badge`){let r=n===void 0?``:N(n,e.column.format,t.locale);return(0,R.jsx)(`td`,{className:`blk-table-cell`,"data-cell":`badge`,children:(0,R.jsx)(`span`,{className:`blk-card-badge`,"data-tone":e.itemTone??`neutral`,dir:`auto`,children:r})})}let r=n===void 0?``:N(n,e.column.format,t.locale);return(0,R.jsx)(`td`,{className:`blk-table-cell`,dir:`auto`,children:r})}function bp(e){let t=F(),{block:n,table:r,view:i,activate:a}=e,o=n.columns??[],s=vp(e.items,r.sort,o,t.locale),c=r.page*50,l=s.slice(c,c+50),u=Math.max(1,Math.ceil(s.length/50));return(0,R.jsxs)(`div`,{className:`blk-table-wrap`,children:[(0,R.jsxs)(`table`,{className:`blk-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[n.select!==void 0&&(0,R.jsx)(`th`,{className:`blk-table-select`}),o.map(e=>(0,R.jsx)(`th`,{"data-sortable":e.sortable===!0||void 0,children:e.sortable===!0?(0,R.jsx)(`button`,{type:`button`,className:`blk-table-sort`,"data-field":e.field,"data-dir":r.sort?.field===e.field?r.sort.dir:void 0,onClick:()=>r.clickSort(e.field),children:typeof e.label==`string`?e.label:I(t,e.label)??e.field}):(0,R.jsx)(`span`,{dir:`auto`,children:typeof e.label==`string`?e.label:I(t,e.label)??e.field})},e.field))]})}),(0,R.jsx)(`tbody`,{children:l.map(e=>(0,R.jsxs)(`tr`,{"data-item-id":e.id,onClick:()=>a(e.id),children:[n.select!==void 0&&(0,R.jsx)(`td`,{className:`blk-table-select`,children:(0,R.jsx)(Uf,{checked:i.selection.includes(e.id),onToggle:()=>i.toggleSelect(e.id)})}),o.map(r=>(0,R.jsx)(yp,{column:r,prepared:e,itemTone:xp(n,e,t)},r.field))]},e.id))})]}),u>1&&(0,R.jsxs)(`div`,{className:`blk-table-pager`,children:[(0,R.jsx)(`button`,{type:`button`,disabled:r.page===0,onClick:()=>r.setPage(r.page-1),children:`Previous`}),(0,R.jsxs)(`span`,{children:[`Page `,r.page+1,` of `,u]}),(0,R.jsx)(`button`,{type:`button`,disabled:r.page>=u-1,onClick:()=>r.setPage(r.page+1),children:`Next`})]})]})}function xp(e,t,n){let r=e.item.tone;if(r!==void 0)return typeof r==`string`?r:I({...n,item:t.item},r)}function Sp(e){let t=F(),{block:n,table:r,activate:i}=e,a=n.columns??[],o=a.filter(e=>e.priority!==`low`),s=a.filter(e=>e.priority===`low`),c=vp(e.items,r.sort,a,t.locale),l=r.page*50,u=c.slice(l,l+50);return(0,R.jsx)(`div`,{className:`blk-table-compact`,"data-block":`table-compact`,children:u.map(e=>{let a=r.expanded.includes(e.id);return(0,R.jsxs)(`div`,{className:`blk-table-card`,"data-item-id":e.id,children:[(0,R.jsx)(`div`,{onClick:()=>i(e.id),children:(0,R.jsx)(Of,{card:n.item,item:e.item,display:`table`})}),o.length>0&&(0,R.jsx)(`dl`,{className:`blk-table-high`,children:o.map(n=>(0,R.jsxs)(`div`,{className:`blk-table-field`,children:[(0,R.jsx)(`dt`,{dir:`auto`,children:typeof n.label==`string`?n.label:n.field}),(0,R.jsx)(`dd`,{dir:`auto`,children:N(Tp(e.item,n.field)??``,n.format,t.locale)})]},n.field))}),s.length>0&&(0,R.jsxs)(`div`,{className:`blk-table-low`,children:[(0,R.jsx)(`button`,{type:`button`,className:`blk-table-expand`,"aria-expanded":a,onClick:t=>{t.stopPropagation(),r.toggleExpanded(e.id)},children:a?`Less`:`More`}),a&&(0,R.jsx)(`dl`,{className:`blk-table-low-fields`,children:s.map(n=>(0,R.jsxs)(`div`,{className:`blk-table-field`,children:[(0,R.jsx)(`dt`,{dir:`auto`,children:typeof n.label==`string`?n.label:n.field}),(0,R.jsx)(`dd`,{dir:`auto`,children:N(Tp(e.item,n.field)??``,n.format,t.locale)})]},n.field))})]})]},e.id)})})}function Cp(e){let t=Bf(e.block),n=gp(e.block),r=$(e.block),i=z(),a=e.groups.flatMap(e=>[...e.buckets.visible,...e.buckets.quiet]);return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-table-block`,"data-display":`table`,children:[(0,R.jsx)(Vf,{block:e.block,selection:t.selection}),i===`compact`?(0,R.jsx)(Sp,{block:e.block,items:a,table:n,view:t,activate:r}):(0,R.jsx)(bp,{block:e.block,items:a,table:n,view:t,activate:r})]})}function wp(e){let t=I(F(),e.items);return t===void 0||!Array.isArray(t)?[]:t.map((e,t)=>({id:If(e,t),item:e}))}function Tp(e,t){if(typeof e==`object`&&e&&!Array.isArray(e))return e[t]}function Ep(e,t){let n=e.item.quiet;return n===void 0?!1:typeof n==`object`&&`$`in n&&typeof n.$==`string`?I({data:{},item:n.$.startsWith(`./`)?t.item:void 0,locale:`en`},n)===!0:n===!0}function Dp(e,t){let n=[],r=[];for(let i of t)Ep(e,i)?r.push(i):n.push(i);return{visible:n,quiet:r}}function Op(e,t){if(e.groupBy===void 0)return[{id:``,title:``,collapsed:!1,buckets:Dp(e,t)}];let n=new Map;for(let r of t){let t=Tp(r.item,e.groupBy),i=typeof t==`string`?t:String(t??``),a=n.get(i)??[];a.push(r),n.set(i,a)}let r=new Map((e.groups??[]).map(e=>[e.id,e])),i=[];for(let t of e.groups??[]){let r=n.get(t.id)??[];n.delete(t.id),i.push({id:t.id,title:typeof t.title==`string`?t.title:t.id,collapsed:t.collapsed===!0,buckets:Dp(e,r)})}for(let t of[...n.keys()].sort())i.push({id:t,title:r.get(t)?.id??t,collapsed:!1,buckets:Dp(e,n.get(t)??[])});return i}function kp(e){let t=e.block,n=Op(t,wp(t));switch(t.display){case`list`:return(0,R.jsx)(hp,{block:t,groups:n});case`table`:return(0,R.jsx)(Cp,{block:t,groups:n});case`grid`:return(0,R.jsx)(tp,{block:t,groups:n});case`lanes`:return(0,R.jsx)(cp,{block:t,groups:n});case`calendar`:return(0,R.jsx)(Zf,{block:t,groups:n})}}function Ap(e,t){if(e===void 0||t===void 0)return`accent`;let n;for(let r of t)r.at<=e&&(n===void 0||r.at>n.at)&&(n=r);return n?.tone??`accent`}function jp(e,t,n){if(n===t)return 0;let r=(e-t)/(n-t);return Math.min(1,Math.max(0,r))}function Mp(e){let t=F(),n=e.block,r=n.min??0,i=n.max??1,a=I(t,n.value),o=Ap(a,n.thresholds),s=L(t,n.label),c=a===void 0?0:jp(a,r,i),l=a===void 0?``:N(a,n.format,t.locale);return(0,R.jsxs)(`div`,{className:`blk blk-meter`,"data-block":`meter`,"data-tone":o,children:[(s!==``||l!==``)&&(0,R.jsxs)(`div`,{className:`blk-meter-head`,children:[s!==``&&(0,R.jsx)(`span`,{className:`blk-meter-label`,dir:`auto`,children:s}),l!==``&&(0,R.jsx)(`span`,{className:`blk-meter-value`,children:l})]}),(0,R.jsx)(`div`,{className:`blk-meter-track`,role:`meter`,"aria-valuemin":r,"aria-valuemax":i,"aria-valuenow":a??void 0,"aria-label":s===``?void 0:s,children:(0,R.jsx)(`div`,{className:`blk-meter-fill`,style:{width:`${c*100}%`}})})]})}function Np(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`&&typeof e.label==`string`):[]}function Pp(e){let t=Np(I(F(),e.block.nodes));return(0,R.jsx)(`div`,{className:`blk blk-tree`,"data-block":`tree`,role:`tree`,children:t.map((t,n)=>(0,R.jsx)(Fp,{node:t,index:n,depth:0,onExpand:e.block.onExpand,onActivate:e.block.onActivate},t.id))})}function Fp(e){let{node:t,depth:n,onExpand:r,onActivate:i}=e,a=Ve(),o=t.children??[],[s,c]=(0,v.useState)(o.length>0),l=o.length>0||t.hasChildren===!0;function u(){if(o.length===0&&t.hasChildren===!0){r!==void 0&&!s&&a.dispatch({type:`edit`,name:r},{id:t.id}),c(!s);return}c(!s)}function d(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())}return(0,R.jsxs)(`div`,{className:`blk-tree-node`,"data-depth":n,role:`none`,children:[(0,R.jsxs)(`div`,{className:`blk-tree-row`,"data-node-label":t.label,role:`treeitem`,"aria-level":n+1,"aria-selected":!1,onClick:()=>{i!==void 0&&a.dispatch(i,{id:t.id})},children:[(0,R.jsx)(`button`,{type:`button`,className:`blk-tree-toggle`,"aria-expanded":l?s:void 0,"aria-label":`Toggle ${t.label}`,disabled:!l,onClick:e=>{e?.stopPropagation(),u()},onKeyDown:d,style:{marginLeft:`${n*1.1}rem`},children:l?(0,R.jsx)(Ip,{open:s}):(0,R.jsx)(`span`,{className:`blk-tree-dot`})}),t.icon!==void 0&&(0,R.jsx)(gd,{name:t.icon}),(0,R.jsx)(`span`,{className:`blk-tree-label`,dir:`auto`,children:t.label})]}),s&&o.length>0&&(0,R.jsx)(`div`,{className:`blk-tree-children`,role:`group`,children:o.map((e,t)=>(0,R.jsx)(Fp,{node:e,index:t,depth:n+1,onExpand:r,onActivate:i},e.id))}),s&&o.length===0&&t.hasChildren===!0&&(0,R.jsx)(`div`,{className:`blk-tree-pending`,style:{marginLeft:`${(n+1)*1.1}rem`},children:`…`})]})}function Ip(e){return(0,R.jsx)(`svg`,{className:`blk-tree-caret`,"data-open":e.open,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,R.jsx)(`path`,{d:`m9 18 6-6-6-6`})})}var Lp={s:16,m:24,l:32},Rp={s:.5,m:1,l:1.5};function zp(e){let t=e.block.gap??`m`;return(0,R.jsx)(`div`,{className:`blk blk-stack`,"data-block":`stack`,style:{gap:`${Rp[t]}rem`},children:e.children})}function Bp(e){let t=Qe(),n=z(),r=e.block.children.reduce((e,t)=>e+(t.minWidth===void 0?0:Lp[t.minWidth]),0),i=n===`compact`||t!==null&&r>t;return(0,R.jsx)(`div`,{className:`blk blk-columns`,"data-block":`columns`,"data-stacked":i,children:e.block.children.map((t,n)=>(0,R.jsx)(`div`,{className:`blk-column`,style:i?void 0:{flexGrow:t.weight??1,flexBasis:0},children:e.render(t.block)},n))})}function Vp(e){let t=Qe(),n=z()===`compact`||t!==null&&Lp[e.block.minItemWidth]>t?`1fr`:`repeat(auto-fill, minmax(${Lp[e.block.minItemWidth]}rem, 1fr))`;return(0,R.jsx)(`div`,{className:`blk blk-grid`,"data-block":`grid`,style:{gridTemplateColumns:n},children:e.block.children.map((t,n)=>(0,R.jsx)(`div`,{className:`blk-grid-item`,"data-span":t.span??1,style:{gridColumn:Hp(t.span)},children:e.render(t.block)},n))})}function Hp(e){if(e!==void 0)return e===`full`?`1 / -1`:`span ${e}`}function Up(e){let t=F(),n=L(t,e.block.title),r=L(t,e.block.subtitle),i=I(t,e.block.tone),a=typeof i==`string`?i:`neutral`,o=e.block.collapsible??!1,[s,c]=(0,v.useState)(!(e.block.collapsed??!1)),l=!o||s;return(0,R.jsxs)(`section`,{className:`blk blk-section`,"data-block":`section`,"data-tone":a,children:[(n!==``||r!==``||o)&&(0,R.jsxs)(`div`,{className:`blk-section-head`,children:[o?(0,R.jsxs)(`button`,{type:`button`,className:`blk-section-toggle`,"aria-expanded":l,onClick:()=>{c(!s)},children:[(0,R.jsx)(`span`,{className:`blk-section-caret`,"aria-hidden":`true`,children:l?`▾`:`▸`}),n!==``&&(0,R.jsx)(`span`,{className:`blk-section-title`,dir:`auto`,style:vd(a),children:n})]}):n!==``&&(0,R.jsx)(`div`,{className:`blk-section-title`,dir:`auto`,style:vd(a),children:n}),r!==``&&(0,R.jsx)(`div`,{className:`blk-section-subtitle`,dir:`auto`,children:r})]}),l&&(0,R.jsx)(`div`,{className:`blk-section-body`,children:e.children})]})}var Wp=`Not supported in this client`;function Gp(e,t){return e===void 0||e!==`atLeast:regular`||t!==`compact`}function Kp(e){let t=e.block,n=z();return Gp(t.visibleAt,n)?qp(t,e.interaction===!0):null}function qp(e,t=!1){switch(e.type){case`stack`:return(0,R.jsx)(zp,{block:e,children:e.children.map((e,n)=>(0,R.jsx)(Kp,{block:e,interaction:t},n))});case`columns`:return(0,R.jsx)(Bp,{block:e,render:Yp});case`grid`:return(0,R.jsx)(Vp,{block:e,render:Yp});case`section`:return(0,R.jsx)(Up,{block:e,children:e.children.map((e,n)=>Jp(e)?(0,R.jsx)(Kp,{block:e,interaction:t},n):null)});case`markdown`:return(0,R.jsx)(bd,{block:e});case`fields`:return(0,R.jsx)(Sd,{block:e});case`stat`:return(0,R.jsx)(wd,{block:e});case`callout`:return(0,R.jsx)(Td,{block:e});case`image`:return(0,R.jsx)(Ed,{block:e});case`diff`:return(0,R.jsx)(Dd,{block:e});case`details`:return(0,R.jsx)(kd,{block:e});case`collection`:return(0,R.jsx)(kp,{block:e});case`chart`:return(0,R.jsx)(ut,{block:e});case`meter`:return(0,R.jsx)(Mp,{block:e});case`log`:return(0,R.jsx)(Ld,{block:e});case`tree`:return(0,R.jsx)(Pp,{block:e});case`form`:return(0,R.jsx)(Cf,{block:e,interaction:t});case`page`:return(0,R.jsx)(Ud,{block:e});default:{let t=e;return(0,R.jsxs)(`div`,{className:`blk blk-unsupported`,dir:`auto`,children:[t.fallback!==void 0&&t.fallback!==``&&(0,R.jsx)(`p`,{children:t.fallback}),(0,R.jsx)(`p`,{className:`blk-unsupported-note`,children:Wp})]})}}}function Jp(e){return!new Set([`text`,`longtext`,`number`,`toggle`,`choice`,`date`,`datetime`,`daterange`,`secret`,`file`,`list`]).has(e.type)}function Yp(e){return(0,R.jsx)(Kp,{block:e})}function Xp(e){return{dispatch:t=>{t.type===`navigate`&&t.target!==void 0&&e?.(t.target)},access:`read`,viewState:{},serverErrors:{},setView:()=>{}}}var Zp={};function Qp(e,t,n){if(e.item.quiet===void 0){let r=t.slice(0,n),i=t.length-r.length;return{type:`stack`,children:[{...e,items:[...r]},{type:`markdown`,text:`${i} more`}]}}let r=t.slice(0,n),i=t.slice(n).map(e=>typeof e==`object`&&e&&!Array.isArray(e)?{...e,quiet:!0}:e);return{...e,items:[...r,...i]}}function $p(e,t){if(e.place!==`panel`||t.type!==`collection`||!Array.isArray(t.items))return t;let n=e.maxRows;if(n===void 0||t.items.length<=n)return t;let r=t.items.length-n;return e.overflow===`summarize`?{type:`stack`,children:[{...t,items:t.items.slice(0,n)},{type:`markdown`,text:`${r} rows`}]}:e.overflow===`wrap`?t:Qp(t,t.items,n)}function em(e){let t=e.surface.body,n=(0,v.useMemo)(()=>Xp(e.onNavigate),[e.onNavigate]);if(t===void 0)return null;let r=$p(e.surface,t.root);return(0,R.jsx)(ze.Provider,{value:{data:Zp,locale:navigator.language},children:(0,R.jsx)(Be.Provider,{value:n,children:(0,R.jsx)(Xe,{children:(0,R.jsx)(Kp,{block:r})})})})}function tm(e){let{surface:t}=e;return t.body===void 0&&t.details===void 0?null:(0,R.jsxs)(`div`,{className:`ambient-surface`,"data-key":t.key,"data-place":t.place,children:[(0,R.jsx)(em,{surface:t,onNavigate:e.onNavigate}),t.details!==void 0&&(0,R.jsxs)(`details`,{className:`ambient-details`,children:[(0,R.jsx)(`summary`,{children:`details`}),(0,R.jsx)(`pre`,{children:JSON.stringify(t.details,null,2)})]})]})}function nm(e){let{surfaces:t}=e;return t.length===0?null:(0,R.jsx)(`div`,{className:`ambient-panels`,children:t.map(t=>(0,R.jsx)(tm,{surface:t,onNavigate:e.onNavigate},t.key))})}function rm(e,t=Date.now()){let n=Date.parse(e);if(Number.isNaN(n))return``;let r=Math.max(0,Math.floor((t-n)/1e3));if(r<45)return`just now`;let i=Math.floor(r/60);if(i<60)return`${i} min`;let a=Math.floor(i/60);return a<48?`${a} h`:`${Math.floor(a/24)} d`}function im(e){let{notice:t}=e,n=e.result??null,[r,i]=(0,v.useState)(!1),a=r,o=n=>{if(n.kind===`extension`){if(n.confirm!==void 0&&!globalThis.confirm?.(n.confirm))return;i(!0),e.run(t,n,e.onNavigate).finally(()=>i(!1));return}e.run(t,n,e.onNavigate)};return(0,R.jsxs)(`div`,{className:`notice-card notice-tone-${t.tone??`neutral`}`,"data-notice-id":t.id,...e.domId===void 0?{}:{id:e.domId},children:[(0,R.jsxs)(`div`,{className:`notice-card-row`,children:[(0,R.jsx)(`strong`,{className:`notice-card-title`,children:t.title}),(0,R.jsx)(`button`,{type:`button`,className:`notice-card-close`,"aria-label":`dismiss notice`,onClick:()=>e.dismiss(t.id),children:`✕`})]}),t.body!==void 0&&(0,R.jsx)(`p`,{className:`notice-card-body`,children:t.body}),(0,R.jsxs)(`p`,{className:`notice-card-meta`,children:[t.owner,t.conversationId!==void 0&&(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(`button`,{type:`button`,className:`notice-card-conversation`,onClick:()=>e.onNavigate({conversation:t.conversationId}),children:e.conversationName??`conversation ${t.conversationId}`})]}),` · `,rm(t.at)]}),(t.actions??[]).length>0&&(0,R.jsx)(`div`,{className:`notice-card-actions`,children:(t.actions??[]).map(e=>(0,R.jsx)(`button`,{type:`button`,className:`notice-card-action`,disabled:a,onClick:()=>o(e),children:e.label},e.id))}),n!==null&&(0,R.jsx)(`p`,{className:`notice-card-result`,role:`status`,children:n})]})}function am(e){if(e.notices.length===0)return null;let t=e.notices.slice(0,3),n=e.notices.length-t.length;return(0,R.jsxs)(`div`,{className:`inline-notices`,children:[t.map(t=>(0,R.jsx)(im,{notice:t,result:e.results?.[t.id]??null,run:e.run,dismiss:e.dismiss,onNavigate:e.onNavigate},t.id)),n>0&&(0,R.jsxs)(`button`,{type:`button`,className:`inline-notices-more`,onClick:()=>e.onOpenPane(),children:[n,` more`]})]})}function om(e){let t=!1;return{load(){return Promise.resolve({tree:e.tree,data:e.data,rev:0,treeRev:0,access:e.access})},fetchData(){return Promise.resolve({rev:0,treeRev:0,data:e.data})},async act(n){if(n.type!==`submit`||n.action!==e.submitAction)return{ok:!0,rev:0};if(t)return{ok:!1,error:{message:`already answered`}};let r=n.payload,i=typeof r==`object`&&r&&!Array.isArray(r)&&typeof r.values==`object`&&r.values!==null?r.values:{};try{await e.answer({values:i})}catch(t){let n=t instanceof Error?t.message:String(t);return e.onSettledElsewhere?.(n),{ok:!1,error:{message:n}}}return t=!0,e.onAnswered?.(),{ok:!0,rev:1}},upload(e){return Promise.reject(Error(`interaction surfaces do not accept uploads`))},image(){return Promise.reject(Error(`interaction surfaces have no image route`))},onChanged(e){return()=>{}}}}function sm(e){return e.answer===void 0?{}:{values:{...e.answer.values}}}function cm(e){let{conversationId:t,interaction:n,client:r,onAnswered:i,onError:a}=e,[o,s]=(0,v.useState)(void 0),c=o??n,l=c.status===`pending`&&o===void 0,[u,d]=(0,v.useState)(!1),f=(0,v.useMemo)(()=>c.body===void 0?void 0:om({conversationId:t,callId:c.callId,tree:c.body,data:sm(c),access:l?`write`:`read`,submitAction:um(c.body),answer:e=>r.answerInteraction(t,c.callId,e).then(()=>void 0),onAnswered:()=>i?.(c.callId),onSettledElsewhere:e=>{r.getInteraction(t,c.callId).then(t=>{if(t.status===`pending`){a?.(e);return}s(t)}).catch(()=>a?.(e))}}),[c,t,r,l,i,a]);return(0,R.jsxs)(`div`,{className:`interaction-card`,"data-kind":c.kind,children:[(0,R.jsxs)(`div`,{className:`interaction-card-title`,children:[(0,R.jsx)(`span`,{className:`interaction-kind`,children:c.kind}),c.expiresAt!==void 0&&l&&(0,R.jsx)(`span`,{className:`interaction-expiry`,children:`expires`}),!l&&(0,R.jsx)(`span`,{className:`interaction-status`,"data-status":c.status,children:c.status===`skipped`&&c.declinedVia!==void 0?c.declinedVia===`message`?`Declined — replied in chat`:`Declined`:c.status}),l&&c.declinable===!0&&(0,R.jsx)(`button`,{type:`button`,className:`interaction-decline`,disabled:u,onClick:()=>{l&&c.declinable===!0&&!u&&(d(!0),r.declineInteraction(t,c.callId).then(()=>{s({...c,status:`skipped`,settledAt:Date.now(),declinedVia:`button`}),i?.(c.callId)}).catch(e=>{d(!1);let n=e instanceof Error?e.message:String(e);r.getInteraction(t,c.callId).then(e=>{if(e.status===`pending`){a?.(n);return}s(e)}).catch(()=>a?.(n))}))},children:`Decline`})]}),f!==void 0&&c.body!==void 0&&(0,R.jsx)(lm,{record:c,transport:f,access:l?`write`:`read`}),c.details!==void 0&&(0,R.jsxs)(`details`,{className:`interaction-details`,children:[(0,R.jsx)(`summary`,{children:`details`}),(0,R.jsx)(`pre`,{children:JSON.stringify(c.details,null,2)})]})]})}function lm(e){let t=e.record.body,n=(0,v.useMemo)(()=>({dispatch:(t,n)=>{let r=`name`in t?t.name:t.type;e.transport.act({action:r,type:t.type,payload:n,actionId:`answer-${Date.now()}`})},access:e.access,viewState:{},serverErrors:{},setView:()=>{}}),[e.transport,e.access]);return(0,R.jsx)(ze.Provider,{value:{data:sm(e.record),locale:navigator.language},children:(0,R.jsx)(Be.Provider,{value:n,children:(0,R.jsx)(Xe,{children:(0,R.jsx)(Kp,{block:t.root,interaction:!0})})})})}function um(e){let t=e.root;return t.type===`form`?t.onSubmit??`submit`:`submit`}function dm(e){let{conversationId:t,interactions:n,client:r,onAnswered:i,onError:a}=e;return t===null||n.length===0?null:(0,R.jsx)(`div`,{className:`interaction-cards`,children:n.map(e=>(0,R.jsx)(cm,{conversationId:t,interaction:e,client:r,onAnswered:i,onError:a},e.callId))})}function fm(e){return(0,R.jsx)(`svg`,{className:e.className,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:e.children})}function pm(e){return(0,R.jsxs)(`svg`,{className:e.className,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.9,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,R.jsx)(`path`,{d:`M4 16c3.2-1.4 6.9-4.6 8.4-8.4l.6 2.2 2.2.6`}),(0,R.jsx)(`path`,{d:`M8.5 18.5c2.7-1.5 5.4-4.4 6.6-7.4l1.5 1.2 1.9-.3`})]})}function mm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z`})})}function hm(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`}),(0,R.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`}),(0,R.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`}),(0,R.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`})]})}function gm(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,R.jsx)(`path`,{d:`M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z`})]})}function _m(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M4 6h16M4 12h16M4 18h16`})})}function vm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11M4 6h.01M4 12h.01M4 18h.01`})})}function ym(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,R.jsx)(`path`,{d:`M15 4v16`})]})}function bm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M12 5v14M5 12h14`})})}function xm(e){return(0,R.jsxs)(`svg`,{className:e.className,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,R.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.6`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.6`}),(0,R.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.6`})]})}function Sm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M12 19V5M5 12l7-7 7 7`})})}function Cm(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`path`,{d:`M14 4h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4`}),(0,R.jsx)(`path`,{d:`M4 12h10M10 8l4 4-4 4`})]})}function wm(){return globalThis.document}function Tm(e,t){return t.some(t=>{let n=t.current;return n!==null&&n.contains(e)})}function Em(e,t,...n){(0,v.useEffect)(()=>{if(!e)return;let r=wm();if(r===void 0)return;let i=e=>{let r=e.target;r!=null&&(Tm(r,n)||t())},a=e=>{e.key===`Escape`&&t()};return r.addEventListener(`pointerdown`,i),r.addEventListener(`keydown`,a),()=>{r.removeEventListener(`pointerdown`,i),r.removeEventListener(`keydown`,a)}},[e])}function Dm(e){let{models:t,current:n,disabled:r,onPick:i}=e,[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(0),l=(0,v.useRef)(null);if(Em(a,()=>o(!1),l),t.length<=1)return null;let u=t.find(e=>e.id===n)?.name??n??`model`,d=Math.max(0,t.findIndex(e=>e.id===n));function f(){c(d),o(!0)}async function p(e){o(!1),await i(e)}function m(e){if(!a){(e.key===`Enter`||e.key===` `||e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),f());return}switch(e.key){case`Escape`:e.preventDefault(),o(!1);break;case`ArrowDown`:e.preventDefault(),c(e=>(e+1)%t.length);break;case`ArrowUp`:e.preventDefault(),c(e=>(e-1+t.length)%t.length);break;case`Enter`:case` `:e.preventDefault(),p(t[s]?.id??t[0].id);break;case`Tab`:o(!1)}}return(0,R.jsxs)(`span`,{className:`composer-picker composer-picker-model`,ref:l,children:[(0,R.jsxs)(`button`,{type:`button`,className:`composer-pill`,"data-picker":`model`,title:`Model: ${u}`,"aria-haspopup":`listbox`,"aria-expanded":a,"aria-activedescendant":a?`composer-model-option-${s}`:void 0,disabled:r,onClick:()=>a?o(!1):f(),onKeyDown:m,children:[(0,R.jsx)(`span`,{className:`composer-pill-label`,children:u}),(0,R.jsx)(`span`,{className:`composer-pill-caret`,"aria-hidden":`true`,children:`▾`})]}),a&&(0,R.jsx)(`ul`,{className:`composer-picker-menu`,role:`listbox`,"aria-label":`models`,children:t.map((e,t)=>(0,R.jsxs)(`li`,{id:`composer-model-option-${t}`,role:`option`,"aria-selected":e.id===n,"data-model-id":e.id,"data-highlighted":t===s||void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>void p(e.id),children:[e.id===n&&(0,R.jsx)(`span`,{className:`composer-picker-check`,"aria-hidden":`true`,children:`✓`}),(0,R.jsx)(`span`,{className:`composer-picker-name`,children:e.name}),(0,R.jsx)(`span`,{className:`composer-picker-id`,children:e.id})]},e.id))})]})}var Om=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`];function km(e){let{current:t,onPick:n}=e,[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(0),s=(0,v.useRef)(null);Em(r,()=>i(!1),s);function c(){let e=Om.indexOf(t??``);o(e===-1?0:e),i(!0)}async function l(e){i(!1),await n(e)}function u(e){if(!r){(e.key===`Enter`||e.key===` `||e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),c());return}switch(e.key){case`Escape`:e.preventDefault(),i(!1);break;case`ArrowDown`:e.preventDefault(),o(e=>(e+1)%Om.length);break;case`ArrowUp`:e.preventDefault(),o(e=>(e-1+Om.length)%Om.length);break;case`Enter`:case` `:e.preventDefault(),l(Om[a]??Om[0]);break;case`Tab`:i(!1)}}let d=t??`default`;return(0,R.jsxs)(`span`,{className:`composer-picker`,ref:s,children:[(0,R.jsxs)(`button`,{type:`button`,className:`composer-pill`,"data-picker":`thinking`,title:`Thinking: ${d}`,"aria-haspopup":`listbox`,"aria-expanded":r,"aria-activedescendant":r?`composer-thinking-option-${a}`:void 0,onClick:()=>r?i(!1):c(),onKeyDown:u,children:[(0,R.jsx)(`span`,{className:`composer-pill-prefix`,children:`Thinking: `}),(0,R.jsx)(`span`,{className:`composer-pill-label`,children:d}),(0,R.jsx)(`span`,{className:`composer-pill-caret`,"aria-hidden":`true`,children:`▾`})]}),r&&(0,R.jsx)(`ul`,{className:`composer-picker-menu`,role:`listbox`,"aria-label":`thinking levels`,children:Om.map((e,n)=>(0,R.jsxs)(`li`,{id:`composer-thinking-option-${n}`,role:`option`,"aria-selected":e===t,"data-thinking-level":e,"data-highlighted":n===a||void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>void l(e),children:[e===t&&(0,R.jsx)(`span`,{className:`composer-picker-check`,"aria-hidden":`true`,children:`✓`}),e]},e))})]})}function Am(e,t,n){let r=n?.debounceMs??500,[i,a]=(0,v.useState)(``),[o,s]=(0,v.useState)([]),c=(0,v.useRef)(null),l=(0,v.useRef)(i);l.current=i;let u=(0,v.useRef)(o);u.current=o;let d=(0,v.useRef)(0),f=(0,v.useRef)(!1),p=(0,v.useRef)({client:e,conversationId:t});p.current={client:e,conversationId:t};let m=(0,v.useRef)(n?.onError);m.current=n?.onError;let h=(0,v.useCallback)((e,t)=>{p.current.client.patchConversationMeta(e,{draft:{text:t}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))})},[]),g=(0,v.useCallback)((e,t)=>{p.current.client.patchConversationMeta(e,{draft:{attachments:[...t]}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))})},[]),_=(0,v.useRef)(!1);return(0,v.useEffect)(()=>{let r=!1,i=()=>{r=!0,c.current!==null&&(clearTimeout(c.current),c.current=null,f.current&&t!==null&&e.patchConversationMeta(t,{draft:{text:l.current}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))}))};if(t!==null&&_.current&&(l.current!==``||u.current.length>0))return c.current!==null&&(clearTimeout(c.current),c.current=null),f.current=!1,h(t,l.current),g(t,u.current),i;if(_.current=!1,a(``),l.current=``,s([]),u.current=[],f.current=!1,t===null)return i;let o=d.current;return e.getConversationMeta(t).then(e=>{r||o===d.current&&(a(e.draft.text),l.current=e.draft.text,s(e.draft.attachments),u.current=e.draft.attachments)}).catch(e=>{r||n?.onError?.(e instanceof Error?e.message:String(e))}),i},[e,t]),{text:i,setText:(0,v.useCallback)(e=>{d.current+=1,a(e),l.current=e,f.current=!0,_.current=t===null,t!==null&&(c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,f.current=!1,h(p.current.conversationId,l.current)},r))},[t,r,h]),clear:(0,v.useCallback)((e=!1)=>{if(a(``),l.current=``,s([]),u.current=[],d.current+=1,f.current=!1,_.current=!1,c.current!==null&&(clearTimeout(c.current),c.current=null),e){let e=p.current.conversationId;e!==null&&p.current.client.patchConversationMeta(e,{draft:{text:``,attachments:[]}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))})}},[]),attachments:o,addAttachment:(0,v.useCallback)(e=>{if(u.current.includes(e))return;let t=[...u.current,e];d.current+=1,u.current=t,s(t);let n=p.current.conversationId;n!==null&&g(n,t)},[g]),removeAttachment:(0,v.useCallback)(e=>{if(!u.current.includes(e))return;let t=u.current.filter(t=>t!==e);d.current+=1,u.current=t,s(t);let n=p.current.conversationId;n!==null&&g(n,t)},[g])}}function jm(e){if(e===null)return null;let t=e.docs[`pi.agent`];return t?.model===void 0?null:`${t.model.provider}/${t.model.modelId}`}function Mm(e,t){if(e===null||t===void 0)return null;let n=e.docs[`pi.usage`]?.models?.[t.id];if(n===void 0||t.contextWindow<=0)return null;let r=(n.input??0)+(n.output??0)+(n.cacheRead??0)+(n.cacheWrite??0);return{used:r,window:t.contextWindow,fraction:Math.max(0,Math.min(1,r/t.contextWindow))}}var Nm={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,bmp:`image/bmp`,svg:`image/svg+xml`,avif:`image/avif`};function Pm(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function Fm(e){if(!e.startsWith(`/`))return{name:``,args:``};let t=e.slice(1),n=t.search(/\s/);return n===-1?{name:t,args:``}:{name:t.slice(0,n),args:t.slice(n+1).trim()}}function Im(e,t){let n=globalThis.document;if(n===void 0||typeof n.createElement!=`function`)return;let r=n.createElement(`a`);r.href=URL.createObjectURL(new Blob([t],{type:`application/x-ndjson`})),r.download=`conversation-${e}.jsonl`,r.click(),URL.revokeObjectURL(r.href)}function Lm(e){let t=e.split(`
42
+ `)}\n${t}}`}return JSON.stringify(e)??`null`}function kd(e){let[t,n]=(0,v.useState)(!1);return(0,R.jsxs)(`details`,{className:`blk blk-details`,"data-block":`details`,open:t,children:[(0,R.jsx)(`summary`,{onClick:e=>{e.preventDefault(),n(!t)},children:`Details`}),t&&(0,R.jsx)(`pre`,{className:`blk-details-json`,dir:`auto`,children:Od(e.block.value,``)})]})}function Ad(e){return e.type===`copy`||e.type===`open`||e.type===`navigate`}function jd(e){let t=Ve(),n=F(),[r,i]=(0,v.useState)(null),a=t.access===`write`?e.buttons:e.buttons.filter(e=>Ad(e.action));function o(e){let r=e.action;if(r.type===`copy`){nd(typeof r.text==`string`?r.text:I(n,r.text)??``);return}if(r.type===`open`){let e=ad(r.url);if(e===``)return;let t=globalThis.open;t?.(e,`_blank`,`noopener,noreferrer`);return}if((r.type===`submit`||r.type===`restart`)&&r.confirm!==void 0){i({button:e,confirm:r.confirm});return}t.dispatch(r,null)}if(r!==null){let{button:e,confirm:n}=r;return(0,R.jsxs)(`div`,{className:`blk-confirm`,role:`dialog`,"data-tone":n.tone??`bad`,children:[(0,R.jsx)(`div`,{className:`blk-confirm-title`,dir:`auto`,children:n.title}),n.body!==void 0&&n.body!==``&&(0,R.jsx)(`div`,{className:`blk-confirm-body`,dir:`auto`,children:n.body}),(0,R.jsxs)(`div`,{className:`blk-confirm-row`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>i(null),children:`Cancel`}),(0,R.jsx)(`button`,{type:`button`,className:`blk-confirm-ok`,onClick:()=>{i(null),t.dispatch(e.action,null)},children:n.confirmLabel??`Confirm`})]})]})}return a.length===0?null:(0,R.jsx)(`div`,{className:`blk-actions`,"data-block":`actions`,children:a.map(e=>{let t=I(n,e.icon);return(0,R.jsxs)(`button`,{type:`button`,className:`blk-action`,onClick:()=>o(e),children:[t!==void 0&&(0,R.jsx)(gd,{name:t}),(0,R.jsx)(`span`,{dir:`auto`,children:L(n,e.label)})]},e.id)})})}var Md=24,Nd={error:`bad`,warn:`warn`,info:`neutral`,debug:`info`};function Pd(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.text==`string`):[]}function Fd(e,t){return e===void 0?`neutral`:t?.[e]??Nd[e]??`neutral`}function Id(e){if(e.at!==void 0)return typeof e.at==`number`?new Date(e.at).toISOString():e.at}function Ld(e){let t=F(),n=e.block,r=Pd(I(t,n.lines)),i=(0,v.useRef)(null),a=(0,v.useRef)(!0),[o,s]=(0,v.useState)(!0);a.current=o&&n.follow===!0,(0,v.useEffect)(()=>{let e=i.current;e!==null&&a.current&&(e.scrollTop=e.scrollHeight)},[r.length]);function c(){let e=i.current;if(e===null)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=Md;s(t)}return(0,R.jsx)(`div`,{className:`blk blk-log`,"data-block":`log`,"data-wrap":n.wrap===!0,children:(0,R.jsx)(`div`,{ref:i,className:`blk-log-lines`,onScroll:c,role:`log`,children:r.map((e,t)=>{let r=Fd(e.level,n.tones);return(0,R.jsxs)(`div`,{className:`blk-log-line`,"data-tone":r,"data-level":e.level,style:vd(r),children:[e.at!==void 0&&(0,R.jsx)(`time`,{className:`blk-log-time`,dateTime:Id(e),children:Id(e)}),e.level!==void 0&&(0,R.jsx)(`span`,{className:`blk-log-level`,children:e.level}),(0,R.jsx)(`span`,{className:`blk-log-text`,dir:`auto`,children:e.text})]},t)})})})}function Rd(e){for(let t of e){if(t.type===`collection`)return t;if(t.type===`stack`){let e=Rd(t.children);if(e!==void 0)return e}if(t.type===`section`){let e=Rd(t.children.filter(e=>e.type===`collection`||e.type===`stack`||e.type===`columns`||e.type===`grid`||e.type===`section`));if(e!==void 0)return e}if(t.type===`columns`||t.type===`grid`)for(let e of t.children){let t=Rd([e.block]);if(t!==void 0)return t}}}function zd(e,t){if(e.empty===void 0)return!1;let n=Rd(e.main);if(n===void 0)return!1;let r=n.items;if(typeof r!=`object`||!(`$`in r))return!1;let i=k(t,r.$);return!Array.isArray(i)||i.length===0}function Bd(e){return e.map((e,t)=>(0,R.jsx)(Kp,{block:e},t))}function Vd(e){let t=F(),n=Ve(),r=I(t,e.field.options)??[],i=t=>{n.dispatch({type:`navigate`,params:{[e.field.name]:t}},{[e.field.name]:t})};return(0,R.jsx)(`span`,{className:`blk-page-switcher`,"data-page-switcher":``,children:r.map(n=>(0,R.jsxs)(`label`,{className:`blk-page-switcher-option`,children:[(0,R.jsx)(`input`,{type:`radio`,name:e.field.name,value:n.id,onChange:()=>i(n.id)}),(0,R.jsx)(`span`,{children:L(t,n.label)})]},n.id))})}function Hd(e){let t=F(),n=Ve();return n.access===`read`?null:(0,R.jsxs)(`button`,{type:`button`,className:`blk-page-action`,"data-page-action":e.button.id,onClick:()=>n.dispatch(e.button.action,{}),children:[e.button.icon!==void 0&&(0,R.jsx)(gd,{name:e.button.icon,size:14}),(0,R.jsx)(`span`,{children:L(t,e.button.label)})]})}function Ud(e){let t=e.block,n=F(),r=Ve(),i=z()===`compact`,[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(!1),l=L(n,t.title),u=L(n,t.subtitle),d=zd(t,n.data),f=t.sidebar!==void 0&&t.sidebar.length>0,p=t.detail!==void 0&&t.detail.length>0,m=t.selection,h=i&&m!==void 0&&f&&!m.selected,g=i&&m!==void 0&&f&&m.selected,_=i&&f&&m===void 0;return(0,R.jsxs)(`div`,{className:`blk blk-page`,"data-block":`page`,id:t.id,children:[(0,R.jsxs)(`header`,{className:`blk-page-header`,children:[(0,R.jsxs)(`div`,{className:`blk-page-titles`,children:[(0,R.jsx)(`h1`,{className:`blk-page-title`,dir:`auto`,children:l}),u!==``&&(0,R.jsx)(`p`,{className:`blk-page-subtitle`,dir:`auto`,children:u})]}),t.switcher!==void 0&&(0,R.jsx)(Vd,{field:t.switcher}),(t.actions??[]).map(e=>(0,R.jsx)(Hd,{button:e},e.id)),_&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-drawer-toggle":``,"aria-label":`toggle sidebar`,onClick:()=>o(e=>!e),children:`☰`}),i&&p&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-detail-toggle":``,"aria-label":`open detail`,onClick:()=>c(!0),children:`›`})]}),(0,R.jsxs)(`div`,{className:`blk-page-body`,children:[f&&!g&&(0,R.jsx)(`aside`,{className:`blk-page-sidebar`,"data-page-region":`sidebar`,"data-open":i&&m===void 0&&a?``:void 0,"data-selection":h?`list`:void 0,children:Bd(t.sidebar??[])}),!h&&(0,R.jsxs)(`main`,{className:`blk-page-main`,"data-page-region":`main`,children:[g&&m!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-back":``,"aria-label":`back to list`,onClick:()=>r.dispatch({type:`navigate`,params:m.back},{}),children:`‹ back`}),d&&t.empty!==void 0?(0,R.jsxs)(`div`,{className:`blk-page-empty`,"data-page-empty":``,children:[(0,R.jsx)(gd,{name:t.empty.icon,size:24}),(0,R.jsx)(`p`,{className:`blk-page-empty-title`,children:t.empty.title}),t.empty.hint!==void 0&&t.empty.hint!==``&&(0,R.jsx)(`p`,{className:`blk-page-empty-hint`,children:t.empty.hint})]}):Bd(t.main)]}),p&&(0,R.jsxs)(`aside`,{className:`blk-page-detail`,"data-page-region":`detail`,"data-open":i&&s?``:void 0,children:[i&&(0,R.jsx)(`button`,{type:`button`,className:`blk-page-toggle`,"data-page-detail-back":``,"aria-label":`back`,onClick:()=>c(!1),children:`‹ back`}),Bd(t.detail??[])]})]})]})}function Wd(e){return Array.isArray(e.options)?e.options:[]}function Gd(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e.other;return typeof t==`string`?t:``}if(Array.isArray(e)){let t=e[e.length-1];if(typeof t==`object`&&t&&!Array.isArray(t)){let e=t.other;return typeof e==`string`?e:``}}return``}function Kd(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function qd(e,t){let n=Wd(e),r=e=>{let t=n.find(t=>t.id===e)?.label;return typeof t==`string`&&t!==``?t:e};if(e.multi===!0){let e=Kd(t).map(r),n=Gd(t);return n!==``&&e.push(n),e.length===0?void 0:e.join(`, `)}if(typeof t==`string`)return t===``?void 0:r(t);let i=Gd(t);return i===``?void 0:i}var Jd=5;function Yd(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function Xd(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e.other;if(typeof t==`string`)return t}if(Array.isArray(e)){let t=e[e.length-1];if(typeof t==`object`&&t&&!Array.isArray(t)){let e=t.other;if(typeof e==`string`)return e}}return``}function Zd(e){let{field:t}=e,n=F(),r=z(),i=I(n,t.options)??[],a=t.multi===!0,o=t.allowOther!==void 0,s=L(n,t.label),[c,l]=(0,v.useState)(null),u=typeof e.value==`string`?e.value:``,d=Yd(e.value),f=Xd(e.value),p=a?Xd(e.value)!==``:typeof e.value==`object`&&e.value!==null&&!Array.isArray(e.value),m=n=>e.onChange(t.name,n),h=n=>e.onChange(t.name,n===``?``:{other:n}),g=n=>{let r=Yd(e.value),i=f===``?[]:[{other:f}];r.includes(n)?e.onChange(t.name,[...r.filter(e=>e!==n),...i]):e.onChange(t.name,[...r,n,...i])},_=n=>{let r=Yd(e.value);e.onChange(t.name,n.trim()===``?[...r]:[...r,{other:n}])},y=i.find(e=>e.id===c&&e.preview!==void 0),b=r===`compact`?`below`:`beside`,x=(0,R.jsxs)(R.Fragment,{children:[i.length<=Jd?(0,R.jsx)(`div`,{className:`blk-choice-options`,role:a?`group`:`radiogroup`,"aria-label":s,children:i.map(r=>{let i=L(n,r.label),o=a?d.includes(r.id):u===r.id;return(0,R.jsxs)(`label`,{className:`blk-choice-option`,"data-recommended":r.recommended===!0||void 0,"data-tone":r.tone,dir:`auto`,children:[(0,R.jsx)(`input`,{type:a?`checkbox`:`radio`,name:t.name,value:r.id,checked:o,disabled:e.disabled,onFocus:()=>l(r.id),onChange:()=>a?g(r.id):m(r.id)}),(0,R.jsx)(`span`,{className:`blk-choice-label`,dir:`auto`,children:i}),r.description!==void 0&&(0,R.jsx)(`span`,{className:`blk-choice-description`,dir:`auto`,children:L(n,r.description)})]},r.id)})}):(0,R.jsxs)(`select`,{"aria-label":s,multiple:a,disabled:e.disabled,value:a?[...d]:u,onFocus:()=>l(null),onChange:n=>{if(a){let r=Array.from(n.target.selectedOptions).map(e=>e.value),i=f===``?[]:[{other:f}];e.onChange(t.name,[...r,...i])}else m(n.target.value)},children:[!a&&(0,R.jsx)(`option`,{value:``}),i.map(e=>(0,R.jsx)(`option`,{value:e.id,children:L(n,e.label)},e.id))]}),o&&(0,R.jsxs)(`div`,{className:`blk-choice-other`,children:[a&&(0,R.jsx)(`input`,{type:`checkbox`,"aria-label":`${s} other`,checked:p,disabled:e.disabled,onChange:n=>n.target.checked&&f.trim()!==``?_(f):e.onChange(t.name,[...d])}),(0,R.jsx)(`input`,{type:`text`,dir:`auto`,"aria-label":`${s} other text`,placeholder:t.allowOther?.label??`Type something`,value:f,disabled:e.disabled,onFocus:()=>l(null),onChange:e=>a?_(e.target.value):h(e.target.value)})]})]});return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-choice`,"data-preview":y===void 0?void 0:b,children:[(0,R.jsx)(`div`,{className:`blk-choice-main`,children:x}),y!==void 0&&y.preview!==void 0&&(0,R.jsx)(`div`,{className:`blk-choice-preview`,"data-layout":b,children:(0,R.jsx)(bd,{block:{text:y.preview}})})]})})}function Qd(e){return e===`stored`?`set (stored)`:e===`env`?`set (env)`:`not set`}function $d(e){let{field:t}=e,n=F(),r=e.formBind??``,i=I(n,{$:`${r===``?``:r}/${t.name}`.replace(/^\/+/,`/`)}),a=typeof e.value==`string`?e.value:``;return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-secret`,children:[(0,R.jsx)(`span`,{className:`blk-secret-status`,"data-status":typeof i==`string`?i:`unset`,children:Qd(i)}),(0,R.jsx)(`input`,{type:`password`,dir:`auto`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),autoComplete:`new-password`,value:a,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})]})})}function ef(e,t){return e===void 0||e.trim()===``||e.split(`,`).some(e=>{let n=e.trim();return n===``?!1:n.startsWith(`.`)?t.name.endsWith(n):n.endsWith(`/*`)?t.type.startsWith(n.slice(0,-1)):t.type===n})}function tf(e){let{field:t}=e,n=F(),r=Ve(),[i,a]=(0,v.useState)(null),o=(0,v.useRef)(null),s=L(n,t.label),c=n=>{let i=[];for(let e of n){if(!ef(t.accept,e)){a(`${e.name}: not an accepted type`);return}if(t.maxBytes!==void 0&&e.size>t.maxBytes){a(`${e.name} is larger than ${t.maxBytes} bytes`);return}i.push(e)}a(null),e.onChange(t.name,i.map(e=>({name:e.name,size:e.size,type:e.type}))),r.dispatch({type:`submit`,name:t.onUpload,turn:!1},{field:t.name,files:i.map(e=>({name:e.name,size:e.size,type:e.type}))}),o.current!==null&&(o.current.value=``)},l=i??e.error;return(0,R.jsx)(lf,{field:t,error:l,children:(0,R.jsx)(`input`,{ref:o,type:`file`,"aria-label":s,accept:t.accept,multiple:t.multi===!0,disabled:e.disabled,onChange:e=>{let t=e.target.files;c(t===null?[]:Array.from(t))}})})}function nf(e){return Array.isArray(e)?e:[]}function rf(e){let{field:t}=e,n=nf(e.value),r=t.min??0,i=t.max,a=!e.disabled&&(i===void 0||n.length<i),o=!e.disabled&&n.length>r,s=!e.disabled&&t.reorder===!0,c=n=>e.onChange(t.name,[...n]),l=(e,t)=>c(n.map((n,r)=>r===e?t:n)),u=e=>c(n.filter((t,n)=>n!==e)),d=(e,t)=>{let r=e+t;if(r<0||r>=n.length)return;let i=[...n],[a]=i.splice(e,1);i.splice(r,0,a),c(i)};return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-list`,"data-min":r,"data-max":i,children:[n.map((r,i)=>(0,R.jsxs)(`div`,{className:`blk-list-entry`,children:[(0,R.jsx)(gf,{field:{...t.item,name:`${t.name}.${i}`},value:r,disabled:e.disabled,onChange:(e,t)=>l(i,t)}),(0,R.jsxs)(`div`,{className:`blk-list-controls`,children:[s&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":`move entry ${i+1} up`,disabled:i===0,onClick:()=>d(i,-1),children:`↑`}),(0,R.jsx)(`button`,{type:`button`,"aria-label":`move entry ${i+1} down`,disabled:i===n.length-1,onClick:()=>d(i,1),children:`↓`})]}),(0,R.jsx)(`button`,{type:`button`,"aria-label":`remove entry ${i+1}`,disabled:!o,onClick:()=>u(i),children:`Remove`})]})]},i)),(0,R.jsx)(`button`,{type:`button`,disabled:!a,onClick:()=>{c([...n,``])},children:`Add`})]})})}function af(e,t){let n=/^P(?:(\d+)W)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?)?$/.exec(e);if(n===null)return null;let r=Number(n[1]??0),i=Number(n[2]??0),a=Number(n[3]??0),o=Number(n[4]??0),s=Number(n[5]??0),c=new Date(t.getTime());c.setDate(c.getDate()-(r*7+i));let l=((a*60+o)*60+s)*1e3;return{start:sf(new Date(c.getTime()-l)),end:sf(t)}}function of(e){if(typeof e==`object`&&e&&!Array.isArray(e)){let t=e;return{start:typeof t.start==`string`?t.start:``,end:typeof t.end==`string`?t.end:``}}return{start:``,end:``}}function sf(e){let t=e=>String(e).padStart(2,`0`);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`}function cf(e){let{field:t}=e,n=L(F(),t.label),r=of(e.value),i=(n,r)=>e.onChange(t.name,{start:n,end:r}),a=e=>{let t=af(e,new Date);t!==null&&i(t.start,t.end)};return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsxs)(`div`,{className:`blk-daterange`,children:[t.presets!==void 0&&t.presets.length>0&&(0,R.jsx)(`div`,{className:`blk-daterange-presets`,children:t.presets.map(t=>(0,R.jsx)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>a(t.duration),children:t.label},t.id))}),(0,R.jsx)(`input`,{type:`date`,"aria-label":`${n} start`,value:r.start,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:e=>i(e.target.value,r.end)}),(0,R.jsx)(`input`,{type:`date`,"aria-label":`${n} end`,value:r.end,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:e=>i(r.start,e.target.value)})]})})}function lf(e){let t=F(),n=L(t,e.field.label),r=L(t,e.field.help);return(0,R.jsxs)(`div`,{className:`blk-field`,"data-field":e.field.type,"data-name":e.field.name,children:[n!==``&&(0,R.jsxs)(`label`,{className:`blk-field-label`,dir:`auto`,children:[n,e.field.required===!0&&(0,R.jsx)(`span`,{"aria-hidden":!0,children:` *`})]}),e.children,r!==``&&(0,R.jsx)(`div`,{className:`blk-field-help`,dir:`auto`,children:r}),e.error!==void 0&&(0,R.jsx)(`div`,{className:`blk-field-error`,role:`alert`,dir:`auto`,children:e.error})]})}function uf(e){let{field:t}=e,n=F(),r=t.kind===`email`?`email`:t.kind===`url`?`url`:t.kind===`search`?`search`:`text`;return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:r,dir:`auto`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),value:typeof e.value==`string`?e.value:``,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function df(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`textarea`,{dir:`auto`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),rows:t.rows??3,value:typeof e.value==`string`?e.value:``,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function ff(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`number`,"aria-label":L(n,t.label),placeholder:L(n,t.placeholder),value:typeof e.value==`number`?String(e.value):``,step:t.step,min:t.min,max:t.max,disabled:e.disabled,onChange:n=>{let r=n.target.value;e.onChange(t.name,r===``?``:Number(r))}})})}function pf(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`checkbox`,"aria-label":L(n,t.label),checked:e.value===!0,disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.checked)})})}function mf(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`date`,"aria-label":L(n,t.label),value:typeof e.value==`string`?e.value:``,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function hf(e){let{field:t}=e,n=F();return(0,R.jsx)(lf,{field:t,error:e.error,children:(0,R.jsx)(`input`,{type:`datetime-local`,"aria-label":L(n,t.label),value:typeof e.value==`string`?e.value:``,min:t.min===void 0?void 0:String(t.min),max:t.max===void 0?void 0:String(t.max),disabled:e.disabled,onChange:n=>e.onChange(t.name,n.target.value)})})}function gf(e){let t=e.field;switch(t.type){case`text`:return(0,R.jsx)(uf,{...e,field:t});case`longtext`:return(0,R.jsx)(df,{...e,field:t});case`number`:return(0,R.jsx)(ff,{...e,field:t});case`toggle`:return(0,R.jsx)(pf,{...e,field:t});case`date`:return(0,R.jsx)(mf,{...e,field:t});case`datetime`:return(0,R.jsx)(hf,{...e,field:t});case`choice`:return(0,R.jsx)(Zd,{...e,field:t});case`secret`:return(0,R.jsx)($d,{...e,field:t});case`file`:return(0,R.jsx)(tf,{...e,field:t});case`list`:return(0,R.jsx)(rf,{...e,field:t});case`daterange`:return(0,R.jsx)(cf,{...e,field:t})}}function _f(e){return typeof e==`object`&&!!e&&typeof e.type==`string`&&typeof e.name==`string`}var vf=_f;function yf(e){let t=[],n=e=>{for(let r of e)vf(r)?t.push(r):typeof r==`object`&&r&&r.type===`section`&&n(r.children)};return n(e.children),t}function bf(e,t){if(e.type===`secret`)return``;let n=t[e.name];if(n!==void 0)return n;switch(e.type){case`toggle`:return e.default===!0;case`choice`:if(Array.isArray(e.options)){let t=e.options.filter(e=>e.recommended===!0).map(e=>e.id);if(e.multi===!0)return t;if(t.length>0)return t[0]}return e.multi===!0?[]:``;case`list`:return[];case`daterange`:return{};default:return``}}function xf(e,t,n){let r=t==null||t===``||Array.isArray(t)&&t.length===0||typeof t==`object`&&!Array.isArray(t)&&Object.keys(t).length===0;if(e.required===!0&&r)return`${n} is required`;if(r)return null;if(typeof t==`number`){if(e.min!==void 0&&t<e.min)return`${n} must be at least ${e.min}`;if(e.max!==void 0&&t>e.max)return`${n} must be at most ${e.max}`}if(typeof t==`string`){if(e.minLength!==void 0&&t.length<e.minLength)return`${n} must be at least ${e.minLength} characters`;if(e.maxLength!==void 0&&t.length>e.maxLength)return`${n} must be at most ${e.maxLength} characters`;if(e.pattern!==void 0&&t!==``){let r=null;try{r=RegExp(`^(?:${e.pattern})$`)}catch{r=null}if(r!==null&&!r.test(t))return`${n} does not match ${e.pattern}`}}if(Array.isArray(t)){if(e.min!==void 0&&t.length<e.min)return`${n} needs at least ${e.min} entries`;if(e.max!==void 0&&t.length>e.max)return`${n} allows at most ${e.max} entries`}return null}function Sf(e,t){if(!t)return null;let n=e.children.filter(e=>typeof e==`object`&&!!e&&e.type===`section`);return n.length<2?null:n.every(e=>e.children.some(e=>typeof e==`object`&&!!e&&e.type===`choice`))?n:null}function Cf(e){let{block:t}=e,n=F(),r=Ve(),i=t.bind.startsWith(`/view/`)?k(r.viewState,t.bind.replace(/^\/view\/?/,`/`))??{}:k(n.data,t.bind)??{},a=yf(t),[o,s]=(0,v.useState)(()=>{let e={};for(let t of a)e[t.name]=bf(t,i);return e}),[c,l]=(0,v.useState)({}),u=(0,v.useRef)(null),d=(0,v.useRef)(null);(0,v.useEffect)(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);let f=r.access!==`write`,p=e=>{let t={};for(let r of a){let i=xf(r,e[r.name],L(n,r.label)||r.name);i!==null&&(t[r.name]=i)}return l(t),Object.keys(t).length===0},m=e=>{if(!p(e))return!1;let n=Object.fromEntries(a.filter(e=>e.disabled!==!0).map(t=>[t.name,e[t.name]]));return r.dispatch({type:`submit`,name:t.onSubmit??`submit`,...t.turn===void 0?{}:{turn:t.turn}},{values:n,rev:r.rev??0}),!0},h=(e,n)=>{s(i=>{let a={...i,[e]:n};return t.mode===`live`&&(d.current=a,u.current!==null&&clearTimeout(u.current),u.current=setTimeout(()=>{let e=d.current;if(d.current=null,e!==null){if(t.bind.startsWith(`/view/`)){let n=t.bind.replace(/^\/view\/?/,``);r.setView?.(n,{...e});return}r.dispatch({type:`edit`,name:t.onSubmit??`edit`,...t.turn===void 0?{}:{turn:t.turn}},{values:{...e}})}},300)),a})},g=L(n,t.submitLabel)||`Submit`,_=Sf(t,e.interaction===!0);return _===null?(0,R.jsxs)(`div`,{className:`blk blk-form`,"data-block":`form`,"data-mode":t.mode,children:[(0,R.jsx)(wf,{block:t,values:o,errors:c,serverErrors:r.serverErrors??{},disabled:f,onChange:h,formBind:t.bind}),t.mode!==`live`&&!f&&(0,R.jsx)(`button`,{type:`button`,className:`blk-form-submit`,onClick:()=>{if(m(o)&&t.mode===`inline`){let e={};for(let t of a)e[t.name]=bf(t,{});s(e)}},children:g})]}):(0,R.jsx)(Df,{block:t,sections:_,values:o,errors:c,serverErrors:r.serverErrors??{},disabled:f,submitLabel:g,onChange:h,onSubmit:()=>{m(o)}})}function wf(e){return(0,R.jsx)(R.Fragment,{children:e.block.children.map((t,n)=>(0,R.jsx)(Tf,{child:t,...e},n))})}function Tf(e){let t=e.child;if(typeof t==`object`&&t&&t.type===`section`){let n=t;return(0,R.jsxs)(`div`,{className:`blk blk-section`,"data-block":`section`,children:[n.title!==void 0&&(0,R.jsx)(Ef,{section:n}),n.children.map((t,n)=>{if(typeof t==`object`&&t&&typeof t.name==`string`){let{child:r,...i}=e;return(0,R.jsx)(Tf,{...i,child:t},n)}return(0,R.jsx)(Kp,{block:t},n)})]})}let n=t;return(0,R.jsx)(gf,{field:n,value:e.values[n.name],disabled:e.disabled||n.disabled===!0,error:e.errors[n.name]??e.serverErrors[n.name],onChange:e.onChange,formBind:e.formBind})}function Ef(e){let t=F();return(0,R.jsx)(`h3`,{className:`blk-section-title`,dir:`auto`,children:L(t,e.section.title)})}function Df(e){let[t,n]=(0,v.useState)(0),r=F(),i=e.sections.length,a=t>=i?void 0:e.sections[t],o=e=>e.children.find(e=>typeof e==`object`&&!!e&&e.type===`choice`),s=e.sections.filter(t=>{let n=o(t);return n===void 0||n.required!==!0?!1:qd(n,e.values[n.name])===void 0});return(0,R.jsx)(`div`,{className:`blk blk-form blk-stepper`,"data-block":`form`,"data-step":t,children:a===void 0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`blk-stepper-review`,children:[e.sections.map((t,n)=>{let r=o(t),i=r===void 0?void 0:qd(r,e.values[r.name]);return(0,R.jsxs)(`div`,{className:`blk-stepper-review-row`,children:[(0,R.jsx)(Ef,{section:t}),(0,R.jsx)(`span`,{dir:`auto`,children:i})]},n)}),s.map((e,t)=>(0,R.jsxs)(`div`,{className:`blk-stepper-review-unanswered`,children:[`Not answered yet: `,L(r,e.title)]},`unanswered-${t}`))]}),(0,R.jsxs)(`div`,{className:`blk-stepper-nav`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(i-1),children:`Back`}),!e.disabled&&(0,R.jsx)(`button`,{type:`button`,className:`blk-form-submit`,disabled:s.length>0,onClick:e.onSubmit,children:e.submitLabel})]})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`blk-stepper-progress`,children:[`Step `,t+1,` of `,i]}),(0,R.jsx)(Tf,{child:a,values:e.values,errors:e.errors,serverErrors:e.serverErrors,disabled:e.disabled,onChange:e.onChange}),(0,R.jsxs)(`div`,{className:`blk-stepper-nav`,children:[t>0&&(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(t-1),children:`Back`}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>n(t+1),children:t+1===i?`Review`:`Next`})]})]})})}function Of(e){let t={...F(),item:e.item};return(0,R.jsx)(ze.Provider,{value:t,children:(0,R.jsx)(kf,{card:e.card,display:e.display})})}function kf(e){let t=F(),n=e.card,r=L(t,n.eyebrow),i=L(t,n.title),a=L(t,n.subtitle),o=L(t,n.body),s=L(t,n.image),c=I(t,n.icon),l=I(t,n.tone),u=I(t,n.quiet),d=I(t,n.deps),f=e.display===`list`||e.display===`lanes`;return(0,R.jsxs)(`div`,{className:`blk blk-card`,"data-block":`card`,"data-tone":l??`neutral`,"data-quiet":u===!0||void 0,children:[l!==void 0&&(0,R.jsx)(`div`,{className:`blk-card-stripe`,style:yd(l)}),s!==``&&(0,R.jsx)(`img`,{className:`blk-card-image`,"data-layout":e.display===`grid`?`top`:`thumb`,src:s,alt:``}),(0,R.jsxs)(`div`,{className:`blk-card-main`,children:[(0,R.jsxs)(`div`,{className:`blk-card-head`,children:[c!==void 0&&(0,R.jsx)(`span`,{className:`blk-card-icon`,children:(0,R.jsx)(gd,{name:c})}),(0,R.jsxs)(`div`,{className:`blk-card-titles`,children:[r!==``&&(0,R.jsx)(`div`,{className:`blk-card-eyebrow`,dir:`auto`,children:r}),(0,R.jsx)(`div`,{className:`blk-card-title`,dir:`auto`,children:i}),a!==``&&(0,R.jsx)(`div`,{className:`blk-card-subtitle`,dir:`auto`,children:a})]}),n.status!==void 0&&(0,R.jsx)(Af,{card:n})]}),o!==``&&(0,R.jsx)(`div`,{className:`blk-card-body`,"data-clamped":f?!0:void 0,children:(0,R.jsx)(md,{source:o,variant:`prose`})}),(0,R.jsx)(jf,{card:n}),(0,R.jsx)(Mf,{card:n}),(0,R.jsx)(Pf,{card:n}),d!==void 0&&d.length>0&&(0,R.jsxs)(`div`,{className:`blk-card-deps`,dir:`auto`,children:[`after: `,d.join(`, `)]}),(0,R.jsx)(Ff,{card:n})]})]})}function Af(e){let t=F(),n=e.card.status;if(n===void 0)return null;let r=L(t,n.label),i=I(t,n.tone),a=I(t,n.spinner)===!0;return r===``&&!a?null:(0,R.jsxs)(`div`,{className:`blk-card-status`,"data-tone":i??`neutral`,children:[a&&(0,R.jsx)(`span`,{className:`blk-card-spinner`,"data-spinner":`true`}),(0,R.jsx)(`span`,{dir:`auto`,children:r})]})}function jf(e){let t=F(),n=(e.card.badges??[]).map((e,n)=>{let r=L(t,e.text);return r===``?null:(0,R.jsx)(`span`,{className:`blk-card-badge`,"data-tone":I(t,e.tone)??`neutral`,dir:`auto`,children:r},n)}).filter(e=>e!==null);return n.length===0?null:(0,R.jsx)(`div`,{className:`blk-card-badges`,children:n})}function Mf(e){let t=F(),n=(e.card.meta??[]).map((e,n)=>Nf(t,e,n)).filter(e=>e!==null);return n.length===0?null:(0,R.jsx)(`div`,{className:`blk-card-meta`,children:n})}function Nf(e,t,n){if(`person`in t){let r=L(e,t.person.name);return r===``?null:(0,R.jsxs)(`span`,{className:`blk-card-meta-item`,dir:`auto`,children:[(0,R.jsx)(gd,{name:`user`}),r]},n)}if(`time`in t){let r=I(e,t.time),i=N(typeof r==`string`||typeof r==`number`?r:``,t.format,e.locale);return i===``?null:(0,R.jsxs)(`span`,{className:`blk-card-meta-item`,dir:`auto`,children:[(0,R.jsx)(gd,{name:`clock`}),i]},n)}let r=L(e,t.text);if(r===``)return null;let i=`icon`in t?I(e,t.icon):void 0;return(0,R.jsxs)(`span`,{className:`blk-card-meta-item`,dir:`auto`,children:[i!==void 0&&(0,R.jsx)(gd,{name:i}),r]},n)}function Pf(e){let t=F(),n=(e.card.metrics??[]).map((e,n)=>{let r=L(t,e.label),i=I(t,e.value);return r===``||i===void 0?null:(0,R.jsxs)(`span`,{className:`blk-card-metric`,dir:`auto`,children:[(0,R.jsx)(`span`,{className:`blk-card-metric-value`,children:N(i,e.format,t.locale)}),(0,R.jsx)(`span`,{className:`blk-card-metric-label`,children:r})]},n)}).filter(e=>e!==null);return n.length===0?null:(0,R.jsx)(`div`,{className:`blk-card-metrics`,children:n})}function Ff(e){let t=e.card.actions??[];if(t.length===0)return null;let n=t.slice(0,3),r=t.slice(3);return(0,R.jsxs)(`div`,{className:`blk-card-actions`,onClick:e=>e.stopPropagation(),children:[(0,R.jsx)(jd,{buttons:n}),r.length>0&&(0,R.jsxs)(`details`,{className:`blk-card-overflow`,children:[(0,R.jsx)(`summary`,{"aria-label":`More actions`,children:(0,R.jsx)(gd,{name:`more`})}),(0,R.jsx)(jd,{buttons:r})]})]})}function If(e,t){if(typeof e==`object`&&e&&!Array.isArray(e)&&`id`in e){let t=e.id;if(typeof t==`string`)return t;if(typeof t==`number`)return String(t)}return`item-${t}`}function Lf(e,t,n){return n===`single`?e.includes(t)?[]:[t]:e.includes(t)?e.filter(e=>e!==t):[...e,t]}function Rf(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function zf(e,t){return e===void 0||e.field!==t?{field:t,dir:`asc`}:{field:t,dir:e.dir===`asc`?`desc`:`asc`}}function Bf(e){let[t,n]=(0,v.useState)([]),[r,i]=(0,v.useState)([]);return{selection:t,folded:r,toggleSelect:t=>{n(n=>Lf(n,t,e.select??`single`))},toggleFold:e=>{i(t=>Rf(t,e))}}}function $(e){let t=Ve();return n=>{let r=e.onActivate;r!==void 0&&(r.type===`navigate`||r.type===`copy`||r.type===`open`||t.access===`write`)&&t.dispatch(r,{itemId:n})}}function Vf(e){let t=Ve(),n=F(),[r,i]=(0,v.useState)(null),a=e.block.bulkActions??[];if(t.access!==`write`||e.block.select!==`multi`||e.selection.length===0||a.length===0)return null;let o=(n,r)=>{t.dispatch({type:`submit`,name:n.onSubmit},{ids:[...e.selection],values:r}),i(null)};return(0,R.jsxs)(`div`,{className:`blk-bulk`,"data-block":`bulk-actions`,children:[(0,R.jsxs)(`span`,{className:`blk-bulk-count`,children:[e.selection.length,` selected`]}),a.map(e=>{let t=I(n,e.label)??e.id;return(0,R.jsx)(`button`,{type:`button`,className:`blk-bulk-action`,onClick:()=>{e.form===void 0?o(e,{}):i(e)},children:t},e.id)}),r!==null&&r.form!==void 0&&(0,R.jsx)(`div`,{className:`blk-bulk-form`,children:(0,R.jsx)(Be.Provider,{value:{...t,dispatch:(e,t)=>{let n=typeof t==`object`&&t&&!Array.isArray(t)&&typeof t.values==`object`?t.values:{};o(r,n)}},children:(0,R.jsx)(Cf,{block:Hf(r.form)})})})]})}function Hf(e){let t=e.root;return typeof t==`object`&&t&&t.type===`form`?t:e}function Uf(e){return Ve().access===`write`?(0,R.jsx)(`input`,{type:`checkbox`,className:`blk-select`,checked:e.checked,onClick:e=>e.stopPropagation(),onChange:()=>e.onToggle()}):null}function Wf(e){return e.slice(0,10)}function Gf(e,t){let n=new Date(`${e}T00:00:00Z`);return n.setUTCDate(n.getUTCDate()+t),n.toISOString().slice(0,10)}function Kf(e,t){let[n,r]=e.split(`-`),i=Number(n),a=Number(r)-1+t;return new Date(Date.UTC(i,a,1)).toISOString().slice(0,7)}function qf(){return new Date().toISOString().slice(0,7)}function Jf(e){let[t,n]=e.split(`-`),r=Number(t),i=Number(n),a=[],o=new Date(Date.UTC(r,i-1,1));for(;o.getUTCMonth()===i-1;)a.push(o.toISOString().slice(0,10)),o.setUTCDate(o.getUTCDate()+1);return a}function Yf(e,t){let n=e.time;if(n===void 0||typeof t!=`object`||!t||Array.isArray(t))return;let r=t,i=r[n.start];if(typeof i!=`string`)return;let a=n.end===void 0?void 0:r[n.end];return{start:i,end:typeof a==`string`?a:void 0}}function Xf(e,t){if(typeof document==`object`)return(document.elementFromPoint(e,t)?.closest(`[data-drop-day]`))?.getAttribute(`data-drop-day`)??void 0}function Zf(e){let t=e.block,n=t.time,r=$(t),i=Ve(),a=z()===`compact`,o=i.access===`write`,s=o&&t.onMove!==void 0,c=o&&n?.onResize!==void 0,l=o&&n?.onCreate!==void 0,[u,d]=(0,v.useState)(qf),f=new Map,p=e.groups.flatMap(e=>[...e.buckets.visible,...e.buckets.quiet]);for(let e of p){let n=Yf(t,e.item);if(n===void 0)continue;let r=Wf(n.start),i=f.get(r)??[];i.push(e),f.set(r,i)}let m=(0,v.useRef)(null),[,h]=(0,v.useState)(!1),g=e=>{e.key===`[`?d(e=>Kf(e,-1)):e.key===`]`?d(e=>Kf(e,1)):e.key===`t`&&d(qf())},_=(e,n,r)=>{let i=Yf(t,n.item);if(i===void 0)return;let a=r?.currentTarget;a!==void 0&&r!==void 0&&a.setPointerCapture?.(r.pointerId),m.current=e===`move`?{kind:e,itemId:n.id,start:i.start,end:i.end,el:a,pointerId:r?.pointerId}:{kind:e,itemId:n.id,start:i.start,el:a,pointerId:r?.pointerId},h(!0)},y=()=>{let e=m.current;if(e!==null&&(m.current=null,h(!1),e.el!==void 0&&e.pointerId!==void 0))try{e.el.releasePointerCapture?.(e.pointerId)}catch{}},b=e=>{let r=m.current;if(r===null)return;if(m.current=null,h(!1),r.el!==void 0&&r.pointerId!==void 0)try{r.el.releasePointerCapture?.(r.pointerId)}catch{}let a=Xf(e.clientX,e.clientY);if(a===void 0)return;if(r.kind===`move`){let e=t.onMove;if(e===void 0)return;let n=(Date.parse(`${a}T00:00:00Z`)-Date.parse(`${Wf(r.start)}T00:00:00Z`))/864e5,o=Qf(r.start,n),s=r.end===void 0?void 0:Qf(r.end,n);i.dispatch({type:`move`,name:e},{itemId:r.itemId,to:s===void 0?{start:o}:{start:o,end:s}});return}if(r.kind===`resize`){let e=n?.onResize;if(e===void 0||n?.end===void 0)return;let o=x(r.itemId),s=o===void 0?void 0:Yf(t,o.item),c=s?.end===void 0?`T00:00:00Z`:s.end.slice(10);i.dispatch({type:`edit`,name:e},{itemId:r.itemId,end:`${a}${c}`});return}let o=n?.onCreate;o!==void 0&&i.dispatch({type:`submit`,name:o,turn:!1},{start:`${a}T00:00:00Z`,end:`${Gf(a,1)}T00:00:00Z`})},x=e=>p.find(t=>t.id===e);if(a||n?.range===`agenda`){let e=[...p].sort((e,n)=>{let r=Yf(t,e.item)?.start??``,i=Yf(t,n.item)?.start??``;return r.localeCompare(i)});return(0,R.jsx)(`div`,{className:`blk blk-collection blk-calendar`,"data-display":`calendar`,"data-layout":`agenda`,"data-range-label":u,onKeyDown:g,children:e.map(e=>(0,R.jsxs)(`div`,{className:`blk-agenda-row`,onClick:()=>r(e.id),children:[(0,R.jsx)(`span`,{className:`blk-agenda-when`,children:Yf(t,e.item)?.start??``}),(0,R.jsx)(Of,{card:t.item,item:e.item,display:`list`})]},e.id))})}let S=Jf(u);return(0,R.jsx)(`div`,{className:`blk blk-collection blk-calendar`,"data-display":`calendar`,"data-layout":`month`,"data-range-label":u,onKeyDown:g,children:(0,R.jsx)(`div`,{className:`blk-calendar-grid`,children:S.map(e=>(0,R.jsxs)(`div`,{className:`blk-calendar-day`,"data-day":e,"data-drop-day":e,"data-create-day":l?e:void 0,onPointerDown:l?e=>{let t=e.currentTarget;t?.setPointerCapture?.(e.pointerId),m.current={kind:`create`,el:t,pointerId:e.pointerId},h(!0)}:void 0,onPointerUp:b,onPointerCancel:y,children:[(0,R.jsx)(`div`,{className:`blk-calendar-daynum`,children:e.slice(8)}),(f.get(e)??[]).map(e=>(0,R.jsxs)(`div`,{className:`blk-calendar-item`,"data-drag-item":s?e.id:void 0,onPointerDown:t=>{t.stopPropagation?.(),s&&_(`move`,e,t)},onPointerUp:b,onPointerCancel:y,onClick:()=>r(e.id),children:[(0,R.jsx)(Of,{card:t.item,item:e.item,display:`lanes`}),c&&(0,R.jsx)(`span`,{className:`blk-calendar-resize`,"data-resize-item":e.id,onPointerDown:t=>{t.stopPropagation?.(),_(`resize`,e,t)},onPointerUp:b,onPointerCancel:y})]},e.id))]},e))})})}function Qf(e,t){let n=new Date(e);return n.setUTCDate(n.getUTCDate()+t),n.toISOString().replace(/\.\d{3}Z$/,`Z`)}var $f={s:16,m:24,l:32};function ep(e){return e.item.image===void 0?`s`:`m`}function tp(e){let t=Bf(e.block),n=$(e.block),r=Qe(),i=z(),a=ep(e.block),o=e.block.overflow===`scroll`,s=o||i===`compact`||r!==null&&$f[a]>r?`1fr`:`repeat(auto-fill, minmax(${$f[a]}rem, 1fr))`,c=e.groups.flatMap(e=>[...e.buckets.visible,...e.buckets.quiet]);return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-grid-display`,"data-display":`grid`,"data-overflow":e.block.overflow??`wrap`,children:[(0,R.jsx)(Vf,{block:e.block,selection:t.selection}),(0,R.jsx)(`div`,{className:`blk-grid-items`,style:{gridTemplateColumns:s,overflowX:o?`auto`:void 0},children:c.map(t=>(0,R.jsx)(`div`,{className:`blk-grid-card`,"data-item-id":t.id,onClick:()=>n(t.id),children:(0,R.jsx)(Of,{card:e.block.item,item:t.item,display:`grid`})},t.id))})]})}function np(e,t,n){return e.setPointerCapture?.(t),n}function rp(e,t){ap(e,t)}function ip(e,t,n){let r=n??(typeof document==`object`?(e,t)=>document.elementFromPoint(e,t):void 0);if(r===void 0)return;let i=r(e,t)?.closest(`[data-drop-group][data-drop-index]`);if(i==null)return;let a=i.getAttribute(`data-drop-group`),o=i.getAttribute(`data-drop-index`);if(a===null||o===null)return;let s=Number(o);if(Number.isInteger(s))return{group:a,index:s}}function ap(e,t){try{e.releasePointerCapture?.(t)}catch{}}function op(e,t,n,r,i,a){ap(e,t);let o=ip(r,i,a);if(o!==void 0&&(o.group!==n.from.group||o.index!==n.from.index))return{itemId:n.itemId,from:n.from,to:o}}function sp(e){return{itemId:e.itemId,from:{group:e.from.group,index:e.from.index},to:{group:e.to.group,index:e.to.index}}}function cp(e){let t=e.block,n=Bf(t),r=$(t),i=Ve(),a=z()===`compact`,o=i.access===`write`&&t.onMove!==void 0,[s,c]=(0,v.useState)(e.groups[0]?.id??``),[l,u]=(0,v.useState)(null),d=e.groups.map(e=>e.id),f=a&&d.includes(s)?s:d[0]??``,p=e=>{let n=t.onMove;n!==void 0&&i.dispatch({type:`move`,name:n},sp(e))},[m,h]=(0,v.useState)(null),g=(0,v.useRef)(null),_=(0,v.useRef)(null),y=(e,t,n)=>{if(!o)return;let r=e.currentTarget;_.current=r??null,r!==void 0&&np(r,e.pointerId,{itemId:t,from:n}),g.current={itemId:t,from:n},h({itemId:t,from:n})},b=e=>{let t=g.current;if(t===null)return;g.current=null,h(null);let n=e.currentTarget??_.current??void 0;if(_.current=null,n!==void 0){let r=op(n,e.pointerId,t,e.clientX,e.clientY);r!==void 0&&p(r);return}let r=ip(e.clientX,e.clientY);r!==void 0&&(r.group!==t.from.group||r.index!==t.from.index)&&p({itemId:t.itemId,from:t.from,to:r})},x=e=>{if(g.current===null)return;g.current=null,h(null);let t=e.currentTarget??_.current??void 0;_.current=null,t!==void 0&&rp(t,e.pointerId)},S=e=>{let t=e.target;if(!o)return;if(e.key===`m`){let e=(t.closest?.(`[data-drag-item]`))?.getAttribute(`data-drag-item`);if(e==null)return;let n=C(e);n!==void 0&&u({itemId:e,at:n});return}if(l===null)return;if(e.key===`Escape`||e.key===`Esc`){u(null);return}let n=d.indexOf(l.at.group);if(e.key===`ArrowRight`||e.key===`ArrowLeft`){let t=e.key===`ArrowRight`?n+1:n-1,r=d[t];if(r===void 0)return;let i=w(r,l.itemId);u({itemId:l.itemId,at:{group:r,index:Math.min(l.at.index,i)}});return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){let t=w(l.at.group,l.itemId),n=e.key===`ArrowDown`?Math.min(l.at.index+1,t):Math.max(l.at.index-1,0);u({itemId:l.itemId,at:{group:l.at.group,index:n}});return}if(e.key===`Enter`){let e=C(l.itemId);if(u(null),e===void 0||e.group===l.at.group&&e.index===l.at.index)return;p({itemId:l.itemId,from:e,to:l.at})}},C=t=>{for(let n of e.groups){let e=n.buckets.visible.findIndex(e=>e.id===t);if(e>=0)return{group:n.id,index:e}}},w=(t,n)=>e.groups.find(e=>e.id===t)?.buckets.visible.length??0,T=(i,s,c)=>(0,R.jsxs)(`div`,{className:`blk-lane-card`,"data-drag-item":o?i.id:void 0,"data-drop-group":s,"data-drop-index":c,onPointerDown:e=>y(e,i.id,{group:s,index:c}),onPointerUp:b,onPointerCancel:x,onClick:()=>r(i.id),children:[t.select!==void 0&&(0,R.jsx)(Uf,{checked:n.selection.includes(i.id),onToggle:()=>n.toggleSelect(i.id)}),(0,R.jsx)(Of,{card:t.item,item:i.item,display:`lanes`}),a&&o&&e.groups.length>1&&(0,R.jsx)(lp,{block:t,prepared:i,from:{group:s,index:c},otherGroups:d.filter(e=>e!==s),dispatchMove:p})]},i.id),E=a?e.groups.filter(e=>e.id===f):e.groups;return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-lanes`,"data-display":`lanes`,"data-layout":a?`single`:`side-by-side`,onKeyDown:S,children:[(0,R.jsx)(Vf,{block:t,selection:n.selection}),a&&e.groups.length>1&&(0,R.jsx)(`select`,{className:`blk-lane-switcher`,"aria-label":`Lane`,value:f,onChange:e=>c(e.target.value),children:e.groups.map(e=>(0,R.jsx)(`option`,{value:e.id,children:e.title},e.id))}),(0,R.jsx)(`div`,{className:`blk-lanes-row`,children:E.map(e=>(0,R.jsxs)(`div`,{className:`blk-lane`,"data-lane":e.id,"data-drop-group":e.id,"data-drop-index":e.buckets.visible.length,children:[(0,R.jsx)(`div`,{className:`blk-lane-heading`,dir:`auto`,children:e.title}),e.buckets.visible.map((t,n)=>T(t,e.id,n))]},e.id))})]})}function lp(e){let[t,n]=(0,v.useState)(!1),r=F(),i=up(e.block),a=e=>{e?.stopPropagation?.()};return(0,R.jsxs)(`span`,{className:`blk-move-to`,children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":`Move to…`,"data-item":e.prepared.id,"data-targets":e.otherGroups.join(`,`),onClick:e=>{a(e),n(e=>!e)},children:`Move to…`}),t&&e.otherGroups.map(t=>(0,R.jsx)(`button`,{type:`button`,className:`blk-move-to-target`,"data-item":e.prepared.id,"data-move-target":t,onClick:i=>{a(i),n(!1),e.dispatchMove({itemId:e.prepared.id,from:e.from,to:{group:t,index:dp(e.block,r.data,t)}})},children:i.get(t)??t},t))]})}function up(e){return new Map((e.groups??[]).map(e=>[e.id,typeof e.title==`string`?e.title:e.id]))}function dp(e,t,n){let r=e.items;if(typeof r!=`object`||Array.isArray(r)||!(`$`in r))return 0;let i=k(t,r.$),a=Array.isArray(i)?i:[],o=e.groupBy;return o===void 0?a.length:a.filter(e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&e[o]===n).length}function fp(e){let{block:t,prepared:n,depth:r,index:i,view:a,activate:o}=e,s=t.children===void 0?void 0:Tp(n.item,t.children),c=Array.isArray(s)?s:[];return(0,R.jsxs)(`li`,{className:`blk-list-row`,"data-depth":r,children:[(0,R.jsxs)(`div`,{className:`blk-list-line`,style:{paddingInlineStart:`${r*2}rem`},children:[t.select!==void 0&&(0,R.jsx)(Uf,{checked:a.selection.includes(n.id),onToggle:()=>a.toggleSelect(n.id)}),t.numbered===!0&&(0,R.jsx)(`span`,{className:`blk-list-number`,children:i+1}),t.checkable!==void 0&&(0,R.jsx)(pp,{block:t,prepared:n}),(0,R.jsx)(`div`,{className:`blk-list-card`,onClick:()=>o(n.id),onKeyDown:e=>{e.key===`Enter`&&o(n.id)},role:t.onActivate===void 0?void 0:`button`,tabIndex:t.onActivate===void 0?void 0:0,children:(0,R.jsx)(Of,{card:t.item,item:n.item,display:`list`})})]}),c.length>0&&(0,R.jsx)(`ol`,{className:`blk-list-nested`,children:c.map((e,i)=>(0,R.jsx)(fp,{block:t,prepared:{id:`${n.id}/${i}`,item:e},depth:r+1,index:i,view:a,activate:o},i))})]})}function pp(e){let t=Ve();if(t.access!==`write`)return null;let n=e.block.checkable;if(n===void 0)return null;let r=Tp(e.prepared.item,n)===!0;return(0,R.jsx)(`input`,{type:`checkbox`,className:`blk-check`,checked:r,onClick:e=>e.stopPropagation(),onChange:()=>{let n=e.block.onCheck;n!==void 0&&t.dispatch({type:`edit`,name:n},{itemId:e.prepared.id,value:!r})}})}function mp(e){let{block:t,group:n,view:r,activate:i}=e,a=`${n.id}:quiet`,o=r.folded.includes(a),s=`${n.id}:collapsed`,c=r.folded.includes(s),l=n.collapsed&&!c;return(0,R.jsxs)(`div`,{className:`blk-list-group`,"data-group":n.id||void 0,children:[n.title!==``&&(0,R.jsx)(`div`,{className:`blk-list-heading`,dir:`auto`,role:n.collapsed?`button`:void 0,tabIndex:n.collapsed?0:void 0,onClick:n.collapsed?()=>r.toggleFold(s):void 0,children:n.title}),!l&&(0,R.jsx)(`ol`,{className:`blk-list-rows`,children:n.buckets.visible.map((e,n)=>(0,R.jsx)(fp,{block:t,prepared:e,depth:0,index:n,view:r,activate:i},e.id))}),!l&&n.buckets.quiet.length>0&&(o?(0,R.jsxs)(`ol`,{className:`blk-list-rows blk-list-quiet`,children:[n.buckets.quiet.map((e,n)=>(0,R.jsx)(fp,{block:t,prepared:e,depth:0,index:n,view:r,activate:i},e.id)),(0,R.jsx)(`button`,{type:`button`,className:`blk-quiet-toggle`,onClick:()=>r.toggleFold(a),children:`Show less`})]}):(0,R.jsxs)(`button`,{type:`button`,className:`blk-quiet-toggle`,onClick:()=>r.toggleFold(a),children:[n.buckets.quiet.length,` more`]}))]})}function hp(e){let t=Bf(e.block),n=$(e.block);return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-list`,"data-display":`list`,children:[(0,R.jsx)(Vf,{block:e.block,selection:t.selection}),e.groups.map((r,i)=>(0,R.jsx)(mp,{block:e.block,group:r,view:t,activate:n},r.id||i))]})}function gp(e){let[t,n]=(0,v.useState)(e.sort),[r,i]=(0,v.useState)(0),[a,o]=(0,v.useState)([]);return{sort:t,page:r,expanded:a,clickSort:e=>{n(t=>zf(t,e)),i(0)},setPage:i,toggleExpanded:e=>{o(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}}}function _p(e,t,n,r){let i=typeof e==`number`?e:void 0,a=typeof t==`number`?t:void 0;if(i!==void 0&&a!==void 0)return i-a;let o=e===void 0?``:N(e,n,r),s=t===void 0?``:N(t,n,r);return o.localeCompare(s)}function vp(e,t,n,r){if(t===void 0)return e;let i=n.find(e=>e.field===t.field),a=t.dir===`asc`?1:-1;return[...e].sort((e,n)=>a*_p(Tp(e.item,t.field),Tp(n.item,t.field),i?.format,r))}function yp(e){let t=F(),n=Tp(e.prepared.item,e.column.field);if(e.column.cell===`meter`)return(0,R.jsx)(`td`,{className:`blk-table-cell`,"data-cell":`meter`,children:(0,R.jsx)(`div`,{className:`blk-meter-track`,children:(0,R.jsx)(`div`,{className:`blk-meter-fill`,style:{inlineSize:`${(typeof n==`number`?Math.min(1,Math.max(0,n)):0)*100}%`}})})});if(e.column.cell===`badge`){let r=n===void 0?``:N(n,e.column.format,t.locale);return(0,R.jsx)(`td`,{className:`blk-table-cell`,"data-cell":`badge`,children:(0,R.jsx)(`span`,{className:`blk-card-badge`,"data-tone":e.itemTone??`neutral`,dir:`auto`,children:r})})}let r=n===void 0?``:N(n,e.column.format,t.locale);return(0,R.jsx)(`td`,{className:`blk-table-cell`,dir:`auto`,children:r})}function bp(e){let t=F(),{block:n,table:r,view:i,activate:a}=e,o=n.columns??[],s=vp(e.items,r.sort,o,t.locale),c=r.page*50,l=s.slice(c,c+50),u=Math.max(1,Math.ceil(s.length/50));return(0,R.jsxs)(`div`,{className:`blk-table-wrap`,children:[(0,R.jsxs)(`table`,{className:`blk-table`,children:[(0,R.jsx)(`thead`,{children:(0,R.jsxs)(`tr`,{children:[n.select!==void 0&&(0,R.jsx)(`th`,{className:`blk-table-select`}),o.map(e=>(0,R.jsx)(`th`,{"data-sortable":e.sortable===!0||void 0,children:e.sortable===!0?(0,R.jsx)(`button`,{type:`button`,className:`blk-table-sort`,"data-field":e.field,"data-dir":r.sort?.field===e.field?r.sort.dir:void 0,onClick:()=>r.clickSort(e.field),children:typeof e.label==`string`?e.label:I(t,e.label)??e.field}):(0,R.jsx)(`span`,{dir:`auto`,children:typeof e.label==`string`?e.label:I(t,e.label)??e.field})},e.field))]})}),(0,R.jsx)(`tbody`,{children:l.map(e=>(0,R.jsxs)(`tr`,{"data-item-id":e.id,onClick:()=>a(e.id),children:[n.select!==void 0&&(0,R.jsx)(`td`,{className:`blk-table-select`,children:(0,R.jsx)(Uf,{checked:i.selection.includes(e.id),onToggle:()=>i.toggleSelect(e.id)})}),o.map(r=>(0,R.jsx)(yp,{column:r,prepared:e,itemTone:xp(n,e,t)},r.field))]},e.id))})]}),u>1&&(0,R.jsxs)(`div`,{className:`blk-table-pager`,children:[(0,R.jsx)(`button`,{type:`button`,disabled:r.page===0,onClick:()=>r.setPage(r.page-1),children:`Previous`}),(0,R.jsxs)(`span`,{children:[`Page `,r.page+1,` of `,u]}),(0,R.jsx)(`button`,{type:`button`,disabled:r.page>=u-1,onClick:()=>r.setPage(r.page+1),children:`Next`})]})]})}function xp(e,t,n){let r=e.item.tone;if(r!==void 0)return typeof r==`string`?r:I({...n,item:t.item},r)}function Sp(e){let t=F(),{block:n,table:r,activate:i}=e,a=n.columns??[],o=a.filter(e=>e.priority!==`low`),s=a.filter(e=>e.priority===`low`),c=vp(e.items,r.sort,a,t.locale),l=r.page*50,u=c.slice(l,l+50);return(0,R.jsx)(`div`,{className:`blk-table-compact`,"data-block":`table-compact`,children:u.map(e=>{let a=r.expanded.includes(e.id);return(0,R.jsxs)(`div`,{className:`blk-table-card`,"data-item-id":e.id,children:[(0,R.jsx)(`div`,{onClick:()=>i(e.id),children:(0,R.jsx)(Of,{card:n.item,item:e.item,display:`table`})}),o.length>0&&(0,R.jsx)(`dl`,{className:`blk-table-high`,children:o.map(n=>(0,R.jsxs)(`div`,{className:`blk-table-field`,children:[(0,R.jsx)(`dt`,{dir:`auto`,children:typeof n.label==`string`?n.label:n.field}),(0,R.jsx)(`dd`,{dir:`auto`,children:N(Tp(e.item,n.field)??``,n.format,t.locale)})]},n.field))}),s.length>0&&(0,R.jsxs)(`div`,{className:`blk-table-low`,children:[(0,R.jsx)(`button`,{type:`button`,className:`blk-table-expand`,"aria-expanded":a,onClick:t=>{t.stopPropagation(),r.toggleExpanded(e.id)},children:a?`Less`:`More`}),a&&(0,R.jsx)(`dl`,{className:`blk-table-low-fields`,children:s.map(n=>(0,R.jsxs)(`div`,{className:`blk-table-field`,children:[(0,R.jsx)(`dt`,{dir:`auto`,children:typeof n.label==`string`?n.label:n.field}),(0,R.jsx)(`dd`,{dir:`auto`,children:N(Tp(e.item,n.field)??``,n.format,t.locale)})]},n.field))})]})]},e.id)})})}function Cp(e){let t=Bf(e.block),n=gp(e.block),r=$(e.block),i=z(),a=e.groups.flatMap(e=>[...e.buckets.visible,...e.buckets.quiet]);return(0,R.jsxs)(`div`,{className:`blk blk-collection blk-table-block`,"data-display":`table`,children:[(0,R.jsx)(Vf,{block:e.block,selection:t.selection}),i===`compact`?(0,R.jsx)(Sp,{block:e.block,items:a,table:n,view:t,activate:r}):(0,R.jsx)(bp,{block:e.block,items:a,table:n,view:t,activate:r})]})}function wp(e){let t=I(F(),e.items);return t===void 0||!Array.isArray(t)?[]:t.map((e,t)=>({id:If(e,t),item:e}))}function Tp(e,t){if(typeof e==`object`&&e&&!Array.isArray(e))return e[t]}function Ep(e,t){let n=e.item.quiet;return n===void 0?!1:typeof n==`object`&&`$`in n&&typeof n.$==`string`?I({data:{},item:n.$.startsWith(`./`)?t.item:void 0,locale:`en`},n)===!0:n===!0}function Dp(e,t){let n=[],r=[];for(let i of t)Ep(e,i)?r.push(i):n.push(i);return{visible:n,quiet:r}}function Op(e,t){if(e.groupBy===void 0)return[{id:``,title:``,collapsed:!1,buckets:Dp(e,t)}];let n=new Map;for(let r of t){let t=Tp(r.item,e.groupBy),i=typeof t==`string`?t:String(t??``),a=n.get(i)??[];a.push(r),n.set(i,a)}let r=new Map((e.groups??[]).map(e=>[e.id,e])),i=[];for(let t of e.groups??[]){let r=n.get(t.id)??[];n.delete(t.id),i.push({id:t.id,title:typeof t.title==`string`?t.title:t.id,collapsed:t.collapsed===!0,buckets:Dp(e,r)})}for(let t of[...n.keys()].sort())i.push({id:t,title:r.get(t)?.id??t,collapsed:!1,buckets:Dp(e,n.get(t)??[])});return i}function kp(e){let t=e.block,n=Op(t,wp(t));switch(t.display){case`list`:return(0,R.jsx)(hp,{block:t,groups:n});case`table`:return(0,R.jsx)(Cp,{block:t,groups:n});case`grid`:return(0,R.jsx)(tp,{block:t,groups:n});case`lanes`:return(0,R.jsx)(cp,{block:t,groups:n});case`calendar`:return(0,R.jsx)(Zf,{block:t,groups:n})}}function Ap(e,t){if(e===void 0||t===void 0)return`accent`;let n;for(let r of t)r.at<=e&&(n===void 0||r.at>n.at)&&(n=r);return n?.tone??`accent`}function jp(e,t,n){if(n===t)return 0;let r=(e-t)/(n-t);return Math.min(1,Math.max(0,r))}function Mp(e){let t=F(),n=e.block,r=n.min??0,i=n.max??1,a=I(t,n.value),o=Ap(a,n.thresholds),s=L(t,n.label),c=a===void 0?0:jp(a,r,i),l=a===void 0?``:N(a,n.format,t.locale);return(0,R.jsxs)(`div`,{className:`blk blk-meter`,"data-block":`meter`,"data-tone":o,children:[(s!==``||l!==``)&&(0,R.jsxs)(`div`,{className:`blk-meter-head`,children:[s!==``&&(0,R.jsx)(`span`,{className:`blk-meter-label`,dir:`auto`,children:s}),l!==``&&(0,R.jsx)(`span`,{className:`blk-meter-value`,children:l})]}),(0,R.jsx)(`div`,{className:`blk-meter-track`,role:`meter`,"aria-valuemin":r,"aria-valuemax":i,"aria-valuenow":a??void 0,"aria-label":s===``?void 0:s,children:(0,R.jsx)(`div`,{className:`blk-meter-fill`,style:{width:`${c*100}%`}})})]})}function Np(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`&&typeof e.label==`string`):[]}function Pp(e){let t=Np(I(F(),e.block.nodes));return(0,R.jsx)(`div`,{className:`blk blk-tree`,"data-block":`tree`,role:`tree`,children:t.map((t,n)=>(0,R.jsx)(Fp,{node:t,index:n,depth:0,onExpand:e.block.onExpand,onActivate:e.block.onActivate},t.id))})}function Fp(e){let{node:t,depth:n,onExpand:r,onActivate:i}=e,a=Ve(),o=t.children??[],[s,c]=(0,v.useState)(o.length>0),l=o.length>0||t.hasChildren===!0;function u(){if(o.length===0&&t.hasChildren===!0){r!==void 0&&!s&&a.dispatch({type:`edit`,name:r},{id:t.id}),c(!s);return}c(!s)}function d(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())}return(0,R.jsxs)(`div`,{className:`blk-tree-node`,"data-depth":n,role:`none`,children:[(0,R.jsxs)(`div`,{className:`blk-tree-row`,"data-node-label":t.label,role:`treeitem`,"aria-level":n+1,"aria-selected":!1,onClick:()=>{i!==void 0&&a.dispatch(i,{id:t.id})},children:[(0,R.jsx)(`button`,{type:`button`,className:`blk-tree-toggle`,"aria-expanded":l?s:void 0,"aria-label":`Toggle ${t.label}`,disabled:!l,onClick:e=>{e?.stopPropagation(),u()},onKeyDown:d,style:{marginLeft:`${n*1.1}rem`},children:l?(0,R.jsx)(Ip,{open:s}):(0,R.jsx)(`span`,{className:`blk-tree-dot`})}),t.icon!==void 0&&(0,R.jsx)(gd,{name:t.icon}),(0,R.jsx)(`span`,{className:`blk-tree-label`,dir:`auto`,children:t.label})]}),s&&o.length>0&&(0,R.jsx)(`div`,{className:`blk-tree-children`,role:`group`,children:o.map((e,t)=>(0,R.jsx)(Fp,{node:e,index:t,depth:n+1,onExpand:r,onActivate:i},e.id))}),s&&o.length===0&&t.hasChildren===!0&&(0,R.jsx)(`div`,{className:`blk-tree-pending`,style:{marginLeft:`${(n+1)*1.1}rem`},children:`…`})]})}function Ip(e){return(0,R.jsx)(`svg`,{className:`blk-tree-caret`,"data-open":e.open,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,R.jsx)(`path`,{d:`m9 18 6-6-6-6`})})}var Lp={s:16,m:24,l:32},Rp={s:.5,m:1,l:1.5};function zp(e){let t=e.block.gap??`m`;return(0,R.jsx)(`div`,{className:`blk blk-stack`,"data-block":`stack`,style:{gap:`${Rp[t]}rem`},children:e.children})}function Bp(e){let t=Qe(),n=z(),r=e.block.children.reduce((e,t)=>e+(t.minWidth===void 0?0:Lp[t.minWidth]),0),i=n===`compact`||t!==null&&r>t;return(0,R.jsx)(`div`,{className:`blk blk-columns`,"data-block":`columns`,"data-stacked":i,children:e.block.children.map((t,n)=>(0,R.jsx)(`div`,{className:`blk-column`,style:i?void 0:{flexGrow:t.weight??1,flexBasis:0},children:e.render(t.block)},n))})}function Vp(e){let t=Qe(),n=z()===`compact`||t!==null&&Lp[e.block.minItemWidth]>t?`1fr`:`repeat(auto-fill, minmax(${Lp[e.block.minItemWidth]}rem, 1fr))`;return(0,R.jsx)(`div`,{className:`blk blk-grid`,"data-block":`grid`,style:{gridTemplateColumns:n},children:e.block.children.map((t,n)=>(0,R.jsx)(`div`,{className:`blk-grid-item`,"data-span":t.span??1,style:{gridColumn:Hp(t.span)},children:e.render(t.block)},n))})}function Hp(e){if(e!==void 0)return e===`full`?`1 / -1`:`span ${e}`}function Up(e){let t=F(),n=L(t,e.block.title),r=L(t,e.block.subtitle),i=I(t,e.block.tone),a=typeof i==`string`?i:`neutral`,o=e.block.collapsible??!1,[s,c]=(0,v.useState)(!(e.block.collapsed??!1)),l=!o||s;return(0,R.jsxs)(`section`,{className:`blk blk-section`,"data-block":`section`,"data-tone":a,children:[(n!==``||r!==``||o)&&(0,R.jsxs)(`div`,{className:`blk-section-head`,children:[o?(0,R.jsxs)(`button`,{type:`button`,className:`blk-section-toggle`,"aria-expanded":l,onClick:()=>{c(!s)},children:[(0,R.jsx)(`span`,{className:`blk-section-caret`,"aria-hidden":`true`,children:l?`▾`:`▸`}),n!==``&&(0,R.jsx)(`span`,{className:`blk-section-title`,dir:`auto`,style:vd(a),children:n})]}):n!==``&&(0,R.jsx)(`div`,{className:`blk-section-title`,dir:`auto`,style:vd(a),children:n}),r!==``&&(0,R.jsx)(`div`,{className:`blk-section-subtitle`,dir:`auto`,children:r})]}),l&&(0,R.jsx)(`div`,{className:`blk-section-body`,children:e.children})]})}var Wp=`Not supported in this client`;function Gp(e,t){return e===void 0||e!==`atLeast:regular`||t!==`compact`}function Kp(e){let t=e.block,n=z();return Gp(t.visibleAt,n)?qp(t,e.interaction===!0):null}function qp(e,t=!1){switch(e.type){case`stack`:return(0,R.jsx)(zp,{block:e,children:e.children.map((e,n)=>(0,R.jsx)(Kp,{block:e,interaction:t},n))});case`columns`:return(0,R.jsx)(Bp,{block:e,render:Yp});case`grid`:return(0,R.jsx)(Vp,{block:e,render:Yp});case`section`:return(0,R.jsx)(Up,{block:e,children:e.children.map((e,n)=>Jp(e)?(0,R.jsx)(Kp,{block:e,interaction:t},n):null)});case`markdown`:return(0,R.jsx)(bd,{block:e});case`fields`:return(0,R.jsx)(Sd,{block:e});case`stat`:return(0,R.jsx)(wd,{block:e});case`callout`:return(0,R.jsx)(Td,{block:e});case`image`:return(0,R.jsx)(Ed,{block:e});case`diff`:return(0,R.jsx)(Dd,{block:e});case`details`:return(0,R.jsx)(kd,{block:e});case`collection`:return(0,R.jsx)(kp,{block:e});case`chart`:return(0,R.jsx)(ut,{block:e});case`meter`:return(0,R.jsx)(Mp,{block:e});case`log`:return(0,R.jsx)(Ld,{block:e});case`tree`:return(0,R.jsx)(Pp,{block:e});case`form`:return(0,R.jsx)(Cf,{block:e,interaction:t});case`page`:return(0,R.jsx)(Ud,{block:e});default:{let t=e;return(0,R.jsxs)(`div`,{className:`blk blk-unsupported`,dir:`auto`,children:[t.fallback!==void 0&&t.fallback!==``&&(0,R.jsx)(`p`,{children:t.fallback}),(0,R.jsx)(`p`,{className:`blk-unsupported-note`,children:Wp})]})}}}function Jp(e){return!new Set([`text`,`longtext`,`number`,`toggle`,`choice`,`date`,`datetime`,`daterange`,`secret`,`file`,`list`]).has(e.type)}function Yp(e){return(0,R.jsx)(Kp,{block:e})}function Xp(e){return{dispatch:t=>{t.type===`navigate`&&t.target!==void 0&&e?.(t.target)},access:`read`,viewState:{},serverErrors:{},setView:()=>{}}}var Zp={};function Qp(e,t,n){if(e.item.quiet===void 0){let r=t.slice(0,n),i=t.length-r.length;return{type:`stack`,children:[{...e,items:[...r]},{type:`markdown`,text:`${i} more`}]}}let r=t.slice(0,n),i=t.slice(n).map(e=>typeof e==`object`&&e&&!Array.isArray(e)?{...e,quiet:!0}:e);return{...e,items:[...r,...i]}}function $p(e,t){if(e.place!==`panel`||t.type!==`collection`||!Array.isArray(t.items))return t;let n=e.maxRows;if(n===void 0||t.items.length<=n)return t;let r=t.items.length-n;return e.overflow===`summarize`?{type:`stack`,children:[{...t,items:t.items.slice(0,n)},{type:`markdown`,text:`${r} rows`}]}:e.overflow===`wrap`?t:Qp(t,t.items,n)}function em(e){let t=e.surface.body,n=(0,v.useMemo)(()=>Xp(e.onNavigate),[e.onNavigate]);if(t===void 0)return null;let r=$p(e.surface,t.root);return(0,R.jsx)(ze.Provider,{value:{data:Zp,locale:navigator.language},children:(0,R.jsx)(Be.Provider,{value:n,children:(0,R.jsx)(Xe,{children:(0,R.jsx)(Kp,{block:r})})})})}function tm(e){let{surface:t}=e;return t.body===void 0&&t.details===void 0?null:(0,R.jsxs)(`div`,{className:`ambient-surface`,"data-key":t.key,"data-place":t.place,children:[(0,R.jsx)(em,{surface:t,onNavigate:e.onNavigate}),t.details!==void 0&&(0,R.jsxs)(`details`,{className:`ambient-details`,children:[(0,R.jsx)(`summary`,{children:`details`}),(0,R.jsx)(`pre`,{children:JSON.stringify(t.details,null,2)})]})]})}function nm(e){let{surfaces:t}=e;return t.length===0?null:(0,R.jsx)(`div`,{className:`ambient-panels`,children:t.map(t=>(0,R.jsx)(tm,{surface:t,onNavigate:e.onNavigate},t.key))})}function rm(e,t=Date.now()){let n=Date.parse(e);if(Number.isNaN(n))return``;let r=Math.max(0,Math.floor((t-n)/1e3));if(r<45)return`just now`;let i=Math.floor(r/60);if(i<60)return`${i} min`;let a=Math.floor(i/60);return a<48?`${a} h`:`${Math.floor(a/24)} d`}function im(e){let{notice:t}=e,n=e.result??null,[r,i]=(0,v.useState)(!1),a=r,o=n=>{if(n.kind===`extension`){if(n.confirm!==void 0&&!globalThis.confirm?.(n.confirm))return;i(!0),e.run(t,n,e.onNavigate).finally(()=>i(!1));return}e.run(t,n,e.onNavigate)};return(0,R.jsxs)(`div`,{className:`notice-card notice-tone-${t.tone??`neutral`}`,"data-notice-id":t.id,...e.domId===void 0?{}:{id:e.domId},children:[(0,R.jsxs)(`div`,{className:`notice-card-row`,children:[(0,R.jsx)(`strong`,{className:`notice-card-title`,children:t.title}),(0,R.jsx)(`button`,{type:`button`,className:`notice-card-close`,"aria-label":`dismiss notice`,onClick:()=>e.dismiss(t.id),children:`✕`})]}),t.body!==void 0&&(0,R.jsx)(`p`,{className:`notice-card-body`,children:t.body}),(0,R.jsxs)(`p`,{className:`notice-card-meta`,children:[t.owner,t.conversationId!==void 0&&(0,R.jsxs)(R.Fragment,{children:[` · `,(0,R.jsx)(`button`,{type:`button`,className:`notice-card-conversation`,onClick:()=>e.onNavigate({conversation:t.conversationId}),children:e.conversationName??`conversation ${t.conversationId}`})]}),` · `,rm(t.at)]}),(t.actions??[]).length>0&&(0,R.jsx)(`div`,{className:`notice-card-actions`,children:(t.actions??[]).map(e=>(0,R.jsx)(`button`,{type:`button`,className:`notice-card-action`,disabled:a,onClick:()=>o(e),children:e.label},e.id))}),n!==null&&(0,R.jsx)(`p`,{className:`notice-card-result`,role:`status`,children:n})]})}function am(e){if(e.notices.length===0)return null;let t=e.notices.slice(0,3),n=e.notices.length-t.length;return(0,R.jsxs)(`div`,{className:`inline-notices`,children:[t.map(t=>(0,R.jsx)(im,{notice:t,result:e.results?.[t.id]??null,run:e.run,dismiss:e.dismiss,onNavigate:e.onNavigate},t.id)),n>0&&(0,R.jsxs)(`button`,{type:`button`,className:`inline-notices-more`,onClick:()=>e.onOpenPane(),children:[n,` more`]})]})}function om(e){let t=!1;return{load(){return Promise.resolve({tree:e.tree,data:e.data,rev:0,treeRev:0,access:e.access})},fetchData(){return Promise.resolve({rev:0,treeRev:0,data:e.data})},async act(n){if(n.type!==`submit`||n.action!==e.submitAction)return{ok:!0,rev:0};if(t)return{ok:!1,error:{message:`already answered`}};let r=n.payload,i=typeof r==`object`&&r&&!Array.isArray(r)&&typeof r.values==`object`&&r.values!==null?r.values:{};try{await e.answer({values:i})}catch(t){let n=t instanceof Error?t.message:String(t);return e.onSettledElsewhere?.(n),{ok:!1,error:{message:n}}}return t=!0,e.onAnswered?.(),{ok:!0,rev:1}},upload(e){return Promise.reject(Error(`interaction surfaces do not accept uploads`))},image(){return Promise.reject(Error(`interaction surfaces have no image route`))},onChanged(e){return()=>{}}}}function sm(e){return e.answer===void 0?{}:{values:{...e.answer.values}}}function cm(e){let{conversationId:t,interaction:n,client:r,onAnswered:i,onError:a}=e,[o,s]=(0,v.useState)(void 0),c=o??n,l=c.status===`pending`&&o===void 0,[u,d]=(0,v.useState)(!1),f=(0,v.useMemo)(()=>c.body===void 0?void 0:om({conversationId:t,callId:c.callId,tree:c.body,data:sm(c),access:l?`write`:`read`,submitAction:um(c.body),answer:e=>r.answerInteraction(t,c.callId,e).then(()=>void 0),onAnswered:()=>i?.(c.callId),onSettledElsewhere:e=>{r.getInteraction(t,c.callId).then(t=>{if(t.status===`pending`){a?.(e);return}s(t)}).catch(()=>a?.(e))}}),[c,t,r,l,i,a]);return(0,R.jsxs)(`div`,{className:`interaction-card`,"data-kind":c.kind,children:[(0,R.jsxs)(`div`,{className:`interaction-card-title`,children:[(0,R.jsx)(`span`,{className:`interaction-kind`,children:c.kind}),c.expiresAt!==void 0&&l&&(0,R.jsx)(`span`,{className:`interaction-expiry`,children:`expires`}),!l&&(0,R.jsx)(`span`,{className:`interaction-status`,"data-status":c.status,children:c.status===`skipped`&&c.declinedVia!==void 0?c.declinedVia===`message`?`Declined — replied in chat`:`Declined`:c.status}),l&&c.declinable===!0&&(0,R.jsx)(`button`,{type:`button`,className:`interaction-decline`,disabled:u,onClick:()=>{l&&c.declinable===!0&&!u&&(d(!0),r.declineInteraction(t,c.callId).then(()=>{s({...c,status:`skipped`,settledAt:Date.now(),declinedVia:`button`}),i?.(c.callId)}).catch(e=>{d(!1);let n=e instanceof Error?e.message:String(e);r.getInteraction(t,c.callId).then(e=>{if(e.status===`pending`){a?.(n);return}s(e)}).catch(()=>a?.(n))}))},children:`Decline`})]}),f!==void 0&&c.body!==void 0&&(0,R.jsx)(lm,{record:c,transport:f,access:l?`write`:`read`}),c.details!==void 0&&(0,R.jsxs)(`details`,{className:`interaction-details`,children:[(0,R.jsx)(`summary`,{children:`details`}),(0,R.jsx)(`pre`,{children:JSON.stringify(c.details,null,2)})]})]})}function lm(e){let t=e.record.body,n=(0,v.useMemo)(()=>({dispatch:(t,n)=>{let r=`name`in t?t.name:t.type;e.transport.act({action:r,type:t.type,payload:n,actionId:`answer-${Date.now()}`})},access:e.access,viewState:{},serverErrors:{},setView:()=>{}}),[e.transport,e.access]);return(0,R.jsx)(ze.Provider,{value:{data:sm(e.record),locale:navigator.language},children:(0,R.jsx)(Be.Provider,{value:n,children:(0,R.jsx)(Xe,{children:(0,R.jsx)(Kp,{block:t.root,interaction:!0})})})})}function um(e){let t=e.root;return t.type===`form`?t.onSubmit??`submit`:`submit`}function dm(e){let{conversationId:t,interactions:n,client:r,onAnswered:i,onError:a}=e;return t===null||n.length===0?null:(0,R.jsx)(`div`,{className:`interaction-cards`,children:n.map(e=>(0,R.jsx)(cm,{conversationId:t,interaction:e,client:r,onAnswered:i,onError:a},e.callId))})}function fm(e){return(0,R.jsx)(`svg`,{className:e.className,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.7,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:e.children})}function pm(e){return(0,R.jsxs)(`svg`,{className:e.className,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.9,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,R.jsx)(`path`,{d:`M4 16c3.2-1.4 6.9-4.6 8.4-8.4l.6 2.2 2.2.6`}),(0,R.jsx)(`path`,{d:`M8.5 18.5c2.7-1.5 5.4-4.4 6.6-7.4l1.5 1.2 1.9-.3`})]})}function mm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z`})})}function hm(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`}),(0,R.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`}),(0,R.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`}),(0,R.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`})]})}function gm(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,R.jsx)(`path`,{d:`M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z`})]})}function _m(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M4 6h16M4 12h16M4 18h16`})})}function vm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11M4 6h.01M4 12h.01M4 18h.01`})})}function ym(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,R.jsx)(`path`,{d:`M15 4v16`})]})}function bm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M12 5v14M5 12h14`})})}function xm(e){return(0,R.jsxs)(`svg`,{className:e.className,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,R.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1.6`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1.6`}),(0,R.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1.6`})]})}function Sm(e){return(0,R.jsx)(fm,{...e,children:(0,R.jsx)(`path`,{d:`M12 19V5M5 12l7-7 7 7`})})}function Cm(e){return(0,R.jsxs)(fm,{...e,children:[(0,R.jsx)(`path`,{d:`M14 4h4a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-4`}),(0,R.jsx)(`path`,{d:`M4 12h10M10 8l4 4-4 4`})]})}function wm(){return globalThis.document}function Tm(e,t){return t.some(t=>{let n=t.current;return n!==null&&n.contains(e)})}function Em(e,t,...n){(0,v.useEffect)(()=>{if(!e)return;let r=wm();if(r===void 0)return;let i=e=>{let r=e.target;r!=null&&(Tm(r,n)||t())},a=e=>{e.key===`Escape`&&t()};return r.addEventListener(`pointerdown`,i),r.addEventListener(`keydown`,a),()=>{r.removeEventListener(`pointerdown`,i),r.removeEventListener(`keydown`,a)}},[e])}function Dm(e){let{models:t,current:n,disabled:r,onPick:i}=e,[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(0),l=(0,v.useRef)(null);if(Em(a,()=>o(!1),l),t.length<=1)return null;let u=t.find(e=>e.id===n)?.name??n??`model`,d=Math.max(0,t.findIndex(e=>e.id===n));function f(){c(d),o(!0)}async function p(e){o(!1),await i(e)}function m(e){if(!a){(e.key===`Enter`||e.key===` `||e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),f());return}switch(e.key){case`Escape`:e.preventDefault(),o(!1);break;case`ArrowDown`:e.preventDefault(),c(e=>(e+1)%t.length);break;case`ArrowUp`:e.preventDefault(),c(e=>(e-1+t.length)%t.length);break;case`Enter`:case` `:e.preventDefault(),p(t[s]?.id??t[0].id);break;case`Tab`:o(!1)}}return(0,R.jsxs)(`span`,{className:`composer-picker composer-picker-model`,ref:l,children:[(0,R.jsxs)(`button`,{type:`button`,className:`composer-pill`,"data-picker":`model`,title:`Model: ${u}`,"aria-haspopup":`listbox`,"aria-expanded":a,"aria-activedescendant":a?`composer-model-option-${s}`:void 0,disabled:r,onClick:()=>a?o(!1):f(),onKeyDown:m,children:[(0,R.jsx)(`span`,{className:`composer-pill-label`,children:u}),(0,R.jsx)(`span`,{className:`composer-pill-caret`,"aria-hidden":`true`,children:`▾`})]}),a&&(0,R.jsx)(`ul`,{className:`composer-picker-menu`,role:`listbox`,"aria-label":`models`,children:t.map((e,t)=>(0,R.jsxs)(`li`,{id:`composer-model-option-${t}`,role:`option`,"aria-selected":e.id===n,"data-model-id":e.id,"data-highlighted":t===s||void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>void p(e.id),children:[e.id===n&&(0,R.jsx)(`span`,{className:`composer-picker-check`,"aria-hidden":`true`,children:`✓`}),(0,R.jsx)(`span`,{className:`composer-picker-name`,children:e.name}),(0,R.jsx)(`span`,{className:`composer-picker-id`,children:e.id})]},e.id))})]})}var Om=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`];function km(e){let{current:t,onPick:n}=e,[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(0),s=(0,v.useRef)(null);Em(r,()=>i(!1),s);function c(){let e=Om.indexOf(t??``);o(e===-1?0:e),i(!0)}async function l(e){i(!1),await n(e)}function u(e){if(!r){(e.key===`Enter`||e.key===` `||e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),c());return}switch(e.key){case`Escape`:e.preventDefault(),i(!1);break;case`ArrowDown`:e.preventDefault(),o(e=>(e+1)%Om.length);break;case`ArrowUp`:e.preventDefault(),o(e=>(e-1+Om.length)%Om.length);break;case`Enter`:case` `:e.preventDefault(),l(Om[a]??Om[0]);break;case`Tab`:i(!1)}}let d=t??`default`;return(0,R.jsxs)(`span`,{className:`composer-picker`,ref:s,children:[(0,R.jsxs)(`button`,{type:`button`,className:`composer-pill`,"data-picker":`thinking`,title:`Thinking: ${d}`,"aria-haspopup":`listbox`,"aria-expanded":r,"aria-activedescendant":r?`composer-thinking-option-${a}`:void 0,onClick:()=>r?i(!1):c(),onKeyDown:u,children:[(0,R.jsx)(`span`,{className:`composer-pill-prefix`,children:`Thinking: `}),(0,R.jsx)(`span`,{className:`composer-pill-label`,children:d}),(0,R.jsx)(`span`,{className:`composer-pill-caret`,"aria-hidden":`true`,children:`▾`})]}),r&&(0,R.jsx)(`ul`,{className:`composer-picker-menu`,role:`listbox`,"aria-label":`thinking levels`,children:Om.map((e,n)=>(0,R.jsxs)(`li`,{id:`composer-thinking-option-${n}`,role:`option`,"aria-selected":e===t,"data-thinking-level":e,"data-highlighted":n===a||void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>void l(e),children:[e===t&&(0,R.jsx)(`span`,{className:`composer-picker-check`,"aria-hidden":`true`,children:`✓`}),e]},e))})]})}function Am(e,t,n){let r=n?.debounceMs??500,[i,a]=(0,v.useState)(``),[o,s]=(0,v.useState)([]),c=(0,v.useRef)(null),l=(0,v.useRef)(i);l.current=i;let u=(0,v.useRef)(o);u.current=o;let d=(0,v.useRef)(0),f=(0,v.useRef)(!1),p=(0,v.useRef)({client:e,conversationId:t});p.current={client:e,conversationId:t};let m=(0,v.useRef)(n?.onError);m.current=n?.onError;let h=(0,v.useCallback)((e,t)=>{p.current.client.patchConversationMeta(e,{draft:{text:t}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))})},[]),g=(0,v.useCallback)((e,t)=>{p.current.client.patchConversationMeta(e,{draft:{attachments:[...t]}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))})},[]),_=(0,v.useRef)(!1);return(0,v.useEffect)(()=>{let r=!1,i=()=>{r=!0,c.current!==null&&(clearTimeout(c.current),c.current=null,f.current&&t!==null&&e.patchConversationMeta(t,{draft:{text:l.current}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))}))};if(t!==null&&_.current&&(l.current!==``||u.current.length>0))return c.current!==null&&(clearTimeout(c.current),c.current=null),f.current=!1,h(t,l.current),g(t,u.current),i;if(_.current=!1,a(``),l.current=``,s([]),u.current=[],f.current=!1,t===null)return i;let o=d.current;return e.getConversationMeta(t).then(e=>{r||o===d.current&&(a(e.draft.text),l.current=e.draft.text,s(e.draft.attachments),u.current=e.draft.attachments)}).catch(e=>{r||n?.onError?.(e instanceof Error?e.message:String(e))}),i},[e,t]),{text:i,setText:(0,v.useCallback)(e=>{d.current+=1,a(e),l.current=e,f.current=!0,_.current=t===null,t!==null&&(c.current!==null&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,f.current=!1,h(p.current.conversationId,l.current)},r))},[t,r,h]),clear:(0,v.useCallback)((e=!1)=>{if(a(``),l.current=``,s([]),u.current=[],d.current+=1,f.current=!1,_.current=!1,c.current!==null&&(clearTimeout(c.current),c.current=null),e){let e=p.current.conversationId;e!==null&&p.current.client.patchConversationMeta(e,{draft:{text:``,attachments:[]}}).catch(e=>{m.current?.(e instanceof Error?e.message:String(e))})}},[]),attachments:o,addAttachment:(0,v.useCallback)(e=>{if(u.current.includes(e))return;let t=[...u.current,e];d.current+=1,u.current=t,s(t);let n=p.current.conversationId;n!==null&&g(n,t)},[g]),removeAttachment:(0,v.useCallback)(e=>{if(!u.current.includes(e))return;let t=u.current.filter(t=>t!==e);d.current+=1,u.current=t,s(t);let n=p.current.conversationId;n!==null&&g(n,t)},[g])}}function jm(e){if(e===null)return null;let t=e.docs[`pi.agent`];return t?.model===void 0?null:`${t.model.provider}/${t.model.modelId}`}function Mm(e,t){if(e===null||t===void 0)return null;let n=e.docs[`pi.usage`]?.models?.[t.id];if(n===void 0||t.contextWindow<=0)return null;let r=(n.input??0)+(n.output??0)+(n.cacheRead??0)+(n.cacheWrite??0);return{used:r,window:t.contextWindow,fraction:Math.max(0,Math.min(1,r/t.contextWindow))}}var Nm={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,bmp:`image/bmp`,svg:`image/svg+xml`,avif:`image/avif`};function Pm(e){let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function Fm(e){if(!e.startsWith(`/`))return{name:``,args:``};let t=e.slice(1),n=t.search(/\s/);return n===-1?{name:t,args:``}:{name:t.slice(0,n),args:t.slice(n+1).trim()}}function Im(e,t){let n=globalThis.document;if(n===void 0||typeof n.createElement!=`function`)return;let r=n.createElement(`a`);r.href=URL.createObjectURL(new Blob([t],{type:`application/x-ndjson`})),r.download=`conversation-${e}.jsonl`,r.click(),URL.revokeObjectURL(r.href)}function Lm(e){let t=e.split(`
43
43
  `);return(t[t.length-1]===``?t.slice(0,-1):t).length}function Rm(e,t){return e.startsWith(`skill:`)?!0:t.find(t=>t.name===e)?.kind===`expand`}function zm(e){let t=Pm(e),n=t.lastIndexOf(`.`),r=Nm[n===-1?``:t.slice(n+1).toLowerCase()];return r===void 0?{type:`file`,path:e}:{type:`image`,path:e,mime:r}}function Bm(e){let t=e.used===null||e.window===null||e.window<=0?null:Math.max(0,Math.min(1,e.used/e.window)),n=t===null?null:Math.round(t*100),r=2*Math.PI*9,i=t===null?0:t*r;return(0,R.jsxs)(`span`,{className:`composer-ring`,"data-usage-percent":n===null?void 0:n,title:e.used===null||e.window===null?`context usage unknown`:`${e.used} / ${e.window} tokens`,children:[(0,R.jsxs)(`svg`,{width:`24`,height:`24`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:9,className:`composer-ring-track`}),(0,R.jsx)(`circle`,{cx:`12`,cy:`12`,r:9,className:`composer-ring-fill`,strokeDasharray:`${i} ${r}`,transform:`rotate(-90 12 12)`})]}),n!==null&&(0,R.jsxs)(`span`,{className:`composer-ring-label`,children:[n,`%`]})]})}function Vm(e){let{client:t,conversationId:n,view:r,onNavigate:i,onOpenSettings:a,enterToSend:o=!1,readOnly:s=!1}=e,c=Am(t,n),[l,u]=(0,v.useState)([]),[d,f]=(0,v.useState)(null),[p,m]=(0,v.useState)(null),[h,g]=(0,v.useState)(null),[_,y]=(0,v.useState)(null),[b,x]=(0,v.useState)(!1),S=(0,v.useRef)(!1),C=(0,v.useRef)(null),[w,T]=(0,v.useState)(!1),[E,D]=(0,v.useState)([]),[ee,te]=(0,v.useState)(0),[ne,re]=(0,v.useState)([]),ie=(0,v.useRef)(null),ae=e=>{e.style!==void 0&&e.style!==null&&(e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`)};(0,v.useEffect)(()=>{ie.current!==null&&ae(ie.current)},[c.text]);let[oe,O]=(0,v.useState)([]);(0,v.useEffect)(()=>{let e=!1;return t.listCommands().then(t=>{e||D(t.commands)}).catch(()=>void 0),()=>{e=!0}},[t]);let se=(0,v.useRef)({client:t,id:n});se.current={client:t,id:n};let ce=()=>{let e=se.current;e.id!==null&&e.client.listInteractions(e.id).then(e=>re((e.interactions??[]).filter(e=>e.status===`pending`))).catch(()=>void 0)};(0,v.useEffect)(()=>{if(n===null){re([]);return}let e=!1;return t.listInteractions(n).then(t=>{e||re((t.interactions??[]).filter(e=>e.status===`pending`))}).catch(()=>void 0),()=>{e=!0}},[t,n,r]),(0,v.useEffect)(()=>{if(n===null){O([]);return}let e=!1;return t.listAmbient(n).then(t=>{e||O(t.ambient??[])}).catch(()=>void 0),()=>{e=!0}},[t,n,r]),(0,v.useEffect)(()=>{let e=!1;return t.listModels().then(t=>{e||u(t.models)}).catch(t=>{e||g(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t]);let le=jm(r);(0,v.useEffect)(()=>{le!==null&&f(le)},[le]);let ue=d??le??l[0]?.id??null,de=r?.steer.busy??!1,fe=r?.steer.queued??0,pe=Mm(r,l.find(e=>e.id===ue));async function me(e){if(!(n===null||w)){T(!0),g(null);try{for(let r of e){let e=await t.upload(n,r);c.addAttachment(e.path)}}catch(e){g(e instanceof Error?e.message:String(e))}finally{T(!1)}}}function he(e){let t=e.target.files,n=t===null?[]:Array.from(t);e.target.value=``,n.length!==0&&me(n)}let ge=n!==null&&/^\/\S*$/.test(c.text)?c.text.slice(1):null,_e=ge===null?[]:E.filter(e=>e.name.startsWith(ge)),ve=ge!==null&&E.length>0,ye=Math.min(ee,Math.max(0,_e.length-1));function k(e){if(e.kind===`expand`||e.argsHint!==void 0){te(0),c.setText(`/${e.name} `);return}A(e.name,``)}async function A(e,r,o=E){let s=o.find(t=>t.name===e);if(s===void 0){g(`unknown command: /${e}`),y(null);return}let l=e=>{g(`usage: /${s.name} ${e}`),y(null)};if(s.name===`settings`){a?.(),y(null),c.clear(!0);return}if(n!==null){switch(s.name){case`name`:if(r===``)return l(s.argsHint??`<name>`);break;case`settings`:break;case`import`:if(r===``)return l(s.argsHint??`<jsonl>`);break;case`model`:if(r===``||!r.includes(`/`))return l(s.argsHint??`<provider/model>`);break;case`thinking`:if(r===``||!Om.includes(r))return l(`<level: ${Om.join(` | `)}>`);break;case`fork`:if(r!==``&&Number.isNaN(Number(r)))return l(`[at] — an entry id number`)}x(!0),g(null),y(null);try{switch(s.name){case`new`:{let e=await t.createConversation();i?.(e.id),y(`started conversation ${e.id}`);break}case`fork`:{let e=await t.fork(n,r===``?void 0:Number(r));i?.(e.id),y(`forked to conversation ${e.id}`);break}case`compact`:await t.compact(n,r===``?void 0:r),y(`compaction admitted`);break;case`export`:{let e=await t.exportConversation(n);Im(n,e);let r=Lm(e);y(typeof r==`number`?`exported ${r} entries`:`exported`);break}case`import`:{let e=await t.importConversation(r);i?.(e.id),y(`imported conversation ${e.id}`);break}case`name`:await t.patchConversationMeta(n,{name:r}),y(`named “${r}”`);break;case`model`:await t.configure(n,{model:r}),f(r),y(`model set to ${r}`);break;case`thinking`:await t.configure(n,{thinking:r}),m(r),y(`thinking set to ${r}`);break;default:{if(s.extension===void 0)break;let e=await t.runCommand(n,s.name,r);y(e.notice??`/${s.name} done`);break}}c.clear(!0)}catch(e){g(e instanceof Error?e.message:String(e))}finally{x(!1)}}}async function j(e){if(n!==null)try{await t.configure(n,{model:e}),f(e),g(null)}catch(e){g(e instanceof Error?e.message:String(e))}}async function M(e){if(n!==null)try{await t.configure(n,{thinking:e}),m(e),g(null)}catch(e){g(e instanceof Error?e.message:String(e))}}async function be(){if(s)return;let e=c.text.trim();if(e.startsWith(`/`)){let{name:e,args:n}=Fm(c.text),r=E;if(!e.startsWith(`skill:`)&&!E.some(t=>t.name===e))try{let e=await t.listCommands();r=e.commands,D(e.commands)}catch{}if(!Rm(e,r)){await A(e,n,r);return}}if(S.current&&!de||e===``&&c.attachments.length===0)return;let r=n??C.current,i=n===null;try{if(S.current=!0,x(!0),g(null),r===null){let n=await t.createConversation();C.current=n.id,await xe(n.id,e,{},i)}else await xe(r,e,de?{whenBusy:`steer`}:{},i)}catch(e){g(e instanceof Error?e.message:String(e))}finally{S.current=!1,x(!1)}}async function xe(e,n,r={},a=!1){let o=[...c.attachments.map(zm),...n===``?[]:[{type:`text`,text:n}]];await t.submit(e,o,r),c.clear(!0),C.current=null,a&&i?.(e)}let Se=s||b&&!de||c.text.trim()===``&&c.attachments.length===0,Ce=ne.some(e=>e.status===`pending`&&e.declinable===!0);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`composer`,children:[(e.inlineNotices??[]).length>0&&(0,R.jsx)(am,{notices:e.inlineNotices??[],results:e.noticeResults,run:e.noticeRun??(async()=>void 0),dismiss:e.noticeDismiss??(()=>{}),onNavigate:e.onAmbientNavigate??(()=>{}),onOpenPane:e.onOpenNoticesPane??(()=>{})}),(0,R.jsx)(nm,{surfaces:oe,onNavigate:e.onAmbientNavigate}),(0,R.jsx)(dm,{conversationId:n,interactions:ne,client:t,onError:e=>g(e),onAnswered:()=>{ce()}}),h!==null&&(0,R.jsx)(`p`,{role:`alert`,children:h}),_!==null&&(0,R.jsx)(`p`,{className:`composer-notice`,role:`status`,children:_}),ve&&(0,R.jsx)(`ul`,{className:`composer-command-menu`,role:`listbox`,children:_e.map((e,t)=>(0,R.jsxs)(`li`,{role:`option`,"aria-selected":t===ye,"data-highlighted":t===ye||void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>k(e),children:[(0,R.jsxs)(`span`,{className:`composer-command-name`,children:[`/`,e.name]}),e.argsHint!==void 0&&(0,R.jsx)(`span`,{className:`composer-command-args`,children:e.argsHint}),(0,R.jsx)(`span`,{className:`composer-command-description`,children:e.description})]},e.name))}),c.attachments.length>0&&(0,R.jsx)(`ul`,{className:`composer-attachments`,children:c.attachments.map(e=>(0,R.jsxs)(`li`,{className:`composer-attachment`,"data-path":e,children:[(0,R.jsx)(`span`,{className:`composer-attachment-name`,children:Pm(e)}),(0,R.jsx)(`button`,{type:`button`,className:`composer-attachment-remove`,"aria-label":`remove ${Pm(e)}`,onClick:()=>c.removeAttachment(e),children:`×`})]},e))}),(0,R.jsx)(`textarea`,{ref:ie,className:`composer-input`,rows:1,placeholder:s?`Read-only (shared with you)`:Ce?`Sending a message declines the open question`:de?`Steer the running session…`:`Message…`,value:c.text,disabled:s,onChange:e=>{c.setText(e.target.value),ae(e.target)},onKeyDown:e=>{if(ve){let t=e.key;(t===`ArrowDown`||t===`ArrowUp`||t===`Enter`&&_e.length>0||t===`Escape`)&&(e.preventDefault(),t===`Escape`?c.setText(``):t===`ArrowDown`?te((ye+1)%_e.length):t===`ArrowUp`?te((ye-1+_e.length)%_e.length):k(_e[ye]));return}e.key===`Enter`&&(e.ctrlKey||e.metaKey||o&&!e.shiftKey)&&(e.preventDefault(),be())}}),(0,R.jsxs)(`div`,{className:`composer-toolbar`,children:[(0,R.jsxs)(`label`,{className:`composer-pill composer-attach`,title:`Attach files`,"aria-label":`attach files`,"data-uploading":w||void 0,children:[(0,R.jsx)(bm,{}),(0,R.jsx)(`input`,{type:`file`,className:`composer-file-input`,multiple:!0,hidden:!0,disabled:n===null||s||w,onChange:he})]}),(0,R.jsx)(Dm,{models:l,current:ue,disabled:n===null,onPick:j}),(0,R.jsx)(km,{current:p,onPick:M}),(0,R.jsx)(`span`,{className:`composer-toolbar-spacer`}),(0,R.jsx)(Bm,{used:pe?.used??null,window:pe?.window??null}),(0,R.jsx)(`button`,{type:`button`,className:`composer-send`+(Se?` composer-send-disabled`:``),"aria-label":de?`Steer`:`Send`,title:de?`Steer the running session`:`Send`,"aria-disabled":Se,onClick:()=>void be(),children:(0,R.jsx)(Sm,{})}),fe>0&&(0,R.jsxs)(`span`,{className:`composer-queued`,children:[`+`,fe,` queued`]})]})]}),(0,R.jsx)(`p`,{className:`composer-hint`,children:o?`Enter to send · Shift+Enter for newline · / for commands`:`Ctrl+Enter to send · / for commands`})]})}function Hm(e){return e.split(`/`).filter(e=>e!==``)}function Um(e){let t=e[e.length-1]??``;return[...e.slice(0,-1).map(e=>e.slice(0,1)),t].join(`/`)}function Wm(e,t){if(e===void 0||e===``)return{short:t,full:t};let n=`${e}/`,r=Hm(t.startsWith(n)?t.slice(n.length):t);return r.length===0?{short:e.slice(0,1),full:e}:{short:`${e.slice(0,1)}/${Um(r)}`,full:`${e}/${r.join(`/`)}`}}function Gm(e){let t=e.content;return typeof t==`string`?t:t.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(`
44
44
 
45
45
  `)}function Km(e){let t=e.content;return typeof t==`string`?[]:t.filter(e=>e.type===`thinking`&&typeof e.thinking==`string`).map(e=>e.thinking)}function qm(e){let t=e.content;return typeof t==`string`?[]:t.filter(e=>e.type!==`text`)}var Jm=20;function Ym(e){if(typeof e?.details!=`object`||e.details===null)return;let t=e.details.diff;return typeof t==`string`?t:void 0}function Xm(e){return e.startsWith(`+`)?`diff-line-add`:e.startsWith(`-`)?`diff-line-del`:`diff-line-ctx`}function Zm(e){return(0,R.jsx)(`pre`,{className:`tool-row-diff`,children:e.diff.split(`
@@ -52,4 +52,4 @@ Error generating stack: `+e.message+`
52
52
 
53
53
  `)},`note:${e.entryId}`)}return null}),(0,R.jsx)(rd,{kind:`assistant`,text:n.text,onFork:d,meta:u?.text,metaTitle:u?.title})]})}function Ch(e,t){for(let n of e)if(n.kind===`pi.assistant`)for(let e of n.model??[]){let n=e.content;if(typeof n!=`string`)for(let e of n){if(e.type!==`toolCall`)continue;let n=e;if(n.id===t)return typeof n.arguments==`string`?n.arguments:n.arguments===void 0?void 0:JSON.stringify(n.arguments)}}}function wh(e){let{entry:t}=e,n=(t.data??{}).reason;return(0,R.jsx)(`div`,{className:`turn-compaction`,"data-reason":n,title:n===void 0?void 0:`context compacted (${n})`,children:(0,R.jsx)(`span`,{children:`Context compacted`})})}function Th(e){return(0,R.jsx)(`div`,{className:`entry entry-system`,children:(e.entry.model??[]).map(e=>Gm(e)).filter(e=>e!==``).join(` `)})}function Eh(e){if(e.kind!==`sigrun.blocks.answer`)return;let t=e.data;if(typeof t!=`object`||!t)return;let n=t.entryId,r=t.action;if(typeof n!=`string`||n===``||typeof r!=`string`||r===``)return;let i=t.payload,a=t.state;return{entryId:n,action:r,...i===void 0?{}:{payload:i},...a===void 0?{}:{state:a}}}function Dh(e){if(typeof e!=`object`||!e)return;let t=e.title;return typeof t==`string`&&t!==``?t:void 0}function Oh(e){return(e.model??[]).map(e=>Gm(e)).filter(e=>e!==``).join(`
54
54
 
55
- `)}function kh(e){return Ae(e)?.typed??Oh(e)}function Ah(e){let[t,n]=(0,v.useState)(!1),{expanded:r,fullText:i}=e;return(0,R.jsxs)(`div`,{className:`entry-expanded`,children:[(0,R.jsxs)(`button`,{type:`button`,className:`entry-expanded-chip`,"aria-expanded":t,title:t?`Hide the expanded text`:`Show the expanded text`,onClick:()=>n(!t),children:[`expanded from /`,r.command??`…`]}),t&&(0,R.jsx)(`div`,{className:`entry-expanded-text`,children:(0,R.jsx)(md,{source:i,variant:`bubble`})})]})}function jh(e){let{entry:t}=e,n=Ae(t),r=Eh(t),i=r===void 0?void 0:(e.entries??[]).find(e=>e.kind===`sigrun.blocks`&&String(e.id)===r.entryId),a=i===void 0?void 0:Dh(i.data);return(0,R.jsxs)(`div`,{className:`turn turn-user`,"data-turn-kind":`user`,"data-entry-id":t.id,children:[(0,R.jsxs)(`div`,{className:`entry-user`,children:[n===void 0?(t.model??[]).map((e,t)=>(0,R.jsxs)(`div`,{className:`entry-user-message`,children:[(0,R.jsx)(md,{source:Gm(e),variant:`bubble`}),qm(e).map((e,t)=>(0,R.jsxs)(`span`,{className:`entry-attachment`,children:[`[`,e.type,`: `,e.path??`?`,`]`]},t))]},t)):(0,R.jsxs)(`div`,{className:`entry-user-message`,children:[(0,R.jsx)(md,{source:n.typed,variant:`bubble`}),(t.model??[]).flatMap(e=>qm(e).map((e,t)=>(0,R.jsxs)(`span`,{className:`entry-attachment`,children:[`[`,e.type,`: `,e.path??`?`,`]`]},t)))]}),n!==void 0&&(0,R.jsx)(Ah,{expanded:n,fullText:Oh(t)}),r!==void 0&&(0,R.jsxs)(`span`,{className:`entry-answer-chip`,"data-answer-entry":r.entryId,children:[`from `,a??`entry ${r.entryId}`]})]}),(0,R.jsx)(rd,{kind:`user`,text:kh(t),onFork:e.onFork,onEdit:e.onEdit})]})}function Mh(e){return e.docs[`pi.live`]}function Nh(e){return Mh(e)?.tools??[]}function Ph(e){let t=Mh(e)?.generation?.message;if(typeof t==`object`&&t)return t}function Fh(e){return Mh(e)?.compactions?.length??0}function Ih(e){let t=Mh(e)?.compactionFailure;if(typeof t!=`object`||!t)return;let n=t.error;return typeof n==`string`&&n!==``?n:void 0}function Lh(e){return e}function Rh(e){return Nh(Lh(e))}function zh(e){return Ph(Lh(e))}function Bh(e){return Fh(Lh(e))}function Vh(e){return Ih(Lh(e))}var Hh=-1;function Uh(e){let t=e.content;return typeof t==`string`?[]:t.filter(e=>e.type===`toolCall`).map(e=>{let t=e;return{callId:t.id??``,name:t.name??``,preview:Fe(t.name??``,t.arguments),isError:!1}})}function Wh(e,t){return{entries:[{id:Hh,conversationId:e,kind:`pi.assistant`,model:[t]}],thinking:Km(t),tools:Uh(t),text:Gm(t),lastEntryId:Hh,timeline:Gh(t)}}function Gh(e){let t=[];for(let n of Km(e))t.push({kind:`thinking`,text:n});for(let n of Uh(e))t.push({kind:`tool`,tool:n});let n=Gm(e);return n!==``&&t.push({kind:`text`,text:n}),t}function Kh(e){let{view:t,showThinking:n,timeline:r,parent:i,onNavigate:a,client:o}=e,s=t.conversation.id,c=Rh(t),l=zh(t),u=Me(t.entries),d=u[u.length-1],f=l!==void 0&&d!==void 0&&d.kind===`assistant`;if(f&&d!==void 0&&d.kind===`assistant`){let e=Gm(l),t=Uh(l).filter(e=>!d.tools.some(t=>t.callId===e.callId));u[u.length-1]={...d,text:d.text===``?e:`${d.text}\n\n${e}`,thinking:[...d.thinking,...Km(l)],tools:[...d.tools,...t],timeline:[...d.timeline,...Km(l).map(e=>({kind:`thinking`,text:e})),...t.map(e=>({kind:`tool`,tool:e})),...e===``?[]:[{kind:`text`,text:e}]]}}let p=e=>()=>{o.fork(s,e).then(e=>a(e.id)).catch(e=>console.error(`fork from conversation ${s} failed:`,e))};return(0,R.jsxs)(`div`,{className:`turn-list`,children:[i!==void 0&&(0,R.jsxs)(`button`,{type:`button`,className:`turn-lineage`,onClick:()=>a(i.id),children:[`Forked from `,i.name]}),u.map((e,i)=>e.kind===`user`?(0,R.jsx)(qh,{entry:e.entry,entries:t.entries,view:t,client:o,conversationId:s,onNavigate:a,forkFrom:p},e.entry.id):e.kind===`assistant`?(0,R.jsx)(Sh,{conversationId:s,turn:e,slots:c,showThinking:n,client:o,onNavigate:a,live:f&&i===u.length-1,timeline:r},e.lastEntryId):(0,R.jsx)(Jh,{entry:e.entry},e.entry.id)),l!==void 0&&!f&&(0,R.jsx)(Sh,{conversationId:s,turn:Wh(s,l),slots:c,showThinking:n,client:o,onNavigate:a,live:!0},Hh)]})}function qh(e){let{entry:t,entries:n,view:r,client:i,conversationId:a,onNavigate:o,forkFrom:s}=e;return(0,R.jsx)(jh,{entry:t,entries:n,onFork:s(t.id),onEdit:()=>{let e=r.entries[r.entries.findIndex(e=>e.id===t.id)-1];(e===void 0?i.createConversation():i.fork(a,e.id)).then(async e=>{await i.patchConversationMeta(e.id,{draft:{text:kh(t)}}),o(e.id)}).catch(e=>console.error(`edit-in-new-conversation failed:`,e))}})}function Jh(e){let{entry:t}=e,n=t.kind===`pi.compaction`?`compaction`:t.kind===`pi.system`?`system`:`other`;return(0,R.jsx)(`div`,{className:`turn turn-other`,"data-turn-kind":n,children:t.kind===`pi.compaction`?(0,R.jsx)(wh,{entry:t}):t.kind===`pi.system`?(0,R.jsx)(Th,{entry:t}):(0,R.jsxs)(`div`,{className:`entry entry-unknown`,children:[`unsupported entry kind: `,t.kind,` —`,` `,(t.model??[]).map(e=>Gm(e)).filter(e=>e!==``).join(` `)]})})}function Yh(e){let t=hh(e.transport,{onNavigate:e.onNavigate,refreshMs:e.refreshMs,visible:e.visible}),n=e.keepaliveMs,r=e.visible,i=(0,v.useRef)(t.refresh);i.current=t.refresh,(0,v.useEffect)(()=>{if(n===void 0)return;let e=setInterval(()=>{(r===void 0||r())&&i.current()},n),t=globalThis.document,a=()=>{(r===void 0||r())&&i.current()};return t?.addEventListener(`visibilitychange`,a),()=>{clearInterval(e),t?.removeEventListener(`visibilitychange`,a)}},[n,r]);let a=navigator.language,o=(0,v.useMemo)(()=>({dispatch:t.dispatch,access:t.access,rev:t.rev,viewState:typeof t.view.view==`object`&&t.view.view!==null&&!Array.isArray(t.view.view)?t.view.view:{},setView:t.setView,serverErrors:t.serverErrors}),[t.dispatch,t.access,t.rev,t.view,t.setView,t.serverErrors]);return t.status===`loading`?(0,R.jsx)(`div`,{className:`blk-surface`,"data-surface":`loading`,children:(0,R.jsx)(`p`,{children:`loading…`})}):t.status===`notFound`?(0,R.jsx)(`div`,{className:`blk-surface`,"data-surface":`not-found`,children:(0,R.jsx)(`p`,{children:`surface not found`})}):t.status===`error`?(0,R.jsxs)(`div`,{className:`blk-surface`,"data-surface":`error`,role:`alert`,children:[(0,R.jsx)(`p`,{children:`something went wrong`}),(0,R.jsx)(`button`,{type:`button`,"data-surface-retry":``,onClick:()=>t.retry(),children:`Retry`})]}):(0,R.jsx)(`div`,{className:`blk-surface`,"data-surface":`ready`,children:(0,R.jsx)(ze.Provider,{value:{data:t.view,locale:a},children:(0,R.jsxs)(Be.Provider,{value:o,children:[(0,R.jsx)(Xe,{children:t.tree!==void 0&&(0,R.jsx)(Kp,{block:t.tree.root})}),t.toasts.map((e,t)=>(0,R.jsx)(`p`,{className:`blk-surface-toast`,role:`status`,children:e},t))]})})})}var Xh=Object.assign({"../../../test/fixtures/blocks/ambient-footer.json":{v:1,root:{type:`columns`,id:`ambient-footer`,children:[{block:{type:`markdown`,text:`left`}},{block:{type:`stat`,label:`Queue`,value:3}},{block:{type:`markdown`,text:`right`}}]}},"../../../test/fixtures/blocks/ambient-panel.json":{v:1,root:{type:`stack`,id:`ambient-panel`,children:[{type:`collection`,id:`checks`,items:[{id:`c1`,name:`lint`,state:`passed`,busy:!1,tone:`good`},{id:`c2`,name:`tests`,state:`running`,busy:!0,tone:`neutral`}],display:`list`,item:{title:{$:`./name`},status:{label:{$:`./state`},spinner:{$:`./busy`}},tone:{$:`./tone`}}},{type:`log`,lines:[{at:1,level:`info`,text:`3 checks running`},{at:2,level:`error`,text:`rollback failed`}]},{type:`meter`,value:62,format:`percent`},{type:`details`,value:{ok:!0}}]}},"../../../test/fixtures/blocks/ambient-status.json":{v:1,root:{type:`markdown`,id:`ambient-status`,text:`glm-5.3-flash · main* · $0.0421`}},"../../../test/fixtures/blocks/callout.json":{v:1,root:{type:`callout`,id:`callout`,tone:`warn`,title:`Degraded`,body:`acme upstream is slow`,actions:[{id:`open`,label:`Open console`,icon:`external`,action:{type:`open`,url:`https://example.invalid/console`}},{id:`copy`,label:`Copy id`,action:{type:`copy`,text:`acme-42`}}]}},"../../../test/fixtures/blocks/chart.json":{v:1,root:{type:`chart`,id:`chart`,title:`Throughput`,x:{kind:`time`,format:`time`},y:{unit:`req/s`,min:0},series:[{name:`acme`,kind:`area`,data:{$:`/series/acme`}},{name:`Baseline`,kind:`line`,data:[[0,10],[60,12],[120,11]]}],stacked:!1,thresholds:[{at:20,tone:`warn`,label:`SLO`}]}},"../../../test/fixtures/blocks/chat-message.json":{v:1,root:{type:`stack`,id:`chat-message`,children:[{type:`markdown`,text:`acme ranking draft`},{type:`collection`,id:`rank`,items:{$:`/songs`},display:`list`,numbered:!0,reorder:{within:!0},onMove:`reorderSong`,item:{title:{$:`./title`},meta:[{person:{user:`user:example`,name:`Example`}}]}},{type:`form`,id:`use`,bind:`/reply`,mode:`submit`,onSubmit:`useOrder`,submitLabel:`Use this order`,turn:!0,children:[{type:`toggle`,name:`confirm`,label:`Confirm`}]}]}},"../../../test/fixtures/blocks/collection-calendar.json":{v:1,root:{type:`collection`,id:`collection-calendar`,items:{$:`/events`},display:`calendar`,time:{start:`startsAt`,end:`endsAt`,allDay:`allDay`,range:`month`,onResize:`resizeEvent`,onCreate:`createEvent`},item:{title:{$:`./title`}}}},"../../../test/fixtures/blocks/collection-grid.json":{v:1,root:{type:`collection`,id:`collection-grid`,items:{$:`/shots`},display:`grid`,overflow:`wrap`,item:{title:{$:`./title`},image:{$:`./image`}}}},"../../../test/fixtures/blocks/collection-lanes.json":{v:1,root:{type:`collection`,id:`collection-lanes`,items:{$:`/cards`},display:`lanes`,groupBy:`state`,groups:[{id:`todo`,title:`To do`,tone:`neutral`},{id:`doing`,title:`Doing`,tone:`info`,collapsed:!1}],reorder:{within:!0,across:!0},onMove:`moveCard`,onActivate:{type:`navigate`,params:{id:`acme`}},item:{title:{$:`./title`},tone:{$:`./tone`}}}},"../../../test/fixtures/blocks/collection-list.json":{v:1,root:{type:`collection`,id:`collection-list`,items:{$:`/cards`},display:`list`,numbered:!0,checkable:`done`,onCheck:`toggleDone`,children:`subtasks`,item:{eyebrow:{$:`./eyebrow`},title:{$:`./title`},subtitle:{$:`./subtitle`},body:{$:`./body`},icon:`file`,badges:[{text:{$:`./badge`},tone:`info`}],meta:[{icon:`clock`,text:{$:`./when`}},{person:{user:{$:`./user`},name:{$:`./userName`}}},{time:{$:`./at`},format:`datetime`}],metrics:[{label:`Score`,value:{$:`./score`},format:`number`}],tone:`accent`,status:{label:{$:`./state`},tone:`good`,spinner:{$:`./busy`}},quiet:{$:`./quiet`},deps:{$:`./deps`}}}},"../../../test/fixtures/blocks/collection-literal.json":{v:1,root:{type:`collection`,id:`collection-literal`,items:[{id:`row-1`,title:`acme provision`,state:`todo`,quiet:!1},{id:`row-2`,title:`acme build`,state:`doing`,quiet:!0}],display:`list`,item:{title:{$:`./title`},status:{label:{$:`./state`}},quiet:{$:`./quiet`}}}},"../../../test/fixtures/blocks/collection-table.json":{v:1,root:{type:`collection`,id:`collection-table`,items:{$:`/rows`},display:`table`,select:`multi`,sort:{field:`name`,dir:`asc`},bulkActions:[{id:`set-state`,label:`Set state`,icon:`edit`,onSubmit:`setState`,form:{v:1,root:{type:`form`,id:`set-state-form`,bind:`/bulk`,mode:`submit`,onSubmit:`setState`,children:[{type:`text`,name:`state`,label:`State`}]}}}],columns:[{field:`name`,label:`Name`,sortable:!0,priority:`high`},{field:`load`,label:`Load`,format:`percent`,cell:`meter`,priority:`low`},{field:`state`,label:`State`,cell:`badge`,width:`s`}],item:{title:{$:`./name`}}}},"../../../test/fixtures/blocks/columns.json":{v:1,root:{type:`columns`,id:`columns`,children:[{weight:2,minWidth:`m`,block:{type:`markdown`,text:`left`}},{weight:1,block:{type:`stat`,label:`Load`,value:.42,format:`percent`,size:`m`,icon:`clock`}}]}},"../../../test/fixtures/blocks/details.json":{v:1,root:{type:`details`,id:`details`,value:{host:`acme.example`,tags:[`a`,`b`],nested:{ok:!0}}}},"../../../test/fixtures/blocks/diff.json":{v:1,root:{type:`diff`,id:`diff`,before:`const a = 1;`,after:`const a = 2;`,path:`src/acme.ts`,lang:`ts`}},"../../../test/fixtures/blocks/field-choice.json":{v:1,root:{type:`form`,id:`form-choice`,bind:`/values`,mode:`submit`,children:[{type:`choice`,name:`pick`,label:`Pick`,multi:!0,options:[{id:`a`,label:`A`,description:`first`},{id:`b`,label:`B`,tone:`good`}]}]}},"../../../test/fixtures/blocks/field-date.json":{v:1,root:{type:`form`,id:`form-date`,bind:`/values`,mode:`submit`,children:[{type:`date`,name:`on`,label:`On`}]}},"../../../test/fixtures/blocks/field-daterange.json":{v:1,root:{type:`form`,id:`form-daterange`,bind:`/values`,mode:`submit`,children:[{type:`daterange`,name:`range`,label:`Range`,presets:[{id:`today`,label:`Today`,duration:`P1D`}]}]}},"../../../test/fixtures/blocks/field-datetime.json":{v:1,root:{type:`form`,id:`form-datetime`,bind:`/values`,mode:`submit`,children:[{type:`datetime`,name:`at`,label:`At`}]}},"../../../test/fixtures/blocks/field-file.json":{v:1,root:{type:`form`,id:`form-file`,bind:`/values`,mode:`submit`,children:[{type:`file`,name:`logo`,label:`Logo`,accept:`image/png`,multi:!0,onUpload:`uploadLogo`}]}},"../../../test/fixtures/blocks/field-list.json":{v:1,root:{type:`form`,id:`form-list`,bind:`/values`,mode:`submit`,children:[{type:`list`,name:`members`,label:`Members`,item:{type:`text`,name:`name`,label:`Name`},reorder:!0}]}},"../../../test/fixtures/blocks/field-longtext.json":{v:1,root:{type:`form`,id:`form-longtext`,bind:`/values`,mode:`submit`,children:[{type:`longtext`,name:`notes`,label:`Notes`,syntax:`markdown`,lang:`md`,rows:8,maxLength:4e3}]}},"../../../test/fixtures/blocks/field-number.json":{v:1,root:{type:`form`,id:`form-number`,bind:`/values`,mode:`submit`,children:[{type:`number`,name:`port`,label:`Port`,min:1,max:65535,step:1,format:`number`}]}},"../../../test/fixtures/blocks/field-secret.json":{v:1,root:{type:`form`,id:`form-secret`,bind:`/values`,mode:`submit`,children:[{type:`secret`,name:`apiKey`,label:`API key`}]}},"../../../test/fixtures/blocks/field-text.json":{v:1,root:{type:`form`,id:`form-text`,bind:`/values`,mode:`submit`,children:[{type:`text`,name:`name`,label:`Name`,kind:`email`,suggest:{$:`/suggestions`},required:!0,minLength:2,placeholder:`acme@example.invalid`}]}},"../../../test/fixtures/blocks/field-toggle.json":{v:1,root:{type:`form`,id:`form-toggle`,bind:`/values`,mode:`live`,children:[{type:`toggle`,name:`dark`,label:`Dark mode`,disabled:!1}]}},"../../../test/fixtures/blocks/fields.json":{v:1,root:{type:`fields`,id:`fields`,rows:[{label:`Host`,value:`acme.example`},{label:`Errors`,value:2,tone:`bad`,icon:`error`}]}},"../../../test/fixtures/blocks/form-chat.json":{v:1,root:{type:`form`,id:`form-chat`,bind:`/reply`,mode:`submit`,onSubmit:`sendReply`,submitLabel:`Send`,turn:!0,children:[{type:`choice`,name:`answer`,label:`Answer`,options:[{id:`yes`,label:`Yes`,preview:`proceed with the acme plan`},{id:`no`,label:`No`,tone:`bad`}]},{type:`longtext`,name:`reason`,label:`Reason`,syntax:`plain`}]}},"../../../test/fixtures/blocks/form-inline.json":{v:1,root:{type:`form`,id:`form-inline`,bind:`/view/quick`,mode:`inline`,onSubmit:`addQuick`,submitLabel:`Add`,children:[{type:`text`,name:`title`,label:`Title`,placeholder:`new item`,kind:`search`}]}},"../../../test/fixtures/blocks/form-interaction.json":{v:1,root:{type:`form`,id:`form-interaction`,bind:`/values`,mode:`submit`,onSubmit:`answer`,submitLabel:`Answer`,children:[{type:`section`,title:`Approve`,children:[{type:`choice`,name:`verdict`,label:`Verdict`,options:[{id:`allow`,label:`Allow`,tone:`good`,recommended:!0,preview:`run it`},{id:`deny`,label:`Deny`,tone:`bad`}]}]},{type:`longtext`,name:`reason`,label:`Reason`,required:!0},{type:`secret`,name:`token`,label:`Token`,help:`optional`}]}},"../../../test/fixtures/blocks/form-settings.json":{v:1,root:{type:`form`,id:`form-settings`,bind:`/settings`,mode:`submit`,onSubmit:`saveSettings`,children:[{type:`text`,name:`host`,label:`Host`,apply:`live`},{type:`choice`,name:`plan`,label:`Plan`,options:[{id:`basic`,label:`Basic`},{id:`pro`,label:`Pro`,recommended:!0}]},{type:`toggle`,name:`verbose`,label:`Verbose`,apply:`restart`},{type:`date`,name:`since`,label:`Since`},{type:`datetime`,name:`at`,label:`At`,min:0},{type:`daterange`,name:`window`,label:`Window`,presets:[{id:`7d`,label:`Last 7 days`,duration:`P7D`}]},{type:`list`,name:`hosts`,label:`Hosts`,reorder:!0,min:1,max:10,item:{type:`text`,name:`host`,label:`Host`,pattern:`^[a-z].*$`}}]}},"../../../test/fixtures/blocks/form-upload.json":{v:1,root:{type:`form`,id:`form-upload`,bind:`/upload`,mode:`submit`,onSubmit:`saveUpload`,children:[{type:`file`,name:`avatar`,label:`Avatar`,accept:`image/*`,maxBytes:1048576,onUpload:`uploadAvatar`}]}},"../../../test/fixtures/blocks/form-view.json":{v:1,root:{type:`form`,id:`form-view`,bind:`/view/filter`,mode:`live`,children:[{type:`choice`,name:`state`,label:`State`,multi:!1,allowOther:{label:`Other`},options:[{id:`all`,label:`All`,description:`every item`,recommended:!0},{id:`open`,label:`Open`,tone:`info`}]}]}},"../../../test/fixtures/blocks/form.json":{v:1,root:{type:`form`,id:`form`,bind:`/form`,mode:`submit`,onSubmit:`saveForm`,submitLabel:`Save`,children:[{type:`section`,title:`Basics`,children:[{type:`text`,name:`title`,label:`Title`,required:!0,maxLength:80}]},{type:`longtext`,name:`notes`,label:`Notes`,syntax:`markdown`,rows:4,help:`markdown ok`},{type:`number`,name:`retries`,label:`Retries`,min:0,max:5,step:1},{type:`toggle`,name:`enabled`,label:`Enabled`,help:`run the acme loop`}]}},"../../../test/fixtures/blocks/grid.json":{v:1,root:{type:`grid`,id:`grid`,minItemWidth:`m`,children:[{span:2,block:{type:`stat`,label:`Wide`,value:12,sparkline:[1,2,3]}},{block:{type:`stat`,label:`Narrow`,value:3}},{span:`full`,block:{type:`markdown`,text:`full row`}}]}},"../../../test/fixtures/blocks/image.json":{v:1,root:{type:`image`,id:`image`,src:`asset:acme/diagram.png`,alt:`acme cluster diagram`}},"../../../test/fixtures/blocks/interaction-form.json":{v:1,root:{type:`form`,id:`interaction-body`,bind:`/values`,mode:`submit`,onSubmit:`answer`,submitLabel:`Answer`,children:[{type:`section`,title:`Proceed?`,children:[{type:`choice`,name:`proceed`,label:`Proceed`,options:[{id:`yes`,label:`Yes`,tone:`good`,preview:`deploy to acme`},{id:`no`,label:`No`,tone:`bad`}]}]},{type:`text`,name:`note`,label:`Note`}]}},"../../../test/fixtures/blocks/log-literal.json":{v:1,root:{type:`log`,id:`log-literal`,lines:[{at:1,level:`info`,text:`deploy started`},{at:2,level:`warn`,text:`cache cold`},{at:3,level:`error`,text:`rollback failed`}],follow:!0,wrap:!1,tones:{error:`bad`,warn:`warn`,info:`neutral`}}},"../../../test/fixtures/blocks/log.json":{v:1,root:{type:`log`,id:`log`,lines:{$:`/lines`},follow:!0,wrap:!1,tones:{error:`bad`,warn:`warn`,info:`neutral`}}},"../../../test/fixtures/blocks/markdown.json":{v:1,root:{type:`markdown`,id:`markdown`,text:`acme **status** at [example.invalid](https://example.invalid/x)`}},"../../../test/fixtures/blocks/meter-literal.json":{v:1,root:{type:`meter`,id:`meter-literal`,value:.62,min:0,max:1,label:`Disk`,format:`percent`,thresholds:[{at:.8,tone:`warn`},{at:.95,tone:`bad`}]}},"../../../test/fixtures/blocks/meter.json":{v:1,root:{type:`meter`,id:`meter`,value:{$:`/disk`},min:0,max:1,label:`Disk`,format:`percent`,thresholds:[{at:.8,tone:`warn`},{at:.95,tone:`bad`}]}},"../../../test/fixtures/blocks/page-selection.json":{v:1,root:{type:`page`,id:`page`,title:`Jobs`,subtitle:`acme queue`,sidebar:[{type:`collection`,id:`jobs`,items:[{id:`job-1`,title:`acme provision`},{id:`job-2`,title:`acme build`},{id:`job-3`,title:`acme deploy`}],display:`list`,item:{title:{$:`./title`}}}],main:[{type:`markdown`,text:`acme build — the selected job's detail`}],selection:{selected:!0,back:{}}}},"../../../test/fixtures/blocks/page-sidebar.json":{v:1,root:{type:`page`,id:`page`,title:{$:`/title`},subtitle:`with a sidebar`,sidebar:[{type:`tree`,nodes:{$:`/nav`}}],main:[{type:`markdown`,text:`board body`}]}},"../../../test/fixtures/blocks/page.json":{v:1,root:{type:`page`,title:`Jobs`,subtitle:`acme queue`,actions:[{id:`refresh`,label:`Refresh`,icon:`refresh`,action:{type:`edit`,name:`refresh`}}],main:[{type:`section`,title:`Active`,children:[{type:`markdown`,text:`acme jobs run **here**`},{type:`fields`,rows:[{label:`Queue`,value:`acme`},{label:`State`,value:`running`,tone:`info`}]}]}],detail:[{type:`diff`,before:`a`,after:`b`,lang:`ts`},{type:`details`,value:{kind:`acme`,count:3}}],empty:{icon:`check`,title:`All done`,hint:`no pending jobs`},id:`page`}},"../../../test/fixtures/blocks/section.json":{v:1,root:{type:`section`,title:`Group`,subtitle:`subtitle`,tone:`info`,collapsible:!0,collapsed:!1,children:[{type:`markdown`,text:`in section`},{type:`callout`,id:`section-callout`,tone:`warn`,title:`Careful`,body:`acme maintenance at 02:00`,actions:[{id:`ack`,label:`Acknowledge`,action:{type:`edit`,name:`ack`}}]}]}},"../../../test/fixtures/blocks/stack.json":{v:1,root:{type:`stack`,id:`stack`,gap:`m`,visibleAt:`atLeast:regular`,children:[{type:`markdown`,text:`stacked`},{type:`fields`,rows:[{label:`L`,value:1}]}]}},"../../../test/fixtures/blocks/stat-literal.json":{v:1,root:{type:`stat`,id:`stat-literal`,label:`Latency`,value:42,unit:`ms`,format:`number`,tone:`good`,icon:`clock`,size:`l`,caption:`p95 over 5m`,sparkline:[30,42,38,51,44]}},"../../../test/fixtures/blocks/stat.json":{v:1,root:{type:`stat`,id:`stat`,label:`Latency`,value:{$:`/latency`},unit:`ms`,format:`number`,tone:`good`,icon:`clock`,size:`l`,caption:`p95 over 5m`,sparkline:[30,42,38,51,44]}},"../../../test/fixtures/blocks/tree.json":{v:1,root:{type:`tree`,id:`tree`,nodes:{$:`/nodes`},onExpand:`expandNode`,onActivate:{type:`navigate`,params:{node:`acme`}}}}}),Zh=[{id:`card-1`,title:`acme provision`,state:`todo`,done:!1,eyebrow:`acme/queue`,subtitle:`spin the example.invalid runner`,body:`clone the repo, mount the volume`,badge:`queue`,when:`today`,user:`u1`,userName:`acme ops`,at:`2026-10-19T09:00:00Z`,score:3,quiet:!1,busy:!1,deps:[],tone:`info`,subtasks:[]},{id:`card-2`,title:`acme build`,done:!0,eyebrow:`acme/ci`,subtitle:`build the release`,body:`vite build && vitest`,badge:`ci`,when:`yesterday`,user:`acme-ops`,userName:`acme ops`,at:`2026-10-18T17:00:00Z`,score:9,state:`doing`,quiet:!0,busy:!1,deps:[`card-1`],tone:`good`,subtasks:[]},{id:`card-3`,title:`acme deploy`,done:!1,eyebrow:`acme/cd`,subtitle:`ship to example.invalid`,body:`helm upgrade`,badge:`cd`,when:`tomorrow`,user:`acme-cd`,userName:`acme deploy`,at:`2026-10-20T12:00:00Z`,score:5,state:`doing`,quiet:!1,busy:!0,deps:[`card-2`],tone:`warn`,subtasks:[{id:`card-3a`,title:`acme smoke`,done:!1,state:`todo`,subtasks:[]}]}];function Qh(e){let t={cards:Zh,title:`acme board`,nav:[{id:`n1`,label:`Board`,icon:`folder`,children:[{id:`n1a`,label:`Active`}]},{id:`n2`,label:`Archive`,hasChildren:!1}],filter:{state:`open`}};return e===`collection-calendar`?{...t,cards:[{id:`ev-1`,title:`acme sync`,start:`2026-10-19T10:00:00Z`,end:`2026-10-19T11:00:00Z`},{id:`ev-2`,title:`acme review`,start:`2026-10-21T14:00:00Z`,end:`2026-10-21T15:30:00Z`}]}:t}var $h=Object.keys(Xh).filter(e=>e.endsWith(`.json`)).map(e=>{let t=e.slice(e.lastIndexOf(`/`)+1,e.length-5),n=Xh[e];return t===`form-view`?{name:t,tree:{v:1,root:{type:`stack`,children:[n.root,{type:`markdown`,text:"filter.state = `{$}` bound to `/view/filter/state`:"},{type:`markdown`,text:{$:`/view/filter/state`}}]}},data:Qh(t)}:{name:t,tree:n,data:Qh(t)}}).sort((e,t)=>e.name.localeCompare(t.name));function eg(e){let t=1,n=new Set;return{load:async()=>({tree:e.tree,data:e.data,rev:t,treeRev:1,access:`write`}),fetchData:async()=>({rev:t,treeRev:1}),act:async()=>(t+=1,{ok:!0,rev:t}),upload:async()=>(t+=1,{ok:!0,rev:t}),image:async()=>new Uint8Array,onChanged:()=>()=>{n.clear()}}}function tg(e){let t=(0,v.useMemo)(()=>eg(e.sample),[e.sample]);return(0,R.jsxs)(`div`,{className:`gallery-sample`,"data-gallery-sample":e.sample.name,children:[(0,R.jsx)(`h2`,{children:e.sample.name}),(0,R.jsx)(Yh,{transport:t})]})}function ng(){return ig(globalThis.location?.hash??``)}function rg(){let[e,t]=(0,v.useState)(()=>ng());(0,v.useEffect)(()=>{let e=globalThis,n=()=>t(ng());return e.addEventListener?.(`hashchange`,n),()=>e.removeEventListener?.(`hashchange`,n)},[]);let n=e=>{t(e),globalThis.history?.pushState(null,``,`#/blocks/${e}`)},r=$h.find(t=>t.name===e);return(0,R.jsxs)(`div`,{className:`gallery`,"data-gallery":``,children:[(0,R.jsxs)(`aside`,{className:`gallery-list`,children:[(0,R.jsx)(`h1`,{children:`Blocks`}),(0,R.jsx)(`ul`,{children:$h.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,"data-gallery-entry":e.name,onClick:()=>n(e.name),children:e.name})},e.name))})]}),(0,R.jsx)(`main`,{className:`gallery-main`,children:r===void 0?(0,R.jsx)(`p`,{className:`gallery-hint`,children:`Pick a block sample — every entry renders through the real renderer over an in-memory surface.`}):(0,R.jsx)(tg,{sample:r})})]})}function ig(e){let t=/^#\/blocks\/(.+)$/.exec(e);return t===null?null:decodeURIComponent(t[1]??``)}var ag=3e5;function og(){return globalThis.document?.visibilityState!==`hidden`}function sg(e){return(0,R.jsx)(`section`,{className:`ext-surface`,"data-ext-surface":`${e.slug}/${e.id}`,children:(0,R.jsx)(Yh,{transport:e.transport,refreshMs:e.refreshMs,keepaliveMs:ag,visible:og,onNavigate:e.onNavigate})})}function cg(e){return(0,R.jsx)(`section`,{className:`ext-panel`,"data-ext-panel":`${e.slug}/${e.id}`,children:(0,R.jsx)(Yh,{transport:e.transport,refreshMs:e.refreshMs,onNavigate:e.onNavigate})})}function lg(e){let t=ug(e);return e.params===void 0||Object.keys(e.params).length===0?t:fg(t,`params`,dg(e))}function ug(e){return`/v1/ext/${encodeURIComponent(e.slug)}/surfaces/${encodeURIComponent(e.id)}`}function dg(e){return encodeURIComponent(JSON.stringify(e.params??{}))}function fg(e,t,n){return`${e}${e.includes(`?`)?`&`:`?`}${t}=${n}`}function pg(e){let t=e.fetch??((e,t)=>globalThis.fetch(e,t)),n=new Set,r=()=>({accept:`application/json`,...e.streamId===void 0?{}:{"x-sigrun-stream":e.streamId}}),i=async e=>{let n=await t(e,{method:`GET`,headers:r()});if(!n.ok)throw Error(`ext surface GET ${e} failed with status ${n.status}`);return await n.json()};return{load(){return i(lg(e))},fetchData(t){let n=fg(`${ug(e)}/data`,`params`,dg(e));return i(t===void 0?n:fg(n,`since`,String(t)))},async act(n){return await(await t(`${ug(e)}/actions`,{method:`POST`,headers:{...r(),"content-type":`application/json`},body:JSON.stringify({...n,params:e.params??{}})})).json()},async upload(n){let i=fg(`${ug(e)}/uploads/${encodeURIComponent(n.field)}/${encodeURIComponent(n.name)}`,`params`,dg(e));return await(await t(i,{method:`PUT`,headers:{...r(),"content-type":`application/octet-stream`},body:n.bytes})).json()},image(){return Promise.reject(Error(`ext surface image route ships with U7`))},onChanged(e){return n.add(e),()=>{n.delete(e)}}}}var mg=class{#e=new Set;attach(e,t){let n=pg(e),r=this;return{load:()=>n.load(),fetchData:e=>n.fetchData(e),act:e=>n.act(e),upload:e=>n.upload(e),image:(e,t)=>n.image(e,t),onChanged(t){let n={slug:e.slug,id:e.id,listener:t};return r.#e.add(n),()=>{r.#e.delete(n)}}}}dispatch(e){for(let t of this.#e)t.slug===e.slug&&t.id===e.id&&t.listener({rev:e.rev,treeRev:e.treeRev})}};function hg(e){return`/v1/conversations/${e.conversationId}/blocks/${encodeURIComponent(e.entryId)}`}function gg(e){let t=e.fetch??((e,t)=>globalThis.fetch(e,t)),n=new Set,r=()=>({accept:`application/json`}),i=async e=>{let n=await t(e,{method:`GET`,headers:r()});if(!n.ok)throw Error(`chat block GET ${e} failed with status ${n.status}`);return await n.json()};return{load(){return i(hg(e))},fetchData(t){let n=`${hg(e)}/data`;return i(t===void 0?n:`${n}?since=${String(t)}`)},async act(n){return await(await t(`${hg(e)}/actions`,{method:`POST`,headers:{...r(),"content-type":`application/json`},body:JSON.stringify(n)})).json()},upload(){return Promise.reject(Error(`chat blocks carry no upload fields`))},image(){return Promise.reject(Error(`chat block image route ships with U7`))},onChanged(e){return n.add(e),()=>{n.delete(e)}}}}var _g=class{#e=new Set;attach(e){let t=gg(e),n=this;return{load:()=>t.load(),fetchData:e=>t.fetchData(e),act:e=>t.act(e),upload:e=>t.upload(e),image:(e,n)=>t.image(e,n),onChanged(t){let r={conversationId:e.conversationId,entryId:e.entryId,listener:t};return n.#e.add(r),()=>{n.#e.delete(r)}}}}dispatch(e){for(let t of this.#e)t.conversationId===e.conversationId&&t.entryId===e.entryId&&t.listener({rev:e.rev,treeRev:e.treeRev??0})}},vg=`sigrun.railOrder`;function yg(e){return(e.coreViews??[]).map(e=>({slug:`core`,id:e.id,title:e.title,icon:e.icon,...e.refreshMs===void 0?{}:{refreshMs:e.refreshMs}}))}function bg(e){return`${e.slug}/${e.id}`}function xg(e){let t=[];for(let n of e)if(n.status===`ok`)for(let e of n.surfaces??[])e.placement===`view`&&t.push({slug:n.name,id:e.id,title:e.title,icon:e.icon,...e.refreshMs===void 0?{}:{refreshMs:e.refreshMs}});return t}function Sg(e){let t=[];for(let n of e)if(n.status===`ok`)for(let e of n.surfaces??[])e.placement===`panel`&&t.push({slug:n.name,id:e.id,title:e.title,icon:e.icon,...e.perConversation===!0?{perConversation:!0}:{}});return t}function Cg(){return globalThis.localStorage}function wg(){try{let e=Cg()?.getItem(vg);if(e==null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Tg(e){try{Cg()?.setItem(vg,JSON.stringify(e))}catch{}}function Eg(e,t){let n=new Map(e.map(e=>[bg(e),e])),r=[],i=new Set;for(let e of t){let t=n.get(e);t!==void 0&&!i.has(e)&&(r.push(t),i.add(e))}for(let t of e)i.has(bg(t))||r.push(t);return r}function Dg(e,t,n){let r=e.map(e=>bg(e)),i=r.indexOf(t);if(i===-1)return r;let a=i+n;if(a<0||a>=r.length)return r;let o=[...r];return o[i]=r[a]??``,o[a]=t,Tg(o),o}function Og(e,t){return`ext:${e}/${t}`}var kg=`sigrun.panel`;function Ag(){return globalThis.localStorage}function jg(e){if(e===null)return null;if(e===`outline`||e===`workspace`)return e;if(e.startsWith(`ext:`)){let t=e.slice(4).split(`/`);return t.length===2&&t[0]!==``&&t[1]!==``?e:null}return null}function Mg(e,t){return e===t?null:t}function Ng(e,t){if(e===null||!e.startsWith(`ext:`))return e;let n=e.slice(4);return t.some(e=>bg(e)===n)?e:null}function Pg(){try{return jg(Ag()?.getItem(`sigrun.panel`)??null)}catch{return null}}function Fg(e){if(e!==`notices`)try{Ag()?.setItem(kg,e??`none`)}catch{}}function Ig(e){let{title:t,timeline:n,onTimeline:r,panel:i,onPanel:a,onRename:o,onExport:s,onCompact:c,onArchive:l,archived:u=!1,drawerOpen:d,onToggleDrawer:f}=e,[p,m]=(0,v.useState)(!1),[h,g]=(0,v.useState)(t),[_,y]=(0,v.useState)(!1),b=(0,v.useRef)(null);Em(_,()=>y(!1),b);let x=()=>{g(t),m(!0),y(!1)},S=()=>m(!1),C=()=>{let e=h.trim();if(e===``||e===t){m(!1);return}o(e).then(()=>m(!1),()=>m(!1))},w=e=>()=>{y(!1),e()};return(0,R.jsxs)(`header`,{className:`chat-header`,children:[(0,R.jsx)(`button`,{type:`button`,className:`icon-btn chat-menu-toggle`,title:`Conversations`,"aria-label":`open conversations`,"aria-expanded":d,onClick:f,children:(0,R.jsx)(_m,{})}),p?(0,R.jsx)(`input`,{className:`chat-title-input`,value:h,"aria-label":`conversation name`,autoFocus:!0,onChange:e=>g(e.target.value),onBlur:C,onKeyDown:e=>{e.key===`Enter`?C():e.key===`Escape`&&S()}}):(0,R.jsx)(`button`,{type:`button`,className:`chat-title`,title:t,onClick:x,children:t}),(0,R.jsx)(`span`,{className:`chat-header-spacer`}),(0,R.jsx)(`span`,{className:`chat-header-bell`,children:e.bell}),(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":`timeline`,title:`Chronological view — interleave thinking and tool calls in order instead of folding them under the response`,"aria-label":`chronological view`,"aria-pressed":n,onClick:r,children:`⇅`}),(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":`outline`,title:`Outline`,"aria-label":`outline`,"aria-pressed":i===`outline`,onClick:()=>a(`outline`),children:(0,R.jsx)(vm,{})}),(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":`workspace`,title:`Workspace files`,"aria-label":`workspace`,"aria-pressed":i===`workspace`,onClick:()=>a(`workspace`),children:(0,R.jsx)(ym,{})}),e.extPanels.map(e=>{let t=Og(e.slug,e.id);return(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":t,title:e.title,"aria-label":e.title,"aria-pressed":i===t,onClick:()=>a(t),children:(0,R.jsx)(gd,{name:e.icon,size:16})},t)}),(0,R.jsxs)(`span`,{className:`chat-menu-slot`,ref:b,children:[(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`More (export, compact, rename, archive)`,"aria-label":`more actions`,"aria-haspopup":`menu`,"aria-expanded":_,onClick:()=>y(e=>!e),children:(0,R.jsx)(xm,{})}),_&&(0,R.jsxs)(`div`,{className:`chat-menu`,role:`menu`,children:[(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`export`,onClick:w(s),children:`Export`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`compact`,onClick:w(c),children:`Compact`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`rename`,onClick:w(x),children:`Rename`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`archive`,onClick:w(l),children:u?`Unarchive`:`Archive`})]})]})]})}function Lg(e){return e===`skills`||e===`jobs`?e:null}function Rg(e){return(0,R.jsxs)(`button`,{type:`button`,className:e.active?`bottom-bar-btn bottom-bar-btn-active`:`bottom-bar-btn`,"data-tab":e.tab,"aria-label":e.title.toLowerCase(),...e.active?{"aria-current":`page`}:{},onClick:t=>{t.preventDefault(),!(e.active&&e.tab!==`more`)&&e.onPress()},children:[e.children,(0,R.jsx)(`span`,{className:`bottom-bar-label`,children:e.title})]})}function zg(e){let[t,n]=(0,v.useState)(!1),r=new Map,i=[];for(let t of e.extViews)t.slug===`core`&&Lg(t.id)!==null?r.set(t.id,t):i.push(t);let a=e.active===`settings`||e.active.startsWith(`ext:`),o=t=>()=>{n(!1),e.onTab(t)};return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`nav`,{className:`bottom-bar`,"aria-label":`sections`,children:[(0,R.jsx)(Rg,{tab:`chats`,title:`Chats`,active:e.active===`chats`,onPress:()=>e.onTab(`chats`),children:(0,R.jsx)(mm,{})}),[`skills`,`jobs`].map(t=>{let n=r.get(t);return n===void 0?null:(0,R.jsx)(Rg,{tab:t,title:n.title,active:e.active===t,onPress:()=>e.onTab(t),children:(0,R.jsx)(gd,{name:n.icon,size:18})},t)}),(0,R.jsx)(Rg,{tab:`more`,title:`More`,active:a,onPress:()=>n(e=>!e),children:(0,R.jsx)(xm,{})})]}),t&&(0,R.jsx)(`div`,{className:`bottom-sheet-backdrop`,onClick:()=>n(!1),children:(0,R.jsxs)(`div`,{className:`bottom-sheet`,role:`dialog`,"aria-label":`More views`,onClick:e=>e.stopPropagation(),children:[i.map(e=>{let t=`ext:${e.slug}/${e.id}`;return(0,R.jsxs)(`button`,{type:`button`,className:`bottom-sheet-item`,"aria-label":e.title.toLowerCase(),onClick:o(t),children:[(0,R.jsx)(gd,{name:e.icon,size:18}),(0,R.jsx)(`span`,{children:e.title})]},`${e.slug}/${e.id}`)}),(0,R.jsxs)(`button`,{type:`button`,className:`bottom-sheet-item`,"aria-label":`settings`,onClick:o(`settings`),children:[(0,R.jsx)(gm,{}),(0,R.jsx)(`span`,{children:`Settings`})]}),e.onSignOut!==void 0&&(0,R.jsxs)(`button`,{type:`button`,className:`bottom-sheet-item`,"aria-label":`sign out`,onClick:()=>{n(!1),e.onSignOut?.()},children:[(0,R.jsx)(Cm,{}),(0,R.jsx)(`span`,{children:`Sign out`})]})]})})]})}function Bg(e){let t=e.extensions.every(e=>e.status===`ok`),n=e.health.memory===`ok`&&e.health.providers===`ok`&&e.health.backup!==`degraded`;return t&&n?`ok`:`degraded`}function Vg(e){return`${e.extensions.length===0?`extensions: none`:`extensions: ${e.extensions.map(e=>`${e.name}: ${e.status}`).join(`; `)}`} · backup: ${e.health.backup}`}function Hg(e){return(0,R.jsx)(`button`,{type:`button`,className:e.active?`rail-btn rail-btn-active`:`rail-btn`,"data-rail-section":e.tab,title:e.title,"aria-label":e.title.toLowerCase(),...e.active?{"aria-current":`page`}:{},onClick:()=>{e.active||e.onOpenTab?.(e.tab)},...e.onKeyDown===void 0?{}:{onKeyDown:e.onKeyDown},children:e.children})}function Ug(e){let{meta:t,identity:n,onLogout:r}=e,{onOpenGallery:i}=e,a=n?.method===`token`||n?.method===`session`,o=e.activeTab===void 0?`chats`:e.activeTab,s=new Set(e.hiddenExtSurfaces??[]),c=(e.extViewEntries??Eg(xg(t.extensions),wg())).filter(e=>!s.has(`${e.slug}/${e.id}`)),l=yg(t);return(0,R.jsxs)(`nav`,{className:`rail`,"aria-label":`sections`,children:[e.bell,(0,R.jsx)(`span`,{className:`rail-brand`,title:`sigrun`,children:(0,R.jsx)(pm,{})}),(0,R.jsx)(Hg,{tab:`chats`,title:`Chats`,active:o===`chats`,onOpenTab:e.onOpenTab,children:(0,R.jsx)(mm,{})}),t.dev&&i!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`rail-btn`,"data-rail-section":`blocks`,title:`Blocks`,"aria-label":`blocks gallery`,onClick:i,children:(0,R.jsx)(hm,{})}),l.map(t=>{let n=`ext:core/${t.id}`;return(0,R.jsx)(Hg,{tab:t.id===`skills`||t.id===`jobs`?t.id:n,title:t.title,active:o===(t.id===`skills`||t.id===`jobs`?t.id:n),onOpenTab:e.onOpenTab,children:(0,R.jsx)(gd,{name:t.icon,size:18})},`core/${t.id}`)}),c.map(t=>{let n=`ext:${t.slug}/${t.id}`,r=o===n;return(0,R.jsx)(Hg,{tab:n,title:t.title,active:r,onOpenTab:e.onOpenTab,onKeyDown:n=>{n.altKey&&(n.key===`ArrowUp`?(n.preventDefault(),e.onMoveExtView?.(`${t.slug}/${t.id}`,-1)):n.key===`ArrowDown`&&(n.preventDefault(),e.onMoveExtView?.(`${t.slug}/${t.id}`,1)))},children:(0,R.jsx)(gd,{name:t.icon,size:18})},`${t.slug}/${t.id}`)}),(0,R.jsx)(`span`,{className:`rail-spacer`}),(0,R.jsx)(`span`,{className:`rail-health`,"data-health":Bg(t),title:Vg(t)}),a&&(0,R.jsx)(`span`,{className:`rail-user`,"data-rail-user":n.user??``,title:n.user===void 0?`signed in`:`signed in as ${n.user}`,children:n.user??`—`}),a&&r!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`rail-btn`,"data-rail-section":`logout`,title:`Sign out`,"aria-label":`sign out`,onClick:r,children:(0,R.jsx)(Cm,{})}),(0,R.jsx)(Hg,{tab:`settings`,title:`Settings`,active:o===`settings`,onOpenTab:e.onOpenTab,children:(0,R.jsx)(gm,{})})]})}function Wg(e){let{selection:t,outline:n,workspace:r,notices:i,extContent:a}=e;if(t===null)return null;let o=t.startsWith(`ext:`);return(0,R.jsx)(`aside`,{className:`right-panel`,"data-panel":o?`ext`:t,"aria-label":`${o?`extension`:t} panel`,children:o?a??null:t===`outline`?n:t===`notices`?i:r})}var Gg=`sigrun.tabs`;function Kg(e){return e.kind===`chat`?`chats`:e.kind===`settings`?`settings`:e.slug===`core`&&e.id===`skills`?`skills`:e.slug===`core`&&e.id===`jobs`?`jobs`:`ext:${e.slug??``}/${e.id??``}`}function qg(e){if(e===`chats`)return`#/c`;if(e===`skills`)return`#/ext/core/skills`;if(e===`jobs`)return`#/ext/core/jobs`;if(e===`settings`)return`#/settings`;let t=/^ext:([^/]+)\/(.+)$/.exec(e);return t===null?`#/c`:`#/ext/${encodeURIComponent(t[1]??``)}/${encodeURIComponent(t[2]??``)}`}function Jg(){return globalThis.sessionStorage}var Yg=class{#e;constructor(){this.#e=new Map;try{let e=Jg()?.getItem(Gg);if(e==null)return;let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))return;for(let[e,n]of Object.entries(t))typeof n==`string`&&this.#e.set(e,n)}catch{}}remember(e,t){this.#e.set(e,t);try{Jg()?.setItem(Gg,JSON.stringify(Object.fromEntries(this.#e)))}catch{}}routeFor(e){return this.#e.get(e)??qg(e)}};function Xg(e){let t=null,n=1/0;for(let[r,i]of e)i.isIntersecting&&i.top<n&&(n=i.top,t=r);return t}function Zg(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Qg(e){let{scrollRoot:t,turns:n}=e,[r,i]=(0,v.useState)(null),[a,o]=(0,v.useState)(()=>new Set),s=(0,v.useRef)(null),c=n.map(e=>e.entryId).join(`,`);return(0,v.useEffect)(()=>{i(null)},[t,c]),(0,v.useEffect)(()=>{if(t===null)return;let e=globalThis.IntersectionObserver;if(e===void 0)return;let r=new Map,a=new e(e=>{for(let t of e){let e=t.target,n=Number(e.getAttribute(`data-entry-id`));Number.isFinite(n)&&r.set(n,{isIntersecting:t.isIntersecting,top:e.getBoundingClientRect().top})}i(Xg(r))});for(let e of n){let n=t.querySelector(`[data-entry-id="${e.entryId}"]`);n!==null&&a.observe(n)}return()=>{a.disconnect()}},[t,c]),(0,v.useLayoutEffect)(()=>{let e=s.current;if(e===null)return;let t=()=>{let t=new Set;for(let n of e.querySelectorAll(`.outline-text`)){if(n.scrollHeight<=n.clientHeight+1)continue;let e=n.closest(`.outline-item`),r=Number(e?.getAttribute(`data-entry-id`));Number.isFinite(r)&&t.add(r)}o(e=>Zg(e,t)?e:t)};t();let n=globalThis.ResizeObserver;if(n===void 0)return;let r=new n(t);return r.observe(e),()=>{r.disconnect()}},[t,c]),n.length===0?(0,R.jsxs)(`div`,{className:`right-panel-body outline-body`,children:[(0,R.jsx)(`h4`,{className:`right-panel-title`,children:`Outline`}),(0,R.jsx)(`p`,{className:`outline-empty`,children:`No prompts yet`})]}):(0,R.jsxs)(`div`,{className:`right-panel-body outline-body`,children:[(0,R.jsx)(`h4`,{className:`right-panel-title`,children:`Outline`}),(0,R.jsx)(`nav`,{className:`outline`,"aria-label":`conversation outline`,ref:s,children:n.map(e=>(0,R.jsx)(`button`,{type:`button`,className:`outline-item`,"data-entry-id":e.entryId,"data-clamped":a.has(e.entryId)?`true`:void 0,title:e.text,"aria-current":r===e.entryId?`true`:void 0,onClick:()=>{t?.querySelector(`[data-entry-id="${e.entryId}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`})},children:(0,R.jsx)(`span`,{className:`outline-text`,children:e.text})},e.entryId))})]})}var $g=`79bdfd95541951f9db86236ee2a2f81cce481a5d8688090837a2bdde83d52c97`,e_=`sigrun-session-search`,t_=[`Pinned`,`Today`,`Yesterday`,`Earlier`];function n_(){(globalThis.document?.getElementById(e_))?.focus()}function r_(e,t){let n=new Set,r=new Map(e.map(e=>[e.id,e]));for(let i of e){if(!oe(i).toLowerCase().includes(t))continue;let e=i;for(;e!==void 0&&!n.has(e.id);)n.add(e.id),e=e.parent===void 0?void 0:r.get(e.parent.id)}return n}function i_(e,t){let n=[];for(let r of t_){let i=e.filter(e=>te(e,t)===r);if(i.length===0)continue;n.push({kind:`heading`,group:r});let a=(e,t)=>{n.push({kind:`row`,node:e,depth:t});for(let n of e.children)a(n,t+1)};for(let e of i)a(e,0)}return n}function a_(e){let{rows:t,activeId:n,onSelect:r,onNew:i,onRename:a,onArchive:o,onFork:s,currentUser:c,onShare:l}=e,[u,d]=(0,v.useState)(``),[f,p]=(0,v.useState)(!1),[m,h]=(0,v.useState)(null),g=(0,v.useRef)(null);Em(m!==null,()=>h(null),g);let[_,y]=(0,v.useState)(null);(0,v.useEffect)(()=>{let e=globalThis.window;if(e===void 0)return;let t=e=>{(e.ctrlKey||e.metaKey)&&(e.key===`k`||e.key===`K`)&&(e.preventDefault(),n_())};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[]);let b=new Date,x=(0,v.useMemo)(()=>{let e=u.trim().toLowerCase(),n=r_(t,e);return i_(D(e===``?t:t.filter(e=>n.has(e.id)),{includeArchived:f}),b)},[t,u,f,b.getTime()]),S=e=>{if(_===null||_.id!==e)return;let n=t.find(t=>t.id===e),r=_.draft.trim();if(n===void 0||r===``||r===oe(n)){y(null);return}a(e,r).then(()=>y(null),()=>y(null))};return(0,R.jsxs)(`nav`,{className:`session-list`,"aria-label":`conversations`,children:[(0,R.jsxs)(`div`,{className:`session-search-row`,children:[(0,R.jsx)(`input`,{id:e_,className:`session-search`,type:`search`,placeholder:`Search`,"aria-label":`search conversations`,value:u,onChange:e=>d(e.target.value)}),(0,R.jsx)(`button`,{type:`button`,className:`session-new`,title:`New conversation`,"aria-label":`new conversation`,onClick:i,children:(0,R.jsx)(bm,{})})]}),(0,R.jsxs)(`ul`,{children:[x.map(e=>{if(e.kind===`heading`)return(0,R.jsx)(`li`,{className:`session-group`,"data-age-group":e.group,children:e.group},`group-${e.group}`);let{node:t,depth:i}=e,a=t.row,u=oe(a),d=_!==null&&_.id===a.id,f=l!==void 0&&c!==void 0&&a.owner===c,p=[`session-item`,a.id===n?`session-item-active`:``,a.archived?`session-item-archived`:``].filter(Boolean).join(` `);return(0,R.jsxs)(`li`,{className:p,"data-conversation-id":a.id,"data-depth":i,style:i===0?void 0:{paddingLeft:6+i*14},children:[i>0&&(0,R.jsx)(`span`,{className:`session-fork-mark`,"aria-hidden":`true`,children:`↳`}),d?(0,R.jsx)(`input`,{className:`session-rename-input`,"aria-label":`conversation name`,value:_.draft,onChange:e=>y({id:a.id,draft:e.target.value}),onKeyDown:e=>{e.key===`Enter`?S(a.id):e.key===`Escape`&&y(null)}}):(0,R.jsx)(`button`,{type:`button`,className:`session-select`,title:u,onClick:()=>r(a.id),children:(0,R.jsx)(`span`,{className:`session-name`,children:u})}),(0,R.jsx)(`span`,{className:`session-age`,children:ae(a.lastActivityAt,b)}),(0,R.jsxs)(`span`,{className:`session-row-actions`,ref:m===a.id?g:void 0,children:[(0,R.jsx)(`button`,{type:`button`,className:`session-menu-toggle`,"aria-label":`actions for ${u}`,"aria-haspopup":`menu`,"aria-expanded":m===a.id,onClick:()=>h(m===a.id?null:a.id),children:(0,R.jsx)(xm,{})}),m===a.id&&(0,R.jsxs)(`div`,{className:`session-menu`,role:`menu`,children:[f&&(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`share`,onClick:()=>{h(null),l?.(a.id)},children:`Share…`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`rename`,onClick:()=>{h(null),y({id:a.id,draft:u})},children:`Rename`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`fork`,onClick:()=>{h(null),s(a.id)},children:`Fork`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`archive`,onClick:()=>{h(null),o(a.id,!a.archived)},children:a.archived?`Unarchive`:`Archive`})]})]})]},a.id)}),x.length===0&&u.trim()!==``&&(0,R.jsx)(`li`,{className:`session-empty`,children:`No matching conversations`})]}),(0,R.jsx)(`button`,{type:`button`,className:`session-archived-toggle`,"aria-pressed":f,title:`Show archived conversations`,onClick:()=>p(e=>!e),children:`Archived`})]})}function o_(e){if(e instanceof x){let t={proxy_identity_required:`This sigrun signs people in through its sign-in proxy. Open it through the proxy.`,username_taken:`That username is taken. Choose another.`,invalid_username:`That name has no usable characters — use at least one letter or digit.`},n=e.error??``;if(Object.hasOwn(t,n))return t[n];if(e.error!==void 0)return e.error}return e instanceof Error?e.message:String(e)}function s_(e){return e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e!==``)}function c_(e){let{client:t,conversation:n,onClose:r,onSaved:i}=e,a=n.sharing,[o,s]=(0,v.useState)(a?.scope??`private`),[c,l]=(0,v.useState)(a?.scope===`household`||a?.scope===`people`?a.level:`read`),[u,d]=(0,v.useState)(a?.scope===`people`?a.users.join(`, `):``),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(!1);async function g(e){h(!0),p(null);try{await t.patchConversationMeta(n.id,{sharing:e}),await i()}catch(e){p(o_(e))}finally{h(!1)}}function _(e){m||(s(e),e===`private`?g({scope:`private`}):e===`household`&&g({scope:`household`,level:c}))}function y(e){m||(l(e),o===`household`&&g({scope:`household`,level:e}))}function b(){if(m)return;let e=s_(u);if(e.length===0){p(`enter at least one username to share with`);return}g({scope:`people`,users:e,...a?.scope===`people`&&a.groups!==void 0?{groups:[...a.groups]}:{},level:c})}return(0,R.jsxs)(`div`,{className:`share-menu`,role:`dialog`,"aria-label":`share conversation`,children:[(0,R.jsxs)(`div`,{className:`share-head`,children:[(0,R.jsx)(`h2`,{children:`Share`}),(0,R.jsx)(`button`,{type:`button`,className:`share-close`,"aria-label":`close share dialog`,onClick:r,children:`Close`})]}),(0,R.jsxs)(`div`,{className:`share-scopes`,children:[(0,R.jsxs)(`button`,{type:`button`,className:`share-scope`,"data-share-scope":`private`,"data-selected":o===`private`||void 0,"aria-pressed":o===`private`,disabled:m,onClick:()=>_(`private`),children:[`Private`,(0,R.jsx)(`span`,{className:`share-scope-hint`,children:`only you`})]}),(0,R.jsxs)(`button`,{type:`button`,className:`share-scope`,"data-share-scope":`household`,"data-selected":o===`household`||void 0,"aria-pressed":o===`household`,disabled:m,onClick:()=>_(`household`),children:[`Household`,(0,R.jsx)(`span`,{className:`share-scope-hint`,children:`everyone signed in`})]}),(0,R.jsxs)(`button`,{type:`button`,className:`share-scope`,"data-share-scope":`people`,"data-selected":o===`people`||void 0,"aria-pressed":o===`people`,disabled:m,onClick:()=>_(`people`),children:[`People`,(0,R.jsx)(`span`,{className:`share-scope-hint`,children:`named users`})]})]}),o!==`private`&&(0,R.jsxs)(`div`,{className:`share-level`,role:`group`,"aria-label":`access level`,children:[(0,R.jsx)(`button`,{type:`button`,className:`share-level-btn`,"data-share-level":`read`,"data-selected":c===`read`||void 0,"aria-pressed":c===`read`,disabled:m,onClick:()=>y(`read`),children:`Can view`}),(0,R.jsx)(`button`,{type:`button`,className:`share-level-btn`,"data-share-level":`write`,"data-selected":c===`write`||void 0,"aria-pressed":c===`write`,disabled:m,onClick:()=>y(`write`),children:`Can edit`})]}),o===`people`&&(0,R.jsxs)(`label`,{className:`share-field`,children:[`Usernames`,(0,R.jsx)(`input`,{"data-share-field":`users`,placeholder:`carol, dave`,value:u,onChange:e=>d(e.target.value)}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:m,onClick:b,children:`Share with people`})]}),o!==`private`&&c===`write`&&(0,R.jsx)(`p`,{className:`share-warning`,role:`alert`,children:`Others can ask the agent to act as you.`}),f!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:f})]})}var l_=5e3,u_=2,d_=5e3,f_=6e4;function p_(e,t,n,r,i,a){if(i===void 0&&globalThis.EventSource===void 0)return()=>{};let o=()=>i===void 0?new EventSource(`/v1/events`):i(`/v1/events`),s,c,l=d_,u=!1,d=()=>{let e=o();s=e,f(e),e.addEventListener(`hello`,()=>{l=d_}),e.addEventListener(`error`,()=>{u||e.readyState!==u_||c===void 0&&s===e&&(e.close(),c=setTimeout(()=>{c=void 0,u||d()},l),l=Math.min(l*2,f_))})};return d(),()=>{u=!0,c!==void 0&&clearTimeout(c),s?.close()};function f(i){let o=()=>e();i.addEventListener(`conversation.created`,o),i.addEventListener(`conversation.changed`,o),i.addEventListener(`surface.changed`,e=>{try{let t=JSON.parse(e.data);if(typeof t==`object`&&t&&typeof t.conversationId==`number`&&typeof t.entryId==`string`&&typeof t.rev==`number`){r?.(t);return}}catch{}if(n!==void 0)try{let t=JSON.parse(e.data);typeof t==`object`&&t&&typeof t.slug==`string`&&typeof t.id==`string`&&typeof t.k==`string`&&typeof t.rev==`number`&&typeof t.treeRev==`number`&&n(t)}catch{}}),a!==void 0&&i.addEventListener(`notice.changed`,()=>a()),i.addEventListener(`hello`,e=>{try{let n=JSON.parse(e.data);typeof n==`object`&&n&&typeof n.streamId==`string`&&t(n.streamId)}catch{}})}}function m_(e,t){let n=t.busy,[r,i]=(0,v.useState)([]),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(void 0),l=(0,v.useRef)(void 0),u=(0,v.useRef)(new Set),d=(0,v.useCallback)(async()=>{try{let t=await e.listConversations();i(t.conversations),o(null)}catch(e){o(e instanceof Error?e.message:String(e))}},[e]),f=(0,v.useCallback)(async(e,n,r)=>{let i=l.current;return(await(t.fetchImpl??fetch)(r===void 0||Object.keys(r).length===0?`/v1/ext/${e}/surfaces/${n}`:`/v1/ext/${e}/surfaces/${n}?params=${encodeURIComponent(JSON.stringify(r))}`,{headers:i===void 0?{accept:`application/json`}:{accept:`application/json`,"x-sigrun-stream":i}})).json()},[t.fetchImpl]),p=(0,v.useCallback)((e,t,n)=>{let r=n===void 0?`{}`:Ee(n);u.current.add(`${e}\u0001${t}\u0001${r}`)},[]),m=(0,v.useCallback)(e=>{let t=l.current;if(l.current=e,c(e),t!==void 0&&t!==e){d();for(let e of u.current){let[t,n,r]=e.split(``),i;if(r!==void 0&&r!==`{}`)try{let e=JSON.parse(r);typeof e==`object`&&e&&!Array.isArray(e)&&(i=e)}catch{}f(t??``,n??``,i)}}},[f,d]);(0,v.useEffect)(()=>{d()},[d]),(0,v.useEffect)(()=>{let e=globalThis.document;if(e?.addEventListener===void 0)return;let t=()=>{e.visibilityState===`visible`&&d()};return e.addEventListener(`visibilitychange`,t),()=>e.removeEventListener?.(`visibilitychange`,t)},[d]),(0,v.useEffect)(()=>p_(()=>{d()},m,t.onSurfaceChanged,t.onChatChanged,t.createEventSource,t.onNoticeChanged),[d,m,t.createEventSource,t.onSurfaceChanged,t.onChatChanged,t.onNoticeChanged]);let h=(0,v.useRef)(n);return(0,v.useEffect)(()=>{let e=h.current;if(h.current=n,!e||n)return;d();let t=setTimeout(()=>void d(),l_);return()=>clearTimeout(t)},[n,d]),{rows:r,reload:d,error:a,streamId:s,fetchSurface:f,noteSurfaceVisible:p}}var h_={fjord:{label:`Fjord`,defaultAccent:`baltic-amber`,dark:{bg:`#0b0f13`,surface:`#11171e`,surface2:`#18202a`,border:`#222d39`,text:`#dde6ee`,muted:`#8d9cab`,faint:`#5f6e7d`,ok:`#7fbf9a`,code:`rgba(255,255,255,.06)`},light:{bg:`#eef2f5`,surface:`#ffffff`,surface2:`#e3e9ef`,border:`#d3dbe3`,text:`#18212a`,muted:`#4d5b69`,faint:`#8593a1`,ok:`#2f8a5a`,code:`rgba(0,0,0,.05)`}},"iron-ember":{label:`Iron & Ember`,defaultAccent:`ember`,dark:{bg:`#0e0e0f`,surface:`#161618`,surface2:`#1e1e21`,border:`#2a2a2e`,text:`#e6e1da`,muted:`#9a958e`,faint:`#66625d`,ok:`#8fb58a`,code:`rgba(255,255,255,.06)`},light:{bg:`#f3f1ee`,surface:`#fbfaf8`,surface2:`#e9e6e1`,border:`#dbd7d1`,text:`#1c1b1a`,muted:`#55524d`,faint:`#8e8a84`,ok:`#3e7a3a`,code:`rgba(0,0,0,.05)`}},"polar-night":{label:`Polar Night`,defaultAccent:`aurora`,dark:{bg:`#090d16`,surface:`#0f1524`,surface2:`#161e31`,border:`#1f2942`,text:`#e2e8f3`,muted:`#8e9ab2`,faint:`#5d6984`,ok:`#5fd4a8`,code:`rgba(255,255,255,.06)`},light:{bg:`#f0f3f9`,surface:`#ffffff`,surface2:`#e4e9f3`,border:`#d2d9e6`,text:`#141b2b`,muted:`#4b5670`,faint:`#8691a8`,ok:`#13866a`,code:`rgba(0,0,0,.05)`}},"birch-moss":{label:`Birch & Moss`,defaultAccent:`lichen`,dark:{bg:`#0d100d`,surface:`#141a15`,surface2:`#1b221c`,border:`#263027`,text:`#e8e6dc`,muted:`#9ba091`,faint:`#666d60`,ok:`#9cc48a`,code:`rgba(255,255,255,.06)`},light:{bg:`#f3f2ea`,surface:`#fbfbf6`,surface2:`#e7e7dc`,border:`#d8d8ca`,text:`#1b1e18`,muted:`#525849`,faint:`#8b9080`,ok:`#4a7a35`,code:`rgba(0,0,0,.05)`}}},g_={"baltic-amber":{label:`Baltic Amber`,dark:`#d6a24a`,light:`#a8741f`},ember:{label:`Ember`,dark:`#d9773a`,light:`#b8571c`},lingonberry:{label:`Lingonberry`,dark:`#d0606a`,light:`#a83440`},glacier:{label:`Glacier`,dark:`#8fb8d0`,light:`#2f6f93`},aurora:{label:`Aurora`,dark:`#5fd4a8`,light:`#13866a`},lichen:{label:`Lichen`,dark:`#b9c46a`,light:`#6f7a1f`},heather:{label:`Heather`,dark:`#a993c9`,light:`#6c4f99`}},__=[`fjord`,`iron-ember`,`polar-night`,`birch-moss`],v_=[`baltic-amber`,`ember`,`lingonberry`,`glacier`,`aurora`,`lichen`,`heather`],y_=`polar-night`,b_=`baltic-amber`;function x_(e){return typeof e==`string`&&Object.prototype.hasOwnProperty.call(h_,e)}function S_(e){return typeof e==`string`&&Object.prototype.hasOwnProperty.call(g_,e)}function C_(e){let{client:t}=e,[n,r]=(0,v.useState)(null),[i,a]=(0,v.useState)([]),[o,s]=(0,v.useState)(null),[c,l]=(0,v.useState)(null);(0,v.useEffect)(()=>{let e=!1;return Promise.all([t.accounts(),t.providers()]).then(([t,n])=>{e||(r(t.accounts),a(n.providers))}).catch(t=>{e||s(o_(t))}),()=>{e=!0}},[t]);async function u(e){l(`${e.provider}\u0000${e.subject}`),s(null);try{await t.removeAccount(e.provider,e.subject),r(t=>t?.filter(t=>t.provider!==e.provider||t.subject!==e.subject)??null)}catch(e){s(o_(e))}finally{l(null)}}return n===null?(0,R.jsx)(`p`,{className:`settings-note`,role:o===null?void 0:`alert`,children:o??`loading account links…`}):(0,R.jsxs)(`div`,{className:`settings-body`,"data-settings-section":`accounts`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`External identities linked to your sigrun account.`}),o!==null&&(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:o}),n.length===0&&(0,R.jsx)(`p`,{className:`settings-note`,children:`No account links.`}),n.map(e=>(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsxs)(`span`,{className:`settings-ext-key`,children:[i.find(t=>t.provider===e.provider)?.label??e.provider,` · `,e.subject]}),(0,R.jsx)(`button`,{type:`button`,className:`account-remove`,disabled:c!==null,onClick:()=>void u(e),children:`Remove`})]},`${e.provider}\u0000${e.subject}`)),i.length>0&&(0,R.jsxs)(`div`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Connect an account`}),i.map(e=>(0,R.jsx)(`a`,{className:`account-connect`,href:`/v1/auth/login/${encodeURIComponent(e.provider)}?link=1&return=%2Fsettings%3Fsection%3Daccounts`,children:`Connect`},e.provider))]})]})}function w_(e){let{client:t}=e,[n,r]=(0,v.useState)({status:`loading`}),[i,a]=(0,v.useState)({});(0,v.useEffect)(()=>{let e=!1;return t.listProviders().then(t=>{e||r({status:`ready`,providers:t.providers})}).catch(t=>{e||r({status:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},[t]);let o=e=>{r(t=>t.status===`ready`?{status:`ready`,providers:t.providers.map(t=>t.provider===e.provider?e:t)}:t)},s=(e,t)=>{a(n=>({...n,[e]:{key:``,...n[e],...t}}))},c=async e=>{let n=i[e];if(n!==void 0&&n.key!==``)try{o(await t.putProviderCredential(e,n.key)),s(e,{key:``,note:{kind:`ok`,message:`saved`}})}catch(t){s(e,{note:{kind:`error`,message:t instanceof Error?t.message:String(t)}})}},l=async e=>{try{o(await t.deleteProviderCredential(e)),s(e,{note:{kind:`ok`,message:`cleared`}})}catch(t){s(e,{note:{kind:`error`,message:t instanceof Error?t.message:String(t)}})}},u=async e=>{try{o(await t.refreshProvider(e))}catch(t){s(e,{note:{kind:`error`,message:t instanceof Error?t.message:String(t)}})}};return n.status===`loading`?(0,R.jsx)(`p`,{className:`settings-note`,children:`loading providers…`}):n.status===`error`?(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:n.message}):n.providers.length===0?(0,R.jsx)(`div`,{className:`settings-body`,children:(0,R.jsx)(`p`,{className:`settings-note`,children:`no providers are loaded`})}):(0,R.jsxs)(`div`,{className:`settings-body settings-provider-list`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`readiness and credentials per provider — the key field is write-only (the server never returns it); saving applies immediately, no restart`}),n.providers.map(e=>{let t=i[e.provider]??{key:``};return(0,R.jsxs)(`fieldset`,{className:`settings-provider`,"data-provider":e.provider,children:[(0,R.jsxs)(`legend`,{className:`settings-provider-name`,children:[e.provider,(0,R.jsx)(`span`,{className:`settings-provider-status`,"data-status":e.status,children:e.status}),(0,R.jsxs)(`span`,{className:`settings-provider-meta`,children:[e.models,` model`,e.models===1?``:`s`]})]}),e.detail!==void 0&&(0,R.jsx)(`p`,{className:`settings-note`,children:e.detail}),(0,R.jsxs)(`div`,{className:`settings-provider-row`,children:[(0,R.jsx)(`input`,{type:`password`,className:`settings-provider-key`,placeholder:`api key`,value:t.key,autoComplete:`off`,onChange:t=>s(e.provider,{key:t.target.value})}),(0,R.jsx)(`button`,{type:`button`,className:`settings-provider-save`,disabled:t.key===``,onClick:()=>void c(e.provider),children:`Save`}),(0,R.jsx)(`button`,{type:`button`,className:`settings-provider-clear`,onClick:()=>void l(e.provider),children:`Clear`}),(0,R.jsx)(`button`,{type:`button`,className:`settings-provider-refresh`,onClick:()=>void u(e.provider),children:`Refresh`}),t.note!==void 0&&(0,R.jsx)(`span`,{className:`settings-note`,role:t.note.kind===`ok`?`status`:`alert`,children:t.note.message})]})]},e.provider)})]})}var T_=/\p{M}/gu,E_=/@/g,D_=/[^a-z0-9._-]/g,O_=/^[^a-z0-9]+/;function k_(e){let t=e.normalize(`NFKD`).replace(T_,``).toLowerCase().replace(E_,`_`).replace(D_,`-`).replace(O_,``).slice(0,128);return t===``?void 0:t}function A_(e){let{client:t,state:n,onClaimed:r}=e,[i,a]=(0,v.useState)(``),[o,s]=(0,v.useState)(``),[c,l]=(0,v.useState)(``),[u,d]=(0,v.useState)(``),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(!1),g=n.proxyIdentity,_=o.trim(),y=_===``?void 0:k_(_),b=_!==``&&y===void 0;async function x(){h(!0),p(null);try{await t.claim({}),r()}catch(e){p(o_(e))}finally{h(!1)}}async function S(){let e=o.trim();if(n.codeRequired&&i.trim()===``){p(`enter the setup code (find it in the server log)`);return}if(e===``){p(`choose a username`);return}h(!0),p(null);try{await t.claim({...n.codeRequired?{code:i.trim()}:{},user:e,...c.trim()===``?{}:{name:c.trim()},...u.trim()===``?{}:{email:u.trim()},issueToken:!0,tokenName:`webui`}),r()}catch(e){p(o_(e))}finally{h(!1)}}return(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Set up sigrun`}),g===void 0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`auth-message`,children:`Claim this server: the first user is its administrator.`}),n.codeRequired&&(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Setup code`,(0,R.jsx)(`input`,{"data-auth-field":`code`,autoComplete:`one-time-code`,value:i,onChange:e=>a(e.target.value)})]}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Username`,(0,R.jsx)(`input`,{"data-auth-field":`user`,autoComplete:`username`,value:o,onChange:e=>s(e.target.value)})]}),b?(0,R.jsx)(`p`,{className:`auth-message`,"data-auth-preview":`invalid`,children:`Your username needs at least one letter or digit.`}):y===void 0?null:(0,R.jsxs)(`p`,{className:`auth-message`,"data-auth-preview":`user`,children:[`Your username will be `,(0,R.jsx)(`strong`,{children:y})]}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Name `,(0,R.jsx)(`span`,{className:`auth-optional`,children:`(optional)`}),(0,R.jsx)(`input`,{"data-auth-field":`name`,autoComplete:`name`,value:c,onChange:e=>l(e.target.value)})]}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Email `,(0,R.jsx)(`span`,{className:`auth-optional`,children:`(optional)`}),(0,R.jsx)(`input`,{"data-auth-field":`email`,type:`email`,autoComplete:`email`,value:u,onChange:e=>d(e.target.value)})]}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:m||b,onClick:()=>void S(),children:m?`Claiming…`:`Set up sigrun`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`auth-message`,children:`Your proxy vouches for your identity. Continuing claims this server as:`}),(0,R.jsxs)(`p`,{className:`auth-identity`,children:[(0,R.jsx)(`strong`,{children:g.user}),g.name===void 0?``:` — ${g.name}`,g.email===void 0?``:` · ${g.email}`]}),g.subject!==g.user&&(0,R.jsx)(`p`,{className:`auth-message`,"data-auth-proxy":`subject`,children:g.subject}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:m,onClick:()=>void x(),children:`Continue as ${g.user}`})]}),f!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:f})]})}function j_(e){let{client:t}=e,[n,r]=(0,v.useState)(null),[i,a]=(0,v.useState)(null),[o,s]=(0,v.useState)(``),[c,l]=(0,v.useState)(!1),[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(!1),g=(0,v.useRef)(null);(0,v.useEffect)(()=>()=>{g.current!==null&&clearTimeout(g.current)},[]),(0,v.useEffect)(()=>{let e=!1;return t.listTokens().then(t=>{e||r(t)}).catch(t=>{e||a(o_(t))}),()=>{e=!0}},[t]);async function _(){if(!(o.trim()===``||c)){l(!0),a(null);try{let e=await t.createToken(o.trim());d({id:e.record.id,token:e.token,name:e.record.name}),r(t=>t===null?t:[...t,e.record]),s(``)}catch(e){a(o_(e))}finally{l(!1)}}}async function y(e){if(!(f===null||c)){l(!0),a(null);try{await t.revokeToken(e),r(t=>t===null?t:t.filter(t=>t.id!==e)),d(t=>t?.id===e?null:t),p(null)}catch(e){a(o_(e))}finally{l(!1)}}}function b(){u!==null&&(nd(u.token),h(!0),g.current!==null&&clearTimeout(g.current),g.current=setTimeout(()=>h(!1),1500))}if(n===null)return(0,R.jsx)(`p`,{className:`settings-note`,role:i===null?void 0:`alert`,children:i??`loading tokens…`});let x=n.filter(e=>e.kind!==`session`),S=globalThis.location?.origin??``,C=S===``?`<your sigrun URL>`:S;return(0,R.jsxs)(`div`,{className:`settings-body`,"data-settings-section":`tokens`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`Bearer tokens for the CLI, scripts, and sign-in. A token is shown once at creation — the server stores only its digest.`}),i!==null&&(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:i}),u!==null&&(0,R.jsxs)(`fieldset`,{className:`settings-field token-reveal`,children:[(0,R.jsxs)(`legend`,{className:`settings-label`,children:[`Token created: `,u.name]}),(0,R.jsx)(`p`,{className:`settings-note`,children:`Copy it now — it is never shown again.`}),(0,R.jsx)(`code`,{className:`token-secret`,children:u.token}),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`button`,{type:`button`,className:`token-copy`,onClick:b,children:m?`Copied`:`Copy`}),(0,R.jsx)(`button`,{type:`button`,className:`token-dismiss`,onClick:()=>d(null),children:`Done`})]}),(0,R.jsxs)(`label`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`CLI`}),(0,R.jsx)(`code`,{className:`token-snippet`,children:`SIGRUN_TOKEN=${u.token} sigrun attach --server ${C}`})]}),(0,R.jsxs)(`label`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`tui.json — $SIGRUN_CONFIG_DIR/tui.json (default ~/.config/sigrun/tui.json)`}),(0,R.jsx)(`code`,{className:`token-snippet`,children:`{"server": "${C}", "token": "${u.token}"}`})]})]}),x.length===0&&(0,R.jsx)(`p`,{className:`settings-note`,children:`No API tokens.`}),x.map(e=>(0,R.jsx)(`div`,{className:`settings-ext-row`,children:f?.id===e.id?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`settings-ext-key`,children:[`Revoke `,e.name,`?`]}),(0,R.jsx)(`button`,{type:`button`,className:`token-revoke-confirm`,disabled:c,onClick:()=>void y(e.id),children:`Confirm revoke`}),(0,R.jsx)(`button`,{type:`button`,className:`token-revoke-cancel`,disabled:c,onClick:()=>p(null),children:`Cancel`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`settings-ext-key`,children:e.name}),(0,R.jsx)(`button`,{type:`button`,className:`token-revoke`,disabled:c,onClick:()=>p({id:e.id,name:e.name}),children:`Revoke`})]})},e.id)),(0,R.jsxs)(`div`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Create a token`}),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`input`,{type:`text`,className:`token-name-input`,"aria-label":`Token name`,placeholder:`name (e.g. laptop, ci)`,value:o,onChange:e=>s(e.target.value)}),(0,R.jsx)(`button`,{type:`button`,className:`token-create`,disabled:c||o.trim()===``,onClick:()=>void _(),children:`Create token`})]})]})]})}var M_=`sigrun.prefs`,N_={enterToSend:!1,showThinking:!0},P_=(()=>{let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)}}})();function F_(){return globalThis.localStorage??P_}function I_(e){if(e===null)return{};let t;try{t=JSON.parse(e)}catch{return{}}if(typeof t!=`object`||!t||Array.isArray(t))return{};let n=t,r={};for(let e of Object.keys(N_))typeof n[e]==`boolean`&&(r[e]=n[e]);return r}function L_(e){let t=e?.storage??F_(),[n,r]=(0,v.useState)(()=>I_(t.getItem(M_)));return{prefs:{...N_,...n},setPref(e,n){r(r=>{let i={...r,[e]:n};return t.setItem(M_,JSON.stringify(i)),i})}}}function R_(e,t){let n=t.trim().toLowerCase();return n===``?[]:e.filter(e=>e.label.toLowerCase().includes(n)||(e.help??``).toLowerCase().includes(n)||(e.key??``).toLowerCase().includes(n))}function z_(e,t){return R_(e,t)}function B_(e,t){return e.filter(e=>!(e.id===`providers`&&t===!1||e.scope===`user`&&e.admin===!0&&t===!1))}function V_(e){let{client:t,onSection:n,prefsState:r,theme:i,admin:a,onRestart:o,section:s}=e,[c,l]=(0,v.useState)({status:`loading`}),[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(null),[g,_]=(0,v.useState)(``),[y,b]=(0,v.useState)(null),x=(0,v.useRef)({}),S=(0,v.useRef)(null);(0,v.useEffect)(()=>{let e=!1;return t.getMeta().then(t=>{e||d(t)}).catch(()=>{}),t.listSettingsSections().then(t=>{e||l({status:`ready`,sections:t.sections,index:t.index})}).catch(t=>{e||l({status:`error`,message:t instanceof Error?t.message:String(t)})}),t.listExtensions().then(t=>{e||h(t.extensions)}).catch(()=>{e||h([])}),()=>{e=!0}},[t]);let C=(0,v.useMemo)(()=>c.status===`ready`?new Set(c.sections.filter(e=>e.slug!==`core`).map(e=>e.slug)):new Set,[c]);(0,v.useEffect)(()=>{if(c.status!==`ready`)return;let e=B_(c.sections,a);if(s!==void 0){let t=e.find(e=>e.slug===`core`&&e.id===s);if(t!==void 0){p({kind:`section`,entry:t});return}let n=e.find(e=>e.id===s);if(n!==void 0){p({kind:`section`,entry:n});return}let r=m!==null&&!C.has(s)?m.find(e=>e.name===s):void 0;if(r!==void 0){p({kind:`extension`,slug:r.name});return}}let t=e.find(e=>e.slug===`core`&&e.id===`general`);t!==void 0&&p({kind:`section`,entry:t})},[c,s,a,m,C]);let w=(0,v.useMemo)(()=>c.status===`ready`?z_(c.index,g):[],[c,g]),T=(0,v.useCallback)(async e=>{let t=c.status===`ready`?c.sections.find(t=>t.slug===e.slug&&t.id===e.sectionId):void 0;if(t!==void 0&&(_(``),n(t.id),e.key!==void 0)){let t=e.key;for(let e=0;e<20;e++){await new Promise(e=>setTimeout(e,50));let e=S.current?.querySelector(`[data-name=${JSON.stringify(t)}]`),n=e?.querySelector(`input, textarea, select, button, [tabindex]`)??e;if(n!=null){n.focus();return}}}},[c,n]),E=y?.pendingRestart??[],D=y?.supervised===!0&&a!==!1&&o!==void 0,ee=(0,v.useMemo)(()=>c.status===`ready`?B_(c.sections,a):[],[c,a]);return(0,R.jsx)(`div`,{className:`settings-page`,children:(0,R.jsxs)(`div`,{className:`settings-panel`,children:[(0,R.jsxs)(`header`,{className:`settings-head`,children:[(0,R.jsx)(`span`,{className:`settings-title`,children:`Settings`}),(0,R.jsx)(`input`,{type:`search`,className:`settings-search`,placeholder:`Search settings`,"aria-label":`search settings`,value:g,onChange:e=>_(e.target.value)}),(0,R.jsx)(`span`,{className:`spacer`})]}),E.length>0&&(0,R.jsxs)(`div`,{className:`settings-restart-callout`,role:`status`,children:[(0,R.jsxs)(`p`,{className:`settings-restart-text`,children:[`Restart sigrun to apply: `,E.join(`, `)]}),D&&(0,R.jsx)(`button`,{type:`button`,className:`settings-restart`,onClick:()=>void o(),children:`Restart`})]}),c.status===`loading`&&(0,R.jsx)(`p`,{className:`settings-note`,children:`loading settings…`}),c.status===`error`&&(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:c.message}),c.status===`ready`&&(0,R.jsxs)(`div`,{className:`settings-layout`,children:[(0,R.jsxs)(`nav`,{className:`settings-nav`,"aria-label":`settings sections`,children:[ee.filter(e=>e.scope!==`user`).map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-nav-item`,"data-active":f?.kind===`section`&&f.entry.slug===e.slug&&f.entry.id===e.id?``:void 0,onClick:()=>n(e.id),children:e.title},`${e.slug}/${e.id}`)),ee.some(e=>e.scope===`user`)&&(0,R.jsxs)(`div`,{className:`settings-nav-group`,role:`group`,"aria-label":`My settings`,children:[(0,R.jsx)(`div`,{className:`settings-nav-heading`,children:`My settings`}),ee.filter(e=>e.scope===`user`).map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-nav-item`,"data-active":f?.kind===`section`&&f.entry.slug===e.slug&&f.entry.id===e.id?``:void 0,onClick:()=>n(e.id),children:e.title},`${e.slug}/${e.id}`))]}),(0,R.jsx)(X_,{extensions:m,open:f,coveredSlugs:C,onOpen:n})]}),(0,R.jsx)(`div`,{className:`settings-section`,ref:S,children:f===null?(0,R.jsx)(`p`,{className:`settings-note`,children:`select a section`}):f.kind===`extension`?(0,R.jsx)(Z_,{client:t,slug:f.slug}):(0,R.jsx)(H_,{client:t,entry:f.entry,prefsState:r,theme:i,meta:u,onCoreMeta:b,valuesRef:x},`${f.entry.slug}/${f.entry.id}`)})]}),g.trim()!==``&&w.length>0&&(0,R.jsx)(`div`,{className:`settings-search-results`,role:`listbox`,children:w.slice(0,20).map((e,t)=>(0,R.jsxs)(`button`,{type:`button`,className:`settings-search-hit`,role:`option`,"aria-selected":`false`,onClick:()=>void T(e),children:[(0,R.jsx)(`span`,{className:`settings-search-hit-label`,children:e.label}),(0,R.jsxs)(`span`,{className:`settings-search-hit-path`,children:[e.slug===`core`?``:`${e.slug} · `,e.sectionId]})]},`${e.slug}/${e.sectionId}/${e.key??e.label}/${t}`))})]})})}function H_(e){let{entry:t,client:n,prefsState:r,theme:i,meta:a,onCoreMeta:o}=e;return t.slug===`core`&&t.id===`interface`?(0,R.jsx)(q_,{prefsState:r,theme:i}):t.slug===`core`&&t.id===`providers`?(0,R.jsx)(w_,{client:n}):t.slug===`core`&&t.id===`extensions`?(0,R.jsx)(Q_,{client:n}):t.slug===`core`&&t.id===`accounts`?(0,R.jsx)(C_,{client:n}):t.slug===`core`&&t.id===`tokens`?(0,R.jsx)(j_,{client:n}):(0,R.jsx)(U_,{client:n,entry:t,meta:t.slug===`core`&&t.id===`general`?a:null,onCoreMeta:t.slug===`core`?o:void 0,valuesRef:e.valuesRef})}function U_(e){let{entry:t,meta:n,client:r}=e,i=(0,v.useMemo)(()=>pg({slug:t.slug,id:t.id,fetch:r.rawFetch}),[t.slug,t.id,r]),{onCoreMeta:a,valuesRef:o}=e,s=(0,v.useCallback)(e=>{if(o.current[`${t.slug}/${t.id}`]=typeof e.settings==`object`&&e.settings!==null&&!Array.isArray(e.settings)?e.settings:{},a!==void 0){let t=e.meta;if(typeof t==`object`&&t&&!Array.isArray(t)&&Array.isArray(t.pendingRestart)){let e=t;a({pendingRestart:e.pendingRestart.filter(e=>typeof e==`string`),supervised:e.supervised===!0})}}},[t.slug,t.id,a,o]);return(0,R.jsxs)(`div`,{className:`settings-body`,"data-settings-section":t.id,children:[t.slug===`core`&&t.id===`general`&&(0,R.jsxs)(`p`,{className:`settings-version`,children:[`sigrun `,n?.version===void 0?``:`v${n.version}`,n?.harnessVersion===void 0?``:` · pi-durable v${n.harnessVersion}`]}),(0,R.jsx)(W_,{transport:i,onData:s}),(0,R.jsx)(Yh,{transport:i})]})}function W_(e){let{transport:t,onData:n}=e;return(0,v.useEffect)(()=>{let e=!1,r=()=>{t.fetchData().then(t=>{!e&&t.data!==void 0&&n(t.data)}).catch(()=>{})};r();let i=setInterval(r,1500);return()=>{e=!0,clearInterval(i)}},[t,n]),null}var G_=[{key:`enterToSend`,label:`Enter sends the prompt`,note:`off: Ctrl+Enter submits (Enter inserts a newline); on: Enter submits and Shift+Enter inserts a newline. Ctrl+Enter submits either way.`},{key:`showThinking`,label:`Show thinking blocks`,note:`Show thinking text inside activity details`}],K_=[{value:`system`,label:`System`},{value:`dark`,label:`Dark`},{value:`light`,label:`Light`}];function q_(e){let{prefsState:t,theme:n}=e;return(0,R.jsxs)(`div`,{className:`settings-body`,children:[(0,R.jsxs)(`fieldset`,{className:`settings-field`,children:[(0,R.jsx)(`legend`,{className:`settings-label`,children:`Mode`}),(0,R.jsx)(`div`,{className:`settings-mode-row`,role:`group`,"aria-label":`mode`,children:K_.map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-mode`,"data-mode-option":e.value,"aria-pressed":n.mode===e.value,onClick:()=>n.setMode(e.value),children:e.label},e.value))})]}),(0,R.jsxs)(`fieldset`,{className:`settings-field`,children:[(0,R.jsx)(`legend`,{className:`settings-label`,children:`Palette`}),(0,R.jsx)(`div`,{className:`settings-palettes`,role:`group`,"aria-label":`palette`,children:__.map(e=>{let t=h_[e],r=t[n.resolved];return(0,R.jsxs)(`button`,{type:`button`,className:`settings-palette`,"data-palette-option":e,"aria-pressed":n.palette===e,title:t.label,onClick:()=>n.setPalette(e),style:{background:r.bg},children:[(0,R.jsx)(`span`,{className:`settings-swatch-dot`,"aria-hidden":`true`,style:{background:r.text}}),(0,R.jsx)(`span`,{className:`settings-swatch-dot`,"aria-hidden":`true`,style:{background:g_[t.defaultAccent][n.resolved]}})]},e)})})]}),(0,R.jsxs)(`fieldset`,{className:`settings-field`,children:[(0,R.jsx)(`legend`,{className:`settings-label`,children:`Accent`}),(0,R.jsx)(`div`,{className:`settings-accents`,role:`group`,"aria-label":`accent`,children:v_.map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-accent`,"data-accent-option":e,"aria-pressed":n.accent===e,title:g_[e].label,onClick:()=>n.setAccent(e),style:{background:g_[e][n.resolved]}},e))})]}),G_.map(e=>(0,R.jsxs)(`label`,{className:`settings-field settings-checkbox`,children:[(0,R.jsx)(`input`,{type:`checkbox`,className:`settings-pref-${e.key}`,checked:t.prefs[e.key],onChange:n=>t.setPref(e.key,n.target.checked)}),(0,R.jsx)(`span`,{className:`settings-label`,children:e.label}),(0,R.jsx)(`p`,{className:`settings-note`,children:e.note})]},e.key)),(0,R.jsx)(`p`,{className:`settings-note`,children:`interface preferences are per-browser (stored locally — never sent to the server)`})]})}function J_(e){return Object.keys(e).length===0?``:JSON.stringify(e,null,2)}function Y_(e){let t=e.trim();if(t===``)return{ok:!0,value:{}};try{let e=JSON.parse(t);return typeof e!=`object`||!e||Array.isArray(e)?{ok:!1,message:`settings must be a JSON object`}:{ok:!0,value:e}}catch(e){return{ok:!1,message:`invalid JSON: ${e instanceof Error?e.message:String(e)}`}}}function X_(e){let{extensions:t,coveredSlugs:n,onOpen:r,open:i}=e;if(t===null)return null;let a=t.filter(e=>!n.has(e.name));return a.length===0?null:(0,R.jsx)(R.Fragment,{children:a.map(e=>(0,R.jsxs)(`button`,{type:`button`,className:`settings-nav-item settings-nav-extension`,"data-ext":e.name,"data-active":i?.kind===`extension`&&i.slug===e.name?``:void 0,onClick:()=>r(e.name),children:[e.name,` (advanced)`]},e.name))})}function Z_(e){let{client:t,slug:n,status:r,version:i}=e,[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(null);(0,v.useEffect)(()=>{let e=!1;return o(null),c(null),Promise.all([t.getExtensionSettings(n),t.listExtensionSecrets(n)]).then(([t,n])=>{e||o({settingsText:J_(t.settings),secrets:n.secrets,secretValues:{},newKey:``,newValue:``})}).catch(t=>{e||c(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t,n]);let l=e=>{o(t=>t===null?t:{...t,...e})},u=async()=>{if(a===null)return;let e=Y_(a.settingsText);if(!e.ok){l({note:{kind:`error`,message:e.message}});return}try{await t.putExtensionSettings(n,e.value),l({note:{kind:`ok`,message:`saved`}})}catch(e){l({note:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}},d=async(e,r)=>{if(e!==``&&r!==``&&a!==null)try{let{secrets:i}=await t.putExtensionSecret(n,e,r);o({...a,secrets:i,secretValues:{...a.secretValues,[e]:``},newKey:``,newValue:``,note:{kind:`ok`,message:`secret ${e} set`}})}catch(e){l({note:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}},f=async e=>{try{let{secrets:r}=await t.deleteExtensionSecret(n,e);l({secrets:r,note:{kind:`ok`,message:`secret ${e} deleted`}})}catch(e){l({note:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}};return s===null?a===null?(0,R.jsx)(`p`,{className:`settings-note`,children:`loading…`}):(0,R.jsxs)(`div`,{className:`settings-body settings-ext-list`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`settings are the extension's own JSON (read at factory time → applies at restart); secrets list keys only — values are write-only and never displayed`}),(0,R.jsxs)(`fieldset`,{className:`settings-ext`,"data-ext":n,children:[(0,R.jsxs)(`legend`,{className:`settings-ext-name`,children:[n,(0,R.jsxs)(`span`,{className:`settings-ext-meta`,children:[r??``,i===void 0?``:` · v${i}`]})]}),(0,R.jsxs)(`label`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Settings (raw JSON)`}),(0,R.jsx)(`textarea`,{className:`settings-ext-settings`,rows:4,spellCheck:!1,placeholder:`{}`,value:a.settingsText,onChange:e=>l({settingsText:e.target.value})}),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-save`,onClick:()=>void u(),children:`Save settings`}),a.note!==void 0&&(0,R.jsx)(`span`,{className:`settings-note`,role:a.note.kind===`ok`?`status`:`alert`,children:a.note.message})]})]}),(0,R.jsxs)(`div`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Secrets`}),a.secrets.length===0&&(0,R.jsx)(`p`,{className:`settings-note`,children:`no secrets set`}),a.secrets.map(e=>(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsxs)(`span`,{className:`settings-ext-key`,children:[e.key,` `,(0,R.jsxs)(`span`,{className:`settings-ext-source`,children:[`(`,e.source,`)`]})]}),(0,R.jsx)(`input`,{type:`password`,className:`settings-ext-secret-value`,"data-secret-key":e.key,placeholder:`new value`,value:a.secretValues[e.key]??``,onChange:t=>l({secretValues:{...a.secretValues,[e.key]:t.target.value}})}),(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-secret-set`,"data-secret-key":e.key,onClick:()=>void d(e.key,a.secretValues[e.key]??``),children:`Set`}),(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-secret-delete`,"data-secret-key":e.key,onClick:()=>void f(e.key),children:`Delete`})]},e.key)),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`input`,{type:`text`,className:`settings-ext-new-key`,placeholder:`new key`,value:a.newKey,onChange:e=>l({newKey:e.target.value})}),(0,R.jsx)(`input`,{type:`password`,className:`settings-ext-new-value`,placeholder:`value`,value:a.newValue,onChange:e=>l({newValue:e.target.value})}),(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-secret-add`,onClick:()=>void d(a.newKey,a.newValue),children:`Set`})]})]})]})]}):(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:s})}function Q_(e){let{client:t}=e,[n,r]=(0,v.useState)(null),[i,a]=(0,v.useState)(null);return(0,v.useEffect)(()=>{let e=!1;return t.listExtensions().then(t=>{e||r(t.extensions)}).catch(t=>{e||a(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t]),i===null?n===null?(0,R.jsx)(`p`,{className:`settings-note`,children:`loading extensions…`}):n.length===0?(0,R.jsx)(`div`,{className:`settings-body`,children:(0,R.jsx)(`p`,{className:`settings-note`,children:`no extensions are configured`})}):(0,R.jsx)(`div`,{className:`settings-body`,children:n.map(e=>(0,R.jsx)(Z_,{client:t,slug:e.name,status:e.status,version:e.version},e.name))}):(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:i})}var $_=`sigrun.theme`,ev=`sigrun.palette`,tv=`sigrun.accent`,nv=(()=>{let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)}}})();function rv(){return globalThis.localStorage??nv}function iv(){let e=globalThis.document?.documentElement;return e===void 0?null:{dataset:e.dataset,setProperty:(t,n)=>{e.style.setProperty(t,n)}}}function av(){return globalThis.matchMedia??null}function ov(e){return e===`dark`||e===`light`?e:`system`}function sv(e){let t=e.getItem(tv);if(t===`amber`){let t=`baltic-amber`;return e.setItem(tv,t),t}return S_(t)?t:(e.setItem(tv,b_),b_)}function cv(e){let t=e.getItem(ev);return x_(t)?t:(e.setItem(ev,y_),y_)}var lv={bg:`--bg`,surface:`--surface`,surface2:`--surface-2`,border:`--border`,text:`--text`,muted:`--muted`,faint:`--faint`,ok:`--ok`,code:`--code`};function uv(e,t){let n=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e);if(n===null)return`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`;let r=n[1].length===3?n[1].split(``).map(e=>e+e).join(``):n[1];return`rgba(${Number.parseInt(r.slice(0,2),16)}, ${Number.parseInt(r.slice(2,4),16)}, ${Number.parseInt(r.slice(4,6),16)}, ${t})`}function dv(e){let t=e?.storage??rv(),n=e?.root===void 0?iv():e.root,r=e?.matchMedia===void 0?av():e.matchMedia,[i,a]=(0,v.useState)(()=>ov(t.getItem($_))),[o,s]=(0,v.useState)(()=>cv(t)),[c,l]=(0,v.useState)(()=>sv(t)),[u,d]=(0,v.useState)(()=>r?.(`(prefers-color-scheme: dark)`)?.matches??!0);(0,v.useEffect)(()=>{let e=r?.(`(prefers-color-scheme: dark)`);if(e==null)return;let t=()=>d(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[r]);let f=i===`system`?u?`dark`:`light`:i;return(0,v.useEffect)(()=>{if(n===null)return;let e=h_[o][f];for(let[t,r]of Object.entries(lv))n.setProperty(r,e[t]);let t=g_[c][f];n.setProperty(`--accent`,t),n.setProperty(`--accent-bg`,uv(t,f===`dark`?.14:.16)),n.dataset.mode=f,n.dataset.palette=o,n.dataset.accent=c},[n,f,o,c]),{mode:i,resolved:f,palette:o,accent:c,setMode(e){t.setItem($_,e),a(e)},setPalette(e){t.setItem(ev,e),s(e)},setAccent(e){t.setItem(tv,e),l(e)}}}function fv(e,t){let n=e.entries;if(t.entries!==void 0){let r=new Set(t.entries.remove??[]);n=[...e.entries.filter(e=>!r.has(e.id)),...t.entries.append??[]]}let r=e.docs;if(t.docs!==void 0){let n=new Set(t.docs.unset??[]),i={};for(let[t,r]of Object.entries(e.docs))n.has(t)||(i[t]=r);for(let[e,n]of Object.entries(t.docs.set??{}))i[e]=n;r=i}return{...e,entries:n,docs:r,conversation:t.conversation??e.conversation,steer:t.steer??e.steer}}var pv=250,mv=4e3,hv=e=>new EventSource(e);function gv(e){let t;try{t=JSON.parse(e)}catch{return}if(typeof t==`object`&&t&&!Array.isArray(t))return t}function _v(e){let t;try{t=JSON.parse(e)}catch{return}if(typeof t==`object`&&t&&!Array.isArray(t))return t}function vv(e,t,n=``,r={}){let i=r.createEventSource??hv,a=`${n}/v1/conversations/${e}/stream`,o=!1,s=0,c,l,u;function d(){if(o)return;let e=i(a);l=e;let n=!1;e.addEventListener(`open`,()=>{o||(s=0,t.onOpen?.())}),e.addEventListener(`snapshot`,e=>{if(o)return;let n=gv(e.data);if(n===void 0){t.onError?.(`malformed snapshot frame (not a view object)`);return}u=n,t.onSnapshot?.(n)}),e.addEventListener(`delta`,e=>{if(o)return;if(u===void 0){t.onError?.(`malformed delta frame (arrived before any snapshot)`);return}let n=_v(e.data);if(n===void 0){t.onError?.(`malformed delta frame (not a delta object)`);return}u=fv(u,n),t.onView?.(u)}),e.addEventListener(`error`,()=>{if(o||n)return;n=!0,t.onError?.(`conversation stream connection error`),e.close(),l===e&&(l=void 0),s+=1;let r=Math.min(pv*2**(s-1),mv);c=setTimeout(()=>{c=void 0,d()},r)})}return d(),{close(){o||(o=!0,c!==void 0&&(clearTimeout(c),c=void 0),l?.close(),l=void 0)}}}var yv={view:null,status:`idle`,frames:0,error:null};function bv(e,t={}){let{baseUrl:n,createEventSource:r}=t,[i,a]=(0,v.useState)(yv);return(0,v.useEffect)(()=>{if(e===null){a(yv);return}a({view:null,status:`connecting`,frames:0,error:null});let t=vv(e,{onSnapshot:e=>a(t=>({view:e,status:`snapshot`,frames:t.frames+1,error:null})),onView:e=>a(t=>({view:e,status:`live`,frames:t.frames+1,error:null})),onError:e=>a(t=>({...t,status:`error`,error:e}))},n,{createEventSource:r});return()=>t.close()},[e,n,r]),i}var xv=4e3;function Sv(e,t){let[n,r]=(0,v.useState)([]),[i,a]=(0,v.useState)([]),[o,s]=(0,v.useState)({}),c=(0,v.useRef)({}),l=(0,v.useCallback)(e=>{c.current=typeof e==`function`?e(c.current):e,s(c.current)},[]),u=(0,v.useRef)(null),d=(0,v.useRef)(0),f=(0,v.useRef)(new Set),p=(0,v.useCallback)(async(t=!1)=>{let n=(await e.listNotices()).notices,i=u.current;if(i!==null&&a(n.filter(e=>!i.has(e.id))),u.current=new Set(n.map(e=>e.id)),!t&&Date.now()<d.current){r(e=>{let t=new Set(n.map(e=>e.id));return[...n,...e.filter(e=>!t.has(e.id)&&(c.current[e.id]!==void 0||f.current.has(e.id)))]});return}r(n)},[e]),m=(0,v.useRef)(null),h=(0,v.useCallback)(()=>{d.current=Date.now()+xv,m.current!==null&&clearTimeout(m.current),m.current=setTimeout(()=>{m.current=null,l({}),p(!0).catch(()=>void 0)},xv);let e=m.current;typeof e==`object`&&e&&`unref`in e&&e.unref()},[p]);(0,v.useEffect)(()=>{p().catch(()=>void 0)},[p,t.refetchToken]);let g=(0,v.useCallback)(async t=>{await e.dismissNotice(t).catch(()=>void 0),await p().catch(()=>void 0)},[e,p]);return{notices:n,arrivals:i,results:o,refetch:p,dismiss:g,dismissAll:(0,v.useCallback)(async()=>{await e.dismissAllNotices().catch(()=>void 0),await p().catch(()=>void 0)},[e,p]),run:(0,v.useCallback)(async(t,r,i)=>{if(r.kind===`navigate`){i(r.target),await g(t.id);return}if(r.kind===`open`){globalThis.window?.open(r.url,`_blank`,`noopener,noreferrer`),await g(t.id);return}f.current=new Set([...f.current,t.id]);let a;try{a=await e.runNoticeAction(t.id,r.id)}catch(e){l(n=>({...n,[t.id]:e instanceof Error?e.message:String(e)})),await p(!0).catch(()=>void 0);return}finally{let e=new Set(f.current);e.delete(t.id),f.current=e}a.ok&&a.navigate!==void 0&&i(a.navigate);let o=a.ok?a.message:a.error.message;return o!==void 0&&l(e=>({...e,[t.id]:o})),a.ok&&n.some(e=>e.id===t.id)?(h(),a):(await p(!0).catch(()=>void 0),a)},[e,g,p,h,n])}}function Cv(){return globalThis.document}function wv(e){let t=(0,v.useRef)(null);return(0,v.useEffect)(()=>{if(e.variant!==`overlay`||e.onClose===void 0)return;let n=Cv();if(n===void 0)return;let r=e.onClose,i=e=>{e.key===`Escape`&&r()},a=e=>{let n=e.target;if(n==null)return;let i=t.current;if(i!==null&&!i.contains(n)){let e=n.closest;if(typeof e==`function`&&e.call(n,`[data-rail-section="notices"]`)!==null)return;r()}};return n.addEventListener(`keydown`,i),n.addEventListener(`mousedown`,a),()=>{n.removeEventListener(`keydown`,i),n.removeEventListener(`mousedown`,a)}},[e.variant,e.onClose]),(0,v.useEffect)(()=>{e.scrollTo!==null&&e.scrollTo!==void 0&&(t.current?.querySelector?.(`[data-notice-id="${e.scrollTo}"]`))?.scrollIntoView?.()},[e.scrollTo]),(0,R.jsxs)(`div`,{ref:t,className:e.variant===`overlay`?`notices-pane notices-pane-overlay`:`notices-pane`,role:`complementary`,"aria-label":`notices`,children:[(0,R.jsxs)(`h4`,{className:`notices-pane-head`,children:[(0,R.jsx)(`span`,{children:`Notices`}),e.notices.length>0&&(0,R.jsx)(`button`,{type:`button`,className:`notices-pane-clear`,onClick:()=>e.dismissAll(),children:`Clear all`})]}),e.notices.length===0?(0,R.jsx)(`p`,{className:`notices-pane-empty`,children:`No notices`}):e.notices.map(t=>(0,R.jsx)(im,{notice:t,result:e.results?.[t.id]??null,conversationName:t.conversationId===void 0?void 0:e.conversationName?.(t.conversationId),run:e.run,dismiss:e.dismiss,onNavigate:e.onNavigate},t.id))]})}var Tv=6e3,Ev={now:()=>Date.now(),sleep:(e,t)=>setTimeout(t,e),clear:e=>clearTimeout(e)};function Dv(){return globalThis.document?.visibilityState===`hidden`}function Ov(e){let{batch:t,clock:n}=e,r=t.length===1?t[0]:void 0,i=(0,v.useRef)(null),a=(0,v.useRef)(Tv),o=(0,v.useRef)(0),s=()=>{i.current!==null&&n.clear(i.current),o.current=n.now(),i.current=n.sleep(a.current,e.onFold)};(0,v.useEffect)(()=>(s(),()=>{i.current!==null&&n.clear(i.current)}),[]);let c=()=>{i.current!==null&&(n.clear(i.current),i.current=null,a.current=Math.max(0,a.current-(n.now()-o.current)))},l=()=>{i.current===null&&s()},u=r?.actions?.[0];return(0,R.jsxs)(`div`,{className:`notice-peek`,role:`status`,"aria-live":`polite`,onMouseEnter:c,onMouseLeave:l,onFocus:c,onBlur:l,children:[(0,R.jsx)(`button`,{type:`button`,className:`notice-peek-body`,onClick:()=>{e.onOpenPane(r?.id),e.onFold()},children:r===void 0?(0,R.jsxs)(`strong`,{children:[t.length,` new notices`]}):(0,R.jsx)(`strong`,{children:r.title})}),r!==void 0&&u!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`notice-peek-action`,onClick:()=>{e.run(r,u,e.onNavigate),e.onFold()},children:u.label}),r!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`notice-peek-close`,"aria-label":`dismiss notice`,onClick:()=>{e.dismiss(r.id),e.onFold()},children:`✕`})]})}function kv(e){let[t,n]=(0,v.useState)([]),r=(0,v.useRef)(new Set);return(0,v.useEffect)(()=>{let t=e.arrivals.filter(t=>!r.current.has(t.id)&&(e.visibleConversationId===null||e.visibleConversationId===void 0||t.conversationId!==e.visibleConversationId));for(let t of e.arrivals)r.current.add(t.id);t.length===0||Dv()||n(e=>[...e,...t])},[e.arrivals,e.visibleConversationId]),t.length===0?null:(0,R.jsx)(Ov,{batch:t,onFold:()=>n([]),run:e.run,dismiss:e.dismiss,onNavigate:e.onNavigate,onOpenPane:e.onOpenPane,clock:e.clock??Ev},`${t[0]?.id}:${t.length}`)}function Av(e){return(0,R.jsxs)(`button`,{type:`button`,className:`rail-btn rail-bell`,"data-rail-section":`notices`,title:`Notices`,"aria-label":`notices`,"aria-pressed":e.active===!0,"data-active":e.active===!0?``:void 0,onClick:()=>e.onToggle?.(),children:[`🔔`,e.count>0&&(0,R.jsx)(`span`,{className:`rail-bell-badge`,"data-bell-count":e.count,children:e.count})]})}var jv=24;function Mv(e,t){let[n,r]=(0,v.useState)(!0),i=(0,v.useRef)(!0);return(0,v.useEffect)(()=>{if(e===null)return;let t=()=>{let t=e.scrollHeight-e.scrollTop-e.clientHeight<=jv;i.current=t,r(t)};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>e.removeEventListener(`scroll`,t)},[e]),(0,v.useEffect)(()=>{e!==null&&i.current&&(e.scrollTop=e.scrollHeight)},[e,t]),n}function Nv(e){let{client:t,conversationId:n,path:r}=e,[i,a]=(0,v.useState)({kind:`loading`});return(0,v.useEffect)(()=>{let e=!1;return a({kind:`loading`}),t.readFile(n,r).then(t=>{e||a(t.encoding===`text`?{kind:`text`,content:t.content,size:t.size}:{kind:`binary`,size:t.size})}).catch(t=>{e||a({kind:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},[t,n,r]),(0,R.jsxs)(`div`,{className:`file-preview`,"data-path":r,children:[(0,R.jsx)(`div`,{className:`file-preview-path`,children:r}),i.kind===`loading`&&(0,R.jsx)(`p`,{className:`file-preview-loading`,children:`loading…`}),i.kind===`text`&&(0,R.jsx)(`pre`,{className:`file-preview-content`,children:i.content}),i.kind===`binary`&&(0,R.jsxs)(`p`,{className:`file-preview-binary`,children:[`binary file — `,i.size,` bytes (no preview)`]}),i.kind===`error`&&(0,R.jsx)(`p`,{role:`alert`,children:i.message})]})}function Pv(e){return[...e].sort((e,t)=>(e.kind===`directory`?0:1)-(t.kind===`directory`?0:1)||e.name.localeCompare(t.name))}function Fv(e){let{client:t,conversationId:n,onClose:r}=e,[i,a]=(0,v.useState)(null),[o,s]=(0,v.useState)({}),[c,l]=(0,v.useState)({}),[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(null);(0,v.useEffect)(()=>{if(a(null),s({}),l({}),d(null),p(null),n===null)return;let e=!1;return t.listFiles(n).then(t=>{e||a(Pv(t.entries))}).catch(t=>{e||p(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t,n]);async function m(e){if(n!==null){if(c[e.path]){l(t=>{let n={...t};return delete n[e.path],n});return}if(l(t=>({...t,[e.path]:!0})),o[e.path]===void 0)try{let r=await t.listFiles(n,e.path);s(t=>({...t,[e.path]:Pv(r.entries)}))}catch(e){p(e instanceof Error?e.message:String(e))}}}function h(e,t){return e.map(e=>{if(e.kind===`directory`){let n=c[e.path]===!0,r=o[e.path];return(0,R.jsxs)(`li`,{children:[(0,R.jsxs)(`button`,{type:`button`,className:`workspace-dir`,"data-tree-row":`true`,"data-path":e.path,"aria-expanded":n,style:{paddingLeft:`${t*.9}rem`},onClick:()=>void m(e),children:[n?`▾`:`▸`,` `,e.name,`/`]}),n&&r!==void 0&&(0,R.jsx)(`ul`,{className:`workspace-children`,children:h(r,t+1)})]},e.path)}return(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,className:`workspace-file`,"data-tree-row":`true`,"data-path":e.path,"data-selected":u===e.path||void 0,style:{paddingLeft:`${t*.9}rem`},onClick:()=>d(e.path),children:e.name})},e.path)})}return(0,R.jsxs)(`section`,{className:`workspace-browser`,"aria-label":`workspace files`,children:[(0,R.jsxs)(`h2`,{className:`workspace-title`,children:[`Workspace`,r!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`workspace-close`,"aria-label":`close workspace panel`,title:`close`,onClick:r,children:`✕`})]}),n===null?(0,R.jsx)(`p`,{className:`workspace-empty`,children:`Select a conversation to browse its workspace`}):(0,R.jsxs)(R.Fragment,{children:[f!==null&&(0,R.jsx)(`p`,{role:`alert`,children:f}),i===null&&f===null?(0,R.jsx)(`p`,{className:`workspace-loading`,children:`loading…`}):i===null?null:(0,R.jsx)(`ul`,{className:`workspace-tree`,children:h(i,0)}),u!==null&&(0,R.jsx)(Nv,{client:t,conversationId:n,path:u})]})]})}var Iv=w(),Lv=6e4,Rv=`sigrun.timeline`;function zv(){try{return globalThis.localStorage?.getItem(Rv)!==`0`}catch{return!0}}function Bv(e){try{globalThis.localStorage?.setItem(Rv,e?`1`:`0`)}catch{}}function Vv(e,t){let n=globalThis.document;if(n===void 0)return;let r=URL.createObjectURL(new Blob([t],{type:`application/json`})),i=n.createElement(`a`);i.href=r,i.download=e,n.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(r)}function Hv(e,t){return t===null?`sigrun`:oe(e.find(e=>e.id===t)??{id:t,archived:!1,pinned:!1})}function Uv(e){let{activeId:t,view:n,status:r,error:i,showThinking:a,timeline:o}=e;if(t===null)return(0,R.jsx)(`section`,{className:`chat-center`,children:(0,R.jsx)(`p`,{className:`chat-empty`,children:`Start a conversation — type below.`})});let s=n?.steer.busy??!1,c=n!==null&&Bh(n)>0,l=n===null||c?void 0:Vh(n);return(0,R.jsxs)(`section`,{className:`chat-center`,"data-view-status":r,"aria-label":`chat transcript`,ref:e.onScrollRoot,style:e.dockPadding>0?{paddingBottom:`${e.dockPadding}px`}:void 0,children:[i!==null&&(0,R.jsx)(`p`,{role:`alert`,children:i}),n===null?(0,R.jsx)(`p`,{className:`chat-loading`,children:`loading…`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ah.Provider,{value:e.attachChatTransport,children:(0,R.jsx)(Kh,{view:n,showThinking:a,timeline:o,parent:e.parent,client:e.client,onNavigate:e.onNavigate})}),s&&(0,R.jsxs)(`div`,{className:`chat-working`,role:`status`,children:[(0,R.jsx)(`span`,{className:`chat-working-dot`}),(0,R.jsx)(`span`,{className:`chat-working-dot`}),(0,R.jsx)(`span`,{className:`chat-working-dot`}),(0,R.jsx)(`span`,{className:`chat-working-label`,children:c?`compacting…`:`working…`})]}),l!==void 0&&(0,R.jsxs)(`p`,{className:`chat-compaction-failure`,role:`alert`,children:[`compaction failed: `,l]})]})]})}function Wv(e){let t=e.startsWith(`#`)?e.slice(1):e,n=/^\/settings(?:\/([^/]+))?\/?$/.exec(t);if(n!==null){let e=n[1];if(e===void 0)return{kind:`settings`};try{return{kind:`settings`,section:decodeURIComponent(e)}}catch{return{kind:`chat`}}}let r=/^\/c(?:\/(\d+))?\/?$/.exec(t);if(r!==null){let e=r[1];return e===void 0?{kind:`chat`}:{kind:`chat`,conversationId:Number(e)}}let i=/^\/ext\/([^/]+)\/([^/?]+)(?:\?(.*))?$/.exec(t);if(i===null)return{kind:`chat`};try{return{kind:`ext`,slug:decodeURIComponent(i[1]??``),id:decodeURIComponent(i[2]??``),params:Gv(i[3])}}catch{return{kind:`chat`}}}function Gv(e){let t={};if(e!==void 0){let n=new URLSearchParams(e).get(`params`);if(n!==null)try{let e=JSON.parse(n);typeof e==`object`&&e&&!Array.isArray(e)&&(t=e)}catch{}}return t}function Kv(e){if(e.kind===`chat`)return e.conversationId===void 0?`#/c`:`#/c/${e.conversationId}`;if(e.kind===`settings`)return e.section===void 0?`#/settings`:`#/settings/${encodeURIComponent(e.section)}`;let t=`#/ext/${encodeURIComponent(e.slug)}/${encodeURIComponent(e.id)}`;return Object.keys(e.params).length===0?t:`${t}?params=${encodeURIComponent(JSON.stringify(e.params))}`}function qv(){let e=globalThis.location;if(e?.pathname!==`/settings`)return;let t=new URLSearchParams(e.search??``).get(`section`),n=t===null||t===``?`#/settings`:`#/settings/${encodeURIComponent(t)}`;Jv=n,globalThis.history?.replaceState(null,``,`/${n}`)}var Jv=``;function Yv(){let e=globalThis.location;return e!==void 0&&typeof e.hash==`string`?e.hash:Jv}function Xv(e,t=!1){let n=globalThis.history;Jv=e,n!==void 0&&(t?n.replaceState(null,``,e):n.pushState(null,``,e))}function Zv(e={}){let t=e.client??Iv,n=e.identity,r=e.onLogout,i=e.onRestarting,a=dv(),o=L_(),[s,c]=(0,v.useState)({status:`loading`}),l=(0,v.useCallback)(async()=>{try{await t.requestRestart()}catch(e){ue(`restart failed: ${e instanceof Error?e.message:String(e)}`);return}ue(null),c({status:`restarting`});let e=Date.now()+Lv;for(;;){await new Promise(e=>setTimeout(e,500));let n=!1;try{n=await t.checkReady()}catch{}if(n){i===void 0?c({status:`loading`}):i();return}if(Date.now()>e){c({status:`refused`,message:`restart did not come back: /readyz never answered within ${Lv/1e3}s — check the deployment's supervisor`});return}}},[t,i]);(0,v.useEffect)(()=>{e.onExposeActions?.({restart:l}),(e.onExposeActions!==void 0||globalThis.__sigrunE2E===!0)&&(globalThis.__sigrunAppActions={restart:l})},[l]);let[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(Pg),[m,h]=(0,v.useState)(zv),[g,_]=(0,v.useState)(!1),[,y]=(0,v.useState)(0),b=globalThis,x=s.status===`ready`&&b.location?.hash.startsWith(`#/blocks`)?`blocks`:`chats`;qv();let[S,C]=(0,v.useState)(()=>Wv(Yv())),[w]=(0,v.useState)(()=>new Yg),[T]=(0,v.useState)(()=>new mg),[E]=(0,v.useState)(()=>new _g),D=(0,v.useCallback)(e=>E.attach(e),[E]),[ee]=(0,v.useState)([]),[te,ne]=(0,v.useState)(null),[re,ie]=(0,v.useState)(0),[ae,O]=(0,v.useState)(!1),[se,ce]=(0,v.useState)(null),[le,ue]=(0,v.useState)(null),[de,fe]=(0,v.useState)(null),[pe,me]=(0,v.useState)(0),he=(0,v.useCallback)(e=>{if(e===null)return;let t=()=>me(e.offsetHeight);t();let n=globalThis.ResizeObserver;if(n===void 0)return;let r=new n(t);return r.observe(e),()=>r.disconnect()},[]),{view:ge,status:_e,error:ve,frames:ye}=bv(u,{createEventSource:e.createEventSource});Mv(de,ye);let k=m_(t,{busy:ge?.steer.busy??!1,createEventSource:e.createEventSource,onNoticeChanged:(0,v.useCallback)(()=>{ie(e=>e+1)},[]),onSurfaceChanged:(0,v.useCallback)(e=>{T.dispatch(e)},[T]),onChatChanged:(0,v.useCallback)(e=>{E.dispatch(e)},[E])}),A=S.kind===`ext`?S:null,j=A===null?``:Ee(A.params??{}),[M,be]=(0,v.useState)(null);(0,v.useEffect)(()=>{if(A===null){be(null);return}let e=!0;return Oe(A.slug,A.id,j).then(t=>{e&&be({key:j,hash:t})}),()=>{e=!1}},[A,j]);let xe=(0,v.useMemo)(()=>{if(A!==null&&M!==null&&M.key===j)return T.attach({slug:A.slug,id:A.id,params:A.params,...k.streamId===void 0?{}:{streamId:k.streamId}},M.hash)},[A,j,M,T,k.streamId]),Se=(0,v.useMemo)(()=>s.status===`ready`?Ng(f,Sg(s.meta.extensions)):f,[f,s]),Ce=Se!==null&&Se.startsWith(`ext:`)?Se:null,N=(0,v.useMemo)(()=>{if(Ce===null)return null;let[e,t]=Ce.slice(4).split(`/`);return e===void 0||t===void 0||e===``||t===``?null:{slug:e,id:t}},[Ce]),P=(0,v.useMemo)(()=>Ce===null||s.status!==`ready`?{}:Sg(s.meta.extensions).find(e=>`ext:${e.slug}/${e.id}`===Ce)?.perConversation===!0&&u!==null?{conversationId:u}:{},[Ce,s,u]),we=(0,v.useMemo)(()=>Ee(P),[P]),[Te,De]=(0,v.useState)(null),ke=`${Ce??``}:${we}`;(0,v.useEffect)(()=>{if(N===null){De(null);return}let e=!0,t=ke;return Oe(N.slug,N.id,we).then(n=>{e&&De({forKey:t,hash:n})}),()=>{e=!1}},[N,ke,we]);let Ae=(0,v.useMemo)(()=>{if(N!==null&&Te!==null&&Te.forKey===ke)return T.attach({slug:N.slug,id:N.id,params:JSON.parse(we),...k.streamId===void 0?{}:{streamId:k.streamId}},Te.hash)},[N,ke,we,Te,T,k.streamId]);(0,v.useEffect)(()=>{A!==null&&k.noteSurfaceVisible(A.slug,A.id,A.params),N!==null&&k.noteSurfaceVisible(N.slug,N.id,JSON.parse(we))},[A,j,N,we,k.streamId,k.noteSurfaceVisible]);let je=(0,v.useMemo)(()=>{if(N!==null&&s.status===`ready`)return Sg(s.meta.extensions).find(e=>e.slug===N.slug&&e.id===N.id)?.refreshMs},[N,s]),Ne=(0,v.useMemo)(()=>{let e=k.rows.find(e=>e.id===u)?.parent;if(e===void 0)return;let t=k.rows.find(t=>t.id===e.id);return{id:e.id,name:oe(t===void 0?{id:e.id,archived:!1,pinned:!1}:t)}},[k.rows,u]),Pe=(0,v.useMemo)(()=>{let e=[];for(let t of Me(ge?.entries??[]))t.kind===`user`&&e.push({entryId:t.entry.id,text:kh(t.entry)});return e},[ge]),Fe=(0,v.useCallback)(e=>{d(e),_(!1)},[]),Ie=(0,v.useCallback)((e,t)=>{Xv(t),w.remember(Kg(e),t),C(e)},[w]),Le=(0,v.useCallback)(e=>{p(t=>{let n=Mg(t,e);return Fg(n),n})},[]),Re=(0,v.useCallback)(()=>{p(null),Fg(null)},[]),ze=(0,v.useRef)(k.rows);ze.current=k.rows;let Be=(0,v.useRef)(Fe);Be.current=Fe,(0,v.useEffect)(()=>{let e=()=>{let e=Wv(Yv());w.remember(Kg(e),Yv()),C(e),e.kind===`chat`&&e.conversationId!==void 0&&ze.current.some(t=>t.id===e.conversationId)&&Be.current(e.conversationId)};return globalThis.addEventListener?.(`popstate`,e),()=>{globalThis.removeEventListener?.(`popstate`,e)}},[w,k.rows,Fe]);let F=(0,v.useCallback)(e=>{let t=e===void 0?{kind:`settings`}:{kind:`settings`,section:e};Xv(Kv(t)),C(t)},[]),Ve=(0,v.useCallback)(e=>{F(e),_(!1)},[F]),He=(0,v.useCallback)(e=>Ve(e),[Ve]),I=(0,v.useCallback)(e=>{if(e===`settings`)F(void 0);else{let t=w.routeFor(e),n=Wv(t);Ie(n,t),n.kind===`chat`&&n.conversationId!==void 0&&Fe(n.conversationId)}y(e=>e+1),_(!1)},[w,Ie,F,Fe]),L=(0,v.useCallback)(()=>I(`settings`),[I]),[Ue,We]=(0,v.useState)(()=>wg()),Ge=(0,v.useCallback)((e,t)=>{We(n=>s.status===`ready`?Dg(Eg(xg(s.meta.extensions),n),e,t):n)},[s]),Ke=(0,v.useMemo)(()=>s.status===`ready`?Eg(xg(s.meta.extensions),Ue):[],[s,Ue]),qe=(0,v.useMemo)(()=>s.status===`ready`?[...yg(s.meta),...Ke]:[],[s,Ke]),Je=x===`blocks`?null:Kg(S),Ye=(0,v.useMemo)(()=>{if(A!==null)return Ke.find(e=>e.slug===A.slug&&e.id===A.id)?.refreshMs},[A,Ke]),Xe=(0,v.useCallback)(e=>{if(`conversation`in e&&typeof e.conversation==`number`){let t={kind:`chat`,conversationId:e.conversation};Ie(t,Kv(t)),Fe(e.conversation);return}if(`job`in e){let t={kind:`ext`,slug:`core`,id:`jobs`,params:{job:e.job}};Ie(t,Kv(t));return}if(`settings`in e){let t=e.settings;Ve(typeof t==`string`&&t!==``?t:void 0);return}if(`view`in e&&e.view!==null&&typeof e.view==`object`){let t=e.view,n={kind:`ext`,slug:t.extension,id:t.id,params:t.params??{}};Ie(n,Kv(n))}},[Ie,Fe,Ve]),Ze=(0,v.useCallback)(e=>{if(e.params!==void 0){if(A===null)return;let t={kind:`ext`,slug:A.slug,id:A.id,params:e.params};Ie(t,Kv(t));return}let t=e.target;typeof t==`object`&&t&&Xe(t)},[A,Ie,Xe]),z=Sv(t,{refetchToken:re}),Qe=(0,v.useRef)(void 0);(0,v.useEffect)(()=>{Qe.current!==void 0&&k.streamId!==void 0&&k.streamId!==Qe.current&&ie(e=>e+1),Qe.current=k.streamId},[k.streamId]),(0,v.useEffect)(()=>{let e=globalThis.document;if(e?.addEventListener===void 0)return;let t=()=>{e.visibilityState===`visible`&&ie(e=>e+1)};return e.addEventListener(`visibilitychange`,t),()=>e.removeEventListener?.(`visibilitychange`,t)},[]);let $e=(0,v.useCallback)(e=>{let t=k.rows.find(t=>t.id===e);return t===void 0?void 0:oe(t)},[k.rows]),et=(0,v.useCallback)(e=>{ce(e??null),S.kind===`chat`?p(`notices`):O(!0)},[S.kind]),tt=(0,v.useCallback)(()=>{S.kind===`chat`?Le(`notices`):O(e=>!e)},[S.kind,Le]),nt=S.kind===`chat`?f===`notices`:ae,rt=(0,v.useCallback)(e=>{let t={kind:`chat`,conversationId:e};Ie(t,Kv(t)),y(e=>e+1),Fe(e)},[Ie,Fe]);(0,v.useEffect)(()=>{if(s.status!==`ready`||u!==null||S.kind!==`chat`)return;if(S.conversationId!==void 0&&k.rows.some(e=>e.id===S.conversationId)){d(S.conversationId);return}if(k.rows.length===0)return;let e=k.rows.find(e=>e.root)??k.rows[0];d(t=>t??e?.id??null)},[s.status,k.rows,S.kind]),(0,v.useEffect)(()=>{let e=!1;return t.getMeta().then(t=>{e||(t.schemaVersion===`79bdfd95541951f9db86236ee2a2f81cce481a5d8688090837a2bdde83d52c97`?c({status:`ready`,meta:t}):c({status:`refused`,message:`schema mismatch: the server speaks schema ${t.schemaVersion} but this webui bundle is pinned to ${$g}. Rebuild and redeploy the bundle against this server (spec §5).`}))}).catch(t=>{if(e)return;let n=t instanceof Error?t.message:String(t);c({status:`refused`,message:`schema check failed: ${n}. The wire schema is unverifiable, so the webui refuses to render (spec §5).`})}),()=>{e=!0}},[t]),(0,v.useEffect)(()=>{let e=globalThis,t=()=>{y(e=>e+1)};return e.addEventListener?.(`hashchange`,t),()=>e.removeEventListener?.(`hashchange`,t)},[]);let it=(0,v.useCallback)(async(e,n)=>{try{await t.patchConversationMeta(e,{name:n}),await k.reload(),ue(null)}catch(e){ue(`rename failed: ${e instanceof Error?e.message:String(e)}`)}},[t,k.reload]),at=(0,v.useCallback)(async e=>{u!==null&&await it(u,e)},[u,it]),B=(0,v.useCallback)(async(e,n)=>{try{await t.patchConversationMeta(e,{archived:n}),await k.reload(),ue(null)}catch(e){ue(`archive failed: ${e instanceof Error?e.message:String(e)}`)}},[t,k.reload]),ot=(0,v.useCallback)(e=>{t.fork(e).then(async e=>{await k.reload(),Fe(e.id),ue(null)}).catch(e=>ue(`fork failed: ${e instanceof Error?e.message:String(e)}`))},[t,k.reload,Fe]),st=(0,v.useCallback)(()=>{t.createConversation().then(async e=>{await k.reload(),Fe(e.id),ue(null)}).catch(e=>ue(`new conversation failed: ${e instanceof Error?e.message:String(e)}`))},[t,k.reload,Fe]),ct=(0,v.useCallback)(()=>{u!==null&&t.exportConversation(u).then(e=>{Vv(`sigrun-conversation-${u}.jsonl`,e),ue(null)}).catch(e=>ue(`export failed: ${e instanceof Error?e.message:String(e)}`))},[u,t]),lt=(0,v.useCallback)(()=>{u!==null&&t.compact(u).then(()=>ue(null)).catch(e=>ue(`compact failed: ${e instanceof Error?e.message:String(e)}`))},[u,t]),ut=k.rows.find(e=>e.id===u)?.archived===!0,dt=(0,v.useCallback)(()=>{u!==null&&B(u,!ut)},[u,ut,B]),ft=r===void 0?void 0:()=>{t.logout().catch(()=>void 0).finally(()=>r())};return s.status===`loading`?(0,R.jsx)(`div`,{className:`app-boot`,children:(0,R.jsx)(`p`,{children:`sigrun — checking the wire schema…`})}):s.status===`restarting`?(0,R.jsx)(`div`,{className:`app-boot`,role:`status`,children:(0,R.jsx)(`p`,{children:`sigrun — Restarting…`})}):s.status===`refused`?(0,R.jsxs)(`div`,{className:`app-refused`,role:`alert`,children:[(0,R.jsx)(`h1`,{children:`sigrun — refusing to render`}),(0,R.jsx)(`p`,{children:s.message})]}):(0,R.jsxs)(`div`,{className:`app-root`,children:[(0,R.jsxs)(`div`,{className:`side-drawer`,"data-open":g?``:void 0,children:[(0,R.jsx)(Ug,{meta:s.meta,onOpenTab:I,activeTab:Je,onOpenGallery:s.meta.dev?()=>{globalThis.history?.pushState(null,``,`#/blocks`),y(e=>e+1)}:void 0,identity:n,hiddenExtSurfaces:ee,extViewEntries:Ke,onMoveExtView:Ge,onLogout:ft,bell:(0,R.jsx)(Av,{count:z.notices.length,active:nt,onToggle:tt})}),k.error!==null&&(0,R.jsxs)(`p`,{className:`side-error`,role:`alert`,children:[`conversations unavailable: `,k.error]}),S.kind===`chat`&&(0,R.jsx)(a_,{rows:k.rows,activeId:u,onSelect:rt,onNew:st,onRename:it,onArchive:B,onFork:ot,currentUser:n?.user,onShare:ne})]}),x===`blocks`?(0,R.jsxs)(`main`,{className:`main-column`,children:[(0,R.jsxs)(`header`,{className:`phone-header`,children:[(0,R.jsx)(`span`,{className:`phone-header-spacer`}),(0,R.jsx)(Av,{count:z.notices.length,active:nt,onToggle:tt})]}),(0,R.jsx)(rg,{})]}):S.kind===`settings`?(0,R.jsxs)(`main`,{className:`main-column`,"data-route":`settings`,children:[(0,R.jsxs)(`header`,{className:`phone-header`,children:[(0,R.jsx)(`span`,{className:`phone-header-spacer`}),(0,R.jsx)(Av,{count:z.notices.length,active:nt,onToggle:tt})]}),(0,R.jsx)(kv,{arrivals:z.arrivals,visibleConversationId:null,run:z.run,dismiss:e=>void z.dismiss(e),onNavigate:Xe,onOpenPane:et}),(0,R.jsx)(V_,{client:t,prefsState:o,theme:a,admin:n?.admin,section:S.section,onSection:He,onRestart:l})]}):(0,R.jsxs)(`main`,{className:`main-column`,children:[(0,R.jsx)(kv,{arrivals:z.arrivals,visibleConversationId:S.kind===`chat`?u:null,run:z.run,dismiss:e=>void z.dismiss(e),onNavigate:Xe,onOpenPane:et}),S.kind===`chat`&&(0,R.jsx)(Ig,{title:Hv(k.rows,u),timeline:m,onTimeline:()=>h(e=>(Bv(!e),!e)),panel:f,extPanels:Sg(s.meta.extensions),onPanel:Le,onRename:at,onExport:ct,onCompact:lt,onArchive:dt,archived:ut,drawerOpen:g,onToggleDrawer:()=>_(e=>!e),bell:(0,R.jsx)(Av,{count:z.notices.length,active:nt,onToggle:tt})}),S.kind!==`chat`&&(0,R.jsxs)(`header`,{className:`phone-header`,children:[(0,R.jsx)(`span`,{className:`phone-header-spacer`}),(0,R.jsx)(Av,{count:z.notices.length,active:nt,onToggle:tt})]}),le!==null&&(0,R.jsx)(`p`,{className:`shell-error`,role:`alert`,children:le}),(0,R.jsxs)(`div`,{className:`main-body`,children:[A!==null&&xe!==void 0?(0,R.jsx)(sg,{slug:A.slug,id:A.id,hub:T,transport:xe,onNavigate:Ze,...Ye===void 0?{}:{refreshMs:Ye}},`${A.slug}/${A.id}/${k.streamId??`pre-hello`}`):S.kind===`chat`?(0,R.jsxs)(`div`,{className:`chat-column`,children:[(0,R.jsx)(Uv,{activeId:u,view:ge,status:_e,error:ve,showThinking:o.prefs.showThinking,timeline:m,client:t,onNavigate:Fe,parent:Ne,onScrollRoot:fe,dockPadding:pe,attachChatTransport:D}),(0,R.jsx)(`div`,{className:`chat-fade`,"aria-hidden":`true`}),(0,R.jsx)(`footer`,{className:`composer-slot`,ref:he,children:(0,R.jsx)(Vm,{client:t,conversationId:u,view:ge,onNavigate:Fe,onOpenSettings:L,enterToSend:o.prefs.enterToSend,readOnly:k.rows.find(e=>e.id===u)?.access===`read`,inlineNotices:u===null?[]:z.notices.filter(e=>e.conversationId===u),noticeResults:z.results,noticeRun:z.run,noticeDismiss:e=>void z.dismiss(e),onOpenNoticesPane:()=>et(),onAmbientNavigate:Xe})})]}):null,S.kind===`chat`&&(0,R.jsx)(Wg,{selection:Se,...N!==null&&Ae!==void 0?{extContent:(0,R.jsx)(cg,{slug:N.slug,id:N.id,transport:Ae,onNavigate:Ze,...je===void 0?{}:{refreshMs:je}},`${Ce}:${we}`)}:{},outline:(0,R.jsx)(Qg,{scrollRoot:de,turns:Pe}),workspace:(0,R.jsx)(Fv,{client:t,conversationId:u,onClose:Re}),notices:(0,R.jsx)(wv,{variant:`docked`,notices:z.notices,results:z.results,conversationName:$e,run:z.run,dismiss:e=>void z.dismiss(e),dismissAll:()=>void z.dismissAll(),onNavigate:e=>{Xe(e),`conversation`in e&&Re()},scrollTo:se})})]})]}),g&&(0,R.jsx)(`div`,{className:`drawer-backdrop`,onClick:()=>_(!1),"aria-hidden":`true`}),Se!==null&&Se!==`notices`&&(0,R.jsx)(`div`,{className:`panel-backdrop`,onClick:Re,"aria-hidden":`true`}),S.kind!==`chat`&&ae&&(0,R.jsx)(wv,{variant:`overlay`,notices:z.notices,results:z.results,conversationName:$e,run:z.run,dismiss:e=>void z.dismiss(e),dismissAll:()=>void z.dismissAll(),onClose:()=>O(!1),onNavigate:e=>{Xe(e),O(!1)},scrollTo:se}),(0,R.jsx)(zg,{active:Je??`chats`,extViews:qe,onTab:I,...ft===void 0?{}:{onSignOut:ft}}),te!==null&&(()=>{let e=k.rows.find(e=>e.id===te);return e===void 0?null:(0,R.jsx)(`div`,{className:`share-overlay`,onClick:e=>{e.target===e.currentTarget&&ne(null)},children:(0,R.jsx)(c_,{client:t,conversation:e,onClose:()=>ne(null),onSaved:()=>{k.reload()}})})})()]})}function Qv(e={}){let[t,n]=(0,v.useState)(0);return(0,R.jsx)(Zv,{...e,onRestarting:()=>n(e=>e+1)},t)}var $v={invalid_state:`That sign-in link was already used or came from another browser. Start again.`,login_expired:`This sign-in took too long or sigrun restarted. Start again.`,not_allowed:`Your account isn't allowed to use this sigrun.`,isolation_required:`This sigrun can't add another user yet. Ask the admin.`,auth_required:`This sigrun can't add another user yet. Ask the admin.`,account_link_conflict:`That account is already linked to another sigrun user.`,provider_error:`The sign-in provider returned an error. Try again.`,proxy_identity_required:`This sigrun signs people in through its sign-in proxy. Open it through the proxy.`};function ey(e){return $v[e]??`Sign-in failed. Try again.`}function ty(e){let{client:t,message:n,onSuccess:r}=e,[i,a]=(0,v.useState)(``),[o,s]=(0,v.useState)(()=>{let e=globalThis.location?.search??``,t=new URLSearchParams(e).get(`error`);return t===null?null:ey(t)}),[c,l]=(0,v.useState)(!1),[u,d]=(0,v.useState)([]);(0,v.useEffect)(()=>{let e=!1;return t.providers().then(t=>{e||d(t.providers)}).catch(()=>{}),()=>{e=!0}},[t]),(0,v.useEffect)(()=>{let e=globalThis.location?.search??``;if(new URLSearchParams(e).get(`error`)===null)return;let t=globalThis.history,n=globalThis.location?.pathname??`/login`;t?.replaceState(null,``,n)},[]);async function f(){if(i.trim()===``){s(`paste your API token`);return}l(!0),s(null);try{await t.login(i.trim()),r()}catch(e){s(o_(e))}finally{l(!1)}}return(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Sign in to sigrun`}),n!==void 0&&(0,R.jsx)(`p`,{className:`auth-message`,children:n}),u.length>0&&(0,R.jsx)(`div`,{className:`auth-providers`,children:u.map(e=>(0,R.jsx)(`a`,{className:`auth-provider`,href:`/v1/auth/login/${encodeURIComponent(e.provider)}?return=%2F`,children:e.label},e.provider))}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`API token`,(0,R.jsx)(`input`,{"data-auth-field":`token`,type:`password`,autoComplete:`current-password`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),f())}})]}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:c,onClick:()=>void f(),children:c?`Signing in…`:`Sign in`}),o!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:o})]})}function ny(e){return!e.startsWith(`/`)||e.startsWith(`//`)||e.includes(`\\`)||/^[A-Za-z][A-Za-z0-9+.-]*:/.test(e)?`/`:e}function ry(e){let{client:t,flowKey:n,reason:r,navigate:i}=e,[a,o]=(0,v.useState)(``),[s,c]=(0,v.useState)(!1),[l,u]=(0,v.useState)(null);async function d(){if(a.trim()===``){u(`Enter your code.`);return}c(!0),u(null);try{let e=await t.submitLoginCode(n,a.trim());i(ny(e.returnTo))}catch(e){e instanceof x&&e.error===`invalid_code`?u(`That code didn't work. Check it and try again.`):e instanceof x&&e.error===`login_expired`?u(`This sign-in took too long or sigrun restarted. Start again.`):e instanceof x&&e.error===`not_allowed`?u(`Your account isn't allowed to use this sigrun.`):e instanceof x&&(e.error===`isolation_required`||e.error===`auth_required`)?u(`This sigrun can't add another user yet. Ask the admin.`):u(`Sign-in failed. Try again.`)}finally{c(!1)}}return(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Finish signing in`}),(0,R.jsx)(`p`,{className:`auth-message`,children:r===`setup`?`Enter the setup code to claim this sigrun.`:`Enter your invite code to finish signing in.`}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[r===`setup`?`Setup code`:`Invite code`,(0,R.jsx)(`input`,{"data-auth-field":`login-code`,type:`text`,autoComplete:`one-time-code`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),d())}})]}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:s,onClick:()=>void d(),children:s?`Signing in…`:`Continue`}),l!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:l})]})}function iy(e){let{cause:t,context:n}=e,r=e.reload??(()=>location.reload());return(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`proxy-unidentified`,children:(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Sign-in proxy required`}),n===`session_ended`&&(0,R.jsx)(`p`,{className:`auth-message`,children:`Your session ended.`}),t===`unidentified`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`auth-message`,children:`This sigrun runs behind a sign-in proxy, but the proxy's identity didn't reach sigrun.`}),(0,R.jsx)(`p`,{children:`The proxy's address may be missing from trustedProxies, or the proxy may not be forwarding the identity header. The operator can see the reason in the server log.`})]}):t===`invalid_username`?(0,R.jsx)(`p`,{className:`auth-message`,children:`The proxy supplied an invalid username: the proxy's username has no usable characters.`}):(0,R.jsx)(`p`,{className:`auth-message`,children:`Your account doesn't exist and auto-provisioning is off. Ask the admin to create your account.`}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,onClick:r,children:`Reload`})]})})}var ay=w();function oy(e,t){return new Proxy(e,{get(e,n){let r=e[n];return typeof r==`function`?(...n)=>Promise.resolve().then(()=>r.apply(e,n)).catch(e=>{throw e instanceof x&&e.status===401&&t(),e}):r}})}function sy(e={}){let[t,n]=(0,v.useState)({status:`probing`}),[r,i]=(0,v.useState)(0),a=(0,v.useCallback)(()=>{n(e=>e.status===`ready`?b(e.methods)?{status:`proxy-unidentified`,cause:`unidentified`,context:`session_ended`}:{status:`login`,methods:e.methods,message:`Your session ended. Sign in again.`}:e)},[]),o=(0,v.useMemo)(()=>oy(e.client??ay,a),[e.client,a]);if((0,v.useEffect)(()=>{let e=!1;return(async()=>{let t=await o.getOnboarding().catch(t=>{e||n({status:`failed`,message:t instanceof Error?t.message:String(t)})});if(!(t===void 0||e)){if(t.state===`unclaimed`){n({status:`onboarding`,state:t});return}try{let r=await o.whoami();if(e)return;n({status:`ready`,methods:t.methods,identity:r})}catch(r){if(e)return;if(b(t.methods)&&r instanceof x&&r.status===401){n({status:`proxy-unidentified`,cause:`unidentified`,context:`boot`});return}if(b(t.methods)&&r instanceof x&&r.status===403&&(r.error===`invalid_username`||r.error===`user_not_provisioned`)){n({status:`proxy-unidentified`,cause:r.error===`invalid_username`?`invalid_username`:`not_provisioned`,context:`boot`});return}if(r instanceof x&&r.status===401){n({status:`login`,methods:t.methods});return}n({status:`failed`,message:r instanceof Error?r.message:String(r)})}}})(),()=>{e=!0}},[o,r]),t.status===`probing`)return(0,R.jsx)(`div`,{className:`app-boot`,"data-auth-screen":`probing`,children:(0,R.jsx)(`p`,{children:`sigrun — signing in…`})});if(t.status===`failed`)return(0,R.jsxs)(`div`,{className:`app-refused`,role:`alert`,"data-auth-screen":`failed`,children:[(0,R.jsx)(`h1`,{children:`sigrun — auth check failed`}),(0,R.jsx)(`p`,{children:t.message}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>i(e=>e+1),children:`Retry`})]});let s=globalThis.location;if(s?.pathname===`/login/code`){let e=new URLSearchParams(s.search??``),t=e.get(`key`);if(t!==null)return(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`login-code`,children:(0,R.jsx)(ry,{client:o,flowKey:t,reason:e.get(`reason`)??`invite`,navigate:e=>{s.href!==void 0&&(s.href=e)}})})}return t.status===`onboarding`?b(t.state.methods)&&t.state.codeRequired&&t.state.proxyIdentity===void 0?(0,R.jsx)(iy,{cause:`unidentified`,context:`onboarding`}):(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`onboarding`,children:(0,R.jsx)(A_,{client:o,state:t.state,onClaimed:()=>i(e=>e+1)})}):t.status===`proxy-unidentified`?(0,R.jsx)(iy,{cause:t.cause,context:t.context}):t.status===`login`?(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`login`,children:(0,R.jsx)(ty,{client:o,message:t.message,onSuccess:()=>i(e=>e+1)})}):(0,R.jsx)(Qv,{client:o,createEventSource:e.createEventSource,identity:t.identity,onLogout:()=>n({status:`login`,methods:t.methods,message:`Signed out.`})})}var cy=document.getElementById(`root`);if(cy===null)throw Error(`sigrun webui: #root mount point missing from index.html`);(0,y.createRoot)(cy).render((0,R.jsx)(v.StrictMode,{children:(0,R.jsx)(sy,{})}));
55
+ `)}function kh(e){return Ae(e)?.typed??Oh(e)}function Ah(e){let[t,n]=(0,v.useState)(!1),{expanded:r,fullText:i}=e;return(0,R.jsxs)(`div`,{className:`entry-expanded`,children:[(0,R.jsxs)(`button`,{type:`button`,className:`entry-expanded-chip`,"aria-expanded":t,title:t?`Hide the expanded text`:`Show the expanded text`,onClick:()=>n(!t),children:[`expanded from /`,r.command??`…`]}),t&&(0,R.jsx)(`div`,{className:`entry-expanded-text`,children:(0,R.jsx)(md,{source:i,variant:`bubble`})})]})}function jh(e){let{entry:t}=e,n=Ae(t),r=Eh(t),i=r===void 0?void 0:(e.entries??[]).find(e=>e.kind===`sigrun.blocks`&&String(e.id)===r.entryId),a=i===void 0?void 0:Dh(i.data);return(0,R.jsxs)(`div`,{className:`turn turn-user`,"data-turn-kind":`user`,"data-entry-id":t.id,children:[(0,R.jsxs)(`div`,{className:`entry-user`,children:[n===void 0?(t.model??[]).map((e,t)=>(0,R.jsxs)(`div`,{className:`entry-user-message`,children:[(0,R.jsx)(md,{source:Gm(e),variant:`bubble`}),qm(e).map((e,t)=>(0,R.jsxs)(`span`,{className:`entry-attachment`,children:[`[`,e.type,`: `,e.path??`?`,`]`]},t))]},t)):(0,R.jsxs)(`div`,{className:`entry-user-message`,children:[(0,R.jsx)(md,{source:n.typed,variant:`bubble`}),(t.model??[]).flatMap(e=>qm(e).map((e,t)=>(0,R.jsxs)(`span`,{className:`entry-attachment`,children:[`[`,e.type,`: `,e.path??`?`,`]`]},t)))]}),n!==void 0&&(0,R.jsx)(Ah,{expanded:n,fullText:Oh(t)}),r!==void 0&&(0,R.jsxs)(`span`,{className:`entry-answer-chip`,"data-answer-entry":r.entryId,children:[`from `,a??`entry ${r.entryId}`]})]}),(0,R.jsx)(rd,{kind:`user`,text:kh(t),onFork:e.onFork,onEdit:e.onEdit})]})}function Mh(e){return e.docs[`pi.live`]}function Nh(e){return Mh(e)?.tools??[]}function Ph(e){let t=Mh(e)?.generation?.message;if(typeof t==`object`&&t)return t}function Fh(e){return Mh(e)?.compactions?.length??0}function Ih(e){let t=Mh(e)?.compactionFailure;if(typeof t!=`object`||!t)return;let n=t.error;return typeof n==`string`&&n!==``?n:void 0}var Lh=new Set([`aborted`,`reset`]);function Rh(e){let t=Mh(e);if(t===void 0||t.run!==void 0)return;let n=t.runFailure;if(typeof n!=`object`||!n)return;let r=n.reason;if(typeof r!=`string`||r===``||Lh.has(r))return;let i=n.detail;return typeof i==`string`&&i!==``?{reason:r,detail:i}:{reason:r}}function zh(e){return e}function Bh(e){return Nh(zh(e))}function Vh(e){return Ph(zh(e))}function Hh(e){return Fh(zh(e))}function Uh(e){return Ih(zh(e))}function Wh(e){return Rh(zh(e))}var Gh=-1;function Kh(e){let t=e.content;return typeof t==`string`?[]:t.filter(e=>e.type===`toolCall`).map(e=>{let t=e;return{callId:t.id??``,name:t.name??``,preview:Fe(t.name??``,t.arguments),isError:!1}})}function qh(e,t){return{entries:[{id:Gh,conversationId:e,kind:`pi.assistant`,model:[t]}],thinking:Km(t),tools:Kh(t),text:Gm(t),lastEntryId:Gh,timeline:Jh(t)}}function Jh(e){let t=[];for(let n of Km(e))t.push({kind:`thinking`,text:n});for(let n of Kh(e))t.push({kind:`tool`,tool:n});let n=Gm(e);return n!==``&&t.push({kind:`text`,text:n}),t}function Yh(e){let{view:t,showThinking:n,timeline:r,parent:i,onNavigate:a,client:o}=e,s=t.conversation.id,c=Bh(t),l=Vh(t),u=Me(t.entries),d=u[u.length-1],f=l!==void 0&&d!==void 0&&d.kind===`assistant`;if(f&&d!==void 0&&d.kind===`assistant`){let e=Gm(l),t=Kh(l).filter(e=>!d.tools.some(t=>t.callId===e.callId));u[u.length-1]={...d,text:d.text===``?e:`${d.text}\n\n${e}`,thinking:[...d.thinking,...Km(l)],tools:[...d.tools,...t],timeline:[...d.timeline,...Km(l).map(e=>({kind:`thinking`,text:e})),...t.map(e=>({kind:`tool`,tool:e})),...e===``?[]:[{kind:`text`,text:e}]]}}let p=e=>()=>{o.fork(s,e).then(e=>a(e.id)).catch(e=>console.error(`fork from conversation ${s} failed:`,e))};return(0,R.jsxs)(`div`,{className:`turn-list`,children:[i!==void 0&&(0,R.jsxs)(`button`,{type:`button`,className:`turn-lineage`,onClick:()=>a(i.id),children:[`Forked from `,i.name]}),u.map((e,i)=>e.kind===`user`?(0,R.jsx)(Xh,{entry:e.entry,entries:t.entries,view:t,client:o,conversationId:s,onNavigate:a,forkFrom:p},e.entry.id):e.kind===`assistant`?(0,R.jsx)(Sh,{conversationId:s,turn:e,slots:c,showThinking:n,client:o,onNavigate:a,live:f&&i===u.length-1,timeline:r},e.lastEntryId):(0,R.jsx)(Zh,{entry:e.entry},e.entry.id)),l!==void 0&&!f&&(0,R.jsx)(Sh,{conversationId:s,turn:qh(s,l),slots:c,showThinking:n,client:o,onNavigate:a,live:!0},Gh)]})}function Xh(e){let{entry:t,entries:n,view:r,client:i,conversationId:a,onNavigate:o,forkFrom:s}=e;return(0,R.jsx)(jh,{entry:t,entries:n,onFork:s(t.id),onEdit:()=>{let e=r.entries[r.entries.findIndex(e=>e.id===t.id)-1];(e===void 0?i.createConversation():i.fork(a,e.id)).then(async e=>{await i.patchConversationMeta(e.id,{draft:{text:kh(t)}}),o(e.id)}).catch(e=>console.error(`edit-in-new-conversation failed:`,e))}})}function Zh(e){let{entry:t}=e,n=t.kind===`pi.compaction`?`compaction`:t.kind===`pi.system`?`system`:`other`;return(0,R.jsx)(`div`,{className:`turn turn-other`,"data-turn-kind":n,children:t.kind===`pi.compaction`?(0,R.jsx)(wh,{entry:t}):t.kind===`pi.system`?(0,R.jsx)(Th,{entry:t}):(0,R.jsxs)(`div`,{className:`entry entry-unknown`,children:[`unsupported entry kind: `,t.kind,` —`,` `,(t.model??[]).map(e=>Gm(e)).filter(e=>e!==``).join(` `)]})})}function Qh(e){let t=hh(e.transport,{onNavigate:e.onNavigate,refreshMs:e.refreshMs,visible:e.visible}),n=e.keepaliveMs,r=e.visible,i=(0,v.useRef)(t.refresh);i.current=t.refresh,(0,v.useEffect)(()=>{if(n===void 0)return;let e=setInterval(()=>{(r===void 0||r())&&i.current()},n),t=globalThis.document,a=()=>{(r===void 0||r())&&i.current()};return t?.addEventListener(`visibilitychange`,a),()=>{clearInterval(e),t?.removeEventListener(`visibilitychange`,a)}},[n,r]);let a=navigator.language,o=(0,v.useMemo)(()=>({dispatch:t.dispatch,access:t.access,rev:t.rev,viewState:typeof t.view.view==`object`&&t.view.view!==null&&!Array.isArray(t.view.view)?t.view.view:{},setView:t.setView,serverErrors:t.serverErrors}),[t.dispatch,t.access,t.rev,t.view,t.setView,t.serverErrors]);return t.status===`loading`?(0,R.jsx)(`div`,{className:`blk-surface`,"data-surface":`loading`,children:(0,R.jsx)(`p`,{children:`loading…`})}):t.status===`notFound`?(0,R.jsx)(`div`,{className:`blk-surface`,"data-surface":`not-found`,children:(0,R.jsx)(`p`,{children:`surface not found`})}):t.status===`error`?(0,R.jsxs)(`div`,{className:`blk-surface`,"data-surface":`error`,role:`alert`,children:[(0,R.jsx)(`p`,{children:`something went wrong`}),(0,R.jsx)(`button`,{type:`button`,"data-surface-retry":``,onClick:()=>t.retry(),children:`Retry`})]}):(0,R.jsx)(`div`,{className:`blk-surface`,"data-surface":`ready`,children:(0,R.jsx)(ze.Provider,{value:{data:t.view,locale:a},children:(0,R.jsxs)(Be.Provider,{value:o,children:[(0,R.jsx)(Xe,{children:t.tree!==void 0&&(0,R.jsx)(Kp,{block:t.tree.root})}),t.toasts.map((e,t)=>(0,R.jsx)(`p`,{className:`blk-surface-toast`,role:`status`,children:e},t))]})})})}var $h=Object.assign({"../../../test/fixtures/blocks/ambient-footer.json":{v:1,root:{type:`columns`,id:`ambient-footer`,children:[{block:{type:`markdown`,text:`left`}},{block:{type:`stat`,label:`Queue`,value:3}},{block:{type:`markdown`,text:`right`}}]}},"../../../test/fixtures/blocks/ambient-panel.json":{v:1,root:{type:`stack`,id:`ambient-panel`,children:[{type:`collection`,id:`checks`,items:[{id:`c1`,name:`lint`,state:`passed`,busy:!1,tone:`good`},{id:`c2`,name:`tests`,state:`running`,busy:!0,tone:`neutral`}],display:`list`,item:{title:{$:`./name`},status:{label:{$:`./state`},spinner:{$:`./busy`}},tone:{$:`./tone`}}},{type:`log`,lines:[{at:1,level:`info`,text:`3 checks running`},{at:2,level:`error`,text:`rollback failed`}]},{type:`meter`,value:62,format:`percent`},{type:`details`,value:{ok:!0}}]}},"../../../test/fixtures/blocks/ambient-status.json":{v:1,root:{type:`markdown`,id:`ambient-status`,text:`glm-5.3-flash · main* · $0.0421`}},"../../../test/fixtures/blocks/callout.json":{v:1,root:{type:`callout`,id:`callout`,tone:`warn`,title:`Degraded`,body:`acme upstream is slow`,actions:[{id:`open`,label:`Open console`,icon:`external`,action:{type:`open`,url:`https://example.invalid/console`}},{id:`copy`,label:`Copy id`,action:{type:`copy`,text:`acme-42`}}]}},"../../../test/fixtures/blocks/chart.json":{v:1,root:{type:`chart`,id:`chart`,title:`Throughput`,x:{kind:`time`,format:`time`},y:{unit:`req/s`,min:0},series:[{name:`acme`,kind:`area`,data:{$:`/series/acme`}},{name:`Baseline`,kind:`line`,data:[[0,10],[60,12],[120,11]]}],stacked:!1,thresholds:[{at:20,tone:`warn`,label:`SLO`}]}},"../../../test/fixtures/blocks/chat-message.json":{v:1,root:{type:`stack`,id:`chat-message`,children:[{type:`markdown`,text:`acme ranking draft`},{type:`collection`,id:`rank`,items:{$:`/songs`},display:`list`,numbered:!0,reorder:{within:!0},onMove:`reorderSong`,item:{title:{$:`./title`},meta:[{person:{user:`user:example`,name:`Example`}}]}},{type:`form`,id:`use`,bind:`/reply`,mode:`submit`,onSubmit:`useOrder`,submitLabel:`Use this order`,turn:!0,children:[{type:`toggle`,name:`confirm`,label:`Confirm`}]}]}},"../../../test/fixtures/blocks/collection-calendar.json":{v:1,root:{type:`collection`,id:`collection-calendar`,items:{$:`/events`},display:`calendar`,time:{start:`startsAt`,end:`endsAt`,allDay:`allDay`,range:`month`,onResize:`resizeEvent`,onCreate:`createEvent`},item:{title:{$:`./title`}}}},"../../../test/fixtures/blocks/collection-grid.json":{v:1,root:{type:`collection`,id:`collection-grid`,items:{$:`/shots`},display:`grid`,overflow:`wrap`,item:{title:{$:`./title`},image:{$:`./image`}}}},"../../../test/fixtures/blocks/collection-lanes.json":{v:1,root:{type:`collection`,id:`collection-lanes`,items:{$:`/cards`},display:`lanes`,groupBy:`state`,groups:[{id:`todo`,title:`To do`,tone:`neutral`},{id:`doing`,title:`Doing`,tone:`info`,collapsed:!1}],reorder:{within:!0,across:!0},onMove:`moveCard`,onActivate:{type:`navigate`,params:{id:`acme`}},item:{title:{$:`./title`},tone:{$:`./tone`}}}},"../../../test/fixtures/blocks/collection-list.json":{v:1,root:{type:`collection`,id:`collection-list`,items:{$:`/cards`},display:`list`,numbered:!0,checkable:`done`,onCheck:`toggleDone`,children:`subtasks`,item:{eyebrow:{$:`./eyebrow`},title:{$:`./title`},subtitle:{$:`./subtitle`},body:{$:`./body`},icon:`file`,badges:[{text:{$:`./badge`},tone:`info`}],meta:[{icon:`clock`,text:{$:`./when`}},{person:{user:{$:`./user`},name:{$:`./userName`}}},{time:{$:`./at`},format:`datetime`}],metrics:[{label:`Score`,value:{$:`./score`},format:`number`}],tone:`accent`,status:{label:{$:`./state`},tone:`good`,spinner:{$:`./busy`}},quiet:{$:`./quiet`},deps:{$:`./deps`}}}},"../../../test/fixtures/blocks/collection-literal.json":{v:1,root:{type:`collection`,id:`collection-literal`,items:[{id:`row-1`,title:`acme provision`,state:`todo`,quiet:!1},{id:`row-2`,title:`acme build`,state:`doing`,quiet:!0}],display:`list`,item:{title:{$:`./title`},status:{label:{$:`./state`}},quiet:{$:`./quiet`}}}},"../../../test/fixtures/blocks/collection-table.json":{v:1,root:{type:`collection`,id:`collection-table`,items:{$:`/rows`},display:`table`,select:`multi`,sort:{field:`name`,dir:`asc`},bulkActions:[{id:`set-state`,label:`Set state`,icon:`edit`,onSubmit:`setState`,form:{v:1,root:{type:`form`,id:`set-state-form`,bind:`/bulk`,mode:`submit`,onSubmit:`setState`,children:[{type:`text`,name:`state`,label:`State`}]}}}],columns:[{field:`name`,label:`Name`,sortable:!0,priority:`high`},{field:`load`,label:`Load`,format:`percent`,cell:`meter`,priority:`low`},{field:`state`,label:`State`,cell:`badge`,width:`s`}],item:{title:{$:`./name`}}}},"../../../test/fixtures/blocks/columns.json":{v:1,root:{type:`columns`,id:`columns`,children:[{weight:2,minWidth:`m`,block:{type:`markdown`,text:`left`}},{weight:1,block:{type:`stat`,label:`Load`,value:.42,format:`percent`,size:`m`,icon:`clock`}}]}},"../../../test/fixtures/blocks/details.json":{v:1,root:{type:`details`,id:`details`,value:{host:`acme.example`,tags:[`a`,`b`],nested:{ok:!0}}}},"../../../test/fixtures/blocks/diff.json":{v:1,root:{type:`diff`,id:`diff`,before:`const a = 1;`,after:`const a = 2;`,path:`src/acme.ts`,lang:`ts`}},"../../../test/fixtures/blocks/field-choice.json":{v:1,root:{type:`form`,id:`form-choice`,bind:`/values`,mode:`submit`,children:[{type:`choice`,name:`pick`,label:`Pick`,multi:!0,options:[{id:`a`,label:`A`,description:`first`},{id:`b`,label:`B`,tone:`good`}]}]}},"../../../test/fixtures/blocks/field-date.json":{v:1,root:{type:`form`,id:`form-date`,bind:`/values`,mode:`submit`,children:[{type:`date`,name:`on`,label:`On`}]}},"../../../test/fixtures/blocks/field-daterange.json":{v:1,root:{type:`form`,id:`form-daterange`,bind:`/values`,mode:`submit`,children:[{type:`daterange`,name:`range`,label:`Range`,presets:[{id:`today`,label:`Today`,duration:`P1D`}]}]}},"../../../test/fixtures/blocks/field-datetime.json":{v:1,root:{type:`form`,id:`form-datetime`,bind:`/values`,mode:`submit`,children:[{type:`datetime`,name:`at`,label:`At`}]}},"../../../test/fixtures/blocks/field-file.json":{v:1,root:{type:`form`,id:`form-file`,bind:`/values`,mode:`submit`,children:[{type:`file`,name:`logo`,label:`Logo`,accept:`image/png`,multi:!0,onUpload:`uploadLogo`}]}},"../../../test/fixtures/blocks/field-list.json":{v:1,root:{type:`form`,id:`form-list`,bind:`/values`,mode:`submit`,children:[{type:`list`,name:`members`,label:`Members`,item:{type:`text`,name:`name`,label:`Name`},reorder:!0}]}},"../../../test/fixtures/blocks/field-longtext.json":{v:1,root:{type:`form`,id:`form-longtext`,bind:`/values`,mode:`submit`,children:[{type:`longtext`,name:`notes`,label:`Notes`,syntax:`markdown`,lang:`md`,rows:8,maxLength:4e3}]}},"../../../test/fixtures/blocks/field-number.json":{v:1,root:{type:`form`,id:`form-number`,bind:`/values`,mode:`submit`,children:[{type:`number`,name:`port`,label:`Port`,min:1,max:65535,step:1,format:`number`}]}},"../../../test/fixtures/blocks/field-secret.json":{v:1,root:{type:`form`,id:`form-secret`,bind:`/values`,mode:`submit`,children:[{type:`secret`,name:`apiKey`,label:`API key`}]}},"../../../test/fixtures/blocks/field-text.json":{v:1,root:{type:`form`,id:`form-text`,bind:`/values`,mode:`submit`,children:[{type:`text`,name:`name`,label:`Name`,kind:`email`,suggest:{$:`/suggestions`},required:!0,minLength:2,placeholder:`acme@example.invalid`}]}},"../../../test/fixtures/blocks/field-toggle.json":{v:1,root:{type:`form`,id:`form-toggle`,bind:`/values`,mode:`live`,children:[{type:`toggle`,name:`dark`,label:`Dark mode`,disabled:!1}]}},"../../../test/fixtures/blocks/fields.json":{v:1,root:{type:`fields`,id:`fields`,rows:[{label:`Host`,value:`acme.example`},{label:`Errors`,value:2,tone:`bad`,icon:`error`}]}},"../../../test/fixtures/blocks/form-chat.json":{v:1,root:{type:`form`,id:`form-chat`,bind:`/reply`,mode:`submit`,onSubmit:`sendReply`,submitLabel:`Send`,turn:!0,children:[{type:`choice`,name:`answer`,label:`Answer`,options:[{id:`yes`,label:`Yes`,preview:`proceed with the acme plan`},{id:`no`,label:`No`,tone:`bad`}]},{type:`longtext`,name:`reason`,label:`Reason`,syntax:`plain`}]}},"../../../test/fixtures/blocks/form-inline.json":{v:1,root:{type:`form`,id:`form-inline`,bind:`/view/quick`,mode:`inline`,onSubmit:`addQuick`,submitLabel:`Add`,children:[{type:`text`,name:`title`,label:`Title`,placeholder:`new item`,kind:`search`}]}},"../../../test/fixtures/blocks/form-interaction.json":{v:1,root:{type:`form`,id:`form-interaction`,bind:`/values`,mode:`submit`,onSubmit:`answer`,submitLabel:`Answer`,children:[{type:`section`,title:`Approve`,children:[{type:`choice`,name:`verdict`,label:`Verdict`,options:[{id:`allow`,label:`Allow`,tone:`good`,recommended:!0,preview:`run it`},{id:`deny`,label:`Deny`,tone:`bad`}]}]},{type:`longtext`,name:`reason`,label:`Reason`,required:!0},{type:`secret`,name:`token`,label:`Token`,help:`optional`}]}},"../../../test/fixtures/blocks/form-settings.json":{v:1,root:{type:`form`,id:`form-settings`,bind:`/settings`,mode:`submit`,onSubmit:`saveSettings`,children:[{type:`text`,name:`host`,label:`Host`,apply:`live`},{type:`choice`,name:`plan`,label:`Plan`,options:[{id:`basic`,label:`Basic`},{id:`pro`,label:`Pro`,recommended:!0}]},{type:`toggle`,name:`verbose`,label:`Verbose`,apply:`restart`},{type:`date`,name:`since`,label:`Since`},{type:`datetime`,name:`at`,label:`At`,min:0},{type:`daterange`,name:`window`,label:`Window`,presets:[{id:`7d`,label:`Last 7 days`,duration:`P7D`}]},{type:`list`,name:`hosts`,label:`Hosts`,reorder:!0,min:1,max:10,item:{type:`text`,name:`host`,label:`Host`,pattern:`^[a-z].*$`}}]}},"../../../test/fixtures/blocks/form-upload.json":{v:1,root:{type:`form`,id:`form-upload`,bind:`/upload`,mode:`submit`,onSubmit:`saveUpload`,children:[{type:`file`,name:`avatar`,label:`Avatar`,accept:`image/*`,maxBytes:1048576,onUpload:`uploadAvatar`}]}},"../../../test/fixtures/blocks/form-view.json":{v:1,root:{type:`form`,id:`form-view`,bind:`/view/filter`,mode:`live`,children:[{type:`choice`,name:`state`,label:`State`,multi:!1,allowOther:{label:`Other`},options:[{id:`all`,label:`All`,description:`every item`,recommended:!0},{id:`open`,label:`Open`,tone:`info`}]}]}},"../../../test/fixtures/blocks/form.json":{v:1,root:{type:`form`,id:`form`,bind:`/form`,mode:`submit`,onSubmit:`saveForm`,submitLabel:`Save`,children:[{type:`section`,title:`Basics`,children:[{type:`text`,name:`title`,label:`Title`,required:!0,maxLength:80}]},{type:`longtext`,name:`notes`,label:`Notes`,syntax:`markdown`,rows:4,help:`markdown ok`},{type:`number`,name:`retries`,label:`Retries`,min:0,max:5,step:1},{type:`toggle`,name:`enabled`,label:`Enabled`,help:`run the acme loop`}]}},"../../../test/fixtures/blocks/grid.json":{v:1,root:{type:`grid`,id:`grid`,minItemWidth:`m`,children:[{span:2,block:{type:`stat`,label:`Wide`,value:12,sparkline:[1,2,3]}},{block:{type:`stat`,label:`Narrow`,value:3}},{span:`full`,block:{type:`markdown`,text:`full row`}}]}},"../../../test/fixtures/blocks/image.json":{v:1,root:{type:`image`,id:`image`,src:`asset:acme/diagram.png`,alt:`acme cluster diagram`}},"../../../test/fixtures/blocks/interaction-form.json":{v:1,root:{type:`form`,id:`interaction-body`,bind:`/values`,mode:`submit`,onSubmit:`answer`,submitLabel:`Answer`,children:[{type:`section`,title:`Proceed?`,children:[{type:`choice`,name:`proceed`,label:`Proceed`,options:[{id:`yes`,label:`Yes`,tone:`good`,preview:`deploy to acme`},{id:`no`,label:`No`,tone:`bad`}]}]},{type:`text`,name:`note`,label:`Note`}]}},"../../../test/fixtures/blocks/log-literal.json":{v:1,root:{type:`log`,id:`log-literal`,lines:[{at:1,level:`info`,text:`deploy started`},{at:2,level:`warn`,text:`cache cold`},{at:3,level:`error`,text:`rollback failed`}],follow:!0,wrap:!1,tones:{error:`bad`,warn:`warn`,info:`neutral`}}},"../../../test/fixtures/blocks/log.json":{v:1,root:{type:`log`,id:`log`,lines:{$:`/lines`},follow:!0,wrap:!1,tones:{error:`bad`,warn:`warn`,info:`neutral`}}},"../../../test/fixtures/blocks/markdown.json":{v:1,root:{type:`markdown`,id:`markdown`,text:`acme **status** at [example.invalid](https://example.invalid/x)`}},"../../../test/fixtures/blocks/meter-literal.json":{v:1,root:{type:`meter`,id:`meter-literal`,value:.62,min:0,max:1,label:`Disk`,format:`percent`,thresholds:[{at:.8,tone:`warn`},{at:.95,tone:`bad`}]}},"../../../test/fixtures/blocks/meter.json":{v:1,root:{type:`meter`,id:`meter`,value:{$:`/disk`},min:0,max:1,label:`Disk`,format:`percent`,thresholds:[{at:.8,tone:`warn`},{at:.95,tone:`bad`}]}},"../../../test/fixtures/blocks/page-selection.json":{v:1,root:{type:`page`,id:`page`,title:`Jobs`,subtitle:`acme queue`,sidebar:[{type:`collection`,id:`jobs`,items:[{id:`job-1`,title:`acme provision`},{id:`job-2`,title:`acme build`},{id:`job-3`,title:`acme deploy`}],display:`list`,item:{title:{$:`./title`}}}],main:[{type:`markdown`,text:`acme build — the selected job's detail`}],selection:{selected:!0,back:{}}}},"../../../test/fixtures/blocks/page-sidebar.json":{v:1,root:{type:`page`,id:`page`,title:{$:`/title`},subtitle:`with a sidebar`,sidebar:[{type:`tree`,nodes:{$:`/nav`}}],main:[{type:`markdown`,text:`board body`}]}},"../../../test/fixtures/blocks/page.json":{v:1,root:{type:`page`,title:`Jobs`,subtitle:`acme queue`,actions:[{id:`refresh`,label:`Refresh`,icon:`refresh`,action:{type:`edit`,name:`refresh`}}],main:[{type:`section`,title:`Active`,children:[{type:`markdown`,text:`acme jobs run **here**`},{type:`fields`,rows:[{label:`Queue`,value:`acme`},{label:`State`,value:`running`,tone:`info`}]}]}],detail:[{type:`diff`,before:`a`,after:`b`,lang:`ts`},{type:`details`,value:{kind:`acme`,count:3}}],empty:{icon:`check`,title:`All done`,hint:`no pending jobs`},id:`page`}},"../../../test/fixtures/blocks/section.json":{v:1,root:{type:`section`,title:`Group`,subtitle:`subtitle`,tone:`info`,collapsible:!0,collapsed:!1,children:[{type:`markdown`,text:`in section`},{type:`callout`,id:`section-callout`,tone:`warn`,title:`Careful`,body:`acme maintenance at 02:00`,actions:[{id:`ack`,label:`Acknowledge`,action:{type:`edit`,name:`ack`}}]}]}},"../../../test/fixtures/blocks/stack.json":{v:1,root:{type:`stack`,id:`stack`,gap:`m`,visibleAt:`atLeast:regular`,children:[{type:`markdown`,text:`stacked`},{type:`fields`,rows:[{label:`L`,value:1}]}]}},"../../../test/fixtures/blocks/stat-literal.json":{v:1,root:{type:`stat`,id:`stat-literal`,label:`Latency`,value:42,unit:`ms`,format:`number`,tone:`good`,icon:`clock`,size:`l`,caption:`p95 over 5m`,sparkline:[30,42,38,51,44]}},"../../../test/fixtures/blocks/stat.json":{v:1,root:{type:`stat`,id:`stat`,label:`Latency`,value:{$:`/latency`},unit:`ms`,format:`number`,tone:`good`,icon:`clock`,size:`l`,caption:`p95 over 5m`,sparkline:[30,42,38,51,44]}},"../../../test/fixtures/blocks/tree.json":{v:1,root:{type:`tree`,id:`tree`,nodes:{$:`/nodes`},onExpand:`expandNode`,onActivate:{type:`navigate`,params:{node:`acme`}}}}}),eg=[{id:`card-1`,title:`acme provision`,state:`todo`,done:!1,eyebrow:`acme/queue`,subtitle:`spin the example.invalid runner`,body:`clone the repo, mount the volume`,badge:`queue`,when:`today`,user:`u1`,userName:`acme ops`,at:`2026-10-19T09:00:00Z`,score:3,quiet:!1,busy:!1,deps:[],tone:`info`,subtasks:[]},{id:`card-2`,title:`acme build`,done:!0,eyebrow:`acme/ci`,subtitle:`build the release`,body:`vite build && vitest`,badge:`ci`,when:`yesterday`,user:`acme-ops`,userName:`acme ops`,at:`2026-10-18T17:00:00Z`,score:9,state:`doing`,quiet:!0,busy:!1,deps:[`card-1`],tone:`good`,subtasks:[]},{id:`card-3`,title:`acme deploy`,done:!1,eyebrow:`acme/cd`,subtitle:`ship to example.invalid`,body:`helm upgrade`,badge:`cd`,when:`tomorrow`,user:`acme-cd`,userName:`acme deploy`,at:`2026-10-20T12:00:00Z`,score:5,state:`doing`,quiet:!1,busy:!0,deps:[`card-2`],tone:`warn`,subtasks:[{id:`card-3a`,title:`acme smoke`,done:!1,state:`todo`,subtasks:[]}]}];function tg(e){let t={cards:eg,title:`acme board`,nav:[{id:`n1`,label:`Board`,icon:`folder`,children:[{id:`n1a`,label:`Active`}]},{id:`n2`,label:`Archive`,hasChildren:!1}],filter:{state:`open`}};return e===`collection-calendar`?{...t,cards:[{id:`ev-1`,title:`acme sync`,start:`2026-10-19T10:00:00Z`,end:`2026-10-19T11:00:00Z`},{id:`ev-2`,title:`acme review`,start:`2026-10-21T14:00:00Z`,end:`2026-10-21T15:30:00Z`}]}:t}var ng=Object.keys($h).filter(e=>e.endsWith(`.json`)).map(e=>{let t=e.slice(e.lastIndexOf(`/`)+1,e.length-5),n=$h[e];return t===`form-view`?{name:t,tree:{v:1,root:{type:`stack`,children:[n.root,{type:`markdown`,text:"filter.state = `{$}` bound to `/view/filter/state`:"},{type:`markdown`,text:{$:`/view/filter/state`}}]}},data:tg(t)}:{name:t,tree:n,data:tg(t)}}).sort((e,t)=>e.name.localeCompare(t.name));function rg(e){let t=1,n=new Set;return{load:async()=>({tree:e.tree,data:e.data,rev:t,treeRev:1,access:`write`}),fetchData:async()=>({rev:t,treeRev:1}),act:async()=>(t+=1,{ok:!0,rev:t}),upload:async()=>(t+=1,{ok:!0,rev:t}),image:async()=>new Uint8Array,onChanged:()=>()=>{n.clear()}}}function ig(e){let t=(0,v.useMemo)(()=>rg(e.sample),[e.sample]);return(0,R.jsxs)(`div`,{className:`gallery-sample`,"data-gallery-sample":e.sample.name,children:[(0,R.jsx)(`h2`,{children:e.sample.name}),(0,R.jsx)(Qh,{transport:t})]})}function ag(){return sg(globalThis.location?.hash??``)}function og(){let[e,t]=(0,v.useState)(()=>ag());(0,v.useEffect)(()=>{let e=globalThis,n=()=>t(ag());return e.addEventListener?.(`hashchange`,n),()=>e.removeEventListener?.(`hashchange`,n)},[]);let n=e=>{t(e),globalThis.history?.pushState(null,``,`#/blocks/${e}`)},r=ng.find(t=>t.name===e);return(0,R.jsxs)(`div`,{className:`gallery`,"data-gallery":``,children:[(0,R.jsxs)(`aside`,{className:`gallery-list`,children:[(0,R.jsx)(`h1`,{children:`Blocks`}),(0,R.jsx)(`ul`,{children:ng.map(e=>(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,"data-gallery-entry":e.name,onClick:()=>n(e.name),children:e.name})},e.name))})]}),(0,R.jsx)(`main`,{className:`gallery-main`,children:r===void 0?(0,R.jsx)(`p`,{className:`gallery-hint`,children:`Pick a block sample — every entry renders through the real renderer over an in-memory surface.`}):(0,R.jsx)(ig,{sample:r})})]})}function sg(e){let t=/^#\/blocks\/(.+)$/.exec(e);return t===null?null:decodeURIComponent(t[1]??``)}var cg=3e5;function lg(){return globalThis.document?.visibilityState!==`hidden`}function ug(e){return(0,R.jsx)(`section`,{className:`ext-surface`,"data-ext-surface":`${e.slug}/${e.id}`,children:(0,R.jsx)(Qh,{transport:e.transport,refreshMs:e.refreshMs,keepaliveMs:cg,visible:lg,onNavigate:e.onNavigate})})}function dg(e){return(0,R.jsx)(`section`,{className:`ext-panel`,"data-ext-panel":`${e.slug}/${e.id}`,children:(0,R.jsx)(Qh,{transport:e.transport,refreshMs:e.refreshMs,onNavigate:e.onNavigate})})}function fg(e){let t=pg(e);return e.params===void 0||Object.keys(e.params).length===0?t:hg(t,`params`,mg(e))}function pg(e){return`/v1/ext/${encodeURIComponent(e.slug)}/surfaces/${encodeURIComponent(e.id)}`}function mg(e){return encodeURIComponent(JSON.stringify(e.params??{}))}function hg(e,t,n){return`${e}${e.includes(`?`)?`&`:`?`}${t}=${n}`}function gg(e){let t=e.fetch??((e,t)=>globalThis.fetch(e,t)),n=new Set,r=()=>({accept:`application/json`,...e.streamId===void 0?{}:{"x-sigrun-stream":e.streamId}}),i=async e=>{let n=await t(e,{method:`GET`,headers:r()});if(!n.ok)throw Error(`ext surface GET ${e} failed with status ${n.status}`);return await n.json()};return{load(){return i(fg(e))},fetchData(t){let n=hg(`${pg(e)}/data`,`params`,mg(e));return i(t===void 0?n:hg(n,`since`,String(t)))},async act(n){return await(await t(`${pg(e)}/actions`,{method:`POST`,headers:{...r(),"content-type":`application/json`},body:JSON.stringify({...n,params:e.params??{}})})).json()},async upload(n){let i=hg(`${pg(e)}/uploads/${encodeURIComponent(n.field)}/${encodeURIComponent(n.name)}`,`params`,mg(e));return await(await t(i,{method:`PUT`,headers:{...r(),"content-type":`application/octet-stream`},body:n.bytes})).json()},image(){return Promise.reject(Error(`ext surface image route ships with U7`))},onChanged(e){return n.add(e),()=>{n.delete(e)}}}}var _g=class{#e=new Set;attach(e,t){let n=gg(e),r=this;return{load:()=>n.load(),fetchData:e=>n.fetchData(e),act:e=>n.act(e),upload:e=>n.upload(e),image:(e,t)=>n.image(e,t),onChanged(t){let n={slug:e.slug,id:e.id,listener:t};return r.#e.add(n),()=>{r.#e.delete(n)}}}}dispatch(e){for(let t of this.#e)t.slug===e.slug&&t.id===e.id&&t.listener({rev:e.rev,treeRev:e.treeRev})}};function vg(e){return`/v1/conversations/${e.conversationId}/blocks/${encodeURIComponent(e.entryId)}`}function yg(e){let t=e.fetch??((e,t)=>globalThis.fetch(e,t)),n=new Set,r=()=>({accept:`application/json`}),i=async e=>{let n=await t(e,{method:`GET`,headers:r()});if(!n.ok)throw Error(`chat block GET ${e} failed with status ${n.status}`);return await n.json()};return{load(){return i(vg(e))},fetchData(t){let n=`${vg(e)}/data`;return i(t===void 0?n:`${n}?since=${String(t)}`)},async act(n){return await(await t(`${vg(e)}/actions`,{method:`POST`,headers:{...r(),"content-type":`application/json`},body:JSON.stringify(n)})).json()},upload(){return Promise.reject(Error(`chat blocks carry no upload fields`))},image(){return Promise.reject(Error(`chat block image route ships with U7`))},onChanged(e){return n.add(e),()=>{n.delete(e)}}}}var bg=class{#e=new Set;attach(e){let t=yg(e),n=this;return{load:()=>t.load(),fetchData:e=>t.fetchData(e),act:e=>t.act(e),upload:e=>t.upload(e),image:(e,n)=>t.image(e,n),onChanged(t){let r={conversationId:e.conversationId,entryId:e.entryId,listener:t};return n.#e.add(r),()=>{n.#e.delete(r)}}}}dispatch(e){for(let t of this.#e)t.conversationId===e.conversationId&&t.entryId===e.entryId&&t.listener({rev:e.rev,treeRev:e.treeRev??0})}},xg=`sigrun.railOrder`;function Sg(e){return(e.coreViews??[]).map(e=>({slug:`core`,id:e.id,title:e.title,icon:e.icon,...e.refreshMs===void 0?{}:{refreshMs:e.refreshMs}}))}function Cg(e){return`${e.slug}/${e.id}`}function wg(e){let t=[];for(let n of e)if(n.status===`ok`)for(let e of n.surfaces??[])e.placement===`view`&&t.push({slug:n.name,id:e.id,title:e.title,icon:e.icon,...e.refreshMs===void 0?{}:{refreshMs:e.refreshMs}});return t}function Tg(e){let t=[];for(let n of e)if(n.status===`ok`)for(let e of n.surfaces??[])e.placement===`panel`&&t.push({slug:n.name,id:e.id,title:e.title,icon:e.icon,...e.perConversation===!0?{perConversation:!0}:{}});return t}function Eg(){return globalThis.localStorage}function Dg(){try{let e=Eg()?.getItem(xg);if(e==null)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}function Og(e){try{Eg()?.setItem(xg,JSON.stringify(e))}catch{}}function kg(e,t){let n=new Map(e.map(e=>[Cg(e),e])),r=[],i=new Set;for(let e of t){let t=n.get(e);t!==void 0&&!i.has(e)&&(r.push(t),i.add(e))}for(let t of e)i.has(Cg(t))||r.push(t);return r}function Ag(e,t,n){let r=e.map(e=>Cg(e)),i=r.indexOf(t);if(i===-1)return r;let a=i+n;if(a<0||a>=r.length)return r;let o=[...r];return o[i]=r[a]??``,o[a]=t,Og(o),o}function jg(e,t){return`ext:${e}/${t}`}var Mg=`sigrun.panel`;function Ng(){return globalThis.localStorage}function Pg(e){if(e===null)return null;if(e===`outline`||e===`workspace`)return e;if(e.startsWith(`ext:`)){let t=e.slice(4).split(`/`);return t.length===2&&t[0]!==``&&t[1]!==``?e:null}return null}function Fg(e,t){return e===t?null:t}function Ig(e,t){if(e===null||!e.startsWith(`ext:`))return e;let n=e.slice(4);return t.some(e=>Cg(e)===n)?e:null}function Lg(){try{return Pg(Ng()?.getItem(`sigrun.panel`)??null)}catch{return null}}function Rg(e){if(e!==`notices`)try{Ng()?.setItem(Mg,e??`none`)}catch{}}function zg(e){let{title:t,timeline:n,onTimeline:r,panel:i,onPanel:a,onRename:o,onExport:s,onCompact:c,onArchive:l,archived:u=!1,drawerOpen:d,onToggleDrawer:f}=e,[p,m]=(0,v.useState)(!1),[h,g]=(0,v.useState)(t),[_,y]=(0,v.useState)(!1),b=(0,v.useRef)(null);Em(_,()=>y(!1),b);let x=()=>{g(t),m(!0),y(!1)},S=()=>m(!1),C=()=>{let e=h.trim();if(e===``||e===t){m(!1);return}o(e).then(()=>m(!1),()=>m(!1))},w=e=>()=>{y(!1),e()};return(0,R.jsxs)(`header`,{className:`chat-header`,children:[(0,R.jsx)(`button`,{type:`button`,className:`icon-btn chat-menu-toggle`,title:`Conversations`,"aria-label":`open conversations`,"aria-expanded":d,onClick:f,children:(0,R.jsx)(_m,{})}),p?(0,R.jsx)(`input`,{className:`chat-title-input`,value:h,"aria-label":`conversation name`,autoFocus:!0,onChange:e=>g(e.target.value),onBlur:C,onKeyDown:e=>{e.key===`Enter`?C():e.key===`Escape`&&S()}}):(0,R.jsx)(`button`,{type:`button`,className:`chat-title`,title:t,onClick:x,children:t}),(0,R.jsx)(`span`,{className:`chat-header-spacer`}),(0,R.jsx)(`span`,{className:`chat-header-bell`,children:e.bell}),(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":`timeline`,title:`Chronological view — interleave thinking and tool calls in order instead of folding them under the response`,"aria-label":`chronological view`,"aria-pressed":n,onClick:r,children:`⇅`}),(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":`outline`,title:`Outline`,"aria-label":`outline`,"aria-pressed":i===`outline`,onClick:()=>a(`outline`),children:(0,R.jsx)(vm,{})}),(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":`workspace`,title:`Workspace files`,"aria-label":`workspace`,"aria-pressed":i===`workspace`,onClick:()=>a(`workspace`),children:(0,R.jsx)(ym,{})}),e.extPanels.map(e=>{let t=jg(e.slug,e.id);return(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,"data-panel":t,title:e.title,"aria-label":e.title,"aria-pressed":i===t,onClick:()=>a(t),children:(0,R.jsx)(gd,{name:e.icon,size:16})},t)}),(0,R.jsxs)(`span`,{className:`chat-menu-slot`,ref:b,children:[(0,R.jsx)(`button`,{type:`button`,className:`icon-btn`,title:`More (export, compact, rename, archive)`,"aria-label":`more actions`,"aria-haspopup":`menu`,"aria-expanded":_,onClick:()=>y(e=>!e),children:(0,R.jsx)(xm,{})}),_&&(0,R.jsxs)(`div`,{className:`chat-menu`,role:`menu`,children:[(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`export`,onClick:w(s),children:`Export`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`compact`,onClick:w(c),children:`Compact`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`rename`,onClick:w(x),children:`Rename`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`archive`,onClick:w(l),children:u?`Unarchive`:`Archive`})]})]})]})}function Bg(e){return e===`skills`||e===`jobs`?e:null}function Vg(e){return(0,R.jsxs)(`button`,{type:`button`,className:e.active?`bottom-bar-btn bottom-bar-btn-active`:`bottom-bar-btn`,"data-tab":e.tab,"aria-label":e.title.toLowerCase(),...e.active?{"aria-current":`page`}:{},onClick:t=>{t.preventDefault(),!(e.active&&e.tab!==`more`)&&e.onPress()},children:[e.children,(0,R.jsx)(`span`,{className:`bottom-bar-label`,children:e.title})]})}function Hg(e){let[t,n]=(0,v.useState)(!1),r=new Map,i=[];for(let t of e.extViews)t.slug===`core`&&Bg(t.id)!==null?r.set(t.id,t):i.push(t);let a=e.active===`settings`||e.active.startsWith(`ext:`),o=t=>()=>{n(!1),e.onTab(t)};return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`nav`,{className:`bottom-bar`,"aria-label":`sections`,children:[(0,R.jsx)(Vg,{tab:`chats`,title:`Chats`,active:e.active===`chats`,onPress:()=>e.onTab(`chats`),children:(0,R.jsx)(mm,{})}),[`skills`,`jobs`].map(t=>{let n=r.get(t);return n===void 0?null:(0,R.jsx)(Vg,{tab:t,title:n.title,active:e.active===t,onPress:()=>e.onTab(t),children:(0,R.jsx)(gd,{name:n.icon,size:18})},t)}),(0,R.jsx)(Vg,{tab:`more`,title:`More`,active:a,onPress:()=>n(e=>!e),children:(0,R.jsx)(xm,{})})]}),t&&(0,R.jsx)(`div`,{className:`bottom-sheet-backdrop`,onClick:()=>n(!1),children:(0,R.jsxs)(`div`,{className:`bottom-sheet`,role:`dialog`,"aria-label":`More views`,onClick:e=>e.stopPropagation(),children:[i.map(e=>{let t=`ext:${e.slug}/${e.id}`;return(0,R.jsxs)(`button`,{type:`button`,className:`bottom-sheet-item`,"aria-label":e.title.toLowerCase(),onClick:o(t),children:[(0,R.jsx)(gd,{name:e.icon,size:18}),(0,R.jsx)(`span`,{children:e.title})]},`${e.slug}/${e.id}`)}),(0,R.jsxs)(`button`,{type:`button`,className:`bottom-sheet-item`,"aria-label":`settings`,onClick:o(`settings`),children:[(0,R.jsx)(gm,{}),(0,R.jsx)(`span`,{children:`Settings`})]}),e.onSignOut!==void 0&&(0,R.jsxs)(`button`,{type:`button`,className:`bottom-sheet-item`,"aria-label":`sign out`,onClick:()=>{n(!1),e.onSignOut?.()},children:[(0,R.jsx)(Cm,{}),(0,R.jsx)(`span`,{children:`Sign out`})]})]})})]})}function Ug(e){let t=e.extensions.every(e=>e.status===`ok`),n=e.health.memory===`ok`&&e.health.providers===`ok`&&e.health.backup!==`degraded`;return t&&n?`ok`:`degraded`}function Wg(e){return`${e.extensions.length===0?`extensions: none`:`extensions: ${e.extensions.map(e=>`${e.name}: ${e.status}`).join(`; `)}`} · backup: ${e.health.backup}`}function Gg(e){return(0,R.jsx)(`button`,{type:`button`,className:e.active?`rail-btn rail-btn-active`:`rail-btn`,"data-rail-section":e.tab,title:e.title,"aria-label":e.title.toLowerCase(),...e.active?{"aria-current":`page`}:{},onClick:()=>{e.active||e.onOpenTab?.(e.tab)},...e.onKeyDown===void 0?{}:{onKeyDown:e.onKeyDown},children:e.children})}function Kg(e){let{meta:t,identity:n,onLogout:r}=e,{onOpenGallery:i}=e,a=n?.method===`token`||n?.method===`session`,o=e.activeTab===void 0?`chats`:e.activeTab,s=new Set(e.hiddenExtSurfaces??[]),c=(e.extViewEntries??kg(wg(t.extensions),Dg())).filter(e=>!s.has(`${e.slug}/${e.id}`)),l=Sg(t);return(0,R.jsxs)(`nav`,{className:`rail`,"aria-label":`sections`,children:[e.bell,(0,R.jsx)(`span`,{className:`rail-brand`,title:`sigrun`,children:(0,R.jsx)(pm,{})}),(0,R.jsx)(Gg,{tab:`chats`,title:`Chats`,active:o===`chats`,onOpenTab:e.onOpenTab,children:(0,R.jsx)(mm,{})}),t.dev&&i!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`rail-btn`,"data-rail-section":`blocks`,title:`Blocks`,"aria-label":`blocks gallery`,onClick:i,children:(0,R.jsx)(hm,{})}),l.map(t=>{let n=`ext:core/${t.id}`;return(0,R.jsx)(Gg,{tab:t.id===`skills`||t.id===`jobs`?t.id:n,title:t.title,active:o===(t.id===`skills`||t.id===`jobs`?t.id:n),onOpenTab:e.onOpenTab,children:(0,R.jsx)(gd,{name:t.icon,size:18})},`core/${t.id}`)}),c.map(t=>{let n=`ext:${t.slug}/${t.id}`,r=o===n;return(0,R.jsx)(Gg,{tab:n,title:t.title,active:r,onOpenTab:e.onOpenTab,onKeyDown:n=>{n.altKey&&(n.key===`ArrowUp`?(n.preventDefault(),e.onMoveExtView?.(`${t.slug}/${t.id}`,-1)):n.key===`ArrowDown`&&(n.preventDefault(),e.onMoveExtView?.(`${t.slug}/${t.id}`,1)))},children:(0,R.jsx)(gd,{name:t.icon,size:18})},`${t.slug}/${t.id}`)}),(0,R.jsx)(`span`,{className:`rail-spacer`}),(0,R.jsx)(`span`,{className:`rail-health`,"data-health":Ug(t),title:Wg(t)}),a&&(0,R.jsx)(`span`,{className:`rail-user`,"data-rail-user":n.user??``,title:n.user===void 0?`signed in`:`signed in as ${n.user}`,children:n.user??`—`}),a&&r!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`rail-btn`,"data-rail-section":`logout`,title:`Sign out`,"aria-label":`sign out`,onClick:r,children:(0,R.jsx)(Cm,{})}),(0,R.jsx)(Gg,{tab:`settings`,title:`Settings`,active:o===`settings`,onOpenTab:e.onOpenTab,children:(0,R.jsx)(gm,{})})]})}function qg(e){let{selection:t,outline:n,workspace:r,notices:i,extContent:a}=e;if(t===null)return null;let o=t.startsWith(`ext:`);return(0,R.jsx)(`aside`,{className:`right-panel`,"data-panel":o?`ext`:t,"aria-label":`${o?`extension`:t} panel`,children:o?a??null:t===`outline`?n:t===`notices`?i:r})}var Jg=`sigrun.tabs`;function Yg(e){return e.kind===`chat`?`chats`:e.kind===`settings`?`settings`:e.slug===`core`&&e.id===`skills`?`skills`:e.slug===`core`&&e.id===`jobs`?`jobs`:`ext:${e.slug??``}/${e.id??``}`}function Xg(e){if(e===`chats`)return`#/c`;if(e===`skills`)return`#/ext/core/skills`;if(e===`jobs`)return`#/ext/core/jobs`;if(e===`settings`)return`#/settings`;let t=/^ext:([^/]+)\/(.+)$/.exec(e);return t===null?`#/c`:`#/ext/${encodeURIComponent(t[1]??``)}/${encodeURIComponent(t[2]??``)}`}function Zg(){return globalThis.sessionStorage}var Qg=class{#e;constructor(){this.#e=new Map;try{let e=Zg()?.getItem(Jg);if(e==null)return;let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))return;for(let[e,n]of Object.entries(t))typeof n==`string`&&this.#e.set(e,n)}catch{}}remember(e,t){this.#e.set(e,t);try{Zg()?.setItem(Jg,JSON.stringify(Object.fromEntries(this.#e)))}catch{}}routeFor(e){return this.#e.get(e)??Xg(e)}};function $g(e){let t=null,n=1/0;for(let[r,i]of e)i.isIntersecting&&i.top<n&&(n=i.top,t=r);return t}function e_(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function t_(e){let{scrollRoot:t,turns:n}=e,[r,i]=(0,v.useState)(null),[a,o]=(0,v.useState)(()=>new Set),s=(0,v.useRef)(null),c=n.map(e=>e.entryId).join(`,`);return(0,v.useEffect)(()=>{i(null)},[t,c]),(0,v.useEffect)(()=>{if(t===null)return;let e=globalThis.IntersectionObserver;if(e===void 0)return;let r=new Map,a=new e(e=>{for(let t of e){let e=t.target,n=Number(e.getAttribute(`data-entry-id`));Number.isFinite(n)&&r.set(n,{isIntersecting:t.isIntersecting,top:e.getBoundingClientRect().top})}i($g(r))});for(let e of n){let n=t.querySelector(`[data-entry-id="${e.entryId}"]`);n!==null&&a.observe(n)}return()=>{a.disconnect()}},[t,c]),(0,v.useLayoutEffect)(()=>{let e=s.current;if(e===null)return;let t=()=>{let t=new Set;for(let n of e.querySelectorAll(`.outline-text`)){if(n.scrollHeight<=n.clientHeight+1)continue;let e=n.closest(`.outline-item`),r=Number(e?.getAttribute(`data-entry-id`));Number.isFinite(r)&&t.add(r)}o(e=>e_(e,t)?e:t)};t();let n=globalThis.ResizeObserver;if(n===void 0)return;let r=new n(t);return r.observe(e),()=>{r.disconnect()}},[t,c]),n.length===0?(0,R.jsxs)(`div`,{className:`right-panel-body outline-body`,children:[(0,R.jsx)(`h4`,{className:`right-panel-title`,children:`Outline`}),(0,R.jsx)(`p`,{className:`outline-empty`,children:`No prompts yet`})]}):(0,R.jsxs)(`div`,{className:`right-panel-body outline-body`,children:[(0,R.jsx)(`h4`,{className:`right-panel-title`,children:`Outline`}),(0,R.jsx)(`nav`,{className:`outline`,"aria-label":`conversation outline`,ref:s,children:n.map(e=>(0,R.jsx)(`button`,{type:`button`,className:`outline-item`,"data-entry-id":e.entryId,"data-clamped":a.has(e.entryId)?`true`:void 0,title:e.text,"aria-current":r===e.entryId?`true`:void 0,onClick:()=>{t?.querySelector(`[data-entry-id="${e.entryId}"]`)?.scrollIntoView({behavior:`smooth`,block:`start`})},children:(0,R.jsx)(`span`,{className:`outline-text`,children:e.text})},e.entryId))})]})}var n_=`84e1fb2c4b8f07e59e2c1f6748e2f724ce7251944bdc5fe9df4b3df771135f02`,r_=`sigrun-session-search`,i_=[`Pinned`,`Today`,`Yesterday`,`Earlier`];function a_(){(globalThis.document?.getElementById(r_))?.focus()}function o_(e,t){let n=new Set,r=new Map(e.map(e=>[e.id,e]));for(let i of e){if(!oe(i).toLowerCase().includes(t))continue;let e=i;for(;e!==void 0&&!n.has(e.id);)n.add(e.id),e=e.parent===void 0?void 0:r.get(e.parent.id)}return n}function s_(e,t){let n=[];for(let r of i_){let i=e.filter(e=>te(e,t)===r);if(i.length===0)continue;n.push({kind:`heading`,group:r});let a=(e,t)=>{n.push({kind:`row`,node:e,depth:t});for(let n of e.children)a(n,t+1)};for(let e of i)a(e,0)}return n}function c_(e){let{rows:t,activeId:n,onSelect:r,onNew:i,onRename:a,onArchive:o,onFork:s,currentUser:c,onShare:l}=e,[u,d]=(0,v.useState)(``),[f,p]=(0,v.useState)(!1),[m,h]=(0,v.useState)(null),g=(0,v.useRef)(null);Em(m!==null,()=>h(null),g);let[_,y]=(0,v.useState)(null);(0,v.useEffect)(()=>{let e=globalThis.window;if(e===void 0)return;let t=e=>{(e.ctrlKey||e.metaKey)&&(e.key===`k`||e.key===`K`)&&(e.preventDefault(),a_())};return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)},[]);let b=new Date,x=(0,v.useMemo)(()=>{let e=u.trim().toLowerCase(),n=o_(t,e);return s_(D(e===``?t:t.filter(e=>n.has(e.id)),{includeArchived:f}),b)},[t,u,f,b.getTime()]),S=e=>{if(_===null||_.id!==e)return;let n=t.find(t=>t.id===e),r=_.draft.trim();if(n===void 0||r===``||r===oe(n)){y(null);return}a(e,r).then(()=>y(null),()=>y(null))};return(0,R.jsxs)(`nav`,{className:`session-list`,"aria-label":`conversations`,children:[(0,R.jsxs)(`div`,{className:`session-search-row`,children:[(0,R.jsx)(`input`,{id:r_,className:`session-search`,type:`search`,placeholder:`Search`,"aria-label":`search conversations`,value:u,onChange:e=>d(e.target.value)}),(0,R.jsx)(`button`,{type:`button`,className:`session-new`,title:`New conversation`,"aria-label":`new conversation`,onClick:i,children:(0,R.jsx)(bm,{})})]}),(0,R.jsxs)(`ul`,{children:[x.map(e=>{if(e.kind===`heading`)return(0,R.jsx)(`li`,{className:`session-group`,"data-age-group":e.group,children:e.group},`group-${e.group}`);let{node:t,depth:i}=e,a=t.row,u=oe(a),d=_!==null&&_.id===a.id,f=l!==void 0&&c!==void 0&&a.owner===c,p=[`session-item`,a.id===n?`session-item-active`:``,a.archived?`session-item-archived`:``].filter(Boolean).join(` `);return(0,R.jsxs)(`li`,{className:p,"data-conversation-id":a.id,"data-depth":i,style:i===0?void 0:{paddingLeft:6+i*14},children:[i>0&&(0,R.jsx)(`span`,{className:`session-fork-mark`,"aria-hidden":`true`,children:`↳`}),d?(0,R.jsx)(`input`,{className:`session-rename-input`,"aria-label":`conversation name`,value:_.draft,onChange:e=>y({id:a.id,draft:e.target.value}),onKeyDown:e=>{e.key===`Enter`?S(a.id):e.key===`Escape`&&y(null)}}):(0,R.jsx)(`button`,{type:`button`,className:`session-select`,title:u,onClick:()=>r(a.id),children:(0,R.jsx)(`span`,{className:`session-name`,children:u})}),(0,R.jsx)(`span`,{className:`session-age`,children:ae(a.lastActivityAt,b)}),(0,R.jsxs)(`span`,{className:`session-row-actions`,ref:m===a.id?g:void 0,children:[(0,R.jsx)(`button`,{type:`button`,className:`session-menu-toggle`,"aria-label":`actions for ${u}`,"aria-haspopup":`menu`,"aria-expanded":m===a.id,onClick:()=>h(m===a.id?null:a.id),children:(0,R.jsx)(xm,{})}),m===a.id&&(0,R.jsxs)(`div`,{className:`session-menu`,role:`menu`,children:[f&&(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`share`,onClick:()=>{h(null),l?.(a.id)},children:`Share…`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`rename`,onClick:()=>{h(null),y({id:a.id,draft:u})},children:`Rename`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`fork`,onClick:()=>{h(null),s(a.id)},children:`Fork`}),(0,R.jsx)(`button`,{type:`button`,role:`menuitem`,"data-menu-action":`archive`,onClick:()=>{h(null),o(a.id,!a.archived)},children:a.archived?`Unarchive`:`Archive`})]})]})]},a.id)}),x.length===0&&u.trim()!==``&&(0,R.jsx)(`li`,{className:`session-empty`,children:`No matching conversations`})]}),(0,R.jsx)(`button`,{type:`button`,className:`session-archived-toggle`,"aria-pressed":f,title:`Show archived conversations`,onClick:()=>p(e=>!e),children:`Archived`})]})}function l_(e){if(e instanceof x){let t={proxy_identity_required:`This sigrun signs people in through its sign-in proxy. Open it through the proxy.`,username_taken:`That username is taken. Choose another.`,invalid_username:`That name has no usable characters — use at least one letter or digit.`},n=e.error??``;if(Object.hasOwn(t,n))return t[n];if(e.error!==void 0)return e.error}return e instanceof Error?e.message:String(e)}function u_(e){return e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e!==``)}function d_(e){let{client:t,conversation:n,onClose:r,onSaved:i}=e,a=n.sharing,[o,s]=(0,v.useState)(a?.scope??`private`),[c,l]=(0,v.useState)(a?.scope===`household`||a?.scope===`people`?a.level:`read`),[u,d]=(0,v.useState)(a?.scope===`people`?a.users.join(`, `):``),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(!1);async function g(e){h(!0),p(null);try{await t.patchConversationMeta(n.id,{sharing:e}),await i()}catch(e){p(l_(e))}finally{h(!1)}}function _(e){m||(s(e),e===`private`?g({scope:`private`}):e===`household`&&g({scope:`household`,level:c}))}function y(e){m||(l(e),o===`household`&&g({scope:`household`,level:e}))}function b(){if(m)return;let e=u_(u);if(e.length===0){p(`enter at least one username to share with`);return}g({scope:`people`,users:e,...a?.scope===`people`&&a.groups!==void 0?{groups:[...a.groups]}:{},level:c})}return(0,R.jsxs)(`div`,{className:`share-menu`,role:`dialog`,"aria-label":`share conversation`,children:[(0,R.jsxs)(`div`,{className:`share-head`,children:[(0,R.jsx)(`h2`,{children:`Share`}),(0,R.jsx)(`button`,{type:`button`,className:`share-close`,"aria-label":`close share dialog`,onClick:r,children:`Close`})]}),(0,R.jsxs)(`div`,{className:`share-scopes`,children:[(0,R.jsxs)(`button`,{type:`button`,className:`share-scope`,"data-share-scope":`private`,"data-selected":o===`private`||void 0,"aria-pressed":o===`private`,disabled:m,onClick:()=>_(`private`),children:[`Private`,(0,R.jsx)(`span`,{className:`share-scope-hint`,children:`only you`})]}),(0,R.jsxs)(`button`,{type:`button`,className:`share-scope`,"data-share-scope":`household`,"data-selected":o===`household`||void 0,"aria-pressed":o===`household`,disabled:m,onClick:()=>_(`household`),children:[`Household`,(0,R.jsx)(`span`,{className:`share-scope-hint`,children:`everyone signed in`})]}),(0,R.jsxs)(`button`,{type:`button`,className:`share-scope`,"data-share-scope":`people`,"data-selected":o===`people`||void 0,"aria-pressed":o===`people`,disabled:m,onClick:()=>_(`people`),children:[`People`,(0,R.jsx)(`span`,{className:`share-scope-hint`,children:`named users`})]})]}),o!==`private`&&(0,R.jsxs)(`div`,{className:`share-level`,role:`group`,"aria-label":`access level`,children:[(0,R.jsx)(`button`,{type:`button`,className:`share-level-btn`,"data-share-level":`read`,"data-selected":c===`read`||void 0,"aria-pressed":c===`read`,disabled:m,onClick:()=>y(`read`),children:`Can view`}),(0,R.jsx)(`button`,{type:`button`,className:`share-level-btn`,"data-share-level":`write`,"data-selected":c===`write`||void 0,"aria-pressed":c===`write`,disabled:m,onClick:()=>y(`write`),children:`Can edit`})]}),o===`people`&&(0,R.jsxs)(`label`,{className:`share-field`,children:[`Usernames`,(0,R.jsx)(`input`,{"data-share-field":`users`,placeholder:`carol, dave`,value:u,onChange:e=>d(e.target.value)}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:m,onClick:b,children:`Share with people`})]}),o!==`private`&&c===`write`&&(0,R.jsx)(`p`,{className:`share-warning`,role:`alert`,children:`Others can ask the agent to act as you.`}),f!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:f})]})}var f_=5e3,p_=2,m_=5e3,h_=6e4;function g_(e,t,n,r,i,a){if(i===void 0&&globalThis.EventSource===void 0)return()=>{};let o=()=>i===void 0?new EventSource(`/v1/events`):i(`/v1/events`),s,c,l=m_,u=!1,d=()=>{let e=o();s=e,f(e),e.addEventListener(`hello`,()=>{l=m_}),e.addEventListener(`error`,()=>{u||e.readyState!==p_||c===void 0&&s===e&&(e.close(),c=setTimeout(()=>{c=void 0,u||d()},l),l=Math.min(l*2,h_))})};return d(),()=>{u=!0,c!==void 0&&clearTimeout(c),s?.close()};function f(i){let o=()=>e();i.addEventListener(`conversation.created`,o),i.addEventListener(`conversation.changed`,o),i.addEventListener(`surface.changed`,e=>{try{let t=JSON.parse(e.data);if(typeof t==`object`&&t&&typeof t.conversationId==`number`&&typeof t.entryId==`string`&&typeof t.rev==`number`){r?.(t);return}}catch{}if(n!==void 0)try{let t=JSON.parse(e.data);typeof t==`object`&&t&&typeof t.slug==`string`&&typeof t.id==`string`&&typeof t.k==`string`&&typeof t.rev==`number`&&typeof t.treeRev==`number`&&n(t)}catch{}}),a!==void 0&&i.addEventListener(`notice.changed`,()=>a()),i.addEventListener(`hello`,e=>{try{let n=JSON.parse(e.data);typeof n==`object`&&n&&typeof n.streamId==`string`&&t(n.streamId)}catch{}})}}function __(e,t){let n=t.busy,[r,i]=(0,v.useState)([]),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(void 0),l=(0,v.useRef)(void 0),u=(0,v.useRef)(new Set),d=(0,v.useCallback)(async()=>{try{let t=await e.listConversations();i(t.conversations),o(null)}catch(e){o(e instanceof Error?e.message:String(e))}},[e]),f=(0,v.useCallback)(async(e,n,r)=>{let i=l.current;return(await(t.fetchImpl??fetch)(r===void 0||Object.keys(r).length===0?`/v1/ext/${e}/surfaces/${n}`:`/v1/ext/${e}/surfaces/${n}?params=${encodeURIComponent(JSON.stringify(r))}`,{headers:i===void 0?{accept:`application/json`}:{accept:`application/json`,"x-sigrun-stream":i}})).json()},[t.fetchImpl]),p=(0,v.useCallback)((e,t,n)=>{let r=n===void 0?`{}`:Ee(n);u.current.add(`${e}\u0001${t}\u0001${r}`)},[]),m=(0,v.useCallback)(e=>{let t=l.current;if(l.current=e,c(e),t!==void 0&&t!==e){d();for(let e of u.current){let[t,n,r]=e.split(``),i;if(r!==void 0&&r!==`{}`)try{let e=JSON.parse(r);typeof e==`object`&&e&&!Array.isArray(e)&&(i=e)}catch{}f(t??``,n??``,i)}}},[f,d]);(0,v.useEffect)(()=>{d()},[d]),(0,v.useEffect)(()=>{let e=globalThis.document;if(e?.addEventListener===void 0)return;let t=()=>{e.visibilityState===`visible`&&d()};return e.addEventListener(`visibilitychange`,t),()=>e.removeEventListener?.(`visibilitychange`,t)},[d]),(0,v.useEffect)(()=>g_(()=>{d()},m,t.onSurfaceChanged,t.onChatChanged,t.createEventSource,t.onNoticeChanged),[d,m,t.createEventSource,t.onSurfaceChanged,t.onChatChanged,t.onNoticeChanged]);let h=(0,v.useRef)(n);return(0,v.useEffect)(()=>{let e=h.current;if(h.current=n,!e||n)return;d();let t=setTimeout(()=>void d(),f_);return()=>clearTimeout(t)},[n,d]),{rows:r,reload:d,error:a,streamId:s,fetchSurface:f,noteSurfaceVisible:p}}var v_={fjord:{label:`Fjord`,defaultAccent:`baltic-amber`,dark:{bg:`#0b0f13`,surface:`#11171e`,surface2:`#18202a`,border:`#222d39`,text:`#dde6ee`,muted:`#8d9cab`,faint:`#5f6e7d`,ok:`#7fbf9a`,code:`rgba(255,255,255,.06)`},light:{bg:`#eef2f5`,surface:`#ffffff`,surface2:`#e3e9ef`,border:`#d3dbe3`,text:`#18212a`,muted:`#4d5b69`,faint:`#8593a1`,ok:`#2f8a5a`,code:`rgba(0,0,0,.05)`}},"iron-ember":{label:`Iron & Ember`,defaultAccent:`ember`,dark:{bg:`#0e0e0f`,surface:`#161618`,surface2:`#1e1e21`,border:`#2a2a2e`,text:`#e6e1da`,muted:`#9a958e`,faint:`#66625d`,ok:`#8fb58a`,code:`rgba(255,255,255,.06)`},light:{bg:`#f3f1ee`,surface:`#fbfaf8`,surface2:`#e9e6e1`,border:`#dbd7d1`,text:`#1c1b1a`,muted:`#55524d`,faint:`#8e8a84`,ok:`#3e7a3a`,code:`rgba(0,0,0,.05)`}},"polar-night":{label:`Polar Night`,defaultAccent:`aurora`,dark:{bg:`#090d16`,surface:`#0f1524`,surface2:`#161e31`,border:`#1f2942`,text:`#e2e8f3`,muted:`#8e9ab2`,faint:`#5d6984`,ok:`#5fd4a8`,code:`rgba(255,255,255,.06)`},light:{bg:`#f0f3f9`,surface:`#ffffff`,surface2:`#e4e9f3`,border:`#d2d9e6`,text:`#141b2b`,muted:`#4b5670`,faint:`#8691a8`,ok:`#13866a`,code:`rgba(0,0,0,.05)`}},"birch-moss":{label:`Birch & Moss`,defaultAccent:`lichen`,dark:{bg:`#0d100d`,surface:`#141a15`,surface2:`#1b221c`,border:`#263027`,text:`#e8e6dc`,muted:`#9ba091`,faint:`#666d60`,ok:`#9cc48a`,code:`rgba(255,255,255,.06)`},light:{bg:`#f3f2ea`,surface:`#fbfbf6`,surface2:`#e7e7dc`,border:`#d8d8ca`,text:`#1b1e18`,muted:`#525849`,faint:`#8b9080`,ok:`#4a7a35`,code:`rgba(0,0,0,.05)`}}},y_={"baltic-amber":{label:`Baltic Amber`,dark:`#d6a24a`,light:`#a8741f`},ember:{label:`Ember`,dark:`#d9773a`,light:`#b8571c`},lingonberry:{label:`Lingonberry`,dark:`#d0606a`,light:`#a83440`},glacier:{label:`Glacier`,dark:`#8fb8d0`,light:`#2f6f93`},aurora:{label:`Aurora`,dark:`#5fd4a8`,light:`#13866a`},lichen:{label:`Lichen`,dark:`#b9c46a`,light:`#6f7a1f`},heather:{label:`Heather`,dark:`#a993c9`,light:`#6c4f99`}},b_=[`fjord`,`iron-ember`,`polar-night`,`birch-moss`],x_=[`baltic-amber`,`ember`,`lingonberry`,`glacier`,`aurora`,`lichen`,`heather`],S_=`polar-night`,C_=`baltic-amber`;function w_(e){return typeof e==`string`&&Object.prototype.hasOwnProperty.call(v_,e)}function T_(e){return typeof e==`string`&&Object.prototype.hasOwnProperty.call(y_,e)}function E_(e){let{client:t}=e,[n,r]=(0,v.useState)(null),[i,a]=(0,v.useState)([]),[o,s]=(0,v.useState)(null),[c,l]=(0,v.useState)(null);(0,v.useEffect)(()=>{let e=!1;return Promise.all([t.accounts(),t.providers()]).then(([t,n])=>{e||(r(t.accounts),a(n.providers))}).catch(t=>{e||s(l_(t))}),()=>{e=!0}},[t]);async function u(e){l(`${e.provider}\u0000${e.subject}`),s(null);try{await t.removeAccount(e.provider,e.subject),r(t=>t?.filter(t=>t.provider!==e.provider||t.subject!==e.subject)??null)}catch(e){s(l_(e))}finally{l(null)}}return n===null?(0,R.jsx)(`p`,{className:`settings-note`,role:o===null?void 0:`alert`,children:o??`loading account links…`}):(0,R.jsxs)(`div`,{className:`settings-body`,"data-settings-section":`accounts`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`External identities linked to your sigrun account.`}),o!==null&&(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:o}),n.length===0&&(0,R.jsx)(`p`,{className:`settings-note`,children:`No account links.`}),n.map(e=>(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsxs)(`span`,{className:`settings-ext-key`,children:[i.find(t=>t.provider===e.provider)?.label??e.provider,` · `,e.subject]}),(0,R.jsx)(`button`,{type:`button`,className:`account-remove`,disabled:c!==null,onClick:()=>void u(e),children:`Remove`})]},`${e.provider}\u0000${e.subject}`)),i.length>0&&(0,R.jsxs)(`div`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Connect an account`}),i.map(e=>(0,R.jsx)(`a`,{className:`account-connect`,href:`/v1/auth/login/${encodeURIComponent(e.provider)}?link=1&return=%2Fsettings%3Fsection%3Daccounts`,children:`Connect`},e.provider))]})]})}function D_(e){let{client:t}=e,[n,r]=(0,v.useState)({status:`loading`}),[i,a]=(0,v.useState)({});(0,v.useEffect)(()=>{let e=!1;return t.listProviders().then(t=>{e||r({status:`ready`,providers:t.providers})}).catch(t=>{e||r({status:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},[t]);let o=e=>{r(t=>t.status===`ready`?{status:`ready`,providers:t.providers.map(t=>t.provider===e.provider?e:t)}:t)},s=(e,t)=>{a(n=>({...n,[e]:{key:``,...n[e],...t}}))},c=async e=>{let n=i[e];if(n!==void 0&&n.key!==``)try{o(await t.putProviderCredential(e,n.key)),s(e,{key:``,note:{kind:`ok`,message:`saved`}})}catch(t){s(e,{note:{kind:`error`,message:t instanceof Error?t.message:String(t)}})}},l=async e=>{try{o(await t.deleteProviderCredential(e)),s(e,{note:{kind:`ok`,message:`cleared`}})}catch(t){s(e,{note:{kind:`error`,message:t instanceof Error?t.message:String(t)}})}},u=async e=>{try{o(await t.refreshProvider(e))}catch(t){s(e,{note:{kind:`error`,message:t instanceof Error?t.message:String(t)}})}};return n.status===`loading`?(0,R.jsx)(`p`,{className:`settings-note`,children:`loading providers…`}):n.status===`error`?(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:n.message}):n.providers.length===0?(0,R.jsx)(`div`,{className:`settings-body`,children:(0,R.jsx)(`p`,{className:`settings-note`,children:`no providers are loaded`})}):(0,R.jsxs)(`div`,{className:`settings-body settings-provider-list`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`readiness and credentials per provider — the key field is write-only (the server never returns it); saving applies immediately, no restart`}),n.providers.map(e=>{let t=i[e.provider]??{key:``};return(0,R.jsxs)(`fieldset`,{className:`settings-provider`,"data-provider":e.provider,children:[(0,R.jsxs)(`legend`,{className:`settings-provider-name`,children:[e.provider,(0,R.jsx)(`span`,{className:`settings-provider-status`,"data-status":e.status,children:e.status}),(0,R.jsxs)(`span`,{className:`settings-provider-meta`,children:[e.models,` model`,e.models===1?``:`s`]})]}),e.detail!==void 0&&(0,R.jsx)(`p`,{className:`settings-note`,children:e.detail}),(0,R.jsxs)(`div`,{className:`settings-provider-row`,children:[(0,R.jsx)(`input`,{type:`password`,className:`settings-provider-key`,placeholder:`api key`,value:t.key,autoComplete:`off`,onChange:t=>s(e.provider,{key:t.target.value})}),(0,R.jsx)(`button`,{type:`button`,className:`settings-provider-save`,disabled:t.key===``,onClick:()=>void c(e.provider),children:`Save`}),(0,R.jsx)(`button`,{type:`button`,className:`settings-provider-clear`,onClick:()=>void l(e.provider),children:`Clear`}),(0,R.jsx)(`button`,{type:`button`,className:`settings-provider-refresh`,onClick:()=>void u(e.provider),children:`Refresh`}),t.note!==void 0&&(0,R.jsx)(`span`,{className:`settings-note`,role:t.note.kind===`ok`?`status`:`alert`,children:t.note.message})]})]},e.provider)})]})}var O_=/\p{M}/gu,k_=/@/g,A_=/[^a-z0-9._-]/g,j_=/^[^a-z0-9]+/;function M_(e){let t=e.normalize(`NFKD`).replace(O_,``).toLowerCase().replace(k_,`_`).replace(A_,`-`).replace(j_,``).slice(0,128);return t===``?void 0:t}function N_(e){let{client:t,state:n,onClaimed:r}=e,[i,a]=(0,v.useState)(``),[o,s]=(0,v.useState)(``),[c,l]=(0,v.useState)(``),[u,d]=(0,v.useState)(``),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(!1),g=n.proxyIdentity,_=o.trim(),y=_===``?void 0:M_(_),b=_!==``&&y===void 0;async function x(){h(!0),p(null);try{await t.claim({}),r()}catch(e){p(l_(e))}finally{h(!1)}}async function S(){let e=o.trim();if(n.codeRequired&&i.trim()===``){p(`enter the setup code (find it in the server log)`);return}if(e===``){p(`choose a username`);return}h(!0),p(null);try{await t.claim({...n.codeRequired?{code:i.trim()}:{},user:e,...c.trim()===``?{}:{name:c.trim()},...u.trim()===``?{}:{email:u.trim()},issueToken:!0,tokenName:`webui`}),r()}catch(e){p(l_(e))}finally{h(!1)}}return(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Set up sigrun`}),g===void 0?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`auth-message`,children:`Claim this server: the first user is its administrator.`}),n.codeRequired&&(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Setup code`,(0,R.jsx)(`input`,{"data-auth-field":`code`,autoComplete:`one-time-code`,value:i,onChange:e=>a(e.target.value)})]}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Username`,(0,R.jsx)(`input`,{"data-auth-field":`user`,autoComplete:`username`,value:o,onChange:e=>s(e.target.value)})]}),b?(0,R.jsx)(`p`,{className:`auth-message`,"data-auth-preview":`invalid`,children:`Your username needs at least one letter or digit.`}):y===void 0?null:(0,R.jsxs)(`p`,{className:`auth-message`,"data-auth-preview":`user`,children:[`Your username will be `,(0,R.jsx)(`strong`,{children:y})]}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Name `,(0,R.jsx)(`span`,{className:`auth-optional`,children:`(optional)`}),(0,R.jsx)(`input`,{"data-auth-field":`name`,autoComplete:`name`,value:c,onChange:e=>l(e.target.value)})]}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`Email `,(0,R.jsx)(`span`,{className:`auth-optional`,children:`(optional)`}),(0,R.jsx)(`input`,{"data-auth-field":`email`,type:`email`,autoComplete:`email`,value:u,onChange:e=>d(e.target.value)})]}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:m||b,onClick:()=>void S(),children:m?`Claiming…`:`Set up sigrun`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`auth-message`,children:`Your proxy vouches for your identity. Continuing claims this server as:`}),(0,R.jsxs)(`p`,{className:`auth-identity`,children:[(0,R.jsx)(`strong`,{children:g.user}),g.name===void 0?``:` — ${g.name}`,g.email===void 0?``:` · ${g.email}`]}),g.subject!==g.user&&(0,R.jsx)(`p`,{className:`auth-message`,"data-auth-proxy":`subject`,children:g.subject}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:m,onClick:()=>void x(),children:`Continue as ${g.user}`})]}),f!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:f})]})}function P_(e){let{client:t}=e,[n,r]=(0,v.useState)(null),[i,a]=(0,v.useState)(null),[o,s]=(0,v.useState)(``),[c,l]=(0,v.useState)(!1),[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(!1),g=(0,v.useRef)(null);(0,v.useEffect)(()=>()=>{g.current!==null&&clearTimeout(g.current)},[]),(0,v.useEffect)(()=>{let e=!1;return t.listTokens().then(t=>{e||r(t)}).catch(t=>{e||a(l_(t))}),()=>{e=!0}},[t]);async function _(){if(!(o.trim()===``||c)){l(!0),a(null);try{let e=await t.createToken(o.trim());d({id:e.record.id,token:e.token,name:e.record.name}),r(t=>t===null?t:[...t,e.record]),s(``)}catch(e){a(l_(e))}finally{l(!1)}}}async function y(e){if(!(f===null||c)){l(!0),a(null);try{await t.revokeToken(e),r(t=>t===null?t:t.filter(t=>t.id!==e)),d(t=>t?.id===e?null:t),p(null)}catch(e){a(l_(e))}finally{l(!1)}}}function b(){u!==null&&(nd(u.token),h(!0),g.current!==null&&clearTimeout(g.current),g.current=setTimeout(()=>h(!1),1500))}if(n===null)return(0,R.jsx)(`p`,{className:`settings-note`,role:i===null?void 0:`alert`,children:i??`loading tokens…`});let x=n.filter(e=>e.kind!==`session`),S=globalThis.location?.origin??``,C=S===``?`<your sigrun URL>`:S;return(0,R.jsxs)(`div`,{className:`settings-body`,"data-settings-section":`tokens`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`Bearer tokens for the CLI, scripts, and sign-in. A token is shown once at creation — the server stores only its digest.`}),i!==null&&(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:i}),u!==null&&(0,R.jsxs)(`fieldset`,{className:`settings-field token-reveal`,children:[(0,R.jsxs)(`legend`,{className:`settings-label`,children:[`Token created: `,u.name]}),(0,R.jsx)(`p`,{className:`settings-note`,children:`Copy it now — it is never shown again.`}),(0,R.jsx)(`code`,{className:`token-secret`,children:u.token}),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`button`,{type:`button`,className:`token-copy`,onClick:b,children:m?`Copied`:`Copy`}),(0,R.jsx)(`button`,{type:`button`,className:`token-dismiss`,onClick:()=>d(null),children:`Done`})]}),(0,R.jsxs)(`label`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`CLI`}),(0,R.jsx)(`code`,{className:`token-snippet`,children:`SIGRUN_TOKEN=${u.token} sigrun attach --server ${C}`})]}),(0,R.jsxs)(`label`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`tui.json — $SIGRUN_CONFIG_DIR/tui.json (default ~/.config/sigrun/tui.json)`}),(0,R.jsx)(`code`,{className:`token-snippet`,children:`{"server": "${C}", "token": "${u.token}"}`})]})]}),x.length===0&&(0,R.jsx)(`p`,{className:`settings-note`,children:`No API tokens.`}),x.map(e=>(0,R.jsx)(`div`,{className:`settings-ext-row`,children:f?.id===e.id?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`span`,{className:`settings-ext-key`,children:[`Revoke `,e.name,`?`]}),(0,R.jsx)(`button`,{type:`button`,className:`token-revoke-confirm`,disabled:c,onClick:()=>void y(e.id),children:`Confirm revoke`}),(0,R.jsx)(`button`,{type:`button`,className:`token-revoke-cancel`,disabled:c,onClick:()=>p(null),children:`Cancel`})]}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`span`,{className:`settings-ext-key`,children:e.name}),(0,R.jsx)(`button`,{type:`button`,className:`token-revoke`,disabled:c,onClick:()=>p({id:e.id,name:e.name}),children:`Revoke`})]})},e.id)),(0,R.jsxs)(`div`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Create a token`}),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`input`,{type:`text`,className:`token-name-input`,"aria-label":`Token name`,placeholder:`name (e.g. laptop, ci)`,value:o,onChange:e=>s(e.target.value)}),(0,R.jsx)(`button`,{type:`button`,className:`token-create`,disabled:c||o.trim()===``,onClick:()=>void _(),children:`Create token`})]})]})]})}var F_=`sigrun.prefs`,I_={enterToSend:!1,showThinking:!0},L_=(()=>{let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)}}})();function R_(){return globalThis.localStorage??L_}function z_(e){if(e===null)return{};let t;try{t=JSON.parse(e)}catch{return{}}if(typeof t!=`object`||!t||Array.isArray(t))return{};let n=t,r={};for(let e of Object.keys(I_))typeof n[e]==`boolean`&&(r[e]=n[e]);return r}function B_(e){let t=e?.storage??R_(),[n,r]=(0,v.useState)(()=>z_(t.getItem(F_)));return{prefs:{...I_,...n},setPref(e,n){r(r=>{let i={...r,[e]:n};return t.setItem(F_,JSON.stringify(i)),i})}}}function V_(e,t){let n=t.trim().toLowerCase();return n===``?[]:e.filter(e=>e.label.toLowerCase().includes(n)||(e.help??``).toLowerCase().includes(n)||(e.key??``).toLowerCase().includes(n))}function H_(e,t){return V_(e,t)}function U_(e,t){return e.filter(e=>!(e.id===`providers`&&t===!1||e.scope===`user`&&e.admin===!0&&t===!1))}function W_(e){let{client:t,onSection:n,prefsState:r,theme:i,admin:a,onRestart:o,section:s}=e,[c,l]=(0,v.useState)({status:`loading`}),[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)(null),[g,_]=(0,v.useState)(``),[y,b]=(0,v.useState)(null),x=(0,v.useRef)({}),S=(0,v.useRef)(null);(0,v.useEffect)(()=>{let e=!1;return t.getMeta().then(t=>{e||d(t)}).catch(()=>{}),t.listSettingsSections().then(t=>{e||l({status:`ready`,sections:t.sections,index:t.index})}).catch(t=>{e||l({status:`error`,message:t instanceof Error?t.message:String(t)})}),t.listExtensions().then(t=>{e||h(t.extensions)}).catch(()=>{e||h([])}),()=>{e=!0}},[t]);let C=(0,v.useMemo)(()=>c.status===`ready`?new Set(c.sections.filter(e=>e.slug!==`core`).map(e=>e.slug)):new Set,[c]);(0,v.useEffect)(()=>{if(c.status!==`ready`)return;let e=U_(c.sections,a);if(s!==void 0){let t=e.find(e=>e.slug===`core`&&e.id===s);if(t!==void 0){p({kind:`section`,entry:t});return}let n=e.find(e=>e.id===s);if(n!==void 0){p({kind:`section`,entry:n});return}let r=m!==null&&!C.has(s)?m.find(e=>e.name===s):void 0;if(r!==void 0){p({kind:`extension`,slug:r.name});return}}let t=e.find(e=>e.slug===`core`&&e.id===`general`);t!==void 0&&p({kind:`section`,entry:t})},[c,s,a,m,C]);let w=(0,v.useMemo)(()=>c.status===`ready`?H_(c.index,g):[],[c,g]),T=(0,v.useCallback)(async e=>{let t=c.status===`ready`?c.sections.find(t=>t.slug===e.slug&&t.id===e.sectionId):void 0;if(t!==void 0&&(_(``),n(t.id),e.key!==void 0)){let t=e.key;for(let e=0;e<20;e++){await new Promise(e=>setTimeout(e,50));let e=S.current?.querySelector(`[data-name=${JSON.stringify(t)}]`),n=e?.querySelector(`input, textarea, select, button, [tabindex]`)??e;if(n!=null){n.focus();return}}}},[c,n]),E=y?.pendingRestart??[],D=y?.supervised===!0&&a!==!1&&o!==void 0,ee=(0,v.useMemo)(()=>c.status===`ready`?U_(c.sections,a):[],[c,a]);return(0,R.jsx)(`div`,{className:`settings-page`,children:(0,R.jsxs)(`div`,{className:`settings-panel`,children:[(0,R.jsxs)(`header`,{className:`settings-head`,children:[(0,R.jsx)(`span`,{className:`settings-title`,children:`Settings`}),(0,R.jsx)(`input`,{type:`search`,className:`settings-search`,placeholder:`Search settings`,"aria-label":`search settings`,value:g,onChange:e=>_(e.target.value)}),(0,R.jsx)(`span`,{className:`spacer`})]}),E.length>0&&(0,R.jsxs)(`div`,{className:`settings-restart-callout`,role:`status`,children:[(0,R.jsxs)(`p`,{className:`settings-restart-text`,children:[`Restart sigrun to apply: `,E.join(`, `)]}),D&&(0,R.jsx)(`button`,{type:`button`,className:`settings-restart`,onClick:()=>void o(),children:`Restart`})]}),c.status===`loading`&&(0,R.jsx)(`p`,{className:`settings-note`,children:`loading settings…`}),c.status===`error`&&(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:c.message}),c.status===`ready`&&(0,R.jsxs)(`div`,{className:`settings-layout`,children:[(0,R.jsxs)(`nav`,{className:`settings-nav`,"aria-label":`settings sections`,children:[ee.filter(e=>e.scope!==`user`).map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-nav-item`,"data-active":f?.kind===`section`&&f.entry.slug===e.slug&&f.entry.id===e.id?``:void 0,onClick:()=>n(e.id),children:e.title},`${e.slug}/${e.id}`)),ee.some(e=>e.scope===`user`)&&(0,R.jsxs)(`div`,{className:`settings-nav-group`,role:`group`,"aria-label":`My settings`,children:[(0,R.jsx)(`div`,{className:`settings-nav-heading`,children:`My settings`}),ee.filter(e=>e.scope===`user`).map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-nav-item`,"data-active":f?.kind===`section`&&f.entry.slug===e.slug&&f.entry.id===e.id?``:void 0,onClick:()=>n(e.id),children:e.title},`${e.slug}/${e.id}`))]}),(0,R.jsx)($_,{extensions:m,open:f,coveredSlugs:C,onOpen:n})]}),(0,R.jsx)(`div`,{className:`settings-section`,ref:S,children:f===null?(0,R.jsx)(`p`,{className:`settings-note`,children:`select a section`}):f.kind===`extension`?(0,R.jsx)(ev,{client:t,slug:f.slug}):(0,R.jsx)(G_,{client:t,entry:f.entry,prefsState:r,theme:i,meta:u,onCoreMeta:b,valuesRef:x},`${f.entry.slug}/${f.entry.id}`)})]}),g.trim()!==``&&w.length>0&&(0,R.jsx)(`div`,{className:`settings-search-results`,role:`listbox`,children:w.slice(0,20).map((e,t)=>(0,R.jsxs)(`button`,{type:`button`,className:`settings-search-hit`,role:`option`,"aria-selected":`false`,onClick:()=>void T(e),children:[(0,R.jsx)(`span`,{className:`settings-search-hit-label`,children:e.label}),(0,R.jsxs)(`span`,{className:`settings-search-hit-path`,children:[e.slug===`core`?``:`${e.slug} · `,e.sectionId]})]},`${e.slug}/${e.sectionId}/${e.key??e.label}/${t}`))})]})})}function G_(e){let{entry:t,client:n,prefsState:r,theme:i,meta:a,onCoreMeta:o}=e;return t.slug===`core`&&t.id===`interface`?(0,R.jsx)(X_,{prefsState:r,theme:i}):t.slug===`core`&&t.id===`providers`?(0,R.jsx)(D_,{client:n}):t.slug===`core`&&t.id===`extensions`?(0,R.jsx)(tv,{client:n}):t.slug===`core`&&t.id===`accounts`?(0,R.jsx)(E_,{client:n}):t.slug===`core`&&t.id===`tokens`?(0,R.jsx)(P_,{client:n}):(0,R.jsx)(K_,{client:n,entry:t,meta:t.slug===`core`&&t.id===`general`?a:null,onCoreMeta:t.slug===`core`?o:void 0,valuesRef:e.valuesRef})}function K_(e){let{entry:t,meta:n,client:r}=e,i=(0,v.useMemo)(()=>gg({slug:t.slug,id:t.id,fetch:r.rawFetch}),[t.slug,t.id,r]),{onCoreMeta:a,valuesRef:o}=e,s=(0,v.useCallback)(e=>{if(o.current[`${t.slug}/${t.id}`]=typeof e.settings==`object`&&e.settings!==null&&!Array.isArray(e.settings)?e.settings:{},a!==void 0){let t=e.meta;if(typeof t==`object`&&t&&!Array.isArray(t)&&Array.isArray(t.pendingRestart)){let e=t;a({pendingRestart:e.pendingRestart.filter(e=>typeof e==`string`),supervised:e.supervised===!0})}}},[t.slug,t.id,a,o]);return(0,R.jsxs)(`div`,{className:`settings-body`,"data-settings-section":t.id,children:[t.slug===`core`&&t.id===`general`&&(0,R.jsxs)(`p`,{className:`settings-version`,children:[`sigrun `,n?.version===void 0?``:`v${n.version}`,n?.harnessVersion===void 0?``:` · pi-durable v${n.harnessVersion}`]}),(0,R.jsx)(q_,{transport:i,onData:s}),(0,R.jsx)(Qh,{transport:i})]})}function q_(e){let{transport:t,onData:n}=e;return(0,v.useEffect)(()=>{let e=!1,r=()=>{t.fetchData().then(t=>{!e&&t.data!==void 0&&n(t.data)}).catch(()=>{})};r();let i=setInterval(r,1500);return()=>{e=!0,clearInterval(i)}},[t,n]),null}var J_=[{key:`enterToSend`,label:`Enter sends the prompt`,note:`off: Ctrl+Enter submits (Enter inserts a newline); on: Enter submits and Shift+Enter inserts a newline. Ctrl+Enter submits either way.`},{key:`showThinking`,label:`Show thinking blocks`,note:`Show thinking text inside activity details`}],Y_=[{value:`system`,label:`System`},{value:`dark`,label:`Dark`},{value:`light`,label:`Light`}];function X_(e){let{prefsState:t,theme:n}=e;return(0,R.jsxs)(`div`,{className:`settings-body`,children:[(0,R.jsxs)(`fieldset`,{className:`settings-field`,children:[(0,R.jsx)(`legend`,{className:`settings-label`,children:`Mode`}),(0,R.jsx)(`div`,{className:`settings-mode-row`,role:`group`,"aria-label":`mode`,children:Y_.map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-mode`,"data-mode-option":e.value,"aria-pressed":n.mode===e.value,onClick:()=>n.setMode(e.value),children:e.label},e.value))})]}),(0,R.jsxs)(`fieldset`,{className:`settings-field`,children:[(0,R.jsx)(`legend`,{className:`settings-label`,children:`Palette`}),(0,R.jsx)(`div`,{className:`settings-palettes`,role:`group`,"aria-label":`palette`,children:b_.map(e=>{let t=v_[e],r=t[n.resolved];return(0,R.jsxs)(`button`,{type:`button`,className:`settings-palette`,"data-palette-option":e,"aria-pressed":n.palette===e,title:t.label,onClick:()=>n.setPalette(e),style:{background:r.bg},children:[(0,R.jsx)(`span`,{className:`settings-swatch-dot`,"aria-hidden":`true`,style:{background:r.text}}),(0,R.jsx)(`span`,{className:`settings-swatch-dot`,"aria-hidden":`true`,style:{background:y_[t.defaultAccent][n.resolved]}})]},e)})})]}),(0,R.jsxs)(`fieldset`,{className:`settings-field`,children:[(0,R.jsx)(`legend`,{className:`settings-label`,children:`Accent`}),(0,R.jsx)(`div`,{className:`settings-accents`,role:`group`,"aria-label":`accent`,children:x_.map(e=>(0,R.jsx)(`button`,{type:`button`,className:`settings-accent`,"data-accent-option":e,"aria-pressed":n.accent===e,title:y_[e].label,onClick:()=>n.setAccent(e),style:{background:y_[e][n.resolved]}},e))})]}),J_.map(e=>(0,R.jsxs)(`label`,{className:`settings-field settings-checkbox`,children:[(0,R.jsx)(`input`,{type:`checkbox`,className:`settings-pref-${e.key}`,checked:t.prefs[e.key],onChange:n=>t.setPref(e.key,n.target.checked)}),(0,R.jsx)(`span`,{className:`settings-label`,children:e.label}),(0,R.jsx)(`p`,{className:`settings-note`,children:e.note})]},e.key)),(0,R.jsx)(`p`,{className:`settings-note`,children:`interface preferences are per-browser (stored locally — never sent to the server)`})]})}function Z_(e){return Object.keys(e).length===0?``:JSON.stringify(e,null,2)}function Q_(e){let t=e.trim();if(t===``)return{ok:!0,value:{}};try{let e=JSON.parse(t);return typeof e!=`object`||!e||Array.isArray(e)?{ok:!1,message:`settings must be a JSON object`}:{ok:!0,value:e}}catch(e){return{ok:!1,message:`invalid JSON: ${e instanceof Error?e.message:String(e)}`}}}function $_(e){let{extensions:t,coveredSlugs:n,onOpen:r,open:i}=e;if(t===null)return null;let a=t.filter(e=>!n.has(e.name));return a.length===0?null:(0,R.jsx)(R.Fragment,{children:a.map(e=>(0,R.jsxs)(`button`,{type:`button`,className:`settings-nav-item settings-nav-extension`,"data-ext":e.name,"data-active":i?.kind===`extension`&&i.slug===e.name?``:void 0,onClick:()=>r(e.name),children:[e.name,` (advanced)`]},e.name))})}function ev(e){let{client:t,slug:n,status:r,version:i}=e,[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(null);(0,v.useEffect)(()=>{let e=!1;return o(null),c(null),Promise.all([t.getExtensionSettings(n),t.listExtensionSecrets(n)]).then(([t,n])=>{e||o({settingsText:Z_(t.settings),secrets:n.secrets,secretValues:{},newKey:``,newValue:``})}).catch(t=>{e||c(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t,n]);let l=e=>{o(t=>t===null?t:{...t,...e})},u=async()=>{if(a===null)return;let e=Q_(a.settingsText);if(!e.ok){l({note:{kind:`error`,message:e.message}});return}try{await t.putExtensionSettings(n,e.value),l({note:{kind:`ok`,message:`saved`}})}catch(e){l({note:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}},d=async(e,r)=>{if(e!==``&&r!==``&&a!==null)try{let{secrets:i}=await t.putExtensionSecret(n,e,r);o({...a,secrets:i,secretValues:{...a.secretValues,[e]:``},newKey:``,newValue:``,note:{kind:`ok`,message:`secret ${e} set`}})}catch(e){l({note:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}},f=async e=>{try{let{secrets:r}=await t.deleteExtensionSecret(n,e);l({secrets:r,note:{kind:`ok`,message:`secret ${e} deleted`}})}catch(e){l({note:{kind:`error`,message:e instanceof Error?e.message:String(e)}})}};return s===null?a===null?(0,R.jsx)(`p`,{className:`settings-note`,children:`loading…`}):(0,R.jsxs)(`div`,{className:`settings-body settings-ext-list`,children:[(0,R.jsx)(`p`,{className:`settings-note`,children:`settings are the extension's own JSON (read at factory time → applies at restart); secrets list keys only — values are write-only and never displayed`}),(0,R.jsxs)(`fieldset`,{className:`settings-ext`,"data-ext":n,children:[(0,R.jsxs)(`legend`,{className:`settings-ext-name`,children:[n,(0,R.jsxs)(`span`,{className:`settings-ext-meta`,children:[r??``,i===void 0?``:` · v${i}`]})]}),(0,R.jsxs)(`label`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Settings (raw JSON)`}),(0,R.jsx)(`textarea`,{className:`settings-ext-settings`,rows:4,spellCheck:!1,placeholder:`{}`,value:a.settingsText,onChange:e=>l({settingsText:e.target.value})}),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-save`,onClick:()=>void u(),children:`Save settings`}),a.note!==void 0&&(0,R.jsx)(`span`,{className:`settings-note`,role:a.note.kind===`ok`?`status`:`alert`,children:a.note.message})]})]}),(0,R.jsxs)(`div`,{className:`settings-field`,children:[(0,R.jsx)(`span`,{className:`settings-label`,children:`Secrets`}),a.secrets.length===0&&(0,R.jsx)(`p`,{className:`settings-note`,children:`no secrets set`}),a.secrets.map(e=>(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsxs)(`span`,{className:`settings-ext-key`,children:[e.key,` `,(0,R.jsxs)(`span`,{className:`settings-ext-source`,children:[`(`,e.source,`)`]})]}),(0,R.jsx)(`input`,{type:`password`,className:`settings-ext-secret-value`,"data-secret-key":e.key,placeholder:`new value`,value:a.secretValues[e.key]??``,onChange:t=>l({secretValues:{...a.secretValues,[e.key]:t.target.value}})}),(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-secret-set`,"data-secret-key":e.key,onClick:()=>void d(e.key,a.secretValues[e.key]??``),children:`Set`}),(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-secret-delete`,"data-secret-key":e.key,onClick:()=>void f(e.key),children:`Delete`})]},e.key)),(0,R.jsxs)(`div`,{className:`settings-ext-row`,children:[(0,R.jsx)(`input`,{type:`text`,className:`settings-ext-new-key`,placeholder:`new key`,value:a.newKey,onChange:e=>l({newKey:e.target.value})}),(0,R.jsx)(`input`,{type:`password`,className:`settings-ext-new-value`,placeholder:`value`,value:a.newValue,onChange:e=>l({newValue:e.target.value})}),(0,R.jsx)(`button`,{type:`button`,className:`settings-ext-secret-add`,onClick:()=>void d(a.newKey,a.newValue),children:`Set`})]})]})]})]}):(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:s})}function tv(e){let{client:t}=e,[n,r]=(0,v.useState)(null),[i,a]=(0,v.useState)(null);return(0,v.useEffect)(()=>{let e=!1;return t.listExtensions().then(t=>{e||r(t.extensions)}).catch(t=>{e||a(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t]),i===null?n===null?(0,R.jsx)(`p`,{className:`settings-note`,children:`loading extensions…`}):n.length===0?(0,R.jsx)(`div`,{className:`settings-body`,children:(0,R.jsx)(`p`,{className:`settings-note`,children:`no extensions are configured`})}):(0,R.jsx)(`div`,{className:`settings-body`,children:n.map(e=>(0,R.jsx)(ev,{client:t,slug:e.name,status:e.status,version:e.version},e.name))}):(0,R.jsx)(`p`,{className:`settings-note`,role:`alert`,children:i})}var nv=`sigrun.theme`,rv=`sigrun.palette`,iv=`sigrun.accent`,av=(()=>{let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)}}})();function ov(){return globalThis.localStorage??av}function sv(){let e=globalThis.document?.documentElement;return e===void 0?null:{dataset:e.dataset,setProperty:(t,n)=>{e.style.setProperty(t,n)}}}function cv(){return globalThis.matchMedia??null}function lv(e){return e===`dark`||e===`light`?e:`system`}function uv(e){let t=e.getItem(iv);if(t===`amber`){let t=`baltic-amber`;return e.setItem(iv,t),t}return T_(t)?t:(e.setItem(iv,C_),C_)}function dv(e){let t=e.getItem(rv);return w_(t)?t:(e.setItem(rv,S_),S_)}var fv={bg:`--bg`,surface:`--surface`,surface2:`--surface-2`,border:`--border`,text:`--text`,muted:`--muted`,faint:`--faint`,ok:`--ok`,code:`--code`};function pv(e,t){let n=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e);if(n===null)return`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`;let r=n[1].length===3?n[1].split(``).map(e=>e+e).join(``):n[1];return`rgba(${Number.parseInt(r.slice(0,2),16)}, ${Number.parseInt(r.slice(2,4),16)}, ${Number.parseInt(r.slice(4,6),16)}, ${t})`}function mv(e){let t=e?.storage??ov(),n=e?.root===void 0?sv():e.root,r=e?.matchMedia===void 0?cv():e.matchMedia,[i,a]=(0,v.useState)(()=>lv(t.getItem(nv))),[o,s]=(0,v.useState)(()=>dv(t)),[c,l]=(0,v.useState)(()=>uv(t)),[u,d]=(0,v.useState)(()=>r?.(`(prefers-color-scheme: dark)`)?.matches??!0);(0,v.useEffect)(()=>{let e=r?.(`(prefers-color-scheme: dark)`);if(e==null)return;let t=()=>d(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[r]);let f=i===`system`?u?`dark`:`light`:i;return(0,v.useEffect)(()=>{if(n===null)return;let e=v_[o][f];for(let[t,r]of Object.entries(fv))n.setProperty(r,e[t]);let t=y_[c][f];n.setProperty(`--accent`,t),n.setProperty(`--accent-bg`,pv(t,f===`dark`?.14:.16)),n.dataset.mode=f,n.dataset.palette=o,n.dataset.accent=c},[n,f,o,c]),{mode:i,resolved:f,palette:o,accent:c,setMode(e){t.setItem(nv,e),a(e)},setPalette(e){t.setItem(rv,e),s(e)},setAccent(e){t.setItem(iv,e),l(e)}}}function hv(e,t){let n=e.entries;if(t.entries!==void 0){let r=new Set(t.entries.remove??[]);n=[...e.entries.filter(e=>!r.has(e.id)),...t.entries.append??[]]}let r=e.docs;if(t.docs!==void 0){let n=new Set(t.docs.unset??[]),i={};for(let[t,r]of Object.entries(e.docs))n.has(t)||(i[t]=r);for(let[e,n]of Object.entries(t.docs.set??{}))i[e]=n;r=i}return{...e,entries:n,docs:r,conversation:t.conversation??e.conversation,steer:t.steer??e.steer}}var gv=250,_v=4e3,vv=e=>new EventSource(e);function yv(e){let t;try{t=JSON.parse(e)}catch{return}if(typeof t==`object`&&t&&!Array.isArray(t))return t}function bv(e){let t;try{t=JSON.parse(e)}catch{return}if(typeof t==`object`&&t&&!Array.isArray(t))return t}function xv(e,t,n=``,r={}){let i=r.createEventSource??vv,a=`${n}/v1/conversations/${e}/stream`,o=!1,s=0,c,l,u;function d(){if(o)return;let e=i(a);l=e;let n=!1;e.addEventListener(`open`,()=>{o||(s=0,t.onOpen?.())}),e.addEventListener(`snapshot`,e=>{if(o)return;let n=yv(e.data);if(n===void 0){t.onError?.(`malformed snapshot frame (not a view object)`);return}u=n,t.onSnapshot?.(n)}),e.addEventListener(`delta`,e=>{if(o)return;if(u===void 0){t.onError?.(`malformed delta frame (arrived before any snapshot)`);return}let n=bv(e.data);if(n===void 0){t.onError?.(`malformed delta frame (not a delta object)`);return}u=hv(u,n),t.onView?.(u)}),e.addEventListener(`error`,()=>{if(o||n)return;n=!0,t.onError?.(`conversation stream connection error`),e.close(),l===e&&(l=void 0),s+=1;let r=Math.min(gv*2**(s-1),_v);c=setTimeout(()=>{c=void 0,d()},r)})}return d(),{close(){o||(o=!0,c!==void 0&&(clearTimeout(c),c=void 0),l?.close(),l=void 0)}}}var Sv={view:null,status:`idle`,frames:0,error:null};function Cv(e,t={}){let{baseUrl:n,createEventSource:r}=t,[i,a]=(0,v.useState)(Sv);return(0,v.useEffect)(()=>{if(e===null){a(Sv);return}a({view:null,status:`connecting`,frames:0,error:null});let t=xv(e,{onSnapshot:e=>a(t=>({view:e,status:`snapshot`,frames:t.frames+1,error:null})),onView:e=>a(t=>({view:e,status:`live`,frames:t.frames+1,error:null})),onError:e=>a(t=>({...t,status:`error`,error:e}))},n,{createEventSource:r});return()=>t.close()},[e,n,r]),i}var wv=4e3;function Tv(e,t){let[n,r]=(0,v.useState)([]),[i,a]=(0,v.useState)([]),[o,s]=(0,v.useState)({}),c=(0,v.useRef)({}),l=(0,v.useCallback)(e=>{c.current=typeof e==`function`?e(c.current):e,s(c.current)},[]),u=(0,v.useRef)(null),d=(0,v.useRef)(0),f=(0,v.useRef)(new Set),p=(0,v.useCallback)(async(t=!1)=>{let n=(await e.listNotices()).notices,i=u.current;if(i!==null&&a(n.filter(e=>!i.has(e.id))),u.current=new Set(n.map(e=>e.id)),!t&&Date.now()<d.current){r(e=>{let t=new Set(n.map(e=>e.id));return[...n,...e.filter(e=>!t.has(e.id)&&(c.current[e.id]!==void 0||f.current.has(e.id)))]});return}r(n)},[e]),m=(0,v.useRef)(null),h=(0,v.useCallback)(()=>{d.current=Date.now()+wv,m.current!==null&&clearTimeout(m.current),m.current=setTimeout(()=>{m.current=null,l({}),p(!0).catch(()=>void 0)},wv);let e=m.current;typeof e==`object`&&e&&`unref`in e&&e.unref()},[p]);(0,v.useEffect)(()=>{p().catch(()=>void 0)},[p,t.refetchToken]);let g=(0,v.useCallback)(async t=>{await e.dismissNotice(t).catch(()=>void 0),await p().catch(()=>void 0)},[e,p]);return{notices:n,arrivals:i,results:o,refetch:p,dismiss:g,dismissAll:(0,v.useCallback)(async()=>{await e.dismissAllNotices().catch(()=>void 0),await p().catch(()=>void 0)},[e,p]),run:(0,v.useCallback)(async(t,r,i)=>{if(r.kind===`navigate`){i(r.target),await g(t.id);return}if(r.kind===`open`){globalThis.window?.open(r.url,`_blank`,`noopener,noreferrer`),await g(t.id);return}f.current=new Set([...f.current,t.id]);let a;try{a=await e.runNoticeAction(t.id,r.id)}catch(e){l(n=>({...n,[t.id]:e instanceof Error?e.message:String(e)})),await p(!0).catch(()=>void 0);return}finally{let e=new Set(f.current);e.delete(t.id),f.current=e}a.ok&&a.navigate!==void 0&&i(a.navigate);let o=a.ok?a.message:a.error.message;return o!==void 0&&l(e=>({...e,[t.id]:o})),a.ok&&n.some(e=>e.id===t.id)?(h(),a):(await p(!0).catch(()=>void 0),a)},[e,g,p,h,n])}}function Ev(){return globalThis.document}function Dv(e){let t=(0,v.useRef)(null);return(0,v.useEffect)(()=>{if(e.variant!==`overlay`||e.onClose===void 0)return;let n=Ev();if(n===void 0)return;let r=e.onClose,i=e=>{e.key===`Escape`&&r()},a=e=>{let n=e.target;if(n==null)return;let i=t.current;if(i!==null&&!i.contains(n)){let e=n.closest;if(typeof e==`function`&&e.call(n,`[data-rail-section="notices"]`)!==null)return;r()}};return n.addEventListener(`keydown`,i),n.addEventListener(`mousedown`,a),()=>{n.removeEventListener(`keydown`,i),n.removeEventListener(`mousedown`,a)}},[e.variant,e.onClose]),(0,v.useEffect)(()=>{e.scrollTo!==null&&e.scrollTo!==void 0&&(t.current?.querySelector?.(`[data-notice-id="${e.scrollTo}"]`))?.scrollIntoView?.()},[e.scrollTo]),(0,R.jsxs)(`div`,{ref:t,className:e.variant===`overlay`?`notices-pane notices-pane-overlay`:`notices-pane`,role:`complementary`,"aria-label":`notices`,children:[(0,R.jsxs)(`h4`,{className:`notices-pane-head`,children:[(0,R.jsx)(`span`,{children:`Notices`}),e.notices.length>0&&(0,R.jsx)(`button`,{type:`button`,className:`notices-pane-clear`,onClick:()=>e.dismissAll(),children:`Clear all`})]}),e.notices.length===0?(0,R.jsx)(`p`,{className:`notices-pane-empty`,children:`No notices`}):e.notices.map(t=>(0,R.jsx)(im,{notice:t,result:e.results?.[t.id]??null,conversationName:t.conversationId===void 0?void 0:e.conversationName?.(t.conversationId),run:e.run,dismiss:e.dismiss,onNavigate:e.onNavigate},t.id))]})}var Ov=6e3,kv={now:()=>Date.now(),sleep:(e,t)=>setTimeout(t,e),clear:e=>clearTimeout(e)};function Av(){return globalThis.document?.visibilityState===`hidden`}function jv(e){let{batch:t,clock:n}=e,r=t.length===1?t[0]:void 0,i=(0,v.useRef)(null),a=(0,v.useRef)(Ov),o=(0,v.useRef)(0),s=()=>{i.current!==null&&n.clear(i.current),o.current=n.now(),i.current=n.sleep(a.current,e.onFold)};(0,v.useEffect)(()=>(s(),()=>{i.current!==null&&n.clear(i.current)}),[]);let c=()=>{i.current!==null&&(n.clear(i.current),i.current=null,a.current=Math.max(0,a.current-(n.now()-o.current)))},l=()=>{i.current===null&&s()},u=r?.actions?.[0];return(0,R.jsxs)(`div`,{className:`notice-peek`,role:`status`,"aria-live":`polite`,onMouseEnter:c,onMouseLeave:l,onFocus:c,onBlur:l,children:[(0,R.jsx)(`button`,{type:`button`,className:`notice-peek-body`,onClick:()=>{e.onOpenPane(r?.id),e.onFold()},children:r===void 0?(0,R.jsxs)(`strong`,{children:[t.length,` new notices`]}):(0,R.jsx)(`strong`,{children:r.title})}),r!==void 0&&u!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`notice-peek-action`,onClick:()=>{e.run(r,u,e.onNavigate),e.onFold()},children:u.label}),r!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`notice-peek-close`,"aria-label":`dismiss notice`,onClick:()=>{e.dismiss(r.id),e.onFold()},children:`✕`})]})}function Mv(e){let[t,n]=(0,v.useState)([]),r=(0,v.useRef)(new Set);return(0,v.useEffect)(()=>{let t=e.arrivals.filter(t=>!r.current.has(t.id)&&(e.visibleConversationId===null||e.visibleConversationId===void 0||t.conversationId!==e.visibleConversationId));for(let t of e.arrivals)r.current.add(t.id);t.length===0||Av()||n(e=>[...e,...t])},[e.arrivals,e.visibleConversationId]),t.length===0?null:(0,R.jsx)(jv,{batch:t,onFold:()=>n([]),run:e.run,dismiss:e.dismiss,onNavigate:e.onNavigate,onOpenPane:e.onOpenPane,clock:e.clock??kv},`${t[0]?.id}:${t.length}`)}function Nv(e){return(0,R.jsxs)(`button`,{type:`button`,className:`rail-btn rail-bell`,"data-rail-section":`notices`,title:`Notices`,"aria-label":`notices`,"aria-pressed":e.active===!0,"data-active":e.active===!0?``:void 0,onClick:()=>e.onToggle?.(),children:[`🔔`,e.count>0&&(0,R.jsx)(`span`,{className:`rail-bell-badge`,"data-bell-count":e.count,children:e.count})]})}var Pv=24;function Fv(e,t){let[n,r]=(0,v.useState)(!0),i=(0,v.useRef)(!0);return(0,v.useEffect)(()=>{if(e===null)return;let t=()=>{let t=e.scrollHeight-e.scrollTop-e.clientHeight<=Pv;i.current=t,r(t)};return e.addEventListener(`scroll`,t,{passive:!0}),t(),()=>e.removeEventListener(`scroll`,t)},[e]),(0,v.useEffect)(()=>{e!==null&&i.current&&(e.scrollTop=e.scrollHeight)},[e,t]),n}function Iv(e){let{client:t,conversationId:n,path:r}=e,[i,a]=(0,v.useState)({kind:`loading`});return(0,v.useEffect)(()=>{let e=!1;return a({kind:`loading`}),t.readFile(n,r).then(t=>{e||a(t.encoding===`text`?{kind:`text`,content:t.content,size:t.size}:{kind:`binary`,size:t.size})}).catch(t=>{e||a({kind:`error`,message:t instanceof Error?t.message:String(t)})}),()=>{e=!0}},[t,n,r]),(0,R.jsxs)(`div`,{className:`file-preview`,"data-path":r,children:[(0,R.jsx)(`div`,{className:`file-preview-path`,children:r}),i.kind===`loading`&&(0,R.jsx)(`p`,{className:`file-preview-loading`,children:`loading…`}),i.kind===`text`&&(0,R.jsx)(`pre`,{className:`file-preview-content`,children:i.content}),i.kind===`binary`&&(0,R.jsxs)(`p`,{className:`file-preview-binary`,children:[`binary file — `,i.size,` bytes (no preview)`]}),i.kind===`error`&&(0,R.jsx)(`p`,{role:`alert`,children:i.message})]})}function Lv(e){return[...e].sort((e,t)=>(e.kind===`directory`?0:1)-(t.kind===`directory`?0:1)||e.name.localeCompare(t.name))}function Rv(e){let{client:t,conversationId:n,onClose:r}=e,[i,a]=(0,v.useState)(null),[o,s]=(0,v.useState)({}),[c,l]=(0,v.useState)({}),[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(null);(0,v.useEffect)(()=>{if(a(null),s({}),l({}),d(null),p(null),n===null)return;let e=!1;return t.listFiles(n).then(t=>{e||a(Lv(t.entries))}).catch(t=>{e||p(t instanceof Error?t.message:String(t))}),()=>{e=!0}},[t,n]);async function m(e){if(n!==null){if(c[e.path]){l(t=>{let n={...t};return delete n[e.path],n});return}if(l(t=>({...t,[e.path]:!0})),o[e.path]===void 0)try{let r=await t.listFiles(n,e.path);s(t=>({...t,[e.path]:Lv(r.entries)}))}catch(e){p(e instanceof Error?e.message:String(e))}}}function h(e,t){return e.map(e=>{if(e.kind===`directory`){let n=c[e.path]===!0,r=o[e.path];return(0,R.jsxs)(`li`,{children:[(0,R.jsxs)(`button`,{type:`button`,className:`workspace-dir`,"data-tree-row":`true`,"data-path":e.path,"aria-expanded":n,style:{paddingLeft:`${t*.9}rem`},onClick:()=>void m(e),children:[n?`▾`:`▸`,` `,e.name,`/`]}),n&&r!==void 0&&(0,R.jsx)(`ul`,{className:`workspace-children`,children:h(r,t+1)})]},e.path)}return(0,R.jsx)(`li`,{children:(0,R.jsx)(`button`,{type:`button`,className:`workspace-file`,"data-tree-row":`true`,"data-path":e.path,"data-selected":u===e.path||void 0,style:{paddingLeft:`${t*.9}rem`},onClick:()=>d(e.path),children:e.name})},e.path)})}return(0,R.jsxs)(`section`,{className:`workspace-browser`,"aria-label":`workspace files`,children:[(0,R.jsxs)(`h2`,{className:`workspace-title`,children:[`Workspace`,r!==void 0&&(0,R.jsx)(`button`,{type:`button`,className:`workspace-close`,"aria-label":`close workspace panel`,title:`close`,onClick:r,children:`✕`})]}),n===null?(0,R.jsx)(`p`,{className:`workspace-empty`,children:`Select a conversation to browse its workspace`}):(0,R.jsxs)(R.Fragment,{children:[f!==null&&(0,R.jsx)(`p`,{role:`alert`,children:f}),i===null&&f===null?(0,R.jsx)(`p`,{className:`workspace-loading`,children:`loading…`}):i===null?null:(0,R.jsx)(`ul`,{className:`workspace-tree`,children:h(i,0)}),u!==null&&(0,R.jsx)(Iv,{client:t,conversationId:n,path:u})]})]})}var zv=w(),Bv=6e4,Vv=`sigrun.timeline`;function Hv(){try{return globalThis.localStorage?.getItem(Vv)!==`0`}catch{return!0}}function Uv(e){try{globalThis.localStorage?.setItem(Vv,e?`1`:`0`)}catch{}}function Wv(e,t){let n=globalThis.document;if(n===void 0)return;let r=URL.createObjectURL(new Blob([t],{type:`application/json`})),i=n.createElement(`a`);i.href=r,i.download=e,n.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(r)}function Gv(e,t){return t===null?`sigrun`:oe(e.find(e=>e.id===t)??{id:t,archived:!1,pinned:!1})}function Kv(e){let{activeId:t,view:n,status:r,error:i,showThinking:a,timeline:o}=e;if(t===null)return(0,R.jsx)(`section`,{className:`chat-center`,children:(0,R.jsx)(`p`,{className:`chat-empty`,children:`Start a conversation — type below.`})});let s=n?.steer.busy??!1,c=n!==null&&Hh(n)>0,l=n===null||c?void 0:Uh(n),u=n===null?void 0:Wh(n);return(0,R.jsxs)(`section`,{className:`chat-center`,"data-view-status":r,"aria-label":`chat transcript`,ref:e.onScrollRoot,style:e.dockPadding>0?{paddingBottom:`${e.dockPadding}px`}:void 0,children:[i!==null&&(0,R.jsx)(`p`,{role:`alert`,children:i}),n===null?(0,R.jsx)(`p`,{className:`chat-loading`,children:`loading…`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ah.Provider,{value:e.attachChatTransport,children:(0,R.jsx)(Yh,{view:n,showThinking:a,timeline:o,parent:e.parent,client:e.client,onNavigate:e.onNavigate})}),s&&(0,R.jsxs)(`div`,{className:`chat-working`,role:`status`,children:[(0,R.jsx)(`span`,{className:`chat-working-dot`}),(0,R.jsx)(`span`,{className:`chat-working-dot`}),(0,R.jsx)(`span`,{className:`chat-working-dot`}),(0,R.jsx)(`span`,{className:`chat-working-label`,children:c?`compacting…`:`working…`})]}),l!==void 0&&(0,R.jsxs)(`p`,{className:`chat-compaction-failure`,role:`alert`,children:[`compaction failed: `,l]}),u!==void 0&&(0,R.jsxs)(`p`,{className:`chat-run-failure`,role:`alert`,children:[`run ended: `,u.reason,u.detail?`: ${u.detail}`:``]})]})]})}function qv(e){let t=e.startsWith(`#`)?e.slice(1):e,n=/^\/settings(?:\/([^/]+))?\/?$/.exec(t);if(n!==null){let e=n[1];if(e===void 0)return{kind:`settings`};try{return{kind:`settings`,section:decodeURIComponent(e)}}catch{return{kind:`chat`}}}let r=/^\/c(?:\/(\d+))?\/?$/.exec(t);if(r!==null){let e=r[1];return e===void 0?{kind:`chat`}:{kind:`chat`,conversationId:Number(e)}}let i=/^\/ext\/([^/]+)\/([^/?]+)(?:\?(.*))?$/.exec(t);if(i===null)return{kind:`chat`};try{return{kind:`ext`,slug:decodeURIComponent(i[1]??``),id:decodeURIComponent(i[2]??``),params:Jv(i[3])}}catch{return{kind:`chat`}}}function Jv(e){let t={};if(e!==void 0){let n=new URLSearchParams(e).get(`params`);if(n!==null)try{let e=JSON.parse(n);typeof e==`object`&&e&&!Array.isArray(e)&&(t=e)}catch{}}return t}function Yv(e){if(e.kind===`chat`)return e.conversationId===void 0?`#/c`:`#/c/${e.conversationId}`;if(e.kind===`settings`)return e.section===void 0?`#/settings`:`#/settings/${encodeURIComponent(e.section)}`;let t=`#/ext/${encodeURIComponent(e.slug)}/${encodeURIComponent(e.id)}`;return Object.keys(e.params).length===0?t:`${t}?params=${encodeURIComponent(JSON.stringify(e.params))}`}function Xv(){let e=globalThis.location;if(e?.pathname!==`/settings`)return;let t=new URLSearchParams(e.search??``).get(`section`),n=t===null||t===``?`#/settings`:`#/settings/${encodeURIComponent(t)}`;Zv=n,globalThis.history?.replaceState(null,``,`/${n}`)}var Zv=``;function Qv(){let e=globalThis.location;return e!==void 0&&typeof e.hash==`string`?e.hash:Zv}function $v(e,t=!1){let n=globalThis.history;Zv=e,n!==void 0&&(t?n.replaceState(null,``,e):n.pushState(null,``,e))}function ey(e={}){let t=e.client??zv,n=e.identity,r=e.onLogout,i=e.onRestarting,a=mv(),o=B_(),[s,c]=(0,v.useState)({status:`loading`}),l=(0,v.useCallback)(async()=>{try{await t.requestRestart()}catch(e){ue(`restart failed: ${e instanceof Error?e.message:String(e)}`);return}ue(null),c({status:`restarting`});let e=Date.now()+Bv;for(;;){await new Promise(e=>setTimeout(e,500));let n=!1;try{n=await t.checkReady()}catch{}if(n){i===void 0?c({status:`loading`}):i();return}if(Date.now()>e){c({status:`refused`,message:`restart did not come back: /readyz never answered within ${Bv/1e3}s — check the deployment's supervisor`});return}}},[t,i]);(0,v.useEffect)(()=>{e.onExposeActions?.({restart:l}),(e.onExposeActions!==void 0||globalThis.__sigrunE2E===!0)&&(globalThis.__sigrunAppActions={restart:l})},[l]);let[u,d]=(0,v.useState)(null),[f,p]=(0,v.useState)(Lg),[m,h]=(0,v.useState)(Hv),[g,_]=(0,v.useState)(!1),[,y]=(0,v.useState)(0),b=globalThis,x=s.status===`ready`&&b.location?.hash.startsWith(`#/blocks`)?`blocks`:`chats`;Xv();let[S,C]=(0,v.useState)(()=>qv(Qv())),[w]=(0,v.useState)(()=>new Qg),[T]=(0,v.useState)(()=>new _g),[E]=(0,v.useState)(()=>new bg),D=(0,v.useCallback)(e=>E.attach(e),[E]),[ee]=(0,v.useState)([]),[te,ne]=(0,v.useState)(null),[re,ie]=(0,v.useState)(0),[ae,O]=(0,v.useState)(!1),[se,ce]=(0,v.useState)(null),[le,ue]=(0,v.useState)(null),[de,fe]=(0,v.useState)(null),[pe,me]=(0,v.useState)(0),he=(0,v.useCallback)(e=>{if(e===null)return;let t=()=>me(e.offsetHeight);t();let n=globalThis.ResizeObserver;if(n===void 0)return;let r=new n(t);return r.observe(e),()=>r.disconnect()},[]),{view:ge,status:_e,error:ve,frames:ye}=Cv(u,{createEventSource:e.createEventSource});Fv(de,ye);let k=__(t,{busy:ge?.steer.busy??!1,createEventSource:e.createEventSource,onNoticeChanged:(0,v.useCallback)(()=>{ie(e=>e+1)},[]),onSurfaceChanged:(0,v.useCallback)(e=>{T.dispatch(e)},[T]),onChatChanged:(0,v.useCallback)(e=>{E.dispatch(e)},[E])}),A=S.kind===`ext`?S:null,j=A===null?``:Ee(A.params??{}),[M,be]=(0,v.useState)(null);(0,v.useEffect)(()=>{if(A===null){be(null);return}let e=!0;return Oe(A.slug,A.id,j).then(t=>{e&&be({key:j,hash:t})}),()=>{e=!1}},[A,j]);let xe=(0,v.useMemo)(()=>{if(A!==null&&M!==null&&M.key===j)return T.attach({slug:A.slug,id:A.id,params:A.params,...k.streamId===void 0?{}:{streamId:k.streamId}},M.hash)},[A,j,M,T,k.streamId]),Se=(0,v.useMemo)(()=>s.status===`ready`?Ig(f,Tg(s.meta.extensions)):f,[f,s]),Ce=Se!==null&&Se.startsWith(`ext:`)?Se:null,N=(0,v.useMemo)(()=>{if(Ce===null)return null;let[e,t]=Ce.slice(4).split(`/`);return e===void 0||t===void 0||e===``||t===``?null:{slug:e,id:t}},[Ce]),P=(0,v.useMemo)(()=>Ce===null||s.status!==`ready`?{}:Tg(s.meta.extensions).find(e=>`ext:${e.slug}/${e.id}`===Ce)?.perConversation===!0&&u!==null?{conversationId:u}:{},[Ce,s,u]),we=(0,v.useMemo)(()=>Ee(P),[P]),[Te,De]=(0,v.useState)(null),ke=`${Ce??``}:${we}`;(0,v.useEffect)(()=>{if(N===null){De(null);return}let e=!0,t=ke;return Oe(N.slug,N.id,we).then(n=>{e&&De({forKey:t,hash:n})}),()=>{e=!1}},[N,ke,we]);let Ae=(0,v.useMemo)(()=>{if(N!==null&&Te!==null&&Te.forKey===ke)return T.attach({slug:N.slug,id:N.id,params:JSON.parse(we),...k.streamId===void 0?{}:{streamId:k.streamId}},Te.hash)},[N,ke,we,Te,T,k.streamId]);(0,v.useEffect)(()=>{A!==null&&k.noteSurfaceVisible(A.slug,A.id,A.params),N!==null&&k.noteSurfaceVisible(N.slug,N.id,JSON.parse(we))},[A,j,N,we,k.streamId,k.noteSurfaceVisible]);let je=(0,v.useMemo)(()=>{if(N!==null&&s.status===`ready`)return Tg(s.meta.extensions).find(e=>e.slug===N.slug&&e.id===N.id)?.refreshMs},[N,s]),Ne=(0,v.useMemo)(()=>{let e=k.rows.find(e=>e.id===u)?.parent;if(e===void 0)return;let t=k.rows.find(t=>t.id===e.id);return{id:e.id,name:oe(t===void 0?{id:e.id,archived:!1,pinned:!1}:t)}},[k.rows,u]),Pe=(0,v.useMemo)(()=>{let e=[];for(let t of Me(ge?.entries??[]))t.kind===`user`&&e.push({entryId:t.entry.id,text:kh(t.entry)});return e},[ge]),Fe=(0,v.useCallback)(e=>{d(e),_(!1)},[]),Ie=(0,v.useCallback)((e,t)=>{$v(t),w.remember(Yg(e),t),C(e)},[w]),Le=(0,v.useCallback)(e=>{p(t=>{let n=Fg(t,e);return Rg(n),n})},[]),Re=(0,v.useCallback)(()=>{p(null),Rg(null)},[]),ze=(0,v.useRef)(k.rows);ze.current=k.rows;let Be=(0,v.useRef)(Fe);Be.current=Fe,(0,v.useEffect)(()=>{let e=()=>{let e=qv(Qv());w.remember(Yg(e),Qv()),C(e),e.kind===`chat`&&e.conversationId!==void 0&&ze.current.some(t=>t.id===e.conversationId)&&Be.current(e.conversationId)};return globalThis.addEventListener?.(`popstate`,e),()=>{globalThis.removeEventListener?.(`popstate`,e)}},[w,k.rows,Fe]);let F=(0,v.useCallback)(e=>{let t=e===void 0?{kind:`settings`}:{kind:`settings`,section:e};$v(Yv(t)),C(t)},[]),Ve=(0,v.useCallback)(e=>{F(e),_(!1)},[F]),He=(0,v.useCallback)(e=>Ve(e),[Ve]),I=(0,v.useCallback)(e=>{if(e===`settings`)F(void 0);else{let t=w.routeFor(e),n=qv(t);Ie(n,t),n.kind===`chat`&&n.conversationId!==void 0&&Fe(n.conversationId)}y(e=>e+1),_(!1)},[w,Ie,F,Fe]),L=(0,v.useCallback)(()=>I(`settings`),[I]),[Ue,We]=(0,v.useState)(()=>Dg()),Ge=(0,v.useCallback)((e,t)=>{We(n=>s.status===`ready`?Ag(kg(wg(s.meta.extensions),n),e,t):n)},[s]),Ke=(0,v.useMemo)(()=>s.status===`ready`?kg(wg(s.meta.extensions),Ue):[],[s,Ue]),qe=(0,v.useMemo)(()=>s.status===`ready`?[...Sg(s.meta),...Ke]:[],[s,Ke]),Je=x===`blocks`?null:Yg(S),Ye=(0,v.useMemo)(()=>{if(A!==null)return Ke.find(e=>e.slug===A.slug&&e.id===A.id)?.refreshMs},[A,Ke]),Xe=(0,v.useCallback)(e=>{if(`conversation`in e&&typeof e.conversation==`number`){let t={kind:`chat`,conversationId:e.conversation};Ie(t,Yv(t)),Fe(e.conversation);return}if(`job`in e){let t={kind:`ext`,slug:`core`,id:`jobs`,params:{job:e.job}};Ie(t,Yv(t));return}if(`settings`in e){let t=e.settings;Ve(typeof t==`string`&&t!==``?t:void 0);return}if(`view`in e&&e.view!==null&&typeof e.view==`object`){let t=e.view,n={kind:`ext`,slug:t.extension,id:t.id,params:t.params??{}};Ie(n,Yv(n))}},[Ie,Fe,Ve]),Ze=(0,v.useCallback)(e=>{if(e.params!==void 0){if(A===null)return;let t={kind:`ext`,slug:A.slug,id:A.id,params:e.params};Ie(t,Yv(t));return}let t=e.target;typeof t==`object`&&t&&Xe(t)},[A,Ie,Xe]),z=Tv(t,{refetchToken:re}),Qe=(0,v.useRef)(void 0);(0,v.useEffect)(()=>{Qe.current!==void 0&&k.streamId!==void 0&&k.streamId!==Qe.current&&ie(e=>e+1),Qe.current=k.streamId},[k.streamId]),(0,v.useEffect)(()=>{let e=globalThis.document;if(e?.addEventListener===void 0)return;let t=()=>{e.visibilityState===`visible`&&ie(e=>e+1)};return e.addEventListener(`visibilitychange`,t),()=>e.removeEventListener?.(`visibilitychange`,t)},[]);let $e=(0,v.useCallback)(e=>{let t=k.rows.find(t=>t.id===e);return t===void 0?void 0:oe(t)},[k.rows]),et=(0,v.useCallback)(e=>{ce(e??null),S.kind===`chat`?p(`notices`):O(!0)},[S.kind]),tt=(0,v.useCallback)(()=>{S.kind===`chat`?Le(`notices`):O(e=>!e)},[S.kind,Le]),nt=S.kind===`chat`?f===`notices`:ae,rt=(0,v.useCallback)(e=>{let t={kind:`chat`,conversationId:e};Ie(t,Yv(t)),y(e=>e+1),Fe(e)},[Ie,Fe]);(0,v.useEffect)(()=>{if(s.status!==`ready`||u!==null||S.kind!==`chat`)return;if(S.conversationId!==void 0&&k.rows.some(e=>e.id===S.conversationId)){d(S.conversationId);return}if(k.rows.length===0)return;let e=k.rows.find(e=>e.root)??k.rows[0];d(t=>t??e?.id??null)},[s.status,k.rows,S.kind]),(0,v.useEffect)(()=>{let e=!1;return t.getMeta().then(t=>{e||(t.schemaVersion===`84e1fb2c4b8f07e59e2c1f6748e2f724ce7251944bdc5fe9df4b3df771135f02`?c({status:`ready`,meta:t}):c({status:`refused`,message:`schema mismatch: the server speaks schema ${t.schemaVersion} but this webui bundle is pinned to ${n_}. Rebuild and redeploy the bundle against this server (spec §5).`}))}).catch(t=>{if(e)return;let n=t instanceof Error?t.message:String(t);c({status:`refused`,message:`schema check failed: ${n}. The wire schema is unverifiable, so the webui refuses to render (spec §5).`})}),()=>{e=!0}},[t]),(0,v.useEffect)(()=>{let e=globalThis,t=()=>{y(e=>e+1)};return e.addEventListener?.(`hashchange`,t),()=>e.removeEventListener?.(`hashchange`,t)},[]);let it=(0,v.useCallback)(async(e,n)=>{try{await t.patchConversationMeta(e,{name:n}),await k.reload(),ue(null)}catch(e){ue(`rename failed: ${e instanceof Error?e.message:String(e)}`)}},[t,k.reload]),at=(0,v.useCallback)(async e=>{u!==null&&await it(u,e)},[u,it]),B=(0,v.useCallback)(async(e,n)=>{try{await t.patchConversationMeta(e,{archived:n}),await k.reload(),ue(null)}catch(e){ue(`archive failed: ${e instanceof Error?e.message:String(e)}`)}},[t,k.reload]),ot=(0,v.useCallback)(e=>{t.fork(e).then(async e=>{await k.reload(),Fe(e.id),ue(null)}).catch(e=>ue(`fork failed: ${e instanceof Error?e.message:String(e)}`))},[t,k.reload,Fe]),st=(0,v.useCallback)(()=>{t.createConversation().then(async e=>{await k.reload(),Fe(e.id),ue(null)}).catch(e=>ue(`new conversation failed: ${e instanceof Error?e.message:String(e)}`))},[t,k.reload,Fe]),ct=(0,v.useCallback)(()=>{u!==null&&t.exportConversation(u).then(e=>{Wv(`sigrun-conversation-${u}.jsonl`,e),ue(null)}).catch(e=>ue(`export failed: ${e instanceof Error?e.message:String(e)}`))},[u,t]),lt=(0,v.useCallback)(()=>{u!==null&&t.compact(u).then(()=>ue(null)).catch(e=>ue(`compact failed: ${e instanceof Error?e.message:String(e)}`))},[u,t]),ut=k.rows.find(e=>e.id===u)?.archived===!0,dt=(0,v.useCallback)(()=>{u!==null&&B(u,!ut)},[u,ut,B]),ft=r===void 0?void 0:()=>{t.logout().catch(()=>void 0).finally(()=>r())};return s.status===`loading`?(0,R.jsx)(`div`,{className:`app-boot`,children:(0,R.jsx)(`p`,{children:`sigrun — checking the wire schema…`})}):s.status===`restarting`?(0,R.jsx)(`div`,{className:`app-boot`,role:`status`,children:(0,R.jsx)(`p`,{children:`sigrun — Restarting…`})}):s.status===`refused`?(0,R.jsxs)(`div`,{className:`app-refused`,role:`alert`,children:[(0,R.jsx)(`h1`,{children:`sigrun — refusing to render`}),(0,R.jsx)(`p`,{children:s.message})]}):(0,R.jsxs)(`div`,{className:`app-root`,children:[(0,R.jsxs)(`div`,{className:`side-drawer`,"data-open":g?``:void 0,children:[(0,R.jsx)(Kg,{meta:s.meta,onOpenTab:I,activeTab:Je,onOpenGallery:s.meta.dev?()=>{globalThis.history?.pushState(null,``,`#/blocks`),y(e=>e+1)}:void 0,identity:n,hiddenExtSurfaces:ee,extViewEntries:Ke,onMoveExtView:Ge,onLogout:ft,bell:(0,R.jsx)(Nv,{count:z.notices.length,active:nt,onToggle:tt})}),k.error!==null&&(0,R.jsxs)(`p`,{className:`side-error`,role:`alert`,children:[`conversations unavailable: `,k.error]}),S.kind===`chat`&&(0,R.jsx)(c_,{rows:k.rows,activeId:u,onSelect:rt,onNew:st,onRename:it,onArchive:B,onFork:ot,currentUser:n?.user,onShare:ne})]}),x===`blocks`?(0,R.jsxs)(`main`,{className:`main-column`,children:[(0,R.jsxs)(`header`,{className:`phone-header`,children:[(0,R.jsx)(`span`,{className:`phone-header-spacer`}),(0,R.jsx)(Nv,{count:z.notices.length,active:nt,onToggle:tt})]}),(0,R.jsx)(og,{})]}):S.kind===`settings`?(0,R.jsxs)(`main`,{className:`main-column`,"data-route":`settings`,children:[(0,R.jsxs)(`header`,{className:`phone-header`,children:[(0,R.jsx)(`span`,{className:`phone-header-spacer`}),(0,R.jsx)(Nv,{count:z.notices.length,active:nt,onToggle:tt})]}),(0,R.jsx)(Mv,{arrivals:z.arrivals,visibleConversationId:null,run:z.run,dismiss:e=>void z.dismiss(e),onNavigate:Xe,onOpenPane:et}),(0,R.jsx)(W_,{client:t,prefsState:o,theme:a,admin:n?.admin,section:S.section,onSection:He,onRestart:l})]}):(0,R.jsxs)(`main`,{className:`main-column`,children:[(0,R.jsx)(Mv,{arrivals:z.arrivals,visibleConversationId:S.kind===`chat`?u:null,run:z.run,dismiss:e=>void z.dismiss(e),onNavigate:Xe,onOpenPane:et}),S.kind===`chat`&&(0,R.jsx)(zg,{title:Gv(k.rows,u),timeline:m,onTimeline:()=>h(e=>(Uv(!e),!e)),panel:f,extPanels:Tg(s.meta.extensions),onPanel:Le,onRename:at,onExport:ct,onCompact:lt,onArchive:dt,archived:ut,drawerOpen:g,onToggleDrawer:()=>_(e=>!e),bell:(0,R.jsx)(Nv,{count:z.notices.length,active:nt,onToggle:tt})}),S.kind!==`chat`&&(0,R.jsxs)(`header`,{className:`phone-header`,children:[(0,R.jsx)(`span`,{className:`phone-header-spacer`}),(0,R.jsx)(Nv,{count:z.notices.length,active:nt,onToggle:tt})]}),le!==null&&(0,R.jsx)(`p`,{className:`shell-error`,role:`alert`,children:le}),(0,R.jsxs)(`div`,{className:`main-body`,children:[A!==null&&xe!==void 0?(0,R.jsx)(ug,{slug:A.slug,id:A.id,hub:T,transport:xe,onNavigate:Ze,...Ye===void 0?{}:{refreshMs:Ye}},`${A.slug}/${A.id}/${k.streamId??`pre-hello`}`):S.kind===`chat`?(0,R.jsxs)(`div`,{className:`chat-column`,children:[(0,R.jsx)(Kv,{activeId:u,view:ge,status:_e,error:ve,showThinking:o.prefs.showThinking,timeline:m,client:t,onNavigate:Fe,parent:Ne,onScrollRoot:fe,dockPadding:pe,attachChatTransport:D}),(0,R.jsx)(`div`,{className:`chat-fade`,"aria-hidden":`true`}),(0,R.jsx)(`footer`,{className:`composer-slot`,ref:he,children:(0,R.jsx)(Vm,{client:t,conversationId:u,view:ge,onNavigate:Fe,onOpenSettings:L,enterToSend:o.prefs.enterToSend,readOnly:k.rows.find(e=>e.id===u)?.access===`read`,inlineNotices:u===null?[]:z.notices.filter(e=>e.conversationId===u),noticeResults:z.results,noticeRun:z.run,noticeDismiss:e=>void z.dismiss(e),onOpenNoticesPane:()=>et(),onAmbientNavigate:Xe})})]}):null,S.kind===`chat`&&(0,R.jsx)(qg,{selection:Se,...N!==null&&Ae!==void 0?{extContent:(0,R.jsx)(dg,{slug:N.slug,id:N.id,transport:Ae,onNavigate:Ze,...je===void 0?{}:{refreshMs:je}},`${Ce}:${we}`)}:{},outline:(0,R.jsx)(t_,{scrollRoot:de,turns:Pe}),workspace:(0,R.jsx)(Rv,{client:t,conversationId:u,onClose:Re}),notices:(0,R.jsx)(Dv,{variant:`docked`,notices:z.notices,results:z.results,conversationName:$e,run:z.run,dismiss:e=>void z.dismiss(e),dismissAll:()=>void z.dismissAll(),onNavigate:e=>{Xe(e),`conversation`in e&&Re()},scrollTo:se})})]})]}),g&&(0,R.jsx)(`div`,{className:`drawer-backdrop`,onClick:()=>_(!1),"aria-hidden":`true`}),Se!==null&&Se!==`notices`&&(0,R.jsx)(`div`,{className:`panel-backdrop`,onClick:Re,"aria-hidden":`true`}),S.kind!==`chat`&&ae&&(0,R.jsx)(Dv,{variant:`overlay`,notices:z.notices,results:z.results,conversationName:$e,run:z.run,dismiss:e=>void z.dismiss(e),dismissAll:()=>void z.dismissAll(),onClose:()=>O(!1),onNavigate:e=>{Xe(e),O(!1)},scrollTo:se}),(0,R.jsx)(Hg,{active:Je??`chats`,extViews:qe,onTab:I,...ft===void 0?{}:{onSignOut:ft}}),te!==null&&(()=>{let e=k.rows.find(e=>e.id===te);return e===void 0?null:(0,R.jsx)(`div`,{className:`share-overlay`,onClick:e=>{e.target===e.currentTarget&&ne(null)},children:(0,R.jsx)(d_,{client:t,conversation:e,onClose:()=>ne(null),onSaved:()=>{k.reload()}})})})()]})}function ty(e={}){let[t,n]=(0,v.useState)(0);return(0,R.jsx)(ey,{...e,onRestarting:()=>n(e=>e+1)},t)}var ny={invalid_state:`That sign-in link was already used or came from another browser. Start again.`,login_expired:`This sign-in took too long or sigrun restarted. Start again.`,not_allowed:`Your account isn't allowed to use this sigrun.`,isolation_required:`This sigrun can't add another user yet. Ask the admin.`,auth_required:`This sigrun can't add another user yet. Ask the admin.`,account_link_conflict:`That account is already linked to another sigrun user.`,provider_error:`The sign-in provider returned an error. Try again.`,proxy_identity_required:`This sigrun signs people in through its sign-in proxy. Open it through the proxy.`};function ry(e){return ny[e]??`Sign-in failed. Try again.`}function iy(e){let{client:t,message:n,onSuccess:r}=e,[i,a]=(0,v.useState)(``),[o,s]=(0,v.useState)(()=>{let e=globalThis.location?.search??``,t=new URLSearchParams(e).get(`error`);return t===null?null:ry(t)}),[c,l]=(0,v.useState)(!1),[u,d]=(0,v.useState)([]);(0,v.useEffect)(()=>{let e=!1;return t.providers().then(t=>{e||d(t.providers)}).catch(()=>{}),()=>{e=!0}},[t]),(0,v.useEffect)(()=>{let e=globalThis.location?.search??``;if(new URLSearchParams(e).get(`error`)===null)return;let t=globalThis.history,n=globalThis.location?.pathname??`/login`;t?.replaceState(null,``,n)},[]);async function f(){if(i.trim()===``){s(`paste your API token`);return}l(!0),s(null);try{await t.login(i.trim()),r()}catch(e){s(l_(e))}finally{l(!1)}}return(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Sign in to sigrun`}),n!==void 0&&(0,R.jsx)(`p`,{className:`auth-message`,children:n}),u.length>0&&(0,R.jsx)(`div`,{className:`auth-providers`,children:u.map(e=>(0,R.jsx)(`a`,{className:`auth-provider`,href:`/v1/auth/login/${encodeURIComponent(e.provider)}?return=%2F`,children:e.label},e.provider))}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[`API token`,(0,R.jsx)(`input`,{"data-auth-field":`token`,type:`password`,autoComplete:`current-password`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),f())}})]}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:c,onClick:()=>void f(),children:c?`Signing in…`:`Sign in`}),o!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:o})]})}function ay(e){return!e.startsWith(`/`)||e.startsWith(`//`)||e.includes(`\\`)||/^[A-Za-z][A-Za-z0-9+.-]*:/.test(e)?`/`:e}function oy(e){let{client:t,flowKey:n,reason:r,navigate:i}=e,[a,o]=(0,v.useState)(``),[s,c]=(0,v.useState)(!1),[l,u]=(0,v.useState)(null);async function d(){if(a.trim()===``){u(`Enter your code.`);return}c(!0),u(null);try{let e=await t.submitLoginCode(n,a.trim());i(ay(e.returnTo))}catch(e){e instanceof x&&e.error===`invalid_code`?u(`That code didn't work. Check it and try again.`):e instanceof x&&e.error===`login_expired`?u(`This sign-in took too long or sigrun restarted. Start again.`):e instanceof x&&e.error===`not_allowed`?u(`Your account isn't allowed to use this sigrun.`):e instanceof x&&(e.error===`isolation_required`||e.error===`auth_required`)?u(`This sigrun can't add another user yet. Ask the admin.`):u(`Sign-in failed. Try again.`)}finally{c(!1)}}return(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Finish signing in`}),(0,R.jsx)(`p`,{className:`auth-message`,children:r===`setup`?`Enter the setup code to claim this sigrun.`:`Enter your invite code to finish signing in.`}),(0,R.jsxs)(`label`,{className:`auth-field`,children:[r===`setup`?`Setup code`:`Invite code`,(0,R.jsx)(`input`,{"data-auth-field":`login-code`,type:`text`,autoComplete:`one-time-code`,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),d())}})]}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,disabled:s,onClick:()=>void d(),children:s?`Signing in…`:`Continue`}),l!==null&&(0,R.jsx)(`p`,{className:`auth-error`,role:`alert`,children:l})]})}function sy(e){let{cause:t,context:n}=e,r=e.reload??(()=>location.reload());return(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`proxy-unidentified`,children:(0,R.jsxs)(`div`,{className:`auth-card`,children:[(0,R.jsx)(`h1`,{children:`Sign-in proxy required`}),n===`session_ended`&&(0,R.jsx)(`p`,{className:`auth-message`,children:`Your session ended.`}),t===`unidentified`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`auth-message`,children:`This sigrun runs behind a sign-in proxy, but the proxy's identity didn't reach sigrun.`}),(0,R.jsx)(`p`,{children:`The proxy's address may be missing from trustedProxies, or the proxy may not be forwarding the identity header. The operator can see the reason in the server log.`})]}):t===`invalid_username`?(0,R.jsx)(`p`,{className:`auth-message`,children:`The proxy supplied an invalid username: the proxy's username has no usable characters.`}):(0,R.jsx)(`p`,{className:`auth-message`,children:`Your account doesn't exist and auto-provisioning is off. Ask the admin to create your account.`}),(0,R.jsx)(`button`,{type:`button`,className:`auth-submit`,onClick:r,children:`Reload`})]})})}var cy=w();function ly(e,t){return new Proxy(e,{get(e,n){let r=e[n];return typeof r==`function`?(...n)=>Promise.resolve().then(()=>r.apply(e,n)).catch(e=>{throw e instanceof x&&e.status===401&&t(),e}):r}})}function uy(e={}){let[t,n]=(0,v.useState)({status:`probing`}),[r,i]=(0,v.useState)(0),a=(0,v.useCallback)(()=>{n(e=>e.status===`ready`?b(e.methods)?{status:`proxy-unidentified`,cause:`unidentified`,context:`session_ended`}:{status:`login`,methods:e.methods,message:`Your session ended. Sign in again.`}:e)},[]),o=(0,v.useMemo)(()=>ly(e.client??cy,a),[e.client,a]);if((0,v.useEffect)(()=>{let e=!1;return(async()=>{let t=await o.getOnboarding().catch(t=>{e||n({status:`failed`,message:t instanceof Error?t.message:String(t)})});if(!(t===void 0||e)){if(t.state===`unclaimed`){n({status:`onboarding`,state:t});return}try{let r=await o.whoami();if(e)return;n({status:`ready`,methods:t.methods,identity:r})}catch(r){if(e)return;if(b(t.methods)&&r instanceof x&&r.status===401){n({status:`proxy-unidentified`,cause:`unidentified`,context:`boot`});return}if(b(t.methods)&&r instanceof x&&r.status===403&&(r.error===`invalid_username`||r.error===`user_not_provisioned`)){n({status:`proxy-unidentified`,cause:r.error===`invalid_username`?`invalid_username`:`not_provisioned`,context:`boot`});return}if(r instanceof x&&r.status===401){n({status:`login`,methods:t.methods});return}n({status:`failed`,message:r instanceof Error?r.message:String(r)})}}})(),()=>{e=!0}},[o,r]),t.status===`probing`)return(0,R.jsx)(`div`,{className:`app-boot`,"data-auth-screen":`probing`,children:(0,R.jsx)(`p`,{children:`sigrun — signing in…`})});if(t.status===`failed`)return(0,R.jsxs)(`div`,{className:`app-refused`,role:`alert`,"data-auth-screen":`failed`,children:[(0,R.jsx)(`h1`,{children:`sigrun — auth check failed`}),(0,R.jsx)(`p`,{children:t.message}),(0,R.jsx)(`button`,{type:`button`,onClick:()=>i(e=>e+1),children:`Retry`})]});let s=globalThis.location;if(s?.pathname===`/login/code`){let e=new URLSearchParams(s.search??``),t=e.get(`key`);if(t!==null)return(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`login-code`,children:(0,R.jsx)(oy,{client:o,flowKey:t,reason:e.get(`reason`)??`invite`,navigate:e=>{s.href!==void 0&&(s.href=e)}})})}return t.status===`onboarding`?b(t.state.methods)&&t.state.codeRequired&&t.state.proxyIdentity===void 0?(0,R.jsx)(sy,{cause:`unidentified`,context:`onboarding`}):(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`onboarding`,children:(0,R.jsx)(N_,{client:o,state:t.state,onClaimed:()=>i(e=>e+1)})}):t.status===`proxy-unidentified`?(0,R.jsx)(sy,{cause:t.cause,context:t.context}):t.status===`login`?(0,R.jsx)(`div`,{className:`auth-screen`,"data-auth-screen":`login`,children:(0,R.jsx)(iy,{client:o,message:t.message,onSuccess:()=>i(e=>e+1)})}):(0,R.jsx)(ty,{client:o,createEventSource:e.createEventSource,identity:t.identity,onLogout:()=>n({status:`login`,methods:t.methods,message:`Signed out.`})})}var dy=document.getElementById(`root`);if(dy===null)throw Error(`sigrun webui: #root mount point missing from index.html`);(0,y.createRoot)(dy).render((0,R.jsx)(v.StrictMode,{children:(0,R.jsx)(uy,{})}));