tarsk 0.5.71 → 0.5.72
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.
- package/dist/index.js +83963 -83321
- package/dist/public/assets/Combination-lwI_j-mU.js +41 -0
- package/dist/public/assets/account-view-C_WBVXA3.js +1 -0
- package/dist/public/assets/alert-dialog-FQ5_FqBX.js +7 -0
- package/dist/public/assets/api-ODizoHnY.js +2 -0
- package/dist/public/assets/async-error-boundary-DCDTsNTO.js +1 -0
- package/dist/public/assets/async-loading-fallback-C173aA9v.js +1 -0
- package/dist/public/assets/browser-overlay-block-CiDtkfup.js +1 -0
- package/dist/public/assets/browser-tab-Cl9d7ESj.js +12 -0
- package/dist/public/assets/button-sfGyFWfz.js +1 -0
- package/dist/public/assets/card-D5k0GHxM.js +1 -0
- package/dist/public/assets/chat-dock-context-DIyMsJHM.js +1 -0
- package/dist/public/assets/chunk-QFMPRPBF-COsSkB7x.js +3 -0
- package/dist/public/assets/commit-dialog-Bmh1QdHK.js +1 -0
- package/dist/public/assets/commit-error-dialog-Dpu8C-0w.js +1 -0
- package/dist/public/assets/commit-method-fields-CYzy7rmY.js +1 -0
- package/dist/public/assets/context-menu-Bo0OMC7-.js +1 -0
- package/dist/public/assets/conversation-history-view-COFXqD0e.js +1 -0
- package/dist/public/assets/create-project-dialog-DQ4AbwQP.js +6 -0
- package/dist/public/assets/create-project-workspace-BiRMezO9.js +1 -0
- package/dist/public/assets/create-repo-dialog-CYiCHWgi.js +1 -0
- package/dist/public/assets/delete-confirm-dialog-B99gEJN8.js +1 -0
- package/dist/public/assets/dialog-CP2cYR59.js +1 -0
- package/dist/public/assets/diff-view-Cnuntc3l.js +4 -0
- package/dist/public/assets/dist-BZvmHCxP.js +5 -0
- package/dist/public/assets/dist-CSssbxDI.js +1 -0
- package/dist/public/assets/dist-CWnEmdyL.js +1 -0
- package/dist/public/assets/dist-CWq9XRXF.js +1 -0
- package/dist/public/assets/dist-DIjomljy.js +1 -0
- package/dist/public/assets/dist-DiMgghKn.js +1 -0
- package/dist/public/assets/dist-DjKXDRW7.js +1 -0
- package/dist/public/assets/dist-DrpdKPSI.js +1 -0
- package/dist/public/assets/dist-OixawqbU.js +1 -0
- package/dist/public/assets/dist-ZlK7I-y-.js +2 -0
- package/dist/public/assets/dist-mdooLpmq.js +1 -0
- package/dist/public/assets/explorer-tab-context-BxUVwWQQ.js +1 -0
- package/dist/public/assets/explorer-tab-view-BoCoREoE.js +2 -0
- package/dist/public/assets/explorer-tree-DvD1-WW3.js +1 -0
- package/dist/public/assets/explorer-view-B4WJUy7s.js +75 -0
- package/dist/public/assets/git-history-dialog-DHdzijZS.js +1 -0
- package/dist/public/assets/index-Bmkj1Qwa.js +3380 -0
- package/dist/public/assets/index-DPMRI86E.css +1 -0
- package/dist/public/assets/main-tab-context-Byl1LybL.js +1 -0
- package/dist/public/assets/markdown-renderer-Dx9-Ljv0.js +8 -0
- package/dist/public/assets/mcp-server-card-DPNG9Up7.js +1 -0
- package/dist/public/assets/merged-pr-dialog-CEvS2z8D.js +1 -0
- package/dist/public/assets/model-list-controls-ChoemIJa.js +1 -0
- package/dist/public/assets/{monaco-D1hpqXQ0.js → monaco-lJcjGRXq.js} +189 -199
- package/dist/public/assets/monaco-setup-DU2h1v3K.js +11 -0
- package/dist/public/assets/onboarding-dialog-DCull5p_.js +1 -0
- package/dist/public/assets/pending-changes-Bn-0ak1d.js +1 -0
- package/dist/public/assets/project-env-vars-view-DTGwl4wr.js +1 -0
- package/dist/public/assets/project-model-aliases-view-CEDz_6NW.js +1 -0
- package/dist/public/assets/project-settings-view-DniUno1i.js +1 -0
- package/dist/public/assets/project-tools-view-DknCaJu_.js +1 -0
- package/dist/public/assets/providers-list-view-D_n1Ai6S.js +1 -0
- package/dist/public/assets/pull-request-dialog-BkQBaJkw.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-rKmqSi73.js +1 -0
- package/dist/public/assets/push-before-pr-dialog-BeEx6Po_.js +1 -0
- package/dist/public/assets/query-keys-5QPW6Dv-.js +1 -0
- package/dist/public/assets/radio-group-CU59hGiA.js +1 -0
- package/dist/public/assets/react-vendor-Ee0-5T4I.js +9 -0
- package/dist/public/assets/scroll-area-nbNFO91g.js +1 -0
- package/dist/public/assets/settings-general-view-CVHlxpTM.js +1 -0
- package/dist/public/assets/settings-instructions-view-Bpx_dUaJ.js +1 -0
- package/dist/public/assets/settings-list-PMi8ZniW.js +1 -0
- package/dist/public/assets/settings-logs-view-64Aq1hEw.js +5 -0
- package/dist/public/assets/settings-mcp-servers-view-B84c4h47.js +5 -0
- package/dist/public/assets/settings-models-view-DdRC4YXo.js +1 -0
- package/dist/public/assets/settings-rules-view-CGLh95Ta.js +8 -0
- package/dist/public/assets/settings-skills-view-DeVnXDl-.js +3 -0
- package/dist/public/assets/settings-slack-view-OFNrG_DW.js +1 -0
- package/dist/public/assets/settings-slash-commands-view-DOo0BimH.js +1 -0
- package/dist/public/assets/settings-statistics-view-DpaSoVqG.js +1 -0
- package/dist/public/assets/settings-storage-view-DlyXWB__.js +1 -0
- package/dist/public/assets/settings-subagents-view-D7o69YzB.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-BFGfrXfe.js +1 -0
- package/dist/public/assets/settings-view-Dw1Zh2Qn.js +2 -0
- package/dist/public/assets/skeleton-DvLd14RU.js +1 -0
- package/dist/public/assets/sorting-DqwxPMRN.js +1 -0
- package/dist/public/assets/store-Be_7VK0D.js +8 -0
- package/dist/public/assets/switch-pIBaqatj.js +1 -0
- package/dist/public/assets/table-B2TDbGGl.js +1 -0
- package/dist/public/assets/tasks-view-FR7c1qFr.js +2 -0
- package/dist/public/assets/{terminal-panel-CiCkzKHm.js → terminal-panel-DBZpuMz9.js} +3 -3
- package/dist/public/assets/toggle-group-BiUqOiP6.js +1 -0
- package/dist/public/assets/tooltip-B6ziVyTv.js +1 -0
- package/dist/public/assets/{use-active-dock-panel-instance-BAHb-cSH.js → use-active-dock-panel-instance-CcCdDHzX.js} +1 -1
- package/dist/public/assets/use-browser-overlay-block-DyprQSIG.js +1 -0
- package/dist/public/assets/use-deferred-search-Dgxosq55.js +1 -0
- package/dist/public/assets/use-installed-ai-files-BNrsyACe.js +1 -0
- package/dist/public/assets/use-open-chat-dock-panel-D1D5bnsL.js +1 -0
- package/dist/public/assets/use-settings-page-loading-BTySlInF.js +1 -0
- package/dist/public/assets/use-suspense-resource-Dkz6ddFN.js +1 -0
- package/dist/public/assets/use-toast-xpb5jNtN.js +1 -0
- package/dist/public/assets/useInfiniteQuery-DUeUxDcu.js +1 -0
- package/dist/public/assets/utils-CT-Dw22R.js +1 -0
- package/dist/public/assets/{web-CkSlG6TA.js → web-C5UYr_H-.js} +1 -1
- package/dist/public/assets/{web-2RomPZ8n.js → web-DaSLtaQ7.js} +1 -1
- package/dist/public/assets/{web-DGsiH272.js → web-Rx_XWVAQ.js} +1 -1
- package/dist/public/assets/{web-BRo_4CM5.js → web-iwWEZ1P2.js} +1 -1
- package/dist/public/index.html +37 -19
- package/dist/recommended-models.txt +2 -2
- package/package.json +3 -4
- package/dist/public/assets/account-view-P4Y5-Gf7.js +0 -1
- package/dist/public/assets/alert-dialog-CQsuxtcP.js +0 -1
- package/dist/public/assets/async-error-boundary-DajcyqVg.js +0 -1
- package/dist/public/assets/browser-tab-DLvnuyhT.js +0 -12
- package/dist/public/assets/card-BDQUHsPD.js +0 -1
- package/dist/public/assets/chat-dock-context-CUdrQKFm.js +0 -1
- package/dist/public/assets/commit-dialog-C98fYJ1d.js +0 -1
- package/dist/public/assets/commit-error-dialog-DjFWRUYh.js +0 -1
- package/dist/public/assets/commit-method-fields-CPKi4MLF.js +0 -1
- package/dist/public/assets/context-menu-D4UmleM5.js +0 -1
- package/dist/public/assets/conversation-history-view-CFq844ge.js +0 -1
- package/dist/public/assets/create-project-dialog-Du4yuSgt.js +0 -6
- package/dist/public/assets/create-project-workspace-Cw58bBNY.js +0 -1
- package/dist/public/assets/create-repo-dialog-DaCI6QrX.js +0 -1
- package/dist/public/assets/delete-confirm-dialog-V9X76h-2.js +0 -1
- package/dist/public/assets/diff-view-CzWiyJDW.js +0 -4
- package/dist/public/assets/explorer-tab-context-BdjTEbFh.js +0 -1
- package/dist/public/assets/explorer-tab-view-BbukFEig.js +0 -2
- package/dist/public/assets/explorer-tree-CKwkrTpU.js +0 -1
- package/dist/public/assets/explorer-view-DxvRAs1j.js +0 -75
- package/dist/public/assets/git-history-dialog-BIl7cN5L.js +0 -1
- package/dist/public/assets/index-BH6Ht-w_.js +0 -3356
- package/dist/public/assets/index-DpGlIV5v.css +0 -1
- package/dist/public/assets/interactive-BrHVRHmQ.js +0 -21
- package/dist/public/assets/main-tab-context-zQSuRQQG.js +0 -1
- package/dist/public/assets/markdown-renderer-BcGbfUdk.js +0 -8
- package/dist/public/assets/mcp-server-card-D8gWLGuB.js +0 -1
- package/dist/public/assets/merged-pr-dialog-BcMvxAAS.js +0 -1
- package/dist/public/assets/model-list-controls-8f6YNzoF.js +0 -1
- package/dist/public/assets/monaco-setup-B_kQVsDW.js +0 -1
- package/dist/public/assets/onboarding-CQV3cOCc.js +0 -46
- package/dist/public/assets/project-env-vars-view-DHLrARmp.js +0 -1
- package/dist/public/assets/project-model-aliases-view-NaGeOnLB.js +0 -1
- package/dist/public/assets/project-settings-view-DYx0Ejz_.js +0 -1
- package/dist/public/assets/project-tools-view-Dwh-9yLK.js +0 -1
- package/dist/public/assets/providers-list-view-BgHPRsyZ.js +0 -1
- package/dist/public/assets/pull-request-dialog-jiDTjl9S.js +0 -1
- package/dist/public/assets/pull-with-changes-dialog-tz5BKYLX.js +0 -1
- package/dist/public/assets/push-before-pr-dialog-CsCEcu3D.js +0 -1
- package/dist/public/assets/query-keys-CbACxUOr.js +0 -1
- package/dist/public/assets/react-vendor-CVjuv5OI.js +0 -22
- package/dist/public/assets/settings-general-view-DFuR-GEd.js +0 -1
- package/dist/public/assets/settings-instructions-view-DyHQ7P84.js +0 -1
- package/dist/public/assets/settings-list-CqAk8BOe.js +0 -1
- package/dist/public/assets/settings-logs-view-NuI1wC43.js +0 -5
- package/dist/public/assets/settings-mcp-servers-view-CzbsCA0X.js +0 -5
- package/dist/public/assets/settings-models-view-DC-v64Ua.js +0 -1
- package/dist/public/assets/settings-rules-view-F1cdLdbY.js +0 -8
- package/dist/public/assets/settings-skills-view-Ba8LIeWY.js +0 -3
- package/dist/public/assets/settings-slack-view-DQUSFcUo.js +0 -1
- package/dist/public/assets/settings-slash-commands-view-BRBxLk4J.js +0 -1
- package/dist/public/assets/settings-statistics-view-4uiJ9rwT.js +0 -1
- package/dist/public/assets/settings-storage-view-CuAI5fWL.js +0 -1
- package/dist/public/assets/settings-subagents-view-pSxxHmFV.js +0 -2
- package/dist/public/assets/settings-system-prompt-view-CrFpAHz1.js +0 -1
- package/dist/public/assets/settings-view-_YIXCuoG.js +0 -2
- package/dist/public/assets/skeleton-CJSNEi3C.js +0 -1
- package/dist/public/assets/store-fffs6-y9.js +0 -8
- package/dist/public/assets/table-Cb2C1rQy.js +0 -1
- package/dist/public/assets/tasks-view-f5xX4AVx.js +0 -2
- package/dist/public/assets/ui-components-DioWsrht.js +0 -1
- package/dist/public/assets/use-deferred-search-0sV7mSzX.js +0 -1
- package/dist/public/assets/use-installed-ai-files-D7Y1gZYc.js +0 -1
- package/dist/public/assets/use-open-chat-dock-panel-zpT9rr8C.js +0 -1
- package/dist/public/assets/use-settings-page-loading-BU2CDnfE.js +0 -1
- package/dist/public/assets/use-suspense-resource-BxOFFoEK.js +0 -1
- package/dist/public/assets/use-toast-hxHsVv6a.js +0 -1
- package/dist/public/assets/utils-SsF94Pkg.js +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{l as r,u as i}from"./dist-DIjomljy.js";import{c as a}from"./utils-CT-Dw22R.js";var o=e(t(),1),s=0;function c(){o.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??l()),document.body.insertAdjacentElement(`beforeend`,e[1]??l()),s++,()=>{s===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),s--}},[])}function l(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var u=n(),d=`focusScope.autoFocusOnMount`,f=`focusScope.autoFocusOnUnmount`,p={bubbles:!1,cancelable:!0},m=`FocusScope`,h=o.forwardRef((e,t)=>{let{loop:n=!1,trapped:s=!1,onMountAutoFocus:c,onUnmountAutoFocus:l,...m}=e,[h,y]=o.useState(null),b=r(c),x=r(l),w=o.useRef(null),T=a(t,e=>y(e)),E=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(s){let e=function(e){if(E.paused||!h)return;let t=e.target;h.contains(t)?w.current=t:S(w.current,{select:!0})},t=function(e){if(E.paused||!h)return;let t=e.relatedTarget;t!==null&&(h.contains(t)||S(w.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&S(h)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return h&&r.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[s,h,E.paused]),o.useEffect(()=>{if(h){C.add(E);let e=document.activeElement;if(!h.contains(e)){let t=new CustomEvent(d,p);h.addEventListener(d,b),h.dispatchEvent(t),t.defaultPrevented||(g(ee(v(h)),{select:!0}),document.activeElement===e&&S(h))}return()=>{h.removeEventListener(d,b),setTimeout(()=>{let t=new CustomEvent(f,p);h.addEventListener(f,x),h.dispatchEvent(t),t.defaultPrevented||S(e??document.body,{select:!0}),h.removeEventListener(f,x),C.remove(E)},0)}}},[h,b,x,E]);let D=o.useCallback(e=>{if(!n&&!s||E.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=document.activeElement;if(t&&r){let t=e.currentTarget,[i,a]=_(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n&&S(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n&&S(a,{select:!0})):r===t&&e.preventDefault()}},[n,s,E.paused]);return(0,u.jsx)(i.div,{tabIndex:-1,...m,ref:T,onKeyDown:D})});h.displayName=m;function g(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(S(r,{select:t}),document.activeElement!==n)return}function _(e){let t=v(e);return[y(t,e),y(t.reverse(),e)]}function v(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function y(e,t){for(let n of e)if(!b(n,{upTo:t}))return n}function b(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function x(e){return e instanceof HTMLInputElement&&`select`in e}function S(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&x(e)&&t&&e.select()}}var C=w();function w(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=T(e,t),e.unshift(t)},remove(t){e=T(e,t),e[0]?.resume()}}}function T(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ee(e){return e.filter(e=>e.tagName!==`A`)}var E=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},D=new WeakMap,O=new WeakMap,k={},A=0,j=function(e){return e&&(e.host||j(e.parentNode))},te=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=j(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},ne=function(e,t,n,r){var i=te(t,Array.isArray(e)?e:[e]);k[n]||(k[n]=new WeakMap);var a=k[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(D.get(e)||0)+1,l=(a.get(e)||0)+1;D.set(e,c),a.set(e,l),o.push(e),c===1&&i&&O.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),A++,function(){o.forEach(function(e){var t=D.get(e)-1,i=a.get(e)-1;D.set(e,t),a.set(e,i),t||(O.has(e)||e.removeAttribute(r),O.delete(e)),i||e.removeAttribute(n)}),A--,A||(D=new WeakMap,D=new WeakMap,O=new WeakMap,k={})}},re=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||E(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),ne(r,i,n,`aria-hidden`)):function(){return null}},M=function(){return M=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},M.apply(this,arguments)};function N(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function ie(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var P=`right-scroll-bar-position`,F=`width-before-scroll-bar`,ae=`with-scroll-bars-hidden`,oe=`--removed-body-scroll-bar-size`;function I(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function se(e,t){var n=(0,o.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var ce=typeof window<`u`?o.useLayoutEffect:o.useEffect,L=new WeakMap;function le(e,t){var n=se(t||null,function(t){return e.forEach(function(e){return I(e,t)})});return ce(function(){var t=L.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||I(e,null)}),i.forEach(function(e){r.has(e)||I(e,a)})}L.set(n,e)},[e]),n}function ue(e){return e}function de(e,t){t===void 0&&(t=ue);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function fe(e){e===void 0&&(e={});var t=de(null);return t.options=M({async:!0,ssr:!1},e),t}var R=function(e){var t=e.sideCar,n=N(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return o.createElement(r,M({},n))};R.isSideCarExport=!0;function pe(e,t){return e.useMedium(t),R}var z=fe(),B=function(){},V=o.forwardRef(function(e,t){var n=o.useRef(null),r=o.useState({onScrollCapture:B,onWheelCapture:B,onTouchMoveCapture:B}),i=r[0],a=r[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=N(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=le([n,t]),w=M(M({},x),i);return o.createElement(o.Fragment,null,d&&o.createElement(S,{sideCar:z,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),s?o.cloneElement(o.Children.only(c),M(M({},w),{ref:C})):o.createElement(y,M({},w,{className:l,ref:C}),c))});V.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},V.classNames={fullWidth:F,zeroRight:P};var H,me=function(){if(H)return H;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function he(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=me();return t&&e.setAttribute(`nonce`,t),e}function ge(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function _e(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var ve=function(){var e=0,t=null;return{add:function(n){e==0&&(t=he())&&(ge(t,n),_e(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ye=function(){var e=ve();return function(t,n){o.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},U=function(){var e=ye();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},be={left:0,top:0,right:0,gap:0},W=function(e){return parseInt(e||``,10)||0},xe=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[W(n),W(r),W(i)]},Se=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return be;var t=xe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ce=U(),G=`data-scroll-locked`,we=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
|
+
.${ae} {
|
|
3
|
+
overflow: hidden ${r};
|
|
4
|
+
padding-right: ${s}px ${r};
|
|
5
|
+
}
|
|
6
|
+
body[${G}] {
|
|
7
|
+
overflow: hidden ${r};
|
|
8
|
+
overscroll-behavior: contain;
|
|
9
|
+
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
10
|
+
padding-left: ${i}px;
|
|
11
|
+
padding-top: ${a}px;
|
|
12
|
+
padding-right: ${o}px;
|
|
13
|
+
margin-left:0;
|
|
14
|
+
margin-top:0;
|
|
15
|
+
margin-right: ${s}px ${r};
|
|
16
|
+
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.${P} {
|
|
20
|
+
right: ${s}px ${r};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.${F} {
|
|
24
|
+
margin-right: ${s}px ${r};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.${P} .${P} {
|
|
28
|
+
right: 0 ${r};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.${F} .${F} {
|
|
32
|
+
margin-right: 0 ${r};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
body[${G}] {
|
|
36
|
+
${oe}: ${s}px;
|
|
37
|
+
}
|
|
38
|
+
`},K=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Te=function(){o.useEffect(function(){return document.body.setAttribute(G,(K()+1).toString()),function(){var e=K()-1;e<=0?document.body.removeAttribute(G):document.body.setAttribute(G,e.toString())}},[])},Ee=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Te();var a=o.useMemo(function(){return Se(i)},[i]);return o.createElement(Ce,{styles:we(a,!t,i,n?``:`!important`)})},q=!1;if(typeof window<`u`)try{var J=Object.defineProperty({},"passive",{get:function(){return q=!0,!0}});window.addEventListener(`test`,J,J),window.removeEventListener(`test`,J,J)}catch{q=!1}var Y=q?{passive:!1}:!1,De=function(e){return e.tagName===`TEXTAREA`},Oe=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!De(e)&&n[t]===`visible`)},ke=function(e){return Oe(e,`overflowY`)},Ae=function(e){return Oe(e,`overflowX`)},je=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),X(e,r)){var i=Pe(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Me=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Ne=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},X=function(e,t){return e===`v`?ke(t):Ae(t)},Pe=function(e,t){return e===`v`?Me(t):Ne(t)},Fe=function(e,t){return e===`h`&&t===`rtl`?-1:1},Ie=function(e,t,n,r,i){var a=Fe(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Pe(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&X(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Z=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Le=function(e){return[e.deltaX,e.deltaY]},Re=function(e){return e&&`current`in e?e.current:e},ze=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Be=function(e){return`
|
|
39
|
+
.block-interactivity-${e} {pointer-events: none;}
|
|
40
|
+
.allow-interactivity-${e} {pointer-events: all;}
|
|
41
|
+
`},Ve=0,Q=[];function He(e){var t=o.useRef([]),n=o.useRef([0,0]),r=o.useRef(),i=o.useState(Ve++)[0],a=o.useState(U)[0],s=o.useRef(e);o.useEffect(function(){s.current=e},[e]),o.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=ie([e.lockRef.current],(e.shards||[]).map(Re),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var c=o.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!s.current.allowPinchZoom;var i=Z(e),a=n.current,o=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(o)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=je(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=je(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(o||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Ie(h,t,e,h===`h`?o:c,!0)},[]),l=o.useCallback(function(e){var n=e;if(!(!Q.length||Q[Q.length-1]!==a)){var r=`deltaY`in n?Le(n):Z(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&ze(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var o=(s.current.shards||[]).map(Re).filter(Boolean).filter(function(e){return e.contains(n.target)});(o.length>0?c(n,o[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=o.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Ue(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=o.useCallback(function(e){n.current=Z(e),r.current=void 0},[]),f=o.useCallback(function(t){u(t.type,Le(t),t.target,c(t,e.lockRef.current))},[]),p=o.useCallback(function(t){u(t.type,Z(t),t.target,c(t,e.lockRef.current))},[]);o.useEffect(function(){return Q.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,l,Y),document.addEventListener(`touchmove`,l,Y),document.addEventListener(`touchstart`,d,Y),function(){Q=Q.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,l,Y),document.removeEventListener(`touchmove`,l,Y),document.removeEventListener(`touchstart`,d,Y)}},[]);var m=e.removeScrollBar,h=e.inert;return o.createElement(o.Fragment,null,h?o.createElement(a,{styles:Be(i)}):null,m?o.createElement(Ee,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Ue(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var We=pe(z,He),$=o.forwardRef(function(e,t){return o.createElement(V,M({},e,{ref:t,sideCar:We}))});$.classNames=V.classNames;export{c as i,re as n,h as r,$ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{at as a}from"./dist-ZlK7I-y-.js";import{r as o}from"./store-Be_7VK0D.js";import{An as s,D as c,E as l,_n as u,bt as d}from"./dist-DIjomljy.js";import{t as f}from"./utils-CT-Dw22R.js";import{t as p}from"./button-sfGyFWfz.js";import{D as m,Ir as h,Q as g,Xt as _,in as v}from"./api-ODizoHnY.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{Bn as b,On as x,kn as S}from"./index-Bmkj1Qwa.js";import{t as C}from"./skeleton-DvLd14RU.js";import{t as w}from"./delete-confirm-dialog-B99gEJN8.js";var T=t(),E=e(n(),1),D=r();function O(e){let t=(0,T.c)(6),{title:n,description:r,children:i}=e,a;t[0]!==r||t[1]!==n?(a=(0,D.jsx)(S,{title:n,description:r,sticky:!1}),t[0]=r,t[1]=n,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==a?(o=(0,D.jsxs)(b,{children:[a,i]}),t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function k(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(C,{className:`h-4 w-20`}),(0,D.jsx)(C,{className:`h-9 w-28`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[t,(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsx)(C,{className:`h-4 w-24`}),(0,D.jsx)(C,{className:`h-6 w-32`}),(0,D.jsx)(C,{className:`h-4 w-full`})]})]}),e[1]=n):n=e[1],n}function A(){let e=(0,T.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(C,{className:`h-5 w-28`}),(0,D.jsx)(C,{className:`h-4 w-64`})]}),(0,D.jsx)(C,{className:`h-9 w-28 shrink-0`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[t,(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-1`,children:[(0,D.jsx)(C,{className:`h-5 w-36`}),(0,D.jsx)(C,{className:`h-4 w-56`}),(0,D.jsx)(C,{className:`h-4 w-32`})]}),(0,D.jsx)(C,{className:`h-9 w-24 shrink-0`})]})]}),e[1]=n):n=e[1],n}function j(){let[e,t]=(0,E.useState)(null),[n,r]=(0,E.useState)(!0),[b,S]=(0,E.useState)(!1),[C,T]=(0,E.useState)(!1),j=i(),M=o(e=>e.projects),N=(0,E.useMemo)(()=>M.reduce((e,t)=>e+t.threads.length,0),[M]);(0,E.useEffect)(()=>{P();let e=()=>{document.visibilityState===`visible`&&P()};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]);async function P(){r(!0);try{t(await g())}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load account info`,variant:`destructive`})}finally{r(!1)}}function F(){_(`https://buy.stripe.com/14AcN6feK0Jjbheb2H3Nm03?client_reference_id=${e?.clientReferenceId??``}`)}function I(){_(`https://buy.stripe.com/9B67sMd6CgIh70Y0o33Nm04?client_reference_id=${e?.clientReferenceId??``}`)}async function L(){T(!0);try{if(await m(),h())try{await v()}catch{}window.close()}catch(e){T(!1),S(!1),y({title:`Error`,description:e instanceof Error?e.message:`Failed to delete account`,variant:`destructive`})}}let R=e?.plan===`unlimited-pro`,z=n&&e===null,B=e===null?n:!R;return(0,D.jsxs)(`div`,{className:`frosted-scrollbar flex h-full min-h-0 flex-col overflow-auto`,children:[(0,D.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[(0,D.jsx)(O,{title:`Account`,description:`Manage your Tarsk plan and prompt balance.`,children:z?(0,D.jsx)(k,{}):(0,D.jsxs)(`div`,{className:`flex gap-4 px-6 pb-6 pt-6`,children:[(0,D.jsxs)(`div`,{className:`flex-1 space-y-2 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:f(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(d,{className:`h-4 w-4`}),`Balance`]}),(0,D.jsx)(`div`,{className:`flex items-end gap-2`,children:R?(0,D.jsx)(`span`,{className:a.stat,children:`Unlimited`}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(`span`,{className:a.stat,children:e?.promptsRemaining.toLocaleString()??0}),(0,D.jsx)(`span`,{className:`${a.caption} mb-1`,children:`prompts remaining`})]})})]}),(0,D.jsxs)(`div`,{className:`flex-1 space-y-3 rounded-xl border bg-card p-5`,children:[(0,D.jsxs)(`div`,{className:f(a.label,`flex items-center gap-2 text-muted-foreground`),children:[(0,D.jsx)(u,{className:`h-4 w-4`}),`Current Plan`]}),(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(`span`,{className:a.label,children:R?`Unlimited Pro`:`Pay as you go`}),R&&(0,D.jsx)(`span`,{className:f(a.compact,`rounded-full bg-primary/10 px-2 py-0.5 font-medium text-primary`),children:`Active`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:R?`You have unlimited prompts with no restrictions.`:`Purchase prompts as needed. Upgrade to Pro for unlimited access.`})]})]})}),B?(0,D.jsx)(O,{title:`Add Prompts`,description:`Top up your balance or upgrade to Pro for unlimited access.`,children:z?(0,D.jsx)(A,{}):(0,D.jsxs)(`div`,{className:`divide-y divide-table-border`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsx)(`span`,{className:a.label,children:`1,000 Prompts`}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Top up your balance with 1,000 additional prompts for $5.`})]}),(0,D.jsx)(p,{onClick:F,className:`shrink-0`,children:`Top Up Balance`})]}),(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-6 py-5`,children:[(0,D.jsxs)(`div`,{className:`space-y-1`,children:[(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(u,{className:`h-4 w-4 text-primary`}),(0,D.jsx)(`span`,{className:a.label,children:`Unlimited Pro Plan`})]}),(0,D.jsx)(`p`,{className:a.bodyMuted,children:`Unlimited prompts for $100 and lifetime access to Tarsk.`}),(0,D.jsxs)(`ul`,{className:f(a.bodyMuted,`space-y-0.5`),children:[(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(s,{className:`h-3 w-3 text-primary`}),`Unlimited prompts`]}),(0,D.jsxs)(`li`,{className:`flex items-center gap-1.5`,children:[(0,D.jsx)(s,{className:`h-3 w-3 text-primary`}),`Priority access`]})]})]}),(0,D.jsx)(p,{onClick:I,className:`shrink-0`,children:`Purchase`})]})]})}):null,(0,D.jsx)(O,{title:`Delete Account`,description:`Permanently delete the Tarsk database and any logs on this device.`,children:(0,D.jsxs)(`div`,{className:`space-y-4 px-6 pb-6 pt-6`,children:[N>0?(0,D.jsxs)(x,{variant:`error`,children:[(0,D.jsxs)(`span`,{className:`flex items-start gap-2`,children:[(0,D.jsx)(l,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,D.jsxs)(`span`,{children:[`You have `,N,` workspace`,` `,N===1?`folder`:`folders`,` listed in Storage. Clear`,` `,N===1?`it`:`them`,` first under Storage — deleting your account does not remove those folders.`]})]}),(0,D.jsx)(`div`,{className:`mt-3`,children:(0,D.jsx)(p,{variant:`outline`,size:`sm`,onClick:()=>j(`/settings/storage`),children:`Go to Storage`})})]}):null,(0,D.jsx)(`p`,{className:a.bodyMuted,children:`This removes the Tarsk database and any logs on this machine and cannot be undone.`}),(0,D.jsxs)(p,{variant:`destructive`,onClick:()=>S(!0),children:[(0,D.jsx)(c,{className:`h-4 w-4`}),`Delete Account`]})]})})]}),(0,D.jsx)(w,{open:b,onOpenChange:e=>{!e&&!C&&S(!1)},title:`Delete account?`,description:`This permanently deletes the Tarsk database and any logs on this device. The app will close and you can relaunch it. This action cannot be undone.`,onConfirm:()=>void L(),confirming:C,confirmLabel:`Delete Account`,confirmingLabel:`Deleting...`})]})}export{j as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i}from"./dist-ZlK7I-y-.js";import{g as a,h as o,p as s}from"./dist-DIjomljy.js";import{c,t as l}from"./utils-CT-Dw22R.js";import{n as u}from"./button-sfGyFWfz.js";import{n as ee}from"./use-browser-overlay-block-DyprQSIG.js";import{a as d,c as te,i as ne,l as re,n as ie,o as ae,r as f,s as oe,t as p,u as m}from"./dist-BZvmHCxP.js";var h=t(),g=e(n(),1),_=r(),v=`AlertDialog`,[se,ce]=o(v,[m]),y=m(),b=e=>{let{__scopeAlertDialog:t,...n}=e,r=y(t);return(0,_.jsx)(ae,{...r,...n,modal:!0})};b.displayName=v;var x=`AlertDialogTrigger`,S=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(te,{...i,...r,ref:t})});S.displayName=x;var C=`AlertDialogPortal`,w=e=>{let{__scopeAlertDialog:t,...n}=e,r=y(t);return(0,_.jsx)(d,{...r,...n})};w.displayName=C;var T=`AlertDialogOverlay`,E=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(ne,{...i,...r,ref:t})});E.displayName=T;var D=`AlertDialogContent`,[le,ue]=se(D),de=s(`AlertDialogContent`),O=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,o=y(n),s=g.useRef(null),l=c(t,s),u=g.useRef(null);return(0,_.jsx)(re,{contentName:D,titleName:k,docsSlug:`alert-dialog`,children:(0,_.jsx)(le,{scope:n,cancelRef:u,children:(0,_.jsxs)(ie,{role:`alertdialog`,...o,...i,ref:l,onOpenAutoFocus:a(i.onOpenAutoFocus,e=>{e.preventDefault(),u.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,_.jsx)(de,{children:r}),(0,_.jsx)(I,{contentRef:s})]})})})});O.displayName=D;var k=`AlertDialogTitle`,A=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(oe,{...i,...r,ref:t})});A.displayName=k;var j=`AlertDialogDescription`,M=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(f,{...i,...r,ref:t})});M.displayName=j;var fe=`AlertDialogAction`,N=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=y(n);return(0,_.jsx)(p,{...i,...r,ref:t})});N.displayName=fe;var P=`AlertDialogCancel`,F=g.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=ue(P,n),a=y(n),o=c(t,i);return(0,_.jsx)(p,{...a,...r,ref:o})});F.displayName=P;var I=({contentRef:e})=>{let t=`\`${D}\` requires a description for the component to be accessible for screen reader users.
|
|
2
|
+
|
|
3
|
+
You can add a description to the \`${D}\` by passing a \`${j}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
4
|
+
|
|
5
|
+
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${D}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
6
|
+
|
|
7
|
+
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return g.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},L=b,R=w,z=E,B=O,V=N,H=F,U=A,W=M;function pe(e){let t=(0,h.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({open:i,defaultOpen:n,onOpenChange:r,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==n||t[6]!==r||t[7]!==i?(o={open:i,defaultOpen:n,onOpenChange:r},t[5]=n,t[6]=r,t[7]=i,t[8]=o):o=t[8];let s=ee(o),c;return t[9]!==n||t[10]!==s||t[11]!==i||t[12]!==a?(c=(0,_.jsx)(L,{open:i,defaultOpen:n,onOpenChange:s,...a}),t[9]=n,t[10]=s,t[11]=i,t[12]=a,t[13]=c):c=t[13],c}var G=R,K=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,_.jsx)(z,{className:a,...i,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});K.displayName=z.displayName;var q=g.forwardRef((e,t)=>{let n=(0,h.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,_.jsx)(K,{}),n[3]=a):a=n[3];let o;n[4]===r?o=n[5]:(o=l(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,r),n[4]=r,n[5]=o);let s;return n[6]!==i||n[7]!==t||n[8]!==o?(s=(0,_.jsxs)(G,{children:[a,(0,_.jsx)(B,{ref:t,className:o,...i})]}),n[6]=i,n[7]=t,n[8]=o,n[9]=s):s=n[9],s});q.displayName=B.displayName;var J=e=>{let t=(0,h.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`flex flex-col space-y-2 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,_.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};J.displayName=`AlertDialogHeader`;var Y=e=>{let t=(0,h.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=l(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,_.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};Y.displayName=`AlertDialogFooter`;var X=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=l(i.dialogTitle,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,_.jsx)(U,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});X.displayName=U.displayName;var Z=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,a;n[0]===e?(r=n[1],a=n[2]):({className:r,...a}=e,n[0]=e,n[1]=r,n[2]=a);let o;n[3]===r?o=n[4]:(o=l(i.dialogDescription,r),n[3]=r,n[4]=o);let s;return n[5]!==a||n[6]!==t||n[7]!==o?(s=(0,_.jsx)(W,{ref:t,className:o,...a}),n[5]=a,n[6]=t,n[7]=o,n[8]=s):s=n[8],s});Z.displayName=W.displayName;var Q=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(u(),r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,_.jsx)(V,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Q.displayName=V.displayName;var $=g.forwardRef((e,t)=>{let n=(0,h.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=l(u({variant:`outline`}),`mt-2 sm:mt-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,_.jsx)(H,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$.displayName=H.displayName;export{Z as a,X as c,q as i,Q as n,Y as o,$ as r,J as s,pe as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{E as t,jt as n,lt as r,p as i,st as a,x as o}from"./dist-ZlK7I-y-.js";var s=function(e){return e.PACKAGE_MANAGER=`tarsk.create-project.packageManager`,e.COMMIT_METHOD=`tarsk.create-project.commitMethod`,e.TEMPLATE_ID=`tarsk.create-project.templateId`,e.AUTO_GENERATE_COMMIT_MESSAGE=`autoGenerateCommitMessage`,e.AUTO_GENERATE_PR_INFO=`autoGeneratePRInfo`,e.CREATE_BRANCH_AFTER_PR=`createBranchAfterPR`,e.PRIVATE_REPOSITORY_DEFAULT=`privateRepositoryDefault`,e.NEW_CHAT_ON_NEW_BRANCH=`newChatOnNewBranch`,e.SELECTED_MODEL_PREFIX=`selected-model-`,e.SCROLL_POSITION_PREFIX=`scroll-position-`,e.FONT_SCALE=`tarsk.general.fontScale`,e.FROSTED_PANEL_OPACITY=`tarsk.general.frostedPanelOpacity`,e.IMAGE_BACKGROUND=`tarsk.general.imageBackground`,e.WALLPAPER_MODE=`tarsk.general.wallpaperMode`,e.WALLPAPER_COLOR=`tarsk.general.wallpaperColor`,e.BRAND_COLOR=`tarsk.general.brandColor`,e.OPEN_WITH_PROGRAM=`tarsk.general.openWithProgram`,e.SERVER_URL=`tarsk.server.url`,e.SERVER_BIND_MODE=`tarsk.general.serverBindMode`,e.HISTORY_COLUMNS=`tarsk.settings.historyColumns`,e}({}),c=function(e){return e.MESSAGE_HISTORY=`chat_message_history`,e.BASH_COMMAND_DURATIONS=`tarsk.bash-command-durations`,e.SKILL_CATALOG_PREFIX=`tarsk.skills.catalog.`,e.SKILL_SOURCE_SELECTION=`tarsk.skills.selectedSource`,e}({});function l(e){return typeof localStorage>`u`?null:localStorage.getItem(e)}function u(e,t){typeof localStorage>`u`||localStorage.setItem(e,t)}function d(e){return typeof sessionStorage>`u`?null:sessionStorage.getItem(e)}function f(e,t){typeof sessionStorage>`u`||sessionStorage.setItem(e,t)}function p(e=`npm`){return l(`tarsk.create-project.packageManager`)??e}function ee(e){u(`tarsk.create-project.packageManager`,e)}function m(e=`pull-request`){return l(`tarsk.create-project.commitMethod`)??e}function h(e){u(`tarsk.create-project.commitMethod`,e)}function g(e=``){return l(`tarsk.create-project.templateId`)??e}function _(e){u(`tarsk.create-project.templateId`,e)}function te(e=!1){let t=l(`autoGenerateCommitMessage`);return t===null?e:t===`true`}function ne(e){u(`autoGenerateCommitMessage`,e.toString())}function re(e=!1){let t=l(`autoGeneratePRInfo`);return t===null?e:t===`true`}function ie(e){u(`autoGeneratePRInfo`,e.toString())}function ae(e=!1){let t=l(`createBranchAfterPR`);return t===null?e:t===`true`}function oe(e){u(`createBranchAfterPR`,e.toString())}function se(e=!1){let t=l(`privateRepositoryDefault`);return t===null?e:t===`true`}function ce(e){u(`privateRepositoryDefault`,e.toString())}function le(e=!1){let t=l(`newChatOnNewBranch`);return t===null?e:t===`true`}function ue(e){u(`newChatOnNewBranch`,e.toString())}function de(e){let t=l(`scroll-position-`+e),n=t===null?null:Number(t);return n!==null&&Number.isFinite(n)?n:null}function fe(e,t){u(`scroll-position-`+e,String(t))}function pe(){let e=d(`chat_message_history`);return e?JSON.parse(e):[]}function me(e){let t=pe();e.trim()&&t[t.length-1]!==e&&(t.push(e),f(`chat_message_history`,JSON.stringify(t)))}function he(e){return typeof sessionStorage>`u`?null:sessionStorage.getItem(e)}function ge(e,t){typeof sessionStorage>`u`||sessionStorage.setItem(e,t)}function _e(e=`default`){return he(`tarsk.skills.selectedSource`)??e}function ve(e){ge(`tarsk.skills.selectedSource`,e)}function v(e){return`tarsk.skills.catalog.${e}`}function ye(e){let t=he(v(e));if(!t)return null;try{return JSON.parse(t)}catch{return null}}function be(e,t){ge(v(e),JSON.stringify(t))}function xe(e){typeof sessionStorage>`u`||sessionStorage.removeItem(v(e))}var y=`tarsk.skills.customSources`;function Se(){if(typeof localStorage>`u`)return[];let e=localStorage.getItem(y);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`&&typeof e.title==`string`&&typeof e.url==`string`):[]}catch{return[]}}function Ce(){typeof localStorage>`u`||localStorage.removeItem(y)}function we(e=100){let t=l(`tarsk.general.fontScale`);if(t!==null){let e=Number(t);if(Number.isFinite(e)&&e>=50&&e<=300)return e}return e}function Te(e){u(`tarsk.general.fontScale`,String(e))}function Ee(e=80){let t=l(`tarsk.general.frostedPanelOpacity`);if(t!==null){let e=Number(t);if(Number.isFinite(e)&&e>=60&&e<=100)return e}return e}function De(e){u(`tarsk.general.frostedPanelOpacity`,String(e))}var Oe=new Set([`image`,`background`,`color`]),b=/^#[0-9a-fA-F]{6}$/,x=`#1f2937`,S=`#82c309`;function ke(e){return e!==null&&Oe.has(e)}function Ae(e=`background`){let t=l(`tarsk.general.wallpaperMode`);if(ke(t))return t;if(t===`brand`)return`background`;let n=l(`tarsk.general.imageBackground`);return n===`false`?`background`:n===`true`?`image`:e}function je(e){u(`tarsk.general.wallpaperMode`,e)}function Me(e=x){let t=l(`tarsk.general.wallpaperColor`);return t!==null&&b.test(t)?t:e}function Ne(e){b.test(e)&&u(`tarsk.general.wallpaperColor`,e.toLowerCase())}function Pe(e=S){let t=l(`tarsk.general.brandColor`);return t!==null&&b.test(t)?t:e}function Fe(e){b.test(e)&&u(`tarsk.general.brandColor`,e.toLowerCase())}function Ie(e=`VS Code`){return l(`tarsk.general.openWithProgram`)??e}function Le(e){u(`tarsk.general.openWithProgram`,e)}function Re(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.fetchedAt==`number`&&(t.serverBindMode===`local`||t.serverBindMode===`network`)&&Array.isArray(t.networkAddresses)&&t.networkAddresses.every(e=>typeof e==`string`)}function ze(){let e=l(`tarsk.general.serverBindMode`);if(!e)return null;try{let t=JSON.parse(e);return Re(t)?t:null}catch{return null}}function Be(e){u(`tarsk.general.serverBindMode`,JSON.stringify({...e,fetchedAt:e.fetchedAt??Date.now()}))}function C(){return typeof window>`u`?null:window.Capacitor?.getPlatform?.()??null}function Ve(){return E()&&C()===`ios`}function w(){return l(s.SERVER_URL)}function He(e){u(s.SERVER_URL,e)}function Ue(e){try{return new URL(e).hostname}catch{return``}}function T(e){let t=e.trim();if(!t)return``;let n=t.replace(/^https?:\/\//,``).split(`/`)[0]?.split(`:`)[0]??``;return n?`http://${n}:641`:``}function E(){if(typeof window>`u`)return!1;if(window.Capacitor?.isNativePlatform?.())return!0;let e=window.location.protocol;return e===`capacitor:`||e===`ionic:`||e===`file:`}function We(){let e=w();if(e){let t=Ue(e);if(t)return t}return E()?``:document.location.hostname}async function Ge(e){try{return(await fetch(`${e.replace(/\/$/,``)}/health`,{method:`GET`})).ok}catch{return!1}}function Ke(e){let t=T(e);if(t){if(E()){He(t),window.location.reload();return}window.location.assign(t)}}function D(){return typeof window<`u`&&`__electrobunWebviewId`in window}function qe(){return typeof document<`u`&&document.location.port===`8100`}function O(){if(typeof document>`u`)return null;let{protocol:e,hostname:t,port:n,host:r,origin:i}=document.location;return e!==`http:`&&e!==`https:`?null:i||`${e}//${r??(n?`${t}:${n}`:t)}`}function k(){if(typeof document>`u`)return`http://localhost:641`;let{hostname:e,port:t}=document.location;return t===`8100`?`http://${e}:462`:O()||`http://${e}:641`}function A(){if(D()){let e=O();if(e)return e}if(!E())return k();let e=w();return e?e.replace(/\/$/,``):k()}function j(e){let t=e.startsWith(`/`)?e:`/${e}`;return`${A()}${t}`}function M(e){if(!e)return`Unknown error`;if(typeof e.error==`string`)return e.error.trim()||`Unknown error`;if(e.error&&typeof e.error==`object`){let t=e.error.message;if(typeof t==`string`&&t.trim())return t.trim();let n=e.error.details;return typeof n==`string`&&n.trim()?n.trim():`Unknown error`}return`Unknown error`}async function N(e){try{return M(await e.json())}catch{}return e.statusText||`Unknown error`}function P(e,t,n){let r=Error(e);return n?.error&&typeof n.error==`object`&&(r.details=n.error.details,r.code=n.error.code),r}async function F(e){let t;try{t=await e.json()}catch{}throw P(M(t)||e.statusText||`Unknown error`,e,t)}async function I(e,t){let n=await fetch(j(e),{...t,method:`GET`});if(!n.ok){let e=await N(n);throw Error(e)}return n.blob()}async function L(e,t){let n=await fetch(j(e),{...t,method:`GET`});if(!n.ok){let e=await N(n);throw Error(e)}return n.json()}async function R(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function Je(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.blob()}async function Ye(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/octet-stream`,...n?.headers},body:t});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function z(e,t,n){let r=await fetch(j(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function Xe(e,t,n){let r=await fetch(j(e),{...n,method:`PATCH`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.json()}async function Ze(e,t,n){let r=await fetch(j(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e=await N(r);throw Error(e)}return r.body}async function B(e,t){let n=await fetch(j(e),{...t,method:`DELETE`});if(!n.ok){let e=await N(n);throw Error(e)}if(n.status!==204)return n.json()}async function Qe(e,t){let n=await fetch(j(e),{...t,method:`DELETE`});if(!n.ok){let e=await N(n);throw Error(e)}return n.body}async function V(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0,signal:n?.signal});return r.ok||await F(r),r.body}async function $e(e,t){let n=await fetch(j(e),{...t,method:`GET`});return n.ok||await F(n),n.body}async function H(e,t,n){let r=await fetch(j(e),{...n,method:`POST`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw P(M(e)||r.statusText||`Unknown error`,r,e)}return r.json()}async function et(e,t,n){let r=await fetch(j(e),{...n,method:`PUT`,headers:{"Content-Type":`application/json`,...n?.headers},body:t?JSON.stringify(t):void 0});if(!r.ok){let e;try{e=await r.json()}catch{}throw P(M(e)||r.statusText||`Unknown error`,r,e)}return r.json()}function U(...e){return e.map(e=>encodeURIComponent(String(e))).join(`/`)}var W=o(`gitops.ttl-cache`),G=new class{cache=new Map;inFlightRequests=new Map;generations=new Map;async get(e,t,n){let r=e.startsWith(`unified-git-status-`),i=r?performance.now():0,a=this.inFlightRequests.get(e);if(a)return r&&W.debug(`in-flight-reuse`,{key:e}),a;let o=this.cache.get(e);if(o&&Date.now()<o.expires){if(r){let t=Math.round(performance.now()-i);W.debug(`cache hit`,{key:e,duration:t})}return o.data}r&&W.debug(`cache miss, fetching`,{key:e});let s=this.generations.get(e)??0,c=t().then(t=>{if((this.generations.get(e)??0)===s){if(this.cache.set(e,{data:t,expires:Date.now()+n}),r){let t=Math.round(performance.now()-i);W.debug(`stored in cache`,{key:e,duration:t})}}else r&&W.debug(`skipped stale cache write`,{key:e});return t}).finally(()=>{this.inFlightRequests.get(e)===c&&this.inFlightRequests.delete(e)});return this.inFlightRequests.set(e,c),c}getSync(e){let t=this.cache.get(e);if(t&&Date.now()<t.expires)return t.data}bumpGeneration(e){this.generations.set(e,(this.generations.get(e)??0)+1)}invalidate(e){this.cache.delete(e),this.inFlightRequests.delete(e),this.bumpGeneration(e)}invalidatePattern(e){let t=[];for(let n of this.cache.keys())e.test(n)&&t.push(n);for(let n of this.inFlightRequests.keys())e.test(n)&&!t.includes(n)&&t.push(n);for(let e of t)this.cache.delete(e),this.inFlightRequests.delete(e),this.bumpGeneration(e)}clear(){for(let e of new Set([...this.cache.keys(),...this.inFlightRequests.keys(),...this.generations.keys()]))this.bumpGeneration(e);this.cache.clear(),this.inFlightRequests.clear()}};function tt(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}function nt(e,t=`image/png`){let n=atob(e),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return new Blob([r],{type:t})}function rt(e){let t=e.indexOf(`,`),n=e.slice(0,t);return nt(e.slice(t+1),n.match(/^data:([^;]+)/)?.[1]??`image/png`)}async function it(e){if(e.imageData)return nt(e.imageData);if(e.imageUrl){if(e.imageUrl.startsWith(`data:`))return rt(e.imageUrl);let t=r(e.imageUrl,A()),n=await fetch(t);if(!n.ok)throw Error(`Failed to fetch image: ${n.status}`);return n.blob()}throw Error(`imageUrl or imageData is required`)}function at(e){return!e.imageUrl||a(e.imageUrl)?e:{...e,imageUrl:r(e.imageUrl,A())}}async function ot(e){let t=e.filename??`generated-image-${Date.now()}.png`;try{return tt(await it(e),t),{path:t}}catch{if(!e.imageUrl||e.imageUrl.startsWith(`data:`))throw Error(`imageUrl or imageData is required`);let n=document.createElement(`a`);return n.href=e.imageUrl,n.download=t,n.target=`_blank`,n.rel=`noopener noreferrer`,document.body.appendChild(n),n.click(),document.body.removeChild(n),{path:t}}}async function st(e){let t=await it(e);if(!navigator.clipboard?.write)throw Error(`Clipboard API not available`);let n=t.type||`image/png`,r=t.type?t:new Blob([t],{type:n});await navigator.clipboard.write([new ClipboardItem({[n]:r})])}async function ct(e){return D()?R(`api/image/save`,at(e)):ot(e)}async function lt(e){if(D()){await R(`api/image/clipboard`,at(e));return}await st(e)}function ut(e){let t=e.trim().toLowerCase();return t===`load failed`||t.includes(`failed to fetch`)||t.includes(`network error`)||t.includes(`network connection was lost`)||t.includes(`networkrequestfailed`)||t.includes(`networkrequest failed`)||t.includes(`socket is not connected`)}function dt(e){if(e instanceof Error&&`code`in e&&typeof e.code==`string`)return e.code}function ft(e){if(dt(e)===`THREAD_BUSY`)return!0;if(!(e instanceof Error))return!1;let t=e.message.toLowerCase();return t.includes(`already processing a message`)||t.includes(`already being processed`)||t.includes(`multiple chat windows are processing`)}function pt(e,t){return ft(e)?t?.trim()?!0:e instanceof Error?!e.message.toLowerCase().includes(`multiple chat windows`):!1:!1}var mt=50;function ht(e,t,n,r,a){let o=e.getReader(),s=!1;function c(){s=!0,o.cancel().catch(()=>{})}let l=new TextDecoder,u=``,d=0;function f(e){let t=e.content?.trim();if(t)return i(t);let n=e.error?.message?.trim();if(n)return i(n);let r=e.message?.trim();return r?i(r):`Unknown error`}function p(e){if(!e)return!1;let t=e.trim();return t.length>200?!1:[/^Cannot read properties/i,/^Error:/i,/^TypeError:/i,/^ReferenceError:/i,/^SyntaxError:/i,/^failed to/i,/^error:/i,/^forbidden/i,/^unauthorized/i].some(e=>e.test(t))}async function ee(){d+=1,!(d<mt)&&(d=0,await new Promise(e=>{setTimeout(e,0)}))}async function m(e){return e.type===`ping`?`continue`:e.type===`error`?(r(f(e)),n(),`stop`):e.type===`message`?(a?.({role:e.role??`assistant`,content:e.content??``,isThinking:e.isThinking}),`continue`):e.type===`complete`?(n(),`stop`):e.type===`result`&&p(e.content)?(r(i(e.content??`Unknown error`)),n(),`stop`):(t(e),await ee(),`continue`)}async function h(){if(!u.trim())return`continue`;try{return await m(JSON.parse(u))}catch{return u.trim()&&t({type:`result`,content:u}),`continue`}}async function g(e){let t=e.trim();if(!t)return`continue`;try{return await m(JSON.parse(t))}catch{return`continue`}}async function _(){try{for(;!s;){let{done:e,value:t}=await o.read();if(e||s){if(!s&&e){if(await h()===`stop`)return;n()}break}u+=l.decode(t,{stream:!0});let r=u.split(`
|
|
2
|
+
`);u=r.pop()??``;for(let e of r)if(s||await g(e)===`stop`)return}}catch(e){s||(r(e instanceof Error?e.message:`Stream error`),n())}}return _(),c}var gt=o(`gitops.api`);async function _t(e,t=!1,n=!1){let r=new URLSearchParams;t&&r.set(`fresh`,`true`),n&&r.set(`asyncRefresh`,`true`);let i=r.toString(),a=i?`api/git/unified-status/${U(e)}?${i}`:`api/git/unified-status/${U(e)}`,o=performance.now();gt.debug(`getUnifiedGitStatus start`,{threadId:e,fresh:t});try{return await L(a)}finally{let n=Math.round(performance.now()-o);gt.debug(`getUnifiedGitStatus end`,{threadId:e,fresh:t,duration:n})}}async function vt(e,t,n){return(await R(`api/git/generate-commit-message/${U(e)}`,{model:t,provider:n})).message}async function yt(e,t){await R(`api/git/commit/${U(e)}`,{message:t})}async function bt(e){await R(`api/git/push/${U(e)}`)}async function xt(e){await R(`api/git/pull/${U(e)}`)}async function St(e){return R(`api/git/sync-branch/${U(e)}`,{})}async function Ct(e,t,n){return R(`api/git/generate-pr-info/${U(e)}`,{model:t,provider:n})}async function wt(e,t,n,r){return R(`api/git/create-pr/${U(e)}`,{title:t,description:n,baseBranch:r})}async function Tt(e){await R(`api/git/fetch/${U(e)}`)}async function Et(e,t,n){return R(`api/git/create-branch/${U(e)}`,{baseBranch:t,branchName:n})}async function Dt(e,t){return R(`api/git/revert-file/${U(e)}`,{filePath:t})}async function Ot(e,t=50){return(await L(`api/git/log/${U(e)}?limit=${t}`)).commits}async function kt(e){return L(`api/git/pr-status/${U(e)}`)}async function At(e,t,n,r){return R(`api/git/create-repo/${U(e)}`,{repoName:t,description:n,isPrivate:r})}async function jt(e,t){return R(`api/git/checkpoint/${U(e)}`,{messageId:t})}async function Mt(e,t){return R(`api/git/checkpoint-restore/${U(e)}`,{checkpointRef:t})}async function Nt(e){return L(`api/git/diff/${U(e)}`)}async function Pt(e,t,n){return I(`api/git/media/${U(e)}?path=${encodeURIComponent(t)}&version=${n}`)}async function Ft(){return(await L(`api/skills/popular`)).skills??[]}async function It(){return(await L(`api/skills/sources`)).sources??[]}async function Lt(e){return(await L(`api/skills/catalog?${new URLSearchParams({sourceId:e}).toString()}`)).skills??[]}async function Rt(e,t){return R(`api/skills/sources/verify`,{title:e,url:t})}async function zt(e,t,n){return z(`api/skills/sources/${U(e)}`,{title:t,url:n})}async function Bt(e){await B(`api/skills/sources/${U(e)}`)}async function Vt(e){return(await R(`api/skills/sources/import`,{sources:e})).sources??[]}async function Ht(e,t){return L(`api/skills/catalog/files?${new URLSearchParams({sourceId:e,skillId:t}).toString()}`)}async function Ut(e,t,n){return L(`api/skills/catalog/file?${new URLSearchParams({sourceId:e,skillId:t,relativePath:n}).toString()}`)}async function Wt(){return(await L(`api/agents/popular`)).agents??[]}async function Gt(){return(await L(`api/rules/popular`)).rules??[]}async function Kt(){return(await L(`api/slash-commands/popular`)).commands??[]}async function qt(e,t,n,r,i){return R(`api/threads/${U(e)}/ai-files/github-folder`,{gitHubRepo:t,gitHubFolder:n,destPath:r,gitHubRef:i})}async function Jt(e,t,n,r){return R(`api/threads/${U(e)}/ai-files/catalog-skill`,{sourceId:t,skillId:n,destPath:r})}var Yt=e({EmptyBalanceError:()=>K,LOW_BALANCE_THRESHOLD:()=>50,acknowledgeBrowserJsStarted:()=>_i,applyAppUpdate:()=>ui,authorizeMCPOAuth:()=>Ti,checkBalance:()=>Zt,checkForAppUpdate:()=>li,checkGitInstalled:()=>Xr,checkVpInstalled:()=>$t,clearChatHistory:()=>ar,clearConversationHistory:()=>ii,clearLogFeed:()=>gn,clearProjectTaskModifications:()=>Mn,clearSlackTokens:()=>xn,compactChat:()=>or,completeOnboarding:()=>Zr,copyImageToClipboard:()=>Tr,createFolderProject:()=>In,createProject:()=>Nn,createProjectFromZip:()=>Rn,createScaffoldedProject:()=>tn,createSlackBinding:()=>Sn,createSlashCommand:()=>ni,createThread:()=>Kn,createThreadAgent:()=>Pi,createThreadSkill:()=>Ni,createUserTask:()=>Vr,deleteAccount:()=>dn,deleteCommand:()=>Nr,deleteMCPServer:()=>Si,deleteProject:()=>Gn,deleteProjectAIFile:()=>ki,deleteSlackBinding:()=>Cn,deleteSlashCommand:()=>ri,deleteThread:()=>qn,deleteThreadAIFile:()=>$,deleteUserTask:()=>Hr,disableImageModel:()=>Cr,disableModel:()=>_r,discoverMCPServers:()=>Ci,enableImageModel:()=>Sr,enableModel:()=>gr,exportProjectPlugin:()=>Dr,fetchAllAvailableModels:()=>hr,fetchAvailableImageModels:()=>br,fetchAvailableModels:()=>mr,fetchPendingAskUserQuestions:()=>di,fixComments:()=>Zn,freeDevServerPort:()=>Kr,generateImage:()=>wr,generateThreadTitle:()=>Yn,generateWorkspaceHandoff:()=>sr,getAccountInfo:()=>q,getAccountSettings:()=>mn,getAllEnabledImageModels:()=>xr,getAllEnabledModels:()=>yr,getAvailablePrograms:()=>En,getChatHistory:()=>$n,getCliProcesses:()=>Dn,getContextBreakdown:()=>si,getConversationFolderPath:()=>tr,getConversationUsage:()=>oi,getGitUser:()=>X,getGitUserName:()=>An,getLatencyStatistics:()=>pn,getMCPConfig:()=>bi,getMCPOAuthStatus:()=>Ei,getObservationPage:()=>er,getOnboardingStatus:()=>Yr,getPackageScripts:()=>Pr,getPopularMCPServers:()=>wi,getProcessingState:()=>Y,getProcessingThreads:()=>kn,getProject:()=>zn,getProjectAIFiles:()=>Oi,getProjectEnvVars:()=>Bn,getProjectScripts:()=>Ir,getProjectSystemPrompt:()=>Jr,getProjectWindowState:()=>Vn,getProjects:()=>jn,getProviderCredits:()=>on,getProviderLogoCdnUrl:()=>an,getProviderLogoUrl:()=>rn,getProviders:()=>nn,getRecentConversations:()=>ai,getRecommendedModels:()=>$r,getScaffoldTemplates:()=>Qt,getSessionToolLearnings:()=>nr,getSlackManifest:()=>yn,getSlackSettings:()=>hn,getSlashCommands:()=>ei,getSlashCommandsAndSkills:()=>ti,getSpendSummary:()=>J,getThread:()=>zr,getThreadAIFile:()=>ji,getThreadAIFiles:()=>Ai,getThreadFiles:()=>Fr,getToolDefinitionsBreakdown:()=>ci,getUserTasks:()=>Br,installProjectPluginImport:()=>kr,installVp:()=>en,invalidateProjectsCache:()=>Z,isDevServerRunning:()=>qr,killCliProcess:()=>On,openExternalUrl:()=>un,openFolderProject:()=>Pn,openPathProject:()=>Fn,openProjectWith:()=>lr,openThreadWith:()=>ur,postClientLog:()=>vn,previewProjectPluginImport:()=>Or,processVoiceTranscript:()=>Tn,quitAccount:()=>fn,refreshModels:()=>jr,replaceUniqueProjectText:()=>Un,reportBrowserActionResult:()=>yi,reportBrowserWebviewReady:()=>vi,resetOnboarding:()=>Qr,revokeMCPOAuth:()=>Di,routeChatPrompt:()=>Xn,runProjectScript:()=>Lr,saveCommand:()=>Mr,saveImageToDownloads:()=>Er,saveMCPServer:()=>xi,saveModelSettings:()=>vr,saveProjectWindowState:()=>Hn,saveProviderEnvironment:()=>cn,saveProviderKey:()=>sn,saveThreadAIFile:()=>Mi,selectThread:()=>Qn,sendChatMessage:()=>rr,setSlackTokens:()=>bn,startDevServer:()=>Wr,stopChatGeneration:()=>cr,stopDevServer:()=>Gr,stopProjectScript:()=>Rr,streamLogFeed:()=>_n,submitAskUserAnswer:()=>fi,submitBrowserJsResult:()=>gi,submitSeatbeltEscalationResponse:()=>mi,submitShellPermissionResponse:()=>pi,submitWebFetchPermissionResponse:()=>hi,subscribeToChatStream:()=>ir,suggestRunCommand:()=>Ur,syncProjectEnvVars:()=>Wn,ttlCache:()=>G,updateAccountSettings:()=>wn,updateProject:()=>Q,updateProjectName:()=>pr,updateProjectOpenWith:()=>dr,updateProjectSetupScript:()=>fr,updateThread:()=>Jn,uploadProjectPlugin:()=>Ar}),Xt=o(`gitops.api`),K=class extends Error{constructor(){super(`No prompts remaining`),this.name=`EmptyBalanceError`}};async function Zt(){let{plan:e,promptsRemaining:t}=await q();return e===`unlimited-pro`?{isEmpty:!1,isLow:!1}:{isEmpty:t<=0,isLow:t>0&&t<=50}}async function Qt(){return L(`api/scaffold/templates`)}async function $t(){return(await L(`api/scaffold/check-vp`)).installed}async function en(){return R(`api/scaffold/install-vp`,{})}async function tn(e,t,n,r){return V(`api/scaffold`,{projectName:e,templateId:t,packageManager:n},{signal:r})}async function nn(){return G.get(`providers`,async()=>L(`api/providers`),6e4)}function rn(e){return`${A()}/api/providers/${U(e)}/logo`}function an(e){return`https://models.tarsk.io/svg/${U(e)}.svg`}async function on(e){return G.get(`provider-credits-${e}`,async()=>L(`api/providers/${U(e)}/credits`),3e4)}async function sn(e,t){await R(`api/providers/keys`,{providerName:e,apiKey:t}),G.invalidate(`providers`)}async function cn(e){await R(`api/providers/env`,{values:e}),G.invalidate(`providers`)}function ln(e){return typeof window>`u`?!1:window.open(e,`_blank`,`noopener,noreferrer`)!==null}async function un(e){if(typeof window<`u`&&!D()){ln(e);return}try{await R(`api/providers/open-external`,{url:e})}catch(t){if(ln(e))return;throw t instanceof Error?t:Error(`Failed to open URL`)}}async function q(){return L(`api/account/info`)}async function dn(){return R(`api/account/delete`,{})}async function fn(){return R(`api/account/quit`,{})}async function J(){return L(`api/account/spend`)}async function pn(){return L(`api/account/statistics`)}async function mn(){return L(`api/account/settings`)}async function hn(){return L(`api/slack/settings`)}async function gn(){await B(`api/logs`)}async function _n(e){return $e(`api/logs/stream`,e)}async function vn(e){try{await R(`api/logs`,e)}catch(e){Xt.debug(`Failed to post client log entry`,e)}}async function yn(){return L(`api/slack/manifest`)}async function bn(e){return z(`api/slack/tokens`,e)}async function xn(){await B(`api/slack/tokens`)}async function Sn(e){return R(`api/slack/bindings`,e)}async function Cn(e,t){await B(`api/slack/bindings/${U(e)}/${U(t)}`)}async function wn(e){return z(`api/account/settings`,e)}async function Tn(e,t){return(await R(`api/voice-model/process-transcript`,{text:e,threadId:t?.threadId,provider:t?.provider,model:t?.model})).text}async function En(){return G.get(`available-programs`,async()=>(await L(`api/programs`)).programs??[],3e5)}async function Dn(){return(await L(`api/processes`)).processes}async function On(e){await R(`api/processes/${U(e)}/kill`)}async function Y(){return G.get(`processing-threads`,async()=>{let e=await L(`api/threads/processing`);return{processingThreadIds:e.processingThreadIds??[],processingRuns:e.processingRuns??[]}},0)}async function kn(){return(await Y()).processingThreadIds}async function X(){return G.get(`git-user`,async()=>{try{let e=await L(`api/git/user`);return{name:e.name??``,email:e.email??``}}catch{return{name:``,email:``}}},6e5)}async function An(){return(await X()).name}async function jn(){return G.get(`projects`,async()=>{let e=await L(`api/projects`),r=Array.isArray(e)?e:e.projects??[],i=Array.isArray(e)?null:e.cloneRootPath??null;return{projects:(r||[]).map(e=>{let t=e;return{projectId:t.projectId??t.id,name:t.name,gitUrl:t.gitUrl,projectPath:t.projectPath??t.path,threads:t.threads??[],commands:t.commands??[],setupScript:t.setupScript,validationScript:t.validationScript,runCommand:t.runCommand,planPrompt:t.planPrompt,testPrompt:t.testPrompt,reviewPrompt:t.reviewPrompt,customSystemPrompt:t.customSystemPrompt,useCustomSystemPrompt:!!t.useCustomSystemPrompt,allowAllCommands:t.allowAllCommands!==!1,allowedCommandPatterns:t.allowedCommandPatterns??[],modelAliases:t.modelAliases??void 0,defaultChatMode:n(t.defaultChatMode)?t.defaultChatMode:void 0,disabledTools:t.disabledTools??void 0,smartJsEnabled:t.smartJsEnabled===!0,useBuiltInBrowser:t.useBuiltInBrowser!==!1,projectIcon:t.projectIcon,tasksModifiedCount:Number(t.tasksModifiedCount)||0}}).map(e=>{let n=(e.threads||[]).map(e=>{let n=e,r=n.threadId??n.id;return{threadId:r,title:n.title??r,path:n.path??``,currentBranch:n.currentBranch??``,isSelected:!!n.isSelected,model:n.model??void 0,modelProvider:n.modelProvider??void 0,gitStatusDot:t(n.gitStatusDot)}});return{...e,threads:n}}),cloneRootPath:i}},3e4)}async function Mn(e){await R(`api/projects/${U(e)}/tasks/clear-modifications`)}async function Nn(e,t,n){return V(`api/projects`,{gitUrl:e,commitMethod:t},{signal:n})}async function Pn(e){return V(`api/projects/open-folder`,{},{signal:e})}async function Fn(e,t){return V(`api/projects/open-path`,{path:e},{signal:t})}async function In(e,t){return V(`api/projects/new-folder`,{projectName:e},{signal:t})}function Ln(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{let e=typeof r.result==`string`?r.result:``,n=e.indexOf(`,`);t(n>=0?e.slice(n+1):e)},r.onerror=()=>n(r.error),r.readAsDataURL(e)})}async function Rn(e,t,n,r){return V(`api/projects/from-zip`,{data:await Ln(e),name:t,overrideProjectId:n},{signal:r})}async function zn(e){return G.get(`project-${e}`,async()=>{let t=await L(`api/projects/${U(e)}`);return{...t,projectPath:t.projectPath??t.path}},3e4)}async function Bn(e){return L(`api/projects/${U(e)}/env-vars`)}async function Vn(e){return(await L(`api/projects/${U(e)}/window-state`)).state}async function Hn(e,t){await et(`api/projects/${U(e)}/window-state`,{state:t})}async function Un(e,t,n){return R(`api/projects/${U(e)}/replace-unique-text`,{oldText:t,newText:n})}async function Wn(e,t){await z(`api/projects/${U(e)}/env-vars`,{vars:t})}async function Gn(e){await B(`api/projects/${U(e)}`),G.invalidate(`projects`)}function Z(e){G.invalidate(`projects`),e&&G.invalidate(`project-${e}`)}async function Kn(e,t){return V(`api/threads`,{projectId:e,title:t})}async function qn(e,t){let n=await Qe(`api/threads/${U(t)}?stream=true`);return G.invalidate(`projects`),n}async function Jn(e,t){await Xe(`api/threads/${U(e)}`,t),G.invalidate(`thread-${e}`),(`model`in t||`modelProvider`in t||`chatTitles`in t||`diffComments`in t)&&G.invalidate(`projects`)}async function Yn(e,t,n){return(await R(`api/threads/${U(e)}/generate-title`,{prompt:t,provider:n?.provider,model:n?.model})).title}async function Xn(e,t){return(await R(`api/chat/${U(e)}/auto-route`,{prompt:t})).decision}async function Zn(e,t){return R(`api/threads/${U(e)}/fix-comments`,{comments:t})}async function Qn(e,t){await R(`api/threads/${U(t)}/select`)}async function $n(e,t){let n=t?`?conversationId=${encodeURIComponent(t)}`:``;return{threadId:e,messages:await L(`api/threads/${U(e)}/messages${n}`)}}async function er(e,t,n=1,r=2e3){let i=new URLSearchParams({offset:String(n),limit:String(r)});return L(`api/threads/${U(e)}/observations/${U(t)}?${i}`)}async function tr(e){return(await L(`api/threads/${U(e)}/conversation-folder-path`)).path}async function nr(e){return(await L(`api/threads/${U(e)}/session-learnings`)).learnings}async function rr(e,t,n,r=[],i,a,o,s,c,l,u){let{isEmpty:d}=await Zt();if(d)throw new K;return V(`api/chat`,{threadId:e,content:t,model:n,provider:a,planMode:o,ralphMode:s,orchestrateMode:u,checkpointRef:c,conversationId:l,attachments:r.map(e=>({name:e.fileName,content:e.content.split(`,`)[1]||e.content,size:0,mimeType:e.mimeType||`application/octet-stream`}))},{signal:i})}async function ir(e,t,n){let r=new URLSearchParams({replay:`compact`}),i=n?.trim();return i&&r.set(`conversationId`,i),$e(`api/chat/subscribe/${U(e)}?${r.toString()}`,{signal:t})}async function ar(e){let t=await B(`api/chat/${U(e)}`);return G.invalidate(`thread-${e}`),t?.conversationId||``}async function or(e,t){return H(`api/chat/${U(e)}/compact`,t)}async function sr(e,t){let n=await R(`api/chat/${U(e)}/workspace-handoff`,t);return typeof n.brief==`string`?n.brief:``}async function cr(e,t){try{let n=new URLSearchParams,r=t?.conversationId?.trim();r&&n.set(`conversationId`,r),t?.all&&n.set(`all`,`1`);let i=n.size>0?`?${n.toString()}`:``;await R(`api/chat/stop/${U(e)}${i}`)}catch{}}async function Q(e,t){return t.runNow&&t.setupScript?Ze(`api/projects/${U(e)}`,t):(await et(`api/projects/${U(e)}`,t),Z(e),null)}async function lr(e,t){await H(`api/projects/${U(e)}/open`,{program:t})}async function ur(e,t){await H(`api/threads/${U(e)}/open`,{program:t})}async function dr(e,t){await Q(e,{program:t})}async function fr(e,t,n){return Q(e,{setupScript:t,runNow:n})}async function pr(e,t){await Q(e,{name:t})}async function mr(e,t){let n=new URLSearchParams({provider:e});t!==void 0&&n.set(`supportedTools`,t?`true`:`false`),n.set(`useCase`,`coding`);let r=`available-models-${n.toString()}`;return G.get(r,async()=>{let e=await L(`api/models?${n.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function hr(e){let t=new URLSearchParams({useCase:e}),n=`available-models-all-${e}`;return G.get(n,async()=>(await L(`api/models/all?${t.toString()}`)).providers??{},12e4)}async function gr(e,t){await R(`api/models/${U(e,t)}/enable`),G.invalidate(`enabled-models`),G.invalidatePattern(/^available-models-/),G.invalidatePattern(/^available-image-models-/)}async function _r(e,t){await R(`api/models/${U(e,t)}/disable`),G.invalidate(`enabled-models`),G.invalidatePattern(/^available-models-/),G.invalidatePattern(/^available-image-models-/)}async function vr(e,t,n){await R(`api/models/${U(e,t)}/settings`,n),G.invalidatePattern(/^available-models-/),G.invalidate(`enabled-models`)}async function yr(){return G.get(`enabled-models`,async()=>(await L(`api/models/enabled?useCase=coding`)).enabledModels??{},12e4)}async function br(e){let t=new URLSearchParams({provider:e,useCase:`image`}),n=`available-image-models-${e}`;return G.get(n,async()=>{let e=await L(`api/models?${t.toString()}`);return{models:e.models??[],enabledModelIds:e.enabledModelIds??[]}},12e4)}async function xr(){return G.get(`enabled-image-models`,async()=>(await L(`api/models/enabled?useCase=image`)).enabledModels??{},12e4)}async function Sr(e,t){await R(`api/models/${U(e,t)}/enable?useCase=image`),G.invalidate(`enabled-image-models`),G.invalidatePattern(/^available-models-/),G.invalidatePattern(/^available-image-models-/)}async function Cr(e,t){await R(`api/models/${U(e,t)}/disable?useCase=image`),G.invalidate(`enabled-image-models`),G.invalidatePattern(/^available-models-/),G.invalidatePattern(/^available-image-models-/)}async function wr(e,t,n,r){return R(`api/image/generate`,{prompt:e,model:t,provider:n,threadId:r})}async function Tr(e){await lt(e)}async function Er(e){return ct(e)}async function Dr(e,t){return Je(`api/projects/${U(e)}/plugin-export`,t)}async function Or(e,t){return R(`api/projects/${U(e)}/plugin-import/preview`,{url:t})}async function kr(e,t){return R(`api/projects/${U(e)}/plugin-import`,t)}async function Ar(e,t){return R(`api/projects/${U(e)}/plugin-upload`,t)}async function jr(e){let t=await R(`api/models/${U(e)}/refresh`);return G.invalidatePattern(/^available-models-/),G.invalidatePattern(/^available-image-models-/),G.invalidate(`enabled-models`),G.invalidate(`enabled-image-models`),t.modelCount??0}async function Mr(e,t){await R(`api/projects/${U(e)}/commands`,t)}async function Nr(e,t){await B(`api/projects/${U(e)}/commands/${U(t)}`)}async function Pr(e){return L(`api/projects/${U(e)}/package-scripts`)}async function Fr(e){return L(`api/threads/${U(e)}/files`)}async function Ir(e){return(await L(`api/threads/${U(e)}/project-scripts`)).scripts}async function Lr(e,t,n,r){let{relativeFolder:i,...a}=r??{},o={scriptName:t,command:n};return i&&(o.relativeFolder=i),V(`api/threads/${U(e)}/project-scripts/run`,o,a)}async function Rr(e,t){return R(`api/threads/${U(e)}/project-scripts/stop`,{scriptName:t})}async function zr(e){return G.get(`thread-${e}`,async()=>L(`api/threads/${e}`),45e3)}async function Br(e){return(await L(`api/projects/${U(e)}/user-tasks`)).tasks??[]}async function Vr(e,t){return R(`api/projects/${U(e)}/user-tasks`,{content:t})}async function Hr(e,t){await B(`api/projects/${U(e)}/user-tasks/${U(t)}`)}async function Ur(e){return R(`api/projects/${U(e)}/run-suggest`,{})}async function Wr(e,t,n){return Xt.info(`Start dev server requested`,{projectId:e,threadId:t}),G.invalidate(`dev-server-running-${e}`),V(`api/projects/${U(e)}/run`,{threadId:t},{signal:n})}async function Gr(e){return G.invalidate(`dev-server-running-${e}`),R(`api/projects/${U(e)}/stop`,{})}async function Kr(e,t){return R(`api/projects/${U(e)}/free-port`,{port:t})}async function qr(e){return G.get(`dev-server-running-${e}`,async()=>L(`api/projects/${U(e)}/running`),3e3)}async function Jr(e){return L(`api/projects/${U(e)}/system-prompt`)}async function Yr(){return L(`api/onboarding/status`)}async function Xr(){return L(`api/onboarding/git-check`)}async function Zr(){return R(`api/onboarding/complete`,{})}async function Qr(){return R(`api/onboarding/reset`,{})}async function $r(){return L(`api/onboarding/recommended-models`)}async function ei(e){return(await L(`api/slash-commands?threadId=${U(e)}`)).commands??[]}async function ti(e){let t=await L(`api/slash-commands?threadId=${U(e)}`);return{commands:t.commands??[],skills:t.skills??[],bundledSkills:t.bundledSkills??[]}}async function ni(e,t,n,r,i){return R(`api/slash-commands`,{name:e,content:t,metadata:n,scope:r,threadId:i})}async function ri(e){let t=await fetch(`http://localhost:641/api/slash-commands`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({filePath:e})});if(!t.ok)throw Error(`Failed to delete slash command: ${t.statusText}`);return t.json()}async function ii(e){let t=new URLSearchParams;e?.threadId?t.set(`threadId`,e.threadId):e?.projectId&&t.set(`projectId`,e.projectId);let n=t.toString();await B(`api/conversations${n?`?${n}`:``}`)}async function ai(e=20,t=0){return L(`api/conversations/recent?limit=${Math.min(Math.max(e,1),100)}&offset=${Math.max(t,0)}`)}async function oi(e,t){return L(`api/conversations/${U(e)}/${U(t)}/usage`)}async function si(e,t,n){let r=`context-breakdown-${e}-${t}`;return n?.forceRefresh&&G.invalidate(r),G.get(r,async()=>L(`api/conversations/${U(e)}/${U(t)}/context`),45e3)}async function ci(e,t){return L(`api/conversations/${U(e)}/${U(t)}/context/tool-definitions`)}async function li(){try{return await L(`api/update/check`)}catch{return{updateAvailable:!1,supported:!1}}}async function ui(){return R(`api/update/apply`)}async function di(){return(await L(`api/ask-user/pending`)).questions??[]}async function fi(e,t){await R(`api/ask-user/respond`,typeof t==`string`?{toolCallId:e,answer:t}:{toolCallId:e,answers:t})}async function pi(e,t,n){await R(`api/shell-permission/respond`,{toolCallId:e,decision:t,pattern:n?.pattern,projectId:n?.projectId})}async function mi(e,t){await R(`api/shell-permission/respond`,{toolCallId:e,escalationScope:t===`skip`?void 0:t,escalationDecision:t===`skip`?`skip`:void 0})}async function hi(e,t){await R(`api/web-fetch-permission/respond`,{toolCallId:e,decision:t})}async function gi(e,t,n){await R(`api/browser-js/respond`,{toolCallId:e,result:t,threadId:n})}async function _i(e,t){await R(`api/browser-js/respond`,{toolCallId:e,started:!0,threadId:t})}async function vi(e,t){await R(`api/browser/ready`,{toolCallId:e,webviewId:t})}async function yi(e,t){await R(`api/browser/action-result`,{toolCallId:e,result:t})}async function bi(e){return L(`api/mcp/config?projectPath=${encodeURIComponent(e)}`)}async function xi(e,t,n){return z(`api/mcp/config`,{projectPath:e,serverName:t,serverConfig:n})}async function Si(e,t){return B(`api/mcp/config/${U(t)}?projectPath=${encodeURIComponent(e)}`)}async function Ci(e,t){return R(`api/mcp/discover`,{projectPath:e,serverName:t})}async function wi(){return(await L(`api/mcp/popular`)).servers??[]}async function Ti(e,t){return R(`api/mcp/oauth/authorize`,{projectPath:e,serverName:t})}async function Ei(e,t){return L(`api/mcp/oauth/status?projectPath=${encodeURIComponent(e)}&serverName=${encodeURIComponent(t)}`)}async function Di(e,t){return B(`api/mcp/oauth?projectPath=${encodeURIComponent(e)}&serverName=${encodeURIComponent(t)}`)}async function Oi(e){return(await L(`api/projects/${U(e)}/ai-files`)).nodes??[]}async function ki(e,t){return B(`api/projects/${U(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function Ai(e){return(await L(`api/threads/${U(e)}/ai-files`)).nodes??[]}async function ji(e,t){return L(`api/threads/${U(e)}/ai-file?path=${encodeURIComponent(t)}`)}async function Mi(e,t,n){return z(`api/threads/${U(e)}/ai-file`,{path:t,content:n})}async function Ni(e,t,n){return R(`api/threads/${U(e)}/ai-files/skill`,{name:t,description:n})}async function Pi(e,t,n,r){return R(`api/threads/${U(e)}/ai-files/agent`,{name:t,description:n,tools:r})}async function $(e,t){return B(`api/threads/${U(e)}/ai-file?path=${encodeURIComponent(t)}`)}export{mn as $,Vt as $n,Pe as $r,lr as $t,Gn as A,ce as Ai,gi as An,I as Ar,ai as At,Sr as B,dr as Bn,C as Br,ji as Bt,Kn as C,oe as Ci,bn as Cn,ht as Cr,Jr as Ct,dn as D,ue as Di,Rr as Dn,U as Dr,an as Dt,Vr as E,u as Ei,Gr as En,B as Er,on as Et,$ as F,be as Fi,Ur as Fn,qe as Fr,hn as Ft,mr as G,Ut as Gn,x as Gr,kr as Gt,Dr as H,Jn as Hn,E as Hr,Fr as Ht,Hr as I,_ as Ii,Wn as In,D as Ir,ei as It,Kr as J,Gt as Jn,me as Jr,qr as Jt,di as K,Ht as Kn,s as Kr,en as Kt,Cr as L,Ne as Li,wn as Ln,T as Lr,ti as Lt,Cn as M,ve as Mi,pi as Mn,R as Mr,Qt as Mt,ri as N,Be as Ni,hi as Nn,Ye as Nr,nr as Nt,Nr as O,ee as Oi,_n as On,L as Or,rn as Ot,qn as P,f as Pi,ir as Pn,z as Pr,yn as Pt,q as Q,It as Qn,re as Qr,Fn as Qt,_r as R,je as Ri,Q as Rn,Ke as Rr,J as Rt,ni as S,h as Si,rr as Sn,ut as Sr,Ir as St,Ni as T,De as Ti,cr as Tn,G as Tr,jn as Tt,hr as U,Ar as Un,Ge as Ur,ci as Ut,gr as V,fr as Vn,Ve as Vr,Ai as Vt,br as W,Bt as Wn,S as Wr,Br as Wt,Yn as X,Kt as Xn,xe as Xr,un as Xt,wr as Y,Ft as Yn,Ce as Yr,On as Yt,sr as Z,Lt as Zn,te as Zr,Pn as Zt,In as _,Me as _i,Hn as _n,xt as _r,Y as _t,Ti as a,l as ai,jr as an,At as ar,si as at,tn as b,ie as bi,Mi as bn,St as br,Oi as bt,$t as c,p as ci,vi as cn,Nt as cr,X as ct,gn as d,de as di,Xn as dn,kt as dr,bi as dt,m as ei,ur as en,Jt as er,xr as et,Mn as f,_e as fi,Lr as fn,_t as fr,Ei as ft,Tr as g,g as gi,vr as gn,Tt as gr,wi as gt,Zr as h,ye as hi,xi as hn,wt as hr,Pr as ht,ui as i,Se as ii,fn as in,jt as ir,Dn as it,ki as j,fe as ji,mi as jn,Xe as jr,$r as jt,Si as k,Le as ki,fi as kn,A as kr,nn as kt,ar as l,Ie as li,Qr as ln,Ot as lr,An as lt,or as m,d as mi,Er as mn,Et as mr,Yr as mt,_i as n,we as ni,Or as nn,zt as nr,En as nt,li as o,pe as oi,Un as on,vt as or,tr as ot,xn as p,ze as pi,Mr as pn,yt as pr,er as pt,Zn as q,Wt as qn,c as qr,Z as qt,Yt as r,Ee as ri,Tn as rn,Rt as rr,$n as rt,Xr as s,le as si,yi as sn,Ct as sr,oi as st,K as t,ae as ti,vn as tn,qt as tr,yr as tt,ii as u,se as ui,Di as un,Pt as ur,pn as ut,Nn as v,Ae as vi,cn as vn,bt as vr,kn as vt,Pi as w,Te as wi,Wr as wn,pt as wr,Vn as wt,Sn as x,Fe as xi,Qn as xn,Mt as xr,Bn as xt,Rn as y,ne as yi,sn as yn,Dt as yr,zn as yt,Ci as z,pr as zn,We as zr,zr as zt};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{at as r,x as i}from"./dist-ZlK7I-y-.js";import{t as a}from"./button-sfGyFWfz.js";import{i as o,n as s,r as c,t as l}from"./card-D5k0GHxM.js";var u=e(t(),1),d=n(),f=i(`app.async-error-boundary.ui`),p=class extends u.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){f.error(`AsyncErrorBoundary caught an error`,{error:e,info:t})}handleRetry=()=>{this.setState({error:null}),this.props.onRetry?.()};render(){let{error:e}=this.state;return e?this.props.renderFallback?this.props.renderFallback(e,this.handleRetry):(0,d.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,d.jsxs)(l,{className:`max-w-md`,children:[(0,d.jsx)(c,{children:(0,d.jsx)(o,{className:`text-destructive`,children:this.props.fallbackTitle??`Something went wrong`})}),(0,d.jsxs)(s,{className:`space-y-4`,children:[(0,d.jsx)(`p`,{className:r.body,children:e.message}),(0,d.jsx)(a,{variant:`outline`,onClick:this.handleRetry,children:`Retry`})]})]})}):this.props.children}};export{p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{at as n}from"./dist-ZlK7I-y-.js";import{Et as r}from"./dist-DIjomljy.js";import{t as i}from"./utils-CT-Dw22R.js";var a=e(),o=t();function s(e){let t=(0,a.c)(16),{className:s,label:c,size:l,overScenic:u}=e,d=l===void 0?`md`:l,f=u===void 0?!1:u,p=d===`sm`?`h-4 w-4`:d===`lg`?`h-8 w-8`:`h-6 w-6`,m;t[0]===s?m=t[1]:(m=i(`flex h-full items-center justify-center`,s),t[0]=s,t[1]=m);let h=f?`scenic-foreground`:`text-muted-foreground`,g;t[2]!==p||t[3]!==h?(g=i(p,`animate-spin mx-auto`,h),t[2]=p,t[3]=h,t[4]=g):g=t[4];let _;t[5]===g?_=t[6]:(_=(0,o.jsx)(r,{className:g}),t[5]=g,t[6]=_);let v;t[7]!==c||t[8]!==f?(v=c?(0,o.jsx)(`p`,{className:i(f?i(n.body,`scenic-foreground-muted`):n.bodyMuted,`mt-2`),children:c}):null,t[7]=c,t[8]=f,t[9]=v):v=t[9];let y;t[10]!==_||t[11]!==v?(y=(0,o.jsxs)(`div`,{className:`text-center`,children:[_,v]}),t[10]=_,t[11]=v,t[12]=y):y=t[12];let b;return t[13]!==m||t[14]!==y?(b=(0,o.jsx)(`div`,{className:m,children:y}),t[13]=m,t[14]=y,t[15]=b):b=t[15],b}function c(){let e=(0,a.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,o.jsx)(`div`,{className:`space-y-1 px-2 py-2`,children:[1,2,3].map(l)}),e[0]=t):t=e[0],t}function l(e){return(0,o.jsx)(`div`,{className:`animate-pulse h-7 bg-muted rounded-full`},e)}function u(){let e=(0,a.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,o.jsx)(`div`,{className:`animate-pulse h-4 bg-muted rounded mx-4 my-1`}),e[0]=t):t=e[0],t}export{s as n,c as r,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=0,t=new Set;function n(){for(let e of t)e()}function r(){e+=1,e===1&&n()}function i(){e!==0&&(--e,!(e>0)&&n())}function a(){return e>0}function o(e){return t.add(e),function(){t.delete(e)}}export{o as i,i as n,a as r,r as t};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i,x as a}from"./dist-ZlK7I-y-.js";import{J as o,n as s,r as c}from"./store-Be_7VK0D.js";import{L as l,Ln as u,Rn as d,T as f,X as p,dn as m,gt as h,j as g,mt as _}from"./dist-DIjomljy.js";import{t as v}from"./utils-CT-Dw22R.js";import{t as y}from"./button-sfGyFWfz.js";import{Ir as b,Xt as x,on as S}from"./api-ODizoHnY.js";import{i as C,n as w,r as T,t as E}from"./tooltip-B6ziVyTv.js";import{i as D,r as O}from"./browser-overlay-block-CiDtkfup.js";import{t as k}from"./use-toast-xpb5jNtN.js";import{B as A,Bt as j,C as M,Ft as N,G as P,S as F,T as I,X as L,_ as R,an as z,b as B,f as V,p as H,v as U,w as W,x as ee,y as G,zt as K}from"./index-Bmkj1Qwa.js";import{t as te}from"./use-active-dock-panel-instance-CcCdDHzX.js";var q=e(n(),1),J=t();async function ne(e){let{projectId:t,oldText:n,newText:r,selection:i,replaceUnique:a=S}=e;if(n===r)return{kind:`unchanged`};try{let e=await a(t,n,r);if(e.applied&&e.path)return{kind:`replaced`,path:e.path}}catch{}return{kind:`prompt`,prompt:B(i,n,r)}}var Y=r();function re(e){let t=(0,J.c)(43),{onCommit:n,onCancelPreview:r}=e,i=s(),a=c(ie),l=c(Z),u=c(X),d;t[0]===a?d=t[1]:(d=e=>a?e.projectModelSelections[a]:void 0,t[0]=a,t[1]=d);let f=c(d),{selectedBrowserElement:p,setSelectedBrowserElement:m,setIsEditModeEnabled:h,setBrowserAgentProcessingThreadId:g}=A(),{handleSend:_}=j(),{paneId:v,conversationId:b}=K(),[x,S]=(0,q.useState)(!1),C;if(t[2]!==u||t[3]!==l){let e;t[5]===l?e=t[6]:(e=e=>e.projectId===l,t[5]=l,t[6]=e),C=u.find(e),t[2]=u,t[3]=l,t[4]=C}else C=t[4];let w=C,T;t[7]===p?T=t[8]:(T=F(p),t[7]=p,t[8]=T);let E=T,D;t[9]!==h||t[10]!==m?(D=()=>{S(!1),h(!1),m(null)},t[9]=h,t[10]=m,t[11]=D):D=t[11];let O=D,N;t[12]!==b||t[13]!==i||t[14]!==O||t[15]!==_||t[16]!==v||t[17]!==w?.lastSelectedModel||t[18]!==w?.lastSelectedModelProvider||t[19]!==l||t[20]!==a||t[21]!==g||t[22]!==f?.id||t[23]!==f?.provider?(N=async e=>{if(!l){k({title:`No project selected`,description:`Open a project to apply text edits.`,variant:`destructive`}),O();return}S(!0);let t=await ne({projectId:l,oldText:e.originalText,newText:e.currentText,selection:e.selection});if(t.kind===`unchanged`){k({title:`No text changes detected`}),O();return}if(t.kind===`replaced`){k({title:`Text updated`,description:`Replaced in ${t.path}`}),O();return}let n=f?.id??w?.lastSelectedModel,r=f?.provider??w?.lastSelectedModelProvider;if(!a||!n){k({title:`Could not apply text change`,description:`Select a chat thread and model to send this change as a prompt.`,variant:`destructive`}),S(!1);return}_(v,b,t.prompt,n,[],r),i({type:o.SetChatInputDraft,threadId:v===`primary`?a:`${a}:${v}`,draft:``}),g(a),O()},t[12]=b,t[13]=i,t[14]=O,t[15]=_,t[16]=v,t[17]=w?.lastSelectedModel,t[18]=w?.lastSelectedModelProvider,t[19]=l,t[20]=a,t[21]=g,t[22]=f?.id,t[23]=f?.provider,t[24]=N):N=t[24],w?.lastSelectedModel,w?.lastSelectedModelProvider,f?.id,f?.provider;let P=N,I,L;t[25]===E?(I=t[26],L=t[27]):(I=()=>{E||S(!1)},L=[E],t[25]=E,t[26]=I,t[27]=L),(0,q.useEffect)(I,L);let z,B;t[28]===P?(z=t[29],B=t[30]):(z=()=>{let e=function(e){let t=e.detail;ee(t)&&P(t)},t=function(e){let t=M(e.data);t&&P(t)};return window.addEventListener(R,e),window.addEventListener(`message`,t),function(){window.removeEventListener(R,e),window.removeEventListener(`message`,t)}},B=[P],t[28]=P,t[29]=z,t[30]=B),(0,q.useEffect)(z,B);let V;t[31]!==O||t[32]!==r?(V=function(){r(),O()},t[31]=O,t[32]=r,t[33]=V):V=t[33];let H=V;if(!E)return null;let U;t[34]!==x||t[35]!==n?(U=(0,Y.jsx)(y,{type:`button`,size:`sm`,onClick:n,disabled:x,children:`Apply Changes`}),t[34]=x,t[35]=n,t[36]=U):U=t[36];let W;t[37]!==H||t[38]!==x?(W=(0,Y.jsx)(y,{type:`button`,size:`sm`,variant:`outline`,onClick:H,disabled:x,children:`Cancel`}),t[37]=H,t[38]=x,t[39]=W):W=t[39];let G;return t[40]!==U||t[41]!==W?(G=(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-center gap-2 border-b border-border px-3 py-2`,children:[U,W]}),t[40]=U,t[41]=W,t[42]=G):G=t[42],G}function X(e){return e.projects}function Z(e){return e.selectedProjectId}function ie(e){return e.selectedThreadId}function ae(e){if(!e)return null;if(typeof e==`string`)try{let t=JSON.parse(e);return t&&typeof t==`object`?t:null}catch{return null}return typeof e==`object`?e:null}function oe(e){let t=ae(e);if(!t||t.type!==`tarsk-browser-page-title`)return null;let n=t.payload;if(!n||typeof n!=`object`)return null;let r=n.title;return typeof r==`string`?r:null}function se(e){return oe(e)}function ce(e){return!e?.trim()}function Q(e,t){return ce(t)?e:t.trim()}var le=a(`app.browser-tab.ui`);function ue(e){let t=e.trim();return t?(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`http://${t}`),t):``}function de(e){return e?e.querySelector(`electrobun-webview`):null}function fe(e){e.webviewId!=null&&(e.toggleHidden(!0),e.togglePassthrough(!0))}function pe(e){e.webviewId!=null&&(e.toggleHidden(!1),e.togglePassthrough(!1),e.syncDimensions(!0))}function me(e,t){if(t){pe(e);return}fe(e)}var he=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`,`Home`,`End`]);function ge(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;if(t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable)return!0;let n=e.getAttribute(`role`);return n===`combobox`||n===`listbox`||n===`menu`||n===`menubar`||n===`menuitem`||n===`option`||n===`radiogroup`||n===`tablist`||n===`tab`||n===`grid`||n===`slider`||n===`spinbutton`}function _e(e){return e!=null&&e.getClientRects().length>0}function ve(e,t,n){let r=!1,i=0;function a(){if(!r){if(e.webviewId==null){i=requestAnimationFrame(a);return}t&&e.getAttribute(`src`)!==t&&e.loadURL(t),me(e,n())}}return i=requestAnimationFrame(a),function(){r=!0,cancelAnimationFrame(i)}}function ye(e,t=!1,n=`select`){return`(function () {
|
|
2
|
+
const api = window.__tarskBrowserPreview;
|
|
3
|
+
if (!api || typeof api.setSelectMode !== "function") {
|
|
4
|
+
log.error("[browser-preview] selection API is not available");
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
api.setSelectMode(${e?`true`:`false`}, ${t?`true`:`false`}, ${JSON.stringify(n)});
|
|
8
|
+
})();`}function be(e){let t=e===`commit`?`commitTextEdit`:`cancelTextEdit`;return`(function () {
|
|
9
|
+
const api = window.__tarskBrowserPreview;
|
|
10
|
+
if (!api || typeof api.${t} !== "function") return;
|
|
11
|
+
api.${t}();
|
|
12
|
+
})();`}function xe(e,t,n=!1,r=`select`){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);try{e.executeJavascript(ye(t,n,r))}catch(i){throw le.error(`[browser-preview] Failed to toggle native preview selection mode`,{enabled:t,preserveSelection:n,interaction:r,src:e.src,webview_id:e.webviewId,error:i instanceof Error?i.message:String(i),stack:i instanceof Error?i.stack:void 0}),i}}function Se(e,t){if(typeof e.executeJavascript!=`function`)throw Error(`Browser preview webview JS execution is not available`);e.executeJavascript(t)}function Ce(e,t,n=!1,r=`select`){let i=e.contentWindow;if(!i)throw Error(`Browser preview frame is not ready`);let a=i.__tarskBrowserPreview;if(!a?.setSelectMode)throw Error(`Browser preview selection API is not available in iframe preview`);a.setSelectMode(t,n,r)}function we(e,t){let n=e.contentWindow?.__tarskBrowserPreview;if(!n||typeof n[t===`commit`?`commitTextEdit`:`cancelTextEdit`]!=`function`){le.warn(`[browser-preview] Preview text-edit API unavailable; action ignored`,{action:t,src:e.src});return}if(t===`commit`){n.commitTextEdit?.();return}n.cancelTextEdit?.()}function $(e){let t=(0,J.c)(16),{onClick:n,label:r,children:i,isActive:a,disabled:o,activeStyle:s}=e,c=a===void 0?!1:a,l=o===void 0?!1:o,u=s===void 0?`elevated`:s,d=l&&`cursor-not-allowed text-muted-foreground/50`,f=!l&&!c&&`text-muted-foreground hover:bg-background/50 hover:text-foreground`,p=!l&&c&&u===`depressed`&&`bg-muted text-primary shadow-[inset_0_2px_4px_rgba(0,0,0,0.14)] ring-1 ring-inset ring-border/80 dark:shadow-[inset_0_2px_4px_rgba(0,0,0,0.35)]`,m=!l&&c&&u===`elevated`&&`bg-background text-foreground shadow-sm`,h;t[0]!==d||t[1]!==f||t[2]!==p||t[3]!==m?(h=v(`rounded p-1.5 transition-all`,d,f,p,m),t[0]=d,t[1]=f,t[2]=p,t[3]=m,t[4]=h):h=t[4];let g;t[5]!==i||t[6]!==l||t[7]!==c||t[8]!==n||t[9]!==h?(g=(0,Y.jsx)(C,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,onClick:n,disabled:l,"aria-pressed":c,className:h,children:i})}),t[5]=i,t[6]=l,t[7]=c,t[8]=n,t[9]=h,t[10]=g):g=t[10];let _;t[11]===r?_=t[12]:(_=(0,Y.jsx)(w,{children:r}),t[11]=r,t[12]=_);let y;return t[13]!==_||t[14]!==g?(y=(0,Y.jsxs)(E,{children:[g,_]}),t[13]=_,t[14]=g,t[15]=y):y=t[15],y}function Te(e){return typeof e==`string`?e:typeof e==`object`&&e&&`url`in e?String(e.url):``}function Ee(e,t,n){let[r,i]=(0,q.useState)(!0),a=(0,q.useSyncExternalStore)(H,V),o=(0,q.useSyncExternalStore)(D,O),s=t&&(r&&!o||a),c=(0,q.useRef)(s);c.current=s;let l=(0,q.useCallback)(function(){return c.current},[]),u=(0,q.useCallback)(function(){i(_e(e.current))},[]);return(0,q.useLayoutEffect)(u),(0,q.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(u);return n.observe(t),function(){n.disconnect()}},[u,n]),{shouldShowWebview:s,readWebviewVisibility:l}}function De(e){let t=(0,J.c)(8),{useNativeWebview:n,shouldRenderNativeWebview:r,currentUrl:i,resolveWebview:a}=e,[o,s]=(0,q.useState)(r),c;t[0]!==a||t[1]!==r||t[2]!==n?(c=()=>{if(!n)return;if(r){s(!0);return}let e=a();e&&fe(e);let t=requestAnimationFrame(()=>{s(!1)});return function(){cancelAnimationFrame(t)}},t[0]=a,t[1]=r,t[2]=n,t[3]=c):c=t[3];let l;return t[4]!==i||t[5]!==r||t[6]!==n?(l=[r,n,i],t[4]=i,t[5]=r,t[6]=n,t[7]=l):l=t[7],(0,q.useLayoutEffect)(c,l),o}function Oe({devServerUrl:e,devServerStopped:t,isBrowserActive:n,currentUrl:r,browserResetTrigger:i,webviewRef:a,iframeRef:o,setCurrentUrl:s,setPendingUrl:c,setInputUrl:l,setSelectionModeError:u,setIsSelectModeEnabled:d,setIsEditModeEnabled:f,setSelectedBrowserElement:p,setIsSelectionPromptOpen:m,setBrowserAgentProcessingThreadId:h,setBrowserPageTitle:g}){let _=(0,q.useRef)(r),v=(0,q.useRef)(null);_.current=r,(0,q.useEffect)(()=>{s(``),c(``),l(``),u(null),g(null),d(!1),f(!1),p(null),m(!1),h(null);let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``)},[i,h,g,d,f,m,p]),(0,q.useEffect)(()=>{if(t&&!e){s(``),c(``),l(``),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null));let e=a.current;e&&(e.src=``),o.current&&(o.current.src=``);return}if(!e)return;let r=ue(e);l(r),(!_.current||_.current===v.current)&&(s(r),c(r),v.current=r),u(null),n&&(d(!1),f(!1),p(null),m(!1),h(null))},[e,t,n,h,d,f,m,p])}function ke(e,t,n,r){let i=(0,J.c)(9),a;i[0]!==n||i[1]!==e||i[2]!==r||i[3]!==t?(a=()=>{if(!e||!t)return;let i=function(e){he.has(e.key)&&(ge(e.target)||r.current?.contains(e.target)||(e.preventDefault(),n()))};return document.addEventListener(`keydown`,i,!0),function(){document.removeEventListener(`keydown`,i,!0)}},i[0]=n,i[1]=e,i[2]=r,i[3]=t,i[4]=a):a=i[4];let o;i[5]!==n||i[6]!==e||i[7]!==t?(o=[e,t,n],i[5]=n,i[6]=e,i[7]=t,i[8]=o):o=i[8],(0,q.useEffect)(a,o)}function Ae(e){let t=(0,J.c)(15),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,resolveWebview:a,setCurrentUrl:o,setPendingUrl:s,setInputUrl:c,setSelectionModeError:l,setBrowserPageTitle:u}=e,d;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==u||t[4]!==o||t[5]!==c||t[6]!==s||t[7]!==l||t[8]!==n?(d=()=>{let e=a();if(!n||!e||!r)return;let t=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),s(``),c(t))},d=function(e){let t=typeof e.detail==`string`?e.detail:i;t&&(o(t),c(t))},f=function(e){let t=Te(e.detail);t&&x(t)},p=function(e){let t=se(e.detail);if(t!=null){u(e=>Q(e,t));return}let n=I(e.detail);if(n){G(n);return}let r=W(e.detail);r&&(l(null),U(r))};return e.on(`did-navigate`,t),e.on(`did-navigate-in-page`,d),e.on(`new-window-open`,f),e.on(`host-message`,p),function(){e.off(`did-navigate`,t),e.off(`did-navigate-in-page`,d),e.off(`new-window-open`,f),e.off(`host-message`,p)}},t[0]=i,t[1]=r,t[2]=a,t[3]=u,t[4]=o,t[5]=c,t[6]=s,t[7]=l,t[8]=n,t[9]=d):d=t[9];let f;t[10]!==i||t[11]!==r||t[12]!==u||t[13]!==n?(f=[i,n,r,u],t[10]=i,t[11]=r,t[12]=u,t[13]=n,t[14]=f):f=t[14],(0,q.useEffect)(d,f)}function je(e){let t=(0,J.c)(23),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,deviceMode:a,shouldShowWebview:o,pendingUrl:s,readWebviewVisibility:c,resolveWebview:l}=e,u;t[0]!==r||t[1]!==l||t[2]!==o||t[3]!==n?(u=()=>{if(!n||!r)return;let e=l();!e||e.webviewId==null||me(e,o)},t[0]=r,t[1]=l,t[2]=o,t[3]=n,t[4]=u):u=t[4];let d;t[5]!==i||t[6]!==a||t[7]!==r||t[8]!==o||t[9]!==n?(d=[r,n,i,a,o],t[5]=i,t[6]=a,t[7]=r,t[8]=o,t[9]=n,t[10]=d):d=t[10],(0,q.useLayoutEffect)(u,d);let f;t[11]!==r||t[12]!==s||t[13]!==c||t[14]!==l||t[15]!==n?(f=()=>{let e=l();if(!(!n||!e||!s||!r))return ve(e,s,c)},t[11]=r,t[12]=s,t[13]=c,t[14]=l,t[15]=n,t[16]=f):f=t[16];let p;t[17]!==i||t[18]!==r||t[19]!==s||t[20]!==c||t[21]!==n?(p=[s,n,i,r,c],t[17]=i,t[18]=r,t[19]=s,t[20]=c,t[21]=n,t[22]=p):p=t[22],(0,q.useEffect)(f,p)}function Me({isBrowserActive:e,currentUrl:t,isSelectModeEnabled:n,isEditModeEnabled:r,isSelectionPromptOpen:i,nativeWebviewMounted:a,useNativeWebview:o,resolveWebview:s,iframeRef:c,setIsSelectModeEnabled:l,setIsEditModeEnabled:u,setSelectionModeError:d}){(0,q.useEffect)(()=>{if(!e)return;if(!t){n&&l(!1),r&&u(!1);return}let f=!1,p=n||r,m=r?`edit`:`select`,h=!p&&i;function g(){try{if(o){let e=s();if(!e||e.webviewId==null||!a)return;xe(e,p,h,m);return}let e=c.current;if(!e)return;Ce(e,p,h,m)}catch(e){if(f||!p)return;let t=e instanceof Error?e.message:`Could not enable element selection.`;le.error(`Failed to toggle browser selection mode:`,e),d(t),l(!1),u(!1),k({title:`Selection mode unavailable`,description:t,variant:`destructive`})}}return g(),function(){f=!0}},[t,e,r,n,i,a,u,l,o])}function Ne(e,t){let n=(0,J.c)(8),r,i;n[0]!==e||n[1]!==t?(r=()=>{if(!e)return;let n=function(e){let n=oe(e.data);n!=null&&t(e=>Q(e,n))};return window.addEventListener(`message`,n),function(){window.removeEventListener(`message`,n)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),(0,q.useEffect)(r,i);let a,o;n[4]!==e||n[5]!==t?(a=()=>{if(e)return function(){t(null)}},o=[e,t],n[4]=e,n[5]=t,n[6]=a,n[7]=o):(a=n[6],o=n[7]),(0,q.useEffect)(a,o)}function Pe({instanceId:e}){let t=te(e,`browser`),{devServerUrl:n,devServerStopped:r}=L(),{browserResetTrigger:i,setBrowserPageTitle:a,browserDeviceMode:o,setBrowserDeviceMode:s,isSelectModeEnabled:l,setIsSelectModeEnabled:u,isEditModeEnabled:d,setIsEditModeEnabled:f,selectedBrowserElement:p,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,isSelectionPromptOpen:g,setBrowserAgentProcessingThreadId:_}=A(),v=c(e=>e.selectedProjectId),y=c(e=>e.projects).find(e=>e.projectId===v),[S,C]=(0,q.useState)(``),[w,E]=(0,q.useState)(``),[D,O]=(0,q.useState)(``),[k,j]=(0,q.useState)(o),[M,N]=(0,q.useState)(null),P=(0,q.useRef)(null),I=(0,q.useRef)(D),R=(0,q.useRef)(null),B=(0,q.useRef)(null),V=b(),H=z(),U=V&&!!w;I.current=D;function W(){return P.current??de(B.current)}let{shouldShowWebview:ee,readWebviewVisibility:G}=Ee(B,t,w),K=De({useNativeWebview:V,shouldRenderNativeWebview:U,currentUrl:w,resolveWebview:W});Oe({devServerUrl:n,devServerStopped:r,isBrowserActive:t,currentUrl:w,browserResetTrigger:i,webviewRef:P,iframeRef:R,setCurrentUrl:E,setPendingUrl:O,setInputUrl:C,setSelectionModeError:N,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectedBrowserElement:m,setIsSelectionPromptOpen:h,setBrowserAgentProcessingThreadId:_,setBrowserPageTitle:a}),ke(t,V,(0,q.useCallback)(function(){V?W()?.focus():R.current?.contentWindow?.focus()},[V]),B),Ae({useNativeWebview:V,nativeWebviewMounted:K,currentUrl:w,resolveWebview:W,setCurrentUrl:E,setPendingUrl:O,setInputUrl:C,setSelectionModeError:N,setBrowserPageTitle:a}),Ne(t,a),je({useNativeWebview:V,nativeWebviewMounted:K,currentUrl:w,deviceMode:k,shouldShowWebview:ee,pendingUrl:D,readWebviewVisibility:G,resolveWebview:W}),Me({isBrowserActive:t,currentUrl:w,isSelectModeEnabled:l,isEditModeEnabled:d,isSelectionPromptOpen:g,nativeWebviewMounted:K,useNativeWebview:V,resolveWebview:W,iframeRef:R,setIsSelectModeEnabled:u,setIsEditModeEnabled:f,setSelectionModeError:N}),(0,q.useEffect)(()=>{j(o)},[o]);let J=(0,q.useCallback)(e=>{P.current=e,e&&ve(e,I.current,G)},[G]);function ne(e){j(e),s(e)}function X(){N(null),u(!1),f(!1),m(null),h(!1)}function Z(e){try{if(V){let t=W();if(!t)return;Se(t,be(e));return}let t=R.current;if(!t)return;we(t,e)}catch(e){le.error(`Failed to run preview text edit action:`,e)}}function ie(e){let t=ue(e);t&&(C(t),E(t),O(t),X())}function ae(e){e.key===`Enter`&&ie(S)}function oe(){if(X(),V){let e=W();e&&e.reload();return}let e=R.current;if(!e)return;let t=e.src;e.src=``,requestAnimationFrame(()=>{e.src=t})}function se(){if(X(),V){let e=W();e&&e.executeJavascript(`history.back()`);return}Q(-1)}function ce(){if(X(),V){let e=W();e&&e.executeJavascript(`history.forward()`);return}Q(1)}function Q(e){let t=R.current;if(!(!t||!t.contentWindow))try{e<0?t.contentWindow.history.back():t.contentWindow.history.forward()}catch{}}function fe(){N(null),f(!1),F(p)&&(Z(`cancel`),m(null)),u(e=>!e)}function pe(){if(N(null),u(!1),h(!1),F(p)){Z(`cancel`),m(null),f(!1);return}f(e=>!e)}let me=Fe[k],he=(0,Y.jsx)(Ie,{useNativeWebview:V,nativeWebviewMounted:K,currentUrl:w,previewRpcPreload:H,handleWebviewRef:J,iframeRef:R});return t?(0,Y.jsx)(T,{children:(0,Y.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,children:[(0,Y.jsx)(Le,{currentUrl:w,inputUrl:S,onInputUrlChange:C,onKeyDown:ae,onBack:se,onForward:ce,onRefresh:oe,onToggleSelectMode:fe,onToggleEditMode:pe,onOpenExternal:()=>void x(w),onDeviceModeChange:ne,selectionModeError:M,isSelectModeEnabled:l,isEditModeEnabled:d||F(p),deviceMode:k}),w?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(re,{onCommit:()=>Z(`commit`),onCancelPreview:()=>Z(`cancel`)}),(0,Y.jsx)(Re,{selectionModeError:M,isSelectModeEnabled:l||d,deviceMode:k,currentDeviceConfig:me,previewContainerRef:B,children:he})]}):(0,Y.jsx)(ze,{devServerStopped:r,selectedProjectId:v,runCommand:y?.runCommand})]})}):(0,Y.jsx)(Be,{previewContainerRef:B,children:he})}var Fe={desktop:{width:`100%`,height:`100%`},tablet:{width:`768px`,height:`1024px`},mobile:{width:`375px`,height:`667px`}};function Ie(e){let t=(0,J.c)(7),{useNativeWebview:n,nativeWebviewMounted:r,currentUrl:i,previewRpcPreload:a,handleWebviewRef:o,iframeRef:s}=e;if(n){if(!r)return null;let e;return t[0]!==i||t[1]!==o||t[2]!==a?(e=(0,q.createElement)(`electrobun-webview`,{ref:o,src:i,preload:a,renderer:`native`,className:`block h-full w-full bg-background`}),t[0]=i,t[1]=o,t[2]=a,t[3]=e):e=t[3],e}let c;return t[4]!==i||t[5]!==s?(c=(0,Y.jsx)(`iframe`,{ref:s,src:i,className:`h-full w-full border-none`,title:`Browser`,sandbox:`allow-same-origin allow-scripts allow-forms allow-popups allow-modals allow-downloads`}),t[4]=i,t[5]=s,t[6]=c):c=t[6],c}function Le(e){let t=(0,J.c)(42),{currentUrl:n,inputUrl:r,onInputUrlChange:i,onKeyDown:a,onBack:o,onForward:s,onRefresh:c,onToggleSelectMode:y,onToggleEditMode:b,onOpenExternal:x,onDeviceModeChange:S,selectionModeError:C,isSelectModeEnabled:w,isEditModeEnabled:T,deviceMode:E}=e,D;t[0]!==n||t[1]!==o?(D=n&&(0,Y.jsx)($,{onClick:o,label:`Back`,children:(0,Y.jsx)(d,{size:15})}),t[0]=n,t[1]=o,t[2]=D):D=t[2];let O;t[3]!==n||t[4]!==s?(O=n&&(0,Y.jsx)($,{onClick:s,label:`Forward`,children:(0,Y.jsx)(u,{size:15})}),t[3]=n,t[4]=s,t[5]=O):O=t[5];let k;t[6]===i?k=t[7]:(k=e=>i(e.target.value),t[6]=i,t[7]=k);let A;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(A=v(`flex-1 rounded-full bg-muted font-mono`),t[8]=A):A=t[8];let j;t[9]!==r||t[10]!==a||t[11]!==k?(j=(0,Y.jsx)(N,{type:`text`,value:r,onChange:k,onKeyDown:a,placeholder:`Enter URL...`,className:A,spellCheck:!1}),t[9]=r,t[10]=a,t[11]=k,t[12]=j):j=t[12];let M;t[13]!==n||t[14]!==c?(M=n&&(0,Y.jsx)($,{onClick:c,label:`Refresh page`,children:(0,Y.jsx)(p,{size:15})}),t[13]=n,t[14]=c,t[15]=M):M=t[15];let P;t[16]!==n||t[17]!==w||t[18]!==y||t[19]!==C?(P=n&&(0,Y.jsx)($,{onClick:y,label:C?`Select element unavailable: ${C}`:w?`Exit element selection`:`Select element from preview`,isActive:w,activeStyle:`depressed`,children:(0,Y.jsx)(_,{size:15})}),t[16]=n,t[17]=w,t[18]=y,t[19]=C,t[20]=P):P=t[20];let F;t[21]!==n||t[22]!==T||t[23]!==b||t[24]!==C?(F=n&&(0,Y.jsx)($,{onClick:b,label:C?`Edit text unavailable: ${C}`:T?`Exit text editing`:`Edit text from preview`,isActive:T,activeStyle:`depressed`,children:(0,Y.jsx)(f,{size:15})}),t[21]=n,t[22]=T,t[23]=b,t[24]=C,t[25]=F):F=t[25];let I;t[26]!==n||t[27]!==E||t[28]!==S?(I=n&&(0,Y.jsxs)(`div`,{className:`flex items-center rounded-md bg-muted p-0.5`,children:[(0,Y.jsx)($,{onClick:()=>S(`desktop`),label:`Desktop view`,isActive:E===`desktop`,children:(0,Y.jsx)(h,{size:15})}),(0,Y.jsx)($,{onClick:()=>S(`tablet`),label:`Tablet view`,isActive:E===`tablet`,children:(0,Y.jsx)(g,{size:15})}),(0,Y.jsx)($,{onClick:()=>S(`mobile`),label:`Mobile view`,isActive:E===`mobile`,children:(0,Y.jsx)(l,{size:15})})]}),t[26]=n,t[27]=E,t[28]=S,t[29]=I):I=t[29];let L;t[30]!==n||t[31]!==x?(L=n&&(0,Y.jsx)($,{onClick:x,label:`Open in external browser`,children:(0,Y.jsx)(m,{size:15})}),t[30]=n,t[31]=x,t[32]=L):L=t[32];let R;return t[33]!==D||t[34]!==L||t[35]!==O||t[36]!==j||t[37]!==M||t[38]!==P||t[39]!==F||t[40]!==I?(R=(0,Y.jsx)(`div`,{className:`relative shrink-0 border-b border-border`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,children:[D,O,j,M,P,F,I,L]})}),t[33]=D,t[34]=L,t[35]=O,t[36]=j,t[37]=M,t[38]=P,t[39]=F,t[40]=I,t[41]=R):R=t[41],R}function Re(e){let t=(0,J.c)(18),{selectionModeError:n,isSelectModeEnabled:r,deviceMode:i,currentDeviceConfig:a,previewContainerRef:o,children:s}=e,c;t[0]===n?c=t[1]:(c=n&&(0,Y.jsxs)(`div`,{className:`border-b border-destructive/20 bg-destructive/5 px-3 py-2 text-sm text-destructive`,children:[`Element selection is unavailable: `,n]}),t[0]=n,t[1]=c);let l=r&&`cursor-crosshair`,u;t[2]===l?u=t[3]:(u=v(`flex min-h-0 flex-1 items-center justify-center bg-background`,l),t[2]=l,t[3]=u);let d=`overflow-hidden border border-border bg-background shadow-sm ${i===`desktop`?`h-full w-full rounded-none border-0 shadow-none`:`rounded-lg`}`,f;t[4]!==a.height||t[5]!==a.width?(f={width:a.width,height:a.height,maxWidth:`100%`,maxHeight:`100%`},t[4]=a.height,t[5]=a.width,t[6]=f):f=t[6];let p;t[7]!==s||t[8]!==d||t[9]!==f?(p=(0,Y.jsx)(`div`,{className:d,style:f,children:s}),t[7]=s,t[8]=d,t[9]=f,t[10]=p):p=t[10];let m;t[11]!==o||t[12]!==u||t[13]!==p?(m=(0,Y.jsx)(`div`,{ref:o,className:u,children:p}),t[11]=o,t[12]=u,t[13]=p,t[14]=m):m=t[14];let h;return t[15]!==c||t[16]!==m?(h=(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,children:[c,m]}),t[15]=c,t[16]=m,t[17]=h):h=t[17],h}function ze(e){let t=(0,J.c)(4),{devServerStopped:n,selectedProjectId:r,runCommand:a}=e,o;return t[0]!==n||t[1]!==a||t[2]!==r?(o=(0,Y.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-6 text-muted-foreground`,children:n?(0,Y.jsx)(`p`,{className:i.body,children:`Dev server stopped`}):r&&a?(0,Y.jsx)(P,{projectId:r,runCommand:a,large:!0}):(0,Y.jsx)(`p`,{className:i.body,children:`Enter a URL to browse`})}),t[0]=n,t[1]=a,t[2]=r,t[3]=o):o=t[3],o}function Be(e){let t=(0,J.c)(3),{previewContainerRef:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,Y.jsx)(`div`,{className:`hidden`,"aria-hidden":`true`,children:(0,Y.jsx)(`div`,{ref:n,children:r})}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i}export{Pe as BrowserTab};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i}from"./dist-ZlK7I-y-.js";import{o as a,s as o,t as s}from"./utils-CT-Dw22R.js";var c=t(),l=e(n(),1),u=r(),d=Symbol.for(`react.lazy`),f=l.use;function p(e){return typeof e==`object`&&!!e&&`then`in e}function m(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===d&&`_payload`in e&&p(e._payload)}function h(e){let t=_(e),n=l.forwardRef((e,n)=>{let{children:r,...i}=e;m(r)&&typeof f==`function`&&(r=f(r._payload));let a=l.Children.toArray(r),o=a.find(y);if(o){let e=o.props.children,r=a.map(t=>t===o?l.Children.count(e)>1?l.Children.only(null):l.isValidElement(e)?e.props.children:null:t);return(0,u.jsx)(t,{...i,ref:n,children:l.isValidElement(e)?l.cloneElement(e,void 0,r):null})}return(0,u.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}var g=h(`Slot`);function _(e){let t=l.forwardRef((e,t)=>{let{children:n,...r}=e;if(m(n)&&typeof f==`function`&&(n=f(n._payload)),l.isValidElement(n)){let e=x(n),i=b(r,n.props);return n.type!==l.Fragment&&(i.ref=t?o(t,e):e),l.cloneElement(n,i)}return l.Children.count(n)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var v=Symbol(`radix.slottable`);function y(e){return l.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===v}function b(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function x(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var S=a(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full ${i.body} font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,outline:`border border-input bg-background hover:bg-accent hover:text-accent-foreground`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-foreground hover:text-background transition-colors`,action:`text-muted-foreground hover:bg-foreground hover:text-background transition-colors`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-10 px-6 py-3`,sm:`h-9 rounded-full px-4`,lg:`h-11 rounded-full px-10`,icon:`h-10 w-10 [&_svg]:size-5`,"icon-md":`h-8 w-8 [&_svg]:size-4`,"icon-sm":`h-7 w-7 [&_svg]:size-4`,"icon-xs":`h-5 w-5 [&_svg]:size-3`}},defaultVariants:{variant:`default`,size:`default`}}),C=l.forwardRef((e,t)=>{let n=(0,c.c)(15),r,i,a,o,l;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],l=n[5]):({className:r,variant:l,size:a,asChild:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=l);let d=o!==void 0&&o?g:`button`,f;n[6]!==r||n[7]!==a||n[8]!==l?(f=s(S({variant:l,size:a,className:r})),n[6]=r,n[7]=a,n[8]=l,n[9]=f):f=n[9];let p;return n[10]!==d||n[11]!==i||n[12]!==t||n[13]!==f?(p=(0,u.jsx)(d,{className:f,ref:t,...i}),n[10]=d,n[11]=i,n[12]=t,n[13]=f,n[14]=p):p=n[14],p});C.displayName=`Button`;export{h as i,S as n,g as r,C as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i}from"./dist-ZlK7I-y-.js";import{t as a}from"./utils-CT-Dw22R.js";var o=t(),s=e(n(),1),c=r(),l=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`rounded-lg border bg-card text-card-foreground shadow-sm`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`div`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});l.displayName=`Card`;var u=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`flex flex-col space-y-1.5 p-6`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`div`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});u.displayName=`CardHeader`;var d=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(i.sectionTitle,`leading-none tracking-tight`,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`div`,{ref:t,className:l,...s}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});d.displayName=`CardTitle`;var f=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(i.bodyMuted,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`div`,{ref:t,className:l,...s}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});f.displayName=`CardDescription`;var p=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`p-6 pt-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`div`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});p.displayName=`CardContent`;var m=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`flex items-center p-6 pt-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`div`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});m.displayName=`CardFooter`;export{d as i,p as n,u as r,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{F as i,_ as a,x as o}from"./dist-ZlK7I-y-.js";import{J as s,i as c,n as l,r as u}from"./store-Be_7VK0D.js";import{_n as d,wt as f}from"./api-ODizoHnY.js";var p=e(n(),1),m=t();function h({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:r,threadMultiPaneStates:i}){let a={};for(let e of r){let t=i[e];!t||Object.keys(t.extraChatPanes).length===0||(a[e]={focusedPaneId:t.focusedPane,panes:Object.entries(t.extraChatPanes).map(([e,t])=>({paneId:e,conversationId:t.conversationId}))})}return{version:1,nonChatWindows:e,layout:t===null?`grid`:`expanded`,expandedWindowId:t,selectedWindowId:n,chatPanesByThread:a}}function g(e,t){let n=new Set(t?e.chatPanesByThread[t]?.panes.map(e=>e.paneId)??[]:[]),r=new Set(e.nonChatWindows.map(e=>e.id)),a=n.size>0||r.size>0;function o(e){return e===`primary`||e!==null&&(n.has(e)||r.has(e))}let s=o(e.selectedWindowId)?e.selectedWindowId:i,c=null;return e.layout===`expanded`&&a&&(c=o(e.expandedWindowId)?e.expandedWindowId:i),{nonChatWindows:e.nonChatWindows,expandedWindowId:c,selectedWindowId:s}}var _=o(`app.window-state`);function v(e,t,n){return JSON.stringify({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n})}function y({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,onReset:r,onHydrate:i}){let a=l(),o=u(e=>e.selectedProjectId),c=u(e=>e.projects),m=u(e=>e.threadMultiPaneStates),g=c.find(e=>e.projectId===o),y=(g?.threads.map(e=>e.threadId)??[]).join(`\0`),b=g!==void 0,[x,S]=(0,p.useState)(null),C=(0,p.useRef)(null),w=(0,p.useRef)(Promise.resolve()),T=(0,p.useRef)(null),E=(0,p.useRef)(0),D=(0,p.useRef)(v(e,t,n));D.current=v(e,t,n),(0,p.useEffect)(()=>{let e=T.current!==o;if(T.current=o,!o||!b){r(),S(null),C.current=null;return}e&&(r(),S(null),C.current=null);let t=o,n=y?y.split(`\0`):[],c=D.current,l=++E.current,u=!1;async function d(){try{let e=await f(t);if(u||l!==E.current)return;if(a({type:s.HydrateProjectChatPanes,threadIds:n,chatPanesByThread:e.chatPanesByThread}),D.current!==c){S(t);return}C.current=JSON.stringify(e),i(e),S(t)}catch(e){u||_.error(`Failed to restore project window state`,e)}}return d(),()=>{u=!0}},[a,b,i,r,y,o]),(0,p.useEffect)(()=>{if(!o||o!==x||!b)return;let r=h({nonChatWindows:e,expandedWindowId:t,selectedWindowId:n,threadIds:y?y.split(`\0`):[],threadMultiPaneStates:m}),i=JSON.stringify(r);if(i===C.current)return;let a=o;C.current=i,w.current=w.current.catch(()=>void 0).then(()=>d(a,r)).catch(e=>{_.error(`Failed to save project window state`,e),C.current===i&&(C.current=null)})},[t,b,x,e,o,n,y,m])}var b=r(),x=(0,p.createContext)(null);function S(e){let t=(0,m.c)(19),{windows:n,extraChatPanes:r,primaryChatOpen:a,expandedWindowId:o,selectedWindowId:s,setExpandedWindowId:c,setSelectedWindowId:l}=e,u,d;t[0]!==o||t[1]!==r||t[2]!==a||t[3]!==c||t[4]!==n?(u=()=>{if(o){if(o===`primary`){if(a)return;c(n.length>0?n[0].id:null);return}!n.some(e=>e.id===o)&&!r[o]&&c(a?i:n[0]?.id??null)}},d=[o,r,a,n,c],t[0]=o,t[1]=r,t[2]=a,t[3]=c,t[4]=n,t[5]=u,t[6]=d):(u=t[5],d=t[6]),(0,p.useEffect)(u,d);let f,h;t[7]!==r||t[8]!==a||t[9]!==s||t[10]!==l||t[11]!==n?(f=()=>{if(s===`primary`){if(a||n.length===0)return;l(n[0].id);return}!n.some(e=>e.id===s)&&!r[s]&&l(a?i:n[0]?.id??`primary`)},h=[r,a,s,n,l],t[7]=r,t[8]=a,t[9]=s,t[10]=l,t[11]=n,t[12]=f,t[13]=h):(f=t[12],h=t[13]),(0,p.useEffect)(f,h);let g,_;t[14]!==o||t[15]!==c||t[16]!==n.length?(g=()=>{n.length===0&&o!==null&&c(null)},_=[o,n.length,c],t[14]=o,t[15]=c,t[16]=n.length,t[17]=g,t[18]=_):(g=t[17],_=t[18]),(0,p.useEffect)(g,_)}function C(e,t,n,r){t.panelId===`chat`?n({type:s.RemoveChatPane,paneId:e}):r(t=>t.filter(t=>t.id!==e))}function w(e,t,n,r){if(n.length===1)return null;if(e!==t)return e;let a=n.filter(e=>e.id!==t);return r?i:a[0]?.id??null}function T(e,t,n,r){if(e!==t)return e;let a=n.filter(e=>e.id!==t);return r?i:a[0]?.id??`primary`}function E(e,t,n){return t.length===0?null:e===`primary`?n:e}function D(e,t){return e===`primary`&&t?t:e}function O(e){let t=(0,m.c)(57),{children:n}=e,r=l(),o=c(),d=u(re),f=u(ne),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[],t[0]=h):h=t[0];let[_,v]=(0,p.useState)(h),[O,k]=(0,p.useState)(!0),[A,j]=(0,p.useState)(null),[M,N]=(0,p.useState)(i),[ie,P]=(0,p.useState)(null),F;t[1]===f?F=t[2]:(F=Object.keys(f).map(te),t[1]=f,t[2]=F);let ae=F,I;t[3]!==ae||t[4]!==_?(I=[...ae,..._],t[3]=ae,t[4]=_,t[5]=I):I=t[5];let L=I,R;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(R=()=>{v([]),k(!0),j(null),N(i),P(null)},t[6]=R):R=t[6];let oe=R,z;t[7]===o?z=t[8]:(z=e=>{let t=g(e,o.getState().selectedThreadId);v(t.nonChatWindows),j(t.expandedWindowId),N(t.selectedWindowId),P(null)},t[7]=o,t[8]=z);let se=z,B;t[9]!==A||t[10]!==se||t[11]!==_||t[12]!==M?(B={nonChatWindows:_,expandedWindowId:A,selectedWindowId:M,onReset:oe,onHydrate:se},t[9]=A,t[10]=se,t[11]=_,t[12]=M,t[13]=B):B=t[13],y(B);let V;t[14]!==A||t[15]!==f||t[16]!==O||t[17]!==M||t[18]!==L?(V={windows:L,extraChatPanes:f,primaryChatOpen:O,expandedWindowId:A,selectedWindowId:M,setExpandedWindowId:j,setSelectedWindowId:N},t[14]=A,t[15]=f,t[16]=O,t[17]=M,t[18]=L,t[19]=V):V=t[19],S(V);let H;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(H=e=>{N(e)},t[20]=H):H=t[20];let ce=H,U;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(U=e=>{N(e),j(e)},t[21]=U):U=t[21];let le=U,W;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>{j(null)},t[22]=W):W=t[22];let ue=W,G;t[23]!==O||t[24]!==L.length?(G=e=>{e===`primary`&&k(!0),j(t=>t===null&&L.length>0||t===null&&O&&e!==`primary`?null:e),P(e)},t[23]=O,t[24]=L.length,t[25]=G):G=t[25];let K=G,q;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(q=()=>{P(null)},t[26]=q):q=t[26];let de=q,J;t[27]!==r||t[28]!==K||t[29]!==d?(J=e=>{let t=a();return e===`chat`?d?(r({type:s.AddChatPane,paneId:t,conversationId:a()}),K(t),t):t:(v(n=>[...n,{id:t,panelId:e}]),K(t),t)},t[27]=r,t[28]=K,t[29]=d,t[30]=J):J=t[30];let fe=J,Y;t[31]!==r||t[32]!==O||t[33]!==L?(Y=e=>{if(e===`primary`){k(!1);let e=L[0]?.id??null;j(t=>E(t,L,e)),N(t=>D(t,e));return}let t=L.find(t=>t.id===e);t&&(C(e,t,r,v),j(t=>w(t,e,L,O)),N(t=>T(t,e,L,O)))},t[31]=r,t[32]=O,t[33]=L,t[34]=Y):Y=t[34];let pe=Y,X;t[35]!==r||t[36]!==L?(X=()=>{j(null),N(i),k(!0);for(let e of L)e.panelId===`chat`&&r({type:s.RemoveChatPane,paneId:e.id});v([])},t[35]=r,t[36]=L,t[37]=X):X=t[37];let me=X,Z;t[38]!==O||t[39]!==L?(Z=e=>e===`chat`?O||L.some(ee):L.some(t=>t.panelId===e),t[38]=O,t[39]=L,t[40]=Z):Z=t[40];let he=Z,ge=L.length>0,_e=A!==null,Q;t[41]!==fe||t[42]!==me||t[43]!==pe||t[44]!==A||t[45]!==ge||t[46]!==_e||t[47]!==he||t[48]!==ie||t[49]!==O||t[50]!==K||t[51]!==M||t[52]!==L?(Q={windows:L,addWindow:fe,closeWindow:pe,closeAllWindows:me,isPrimaryChatOpen:O,isPanelOpen:he,hasOpenWindows:ge,isLayoutExpanded:_e,expandedWindowId:A,expandWindow:le,collapseLayout:ue,selectedWindowId:M,selectWindow:ce,revealWindow:K,pendingScrollWindowId:ie,clearPendingScrollWindow:de},t[41]=fe,t[42]=me,t[43]=pe,t[44]=A,t[45]=ge,t[46]=_e,t[47]=he,t[48]=ie,t[49]=O,t[50]=K,t[51]=M,t[52]=L,t[53]=Q):Q=t[53];let ve=Q,$;return t[54]!==n||t[55]!==ve?($=(0,b.jsx)(x.Provider,{value:ve,children:n}),t[54]=n,t[55]=ve,t[56]=$):$=t[56],$}function ee(e){return e.panelId===`chat`}function te(e){return{id:e,panelId:`chat`}}function ne(e){return e.extraChatPanes}function re(e){return e.selectedThreadId}function k(){let e=(0,p.useContext)(x);if(!e)throw Error(`useChatDock must be used within a ChatDockProvider`);return e}export{k as n,O as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,r as n}from"./react-vendor-Ee0-5T4I.js";var r=e(t(),1),i=`popstate`;function a(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function o(e={}){let{initialEntries:t=[`/`],initialIndex:n,v5Compat:r=!1}=e,i;i=t.map((e,t)=>h(e,typeof e==`string`?null:e.state,t===0?`default`:void 0,typeof e==`string`?void 0:e.unstable_mask));let o=u(n??i.length-1),s=`POP`,c=null;function u(e){return Math.min(Math.max(e,0),i.length-1)}function d(){return i[o]}function h(e,t=null,n,r){let a=f(i?d().pathname:`/`,e,t,n,r);return l(a.pathname.charAt(0)===`/`,`relative pathnames are not supported in memory history: ${JSON.stringify(e)}`),a}function g(e){return typeof e==`string`?e:p(e)}return{get index(){return o},get action(){return s},get location(){return d()},createHref:g,createURL(e){return new URL(g(e),`http://localhost`)},encodeLocation(e){let t=typeof e==`string`?m(e):e;return{pathname:t.pathname||``,search:t.search||``,hash:t.hash||``}},push(e,t){s=`PUSH`;let n=a(e)?e:h(e,t);o+=1,i.splice(o,i.length,n),r&&c&&c({action:s,location:n,delta:1})},replace(e,t){s=`REPLACE`;let n=a(e)?e:h(e,t);i[o]=n,r&&c&&c({action:s,location:n,delta:0})},go(e){s=`POP`;let t=u(o+e),n=i[t];o=t,c&&c({action:s,location:n,delta:e})},listen(e){return c=e,()=>{c=null}}}}function s(e={}){function t(e,t){let{pathname:n=`/`,search:r=``,hash:i=``}=m(e.location.hash.substring(1));return!n.startsWith(`/`)&&!n.startsWith(`.`)&&(n=`/`+n),f(``,{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||`default`)}function n(e,t){let n=e.document.querySelector(`base`),r=``;if(n&&n.getAttribute(`href`)){let t=e.location.href,n=t.indexOf(`#`);r=n===-1?t:t.slice(0,n)}return r+`#`+(typeof t==`string`?t:p(t))}function r(e,t){l(e.pathname.charAt(0)===`/`,`relative pathnames are not supported in hash history.push(${JSON.stringify(t)})`)}return h(t,n,r,e)}function c(e,t){if(e===!1||e==null)throw Error(t)}function l(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function u(){return Math.random().toString(36).substring(2,10)}function d(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function f(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?m(t):t,state:n,key:t&&t.key||r||u(),unstable_mask:i}}function p({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function m(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function h(e,t,n,r={}){let{window:o=document.defaultView,v5Compat:s=!1}=r,c=o.history,l=`POP`,u=null,p=m();p??(p=0,c.replaceState({...c.state,idx:p},``));function m(){return(c.state||{idx:null}).idx}function h(){l=`POP`;let e=m(),t=e==null?null:e-p;p=e,u&&u({action:l,location:b.location,delta:t})}function _(e,t){l=`PUSH`;let r=a(e)?e:f(b.location,e,t);n&&n(r,e),p=m()+1;let i=d(r,p),h=b.createHref(r.unstable_mask||r);try{c.pushState(i,``,h)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;o.location.assign(h)}s&&u&&u({action:l,location:b.location,delta:1})}function v(e,t){l=`REPLACE`;let r=a(e)?e:f(b.location,e,t);n&&n(r,e),p=m();let i=d(r,p),o=b.createHref(r.unstable_mask||r);c.replaceState(i,``,o),s&&u&&u({action:l,location:b.location,delta:0})}function y(e){return g(e)}let b={get action(){return l},get location(){return e(o,c)},listen(e){if(u)throw Error(`A history only accepts one active listener`);return o.addEventListener(i,h),u=e,()=>{o.removeEventListener(i,h),u=null}},createHref(e){return t(o,e)},createURL:y,encodeLocation(e){let t=y(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:_,replace:v,go(e){return c.go(e)}};return b}function g(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),c(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:p(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function _(e,t,n=`/`){return v(e,t,n,!1)}function v(e,t,n,r){let i=D((typeof t==`string`?m(t):t).pathname||`/`,n);if(i==null)return null;let a=b(e);S(a);let o=null;for(let e=0;o==null&&e<a.length;++e){let t=ce(i);o=oe(a[e],t,r)}return o}function y(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function b(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let l={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(l.relativePath.startsWith(`/`)){if(!l.relativePath.startsWith(r)&&o)return;c(l.relativePath.startsWith(r),`Absolute route path "${l.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),l.relativePath=l.relativePath.slice(r.length)}let u=A([r,l.relativePath]),d=n.concat(l);e.children&&e.children.length>0&&(c(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),b(e.children,t,d,u,o)),!(e.path==null&&!e.index)&&t.push({path:u,score:ie(u,e.index),routesMeta:d})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of x(e.path))a(e,t,!0,n)}),t}function x(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=x(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function S(e){e.sort((e,t)=>e.score===t.score?ae(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var C=/^:[\w-]+$/,ee=3,w=2,te=1,ne=10,re=-2,T=e=>e===`*`;function ie(e,t){let n=e.split(`/`),r=n.length;return n.some(T)&&(r+=re),t&&(r+=w),n.filter(e=>!T(e)).reduce((e,t)=>e+(C.test(t)?ee:t===``?te:ne),r)}function ae(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function oe(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=E({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=E({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:A([a,u.pathname]),pathnameBase:me(A([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=A([a,u.pathnameBase]))}return o}function E(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=se(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function se(e,t=!1,n=!0){l(e===`*`||!e.endsWith(`*`)||e.endsWith(`/*`),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,`/*`)}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,`/*`)}".`);let r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function ce(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return l(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function D(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}var le=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function ue(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?m(e):e,a;return n?(n=n.replace(/\/\/+/g,`/`),a=n.startsWith(`/`)?de(n.substring(1),`/`):de(n,t)):a=t,{pathname:a,search:he(r),hash:ge(i)}}function de(e,t){let n=t.replace(/\/+$/,``).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function O(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function fe(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function pe(e){let t=fe(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function k(e,t,n,r=!1){let i;typeof e==`string`?i=m(e):(i={...e},c(!i.pathname||!i.pathname.includes(`?`),O(`?`,`pathname`,`search`,i)),c(!i.pathname||!i.pathname.includes(`#`),O(`#`,`pathname`,`hash`,i)),c(!i.search||!i.search.includes(`#`),O(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let l=ue(i,s),u=o&&o!==`/`&&o.endsWith(`/`),d=(a||o===`.`)&&n.endsWith(`/`);return!l.pathname.endsWith(`/`)&&(u||d)&&(l.pathname+=`/`),l}var A=e=>e.join(`/`).replace(/\/\/+/g,`/`),me=e=>e.replace(/\/+$/,``).replace(/^\/*/,`/`),he=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,ge=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,_e=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function ve(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function ye(e){return e.map(e=>e.route.path).filter(Boolean).join(`/`).replace(/\/\/*/g,`/`)||`/`}var be=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function xe(e,t){let n=e;if(typeof n!=`string`||!le.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(be)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=D(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{l(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var Se=[`POST`,`PUT`,`PATCH`,`DELETE`];new Set(Se);var Ce=[`GET`,...Se];new Set(Ce);var j=r.createContext(null);j.displayName=`DataRouter`;var M=r.createContext(null);M.displayName=`DataRouterState`;var we=r.createContext(!1);function Te(){return r.useContext(we)}var Ee=r.createContext({isTransitioning:!1});Ee.displayName=`ViewTransition`;var De=r.createContext(new Map);De.displayName=`Fetchers`;var Oe=r.createContext(null);Oe.displayName=`Await`;var N=r.createContext(null);N.displayName=`Navigation`;var P=r.createContext(null);P.displayName=`Location`;var F=r.createContext({outlet:null,matches:[],isDataRoute:!1});F.displayName=`Route`;var I=r.createContext(null);I.displayName=`RouteError`;var ke=`REACT_ROUTER_ERROR`,Ae=`REDIRECT`,je=`ROUTE_ERROR_RESPONSE`;function Me(e){if(e.startsWith(`${ke}:${Ae}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function Ne(e){if(e.startsWith(`${ke}:${je}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new _e(t.status,t.statusText,t.data)}catch{}}function Pe(e,{relative:t}={}){c(L(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:i}=r.useContext(N),{hash:a,pathname:o,search:s}=B(e,{relative:t}),l=o;return n!==`/`&&(l=o===`/`?n:A([n,o])),i.createHref({pathname:l,search:s,hash:a})}function L(){return r.useContext(P)!=null}function R(){return c(L(),`useLocation() may be used only in the context of a <Router> component.`),r.useContext(P).location}var Fe=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Ie(e){r.useContext(N).static||r.useLayoutEffect(e)}function z(){let{isDataRoute:e}=r.useContext(F);return e?$e():Le()}function Le(){c(L(),`useNavigate() may be used only in the context of a <Router> component.`);let e=r.useContext(j),{basename:t,navigator:n}=r.useContext(N),{matches:i}=r.useContext(F),{pathname:a}=R(),o=JSON.stringify(pe(i)),s=r.useRef(!1);return Ie(()=>{s.current=!0}),r.useCallback((r,i={})=>{if(l(s.current,Fe),!s.current)return;if(typeof r==`number`){n.go(r);return}let c=k(r,JSON.parse(o),a,i.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:A([t,c.pathname])),(i.replace?n.replace:n.push)(c,i.state,i)},[t,n,o,a,e])}r.createContext(null);function Re(){let{matches:e}=r.useContext(F),t=e[e.length-1];return t?t.params:{}}function B(e,{relative:t}={}){let{matches:n}=r.useContext(F),{pathname:i}=R(),a=JSON.stringify(pe(n));return r.useMemo(()=>k(e,JSON.parse(a),i,t===`path`),[e,a,i,t])}function ze(e,t){return Be(e,t)}function Be(e,t,n){c(L(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:i}=r.useContext(N),{matches:a}=r.useContext(F),o=a[a.length-1],s=o?o.params:{},u=o?o.pathname:`/`,d=o?o.pathnameBase:`/`,f=o&&o.route;{let e=f&&f.path||``;tt(u,!f||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${u}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
2
|
+
|
|
3
|
+
Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let p=R(),h;if(t){let e=typeof t==`string`?m(t):t;c(d===`/`||e.pathname?.startsWith(d),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${d}" but pathname "${e.pathname}" was given in the \`location\` prop.`),h=e}else h=p;let g=h.pathname||`/`,v=g;if(d!==`/`){let e=d.replace(/^\//,``).split(`/`);v=`/`+g.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let y=_(e,{pathname:v});l(f||y!=null,`No routes matched location "${h.pathname}${h.search}${h.hash}" `),l(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.length-1].route.lazy!==void 0,`Matched leaf route at location "${h.pathname}${h.search}${h.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let b=Ke(y&&y.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:A([d,i.encodeLocation?i.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?d:A([d,i.encodeLocation?i.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),a,n);return t&&b?r.createElement(P.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,unstable_mask:void 0,...h},navigationType:`POP`}},b):b}function Ve(){let e=Qe(),t=ve(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i=`rgba(200,200,200, 0.5)`,a={padding:`0.5rem`,backgroundColor:i},o={padding:`2px 4px`,backgroundColor:i},s=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),s=r.createElement(r.Fragment,null,r.createElement(`p`,null,`💿 Hey developer 👋`),r.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,r.createElement(`code`,{style:o},`ErrorBoundary`),` or`,` `,r.createElement(`code`,{style:o},`errorElement`),` prop on your route.`)),r.createElement(r.Fragment,null,r.createElement(`h2`,null,`Unexpected Application Error!`),r.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?r.createElement(`pre`,{style:a},n):null,s)}var He=r.createElement(Ve,null),Ue=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=Ne(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:r.createElement(F.Provider,{value:this.props.routeContext},r.createElement(I.Provider,{value:e,children:this.props.component}));return this.context?r.createElement(We,{error:e},t):t}};Ue.contextType=we;var V=new WeakMap;function We({children:e,error:t}){let{basename:n}=r.useContext(N);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Me(t.digest);if(e){let i=V.get(t);if(i)throw i;let a=xe(e.location,n);if(be&&!V.get(t))if(a.isExternal||e.reloadDocument)window.location.href=a.absoluteURL||a.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw V.set(t,n),n}return r.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${a.absoluteURL||a.to}`})}}return e}function Ge({routeContext:e,match:t,children:n}){let i=r.useContext(j);return i&&i.static&&i.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=t.route.id),r.createElement(F.Provider,{value:e},n)}function Ke(e,t=[],n){let i=n?.state;if(e==null){if(!i)return null;if(i.errors)e=i.matches;else if(t.length===0&&!i.initialized&&i.matches.length>0)e=i.matches;else return null}let a=e,o=i?.errors;if(o!=null){let e=a.findIndex(e=>e.route.id&&o?.[e.route.id]!==void 0);c(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(`,`)}`),a=a.slice(0,Math.min(a.length,e+1))}let s=!1,l=-1;if(n&&i){s=i.renderFallback;for(let e=0;e<a.length;e++){let t=a[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(l=e),t.route.id){let{loaderData:e,errors:r}=i,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!r||r[t.route.id]===void 0);if(t.route.lazy||o){n.isStatic&&(s=!0),a=l>=0?a.slice(0,l+1):[a[0]];break}}}}let u=n?.onError,d=i&&u?(e,t)=>{u(e,{location:i.location,params:i.matches?.[0]?.params??{},unstable_pattern:ye(i.matches),errorInfo:t})}:void 0;return a.reduceRight((e,n,c)=>{let u,f=!1,p=null,m=null;i&&(u=o&&n.route.id?o[n.route.id]:void 0,p=n.route.errorElement||He,s&&(l<0&&c===0?(tt(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):l===c&&(f=!0,m=n.route.hydrateFallbackElement||null)));let h=t.concat(a.slice(0,c+1)),g=()=>{let t;return t=u?p:f?m:n.route.Component?r.createElement(n.route.Component,null):n.route.element?n.route.element:e,r.createElement(Ge,{match:n,routeContext:{outlet:e,matches:h,isDataRoute:i!=null},children:t})};return i&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?r.createElement(Ue,{location:i.location,revalidation:i.revalidation,component:p,error:u,children:g(),routeContext:{outlet:null,matches:h,isDataRoute:!0},onError:d}):g()},null)}function H(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function qe(e){let t=r.useContext(j);return c(t,H(e)),t}function U(e){let t=r.useContext(M);return c(t,H(e)),t}function Je(e){let t=r.useContext(F);return c(t,H(e)),t}function W(e){let t=Je(e),n=t.matches[t.matches.length-1];return c(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Ye(){return W(`useRouteId`)}function Xe(){return U(`useNavigation`).navigation}function Ze(){let{matches:e,loaderData:t}=U(`useMatches`);return r.useMemo(()=>e.map(e=>y(e,t)),[e,t])}function Qe(){let e=r.useContext(I),t=U(`useRouteError`),n=W(`useRouteError`);return e===void 0?t.errors?.[n]:e}function $e(){let{router:e}=qe(`useNavigate`),t=W(`useNavigate`),n=r.useRef(!1);return Ie(()=>{n.current=!0}),r.useCallback(async(r,i={})=>{l(n.current,Fe),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var et={};function tt(e,t,n){!t&&!et[e]&&(et[e]=!0,l(!1,n))}r.memo(nt);function nt({routes:e,future:t,state:n,isStatic:r,onError:i}){return Be(e,void 0,{state:n,isStatic:r,onError:i,future:t})}function rt({basename:e,children:t,initialEntries:n,initialIndex:i,unstable_useTransitions:a}){let s=r.useRef();s.current??=o({initialEntries:n,initialIndex:i,v5Compat:!0});let c=s.current,[l,u]=r.useState({action:c.action,location:c.location}),d=r.useCallback(e=>{a===!1?u(e):r.startTransition(()=>u(e))},[a]);return r.useLayoutEffect(()=>c.listen(d),[c,d]),r.createElement(at,{basename:e,children:t,location:l.location,navigationType:l.action,navigator:c,unstable_useTransitions:a})}function it(e){c(!1,`A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.`)}function at({basename:e=`/`,children:t=null,location:n,navigationType:i=`POP`,navigator:a,static:o=!1,unstable_useTransitions:s}){c(!L(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let u=e.replace(/^\/*/,`/`),d=r.useMemo(()=>({basename:u,navigator:a,static:o,unstable_useTransitions:s,future:{}}),[u,a,o,s]);typeof n==`string`&&(n=m(n));let{pathname:f=`/`,search:p=``,hash:h=``,state:g=null,key:_=`default`,unstable_mask:v}=n,y=r.useMemo(()=>{let e=D(f,u);return e==null?null:{location:{pathname:e,search:p,hash:h,state:g,key:_,unstable_mask:v},navigationType:i}},[u,f,p,h,g,_,i,v]);return l(y!=null,`<Router basename="${u}"> is not able to match the URL "${f}${p}${h}" because it does not start with the basename, so the <Router> won't render anything.`),y==null?null:r.createElement(N.Provider,{value:d},r.createElement(P.Provider,{children:t,value:y}))}function ot({children:e,location:t}){return ze(st(e),t)}r.Component;function st(e,t=[]){let n=[];return r.Children.forEach(e,(e,i)=>{if(!r.isValidElement(e))return;let a=[...t,i];if(e.type===r.Fragment){n.push.apply(n,st(e.props.children,a));return}c(e.type===it,`[${typeof e.type==`string`?e.type:e.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),c(!e.props.index||!e.props.children,`An index route cannot have child routes.`);let o={id:e.props.id||a.join(`-`),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,middleware:e.props.middleware,loader:e.props.loader,action:e.props.action,hydrateFallbackElement:e.props.hydrateFallbackElement,HydrateFallback:e.props.HydrateFallback,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:e.props.hasErrorBoundary===!0||e.props.ErrorBoundary!=null||e.props.errorElement!=null,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=st(e.props.children,a)),n.push(o)}),n}var G=`get`,K=`application/x-www-form-urlencoded`;function q(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function ct(e){return q(e)&&e.tagName.toLowerCase()===`button`}function lt(e){return q(e)&&e.tagName.toLowerCase()===`form`}function ut(e){return q(e)&&e.tagName.toLowerCase()===`input`}function dt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ft(e,t){return e.button===0&&(!t||t===`_self`)&&!dt(e)}function pt(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function mt(e,t){let n=pt(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var J=null;function ht(){if(J===null)try{new FormData(document.createElement(`form`),0),J=!1}catch{J=!0}return J}var gt=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function _t(e){return e!=null&&!gt.has(e)?(l(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${K}"`),null):e}function vt(e,t){let n,r,i,a,o;if(lt(e)){let o=e.getAttribute(`action`);r=o?D(o,t):null,n=e.getAttribute(`method`)||G,i=_t(e.getAttribute(`enctype`))||K,a=new FormData(e)}else if(ct(e)||ut(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?D(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||G,i=_t(e.getAttribute(`formenctype`))||_t(o.getAttribute(`enctype`))||K,a=new FormData(o,e),!ht()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(q(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=G,r=null,i=K,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var yt={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},bt=/[&><\u2028\u2029]/g;function xt(e){return e.replace(bt,e=>yt[e])}function St(e,t){if(e===!1||e==null)throw Error(t)}function Ct(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&D(i.pathname,t)===`/`?i.pathname=`${t.replace(/\/$/,``)}/_root.${r}`:i.pathname=`${i.pathname.replace(/\/$/,``)}.${r}`,i}async function wt(e,t){if(e.id in t)return t[e.id];try{let r=await n(()=>import(e.module),[]);return t[e.id]=r,r}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Tt(e){return e!=null&&typeof e.page==`string`}function Et(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Dt(e,t,n){return Mt((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await wt(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(Et).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Ot(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function kt(e,t,{includeHydrateFallback:n}={}){return At(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function At(e){return[...new Set(e)]}function jt(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Mt(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Tt(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(jt(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}function Y(){let e=r.useContext(j);return St(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function Nt(){let e=r.useContext(M);return St(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var X=r.createContext(void 0);X.displayName=`FrameworkContext`;function Pt(){let e=r.useContext(X);return St(e,`You must render this element inside a <HydratedRouter> element`),e}function Ft(e,t){let n=r.useContext(X),[i,a]=r.useState(!1),[o,s]=r.useState(!1),{onFocus:c,onBlur:l,onMouseEnter:u,onMouseLeave:d,onTouchStart:f}=t,p=r.useRef(null);r.useEffect(()=>{if(e===`render`&&s(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),r.useEffect(()=>{if(i){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[i]);let m=()=>{a(!0)},h=()=>{a(!1),s(!1)};return n?e===`intent`?[o,p,{onFocus:Z(c,m),onBlur:Z(l,h),onMouseEnter:Z(u,m),onMouseLeave:Z(d,h),onTouchStart:Z(f,m)}]:[o,p,{}]:[!1,p,{}]}function Z(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function It({page:e,...t}){let n=Te(),{router:i}=Y(),a=r.useMemo(()=>_(i.routes,e,i.basename),[i.routes,e,i.basename]);return a?n?r.createElement(Rt,{page:e,matches:a,...t}):r.createElement(zt,{page:e,matches:a,...t}):null}function Lt(e){let{manifest:t,routeModules:n}=Pt(),[i,a]=r.useState([]);return r.useEffect(()=>{let r=!1;return Dt(e,t,n).then(e=>{r||a(e)}),()=>{r=!0}},[e,t,n]),i}function Rt({page:e,matches:t,...n}){let i=R(),{future:a}=Pt(),{basename:o}=Y(),s=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=Ct(e,o,a.unstable_trailingSlashAwareDataRequests,`rsc`),r=!1,s=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?r=!0:s.push(e.route.id);return r&&s.length>0&&n.searchParams.set(`_routes`,s.join(`,`)),[n.pathname+n.search]},[o,a.unstable_trailingSlashAwareDataRequests,e,i,t]);return r.createElement(r.Fragment,null,s.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function zt({page:e,matches:t,...n}){let i=R(),{future:a,manifest:o,routeModules:s}=Pt(),{basename:c}=Y(),{loaderData:l,matches:u}=Nt(),d=r.useMemo(()=>Ot(e,t,u,o,i,`data`),[e,t,u,o,i]),f=r.useMemo(()=>Ot(e,t,u,o,i,`assets`),[e,t,u,o,i]),p=r.useMemo(()=>{if(e===i.pathname+i.search+i.hash)return[];let n=new Set,r=!1;if(t.forEach(e=>{let t=o.routes[e.route.id];!t||!t.hasLoader||(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&s[e.route.id]?.shouldRevalidate||t.hasClientLoader?r=!0:n.add(e.route.id))}),n.size===0)return[];let u=Ct(e,c,a.unstable_trailingSlashAwareDataRequests,`data`);return r&&n.size>0&&u.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[u.pathname+u.search]},[c,a.unstable_trailingSlashAwareDataRequests,l,i,o,d,t,e,s]),m=r.useMemo(()=>kt(f,o),[f,o]),h=Lt(f);return r.createElement(r.Fragment,null,p.map(e=>r.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),m.map(e=>r.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),h.map(({key:e,link:t})=>r.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function Bt(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}r.Component;var Vt=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Vt&&(window.__reactRouterVersion=`7.14.0`)}catch{}function Ht({basename:e,children:t,unstable_useTransitions:n,window:i}){let a=r.useRef();a.current??=s({window:i,v5Compat:!0});let o=a.current,[c,l]=r.useState({action:o.action,location:o.location}),u=r.useCallback(e=>{n===!1?l(e):r.startTransition(()=>l(e))},[n]);return r.useLayoutEffect(()=>o.listen(u),[o,u]),r.createElement(at,{basename:e,children:t,location:c.location,navigationType:c.action,navigator:o,unstable_useTransitions:n})}function Ut({basename:e,children:t,history:n,unstable_useTransitions:i}){let[a,o]=r.useState({action:n.action,location:n.location}),s=r.useCallback(e=>{i===!1?o(e):r.startTransition(()=>o(e))},[i]);return r.useLayoutEffect(()=>n.listen(s),[n,s]),r.createElement(at,{basename:e,children:t,location:a.location,navigationType:a.action,navigator:n,unstable_useTransitions:i})}Ut.displayName=`unstable_HistoryRouter`;var Wt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Gt=r.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:i,reloadDocument:a,replace:o,unstable_mask:s,state:c,target:l,to:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p,...m},h){let{basename:g,navigator:_,unstable_useTransitions:v}=r.useContext(N),y=typeof u==`string`&&Wt.test(u),b=xe(u,g);u=b.to;let x=Pe(u,{relative:i}),S=R(),C=null;if(s){let e=k(s,[],S.unstable_mask?S.unstable_mask.pathname:`/`,!0);g!==`/`&&(e.pathname=e.pathname===`/`?g:A([g,e.pathname])),C=_.createHref(e)}let[ee,w,te]=Ft(n,m),ne=Qt(u,{replace:o,unstable_mask:s,state:c,target:l,preventScrollReset:d,relative:i,viewTransition:f,unstable_defaultShouldRevalidate:p,unstable_useTransitions:v});function re(t){e&&e(t),t.defaultPrevented||ne(t)}let T=!(b.isExternal||a),ie=r.createElement(`a`,{...m,...te,href:(T?C:void 0)||b.absoluteURL||x,onClick:T?re:e,ref:Bt(h,w),target:l,"data-discover":!y&&t===`render`?`true`:void 0});return ee&&!y?r.createElement(r.Fragment,null,ie,r.createElement(It,{page:x})):ie});Gt.displayName=`Link`;var Kt=r.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:i=!1,style:a,to:o,viewTransition:s,children:c,...l},u){let d=B(o,{relative:l.relative}),f=R(),p=r.useContext(M),{navigator:m,basename:h}=r.useContext(N),g=p!=null&&cn(d)&&s===!0,_=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,v=f.pathname,y=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,_=_.toLowerCase()),y&&h&&(y=D(y,h)||y);let b=_!==`/`&&_.endsWith(`/`)?_.length-1:_.length,x=v===_||!i&&v.startsWith(_)&&v.charAt(b)===`/`,S=y!=null&&(y===_||!i&&y.startsWith(_)&&y.charAt(_.length)===`/`),C={isActive:x,isPending:S,isTransitioning:g},ee=x?e:void 0,w;w=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,g?`transitioning`:null].filter(Boolean).join(` `);let te=typeof a==`function`?a(C):a;return r.createElement(Gt,{...l,"aria-current":ee,className:w,ref:u,style:te,to:o,viewTransition:s},typeof c==`function`?c(C):c)});Kt.displayName=`NavLink`;var qt=r.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:i,replace:a,state:o,method:s=G,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p,...m},h)=>{let{unstable_useTransitions:g}=r.useContext(N),_=nn(),v=rn(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&Wt.test(c);return r.createElement(`form`,{ref:h,method:y,action:v,onSubmit:i?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let i=e.nativeEvent.submitter,c=i?.getAttribute(`formmethod`)||s,m=()=>_(i||e.currentTarget,{fetcherKey:t,method:c,navigate:n,replace:a,state:o,relative:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p});g&&n!==!1?r.startTransition(()=>m()):m()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});qt.displayName=`Form`;function Jt({getKey:e,storageKey:t,...n}){let i=r.useContext(X),{basename:a}=r.useContext(N),o=R(),s=Ze();on({getKey:e,storageKey:t});let c=r.useMemo(()=>{if(!i||!e)return null;let t=$(o,s,a,e);return t===o.key?null:t},[]);if(!i||i.isSpaMode)return null;let l=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return r.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${xt(JSON.stringify(t||an))}, ${xt(JSON.stringify(c))})`}})}Jt.displayName=`ScrollRestoration`;function Yt(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Xt(e){let t=r.useContext(j);return c(t,Yt(e)),t}function Zt(e){let t=r.useContext(M);return c(t,Yt(e)),t}function Qt(e,{target:t,replace:n,unstable_mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,unstable_defaultShouldRevalidate:l,unstable_useTransitions:u}={}){let d=z(),f=R(),m=B(e,{relative:s});return r.useCallback(h=>{if(ft(h,t)){h.preventDefault();let t=n===void 0?p(f)===p(m):n,g=()=>d(e,{replace:t,unstable_mask:i,state:a,preventScrollReset:o,relative:s,viewTransition:c,unstable_defaultShouldRevalidate:l});u?r.startTransition(()=>g()):g()}},[f,d,m,n,i,a,t,e,o,s,c,l,u])}function $t(e){l(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=r.useRef(pt(e)),n=r.useRef(!1),i=R(),a=r.useMemo(()=>mt(i.search,n.current?null:t.current),[i.search]),o=z();return[a,r.useCallback((e,t)=>{let r=pt(typeof e==`function`?e(new URLSearchParams(a)):e);n.current=!0,o(`?`+r,t)},[o,a])]}var en=0,tn=()=>`__${String(++en)}__`;function nn(){let{router:e}=Xt(`useSubmit`),{basename:t}=r.useContext(N),n=Ye(),i=e.fetch,a=e.navigate;return r.useCallback(async(e,r={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=vt(e,t);r.navigate===!1?await i(r.fetcherKey||tn(),n,r.action||o,{unstable_defaultShouldRevalidate:r.unstable_defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,flushSync:r.flushSync}):await a(r.action||o,{unstable_defaultShouldRevalidate:r.unstable_defaultShouldRevalidate,preventScrollReset:r.preventScrollReset,formData:l,body:u,formMethod:r.method||s,formEncType:r.encType||c,replace:r.replace,state:r.state,fromRouteId:n,flushSync:r.flushSync,viewTransition:r.viewTransition})},[i,a,t,n])}function rn(e,{relative:t}={}){let{basename:n}=r.useContext(N),i=r.useContext(F);c(i,`useFormAction must be used inside a RouteContext`);let[a]=i.matches.slice(-1),o={...B(e||`.`,{relative:t})},s=R();if(e==null){o.search=s.search;let e=new URLSearchParams(o.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();o.search=n?`?${n}`:``}}return(!e||e===`.`)&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(o.pathname=o.pathname===`/`?n:A([n,o.pathname])),p(o)}var an=`react-router-scroll-positions`,Q={};function $(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:D(e.pathname,n)||e.pathname},t)),i??=e.key,i}function on({getKey:e,storageKey:t}={}){let{router:n}=Xt(`useScrollRestoration`),{restoreScrollPosition:i,preventScrollReset:a}=Zt(`useScrollRestoration`),{basename:o}=r.useContext(N),s=R(),c=Ze(),u=Xe();r.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),sn(r.useCallback(()=>{if(u.state===`idle`){let t=$(s,c,o,e);Q[t]=window.scrollY}try{sessionStorage.setItem(t||an,JSON.stringify(Q))}catch(e){l(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[u.state,e,o,s,c,t])),typeof document<`u`&&(r.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||an);e&&(Q=JSON.parse(e))}catch{}},[t]),r.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(Q,()=>window.scrollY,e?(t,n)=>$(t,n,o,e):void 0);return()=>t&&t()},[n,o,e]),r.useLayoutEffect(()=>{if(i!==!1){if(typeof i==`number`){window.scrollTo(0,i);return}try{if(s.hash){let e=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{l(!1,`"${s.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[s,i,a]))}function sn(e,t){let{capture:n}=t||{};r.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function cn(e,{relative:t}={}){let n=r.useContext(Ee);c(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:i}=Xt(`useViewTransitionState`),a=B(e,{relative:t});if(!n.isTransitioning)return!1;let o=D(n.currentLocation.pathname,i)||n.currentLocation.pathname,s=D(n.nextLocation.pathname,i)||n.nextLocation.pathname;return E(a.pathname,s)!=null||E(a.pathname,o)!=null}export{ot as a,Re as c,it as i,$t as l,Gt as n,R as o,rt as r,z as s,Ht as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{at as n}from"./dist-ZlK7I-y-.js";import{I as r}from"./dist-DIjomljy.js";import{t as i}from"./button-sfGyFWfz.js";import{i as a,n as o,r as s,t as c}from"./tooltip-B6ziVyTv.js";import{a as l,i as u,o as d,r as f,s as p,t as m}from"./dialog-CP2cYR59.js";import{Pt as h,Y as g,un as _,vt as v}from"./index-Bmkj1Qwa.js";var y=e(),b=t();function x(e){let t=(0,y.c)(50),{open:x,onOpenChange:S,commitMessage:C,onCommitMessageChange:w,autoGenerateCommitMessage:T,onAutoGenerateChange:E,isGeneratingMessage:D,isLoading:O,onGenerateMessage:k,onCommit:A,currentBranch:j}=e,M;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,b.jsx)(p,{children:`Commit Changes`}),t[0]=M):M=t[0];let N;t[1]===j?N=t[2]:(N=(0,b.jsxs)(d,{children:[M,(0,b.jsxs)(u,{children:[`Enter a commit message for your changes on branch `,j]})]}),t[1]=j,t[2]=N);let P;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,b.jsx)(h,{htmlFor:`commit-message`,children:`Commit Message`}),t[3]=P):P=t[3];let F;t[4]===w?F=t[5]:(F=e=>w(e.target.value),t[4]=w,t[5]=F);let I;t[6]!==C||t[7]!==D||t[8]!==F?(I=(0,b.jsx)(g,{id:`commit-message`,placeholder:`Enter commit message...`,value:C,onChange:F,disabled:D,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[6]=C,t[7]=D,t[8]=F,t[9]=I):I=t[9];let L=D||O,R;t[10]===D?R=t[11]:(R=D?(0,b.jsx)(_,{}):(0,b.jsx)(r,{className:`h-3.5 w-3.5`}),t[10]=D,t[11]=R);let z;t[12]!==k||t[13]!==L||t[14]!==R?(z=(0,b.jsx)(a,{asChild:!0,children:(0,b.jsx)(i,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:k,disabled:L,children:R})}),t[12]=k,t[13]=L,t[14]=R,t[15]=z):z=t[15];let B=D?`Generating commit message...`:`Generate commit message with AI`,V;t[16]===B?V=t[17]:(V=(0,b.jsx)(o,{children:B}),t[16]=B,t[17]=V);let H;t[18]!==V||t[19]!==z?(H=(0,b.jsx)(s,{children:(0,b.jsxs)(c,{children:[z,V]})}),t[18]=V,t[19]=z,t[20]=H):H=t[20];let U;t[21]!==H||t[22]!==I?(U=(0,b.jsx)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:(0,b.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[P,(0,b.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[I,H]})]})}),t[21]=H,t[22]=I,t[23]=U):U=t[23];let W;t[24]!==T||t[25]!==E?(W=(0,b.jsx)(v,{value:T,onChange:E,ariaLabel:`Auto generate commit messages`}),t[24]=T,t[25]=E,t[26]=W):W=t[26];let G;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,b.jsx)(h,{htmlFor:`auto-generate`,className:n.labelNormal,children:`Auto generate commit messages`}),t[27]=G):G=t[27];let K;t[28]===W?K=t[29]:(K=(0,b.jsxs)(`div`,{className:`mr-auto flex items-center gap-3`,children:[W,G]}),t[28]=W,t[29]=K);let q;t[30]!==C||t[31]!==O?(q=O||!C.trim(),t[30]=C,t[31]=O,t[32]=q):q=t[32];let J;t[33]===O?J=t[34]:(J=O?(0,b.jsxs)(b.Fragment,{children:[`Commit`,(0,b.jsx)(_,{size:`sm`})]}):`Commit`,t[33]=O,t[34]=J);let Y;t[35]!==A||t[36]!==q||t[37]!==J?(Y=(0,b.jsx)(i,{className:`ml-auto`,onClick:A,disabled:q,children:J}),t[35]=A,t[36]=q,t[37]=J,t[38]=Y):Y=t[38];let X;t[39]!==K||t[40]!==Y?(X=(0,b.jsxs)(l,{className:`w-full items-center gap-4`,children:[K,Y]}),t[39]=K,t[40]=Y,t[41]=X):X=t[41];let Z;t[42]!==U||t[43]!==X||t[44]!==N?(Z=(0,b.jsxs)(f,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[N,U,X]}),t[42]=U,t[43]=X,t[44]=N,t[45]=Z):Z=t[45];let Q;return t[46]!==S||t[47]!==x||t[48]!==Z?(Q=(0,b.jsx)(m,{open:x,onOpenChange:S,children:Z}),t[46]=S,t[47]=x,t[48]=Z,t[49]=Q):Q=t[49],Q}export{x as CommitDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i}from"./dist-ZlK7I-y-.js";import{An as a,xt as o,yn as s}from"./dist-DIjomljy.js";import{t as c}from"./utils-CT-Dw22R.js";import{t as l}from"./button-sfGyFWfz.js";import{r as u}from"./scroll-area-nbNFO91g.js";import{a as d,i as f,o as p,r as m,s as h,t as g}from"./dialog-CP2cYR59.js";var _=t(),v=e(n(),1),y=r(),b=1500;function x(e){let t=(0,_.c)(41),{error:n,onDismiss:r,onFixInChat:x}=e,[S,C]=(0,v.useState)(!1),w=(0,v.useRef)(null),T,E;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>()=>{w.current!==null&&(clearTimeout(w.current),w.current=null)},E=[],t[0]=T,t[1]=E):(T=t[0],E=t[1]),(0,v.useEffect)(T,E);let D;t[2]===r?D=t[3]:(D=function(e){e||r()},t[2]=r,t[3]=D);let O=D,k;t[4]===n.message?k=t[5]:(k=async function(){try{await navigator.clipboard.writeText(n.message)}catch{}C(!0),w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{C(!1),w.current=null},b)},t[4]=n.message,t[5]=k);let A=k,j;t[6]!==n||t[7]!==x?(j=function(){x(n)},t[6]=n,t[7]=x,t[8]=j):j=t[8];let M=j,N;t[9]===n.title?N=t[10]:(N=(0,y.jsx)(h,{children:n.title}),t[9]=n.title,t[10]=N);let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,y.jsx)(f,{children:`Git returned an error, so the commit was not created. Fix the issue below, then try again.`}),t[11]=P):P=t[11];let F;t[12]===N?F=t[13]:(F=(0,y.jsxs)(p,{children:[N,P]}),t[12]=N,t[13]=F);let I;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(I=c(i.compact,`whitespace-pre-wrap break-words p-3 font-mono text-foreground`),t[14]=I):I=t[14];let L;t[15]===n.message?L=t[16]:(L=(0,y.jsx)(u,{className:`max-h-56 rounded-md border bg-muted/40`,children:(0,y.jsx)(`pre`,{className:I,children:n.message})}),t[15]=n.message,t[16]=L);let R;t[17]===r?R=t[18]:(R=(0,y.jsx)(l,{variant:`outline`,onClick:r,children:`Close`}),t[17]=r,t[18]=R);let z;t[19]===A?z=t[20]:(z=()=>void A(),t[19]=A,t[20]=z);let B;t[21]===S?B=t[22]:(B=S?(0,y.jsx)(a,{className:`h-4 w-4`}):(0,y.jsx)(s,{className:`h-4 w-4`}),t[21]=S,t[22]=B);let V=S?`Copied`:`Copy`,H;t[23]!==z||t[24]!==B||t[25]!==V?(H=(0,y.jsxs)(l,{variant:`outline`,onClick:z,children:[B,V]}),t[23]=z,t[24]=B,t[25]=V,t[26]=H):H=t[26];let U;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,y.jsx)(o,{className:`h-4 w-4`}),t[27]=U):U=t[27];let W;t[28]===M?W=t[29]:(W=(0,y.jsxs)(l,{onClick:M,children:[U,`Fix in Chat`]}),t[28]=M,t[29]=W);let G;t[30]!==R||t[31]!==H||t[32]!==W?(G=(0,y.jsxs)(d,{className:`gap-2`,children:[R,H,W]}),t[30]=R,t[31]=H,t[32]=W,t[33]=G):G=t[33];let K;t[34]!==G||t[35]!==F||t[36]!==L?(K=(0,y.jsxs)(m,{className:`max-w-xl`,children:[F,L,G]}),t[34]=G,t[35]=F,t[36]=L,t[37]=K):K=t[37];let q;return t[38]!==O||t[39]!==K?(q=(0,y.jsx)(g,{open:!0,onOpenChange:O,children:K}),t[38]=O,t[39]=K,t[40]=q):q=t[40],q}export{x as CommitErrorDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Et as n,at as r}from"./dist-ZlK7I-y-.js";import{t as i}from"./utils-CT-Dw22R.js";import{Pt as a}from"./index-Bmkj1Qwa.js";import{n as o,t as s}from"./toggle-group-BiUqOiP6.js";var c=e(),l=t(),u=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,d=`h-auto min-h-0 min-w-0 rounded-full border-0 bg-background px-4 py-1.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`;function f(e){let t=(0,c.c)(11),{commitMethod:a,onCommitMethodChange:f,disabled:p,className:m}=e,h=p===void 0?!1:p,g;t[0]===f?g=t[1]:(g=e=>{(e===n.PullRequest||e===n.Direct)&&f(e)},t[0]=f,t[1]=g);let _;t[2]===m?_=t[3]:(_=i(u,m),t[2]=m,t[3]=_);let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,l.jsx)(o,{value:n.PullRequest,"aria-label":`Pull Requests`,className:i(r.body,d),children:`Pull Requests`}),t[4]=v):v=t[4];let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,l.jsx)(o,{value:n.Direct,"aria-label":`Direct Commits`,className:i(r.body,d),children:`Direct Commits`}),t[5]=y):y=t[5];let b;return t[6]!==a||t[7]!==h||t[8]!==g||t[9]!==_?(b=(0,l.jsxs)(s,{type:`single`,value:a,disabled:h,onValueChange:g,"aria-label":`Commit method`,className:_,children:[v,y]}),t[6]=a,t[7]=h,t[8]=g,t[9]=_,t[10]=b):b=t[10],b}function p(e){let t=(0,c.c)(9),{commitMethod:i,onCommitMethodChange:o}=e,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,l.jsx)(a,{children:`Commit method`}),t[0]=s):s=t[0];let u;t[1]!==i||t[2]!==o?(u=(0,l.jsx)(f,{commitMethod:i,onCommitMethodChange:o}),t[1]=i,t[2]=o,t[3]=u):u=t[3];let d=i===n.PullRequest?`Creates a feature branch and allows you to create pull requests.`:`Commits directly to the main branch without creating feature branches.`,p;t[4]===d?p=t[5]:(p=(0,l.jsx)(`p`,{className:r.bodyMuted,children:d}),t[4]=d,t[5]=p);let m;return t[6]!==u||t[7]!==p?(m=(0,l.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[s,u,p]}),t[6]=u,t[7]=p,t[8]=m):m=t[8],m}export{f as i,d as n,p as r,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i}from"./dist-ZlK7I-y-.js";import{An as a,Dn as o,g as s,h as c,l,t as u,u as d,xn as f}from"./dist-DIjomljy.js";import{t as p}from"./utils-CT-Dw22R.js";import{_ as m,a as h,c as g,d as ee,f as te,g as ne,h as re,i as ie,l as ae,m as oe,n as se,o as ce,p as le,r as ue,s as de,t as fe,u as pe}from"./dist-DjKXDRW7.js";var _=t(),v=e(n(),1),y=r(),b=`ContextMenu`,[me,he]=c(b,[m]),x=m(),[ge,S]=me(b),C=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:a=!0}=e,[o,s]=v.useState(!1),c=x(t),u=l(r),d=v.useCallback(e=>{s(e),u(e)},[u]);return(0,y.jsx)(ge,{scope:t,open:o,onOpenChange:d,modal:a,children:(0,y.jsx)(te,{...c,dir:i,open:o,onOpenChange:d,modal:a,children:n})})};C.displayName=b;var w=`ContextMenuTrigger`,T=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=S(w,n),o=x(n),c=v.useRef({x:0,y:0}),l=v.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...c.current})}),u=v.useRef(0),f=v.useCallback(()=>window.clearTimeout(u.current),[]),p=e=>{c.current={x:e.clientX,y:e.clientY},a.onOpenChange(!0)};return v.useEffect(()=>f,[f]),v.useEffect(()=>void(r&&f()),[r,f]),(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(fe,{...o,virtualRef:l}),(0,y.jsx)(d.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:s(e.onContextMenu,e=>{f(),p(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:s(e.onPointerDown,V(e=>{f(),u.current=window.setTimeout(()=>p(e),700)})),onPointerMove:r?e.onPointerMove:s(e.onPointerMove,V(f)),onPointerCancel:r?e.onPointerCancel:s(e.onPointerCancel,V(f)),onPointerUp:r?e.onPointerUp:s(e.onPointerUp,V(f))})]})});T.displayName=w;var _e=`ContextMenuPortal`,E=e=>{let{__scopeContextMenu:t,...n}=e,r=x(t);return(0,y.jsx)(ae,{...r,...n})};E.displayName=_e;var D=`ContextMenuContent`,O=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=S(D,n),a=x(n),o=v.useRef(!1);return(0,y.jsx)(ie,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});O.displayName=D;var ve=`ContextMenuGroup`,ye=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(h,{...i,...r,ref:t})});ye.displayName=ve;var be=`ContextMenuLabel`,k=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(g,{...i,...r,ref:t})});k.displayName=be;var A=`ContextMenuItem`,j=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(ce,{...i,...r,ref:t})});j.displayName=A;var M=`ContextMenuCheckboxItem`,N=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(ue,{...i,...r,ref:t})});N.displayName=M;var xe=`ContextMenuRadioGroup`,Se=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(pe,{...i,...r,ref:t})});Se.displayName=xe;var Ce=`ContextMenuRadioItem`,P=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(ee,{...i,...r,ref:t})});P.displayName=Ce;var we=`ContextMenuItemIndicator`,F=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(de,{...i,...r,ref:t})});F.displayName=we;var I=`ContextMenuSeparator`,L=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(le,{...i,...r,ref:t})});L.displayName=I;var Te=`ContextMenuArrow`,Ee=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(se,{...i,...r,ref:t})});Ee.displayName=Te;var R=`ContextMenuSub`,De=e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,defaultOpen:a}=e,o=x(t),[s,c]=u({prop:i,defaultProp:a??!1,onChange:r,caller:R});return(0,y.jsx)(oe,{...o,open:s,onOpenChange:c,children:n})};De.displayName=R;var Oe=`ContextMenuSubTrigger`,z=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(ne,{...i,...r,ref:t})});z.displayName=Oe;var ke=`ContextMenuSubContent`,B=v.forwardRef((e,t)=>{let{__scopeContextMenu:n,...r}=e,i=x(n);return(0,y.jsx)(re,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})});B.displayName=ke;function V(e){return t=>t.pointerType===`mouse`?void 0:e(t)}var Ae=C,je=T,Me=E,H=O,U=k,W=j,G=N,K=P,q=F,J=L,Y=z,X=B,Ne=Ae,Pe=je,Fe=v.forwardRef((e,t)=>{let n=(0,_.c)(14),r,a,s,c;n[0]===e?(r=n[1],a=n[2],s=n[3],c=n[4]):({className:a,inset:s,children:r,...c}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=s,n[4]=c);let l;n[5]!==a||n[6]!==s?(l=p(p(i.body,`flex cursor-default select-none items-center rounded-sm px-2 py-1.5 outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground`),s&&`pl-8`,a),n[5]=a,n[6]=s,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,y.jsx)(o,{className:`ml-auto h-4 w-4`}),n[8]=u):u=n[8];let d;return n[9]!==r||n[10]!==c||n[11]!==t||n[12]!==l?(d=(0,y.jsxs)(Y,{ref:t,className:l,...c,children:[r,u]}),n[9]=r,n[10]=c,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});Fe.displayName=Y.displayName;var Ie=v.forwardRef((e,t)=>{let n=(0,_.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=p(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,y.jsx)(X,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ie.displayName=X.displayName;var Z=v.forwardRef((e,t)=>{let n=(0,_.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=p(`z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,y.jsx)(Me,{children:(0,y.jsx)(H,{ref:t,className:a,...i})}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Z.displayName=H.displayName;var Q=v.forwardRef((e,t)=>{let n=(0,_.c)(11),r,a,o;n[0]===e?(r=n[1],a=n[2],o=n[3]):({className:r,inset:a,...o}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=o);let s;n[4]!==r||n[5]!==a?(s=p(p(i.body,`relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`),a&&`pl-8`,r),n[4]=r,n[5]=a,n[6]=s):s=n[6];let c;return n[7]!==o||n[8]!==t||n[9]!==s?(c=(0,y.jsx)(W,{ref:t,className:s,...o}),n[7]=o,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});Q.displayName=W.displayName;var Le=v.forwardRef((e,t)=>{let n=(0,_.c)(14),r,o,s,c;n[0]===e?(r=n[1],o=n[2],s=n[3],c=n[4]):({className:s,children:o,checked:r,...c}=e,n[0]=e,n[1]=r,n[2]=o,n[3]=s,n[4]=c);let l;n[5]===s?l=n[6]:(l=p(p(i.body,`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`),s),n[5]=s,n[6]=l);let u;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,y.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,y.jsx)(q,{children:(0,y.jsx)(a,{className:`h-4 w-4`})})}),n[7]=u):u=n[7];let d;return n[8]!==r||n[9]!==o||n[10]!==c||n[11]!==t||n[12]!==l?(d=(0,y.jsxs)(G,{ref:t,className:l,checked:r,...c,children:[u,o]}),n[8]=r,n[9]=o,n[10]=c,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});Le.displayName=G.displayName;var Re=v.forwardRef((e,t)=>{let n=(0,_.c)(12),r,a,o;n[0]===e?(r=n[1],a=n[2],o=n[3]):({className:a,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=o);let s;n[4]===a?s=n[5]:(s=p(p(i.body,`relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50`),a),n[4]=a,n[5]=s);let c;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,y.jsx)(`span`,{className:`absolute left-2 flex h-3.5 w-3.5 items-center justify-center`,children:(0,y.jsx)(q,{children:(0,y.jsx)(f,{className:`h-2 w-2 fill-current`})})}),n[6]=c):c=n[6];let l;return n[7]!==r||n[8]!==o||n[9]!==t||n[10]!==s?(l=(0,y.jsxs)(K,{ref:t,className:s,...o,children:[c,r]}),n[7]=r,n[8]=o,n[9]=t,n[10]=s,n[11]=l):l=n[11],l});Re.displayName=K.displayName;var ze=v.forwardRef((e,t)=>{let n=(0,_.c)(11),r,a,o;n[0]===e?(r=n[1],a=n[2],o=n[3]):({className:r,inset:a,...o}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=o);let s;n[4]!==r||n[5]!==a?(s=p(p(i.body,`px-2 py-1.5 font-semibold text-foreground`),a&&`pl-8`,r),n[4]=r,n[5]=a,n[6]=s):s=n[6];let c;return n[7]!==o||n[8]!==t||n[9]!==s?(c=(0,y.jsx)(U,{ref:t,className:s,...o}),n[7]=o,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});ze.displayName=U.displayName;var $=v.forwardRef((e,t)=>{let n=(0,_.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=p(`-mx-1 my-1 h-px bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,y.jsx)(J,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});$.displayName=J.displayName;var Be=e=>{let t=(0,_.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=p(i.compact,`ml-auto tracking-widest text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,y.jsx)(`span`,{className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o};Be.displayName=`ContextMenuShortcut`;export{Pe as a,$ as i,Z as n,Q as r,Ne as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{t as i}from"./query-keys-5QPW6Dv-.js";import{t as a}from"./useInfiniteQuery-DUeUxDcu.js";import{at as o}from"./dist-ZlK7I-y-.js";import{D as s,bt as c,pn as l}from"./dist-DIjomljy.js";import{r as u,t as d}from"./utils-CT-Dw22R.js";import{t as f}from"./button-sfGyFWfz.js";import{At as p,Ei as m,Kr as h,ai as g,u as ee}from"./api-ODizoHnY.js";import{n as _}from"./async-loading-fallback-C173aA9v.js";import{n as v}from"./use-toast-xpb5jNtN.js";import{Ln as y,N as te,Tn as ne,_n as b,bn as x,gn as S,hn as C,kn as re,vn as w,xn as T,yn as E}from"./index-Bmkj1Qwa.js";import{t as D}from"./delete-confirm-dialog-B99gEJN8.js";import{i as O,r as k}from"./table-B2TDbGGl.js";var A=e(n(),1),j=t(),M=25;function ie(){let e=(0,j.c)(12),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:i.conversations.recent(),queryFn:N,initialPageParam:0,getNextPageParam(e){let t=e.offset+e.conversations.length;return t<e.total?t:void 0}},e[0]=t):t=e[0];let n=a(t),r;e[1]===n.data?.pages?r=e[2]:(r=n.data?.pages.flatMap(function(e){return e.conversations})??[],e[1]=n.data?.pages,e[2]=r);let o=r,s=n.data?.pages[0]?.total??0,c;return e[3]!==o||e[4]!==n.error||e[5]!==n.fetchNextPage||e[6]!==n.hasNextPage||e[7]!==n.isFetchingNextPage||e[8]!==n.isPending||e[9]!==n.refetch||e[10]!==s?(c={conversations:o,total:s,isInitialLoading:n.isPending,isLoadingMore:n.isFetchingNextPage,error:n.error,hasNextPage:n.hasNextPage,fetchNextPage:n.fetchNextPage,refetch:n.refetch},e[3]=o,e[4]=n.error,e[5]=n.fetchNextPage,e[6]=n.hasNextPage,e[7]=n.isFetchingNextPage,e[8]=n.isPending,e[9]=n.refetch,e[10]=s,e[11]=c):c=e[11],c}function N(e){let{pageParam:t}=e;return p(M,t)}var P=[{id:`turns`,label:`Turns`},{id:`inputTokens`,label:`Input Tokens`},{id:`outputTokens`,label:`Output Tokens`},{id:`model`,label:`Model`},{id:`branch`,label:`Branch`}],F=new Set(P.map(function(e){return e.id}));function I(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(function(e){return typeof e==`string`&&F.has(e)}):[]}catch{return[]}}function L(){return I(g(h.HISTORY_COLUMNS))}function R(){let e=(0,j.c)(6),[t,n]=(0,A.useState)(L),r;e[0]===t?r=e[1]:(r=function(e){return t.includes(e)},e[0]=t,e[1]=r);let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=function(e,t){n(function(n){let r=t?n.includes(e)?n:[...n,e]:n.filter(function(t){return t!==e});return m(h.HISTORY_COLUMNS,JSON.stringify(r)),r})},e[2]=a):a=e[2];let o=a,s;return e[3]!==i||e[4]!==t?(s={visibleColumns:t,isColumnVisible:i,setColumnVisible:o},e[3]=i,e[4]=t,e[5]=s):s=e[5],s}var z=r(),B=36,V=3,H=`table-fixed`,U=`h-9 w-48 bg-transparent py-2`,W=`h-9 bg-transparent py-2`,G=`h-9 w-20 bg-transparent py-2 text-right`,K=`h-9 w-28 bg-transparent py-2 text-right`,q=`h-9 w-28 bg-transparent py-2 text-right`,J=`h-9 w-40 bg-transparent py-2`,Y=`h-9 w-32 bg-transparent py-2`,ae=`h-9 w-24 bg-transparent py-2 text-right`,oe=d(o.bodyMuted,`w-48 truncate py-1.5`),se=`py-1.5`,X=d(o.bodyMuted,`w-20 py-1.5 text-right tabular-nums`),Z=d(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),Q=d(o.bodyMuted,`w-28 py-1.5 text-right tabular-nums`),ce=d(o.bodyMuted,`w-40 truncate py-1.5`),le=d(o.bodyMuted,`w-32 truncate py-1.5`),$=d(o.bodyMuted,`w-24 py-1.5 text-right tabular-nums`);function ue(e){let t=(0,j.c)(4),n;if(t[0]!==e){let{style:r,...i}=e,a;t[2]===r?a=t[3]:(a={...r,width:`100%`},t[2]=r,t[3]=a),n=(0,z.jsx)(`table`,{...i,style:a,className:d(`w-full caption-bottom select-text`,H,o.body,i.className)}),t[0]=e,t[1]=n}else n=t[1];return n}function de(e){let t=(0,j.c)(5),n;t[0]===e.className?n=t[1]:(n=d(`hidden`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,z.jsx)(`thead`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function fe(e){let t=(0,j.c)(5),n;t[0]===e.className?n=t[1]:(n=d(`[&_tr:last-child]:border-0`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,z.jsx)(`tbody`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function pe(e){let t=(0,j.c)(5),n;t[0]===e.className?n=t[1]:(n=d(`frosted-scrollbar`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,z.jsx)(`div`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function me(e){return function(){return(0,z.jsx)(`tr`,{children:(0,z.jsx)(`td`,{colSpan:e,className:`py-3 text-center`,children:(0,z.jsx)(_,{label:`Loading more…`,size:`sm`})})})}}function he(e){switch(e){case`turns`:return(0,z.jsx)(O,{className:G,children:`Turns`},e);case`inputTokens`:return(0,z.jsx)(O,{className:K,children:`Input Tokens`},e);case`outputTokens`:return(0,z.jsx)(O,{className:q,children:`Output Tokens`},e);case`model`:return(0,z.jsx)(O,{className:J,children:`Model`},e);case`branch`:return(0,z.jsx)(O,{className:Y,children:`Branch`},e)}}function ge(e,t){switch(t){case`turns`:return(0,z.jsx)(k,{className:X,children:e.turnCount.toLocaleString()},t);case`inputTokens`:return(0,z.jsx)(k,{className:Z,children:e.inputTokens.toLocaleString()},t);case`outputTokens`:return(0,z.jsx)(k,{className:Q,children:e.outputTokens.toLocaleString()},t);case`model`:return(0,z.jsx)(k,{className:ce,children:e.model??`—`},t);case`branch`:return(0,z.jsx)(k,{className:le,children:e.branch},t)}}function _e(){let{openConversation:e}=te(),{toast:t}=v(),[n,r]=(0,A.useState)(!1),[i,a]=(0,A.useState)(!1),{visibleColumns:p,isColumnVisible:m,setColumnVisible:h}=R(),{conversations:g,isInitialLoading:j,isLoadingMore:M,error:N,hasNextPage:F,fetchNextPage:I,refetch:L}=ie(),G=V+p.length,K=(0,A.useCallback)(()=>{F&&!M&&I()},[I,F,M]);async function q(){a(!0);try{await ee(),await L(),r(!1),t({title:`Conversation history cleared`})}catch(e){t({title:`Failed to clear conversation history`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{a(!1)}}let J=(0,A.useMemo)(function(){return function({item:t,...n}){return(0,z.jsx)(`tr`,{...n,className:d(`cursor-pointer border-0 transition-colors hover:bg-muted/50`,n.className),onClick:()=>{t&&e(t)}})}},[e]),Y=(0,A.useMemo)(function(){return{Table:ue,TableHead:de,TableBody:fe,TableRow:J,Scroller:pe,Footer:M?me(G):void 0}},[J,G,M]);function X(e,t){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(k,{className:oe,children:t.projectName}),(0,z.jsx)(k,{className:se,children:(0,z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,z.jsx)(c,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,z.jsx)(`span`,{className:d(o.body,`truncate`),children:t.title})]})}),P.map(function(e){return m(e.id)?ge(t,e.id):null}),(0,z.jsx)(k,{className:$,"aria-label":`Last updated ${u(t.lastMessageAt)} ago`,children:u(t.lastMessageAt)})]})}function Z(){return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(O,{className:U,children:`Project`}),(0,z.jsx)(O,{className:W,children:`Chat`}),P.map(function(e){return m(e.id)?he(e.id):null}),(0,z.jsx)(O,{className:ae,children:`Updated`})]})}let Q=(0,z.jsx)(`table`,{className:d(`w-full caption-bottom`,H,o.body),children:(0,z.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,z.jsx)(`tr`,{children:Z()})})});return(0,z.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:[(0,z.jsxs)(y,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,z.jsx)(re,{title:`History`,description:`Browse recent chats across all projects.`,tableHeader:g.length>0?Q:void 0,action:(0,z.jsxs)(S,{children:[(0,z.jsx)(ne,{asChild:!0,children:(0,z.jsx)(f,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8`,"aria-label":`Choose columns`,children:(0,z.jsx)(l,{className:`h-4 w-4`})})}),(0,z.jsxs)(w,{align:`end`,className:`w-48`,children:[(0,z.jsx)(x,{className:o.body,children:`Columns`}),P.map(function(e){return(0,z.jsx)(b,{checked:m(e.id),onCheckedChange:t=>{h(e.id,t===!0)},onSelect:e=>{e.preventDefault()},children:e.label},e.id)}),(0,z.jsx)(T,{}),(0,z.jsxs)(E,{className:d(o.body,`gap-2 text-destructive focus:text-destructive`),disabled:g.length===0,onSelect:()=>r(!0),children:[(0,z.jsx)(s,{className:`h-4 w-4`}),`Clear history`]})]})]})}),(0,z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:j?(0,z.jsx)(_,{label:`Loading conversation history...`,size:`lg`}):N?(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,z.jsxs)(`div`,{className:`max-w-md space-y-4 text-center`,children:[(0,z.jsx)(`p`,{className:o.body,children:N instanceof Error?N.message:`Failed to load conversation history`}),(0,z.jsx)(f,{onClick:()=>void L(),children:`Try again`})]})}):g.length===0?(0,z.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,z.jsxs)(`div`,{className:`max-w-md space-y-2 text-center`,children:[(0,z.jsx)(`h3`,{className:o.emptyStateTitle,children:`No history`}),(0,z.jsx)(`p`,{className:o.bodyMuted,children:`No conversations found yet.`})]})}):(0,z.jsx)(C,{style:{height:`100%`},data:g,computeItemKey:(e,t)=>t.conversationId,itemContent:X,endReached:K,defaultItemHeight:B,increaseViewportBy:B*5,components:Y})})]}),(0,z.jsx)(D,{open:n,onOpenChange:r,title:`Clear conversation history?`,description:`This permanently clears conversation history across all projects. This action cannot be undone.`,onConfirm:()=>void q(),confirming:i,confirmLabel:`Clear`,confirmingLabel:`Clearing...`})]})}export{_e as default};
|