codex-telegram 0.4.13__tar.gz → 0.4.14__tar.gz

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 (91) hide show
  1. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/PKG-INFO +1 -1
  2. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram/__init__.py +1 -1
  3. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram.egg-info/PKG-INFO +1 -1
  4. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram.egg-info/SOURCES.txt +1 -1
  5. codex-telegram-0.4.13/web/static/dist/assets/index-Dy6bMyek.js → codex-telegram-0.4.14/web/static/dist/assets/index-ZvcGuXeL.js +1 -1
  6. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/static/dist/index.html +1 -1
  7. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/LICENSE +0 -0
  8. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/MANIFEST.in +0 -0
  9. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/README.md +0 -0
  10. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/TELEGRAM.md +0 -0
  11. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/WEB.md +0 -0
  12. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/app_runtime/__init__.py +0 -0
  13. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/app_runtime/bootstrap.py +0 -0
  14. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/app_runtime/telegram_app.py +0 -0
  15. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/app_runtime/web_server.py +0 -0
  16. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/__init__.py +0 -0
  17. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/callbacks.py +0 -0
  18. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/features_ui.py +0 -0
  19. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/handlers.py +0 -0
  20. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/keyboard.py +0 -0
  21. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/projects_ui.py +0 -0
  22. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/skills_ui.py +0 -0
  23. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/bot/thread_ui.py +0 -0
  24. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/__init__.py +0 -0
  25. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/approval_flow.py +0 -0
  26. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/approval_guardian.py +0 -0
  27. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/client.py +0 -0
  28. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/collaboration_mode.py +0 -0
  29. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/__init__.py +0 -0
  30. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/common.py +0 -0
  31. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/context.py +0 -0
  32. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/contracts.py +0 -0
  33. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/core.py +0 -0
  34. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/projects.py +0 -0
  35. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/review.py +0 -0
  36. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/system.py +0 -0
  37. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/command_router/threads.py +0 -0
  38. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/commands.py +0 -0
  39. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/event_forwarding.py +0 -0
  40. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/events.py +0 -0
  41. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex/protocol.py +0 -0
  42. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram/cli.py +0 -0
  43. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram.egg-info/dependency_links.txt +0 -0
  44. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram.egg-info/entry_points.txt +0 -0
  45. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram.egg-info/requires.txt +0 -0
  46. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/codex_telegram.egg-info/top_level.txt +0 -0
  47. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/conf.toml.example +0 -0
  48. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/main.py +0 -0
  49. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/models/__init__.py +0 -0
  50. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/models/state.py +0 -0
  51. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/models/thread.py +0 -0
  52. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/models/user.py +0 -0
  53. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/pyproject.toml +0 -0
  54. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/setup.cfg +0 -0
  55. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_approval_guardian.py +0 -0
  56. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_approval_policy.py +0 -0
  57. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_bootstrap_update_check.py +0 -0
  58. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_callbacks_results.py +0 -0
  59. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_cli_entrypoint.py +0 -0
  60. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_codex_client.py +0 -0
  61. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_command_router.py +0 -0
  62. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_guardian_config.py +0 -0
  63. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_handlers_results.py +0 -0
  64. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_keyboard.py +0 -0
  65. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_main_approval_flow.py +0 -0
  66. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_normalize.py +0 -0
  67. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_pypi_check.py +0 -0
  68. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_single_instance.py +0 -0
  69. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_telegram_bot_config.py +0 -0
  70. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_thread_history.py +0 -0
  71. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_web_runtime.py +0 -0
  72. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/tests/test_web_server_local_command.py +0 -0
  73. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/__init__.py +0 -0
  74. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/approval_policy.py +0 -0
  75. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/config.py +0 -0
  76. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/local_command.py +0 -0
  77. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/logger.py +0 -0
  78. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/normalize.py +0 -0
  79. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/pypi_check.py +0 -0
  80. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/single_instance.py +0 -0
  81. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/utils/web_config.py +0 -0
  82. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/__init__.py +0 -0
  83. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/dependencies.py +0 -0
  84. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/routes.py +0 -0
  85. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/runtime.py +0 -0
  86. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/server.py +0 -0
  87. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/static/dist/assets/index-BfBVFmNi.css +0 -0
  88. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/static/dist/icons-tab-add.svg +0 -0
  89. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/static/dist/icons-tab-close.svg +0 -0
  90. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/thread_history.py +0 -0
  91. {codex-telegram-0.4.13 → codex-telegram-0.4.14}/web/workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codex-telegram
3
- Version: 0.4.13
3
+ Version: 0.4.14
4
4
  Summary: Bridge for controlling the Codex App Server from Telegram and Web UI
5
5
  Author: heungtae
6
6
  License: Apache License
@@ -1,3 +1,3 @@
1
1
  """codex-telegram package."""
2
2
 
3
- __version__ = "0.4.13"
3
+ __version__ = "0.4.14"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: codex-telegram
3
- Version: 0.4.13
3
+ Version: 0.4.14
4
4
  Summary: Bridge for controlling the Codex App Server from Telegram and Web UI
5
5
  Author: heungtae
6
6
  License: Apache License
@@ -86,4 +86,4 @@ web/static/dist/icons-tab-add.svg
86
86
  web/static/dist/icons-tab-close.svg
87
87
  web/static/dist/index.html
88
88
  web/static/dist/assets/index-BfBVFmNi.css
89
- web/static/dist/assets/index-Dy6bMyek.js
89
+ web/static/dist/assets/index-ZvcGuXeL.js
@@ -40,7 +40,7 @@ Error generating stack: `+i.message+`
40
40
  `+i.stack}return{value:e,source:t,stack:l,digest:null}}function So(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function ou(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var vg=typeof WeakMap=="function"?WeakMap:Map;function Xf(e,t,n){n=Kt(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){us||(us=!0,yu=r),ou(e,t)},n}function Yf(e,t,n){n=Kt(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){ou(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){ou(e,t),typeof r!="function"&&(Sn===null?Sn=new Set([this]):Sn.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Dc(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new vg;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=Rg.bind(null,e,t,n),t.then(e,e))}function Oc(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Fc(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Kt(-1,1),t.tag=2,kn(n,t,1))),n.lanes|=1),e)}var wg=Gt.ReactCurrentOwner,Je=!1;function Ke(e,t,n,r){t.child=e===null?_f(t,null,n,r):$r(t,e.child,n,r)}function $c(e,t,n,r,l){n=n.render;var i=t.ref;return Mr(t,l),r=bu(e,t,n,r,i,l),n=ea(),e!==null&&!Je?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Yt(e,t,l)):(me&&n&&Uu(t),t.flags|=1,Ke(e,t,r,l),t.child)}function Wc(e,t,n,r,l){if(e===null){var i=n.type;return typeof i=="function"&&!ca(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Gf(e,t,i,r,l)):(e=Ui(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&l)){var o=i.memoizedProps;if(n=n.compare,n=n!==null?n:Ml,n(o,r)&&e.ref===t.ref)return Yt(e,t,l)}return t.flags|=1,e=En(i,r),e.ref=t.ref,e.return=t,t.child=e}function Gf(e,t,n,r,l){if(e!==null){var i=e.memoizedProps;if(Ml(i,r)&&e.ref===t.ref)if(Je=!1,t.pendingProps=r=i,(e.lanes&l)!==0)e.flags&131072&&(Je=!0);else return t.lanes=e.lanes,Yt(e,t,l)}return uu(e,t,n,r,l)}function Zf(e,t,n){var r=t.pendingProps,l=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ae(Ir,nt),nt|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ae(Ir,nt),nt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,ae(Ir,nt),nt|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,ae(Ir,nt),nt|=r;return Ke(e,t,l,n),t.child}function Jf(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function uu(e,t,n,r,l){var i=be(n)?bn:Be.current;return i=Or(t,i),Mr(t,l),n=bu(e,t,n,r,i,l),r=ea(),e!==null&&!Je?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Yt(e,t,l)):(me&&r&&Uu(t),t.flags|=1,Ke(e,t,n,l),t.child)}function Uc(e,t,n,r,l){if(be(n)){var i=!0;qi(t)}else i=!1;if(Mr(t,l),t.stateNode===null)Fi(e,t),Qf(t,n,r),su(t,n,r,l),r=!0;else if(e===null){var o=t.stateNode,a=t.memoizedProps;o.props=a;var p=o.context,y=n.contextType;typeof y=="object"&&y!==null?y=mt(y):(y=be(n)?bn:Be.current,y=Or(t,y));var N=n.getDerivedStateFromProps,k=typeof N=="function"||typeof o.getSnapshotBeforeUpdate=="function";k||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||p!==y)&&zc(t,o,r,y),fn=!1;var S=t.memoizedState;o.state=S,rs(t,r,o,l),p=t.memoizedState,a!==r||S!==p||qe.current||fn?(typeof N=="function"&&(iu(t,n,N,r),p=t.memoizedState),(a=fn||Mc(t,n,a,r,S,p,y))?(k||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=p),o.props=r,o.state=p,o.context=y,r=a):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,jf(e,t),a=t.memoizedProps,y=t.type===t.elementType?a:St(t.type,a),o.props=y,k=t.pendingProps,S=o.context,p=n.contextType,typeof p=="object"&&p!==null?p=mt(p):(p=be(n)?bn:Be.current,p=Or(t,p));var R=n.getDerivedStateFromProps;(N=typeof R=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==k||S!==p)&&zc(t,o,r,p),fn=!1,S=t.memoizedState,o.state=S,rs(t,r,o,l);var _=t.memoizedState;a!==k||S!==_||qe.current||fn?(typeof R=="function"&&(iu(t,n,R,r),_=t.memoizedState),(y=fn||Mc(t,n,y,r,S,_,p)||!1)?(N||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,_,p),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,_,p)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&S===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&S===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=_),o.props=r,o.state=_,o.context=p,r=y):(typeof o.componentDidUpdate!="function"||a===e.memoizedProps&&S===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===e.memoizedProps&&S===e.memoizedState||(t.flags|=1024),r=!1)}return au(e,t,n,r,i,l)}function au(e,t,n,r,l,i){Jf(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return l&&Cc(t,n,!1),Yt(e,t,i);r=t.stateNode,wg.current=t;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=$r(t,e.child,null,i),t.child=$r(t,null,a,i)):Ke(e,t,a,i),t.memoizedState=r.state,l&&Cc(t,n,!0),t.child}function qf(e){var t=e.stateNode;t.pendingContext?jc(e,t.pendingContext,t.pendingContext!==t.context):t.context&&jc(e,t.context,!1),Gu(e,t.containerInfo)}function Bc(e,t,n,r,l){return Fr(),Hu(l),t.flags|=256,Ke(e,t,n,r),t.child}var cu={dehydrated:null,treeContext:null,retryLane:0};function du(e){return{baseLanes:e,cachePool:null,transitions:null}}function bf(e,t,n){var r=t.pendingProps,l=we.current,i=!1,o=(t.flags&128)!==0,a;if((a=o)||(a=e!==null&&e.memoizedState===null?!1:(l&2)!==0),a?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),ae(we,l&1),e===null)return ru(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,i?(r=t.mode,i=t.child,o={mode:"hidden",children:o},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=o):i=_s(o,r,0,null),e=qn(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=du(n),t.memoizedState=cu,e):ra(t,o));if(l=e.memoizedState,l!==null&&(a=l.dehydrated,a!==null))return xg(e,t,o,r,a,l,n);if(i){i=r.fallback,o=t.mode,l=e.child,a=l.sibling;var p={mode:"hidden",children:r.children};return!(o&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=p,t.deletions=null):(r=En(l,p),r.subtreeFlags=l.subtreeFlags&14680064),a!==null?i=En(a,i):(i=qn(i,o,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,o=e.child.memoizedState,o=o===null?du(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~n,t.memoizedState=cu,r}return i=e.child,e=i.sibling,r=En(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function ra(e,t){return t=_s({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Ei(e,t,n,r){return r!==null&&Hu(r),$r(t,e.child,null,n),e=ra(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function xg(e,t,n,r,l,i,o){if(n)return t.flags&256?(t.flags&=-257,r=So(Error(P(422))),Ei(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,l=t.mode,r=_s({mode:"visible",children:r.children},l,0,null),i=qn(i,l,o,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&$r(t,e.child,null,o),t.child.memoizedState=du(o),t.memoizedState=cu,i);if(!(t.mode&1))return Ei(e,t,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var a=r.dgst;return r=a,i=Error(P(419)),r=So(i,r,void 0),Ei(e,t,o,r)}if(a=(o&e.childLanes)!==0,Je||a){if(r=Re,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|o)?0:l,l!==0&&l!==i.retryLane&&(i.retryLane=l,Xt(e,l),Nt(r,e,l,-1))}return aa(),r=So(Error(P(421))),Ei(e,t,o,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=Ag.bind(null,e),l._reactRetry=t,null):(e=i.treeContext,rt=xn(l.nextSibling),lt=t,me=!0,jt=null,e!==null&&(dt[ft++]=Bt,dt[ft++]=Ht,dt[ft++]=er,Bt=e.id,Ht=e.overflow,er=t),t=ra(t,r.children),t.flags|=4096,t)}function Hc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),lu(e.return,t,n)}function _o(e,t,n,r,l){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=l)}function ep(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(Ke(e,t,r.children,n),r=we.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Hc(e,n,t);else if(e.tag===19)Hc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ae(we,r),!(t.mode&1))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&ls(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),_o(t,!1,l,n,i);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&ls(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}_o(t,!0,n,null,i);break;case"together":_o(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Fi(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Yt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),nr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(P(153));if(t.child!==null){for(e=t.child,n=En(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=En(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function kg(e,t,n){switch(t.tag){case 3:qf(t),Fr();break;case 5:Cf(t);break;case 1:be(t.type)&&qi(t);break;case 4:Gu(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;ae(ts,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ae(we,we.current&1),t.flags|=128,null):n&t.child.childLanes?bf(e,t,n):(ae(we,we.current&1),e=Yt(e,t,n),e!==null?e.sibling:null);ae(we,we.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return ep(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ae(we,we.current),r)break;return null;case 22:case 23:return t.lanes=0,Zf(e,t,n)}return Yt(e,t,n)}var tp,fu,np,rp;tp=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};fu=function(){};np=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,Zn(Dt.current);var i=null;switch(n){case"input":l=Mo(e,l),r=Mo(e,r),i=[];break;case"select":l=ke({},l,{value:void 0}),r=ke({},r,{value:void 0}),i=[];break;case"textarea":l=Oo(e,l),r=Oo(e,r),i=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Zi)}$o(n,r);var o;n=null;for(y in l)if(!r.hasOwnProperty(y)&&l.hasOwnProperty(y)&&l[y]!=null)if(y==="style"){var a=l[y];for(o in a)a.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else y!=="dangerouslySetInnerHTML"&&y!=="children"&&y!=="suppressContentEditableWarning"&&y!=="suppressHydrationWarning"&&y!=="autoFocus"&&(Nl.hasOwnProperty(y)?i||(i=[]):(i=i||[]).push(y,null));for(y in r){var p=r[y];if(a=l!=null?l[y]:void 0,r.hasOwnProperty(y)&&p!==a&&(p!=null||a!=null))if(y==="style")if(a){for(o in a)!a.hasOwnProperty(o)||p&&p.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in p)p.hasOwnProperty(o)&&a[o]!==p[o]&&(n||(n={}),n[o]=p[o])}else n||(i||(i=[]),i.push(y,n)),n=p;else y==="dangerouslySetInnerHTML"?(p=p?p.__html:void 0,a=a?a.__html:void 0,p!=null&&a!==p&&(i=i||[]).push(y,p)):y==="children"?typeof p!="string"&&typeof p!="number"||(i=i||[]).push(y,""+p):y!=="suppressContentEditableWarning"&&y!=="suppressHydrationWarning"&&(Nl.hasOwnProperty(y)?(p!=null&&y==="onScroll"&&de("scroll",e),i||a===p||(i=[])):(i=i||[]).push(y,p))}n&&(i=i||[]).push("style",n);var y=i;(t.updateQueue=y)&&(t.flags|=4)}};rp=function(e,t,n,r){n!==r&&(t.flags|=4)};function fl(e,t){if(!me)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function We(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Sg(e,t,n){var r=t.pendingProps;switch(Bu(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return We(t),null;case 1:return be(t.type)&&Ji(),We(t),null;case 3:return r=t.stateNode,Wr(),fe(qe),fe(Be),Ju(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Si(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,jt!==null&&(xu(jt),jt=null))),fu(e,t),We(t),null;case 5:Zu(t);var l=Zn($l.current);if(n=t.type,e!==null&&t.stateNode!=null)np(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(P(166));return We(t),null}if(e=Zn(Dt.current),Si(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[Mt]=t,r[Ol]=i,e=(t.mode&1)!==0,n){case"dialog":de("cancel",r),de("close",r);break;case"iframe":case"object":case"embed":de("load",r);break;case"video":case"audio":for(l=0;l<yl.length;l++)de(yl[l],r);break;case"source":de("error",r);break;case"img":case"image":case"link":de("error",r),de("load",r);break;case"details":de("toggle",r);break;case"input":qa(r,i),de("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},de("invalid",r);break;case"textarea":ec(r,i),de("invalid",r)}$o(n,i),l=null;for(var o in i)if(i.hasOwnProperty(o)){var a=i[o];o==="children"?typeof a=="string"?r.textContent!==a&&(i.suppressHydrationWarning!==!0&&ki(r.textContent,a,e),l=["children",a]):typeof a=="number"&&r.textContent!==""+a&&(i.suppressHydrationWarning!==!0&&ki(r.textContent,a,e),l=["children",""+a]):Nl.hasOwnProperty(o)&&a!=null&&o==="onScroll"&&de("scroll",r)}switch(n){case"input":pi(r),ba(r,i,!0);break;case"textarea":pi(r),tc(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=Zi)}r=l,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=l.nodeType===9?l:l.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Pd(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Mt]=t,e[Ol]=r,tp(e,t,!1,!1),t.stateNode=e;e:{switch(o=Wo(n,r),n){case"dialog":de("cancel",e),de("close",e),l=r;break;case"iframe":case"object":case"embed":de("load",e),l=r;break;case"video":case"audio":for(l=0;l<yl.length;l++)de(yl[l],e);l=r;break;case"source":de("error",e),l=r;break;case"img":case"image":case"link":de("error",e),de("load",e),l=r;break;case"details":de("toggle",e),l=r;break;case"input":qa(e,r),l=Mo(e,r),de("invalid",e);break;case"option":l=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},l=ke({},r,{value:void 0}),de("invalid",e);break;case"textarea":ec(e,r),l=Oo(e,r),de("invalid",e);break;default:l=r}$o(n,l),a=l;for(i in a)if(a.hasOwnProperty(i)){var p=a[i];i==="style"?Ad(e,p):i==="dangerouslySetInnerHTML"?(p=p?p.__html:void 0,p!=null&&Ld(e,p)):i==="children"?typeof p=="string"?(n!=="textarea"||p!=="")&&Tl(e,p):typeof p=="number"&&Tl(e,""+p):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Nl.hasOwnProperty(i)?p!=null&&i==="onScroll"&&de("scroll",e):p!=null&&Nu(e,i,p,o))}switch(n){case"input":pi(e),ba(e,r,!1);break;case"textarea":pi(e),tc(e);break;case"option":r.value!=null&&e.setAttribute("value",""+jn(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?Pr(e,!!r.multiple,i,!1):r.defaultValue!=null&&Pr(e,!!r.multiple,r.defaultValue,!0);break;default:typeof l.onClick=="function"&&(e.onclick=Zi)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return We(t),null;case 6:if(e&&t.stateNode!=null)rp(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(P(166));if(n=Zn($l.current),Zn(Dt.current),Si(t)){if(r=t.stateNode,n=t.memoizedProps,r[Mt]=t,(i=r.nodeValue!==n)&&(e=lt,e!==null))switch(e.tag){case 3:ki(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ki(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Mt]=t,t.stateNode=r}return We(t),null;case 13:if(fe(we),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(me&&rt!==null&&t.mode&1&&!(t.flags&128))kf(),Fr(),t.flags|=98560,i=!1;else if(i=Si(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(P(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(P(317));i[Mt]=t}else Fr(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;We(t),i=!1}else jt!==null&&(xu(jt),jt=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||we.current&1?Ie===0&&(Ie=3):aa())),t.updateQueue!==null&&(t.flags|=4),We(t),null);case 4:return Wr(),fu(e,t),e===null&&zl(t.stateNode.containerInfo),We(t),null;case 10:return Qu(t.type._context),We(t),null;case 17:return be(t.type)&&Ji(),We(t),null;case 19:if(fe(we),i=t.memoizedState,i===null)return We(t),null;if(r=(t.flags&128)!==0,o=i.rendering,o===null)if(r)fl(i,!1);else{if(Ie!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=ls(e),o!==null){for(t.flags|=128,fl(i,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,o=i.alternate,o===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=o.childLanes,i.lanes=o.lanes,i.child=o.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=o.memoizedProps,i.memoizedState=o.memoizedState,i.updateQueue=o.updateQueue,i.type=o.type,e=o.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ae(we,we.current&1|2),t.child}e=e.sibling}i.tail!==null&&Ee()>Br&&(t.flags|=128,r=!0,fl(i,!1),t.lanes=4194304)}else{if(!r)if(e=ls(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),fl(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!me)return We(t),null}else 2*Ee()-i.renderingStartTime>Br&&n!==1073741824&&(t.flags|=128,r=!0,fl(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ee(),t.sibling=null,n=we.current,ae(we,r?n&1|2:n&1),t):(We(t),null);case 22:case 23:return ua(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?nt&1073741824&&(We(t),t.subtreeFlags&6&&(t.flags|=8192)):We(t),null;case 24:return null;case 25:return null}throw Error(P(156,t.tag))}function _g(e,t){switch(Bu(t),t.tag){case 1:return be(t.type)&&Ji(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Wr(),fe(qe),fe(Be),Ju(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Zu(t),null;case 13:if(fe(we),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(P(340));Fr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return fe(we),null;case 4:return Wr(),null;case 10:return Qu(t.type._context),null;case 22:case 23:return ua(),null;case 24:return null;default:return null}}var ji=!1,Ue=!1,Eg=typeof WeakSet=="function"?WeakSet:Set,H=null;function Tr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){_e(e,t,r)}else n.current=null}function pu(e,t,n){try{n()}catch(r){_e(e,t,r)}}var Kc=!1;function jg(e,t){if(Zo=Xi,e=uf(),Wu(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,a=-1,p=-1,y=0,N=0,k=e,S=null;t:for(;;){for(var R;k!==n||l!==0&&k.nodeType!==3||(a=o+l),k!==i||r!==0&&k.nodeType!==3||(p=o+r),k.nodeType===3&&(o+=k.nodeValue.length),(R=k.firstChild)!==null;)S=k,k=R;for(;;){if(k===e)break t;if(S===n&&++y===l&&(a=o),S===i&&++N===r&&(p=o),(R=k.nextSibling)!==null)break;k=S,S=k.parentNode}k=R}n=a===-1||p===-1?null:{start:a,end:p}}else n=null}n=n||{start:0,end:0}}else n=null;for(Jo={focusedElem:e,selectionRange:n},Xi=!1,H=t;H!==null;)if(t=H,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,H=e;else for(;H!==null;){t=H;try{var _=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(_!==null){var M=_.memoizedProps,V=_.memoizedState,g=t.stateNode,m=g.getSnapshotBeforeUpdate(t.elementType===t.type?M:St(t.type,M),V);g.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(P(163))}}catch(I){_e(t,t.return,I)}if(e=t.sibling,e!==null){e.return=t.return,H=e;break}H=t.return}return _=Kc,Kc=!1,_}function El(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&pu(t,n,i)}l=l.next}while(l!==r)}}function ks(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function hu(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function lp(e){var t=e.alternate;t!==null&&(e.alternate=null,lp(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Mt],delete t[Ol],delete t[eu],delete t[og],delete t[ug])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ip(e){return e.tag===5||e.tag===3||e.tag===4}function Vc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ip(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function mu(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Zi));else if(r!==4&&(e=e.child,e!==null))for(mu(e,t,n),e=e.sibling;e!==null;)mu(e,t,n),e=e.sibling}function gu(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(gu(e,t,n),e=e.sibling;e!==null;)gu(e,t,n),e=e.sibling}var Ae=null,_t=!1;function an(e,t,n){for(n=n.child;n!==null;)sp(e,t,n),n=n.sibling}function sp(e,t,n){if(zt&&typeof zt.onCommitFiberUnmount=="function")try{zt.onCommitFiberUnmount(ps,n)}catch{}switch(n.tag){case 5:Ue||Tr(n,t);case 6:var r=Ae,l=_t;Ae=null,an(e,t,n),Ae=r,_t=l,Ae!==null&&(_t?(e=Ae,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):Ae.removeChild(n.stateNode));break;case 18:Ae!==null&&(_t?(e=Ae,n=n.stateNode,e.nodeType===8?go(e.parentNode,n):e.nodeType===1&&go(e,n),Rl(e)):go(Ae,n.stateNode));break;case 4:r=Ae,l=_t,Ae=n.stateNode.containerInfo,_t=!0,an(e,t,n),Ae=r,_t=l;break;case 0:case 11:case 14:case 15:if(!Ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&(i&2||i&4)&&pu(n,t,o),l=l.next}while(l!==r)}an(e,t,n);break;case 1:if(!Ue&&(Tr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){_e(n,t,a)}an(e,t,n);break;case 21:an(e,t,n);break;case 22:n.mode&1?(Ue=(r=Ue)||n.memoizedState!==null,an(e,t,n),Ue=r):an(e,t,n);break;default:an(e,t,n)}}function Qc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Eg),t.forEach(function(r){var l=Mg.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function kt(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var l=n[r];try{var i=e,o=t,a=o;e:for(;a!==null;){switch(a.tag){case 5:Ae=a.stateNode,_t=!1;break e;case 3:Ae=a.stateNode.containerInfo,_t=!0;break e;case 4:Ae=a.stateNode.containerInfo,_t=!0;break e}a=a.return}if(Ae===null)throw Error(P(160));sp(i,o,l),Ae=null,_t=!1;var p=l.alternate;p!==null&&(p.return=null),l.return=null}catch(y){_e(l,t,y)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)op(t,e),t=t.sibling}function op(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(kt(t,e),Rt(e),r&4){try{El(3,e,e.return),ks(3,e)}catch(M){_e(e,e.return,M)}try{El(5,e,e.return)}catch(M){_e(e,e.return,M)}}break;case 1:kt(t,e),Rt(e),r&512&&n!==null&&Tr(n,n.return);break;case 5:if(kt(t,e),Rt(e),r&512&&n!==null&&Tr(n,n.return),e.flags&32){var l=e.stateNode;try{Tl(l,"")}catch(M){_e(e,e.return,M)}}if(r&4&&(l=e.stateNode,l!=null)){var i=e.memoizedProps,o=n!==null?n.memoizedProps:i,a=e.type,p=e.updateQueue;if(e.updateQueue=null,p!==null)try{a==="input"&&i.type==="radio"&&i.name!=null&&Td(l,i),Wo(a,o);var y=Wo(a,i);for(o=0;o<p.length;o+=2){var N=p[o],k=p[o+1];N==="style"?Ad(l,k):N==="dangerouslySetInnerHTML"?Ld(l,k):N==="children"?Tl(l,k):Nu(l,N,k,y)}switch(a){case"input":zo(l,i);break;case"textarea":Id(l,i);break;case"select":var S=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!i.multiple;var R=i.value;R!=null?Pr(l,!!i.multiple,R,!1):S!==!!i.multiple&&(i.defaultValue!=null?Pr(l,!!i.multiple,i.defaultValue,!0):Pr(l,!!i.multiple,i.multiple?[]:"",!1))}l[Ol]=i}catch(M){_e(e,e.return,M)}}break;case 6:if(kt(t,e),Rt(e),r&4){if(e.stateNode===null)throw Error(P(162));l=e.stateNode,i=e.memoizedProps;try{l.nodeValue=i}catch(M){_e(e,e.return,M)}}break;case 3:if(kt(t,e),Rt(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Rl(t.containerInfo)}catch(M){_e(e,e.return,M)}break;case 4:kt(t,e),Rt(e);break;case 13:kt(t,e),Rt(e),l=e.child,l.flags&8192&&(i=l.memoizedState!==null,l.stateNode.isHidden=i,!i||l.alternate!==null&&l.alternate.memoizedState!==null||(sa=Ee())),r&4&&Qc(e);break;case 22:if(N=n!==null&&n.memoizedState!==null,e.mode&1?(Ue=(y=Ue)||N,kt(t,e),Ue=y):kt(t,e),Rt(e),r&8192){if(y=e.memoizedState!==null,(e.stateNode.isHidden=y)&&!N&&e.mode&1)for(H=e,N=e.child;N!==null;){for(k=H=N;H!==null;){switch(S=H,R=S.child,S.tag){case 0:case 11:case 14:case 15:El(4,S,S.return);break;case 1:Tr(S,S.return);var _=S.stateNode;if(typeof _.componentWillUnmount=="function"){r=S,n=S.return;try{t=r,_.props=t.memoizedProps,_.state=t.memoizedState,_.componentWillUnmount()}catch(M){_e(r,n,M)}}break;case 5:Tr(S,S.return);break;case 22:if(S.memoizedState!==null){Yc(k);continue}}R!==null?(R.return=S,H=R):Yc(k)}N=N.sibling}e:for(N=null,k=e;;){if(k.tag===5){if(N===null){N=k;try{l=k.stateNode,y?(i=l.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(a=k.stateNode,p=k.memoizedProps.style,o=p!=null&&p.hasOwnProperty("display")?p.display:null,a.style.display=Rd("display",o))}catch(M){_e(e,e.return,M)}}}else if(k.tag===6){if(N===null)try{k.stateNode.nodeValue=y?"":k.memoizedProps}catch(M){_e(e,e.return,M)}}else if((k.tag!==22&&k.tag!==23||k.memoizedState===null||k===e)&&k.child!==null){k.child.return=k,k=k.child;continue}if(k===e)break e;for(;k.sibling===null;){if(k.return===null||k.return===e)break e;N===k&&(N=null),k=k.return}N===k&&(N=null),k.sibling.return=k.return,k=k.sibling}}break;case 19:kt(t,e),Rt(e),r&4&&Qc(e);break;case 21:break;default:kt(t,e),Rt(e)}}function Rt(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(ip(n)){var r=n;break e}n=n.return}throw Error(P(160))}switch(r.tag){case 5:var l=r.stateNode;r.flags&32&&(Tl(l,""),r.flags&=-33);var i=Vc(e);gu(e,i,l);break;case 3:case 4:var o=r.stateNode.containerInfo,a=Vc(e);mu(e,a,o);break;default:throw Error(P(161))}}catch(p){_e(e,e.return,p)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Cg(e,t,n){H=e,up(e)}function up(e,t,n){for(var r=(e.mode&1)!==0;H!==null;){var l=H,i=l.child;if(l.tag===22&&r){var o=l.memoizedState!==null||ji;if(!o){var a=l.alternate,p=a!==null&&a.memoizedState!==null||Ue;a=ji;var y=Ue;if(ji=o,(Ue=p)&&!y)for(H=l;H!==null;)o=H,p=o.child,o.tag===22&&o.memoizedState!==null?Gc(l):p!==null?(p.return=o,H=p):Gc(l);for(;i!==null;)H=i,up(i),i=i.sibling;H=l,ji=a,Ue=y}Xc(e)}else l.subtreeFlags&8772&&i!==null?(i.return=l,H=i):Xc(e)}}function Xc(e){for(;H!==null;){var t=H;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:Ue||ks(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!Ue)if(n===null)r.componentDidMount();else{var l=t.elementType===t.type?n.memoizedProps:St(t.type,n.memoizedProps);r.componentDidUpdate(l,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&Lc(t,i,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Lc(t,o,n)}break;case 5:var a=t.stateNode;if(n===null&&t.flags&4){n=a;var p=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":p.autoFocus&&n.focus();break;case"img":p.src&&(n.src=p.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var y=t.alternate;if(y!==null){var N=y.memoizedState;if(N!==null){var k=N.dehydrated;k!==null&&Rl(k)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(P(163))}Ue||t.flags&512&&hu(t)}catch(S){_e(t,t.return,S)}}if(t===e){H=null;break}if(n=t.sibling,n!==null){n.return=t.return,H=n;break}H=t.return}}function Yc(e){for(;H!==null;){var t=H;if(t===e){H=null;break}var n=t.sibling;if(n!==null){n.return=t.return,H=n;break}H=t.return}}function Gc(e){for(;H!==null;){var t=H;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ks(4,t)}catch(p){_e(t,n,p)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var l=t.return;try{r.componentDidMount()}catch(p){_e(t,l,p)}}var i=t.return;try{hu(t)}catch(p){_e(t,i,p)}break;case 5:var o=t.return;try{hu(t)}catch(p){_e(t,o,p)}}}catch(p){_e(t,t.return,p)}if(t===e){H=null;break}var a=t.sibling;if(a!==null){a.return=t.return,H=a;break}H=t.return}}var Ng=Math.ceil,os=Gt.ReactCurrentDispatcher,la=Gt.ReactCurrentOwner,ht=Gt.ReactCurrentBatchConfig,le=0,Re=null,Ne=null,Me=0,nt=0,Ir=Tn(0),Ie=0,Hl=null,nr=0,Ss=0,ia=0,jl=null,Ze=null,sa=0,Br=1/0,Wt=null,us=!1,yu=null,Sn=null,Ci=!1,gn=null,as=0,Cl=0,vu=null,$i=-1,Wi=0;function Ve(){return le&6?Ee():$i!==-1?$i:$i=Ee()}function _n(e){return e.mode&1?le&2&&Me!==0?Me&-Me:cg.transition!==null?(Wi===0&&(Wi=Vd()),Wi):(e=se,e!==0||(e=window.event,e=e===void 0?16:qd(e.type)),e):1}function Nt(e,t,n,r){if(50<Cl)throw Cl=0,vu=null,Error(P(185));Vl(e,n,r),(!(le&2)||e!==Re)&&(e===Re&&(!(le&2)&&(Ss|=n),Ie===4&&hn(e,Me)),et(e,r),n===1&&le===0&&!(t.mode&1)&&(Br=Ee()+500,vs&&In()))}function et(e,t){var n=e.callbackNode;cm(e,t);var r=Qi(e,e===Re?Me:0);if(r===0)n!==null&&lc(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&lc(n),t===1)e.tag===0?ag(Zc.bind(null,e)):vf(Zc.bind(null,e)),ig(function(){!(le&6)&&In()}),n=null;else{switch(Qd(r)){case 1:n=Ru;break;case 4:n=Hd;break;case 16:n=Vi;break;case 536870912:n=Kd;break;default:n=Vi}n=gp(n,ap.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ap(e,t){if($i=-1,Wi=0,le&6)throw Error(P(327));var n=e.callbackNode;if(zr()&&e.callbackNode!==n)return null;var r=Qi(e,e===Re?Me:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=cs(e,r);else{t=r;var l=le;le|=2;var i=dp();(Re!==e||Me!==t)&&(Wt=null,Br=Ee()+500,Jn(e,t));do try{Pg();break}catch(a){cp(e,a)}while(!0);Vu(),os.current=i,le=l,Ne!==null?t=0:(Re=null,Me=0,t=Ie)}if(t!==0){if(t===2&&(l=Vo(e),l!==0&&(r=l,t=wu(e,l))),t===1)throw n=Hl,Jn(e,0),hn(e,r),et(e,Ee()),n;if(t===6)hn(e,r);else{if(l=e.current.alternate,!(r&30)&&!Tg(l)&&(t=cs(e,r),t===2&&(i=Vo(e),i!==0&&(r=i,t=wu(e,i))),t===1))throw n=Hl,Jn(e,0),hn(e,r),et(e,Ee()),n;switch(e.finishedWork=l,e.finishedLanes=r,t){case 0:case 1:throw Error(P(345));case 2:Xn(e,Ze,Wt);break;case 3:if(hn(e,r),(r&130023424)===r&&(t=sa+500-Ee(),10<t)){if(Qi(e,0)!==0)break;if(l=e.suspendedLanes,(l&r)!==r){Ve(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=bo(Xn.bind(null,e,Ze,Wt),t);break}Xn(e,Ze,Wt);break;case 4:if(hn(e,r),(r&4194240)===r)break;for(t=e.eventTimes,l=-1;0<r;){var o=31-Ct(r);i=1<<o,o=t[o],o>l&&(l=o),r&=~i}if(r=l,r=Ee()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ng(r/1960))-r,10<r){e.timeoutHandle=bo(Xn.bind(null,e,Ze,Wt),r);break}Xn(e,Ze,Wt);break;case 5:Xn(e,Ze,Wt);break;default:throw Error(P(329))}}}return et(e,Ee()),e.callbackNode===n?ap.bind(null,e):null}function wu(e,t){var n=jl;return e.current.memoizedState.isDehydrated&&(Jn(e,t).flags|=256),e=cs(e,t),e!==2&&(t=Ze,Ze=n,t!==null&&xu(t)),e}function xu(e){Ze===null?Ze=e:Ze.push.apply(Ze,e)}function Tg(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var l=n[r],i=l.getSnapshot;l=l.value;try{if(!Tt(i(),l))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function hn(e,t){for(t&=~ia,t&=~Ss,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Ct(t),r=1<<n;e[n]=-1,t&=~r}}function Zc(e){if(le&6)throw Error(P(327));zr();var t=Qi(e,0);if(!(t&1))return et(e,Ee()),null;var n=cs(e,t);if(e.tag!==0&&n===2){var r=Vo(e);r!==0&&(t=r,n=wu(e,r))}if(n===1)throw n=Hl,Jn(e,0),hn(e,t),et(e,Ee()),n;if(n===6)throw Error(P(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Xn(e,Ze,Wt),et(e,Ee()),null}function oa(e,t){var n=le;le|=1;try{return e(t)}finally{le=n,le===0&&(Br=Ee()+500,vs&&In())}}function rr(e){gn!==null&&gn.tag===0&&!(le&6)&&zr();var t=le;le|=1;var n=ht.transition,r=se;try{if(ht.transition=null,se=1,e)return e()}finally{se=r,ht.transition=n,le=t,!(le&6)&&In()}}function ua(){nt=Ir.current,fe(Ir)}function Jn(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,lg(n)),Ne!==null)for(n=Ne.return;n!==null;){var r=n;switch(Bu(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Ji();break;case 3:Wr(),fe(qe),fe(Be),Ju();break;case 5:Zu(r);break;case 4:Wr();break;case 13:fe(we);break;case 19:fe(we);break;case 10:Qu(r.type._context);break;case 22:case 23:ua()}n=n.return}if(Re=e,Ne=e=En(e.current,null),Me=nt=t,Ie=0,Hl=null,ia=Ss=nr=0,Ze=jl=null,Gn!==null){for(t=0;t<Gn.length;t++)if(n=Gn[t],r=n.interleaved,r!==null){n.interleaved=null;var l=r.next,i=n.pending;if(i!==null){var o=i.next;i.next=l,r.next=o}n.pending=r}Gn=null}return e}function cp(e,t){do{var n=Ne;try{if(Vu(),Di.current=ss,is){for(var r=xe.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}is=!1}if(tr=0,Le=Te=xe=null,_l=!1,Wl=0,la.current=null,n===null||n.return===null){Ie=1,Hl=t,Ne=null;break}e:{var i=e,o=n.return,a=n,p=t;if(t=Me,a.flags|=32768,p!==null&&typeof p=="object"&&typeof p.then=="function"){var y=p,N=a,k=N.tag;if(!(N.mode&1)&&(k===0||k===11||k===15)){var S=N.alternate;S?(N.updateQueue=S.updateQueue,N.memoizedState=S.memoizedState,N.lanes=S.lanes):(N.updateQueue=null,N.memoizedState=null)}var R=Oc(o);if(R!==null){R.flags&=-257,Fc(R,o,a,i,t),R.mode&1&&Dc(i,y,t),t=R,p=y;var _=t.updateQueue;if(_===null){var M=new Set;M.add(p),t.updateQueue=M}else _.add(p);break e}else{if(!(t&1)){Dc(i,y,t),aa();break e}p=Error(P(426))}}else if(me&&a.mode&1){var V=Oc(o);if(V!==null){!(V.flags&65536)&&(V.flags|=256),Fc(V,o,a,i,t),Hu(Ur(p,a));break e}}i=p=Ur(p,a),Ie!==4&&(Ie=2),jl===null?jl=[i]:jl.push(i),i=o;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var g=Xf(i,p,t);Pc(i,g);break e;case 1:a=p;var m=i.type,v=i.stateNode;if(!(i.flags&128)&&(typeof m.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(Sn===null||!Sn.has(v)))){i.flags|=65536,t&=-t,i.lanes|=t;var I=Yf(i,a,t);Pc(i,I);break e}}i=i.return}while(i!==null)}pp(n)}catch(z){t=z,Ne===n&&n!==null&&(Ne=n=n.return);continue}break}while(!0)}function dp(){var e=os.current;return os.current=ss,e===null?ss:e}function aa(){(Ie===0||Ie===3||Ie===2)&&(Ie=4),Re===null||!(nr&268435455)&&!(Ss&268435455)||hn(Re,Me)}function cs(e,t){var n=le;le|=2;var r=dp();(Re!==e||Me!==t)&&(Wt=null,Jn(e,t));do try{Ig();break}catch(l){cp(e,l)}while(!0);if(Vu(),le=n,os.current=r,Ne!==null)throw Error(P(261));return Re=null,Me=0,Ie}function Ig(){for(;Ne!==null;)fp(Ne)}function Pg(){for(;Ne!==null&&!tm();)fp(Ne)}function fp(e){var t=mp(e.alternate,e,nt);e.memoizedProps=e.pendingProps,t===null?pp(e):Ne=t,la.current=null}function pp(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=_g(n,t),n!==null){n.flags&=32767,Ne=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ie=6,Ne=null;return}}else if(n=Sg(n,t,nt),n!==null){Ne=n;return}if(t=t.sibling,t!==null){Ne=t;return}Ne=t=e}while(t!==null);Ie===0&&(Ie=5)}function Xn(e,t,n){var r=se,l=ht.transition;try{ht.transition=null,se=1,Lg(e,t,n,r)}finally{ht.transition=l,se=r}return null}function Lg(e,t,n,r){do zr();while(gn!==null);if(le&6)throw Error(P(327));n=e.finishedWork;var l=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(P(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(dm(e,i),e===Re&&(Ne=Re=null,Me=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Ci||(Ci=!0,gp(Vi,function(){return zr(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=ht.transition,ht.transition=null;var o=se;se=1;var a=le;le|=4,la.current=null,jg(e,n),op(n,e),Jm(Jo),Xi=!!Zo,Jo=Zo=null,e.current=n,Cg(n),nm(),le=a,se=o,ht.transition=i}else e.current=n;if(Ci&&(Ci=!1,gn=e,as=l),i=e.pendingLanes,i===0&&(Sn=null),im(n.stateNode),et(e,Ee()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)l=t[n],r(l.value,{componentStack:l.stack,digest:l.digest});if(us)throw us=!1,e=yu,yu=null,e;return as&1&&e.tag!==0&&zr(),i=e.pendingLanes,i&1?e===vu?Cl++:(Cl=0,vu=e):Cl=0,In(),null}function zr(){if(gn!==null){var e=Qd(as),t=ht.transition,n=se;try{if(ht.transition=null,se=16>e?16:e,gn===null)var r=!1;else{if(e=gn,gn=null,as=0,le&6)throw Error(P(331));var l=le;for(le|=4,H=e.current;H!==null;){var i=H,o=i.child;if(H.flags&16){var a=i.deletions;if(a!==null){for(var p=0;p<a.length;p++){var y=a[p];for(H=y;H!==null;){var N=H;switch(N.tag){case 0:case 11:case 15:El(8,N,i)}var k=N.child;if(k!==null)k.return=N,H=k;else for(;H!==null;){N=H;var S=N.sibling,R=N.return;if(lp(N),N===y){H=null;break}if(S!==null){S.return=R,H=S;break}H=R}}}var _=i.alternate;if(_!==null){var M=_.child;if(M!==null){_.child=null;do{var V=M.sibling;M.sibling=null,M=V}while(M!==null)}}H=i}}if(i.subtreeFlags&2064&&o!==null)o.return=i,H=o;else e:for(;H!==null;){if(i=H,i.flags&2048)switch(i.tag){case 0:case 11:case 15:El(9,i,i.return)}var g=i.sibling;if(g!==null){g.return=i.return,H=g;break e}H=i.return}}var m=e.current;for(H=m;H!==null;){o=H;var v=o.child;if(o.subtreeFlags&2064&&v!==null)v.return=o,H=v;else e:for(o=m;H!==null;){if(a=H,a.flags&2048)try{switch(a.tag){case 0:case 11:case 15:ks(9,a)}}catch(z){_e(a,a.return,z)}if(a===o){H=null;break e}var I=a.sibling;if(I!==null){I.return=a.return,H=I;break e}H=a.return}}if(le=l,In(),zt&&typeof zt.onPostCommitFiberRoot=="function")try{zt.onPostCommitFiberRoot(ps,e)}catch{}r=!0}return r}finally{se=n,ht.transition=t}}return!1}function Jc(e,t,n){t=Ur(n,t),t=Xf(e,t,1),e=kn(e,t,1),t=Ve(),e!==null&&(Vl(e,1,t),et(e,t))}function _e(e,t,n){if(e.tag===3)Jc(e,e,n);else for(;t!==null;){if(t.tag===3){Jc(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Sn===null||!Sn.has(r))){e=Ur(n,e),e=Yf(t,e,1),t=kn(t,e,1),e=Ve(),t!==null&&(Vl(t,1,e),et(t,e));break}}t=t.return}}function Rg(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Ve(),e.pingedLanes|=e.suspendedLanes&n,Re===e&&(Me&n)===n&&(Ie===4||Ie===3&&(Me&130023424)===Me&&500>Ee()-sa?Jn(e,0):ia|=n),et(e,t)}function hp(e,t){t===0&&(e.mode&1?(t=gi,gi<<=1,!(gi&130023424)&&(gi=4194304)):t=1);var n=Ve();e=Xt(e,t),e!==null&&(Vl(e,t,n),et(e,n))}function Ag(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),hp(e,n)}function Mg(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(P(314))}r!==null&&r.delete(t),hp(e,n)}var mp;mp=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||qe.current)Je=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Je=!1,kg(e,t,n);Je=!!(e.flags&131072)}else Je=!1,me&&t.flags&1048576&&wf(t,es,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Fi(e,t),e=t.pendingProps;var l=Or(t,Be.current);Mr(t,n),l=bu(null,t,r,e,l,n);var i=ea();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,be(r)?(i=!0,qi(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Yu(t),l.updater=xs,t.stateNode=l,l._reactInternals=t,su(t,r,e,n),t=au(null,t,r,!0,i,n)):(t.tag=0,me&&i&&Uu(t),Ke(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Fi(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Dg(r),e=St(r,e),l){case 0:t=uu(null,t,r,e,n);break e;case 1:t=Uc(null,t,r,e,n);break e;case 11:t=$c(null,t,r,e,n);break e;case 14:t=Wc(null,t,r,St(r.type,e),n);break e}throw Error(P(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:St(r,l),uu(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:St(r,l),Uc(e,t,r,l,n);case 3:e:{if(qf(t),e===null)throw Error(P(387));r=t.pendingProps,i=t.memoizedState,l=i.element,jf(e,t),rs(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=Ur(Error(P(423)),t),t=Bc(e,t,r,n,l);break e}else if(r!==l){l=Ur(Error(P(424)),t),t=Bc(e,t,r,n,l);break e}else for(rt=xn(t.stateNode.containerInfo.firstChild),lt=t,me=!0,jt=null,n=_f(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Fr(),r===l){t=Yt(e,t,n);break e}Ke(e,t,r,n)}t=t.child}return t;case 5:return Cf(t),e===null&&ru(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,qo(r,l)?o=null:i!==null&&qo(r,i)&&(t.flags|=32),Jf(e,t),Ke(e,t,o,n),t.child;case 6:return e===null&&ru(t),null;case 13:return bf(e,t,n);case 4:return Gu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=$r(t,null,r,n):Ke(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:St(r,l),$c(e,t,r,l,n);case 7:return Ke(e,t,t.pendingProps,n),t.child;case 8:return Ke(e,t,t.pendingProps.children,n),t.child;case 12:return Ke(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,ae(ts,r._currentValue),r._currentValue=o,i!==null)if(Tt(i.value,o)){if(i.children===l.children&&!qe.current){t=Yt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){o=i.child;for(var p=a.firstContext;p!==null;){if(p.context===r){if(i.tag===1){p=Kt(-1,n&-n),p.tag=2;var y=i.updateQueue;if(y!==null){y=y.shared;var N=y.pending;N===null?p.next=p:(p.next=N.next,N.next=p),y.pending=p}}i.lanes|=n,p=i.alternate,p!==null&&(p.lanes|=n),lu(i.return,n,t),a.lanes|=n;break}p=p.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(P(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),lu(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}Ke(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Mr(t,n),l=mt(l),r=r(l),t.flags|=1,Ke(e,t,r,n),t.child;case 14:return r=t.type,l=St(r,t.pendingProps),l=St(r.type,l),Wc(e,t,r,l,n);case 15:return Gf(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:St(r,l),Fi(e,t),t.tag=1,be(r)?(e=!0,qi(t)):e=!1,Mr(t,n),Qf(t,r,l),su(t,r,l,n),au(null,t,r,!0,e,n);case 19:return ep(e,t,n);case 22:return Zf(e,t,n)}throw Error(P(156,t.tag))};function gp(e,t){return Bd(e,t)}function zg(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function pt(e,t,n,r){return new zg(e,t,n,r)}function ca(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Dg(e){if(typeof e=="function")return ca(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Iu)return 11;if(e===Pu)return 14}return 2}function En(e,t){var n=e.alternate;return n===null?(n=pt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ui(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")ca(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case wr:return qn(n.children,l,i,t);case Tu:o=8,l|=8;break;case Po:return e=pt(12,n,t,l|2),e.elementType=Po,e.lanes=i,e;case Lo:return e=pt(13,n,t,l),e.elementType=Lo,e.lanes=i,e;case Ro:return e=pt(19,n,t,l),e.elementType=Ro,e.lanes=i,e;case jd:return _s(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _d:o=10;break e;case Ed:o=9;break e;case Iu:o=11;break e;case Pu:o=14;break e;case dn:o=16,r=null;break e}throw Error(P(130,e==null?e:typeof e,""))}return t=pt(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function qn(e,t,n,r){return e=pt(7,e,r,t),e.lanes=n,e}function _s(e,t,n,r){return e=pt(22,e,r,t),e.elementType=jd,e.lanes=n,e.stateNode={isHidden:!1},e}function Eo(e,t,n){return e=pt(6,e,null,t),e.lanes=n,e}function jo(e,t,n){return t=pt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Og(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=lo(0),this.expirationTimes=lo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=lo(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function da(e,t,n,r,l,i,o,a,p){return e=new Og(e,t,n,a,p),t===1?(t=1,i===!0&&(t|=8)):t=0,i=pt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Yu(i),e}function Fg(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:vr,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function yp(e){if(!e)return Cn;e=e._reactInternals;e:{if(ir(e)!==e||e.tag!==1)throw Error(P(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(be(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(P(171))}if(e.tag===1){var n=e.type;if(be(n))return yf(e,n,t)}return t}function vp(e,t,n,r,l,i,o,a,p){return e=da(n,r,!0,e,l,i,o,a,p),e.context=yp(null),n=e.current,r=Ve(),l=_n(n),i=Kt(r,l),i.callback=t??null,kn(n,i,l),e.current.lanes=l,Vl(e,l,r),et(e,r),e}function Es(e,t,n,r){var l=t.current,i=Ve(),o=_n(l);return n=yp(n),t.context===null?t.context=n:t.pendingContext=n,t=Kt(i,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=kn(l,t,o),e!==null&&(Nt(e,l,o,i),zi(e,l,o)),o}function ds(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function qc(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function fa(e,t){qc(e,t),(e=e.alternate)&&qc(e,t)}function $g(){return null}var wp=typeof reportError=="function"?reportError:function(e){console.error(e)};function pa(e){this._internalRoot=e}js.prototype.render=pa.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(P(409));Es(e,t,null,null)};js.prototype.unmount=pa.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rr(function(){Es(null,e,null,null)}),t[Qt]=null}};function js(e){this._internalRoot=e}js.prototype.unstable_scheduleHydration=function(e){if(e){var t=Gd();e={blockedOn:null,target:e,priority:t};for(var n=0;n<pn.length&&t!==0&&t<pn[n].priority;n++);pn.splice(n,0,e),n===0&&Jd(e)}};function ha(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Cs(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function bc(){}function Wg(e,t,n,r,l){if(l){if(typeof r=="function"){var i=r;r=function(){var y=ds(o);i.call(y)}}var o=vp(t,r,e,0,null,!1,!1,"",bc);return e._reactRootContainer=o,e[Qt]=o.current,zl(e.nodeType===8?e.parentNode:e),rr(),o}for(;l=e.lastChild;)e.removeChild(l);if(typeof r=="function"){var a=r;r=function(){var y=ds(p);a.call(y)}}var p=da(e,0,!1,null,null,!1,!1,"",bc);return e._reactRootContainer=p,e[Qt]=p.current,zl(e.nodeType===8?e.parentNode:e),rr(function(){Es(t,p,n,r)}),p}function Ns(e,t,n,r,l){var i=n._reactRootContainer;if(i){var o=i;if(typeof l=="function"){var a=l;l=function(){var p=ds(o);a.call(p)}}Es(t,o,e,l)}else o=Wg(n,t,e,l,r);return ds(o)}Xd=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=gl(t.pendingLanes);n!==0&&(Au(t,n|1),et(t,Ee()),!(le&6)&&(Br=Ee()+500,In()))}break;case 13:rr(function(){var r=Xt(e,1);if(r!==null){var l=Ve();Nt(r,e,1,l)}}),fa(e,1)}};Mu=function(e){if(e.tag===13){var t=Xt(e,134217728);if(t!==null){var n=Ve();Nt(t,e,134217728,n)}fa(e,134217728)}};Yd=function(e){if(e.tag===13){var t=_n(e),n=Xt(e,t);if(n!==null){var r=Ve();Nt(n,e,t,r)}fa(e,t)}};Gd=function(){return se};Zd=function(e,t){var n=se;try{return se=e,t()}finally{se=n}};Bo=function(e,t,n){switch(t){case"input":if(zo(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var l=ys(r);if(!l)throw Error(P(90));Nd(r),zo(r,l)}}}break;case"textarea":Id(e,n);break;case"select":t=n.value,t!=null&&Pr(e,!!n.multiple,t,!1)}};Dd=oa;Od=rr;var Ug={usingClientEntryPoint:!1,Events:[Xl,_r,ys,Md,zd,oa]},pl={findFiberByHostInstance:Yn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Bg={bundleType:pl.bundleType,version:pl.version,rendererPackageName:pl.rendererPackageName,rendererConfig:pl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Gt.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Wd(e),e===null?null:e.stateNode},findFiberByHostInstance:pl.findFiberByHostInstance||$g,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Ni=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Ni.isDisabled&&Ni.supportsFiber)try{ps=Ni.inject(Bg),zt=Ni}catch{}}st.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Ug;st.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!ha(t))throw Error(P(200));return Fg(e,t,null,n)};st.createRoot=function(e,t){if(!ha(e))throw Error(P(299));var n=!1,r="",l=wp;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=da(e,1,!1,null,null,n,!1,r,l),e[Qt]=t.current,zl(e.nodeType===8?e.parentNode:e),new pa(t)};st.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(P(188)):(e=Object.keys(e).join(","),Error(P(268,e)));return e=Wd(t),e=e===null?null:e.stateNode,e};st.flushSync=function(e){return rr(e)};st.hydrate=function(e,t,n){if(!Cs(t))throw Error(P(200));return Ns(null,e,t,!0,n)};st.hydrateRoot=function(e,t,n){if(!ha(e))throw Error(P(405));var r=n!=null&&n.hydratedSources||null,l=!1,i="",o=wp;if(n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=vp(t,null,e,1,n??null,l,!1,i,o),e[Qt]=t.current,zl(e),r)for(e=0;e<r.length;e++)n=r[e],l=n._getVersion,l=l(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,l]:t.mutableSourceEagerHydrationData.push(n,l);return new js(t)};st.render=function(e,t,n){if(!Cs(t))throw Error(P(200));return Ns(null,e,t,!1,n)};st.unmountComponentAtNode=function(e){if(!Cs(e))throw Error(P(40));return e._reactRootContainer?(rr(function(){Ns(null,null,e,!1,function(){e._reactRootContainer=null,e[Qt]=null})}),!0):!1};st.unstable_batchedUpdates=oa;st.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Cs(n))throw Error(P(200));if(e==null||e._reactInternals===void 0)throw Error(P(38));return Ns(e,t,n,!1,r)};st.version="18.3.1-next-f1338f8080-20240426";function xp(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xp)}catch(e){console.error(e)}}xp(),wd.exports=st;var Hg=wd.exports,ed=Hg;To.createRoot=ed.createRoot,To.hydrateRoot=ed.hydrateRoot;async function ue(e,t={}){const n=await fetch(e,{credentials:"include",headers:{"Content-Type":"application/json"},...t}),r=await n.json().catch(()=>({}));if(!n.ok)throw new Error(r.detail||"Request failed");return r}function kp({theme:e}){return e==="light"?c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M11 2h2v3h-2zM11 19h2v3h-2zM2 11h3v2H2zM19 11h3v2h-3zM5.64 4.22l2.12 2.12-1.42 1.41-2.12-2.12zM16.24 14.83l2.12 2.12-1.42 1.41-2.12-2.12zM4.22 18.36l2.12-2.12 1.41 1.42-2.12 2.12zM16.83 7.76l2.12-2.12 1.41 1.42-2.12 2.12zM12 7a5 5 0 1 0 5 5 5 5 0 0 0-5-5z"})}):c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M14.04 2.3a8.74 8.74 0 0 0-1.69 5.19 8.9 8.9 0 0 0 8.89 8.89 8.74 8.74 0 0 0 .46-.01A9 9 0 1 1 14.04 2.3Z"})})}function Kg({collapsed:e}){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:e?c.jsx("path",{d:"M8.59 7.41 10 6l6 6-6 6-1.41-1.41L13.17 12 8.59 7.41Zm-4 0L6 6l6 6-6 6-1.41-1.41L9.17 12 4.59 7.41Z"}):c.jsx("path",{d:"m15.41 7.41-1.41-1.41-6 6 6 6 1.41-1.41L10.83 12l4.58-4.59Zm4 0L18 6l-6 6 6 6 1.41-1.41L14.83 12l4.58-4.59Z"})})}function Vg(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M3.4 20.4 21 12 3.4 3.6l.02 6.53 12.58 1.87-12.58 1.87-.02 6.53Z"})})}function Qg(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M7 7h10v10H7z"})})}function Xg({enabled:e}){return e?c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M18 16v-5a6 6 0 1 0-12 0v5l-2 2v1h16v-1zM9.6 20a2.4 2.4 0 0 0 4.8 0"})}):c.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[c.jsx("path",{d:"M18 16v-5a6 6 0 1 0-12 0v5l-2 2v1h16v-1zM9.6 20a2.4 2.4 0 0 0 4.8 0"}),c.jsx("path",{d:"M5 5l14 14",stroke:"currentColor",strokeWidth:"1.8",fill:"none",strokeLinecap:"round"})]})}function Yg(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M12 5c-4.42 0-8 2.91-8 6.5 0 2.02 1.13 3.82 2.9 5.01L6 20l3.63-1.98c.76.17 1.55.26 2.37.26 4.42 0 8-2.91 8-6.5S16.42 5 12 5Zm1 6h3v2h-3v3h-2v-3H8v-2h3V8h2v3Z"})})}function Co(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M17.65 6.35A7.95 7.95 0 0 0 12 4V1L7 6l5 5V7a5 5 0 1 1-5 5H5a7 7 0 1 0 12.65-5.65Z"})})}function td(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M17 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V7Zm-5 16a3 3 0 1 1 3-3 3 3 0 0 1-3 3Zm3-10H5V5h10Z"})})}function nd(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M19.14 12.94a7.43 7.43 0 0 0 .05-.94 7.43 7.43 0 0 0-.05-.94l2.03-1.58a.5.5 0 0 0 .12-.64l-1.92-3.32a.5.5 0 0 0-.6-.22l-2.39.96a7.28 7.28 0 0 0-1.63-.94L14.4 2.8a.49.49 0 0 0-.49-.4h-3.84a.49.49 0 0 0-.49.4l-.36 2.52c-.58.23-1.13.54-1.63.94l-2.39-.96a.5.5 0 0 0-.6.22L2.68 8.84a.5.5 0 0 0 .12.64l2.03 1.58a7.43 7.43 0 0 0-.05.94 7.43 7.43 0 0 0 .05.94L2.8 14.52a.5.5 0 0 0-.12.64l1.92 3.32a.5.5 0 0 0 .6.22l2.39-.96c.5.4 1.05.71 1.63.94l.36 2.52a.49.49 0 0 0 .49.4h3.84a.49.49 0 0 0 .49-.4l.36-2.52c.58-.23 1.13-.54 1.63-.94l2.39.96a.5.5 0 0 0 .6-.22l1.92-3.32a.5.5 0 0 0-.12-.64ZM12 15.5A3.5 3.5 0 1 1 12 8.5a3.5 3.5 0 0 1 0 7Z"})})}function Gg(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M4 7h16v2H4zm0 5h16v2H4zm0 5h16v2H4z"})})}function Zg({expanded:e=!1}){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:e?c.jsx("path",{d:"M7 10l5 5 5-5z"}):c.jsx("path",{d:"M10 7l5 5-5 5z"})})}function rd({open:e=!1}){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:e?c.jsx("path",{d:"M3 7.5A2.5 2.5 0 0 1 5.5 5H10l2 2h6.5A2.5 2.5 0 0 1 21 9.5v7A2.5 2.5 0 0 1 18.5 19h-13A2.5 2.5 0 0 1 3 16.5z"}):c.jsx("path",{d:"M4 6.5A2.5 2.5 0 0 1 6.5 4H10l2 2h5.5A2.5 2.5 0 0 1 20 8.5v1H4zM4 10h16v6.5A2.5 2.5 0 0 1 17.5 19h-11A2.5 2.5 0 0 1 4 16.5z"})})}function ld(){return c.jsx("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:c.jsx("path",{d:"M6.5 3h7L19 8.5v11A1.5 1.5 0 0 1 17.5 21h-11A1.5 1.5 0 0 1 5 19.5v-15A1.5 1.5 0 0 1 6.5 3Zm6 1.5V9h4.5"})})}function Jg({onLoggedIn:e,theme:t,onToggleTheme:n}){const[r,l]=x.useState(""),[i,o]=x.useState(""),[a,p]=x.useState(""),y=async N=>{N.preventDefault(),p("");try{const k=await ue("/api/auth/login",{method:"POST",body:JSON.stringify({username:r,password:i})});e(k)}catch(k){p(k.message)}};return c.jsx("div",{className:"login",children:c.jsxs("form",{className:"login-card",onSubmit:y,children:[c.jsxs("div",{className:"login-card-head",children:[c.jsxs("div",{className:"login-copy",children:[c.jsx("h2",{children:"Codex Web"}),c.jsx("p",{children:"Sign in with your allowlisted account."})]}),c.jsxs("button",{className:"theme-toggle",type:"button",onClick:n,"aria-label":"Toggle theme",title:`Switch to ${t==="dark"?"light":"dark"} theme`,children:[c.jsx(kp,{theme:t}),c.jsx("span",{children:t==="dark"?"Dark":"Light"})]})]}),c.jsx("input",{placeholder:"Username",value:r,onChange:N=>l(N.target.value)}),c.jsx("input",{type:"password",placeholder:"Password",value:i,onChange:N=>o(N.target.value)}),c.jsx("div",{className:"login-actions",children:c.jsx("button",{className:"primary",type:"submit",children:"Sign in"})}),a?c.jsx("p",{className:"login-error",children:a}):null]})})}const cn={guardian:{title:"Guardian settings",path:"/api/guardian",fields:[{key:"timeout_seconds",label:"Timeout",type:"select",options:[3,8,20,60]},{key:"failure_policy",label:"Failure policy",type:"select",options:["manual_fallback","deny","approve","session"]},{key:"explainability",label:"Explainability",type:"select",options:["decision_only","summary"]}]}},qg="codex-web-theme",Sp="codex-web-turn-notification-enabled",bg="dark",ey="# Loading Guardian rules...\\n",ty=new Set(["file_change","reasoning","web_search","image_generation"]);function Ts(e){return e==="light"?"light":"dark"}function ny(){return typeof document>"u"?bg:Ts(document.documentElement.dataset.theme)}function ry(e){if(typeof document>"u")return;const t=Ts(e);document.documentElement.dataset.theme=t,document.documentElement.style.colorScheme=t}function ly(e){if(!(typeof window>"u"))try{window.localStorage.setItem(qg,Ts(e))}catch{}}function iy(){if(typeof window>"u")return!0;try{const e=window.localStorage.getItem(Sp);if(e==="0")return!1;if(e==="1")return!0}catch{}return!0}function sy(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Sp,e?"1":"0")}catch{}}function oy({approvalItems:e,approvalBusyId:t,onSubmitApproval:n,onClose:r}){return e.length?c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"approval-overlay"}),c.jsx("div",{className:"approval-stack",children:e.map(l=>c.jsxs("div",{className:"approval",children:[c.jsxs("div",{className:"approval-header",children:[c.jsx("div",{className:"approval-title",children:"Approval required"}),c.jsx("button",{className:"approval-close",type:"button",onClick:r,children:"✕"})]}),c.jsxs("div",{children:["Method: ",l.method||"-"]}),c.jsxs("div",{children:["Request ID: ",l.id]}),l.policy_rule?c.jsxs("div",{children:["Policy: ",l.policy_rule]}):null,l.reason?c.jsxs("div",{children:["Reason: ",l.reason]}):null,l.question?c.jsxs("div",{children:["Question: ",l.question]}):null,c.jsxs("div",{className:"approval-actions",children:[c.jsx("button",{className:"secondary",type:"button",disabled:t===l.id,onClick:()=>n(l.id,"approve"),children:"Approve"}),c.jsx("button",{className:"secondary",type:"button",disabled:t===l.id,onClick:()=>n(l.id,"session"),children:"Session"}),c.jsx("button",{className:"danger",type:"button",disabled:t===l.id,onClick:()=>n(l.id,"deny"),children:"Deny"})]})]},l.id))})]}):null}function Ti(e){const t=typeof(e==null?void 0:e.rules_toml)=="string"?e.rules_toml:"";return t.trim()?t:ey}function uy(e){const t=typeof e=="string"?e.trim().toLowerCase():"";return t==="completed"?"completed":t==="inprogress"||t==="in_progress"||t==="in-progress"?"in_progress":"pending"}function ay(e,t){const n=[],r=typeof e=="string"?e.trim():"";r&&n.push(r);const l=Array.isArray(t)?t:[];for(const i of l){if(!i||typeof i!="object")continue;const o=typeof i.step=="string"?i.step.trim():"";if(!o)continue;const a=uy(i.status),p=a==="completed"?"[done]":a==="in_progress"?"[doing]":"[todo]";n.push(`${p} ${o}`)}return n.join(`
41
41
  `).trim()}function cy(e){const t=typeof e=="string"?e.replace(/\s+/g," ").trim():"";return t?t.length>96?`${t.slice(0,93)}...`:t:""}function dy(e){return e==="reasoning"?"Reasoning":e==="web_search"?"Web Search":e==="image_generation"?"Image Generation":""}function fy(e){if(!e||typeof e!="object")return"";const t=Object.keys(e);if(!t.length)return"";const n=t[0],r=e[n];if(r&&typeof r=="object"){const l=typeof r.query=="string"?r.query:"",i=typeof r.url=="string"?r.url:"",o=typeof r.pattern=="string"?r.pattern:"",a=[l,i,o].filter(Boolean);return a.length?`${n}: ${a.join(" | ")}`:n}return n}function O(e){return typeof e=="string"&&e.trim()?e.trim():""}function Et(e){return typeof e=="string"?e.replace(/\\/g,"/").replace(/^\/+/,"").trim():""}function py(e){const t=Et(e);if(!t)return"";const n=t.split("/");return n[n.length-1]||t}function hy(e){return e?`project:${e}`:""}function No(e=""){return{workspacePath:e,tree:{},expandedDirs:{"":!0},status:{is_git:!1,items:{}},error:"",preview:null}}function id(){return{input:"",status:"idle",activityDetail:""}}function sd(e){return e==="??"?"status-untracked":e?`status-${String(e).toLowerCase()}`:""}function Ii(e){return e==="??"?5:e==="A"?4:e==="M"?3:e==="R"?2:e==="D"?1:0}function od(e){const t=Number.parseInt(e,10);return Number.isFinite(t)?t:0}function my(e){const t=typeof e=="string"?e:"";if(!t)return[];const n=t.split(`
42
42
  `),r=[];let l=0,i=0;for(const o of n){const a=o.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(a){l=od(a[1]),i=od(a[2]),r.push({type:"hunk",left:"",right:"",text:o});continue}if(o.startsWith("diff ")||o.startsWith("index ")||o.startsWith("--- ")||o.startsWith("+++ ")||o.startsWith("rename ")||o.startsWith("new file")||o.startsWith("deleted file")){r.push({type:"meta",left:"",right:"",text:o});continue}if(o.startsWith("+")){r.push({type:"add",left:"",right:String(i),text:o}),i+=1;continue}if(o.startsWith("-")){r.push({type:"del",left:String(l),right:"",text:o}),l+=1;continue}r.push({type:"ctx",left:l>0?String(l):"",right:i>0?String(i):"",text:o}),o!=="\"&&(l>0&&(l+=1),i>0&&(i+=1))}return r}function gy(e){const t=[];let n=null;for(const r of Array.isArray(e)?e:[]){if(ty.has(r==null?void 0:r.kind)){n||(n={type:"event_panel",entries:[]},t.push(n)),n.entries.push(r);continue}n=null,t.push({type:"message",message:r})}return t}function _p({diff:e}){const t=my(e);return t.length?c.jsx("div",{className:"file-change-code",role:"table","aria-label":"File change diff",children:t.map((n,r)=>c.jsxs("div",{className:`file-change-code-row type-${n.type}`,role:"row",children:[c.jsx("span",{className:"file-change-code-line",role:"cell",children:n.left}),c.jsx("span",{className:"file-change-code-line",role:"cell",children:n.right}),c.jsx("span",{className:"file-change-code-text",role:"cell",children:n.text||" "})]},`diff:${r}`))}):null}function yy({content:e}){const t=typeof e=="string"?e.split(`
43
- `):[];return t.length?c.jsx("div",{className:"file-change-code workspace-file-code",role:"table","aria-label":"File preview",children:t.map((n,r)=>c.jsxs("div",{className:"file-change-code-row type-ctx",role:"row",children:[c.jsx("span",{className:"file-change-code-line",role:"cell",children:r+1}),c.jsx("span",{className:"file-change-code-line",role:"cell"}),c.jsx("span",{className:"file-change-code-text",role:"cell",children:n||" "})]},`file:${r}`))}):c.jsx("div",{className:"workspace-preview-empty",children:"File is empty."})}function vy({renderItems:e}){return e.map((t,n)=>{if(t.type==="event_panel")return c.jsx("div",{className:"msg-row file-panel",children:c.jsx("div",{className:"file-change-panel",children:c.jsx("div",{className:"file-change-panel-scroll",children:t.entries.map((l,i)=>c.jsxs("div",{className:`file-change-entry kind-${l.kind||"event"}`,children:[l.kind!=="file_change"?c.jsx("div",{className:"file-change-label",children:dy(l.kind)}):null,c.jsx("div",{className:"file-change-summary",children:l.text}),l.detail?c.jsx("div",{className:"file-change-files",children:l.detail}):null,Array.isArray(l.files)&&l.files.length?c.jsx("div",{className:"file-change-files",children:l.files.map((o,a)=>c.jsxs("div",{children:[o.change_type||"M"," ",o.path||"-"," (+",Number(o.additions||0)," -",Number(o.deletions||0),")"]},`${o.path||"file"}:${a}`))}):null,l.rawReasoning?c.jsxs("details",{className:"event-panel-details",children:[c.jsx("summary",{children:"Raw reasoning"}),c.jsx("div",{className:"file-change-files",children:l.rawReasoning})]}):null,l.diff?c.jsx(_p,{diff:l.diff}):null]},`file-entry:${n}:${i}`))})})},`file-panel:${n}`);const r=t.message;return c.jsx("div",{className:`msg-row ${r.role}`,children:c.jsxs("div",{className:`msg ${r.role}${r.variant?` ${r.variant}`:""}${r.kind?` kind-${r.kind}`:""}`,children:[r.kind==="plan"?c.jsx("div",{className:"msg-label",children:"Plan"}):null,r.kind==="plan_checklist"?c.jsx("div",{className:"msg-label",children:"Plan Checklist"}):null,c.jsx("div",{className:"msg-body",children:r.text}),r.turnId?c.jsxs("div",{className:"msg-meta",children:["turnId: ",r.turnId]}):null]})},n)})}function wy({projectTabs:e,activeProjectTabId:t,projectTabStatusById:n,onSelectProjectTab:r,onCloseProjectTab:l,threadTabs:i,activeThread:o,onSelectThread:a,onCloseThread:p,onAddThread:y,disableAddThread:N}){return c.jsxs("div",{className:"top-tabs",children:[c.jsx("div",{className:"project-tabs-row",children:e.map(k=>c.jsxs("div",{className:`project-tab-chip ${k.id===t?"active":""} state-${n[k.id]||"idle"}`,children:[c.jsx("button",{type:"button",className:"project-tab-main",onClick:()=>r(k.id),children:k.name}),c.jsx("button",{type:"button",className:"project-tab-close",onClick:S=>{S.stopPropagation(),l(k.id)},"aria-label":`Close project ${k.name}`,title:"Close project tab",children:c.jsx("img",{className:"tab-action-icon",src:"/assets/icons-tab-close.svg",alt:"","aria-hidden":"true"})})]},k.id))}),c.jsxs("div",{className:"turn-tabs-row",children:[i.map(k=>c.jsxs("div",{className:`turn-tab-chip ${O(k.id)===O(o)?"active":""} state-${k.status||"idle"} ${k.hasUnreadCompletion?"unread":""}`,children:[c.jsxs("button",{type:"button",className:"turn-tab-main",onClick:()=>a(k.id),children:[c.jsx("span",{className:"turn-tab-title",children:k.title||k.id}),k.hasUnreadCompletion?c.jsx("span",{className:"turn-tab-dot"}):null]}),c.jsx("button",{type:"button",className:"turn-tab-close",onClick:S=>{S.stopPropagation(),p(k.id)},"aria-label":`Close thread ${k.title||k.id}`,title:"Close thread tab",children:c.jsx("img",{className:"tab-action-icon",src:"/assets/icons-tab-close.svg",alt:"","aria-hidden":"true"})})]},k.id)),c.jsx("button",{type:"button",className:"turn-tab-add",onClick:y,"aria-label":"Add thread tab",title:"Add thread tab",disabled:N,children:c.jsx("img",{className:"tab-action-icon",src:"/assets/icons-tab-add.svg",alt:"","aria-hidden":"true"})})]})]})}function xy(e){const t=(...q)=>{typeof window<"u"&&window.__CODEX_WEB_DEBUG__===!0&&console.log(...q)},[n,r]=x.useState([]),[l,i]=x.useState({}),[o,a]=x.useState(""),[p,y]=x.useState("idle"),[N,k]=x.useState(""),[S,R]=x.useState({}),_=x.useRef({}),M=x.useRef({}),V=x.useRef(""),g=x.useRef({});x.useEffect(()=>{_.current=l},[l]),x.useEffect(()=>{M.current=S},[S]),x.useEffect(()=>{V.current=O(e)},[e]),x.useEffect(()=>{const q=O(e);q&&i(W=>W[q]===n?W:{...W,[q]:n})},[e,n]),x.useEffect(()=>{const q=O(e);if(!q){a(""),y("idle"),k("");return}const W=S[q]||id();a(typeof W.input=="string"?W.input:""),y(typeof W.status=="string"?W.status:"idle"),k(typeof W.activityDetail=="string"?W.activityDetail:"")},[e]);const m=q=>{const W=O(q);if(!W)return r([]),!1;const Y=l[W];return Array.isArray(Y)?(r(Y),!0):(r([]),!1)},v=(q,W)=>{const Y=O(q),pe=O(V.current);if(t("[CHAT-MEMORY][append]",{activeThreadId:pe,targetThreadId:Y||"",role:(W==null?void 0:W.role)||"",turnId:(W==null?void 0:W.turnId)||"",itemId:(W==null?void 0:W.itemId)||"",kind:(W==null?void 0:W.kind)||"",streaming:!!(W!=null&&W.streaming),text:typeof(W==null?void 0:W.text)=="string"?W.text.slice(0,200):""}),!Y){r(Z=>{const Se=[...Z,W];return t("[CHAT-MEMORY][append->messages]",{activeThreadId:pe,targetThreadId:"",nextCount:Se.length}),Se});return}if(Y===pe){r(Z=>{const Se=[...Z,W];return t("[CHAT-MEMORY][append->messages]",{activeThreadId:pe,targetThreadId:Y,nextCount:Se.length}),Se});return}i(Z=>{const D=[...Array.isArray(Z[Y])?Z[Y]:[],W];return t("[CHAT-MEMORY][append->messagesByThreadId]",{activeThreadId:pe,targetThreadId:Y,nextCount:D.length}),{...Z,[Y]:D}})},I=(q,W)=>{const Y=O(q),pe=O(V.current);if(t("[CHAT-MEMORY][mutate]",{activeThreadId:pe,targetThreadId:Y||"",targetIsActive:!Y||Y===pe}),!Y||Y===pe){r(Z=>{const Se=W(Z);return t("[CHAT-MEMORY][mutate->messages]",{activeThreadId:pe,targetThreadId:Y||"",prevCount:Z.length,nextCount:Array.isArray(Se)?Se.length:-1}),Se});return}i(Z=>{const Se=Array.isArray(Z[Y])?Z[Y]:[],D=W(Se);return t("[CHAT-MEMORY][mutate->messagesByThreadId]",{activeThreadId:pe,targetThreadId:Y,prevCount:Se.length,nextCount:Array.isArray(D)?D.length:-1}),{...Z,[Y]:D}})},z=(q,W)=>{const Y=O(q);Y&&R(pe=>({...pe,[Y]:{...id(),...pe[Y]||{},...W}}))};return{messages:n,setMessages:r,input:o,setInputForActiveThread:q=>{a(q);const W=V.current;W&&z(W,{input:q})},status:p,setStatus:y,setStatusForActiveThread:q=>{y(q);const W=V.current;W&&z(W,{status:q})},setStatusForThread:(q,W)=>{const Y=O(q);if(Y){z(Y,{status:W}),Y===V.current&&y(W);return}V.current||y(W)},activityDetail:N,setActivityDetail:k,setActivityDetailForActiveThread:q=>{k(q);const W=V.current;W&&z(W,{activityDetail:q})},setActivityDetailForThread:(q,W)=>{const Y=O(q);if(Y){z(Y,{activityDetail:W}),Y===V.current&&k(W);return}V.current||k(W)},messagesByThreadId:l,setMessagesByThreadId:i,threadUiByThreadId:S,setThreadUiByThreadId:R,messagesByThreadIdRef:_,threadUiByThreadIdRef:M,activeThreadRef:V,turnThreadIdRef:g,restoreThreadMessages:m,appendMessageToThread:v,applyMessageMutationForThread:I,updateThreadUi:z,resolveThreadIdFromTurn:(q,W)=>{const Y=O(q);return Y||typeof W=="string"&&W&&O(g.current[W])||""}}}function ky({workspacePreview:e,onClose:t}){return e?c.jsxs("div",{className:`workspace-preview-panel ${e.mode==="diff"?"diff-mode":"file-mode"}`,children:[c.jsxs("div",{className:"workspace-preview-head",children:[c.jsxs("div",{className:"workspace-preview-copy",children:[c.jsx("div",{className:"workspace-preview-title",children:e.mode==="diff"?"Diff Preview":"File Preview"}),c.jsxs("div",{className:"workspace-preview-path",children:[e.status?`[${e.status}] `:"",e.path]})]}),c.jsx("button",{className:"workspace-preview-close",type:"button",onClick:t,children:"Close"})]}),e.loading?c.jsx("div",{className:"workspace-preview-empty",children:"Loading preview..."}):e.error?c.jsx("div",{className:"workspace-preview-empty",children:e.error}):e.mode==="diff"&&e.diff?c.jsx("div",{className:"workspace-preview-body",children:c.jsx(_p,{diff:e.diff})}):e.previewAvailable?c.jsxs(c.Fragment,{children:[e.truncated?c.jsx("div",{className:"workspace-preview-note",children:"Showing the first part of the file."}):null,c.jsx("div",{className:"workspace-preview-body",children:c.jsx(yy,{content:e.content})})]}):c.jsx("div",{className:"workspace-preview-empty",children:e.isBinary?"Binary file preview is unavailable.":"Preview is unavailable."})]}):null}function Sy({activeThread:e,activeProjectTabId:t,activeProjectKey:n,threadProjectTabIdByThreadId:r,activeProjectTabPath:l,sessionWorkspace:i}){const a=l||i||"",[p,y]=x.useState({}),[N,k]=x.useState({}),[S,R]=x.useState({"":!0}),[_,M]=x.useState({is_git:!1,items:{}}),[V,g]=x.useState(""),[m,v]=x.useState(null),I=x.useRef({}),z=x.useRef({}),A=x.useRef(""),B=x.useRef(""),U=x.useRef(0);x.useEffect(()=>{I.current=N},[N]),x.useEffect(()=>{z.current=p},[p]);const te=x.useCallback((F="")=>{const L=O(F);return L||(t?`project:${t}`:a?`workspace:${a}`:"")},[t,a]),G=x.useCallback(F=>{const L=te(F);L&&y(K=>{const J=K[L];return J&&J.workspacePath===a?K:{...K,[L]:No(a)}})},[te,a]),De=x.useCallback(F=>{const L=te(F);L&&y(K=>({...K,[L]:No(a)}))},[te,a]),q=x.useCallback(F=>{const L=te(F);L&&y(K=>{if(!Object.prototype.hasOwnProperty.call(K,L))return K;const J={...K};return delete J[L],J})},[te]),W=x.useCallback(F=>{const L=te(F),K=L?z.current[L]:null,J=K&&K.workspacePath===a,ie=J?K:No(a);A.current=J?K.workspacePath:"",k(ie.tree||{}),R(ie.expandedDirs||{"":!0}),M(ie.status||{is_git:!1,items:{}}),g(ie.error||""),v(ie.preview||null)},[te,a]),Y=x.useCallback((F={})=>{const L=new URLSearchParams,K=O(F.thread_id||"");let J=K||O(e);if(!K&&J&&t){const ce=r[J];ce&&ce!==t&&(J="")}const ie=typeof F.project_key=="string"&&F.project_key?F.project_key:n;return J?L.set("thread_id",J):ie&&L.set("project_key",ie),L.toString()},[n,t,e,r]),pe=x.useCallback(async(F="",L={})=>{const{depth:K=4,force:J=!1,requestId:ie=U.current}=L,ce=Et(F),Ye=I.current;if(!J&&Ye[ce])return Ye[ce];try{const he=new URLSearchParams({path:ce,depth:String(K)}),Pe=Y();Pe&&new URLSearchParams(Pe).forEach((Gl,ut)=>he.set(ut,Gl));const Pn=await ue(`/api/workspace/tree?${he.toString()}`);if(ie!==U.current)return[];const Zt=Array.isArray(Pn.items)?Pn.items:[];return A.current=a,k(ge=>({...ge,[ce]:Zt})),Zt}catch(he){if(ie!==U.current)return[];throw he}},[Y]),Z=x.useCallback(async()=>{const F=U.current;try{const L=Y(),K=await ue(`/api/workspace/status${L?`?${L}`:""}`);if(F!==U.current)return null;M({is_git:!!K.is_git,items:K&&typeof K.items=="object"?K.items:{}}),A.current=a,g("")}catch(L){if(F!==U.current)return null;M({is_git:!1,items:{}}),g(L.message||"Failed to load workspace status.")}},[Y]),Se=x.useCallback(async(F,L="")=>{const K=Et(F);if(K){g(""),v({path:K,mode:L?"diff":"file",status:L,loading:!0,content:"",diff:"",previewAvailable:!0,error:"",truncated:!1,isBinary:!1});try{if(L){const Ye=new URLSearchParams({path:K}),he=Y();he&&new URLSearchParams(he).forEach((Zt,ge)=>Ye.set(ge,Zt));const Pe=await ue(`/api/workspace/diff?${Ye.toString()}`);if(Pe.has_diff&&Pe.diff){v({path:K,mode:"diff",status:Pe.status||L,loading:!1,content:"",diff:Pe.diff,previewAvailable:!0,error:"",truncated:!1,isBinary:!1});return}}const J=new URLSearchParams({path:K}),ie=Y();ie&&new URLSearchParams(ie).forEach((he,Pe)=>J.set(Pe,he));const ce=await ue(`/api/workspace/file?${J.toString()}`);v({path:K,mode:"file",status:L,loading:!1,content:ce.content||"",diff:"",previewAvailable:!!ce.preview_available,error:"",truncated:!!ce.truncated,isBinary:!!ce.is_binary})}catch(J){v({path:K,mode:L?"diff":"file",status:L,loading:!1,content:"",diff:"",previewAvailable:!1,error:J.message||"Failed to load file preview.",truncated:!1,isBinary:!1})}}},[Y]),D=x.useCallback(F=>{const L=Et(F);if(!!S[L]){R(ie=>({...ie,[L]:!1}));return}R(ie=>({...ie,[L]:!0})),I.current[L]||pe(L).catch(ie=>{g(ie.message||"Failed to load workspace tree.")})},[S,pe]);return x.useEffect(()=>{const F=te(e);F&&A.current===a&&y(L=>({...L,[F]:{workspacePath:a,tree:N,expandedDirs:S,status:_,error:V,preview:m}}))},[e,N,S,_,V,m,a,te]),x.useEffect(()=>{W(e)},[e,a,W]),x.useEffect(()=>{if(!a){k({}),R({"":!0}),M({is_git:!1,items:{}}),v(null),g(""),A.current="";return}const F=te(e);if(!F){k({}),R({"":!0}),M({is_git:!1,items:{}}),v(null),g(""),A.current="";return}const L=`${F}::${a}`;B.current!==L&&(B.current=L,U.current+=1),G(F);const K=z.current[F];if(K&&K.workspacePath===a&&K.tree&&Object.keys(K.tree).length>0){A.current=a;return}const ie=U.current;pe("",{force:!0,depth:4,requestId:ie}).catch(ce=>{k({}),g(ce.message||"Failed to load workspace tree.")}),Z().catch(()=>{})},[t,l,i,e,Y,pe,Z,G,a,te]),{ensureWorkspaceBucket:G,resetWorkspaceBucket:De,removeWorkspaceBucket:q,restoreWorkspaceForThread:W,workspaceTree:N,expandedWorkspaceDirs:S,workspaceStatus:_,workspaceError:V,setWorkspaceError:g,workspacePreview:m,setWorkspacePreview:v,workspaceContextQuery:Y,loadWorkspaceTree:pe,loadWorkspaceStatus:Z,openWorkspaceFile:Se,toggleWorkspaceDirectory:D}}function _y({me:e,theme:t,onToggleTheme:n}){const[S,R]=x.useState([]),[_,M]=x.useState(""),[V,g]=x.useState({}),[m,v]=x.useState({}),[I,z]=x.useState({}),[A,B]=x.useState(""),[U,te]=x.useState([]),[G,De]=x.useState([]),[q,W]=x.useState([]),[Y,pe]=x.useState([]),[Z,Se]=x.useState(null),[D,F]=x.useState("build"),[L,K]=x.useState(!1),[J,ie]=x.useState([]),[ce,Ye]=x.useState(null),[he,Pe]=x.useState({}),[Pn,Zt]=x.useState({}),[ge,Gl]=x.useState(""),[ut,Qr]=x.useState(""),[Xr,ma]=x.useState(""),[Yr,Zl]=x.useState(""),[ga,yt]=x.useState(""),sr=x.useRef(null),Jt=x.useRef(null),qt=x.useRef({}),ya=x.useRef(""),va=x.useRef(""),wa=x.useRef({}),Gr=x.useRef(!1),Ln=x.useRef(!1),Is=x.useRef({start:null,end:null}),xa=x.useRef(0),Ps=x.useRef(null),Ls=x.useRef({startX:0,startWidth:320}),Ep=x.useRef(0),ka=x.useRef(!0),or=x.useRef({}),ur=x.useRef({}),Jl=x.useRef(null),Rn=x.useRef(null),ql=x.useRef(null),Oe=x.useRef(null),bl=x.useRef(null),Zr=x.useRef(null),jp=x.useRef(null),An=x.useRef(-1),[bt,ei]=x.useState(0),[Cp,Np]=x.useState(340),[Rs,As]=x.useState(!1),[Tp,Ip]=x.useState(!1),[Sa,Pp]=x.useState(320),[Ms,zs]=x.useState(!1),[je,Lp]=x.useState(()=>typeof window<"u"?window.innerWidth<=900:!1),[en,tn]=x.useState(!1),[Ot,Rp]=x.useState(()=>typeof window<"u"?window.innerWidth<=1200:!1),[ti,Ds]=x.useState(!1),[Os,Jr]=x.useState(!1),[jy,Cy]=x.useState(!1),[Mn,zn]=x.useState("main"),[Fs,qr]=x.useState(0),[Dn,On]=x.useState(""),[Ap,br]=x.useState(""),[ar,Mp]=x.useState(()=>iy()),[_a,Ea]=x.useState(null),ni=x.useCallback((s,u="info")=>{Ea({message:s,type:u}),setTimeout(()=>Ea(null),5e3)},[]),ri=typeof(e==null?void 0:e.logging_level)=="string"&&e.logging_level.toUpperCase()==="DEBUG"||(e==null?void 0:e.debug_logging)===!0,Fn=(...s)=>{ri&&console.log(...s)},ja=(...s)=>{ri&&console.error(...s)},$s=x.useRef(null),li=x.useRef({}),{messages:nn,setMessages:vt,input:ye,setInputForActiveThread:rn,status:el,setStatus:Ws,setStatusForActiveThread:zp,setStatusForThread:wt,activityDetail:Ca,setActivityDetailForThread:cr,messagesByThreadId:Na,setMessagesByThreadId:Ta,setThreadUiByThreadId:Dp,activeThreadRef:It,turnThreadIdRef:tl,restoreThreadMessages:Op,appendMessageToThread:xt,applyMessageMutationForThread:dr,updateThreadUi:Ia,resolveThreadIdFromTurn:$n}=xy(A),fr=S.find(s=>s.id===_)||null,{ensureWorkspaceBucket:Pa,removeWorkspaceBucket:ii,restoreWorkspaceForThread:Fp,workspaceTree:Wn,expandedWorkspaceDirs:$p,workspaceStatus:Us,workspaceError:La,setWorkspaceError:Wp,workspacePreview:Un,setWorkspacePreview:Up,workspaceContextQuery:Bp,loadWorkspaceTree:Hp,loadWorkspaceStatus:Bs,openWorkspaceFile:Ra,toggleWorkspaceDirectory:Kp}=Sy({activeThread:A,activeProjectTabId:_,activeProjectKey:(fr==null?void 0:fr.key)||"",threadProjectTabIdByThreadId:I,activeProjectTabPath:(fr==null?void 0:fr.path)||"",sessionWorkspace:(Z==null?void 0:Z.workspace)||""}),Hs=x.useMemo(()=>["/commands","/start","/resume","/fork","/threads","/read","/archive","/unarchive","/compact","/rollback","/interrupt","/review","/exec","/projects","/project","/models","/collab","/features","/modes","/mode","/plan","/build","/skills","/apps","/mcp","/config"],[]),ee=x.useMemo(()=>{if(ye.startsWith("/")){const w=ye.slice(1);return!w||/\s/.test(w)?null:{type:"slash",query:w.toLowerCase(),start:0,end:ye.length}}const s=ye.split(/\s+/).pop()||"",u=s.match(/^([@$])([^\s]*)$/);if(!u)return null;const d=u[1],h=u[2]||"",C=ye.length,E=C-s.length;return{type:d==="@"?"project":"skill",query:h.toLowerCase(),start:E,end:C}},[ye]),Ft=x.useMemo(()=>{if(!ee)return[];const s=ee.query;return ee.type==="slash"?s?Hs.filter(u=>u.toLowerCase().includes(`/${s}`)):Hs:ee.type==="project"?q:s?Y.filter(u=>u.toLowerCase().includes(s)):Y},[ee,q,Y,Hs]),Pt=Ft.length>0,si=x.useMemo(()=>Math.floor(bt/10)*10,[bt]),Aa=x.useMemo(()=>Ft.slice(si,si+10),[Ft,si]),nl=x.useMemo(()=>gy(nn),[nn]),He=x.useMemo(()=>S.find(s=>s.id===_)||null,[S,_]),Ge=(He==null?void 0:He.key)||"",Lt=el==="running",Ks=Lt;x.useEffect(()=>{ya.current=_},[_]),x.useEffect(()=>{typeof window<"u"&&(window.__CODEX_WEB_DEBUG__=ri)},[ri]),x.useEffect(()=>{va.current=Ge},[Ge]),x.useEffect(()=>{wa.current=I},[I]);const Vp=x.useMemo(()=>{const s={};return S.forEach(u=>{const d=Array.isArray(V[u.id])?V[u.id]:[];if(d.some(h=>h.status==="running")){s[u.id]="running";return}if(d.some(h=>h.hasUnreadCompletion)){s[u.id]="unread";return}if(d.some(h=>h.status==="failed")){s[u.id]="failed";return}if(d.some(h=>h.status==="cancelled")){s[u.id]="cancelled";return}s[u.id]="idle"}),s},[S,V]),Ma=(s,u={})=>{const d=!!u.forceNew,h=typeof(s==null?void 0:s.key)=="string"?s.key:"";if(!h)return"";const C=hy(h),E=d?`${C}:${++Ep.current}`:C,w={id:E,key:h,name:typeof(s==null?void 0:s.name)=="string"&&s.name?s.name:h,path:typeof(s==null?void 0:s.path)=="string"?s.path:""};return R(f=>{const j=f.findIndex(T=>T.id===E);if(j>=0){const T=[...f];return T[j]={...T[j],...w},T}return[...f,w]}),E},pr=(s,u)=>{const d=O(u==null?void 0:u.id);if(!s||!d)return"";const h=typeof(u==null?void 0:u.title)=="string"&&u.title?u.title:d;return g(C=>{const E=Array.isArray(C[s])?C[s]:[];return E.find(f=>f.id===d)?C:{...C,[s]:[...E,{id:d,title:h,status:"idle",hasUnreadCompletion:!1}]}}),z(C=>({...C,[d]:s})),Pa(d),Bn(s,d),d},Bn=(s,u)=>{const d=O(u);v(h=>({...h,[s]:d})),s===_&&B(d)},rl=(s,u)=>{const d=O(s);if(!d)return;const h=wa.current[d];h&&g(C=>{const w=(Array.isArray(C[h])?C[h]:[]).map(f=>f.id===d?{...f,...u}:f);return{...C,[h]:w}})},za=(s,u)=>{const d=O(u);if(!s||!d)return;const h=Array.isArray(V[s])?V[s]:[],C=h.findIndex(j=>j.id===d);if(C<0)return;const E=h.filter(j=>j.id!==d),w=E[C]||E[C-1]||E[0],f=s===_&&O(A)===d;g(j=>({...j,[s]:E})),s===_?Bn(s,(w==null?void 0:w.id)||""):v(j=>({...j,[s]:(w==null?void 0:w.id)||""})),f&&(w!=null&&w.id?ln(w.id).catch(()=>{}):vt([])),z(j=>{const T={...j};return delete T[d],T}),Ta(j=>{if(!Object.prototype.hasOwnProperty.call(j,d))return j;const T={...j};return delete T[d],T}),Dp(j=>{if(!Object.prototype.hasOwnProperty.call(j,d))return j;const T={...j};return delete T[d],T}),ii(d)},Qp=s=>{if(!s)return;const u=S,d=u.findIndex(E=>E.id===s),h=d>0?u[d-1]:u[d+1];R(E=>E.filter(w=>w.id!==s)),g(E=>{const w={...E};return delete w[s],w}),v(E=>{const w={...E};return delete w[s],w}),(Array.isArray(V[s])?V[s].map(E=>O(E.id)).filter(Boolean):[]).forEach(E=>ii(E)),z(E=>{const w={...E};return Object.entries(w).forEach(([f,j])=>{j===s&&delete w[f]}),w}),_===s&&(M((h==null?void 0:h.id)||""),B(h?O(m[h.id]):""),vt([]))},Vs=()=>{if(!(!ar||typeof window>"u")){try{const s=window.AudioContext||window.webkitAudioContext;if(!s)return;$s.current||($s.current=new s);const u=$s.current;if(!u)return;const d=u.currentTime,h=u.createOscillator(),C=u.createGain();h.type="sine",h.frequency.setValueAtTime(880,d),h.frequency.exponentialRampToValueAtTime(660,d+.12),C.gain.setValueAtTime(1e-4,d),C.gain.exponentialRampToValueAtTime(.08,d+.01),C.gain.exponentialRampToValueAtTime(1e-4,d+.14),h.connect(C),C.connect(u.destination),h.start(d),h.stop(d+.15)}catch{}ni("Turn completed!","success")}},Hn=async(s={})=>{var $;const u=typeof s.projectKey=="string"?s.projectKey:Ge||"",d=typeof s.projectTabId=="string"?s.projectTabId:_||"",h=!!s.ensureDefaultTab,C=!!s.resetThreadTabs,E=Number.parseInt(String((e==null?void 0:e.threads_list_limit)??"20"),10),w=Number.isFinite(E)?Math.max(1,Math.min(100,E)):20,f=new URLSearchParams({limit:String(w),offset:"0",archived:"false"});u&&f.set("project_key",u);const j=await ue(`/api/threads/summaries?${f.toString()}`),T=Array.isArray(j.items)?j.items:[];if((!d||d===_)&&te(T),h&&d){const X=C?[]:Array.isArray(V[d])?V[d]:[];if(X.length===0){if(T.length>0){const Q=pr(d,T[0]);d===_&&Q&&ln(Q).catch(()=>{})}else if(u){const Q=await ue("/api/projects/open-thread",{method:"POST",body:JSON.stringify({project_key:u})}),oe=O(Q==null?void 0:Q.thread_id);oe&&(pr(d,{id:oe,title:oe}),d===_&&ln(oe).catch(()=>{}))}}else if(!O(m[d])){const Q=O((($=X[0])==null?void 0:$.id)||"");Bn(d,Q),d===_&&Q&&ln(Q).catch(()=>{})}}},hr=async()=>{const s=await ue("/api/projects"),u=Array.isArray(s.items)?s.items:[];if(De(u),!S.length&&ka.current){ka.current=!1;const d=u.find(h=>h==null?void 0:h.default)||u[0];if(d){const h=Ma(d);h&&M(h)}return}S.length&&R(d=>d.map(h=>{const C=u.find(E=>(E==null?void 0:E.key)===h.key);return C?{...h,name:C.name||h.name,path:C.path||h.path}:h}))},Xp=async()=>{var d;const s=await ue("/api/skills"),u=Array.isArray((d=s.meta)==null?void 0:d.skill_names)?s.meta.skill_names:[];pe([...new Set(u.filter(h=>typeof h=="string"&&h))])},tt=async()=>{const s=await ue("/api/session/summary");Se(s);const u=O(s==null?void 0:s.active_thread_id),d=!!(s!=null&&s.active_turn_id);g(h=>{const C={};for(const[E,w]of Object.entries(h))C[E]=(Array.isArray(w)?w:[]).map(f=>{const j=O(f==null?void 0:f.id);return j?d&&j===u?f.status==="running"?f:{...f,status:"running"}:!d&&f.status==="running"?{...f,status:"idle"}:f:f});return C}),u&&Ia(u,{status:d?"running":"idle"}),u&&u===It.current?zp(d?"running":"idle"):d||Ws(h=>h==="running"?"idle":h),typeof(s==null?void 0:s.collaboration_mode)=="string"&&F(ai(s.collaboration_mode))},Yp=async()=>{const s=await ue("/api/approvals"),d=(Array.isArray(s.items)?s.items:[]).filter(h=>h&&typeof h.id=="number");ie(d.length?[d[d.length-1]]:[])},Qs=(s=_)=>{var E;const u=O(s),d=O(A);if(d&&(!u||I[d]===u||!I[d]))return d;if(!u)return"";const h=O(m[u])||"";if(h)return h;const C=Array.isArray(V[u])?V[u]:[];return O((E=C[0])==null?void 0:E.id)||""},Gp=(s,u)=>Array.isArray(s==null?void 0:s.messages)&&s.messages.length>0?s.messages.filter(h=>h&&typeof h.text=="string"&&h.text.trim()).map(h=>({role:h.role==="user"?"user":h.role==="assistant"?"assistant":"system",text:h.text,variant:h.variant==="subagent"?"subagent":"",kind:h.kind==="plan"?"plan":"",threadId:O(h.thread_id)||u,turnId:typeof h.turn_id=="string"?h.turn_id:"",streaming:!1})):[{role:"assistant",text:(s==null?void 0:s.text)||"",threadId:O(s==null?void 0:s.thread_id)||u,turnId:typeof(s==null?void 0:s.turn_id)=="string"?s.turn_id:"",streaming:!1}],Zp=async(s,u={})=>{const{applyToVisible:d=!0}=u,h=O(s);if(!h)return;const C=await ue(`/api/threads/read?thread_id=${encodeURIComponent(h)}`),E=Gp(C,h);Ta(w=>({...w,[h]:E})),d&&It.current===h&&vt(E)},Jp=async(s,u)=>{if(!(typeof s!="number"||!u||ce!==null)){Ye(s);try{await ue(`/api/approvals/${s}`,{method:"POST",body:JSON.stringify({decision:u})}),ie(d=>d.filter(h=>h.id!==s))}finally{Ye(null)}}},Xs=async(s={})=>{var h;const u=!!s.replaceCurrentTab;let d="";if(Ge){const C=await ue("/api/projects/open-thread",{method:"POST",body:JSON.stringify({project_key:Ge})});if(d=O(C==null?void 0:C.thread_id),_&&d){const E=O(m[_]||A);u&&E?(g(w=>{const f=Array.isArray(w[_])?w[_]:[],j=f.findIndex($=>O($.id)===E);if(j<0)return{...w,[_]:[...f,{id:d,title:d,status:"idle",hasUnreadCompletion:!1}]};const T=[...f];return T[j]={...T[j],id:d,title:d,status:"idle",hasUnreadCompletion:!1},{...w,[_]:T}}),z(w=>{const f={...w};return delete f[E],f[d]=_,f}),ii(E),Pa(d),Bn(_,d)):pr(_,{id:d,title:d})}}else{const C=await ue("/api/threads/start",{method:"POST",body:"{}"});d=O((h=C==null?void 0:C.meta)==null?void 0:h.thread_id)}vt([]),Ws("idle"),Gr.current=!0,d?(B(d),_&&Bn(_,d)):await tt(),await Hn({projectKey:Ge,projectTabId:_})},oi=async(s,u="")=>{const d=typeof s=="string"?s.trim():"";if(!d||Lt)return;const h=S.find(E=>E.key===d);if(!u&&h){M(h.id),je&&tn(!1);return}let C=u;if(!C)if(!S.length)C="open_new_tab";else{br(d),Jr(!0);return}try{const E=G.find(f=>(f==null?void 0:f.key)===d);let w="";if(C==="replace_current"&&_){const f=E||{key:d,name:d,path:""};w=_,R(T=>T.map($=>$.id===_?{...$,key:f.key,name:f.name||f.key,path:f.path||""}:$)),g(T=>({...T,[_]:[]})),v(T=>({...T,[_]:""})),(Array.isArray(V[_])?V[_].map(T=>O(T.id)).filter(Boolean):[]).forEach(T=>ii(T)),z(T=>{const $={...T};return Object.entries($).forEach(([X,Q])=>{Q===_&&delete $[X]}),$})}else w=Ma(E||{key:d,name:d,path:""},{forceNew:C==="open_new_tab"});w&&M(w),vt([]),Ws("idle"),B(""),Gr.current=!0,await tt(),await hr(),await Hn({projectKey:d,projectTabId:w,ensureDefaultTab:!1,resetThreadTabs:C==="replace_current"})}catch(E){vt(w=>[...w,{role:"system",text:E.message||"Failed to switch project.",threadId:O(A),turnId:"",streaming:!1}])}},Da=s=>{const u=s==="replace_current"?"replace_current":"open_new_tab",d=Ap;br(""),Jr(!1),d&&oi(d,u).catch(()=>{})},Oa=(s,u)=>{Se(d=>!d||!Array.isArray(d.agents)?d:{...d,agents:d.agents.map(h=>h.name===s?{...h,enabled:u}:h)})},Fa=(s,u,d=!0)=>{Pe(h=>({...h,[s]:u})),s==="guardian"&&d&&Zt(h=>({...h,[s]:Ti(u)}))},ui=async(s,u={})=>{const{syncRulesEditor:d=!0}=u,h=cn[s];if(!h)return null;yt(""),ma(s);try{const C=await ue(h.path);return Fa(s,C,d),C}finally{ma(C=>C===s?"":C)}},qp=(s,u,d={})=>{const{includeRules:h=!1}=d;if(s!=="guardian")return u;const C={enabled:!!u.enabled,timeout_seconds:Number(u.timeout_seconds??20),failure_policy:String(u.failure_policy??"manual_fallback"),explainability:String(u.explainability??"decision_only")};if(!h)return C;const E=Pn[s]??Ti(u);return{...C,rules_toml:E}},bp=async s=>{const u=cn[s];if(!(!u||Yr||Xr)){yt(""),Zl(s);try{const d=he[s]||await ui(s);if(!d)return;const h=await ue(u.path,{method:"POST",body:JSON.stringify({...d,enabled:!d.enabled})});Pe(C=>({...C,[s]:h})),Oa(s,!!h.enabled)}catch(d){yt(d.message||"Failed to update agent.")}finally{Zl("")}}},eh=async s=>{if(cn[s]){if(ge===s){Gl(""),Qr(d=>d===s?"":d),yt("");return}if(Gl(s),s!=="guardian"&&Qr(""),he[s]){s==="guardian"&&!Pn[s]&&Zt(d=>({...d,[s]:Ti(he[s])})),yt("");return}try{await ui(s)}catch(d){yt(d.message||"Failed to load settings.")}}},th=s=>{ge===s&&(Qr(u=>u===s?"":s),yt(""))},nh=(s,u,d)=>{Pe(h=>({...h,[s]:{...h[s]||{},[u]:d}}))},$a=async(s=ge,u={})=>{const{includeRules:d=s===ge&&s==="guardian"}=u,h=cn[s],C=he[s];if(!(!h||!C||Yr||Xr)){yt(""),Zl(s);try{const E=qp(s,C,{includeRules:d}),w=await ue(h.path,{method:"POST",body:JSON.stringify(E)});Fa(s,w,d),Oa(s,!!w.enabled)}catch(E){yt(E.message||"Failed to save settings.")}finally{Zl("")}}},Ys=async()=>{if(!ye.trim())return;const s=ye.trim(),u=Qs();if(u&&(u!==O(A)&&_&&Bn(_,u),Ia(u,{input:""})),Gr.current=!0,rn(""),s.startsWith("/")){await ih(s);return}const d=u;xt(d,{role:"user",text:s,turnId:""}),wt(d,"running");try{const h=await ue("/api/chat/messages",{method:"POST",body:JSON.stringify({text:s,thread_id:d||void 0,project_key:Ge||void 0})}),C=typeof(h==null?void 0:h.turn_id)=="string"?h.turn_id:"",E=O(h==null?void 0:h.thread_id)||d;if(E&&_){const w=U.find(f=>O(f==null?void 0:f.id)===E);pr(_,{id:E,title:(w==null?void 0:w.title)||E})}if(C&&E&&(tl.current[C]=E),h.local_command){const w=E;xt(w,{role:"assistant",text:h.output||"",threadId:w,turnId:C}),wt(w,"idle"),tt().catch(()=>{})}}catch(h){wt(d,"idle"),xt(d,{role:"system",text:h.message||"Request failed.",threadId:d,turnId:"",streaming:!1}),tt().catch(()=>{})}},ai=s=>typeof s!="string"?"build":s.trim().toLowerCase()==="plan"?"plan":"build",Wa=async()=>{var s;if(!(el==="running"||L)){K(!0);try{const u=await ue("/api/command",{method:"POST",body:JSON.stringify({command_line:"/mode toggle"})}),d=ai((s=u==null?void 0:u.meta)==null?void 0:s.collaboration_mode);F(d)}catch(u){vt(d=>[...d,{role:"system",text:u.message||"Failed to switch mode.",threadId:O(A),turnId:"",streaming:!1}])}finally{K(!1)}}},ci=(s=null)=>{queueMicrotask(()=>{const u=Jt.current;!u||u.disabled||(u.focus(),typeof s=="number"&&(u.selectionStart=s,u.selectionEnd=s,Is.current={start:s,end:s}))})},mr=s=>{s&&(Is.current={start:typeof s.selectionStart=="number"?s.selectionStart:null,end:typeof s.selectionEnd=="number"?s.selectionEnd:null})},rh=()=>{const s=Jt.current;if(!s)return;s.style.height="0px";const u=Math.min(s.scrollHeight,240);s.style.height=`${Math.max(40,u)}px`},lh=async()=>{const s=O(A);await ue("/api/threads/interrupt",{method:"POST",body:JSON.stringify({thread_id:s||void 0})}),wt(s,"idle")},ln=async s=>{je&&tn(!1);const u=O(s);if(B(u),_){const h=U.find(C=>O(C==null?void 0:C.id)===u);pr(_,{id:u,title:(h==null?void 0:h.title)||u}),rl(u,{hasUnreadCompletion:!1})}if(!Op(u)){const C=(Array.isArray(V[_])?V[_]:[]).find(w=>O(w.id)===u);(C==null?void 0:C.status)==="running"||(vt([]),await Zp(u,{applyToVisible:!0}))}},ih=async s=>{var E,w,f;const u=(s||"").trim();if(!u)return;const d=Qs();xt(d,{role:"user",text:u,turnId:""}),wt(d,"running");const h=await ue("/api/command",{method:"POST",body:JSON.stringify({command_line:u})});(E=h==null?void 0:h.meta)!=null&&E.collaboration_mode&&F(ai(h.meta.collaboration_mode));const C=O((w=h==null?void 0:h.meta)==null?void 0:w.thread_id)||d;if(C&&_){const j=U.find(T=>O(T==null?void 0:T.id)===C);pr(_,{id:C,title:(j==null?void 0:j.title)||C})}xt(C,{role:"assistant",text:h.text,threadId:C,turnId:typeof((f=h==null?void 0:h.meta)==null?void 0:f.turn_id)=="string"?h.meta.turn_id:""}),wt(C,"idle"),(u.startsWith("/threads")||u.startsWith("/start")||u.startsWith("/resume")||u.startsWith("/project"))&&Hn({projectKey:Ge,projectTabId:_}).catch(()=>{}),(u.startsWith("/projects")||u.startsWith("/project"))&&hr().catch(()=>{}),tt().catch(()=>{})};x.useEffect(()=>{if(!e)return;hr().catch(()=>{}),Hn({projectKey:Ge,projectTabId:_}).catch(()=>{}),Xp().catch(()=>{}),tt().catch(()=>{}),Yp().catch(()=>{});const s=new EventSource("/api/events/stream",{withCredentials:!0}),u=(w,f)=>{try{return JSON.parse(f.data)}catch(j){return ja("[SSE parse error]",w,f==null?void 0:f.data,j),null}},d=(w,f)=>{if(!f||typeof f!="object"){Fn("[SSE]",w,f);return}const j=typeof f.text=="string"?f.text:"";Fn("[SSE]",{eventType:w,method:typeof f.method=="string"?f.method:"",thread_id:typeof f.thread_id=="string"?f.thread_id:"",turn_id:typeof f.turn_id=="string"?f.turn_id:"",text:j?j.slice(0,200):"",payload:f})},h=w=>{var Q;if(!w||typeof w!="object")return;const f=typeof w.turn_id=="string"&&w.turn_id?w.turn_id:"";if(!f)return;const j=(Q=w==null?void 0:w.params)==null?void 0:Q.item;if(!j||typeof j!="object")return;const T=typeof j.id=="string"&&j.id?j.id:typeof w.item_id=="string"?w.item_id:"",$=typeof j.phase=="string"?j.phase.toLowerCase():"";if(!T||!$)return;const X=li.current[f]||{};X[T]=$,li.current[f]=X},C=w=>{var T;if(!w||typeof w!="object")return"";if(typeof w.text=="string"&&w.text.trim())return w.text;const f=(T=w==null?void 0:w.params)==null?void 0:T.item;if(!f||typeof f!="object")return"";if(typeof f.text=="string"&&f.text.trim())return f.text;const j=f.content;if(Array.isArray(j)){for(const $ of j)if($&&typeof $=="object"&&typeof $.text=="string"&&$.text.trim())return $.text}return""},E=w=>{var j;if(!w||typeof w!="object")return"";if(typeof w.item_id=="string"&&w.item_id)return w.item_id;const f=(j=w==null?void 0:w.params)==null?void 0:j.item;return f&&typeof f=="object"&&typeof f.id=="string"&&f.id?f.id:""};return s.onopen=()=>{Fn("[SSE] connected")},s.addEventListener("turn_delta",w=>{const f=u("turn_delta",w);if(!f)return;d("turn_delta",f);const j=typeof f.method=="string"?f.method:"",T=C(f);if(!T){Fn("[SSE] turn_delta ignored: empty text",f);return}const $=f.variant==="subagent"?"subagent":"",X=typeof f.turn_id=="string"&&f.turn_id?f.turn_id:"",Q=E(f),oe=X&&Q&&li.current[X]&&li.current[X][Q]||"",Ce=$n(f.thread_id,X);if(!Ce&&X){Fn("[SSE] turn_delta ignored: unresolved thread_id for turn",{turnId:X,data:f});return}if(X&&(or.current[X]=!0),j==="item/completed"){dr(Ce,on=>{const ve=[...on];let ne=-1;for(let b=ve.length-1;b>=0;b-=1){const un=ve[b];if(un.role==="assistant"&&!(X&&(un.turnId||"")!==X)&&(un.variant||"")===$){if(Q&&(un.itemId||"")===Q){ne=b;break}if(!Q){ne=b;break}ne<0&&un.streaming&&(ne=b)}}if(ne>=0){const b=ve[ne];return ve[ne]={...b,threadId:b.threadId||Ce,turnId:b.turnId||X,itemId:b.itemId||Q,phase:b.phase||oe,streaming:!1},ve}return Fn("[SSE] turn_delta item/completed unmatched: append fallback",{threadId:Ce,turnId:X,itemId:Q,variant:$,assistantTail:ve.slice(-5).filter(b=>(b==null?void 0:b.role)==="assistant").map(b=>({turnId:(b==null?void 0:b.turnId)||"",itemId:(b==null?void 0:b.itemId)||"",variant:(b==null?void 0:b.variant)||"",streaming:!!(b!=null&&b.streaming),text:typeof(b==null?void 0:b.text)=="string"?b.text.slice(0,80):""}))}),ve.push({role:"assistant",text:T,variant:$,threadId:Ce,turnId:X,itemId:Q,phase:oe,streaming:!1}),ve}),X&&(ur.current[X]=!0);return}dr(Ce,on=>{const ve=[...on],ne=ve[ve.length-1],b=X&&ur.current[X];return b&&X&&delete ur.current[X],!b&&ne&&ne.role==="assistant"&&ne.streaming&&(ne.variant||"")===$&&((ne.itemId||"")===Q||!Q||Q&&!ne.itemId)&&((ne.turnId||"")===X||!X)?(ne.text+=T,!ne.threadId&&Ce&&(ne.threadId=Ce),!ne.turnId&&X&&(ne.turnId=X),!ne.itemId&&Q&&(ne.itemId=Q),!ne.phase&&oe&&(ne.phase=oe),ve):(ve.push({role:"assistant",text:T,variant:$,threadId:Ce,turnId:X,itemId:Q,phase:oe,streaming:!0}),ve)})}),s.addEventListener("plan_delta",w=>{const f=u("plan_delta",w);f&&(d("plan_delta",f),Ba("append",f))}),s.addEventListener("plan_completed",w=>{const f=u("plan_completed",w);f&&(d("plan_completed",f),Ba("final",f),tt().catch(()=>{}))}),s.addEventListener("plan_checklist",w=>{const f=u("plan_checklist",w);f&&(d("plan_checklist",f),sh(f))}),s.addEventListener("reasoning_status",w=>{const f=u("reasoning_status",w);f&&(d("reasoning_status",f),oh(f))}),s.addEventListener("reasoning_completed",w=>{const f=u("reasoning_completed",w);f&&(d("reasoning_completed",f),uh(f))}),s.addEventListener("web_search_item",w=>{const f=u("web_search_item",w);if(!f)return;d("web_search_item",f);const j=typeof(f==null?void 0:f.query)=="string"?f.query.trim():"",T=fy(f==null?void 0:f.action);!j&&!T||xt(O(f==null?void 0:f.thread_id),{role:"system",kind:"web_search",threadId:O(f==null?void 0:f.thread_id),turnId:typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"",itemId:typeof(f==null?void 0:f.item_id)=="string"?f.item_id:"",text:j||"Web search",detail:T,streaming:!1})}),s.addEventListener("image_generation_item",w=>{const f=u("image_generation_item",w);if(!f)return;d("image_generation_item",f);const j=[],T=typeof(f==null?void 0:f.revised_prompt)=="string"?f.revised_prompt.trim():"",$=typeof(f==null?void 0:f.saved_path)=="string"?f.saved_path.trim():"",X=typeof(f==null?void 0:f.status)=="string"?f.status.trim():"";X&&j.push(`Status: ${X}`),$&&j.push(`Saved to: ${$}`),xt(O(f==null?void 0:f.thread_id),{role:"system",kind:"image_generation",threadId:O(f==null?void 0:f.thread_id),turnId:typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"",itemId:typeof(f==null?void 0:f.item_id)=="string"?f.item_id:"",text:T||"Generated image",detail:j.join(`
43
+ `):[];return t.length?c.jsx("div",{className:"file-change-code workspace-file-code",role:"table","aria-label":"File preview",children:t.map((n,r)=>c.jsxs("div",{className:"file-change-code-row type-ctx",role:"row",children:[c.jsx("span",{className:"file-change-code-line",role:"cell",children:r+1}),c.jsx("span",{className:"file-change-code-line",role:"cell"}),c.jsx("span",{className:"file-change-code-text",role:"cell",children:n||" "})]},`file:${r}`))}):c.jsx("div",{className:"workspace-preview-empty",children:"File is empty."})}function vy({renderItems:e}){return e.map((t,n)=>{if(t.type==="event_panel")return c.jsx("div",{className:"msg-row file-panel",children:c.jsx("div",{className:"file-change-panel",children:c.jsx("div",{className:"file-change-panel-scroll",children:t.entries.map((l,i)=>c.jsxs("div",{className:`file-change-entry kind-${l.kind||"event"}`,children:[l.kind!=="file_change"?c.jsx("div",{className:"file-change-label",children:dy(l.kind)}):null,c.jsx("div",{className:"file-change-summary",children:l.text}),l.detail?c.jsx("div",{className:"file-change-files",children:l.detail}):null,Array.isArray(l.files)&&l.files.length?c.jsx("div",{className:"file-change-files",children:l.files.map((o,a)=>c.jsxs("div",{children:[o.change_type||"M"," ",o.path||"-"," (+",Number(o.additions||0)," -",Number(o.deletions||0),")"]},`${o.path||"file"}:${a}`))}):null,l.rawReasoning?c.jsxs("details",{className:"event-panel-details",children:[c.jsx("summary",{children:"Raw reasoning"}),c.jsx("div",{className:"file-change-files",children:l.rawReasoning})]}):null,l.diff?c.jsx(_p,{diff:l.diff}):null]},`file-entry:${n}:${i}`))})})},`file-panel:${n}`);const r=t.message;return c.jsx("div",{className:`msg-row ${r.role}`,children:c.jsxs("div",{className:`msg ${r.role}${r.variant?` ${r.variant}`:""}${r.kind?` kind-${r.kind}`:""}`,children:[r.kind==="plan"?c.jsx("div",{className:"msg-label",children:"Plan"}):null,r.kind==="plan_checklist"?c.jsx("div",{className:"msg-label",children:"Plan Checklist"}):null,c.jsx("div",{className:"msg-body",children:r.text}),r.turnId?c.jsxs("div",{className:"msg-meta",children:["turnId: ",r.turnId]}):null]})},n)})}function wy({projectTabs:e,activeProjectTabId:t,projectTabStatusById:n,onSelectProjectTab:r,onCloseProjectTab:l,threadTabs:i,activeThread:o,onSelectThread:a,onCloseThread:p,onAddThread:y,disableAddThread:N}){return c.jsxs("div",{className:"top-tabs",children:[c.jsx("div",{className:"project-tabs-row",children:e.map(k=>c.jsxs("div",{className:`project-tab-chip ${k.id===t?"active":""} state-${n[k.id]||"idle"}`,children:[c.jsx("button",{type:"button",className:"project-tab-main",onClick:()=>r(k.id),children:k.name}),c.jsx("button",{type:"button",className:"project-tab-close",onClick:S=>{S.stopPropagation(),l(k.id)},"aria-label":`Close project ${k.name}`,title:"Close project tab",children:c.jsx("img",{className:"tab-action-icon",src:"/assets/icons-tab-close.svg",alt:"","aria-hidden":"true"})})]},k.id))}),c.jsxs("div",{className:"turn-tabs-row",children:[i.map(k=>c.jsxs("div",{className:`turn-tab-chip ${O(k.id)===O(o)?"active":""} state-${k.status||"idle"} ${k.hasUnreadCompletion?"unread":""}`,children:[c.jsxs("button",{type:"button",className:"turn-tab-main",onClick:()=>a(k.id),children:[c.jsx("span",{className:"turn-tab-title",children:k.title||k.id}),k.hasUnreadCompletion?c.jsx("span",{className:"turn-tab-dot"}):null]}),c.jsx("button",{type:"button",className:"turn-tab-close",onClick:S=>{S.stopPropagation(),p(k.id)},"aria-label":`Close thread ${k.title||k.id}`,title:"Close thread tab",children:c.jsx("img",{className:"tab-action-icon",src:"/assets/icons-tab-close.svg",alt:"","aria-hidden":"true"})})]},k.id)),c.jsx("button",{type:"button",className:"turn-tab-add",onClick:y,"aria-label":"Add thread tab",title:"Add thread tab",disabled:N,children:c.jsx("img",{className:"tab-action-icon",src:"/assets/icons-tab-add.svg",alt:"","aria-hidden":"true"})})]})]})}function xy(e){const t=(...q)=>{typeof window<"u"&&window.__CODEX_WEB_DEBUG__===!0&&console.log(...q)},[n,r]=x.useState([]),[l,i]=x.useState({}),[o,a]=x.useState(""),[p,y]=x.useState("idle"),[N,k]=x.useState(""),[S,R]=x.useState({}),_=x.useRef({}),M=x.useRef({}),V=x.useRef(""),g=x.useRef({});x.useEffect(()=>{_.current=l},[l]),x.useEffect(()=>{M.current=S},[S]),x.useEffect(()=>{V.current=O(e)},[e]),x.useEffect(()=>{const q=O(V.current);q&&i(W=>W[q]===n?W:{...W,[q]:n})},[n]),x.useEffect(()=>{const q=O(e);if(!q){a(""),y("idle"),k("");return}const W=S[q]||id();a(typeof W.input=="string"?W.input:""),y(typeof W.status=="string"?W.status:"idle"),k(typeof W.activityDetail=="string"?W.activityDetail:"")},[e]);const m=q=>{const W=O(q);if(!W)return r([]),!1;const Y=l[W];return Array.isArray(Y)?(r(Y),!0):(r([]),!1)},v=(q,W)=>{const Y=O(q),pe=O(V.current);if(t("[CHAT-MEMORY][append]",{activeThreadId:pe,targetThreadId:Y||"",role:(W==null?void 0:W.role)||"",turnId:(W==null?void 0:W.turnId)||"",itemId:(W==null?void 0:W.itemId)||"",kind:(W==null?void 0:W.kind)||"",streaming:!!(W!=null&&W.streaming),text:typeof(W==null?void 0:W.text)=="string"?W.text.slice(0,200):""}),!Y){r(Z=>{const Se=[...Z,W];return t("[CHAT-MEMORY][append->messages]",{activeThreadId:pe,targetThreadId:"",nextCount:Se.length}),Se});return}if(Y===pe){r(Z=>{const Se=[...Z,W];return t("[CHAT-MEMORY][append->messages]",{activeThreadId:pe,targetThreadId:Y,nextCount:Se.length}),Se});return}i(Z=>{const D=[...Array.isArray(Z[Y])?Z[Y]:[],W];return t("[CHAT-MEMORY][append->messagesByThreadId]",{activeThreadId:pe,targetThreadId:Y,nextCount:D.length}),{...Z,[Y]:D}})},I=(q,W)=>{const Y=O(q),pe=O(V.current);if(t("[CHAT-MEMORY][mutate]",{activeThreadId:pe,targetThreadId:Y||"",targetIsActive:!Y||Y===pe}),!Y||Y===pe){r(Z=>{const Se=W(Z);return t("[CHAT-MEMORY][mutate->messages]",{activeThreadId:pe,targetThreadId:Y||"",prevCount:Z.length,nextCount:Array.isArray(Se)?Se.length:-1}),Se});return}i(Z=>{const Se=Array.isArray(Z[Y])?Z[Y]:[],D=W(Se);return t("[CHAT-MEMORY][mutate->messagesByThreadId]",{activeThreadId:pe,targetThreadId:Y,prevCount:Se.length,nextCount:Array.isArray(D)?D.length:-1}),{...Z,[Y]:D}})},z=(q,W)=>{const Y=O(q);Y&&R(pe=>({...pe,[Y]:{...id(),...pe[Y]||{},...W}}))};return{messages:n,setMessages:r,input:o,setInputForActiveThread:q=>{a(q);const W=V.current;W&&z(W,{input:q})},status:p,setStatus:y,setStatusForActiveThread:q=>{y(q);const W=V.current;W&&z(W,{status:q})},setStatusForThread:(q,W)=>{const Y=O(q);if(Y){z(Y,{status:W}),Y===V.current&&y(W);return}V.current||y(W)},activityDetail:N,setActivityDetail:k,setActivityDetailForActiveThread:q=>{k(q);const W=V.current;W&&z(W,{activityDetail:q})},setActivityDetailForThread:(q,W)=>{const Y=O(q);if(Y){z(Y,{activityDetail:W}),Y===V.current&&k(W);return}V.current||k(W)},messagesByThreadId:l,setMessagesByThreadId:i,threadUiByThreadId:S,setThreadUiByThreadId:R,messagesByThreadIdRef:_,threadUiByThreadIdRef:M,activeThreadRef:V,turnThreadIdRef:g,restoreThreadMessages:m,appendMessageToThread:v,applyMessageMutationForThread:I,updateThreadUi:z,resolveThreadIdFromTurn:(q,W)=>{const Y=O(q);return Y||typeof W=="string"&&W&&O(g.current[W])||""}}}function ky({workspacePreview:e,onClose:t}){return e?c.jsxs("div",{className:`workspace-preview-panel ${e.mode==="diff"?"diff-mode":"file-mode"}`,children:[c.jsxs("div",{className:"workspace-preview-head",children:[c.jsxs("div",{className:"workspace-preview-copy",children:[c.jsx("div",{className:"workspace-preview-title",children:e.mode==="diff"?"Diff Preview":"File Preview"}),c.jsxs("div",{className:"workspace-preview-path",children:[e.status?`[${e.status}] `:"",e.path]})]}),c.jsx("button",{className:"workspace-preview-close",type:"button",onClick:t,children:"Close"})]}),e.loading?c.jsx("div",{className:"workspace-preview-empty",children:"Loading preview..."}):e.error?c.jsx("div",{className:"workspace-preview-empty",children:e.error}):e.mode==="diff"&&e.diff?c.jsx("div",{className:"workspace-preview-body",children:c.jsx(_p,{diff:e.diff})}):e.previewAvailable?c.jsxs(c.Fragment,{children:[e.truncated?c.jsx("div",{className:"workspace-preview-note",children:"Showing the first part of the file."}):null,c.jsx("div",{className:"workspace-preview-body",children:c.jsx(yy,{content:e.content})})]}):c.jsx("div",{className:"workspace-preview-empty",children:e.isBinary?"Binary file preview is unavailable.":"Preview is unavailable."})]}):null}function Sy({activeThread:e,activeProjectTabId:t,activeProjectKey:n,threadProjectTabIdByThreadId:r,activeProjectTabPath:l,sessionWorkspace:i}){const a=l||i||"",[p,y]=x.useState({}),[N,k]=x.useState({}),[S,R]=x.useState({"":!0}),[_,M]=x.useState({is_git:!1,items:{}}),[V,g]=x.useState(""),[m,v]=x.useState(null),I=x.useRef({}),z=x.useRef({}),A=x.useRef(""),B=x.useRef(""),U=x.useRef(0);x.useEffect(()=>{I.current=N},[N]),x.useEffect(()=>{z.current=p},[p]);const te=x.useCallback((F="")=>{const L=O(F);return L||(t?`project:${t}`:a?`workspace:${a}`:"")},[t,a]),G=x.useCallback(F=>{const L=te(F);L&&y(K=>{const J=K[L];return J&&J.workspacePath===a?K:{...K,[L]:No(a)}})},[te,a]),De=x.useCallback(F=>{const L=te(F);L&&y(K=>({...K,[L]:No(a)}))},[te,a]),q=x.useCallback(F=>{const L=te(F);L&&y(K=>{if(!Object.prototype.hasOwnProperty.call(K,L))return K;const J={...K};return delete J[L],J})},[te]),W=x.useCallback(F=>{const L=te(F),K=L?z.current[L]:null,J=K&&K.workspacePath===a,ie=J?K:No(a);A.current=J?K.workspacePath:"",k(ie.tree||{}),R(ie.expandedDirs||{"":!0}),M(ie.status||{is_git:!1,items:{}}),g(ie.error||""),v(ie.preview||null)},[te,a]),Y=x.useCallback((F={})=>{const L=new URLSearchParams,K=O(F.thread_id||"");let J=K||O(e);if(!K&&J&&t){const ce=r[J];ce&&ce!==t&&(J="")}const ie=typeof F.project_key=="string"&&F.project_key?F.project_key:n;return J?L.set("thread_id",J):ie&&L.set("project_key",ie),L.toString()},[n,t,e,r]),pe=x.useCallback(async(F="",L={})=>{const{depth:K=4,force:J=!1,requestId:ie=U.current}=L,ce=Et(F),Ye=I.current;if(!J&&Ye[ce])return Ye[ce];try{const he=new URLSearchParams({path:ce,depth:String(K)}),Pe=Y();Pe&&new URLSearchParams(Pe).forEach((Gl,ut)=>he.set(ut,Gl));const Pn=await ue(`/api/workspace/tree?${he.toString()}`);if(ie!==U.current)return[];const Zt=Array.isArray(Pn.items)?Pn.items:[];return A.current=a,k(ge=>({...ge,[ce]:Zt})),Zt}catch(he){if(ie!==U.current)return[];throw he}},[Y]),Z=x.useCallback(async()=>{const F=U.current;try{const L=Y(),K=await ue(`/api/workspace/status${L?`?${L}`:""}`);if(F!==U.current)return null;M({is_git:!!K.is_git,items:K&&typeof K.items=="object"?K.items:{}}),A.current=a,g("")}catch(L){if(F!==U.current)return null;M({is_git:!1,items:{}}),g(L.message||"Failed to load workspace status.")}},[Y]),Se=x.useCallback(async(F,L="")=>{const K=Et(F);if(K){g(""),v({path:K,mode:L?"diff":"file",status:L,loading:!0,content:"",diff:"",previewAvailable:!0,error:"",truncated:!1,isBinary:!1});try{if(L){const Ye=new URLSearchParams({path:K}),he=Y();he&&new URLSearchParams(he).forEach((Zt,ge)=>Ye.set(ge,Zt));const Pe=await ue(`/api/workspace/diff?${Ye.toString()}`);if(Pe.has_diff&&Pe.diff){v({path:K,mode:"diff",status:Pe.status||L,loading:!1,content:"",diff:Pe.diff,previewAvailable:!0,error:"",truncated:!1,isBinary:!1});return}}const J=new URLSearchParams({path:K}),ie=Y();ie&&new URLSearchParams(ie).forEach((he,Pe)=>J.set(Pe,he));const ce=await ue(`/api/workspace/file?${J.toString()}`);v({path:K,mode:"file",status:L,loading:!1,content:ce.content||"",diff:"",previewAvailable:!!ce.preview_available,error:"",truncated:!!ce.truncated,isBinary:!!ce.is_binary})}catch(J){v({path:K,mode:L?"diff":"file",status:L,loading:!1,content:"",diff:"",previewAvailable:!1,error:J.message||"Failed to load file preview.",truncated:!1,isBinary:!1})}}},[Y]),D=x.useCallback(F=>{const L=Et(F);if(!!S[L]){R(ie=>({...ie,[L]:!1}));return}R(ie=>({...ie,[L]:!0})),I.current[L]||pe(L).catch(ie=>{g(ie.message||"Failed to load workspace tree.")})},[S,pe]);return x.useEffect(()=>{const F=te(e);F&&A.current===a&&y(L=>({...L,[F]:{workspacePath:a,tree:N,expandedDirs:S,status:_,error:V,preview:m}}))},[e,N,S,_,V,m,a,te]),x.useEffect(()=>{W(e)},[e,a,W]),x.useEffect(()=>{if(!a){k({}),R({"":!0}),M({is_git:!1,items:{}}),v(null),g(""),A.current="";return}const F=te(e);if(!F){k({}),R({"":!0}),M({is_git:!1,items:{}}),v(null),g(""),A.current="";return}const L=`${F}::${a}`;B.current!==L&&(B.current=L,U.current+=1),G(F);const K=z.current[F];if(K&&K.workspacePath===a&&K.tree&&Object.keys(K.tree).length>0){A.current=a;return}const ie=U.current;pe("",{force:!0,depth:4,requestId:ie}).catch(ce=>{k({}),g(ce.message||"Failed to load workspace tree.")}),Z().catch(()=>{})},[t,l,i,e,Y,pe,Z,G,a,te]),{ensureWorkspaceBucket:G,resetWorkspaceBucket:De,removeWorkspaceBucket:q,restoreWorkspaceForThread:W,workspaceTree:N,expandedWorkspaceDirs:S,workspaceStatus:_,workspaceError:V,setWorkspaceError:g,workspacePreview:m,setWorkspacePreview:v,workspaceContextQuery:Y,loadWorkspaceTree:pe,loadWorkspaceStatus:Z,openWorkspaceFile:Se,toggleWorkspaceDirectory:D}}function _y({me:e,theme:t,onToggleTheme:n}){const[S,R]=x.useState([]),[_,M]=x.useState(""),[V,g]=x.useState({}),[m,v]=x.useState({}),[I,z]=x.useState({}),[A,B]=x.useState(""),[U,te]=x.useState([]),[G,De]=x.useState([]),[q,W]=x.useState([]),[Y,pe]=x.useState([]),[Z,Se]=x.useState(null),[D,F]=x.useState("build"),[L,K]=x.useState(!1),[J,ie]=x.useState([]),[ce,Ye]=x.useState(null),[he,Pe]=x.useState({}),[Pn,Zt]=x.useState({}),[ge,Gl]=x.useState(""),[ut,Qr]=x.useState(""),[Xr,ma]=x.useState(""),[Yr,Zl]=x.useState(""),[ga,yt]=x.useState(""),sr=x.useRef(null),Jt=x.useRef(null),qt=x.useRef({}),ya=x.useRef(""),va=x.useRef(""),wa=x.useRef({}),Gr=x.useRef(!1),Ln=x.useRef(!1),Is=x.useRef({start:null,end:null}),xa=x.useRef(0),Ps=x.useRef(null),Ls=x.useRef({startX:0,startWidth:320}),Ep=x.useRef(0),ka=x.useRef(!0),or=x.useRef({}),ur=x.useRef({}),Jl=x.useRef(null),Rn=x.useRef(null),ql=x.useRef(null),Oe=x.useRef(null),bl=x.useRef(null),Zr=x.useRef(null),jp=x.useRef(null),An=x.useRef(-1),[bt,ei]=x.useState(0),[Cp,Np]=x.useState(340),[Rs,As]=x.useState(!1),[Tp,Ip]=x.useState(!1),[Sa,Pp]=x.useState(320),[Ms,zs]=x.useState(!1),[je,Lp]=x.useState(()=>typeof window<"u"?window.innerWidth<=900:!1),[en,tn]=x.useState(!1),[Ot,Rp]=x.useState(()=>typeof window<"u"?window.innerWidth<=1200:!1),[ti,Ds]=x.useState(!1),[Os,Jr]=x.useState(!1),[jy,Cy]=x.useState(!1),[Mn,zn]=x.useState("main"),[Fs,qr]=x.useState(0),[Dn,On]=x.useState(""),[Ap,br]=x.useState(""),[ar,Mp]=x.useState(()=>iy()),[_a,Ea]=x.useState(null),ni=x.useCallback((s,u="info")=>{Ea({message:s,type:u}),setTimeout(()=>Ea(null),5e3)},[]),ri=typeof(e==null?void 0:e.logging_level)=="string"&&e.logging_level.toUpperCase()==="DEBUG"||(e==null?void 0:e.debug_logging)===!0,Fn=(...s)=>{ri&&console.log(...s)},ja=(...s)=>{ri&&console.error(...s)},$s=x.useRef(null),li=x.useRef({}),{messages:nn,setMessages:vt,input:ye,setInputForActiveThread:rn,status:el,setStatus:Ws,setStatusForActiveThread:zp,setStatusForThread:wt,activityDetail:Ca,setActivityDetailForThread:cr,messagesByThreadId:Na,setMessagesByThreadId:Ta,setThreadUiByThreadId:Dp,activeThreadRef:It,turnThreadIdRef:tl,restoreThreadMessages:Op,appendMessageToThread:xt,applyMessageMutationForThread:dr,updateThreadUi:Ia,resolveThreadIdFromTurn:$n}=xy(A),fr=S.find(s=>s.id===_)||null,{ensureWorkspaceBucket:Pa,removeWorkspaceBucket:ii,restoreWorkspaceForThread:Fp,workspaceTree:Wn,expandedWorkspaceDirs:$p,workspaceStatus:Us,workspaceError:La,setWorkspaceError:Wp,workspacePreview:Un,setWorkspacePreview:Up,workspaceContextQuery:Bp,loadWorkspaceTree:Hp,loadWorkspaceStatus:Bs,openWorkspaceFile:Ra,toggleWorkspaceDirectory:Kp}=Sy({activeThread:A,activeProjectTabId:_,activeProjectKey:(fr==null?void 0:fr.key)||"",threadProjectTabIdByThreadId:I,activeProjectTabPath:(fr==null?void 0:fr.path)||"",sessionWorkspace:(Z==null?void 0:Z.workspace)||""}),Hs=x.useMemo(()=>["/commands","/start","/resume","/fork","/threads","/read","/archive","/unarchive","/compact","/rollback","/interrupt","/review","/exec","/projects","/project","/models","/collab","/features","/modes","/mode","/plan","/build","/skills","/apps","/mcp","/config"],[]),ee=x.useMemo(()=>{if(ye.startsWith("/")){const w=ye.slice(1);return!w||/\s/.test(w)?null:{type:"slash",query:w.toLowerCase(),start:0,end:ye.length}}const s=ye.split(/\s+/).pop()||"",u=s.match(/^([@$])([^\s]*)$/);if(!u)return null;const d=u[1],h=u[2]||"",C=ye.length,E=C-s.length;return{type:d==="@"?"project":"skill",query:h.toLowerCase(),start:E,end:C}},[ye]),Ft=x.useMemo(()=>{if(!ee)return[];const s=ee.query;return ee.type==="slash"?s?Hs.filter(u=>u.toLowerCase().includes(`/${s}`)):Hs:ee.type==="project"?q:s?Y.filter(u=>u.toLowerCase().includes(s)):Y},[ee,q,Y,Hs]),Pt=Ft.length>0,si=x.useMemo(()=>Math.floor(bt/10)*10,[bt]),Aa=x.useMemo(()=>Ft.slice(si,si+10),[Ft,si]),nl=x.useMemo(()=>gy(nn),[nn]),He=x.useMemo(()=>S.find(s=>s.id===_)||null,[S,_]),Ge=(He==null?void 0:He.key)||"",Lt=el==="running",Ks=Lt;x.useEffect(()=>{ya.current=_},[_]),x.useEffect(()=>{typeof window<"u"&&(window.__CODEX_WEB_DEBUG__=ri)},[ri]),x.useEffect(()=>{va.current=Ge},[Ge]),x.useEffect(()=>{wa.current=I},[I]);const Vp=x.useMemo(()=>{const s={};return S.forEach(u=>{const d=Array.isArray(V[u.id])?V[u.id]:[];if(d.some(h=>h.status==="running")){s[u.id]="running";return}if(d.some(h=>h.hasUnreadCompletion)){s[u.id]="unread";return}if(d.some(h=>h.status==="failed")){s[u.id]="failed";return}if(d.some(h=>h.status==="cancelled")){s[u.id]="cancelled";return}s[u.id]="idle"}),s},[S,V]),Ma=(s,u={})=>{const d=!!u.forceNew,h=typeof(s==null?void 0:s.key)=="string"?s.key:"";if(!h)return"";const C=hy(h),E=d?`${C}:${++Ep.current}`:C,w={id:E,key:h,name:typeof(s==null?void 0:s.name)=="string"&&s.name?s.name:h,path:typeof(s==null?void 0:s.path)=="string"?s.path:""};return R(f=>{const j=f.findIndex(T=>T.id===E);if(j>=0){const T=[...f];return T[j]={...T[j],...w},T}return[...f,w]}),E},pr=(s,u)=>{const d=O(u==null?void 0:u.id);if(!s||!d)return"";const h=typeof(u==null?void 0:u.title)=="string"&&u.title?u.title:d;return g(C=>{const E=Array.isArray(C[s])?C[s]:[];return E.find(f=>f.id===d)?C:{...C,[s]:[...E,{id:d,title:h,status:"idle",hasUnreadCompletion:!1}]}}),z(C=>({...C,[d]:s})),Pa(d),Bn(s,d),d},Bn=(s,u)=>{const d=O(u);v(h=>({...h,[s]:d})),s===_&&B(d)},rl=(s,u)=>{const d=O(s);if(!d)return;const h=wa.current[d];h&&g(C=>{const w=(Array.isArray(C[h])?C[h]:[]).map(f=>f.id===d?{...f,...u}:f);return{...C,[h]:w}})},za=(s,u)=>{const d=O(u);if(!s||!d)return;const h=Array.isArray(V[s])?V[s]:[],C=h.findIndex(j=>j.id===d);if(C<0)return;const E=h.filter(j=>j.id!==d),w=E[C]||E[C-1]||E[0],f=s===_&&O(A)===d;g(j=>({...j,[s]:E})),s===_?Bn(s,(w==null?void 0:w.id)||""):v(j=>({...j,[s]:(w==null?void 0:w.id)||""})),f&&(w!=null&&w.id?ln(w.id).catch(()=>{}):vt([])),z(j=>{const T={...j};return delete T[d],T}),Ta(j=>{if(!Object.prototype.hasOwnProperty.call(j,d))return j;const T={...j};return delete T[d],T}),Dp(j=>{if(!Object.prototype.hasOwnProperty.call(j,d))return j;const T={...j};return delete T[d],T}),ii(d)},Qp=s=>{if(!s)return;const u=S,d=u.findIndex(E=>E.id===s),h=d>0?u[d-1]:u[d+1];R(E=>E.filter(w=>w.id!==s)),g(E=>{const w={...E};return delete w[s],w}),v(E=>{const w={...E};return delete w[s],w}),(Array.isArray(V[s])?V[s].map(E=>O(E.id)).filter(Boolean):[]).forEach(E=>ii(E)),z(E=>{const w={...E};return Object.entries(w).forEach(([f,j])=>{j===s&&delete w[f]}),w}),_===s&&(M((h==null?void 0:h.id)||""),B(h?O(m[h.id]):""),vt([]))},Vs=()=>{if(!(!ar||typeof window>"u")){try{const s=window.AudioContext||window.webkitAudioContext;if(!s)return;$s.current||($s.current=new s);const u=$s.current;if(!u)return;const d=u.currentTime,h=u.createOscillator(),C=u.createGain();h.type="sine",h.frequency.setValueAtTime(880,d),h.frequency.exponentialRampToValueAtTime(660,d+.12),C.gain.setValueAtTime(1e-4,d),C.gain.exponentialRampToValueAtTime(.08,d+.01),C.gain.exponentialRampToValueAtTime(1e-4,d+.14),h.connect(C),C.connect(u.destination),h.start(d),h.stop(d+.15)}catch{}ni("Turn completed!","success")}},Hn=async(s={})=>{var $;const u=typeof s.projectKey=="string"?s.projectKey:Ge||"",d=typeof s.projectTabId=="string"?s.projectTabId:_||"",h=!!s.ensureDefaultTab,C=!!s.resetThreadTabs,E=Number.parseInt(String((e==null?void 0:e.threads_list_limit)??"20"),10),w=Number.isFinite(E)?Math.max(1,Math.min(100,E)):20,f=new URLSearchParams({limit:String(w),offset:"0",archived:"false"});u&&f.set("project_key",u);const j=await ue(`/api/threads/summaries?${f.toString()}`),T=Array.isArray(j.items)?j.items:[];if((!d||d===_)&&te(T),h&&d){const X=C?[]:Array.isArray(V[d])?V[d]:[];if(X.length===0){if(T.length>0){const Q=pr(d,T[0]);d===_&&Q&&ln(Q).catch(()=>{})}else if(u){const Q=await ue("/api/projects/open-thread",{method:"POST",body:JSON.stringify({project_key:u})}),oe=O(Q==null?void 0:Q.thread_id);oe&&(pr(d,{id:oe,title:oe}),d===_&&ln(oe).catch(()=>{}))}}else if(!O(m[d])){const Q=O((($=X[0])==null?void 0:$.id)||"");Bn(d,Q),d===_&&Q&&ln(Q).catch(()=>{})}}},hr=async()=>{const s=await ue("/api/projects"),u=Array.isArray(s.items)?s.items:[];if(De(u),!S.length&&ka.current){ka.current=!1;const d=u.find(h=>h==null?void 0:h.default)||u[0];if(d){const h=Ma(d);h&&M(h)}return}S.length&&R(d=>d.map(h=>{const C=u.find(E=>(E==null?void 0:E.key)===h.key);return C?{...h,name:C.name||h.name,path:C.path||h.path}:h}))},Xp=async()=>{var d;const s=await ue("/api/skills"),u=Array.isArray((d=s.meta)==null?void 0:d.skill_names)?s.meta.skill_names:[];pe([...new Set(u.filter(h=>typeof h=="string"&&h))])},tt=async()=>{const s=await ue("/api/session/summary");Se(s);const u=O(s==null?void 0:s.active_thread_id),d=!!(s!=null&&s.active_turn_id);g(h=>{const C={};for(const[E,w]of Object.entries(h))C[E]=(Array.isArray(w)?w:[]).map(f=>{const j=O(f==null?void 0:f.id);return j?d&&j===u?f.status==="running"?f:{...f,status:"running"}:!d&&f.status==="running"?{...f,status:"idle"}:f:f});return C}),u&&Ia(u,{status:d?"running":"idle"}),u&&u===It.current?zp(d?"running":"idle"):d||Ws(h=>h==="running"?"idle":h),typeof(s==null?void 0:s.collaboration_mode)=="string"&&F(ai(s.collaboration_mode))},Yp=async()=>{const s=await ue("/api/approvals"),d=(Array.isArray(s.items)?s.items:[]).filter(h=>h&&typeof h.id=="number");ie(d.length?[d[d.length-1]]:[])},Qs=(s=_)=>{var E;const u=O(s),d=O(A);if(d&&(!u||I[d]===u||!I[d]))return d;if(!u)return"";const h=O(m[u])||"";if(h)return h;const C=Array.isArray(V[u])?V[u]:[];return O((E=C[0])==null?void 0:E.id)||""},Gp=(s,u)=>Array.isArray(s==null?void 0:s.messages)&&s.messages.length>0?s.messages.filter(h=>h&&typeof h.text=="string"&&h.text.trim()).map(h=>({role:h.role==="user"?"user":h.role==="assistant"?"assistant":"system",text:h.text,variant:h.variant==="subagent"?"subagent":"",kind:h.kind==="plan"?"plan":"",threadId:O(h.thread_id)||u,turnId:typeof h.turn_id=="string"?h.turn_id:"",streaming:!1})):[{role:"assistant",text:(s==null?void 0:s.text)||"",threadId:O(s==null?void 0:s.thread_id)||u,turnId:typeof(s==null?void 0:s.turn_id)=="string"?s.turn_id:"",streaming:!1}],Zp=async(s,u={})=>{const{applyToVisible:d=!0}=u,h=O(s);if(!h)return;const C=await ue(`/api/threads/read?thread_id=${encodeURIComponent(h)}`),E=Gp(C,h);Ta(w=>({...w,[h]:E})),d&&It.current===h&&vt(E)},Jp=async(s,u)=>{if(!(typeof s!="number"||!u||ce!==null)){Ye(s);try{await ue(`/api/approvals/${s}`,{method:"POST",body:JSON.stringify({decision:u})}),ie(d=>d.filter(h=>h.id!==s))}finally{Ye(null)}}},Xs=async(s={})=>{var h;const u=!!s.replaceCurrentTab;let d="";if(Ge){const C=await ue("/api/projects/open-thread",{method:"POST",body:JSON.stringify({project_key:Ge})});if(d=O(C==null?void 0:C.thread_id),_&&d){const E=O(m[_]||A);u&&E?(g(w=>{const f=Array.isArray(w[_])?w[_]:[],j=f.findIndex($=>O($.id)===E);if(j<0)return{...w,[_]:[...f,{id:d,title:d,status:"idle",hasUnreadCompletion:!1}]};const T=[...f];return T[j]={...T[j],id:d,title:d,status:"idle",hasUnreadCompletion:!1},{...w,[_]:T}}),z(w=>{const f={...w};return delete f[E],f[d]=_,f}),ii(E),Pa(d),Bn(_,d)):pr(_,{id:d,title:d})}}else{const C=await ue("/api/threads/start",{method:"POST",body:"{}"});d=O((h=C==null?void 0:C.meta)==null?void 0:h.thread_id)}vt([]),Ws("idle"),Gr.current=!0,d?(B(d),_&&Bn(_,d)):await tt(),await Hn({projectKey:Ge,projectTabId:_})},oi=async(s,u="")=>{const d=typeof s=="string"?s.trim():"";if(!d||Lt)return;const h=S.find(E=>E.key===d);if(!u&&h){M(h.id),je&&tn(!1);return}let C=u;if(!C)if(!S.length)C="open_new_tab";else{br(d),Jr(!0);return}try{const E=G.find(f=>(f==null?void 0:f.key)===d);let w="";if(C==="replace_current"&&_){const f=E||{key:d,name:d,path:""};w=_,R(T=>T.map($=>$.id===_?{...$,key:f.key,name:f.name||f.key,path:f.path||""}:$)),g(T=>({...T,[_]:[]})),v(T=>({...T,[_]:""})),(Array.isArray(V[_])?V[_].map(T=>O(T.id)).filter(Boolean):[]).forEach(T=>ii(T)),z(T=>{const $={...T};return Object.entries($).forEach(([X,Q])=>{Q===_&&delete $[X]}),$})}else w=Ma(E||{key:d,name:d,path:""},{forceNew:C==="open_new_tab"});w&&M(w),vt([]),Ws("idle"),B(""),Gr.current=!0,await tt(),await hr(),await Hn({projectKey:d,projectTabId:w,ensureDefaultTab:!1,resetThreadTabs:C==="replace_current"})}catch(E){vt(w=>[...w,{role:"system",text:E.message||"Failed to switch project.",threadId:O(A),turnId:"",streaming:!1}])}},Da=s=>{const u=s==="replace_current"?"replace_current":"open_new_tab",d=Ap;br(""),Jr(!1),d&&oi(d,u).catch(()=>{})},Oa=(s,u)=>{Se(d=>!d||!Array.isArray(d.agents)?d:{...d,agents:d.agents.map(h=>h.name===s?{...h,enabled:u}:h)})},Fa=(s,u,d=!0)=>{Pe(h=>({...h,[s]:u})),s==="guardian"&&d&&Zt(h=>({...h,[s]:Ti(u)}))},ui=async(s,u={})=>{const{syncRulesEditor:d=!0}=u,h=cn[s];if(!h)return null;yt(""),ma(s);try{const C=await ue(h.path);return Fa(s,C,d),C}finally{ma(C=>C===s?"":C)}},qp=(s,u,d={})=>{const{includeRules:h=!1}=d;if(s!=="guardian")return u;const C={enabled:!!u.enabled,timeout_seconds:Number(u.timeout_seconds??20),failure_policy:String(u.failure_policy??"manual_fallback"),explainability:String(u.explainability??"decision_only")};if(!h)return C;const E=Pn[s]??Ti(u);return{...C,rules_toml:E}},bp=async s=>{const u=cn[s];if(!(!u||Yr||Xr)){yt(""),Zl(s);try{const d=he[s]||await ui(s);if(!d)return;const h=await ue(u.path,{method:"POST",body:JSON.stringify({...d,enabled:!d.enabled})});Pe(C=>({...C,[s]:h})),Oa(s,!!h.enabled)}catch(d){yt(d.message||"Failed to update agent.")}finally{Zl("")}}},eh=async s=>{if(cn[s]){if(ge===s){Gl(""),Qr(d=>d===s?"":d),yt("");return}if(Gl(s),s!=="guardian"&&Qr(""),he[s]){s==="guardian"&&!Pn[s]&&Zt(d=>({...d,[s]:Ti(he[s])})),yt("");return}try{await ui(s)}catch(d){yt(d.message||"Failed to load settings.")}}},th=s=>{ge===s&&(Qr(u=>u===s?"":s),yt(""))},nh=(s,u,d)=>{Pe(h=>({...h,[s]:{...h[s]||{},[u]:d}}))},$a=async(s=ge,u={})=>{const{includeRules:d=s===ge&&s==="guardian"}=u,h=cn[s],C=he[s];if(!(!h||!C||Yr||Xr)){yt(""),Zl(s);try{const E=qp(s,C,{includeRules:d}),w=await ue(h.path,{method:"POST",body:JSON.stringify(E)});Fa(s,w,d),Oa(s,!!w.enabled)}catch(E){yt(E.message||"Failed to save settings.")}finally{Zl("")}}},Ys=async()=>{if(!ye.trim())return;const s=ye.trim(),u=Qs();if(u&&(u!==O(A)&&_&&Bn(_,u),Ia(u,{input:""})),Gr.current=!0,rn(""),s.startsWith("/")){await ih(s);return}const d=u;xt(d,{role:"user",text:s,turnId:""}),wt(d,"running");try{const h=await ue("/api/chat/messages",{method:"POST",body:JSON.stringify({text:s,thread_id:d||void 0,project_key:Ge||void 0})}),C=typeof(h==null?void 0:h.turn_id)=="string"?h.turn_id:"",E=O(h==null?void 0:h.thread_id)||d;if(E&&_){const w=U.find(f=>O(f==null?void 0:f.id)===E);pr(_,{id:E,title:(w==null?void 0:w.title)||E})}if(C&&E&&(tl.current[C]=E),h.local_command){const w=E;xt(w,{role:"assistant",text:h.output||"",threadId:w,turnId:C}),wt(w,"idle"),tt().catch(()=>{})}}catch(h){wt(d,"idle"),xt(d,{role:"system",text:h.message||"Request failed.",threadId:d,turnId:"",streaming:!1}),tt().catch(()=>{})}},ai=s=>typeof s!="string"?"build":s.trim().toLowerCase()==="plan"?"plan":"build",Wa=async()=>{var s;if(!(el==="running"||L)){K(!0);try{const u=await ue("/api/command",{method:"POST",body:JSON.stringify({command_line:"/mode toggle"})}),d=ai((s=u==null?void 0:u.meta)==null?void 0:s.collaboration_mode);F(d)}catch(u){vt(d=>[...d,{role:"system",text:u.message||"Failed to switch mode.",threadId:O(A),turnId:"",streaming:!1}])}finally{K(!1)}}},ci=(s=null)=>{queueMicrotask(()=>{const u=Jt.current;!u||u.disabled||(u.focus(),typeof s=="number"&&(u.selectionStart=s,u.selectionEnd=s,Is.current={start:s,end:s}))})},mr=s=>{s&&(Is.current={start:typeof s.selectionStart=="number"?s.selectionStart:null,end:typeof s.selectionEnd=="number"?s.selectionEnd:null})},rh=()=>{const s=Jt.current;if(!s)return;s.style.height="0px";const u=Math.min(s.scrollHeight,240);s.style.height=`${Math.max(40,u)}px`},lh=async()=>{const s=O(A);await ue("/api/threads/interrupt",{method:"POST",body:JSON.stringify({thread_id:s||void 0})}),wt(s,"idle")},ln=async s=>{je&&tn(!1);const u=O(s);if(B(u),_){const h=U.find(C=>O(C==null?void 0:C.id)===u);pr(_,{id:u,title:(h==null?void 0:h.title)||u}),rl(u,{hasUnreadCompletion:!1})}if(!Op(u)){const C=(Array.isArray(V[_])?V[_]:[]).find(w=>O(w.id)===u);(C==null?void 0:C.status)==="running"||(vt([]),await Zp(u,{applyToVisible:!0}))}},ih=async s=>{var E,w,f;const u=(s||"").trim();if(!u)return;const d=Qs();xt(d,{role:"user",text:u,turnId:""}),wt(d,"running");const h=await ue("/api/command",{method:"POST",body:JSON.stringify({command_line:u})});(E=h==null?void 0:h.meta)!=null&&E.collaboration_mode&&F(ai(h.meta.collaboration_mode));const C=O((w=h==null?void 0:h.meta)==null?void 0:w.thread_id)||d;if(C&&_){const j=U.find(T=>O(T==null?void 0:T.id)===C);pr(_,{id:C,title:(j==null?void 0:j.title)||C})}xt(C,{role:"assistant",text:h.text,threadId:C,turnId:typeof((f=h==null?void 0:h.meta)==null?void 0:f.turn_id)=="string"?h.meta.turn_id:""}),wt(C,"idle"),(u.startsWith("/threads")||u.startsWith("/start")||u.startsWith("/resume")||u.startsWith("/project"))&&Hn({projectKey:Ge,projectTabId:_}).catch(()=>{}),(u.startsWith("/projects")||u.startsWith("/project"))&&hr().catch(()=>{}),tt().catch(()=>{})};x.useEffect(()=>{if(!e)return;hr().catch(()=>{}),Hn({projectKey:Ge,projectTabId:_}).catch(()=>{}),Xp().catch(()=>{}),tt().catch(()=>{}),Yp().catch(()=>{});const s=new EventSource("/api/events/stream",{withCredentials:!0}),u=(w,f)=>{try{return JSON.parse(f.data)}catch(j){return ja("[SSE parse error]",w,f==null?void 0:f.data,j),null}},d=(w,f)=>{if(!f||typeof f!="object"){Fn("[SSE]",w,f);return}const j=typeof f.text=="string"?f.text:"";Fn("[SSE]",{eventType:w,method:typeof f.method=="string"?f.method:"",thread_id:typeof f.thread_id=="string"?f.thread_id:"",turn_id:typeof f.turn_id=="string"?f.turn_id:"",text:j?j.slice(0,200):"",payload:f})},h=w=>{var Q;if(!w||typeof w!="object")return;const f=typeof w.turn_id=="string"&&w.turn_id?w.turn_id:"";if(!f)return;const j=(Q=w==null?void 0:w.params)==null?void 0:Q.item;if(!j||typeof j!="object")return;const T=typeof j.id=="string"&&j.id?j.id:typeof w.item_id=="string"?w.item_id:"",$=typeof j.phase=="string"?j.phase.toLowerCase():"";if(!T||!$)return;const X=li.current[f]||{};X[T]=$,li.current[f]=X},C=w=>{var T;if(!w||typeof w!="object")return"";if(typeof w.text=="string"&&w.text.trim())return w.text;const f=(T=w==null?void 0:w.params)==null?void 0:T.item;if(!f||typeof f!="object")return"";if(typeof f.text=="string"&&f.text.trim())return f.text;const j=f.content;if(Array.isArray(j)){for(const $ of j)if($&&typeof $=="object"&&typeof $.text=="string"&&$.text.trim())return $.text}return""},E=w=>{var j;if(!w||typeof w!="object")return"";if(typeof w.item_id=="string"&&w.item_id)return w.item_id;const f=(j=w==null?void 0:w.params)==null?void 0:j.item;return f&&typeof f=="object"&&typeof f.id=="string"&&f.id?f.id:""};return s.onopen=()=>{Fn("[SSE] connected")},s.addEventListener("turn_delta",w=>{const f=u("turn_delta",w);if(!f)return;d("turn_delta",f);const j=typeof f.method=="string"?f.method:"",T=C(f);if(!T){Fn("[SSE] turn_delta ignored: empty text",f);return}const $=f.variant==="subagent"?"subagent":"",X=typeof f.turn_id=="string"&&f.turn_id?f.turn_id:"",Q=E(f),oe=X&&Q&&li.current[X]&&li.current[X][Q]||"",Ce=$n(f.thread_id,X);if(!Ce&&X){Fn("[SSE] turn_delta ignored: unresolved thread_id for turn",{turnId:X,data:f});return}if(X&&(or.current[X]=!0),j==="item/completed"){dr(Ce,on=>{const ve=[...on];let ne=-1;for(let b=ve.length-1;b>=0;b-=1){const un=ve[b];if(un.role==="assistant"&&!(X&&(un.turnId||"")!==X)&&(un.variant||"")===$){if(Q&&(un.itemId||"")===Q){ne=b;break}if(!Q){ne=b;break}ne<0&&un.streaming&&(ne=b)}}if(ne>=0){const b=ve[ne];return ve[ne]={...b,threadId:b.threadId||Ce,turnId:b.turnId||X,itemId:b.itemId||Q,phase:b.phase||oe,streaming:!1},ve}return Fn("[SSE] turn_delta item/completed unmatched: append fallback",{threadId:Ce,turnId:X,itemId:Q,variant:$,assistantTail:ve.slice(-5).filter(b=>(b==null?void 0:b.role)==="assistant").map(b=>({turnId:(b==null?void 0:b.turnId)||"",itemId:(b==null?void 0:b.itemId)||"",variant:(b==null?void 0:b.variant)||"",streaming:!!(b!=null&&b.streaming),text:typeof(b==null?void 0:b.text)=="string"?b.text.slice(0,80):""}))}),ve.push({role:"assistant",text:T,variant:$,threadId:Ce,turnId:X,itemId:Q,phase:oe,streaming:!1}),ve}),X&&(ur.current[X]=!0);return}dr(Ce,on=>{const ve=[...on],ne=ve[ve.length-1],b=X&&ur.current[X];return b&&X&&delete ur.current[X],!b&&ne&&ne.role==="assistant"&&ne.streaming&&(ne.variant||"")===$&&((ne.itemId||"")===Q||!Q||Q&&!ne.itemId)&&((ne.turnId||"")===X||!X)?(ne.text+=T,!ne.threadId&&Ce&&(ne.threadId=Ce),!ne.turnId&&X&&(ne.turnId=X),!ne.itemId&&Q&&(ne.itemId=Q),!ne.phase&&oe&&(ne.phase=oe),ve):(ve.push({role:"assistant",text:T,variant:$,threadId:Ce,turnId:X,itemId:Q,phase:oe,streaming:!0}),ve)})}),s.addEventListener("plan_delta",w=>{const f=u("plan_delta",w);f&&(d("plan_delta",f),Ba("append",f))}),s.addEventListener("plan_completed",w=>{const f=u("plan_completed",w);f&&(d("plan_completed",f),Ba("final",f),tt().catch(()=>{}))}),s.addEventListener("plan_checklist",w=>{const f=u("plan_checklist",w);f&&(d("plan_checklist",f),sh(f))}),s.addEventListener("reasoning_status",w=>{const f=u("reasoning_status",w);f&&(d("reasoning_status",f),oh(f))}),s.addEventListener("reasoning_completed",w=>{const f=u("reasoning_completed",w);f&&(d("reasoning_completed",f),uh(f))}),s.addEventListener("web_search_item",w=>{const f=u("web_search_item",w);if(!f)return;d("web_search_item",f);const j=typeof(f==null?void 0:f.query)=="string"?f.query.trim():"",T=fy(f==null?void 0:f.action);!j&&!T||xt(O(f==null?void 0:f.thread_id),{role:"system",kind:"web_search",threadId:O(f==null?void 0:f.thread_id),turnId:typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"",itemId:typeof(f==null?void 0:f.item_id)=="string"?f.item_id:"",text:j||"Web search",detail:T,streaming:!1})}),s.addEventListener("image_generation_item",w=>{const f=u("image_generation_item",w);if(!f)return;d("image_generation_item",f);const j=[],T=typeof(f==null?void 0:f.revised_prompt)=="string"?f.revised_prompt.trim():"",$=typeof(f==null?void 0:f.saved_path)=="string"?f.saved_path.trim():"",X=typeof(f==null?void 0:f.status)=="string"?f.status.trim():"";X&&j.push(`Status: ${X}`),$&&j.push(`Saved to: ${$}`),xt(O(f==null?void 0:f.thread_id),{role:"system",kind:"image_generation",threadId:O(f==null?void 0:f.thread_id),turnId:typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"",itemId:typeof(f==null?void 0:f.item_id)=="string"?f.item_id:"",text:T||"Generated image",detail:j.join(`
44
44
  `),streaming:!1})}),s.addEventListener("context_compacted_item",w=>{const f=u("context_compacted_item",w);if(!f)return;d("context_compacted_item",f);const j=typeof(f==null?void 0:f.text)=="string"&&f.text.trim()?f.text.trim():"Context compacted";xt(O(f==null?void 0:f.thread_id),{role:"system",text:j,threadId:O(f==null?void 0:f.thread_id),turnId:typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"",streaming:!1})}),s.addEventListener("turn_started",w=>{var X,Q;const f=u("turn_started",w);if(!f)return;d("turn_started",f);const j=typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"",T=$n(f==null?void 0:f.thread_id,j);j&&T&&(tl.current[j]=T),rl(T,{status:"running",hasUnreadCompletion:!1}),wt(T,"running"),cr(T,"");const $=((X=f==null?void 0:f.params)==null?void 0:X.collaboration_mode_kind)||((Q=f==null?void 0:f.params)==null?void 0:Q.collaborationModeKind);typeof $=="string"&&F(ai($)),qt.current={},T===It.current&&vt(oe=>oe.map(Ce=>Ce.streaming?{...Ce,streaming:!1}:Ce))}),s.addEventListener("turn_completed",w=>{const f=u("turn_completed",w);if(!f)return;d("turn_completed",f);const j=typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"",T=$n(f==null?void 0:f.thread_id,j);j&&delete tl.current[j];const $=T&&T!==It.current;rl(T,{status:"completed",hasUnreadCompletion:T?$:!0}),$&&Vs(),wt(T,"idle"),cr(T,""),qt.current={},T===It.current&&vt(X=>X.map(Q=>({...Q,streaming:!1}))),j&&or.current[j],j&&(delete or.current[j],delete ur.current[j]),Hn({projectKey:va.current,projectTabId:ya.current}).catch(()=>{}),hr().catch(()=>{}),tt().catch(()=>{}),Bs().catch(()=>{})}),s.addEventListener("turn_failed",w=>{const f=u("turn_failed",w);if(!f)return;d("turn_failed",f);const j=typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"";j&&(delete or.current[j],delete ur.current[j]);const T=$n(f==null?void 0:f.thread_id,j);j&&delete tl.current[j];const $=T&&T!==It.current;rl(T,{status:"failed",hasUnreadCompletion:T?$:!0}),$&&Vs();const X=f.text||"Turn failed.",Q=$n(f.thread_id,j);wt(Q,"idle"),cr(Q,""),qt.current={},xt(Q,{role:"system",text:X,threadId:Q,turnId:j,streaming:!1}),hr().catch(()=>{}),tt().catch(()=>{})}),s.addEventListener("turn_cancelled",w=>{const f=u("turn_cancelled",w);if(!f)return;d("turn_cancelled",f);const j=typeof(f==null?void 0:f.turn_id)=="string"?f.turn_id:"";j&&(delete or.current[j],delete ur.current[j]);const T=$n(f==null?void 0:f.thread_id,j);j&&delete tl.current[j];const $=T&&T!==It.current;rl(T,{status:"cancelled",hasUnreadCompletion:T?$:!0}),$&&Vs(),wt(T,"idle"),cr(T,""),qt.current={},hr().catch(()=>{}),tt().catch(()=>{})}),s.addEventListener("approval_required",w=>{const f=u("approval_required",w);f&&(d("approval_required",f),!(!f||typeof f.id!="number")&&(Ye(null),ie([f])))}),s.addEventListener("system_message",w=>{const f=u("system_message",w);if(!f)return;d("system_message",f);const j=f.text||"";j&&(xt(O(f.thread_id),{role:"system",text:j,threadId:O(f.thread_id),turnId:typeof f.turn_id=="string"?f.turn_id:"",streaming:!1}),tt().catch(()=>{}),Bs().catch(()=>{}))}),s.addEventListener("file_change",w=>{const f=u("file_change",w);if(!f)return;d("file_change",f);const j=f.summary||f.text||"",T=Array.isArray(f.files)?f.files:[],$=typeof f.diff=="string"?f.diff:"",X=O(f.thread_id),Q=typeof f.turn_id=="string"?f.turn_id:"";!j&&T.length===0&&!$||(xt(X,{role:"system",text:j||"Applied patch changes",files:T,diff:$,threadId:X,turnId:Q,kind:"file_change",streaming:!1}),tt().catch(()=>{}))}),s.addEventListener("app_event",w=>{var Ce;const f=u("app_event",w);if(!f||(d("app_event",f),(f.method==="item/started"||f.method==="item/completed")&&h(f),(typeof f.method=="string"?f.method:"")!=="item/completed"))return;const T=(Ce=f==null?void 0:f.params)==null?void 0:Ce.item,$=typeof(T==null?void 0:T.type)=="string"?T.type.toLowerCase():"";if(!["agentmessage","assistantmessage","message"].includes($))return;const X=C(f);if(!X)return;const Q=typeof f.turn_id=="string"&&f.turn_id?f.turn_id:"",oe=$n(f.thread_id,Q);!oe&&Q||Q&&or.current[Q]||dr(oe,on=>{const ve=[...on],ne=ve[ve.length-1];return ne&&ne.role==="assistant"&&ne.streaming&&((ne.turnId||"")===Q||!Q)?(ne.text+=X,!ne.threadId&&oe&&(ne.threadId=oe),!ne.turnId&&Q&&(ne.turnId=Q),ve):(ve.push({role:"assistant",text:X,threadId:oe,turnId:Q,streaming:!0}),ve)})}),s.onerror=()=>{ja("[SSE] connection error"),wt(It.current,"disconnected")},()=>s.close()},[e,ar]),x.useEffect(()=>{const s=O(It.current),u=(Array.isArray(nn)?nn:[]).slice(-5).map(d=>({role:(d==null?void 0:d.role)||"",threadId:(d==null?void 0:d.threadId)||"",turnId:(d==null?void 0:d.turnId)||"",itemId:(d==null?void 0:d.itemId)||"",kind:(d==null?void 0:d.kind)||"",streaming:!!(d!=null&&d.streaming),text:typeof(d==null?void 0:d.text)=="string"?d.text.slice(0,120):"",visibleInCurrentThread:!(d!=null&&d.threadId)||O(d.threadId)===s}));Fn("[CHAT-RENDER]",{activeThreadId:s,messageCount:Array.isArray(nn)?nn.length:0,renderItemCount:Array.isArray(nl)?nl.length:0,tailMessages:u})},[nn,nl,It]),x.useEffect(()=>{sr.current&&(sr.current.scrollTop=sr.current.scrollHeight)},[nn]),x.useEffect(()=>{if(!sr.current)return;sr.current.querySelectorAll(".file-change-panel-scroll").forEach(u=>{u.scrollTop=u.scrollHeight})},[nl]),x.useEffect(()=>{el==="running"||!Gr.current||(Gr.current=!1,ci(ye.length))},[ye.length,el]),x.useEffect(()=>{rh()},[ye]),x.useEffect(()=>{if(!Ln.current||typeof window>"u")return;const s=Jt.current;if(!s||s.disabled)return;if(document.activeElement===s){mr(s);return}const u=window.requestAnimationFrame(()=>{if(!Ln.current)return;const d=Jt.current;if(!d||d.disabled||document.activeElement===d)return;d.focus();const{start:h,end:C}=Is.current;typeof h=="number"&&typeof C=="number"&&(d.selectionStart=h,d.selectionEnd=C)});return()=>window.cancelAnimationFrame(u)},[ye,Pt,bt]),x.useEffect(()=>{ei(0)},[ee==null?void 0:ee.type,ee==null?void 0:ee.query]),x.useEffect(()=>{Hn({projectKey:Ge,projectTabId:_}).catch(()=>{})},[]),x.useEffect(()=>{if(!_)return;const s=Qs(_);s&&Bn(_,s),Fp(s),s?ln(s).catch(()=>{}):vt([]),tt().catch(()=>{}),Hn({projectKey:Ge,projectTabId:_,ensureDefaultTab:!1}).catch(()=>{})},[_]),x.useEffect(()=>{bt<Ft.length||ei(0)},[Ft.length,bt]),x.useEffect(()=>{if(!Pt||!Ps.current)return;const u=Ps.current.querySelector(".slash-item.active");u&&u.scrollIntoView({block:"nearest"})},[Pt,bt,Aa.length]),x.useEffect(()=>{if(typeof window>"u")return;const s=()=>{Lp(window.innerWidth<=900),Rp(window.innerWidth<=1200)};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),x.useEffect(()=>{if(!je){tn(!1);return}As(!1)},[je]),x.useEffect(()=>{if(!Ot){Ds(!1);return}zs(!1)},[Ot]),x.useEffect(()=>{if(!je||typeof document>"u")return;const{body:s}=document;if(!s)return;const u=s.style.overflow;return en&&(s.style.overflow="hidden"),()=>{s.style.overflow=u}},[je,en]),x.useEffect(()=>{if(!je||!en||typeof window>"u")return;const s=u=>{u.key==="Escape"&&tn(!1)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[je,en]),x.useEffect(()=>{if(!Rs)return;const s=d=>{const h=Math.max(260,Math.min(620,d.clientX));Np(h)},u=()=>As(!1);return window.addEventListener("mousemove",s),window.addEventListener("mouseup",u),()=>{window.removeEventListener("mousemove",s),window.removeEventListener("mouseup",u)}},[Rs]),x.useEffect(()=>{if(!Ms)return;const s=d=>{const h=Ls.current.startX-d.clientX,C=Ls.current.startWidth+h;Pp(Math.max(280,Math.min(720,C)))},u=()=>zs(!1);return window.addEventListener("mousemove",s),window.addEventListener("mouseup",u),()=>{window.removeEventListener("mousemove",s),window.removeEventListener("mouseup",u)}},[Ms]),x.useEffect(()=>{if(!ee||ee.type!=="project"){W([]);return}const s=ee.query||"";{const u=new URLSearchParams({prefix:s,limit:"200"}),d=Bp();d&&new URLSearchParams(d).forEach((C,E)=>u.set(E,C)),ue(`/api/workspace/suggestions?${u.toString()}`).then(h=>{const C=Array.isArray(h.items)?h.items:[];W(C.filter(E=>typeof E=="string"&&E))}).catch(()=>{W([])})}},[ee==null?void 0:ee.type,ee==null?void 0:ee.query]),x.useEffect(()=>{ut&&ut!==ge&&Qr("")},[ge,ut]),x.useEffect(()=>{if(!Os||typeof window>"u")return;const s=u=>{u.key==="Escape"&&(br(""),Jr(!1))};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[Os]),x.useEffect(()=>{Jl.current=Ys,Rn.current=Xs,ql.current=za,Oe.current=ln,bl.current=oi,Zr.current=ci,jp.current=rn});const ll=x.useMemo(()=>{const s=Dn.toLowerCase();return s?G.filter(u=>u.name&&u.name.toLowerCase().includes(s)||u.key&&u.key.toLowerCase().includes(s)):G},[G,Dn]);x.useEffect(()=>{Mn==="project"&&qr(0)},[Dn,Mn]),x.useEffect(()=>{if(typeof window>"u")return;const s=u=>{var $,X,Q,oe,Ce,on,ve,ne,b,un;const h=navigator.platform.toUpperCase().indexOf("MAC")>=0?u.metaKey:u.ctrlKey,C=u.altKey;if(u.key==="Escape"){Mn==="project"&&(zn("main"),On(""));return}if(C&&!h){const ct=u.target;if(ct&&(ct.tagName==="INPUT"||ct.tagName==="TEXTAREA"||ct.isContentEditable))return;switch(u.preventDefault(),u.key){case"n":case"N":($=Zr.current)==null||$.call(Zr),Lt||(X=Rn.current)==null||X.call(Rn,{replaceCurrentTab:!0}).catch(()=>{});break;case"t":case"T":!Lt&&Ge&&((Q=Rn.current)==null||Q.call(Rn).catch(()=>{}));break;case"w":case"W":A&&_&&((oe=ql.current)==null||oe.call(ql,_,A));break;case"p":case"P":zn("project"),qr(0),On("");break;case"v":case"V":Ot&&Ds(Fe=>!Fe);break;case"[":{const Fe=V[_]||[],$t=Fe.findIndex(qs=>O(qs.id)===O(A));$t>0?(Ce=Oe.current)==null||Ce.call(Oe,Fe[$t-1].id):Fe.length>0&&((on=Oe.current)==null||on.call(Oe,Fe[Fe.length-1].id))}break;case"]":{const Fe=V[_]||[],$t=Fe.findIndex(qs=>O(qs.id)===O(A));$t<Fe.length-1&&$t>=0?(ve=Oe.current)==null||ve.call(Oe,Fe[$t+1].id):Fe.length>0&&((ne=Oe.current)==null||ne.call(Oe,Fe[0].id))}break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{const Fe=parseInt(u.key,10),$t=V[_]||[];$t[Fe-1]&&((b=Oe.current)==null||b.call(Oe,$t[Fe-1].id))}break}return}if(!h)return;const E=u.target,w=E&&(E.tagName==="INPUT"||E.tagName==="TEXTAREA"||E.isContentEditable),f=typeof window.getSelection=="function"?window.getSelection():null,j=!!f&&!f.isCollapsed&&`${f}`.trim().length>0,T=typeof u.key=="string"?u.key.toLowerCase():"";if(!((T==="c"||T==="x")&&j)&&!(T==="a"&&!w)&&!(w&&!u.shiftKey&&u.key!=="Enter"))switch(u.preventDefault(),u.key){case"Enter":(!w||u.shiftKey)&&((un=Jl.current)==null||un.call(Jl).catch(()=>{}));break;case"p":case"P":u.shiftKey&&D!=="plan"&&!L&&ue("/api/command",{method:"POST",body:JSON.stringify({command_line:"/mode plan"})}).then(ct=>{var gr;(gr=ct==null?void 0:ct.meta)!=null&&gr.collaboration_mode&&F("plan")}).catch(()=>{});break;case"b":case"B":D!=="build"&&!L&&ue("/api/command",{method:"POST",body:JSON.stringify({command_line:"/mode build"})}).then(ct=>{var gr;(gr=ct==null?void 0:ct.meta)!=null&&gr.collaboration_mode&&F("build")}).catch(()=>{});break}};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[Mn,Lt,A,_,V,D,L,Ot,Zr]),x.useEffect(()=>{if(Mn!=="project"||typeof window>"u")return;const s=u=>{var d;if(u.key==="Escape"){if(Dn){On("");return}zn("main");return}if(u.key==="Enter"){const h=ll[Fs];h&&((d=bl.current)==null||d.call(bl,h.key).catch(()=>{}),zn("main"),On(""));return}if(u.key==="ArrowDown"){u.preventDefault(),qr(h=>Math.min(h+1,ll.length-1));return}if(u.key==="ArrowUp"){u.preventDefault(),qr(h=>Math.max(h-1,0));return}u.key==="Backspace"&&!Dn&&zn("main")};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[Mn,Dn,ll,Fs]);const Ua=s=>{if(!ee)return;let u=ye,d=ye.length;ee.type==="slash"?(u=`${s} `,d=u.length):ee.type==="project"?(u=`${ye.slice(0,ee.start)}@${s}${ye.slice(ee.end)}`,d=ee.start+s.length+1):(u=`${ye.slice(0,ee.start)}$${s}${ye.slice(ee.end)}`,d=ee.start+s.length+1),rn(u),ci(d)},Ba=(s,u)=>{const d=typeof(u==null?void 0:u.item_id)=="string"?u.item_id:"",h=typeof(u==null?void 0:u.text)=="string"?u.text:"";if(!d||!h)return;const C=O(u==null?void 0:u.thread_id);dr(C,E=>{const w=[...E],f=w.findIndex(T=>T.kind==="plan"&&T.itemId===d),j=s!=="final";if(f>=0){const T=w[f];return w[f]={...T,role:"assistant",kind:"plan",itemId:d,threadId:O(u==null?void 0:u.thread_id),turnId:typeof(u==null?void 0:u.turn_id)=="string"?u.turn_id:(T==null?void 0:T.turnId)||"",text:s==="append"?`${T.text||""}${h}`:h,streaming:j},w}return w.push({role:"assistant",kind:"plan",itemId:d,threadId:O(u==null?void 0:u.thread_id),turnId:typeof(u==null?void 0:u.turn_id)=="string"?u.turn_id:"",text:h,streaming:j}),w})},sh=s=>{const u=ay(s==null?void 0:s.explanation,s==null?void 0:s.plan),d=typeof(s==null?void 0:s.turn_id)=="string"?s.turn_id:"";if(!u||!d)return;const h=O(s==null?void 0:s.thread_id);dr(h,C=>{const E=[...C],w=E.findIndex(j=>j.kind==="plan_checklist"&&j.turnId===d),f={role:"system",kind:"plan_checklist",threadId:O(s==null?void 0:s.thread_id),turnId:d,text:u,plan:Array.isArray(s==null?void 0:s.plan)?s.plan:[],explanation:typeof(s==null?void 0:s.explanation)=="string"?s.explanation:"",streaming:!1};return w>=0?(E[w]={...E[w],...f},E):(E.push(f),E)})},oh=s=>{const u=typeof(s==null?void 0:s.item_id)=="string"?s.item_id:"";if(!u)return;const d=qt.current[u]||{itemId:u,turnId:typeof(s==null?void 0:s.turn_id)=="string"?s.turn_id:"",threadId:O(s==null?void 0:s.thread_id),summary:"",raw:""};s!=null&&s.section_break&&d.summary&&!d.summary.endsWith(`
45
45
 
46
46
  `)&&(d.summary+=`
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="color-scheme" content="dark light" />
7
7
  <title>Codex Web</title>
8
- <script type="module" crossorigin src="/assets/assets/index-Dy6bMyek.js"></script>
8
+ <script type="module" crossorigin src="/assets/assets/index-ZvcGuXeL.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/assets/index-BfBVFmNi.css">
10
10
  </head>
11
11
  <body>
File without changes
File without changes
File without changes