planche 0.8.8 → 0.8.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/app/assets/{DmnLfXty.js → -hNDclQL.js} +1 -1
  2. package/app/assets/{rcI4Fmt0.js → 1XwwL8xu.js} +1 -1
  3. package/app/assets/3z4eHGF-.js +1 -0
  4. package/app/assets/{Ca4g4XbM.js → B49XtolG.js} +1 -1
  5. package/app/assets/{CoElGuoC.js → B4Yy1mj_.js} +1 -1
  6. package/app/assets/{fDSXGLmI.js → BAZqI8g_.js} +2 -2
  7. package/app/assets/{C5SHWmPn.js → BHsXOlR9.js} +1 -1
  8. package/app/assets/{Dc-epzIX.js → B_zZh5dR.js} +1 -1
  9. package/app/assets/{CRr_nYUE.js → BbdU8Zop.js} +1 -1
  10. package/app/assets/{BwrB7xZ-.js → BeiubXnY.js} +1 -1
  11. package/app/assets/{B_UAjgBr.js → Bg6u9htc.js} +185 -185
  12. package/app/assets/{ZjgMfDAG.js → BjkAHEsD.js} +1 -1
  13. package/app/assets/{XzPc-eVf.js → BkIkgVK5.js} +1 -1
  14. package/app/assets/{9U3RO0MO.js → Bn-kznw7.js} +1 -1
  15. package/app/assets/{RCiVSH3E.js → BoonIczC.js} +1 -1
  16. package/app/assets/{B7ofUN9Z.js → Bp0UhSMs.js} +1 -1
  17. package/app/assets/{CCcRP83D.js → ByHW6Lyi.js} +1 -1
  18. package/app/assets/{DprcmWG4.js → BzhSva5M.js} +1 -1
  19. package/app/assets/{CKOS5Y-e.js → C0O3rJzW.js} +1 -1
  20. package/app/assets/{Baj0YiGk.js → C5VVaHNf.js} +1 -1
  21. package/app/assets/{CKDAL3sp.js → C9rqYcV-.js} +1 -1
  22. package/app/assets/{DouS7NHO.js → CC5k5YaI.js} +1 -1
  23. package/app/assets/{BxdVjvjj.js → CGvlSihl.js} +1 -1
  24. package/app/assets/{Cni8dWDa.js → CPX5LuC-.js} +1 -1
  25. package/app/assets/{Bz1cma8F.js → CUQISMvX.js} +1 -1
  26. package/app/assets/{BfSKVZnY.js → CYMzEa4j.js} +1 -1
  27. package/app/assets/{CZQ1r4zz.js → CaoceGhm.js} +1 -1
  28. package/app/assets/CdUXbAKF.js +1 -0
  29. package/app/assets/{CQLuUHsS.js → Cf8o-5U6.js} +1 -1
  30. package/app/assets/{DxuXBECK.js → Cg4DfVr4.js} +1 -1
  31. package/app/assets/{9YYClKHB.js → ClUjvL-2.js} +1 -1
  32. package/app/assets/{CFzRFS2A.js → CnInyuhK.js} +1 -1
  33. package/app/assets/{C8pwHENI.js → CoI4rONw.js} +1 -1
  34. package/app/assets/{CytzrZ6l.js → CpZOnYKF.js} +1 -1
  35. package/app/assets/{DUi2bIfW.js → CtU21VEz.js} +1 -1
  36. package/app/assets/{40YxirOy.js → D6tNbIL6.js} +1 -1
  37. package/app/assets/{D8QuNkWm.js → DBHRzz66.js} +1 -1
  38. package/app/assets/{B3nhMsGp.js → DC8XCjJ3.js} +1 -1
  39. package/app/assets/{D7TzN7zW.js → DERfOWZ5.js} +1 -1
  40. package/app/assets/{COuEjUso.js → DInfC28p.js} +1 -1
  41. package/app/assets/{8DjNs_2Q.js → DM33HLij.js} +1 -1
  42. package/app/assets/{BBSxV90W.js → DP94Ond0.js} +1 -1
  43. package/app/assets/{CcgrsKRV.js → DSx167Dy.js} +1 -1
  44. package/app/assets/{BjlaUaDI.js → DYuA_YQr.js} +1 -1
  45. package/app/assets/{CtXRSNHU.js → Dd9quIZg.js} +1 -1
  46. package/app/assets/{Cr6Fx4T5.js → Dht5Mpyb.js} +1 -1
  47. package/app/assets/DjDcAaBy.js +8 -0
  48. package/app/assets/{CCQZjXae.js → DnJeTfn9.js} +2 -2
  49. package/app/assets/{DnMHkY8_.js → DqoiWQxk.js} +1 -1
  50. package/app/assets/{BVrYyQUV.js → G6EbcZKg.js} +1 -1
  51. package/app/assets/{COkWw8gt.js → GwHHKhHq.js} +1 -1
  52. package/app/assets/{CYAMmigV.js → Ik6Uk6MY.js} +1 -1
  53. package/app/assets/KuSp3gJs.css +2 -0
  54. package/app/assets/{BteHmqJi.js → Svdye2Hc.js} +1 -1
  55. package/app/assets/{xc6SHidZ.js → aP_gLLGt.js} +1 -1
  56. package/app/assets/{BNkgLUl5.js → dMlgA_r1.js} +1 -1
  57. package/app/assets/{HtYgLQZp.js → lui9VgkF.js} +1 -1
  58. package/app/assets/{KZSCUzXE.js → mIcOy4nG.js} +1 -1
  59. package/app/assets/{AiAiN2FW.js → p4yYbMPY.js} +1 -1
  60. package/app/assets/{zrrdltej.js → ufiABG3J.js} +1 -1
  61. package/app/assets/{BFDfeOJg.js → zspOy9D_.js} +1 -1
  62. package/app/index.html +19 -19
  63. package/package.json +1 -1
  64. package/app/assets/4_c4BD6i.js +0 -1
  65. package/app/assets/CgWXabLX.js +0 -8
  66. package/app/assets/CmJ3siBN.js +0 -1
  67. package/app/assets/MJ9qDdN_.css +0 -2
@@ -1 +1 @@
1
- import{r as e}from"./hePW80VL.js";import{h as t,n}from"./XzPc-eVf.js";import{i as r,l as i,m as a,t as o}from"./CKOS5Y-e.js";import{t as s}from"./CmJ3siBN.js";import{t as c}from"./B3nhMsGp.js";import{n as l}from"./BNkgLUl5.js";import{n as u,o as d,s as f,t as p}from"./DAFA-E1-.js";import{Lt as m,c as h,it as g,l as _}from"./B_UAjgBr.js";var v=e(t(),1),y=i();function b(){let{t:e}=a(),{activeDialog:t,closeDialog:i}=n(),[b,x]=(0,v.useState)(``),[S,C]=(0,v.useState)(``),[w,T]=(0,v.useState)(!1),[E,D]=(0,v.useState)(!1),[O,k]=(0,v.useState)(!1),[A,j]=(0,v.useState)(0),M=c(e=>e.activeConnectionId)??``,N=l(e=>M?e.activeTabId[M]:void 0)??``;if(t!==`find-replace`)return null;let P={query:b,caseSensitive:w,regex:E,wholeWord:O},F=M!==``&&N!==``&&b!==``;function I(){i()}function L(){j(F?u(M,N,P,`next`):0)}function R(){j(F?u(M,N,P,`prev`):0)}function z(){F&&j(f(M,N,P,S))}function B(){F&&(d(M,N,P,S),j(p(M,N,P)))}return(0,y.jsxs)(`div`,{className:`fixed top-12 right-4 z-50 bg-background border rounded-md shadow-lg p-3 w-[400px] space-y-2`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(_,{placeholder:e(`command.findReplace.findPlaceholder`),value:b,onChange:e=>x(e.target.value),onKeyDown:e=>{g(e)||(e.key===`Enter`&&(e.shiftKey?R():L()),e.key===`Escape`&&I())},className:`flex-1 h-7 text-sm`,autoFocus:!0}),(0,y.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap min-w-[60px] text-center`,children:A>0?e(`command.findReplace.found`,{count:A}):e(`command.findReplace.noResults`)}),(0,y.jsx)(o,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:R,title:e(`command.findReplace.previous`),children:(0,y.jsx)(s,{className:`h-4 w-4`})}),(0,y.jsx)(o,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:L,title:e(`command.findReplace.next`),children:(0,y.jsx)(m,{className:`h-4 w-4`})}),(0,y.jsx)(o,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:I,title:e(`command.findReplace.close`),children:(0,y.jsx)(r,{className:`h-4 w-4`})})]}),(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(_,{placeholder:e(`command.findReplace.replacePlaceholder`),value:S,onChange:e=>C(e.target.value),onKeyDown:e=>{e.key===`Escape`&&I()},className:`flex-1 h-7 text-sm`}),(0,y.jsx)(o,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,onClick:z,children:e(`command.findReplace.replace`)}),(0,y.jsx)(o,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,onClick:B,children:e(`command.findReplace.all`)})]}),(0,y.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,y.jsxs)(h,{className:`flex items-center gap-1.5 text-xs font-normal cursor-pointer`,children:[(0,y.jsx)(`input`,{type:`checkbox`,checked:w,onChange:e=>T(e.target.checked),className:`rounded border-input`}),e(`command.findReplace.caseSensitive`)]}),(0,y.jsxs)(h,{className:`flex items-center gap-1.5 text-xs font-normal cursor-pointer`,children:[(0,y.jsx)(`input`,{type:`checkbox`,checked:E,onChange:e=>D(e.target.checked),className:`rounded border-input`}),e(`command.findReplace.regex`)]}),(0,y.jsxs)(h,{className:`flex items-center gap-1.5 text-xs font-normal cursor-pointer`,children:[(0,y.jsx)(`input`,{type:`checkbox`,checked:O,onChange:e=>k(e.target.checked),className:`rounded border-input`}),e(`command.findReplace.wholeWord`)]})]})]})}export{b as FindReplaceDialog};
1
+ import{r as e}from"./hePW80VL.js";import{h as t,n}from"./BkIkgVK5.js";import{i as r,l as i,m as a,t as o}from"./C0O3rJzW.js";import{t as s}from"./CdUXbAKF.js";import{t as c}from"./DC8XCjJ3.js";import{n as l}from"./dMlgA_r1.js";import{n as u,o as d,s as f,t as p}from"./DAFA-E1-.js";import{Lt as m,c as h,it as g,l as _}from"./Bg6u9htc.js";var v=e(t(),1),y=i();function b(){let{t:e}=a(),{activeDialog:t,closeDialog:i}=n(),[b,x]=(0,v.useState)(``),[S,C]=(0,v.useState)(``),[w,T]=(0,v.useState)(!1),[E,D]=(0,v.useState)(!1),[O,k]=(0,v.useState)(!1),[A,j]=(0,v.useState)(0),M=c(e=>e.activeConnectionId)??``,N=l(e=>M?e.activeTabId[M]:void 0)??``;if(t!==`find-replace`)return null;let P={query:b,caseSensitive:w,regex:E,wholeWord:O},F=M!==``&&N!==``&&b!==``;function I(){i()}function L(){j(F?u(M,N,P,`next`):0)}function R(){j(F?u(M,N,P,`prev`):0)}function z(){F&&j(f(M,N,P,S))}function B(){F&&(d(M,N,P,S),j(p(M,N,P)))}return(0,y.jsxs)(`div`,{className:`fixed top-12 right-4 z-50 bg-background border rounded-md shadow-lg p-3 w-[400px] space-y-2`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(_,{placeholder:e(`command.findReplace.findPlaceholder`),value:b,onChange:e=>x(e.target.value),onKeyDown:e=>{g(e)||(e.key===`Enter`&&(e.shiftKey?R():L()),e.key===`Escape`&&I())},className:`flex-1 h-7 text-sm`,autoFocus:!0}),(0,y.jsx)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap min-w-[60px] text-center`,children:A>0?e(`command.findReplace.found`,{count:A}):e(`command.findReplace.noResults`)}),(0,y.jsx)(o,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:R,title:e(`command.findReplace.previous`),children:(0,y.jsx)(s,{className:`h-4 w-4`})}),(0,y.jsx)(o,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:L,title:e(`command.findReplace.next`),children:(0,y.jsx)(m,{className:`h-4 w-4`})}),(0,y.jsx)(o,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0`,onClick:I,title:e(`command.findReplace.close`),children:(0,y.jsx)(r,{className:`h-4 w-4`})})]}),(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(_,{placeholder:e(`command.findReplace.replacePlaceholder`),value:S,onChange:e=>C(e.target.value),onKeyDown:e=>{e.key===`Escape`&&I()},className:`flex-1 h-7 text-sm`}),(0,y.jsx)(o,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,onClick:z,children:e(`command.findReplace.replace`)}),(0,y.jsx)(o,{variant:`outline`,size:`sm`,className:`h-7 text-xs`,onClick:B,children:e(`command.findReplace.all`)})]}),(0,y.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,y.jsxs)(h,{className:`flex items-center gap-1.5 text-xs font-normal cursor-pointer`,children:[(0,y.jsx)(`input`,{type:`checkbox`,checked:w,onChange:e=>T(e.target.checked),className:`rounded border-input`}),e(`command.findReplace.caseSensitive`)]}),(0,y.jsxs)(h,{className:`flex items-center gap-1.5 text-xs font-normal cursor-pointer`,children:[(0,y.jsx)(`input`,{type:`checkbox`,checked:E,onChange:e=>D(e.target.checked),className:`rounded border-input`}),e(`command.findReplace.regex`)]}),(0,y.jsxs)(h,{className:`flex items-center gap-1.5 text-xs font-normal cursor-pointer`,children:[(0,y.jsx)(`input`,{type:`checkbox`,checked:O,onChange:e=>k(e.target.checked),className:`rounded border-input`}),e(`command.findReplace.wholeWord`)]})]})]})}export{b as FindReplaceDialog};
@@ -1 +1 @@
1
- import{r as e}from"./XzPc-eVf.js";var t=(e,t)=>`${t}@${e}`,n=e()(e=>({users:{},selectedUser:{},isLoading:{},setUsers:(t,n)=>e(e=>({users:{...e.users,[t]:n}})),setSelectedUser:(t,n)=>e(e=>({selectedUser:{...e.selectedUser,[t]:n}})),addUser:(t,n)=>e(e=>({users:{...e.users,[t]:[...e.users[t]??[],n]}})),updateUser:(n,r,i,a)=>e(e=>({users:{...e.users,[n]:(e.users[n]??[]).map(e=>t(e.host,e.user)===t(r,i)?{...e,...a}:e)}})),removeUser:(n,r,i)=>e(e=>{let a=e.selectedUser[n],o=a&&t(a.host,a.user)===t(r,i);return{users:{...e.users,[n]:(e.users[n]??[]).filter(e=>t(e.host,e.user)!==t(r,i))},selectedUser:{...e.selectedUser,[n]:o?null:a??null}}}),setLoading:(t,n)=>e(e=>({isLoading:{...e.isLoading,[t]:n}})),clear:t=>e(e=>{let n={...e.users},r={...e.selectedUser};return delete n[t],delete r[t],{users:n,selectedUser:r}})})),r=[];export{n,r as t};
1
+ import{r as e}from"./BkIkgVK5.js";var t=(e,t)=>`${t}@${e}`,n=e()(e=>({users:{},selectedUser:{},isLoading:{},setUsers:(t,n)=>e(e=>({users:{...e.users,[t]:n}})),setSelectedUser:(t,n)=>e(e=>({selectedUser:{...e.selectedUser,[t]:n}})),addUser:(t,n)=>e(e=>({users:{...e.users,[t]:[...e.users[t]??[],n]}})),updateUser:(n,r,i,a)=>e(e=>({users:{...e.users,[n]:(e.users[n]??[]).map(e=>t(e.host,e.user)===t(r,i)?{...e,...a}:e)}})),removeUser:(n,r,i)=>e(e=>{let a=e.selectedUser[n],o=a&&t(a.host,a.user)===t(r,i);return{users:{...e.users,[n]:(e.users[n]??[]).filter(e=>t(e.host,e.user)!==t(r,i))},selectedUser:{...e.selectedUser,[n]:o?null:a??null}}}),setLoading:(t,n)=>e(e=>({isLoading:{...e.isLoading,[t]:n}})),clear:t=>e(e=>{let n={...e.users},r={...e.selectedUser};return delete n[t],delete r[t],{users:n,selectedUser:r}})})),r=[];export{n,r as t};
@@ -0,0 +1 @@
1
+ import{c as e}from"./DC8XCjJ3.js";import{y as t}from"./B49XtolG.js";function n(n){t(n),e(n)}export{n as t};
@@ -1,4 +1,4 @@
1
- import{a as e}from"./fDSXGLmI.js";import{t}from"./Bit0Kfog.js";var n=new Set([`neon`,`supabase`]);function r(e){return e===`postgres`||n.has(e)}var i=`_rowid_`,a=`http://127.0.0.1:8888`,o=t(`tunnelAgent`,()=>({url:null,token:null}));function s(e){o.url=e.url?.replace(/\/+$/,``)||null,o.token=e.token?.trim()||null}var c=new Set([`127.0.0.1`,`localhost`,`[::1]`,`::1`]);function l(e){try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&c.has(t.hostname)}catch{return!1}}function u(e){try{return typeof window<`u`&&new URL(e).origin===window.location.origin}catch{return!1}}function d(e){return l(e)||u(e)}function f(){return o.url!==null&&o.url!==`/api`&&!d(o.url)}function p(){return o.url??a}function m(){let t=p();return t===`/api`?e.t(`services.agent.devProxyUrl`,{url:`http://localhost:8888`}):t}async function h(){let t=m(),n;try{let e={};o.token&&(e.Authorization=`Bearer ${o.token}`),n=await(await fetch(`${p()}/health`,{cache:`no-store`,headers:e})).json()}catch(e){return{state:`offline`,url:t,message:e instanceof Error?e.message:String(e)}}return n.name!==`planche`||typeof n.version!=`string`||!/^[\w.+-]{1,32}$/.test(n.version)?{state:`offline`,url:t,message:e.t(`services.agent.notPlanche`)}:n.protocolVersion===2?n.authorized===!1||o.token===null&&n.authorized===void 0?{state:`unauthorized`,url:t,version:n.version}:{state:`online`,url:t,version:n.version,activeConnections:n.activeConnections??0,...n.gateway?{gateway:n.gateway}:{}}:{state:`outdated`,url:t,version:n.version,protocolVersion:n.protocolVersion??0,install:n.install===`standalone`?`standalone`:`npx`}}async function g(){let t=await fetch(`${p()}/profiles`,{cache:`no-store`,headers:N()}),n=await t.json().catch(()=>null);if(!t.ok||!n||n.success!==!0)throw new P(n?.message??e.t(`services.agent.httpError`,{status:t.status,statusText:t.statusText}),t.status);return n}async function _(){return D(`/ai/config`,{method:`GET`})}async function v(e){return D(`/ai/config`,{method:`PUT`,body:JSON.stringify(e)})}async function y(){return D(`/ai/config`,{method:`DELETE`})}async function b(){try{return(await(await fetch(`${p()}/health`,{cache:`no-store`,headers:N()})).json()).ai?.tools===!0}catch{return!1}}async function x(e){await D(`/bridge/tools`,{method:`POST`,body:JSON.stringify({tools:e})})}async function S(e,t,n){await D(`/bridge/result`,{method:`POST`,body:JSON.stringify({id:e,content:t,isError:n})})}async function C(t,n){let r=new AbortController,i=await fetch(`${p()}/bridge/events`,{headers:N(),signal:r.signal,cache:`no-store`});if(!i.ok||!i.body)throw new P(e.t(`services.agent.httpError`,{status:i.status,statusText:i.statusText}),i.status);return(async()=>{let e=i.body.getReader(),r=new TextDecoder,a=``;try{for(;;){let{done:n,value:i}=await e.read();if(n)break;a+=r.decode(i,{stream:!0});let o=a.indexOf(`
1
+ import{a as e}from"./BAZqI8g_.js";import{t}from"./Bit0Kfog.js";var n=new Set([`neon`,`supabase`]);function r(e){return e===`postgres`||n.has(e)}var i=`_rowid_`,a=`http://127.0.0.1:8888`,o=t(`tunnelAgent`,()=>({url:null,token:null}));function s(e){o.url=e.url?.replace(/\/+$/,``)||null,o.token=e.token?.trim()||null}var c=new Set([`127.0.0.1`,`localhost`,`[::1]`,`::1`]);function l(e){try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&c.has(t.hostname)}catch{return!1}}function u(e){try{return typeof window<`u`&&new URL(e).origin===window.location.origin}catch{return!1}}function d(e){return l(e)||u(e)}function f(){return o.url!==null&&o.url!==`/api`&&!d(o.url)}function p(){return o.url??a}function m(){let t=p();return t===`/api`?e.t(`services.agent.devProxyUrl`,{url:`http://localhost:8888`}):t}async function h(){let t=m(),n;try{let e={};o.token&&(e.Authorization=`Bearer ${o.token}`),n=await(await fetch(`${p()}/health`,{cache:`no-store`,headers:e})).json()}catch(e){return{state:`offline`,url:t,message:e instanceof Error?e.message:String(e)}}return n.name!==`planche`||typeof n.version!=`string`||!/^[\w.+-]{1,32}$/.test(n.version)?{state:`offline`,url:t,message:e.t(`services.agent.notPlanche`)}:n.protocolVersion===2?n.authorized===!1||o.token===null&&n.authorized===void 0?{state:`unauthorized`,url:t,version:n.version}:{state:`online`,url:t,version:n.version,activeConnections:n.activeConnections??0,...n.gateway?{gateway:n.gateway}:{}}:{state:`outdated`,url:t,version:n.version,protocolVersion:n.protocolVersion??0,install:n.install===`standalone`?`standalone`:`npx`}}async function g(){let t=await fetch(`${p()}/profiles`,{cache:`no-store`,headers:N()}),n=await t.json().catch(()=>null);if(!t.ok||!n||n.success!==!0)throw new P(n?.message??e.t(`services.agent.httpError`,{status:t.status,statusText:t.statusText}),t.status);return n}async function _(){return D(`/ai/config`,{method:`GET`})}async function v(e){return D(`/ai/config`,{method:`PUT`,body:JSON.stringify(e)})}async function y(){return D(`/ai/config`,{method:`DELETE`})}async function b(){try{return(await(await fetch(`${p()}/health`,{cache:`no-store`,headers:N()})).json()).ai?.tools===!0}catch{return!1}}async function x(e){await D(`/bridge/tools`,{method:`POST`,body:JSON.stringify({tools:e})})}async function S(e,t,n){await D(`/bridge/result`,{method:`POST`,body:JSON.stringify({id:e,content:t,isError:n})})}async function C(t,n){let r=new AbortController,i=await fetch(`${p()}/bridge/events`,{headers:N(),signal:r.signal,cache:`no-store`});if(!i.ok||!i.body)throw new P(e.t(`services.agent.httpError`,{status:i.status,statusText:i.statusText}),i.status);return(async()=>{let e=i.body.getReader(),r=new TextDecoder,a=``;try{for(;;){let{done:n,value:i}=await e.read();if(n)break;a+=r.decode(i,{stream:!0});let o=a.indexOf(`
2
2
 
3
3
  `);for(;o!==-1;){let e=a.slice(0,o);a=a.slice(o+2);for(let n of e.split(`
4
4
  `))n.startsWith(`data: `)&&t(n.slice(6));o=a.indexOf(`
@@ -1,3 +1,3 @@
1
- import{r as e}from"./hePW80VL.js";import{c as t,h as n,n as r,t as i}from"./XzPc-eVf.js";import{l as a,m as o,t as s}from"./CKOS5Y-e.js";import{a as c,i as l,n as u,r as d,t as f}from"./Bz1cma8F.js";import{_ as p,t as m}from"./B3nhMsGp.js";import{n as ee}from"./BNkgLUl5.js";import{a as te}from"./CtXRSNHU.js";import{n as ne}from"./Cr6Fx4T5.js";import{n as re}from"./CCQZjXae.js";import{H as h,M as ie,c as g,l as _}from"./B_UAjgBr.js";import{a as v,i as y,n as b,o as x,t as S}from"./DxuXBECK.js";import{t as C}from"./CnYBZPf9.js";var w=e(n(),1);function T(e,t){let n=e==null?``:typeof e==`object`?JSON.stringify(e):String(e);return!(typeof e==`number`||typeof e==`bigint`||/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?$/.test(n))&&/^[=+\-@\t\r]/.test(n)&&(n=`'${n}`),n.includes(t)||n.includes(`"`)||n.includes(`
1
+ import{r as e}from"./hePW80VL.js";import{c as t,h as n,n as r,t as i}from"./BkIkgVK5.js";import{l as a,m as o,t as s}from"./C0O3rJzW.js";import{a as c,i as l,n as u,r as d,t as f}from"./CUQISMvX.js";import{_ as p,t as m}from"./DC8XCjJ3.js";import{n as ee}from"./dMlgA_r1.js";import{a as te}from"./Dd9quIZg.js";import{n as ne}from"./Dht5Mpyb.js";import{n as re}from"./DnJeTfn9.js";import{H as h,M as ie,c as g,l as _}from"./Bg6u9htc.js";import{a as v,i as y,n as b,o as x,t as S}from"./Cg4DfVr4.js";import{t as C}from"./CnYBZPf9.js";var w=e(n(),1);function T(e,t){let n=e==null?``:typeof e==`object`?JSON.stringify(e):String(e);return!(typeof e==`number`||typeof e==`bigint`||/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?$/.test(n))&&/^[=+\-@\t\r]/.test(n)&&(n=`'${n}`),n.includes(t)||n.includes(`"`)||n.includes(`
2
2
  `)||n.includes(`\r`)?`"${n.replace(/"/g,`""`)}"`:n}var E=(e,t)=>e.map(e=>T(e,t)).join(t)+`
3
3
  `,D=e=>e===` `,O=e=>D(e)?`TSV`:`CSV`,k=e=>D(e)?`.tsv`:`.csv`,A=e=>D(e)?`text/tab-separated-values`:`text/csv`;async function j(e,t){let n=C(e),r=A(t);if(typeof window.showSaveFilePicker==`function`)try{let e=await(await window.showSaveFilePicker({suggestedName:n,types:[{description:O(t),accept:{[r]:[k(t)]}}]})).createWritable();return await e.write(``),{write:t=>e.write(t),finish:()=>e.close(),abort:()=>e.abort()}}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)throw new M}let i=[``];return{write:async e=>{i.push(e)},finish:async()=>{let e=new Blob(i,{type:`${r};charset=utf-8;`}),t=URL.createObjectURL(e),a=document.createElement(`a`);a.href=t,a.download=n,a.click(),URL.revokeObjectURL(t)},abort:async()=>{i.length=0}}}var M=class extends Error{constructor(){super(`CSV export cancelled`)}};async function N(e){let n=await j(`${e.table}${k(e.delimiter)}`,e.delimiter),r=0;try{let i=await h({connectionId:e.connectionId,database:e.database,table:e.table,signal:e.signal,onProgress:e.onProgress}),a=i.fields.map(e=>e.name);e.includeHeaders&&await n.write(E(a,e.delimiter));for await(let t of i.pages)await n.write(t.map(t=>E(a.map(e=>t[e]),e.delimiter)).join(``)),r+=t.length;return await n.finish(),t(`export_csv`,{source:`table`,rows:r,format:O(e.delimiter)}),r}catch(e){throw await n.abort().catch(()=>void 0),e}}function P(e,n,r,i,a){let o=e.map(e=>e.name),s=[``];i&&s.push(E(o,r));for(let e of n)s.push(E(o.map(t=>e[t]),r));let c=new Blob(s,{type:`${A(r)};charset=utf-8;`}),l=URL.createObjectURL(c),u=document.createElement(`a`);u.href=l,u.download=C(a??`query_result${k(r)}`),u.click(),URL.revokeObjectURL(l),t(`export_csv`,{source:`result`,rows:n.length,format:O(r)})}var F=a(),I=[{value:`,`,label:`database.csv.delimiterComma`},{value:` `,label:`database.csv.delimiterTab`},{value:`;`,label:`database.csv.delimiterSemicolon`},{value:`|`,label:`database.csv.delimiterPipe`}];function L(){let{t:e}=o(),{activeDialog:t,closeDialog:n}=r(),a=i(`export-csv`),h=m(e=>e.activeConnectionId),C=ee(),T=t===`export-csv`,[E,O]=(0,w.useState)(`query_result`),[k,A]=(0,w.useState)(``),[j,L]=(0,w.useState)([]),[R,z]=(0,w.useState)(``),[B,V]=(0,w.useState)(`,`),[H,U]=(0,w.useState)(!0),[W,G]=(0,w.useState)(!1),[K,q]=(0,w.useState)(null),[J,Y]=(0,w.useState)(null),X=(0,w.useRef)(null),Z=D(B)?`TSV`:`CSV`,Q=()=>{if(a?.nodeText&&(a.nodeType===p.TABLE||a.nodeType===p.VIEW)){let e=a.metadata?.database;return{table:a.nodeText,database:typeof e==`string`?e:``}}if(!h)return null;let e=(C.tabs[h]??[]).find(e=>e.id===C.activeTabId[h]);return e?.sourceTable?{table:e.sourceTable.table,database:e.sourceTable.database}:null};(0,w.useEffect)(()=>{if(!T)return;let e=Q();V(a?.delimiter??`,`),e&&(A(e.table),O(`table_data`))},[T]),(0,w.useEffect)(()=>{if(!T||!h)return;let e=m.getState().activeConnections.find(e=>e.id===h);if(!e?.serverConnectionId)return;let t=!1;return(async()=>{try{let n=await ne(h).introspect.listDatabases(te(e.serverConnectionId));if(t)return;L(n);let r=C.tabs[h]?.find(e=>e.id===C.activeTabId[h])?.database||``,i=Q()?.database||``;z(e=>n.includes(i)?i:n.includes(e)?e:n.includes(r)?r:n.length===1?n[0]:``)}catch{t||L([])}})(),()=>{t=!0}},[T,h]);function $(e){if(!e){if(W){X.current?.abort();return}n(),O(`query_result`),A(``),V(`,`),U(!0)}}async function ae(){if(!h)return;if(Y(null),E===`query_result`){let e=C.activeTabId[h],t=(C.tabs[h]??[]).find(t=>t.id===e)?.results?.[0];if(!t||t.rows.length===0)return;P(t.fields,t.rows,B,H),n();return}if(!k.trim()||!R)return;let t=new AbortController;X.current=t,G(!0),q({loaded:0,total:null});try{let i=await N({connectionId:h,database:R,table:k.trim(),delimiter:B,includeHeaders:H,onProgress:q,signal:t.signal});r.getState().setFooterMessage(e(`database.csv.done`,{count:i,table:k.trim(),format:Z})),n()}catch(e){!(e instanceof M)&&!(e instanceof re&&t.signal.aborted)&&Y(e instanceof Error?e.message:String(e))}finally{G(!1),q(null),X.current=null}}let oe=K?.total?Math.min(100,Math.round(K.loaded/K.total*100)):null;return(0,F.jsx)(S,{open:T,onOpenChange:$,children:(0,F.jsxs)(b,{className:`sm:max-w-[450px]`,children:[(0,F.jsx)(v,{children:(0,F.jsx)(x,{children:e(`database.csv.title`,{format:Z})})}),(0,F.jsxs)(`div`,{className:`space-y-4`,children:[(0,F.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,F.jsx)(g,{children:e(`database.csv.target`)}),(0,F.jsxs)(`div`,{className:`space-y-2`,children:[(0,F.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,F.jsx)(`input`,{type:`radio`,name:`csv-target`,value:`query_result`,checked:E===`query_result`,onChange:()=>O(`query_result`)}),e(`database.csv.targetQueryResult`)]}),(0,F.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,F.jsx)(`input`,{type:`radio`,name:`csv-target`,value:`table_data`,checked:E===`table_data`,onChange:()=>O(`table_data`)}),e(`database.csv.targetTableData`)]})]})]}),E===`table_data`&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,F.jsx)(g,{htmlFor:`csv-database`,children:e(`database.csv.database`)}),(0,F.jsxs)(f,{value:R,onValueChange:z,disabled:j.length===0,children:[(0,F.jsx)(l,{id:`csv-database`,className:`w-full`,children:(0,F.jsx)(c,{placeholder:e(`database.csv.databasePlaceholder`)})}),(0,F.jsx)(u,{children:j.map(e=>(0,F.jsx)(d,{value:e,children:e},e))})]})]}),(0,F.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,F.jsx)(g,{htmlFor:`csv-table-name`,children:e(`database.csv.tableName`)}),(0,F.jsx)(_,{id:`csv-table-name`,value:k,onChange:e=>A(e.target.value),placeholder:e(`database.csv.tableNamePlaceholder`)})]})]}),(0,F.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,F.jsx)(g,{htmlFor:`csv-delimiter`,children:e(`database.csv.delimiter`)}),(0,F.jsxs)(f,{value:B,onValueChange:V,children:[(0,F.jsx)(l,{id:`csv-delimiter`,className:`w-full`,children:(0,F.jsx)(c,{})}),(0,F.jsx)(u,{children:I.map(t=>(0,F.jsx)(d,{value:t.value,children:e(t.label)},t.value))})]})]}),(0,F.jsxs)(`label`,{className:`flex items-center gap-2 text-sm cursor-pointer`,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:H,onChange:e=>U(e.target.checked)}),e(`database.csv.includeHeaders`)]})]}),K&&(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(ie,{value:oe??0}),(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:K.total===null?e(`database.csv.progressUnknown`,{loaded:K.loaded}):e(`database.csv.progress`,{loaded:K.loaded,total:K.total})})]}),J&&(0,F.jsx)(`p`,{className:`text-sm text-destructive whitespace-pre-wrap`,children:J}),(0,F.jsxs)(y,{children:[(0,F.jsx)(s,{variant:`outline`,onClick:()=>$(!1),children:e(W?`database.csv.stop`:`database.csv.cancel`)}),(0,F.jsx)(s,{onClick:ae,disabled:W||E===`table_data`&&!k.trim(),children:e(W?`database.csv.downloading`:`database.csv.download`)})]})]})})}export{L as DownloadToCSVDialog};