cli-jaw 2.17.60 → 2.17.61

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 (76) hide show
  1. package/package.json +1 -1
  2. package/public/css/chat.css +18 -4
  3. package/public/css/layout.css +12 -0
  4. package/public/dist/.vite/manifest.json +120 -110
  5. package/public/dist/assets/Profile-DPqrYA44.js +1 -0
  6. package/public/dist/assets/{app-Cn7mvbfa.js → app-ByMfeXp-.js} +4 -4
  7. package/public/dist/assets/app-DAJWqs33.css +1 -0
  8. package/public/dist/assets/bgtask-badge-Ch88fnhf.js +1 -0
  9. package/public/dist/assets/{bgtask-badge-DwA2ufcC.js → bgtask-badge-DfiHuzxT.js} +1 -1
  10. package/public/dist/assets/{employees-DrXQ9oRa.js → employees-BQaJNp-u.js} +1 -1
  11. package/public/dist/assets/favicon-32-C4u_h46P.png +0 -0
  12. package/public/dist/assets/icon-192-CADbZUeU.png +0 -0
  13. package/public/dist/assets/{iframe-renderer-CLqxxRj1.js → iframe-renderer-Bj1JolO8.js} +2 -2
  14. package/public/dist/assets/iframe-renderer-DWnvUSrx.js +1 -0
  15. package/public/dist/assets/manager-BnQHAKk6.css +1 -0
  16. package/public/dist/assets/{manager-BpPiQqP8.js → manager-C5cU1joU.js} +1 -1
  17. package/public/dist/assets/{manifest-Bw-LRm-c.json → manifest-BgdjNQXm.json} +1 -1
  18. package/public/dist/assets/mascot-BPkuMHQQ.png +0 -0
  19. package/public/dist/assets/memory-Bk_cb3sw.js +1 -0
  20. package/public/dist/assets/{memory-CPfFQFaW.js → memory-EG1B51up.js} +1 -1
  21. package/public/dist/assets/{message-history-BhiEuMLw.js → message-history-D2vniu04.js} +1 -1
  22. package/public/dist/assets/message-history-GAtF_wbZ.js +1 -0
  23. package/public/dist/assets/{render-CdATJ4wM.js → render-Dp07lZAJ.js} +1 -1
  24. package/public/dist/assets/{settings-CUxM2lH7.js → settings-CA2LQDGh.js} +1 -1
  25. package/public/dist/assets/settings-WVGhtneN.js +1 -0
  26. package/public/dist/assets/{settings-core-D_2F4S22.js → settings-core-B5Uf_lWY.js} +1 -1
  27. package/public/dist/assets/settings-core-CgKGnMA5.js +1 -0
  28. package/public/dist/assets/{settings-embedding-LIMq5ebM.css → settings-embedding-DhEdT86W.css} +1 -1
  29. package/public/dist/assets/{settings-embedding-abQOXHyq.js → settings-embedding-oGvFayh-.js} +1 -1
  30. package/public/dist/assets/{settings-Cjrg6SrM.js → settings-jlI4X-zt.js} +1 -1
  31. package/public/dist/assets/shark-sprite-v5dtON_I.png +0 -0
  32. package/public/dist/assets/sidebar-BUemG2ZN.js +49 -0
  33. package/public/dist/assets/{skills-CD3PFa7e.js → skills-CKUcEN9m.js} +1 -1
  34. package/public/dist/assets/skills-Co7Mr-qP.js +1 -0
  35. package/public/dist/assets/slash-commands-BEr-vmIr.js +1 -0
  36. package/public/dist/assets/{slash-commands-Czgl_F8c.js → slash-commands-D34GgHFX.js} +1 -1
  37. package/public/dist/assets/{trace-drawer-BYKkBIG-.js → trace-drawer-DBmK-5F_.js} +1 -1
  38. package/public/dist/assets/ui-TUyJsMUf.js +1 -0
  39. package/public/dist/assets/{ui-B0OYr3pK.js → ui-vm2iuLcS.js} +1 -1
  40. package/public/dist/index.html +8 -8
  41. package/public/dist/manager/index.html +4 -4
  42. package/public/dist/settings/index.html +2 -2
  43. package/public/icons/favicon-32.png +0 -0
  44. package/public/icons/icon-192.png +0 -0
  45. package/public/icons/icon-512-maskable.png +0 -0
  46. package/public/icons/icon-512.png +0 -0
  47. package/public/icons/mascot.png +0 -0
  48. package/public/img/shark-sprite.png +0 -0
  49. package/public/index.html +4 -4
  50. package/public/js/features/attention-badge.ts +22 -4
  51. package/public/js/features/avatar.ts +4 -2
  52. package/public/manager/src/components/CommandBar.tsx +1 -0
  53. package/public/manager/src/manager-p0-1-1.css +7 -0
  54. package/public/manager/src/settings/pages/components/AvatarCard.tsx +3 -1
  55. package/public/manager/src/settings-shell.css +6 -0
  56. package/public/manifest.json +1 -1
  57. package/public/sw.js +1 -1
  58. package/scripts/brand/generate-brand-assets.py +226 -0
  59. package/scripts/brand/mascot-master.png +0 -0
  60. package/scripts/check-app-icon-assets.cjs +19 -0
  61. package/public/assets/shark.svg +0 -1
  62. package/public/dist/assets/Profile-BSV3ztzm.js +0 -1
  63. package/public/dist/assets/app-BCBnxiGr.css +0 -1
  64. package/public/dist/assets/bgtask-badge-C_bWwh_e.js +0 -1
  65. package/public/dist/assets/icon-192-CwXPIYF5.png +0 -0
  66. package/public/dist/assets/iframe-renderer-DjRrBgkV.js +0 -1
  67. package/public/dist/assets/manager-Nk7-RYPs.css +0 -1
  68. package/public/dist/assets/memory-BOwQYuLb.js +0 -1
  69. package/public/dist/assets/message-history-CqWYH9Sx.js +0 -1
  70. package/public/dist/assets/settings-core-BNFL4oSA.js +0 -1
  71. package/public/dist/assets/settings-kHiXb__9.js +0 -1
  72. package/public/dist/assets/shark-sprite-B3AAuERd.png +0 -0
  73. package/public/dist/assets/sidebar-DE-2OtXs.js +0 -49
  74. package/public/dist/assets/skills-iVr8hW-f.js +0 -1
  75. package/public/dist/assets/slash-commands-DbBIj8wv.js +0 -1
  76. package/public/dist/assets/ui-CpxBqLlq.js +0 -1
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor-render-DSSkXCir.css"])))=>i.map(i=>d[i]);
2
- import{a as e,t}from"./api-CUtiCd2-.js";import{n}from"./bounded-api-DdpT93LB.js";import{t as r}from"./preload-helper-CfbQpVni.js";import{O as i,T as a,g as o}from"./render-CdATJ4wM.js";import{t as s}from"./icons-CVkqyECl.js";import{t as c}from"./copy-text-DjgetgoZ.js";import{a as l,i as u,n as ee,t as te}from"./esm-Q6VOkDbn.js";import{n as d}from"./presentation-DWHWElFr.js";function f(){let e=globalThis.crypto;if(typeof e?.randomUUID==`function`)return e.randomUUID();if(typeof e?.getRandomValues!=`function`)return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)});let t=new Uint8Array(16);e.getRandomValues(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}var ne=/^(?:(?:\/[^\s]+\/)?(?:bash|zsh|sh))\s+-lc\s+([\s\S]+)$/;function re(e){let t=e.trim();if(t.length<2)return t;let n=t[0];if(n!==`'`&&n!==`"`)return t;let r=t[t.length-1]===n?t.slice(1,-1):t.slice(1);return n===`'`?r.replace(/'\\''/g,`'`):r.replace(/\\"/g,`"`).replace(/\\`/g,"`").replace(/\\\$/g,`$`).replace(/\\\\/g,`\\`)}function ie(e){let t=String(e||``).trim();if(!t)return``;let n=t.match(ne);return n&&re(n[1]||``)||t}function p(e){return ie(e)}function m(e){let t=String(e||``);if(!t.trim())return``;let n=t.split(/\r?\n/),r=n[0]||``,i=r.match(/^(\s*\$\s*)([\s\S]+)$/);if(i){let e=p(i[2]||``);return n[0]=`${i[1]}${e}`,n.join(`
2
+ import{a as e,t}from"./api-CUtiCd2-.js";import{n}from"./bounded-api-DdpT93LB.js";import{t as r}from"./preload-helper-CfbQpVni.js";import{O as i,T as a,g as o}from"./render-Dp07lZAJ.js";import{t as s}from"./icons-CVkqyECl.js";import{t as c}from"./copy-text-DjgetgoZ.js";import{a as l,i as u,n as ee,t as te}from"./esm-Q6VOkDbn.js";import{n as d}from"./presentation-DWHWElFr.js";function f(){let e=globalThis.crypto;if(typeof e?.randomUUID==`function`)return e.randomUUID();if(typeof e?.getRandomValues!=`function`)return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)});let t=new Uint8Array(16);e.getRandomValues(t),t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=Array.from(t,e=>e.toString(16).padStart(2,`0`)).join(``);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}var ne=/^(?:(?:\/[^\s]+\/)?(?:bash|zsh|sh))\s+-lc\s+([\s\S]+)$/;function re(e){let t=e.trim();if(t.length<2)return t;let n=t[0];if(n!==`'`&&n!==`"`)return t;let r=t[t.length-1]===n?t.slice(1,-1):t.slice(1);return n===`'`?r.replace(/'\\''/g,`'`):r.replace(/\\"/g,`"`).replace(/\\`/g,"`").replace(/\\\$/g,`$`).replace(/\\\\/g,`\\`)}function ie(e){let t=String(e||``).trim();if(!t)return``;let n=t.match(ne);return n&&re(n[1]||``)||t}function p(e){return ie(e)}function m(e){let t=String(e||``);if(!t.trim())return``;let n=t.split(/\r?\n/),r=n[0]||``,i=r.match(/^(\s*\$\s*)([\s\S]+)$/);if(i){let e=p(i[2]||``);return n[0]=`${i[1]}${e}`,n.join(`
3
3
  `)}let a=p(r);return a===r.trim()?t:(n[0]=a,n.join(`
4
4
  `))}var h=null,g=null,_=new WeakMap,v=160,ae=3e3,oe=1e3,se=80,ce=24,le=24,ue=0,de=null,y=new Map,b=new Map,fe=0,pe=0,me=0,he=0;function ge(e){return e.startedAt??e.steps[0]?.startTime??null}function _e(){let e=g;if(!e||e.collapsed||e.steps.length===0){x();return}let t=e._durationEl??=e.element.querySelector(`.process-duration`);if(!t)return;let n=ge(e);if(n===null)return;let r=Math.round((Date.now()-n)/1e3);t.textContent=r>0?`${r}s`:``}function ve(e){h&&g===e||(x(),g=e,h=setInterval(_e,3e3))}function x(){h&&=(clearInterval(h),null),g=null}function ye(e){let t={};for(let n of e){let e=n.type===`thinking`?`${s.thinking} Thinking`:n.type===`search`?`${s.search} Search`:n.type===`subagent`?`${s.robot} Subagent`:`${s.tool} Tool`;t[e]=(t[e]||0)+1}return Object.entries(t).map(([e,t])=>t>1?`${e}&times;${t}`:e).join(` + `)}function S(e,t=120){let n=e.replace(/\s+/g,` `).trim();return n?n.length>t?`${n.slice(0,t-1)}…`:n:``}function be(e){if(e.length<=ae)return{detail:e,truncated:!1};let t=`\n[detail truncated: kept ${ae} of ${e.length} chars]`;return{detail:`${e.slice(0,Math.max(0,ae-t.length))}${t}`,truncated:!0}}function C(e){return y.get(e)?.detail||``}function xe(e){return e.type===`tool`?{...e,label:p(e.label||``),detail:m(e.detail||``),detailPreview:e.detailPreview?m(e.detailPreview):e.detailPreview}:e}function w(e){let t=xe(e),n=m(C(t.id))||t.detail||``,r=be(n),i=t.detailPreview||S(n,v);return n&&y.set(t.id,{detail:r.detail,originalLength:n.length,truncated:r.truncated}),b.set(t.id,{id:t.id,type:t.type,icon:t.icon,rawIcon:t.rawIcon,label:t.label,isEmployee:t.isEmployee,stepRef:t.stepRef,traceRunId:t.traceRunId,traceSeq:t.traceSeq,detailAvailable:t.detailAvailable,detailBytes:t.detailBytes,rawRetentionStatus:t.rawRetentionStatus,status:t.status,startTime:t.startTime,preview:i,detailLength:n.length,detailTruncated:r.truncated}),{...t,detail:i,detailPreview:i,detailLength:n.length,detailTruncated:r.truncated}}function Se(e,t){let n=t||``,r=C(e),i=r&&n?`${r}\n${n}`:n||r,a=be(i);i&&y.set(e,{detail:a.detail,originalLength:i.length,truncated:a.truncated});let o=b.get(e);return o&&(o.preview=S(i,v),o.detailLength=i.length,o.detailTruncated=a.truncated),o?.preview||S(i,v)}function Ce(e,t){let n=t||C(e),r=be(n);n&&y.set(e,{detail:r.detail,originalLength:n.length,truncated:r.truncated});let i=S(n,v),a=b.get(e);return a&&(a.preview=i,a.detailLength=n.length,a.detailTruncated=r.truncated),i}function we(e){let t=w(e);b.set(e.id,{id:t.id,type:t.type,icon:t.icon,rawIcon:t.rawIcon,label:t.label,isEmployee:t.isEmployee,stepRef:t.stepRef,traceRunId:t.traceRunId,traceSeq:t.traceSeq,detailAvailable:t.detailAvailable,detailBytes:t.detailBytes,rawRetentionStatus:t.rawRetentionStatus,status:t.status,startTime:t.startTime,preview:t.detailPreview||t.detail||``,detailLength:t.detailLength||0,detailTruncated:!!t.detailTruncated})}function Te(e){e.element.dataset.processStepIds=e.steps.map(e=>e.id).join(` `)}function Ee(e,t=!1){let n=new Set;return t||e.length<=se?(e.forEach((e,t)=>n.add(t)),n):(e.forEach((t,r)=>{(r<ce||r>=e.length-le||t.status===`running`||t.status===`error`)&&n.add(r)}),n)}function De(e){let t=e||s.tool;return t.trim().startsWith(`<svg`)?t:i(t)}function T(e){let t=`process-step-dot ${e.status}`,n=`process-step-badge ${e.type}`,r=e.type.toUpperCase(),a=i(e.label||e.icon||``),o=e.isEmployee?`<span class="process-step-origin" aria-label="Employee tool">(E)</span>`:``,c=De(e.icon),l=e.detailPreview||e.detail||``,u=`process-detail-${e.id}`,ee=e.detailAvailable&&e.traceRunId&&e.traceSeq?`<span class="process-step-trace" role="button" tabindex="0" title="Open full trace" aria-label="Open full trace" data-trace-run-id="${i(e.traceRunId)}" data-trace-seq="${String(e.traceSeq)}">Trace</span>`:``,te=S(l,e.type===`thinking`?120:80),d=te?`<span class="process-step-snippet">${i(te)}</span>`:``;return`<div class="process-step process-step-expandable"
5
5
  data-step-id="${e.id}"
@@ -37,7 +37,7 @@ import{a as e,t}from"./api-CUtiCd2-.js";import{n}from"./bounded-api-DdpT93LB.js"
37
37
  <div class="process-details">
38
38
  <div class="process-steps-inner"></div>
39
39
  </div>
40
- </div>`}function ke(e){let t=e.closest(`.process-step`),n=t?.querySelector(`.process-step-details`),r=n?.querySelector(`.process-step-full`),i=e.querySelector(`.process-step-chevron`);if(!t||!n)return;let a=n.classList.contains(`collapsed`);a&&r?.dataset.detailLazy===`true`?(r.textContent=C(t.dataset.stepId||``)||b.get(t.dataset.stepId||``)?.preview||(r.dataset.hadDetail===`true`?`(detail released to save memory — scroll this message back into view to reload)`:``),delete r.dataset.detailLazy):!a&&r&&r.textContent&&r.textContent.length>oe&&(r.textContent=``,r.dataset.detailLazy=`true`),n.classList.toggle(`collapsed`,!a),t.classList.toggle(`expanded`,a),e.setAttribute(`aria-expanded`,a?`true`:`false`),i&&(i.innerHTML=a?s.chevronDown:s.chevronRight)}function Ae(e,t){let n=window.__jawProcessBlockLayoutMutation;if(typeof n==`function`){n(e,t);return}t()}function O(e){return e.getAttribute(`aria-disabled`)!==`true`&&!e.matches(`:disabled`)}function je(e){e.dataset.processBlockBound!==`1`&&(e.addEventListener(`click`,e=>{let t=e.target;if(!t)return;let i=t.closest(`.process-step-trace`);if(i){if(e.preventDefault(),e.stopPropagation(),!O(i))return;let t=i.dataset.traceRunId||``,a=Number(i.dataset.traceSeq||0),s=++ue,c=o(`/api/orchestrate/snapshot`);de?.abort();let l=new AbortController;de=l;let u=n(c,{},l.signal,16777216);Promise.all([r(()=>import(`./trace-drawer-BYKkBIG-.js`),__vite__mapDeps([0])),u]).then(([e,n])=>{if(s!==ue||!i.isConnected||!O(i)||c!==o(`/api/orchestrate/snapshot`))return;let r=d(n&&typeof n==`object`&&!Array.isArray(n)?n.activityIdentity:null);return e.openTraceDrawer(t,a,r?.sessionId??null)}).catch(e=>console.warn(`[trace-drawer] open failed:`,e));return}let a=t.closest(`[data-expand-steps]`);if(a){e.preventDefault();let t=a.closest(`.process-block`);if(!t)return;let n=_.get(t);if(!n){let e=He(t);if(e.length===0)return;n={element:t,steps:e,collapsed:t.classList.contains(`collapsed`)},_.set(t,n)}let r=n;Ae(t,()=>{r.expandedSteps=!0;let e=r.element.querySelector(`.process-steps-inner`);e&&(e.innerHTML=D(r.steps,!0))});return}let c=t.closest(`.process-step-toggle`);if(c){Ae(c.closest(`.process-step, .process-block`),()=>{ke(c)});return}let l=t.closest(`.process-summary`);if(l){let e=l.closest(`.process-block`);if(!e)return;Ae(e,()=>{let t=e.classList.contains(`collapsed`);e.classList.toggle(`collapsed`,!t),l.setAttribute(`aria-expanded`,t?`true`:`false`);let n=l.querySelector(`.process-chevron`);n&&(n.innerHTML=t?s.chevronDown:s.chevronRight);let r=_.get(e);r&&(r.collapsed=!t,k(r))})}}),e.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target?.closest(`.process-step-trace`);t&&(t.tagName!==`BUTTON`||!O(t)||e.repeat)&&(e.preventDefault(),e.stopPropagation(),!e.repeat&&O(t)&&t.click())}),e.dataset.processBlockBound=`1`)}function Me(e,t=!0){let n=e.map(w),r=Oe(ye(n),t),i=document.createElement(`div`);i.innerHTML=r;let a=i.querySelector(`.process-block`);a&&(a.dataset.processStepIds=n.map(e=>e.id).join(` `));let o=i.querySelector(`.process-steps-inner`);o&&(o.innerHTML=D(n));let s=i.querySelector(`.process-dot`);if(s){let e=n.some(e=>e.status===`running`);s.classList.toggle(`running`,e&&!t),s.classList.toggle(`done`,!e||t)}return i.innerHTML}function k(e){let t=e.element.querySelector(`.process-summary-text`);t&&(t.innerHTML=ye(e.steps));let n=e.steps.some(e=>e.status===`running`),r=e.element.querySelector(`.process-dot`);r&&(r.classList.toggle(`running`,n&&!e.collapsed),r.classList.toggle(`done`,!n||e.collapsed));let i=ge(e),a=i===null?0:Math.round((Date.now()-i)/1e3),o=e._durationEl??=e.element.querySelector(`.process-duration`);o&&(o.textContent=a>0?`${a}s`:``),n&&!e.collapsed?ve(e):g===e&&x()}function Ne(e){_.set(e.element,e)}function Pe(e){let t=document.createElement(`div`);t.innerHTML=Oe(``,!0);let n=t.firstElementChild,r=e.querySelector(`.msg-content`);r?r.before(n):e.appendChild(n);let i={element:n,steps:[],collapsed:!0};return _.set(n,i),i}function Fe(e,t){e.setAttribute(`data-omitted-count`,String(t));let n=e.querySelector(`.process-step-snippet`);n&&(n.textContent=`Show ${t} hidden tool step${t===1?``:`s`}`)}function Ie(e,t){let n=e.steps.length-1-le;if(n<ce)return;let r=e.steps[n];if(!r||r.status===`running`||r.status===`error`)return;let i=t.querySelector(`[data-step-id="${r.id}"]`);if(!i)return;let a=i.previousElementSibling;if(a&&a.hasAttribute(`data-expand-steps`))Fe(a,Number(a.getAttribute(`data-omitted-count`)||`0`)+1),i.remove();else{let e=document.createElement(`div`);e.innerHTML=E(1);let t=e.firstElementChild;t&&i.replaceWith(t)}}function Le(e,t){let n=w(t);e.steps.push(n);let r=e.element.querySelector(`.process-steps-inner`);r&&(e.steps.length===81&&!e.expandedSteps?r.innerHTML=D(e.steps,e.expandedSteps):e.steps.length>se&&!e.expandedSteps?(r.insertAdjacentHTML(`beforeend`,T(n)),Ie(e,r)):r.insertAdjacentHTML(`beforeend`,T(n))),Te(e),k(e)}function Re(e,t,n){let r=e.steps.findIndex(e=>e.id===t);if(r===-1)return;t!==n.id&&(y.delete(t),b.delete(t));let i=w(n);e.steps[r]=i;let a=e.element.querySelector(`[data-step-id="${t}"]`);if(a){let e=document.createElement(`div`);e.innerHTML=T(i);let t=e.firstElementChild;t&&a.replaceWith(t)}else if(e.steps.length>se){let t=e.element.querySelector(`.process-steps-inner`);t&&(t.innerHTML=D(e.steps,e.expandedSteps))}Te(e),k(e)}function ze(e){g===e&&x(),e.collapsed=!0,e.element.classList.add(`collapsed`);let t=e.element.querySelector(`.process-summary`);t&&t.setAttribute(`aria-expanded`,`false`);let n=e.element.querySelector(`.process-chevron`);n&&(n.innerHTML=s.chevronRight);for(let t of e.steps)t.status===`running`&&(t.status=`done`,we(t));e.element.querySelectorAll(`.process-step-dot.running`).forEach(e=>{e.classList.remove(`running`),e.classList.add(`done`);let t=e.closest(`.process-step`);t&&(t.dataset.status=`done`)}),k(e)}function Be(e){if(!e)return;fe++;let t=new Set;if(`steps`in e)e.steps.forEach(e=>t.add(e.id));else{if(e.classList.contains(`process-block`)&&(e.dataset.processStepIds||``).split(/\s+/).filter(Boolean).forEach(e=>t.add(e)),e.querySelectorAll(`.process-block[data-process-step-ids]`).forEach(e=>{(e.dataset.processStepIds||``).split(/\s+/).filter(Boolean).forEach(e=>t.add(e))}),e.classList.contains(`process-step`)){let n=e.dataset.stepId;n&&t.add(n)}e.querySelectorAll(`.process-step[data-step-id]`).forEach(e=>{let n=e.dataset.stepId;n&&t.add(n)})}t.forEach(e=>{y.delete(e),b.delete(e)}),pe+=t.size}function Ve(e){return b.get(e)||null}function He(e){me++;let t=(e.dataset.processStepIds||``).split(/\s+/).filter(Boolean),n=[];for(let e of t){let t=b.get(e);t&&n.push({id:t.id,type:t.type,icon:t.icon,rawIcon:t.rawIcon,label:t.label,isEmployee:t.isEmployee,detail:C(e)||t.preview||``,detailPreview:t.preview,detailLength:t.detailLength,detailTruncated:t.detailTruncated,stepRef:t.stepRef,traceRunId:t.traceRunId,traceSeq:t.traceSeq,detailAvailable:t.detailAvailable,detailBytes:t.detailBytes,rawRetentionStatus:t.rawRetentionStatus,status:t.status,startTime:t.startTime})}return he+=n.length,n}var Ue=80,We=5,Ge=80;function Ke(e){let t=Math.ceil(e.getBoundingClientRect().height);return Number.isFinite(t)&&t>0?t:0}function A(e,t,n){if(!e[t])return;let r=Ke(n);r>0&&(e[t].height=r)}function qe(e,t,n){if(n)for(let[r,i]of t)A(e,r,i),n.measureElement(i)}var Je=class{items=[];container;innerEl;_active=!1;virtualizer=null;cleanupFn=null;mounted=new Map;itemGap=0;restorePassTimers=new Set;shouldFollowAfterRestore=()=>!0;onLazyRender=null;onPostRender=null;onRecycle=null;lifecycleHooks=new Set;addLifecycleHooks(e){this.lifecycleHooks.add(e)}postRender(e){this.onPostRender?.(e);for(let t of this.lifecycleHooks)t.postRender(e)}recycle(e){this.onRecycle?.(e);for(let t of this.lifecycleHooks)t.recycle(e)}constructor(e){this.container=document.getElementById(e),this.innerEl=document.createElement(`div`),this.innerEl.className=`vs-inner`,this.attachMediaLoadRemeasure()}attachMediaLoadRemeasure(){let e=e=>{let t=e.target;if(!(t instanceof HTMLImageElement)&&!(t instanceof HTMLVideoElement)||!this._active||!this.virtualizer)return;let n=t.closest(`[data-vs-idx]`);n&&n.isConnected&&(A(this.items,Number(n.dataset.vsIdx||`-1`),n),this.virtualizer.measureElement(n))};this.innerEl.addEventListener(`load`,e,!0),this.innerEl.addEventListener(`loadedmetadata`,e,!0)}get active(){return this._active}get count(){return this.items.length}metrics(){let e=[...this.mounted.keys()].sort((e,t)=>e-t),t=e[0],n=e[e.length-1];return{virtualItemCount:this.items.length,mountedRowCount:this.mounted.size,firstVisibleIdx:t??null,lastVisibleIdx:n??null,firstVisibleId:t===void 0?null:this.items[t]?.id??null,lastVisibleId:n===void 0?null:this.items[n]?.id??null}}measureGap(){if(this.itemGap>0)return this.itemGap;let e=document.createElement(`div`);return e.className=`msg`,e.style.position=`absolute`,e.style.visibility=`hidden`,e.textContent=` `,this.innerEl.appendChild(e),this.itemGap=parseFloat(getComputedStyle(e).marginBottom)||0,e.remove(),this.itemGap}invalidateLayout(){if(!this.virtualizer)return;this.itemGap=0;let e=this.measureGap();this.virtualizer.setOptions({...this.virtualizer.options,gap:e}),this.virtualizer.measure(),qe(this.items,this.mounted,this.virtualizer),this.renderItems()}setItems(e,t){this.items=e,t?.autoActivate!==!1&&!this._active&&this.items.length>=1&&this.activate(t?.toBottom??!0)}seedMeasuredHeights(e,t){for(let n=0;n<t.length;n++){let r=e+n;this.items[r]&&(this.items[r].height=t[n])}}activateIfNeeded(e=!1){!this._active&&this.items.length>=1&&this.activate(e)}addItem(e,t){this.appendItem({id:e,html:t,height:Ue})}appendItem(e){if(this.items.push(e),!this._active&&this.items.length>=1){this.activate(!0);return}this._active&&this.virtualizer&&this.virtualizer.setOptions({...this.virtualizer.options,count:this.items.length})}appendLiveItem(e){if(!this._active)return;a(e);let t=e.outerHTML,n=f(),r=e.dataset.messageId;this.items.push({id:n,...r?{messageId:r}:{},html:t,height:Ue}),this.virtualizer&&(this.virtualizer.setOptions({...this.virtualizer.options,count:this.items.length}),this.renderItems())}reconcileMessage(e,t){let n=this.items.findIndex(t=>t.messageId===e);if(n<0||this.items.some((t,r)=>r!==n&&t.messageId===e))return!1;let r=this.items[n],i=this.mounted.get(n),a=this.container.ownerDocument.createElement(`div`);i||(a.innerHTML=r.html);let o=i??a.firstElementChild;return!o||o.dataset.messageId!==e?!1:(t(o),r.html=o.outerHTML,i&&this.virtualizer&&(A(this.items,n,i),this.virtualizer.measureElement(i)),!0)}updateItemHtml(e,t){this.items[e]&&(this.items[e].html=t)}scrollToBottom(){this._active&&this.virtualizer&&this.items.length>0&&this.virtualizer.scrollToIndex(this.items.length-1,{align:`end`}),this.container.scrollTop=this.container.scrollHeight}firstVisibleIndex(){if(!this._active||!this.virtualizer)return null;let e=this.virtualizer.getVirtualItems();if(e.length===0)return null;let t=this.container.scrollTop;for(let n of e)if(n.end>t)return n.index;return e[0].index}scrollToIndex(e,t=`start`){this._active&&this.virtualizer&&e>=0&&e<this.items.length&&this.virtualizer.scrollToIndex(e,{align:t})}isNearBottom(e=Ge){return this.container.scrollHeight-this.container.scrollTop-this.container.clientHeight<e}setRestoreFollowPredicate(e){this.shouldFollowAfterRestore=e??(()=>!0)}reconcileBottomAfterLayout(e,t=this.isNearBottom()){t&&requestAnimationFrame(()=>{this.invalidateLayout(),requestAnimationFrame(()=>{this.scrollToBottom()})})}reconcileAfterRestore(e,t=this.shouldFollowAfterRestore){if(!t()){this.invalidateLayout();return}this.scheduleRestoreReconcile(e,t)}forceBottomAfterRestore(e){this.scheduleRestoreReconcile(e)}cancelRestoreReconcile(e){this.clearRestoreTimers()}preserveScrollDuringMutation(e,t){let n=this.isNearBottom(),r=this.captureScrollAnchor(e),i=t();return this.invalidateLayout(),n?(this.reconcileBottomAfterLayout(`manual`,!0),i):(this.restoreScrollAnchor(r),i)}scheduleRestoreReconcile(e,t){this.runRestoreReconcilePass(e,t),requestAnimationFrame(()=>this.runRestoreReconcilePass(e,t)),requestAnimationFrame(()=>{requestAnimationFrame(()=>this.runRestoreReconcilePass(e,t))}),this.scheduleRestoreTimer(e,250,t),this.scheduleRestoreTimer(e,1e3,t),document.fonts?.ready.then(()=>this.runRestoreReconcilePass(e,t))}scheduleRestoreTimer(e,t,n){let r=window.setTimeout(()=>{this.restorePassTimers.delete(r),this.runRestoreReconcilePass(e,n)},t);this.restorePassTimers.add(r)}runRestoreReconcilePass(e,t){if(this.virtualizer){if(t&&!t()){this.cancelRestoreReconcile(e),this.invalidateLayout();return}this.invalidateLayout(),qe(this.items,this.mounted,this.virtualizer),this.scrollToBottom()}}captureScrollAnchor(e){let t=e instanceof HTMLElement?e:null,n=t&&this.isVisibleInContainer(t)?t:this.firstVisibleMountedItem();return n?{el:n,top:n.getBoundingClientRect().top}:null}restoreScrollAnchor(e){if(!e||!e.el.isConnected)return;let t=e.el.getBoundingClientRect().top-e.top;Number.isFinite(t)&&t!==0&&(this.container.scrollTop+=t)}firstVisibleMountedItem(){let e=Array.from(this.mounted.entries()).sort(([e],[t])=>e-t);for(let[,t]of e)if(this.isVisibleInContainer(t))return t;return null}isVisibleInContainer(e){let t=e.getBoundingClientRect(),n=this.container.getBoundingClientRect();return t.bottom>n.top&&t.top<n.bottom}clearRestoreTimers(){for(let e of this.restorePassTimers)window.clearTimeout(e);this.restorePassTimers.clear()}flushToDOM(){this._active&&(this.deactivate(),this.container.innerHTML=this.items.map(e=>e.html).join(``),this.postRender(this.container),this.items=[])}clear(){this.deactivate(),this.items=[],this.itemGap=0,this.onLazyRender=null,this.onPostRender=null,this.onRecycle=null,this.lifecycleHooks.clear()}activate(e=!1){this._active=!0,this.container.querySelectorAll(`.msg`).forEach((e,t)=>{if(!this.items[t])return;let n=e.getBoundingClientRect().height;n>0&&(this.items[t].height=n)}),this.container.classList.add(`vs-active`),this.container.replaceChildren(this.innerEl),this.measureGap(),this.virtualizer=new te({count:this.items.length,getScrollElement:()=>this.container,estimateSize:e=>this.items[e]?.height??Ue,overscan:We,gap:this.itemGap,useAnimationFrameWithResizeObserver:!0,onChange:()=>this.renderItems(),observeElementRect:l,observeElementOffset:u,scrollToFn:ee,getItemKey:e=>this.items[e]?.id??e,indexAttribute:`data-vs-idx`});let t=[],n=this.virtualizer._didMount();n&&t.push(n);let r=0,i=()=>{cancelAnimationFrame(r),r=requestAnimationFrame(()=>{this.invalidateLayout()})},a=()=>i();if(window.addEventListener(`resize`,a),t.push(()=>{window.removeEventListener(`resize`,a),cancelAnimationFrame(r)}),typeof ResizeObserver<`u`){let e=this.container.clientWidth,n=this.container.clientHeight,r=new ResizeObserver(t=>{let r=t[0]?.contentRect;if(!r)return;let a=Math.round(r.width),o=Math.round(r.height);(a!==e||o!==n)&&(e=a,n=o,i())});r.observe(this.container),t.push(()=>r.disconnect());let a=this.virtualizer?.getTotalSize()??0,o=new ResizeObserver(()=>{let e=this.virtualizer?.getTotalSize()??0;if(e<=a){a=e;return}a=e,this.shouldFollowAfterRestore()&&this.reconcileBottomAfterLayout(`manual`,!0)});o.observe(this.innerEl),t.push(()=>o.disconnect())}let o=e=>{this.virtualizer&&this.reconcileAfterRestore(e,this.shouldFollowAfterRestore)},s=e=>{e.persisted&&o(`pageshow`)};window.addEventListener(`pageshow`,s);let c=()=>{document.visibilityState===`visible`&&o(`visibility`)};document.addEventListener(`visibilitychange`,c);let d=()=>o(`focus`);window.addEventListener(`focus`,d);let f=()=>o(`resume`);document.addEventListener(`resume`,f);let ne=()=>{};window.addEventListener(`pagehide`,ne);let re=()=>{};document.addEventListener(`freeze`,re),this.cleanupFn=()=>{window.removeEventListener(`pageshow`,s),document.removeEventListener(`visibilitychange`,c),window.removeEventListener(`focus`,d),document.removeEventListener(`resume`,f),window.removeEventListener(`pagehide`,ne),document.removeEventListener(`freeze`,re);for(let e of t.reverse())e();this.clearRestoreTimers()},this.virtualizer._willUpdate(),e&&this.items.length>0?(this.container.style.opacity=`0`,this.renderItems(),this.virtualizer.scrollToIndex(this.items.length-1,{align:`end`}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.container.style.opacity=``})})):this.renderItems(),`wasDiscarded`in document&&document.wasDiscarded&&o(`discard`)}deactivate(){this.clearRestoreTimers(),this.cleanupFn&&=(this.cleanupFn(),null),this.virtualizer=null,this._active=!1;for(let e of this.mounted.values())this.recycle(e),a(e),Be(e);this.mounted.clear(),this.innerEl.replaceChildren(),this.container.classList.remove(`vs-active`),this.container.innerHTML=``}renderItems(){if(!this.virtualizer)return;this.virtualizer._willUpdate();let e=this.virtualizer.getVirtualItems(),t=this.virtualizer.getTotalSize();this.innerEl.style.height=`${t}px`;let n=new Set(e.map(e=>e.index));for(let[e,t]of this.mounted)n.has(e)||(this.recycle(t),a(t),this.items[e]?.rehydratesProcessDetails&&Be(t),t.remove(),this.mounted.delete(e));let r=[];for(let t of e){let e=this.mounted.get(t.index);if(!e){let n=this.items[t.index];if(!n)continue;let i=document.createElement(`div`);if(i.innerHTML=n.html,e=i.firstElementChild,!e)continue;e.dataset.vsIdx=String(t.index),this.innerEl.appendChild(e),this.mounted.set(t.index,e),r.push(e)}e.style.transform=`translateY(${t.start}px)`}let i=this.innerEl.contains(document.activeElement)?document.activeElement:null,o=this.innerEl.firstElementChild;for(let t of e){let e=this.mounted.get(t.index);e&&(e!==o&&this.innerEl.insertBefore(e,o),o=e.nextElementSibling)}if(i?.isConnected&&document.activeElement!==i&&i.focus({preventScroll:!0}),this.onLazyRender){let e=this.innerEl.querySelectorAll(`.lazy-pending`);e.length>0&&this.onLazyRender(Array.from(e))}this.postRender(this.innerEl);for(let e of r){let t=Number(e.dataset.vsIdx||`-1`);A(this.items,t,e),this.virtualizer.measureElement(e)}}},Ye=null;function j(){return Ye||=new Je(`chatMessages`),Ye}var Xe=[`cdnjs.cloudflare.com`,`cdn.jsdelivr.net`,`unpkg.com`,`esm.sh`,`fonts.googleapis.com`,`fonts.gstatic.com`],Ze=[/\beval\s*\(/,/\bnew\s+Function\s*\(/,/\bdocument\.cookie\b/,/\bwindow\.opener\b/,/\bwindow\.top\b/,/\bparent\.postMessage\b(?!.*jaw-)/,/\blocation\.href\s*=/,/\bwindow\.location\b/,/\bsetTimeout\s*\(\s*["'`]/,/\bsetInterval\s*\(\s*["'`]/,/\.constructor\s*\.\s*constructor/,/\bdocument\.write\s*\(/,/\binsertAdjacentHTML\s*\(/],Qe=[],$e=524288;function et(e){return new TextEncoder().encode(e).length}function tt(e){return e===$e?`512KB`:e%1048576==0?`${e/1048576}MB`:e%1024==0?`${e/1024}KB`:`${e} bytes`}function nt(e,t={}){let n=[],r=t.maxBytes??$e;if(et(e)>r)return{valid:!1,reason:`Payload too large (>${tt(r)})`,warnings:n};let i=/(?:src|href)\s*=\s*["']https?:\/\/([^/"']+)/gi,a;for(;(a=i.exec(e))!==null;){let e=a[1];if(!Xe.some(t=>e===t||e.endsWith(`.`+t)))return{valid:!1,reason:`Blocked domain: ${e}`,warnings:n}}let o=/url\s*\(\s*['"]?https?:\/\/([^)'"]+)/gi;for(;(a=o.exec(e))!==null;){let e=a[1].split(`/`)[0];Xe.some(t=>e===t||e.endsWith(`.`+t))||n.push(`CSS url() references external domain: ${e}`)}for(let t of Ze)if(t.test(e))return{valid:!1,reason:`Dangerous pattern: ${t.source}`,warnings:n};let s=/\bimport\s*\(\s*['"`](.*?)['"`]\s*\)/g,c;for(;(c=s.exec(e))!==null;)try{let e=new URL(c[1]).hostname;if(!Xe.some(t=>e===t||e.endsWith(`.`+t)))return{valid:!1,reason:`Blocked import() domain: ${e}`,warnings:n}}catch{return{valid:!1,reason:`Dynamic import() with non-URL argument`,warnings:n}}if(/\bimport\s*\(\s*(?!['"`])/g.test(e))return{valid:!1,reason:`Dynamic import() with non-literal argument`,warnings:n};for(let t of Qe)t.test(e)&&n.push(`DOM sink detected: ${t.source}`);return{valid:!0,warnings:n}}var rt=null,M=!0,N=`unknown`,it=!1,at=80,ot=1100,P=null,F=new Set,I=new Set;function L(){return N!==`pinnedAway`}function R(){M=!0,N=`following`,bt()}function st(e){M=e<at,N=M?`following`:`pinnedAway`,N===`pinnedAway`&&z(),bt()}function z(){for(let e of F)window.clearTimeout(e);F.clear();for(let e of I)cancelAnimationFrame(e);I.clear()}function B(e){let t=requestAnimationFrame(()=>{I.delete(t),e()});I.add(t)}function ct(e){F.add(e)}function V(e,t){let n=window.setTimeout(()=>{F.delete(n),e()},t);ct(n)}function H(){if(j().setRestoreFollowPredicate(L),window.__jawProcessBlockLayoutMutation=(e,t)=>{let n=j();if(n.active){n.preserveScrollDuringMutation(e,t);return}t()},it)return;let e=document.getElementById(`chatMessages`);e&&(it=!0,e.addEventListener(`scroll`,()=>{st(e.scrollHeight-e.scrollTop-e.clientHeight)},{passive:!0}),yt())}function lt(){H();let e=document.getElementById(`chatMessages`);if(!e)return M;let t=j();return t.active?t.isNearBottom(at):e.scrollHeight-e.scrollTop-e.clientHeight<at}function ut(e=lt()){if(H(),!e)return;R();let t=j();if(t.active){t.reconcileBottomAfterLayout(`reconnect`,!0);return}requestAnimationFrame(()=>{requestAnimationFrame(()=>{let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight)})})}function dt(e){P!==null&&(window.clearTimeout(P),P=null);let t=document.querySelector(`.chat-area`);if(!t)return;let n=t.querySelector(`[data-restore-indicator="true"]`);n||(n=document.createElement(`div`),n.className=`chat-restore-indicator`,n.setAttribute(`data-restore-indicator`,`true`),n.setAttribute(`role`,`status`),n.setAttribute(`aria-live`,`polite`),n.innerHTML=`<span class="chat-restore-dot"></span><span class="chat-restore-text">Restoring</span>`,t.appendChild(n)),n.dataset.restoreReason=e}function ft(){P!==null&&(window.clearTimeout(P),P=null),document.querySelectorAll(`[data-restore-indicator="true"]`).forEach(e=>e.remove())}function pt(e=ot){P!==null&&window.clearTimeout(P),P=window.setTimeout(()=>{P=null,ft()},e)}function mt(e){dt(e),pt(),H();let t=j();if(t.active){t.reconcileAfterRestore(e,L);return}if(!L())return;let n=()=>{if(!L()){z();return}let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight,R())},r=()=>{if(!L()){z();return}B(n)};r(),B(r),B(()=>B(r)),V(r,250),V(r,1e3),document.fonts?.ready.then(r)}function ht(){H(),R();let e=j();if(e.active){e.reconcileAfterRestore(`manual`,L);return}let t=()=>{if(!L()){z();return}let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight,R())},n=()=>{if(!L()){z();return}B(t)};n(),B(n),B(()=>B(n)),V(n,250),V(n,1e3),document.fonts?.ready.then(n)}function gt(e=!1){H(),(e||M)&&(e&&R(),!rt&&(rt=requestAnimationFrame(()=>{rt=null;let e=j();if(e.active){e.scrollToBottom();return}let t=document.getElementById(`chatMessages`);t&&(t.scrollTop=t.scrollHeight)})))}var U=null,_t=!1;function vt(){let e=document.createElement(`button`);return e.className=`scroll-to-bottom-fab`,e.setAttribute(`aria-label`,`Scroll to bottom`),e.innerHTML=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 3v10M4 9l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>`,e.addEventListener(`click`,()=>gt(!0)),e}function yt(){let e=document.querySelector(`.chat-area`);e&&!U&&(U=vt(),e.appendChild(U))}function bt(){if(!U)return;let e=N===`pinnedAway`;e!==_t&&(_t=e,U.classList.toggle(`visible`,e))}function xt(){let e=document.createElement(`button`);return e.className=`diagram-copy-btn`,e.type=`button`,e.ariaLabel=`Copy source`,e.title=`Copy`,e.innerHTML=s.copy,e}function St(){let e=document.createElement(`button`);return e.className=`diagram-save-btn`,e.type=`button`,e.ariaLabel=`Save as image`,e.title=`Save`,e.innerHTML=s.download,e}function Ct(){let e=document.createElement(`button`);return e.className=`diagram-zoom-btn`,e.type=`button`,e.ariaLabel=`Expand diagram`,e.title=`Expand`,e.textContent=`⤢`,e}function wt(){let e=document.createElement(`button`);return e.className=`diagram-size-toggle-btn`,e.type=`button`,e.ariaLabel=`Expand diagram`,e.title=`Expand`,e.textContent=`⤢`,e}var Tt=[`cdnjs.cloudflare.com`,`cdn.jsdelivr.net`,`unpkg.com`,`esm.sh`,`fonts.googleapis.com`,`fonts.gstatic.com`],W=new Set,G=new Map,Et=new WeakMap,K=524288,q=2097152,Dt=3e4,J=null;window.addEventListener(`session_switched`,()=>{J=null});async function Y(n,r={}){let i=await e(),a=new Headers(r.headers||{});return i&&a.set(`Authorization`,`Bearer ${i}`),fetch(`${t}${n}`,{...r,headers:a})}async function Ot(e=!1){let t=Date.now();if(!e&&J&&J.expiresAt>t)return J.id;try{let e=await Y(`/api/chat-sessions`);if(!e.ok)return null;let n=await e.json(),r=n.data?.active??n.active;return typeof r!=`string`||!r?null:(J={id:r,expiresAt:t+Dt},r)}catch(e){return console.warn(`[jaw-diagram] Failed to resolve active chat session:`,e.message),null}}function kt(e){let t=Et.get(e);t&&(t(),Et.delete(e))}function At(e){e.contentWindow&&(W.delete(e.contentWindow),G.delete(e.contentWindow))}function jt(e){kt(e.owner);let t=!1,n=!1,r=Number(e.owner.dataset.gen||`0`);e.owner.dataset.gen=String(r);let i=()=>{e.iframe.contentWindow?.postMessage({type:`jaw-request-resize`},`*`),setTimeout(()=>e.iframe.contentWindow?.postMessage({type:`jaw-request-resize`},`*`),300),setTimeout(()=>e.iframe.contentWindow?.postMessage({type:`jaw-request-resize`},`*`),1e3)},a=()=>{if(!t){t=!0,e.iframe.contentWindow&&(W.add(e.iframe.contentWindow),G.set(e.iframe.contentWindow,e.nonce),i());return}At(e.iframe),console.warn(`[jaw-diagram] iframe navigated — postMessage channel revoked`)},o=t=>{t.source===e.iframe.contentWindow&&t.data?.type===`jaw-widget-ready`&&t.data.nonce===e.nonce&&(n=!0,window.removeEventListener(`message`,o))},s=window.setTimeout(()=>{window.removeEventListener(`message`,o),Number(e.owner.dataset.gen||`0`)===r&&!n&&e.owner.isConnected&&(At(e.iframe),e.onTimeout?.())},1e4);e.iframe.addEventListener(`load`,a),window.addEventListener(`message`,o),Et.set(e.owner,()=>{window.clearTimeout(s),window.removeEventListener(`message`,o),e.iframe.removeEventListener(`load`,a),At(e.iframe)})}var Mt=null;function Nt(){if(Mt)return;let e=document.getElementById(`chatMessages`);e&&(Mt=new MutationObserver(e=>{if(W.size)for(let t of e)for(let e of t.removedNodes)e instanceof HTMLIFrameElement&&e.contentWindow&&(W.delete(e.contentWindow),G.delete(e.contentWindow)),e instanceof HTMLElement&&e.querySelectorAll(`iframe`).forEach(e=>{e.contentWindow&&(W.delete(e.contentWindow),G.delete(e.contentWindow))})}),Mt.observe(e,{childList:!0,subtree:!0}))}function Pt(e){if(e.includes(`"importmap"`)||e.includes(`'importmap'`))return``;let t={},n=e.match(/(?:cdn\.jsdelivr\.net\/npm|unpkg\.com)\/three@([\d.]+)/);if(n){let r=n[1],i=e.includes(`unpkg.com/three@`)?`unpkg.com`:`cdn.jsdelivr.net/npm`;t.three=`https://${i}/three@${r}/${i===`unpkg.com`?`build/three.module.js`:`build/three.module.min.js`}`,t[`three/addons/`]=`https://${i}/three@${r}/examples/jsm/`}return Object.keys(t).length===0?``:`<script type="importmap">${JSON.stringify({imports:t})}<\/script>`}function Ft(e){let t=`'none'`;(e.includes(`cdn.jsdelivr.net/npm/us-atlas`)||e.includes(`cdn.jsdelivr.net/npm/world-atlas`)||e.includes(`cdn.jsdelivr.net/npm/datamaps`))&&(t=`https://cdn.jsdelivr.net`);let n=/Tone(\.min)?\.js|tone@/.test(e)?`worker-src blob:;`:``,r=Tt.map(e=>`https://${e}`),i=r.join(` `),a=[`data:`,`blob:`,...r],o=[`'unsafe-inline'`,`https://fonts.googleapis.com`];/L\.(map|tileLayer|marker|geoJSON|polyline|polygon|circle)\(|leaflet[\w.@/-]*\.(js|css)|tile\.openstreetmap\.org/.test(e)&&(a.push(`https://a.tile.openstreetmap.org`,`https://b.tile.openstreetmap.org`,`https://c.tile.openstreetmap.org`),o.push(`https://cdnjs.cloudflare.com`,`https://cdn.jsdelivr.net`));let s=a.join(` `);return`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline' ${i}; style-src ${o.join(` `)}; img-src ${s}; font-src https://fonts.gstatic.com; connect-src ${t}; ${n} base-uri 'none';">`}function It(){let e=!document.documentElement.hasAttribute(`data-theme`)||document.documentElement.getAttribute(`data-theme`)===`dark`,t=getComputedStyle(document.documentElement);return{isDark:e,tokens:{"--bg":t.getPropertyValue(`--bg`).trim(),"--surface":t.getPropertyValue(`--surface`).trim(),"--border":t.getPropertyValue(`--border`).trim(),"--text":t.getPropertyValue(`--text`).trim(),"--text-dim":t.getPropertyValue(`--text-dim`).trim(),"--accent":t.getPropertyValue(`--accent`).trim(),"--font-ui":t.getPropertyValue(`--font-ui`).trim(),"--font-mono":t.getPropertyValue(`--font-mono`).trim(),"--radius-sm":t.getPropertyValue(`--radius-sm`).trim(),"--radius-md":t.getPropertyValue(`--radius-md`).trim()}}}function Lt(e){return`
40
+ </div>`}function ke(e){let t=e.closest(`.process-step`),n=t?.querySelector(`.process-step-details`),r=n?.querySelector(`.process-step-full`),i=e.querySelector(`.process-step-chevron`);if(!t||!n)return;let a=n.classList.contains(`collapsed`);a&&r?.dataset.detailLazy===`true`?(r.textContent=C(t.dataset.stepId||``)||b.get(t.dataset.stepId||``)?.preview||(r.dataset.hadDetail===`true`?`(detail released to save memory — scroll this message back into view to reload)`:``),delete r.dataset.detailLazy):!a&&r&&r.textContent&&r.textContent.length>oe&&(r.textContent=``,r.dataset.detailLazy=`true`),n.classList.toggle(`collapsed`,!a),t.classList.toggle(`expanded`,a),e.setAttribute(`aria-expanded`,a?`true`:`false`),i&&(i.innerHTML=a?s.chevronDown:s.chevronRight)}function Ae(e,t){let n=window.__jawProcessBlockLayoutMutation;if(typeof n==`function`){n(e,t);return}t()}function O(e){return e.getAttribute(`aria-disabled`)!==`true`&&!e.matches(`:disabled`)}function je(e){e.dataset.processBlockBound!==`1`&&(e.addEventListener(`click`,e=>{let t=e.target;if(!t)return;let i=t.closest(`.process-step-trace`);if(i){if(e.preventDefault(),e.stopPropagation(),!O(i))return;let t=i.dataset.traceRunId||``,a=Number(i.dataset.traceSeq||0),s=++ue,c=o(`/api/orchestrate/snapshot`);de?.abort();let l=new AbortController;de=l;let u=n(c,{},l.signal,16777216);Promise.all([r(()=>import(`./trace-drawer-DBmK-5F_.js`),__vite__mapDeps([0])),u]).then(([e,n])=>{if(s!==ue||!i.isConnected||!O(i)||c!==o(`/api/orchestrate/snapshot`))return;let r=d(n&&typeof n==`object`&&!Array.isArray(n)?n.activityIdentity:null);return e.openTraceDrawer(t,a,r?.sessionId??null)}).catch(e=>console.warn(`[trace-drawer] open failed:`,e));return}let a=t.closest(`[data-expand-steps]`);if(a){e.preventDefault();let t=a.closest(`.process-block`);if(!t)return;let n=_.get(t);if(!n){let e=He(t);if(e.length===0)return;n={element:t,steps:e,collapsed:t.classList.contains(`collapsed`)},_.set(t,n)}let r=n;Ae(t,()=>{r.expandedSteps=!0;let e=r.element.querySelector(`.process-steps-inner`);e&&(e.innerHTML=D(r.steps,!0))});return}let c=t.closest(`.process-step-toggle`);if(c){Ae(c.closest(`.process-step, .process-block`),()=>{ke(c)});return}let l=t.closest(`.process-summary`);if(l){let e=l.closest(`.process-block`);if(!e)return;Ae(e,()=>{let t=e.classList.contains(`collapsed`);e.classList.toggle(`collapsed`,!t),l.setAttribute(`aria-expanded`,t?`true`:`false`);let n=l.querySelector(`.process-chevron`);n&&(n.innerHTML=t?s.chevronDown:s.chevronRight);let r=_.get(e);r&&(r.collapsed=!t,k(r))})}}),e.addEventListener(`keydown`,e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target?.closest(`.process-step-trace`);t&&(t.tagName!==`BUTTON`||!O(t)||e.repeat)&&(e.preventDefault(),e.stopPropagation(),!e.repeat&&O(t)&&t.click())}),e.dataset.processBlockBound=`1`)}function Me(e,t=!0){let n=e.map(w),r=Oe(ye(n),t),i=document.createElement(`div`);i.innerHTML=r;let a=i.querySelector(`.process-block`);a&&(a.dataset.processStepIds=n.map(e=>e.id).join(` `));let o=i.querySelector(`.process-steps-inner`);o&&(o.innerHTML=D(n));let s=i.querySelector(`.process-dot`);if(s){let e=n.some(e=>e.status===`running`);s.classList.toggle(`running`,e&&!t),s.classList.toggle(`done`,!e||t)}return i.innerHTML}function k(e){let t=e.element.querySelector(`.process-summary-text`);t&&(t.innerHTML=ye(e.steps));let n=e.steps.some(e=>e.status===`running`),r=e.element.querySelector(`.process-dot`);r&&(r.classList.toggle(`running`,n&&!e.collapsed),r.classList.toggle(`done`,!n||e.collapsed));let i=ge(e),a=i===null?0:Math.round((Date.now()-i)/1e3),o=e._durationEl??=e.element.querySelector(`.process-duration`);o&&(o.textContent=a>0?`${a}s`:``),n&&!e.collapsed?ve(e):g===e&&x()}function Ne(e){_.set(e.element,e)}function Pe(e){let t=document.createElement(`div`);t.innerHTML=Oe(``,!0);let n=t.firstElementChild,r=e.querySelector(`.msg-content`);r?r.before(n):e.appendChild(n);let i={element:n,steps:[],collapsed:!0};return _.set(n,i),i}function Fe(e,t){e.setAttribute(`data-omitted-count`,String(t));let n=e.querySelector(`.process-step-snippet`);n&&(n.textContent=`Show ${t} hidden tool step${t===1?``:`s`}`)}function Ie(e,t){let n=e.steps.length-1-le;if(n<ce)return;let r=e.steps[n];if(!r||r.status===`running`||r.status===`error`)return;let i=t.querySelector(`[data-step-id="${r.id}"]`);if(!i)return;let a=i.previousElementSibling;if(a&&a.hasAttribute(`data-expand-steps`))Fe(a,Number(a.getAttribute(`data-omitted-count`)||`0`)+1),i.remove();else{let e=document.createElement(`div`);e.innerHTML=E(1);let t=e.firstElementChild;t&&i.replaceWith(t)}}function Le(e,t){let n=w(t);e.steps.push(n);let r=e.element.querySelector(`.process-steps-inner`);r&&(e.steps.length===81&&!e.expandedSteps?r.innerHTML=D(e.steps,e.expandedSteps):e.steps.length>se&&!e.expandedSteps?(r.insertAdjacentHTML(`beforeend`,T(n)),Ie(e,r)):r.insertAdjacentHTML(`beforeend`,T(n))),Te(e),k(e)}function Re(e,t,n){let r=e.steps.findIndex(e=>e.id===t);if(r===-1)return;t!==n.id&&(y.delete(t),b.delete(t));let i=w(n);e.steps[r]=i;let a=e.element.querySelector(`[data-step-id="${t}"]`);if(a){let e=document.createElement(`div`);e.innerHTML=T(i);let t=e.firstElementChild;t&&a.replaceWith(t)}else if(e.steps.length>se){let t=e.element.querySelector(`.process-steps-inner`);t&&(t.innerHTML=D(e.steps,e.expandedSteps))}Te(e),k(e)}function ze(e){g===e&&x(),e.collapsed=!0,e.element.classList.add(`collapsed`);let t=e.element.querySelector(`.process-summary`);t&&t.setAttribute(`aria-expanded`,`false`);let n=e.element.querySelector(`.process-chevron`);n&&(n.innerHTML=s.chevronRight);for(let t of e.steps)t.status===`running`&&(t.status=`done`,we(t));e.element.querySelectorAll(`.process-step-dot.running`).forEach(e=>{e.classList.remove(`running`),e.classList.add(`done`);let t=e.closest(`.process-step`);t&&(t.dataset.status=`done`)}),k(e)}function Be(e){if(!e)return;fe++;let t=new Set;if(`steps`in e)e.steps.forEach(e=>t.add(e.id));else{if(e.classList.contains(`process-block`)&&(e.dataset.processStepIds||``).split(/\s+/).filter(Boolean).forEach(e=>t.add(e)),e.querySelectorAll(`.process-block[data-process-step-ids]`).forEach(e=>{(e.dataset.processStepIds||``).split(/\s+/).filter(Boolean).forEach(e=>t.add(e))}),e.classList.contains(`process-step`)){let n=e.dataset.stepId;n&&t.add(n)}e.querySelectorAll(`.process-step[data-step-id]`).forEach(e=>{let n=e.dataset.stepId;n&&t.add(n)})}t.forEach(e=>{y.delete(e),b.delete(e)}),pe+=t.size}function Ve(e){return b.get(e)||null}function He(e){me++;let t=(e.dataset.processStepIds||``).split(/\s+/).filter(Boolean),n=[];for(let e of t){let t=b.get(e);t&&n.push({id:t.id,type:t.type,icon:t.icon,rawIcon:t.rawIcon,label:t.label,isEmployee:t.isEmployee,detail:C(e)||t.preview||``,detailPreview:t.preview,detailLength:t.detailLength,detailTruncated:t.detailTruncated,stepRef:t.stepRef,traceRunId:t.traceRunId,traceSeq:t.traceSeq,detailAvailable:t.detailAvailable,detailBytes:t.detailBytes,rawRetentionStatus:t.rawRetentionStatus,status:t.status,startTime:t.startTime})}return he+=n.length,n}var Ue=80,We=5,Ge=80;function Ke(e){let t=Math.ceil(e.getBoundingClientRect().height);return Number.isFinite(t)&&t>0?t:0}function A(e,t,n){if(!e[t])return;let r=Ke(n);r>0&&(e[t].height=r)}function qe(e,t,n){if(n)for(let[r,i]of t)A(e,r,i),n.measureElement(i)}var Je=class{items=[];container;innerEl;_active=!1;virtualizer=null;cleanupFn=null;mounted=new Map;itemGap=0;restorePassTimers=new Set;shouldFollowAfterRestore=()=>!0;onLazyRender=null;onPostRender=null;onRecycle=null;lifecycleHooks=new Set;addLifecycleHooks(e){this.lifecycleHooks.add(e)}postRender(e){this.onPostRender?.(e);for(let t of this.lifecycleHooks)t.postRender(e)}recycle(e){this.onRecycle?.(e);for(let t of this.lifecycleHooks)t.recycle(e)}constructor(e){this.container=document.getElementById(e),this.innerEl=document.createElement(`div`),this.innerEl.className=`vs-inner`,this.attachMediaLoadRemeasure()}attachMediaLoadRemeasure(){let e=e=>{let t=e.target;if(!(t instanceof HTMLImageElement)&&!(t instanceof HTMLVideoElement)||!this._active||!this.virtualizer)return;let n=t.closest(`[data-vs-idx]`);n&&n.isConnected&&(A(this.items,Number(n.dataset.vsIdx||`-1`),n),this.virtualizer.measureElement(n))};this.innerEl.addEventListener(`load`,e,!0),this.innerEl.addEventListener(`loadedmetadata`,e,!0)}get active(){return this._active}get count(){return this.items.length}metrics(){let e=[...this.mounted.keys()].sort((e,t)=>e-t),t=e[0],n=e[e.length-1];return{virtualItemCount:this.items.length,mountedRowCount:this.mounted.size,firstVisibleIdx:t??null,lastVisibleIdx:n??null,firstVisibleId:t===void 0?null:this.items[t]?.id??null,lastVisibleId:n===void 0?null:this.items[n]?.id??null}}measureGap(){if(this.itemGap>0)return this.itemGap;let e=document.createElement(`div`);return e.className=`msg`,e.style.position=`absolute`,e.style.visibility=`hidden`,e.textContent=` `,this.innerEl.appendChild(e),this.itemGap=parseFloat(getComputedStyle(e).marginBottom)||0,e.remove(),this.itemGap}invalidateLayout(){if(!this.virtualizer)return;this.itemGap=0;let e=this.measureGap();this.virtualizer.setOptions({...this.virtualizer.options,gap:e}),this.virtualizer.measure(),qe(this.items,this.mounted,this.virtualizer),this.renderItems()}setItems(e,t){this.items=e,t?.autoActivate!==!1&&!this._active&&this.items.length>=1&&this.activate(t?.toBottom??!0)}seedMeasuredHeights(e,t){for(let n=0;n<t.length;n++){let r=e+n;this.items[r]&&(this.items[r].height=t[n])}}activateIfNeeded(e=!1){!this._active&&this.items.length>=1&&this.activate(e)}addItem(e,t){this.appendItem({id:e,html:t,height:Ue})}appendItem(e){if(this.items.push(e),!this._active&&this.items.length>=1){this.activate(!0);return}this._active&&this.virtualizer&&this.virtualizer.setOptions({...this.virtualizer.options,count:this.items.length})}appendLiveItem(e){if(!this._active)return;a(e);let t=e.outerHTML,n=f(),r=e.dataset.messageId;this.items.push({id:n,...r?{messageId:r}:{},html:t,height:Ue}),this.virtualizer&&(this.virtualizer.setOptions({...this.virtualizer.options,count:this.items.length}),this.renderItems())}reconcileMessage(e,t){let n=this.items.findIndex(t=>t.messageId===e);if(n<0||this.items.some((t,r)=>r!==n&&t.messageId===e))return!1;let r=this.items[n],i=this.mounted.get(n),a=this.container.ownerDocument.createElement(`div`);i||(a.innerHTML=r.html);let o=i??a.firstElementChild;return!o||o.dataset.messageId!==e?!1:(t(o),r.html=o.outerHTML,i&&this.virtualizer&&(A(this.items,n,i),this.virtualizer.measureElement(i)),!0)}updateItemHtml(e,t){this.items[e]&&(this.items[e].html=t)}scrollToBottom(){this._active&&this.virtualizer&&this.items.length>0&&this.virtualizer.scrollToIndex(this.items.length-1,{align:`end`}),this.container.scrollTop=this.container.scrollHeight}firstVisibleIndex(){if(!this._active||!this.virtualizer)return null;let e=this.virtualizer.getVirtualItems();if(e.length===0)return null;let t=this.container.scrollTop;for(let n of e)if(n.end>t)return n.index;return e[0].index}scrollToIndex(e,t=`start`){this._active&&this.virtualizer&&e>=0&&e<this.items.length&&this.virtualizer.scrollToIndex(e,{align:t})}isNearBottom(e=Ge){return this.container.scrollHeight-this.container.scrollTop-this.container.clientHeight<e}setRestoreFollowPredicate(e){this.shouldFollowAfterRestore=e??(()=>!0)}reconcileBottomAfterLayout(e,t=this.isNearBottom()){t&&requestAnimationFrame(()=>{this.invalidateLayout(),requestAnimationFrame(()=>{this.scrollToBottom()})})}reconcileAfterRestore(e,t=this.shouldFollowAfterRestore){if(!t()){this.invalidateLayout();return}this.scheduleRestoreReconcile(e,t)}forceBottomAfterRestore(e){this.scheduleRestoreReconcile(e)}cancelRestoreReconcile(e){this.clearRestoreTimers()}preserveScrollDuringMutation(e,t){let n=this.isNearBottom(),r=this.captureScrollAnchor(e),i=t();return this.invalidateLayout(),n?(this.reconcileBottomAfterLayout(`manual`,!0),i):(this.restoreScrollAnchor(r),i)}scheduleRestoreReconcile(e,t){this.runRestoreReconcilePass(e,t),requestAnimationFrame(()=>this.runRestoreReconcilePass(e,t)),requestAnimationFrame(()=>{requestAnimationFrame(()=>this.runRestoreReconcilePass(e,t))}),this.scheduleRestoreTimer(e,250,t),this.scheduleRestoreTimer(e,1e3,t),document.fonts?.ready.then(()=>this.runRestoreReconcilePass(e,t))}scheduleRestoreTimer(e,t,n){let r=window.setTimeout(()=>{this.restorePassTimers.delete(r),this.runRestoreReconcilePass(e,n)},t);this.restorePassTimers.add(r)}runRestoreReconcilePass(e,t){if(this.virtualizer){if(t&&!t()){this.cancelRestoreReconcile(e),this.invalidateLayout();return}this.invalidateLayout(),qe(this.items,this.mounted,this.virtualizer),this.scrollToBottom()}}captureScrollAnchor(e){let t=e instanceof HTMLElement?e:null,n=t&&this.isVisibleInContainer(t)?t:this.firstVisibleMountedItem();return n?{el:n,top:n.getBoundingClientRect().top}:null}restoreScrollAnchor(e){if(!e||!e.el.isConnected)return;let t=e.el.getBoundingClientRect().top-e.top;Number.isFinite(t)&&t!==0&&(this.container.scrollTop+=t)}firstVisibleMountedItem(){let e=Array.from(this.mounted.entries()).sort(([e],[t])=>e-t);for(let[,t]of e)if(this.isVisibleInContainer(t))return t;return null}isVisibleInContainer(e){let t=e.getBoundingClientRect(),n=this.container.getBoundingClientRect();return t.bottom>n.top&&t.top<n.bottom}clearRestoreTimers(){for(let e of this.restorePassTimers)window.clearTimeout(e);this.restorePassTimers.clear()}flushToDOM(){this._active&&(this.deactivate(),this.container.innerHTML=this.items.map(e=>e.html).join(``),this.postRender(this.container),this.items=[])}clear(){this.deactivate(),this.items=[],this.itemGap=0,this.onLazyRender=null,this.onPostRender=null,this.onRecycle=null,this.lifecycleHooks.clear()}activate(e=!1){this._active=!0,this.container.querySelectorAll(`.msg`).forEach((e,t)=>{if(!this.items[t])return;let n=e.getBoundingClientRect().height;n>0&&(this.items[t].height=n)}),this.container.classList.add(`vs-active`),this.container.replaceChildren(this.innerEl),this.measureGap(),this.virtualizer=new te({count:this.items.length,getScrollElement:()=>this.container,estimateSize:e=>this.items[e]?.height??Ue,overscan:We,gap:this.itemGap,useAnimationFrameWithResizeObserver:!0,onChange:()=>this.renderItems(),observeElementRect:l,observeElementOffset:u,scrollToFn:ee,getItemKey:e=>this.items[e]?.id??e,indexAttribute:`data-vs-idx`});let t=[],n=this.virtualizer._didMount();n&&t.push(n);let r=0,i=()=>{cancelAnimationFrame(r),r=requestAnimationFrame(()=>{this.invalidateLayout()})},a=()=>i();if(window.addEventListener(`resize`,a),t.push(()=>{window.removeEventListener(`resize`,a),cancelAnimationFrame(r)}),typeof ResizeObserver<`u`){let e=this.container.clientWidth,n=this.container.clientHeight,r=new ResizeObserver(t=>{let r=t[0]?.contentRect;if(!r)return;let a=Math.round(r.width),o=Math.round(r.height);(a!==e||o!==n)&&(e=a,n=o,i())});r.observe(this.container),t.push(()=>r.disconnect());let a=this.virtualizer?.getTotalSize()??0,o=new ResizeObserver(()=>{let e=this.virtualizer?.getTotalSize()??0;if(e<=a){a=e;return}a=e,this.shouldFollowAfterRestore()&&this.reconcileBottomAfterLayout(`manual`,!0)});o.observe(this.innerEl),t.push(()=>o.disconnect())}let o=e=>{this.virtualizer&&this.reconcileAfterRestore(e,this.shouldFollowAfterRestore)},s=e=>{e.persisted&&o(`pageshow`)};window.addEventListener(`pageshow`,s);let c=()=>{document.visibilityState===`visible`&&o(`visibility`)};document.addEventListener(`visibilitychange`,c);let d=()=>o(`focus`);window.addEventListener(`focus`,d);let f=()=>o(`resume`);document.addEventListener(`resume`,f);let ne=()=>{};window.addEventListener(`pagehide`,ne);let re=()=>{};document.addEventListener(`freeze`,re),this.cleanupFn=()=>{window.removeEventListener(`pageshow`,s),document.removeEventListener(`visibilitychange`,c),window.removeEventListener(`focus`,d),document.removeEventListener(`resume`,f),window.removeEventListener(`pagehide`,ne),document.removeEventListener(`freeze`,re);for(let e of t.reverse())e();this.clearRestoreTimers()},this.virtualizer._willUpdate(),e&&this.items.length>0?(this.container.style.opacity=`0`,this.renderItems(),this.virtualizer.scrollToIndex(this.items.length-1,{align:`end`}),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.container.style.opacity=``})})):this.renderItems(),`wasDiscarded`in document&&document.wasDiscarded&&o(`discard`)}deactivate(){this.clearRestoreTimers(),this.cleanupFn&&=(this.cleanupFn(),null),this.virtualizer=null,this._active=!1;for(let e of this.mounted.values())this.recycle(e),a(e),Be(e);this.mounted.clear(),this.innerEl.replaceChildren(),this.container.classList.remove(`vs-active`),this.container.innerHTML=``}renderItems(){if(!this.virtualizer)return;this.virtualizer._willUpdate();let e=this.virtualizer.getVirtualItems(),t=this.virtualizer.getTotalSize();this.innerEl.style.height=`${t}px`;let n=new Set(e.map(e=>e.index));for(let[e,t]of this.mounted)n.has(e)||(this.recycle(t),a(t),this.items[e]?.rehydratesProcessDetails&&Be(t),t.remove(),this.mounted.delete(e));let r=[];for(let t of e){let e=this.mounted.get(t.index);if(!e){let n=this.items[t.index];if(!n)continue;let i=document.createElement(`div`);if(i.innerHTML=n.html,e=i.firstElementChild,!e)continue;e.dataset.vsIdx=String(t.index),this.innerEl.appendChild(e),this.mounted.set(t.index,e),r.push(e)}e.style.transform=`translateY(${t.start}px)`}let i=this.innerEl.contains(document.activeElement)?document.activeElement:null,o=this.innerEl.firstElementChild;for(let t of e){let e=this.mounted.get(t.index);e&&(e!==o&&this.innerEl.insertBefore(e,o),o=e.nextElementSibling)}if(i?.isConnected&&document.activeElement!==i&&i.focus({preventScroll:!0}),this.onLazyRender){let e=this.innerEl.querySelectorAll(`.lazy-pending`);e.length>0&&this.onLazyRender(Array.from(e))}this.postRender(this.innerEl);for(let e of r){let t=Number(e.dataset.vsIdx||`-1`);A(this.items,t,e),this.virtualizer.measureElement(e)}}},Ye=null;function j(){return Ye||=new Je(`chatMessages`),Ye}var Xe=[`cdnjs.cloudflare.com`,`cdn.jsdelivr.net`,`unpkg.com`,`esm.sh`,`fonts.googleapis.com`,`fonts.gstatic.com`],Ze=[/\beval\s*\(/,/\bnew\s+Function\s*\(/,/\bdocument\.cookie\b/,/\bwindow\.opener\b/,/\bwindow\.top\b/,/\bparent\.postMessage\b(?!.*jaw-)/,/\blocation\.href\s*=/,/\bwindow\.location\b/,/\bsetTimeout\s*\(\s*["'`]/,/\bsetInterval\s*\(\s*["'`]/,/\.constructor\s*\.\s*constructor/,/\bdocument\.write\s*\(/,/\binsertAdjacentHTML\s*\(/],Qe=[],$e=524288;function et(e){return new TextEncoder().encode(e).length}function tt(e){return e===$e?`512KB`:e%1048576==0?`${e/1048576}MB`:e%1024==0?`${e/1024}KB`:`${e} bytes`}function nt(e,t={}){let n=[],r=t.maxBytes??$e;if(et(e)>r)return{valid:!1,reason:`Payload too large (>${tt(r)})`,warnings:n};let i=/(?:src|href)\s*=\s*["']https?:\/\/([^/"']+)/gi,a;for(;(a=i.exec(e))!==null;){let e=a[1];if(!Xe.some(t=>e===t||e.endsWith(`.`+t)))return{valid:!1,reason:`Blocked domain: ${e}`,warnings:n}}let o=/url\s*\(\s*['"]?https?:\/\/([^)'"]+)/gi;for(;(a=o.exec(e))!==null;){let e=a[1].split(`/`)[0];Xe.some(t=>e===t||e.endsWith(`.`+t))||n.push(`CSS url() references external domain: ${e}`)}for(let t of Ze)if(t.test(e))return{valid:!1,reason:`Dangerous pattern: ${t.source}`,warnings:n};let s=/\bimport\s*\(\s*['"`](.*?)['"`]\s*\)/g,c;for(;(c=s.exec(e))!==null;)try{let e=new URL(c[1]).hostname;if(!Xe.some(t=>e===t||e.endsWith(`.`+t)))return{valid:!1,reason:`Blocked import() domain: ${e}`,warnings:n}}catch{return{valid:!1,reason:`Dynamic import() with non-URL argument`,warnings:n}}if(/\bimport\s*\(\s*(?!['"`])/g.test(e))return{valid:!1,reason:`Dynamic import() with non-literal argument`,warnings:n};for(let t of Qe)t.test(e)&&n.push(`DOM sink detected: ${t.source}`);return{valid:!0,warnings:n}}var rt=null,M=!0,N=`unknown`,it=!1,at=80,ot=1100,P=null,F=new Set,I=new Set;function L(){return N!==`pinnedAway`}function R(){M=!0,N=`following`,bt()}function st(e){M=e<at,N=M?`following`:`pinnedAway`,N===`pinnedAway`&&z(),bt()}function z(){for(let e of F)window.clearTimeout(e);F.clear();for(let e of I)cancelAnimationFrame(e);I.clear()}function B(e){let t=requestAnimationFrame(()=>{I.delete(t),e()});I.add(t)}function ct(e){F.add(e)}function V(e,t){let n=window.setTimeout(()=>{F.delete(n),e()},t);ct(n)}function H(){if(j().setRestoreFollowPredicate(L),window.__jawProcessBlockLayoutMutation=(e,t)=>{let n=j();if(n.active){n.preserveScrollDuringMutation(e,t);return}t()},it)return;let e=document.getElementById(`chatMessages`);e&&(it=!0,e.addEventListener(`scroll`,()=>{st(e.scrollHeight-e.scrollTop-e.clientHeight)},{passive:!0}),yt())}function lt(){H();let e=document.getElementById(`chatMessages`);if(!e)return M;let t=j();return t.active?t.isNearBottom(at):e.scrollHeight-e.scrollTop-e.clientHeight<at}function ut(e=lt()){if(H(),!e)return;R();let t=j();if(t.active){t.reconcileBottomAfterLayout(`reconnect`,!0);return}requestAnimationFrame(()=>{requestAnimationFrame(()=>{let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight)})})}function dt(e){P!==null&&(window.clearTimeout(P),P=null);let t=document.querySelector(`.chat-area`);if(!t)return;let n=t.querySelector(`[data-restore-indicator="true"]`);n||(n=document.createElement(`div`),n.className=`chat-restore-indicator`,n.setAttribute(`data-restore-indicator`,`true`),n.setAttribute(`role`,`status`),n.setAttribute(`aria-live`,`polite`),n.innerHTML=`<span class="chat-restore-dot"></span><span class="chat-restore-text">Restoring</span>`,t.appendChild(n)),n.dataset.restoreReason=e}function ft(){P!==null&&(window.clearTimeout(P),P=null),document.querySelectorAll(`[data-restore-indicator="true"]`).forEach(e=>e.remove())}function pt(e=ot){P!==null&&window.clearTimeout(P),P=window.setTimeout(()=>{P=null,ft()},e)}function mt(e){dt(e),pt(),H();let t=j();if(t.active){t.reconcileAfterRestore(e,L);return}if(!L())return;let n=()=>{if(!L()){z();return}let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight,R())},r=()=>{if(!L()){z();return}B(n)};r(),B(r),B(()=>B(r)),V(r,250),V(r,1e3),document.fonts?.ready.then(r)}function ht(){H(),R();let e=j();if(e.active){e.reconcileAfterRestore(`manual`,L);return}let t=()=>{if(!L()){z();return}let e=document.getElementById(`chatMessages`);e&&(e.scrollTop=e.scrollHeight,R())},n=()=>{if(!L()){z();return}B(t)};n(),B(n),B(()=>B(n)),V(n,250),V(n,1e3),document.fonts?.ready.then(n)}function gt(e=!1){H(),(e||M)&&(e&&R(),!rt&&(rt=requestAnimationFrame(()=>{rt=null;let e=j();if(e.active){e.scrollToBottom();return}let t=document.getElementById(`chatMessages`);t&&(t.scrollTop=t.scrollHeight)})))}var U=null,_t=!1;function vt(){let e=document.createElement(`button`);return e.className=`scroll-to-bottom-fab`,e.setAttribute(`aria-label`,`Scroll to bottom`),e.innerHTML=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 3v10M4 9l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>`,e.addEventListener(`click`,()=>gt(!0)),e}function yt(){let e=document.querySelector(`.chat-area`);e&&!U&&(U=vt(),e.appendChild(U))}function bt(){if(!U)return;let e=N===`pinnedAway`;e!==_t&&(_t=e,U.classList.toggle(`visible`,e))}function xt(){let e=document.createElement(`button`);return e.className=`diagram-copy-btn`,e.type=`button`,e.ariaLabel=`Copy source`,e.title=`Copy`,e.innerHTML=s.copy,e}function St(){let e=document.createElement(`button`);return e.className=`diagram-save-btn`,e.type=`button`,e.ariaLabel=`Save as image`,e.title=`Save`,e.innerHTML=s.download,e}function Ct(){let e=document.createElement(`button`);return e.className=`diagram-zoom-btn`,e.type=`button`,e.ariaLabel=`Expand diagram`,e.title=`Expand`,e.textContent=`⤢`,e}function wt(){let e=document.createElement(`button`);return e.className=`diagram-size-toggle-btn`,e.type=`button`,e.ariaLabel=`Expand diagram`,e.title=`Expand`,e.textContent=`⤢`,e}var Tt=[`cdnjs.cloudflare.com`,`cdn.jsdelivr.net`,`unpkg.com`,`esm.sh`,`fonts.googleapis.com`,`fonts.gstatic.com`],W=new Set,G=new Map,Et=new WeakMap,K=524288,q=2097152,Dt=3e4,J=null;window.addEventListener(`session_switched`,()=>{J=null});async function Y(n,r={}){let i=await e(),a=new Headers(r.headers||{});return i&&a.set(`Authorization`,`Bearer ${i}`),fetch(`${t}${n}`,{...r,headers:a})}async function Ot(e=!1){let t=Date.now();if(!e&&J&&J.expiresAt>t)return J.id;try{let e=await Y(`/api/chat-sessions`);if(!e.ok)return null;let n=await e.json(),r=n.data?.active??n.active;return typeof r!=`string`||!r?null:(J={id:r,expiresAt:t+Dt},r)}catch(e){return console.warn(`[jaw-diagram] Failed to resolve active chat session:`,e.message),null}}function kt(e){let t=Et.get(e);t&&(t(),Et.delete(e))}function At(e){e.contentWindow&&(W.delete(e.contentWindow),G.delete(e.contentWindow))}function jt(e){kt(e.owner);let t=!1,n=!1,r=Number(e.owner.dataset.gen||`0`);e.owner.dataset.gen=String(r);let i=()=>{e.iframe.contentWindow?.postMessage({type:`jaw-request-resize`},`*`),setTimeout(()=>e.iframe.contentWindow?.postMessage({type:`jaw-request-resize`},`*`),300),setTimeout(()=>e.iframe.contentWindow?.postMessage({type:`jaw-request-resize`},`*`),1e3)},a=()=>{if(!t){t=!0,e.iframe.contentWindow&&(W.add(e.iframe.contentWindow),G.set(e.iframe.contentWindow,e.nonce),i());return}At(e.iframe),console.warn(`[jaw-diagram] iframe navigated — postMessage channel revoked`)},o=t=>{t.source===e.iframe.contentWindow&&t.data?.type===`jaw-widget-ready`&&t.data.nonce===e.nonce&&(n=!0,window.removeEventListener(`message`,o))},s=window.setTimeout(()=>{window.removeEventListener(`message`,o),Number(e.owner.dataset.gen||`0`)===r&&!n&&e.owner.isConnected&&(At(e.iframe),e.onTimeout?.())},1e4);e.iframe.addEventListener(`load`,a),window.addEventListener(`message`,o),Et.set(e.owner,()=>{window.clearTimeout(s),window.removeEventListener(`message`,o),e.iframe.removeEventListener(`load`,a),At(e.iframe)})}var Mt=null;function Nt(){if(Mt)return;let e=document.getElementById(`chatMessages`);e&&(Mt=new MutationObserver(e=>{if(W.size)for(let t of e)for(let e of t.removedNodes)e instanceof HTMLIFrameElement&&e.contentWindow&&(W.delete(e.contentWindow),G.delete(e.contentWindow)),e instanceof HTMLElement&&e.querySelectorAll(`iframe`).forEach(e=>{e.contentWindow&&(W.delete(e.contentWindow),G.delete(e.contentWindow))})}),Mt.observe(e,{childList:!0,subtree:!0}))}function Pt(e){if(e.includes(`"importmap"`)||e.includes(`'importmap'`))return``;let t={},n=e.match(/(?:cdn\.jsdelivr\.net\/npm|unpkg\.com)\/three@([\d.]+)/);if(n){let r=n[1],i=e.includes(`unpkg.com/three@`)?`unpkg.com`:`cdn.jsdelivr.net/npm`;t.three=`https://${i}/three@${r}/${i===`unpkg.com`?`build/three.module.js`:`build/three.module.min.js`}`,t[`three/addons/`]=`https://${i}/three@${r}/examples/jsm/`}return Object.keys(t).length===0?``:`<script type="importmap">${JSON.stringify({imports:t})}<\/script>`}function Ft(e){let t=`'none'`;(e.includes(`cdn.jsdelivr.net/npm/us-atlas`)||e.includes(`cdn.jsdelivr.net/npm/world-atlas`)||e.includes(`cdn.jsdelivr.net/npm/datamaps`))&&(t=`https://cdn.jsdelivr.net`);let n=/Tone(\.min)?\.js|tone@/.test(e)?`worker-src blob:;`:``,r=Tt.map(e=>`https://${e}`),i=r.join(` `),a=[`data:`,`blob:`,...r],o=[`'unsafe-inline'`,`https://fonts.googleapis.com`];/L\.(map|tileLayer|marker|geoJSON|polyline|polygon|circle)\(|leaflet[\w.@/-]*\.(js|css)|tile\.openstreetmap\.org/.test(e)&&(a.push(`https://a.tile.openstreetmap.org`,`https://b.tile.openstreetmap.org`,`https://c.tile.openstreetmap.org`),o.push(`https://cdnjs.cloudflare.com`,`https://cdn.jsdelivr.net`));let s=a.join(` `);return`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'unsafe-inline' ${i}; style-src ${o.join(` `)}; img-src ${s}; font-src https://fonts.gstatic.com; connect-src ${t}; ${n} base-uri 'none';">`}function It(){let e=!document.documentElement.hasAttribute(`data-theme`)||document.documentElement.getAttribute(`data-theme`)===`dark`,t=getComputedStyle(document.documentElement);return{isDark:e,tokens:{"--bg":t.getPropertyValue(`--bg`).trim(),"--surface":t.getPropertyValue(`--surface`).trim(),"--border":t.getPropertyValue(`--border`).trim(),"--text":t.getPropertyValue(`--text`).trim(),"--text-dim":t.getPropertyValue(`--text-dim`).trim(),"--accent":t.getPropertyValue(`--accent`).trim(),"--font-ui":t.getPropertyValue(`--font-ui`).trim(),"--font-mono":t.getPropertyValue(`--font-mono`).trim(),"--radius-sm":t.getPropertyValue(`--radius-sm`).trim(),"--radius-md":t.getPropertyValue(`--radius-md`).trim()}}}function Lt(e){return`
41
41
  <script>
42
42
  (function() {
43
43
  var __nonce = '${e}';
@@ -0,0 +1 @@
1
+ import{a as e}from"./iframe-renderer-Bj1JolO8.js";export{e as refreshFileWidget};