failproofai 1.0.10-beta.1 → 1.0.10

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 (113) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +4 -4
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +6 -6
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +14 -14
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/api/audit/invite/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/audit/run/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/auth/login-request/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/auth/login-verify/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/download/[project]/[session]/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/audit/page/server-reference-manifest.json +2 -2
  29. package/.next/standalone/.next/server/app/audit/page.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  31. package/.next/standalone/.next/server/app/index.html +1 -1
  32. package/.next/standalone/.next/server/app/index.rsc +14 -14
  33. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +13 -13
  34. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +14 -14
  35. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  37. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +14 -14
  40. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  47. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  50. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  53. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o07qi9._.js +1 -1
  56. package/.next/standalone/.next/server/chunks/_0tovk6q._.js +1 -1
  57. package/.next/standalone/.next/server/chunks/_0trp3yc._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_1nxcc4v._.js +1 -1
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__04usis8._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__056wjo4._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0n0xg95._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a2-9ht._.js → [root-of-the-server]__0oqrl71._.js} +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0rwtwpm._.js +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11mayhe._.js +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__15578wp._.js +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1m_svbe._.js +2 -2
  67. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1pprgri._.js +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1q4p5b8._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/_042cgl1._.js +1 -1
  70. package/.next/standalone/.next/server/chunks/ssr/_08x1r5t._.js +1 -1
  71. package/.next/standalone/.next/server/chunks/ssr/_0bqoto4._.js +1 -1
  72. package/.next/standalone/.next/server/chunks/ssr/{_1n-mym7._.js → _0yq5_3a._.js} +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/{_0krq5f0._.js → _16pa9ht._.js} +3 -3
  74. package/.next/standalone/.next/server/chunks/ssr/_1zopuov._.js +1 -1
  75. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_policies_page_actions_1sp2-yo.js +2 -2
  76. package/.next/standalone/.next/server/chunks/ssr/app_actions_get-scheduled-audit_ts_0ei9sni._.js +1 -1
  77. package/.next/standalone/.next/server/chunks/ssr/app_audit__components_audit-dashboard_tsx_0p9ud47._.js +1 -1
  78. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_1kp6l3x._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_19dqvpc._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/ssr/app_settings_02tf1h4._.js +1 -1
  81. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  82. package/.next/standalone/.next/server/pages/404.html +1 -1
  83. package/.next/standalone/.next/server/pages/500.html +1 -1
  84. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  85. package/.next/standalone/.next/server/server-reference-manifest.json +23 -23
  86. package/.next/standalone/.next/static/chunks/{3q8vesnwk_r0i.js → 03h3b-uomi7_d.js} +1 -1
  87. package/.next/standalone/.next/static/chunks/078dofaxvjgpd.js +1 -0
  88. package/.next/standalone/.next/static/chunks/1fqukzzowjflt.js +1 -0
  89. package/.next/standalone/.next/static/chunks/1lyg_puttohbc.js +1 -0
  90. package/.next/standalone/.next/static/chunks/{3ztf2h_fv6_t9.js → 2hg_bp8z_vm2g.js} +1 -1
  91. package/.next/standalone/.next/static/chunks/{0s4cko_weh6pi.js → 2j92xul6y24_v.js} +1 -1
  92. package/.next/standalone/.next/static/chunks/{1-k37ijadiv9h.js → 2kj826h1w9r47.js} +1 -1
  93. package/.next/standalone/.next/static/chunks/{3vk6jdkxvb7yk.js → 3mjfvng11xnoo.js} +1 -1
  94. package/.next/standalone/.next/static/chunks/{2cvvec76j9bwq.js → 3nkc2jlgyygda.js} +1 -1
  95. package/.next/standalone/.next/static/chunks/{3z7mx6me_j7d3.js → 3ob2161ap37ul.js} +1 -1
  96. package/.next/standalone/.next/static/chunks/{18reoqya39rov.js → 3u1s8dsqiean5.js} +1 -1
  97. package/.next/standalone/hermes-plugin/README.md +10 -5
  98. package/.next/standalone/hermes-plugin/__init__.py +77 -26
  99. package/.next/standalone/hermes-plugin/plugin.yaml +1 -1
  100. package/.next/standalone/package.json +5 -5
  101. package/.next/standalone/server.js +1 -1
  102. package/dist/cli.mjs +6 -6
  103. package/dist/worker.mjs +1 -1
  104. package/hermes-plugin/README.md +10 -5
  105. package/hermes-plugin/__init__.py +77 -26
  106. package/hermes-plugin/plugin.yaml +1 -1
  107. package/package.json +5 -5
  108. package/.next/standalone/.next/static/chunks/0yclxmfppc_8e.js +0 -1
  109. package/.next/standalone/.next/static/chunks/2o9-3ff26v4yd.js +0 -1
  110. package/.next/standalone/.next/static/chunks/3tj1zi4xv-bll.js +0 -1
  111. /package/.next/standalone/.next/static/{OJTzlkhxVSWnwhlF2Q7m3 → ECs8__hcNabYV58WfDh-3}/_buildManifest.js +0 -0
  112. /package/.next/standalone/.next/static/{OJTzlkhxVSWnwhlF2Q7m3 → ECs8__hcNabYV58WfDh-3}/_clientMiddlewareManifest.js +0 -0
  113. /package/.next/standalone/.next/static/{OJTzlkhxVSWnwhlF2Q7m3 → ECs8__hcNabYV58WfDh-3}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36406,e=>{"use strict";let t;var s=e.i(43476),n=e.i(71645),r=e.i(74080);function i(e,t,s){let n,r=s.initialDeps??[],i=!0;function l(){let l=e();return(l.length!==r.length||l.some((e,t)=>r[t]!==e))&&(r=l,n=t(...l),(null==s?void 0:s.onChange)&&!(i&&s.skipInitialOnChange)&&s.onChange(n),i=!1),n}return l.updateDeps=e=>{r=e},l}function l(e,t){if(void 0!==e)return e;throw Error(`Unexpected undefined${t?`: ${t}`:""}`)}let o=(e,t)=>1.01>Math.abs(e-t),a=()=>{if(void 0!==t)return t;if("u"<typeof navigator)return t=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return t=!0;let e=navigator.maxTouchPoints;return t="MacIntel"===navigator.platform&&void 0!==e&&e>0},d=e=>e,c=e=>{let t=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,n=Array(s);for(let e=0;e<s;e++)n[e]=t+e;return n},u={passive:!0},h=(e,t)=>{let s=e.scrollElement;if(!s)return;let n=()=>{t({width:s.innerWidth,height:s.innerHeight})};return n(),s.addEventListener("resize",n,u),()=>{s.removeEventListener("resize",n)}},m="u"<typeof window||"onscrollend"in window,f=(e,t)=>((e,t,s)=>{var n,r;let i,l=e.scrollElement;if(!l)return;let o=e.targetWindow;if(!o)return;let a=e.options.useScrollendEvent&&m,d=0,c=a?null:(n=()=>t(s(l),!1),r=e.options.isScrollingResetDelay,Object.assign(function(...e){o.clearTimeout(i),i=o.setTimeout(()=>n.apply(this,e),r)},{cancel:()=>{o.clearTimeout(i)}})),h=e=>()=>{d=s(l),null==c||c(),t(d,e)},f=h(!0),p=h(!1);return l.addEventListener("scroll",f,u),a&&l.addEventListener("scrollend",p,u),()=>{l.removeEventListener("scroll",f),a&&l.removeEventListener("scrollend",p),null==c||c.cancel()}})(e,t,t=>e.options.horizontal?t.scrollX:t.scrollY),p=(e,t,s)=>{if(s.options.useCachedMeasurements){let t=s.indexFromElement(e),n=s.options.getItemKey(t);return s.itemSizeCache.get(n)??s.options.estimateSize(t)}if(null==t?void 0:t.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[s.options.horizontal?"inlineSize":"blockSize"])}if(!t){let t=s.indexFromElement(e),n=s.options.getItemKey(t),r=s.itemSizeCache.get(n);if(void 0!==r)return r}return e[s.options.horizontal?"offsetWidth":"offsetHeight"]},g=(e,{adjustments:t=0,behavior:s},n)=>{var r,i;null==(i=null==(r=n.scrollElement)?void 0:r.scrollTo)||i.call(r,{[n.options.horizontal?"left":"top"]:e+t,behavior:s})};class x{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e,t,s;return(null==(s=null==(t=null==(e=this.targetWindow)?void 0:e.performance)?void 0:t.now)?void 0:s.call(t))??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(this.targetWindow&&this.targetWindow.ResizeObserver?e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,s=this.indexFromElement(t);if(!t.isConnected){for(let[e,s]of(this.observer.unobserve(t),this.elementsCache))if(s===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(s)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}):null);return{disconnect:()=>{var s;null==(s=t())||s.disconnect(),e=null},observe:e=>{var s;return null==(s=t())?void 0:s.observe(e,{box:"border-box"})},unobserve:e=>{var s;return null==(s=t())?void 0:s.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{var t;let s={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:d,rangeExtractor:c,onChange:()=>{},measureElement:p,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let t in e){let n=e[t];void 0!==n&&(s[t]=n)}let n=this.options,r=null,i=null,l=!1;if(void 0!==n&&n.enabled&&s.enabled&&"end"===s.anchorTo&&null!==this.scrollElement){let e=n.count,o=s.count,a=this.getMeasurements(),d=(null==(t=this._singleLaneMeasurements)?void 0:t.items)??a,c=e=>{var t;return"object"==typeof(t=d[e])?t.key:t},u=e>0?c(0):null,h=e>0?c(e-1):null;if(o!==e||e>0&&o>0&&(s.getItemKey(0)!==u||s.getItemKey(o-1)!==h)){l=!0;let t=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??a[0]:null;t&&(r=[t.key,this.getScrollOffset()-t.start]);let d=!0===s.followOnAppend?"auto":s.followOnAppend||null;d&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(0===e||s.getItemKey(o-1)!==h)&&(o>e||function(e,t,s,n){if(0===t)return!1;let r=n(0),i=new Set,l=0;for(;l<e;){let e=s(l);if(e===r)break;i.add(e),l++}let o=e-l;if(0===o||o>=t)return!1;for(let e=0;e<o;e++)if(n(e)!==s(l+e))return!1;for(let e=o;e<t;e++)if(i.has(n(e)))return!1;return!0}(e,o,c,s.getItemKey))&&(i=d)}}this.options=s,l&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,a=0;if(r&&null!==this.scrollOffset){let[e,t]=r,s=this.getMeasurements(),{count:n,getItemKey:l}=this.options,d=0;for(;d<n&&l(d)!==e;)d++;if(d<n){let e=s[d];if(e){let s=Math.max(0,e.start+t);i||s===this.scrollOffset||(a=s-this.scrollOffset,this.scrollOffset=s,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,a])},this.notify=e=>{var t,s;null==(s=(t=this.options).onChange)||s.call(t,this,e)},this.maybeNotify=i(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),null!=this.rafId&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e,t;let s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s)return void this.maybeNotify();if(this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(e=this.scrollElement)?void 0:e.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&null===this._intendedScrollOffset&&e===this.scrollOffset)return;null!==this._intendedScrollOffset&&1.5>Math.abs(e-this._intendedScrollOffset)&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,null!==this._clampedAdjustment&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let s=this.getScrollOffset();this.scrollDirection=t?s===e?this.scrollDirection:s<e?"forward":"backward":null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},s=()=>{this._iosTouching=!1,a()&&null!=this.targetWindow&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener("touchstart",t,u),e.addEventListener("touchend",s,u),this.unsubs.push(()=>{e.removeEventListener("touchstart",t),e.removeEventListener("touchend",s),null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let n=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,n&&this.scrollElement&&this.options.enabled){let[e,s,r,i]=n;null!==e&&!r&&(a()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?0!==i&&(this._iosDeferredAdjustment+=i):((null==(t=this.scrollState)?void 0:t.behavior)!=="smooth"||o(this.getScrollOffset()-i,this.scrollState.lastTargetOffset))&&this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(null===this._clampedAdjustment||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,s=this.getMaxScrollOffset();s>t+.5&&(this._clampedAdjustment=e>s+.5?{target:e,maxAtWrite:s}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(0===this._iosDeferredAdjustment||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=i(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,s,n,r,i,l,o)=>(void 0!==this.prevLanes&&this.prevLanes!==i&&(this.lanesChangedFlag=!0),this.prevLanes=i,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:r,lanes:i,laneAssignmentMode:l,gap:o}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=i(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:r,lanes:i,laneAssignmentMode:l,gap:o},a)=>{var d,c;let u=this.itemSizeCache;if(!r)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let h=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),1===i){let r,i,l=2*e,a=null==(d=this._singleLaneMeasurements)?void 0:d.flat;if(!a||a.length<l){let e=new Float64Array(l);a&&h>0&&e.set(a.subarray(0,2*h)),a=e}let m=0===h?Array(e):this._singleLaneMeasurements.items.slice();if(0===h)r=t+s;else{let e=h-1;r=a[2*e]+a[2*e+1]+o}for(let t=h;t<e;t++){let e=n(t);m[t]=e;let s=u.get(e),i="number"==typeof s?s:this.options.estimateSize(t);a[2*t]=r,a[2*t+1]=i,r+=i+o}this._singleLaneMeasurements={flat:a,items:m};let f=(c=a,i=m.length,new Proxy(m,{get(e,t,s){if("string"==typeof t){let s=t.charCodeAt(0);if(s>=48&&s<=57){let s=+t;if(Number.isInteger(s)&&s>=0&&s<i){let t=e[s];if("object"!=typeof t){let n=c[2*s];t=e[s]={index:s,key:t,start:n,size:c[2*s+1],end:n+c[2*s+1],lane:0}}return t}}if("length"===t)return i}return Reflect.get(e,t,s)}}));return this.measurementsCache=f,f}let m=this.measurementsCache.slice(0,h),f=Array(i).fill(void 0),p=new Float64Array(i),g=0;for(let e=0;e<h;e++){let t=m[e];t&&(void 0===f[t.lane]&&g++,f[t.lane]=e,p[t.lane]=t.end)}for(let r=h;r<e;r++){let e,a,d=n(r),c=this.laneAssignments.get(r),h="estimate"===l||u.has(d);if(void 0!==c&&this.options.lanes>1){let n=f[e=c],r=void 0!==n?m[n]:void 0;a=r?r.end+o:t+s}else if(g===i){let t=0,s=p[0],n=f[0];for(let e=1;e<i;e++){let r=p[e];(r<s||r===s&&f[e]<n)&&(t=e,s=r,n=f[e])}e=t,a=s+o,h&&this.laneAssignments.set(r,e)}else e=r%this.options.lanes,a=t+s,h&&this.laneAssignments.set(r,e);let x=u.get(d),y="number"==typeof x?x:this.options.estimateSize(r),b=a+y;m[r]={index:r,start:a,size:y,end:b,key:d,lane:e},void 0===f[e]&&g++,f[e]=r,p[e]=b}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=i(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,s,n)=>0===e.length||0===t?(this.range=null,null):(this.range=function(e,t,s,n,r){let i=e.length-1;if(e.length<=n)return{startIndex:0,endIndex:i};if(1===n&&null!==r){let e=function(e,t,s){let n=0;for(;n<=t;){let r=(n+t)/2|0,i=e[2*r];if(i<s)n=r+1;else{if(!(i>s))return r;t=r-1}}return n>0?n-1:0}(r,i,s),n=e,l=s+t;for(;n<i&&r[2*n]+r[2*n+1]<l;)n++;return{startIndex:e,endIndex:n}}let l=y(0,i,t=>e[t].start,s),o=l;if(1===n)for(;o<i&&e[o].end<s+t;)o++;else if(n>1){let r=Array(n).fill(0);for(;o<i&&r.some(e=>e<s+t);){let t=e[o];r[t.lane]=t.end,o++}let a=Array(n).fill(s+t);for(;l>=0&&a.some(e=>e>=s);){let t=e[l];a[t.lane]=t.start,l--}l=Math.max(0,l-l%n),o=Math.min(i,o+(n-1-o%n))}return{startIndex:l,endIndex:o}}(e,t,s,n,1===n&&null!==this._singleLaneMeasurements?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=i(()=>{let e=null,t=null,s=this.calculateRange();return s&&(e=s.startIndex,t=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,s,n,r)=>null===n||null===r?[]:e({startIndex:n,endIndex:r,overscan:t,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{var t;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;let s=this.scrollState.index??(null==(t=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:t.index);if(void 0!==s&&this.range){let t=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),n=Math.max(0,s-t),r=Math.min(this.options.count-1,s+t);return e>=n&&e<=r}return!0},this.measureElement=e=>{if(!e)return void this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let s=this.options.getItemKey(t),n=this.elementsCache.get(s);n!==e&&(n&&this.observer.unobserve(n),this.observer.observe(e),this.elementsCache.set(s,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var s,n,r;let i,l,o;if(!this.isIndexInRange(e))return;let a=null==(s=this._singleLaneMeasurements)?void 0:s.flat;if(1===this.options.lanes&&null!=a)o=this.options.getItemKey(e),l=a[2*e],i=a[2*e+1];else{let t=this.measurementsCache[e];if(!t)return;o=t.key,l=t.start,i=t.size}let d=this.itemSizeCache.get(o)??i,c=t-d;if(0!==c){let s="end"===this.options.anchorTo&&(null==(n=this.scrollState)?void 0:n.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,a=s?this.getTotalSize():0,u=this.getScrollOffset()+this.scrollAdjustments,h=this.itemSizeCache.has(o)?l+d<=u&&"backward"!==this.scrollDirection:l<u,m=(null==(r=this.scrollState)?void 0:r.behavior)!=="smooth"&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:o,start:l,size:i,end:l+i,lane:0},c,this):h);(null===this.pendingMin||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(o,t),this.itemSizeCacheVersion++;let f=!1;s?f=this.applyScrollAdjustment(this.getTotalSize()-a):m&&(f=this.applyScrollAdjustment(c)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=i(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let s=[];for(let n=0,r=e.length;n<r;n++){let r=t[e[n]];s.push(r)}return s},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{var t;let s=this.getMeasurements();if(0===s.length)return;let n=null==(t=this._singleLaneMeasurements)?void 0:t.flat,r=1===this.options.lanes&&null!=n,i=y(0,s.length-1,r?e=>n[2*e]:e=>l(s[e]).start,e);return l(s[i])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),r=this.getScrollOffset();return"auto"===t&&(t=e>=r+n?"end":"start"),"center"===t?e+=(s-n)/2:"end"===t&&(e-=n),Math.max(Math.min(this.getMaxScrollOffset(),e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),r=this.measurementsCache[e];if(!r)return;if("auto"===t)if(r.end>=n+s-this.options.scrollPaddingEnd)t="end";else{if(!(r.start<=n+this.options.scrollPaddingStart))return[n,t];t="start"}if("end"===t&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let i="end"===t?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,t,r.size),t]},this.scrollToOffset=(e,{align:t="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;let n=this.getOffsetForAlignment(e,t),r=this.now();this.scrollState={index:null,align:t,behavior:s,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getOffsetForIndex(e,t);if(!n)return;let[r,i]=n,l=this.now();this.scrollState={index:e,align:i,behavior:s,startedAt:l,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t="auto"}={})=>{let s=this.getScrollOffset()+e,n=this.now();this.scrollState={index:null,align:"start",behavior:t,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e="auto"}={})=>{this.options.count>0?this.scrollToIndex(this.options.count-1,{align:"end",behavior:e}):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{var e,t;let s,n=this.getMeasurements();if(0===n.length)s=this.options.paddingStart;else if(1===this.options.lanes){let r=n.length-1,i=null==(e=this._singleLaneMeasurements)?void 0:e.flat;s=null!=i?i[2*r]+i[2*r+1]:(null==(t=n[r])?void 0:t.end)??0}else{let e=Array(this.options.lanes).fill(null),t=n.length-1;for(;t>=0&&e.some(e=>null===e);){let s=n[t];null===e[s.lane]&&(e[s.lane]=s.end),t--}s=Math.max(...e.filter(e=>null!==e))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(0===this.itemSizeCache.size)return e;for(let t of this.getMeasurements())t&&this.itemSizeCache.has(t.key)&&e.push({index:t.index,key:t.key,start:t.start,size:t.size,end:t.end,lane:t.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:s})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:s,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(0===e)return!1;if(a()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let s=this.getScrollOffset()+this.scrollAdjustments+e,n=this.scrollElement,r=null!==n&&("scrollHeight"in n||"document"in n)?this.getMaxScrollOffset():null;return this._clampedAdjustment=null!==r&&s>r+.5?{target:s,maxAtWrite:r}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,t=e?e[0]:this.scrollState.lastTargetOffset,s=t!==this.scrollState.lastTargetOffset;if(!s&&o(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,s){let e=this.getSize()||600,s=Math.abs(t-this.getScrollOffset()),n="smooth"===this.scrollState.behavior&&s>e;this.scrollState.lastTargetOffset=t,n||(this.scrollState.behavior="auto"),this._scrollToOffset(t,{adjustments:void 0,behavior:n?"smooth":"auto"})}this.scheduleScrollReconcile()}}let y=(e,t,s,n)=>{for(;e<=t;){let r=(e+t)/2|0,i=s(r);if(i<n)e=r+1;else{if(!(i>n))return r;t=r-1}}return e>0?e-1:0},b="u">typeof document?n.useLayoutEffect:n.useEffect;var v=e.i(16327),j=e.i(56420);let S={name:"wrench",size:24,node:[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]};S.node;let w=(0,j.default)(S);function N(e){let t=new Map,s=new Map;for(let n of e){let e=n.uuid||`${n._source}:${n.timestamp}`,r=s.get(e)??0;s.set(e,r+1),t.set(n,0===r?e:`${e}#${r}`)}return t}let M={name:"user",size:24,node:[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]};M.node;let k=(0,j.default)(M),E={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};E.node;let T=(0,j.default)(E),I={name:"cpu",size:24,node:[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]};I.node;let A=(0,j.default)(I),C={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};C.node;let O=(0,j.default)(C),z={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};z.node;let _=(0,j.default)(z),D={name:"workflow",size:24,node:[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]};D.node;let F=(0,j.default)(D);var R=e.i(34713);let $=n.default.memo(function({entries:e,compact:t=!1}){let r=(0,n.useMemo)(()=>(function(e){let t=0,s=0,n=0,r=0,i=0,l=new Set;for(let o of e)if("user"===o.type&&t++,"queue-operation"===o.type&&i++,"assistant"===o.type){for(let e of(s++,o.message.content))"tool_use"===e.type&&("Task"===e.name&&(e.subagentType||e.subagentId)?r++:n++);o.message.model&&l.add(o.message.model)}let o="";if(e.length>=2){let t=e[e.length-1].timestampMs-e[0].timestampMs;o=(0,R.formatDuration)(t)}return{turnCount:i,userCount:t,assistantCount:s,toolCallCount:n,subagentCount:r,duration:o,models:Array.from(l)}})(e),[e]),i=t?"w-3.5 h-3.5":"w-4 h-4",l=t?"text-xs font-medium":"text-sm font-medium",o=t?"text-[10px] text-muted-foreground":"text-xs text-muted-foreground",a=[...t?[]:[{Icon:_,color:"text-primary",v:r.turnCount,l:"Turns"}],{Icon:k,color:"text-[color:var(--chart-1)]",v:r.userCount,l:"User"},{Icon:T,color:"text-[color:var(--chart-2)]",v:r.assistantCount,l:"Assistant"},{Icon:w,color:"text-[color:var(--chart-3)]",v:r.toolCallCount,l:t?"Tools":"Tool Calls"},{Icon:F,color:"text-[color:var(--chart-5)]",v:r.subagentCount,l:"Subagents"},{Icon:O,color:"text-[color:var(--chart-4)]",v:r.duration||"—",l:"Duration"},{Icon:A,color:"text-[color:var(--chart-5)]",v:r.models.length>0?r.models.join(", "):"—",l:t?"Model":"Model(s)"}];return(0,s.jsx)("div",{className:t?"bg-muted/30 border border-border/50 rounded-lg p-3 mb-3":"bg-card border border-border rounded-lg p-4",children:(0,s.jsx)("div",{className:`grid grid-cols-2 ${t?"sm:grid-cols-6 gap-3":"sm:grid-cols-4 lg:grid-cols-7 gap-4"}`,children:a.map(({Icon:e,color:t,v:n,l:r})=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(e,{className:`${i} ${t}`}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:`${l} truncate max-w-[120px]`,children:n}),(0,s.jsx)("div",{className:o,children:r})]})]},r))})})}),L={name:"play",size:24,node:[["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",key:"10ikf1"}]]};L.node;let W=(0,j.default)(L);var P=e.i(67927);function U(e){return JSON.stringify(e.raw,null,2)}let q=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0});function H(e){let t=new Date(e),s=q.format(t),n=t.getMilliseconds().toString().padStart(3,"0");return`${s}.${n}`}let B=n.default.memo(function({entry:e,isCollapsed:t,entryCount:n,onToggle:r}){let i="function"==typeof r,l=(0,s.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 rounded-full bg-primary/10 border border-primary/20 text-primary text-xs font-medium${i?" group-hover:bg-primary/20 transition-colors":""}`,children:[i?(0,s.jsx)(P.ChevronRight,{className:`w-3 h-3 transition-transform ${t?"":"rotate-90"}`}):(0,s.jsx)(W,{className:"w-3 h-3"}),(0,s.jsx)("span",{children:e.label}),(0,s.jsx)("span",{className:"text-muted-foreground",children:H(e.timestampMs)}),i&&t&&"number"==typeof n&&(0,s.jsxs)("span",{className:"ml-1 px-1.5 py-0.5 rounded bg-primary/20 text-[10px] leading-none",children:[n," ",1===n?"entry":"entries"]})]});return i?(0,s.jsxs)("button",{type:"button",onClick:r,className:"group flex items-center gap-3 py-3 px-4 w-full cursor-pointer",children:[(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"}),l,(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"})]}):(0,s.jsxs)("div",{className:"flex items-center gap-3 py-3 px-4",children:[(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"}),l,(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"})]})});var V=e.i(47163);let K={user:"User",assistant:"Assistant","file-history-snapshot":"Snapshot",progress:"Progress",system:"System","queue-operation":"Queue"},J={user:"bg-[color:var(--chart-1)]/20 text-[color:var(--chart-1)] border-[color:var(--chart-1)]/30",assistant:"bg-[color:var(--chart-2)]/20 text-[color:var(--chart-2)] border-[color:var(--chart-2)]/30","file-history-snapshot":"bg-[color:var(--chart-3)]/20 text-[color:var(--chart-3)] border-[color:var(--chart-3)]/30",progress:"bg-[color:var(--chart-5)]/20 text-[color:var(--chart-5)] border-[color:var(--chart-5)]/30",system:"bg-[color:var(--chart-4)]/20 text-[color:var(--chart-4)] border-[color:var(--chart-4)]/30","queue-operation":"bg-primary/20 text-primary border-primary/30"},Y={user:"border-l-[color:var(--chart-1)]",assistant:"border-l-[color:var(--chart-2)]","file-history-snapshot":"border-l-[color:var(--chart-3)]",progress:"border-l-[color:var(--chart-5)]",system:"border-l-[color:var(--chart-4)]","queue-operation":"border-l-primary"},X={name:"file-text",size:24,node:[["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",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};X.node;let Q=(0,j.default)(X),G={name:"activity",size:24,node:[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]};G.node;let Z=(0,j.default)(G);var ee=e.i(66794);function et({type:e}){let t="w-4 h-4";switch(e){case"user":return(0,s.jsx)(k,{className:t});case"assistant":return(0,s.jsx)(T,{className:t});case"file-history-snapshot":return(0,s.jsx)(Q,{className:t});case"progress":return(0,s.jsx)(Z,{className:t});case"system":return(0,s.jsx)(ee.Settings,{className:t});case"queue-operation":return(0,s.jsx)(W,{className:t})}}function es({type:e}){return(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 text-xs font-mono rounded border ${J[e]}`,children:[(0,s.jsx)(et,{type:e}),K[e]]})}var en=e.i(24380);function er({block:e}){let t=(0,n.useMemo)(()=>JSON.stringify(e.input,null,2),[e]);return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("details",{open:!0,children:[(0,s.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:(0,s.jsxs)("span",{className:"inline-flex items-center gap-1",children:["Input",(0,s.jsx)(en.CopyButton,{text:t})]})}),(0,s.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-64 overflow-y-auto",children:t})]}),e.result?(0,s.jsxs)("div",{className:"border-l-2 border-primary/50 pl-3 space-y-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"inline-block px-2 py-0.5 text-xs font-mono rounded border bg-primary/20 text-primary border-primary/30",children:"Result"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:H(new Date(e.result.timestamp).getTime())})]}),e.result.content&&(0,s.jsxs)("details",{open:!0,children:[(0,s.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:(0,s.jsxs)("span",{className:"inline-flex items-center gap-1",children:["Output",(0,s.jsx)(en.CopyButton,{text:e.result.content})]})}),(0,s.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-48 overflow-y-auto",children:e.result.content})]}),e.result.images?.map((e,t)=>(0,s.jsx)("img",{src:`data:${e.mediaType};base64,${e.base64}`,alt:`Tool result image ${t+1}`,className:"mt-2 max-w-full rounded border border-border"},t))]}):(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:"Tool did not return a result"})]})}let ei={name:"brain",size:24,node:[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]};ei.node;let el=(0,j.default)(ei),eo=n.default.memo(function({block:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l}){switch(e.type){case"text":return(0,s.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:e.text});case"tool_use":if("Task"===e.name&&(e.subagentType||e.subagentId)){let o=e.subagentId&&t?t.get(`agent-${e.subagentId}`):void 0;return(0,s.jsx)(ep,{block:e,subagentEntries:o,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l})}return(0,s.jsxs)("div",{className:"border border-border/50 rounded-lg p-3 bg-muted/10",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(w,{className:"w-4 h-4 text-primary flex-shrink-0"}),(0,s.jsx)("span",{className:"font-mono text-sm text-primary truncate min-w-0",children:e.name}),e.result&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground ml-auto flex-shrink-0",children:e.result.durationFormatted})]}),(0,s.jsx)(er,{block:e})]});case"thinking":return(0,s.jsx)("div",{className:"border border-[color:var(--chart-5)]/30 rounded-lg p-3 bg-[color:var(--chart-5)]/5",children:(0,s.jsxs)("details",{children:[(0,s.jsxs)("summary",{className:"flex items-center gap-2 text-xs cursor-pointer hover:text-foreground transition-colors text-[color:var(--chart-5)]",children:[(0,s.jsx)(el,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Thinking"}),(0,s.jsxs)("span",{className:"text-muted-foreground ml-1",children:["(",e.thinking.length.toLocaleString()," chars)"]})]}),(0,s.jsx)("p",{className:"mt-2 whitespace-pre-wrap text-xs text-muted-foreground p-2 bg-muted/30 rounded max-h-64 overflow-y-auto",children:e.thinking})]})})}});function ea({entry:e}){return(0,s.jsx)("div",{children:e.message.content&&(0,s.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:e.message.content})})}let ed=n.default.memo(function({entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l}){let{content:o}=e.message;return(0,s.jsx)("div",{className:"space-y-3",children:o.map((e,o)=>(0,s.jsx)(eo,{block:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l},o))})}),ec=n.default.memo(function({entry:e}){let t=(0,n.useMemo)(()=>{if("progress"===e.type){let t=e.raw.data,s=t?.agentId;return[t?.type,s&&`agent:${s}`].filter(Boolean).join(" | ")}return"file-history-snapshot"===e.type?"File history snapshot":e.type},[e.type,e.raw]);return(0,s.jsxs)("div",{className:"text-sm",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:t}),(0,s.jsxs)("details",{className:"mt-1",children:[(0,s.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:"Show raw JSON"}),(0,s.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-64 overflow-y-auto",children:U(e)})]})]})}),eu={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};eu.node;let eh=(0,j.default)(eu);var em=e.i(55574);function ef({uuid:e}){let t=(0,n.useCallback)(async()=>{window.history.replaceState(null,"",`#entry-${e}`);try{await navigator.clipboard.writeText(window.location.href)}catch{let e=document.createElement("textarea");e.value=window.location.href,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}(0,em.toast)("Link copied")},[e]);return(0,s.jsx)("button",{onClick:t,title:"Copy link to entry",className:"inline-flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors opacity-0 group-hover:opacity-100 transition-opacity",children:(0,s.jsx)(eh,{className:"w-3.5 h-3.5"})})}function ep({block:e,subagentEntries:t,projectName:r,sessionId:i,highlightedUuid:l,autoExpandForUuid:o}){let a=!!(o&&t?.some(e=>e.uuid===o)),[d,c]=(0,n.useState)(a);(0,n.useEffect)(()=>{if(!a)return;let e=requestAnimationFrame(()=>c(!0));return()=>cancelAnimationFrame(e)},[a]);let u=(0,n.useCallback)(()=>{c(e=>!e)},[]),h=t&&t.length>0,m=(0,n.useMemo)(()=>N(t??[]),[t]);return(0,s.jsxs)("div",{className:"border border-border/50 rounded-lg p-3 bg-muted/10",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(F,{className:"w-4 h-4 text-[color:var(--chart-5)]"}),(0,s.jsx)("span",{className:"font-mono text-sm text-[color:var(--chart-5)]",children:"Subagent"}),e.subagentType&&(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 text-xs font-mono rounded border bg-[color:var(--chart-5)]/20 text-[color:var(--chart-5)] border-[color:var(--chart-5)]/30",children:e.subagentType}),e.result&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground ml-auto",children:e.result.durationFormatted})]}),e.subagentDescription&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground mb-2",children:e.subagentDescription}),e.subagentId&&t&&(0,s.jsxs)("button",{onClick:u,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded border border-primary/30 bg-primary/10 text-primary hover:bg-primary/20 transition-colors mb-2",children:[(0,s.jsx)(P.ChevronRight,{className:(0,V.cn)("w-3 h-3 transition-transform",d&&"rotate-90")}),(0,s.jsxs)("span",{children:["agent-",e.subagentId]}),(0,s.jsx)("span",{className:"text-muted-foreground",children:d?"Collapse":"View subagent log"})]}),d&&(0,s.jsxs)("div",{className:"ml-4 pl-3 border-l-2 border-primary/30 mt-2 space-y-2",children:[t&&0===t.length&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2",children:"No entries found in subagent log."}),h&&(0,s.jsx)(s.Fragment,{children:(0,s.jsx)($,{entries:t,compact:!0})}),t&&t.map(e=>"queue-operation"===e.type?(0,s.jsx)(B,{entry:e},m.get(e)):(0,s.jsx)(ex,{entry:e,projectName:r,sessionId:i,isHighlighted:!!l&&e.uuid===l},m.get(e)))]}),(0,s.jsx)(er,{block:e})]})}function eg({entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l}){switch(e.type){case"user":return(0,s.jsx)(ea,{entry:e});case"assistant":return(0,s.jsx)(ed,{entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l});case"file-history-snapshot":case"progress":case"system":return(0,s.jsx)(ec,{entry:e})}}let ex=n.default.memo(function({entry:e,entriesBySource:t,projectName:n,sessionId:r,isHighlighted:i,highlightedUuid:l,autoExpandForUuid:o}){return(0,s.jsxs)("div",{id:e.uuid?`entry-${e.uuid}`:void 0,className:(0,V.cn)(`group border-l-4 ${Y[e.type]} bg-card/50 rounded-r-lg mb-2 hover:bg-muted/30 transition-colors`,i&&"entry-highlighted"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-border/30",children:[(0,s.jsx)(es,{type:e.type}),(0,s.jsxs)("div",{className:"flex items-center gap-1 ml-auto",children:[e.uuid&&(0,s.jsx)(ef,{uuid:e.uuid}),(0,s.jsx)(en.CopyButton,{text:function(e){switch(e.type){case"user":return e.message.content;case"assistant":return e.message.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n");case"file-history-snapshot":case"progress":case"system":return U(e);case"queue-operation":return e.label}}(e)}),(0,s.jsx)("span",{className:"text-xs font-mono text-muted-foreground whitespace-nowrap",children:H(e.timestampMs)})]})]}),(0,s.jsx)("div",{className:"px-4 py-3",children:(0,s.jsx)(eg,{entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:l,autoExpandForUuid:o})})]})},(e,t)=>e.entry===t.entry&&e.entriesBySource===t.entriesBySource&&e.projectName===t.projectName&&e.sessionId===t.sessionId&&e.isHighlighted===t.isHighlighted&&e.highlightedUuid===t.highlightedUuid&&e.autoExpandForUuid===t.autoExpandForUuid);var ey=e.i(94026),eb=e.i(84026),ev=e.i(29407),ej=e.i(16306),eS=e.i(82954),ew=e.i(73520),eN=e.i(85881);function eM({decision:e}){return"deny"===e?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-red-500/10 text-red-400 border border-red-500/20",children:[(0,s.jsx)(ev.ShieldX,{className:"h-3 w-3"}),"Deny"]}):"instruct"===e?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-amber-500/10 text-amber-400 border border-amber-500/20",children:[(0,s.jsx)(ej.ShieldAlert,{className:"h-3 w-3"}),"Instruct"]}):(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-emerald-500/10 text-emerald-400 border border-emerald-500/20",children:[(0,s.jsx)(eb.ShieldCheck,{className:"h-3 w-3"}),"Allow"]})}function ek({eventType:e}){return(0,s.jsx)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium bg-muted text-muted-foreground border border-border/50",children:e})}function eE({mode:e}){let t="default"===e;return(0,s.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium border ${t?"bg-sky-500/10 text-sky-400 border-sky-500/20":"bg-amber-500/10 text-amber-400 border-amber-500/20"}`,children:e})}function eT({ms:e}){return(0,s.jsx)("span",{className:`font-mono text-[0.7rem] ${e>500?"text-red-400":e>100?"text-amber-400":"text-muted-foreground"}`,children:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`})}function eI({value:e,onChange:t}){return(0,s.jsx)("div",{className:"inline-flex items-center rounded-md border border-border bg-muted/30 p-0.5",children:[{label:"All",value:""},{label:"Allow",value:"allow"},{label:"Instruct",value:"instruct"},{label:"Deny",value:"deny"}].map(n=>(0,s.jsx)("button",{onClick:()=>t(n.value),className:`px-2.5 py-1 text-[0.65rem] font-medium rounded transition-all ${e===n.value?"deny"===n.value?"bg-red-500/15 text-red-400 shadow-sm":"allow"===n.value?"bg-emerald-500/15 text-emerald-400 shadow-sm":"instruct"===n.value?"bg-amber-500/15 text-amber-400 shadow-sm":"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:n.label},n.value))})}function eA({item:e}){return(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:9,className:"px-0 py-0",children:(0,s.jsxs)("div",{className:"px-6 py-3 bg-muted/20 border-t border-border/30 space-y-2 text-xs animate-expand",children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-1.5",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Session ID: "}),(0,s.jsx)("span",{className:"font-mono text-foreground",children:e.sessionId??"—"}),e.sessionId&&(0,s.jsx)(en.CopyButton,{text:e.sessionId})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"CWD: "}),(0,s.jsx)("span",{className:"font-mono text-foreground",children:e.cwd??"—"}),e.cwd&&(0,s.jsx)(en.CopyButton,{text:e.cwd})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Transcript: "}),(0,s.jsx)("span",{className:"font-mono text-foreground break-all",children:e.transcriptPath??"—"}),e.transcriptPath?.startsWith("opencode-db://")&&(0,s.jsx)("span",{className:"text-muted-foreground ml-1",children:"(stored in opencode DB)"})]})]}),e.policyNames&&e.policyNames.length>1&&(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Policies: "}),(0,s.jsx)("span",{className:"font-mono text-foreground",children:e.policyNames.join(", ")})]}),e.reason&&(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Full reason: "}),(0,s.jsx)("span",{className:"text-foreground",children:e.reason})]})]})})})}function eC({sessionId:e,initialData:t}){let{intervalSec:r}=(0,eN.useAutoRefresh)(),[i,l]=(0,n.useState)(!1),[o,a]=(0,n.useState)(1),[d,c]=(0,n.useState)(t),[u,h]=(0,n.useState)(null),[m,f]=(0,n.useState)(""),[p,g]=(0,n.useState)(""),[x,y]=(0,n.useState)(""),b=(0,n.useRef)(null),j=(0,n.useRef)({filterDecision:m,filterEventType:p,filterPolicy:x});j.current={filterDecision:m,filterEventType:p,filterPolicy:x};let S=""!==m||""!==p||""!==x,w=(0,n.useCallback)(async t=>{try{let{filterDecision:s,filterEventType:n,filterPolicy:r}=j.current,i=await (0,ey.searchHookActivityAction)({sessionId:e,decision:s||void 0,eventType:n||void 0,policyName:r||void 0},t);c(i)}catch{}},[e]);(0,n.useEffect)(()=>{w(o);let e=setInterval(()=>w(o),r>0?1e3*r:5e3);return()=>clearInterval(e)},[o,w,r]),(0,n.useEffect)(()=>(b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{a(1),h(null),w(1)},300),()=>{b.current&&clearTimeout(b.current)}),[m,p,x]);let N=d.entries,M=d.totalPages;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{onClick:()=>l(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${i?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Hook Logs"})]}),!i&&(0,s.jsxs)("div",{className:"mt-2 bg-card border border-border rounded-lg overflow-hidden shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-4 py-2.5 border-b border-border bg-muted/20",children:[(0,s.jsx)(eI,{value:m,onChange:f}),(0,s.jsxs)("select",{value:p,onChange:e=>g(e.target.value),className:"h-7 rounded-md border border-border bg-background px-2 text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow",children:[(0,s.jsx)("option",{value:"",children:"All Events"}),(0,s.jsx)("option",{value:"PreToolUse",children:"PreToolUse"}),(0,s.jsx)("option",{value:"PostToolUse",children:"PostToolUse"}),(0,s.jsx)("option",{value:"SessionStart",children:"SessionStart"}),(0,s.jsx)("option",{value:"SessionEnd",children:"SessionEnd"}),(0,s.jsx)("option",{value:"UserPromptSubmit",children:"UserPromptSubmit"}),(0,s.jsx)("option",{value:"PermissionRequest",children:"PermissionRequest"})]}),(0,s.jsx)("div",{className:"relative",children:(0,s.jsx)("input",{type:"text",value:x,onChange:e=>y(e.target.value),placeholder:"Filter by policy…",className:"h-7 rounded-md border border-border bg-background px-2.5 text-xs text-foreground placeholder:text-muted-foreground w-44 focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow"})})]}),0===N.length?(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 px-4",children:[(0,s.jsx)(eS.Shield,{className:"h-10 w-10 text-muted-foreground/30"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground mt-3",children:S?"No matching hook events.":"No hook events found."})]}):(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full text-xs",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,s.jsx)("th",{className:"px-4 py-2.5 font-medium w-6"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Decision"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Event"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Tool"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Policy"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Reason"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Duration"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Mode"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium text-right",children:"Time"})]})}),(0,s.jsx)("tbody",{className:"divide-y divide-border/30",children:N.map((e,t)=>{let r="deny"===e.decision,i=u===t,l="instruct"===e.decision;return(0,s.jsxs)(n.default.Fragment,{children:[(0,s.jsxs)("tr",{onClick:()=>{h(e=>e===t?null:t)},className:`cursor-pointer transition-colors ${r?"bg-red-500/[0.03] hover:bg-red-500/[0.07] border-l-2 border-l-red-500/40":l?"bg-amber-500/[0.03] hover:bg-amber-500/[0.07] border-l-2 border-l-amber-500/40":t%2==0?"hover:bg-muted/30":"bg-muted/[0.04] hover:bg-muted/30"} ${i?"bg-muted/20":""}`,children:[(0,s.jsx)("td",{className:"px-4 py-2",children:(0,s.jsx)(v.ChevronDown,{className:`h-3.5 w-3.5 text-muted-foreground transition-transform duration-150 ${i?"rotate-0":"-rotate-90"}`})}),(0,s.jsx)("td",{className:"px-3 py-2",children:(0,s.jsx)(eM,{decision:e.decision})}),(0,s.jsx)("td",{className:"px-3 py-2",children:(0,s.jsx)(ek,{eventType:e.eventType})}),(0,s.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:e.toolName??"—"}),(0,s.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:e.policyNames&&e.policyNames.length>1?(0,s.jsxs)("span",{title:e.policyNames.join(", "),children:[e.policyNames[0],(0,s.jsxs)("span",{className:"text-muted-foreground text-[0.6rem]",children:[" +",e.policyNames.length-1]})]}):e.policyName??"—"}),(0,s.jsx)("td",{className:"px-3 py-2 text-muted-foreground truncate max-w-[240px]",title:e.reason??"",children:e.reason??"—"}),(0,s.jsx)("td",{className:"px-3 py-2",children:(0,s.jsx)(eT,{ms:e.durationMs})}),(0,s.jsx)("td",{className:"px-3 py-2",children:e.permissionMode?(0,s.jsx)(eE,{mode:e.permissionMode}):"—"}),(0,s.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground whitespace-nowrap",title:new Date(e.timestamp).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}),children:(0,R.formatRelativeTime)(e.timestamp)})]}),i&&(0,s.jsx)(eA,{item:e})]},`${e.timestamp}-${t}`)})})]})}),(0,s.jsx)(ew.default,{currentPage:o,totalPages:M,onPageChange:e=>{a(e),h(null)}})]})]})}function eO(e){let t=new Map;for(let s of e)if("assistant"===s.type)for(let e of s.message.content){if("tool_use"!==e.type||"Task"===e.name&&(e.subagentType||e.subagentId))continue;let s=t.get(e.name)||{count:0,totalDurationMs:0};s.count++,e.result?.durationMs&&(s.totalDurationMs+=e.result.durationMs),t.set(e.name,s)}return Array.from(t.entries()).map(([e,t])=>({name:e,...t})).sort((e,t)=>t.count-e.count)}function ez({tools:e,compact:t}){return(0,s.jsx)("div",{className:`bg-card border border-border rounded-lg ${t?"p-3":"p-4"}`,children:(0,s.jsx)("div",{className:`grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] ${t?"gap-2":"gap-3"}`,children:e.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)(w,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:`${t?"text-xs":"text-sm"} font-mono font-medium truncate`,children:e.name}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground truncate",children:[e.count," call",1!==e.count?"s":"",e.totalDurationMs>0&&` \xb7 ${(e.totalDurationMs/1e3).toFixed(1)}s`]})]})]},e.name))})})}function e_(e,t){return t.get(e)??`${e.uuid}-${e.timestampMs}`}function eD(){let e=window.location.hash;return e.startsWith("#entry-")?e.slice(7):null}function eF({entries:e,entriesBySource:t,projectName:i,sessionId:l}){let o=(0,n.useMemo)(()=>Array.from(t.values()).flat(),[t]),[a,d]=(0,n.useState)(new Set),[c,u]=(0,n.useState)(0),[m,p]=(0,n.useState)(()=>eD()),y=(0,n.useRef)(void 0),v=(0,n.useRef)(!1),j=(0,n.useRef)(null);(0,n.useLayoutEffect)(()=>{let e=j.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().top+window.scrollY;u(e=>e===t?e:t)};t();let s=new ResizeObserver(t);return s.observe(document.body),window.addEventListener("resize",t),()=>{s.disconnect(),window.removeEventListener("resize",t)}},[]);let S=(0,n.useMemo)(()=>N(e),[e]),w=(0,n.useMemo)(()=>(function(e,t){let s=new Map,n=null,r=0;for(let i of e)"queue-operation"===i.type?(null!==n&&s.set(n,r),n=e_(i,t),r=0):null!==n&&r++;return null!==n&&s.set(n,r),s})(e,S),[e,S]),M=(0,n.useMemo)(()=>{let t;return t=!1,e.filter(e=>"queue-operation"===e.type?(t=a.has(e_(e,S)),!0):!t)},[e,a,S]),k=(0,n.useMemo)(()=>{let e=new Map;return M.forEach((t,s)=>{t.uuid&&e.set(t.uuid,s)}),e},[M]),E=(0,n.useMemo)(()=>(function(e){let t=new Map;for(let s of e)if("assistant"===s.type&&s.uuid)for(let e of s.message.content)"tool_use"===e.type&&"Task"===e.name&&e.subagentId&&t.set(e.subagentId,s.uuid);let s=new Map;for(let n of e){if(!n._source?.startsWith("agent-")||!n.uuid)continue;let e=n._source.slice(6),r=t.get(e);r&&s.set(n.uuid,r)}return s})(o),[o]),T=(0,n.useMemo)(()=>m&&E.has(m)?m:null,[m,E]),I=T?E.get(T)??null:null;(0,n.useEffect)(()=>{if(m)return y.current=setTimeout(()=>p(null),4e3),()=>{y.current&&clearTimeout(y.current)}},[]),(0,n.useEffect)(()=>{let e=()=>{let e=eD();p(e),v.current=!1,y.current&&clearTimeout(y.current),e&&(y.current=setTimeout(()=>p(null),4e3))};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);let A=(0,n.useMemo)(()=>{if(!m)return null;let t=I??m,s=e.some(e=>e.uuid===t),n=k.has(t);if(s&&!n){let s=null;for(let n of e)if("queue-operation"===n.type)s=e_(n,S);else if(n.uuid===t&&s)return s}return null},[m,I,e,k,S]);(0,n.useEffect)(()=>{if(!A)return;let e=requestAnimationFrame(()=>{d(e=>{if(!e.has(A))return e;let t=new Set(e);return t.delete(A),t})});return()=>cancelAnimationFrame(e)},[A]);let C=(0,n.useCallback)(e=>{d(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),O=(0,n.useCallback)(e=>S.get(M[e])??e,[S,M]),z=function({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:s="transform",...i}){let l=n.useReducer(e=>e+1,0)[1],o=n.useRef({enabled:t,mode:s,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});o.current.enabled=t,o.current.mode=s;let a=n.useRef(!1),d=e=>{let t=o.current;if(!t.enabled||!t.container)return;let s=e.getTotalSize();if(s!==t.lastSize){t.lastSize=s;let n=e.options.horizontal?"width":"height";t.container.style[n]=`${s}px`}},c=e=>{let t=o.current;if(!t.enabled||!t.container)return;d(e);let s=!!e.options.horizontal,n="transform"===t.mode,r=s?"left":"top",i=e.options.scrollMargin;for(let l of e.getVirtualItems()){let o=l.start-i,a=e.elementsCache.get(l.key);a&&t.lastPositions.get(a)!==o&&(t.lastPositions.set(a,o),n?a.style.transform=s?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:a.style[r]=`${o}px`)}},u={...i,onChange:(t,s)=>{var n;let d=o.current,u=!0;if(d.enabled){c(t);let e=t.range,s=d.prevRange;(u=!s||s.isScrolling!==t.isScrolling||s.startIndex!==(null==e?void 0:e.startIndex)||s.endIndex!==(null==e?void 0:e.endIndex))&&(d.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&s&&!a.current?(0,r.flushSync)(l):l()),null==(n=i.onChange)||n.call(i,t,s)}},[h]=n.useState(()=>{let e=new x(u),t=e.measureElement;return e.measureElement=e=>{a.current=!0;try{t(e)}finally{a.current=!1}},Object.assign(e,{containerRef:t=>{let s=o.current;if(s.container=t,s.lastSize=null,t&&s.enabled){let n=e.getTotalSize();s.lastSize=n;let r=e.options.horizontal?"width":"height";t.style[r]=`${n}px`}}})});return h.setOptions(u),b(()=>h._didMount(),[]),b(()=>(d(h),h._willUpdate())),b(()=>{c(h)}),h}({getScrollElement:()=>"u">typeof document?window:null,observeElementRect:h,observeElementOffset:f,scrollToFn:g,initialOffset:()=>"u">typeof document?window.scrollY:0,...{count:M.length,estimateSize:e=>(function(e){switch(e.type){case"queue-operation":return 48;case"user":return 90;case"assistant":return 80+120*e.message.content.length;default:return 100}})(M[e]),getItemKey:O,overscan:5,scrollMargin:c}});return(0,n.useEffect)(()=>{if(!m||v.current)return;let e=I??m,t=k.get(e);null!=t&&(v.current=!0,requestAnimationFrame(()=>{z.scrollToIndex(t,{align:"center"})}))},[m,I,k,z]),(0,s.jsx)("div",{ref:j,children:(0,s.jsx)("div",{style:{height:`${z.getTotalSize()}px`,width:"100%",position:"relative"},children:z.getVirtualItems().map(e=>{let n=M[e.index],r=!!m&&n.uuid===(I??m);return(0,s.jsx)("div",{"data-index":e.index,ref:z.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${e.start-z.options.scrollMargin}px)`},children:"queue-operation"===n.type?(0,s.jsx)(B,{entry:n,isCollapsed:a.has(e_(n,S)),entryCount:w.get(e_(n,S))??0,onToggle:()=>C(e_(n,S))}):(0,s.jsx)(ex,{entry:n,entriesBySource:t,projectName:i,sessionId:l,isHighlighted:!T&&r,highlightedUuid:T,autoExpandForUuid:T})},e.key)})})})}let eR=[];e.s([],76248),e.i(76248),e.s(["default",0,function({entries:e,projectName:t,sessionId:r}){let i=(0,n.useMemo)(()=>{let t=new Map;for(let s of e){let e=t.get(s._source);e?e.push(s):t.set(s._source,[s])}return t},[e]),l=i.get("session")??eR,o=(0,n.useMemo)(()=>(function(e){let t=new Map;for(let s of e)if("assistant"===s.type)for(let e of s.message.content)"tool_use"===e.type&&"Task"===e.name&&e.subagentId&&(t.has(e.subagentId)||t.set(e.subagentId,{id:e.subagentId,type:e.subagentType||"unknown",description:e.subagentDescription||""}));return Array.from(t.values())})(e),[e]),a=(0,n.useMemo)(()=>eO(l),[l]),[d,c]=(0,n.useState)(!1),[u,h]=(0,n.useState)(new Set),[m,f]=(0,n.useState)(!1),[p,g]=(0,n.useState)(null);(0,n.useEffect)(()=>{(0,ey.searchHookActivityAction)({sessionId:r},1).then(e=>{e.entries.length>0&&g(e)}).catch(()=>{})},[r]),(0,n.useEffect)(()=>{let e=()=>{window.location.hash.startsWith("#entry-")&&f(!1)};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);let x=(0,n.useCallback)(e=>{h(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]);return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)($,{entries:l}),p&&(0,s.jsx)(eC,{sessionId:r,initialData:p},r),o.length>0&&(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("button",{onClick:()=>c(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${d?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Subagents"}),(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",o.length,")"]})]}),!d&&o.map(e=>{let t;return(0,s.jsxs)("div",{className:"pl-3 border-l-2 border-primary/30 space-y-2",children:[(0,s.jsxs)("button",{onClick:()=>x(e.id),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-3.5 h-3.5 text-muted-foreground transition-transform ${u.has(e.id)?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-bold",children:e.type}),e.description&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground truncate max-w-[400px]",children:e.description})]}),!u.has(e.id)&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)($,{entries:i.get(`agent-${e.id}`)||[],compact:!0}),(t=eO(i.get(`agent-${e.id}`)||[])).length>0?(0,s.jsx)(ez,{tools:t,compact:!0}):null]})]},e.id)})]}),a.length>0&&(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Tools"}),(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",a.reduce((e,t)=>e+t.count,0),")"]})]}),(0,s.jsx)(ez,{tools:a})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{onClick:()=>f(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${m?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Logs"})]}),!m&&(0,s.jsx)("div",{className:"mt-2 bg-card border border-border rounded-lg p-4 shadow-sm",children:0===l.length?(0,s.jsx)("p",{className:"text-muted-foreground text-center py-8",children:"No entries found."}):(0,s.jsx)(eF,{entries:l,entriesBySource:i,projectName:t,sessionId:r})})]})]})}],36406)},5780,function(e){e.n(e.i(36406))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36406,e=>{"use strict";let t;var s=e.i(43476),n=e.i(71645),r=e.i(74080);function i(e,t,s){let n,r=s.initialDeps??[],i=!0;function l(){let l=e();return(l.length!==r.length||l.some((e,t)=>r[t]!==e))&&(r=l,n=t(...l),(null==s?void 0:s.onChange)&&!(i&&s.skipInitialOnChange)&&s.onChange(n),i=!1),n}return l.updateDeps=e=>{r=e},l}function l(e,t){if(void 0!==e)return e;throw Error(`Unexpected undefined${t?`: ${t}`:""}`)}let o=(e,t)=>1.01>Math.abs(e-t),a=()=>{if(void 0!==t)return t;if("u"<typeof navigator)return t=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return t=!0;let e=navigator.maxTouchPoints;return t="MacIntel"===navigator.platform&&void 0!==e&&e>0},d=e=>e,c=e=>{let t=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,n=Array(s);for(let e=0;e<s;e++)n[e]=t+e;return n},u={passive:!0},h=(e,t)=>{let s=e.scrollElement;if(!s)return;let n=()=>{t({width:s.innerWidth,height:s.innerHeight})};return n(),s.addEventListener("resize",n,u),()=>{s.removeEventListener("resize",n)}},m="u"<typeof window||"onscrollend"in window,f=(e,t)=>((e,t,s)=>{var n,r;let i,l=e.scrollElement;if(!l)return;let o=e.targetWindow;if(!o)return;let a=e.options.useScrollendEvent&&m,d=0,c=a?null:(n=()=>t(s(l),!1),r=e.options.isScrollingResetDelay,Object.assign(function(...e){o.clearTimeout(i),i=o.setTimeout(()=>n.apply(this,e),r)},{cancel:()=>{o.clearTimeout(i)}})),h=e=>()=>{d=s(l),null==c||c(),t(d,e)},f=h(!0),p=h(!1);return l.addEventListener("scroll",f,u),a&&l.addEventListener("scrollend",p,u),()=>{l.removeEventListener("scroll",f),a&&l.removeEventListener("scrollend",p),null==c||c.cancel()}})(e,t,t=>e.options.horizontal?t.scrollX:t.scrollY),p=(e,t,s)=>{if(s.options.useCachedMeasurements){let t=s.indexFromElement(e),n=s.options.getItemKey(t);return s.itemSizeCache.get(n)??s.options.estimateSize(t)}if(null==t?void 0:t.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[s.options.horizontal?"inlineSize":"blockSize"])}if(!t){let t=s.indexFromElement(e),n=s.options.getItemKey(t),r=s.itemSizeCache.get(n);if(void 0!==r)return r}return e[s.options.horizontal?"offsetWidth":"offsetHeight"]},g=(e,{adjustments:t=0,behavior:s},n)=>{var r,i;null==(i=null==(r=n.scrollElement)?void 0:r.scrollTo)||i.call(r,{[n.options.horizontal?"left":"top"]:e+t,behavior:s})};class x{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e,t,s;return(null==(s=null==(t=null==(e=this.targetWindow)?void 0:e.performance)?void 0:t.now)?void 0:s.call(t))??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(this.targetWindow&&this.targetWindow.ResizeObserver?e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,s=this.indexFromElement(t);if(!t.isConnected){for(let[e,s]of(this.observer.unobserve(t),this.elementsCache))if(s===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(s)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}):null);return{disconnect:()=>{var s;null==(s=t())||s.disconnect(),e=null},observe:e=>{var s;return null==(s=t())?void 0:s.observe(e,{box:"border-box"})},unobserve:e=>{var s;return null==(s=t())?void 0:s.unobserve(e)}}})(),this.range=null,this.setOptions=e=>{var t;let s={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:d,rangeExtractor:c,onChange:()=>{},measureElement:p,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let t in e){let n=e[t];void 0!==n&&(s[t]=n)}let n=this.options,r=null,i=null,l=!1;if(void 0!==n&&n.enabled&&s.enabled&&"end"===s.anchorTo&&null!==this.scrollElement){let e=n.count,o=s.count,a=this.getMeasurements(),d=(null==(t=this._singleLaneMeasurements)?void 0:t.items)??a,c=e=>{var t;return"object"==typeof(t=d[e])?t.key:t},u=e>0?c(0):null,h=e>0?c(e-1):null;if(o!==e||e>0&&o>0&&(s.getItemKey(0)!==u||s.getItemKey(o-1)!==h)){l=!0;let t=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??a[0]:null;t&&(r=[t.key,this.getScrollOffset()-t.start]);let d=!0===s.followOnAppend?"auto":s.followOnAppend||null;d&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(0===e||s.getItemKey(o-1)!==h)&&(o>e||function(e,t,s,n){if(0===t)return!1;let r=n(0),i=new Set,l=0;for(;l<e;){let e=s(l);if(e===r)break;i.add(e),l++}let o=e-l;if(0===o||o>=t)return!1;for(let e=0;e<o;e++)if(n(e)!==s(l+e))return!1;for(let e=o;e<t;e++)if(i.has(n(e)))return!1;return!0}(e,o,c,s.getItemKey))&&(i=d)}}this.options=s,l&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,a=0;if(r&&null!==this.scrollOffset){let[e,t]=r,s=this.getMeasurements(),{count:n,getItemKey:l}=this.options,d=0;for(;d<n&&l(d)!==e;)d++;if(d<n){let e=s[d];if(e){let s=Math.max(0,e.start+t);i||s===this.scrollOffset||(a=s-this.scrollOffset,this.scrollOffset=s,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,a])},this.notify=e=>{var t,s;null==(s=(t=this.options).onChange)||s.call(t,this,e)},this.maybeNotify=i(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),null!=this.rafId&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e,t;let s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s)return void this.maybeNotify();if(this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(e=this.scrollElement)?void 0:e.window)??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&null===this._intendedScrollOffset&&e===this.scrollOffset)return;null!==this._intendedScrollOffset&&1.5>Math.abs(e-this._intendedScrollOffset)&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,null!==this._clampedAdjustment&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let s=this.getScrollOffset();this.scrollDirection=t?s===e?this.scrollDirection:s<e?"forward":"backward":null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},s=()=>{this._iosTouching=!1,a()&&null!=this.targetWindow&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener("touchstart",t,u),e.addEventListener("touchend",s,u),this.unsubs.push(()=>{e.removeEventListener("touchstart",t),e.removeEventListener("touchend",s),null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let n=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,n&&this.scrollElement&&this.options.enabled){let[e,s,r,i]=n;null!==e&&!r&&(a()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?0!==i&&(this._iosDeferredAdjustment+=i):((null==(t=this.scrollState)?void 0:t.behavior)!=="smooth"||o(this.getScrollOffset()-i,this.scrollState.lastTargetOffset))&&this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(null===this._clampedAdjustment||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,s=this.getMaxScrollOffset();s>t+.5&&(this._clampedAdjustment=e>s+.5?{target:e,maxAtWrite:s}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(0===this._iosDeferredAdjustment||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=i(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,s,n,r,i,l,o)=>(void 0!==this.prevLanes&&this.prevLanes!==i&&(this.lanesChangedFlag=!0),this.prevLanes=i,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:r,lanes:i,laneAssignmentMode:l,gap:o}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=i(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:s,getItemKey:n,enabled:r,lanes:i,laneAssignmentMode:l,gap:o},a)=>{var d,c;let u=this.itemSizeCache;if(!r)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let h=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),1===i){let r,i,l=2*e,a=null==(d=this._singleLaneMeasurements)?void 0:d.flat;if(!a||a.length<l){let e=new Float64Array(l);a&&h>0&&e.set(a.subarray(0,2*h)),a=e}let m=0===h?Array(e):this._singleLaneMeasurements.items.slice();if(0===h)r=t+s;else{let e=h-1;r=a[2*e]+a[2*e+1]+o}for(let t=h;t<e;t++){let e=n(t);m[t]=e;let s=u.get(e),i="number"==typeof s?s:this.options.estimateSize(t);a[2*t]=r,a[2*t+1]=i,r+=i+o}this._singleLaneMeasurements={flat:a,items:m};let f=(c=a,i=m.length,new Proxy(m,{get(e,t,s){if("string"==typeof t){let s=t.charCodeAt(0);if(s>=48&&s<=57){let s=+t;if(Number.isInteger(s)&&s>=0&&s<i){let t=e[s];if("object"!=typeof t){let n=c[2*s];t=e[s]={index:s,key:t,start:n,size:c[2*s+1],end:n+c[2*s+1],lane:0}}return t}}if("length"===t)return i}return Reflect.get(e,t,s)}}));return this.measurementsCache=f,f}let m=this.measurementsCache.slice(0,h),f=Array(i).fill(void 0),p=new Float64Array(i),g=0;for(let e=0;e<h;e++){let t=m[e];t&&(void 0===f[t.lane]&&g++,f[t.lane]=e,p[t.lane]=t.end)}for(let r=h;r<e;r++){let e,a,d=n(r),c=this.laneAssignments.get(r),h="estimate"===l||u.has(d);if(void 0!==c&&this.options.lanes>1){let n=f[e=c],r=void 0!==n?m[n]:void 0;a=r?r.end+o:t+s}else if(g===i){let t=0,s=p[0],n=f[0];for(let e=1;e<i;e++){let r=p[e];(r<s||r===s&&f[e]<n)&&(t=e,s=r,n=f[e])}e=t,a=s+o,h&&this.laneAssignments.set(r,e)}else e=r%this.options.lanes,a=t+s,h&&this.laneAssignments.set(r,e);let x=u.get(d),y="number"==typeof x?x:this.options.estimateSize(r),b=a+y;m[r]={index:r,start:a,size:y,end:b,key:d,lane:e},void 0===f[e]&&g++,f[e]=r,p[e]=b}return this.measurementsCache=m,m},{key:!1,debug:()=>this.options.debug}),this.calculateRange=i(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,s,n)=>0===e.length||0===t?(this.range=null,null):(this.range=function(e,t,s,n,r){let i=e.length-1;if(e.length<=n)return{startIndex:0,endIndex:i};if(1===n&&null!==r){let e=function(e,t,s){let n=0;for(;n<=t;){let r=(n+t)/2|0,i=e[2*r];if(i<s)n=r+1;else{if(!(i>s))return r;t=r-1}}return n>0?n-1:0}(r,i,s),n=e,l=s+t;for(;n<i&&r[2*n]+r[2*n+1]<l;)n++;return{startIndex:e,endIndex:n}}let l=y(0,i,t=>e[t].start,s),o=l;if(1===n)for(;o<i&&e[o].end<s+t;)o++;else if(n>1){let r=Array(n).fill(0);for(;o<i&&r.some(e=>e<s+t);){let t=e[o];r[t.lane]=t.end,o++}let a=Array(n).fill(s+t);for(;l>=0&&a.some(e=>e>=s);){let t=e[l];a[t.lane]=t.start,l--}l=Math.max(0,l-l%n),o=Math.min(i,o+(n-1-o%n))}return{startIndex:l,endIndex:o}}(e,t,s,n,1===n&&null!==this._singleLaneMeasurements?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=i(()=>{let e=null,t=null,s=this.calculateRange();return s&&(e=s.startIndex,t=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,s,n,r)=>null===n||null===r?[]:e({startIndex:n,endIndex:r,overscan:t,count:s}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{var t;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;let s=this.scrollState.index??(null==(t=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:t.index);if(void 0!==s&&this.range){let t=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),n=Math.max(0,s-t),r=Math.min(this.options.count-1,s+t);return e>=n&&e<=r}return!0},this.measureElement=e=>{if(!e)return void this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let s=this.options.getItemKey(t),n=this.elementsCache.get(s);n!==e&&(n&&this.observer.unobserve(n),this.observer.observe(e),this.elementsCache.set(s,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var s,n,r;let i,l,o;if(!this.isIndexInRange(e))return;let a=null==(s=this._singleLaneMeasurements)?void 0:s.flat;if(1===this.options.lanes&&null!=a)o=this.options.getItemKey(e),l=a[2*e],i=a[2*e+1];else{let t=this.measurementsCache[e];if(!t)return;o=t.key,l=t.start,i=t.size}let d=this.itemSizeCache.get(o)??i,c=t-d;if(0!==c){let s="end"===this.options.anchorTo&&(null==(n=this.scrollState)?void 0:n.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,a=s?this.getTotalSize():0,u=this.getScrollOffset()+this.scrollAdjustments,h=this.itemSizeCache.has(o)?l+d<=u&&"backward"!==this.scrollDirection:l<u,m=(null==(r=this.scrollState)?void 0:r.behavior)!=="smooth"&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:o,start:l,size:i,end:l+i,lane:0},c,this):h);(null===this.pendingMin||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(o,t),this.itemSizeCacheVersion++;let f=!1;s?f=this.applyScrollAdjustment(this.getTotalSize()-a):m&&(f=this.applyScrollAdjustment(c)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=i(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let s=[];for(let n=0,r=e.length;n<r;n++){let r=t[e[n]];s.push(r)}return s},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{var t;let s=this.getMeasurements();if(0===s.length)return;let n=null==(t=this._singleLaneMeasurements)?void 0:t.flat,r=1===this.options.lanes&&null!=n,i=y(0,s.length-1,r?e=>n[2*e]:e=>l(s[e]).start,e);return l(s[i])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),r=this.getScrollOffset();return"auto"===t&&(t=e>=r+n?"end":"start"),"center"===t?e+=(s-n)/2:"end"===t&&(e-=n),Math.max(Math.min(this.getMaxScrollOffset(),e),0)},this.getOffsetForIndex=(e,t="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),r=this.measurementsCache[e];if(!r)return;if("auto"===t)if(r.end>=n+s-this.options.scrollPaddingEnd)t="end";else{if(!(r.start<=n+this.options.scrollPaddingStart))return[n,t];t="start"}if("end"===t&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let i="end"===t?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,t,r.size),t]},this.scrollToOffset=(e,{align:t="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;let n=this.getOffsetForAlignment(e,t),r=this.now();this.scrollState={index:null,align:t,behavior:s,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getOffsetForIndex(e,t);if(!n)return;let[r,i]=n,l=this.now();this.scrollState={index:e,align:i,behavior:s,startedAt:l,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t="auto"}={})=>{let s=this.getScrollOffset()+e,n=this.now();this.scrollState={index:null,align:"start",behavior:t,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e="auto"}={})=>{this.options.count>0?this.scrollToIndex(this.options.count-1,{align:"end",behavior:e}):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{var e,t;let s,n=this.getMeasurements();if(0===n.length)s=this.options.paddingStart;else if(1===this.options.lanes){let r=n.length-1,i=null==(e=this._singleLaneMeasurements)?void 0:e.flat;s=null!=i?i[2*r]+i[2*r+1]:(null==(t=n[r])?void 0:t.end)??0}else{let e=Array(this.options.lanes).fill(null),t=n.length-1;for(;t>=0&&e.some(e=>null===e);){let s=n[t];null===e[s.lane]&&(e[s.lane]=s.end),t--}s=Math.max(...e.filter(e=>null!==e))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(0===this.itemSizeCache.size)return e;for(let t of this.getMeasurements())t&&this.itemSizeCache.has(t.key)&&e.push({index:t.index,key:t.key,start:t.start,size:t.size,end:t.end,lane:t.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:s})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:s,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(0===e)return!1;if(a()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let s=this.getScrollOffset()+this.scrollAdjustments+e,n=this.scrollElement,r=null!==n&&("scrollHeight"in n||"document"in n)?this.getMaxScrollOffset():null;return this._clampedAdjustment=null!==r&&s>r+.5?{target:s,maxAtWrite:r}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,t=e?e[0]:this.scrollState.lastTargetOffset,s=t!==this.scrollState.lastTargetOffset;if(!s&&o(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,s){let e=this.getSize()||600,s=Math.abs(t-this.getScrollOffset()),n="smooth"===this.scrollState.behavior&&s>e;this.scrollState.lastTargetOffset=t,n||(this.scrollState.behavior="auto"),this._scrollToOffset(t,{adjustments:void 0,behavior:n?"smooth":"auto"})}this.scheduleScrollReconcile()}}let y=(e,t,s,n)=>{for(;e<=t;){let r=(e+t)/2|0,i=s(r);if(i<n)e=r+1;else{if(!(i>n))return r;t=r-1}}return e>0?e-1:0},b="u">typeof document?n.useLayoutEffect:n.useEffect;var v=e.i(16327),j=e.i(56420);let S={name:"wrench",size:24,node:[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]};S.node;let w=(0,j.default)(S);function N(e){let t=new Map,s=new Map;for(let n of e){let e=n.uuid||`${n._source}:${n.timestamp}`,r=s.get(e)??0;s.set(e,r+1),t.set(n,0===r?e:`${e}#${r}`)}return t}let M={name:"user",size:24,node:[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]};M.node;let k=(0,j.default)(M),E={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};E.node;let T=(0,j.default)(E),I={name:"cpu",size:24,node:[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]};I.node;let A=(0,j.default)(I),C={name:"clock",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6l4 2",key:"mmk7yg"}]]};C.node;let O=(0,j.default)(C),z={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};z.node;let _=(0,j.default)(z),D={name:"workflow",size:24,node:[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]};D.node;let F=(0,j.default)(D);var R=e.i(34713);let $=n.default.memo(function({entries:e,compact:t=!1}){let r=(0,n.useMemo)(()=>(function(e){let t=0,s=0,n=0,r=0,i=0,l=new Set;for(let o of e)if("user"===o.type&&t++,"queue-operation"===o.type&&i++,"assistant"===o.type){for(let e of(s++,o.message.content))"tool_use"===e.type&&("Task"===e.name&&(e.subagentType||e.subagentId)?r++:n++);o.message.model&&l.add(o.message.model)}let o="";if(e.length>=2){let t=e[e.length-1].timestampMs-e[0].timestampMs;o=(0,R.formatDuration)(t)}return{turnCount:i,userCount:t,assistantCount:s,toolCallCount:n,subagentCount:r,duration:o,models:Array.from(l)}})(e),[e]),i=t?"w-3.5 h-3.5":"w-4 h-4",l=t?"text-xs font-medium":"text-sm font-medium",o=t?"text-[10px] text-muted-foreground":"text-xs text-muted-foreground",a=[...t?[]:[{Icon:_,color:"text-primary",v:r.turnCount,l:"Turns"}],{Icon:k,color:"text-[color:var(--chart-1)]",v:r.userCount,l:"User"},{Icon:T,color:"text-[color:var(--chart-2)]",v:r.assistantCount,l:"Assistant"},{Icon:w,color:"text-[color:var(--chart-3)]",v:r.toolCallCount,l:t?"Tools":"Tool Calls"},{Icon:F,color:"text-[color:var(--chart-5)]",v:r.subagentCount,l:"Subagents"},{Icon:O,color:"text-[color:var(--chart-4)]",v:r.duration||"—",l:"Duration"},{Icon:A,color:"text-[color:var(--chart-5)]",v:r.models.length>0?r.models.join(", "):"—",l:t?"Model":"Model(s)"}];return(0,s.jsx)("div",{className:t?"bg-muted/30 border border-border/50 rounded-lg p-3 mb-3":"bg-card border border-border rounded-lg p-4",children:(0,s.jsx)("div",{className:`grid grid-cols-2 ${t?"sm:grid-cols-6 gap-3":"sm:grid-cols-4 lg:grid-cols-7 gap-4"}`,children:a.map(({Icon:e,color:t,v:n,l:r})=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(e,{className:`${i} ${t}`}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:`${l} truncate max-w-[120px]`,children:n}),(0,s.jsx)("div",{className:o,children:r})]})]},r))})})}),L={name:"play",size:24,node:[["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",key:"10ikf1"}]]};L.node;let W=(0,j.default)(L);var P=e.i(67927);function U(e){return JSON.stringify(e.raw,null,2)}let q=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0});function H(e){let t=new Date(e),s=q.format(t),n=t.getMilliseconds().toString().padStart(3,"0");return`${s}.${n}`}let B=n.default.memo(function({entry:e,isCollapsed:t,entryCount:n,onToggle:r}){let i="function"==typeof r,l=(0,s.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 rounded-full bg-primary/10 border border-primary/20 text-primary text-xs font-medium${i?" group-hover:bg-primary/20 transition-colors":""}`,children:[i?(0,s.jsx)(P.ChevronRight,{className:`w-3 h-3 transition-transform ${t?"":"rotate-90"}`}):(0,s.jsx)(W,{className:"w-3 h-3"}),(0,s.jsx)("span",{children:e.label}),(0,s.jsx)("span",{className:"text-muted-foreground",children:H(e.timestampMs)}),i&&t&&"number"==typeof n&&(0,s.jsxs)("span",{className:"ml-1 px-1.5 py-0.5 rounded bg-primary/20 text-[10px] leading-none",children:[n," ",1===n?"entry":"entries"]})]});return i?(0,s.jsxs)("button",{type:"button",onClick:r,className:"group flex items-center gap-3 py-3 px-4 w-full cursor-pointer",children:[(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"}),l,(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"})]}):(0,s.jsxs)("div",{className:"flex items-center gap-3 py-3 px-4",children:[(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"}),l,(0,s.jsx)("div",{className:"flex-1 h-px bg-primary/30"})]})});var V=e.i(47163);let K={user:"User",assistant:"Assistant","file-history-snapshot":"Snapshot",progress:"Progress",system:"System","queue-operation":"Queue"},J={user:"bg-[color:var(--chart-1)]/20 text-[color:var(--chart-1)] border-[color:var(--chart-1)]/30",assistant:"bg-[color:var(--chart-2)]/20 text-[color:var(--chart-2)] border-[color:var(--chart-2)]/30","file-history-snapshot":"bg-[color:var(--chart-3)]/20 text-[color:var(--chart-3)] border-[color:var(--chart-3)]/30",progress:"bg-[color:var(--chart-5)]/20 text-[color:var(--chart-5)] border-[color:var(--chart-5)]/30",system:"bg-[color:var(--chart-4)]/20 text-[color:var(--chart-4)] border-[color:var(--chart-4)]/30","queue-operation":"bg-primary/20 text-primary border-primary/30"},Y={user:"border-l-[color:var(--chart-1)]",assistant:"border-l-[color:var(--chart-2)]","file-history-snapshot":"border-l-[color:var(--chart-3)]",progress:"border-l-[color:var(--chart-5)]",system:"border-l-[color:var(--chart-4)]","queue-operation":"border-l-primary"},X={name:"file-text",size:24,node:[["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",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};X.node;let Q=(0,j.default)(X),G={name:"activity",size:24,node:[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]};G.node;let Z=(0,j.default)(G);var ee=e.i(66794);function et({type:e}){let t="w-4 h-4";switch(e){case"user":return(0,s.jsx)(k,{className:t});case"assistant":return(0,s.jsx)(T,{className:t});case"file-history-snapshot":return(0,s.jsx)(Q,{className:t});case"progress":return(0,s.jsx)(Z,{className:t});case"system":return(0,s.jsx)(ee.Settings,{className:t});case"queue-operation":return(0,s.jsx)(W,{className:t})}}function es({type:e}){return(0,s.jsxs)("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 text-xs font-mono rounded border ${J[e]}`,children:[(0,s.jsx)(et,{type:e}),K[e]]})}var en=e.i(24380);function er({block:e}){let t=(0,n.useMemo)(()=>JSON.stringify(e.input,null,2),[e]);return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("details",{open:!0,children:[(0,s.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:(0,s.jsxs)("span",{className:"inline-flex items-center gap-1",children:["Input",(0,s.jsx)(en.CopyButton,{text:t})]})}),(0,s.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-64 overflow-y-auto",children:t})]}),e.result?(0,s.jsxs)("div",{className:"border-l-2 border-primary/50 pl-3 space-y-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"inline-block px-2 py-0.5 text-xs font-mono rounded border bg-primary/20 text-primary border-primary/30",children:"Result"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:H(new Date(e.result.timestamp).getTime())})]}),e.result.content&&(0,s.jsxs)("details",{open:!0,children:[(0,s.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:(0,s.jsxs)("span",{className:"inline-flex items-center gap-1",children:["Output",(0,s.jsx)(en.CopyButton,{text:e.result.content})]})}),(0,s.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-48 overflow-y-auto",children:e.result.content})]}),e.result.images?.map((e,t)=>(0,s.jsx)("img",{src:`data:${e.mediaType};base64,${e.base64}`,alt:`Tool result image ${t+1}`,className:"mt-2 max-w-full rounded border border-border"},t))]}):(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:"Tool did not return a result"})]})}let ei={name:"brain",size:24,node:[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]};ei.node;let el=(0,j.default)(ei),eo=n.default.memo(function({block:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l}){switch(e.type){case"text":return(0,s.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:e.text});case"tool_use":if("Task"===e.name&&(e.subagentType||e.subagentId)){let o=e.subagentId&&t?t.get(`agent-${e.subagentId}`):void 0;return(0,s.jsx)(ep,{block:e,subagentEntries:o,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l})}return(0,s.jsxs)("div",{className:"border border-border/50 rounded-lg p-3 bg-muted/10",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(w,{className:"w-4 h-4 text-primary flex-shrink-0"}),(0,s.jsx)("span",{className:"font-mono text-sm text-primary truncate min-w-0",children:e.name}),e.result&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground ml-auto flex-shrink-0",children:e.result.durationFormatted})]}),(0,s.jsx)(er,{block:e})]});case"thinking":return(0,s.jsx)("div",{className:"border border-[color:var(--chart-5)]/30 rounded-lg p-3 bg-[color:var(--chart-5)]/5",children:(0,s.jsxs)("details",{children:[(0,s.jsxs)("summary",{className:"flex items-center gap-2 text-xs cursor-pointer hover:text-foreground transition-colors text-[color:var(--chart-5)]",children:[(0,s.jsx)(el,{className:"w-4 h-4"}),(0,s.jsx)("span",{children:"Thinking"}),(0,s.jsxs)("span",{className:"text-muted-foreground ml-1",children:["(",e.thinking.length.toLocaleString()," chars)"]})]}),(0,s.jsx)("p",{className:"mt-2 whitespace-pre-wrap text-xs text-muted-foreground p-2 bg-muted/30 rounded max-h-64 overflow-y-auto",children:e.thinking})]})})}});function ea({entry:e}){return(0,s.jsx)("div",{children:e.message.content&&(0,s.jsx)("p",{className:"whitespace-pre-wrap text-sm",children:e.message.content})})}let ed=n.default.memo(function({entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l}){let{content:o}=e.message;return(0,s.jsx)("div",{className:"space-y-3",children:o.map((e,o)=>(0,s.jsx)(eo,{block:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l},o))})}),ec=n.default.memo(function({entry:e}){let t=(0,n.useMemo)(()=>{if("progress"===e.type){let t=e.raw.data,s=t?.agentId;return[t?.type,s&&`agent:${s}`].filter(Boolean).join(" | ")}return"file-history-snapshot"===e.type?"File history snapshot":e.type},[e.type,e.raw]);return(0,s.jsxs)("div",{className:"text-sm",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:t}),(0,s.jsxs)("details",{className:"mt-1",children:[(0,s.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground transition-colors",children:"Show raw JSON"}),(0,s.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded text-xs whitespace-pre-wrap break-words max-h-64 overflow-y-auto",children:U(e)})]})]})}),eu={name:"link-2",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]};eu.node;let eh=(0,j.default)(eu);var em=e.i(55574);function ef({uuid:e}){let t=(0,n.useCallback)(async()=>{window.history.replaceState(null,"",`#entry-${e}`);try{await navigator.clipboard.writeText(window.location.href)}catch{let e=document.createElement("textarea");e.value=window.location.href,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}(0,em.toast)("Link copied")},[e]);return(0,s.jsx)("button",{onClick:t,title:"Copy link to entry",className:"inline-flex items-center justify-center rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors opacity-0 group-hover:opacity-100 transition-opacity",children:(0,s.jsx)(eh,{className:"w-3.5 h-3.5"})})}function ep({block:e,subagentEntries:t,projectName:r,sessionId:i,highlightedUuid:l,autoExpandForUuid:o}){let a=!!(o&&t?.some(e=>e.uuid===o)),[d,c]=(0,n.useState)(a);(0,n.useEffect)(()=>{if(!a)return;let e=requestAnimationFrame(()=>c(!0));return()=>cancelAnimationFrame(e)},[a]);let u=(0,n.useCallback)(()=>{c(e=>!e)},[]),h=t&&t.length>0,m=(0,n.useMemo)(()=>N(t??[]),[t]);return(0,s.jsxs)("div",{className:"border border-border/50 rounded-lg p-3 bg-muted/10",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,s.jsx)(F,{className:"w-4 h-4 text-[color:var(--chart-5)]"}),(0,s.jsx)("span",{className:"font-mono text-sm text-[color:var(--chart-5)]",children:"Subagent"}),e.subagentType&&(0,s.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 text-xs font-mono rounded border bg-[color:var(--chart-5)]/20 text-[color:var(--chart-5)] border-[color:var(--chart-5)]/30",children:e.subagentType}),e.result&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground ml-auto",children:e.result.durationFormatted})]}),e.subagentDescription&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground mb-2",children:e.subagentDescription}),e.subagentId&&t&&(0,s.jsxs)("button",{onClick:u,className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs font-medium rounded border border-primary/30 bg-primary/10 text-primary hover:bg-primary/20 transition-colors mb-2",children:[(0,s.jsx)(P.ChevronRight,{className:(0,V.cn)("w-3 h-3 transition-transform",d&&"rotate-90")}),(0,s.jsxs)("span",{children:["agent-",e.subagentId]}),(0,s.jsx)("span",{className:"text-muted-foreground",children:d?"Collapse":"View subagent log"})]}),d&&(0,s.jsxs)("div",{className:"ml-4 pl-3 border-l-2 border-primary/30 mt-2 space-y-2",children:[t&&0===t.length&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground py-2",children:"No entries found in subagent log."}),h&&(0,s.jsx)(s.Fragment,{children:(0,s.jsx)($,{entries:t,compact:!0})}),t&&t.map(e=>"queue-operation"===e.type?(0,s.jsx)(B,{entry:e},m.get(e)):(0,s.jsx)(ex,{entry:e,projectName:r,sessionId:i,isHighlighted:!!l&&e.uuid===l},m.get(e)))]}),(0,s.jsx)(er,{block:e})]})}function eg({entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l}){switch(e.type){case"user":return(0,s.jsx)(ea,{entry:e});case"assistant":return(0,s.jsx)(ed,{entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:i,autoExpandForUuid:l});case"file-history-snapshot":case"progress":case"system":return(0,s.jsx)(ec,{entry:e})}}let ex=n.default.memo(function({entry:e,entriesBySource:t,projectName:n,sessionId:r,isHighlighted:i,highlightedUuid:l,autoExpandForUuid:o}){return(0,s.jsxs)("div",{id:e.uuid?`entry-${e.uuid}`:void 0,className:(0,V.cn)(`group border-l-4 ${Y[e.type]} bg-card/50 rounded-r-lg mb-2 hover:bg-muted/30 transition-colors`,i&&"entry-highlighted"),children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-border/30",children:[(0,s.jsx)(es,{type:e.type}),(0,s.jsxs)("div",{className:"flex items-center gap-1 ml-auto",children:[e.uuid&&(0,s.jsx)(ef,{uuid:e.uuid}),(0,s.jsx)(en.CopyButton,{text:function(e){switch(e.type){case"user":return e.message.content;case"assistant":return e.message.content.filter(e=>"text"===e.type).map(e=>e.text).join("\n");case"file-history-snapshot":case"progress":case"system":return U(e);case"queue-operation":return e.label}}(e)}),(0,s.jsx)("span",{className:"text-xs font-mono text-muted-foreground whitespace-nowrap",children:H(e.timestampMs)})]})]}),(0,s.jsx)("div",{className:"px-4 py-3",children:(0,s.jsx)(eg,{entry:e,entriesBySource:t,projectName:n,sessionId:r,highlightedUuid:l,autoExpandForUuid:o})})]})},(e,t)=>e.entry===t.entry&&e.entriesBySource===t.entriesBySource&&e.projectName===t.projectName&&e.sessionId===t.sessionId&&e.isHighlighted===t.isHighlighted&&e.highlightedUuid===t.highlightedUuid&&e.autoExpandForUuid===t.autoExpandForUuid);var ey=e.i(23527),eb=e.i(84026),ev=e.i(29407),ej=e.i(16306),eS=e.i(82954),ew=e.i(73520),eN=e.i(85881);function eM({decision:e}){return"deny"===e?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-red-500/10 text-red-400 border border-red-500/20",children:[(0,s.jsx)(ev.ShieldX,{className:"h-3 w-3"}),"Deny"]}):"instruct"===e?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-amber-500/10 text-amber-400 border border-amber-500/20",children:[(0,s.jsx)(ej.ShieldAlert,{className:"h-3 w-3"}),"Instruct"]}):(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[0.65rem] font-semibold tracking-wide uppercase bg-emerald-500/10 text-emerald-400 border border-emerald-500/20",children:[(0,s.jsx)(eb.ShieldCheck,{className:"h-3 w-3"}),"Allow"]})}function ek({eventType:e}){return(0,s.jsx)("span",{className:"inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium bg-muted text-muted-foreground border border-border/50",children:e})}function eE({mode:e}){let t="default"===e;return(0,s.jsx)("span",{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[0.6rem] font-medium border ${t?"bg-sky-500/10 text-sky-400 border-sky-500/20":"bg-amber-500/10 text-amber-400 border-amber-500/20"}`,children:e})}function eT({ms:e}){return(0,s.jsx)("span",{className:`font-mono text-[0.7rem] ${e>500?"text-red-400":e>100?"text-amber-400":"text-muted-foreground"}`,children:e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`})}function eI({value:e,onChange:t}){return(0,s.jsx)("div",{className:"inline-flex items-center rounded-md border border-border bg-muted/30 p-0.5",children:[{label:"All",value:""},{label:"Allow",value:"allow"},{label:"Instruct",value:"instruct"},{label:"Deny",value:"deny"}].map(n=>(0,s.jsx)("button",{onClick:()=>t(n.value),className:`px-2.5 py-1 text-[0.65rem] font-medium rounded transition-all ${e===n.value?"deny"===n.value?"bg-red-500/15 text-red-400 shadow-sm":"allow"===n.value?"bg-emerald-500/15 text-emerald-400 shadow-sm":"instruct"===n.value?"bg-amber-500/15 text-amber-400 shadow-sm":"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`,children:n.label},n.value))})}function eA({item:e}){return(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:9,className:"px-0 py-0",children:(0,s.jsxs)("div",{className:"px-6 py-3 bg-muted/20 border-t border-border/30 space-y-2 text-xs animate-expand",children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-x-8 gap-y-1.5",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Session ID: "}),(0,s.jsx)("span",{className:"font-mono text-foreground",children:e.sessionId??"—"}),e.sessionId&&(0,s.jsx)(en.CopyButton,{text:e.sessionId})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"CWD: "}),(0,s.jsx)("span",{className:"font-mono text-foreground",children:e.cwd??"—"}),e.cwd&&(0,s.jsx)(en.CopyButton,{text:e.cwd})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Transcript: "}),(0,s.jsx)("span",{className:"font-mono text-foreground break-all",children:e.transcriptPath??"—"}),e.transcriptPath?.startsWith("opencode-db://")&&(0,s.jsx)("span",{className:"text-muted-foreground ml-1",children:"(stored in opencode DB)"})]})]}),e.policyNames&&e.policyNames.length>1&&(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Policies: "}),(0,s.jsx)("span",{className:"font-mono text-foreground",children:e.policyNames.join(", ")})]}),e.reason&&(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Full reason: "}),(0,s.jsx)("span",{className:"text-foreground",children:e.reason})]})]})})})}function eC({sessionId:e,initialData:t}){let{intervalSec:r}=(0,eN.useAutoRefresh)(),[i,l]=(0,n.useState)(!1),[o,a]=(0,n.useState)(1),[d,c]=(0,n.useState)(t),[u,h]=(0,n.useState)(null),[m,f]=(0,n.useState)(""),[p,g]=(0,n.useState)(""),[x,y]=(0,n.useState)(""),b=(0,n.useRef)(null),j=(0,n.useRef)({filterDecision:m,filterEventType:p,filterPolicy:x});j.current={filterDecision:m,filterEventType:p,filterPolicy:x};let S=""!==m||""!==p||""!==x,w=(0,n.useCallback)(async t=>{try{let{filterDecision:s,filterEventType:n,filterPolicy:r}=j.current,i=await (0,ey.searchHookActivityAction)({sessionId:e,decision:s||void 0,eventType:n||void 0,policyName:r||void 0},t);c(i)}catch{}},[e]);(0,n.useEffect)(()=>{w(o);let e=setInterval(()=>w(o),r>0?1e3*r:5e3);return()=>clearInterval(e)},[o,w,r]),(0,n.useEffect)(()=>(b.current&&clearTimeout(b.current),b.current=setTimeout(()=>{a(1),h(null),w(1)},300),()=>{b.current&&clearTimeout(b.current)}),[m,p,x]);let N=d.entries,M=d.totalPages;return(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{onClick:()=>l(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${i?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Hook Logs"})]}),!i&&(0,s.jsxs)("div",{className:"mt-2 bg-card border border-border rounded-lg overflow-hidden shadow-sm",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-4 py-2.5 border-b border-border bg-muted/20",children:[(0,s.jsx)(eI,{value:m,onChange:f}),(0,s.jsxs)("select",{value:p,onChange:e=>g(e.target.value),className:"h-7 rounded-md border border-border bg-background px-2 text-xs text-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow",children:[(0,s.jsx)("option",{value:"",children:"All Events"}),(0,s.jsx)("option",{value:"PreToolUse",children:"PreToolUse"}),(0,s.jsx)("option",{value:"PostToolUse",children:"PostToolUse"}),(0,s.jsx)("option",{value:"SessionStart",children:"SessionStart"}),(0,s.jsx)("option",{value:"SessionEnd",children:"SessionEnd"}),(0,s.jsx)("option",{value:"UserPromptSubmit",children:"UserPromptSubmit"}),(0,s.jsx)("option",{value:"PermissionRequest",children:"PermissionRequest"})]}),(0,s.jsx)("div",{className:"relative",children:(0,s.jsx)("input",{type:"text",value:x,onChange:e=>y(e.target.value),placeholder:"Filter by policy…",className:"h-7 rounded-md border border-border bg-background px-2.5 text-xs text-foreground placeholder:text-muted-foreground w-44 focus:outline-none focus:ring-2 focus:ring-primary/40 focus:border-primary/40 transition-shadow"})})]}),0===N.length?(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 px-4",children:[(0,s.jsx)(eS.Shield,{className:"h-10 w-10 text-muted-foreground/30"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground mt-3",children:S?"No matching hook events.":"No hook events found."})]}):(0,s.jsx)("div",{className:"overflow-x-auto",children:(0,s.jsxs)("table",{className:"w-full text-xs",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"text-left text-muted-foreground border-b border-border bg-muted/30",children:[(0,s.jsx)("th",{className:"px-4 py-2.5 font-medium w-6"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Decision"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Event"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Tool"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Policy"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Reason"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Duration"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium",children:"Mode"}),(0,s.jsx)("th",{className:"px-3 py-2.5 font-medium text-right",children:"Time"})]})}),(0,s.jsx)("tbody",{className:"divide-y divide-border/30",children:N.map((e,t)=>{let r="deny"===e.decision,i=u===t,l="instruct"===e.decision;return(0,s.jsxs)(n.default.Fragment,{children:[(0,s.jsxs)("tr",{onClick:()=>{h(e=>e===t?null:t)},className:`cursor-pointer transition-colors ${r?"bg-red-500/[0.03] hover:bg-red-500/[0.07] border-l-2 border-l-red-500/40":l?"bg-amber-500/[0.03] hover:bg-amber-500/[0.07] border-l-2 border-l-amber-500/40":t%2==0?"hover:bg-muted/30":"bg-muted/[0.04] hover:bg-muted/30"} ${i?"bg-muted/20":""}`,children:[(0,s.jsx)("td",{className:"px-4 py-2",children:(0,s.jsx)(v.ChevronDown,{className:`h-3.5 w-3.5 text-muted-foreground transition-transform duration-150 ${i?"rotate-0":"-rotate-90"}`})}),(0,s.jsx)("td",{className:"px-3 py-2",children:(0,s.jsx)(eM,{decision:e.decision})}),(0,s.jsx)("td",{className:"px-3 py-2",children:(0,s.jsx)(ek,{eventType:e.eventType})}),(0,s.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:e.toolName??"—"}),(0,s.jsx)("td",{className:"px-3 py-2 font-mono text-foreground",children:e.policyNames&&e.policyNames.length>1?(0,s.jsxs)("span",{title:e.policyNames.join(", "),children:[e.policyNames[0],(0,s.jsxs)("span",{className:"text-muted-foreground text-[0.6rem]",children:[" +",e.policyNames.length-1]})]}):e.policyName??"—"}),(0,s.jsx)("td",{className:"px-3 py-2 text-muted-foreground truncate max-w-[240px]",title:e.reason??"",children:e.reason??"—"}),(0,s.jsx)("td",{className:"px-3 py-2",children:(0,s.jsx)(eT,{ms:e.durationMs})}),(0,s.jsx)("td",{className:"px-3 py-2",children:e.permissionMode?(0,s.jsx)(eE,{mode:e.permissionMode}):"—"}),(0,s.jsx)("td",{className:"px-3 py-2 text-right text-muted-foreground whitespace-nowrap",title:new Date(e.timestamp).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}),children:(0,R.formatRelativeTime)(e.timestamp)})]}),i&&(0,s.jsx)(eA,{item:e})]},`${e.timestamp}-${t}`)})})]})}),(0,s.jsx)(ew.default,{currentPage:o,totalPages:M,onPageChange:e=>{a(e),h(null)}})]})]})}function eO(e){let t=new Map;for(let s of e)if("assistant"===s.type)for(let e of s.message.content){if("tool_use"!==e.type||"Task"===e.name&&(e.subagentType||e.subagentId))continue;let s=t.get(e.name)||{count:0,totalDurationMs:0};s.count++,e.result?.durationMs&&(s.totalDurationMs+=e.result.durationMs),t.set(e.name,s)}return Array.from(t.entries()).map(([e,t])=>({name:e,...t})).sort((e,t)=>t.count-e.count)}function ez({tools:e,compact:t}){return(0,s.jsx)("div",{className:`bg-card border border-border rounded-lg ${t?"p-3":"p-4"}`,children:(0,s.jsx)("div",{className:`grid grid-cols-[repeat(auto-fit,minmax(200px,1fr))] ${t?"gap-2":"gap-3"}`,children:e.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,s.jsx)(w,{className:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:`${t?"text-xs":"text-sm"} font-mono font-medium truncate`,children:e.name}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground truncate",children:[e.count," call",1!==e.count?"s":"",e.totalDurationMs>0&&` \xb7 ${(e.totalDurationMs/1e3).toFixed(1)}s`]})]})]},e.name))})})}function e_(e,t){return t.get(e)??`${e.uuid}-${e.timestampMs}`}function eD(){let e=window.location.hash;return e.startsWith("#entry-")?e.slice(7):null}function eF({entries:e,entriesBySource:t,projectName:i,sessionId:l}){let o=(0,n.useMemo)(()=>Array.from(t.values()).flat(),[t]),[a,d]=(0,n.useState)(new Set),[c,u]=(0,n.useState)(0),[m,p]=(0,n.useState)(()=>eD()),y=(0,n.useRef)(void 0),v=(0,n.useRef)(!1),j=(0,n.useRef)(null);(0,n.useLayoutEffect)(()=>{let e=j.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().top+window.scrollY;u(e=>e===t?e:t)};t();let s=new ResizeObserver(t);return s.observe(document.body),window.addEventListener("resize",t),()=>{s.disconnect(),window.removeEventListener("resize",t)}},[]);let S=(0,n.useMemo)(()=>N(e),[e]),w=(0,n.useMemo)(()=>(function(e,t){let s=new Map,n=null,r=0;for(let i of e)"queue-operation"===i.type?(null!==n&&s.set(n,r),n=e_(i,t),r=0):null!==n&&r++;return null!==n&&s.set(n,r),s})(e,S),[e,S]),M=(0,n.useMemo)(()=>{let t;return t=!1,e.filter(e=>"queue-operation"===e.type?(t=a.has(e_(e,S)),!0):!t)},[e,a,S]),k=(0,n.useMemo)(()=>{let e=new Map;return M.forEach((t,s)=>{t.uuid&&e.set(t.uuid,s)}),e},[M]),E=(0,n.useMemo)(()=>(function(e){let t=new Map;for(let s of e)if("assistant"===s.type&&s.uuid)for(let e of s.message.content)"tool_use"===e.type&&"Task"===e.name&&e.subagentId&&t.set(e.subagentId,s.uuid);let s=new Map;for(let n of e){if(!n._source?.startsWith("agent-")||!n.uuid)continue;let e=n._source.slice(6),r=t.get(e);r&&s.set(n.uuid,r)}return s})(o),[o]),T=(0,n.useMemo)(()=>m&&E.has(m)?m:null,[m,E]),I=T?E.get(T)??null:null;(0,n.useEffect)(()=>{if(m)return y.current=setTimeout(()=>p(null),4e3),()=>{y.current&&clearTimeout(y.current)}},[]),(0,n.useEffect)(()=>{let e=()=>{let e=eD();p(e),v.current=!1,y.current&&clearTimeout(y.current),e&&(y.current=setTimeout(()=>p(null),4e3))};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);let A=(0,n.useMemo)(()=>{if(!m)return null;let t=I??m,s=e.some(e=>e.uuid===t),n=k.has(t);if(s&&!n){let s=null;for(let n of e)if("queue-operation"===n.type)s=e_(n,S);else if(n.uuid===t&&s)return s}return null},[m,I,e,k,S]);(0,n.useEffect)(()=>{if(!A)return;let e=requestAnimationFrame(()=>{d(e=>{if(!e.has(A))return e;let t=new Set(e);return t.delete(A),t})});return()=>cancelAnimationFrame(e)},[A]);let C=(0,n.useCallback)(e=>{d(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),O=(0,n.useCallback)(e=>S.get(M[e])??e,[S,M]),z=function({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:s="transform",...i}){let l=n.useReducer(e=>e+1,0)[1],o=n.useRef({enabled:t,mode:s,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});o.current.enabled=t,o.current.mode=s;let a=n.useRef(!1),d=e=>{let t=o.current;if(!t.enabled||!t.container)return;let s=e.getTotalSize();if(s!==t.lastSize){t.lastSize=s;let n=e.options.horizontal?"width":"height";t.container.style[n]=`${s}px`}},c=e=>{let t=o.current;if(!t.enabled||!t.container)return;d(e);let s=!!e.options.horizontal,n="transform"===t.mode,r=s?"left":"top",i=e.options.scrollMargin;for(let l of e.getVirtualItems()){let o=l.start-i,a=e.elementsCache.get(l.key);a&&t.lastPositions.get(a)!==o&&(t.lastPositions.set(a,o),n?a.style.transform=s?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:a.style[r]=`${o}px`)}},u={...i,onChange:(t,s)=>{var n;let d=o.current,u=!0;if(d.enabled){c(t);let e=t.range,s=d.prevRange;(u=!s||s.isScrolling!==t.isScrolling||s.startIndex!==(null==e?void 0:e.startIndex)||s.endIndex!==(null==e?void 0:e.endIndex))&&(d.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&s&&!a.current?(0,r.flushSync)(l):l()),null==(n=i.onChange)||n.call(i,t,s)}},[h]=n.useState(()=>{let e=new x(u),t=e.measureElement;return e.measureElement=e=>{a.current=!0;try{t(e)}finally{a.current=!1}},Object.assign(e,{containerRef:t=>{let s=o.current;if(s.container=t,s.lastSize=null,t&&s.enabled){let n=e.getTotalSize();s.lastSize=n;let r=e.options.horizontal?"width":"height";t.style[r]=`${n}px`}}})});return h.setOptions(u),b(()=>h._didMount(),[]),b(()=>(d(h),h._willUpdate())),b(()=>{c(h)}),h}({getScrollElement:()=>"u">typeof document?window:null,observeElementRect:h,observeElementOffset:f,scrollToFn:g,initialOffset:()=>"u">typeof document?window.scrollY:0,...{count:M.length,estimateSize:e=>(function(e){switch(e.type){case"queue-operation":return 48;case"user":return 90;case"assistant":return 80+120*e.message.content.length;default:return 100}})(M[e]),getItemKey:O,overscan:5,scrollMargin:c}});return(0,n.useEffect)(()=>{if(!m||v.current)return;let e=I??m,t=k.get(e);null!=t&&(v.current=!0,requestAnimationFrame(()=>{z.scrollToIndex(t,{align:"center"})}))},[m,I,k,z]),(0,s.jsx)("div",{ref:j,children:(0,s.jsx)("div",{style:{height:`${z.getTotalSize()}px`,width:"100%",position:"relative"},children:z.getVirtualItems().map(e=>{let n=M[e.index],r=!!m&&n.uuid===(I??m);return(0,s.jsx)("div",{"data-index":e.index,ref:z.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${e.start-z.options.scrollMargin}px)`},children:"queue-operation"===n.type?(0,s.jsx)(B,{entry:n,isCollapsed:a.has(e_(n,S)),entryCount:w.get(e_(n,S))??0,onToggle:()=>C(e_(n,S))}):(0,s.jsx)(ex,{entry:n,entriesBySource:t,projectName:i,sessionId:l,isHighlighted:!T&&r,highlightedUuid:T,autoExpandForUuid:T})},e.key)})})})}let eR=[];e.s([],76248),e.i(76248),e.s(["default",0,function({entries:e,projectName:t,sessionId:r}){let i=(0,n.useMemo)(()=>{let t=new Map;for(let s of e){let e=t.get(s._source);e?e.push(s):t.set(s._source,[s])}return t},[e]),l=i.get("session")??eR,o=(0,n.useMemo)(()=>(function(e){let t=new Map;for(let s of e)if("assistant"===s.type)for(let e of s.message.content)"tool_use"===e.type&&"Task"===e.name&&e.subagentId&&(t.has(e.subagentId)||t.set(e.subagentId,{id:e.subagentId,type:e.subagentType||"unknown",description:e.subagentDescription||""}));return Array.from(t.values())})(e),[e]),a=(0,n.useMemo)(()=>eO(l),[l]),[d,c]=(0,n.useState)(!1),[u,h]=(0,n.useState)(new Set),[m,f]=(0,n.useState)(!1),[p,g]=(0,n.useState)(null);(0,n.useEffect)(()=>{(0,ey.searchHookActivityAction)({sessionId:r},1).then(e=>{e.entries.length>0&&g(e)}).catch(()=>{})},[r]),(0,n.useEffect)(()=>{let e=()=>{window.location.hash.startsWith("#entry-")&&f(!1)};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]);let x=(0,n.useCallback)(e=>{h(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]);return(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)($,{entries:l}),p&&(0,s.jsx)(eC,{sessionId:r,initialData:p},r),o.length>0&&(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("button",{onClick:()=>c(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${d?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Subagents"}),(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",o.length,")"]})]}),!d&&o.map(e=>{let t;return(0,s.jsxs)("div",{className:"pl-3 border-l-2 border-primary/30 space-y-2",children:[(0,s.jsxs)("button",{onClick:()=>x(e.id),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-3.5 h-3.5 text-muted-foreground transition-transform ${u.has(e.id)?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-bold",children:e.type}),e.description&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground truncate max-w-[400px]",children:e.description})]}),!u.has(e.id)&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)($,{entries:i.get(`agent-${e.id}`)||[],compact:!0}),(t=eO(i.get(`agent-${e.id}`)||[])).length>0?(0,s.jsx)(ez,{tools:t,compact:!0}):null]})]},e.id)})]}),a.length>0&&(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Tools"}),(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",a.reduce((e,t)=>e+t.count,0),")"]})]}),(0,s.jsx)(ez,{tools:a})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("button",{onClick:()=>f(e=>!e),className:"flex items-center gap-2 hover:opacity-80 transition-opacity",children:[(0,s.jsx)(v.ChevronDown,{className:`w-4 h-4 text-muted-foreground transition-transform ${m?"-rotate-90":""}`}),(0,s.jsx)("span",{className:"text-sm font-semibold text-muted-foreground uppercase tracking-wide",children:"Logs"})]}),!m&&(0,s.jsx)("div",{className:"mt-2 bg-card border border-border rounded-lg p-4 shadow-sm",children:0===l.length?(0,s.jsx)("p",{className:"text-muted-foreground text-center py-8",children:"No entries found."}):(0,s.jsx)(eF,{entries:l,entriesBySource:i,projectName:t,sessionId:r})})]})]})}],36406)},5780,function(e){e.n(e.i(36406))}]);
@@ -94,11 +94,16 @@ There is no cloud request and no new CLI process in the tool-call path.
94
94
  (`ctx.register_middleware`, present unchanged in 0.20.0, 0.21.x and main).
95
95
 
96
96
  A policy's reminder (same policy and reason) is attached once per Hermes
97
- session + turn; a later turn gets it again. When the full reminder would take
98
- the result past 7,500 characters it is shortened to the policy names and the
99
- first 160 characters of the reason, so it never pushes a result over Hermes'
100
- 8,000-character persistence threshold and never fills the 1,500-character
101
- preview of a result already past it.
97
+ session + turn, also when calls run in parallel; a later turn gets it again.
98
+ Hermes saves a result to a file once it passes 15% of the model's context
99
+ window (4 characters per token, clamped to 8,000–100,000 characters;
100
+ `read_file` is never saved) and shows the model a 1,500-character preview.
101
+ When the full reminder would take the result past 7,500 characters it is
102
+ compacted: at most three reminders, each policy name cut to 80 characters and
103
+ each reason to 160, so it always fits inside that preview. It is always
104
+ attached: on a model whose threshold is the 8,000 floor, a result just under
105
+ it may be saved because of the reminder, which is then the head of the
106
+ preview.
102
107
 
103
108
  `instruct` therefore no longer stops the action first on Hermes: use `deny`
104
109
  when an action must not happen at all.
@@ -69,12 +69,18 @@ _OBSERVE_TIMEOUT_MS = 2_000
69
69
  # A reminder is attached once per (session, turn) for the same policy and reason.
70
70
  _DELIVERED_LIMIT = 1024
71
71
 
72
- # Hermes persists a result over its smallest threshold (8,000 chars) and shows
73
- # the model only a 1,500-char preview. When the full reminder would take the
74
- # result past this size it is shortened instead, so the reminder never pushes a
75
- # result over that threshold and never fills the preview of one already past it.
72
+ # Hermes saves a result to a file once it passes 15% of the model's context
73
+ # window (at 4 chars per token, clamped to 8,000-100,000 chars; read_file is
74
+ # never saved) and shows the model a 1,500-char preview. When the full reminder
75
+ # would take a result past 7,500 chars it is compacted to a bounded size (each
76
+ # policy name, each reason and the number of reminders are capped), so it stays
77
+ # inside that preview. It is always attached: on a model whose threshold is the
78
+ # 8,000 floor, a result just under it may be saved because of the reminder, and
79
+ # the reminder is then the head of the preview the model reads.
76
80
  _FULL_REMINDER_MAX_CHARS = 7_500
77
81
  _COMPACT_REASON_CHARS = 160
82
+ _COMPACT_POLICY_CHARS = 80
83
+ _COMPACT_MAX_REMINDERS = 3
78
84
 
79
85
 
80
86
  def _bounded_int(value: object, default: int, minimum: int, maximum: int) -> int:
@@ -283,9 +289,13 @@ class _ReminderHandoff:
283
289
  self._entries[key] = (now, reminders)
284
290
 
285
291
  def take(self, key: tuple[str, ...]) -> list[_Reminder]:
292
+ now = time.monotonic()
286
293
  with self._lock:
287
294
  entry = self._entries.pop(key, None)
288
- return entry[1] if entry is not None else []
295
+ # An entry past its TTL belonged to a call that never reached its frame.
296
+ if entry is None or now - entry[0] > _HANDOFF_TTL_SECONDS:
297
+ return []
298
+ return entry[1]
289
299
 
290
300
  def pending(self) -> bool:
291
301
  # Lets the middleware skip hashing every call's arguments.
@@ -305,26 +315,33 @@ def _call_key(
305
315
  return (_string(session_id), _string(task_id), _string(tool_call_id), _string(tool_name), digest)
306
316
 
307
317
 
318
+ def _clip(text: str, limit: int) -> str:
319
+ return text if len(text) <= limit else text[:limit].rstrip() + "…"
320
+
321
+
308
322
  def _reason(reminder: _Reminder, compact: bool) -> str:
309
- if compact and len(reminder.reason) > _COMPACT_REASON_CHARS:
310
- return reminder.reason[:_COMPACT_REASON_CHARS].rstrip() + "…"
311
- return reminder.reason
323
+ return _clip(reminder.reason, _COMPACT_REASON_CHARS) if compact else reminder.reason
324
+
325
+
326
+ def _policies(reminder: _Reminder, compact: bool) -> str:
327
+ # Custom policy names have no length limit, so the compact form caps them too.
328
+ return _clip(reminder.policies, _COMPACT_POLICY_CHARS) if compact else reminder.policies
329
+
330
+
331
+ def _reminder_lines(reminders: tuple[_Reminder, ...], compact: bool, line: Callable[[str, str], str]) -> str:
332
+ shown = reminders[:_COMPACT_MAX_REMINDERS] if compact else reminders
333
+ lines = [line(_policies(r, compact), _reason(r, compact)) for r in shown]
334
+ if len(shown) < len(reminders):
335
+ lines.append(f"(+{len(reminders) - len(shown)} more FailproofAI policy reminders)")
336
+ return "\n".join(lines) + " — the tool call ran; apply this when you use its result."
312
337
 
313
338
 
314
339
  def _reminder_text(reminders: tuple[_Reminder, ...], compact: bool = False) -> str:
315
- body = "\n".join(
316
- f"FailproofAI policy reminder ({reminder.policies}): {_reason(reminder, compact)}"
317
- for reminder in reminders
318
- )
319
- return f"{body} — the tool call ran; apply this when you use its result."
340
+ return _reminder_lines(reminders, compact, lambda p, r: f"FailproofAI policy reminder ({p}): {r}")
320
341
 
321
342
 
322
343
  def _reminder_prefix(reminders: tuple[_Reminder, ...], compact: bool = False) -> str:
323
- body = "\n".join(
324
- f"[FailproofAI policy reminder ({reminder.policies})] {_reason(reminder, compact)}"
325
- for reminder in reminders
326
- )
327
- return f"{body} — the tool call ran; apply this when you use its result."
344
+ return _reminder_lines(reminders, compact, lambda p, r: f"[FailproofAI policy reminder ({p})] {r}")
328
345
 
329
346
 
330
347
  def _result_chars(result: Any) -> int:
@@ -358,15 +375,36 @@ class _TurnDeliveries:
358
375
  return tuple(r for r in reminders if self._key(session_id, turn_id, r) not in self._seen)
359
376
 
360
377
  def mark(self, session_id: str, turn_id: str, reminders: tuple[_Reminder, ...]) -> None:
378
+ if not session_id or not turn_id:
379
+ return
380
+ with self._lock:
381
+ self._mark_locked(session_id, turn_id, reminders)
382
+
383
+ def _mark_locked(self, session_id: str, turn_id: str, reminders: tuple[_Reminder, ...]) -> None:
384
+ for reminder in reminders:
385
+ key = self._key(session_id, turn_id, reminder)
386
+ self._seen[key] = None
387
+ self._seen.move_to_end(key)
388
+ while len(self._seen) > self._limit:
389
+ self._seen.popitem(last=False)
390
+
391
+ def claim(self, session_id: str, turn_id: str, reminders: tuple[_Reminder, ...]) -> tuple[_Reminder, ...]:
392
+ """The reminders not yet delivered in this turn, marked delivered in the
393
+ same step, so two calls running at once cannot both take one."""
394
+ if not session_id or not turn_id:
395
+ return reminders
396
+ with self._lock:
397
+ fresh = tuple(r for r in reminders if self._key(session_id, turn_id, r) not in self._seen)
398
+ self._mark_locked(session_id, turn_id, fresh)
399
+ return fresh
400
+
401
+ def release(self, session_id: str, turn_id: str, reminders: tuple[_Reminder, ...]) -> None:
402
+ """Undo a claim whose reminders found no carrier, so a later call delivers them."""
361
403
  if not session_id or not turn_id:
362
404
  return
363
405
  with self._lock:
364
406
  for reminder in reminders:
365
- key = self._key(session_id, turn_id, reminder)
366
- self._seen[key] = None
367
- self._seen.move_to_end(key)
368
- while len(self._seen) > self._limit:
369
- self._seen.popitem(last=False)
407
+ self._seen.pop(self._key(session_id, turn_id, reminder), None)
370
408
 
371
409
 
372
410
  def _unexecuted(result: Any) -> bool:
@@ -657,6 +695,11 @@ class FailproofAIPlugin:
657
695
  except Exception as exc:
658
696
  return self._fallback(exc)
659
697
 
698
+ if verdict.decision in ("allow", "deny"):
699
+ # An identical earlier call that never reached its frame (another
700
+ # plugin blocked it) left a reminder under this call's key; this
701
+ # call's own verdict replaces it.
702
+ self._drop_handoff(session_id, task_id, tool_call_id, tool_name, payload["tool_input"])
660
703
  if verdict.decision == "allow":
661
704
  return None
662
705
  if verdict.decision == "deny":
@@ -711,6 +754,14 @@ class FailproofAIPlugin:
711
754
  ),
712
755
  }
713
756
 
757
+ def _drop_handoff(self, session_id: str, task_id: str, tool_call_id: str, tool_name: str,
758
+ tool_input: Mapping[str, Any]) -> None:
759
+ try:
760
+ if self._handoff.pending():
761
+ self._handoff.take(_call_key(session_id, task_id, tool_call_id, tool_name, tool_input))
762
+ except Exception as exc:
763
+ logger.warning("FailproofAI could not clear a stale reminder handoff: %s", exc)
764
+
714
765
  def _innermost_frame(self) -> _ReminderFrame | None:
715
766
  frames = self._frames.get()
716
767
  if frames and frames[-1].open:
@@ -821,12 +872,12 @@ class FailproofAIPlugin:
821
872
  # untouched, so nothing it prints, writes or sends can carry it.
822
873
  return result
823
874
  session, turn = _string(session_id), _string(turn_id)
824
- fresh = self._delivered.unseen(session, turn, reminders)
875
+ fresh = self._delivered.claim(session, turn, reminders)
825
876
  if not fresh:
826
877
  return result
827
878
  annotated = _attach_reminders(result, fresh)
828
- if annotated is not result:
829
- self._delivered.mark(session, turn, fresh)
879
+ if annotated is result:
880
+ self._delivered.release(session, turn, fresh)
830
881
  return annotated
831
882
 
832
883
  def _observe(self, event: str, payload: Mapping[str, Any]) -> None:
@@ -1,5 +1,5 @@
1
1
  name: failproofai
2
- version: 1.0.10-beta.1
2
+ version: 1.0.10
3
3
  description: Real-time FailproofAI policy enforcement for Hermes
4
4
  manifest_version: 2
5
5
  api_version: 1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "failproofai",
3
- "version": "1.0.10-beta.1",
3
+ "version": "1.0.10",
4
4
  "description": "Observability and enforcement for AI agent harnesses. 40 built-in policies hooked into 12 of them — Claude Code, Codex, Cursor, Hermes, OpenClaw and more — blocking the tool call before it runs. Local dashboard included, no account needed.",
5
5
  "bin": {
6
6
  "failproofai": "./dist/cli.mjs",
@@ -122,10 +122,10 @@
122
122
  "browserslist": "4.28.8"
123
123
  },
124
124
  "optionalDependencies": {
125
- "@failproofai/failproofaid-linux-x64": "1.0.10-beta.1",
126
- "@failproofai/failproofaid-linux-arm64": "1.0.10-beta.1",
127
- "@failproofai/failproofaid-darwin-x64": "1.0.10-beta.1",
128
- "@failproofai/failproofaid-darwin-arm64": "1.0.10-beta.1"
125
+ "@failproofai/failproofaid-linux-x64": "1.0.10",
126
+ "@failproofai/failproofaid-linux-arm64": "1.0.10",
127
+ "@failproofai/failproofaid-darwin-x64": "1.0.10",
128
+ "@failproofai/failproofaid-darwin-arm64": "1.0.10"
129
129
  },
130
130
  "failproofaidBinaries": {
131
131
  "linux-x64": "868a4978a66e4407b86dac8d6c8af4ad0b2b355da56983fa5530f5d8b5024098",