tarsk 0.5.81 → 0.5.82

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 (98) hide show
  1. package/dist/index.js +5192 -3406
  2. package/dist/public/assets/{account-view-CkeaK8vk.js → account-view-CC_IRw14.js} +1 -1
  3. package/dist/public/assets/{alert-dialog-Jje1F97D.js → alert-dialog-CVooKafv.js} +1 -1
  4. package/dist/public/assets/api-IMkL19mR.js +2 -0
  5. package/dist/public/assets/{async-error-boundary-BqVpxDC8.js → async-error-boundary-Did-c5sq.js} +1 -1
  6. package/dist/public/assets/{browser-tab-DjtkGpuv.js → browser-tab-CjdUnNr2.js} +2 -2
  7. package/dist/public/assets/{button-CltOBnLJ.js → button-DVIjvd2G.js} +1 -1
  8. package/dist/public/assets/{card-F7mD70yN.js → card-DaHPdrGh.js} +1 -1
  9. package/dist/public/assets/chat-dock-context-BA8EIToZ.js +1 -0
  10. package/dist/public/assets/{commit-dialog-Cl3V3kAa.js → commit-dialog-29_bboof.js} +1 -1
  11. package/dist/public/assets/{commit-error-dialog-DiBCAGnv.js → commit-error-dialog-ASd71LX_.js} +1 -1
  12. package/dist/public/assets/{commit-method-fields-CX9hg6Je.js → commit-method-fields-Bylj8VjO.js} +1 -1
  13. package/dist/public/assets/conversation-history-view-CXHmQEA6.js +1 -0
  14. package/dist/public/assets/{create-project-dialog-C-5wed95.js → create-project-dialog-CtEUqqAd.js} +2 -2
  15. package/dist/public/assets/{create-repo-dialog-nEwcPXH1.js → create-repo-dialog-DKcWU21A.js} +1 -1
  16. package/dist/public/assets/{delete-confirm-dialog-BJljYiX_.js → delete-confirm-dialog-C9CQzpYL.js} +1 -1
  17. package/dist/public/assets/{diff-view-DKfdgmNU.js → diff-view-eYW3Jliv.js} +2 -2
  18. package/dist/public/assets/{dist-CnoazagX.js → dist-BI_HNW9c.js} +1 -1
  19. package/dist/public/assets/{dist-BuAo47a7.js → dist-BKsOX8kk.js} +1 -1
  20. package/dist/public/assets/{dist-pqOQhr7q.js → dist-BVQgAd-x.js} +1 -1
  21. package/dist/public/assets/{dist-s8kCZECe.js → dist-BYYtqVYm.js} +1 -1
  22. package/dist/public/assets/dist-Ch137qdo.js +2 -0
  23. package/dist/public/assets/{dist-DjsjvpPB.js → dist-DqKWH8sc.js} +1 -1
  24. package/dist/public/assets/{dist-BW2D7v35.js → dist-GRNTsriM.js} +1 -1
  25. package/dist/public/assets/{dist-5hESBP4d.js → dist-VhqWx9-S.js} +1 -1
  26. package/dist/public/assets/{es2015-CqjklqcF.js → es2015-CxOm1WGv.js} +1 -1
  27. package/dist/public/assets/{explorer-monaco-editor-JexQ2hDA.js → explorer-monaco-editor-DMvtDzfX.js} +1 -1
  28. package/dist/public/assets/{explorer-tab-view-ib2FX8Ak.js → explorer-tab-view-CPN5epzi.js} +2 -2
  29. package/dist/public/assets/{explorer-tree-u1IiLEmZ.js → explorer-tree-EjBLSWxV.js} +1 -1
  30. package/dist/public/assets/{explorer-view-D2cPTIXP.js → explorer-view-DZh1FGrc.js} +3 -3
  31. package/dist/public/assets/{git-history-dialog-URTkxCPe.js → git-history-dialog-C3tayM-K.js} +1 -1
  32. package/dist/public/assets/index-C3E_66vw.js +114 -0
  33. package/dist/public/assets/index-D42A6A6A.css +1 -0
  34. package/dist/public/assets/{lucide-react-CNNzKD4G.js → lucide-react-C-dX1rVz.js} +1 -1
  35. package/dist/public/assets/{model-list-controls-RfXuDYC4.js → model-list-controls-Yu77SyTe.js} +1 -1
  36. package/dist/public/assets/{onboarding-dialog-q06UP-U0.js → onboarding-dialog-C3vpTe8y.js} +1 -1
  37. package/dist/public/assets/{pill-tabs-BWLL8Iix.js → pill-tabs-B_YP0wlG.js} +1 -1
  38. package/dist/public/assets/{progress-indicator-4LUNdJet.js → progress-indicator-QgGbLfer.js} +1 -1
  39. package/dist/public/assets/project-coding-view-DXtPNlL1.js +1 -0
  40. package/dist/public/assets/{project-danger-zone-view-CUb4CrIM.js → project-danger-zone-view-y2DDNkUE.js} +1 -1
  41. package/dist/public/assets/{project-env-vars-view-CROExO3i.js → project-env-vars-view-BAiGaui1.js} +1 -1
  42. package/dist/public/assets/project-model-aliases-view-z5KtzKTK.js +1 -0
  43. package/dist/public/assets/{project-settings-view-CU5sfXzs.js → project-settings-view-CvNtaVMG.js} +1 -1
  44. package/dist/public/assets/{project-tools-view-BCvoIfnn.js → project-tools-view-D3j7nVpp.js} +1 -1
  45. package/dist/public/assets/{providers-list-view-D-D_UgD0.js → providers-list-view-BY11UIaf.js} +1 -1
  46. package/dist/public/assets/{pull-request-dialog-DWdtDJYH.js → pull-request-dialog-D7Tc-DZW.js} +1 -1
  47. package/dist/public/assets/{pull-with-changes-dialog-DXtvq4Fx.js → pull-with-changes-dialog-DqH8eFaG.js} +1 -1
  48. package/dist/public/assets/{push-before-pr-dialog-D0KZVQuR.js → push-before-pr-dialog-CxdsKSp0.js} +1 -1
  49. package/dist/public/assets/{scroll-area-DO1A2oHC.js → scroll-area-DnAXfBMQ.js} +1 -1
  50. package/dist/public/assets/{settings-general-tabs-view-C4Nue6Ff.js → settings-general-tabs-view-YngdB7te.js} +2 -2
  51. package/dist/public/assets/settings-general-view-BLovSe8Y.js +1 -0
  52. package/dist/public/assets/{settings-list-DZLFM-rH.js → settings-list-CvCGue_y.js} +1 -1
  53. package/dist/public/assets/{settings-logs-view-qde-vyal.js → settings-logs-view-B2vFqetG.js} +4 -4
  54. package/dist/public/assets/{settings-mcp-servers-view-DFs6AOqK.js → settings-mcp-servers-view-BiWEZyG-.js} +2 -2
  55. package/dist/public/assets/{settings-models-view-hLa1R5be.js → settings-models-view-B7STNfBy.js} +1 -1
  56. package/dist/public/assets/{settings-plugins-view-_kjrR6md.js → settings-plugins-view-D8wypO3V.js} +2 -2
  57. package/dist/public/assets/{settings-providers-view-BqPmGz1Y.js → settings-providers-view-C5x9gCg7.js} +2 -2
  58. package/dist/public/assets/settings-setup-view-VuWyf9Ey.js +2 -0
  59. package/dist/public/assets/settings-skills-view-cu2mzI28.js +2 -0
  60. package/dist/public/assets/{settings-slack-view-BVjt8x5q.js → settings-slack-view-xWc3HZl5.js} +1 -1
  61. package/dist/public/assets/{settings-slash-commands-view-mUb6a_t0.js → settings-slash-commands-view-C9slbf4z.js} +1 -1
  62. package/dist/public/assets/{settings-statistics-view-ZVHzmpsK.js → settings-statistics-view-BhrL3BwB.js} +1 -1
  63. package/dist/public/assets/{settings-storage-view-DRnLbCfi.js → settings-storage-view-y4GyGxD-.js} +1 -1
  64. package/dist/public/assets/{settings-subagents-view-BXN3XXXf.js → settings-subagents-view-C1WIOO6x.js} +1 -1
  65. package/dist/public/assets/{settings-system-prompt-view-DI4aDJNk.js → settings-system-prompt-view-b3IaVlp1.js} +1 -1
  66. package/dist/public/assets/{settings-tab-bar-nPxI45ho.js → settings-tab-bar-cx4BrJIY.js} +1 -1
  67. package/dist/public/assets/{settings-view-BkmrqO5_.js → settings-view-C_ggbCIB.js} +2 -2
  68. package/dist/public/assets/{slug-utils-DTRz-IX4.js → slug-utils-D5qfm2sn.js} +1 -1
  69. package/dist/public/assets/store-CEYCdhjW.js +9 -0
  70. package/dist/public/assets/{table-D0dYDkHb.js → table-DHvBIex4.js} +1 -1
  71. package/dist/public/assets/tasks-view-DFBi6JaW.js +1 -0
  72. package/dist/public/assets/{terminal-panel-k2OuCLTs.js → terminal-panel-2T2Kc4CN.js} +1 -1
  73. package/dist/public/assets/{toggle-group-Db9wT9wS.js → toggle-group-DaT4acSz.js} +1 -1
  74. package/dist/public/assets/{tooltip-JvDw-QDI.js → tooltip-Cqmpv-M5.js} +1 -1
  75. package/dist/public/assets/{use-active-dock-panel-instance-CloupQ34.js → use-active-dock-panel-instance-CuYvC5Us.js} +1 -1
  76. package/dist/public/assets/{use-git-check-CLdZVT2V.js → use-git-check-CmtXehtR.js} +1 -1
  77. package/dist/public/assets/{use-installed-ai-files-DaBcwgRE.js → use-installed-ai-files-Cdzy29ie.js} +1 -1
  78. package/dist/public/assets/{useBaseQuery-DRTrohmA.js → useBaseQuery-D6c39Xb1.js} +1 -1
  79. package/dist/public/assets/{utils-Buz2Fe6i.js → utils-CWTBjUlE.js} +1 -1
  80. package/dist/public/assets/{web-DK5m5VSU.js → web-BlBW8SWJ.js} +1 -1
  81. package/dist/public/assets/{web-BpYQ1fL9.js → web-CIGP6pa8.js} +1 -1
  82. package/dist/public/assets/{web-V17M9fvX.js → web-CsChMX5V.js} +1 -1
  83. package/dist/public/assets/{web-DM_gKD8p.js → web-bYOmn95I.js} +1 -1
  84. package/dist/public/index.html +22 -22
  85. package/package.json +1 -1
  86. package/dist/public/assets/api-BnJTzqjz.js +0 -2
  87. package/dist/public/assets/chat-dock-context-BHq1_jtf.js +0 -1
  88. package/dist/public/assets/conversation-history-view-Ev79lcal.js +0 -1
  89. package/dist/public/assets/dist-DFsjr0PN.js +0 -2
  90. package/dist/public/assets/index-8x-2e2HM.js +0 -114
  91. package/dist/public/assets/index-WbZmmRUY.css +0 -1
  92. package/dist/public/assets/project-coding-view-Di-O7V7a.js +0 -1
  93. package/dist/public/assets/project-model-aliases-view-BYA1-lFu.js +0 -1
  94. package/dist/public/assets/settings-general-view-DTrynmWh.js +0 -1
  95. package/dist/public/assets/settings-setup-view-Bg46oj29.js +0 -2
  96. package/dist/public/assets/settings-skills-view-BU0yn3R0.js +0 -2
  97. package/dist/public/assets/store-N5DWaLPi.js +0 -9
  98. package/dist/public/assets/tasks-view-4x-tbVtX.js +0 -1
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Vt as n}from"./dist-DFsjr0PN.js";import{$t as r,M as i,Tn as a,v as o}from"./lucide-react-CNNzKD4G.js";import{t as s}from"./button-CltOBnLJ.js";import{i as c,n as l,r as u,t as d}from"./tooltip-JvDw-QDI.js";import{lt as f}from"./index-8x-2e2HM.js";import{n as p}from"./sorting-DqwxPMRN.js";var m=e(),h=t();function g(e){let t=(0,m.c)(9),{codingIndex:r,modelName:i}=e,a=p(r);if(a===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=[1,2,3,4,5],t[0]=s):s=t[0];let f;t[1]===a?f=t[2]:(f=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`div`,{className:`flex items-center gap-0.5`,children:s.map(e=>(0,h.jsx)(o,{className:`h-3 w-3 ${e<=a?`fill-yellow-400 text-yellow-400`:`text-gray-300`}`},e))})}),t[1]=a,t[2]=f);let g;t[3]!==r||t[4]!==i?(g=(0,h.jsx)(l,{children:(0,h.jsxs)(`p`,{className:n.body,children:[i,` was indexed `,r,` for coding intelligence`]})}),t[3]=r,t[4]=i,t[5]=g):g=t[5];let _;return t[6]!==f||t[7]!==g?(_=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[f,g]})}),t[6]=f,t[7]=g,t[8]=_):_=t[8],_}function _(e){let t=(0,m.c)(8),{id:n,checked:r,disabled:i,onChange:a}=e,o=i===void 0?!1:i,s;t[0]!==r||t[1]!==o||t[2]!==n||t[3]!==a?(s=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`span`,{className:`inline-flex`,children:(0,h.jsx)(f,{id:n,disabled:o,value:r,onChange:a,ariaLabel:`Select All Models`})})}),t[0]=r,t[1]=o,t[2]=n,t[3]=a,t[4]=s):s=t[4];let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,h.jsx)(l,{children:`Select All Models`}),t[5]=p):p=t[5];let g;return t[6]===s?g=t[7]:(g=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[s,p]})}),t[6]=s,t[7]=g),g}function v(e){let t=(0,m.c)(31),{sortBy:n,onSortByChange:f,showCodingIndex:p,showIntelligenceByPrice:g}=e,_=p===void 0?!1:p,v=g===void 0?!1:g,y=n===`alphabetical`?`secondary`:`ghost`,b;t[0]===f?b=t[1]:(b=()=>f(`alphabetical`),t[0]=f,t[1]=b);let x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,h.jsx)(a,{className:`h-4 w-4`}),t[2]=x):x=t[2];let S;t[3]!==y||t[4]!==b?(S=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:y,size:`icon`,className:`h-8 w-8`,onClick:b,children:x})}),t[3]=y,t[4]=b,t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsx)(l,{children:`Sort A–Z`}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,h.jsxs)(d,{children:[S,C]}),t[7]=S,t[8]=w);let T=n===`price-low`||n===`price-high`?`secondary`:`ghost`,E;t[9]===f?E=t[10]:(E=()=>f(`price-low`),t[9]=f,t[10]=E);let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(r,{className:`h-4 w-4`}),t[11]=D):D=t[11];let O;t[12]!==E||t[13]!==T?(O=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:T,size:`icon`,className:`h-8 w-8`,onClick:E,children:D})}),t[12]=E,t[13]=T,t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,h.jsx)(l,{children:`Sort by price`}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,h.jsxs)(d,{children:[O,k]}),t[16]=O,t[17]=A);let j;t[18]!==f||t[19]!==_||t[20]!==n?(j=_?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`coding-index`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`coding-index`),children:(0,h.jsx)(o,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by coding intelligence`})]}):null,t[18]=f,t[19]=_,t[20]=n,t[21]=j):j=t[21];let M;t[22]!==f||t[23]!==v||t[24]!==n?(M=v?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`intelligence-by-price`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`intelligence-by-price`),children:(0,h.jsx)(i,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by price/intelligence`})]}):null,t[22]=f,t[23]=v,t[24]=n,t[25]=M):M=t[25];let N;return t[26]!==A||t[27]!==j||t[28]!==M||t[29]!==w?(N=(0,h.jsx)(u,{children:(0,h.jsxs)(`div`,{className:`flex items-center rounded-md p-0.5`,children:[w,A,j,M]})}),t[26]=A,t[27]=j,t[28]=M,t[29]=w,t[30]=N):N=t[30],N}export{v as n,g as r,_ as t};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ut as n}from"./dist-Ch137qdo.js";import{$t as r,Tn as i,j as a,v as o}from"./lucide-react-C-dX1rVz.js";import{t as s}from"./button-DVIjvd2G.js";import{i as c,n as l,r as u,t as d}from"./tooltip-Cqmpv-M5.js";import{lt as f}from"./index-C3E_66vw.js";import{n as p}from"./sorting-DqwxPMRN.js";var m=e(),h=t();function g(e){let t=(0,m.c)(9),{codingIndex:r,modelName:i}=e,a=p(r);if(a===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=[1,2,3,4,5],t[0]=s):s=t[0];let f;t[1]===a?f=t[2]:(f=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`div`,{className:`flex items-center gap-0.5`,children:s.map(e=>(0,h.jsx)(o,{className:`h-3 w-3 ${e<=a?`fill-yellow-400 text-yellow-400`:`text-gray-300`}`},e))})}),t[1]=a,t[2]=f);let g;t[3]!==r||t[4]!==i?(g=(0,h.jsx)(l,{children:(0,h.jsxs)(`p`,{className:n.body,children:[i,` was indexed `,r,` for coding intelligence`]})}),t[3]=r,t[4]=i,t[5]=g):g=t[5];let _;return t[6]!==f||t[7]!==g?(_=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[f,g]})}),t[6]=f,t[7]=g,t[8]=_):_=t[8],_}function _(e){let t=(0,m.c)(8),{id:n,checked:r,disabled:i,onChange:a}=e,o=i===void 0?!1:i,s;t[0]!==r||t[1]!==o||t[2]!==n||t[3]!==a?(s=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`span`,{className:`inline-flex`,children:(0,h.jsx)(f,{id:n,disabled:o,value:r,onChange:a,ariaLabel:`Select All Models`})})}),t[0]=r,t[1]=o,t[2]=n,t[3]=a,t[4]=s):s=t[4];let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,h.jsx)(l,{children:`Select All Models`}),t[5]=p):p=t[5];let g;return t[6]===s?g=t[7]:(g=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[s,p]})}),t[6]=s,t[7]=g),g}function v(e){let t=(0,m.c)(31),{sortBy:n,onSortByChange:f,showCodingIndex:p,showIntelligenceByPrice:g}=e,_=p===void 0?!1:p,v=g===void 0?!1:g,y=n===`alphabetical`?`secondary`:`ghost`,b;t[0]===f?b=t[1]:(b=()=>f(`alphabetical`),t[0]=f,t[1]=b);let x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,h.jsx)(i,{className:`h-4 w-4`}),t[2]=x):x=t[2];let S;t[3]!==y||t[4]!==b?(S=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:y,size:`icon`,className:`h-8 w-8`,onClick:b,children:x})}),t[3]=y,t[4]=b,t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsx)(l,{children:`Sort A–Z`}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,h.jsxs)(d,{children:[S,C]}),t[7]=S,t[8]=w);let T=n===`price-low`||n===`price-high`?`secondary`:`ghost`,E;t[9]===f?E=t[10]:(E=()=>f(`price-low`),t[9]=f,t[10]=E);let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(r,{className:`h-4 w-4`}),t[11]=D):D=t[11];let O;t[12]!==E||t[13]!==T?(O=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:T,size:`icon`,className:`h-8 w-8`,onClick:E,children:D})}),t[12]=E,t[13]=T,t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,h.jsx)(l,{children:`Sort by price`}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,h.jsxs)(d,{children:[O,k]}),t[16]=O,t[17]=A);let j;t[18]!==f||t[19]!==_||t[20]!==n?(j=_?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`coding-index`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`coding-index`),children:(0,h.jsx)(o,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by coding intelligence`})]}):null,t[18]=f,t[19]=_,t[20]=n,t[21]=j):j=t[21];let M;t[22]!==f||t[23]!==v||t[24]!==n?(M=v?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`intelligence-by-price`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`intelligence-by-price`),children:(0,h.jsx)(a,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by price/intelligence`})]}):null,t[22]=f,t[23]=v,t[24]=n,t[25]=M):M=t[25];let N;return t[26]!==A||t[27]!==j||t[28]!==M||t[29]!==w?(N=(0,h.jsx)(u,{children:(0,h.jsxs)(`div`,{className:`flex items-center rounded-md p-0.5`,children:[w,A,j,M]})}),t[26]=A,t[27]=j,t[28]=M,t[29]=w,t[30]=N):N=t[30],N}export{v as n,g as r,_ as t};
@@ -1 +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{H as i,St as a,Vt as o}from"./dist-DFsjr0PN.js";import{r as s,t as c}from"./utils-Buz2Fe6i.js";import{$t as l,A as u,Sn as d,Tn as f,dt as p,gn as m}from"./lucide-react-CNNzKD4G.js";import{t as h}from"./button-CltOBnLJ.js";import{i as g,n as _,r as v,t as y}from"./tooltip-JvDw-QDI.js";import{$t as b,Dn as x,Ft as S,K as C,Nt as w,On as T,Rn as E,V as D,Vr as O,m as k}from"./api-BnJTzqjz.js";import{n as A}from"./scroll-area-DO1A2oHC.js";import{$t as j,Ar as M,Cr as N,Dr as P,Er as F,Or as I,Ot as L,St as R,Tr as z,Ut as ee,ft as te,gt as B,ht as V,kr as H,lt as U,mt as ne,pt as W,ut as G,wr as re}from"./index-8x-2e2HM.js";import{n as K,t as ie}from"./toggle-group-Db9wT9wS.js";import{n as ae,r as oe,t as se}from"./use-git-check-CLdZVT2V.js";import{t as ce}from"./sorting-DqwxPMRN.js";import{t as le}from"./pending-changes-Bn-0ak1d.js";var q=t(),J=r();function ue(e){let t=(0,q.c)(8),{gitLoading:n,gitInstalled:r,version:i,platform:a,plan:o,onCheckAgain:s}=e;if(n&&r===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(p,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===i?e=t[2]:(e=(0,J.jsx)(ae,{version:i}),t[1]=i,t[2]=e),e}let c;return t[3]!==n||t[4]!==s||t[5]!==o||t[6]!==a?(c=(0,J.jsx)(oe,{platform:a,plan:o,checking:n,onCheckAgain:s}),t[3]=n,t[4]=s,t[5]=o,t[6]=a,t[7]=c):c=t[7],c}var Y=e(n(),1);function de(e){let t=(0,q.c)(34),{model:n,disabled:r,willBeEnabled:i,isRecommended:a,onToggle:l}=e,u;t[0]===n.id?u=t[1]:(u=j(n.id),t[0]=n.id,t[1]=u);let d=u,f=n.pricing,p=i&&a,m;t[2]!==n.id||t[3]!==l?(m=function(){l(n.id)},t[2]=n.id,t[3]=l,t[4]=m):m=t[4];let h=m,v=r&&`opacity-25`,b;t[5]===v?b=t[6]:(b=c(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default`,v),t[5]=v,t[6]=b);let x=`${d} ${i?`enabled`:`disabled`}`,S;t[7]!==r||t[8]!==h||t[9]!==n.id||t[10]!==x||t[11]!==i?(S=(0,J.jsx)(U,{id:n.id,disabled:r,value:i,onChange:h,ariaLabel:x}),t[7]=r,t[8]=h,t[9]=n.id,t[10]=x,t[11]=i,t[12]=S):S=t[12];let C=n.id,w;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=c(o.body,`peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`),t[13]=w):w=t[13];let T;t[14]===p?T=t[15]:(T=p&&(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:` (Recommended)`}),t[14]=p,t[15]=T);let E;t[16]!==d||t[17]!==n.id||t[18]!==T?(E=(0,J.jsxs)(`label`,{htmlFor:C,className:w,children:[d,T]}),t[16]=d,t[17]=n.id,t[18]=T,t[19]=E):E=t[19];let D;t[20]===f?D=t[21]:(D=f&&(0,J.jsx)(`span`,{className:c(o.compact,`text-muted-foreground whitespace-nowrap flex-shrink-0`),children:(f.prompt??0)<=0&&(f.completion??0)<=0?`Free`:`${s(f.prompt??0)} in | ${s(f.completion??0)} out`}),t[20]=f,t[21]=D);let O;t[22]!==E||t[23]!==D?(O=(0,J.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[E,D]}),t[22]=E,t[23]=D,t[24]=O):O=t[24];let k;t[25]!==O||t[26]!==b||t[27]!==S?(k=(0,J.jsx)(g,{asChild:!0,children:(0,J.jsxs)(`div`,{className:b,children:[S,O]})}),t[25]=O,t[26]=b,t[27]=S,t[28]=k):k=t[28];let A;t[29]===n.description?A=t[30]:(A=n.description&&(0,J.jsx)(_,{side:`top`,className:`max-w-xs`,children:(0,J.jsx)(`p`,{className:o.body,children:n.description})}),t[29]=n.description,t[30]=A);let M;return t[31]!==k||t[32]!==A?(M=(0,J.jsxs)(y,{children:[k,A]}),t[31]=k,t[32]=A,t[33]=M):M=t[33],M}function fe(e){let t=/^[^:]+:\s+(.+)$/.exec(e);return(t?t[1]:e).trim()}function pe(e){return[j(e.id),e.name,fe(e.name)]}function me(e,t){let n=new Set(t.map(e=>e.toLowerCase()));return pe(e).some(e=>n.has(e.toLowerCase()))}function he(e,t){return e.filter(e=>me(e,t)).map(e=>e.id)}var X=i(`app.model-selector.ui`),Z=`rounded-full border-0 px-3 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`;function ge({provider:e,onModelsChange:t,isLoading:n,disabled:r,displayMode:i=`grid`,autoSelectRecommended:a=!1}){let[s,d]=(0,Y.useState)([]),[m,h]=(0,Y.useState)(new Set),[g,_]=(0,Y.useState)(new Set),[y,b]=(0,Y.useState)(new Map),[x,w]=(0,Y.useState)(!1),[T,E]=(0,Y.useState)(``),[D,O]=(0,Y.useState)(`alphabetical`);(0,Y.useEffect)(()=>{k()},[e]);let k=async()=>{w(!0),E(``),O(`alphabetical`);try{let t=await C(e);d(t.models);let n=new Set(t.enabledModelIds);h(n);let r=new Map,i=new Set;if(a)try{let{models:e}=await S();i=new Set(he(t.models,e)),r=new Map([...i].filter(e=>!n.has(e)).map(e=>[e,!0]))}catch(e){X.error(`Failed to load recommended models:`,e)}_(i),b(r),A(n,r,t.models)}catch(t){X.error(`Failed to load models for ${e}:`,t),d([]),h(new Set),_(new Set)}finally{w(!1)}},A=(e,n,r=s)=>{let i=new Set(e);r.forEach(e=>{n.has(e.id)&&(n.get(e.id)?i.add(e.id):i.delete(e.id))}),t?.(i)},M=e=>{b(t=>{let n=le(t,e,m);return A(m,n),n})},N=e=>{b(t=>{let n=new Map(t);return s.forEach(t=>{let r=m.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),A(m,n),n})},P=e=>j(e.id);function F(e,t=y){let n=t.has(e),r=t.get(e);return n?!!r:m.has(e)}let I=ce({models:s,query:T,sortBy:D,getDisplayName:P,getPriority:e=>+!F(e.id)}),L=D===`alphabetical`?`alphabetical`:`price`;function R(e){if(e===`alphabetical`){O(`alphabetical`);return}e===`price`&&O(`price-low`)}function z(){D!==`alphabetical`&&O(e=>e===`price-low`?`price-high`:`price-low`)}return x||n?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(p,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):s.length===0?(0,J.jsx)(`div`,{className:`text-center py-8`,children:(0,J.jsx)(`p`,{className:o.bodyMuted,children:`No models available for this provider.`})}):i===`compact`?(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:c(`flex items-center justify-between gap-3`,r&&`opacity-25`),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,J.jsx)(U,{id:`select-all-models`,disabled:r,value:s.every(e=>F(e.id)),onChange:e=>N(e),ariaLabel:`Select all models`}),(0,J.jsx)(`label`,{htmlFor:`select-all-models`,className:c(o.body,`cursor-pointer`),children:`Select all models`})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,J.jsxs)(`div`,{className:`relative w-44 sm:w-52`,children:[(0,J.jsx)(u,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,J.jsx)(re,{placeholder:`Search models...`,value:T,onChange:e=>E(e.target.value),disabled:r,className:`pl-8 h-9`})]}),(0,J.jsxs)(ie,{type:`single`,value:L,onValueChange:R,"aria-label":`Sort models`,variant:`outline`,className:`inline-flex rounded-full border bg-muted/40 p-1`,children:[(0,J.jsx)(K,{value:`alphabetical`,"aria-label":`Sort A–Z`,disabled:r,className:Z,children:(0,J.jsx)(f,{className:`h-4 w-4`})}),(0,J.jsx)(K,{value:`price`,"aria-label":`Sort by price`,disabled:r,className:Z,onClick:z,children:(0,J.jsx)(l,{className:`h-4 w-4`})})]})]})]}),(0,J.jsx)(v,{children:(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-0 overflow-hidden rounded-md border border-table-border`,children:I.length===0?(0,J.jsx)(`div`,{className:`text-center py-4`,children:(0,J.jsx)(`p`,{className:o.bodyMuted,children:T?`No models match your search.`:`No models available.`})}):I.map(e=>(0,J.jsx)(de,{model:e,disabled:r,willBeEnabled:F(e.id),isRecommended:g.has(e.id),onToggle:M},e.id))})})]}):null}function _e(e){let t=(0,q.c)(4),{providerSlug:n,modelsLoading:r,onModelsChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(ge,{provider:n,isLoading:r,displayMode:`compact`,disabled:!1,autoSelectRecommended:!0,onModelsChange:i})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function Q(e,t,n){return e||t||n}function ve(e,t,n){return e||!t.trim()||!n}function ye(e){let t=(0,q.c)(38),{currentStep:n,savingOnboarding:r,gitLoading:i,validatingKey:a,connectingOpenRouter:o,apiKey:s,hasProvider:c,onSkip:l,onBack:u,onContinue:f,onValidate:g,onFinish:_}=e,v,y;t[0]!==s||t[1]!==o||t[2]!==c||t[3]!==r||t[4]!==a?(v=Q(r,a,o),y=ve(v,s,c),t[0]=s,t[1]=o,t[2]=c,t[3]=r,t[4]=a,t[5]=v,t[6]=y):(v=t[5],y=t[6]);let b=y,x;t[7]!==n||t[8]!==l||t[9]!==v?(x=n===`provider-selection`?(0,J.jsx)(h,{variant:`ghost`,onClick:l,disabled:v,children:`Skip for now`}):null,t[7]=n,t[8]=l,t[9]=v,t[10]=x):x=t[10];let S;t[11]===x?S=t[12]:(S=(0,J.jsx)(`div`,{children:x}),t[11]=x,t[12]=S);let C;t[13]!==n||t[14]!==u||t[15]!==v?(C=n===`git-check`?null:(0,J.jsx)(h,{variant:`outline`,onClick:u,disabled:v,children:`Back`}),t[13]=n,t[14]=u,t[15]=v,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==i||t[19]!==f?(w=n===`git-check`?(0,J.jsxs)(h,{onClick:f,disabled:i,className:`gap-2`,children:[`Continue `,(0,J.jsx)(d,{className:`h-4 w-4`})]}):null,t[17]=n,t[18]=i,t[19]=f,t[20]=w):w=t[20];let T;t[21]!==n||t[22]!==g||t[23]!==b||t[24]!==a?(T=n===`provider-selection`?(0,J.jsx)(h,{onClick:g,disabled:b,className:`gap-2`,children:a?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(p,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,J.jsxs)(J.Fragment,{children:[`Next `,(0,J.jsx)(d,{className:`h-4 w-4`})]})}):null,t[21]=n,t[22]=g,t[23]=b,t[24]=a,t[25]=T):T=t[25];let E;t[26]!==n||t[27]!==_||t[28]!==r?(E=n===`model-selection`?(0,J.jsx)(h,{onClick:_,disabled:r,className:`gap-2`,children:r?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(p,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,J.jsxs)(J.Fragment,{children:[`Finish `,(0,J.jsx)(m,{className:`h-4 w-4`})]})}):null,t[26]=n,t[27]=_,t[28]=r,t[29]=E):E=t[29];let D;t[30]!==C||t[31]!==w||t[32]!==T||t[33]!==E?(D=(0,J.jsxs)(`div`,{className:`flex gap-3`,children:[C,w,T,E]}),t[30]=C,t[31]=w,t[32]=T,t[33]=E,t[34]=D):D=t[34];let O;return t[35]!==S||t[36]!==D?(O=(0,J.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,J.jsxs)(I,{className:`flex items-center justify-between`,children:[S,D]})}),t[35]=S,t[36]=D,t[37]=O):O=t[37],O}function be(e){let t=(0,q.c)(22),{selectedProvider:n,onProviderChange:r,apiKey:i,onApiKeyChange:s,validatingKey:l,connectingOpenRouter:u,savingOnboarding:d,providerEnvValues:f,onProviderEnvChange:p,keyError:m,onConnectOpenRouter:h}=e,g;t[0]!==u||t[1]!==d||t[2]!==l?(g=Q(d,l,u),t[0]=u,t[1]=d,t[2]=l,t[3]=g):g=t[3];let _=g,v;t[4]!==i||t[5]!==s||t[6]!==h||t[7]!==r||t[8]!==_||t[9]!==n?(v=(0,J.jsx)(G,{selectedProvider:n,onProviderChange:r,showApiKeyInput:!0,apiKey:i,onApiKeyChange:s,variant:`dropdown`,isLoading:_,onConnectOpenRouter:h}),t[4]=i,t[5]=s,t[6]=h,t[7]=r,t[8]=_,t[9]=n,t[10]=v):v=t[10];let y;t[11]!==p||t[12]!==_||t[13]!==f||t[14]!==n?(y=n&&ne(n).map(e=>(0,J.jsx)(L,{label:(0,J.jsx)(N,{htmlFor:e,children:W(e)}),control:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`input`,{id:e,value:f[e]??``,onChange:t=>p(e,t.target.value),disabled:_,className:`h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base`,placeholder:a(n.slug)&&e===`LOCAL_API_URL`?n.api:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),n.slug===`azure`&&e===V(n)||a(n.slug)&&e===`LOCAL_API_URL`?(0,J.jsx)(`p`,{className:c(o.bodyMuted,`mt-2 break-all`),children:B(n,f)||n.api}):null]}),align:`start`},e)),t[11]=p,t[12]=_,t[13]=f,t[14]=n,t[15]=y):y=t[15];let b;t[16]===m?b=t[17]:(b=m?(0,J.jsx)(R,{variant:`error`,className:`mb-0`,children:m}):null,t[16]=m,t[17]=b);let x;return t[18]!==v||t[19]!==y||t[20]!==b?(x=(0,J.jsxs)(`div`,{className:`space-y-4`,children:[v,y,b]}),t[18]=v,t[19]=y,t[20]=b,t[21]=x):x=t[21],x}function xe(e){let t=(0,q.c)(3),{currentStep:n}=e;if(n===`provider-selection`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Select an AI Provider`}),(0,J.jsx)(P,{children:`Choose your preferred AI provider and enter your API key.`})]}),t[0]=e):e=t[0],e}if(n===`model-selection`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Select Models`}),(0,J.jsx)(P,{children:`Choose which models you want to use with this provider.`})]}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Let's get started`}),(0,J.jsx)(P,{children:`First, we need to check that Git is installed on your system.`})]}),t[2]=r):r=t[2],r}function Se(e){let t=(0,q.c)(26),{currentStep:n}=e,r=function(e){return e===`provider-selection`&&n===`provider-selection`||n===`model-selection`},i=function(e){return n===e},a=i(`git-check`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,s;t[0]===a?s=t[1]:(s=c(`flex items-center justify-center h-8 w-8 rounded-full`,o.label,a),t[0]=a,t[1]=s);let l;t[2]===s?l=t[3]:(l=(0,J.jsx)(`div`,{className:s,children:`1`}),t[2]=s,t[3]=l);let u=r(`provider-selection`)?`bg-primary`:`bg-muted`,d;t[4]===u?d=t[5]:(d=c(`h-0.5 flex-1`,u),t[4]=u,t[5]=d);let f;t[6]===d?f=t[7]:(f=(0,J.jsx)(`div`,{className:d}),t[6]=d,t[7]=f);let p=i(`provider-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,m;t[8]===p?m=t[9]:(m=c(`flex items-center justify-center h-8 w-8 rounded-full`,o.label,p),t[8]=p,t[9]=m);let h;t[10]===m?h=t[11]:(h=(0,J.jsx)(`div`,{className:m,children:`2`}),t[10]=m,t[11]=h);let g=r(`model-selection`)?`bg-primary`:`bg-muted`,_;t[12]===g?_=t[13]:(_=c(`h-0.5 flex-1`,g),t[12]=g,t[13]=_);let v;t[14]===_?v=t[15]:(v=(0,J.jsx)(`div`,{className:_}),t[14]=_,t[15]=v);let y=i(`model-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,b;t[16]===y?b=t[17]:(b=c(`flex items-center justify-center h-8 w-8 rounded-full`,o.label,y),t[16]=y,t[17]=b);let x;t[18]===b?x=t[19]:(x=(0,J.jsx)(`div`,{className:b,children:`3`}),t[18]=b,t[19]=x);let S;return t[20]!==v||t[21]!==x||t[22]!==l||t[23]!==f||t[24]!==h?(S=(0,J.jsxs)(`div`,{className:`w-1/2 mx-auto flex items-center gap-2 mb-6`,children:[l,f,h,v,x]}),t[20]=v,t[21]=x,t[22]=l,t[23]=f,t[24]=h,t[25]=S):S=t[25],S}var $=i(`app.onboarding-dialog.ui`);async function Ce(){for(let e=0;e<120;e+=1){await new Promise(e=>window.setTimeout(e,1e3)),O.invalidate(`providers`);let e=(await w()).find(e=>e.slug.toLowerCase()===`openrouter`);if(e?.apiKey)return e}return null}function we(e,t,n){let[r,i]=(0,Y.useState)(`git-check`),a=se({enabled:e&&r===`git-check`}),o=(0,Y.useRef)(!1),[s,c]=(0,Y.useState)([]),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(``),[p,m]=(0,Y.useState)(!1),[h,g]=(0,Y.useState)({}),[_,v]=(0,Y.useState)(!1),[y,S]=(0,Y.useState)(``),[O,A]=(0,Y.useState)(new Set),[j,M]=(0,Y.useState)(!1),[N,P]=(0,Y.useState)(!1);async function F(){try{let e=await w();if(c(e),e.length>0&&!l){let t=te(e);t&&(u(t),f(t.apiKey??``),g(t.envValues??{}))}}catch(e){$.error(`Failed to load providers:`,e)}}async function I(){if(l){M(!0);try{await C(l.name),A(new Set)}catch(e){$.error(`Failed to load models:`,e)}finally{M(!1)}}}(0,Y.useEffect)(()=>{e&&r===`git-check`&&a.hasChecked&&!o.current&&(o.current=!0,a.gitInstalled&&i(`provider-selection`))},[e,r,a.hasChecked,a.gitInstalled]),(0,Y.useEffect)(()=>{e&&r===`provider-selection`&&s.length===0&&F()},[e,r,s.length]),(0,Y.useEffect)(()=>{e&&r===`model-selection`&&l&&I()},[e,r,l]);async function L(){if(!l||!d.trim()){S(`Please enter an API key`);return}let e=ne(l),t=e.find(e=>!h[e]?.trim());if(t){S(`Please enter ${W(t)}`);return}v(!0),S(``);try{e.length>0&&await x(Object.fromEntries(e.map(e=>[e,h[e].trim()]))),await T(l.slug,d),i(`model-selection`)}catch(e){S(e instanceof Error?e.message:`Failed to validate API key`)}finally{v(!1)}}async function R(){if(l){P(!0);try{for(let e of O)await D(l.slug,e);ee(),await k(),n?.(),t(!1)}catch(e){$.error(`Failed to complete onboarding:`,e)}finally{P(!1)}}}async function z(){P(!0);try{await k(),n?.(),t(!1)}catch(e){$.error(`Failed to skip onboarding:`,e)}finally{P(!1)}}function B(e){u(e),f(e.apiKey??``),g(e.envValues??{}),S(``)}function V(e,t){g(n=>({...n,[e]:t}))}function H(){i(`provider-selection`)}async function U(){if(!p){m(!0),S(``);try{await b(await E());let e=await Ce();if(!e){S(`OpenRouter connection timed out. You can enter an API key manually.`);return}u(e),f(e.apiKey??``),i(`model-selection`)}catch(e){S(e instanceof Error?e.message:`Failed to connect to OpenRouter`)}finally{m(!1)}}}function G(){r===`provider-selection`?i(`git-check`):r===`model-selection`&&i(`provider-selection`)}return{currentStep:r,git:a,selectedProvider:l,apiKey:d,setApiKey:f,connectingOpenRouter:p,validatingKey:_,savingOnboarding:N,providerEnvValues:h,keyError:y,modelsLoading:j,setEnabledModelIds:A,handleProviderChange:B,handleProviderEnvChange:V,handleGitCheckProceed:H,handleConnectOpenRouter:U,handleBack:G,skipOnboarding:z,validateAndMoveNext:L,finishOnboarding:R}}function Te(e){e.preventDefault()}function Ee(e){let t=(0,q.c)(47),{open:n,onOpenChange:r,onComplete:i}=e,a=we(n,r,i),o;t[0]===a.currentStep?o=t[1]:(o=(0,J.jsx)(Se,{currentStep:a.currentStep}),t[0]=a.currentStep,t[1]=o);let s;t[2]===a.currentStep?s=t[3]:(s=(0,J.jsx)(H,{children:(0,J.jsx)(xe,{currentStep:a.currentStep})}),t[2]=a.currentStep,t[3]=s);let c;t[4]!==o||t[5]!==s?(c=(0,J.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[o,s]}),t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]!==a.currentStep||t[8]!==a.git?(l=a.currentStep===`git-check`?(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(ue,{gitLoading:a.git.loading,gitInstalled:a.git.gitInstalled,version:a.git.version,platform:a.git.platform,plan:a.git.plan,onCheckAgain:()=>void a.git.check()})}):null,t[7]=a.currentStep,t[8]=a.git,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=a.currentStep===`provider-selection`?(0,J.jsx)(be,{selectedProvider:a.selectedProvider,onProviderChange:a.handleProviderChange,apiKey:a.apiKey,onApiKeyChange:a.setApiKey,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,savingOnboarding:a.savingOnboarding,providerEnvValues:a.providerEnvValues,onProviderEnvChange:a.handleProviderEnvChange,keyError:a.keyError,onConnectOpenRouter:()=>void a.handleConnectOpenRouter()}):null,t[10]=a,t[11]=u);let d;t[12]!==a.currentStep||t[13]!==a.modelsLoading||t[14]!==a.selectedProvider||t[15]!==a.setEnabledModelIds?(d=a.currentStep===`model-selection`&&a.selectedProvider?(0,J.jsx)(_e,{providerSlug:a.selectedProvider.slug,modelsLoading:a.modelsLoading,onModelsChange:a.setEnabledModelIds}):null,t[12]=a.currentStep,t[13]=a.modelsLoading,t[14]=a.selectedProvider,t[15]=a.setEnabledModelIds,t[16]=d):d=t[16];let f;t[17]!==l||t[18]!==u||t[19]!==d?(f=(0,J.jsx)(A,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`px-6 py-4`,children:[l,u,d]})}),t[17]=l,t[18]=u,t[19]=d,t[20]=f):f=t[20];let p=!!a.selectedProvider,m;t[21]===a?m=t[22]:(m=()=>void a.skipOnboarding(),t[21]=a,t[22]=m);let h,g;t[23]===a?(h=t[24],g=t[25]):(h=()=>void a.validateAndMoveNext(),g=()=>void a.finishOnboarding(),t[23]=a,t[24]=h,t[25]=g);let _;t[26]!==a.apiKey||t[27]!==a.connectingOpenRouter||t[28]!==a.currentStep||t[29]!==a.git.loading||t[30]!==a.handleBack||t[31]!==a.handleGitCheckProceed||t[32]!==a.savingOnboarding||t[33]!==a.validatingKey||t[34]!==h||t[35]!==g||t[36]!==p||t[37]!==m?(_=(0,J.jsx)(ye,{currentStep:a.currentStep,savingOnboarding:a.savingOnboarding,gitLoading:a.git.loading,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,apiKey:a.apiKey,hasProvider:p,onSkip:m,onBack:a.handleBack,onContinue:a.handleGitCheckProceed,onValidate:h,onFinish:g}),t[26]=a.apiKey,t[27]=a.connectingOpenRouter,t[28]=a.currentStep,t[29]=a.git.loading,t[30]=a.handleBack,t[31]=a.handleGitCheckProceed,t[32]=a.savingOnboarding,t[33]=a.validatingKey,t[34]=h,t[35]=g,t[36]=p,t[37]=m,t[38]=_):_=t[38];let v;t[39]!==_||t[40]!==c||t[41]!==f?(v=(0,J.jsxs)(F,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,onInteractOutside:Te,children:[c,f,_]}),t[39]=_,t[40]=c,t[41]=f,t[42]=v):v=t[42];let y;return t[43]!==r||t[44]!==n||t[45]!==v?(y=(0,J.jsx)(z,{open:n,onOpenChange:r,children:v}),t[43]=r,t[44]=n,t[45]=v,t[46]=y):y=t[46],y}export{ye as OnboardingFooter,Ee as default};
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{Ut as i,W as a,wt as o}from"./dist-Ch137qdo.js";import{r as s,t as c}from"./utils-CWTBjUlE.js";import{$t as l,Sn as u,Tn as d,dt as f,gn as p,k as m}from"./lucide-react-C-dX1rVz.js";import{t as h}from"./button-DVIjvd2G.js";import{i as g,n as _,r as v,t as y}from"./tooltip-Cqmpv-M5.js";import{B as b,Dn as x,En as S,G as C,Mt as w,Pt as T,Qt as E,Rn as D,Ur as O,h as k}from"./api-IMkL19mR.js";import{n as A}from"./scroll-area-DnAXfBMQ.js";import{$t as j,Ar as M,Cr as N,Dr as P,Er as F,Or as I,Ot as L,St as R,Tr as z,Ut as ee,ft as te,gt as B,ht as V,kr as H,lt as U,mt as ne,pt as W,ut as G,wr as re}from"./index-C3E_66vw.js";import{n as K,t as ie}from"./toggle-group-DaT4acSz.js";import{n as ae,r as oe,t as se}from"./use-git-check-CmtXehtR.js";import{t as ce}from"./sorting-DqwxPMRN.js";import{t as le}from"./pending-changes-Bn-0ak1d.js";var q=t(),J=r();function ue(e){let t=(0,q.c)(8),{gitLoading:n,gitInstalled:r,version:i,platform:a,plan:o,onCheckAgain:s}=e;if(n&&r===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(f,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===i?e=t[2]:(e=(0,J.jsx)(ae,{version:i}),t[1]=i,t[2]=e),e}let c;return t[3]!==n||t[4]!==s||t[5]!==o||t[6]!==a?(c=(0,J.jsx)(oe,{platform:a,plan:o,checking:n,onCheckAgain:s}),t[3]=n,t[4]=s,t[5]=o,t[6]=a,t[7]=c):c=t[7],c}var Y=e(n(),1);function de(e){let t=(0,q.c)(34),{model:n,disabled:r,willBeEnabled:a,isRecommended:o,onToggle:l}=e,u;t[0]===n.id?u=t[1]:(u=j(n.id),t[0]=n.id,t[1]=u);let d=u,f=n.pricing,p=a&&o,m;t[2]!==n.id||t[3]!==l?(m=function(){l(n.id)},t[2]=n.id,t[3]=l,t[4]=m):m=t[4];let h=m,v=r&&`opacity-25`,b;t[5]===v?b=t[6]:(b=c(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default`,v),t[5]=v,t[6]=b);let x=`${d} ${a?`enabled`:`disabled`}`,S;t[7]!==r||t[8]!==h||t[9]!==n.id||t[10]!==x||t[11]!==a?(S=(0,J.jsx)(U,{id:n.id,disabled:r,value:a,onChange:h,ariaLabel:x}),t[7]=r,t[8]=h,t[9]=n.id,t[10]=x,t[11]=a,t[12]=S):S=t[12];let C=n.id,w;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=c(i.body,`peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`),t[13]=w):w=t[13];let T;t[14]===p?T=t[15]:(T=p&&(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:` (Recommended)`}),t[14]=p,t[15]=T);let E;t[16]!==d||t[17]!==n.id||t[18]!==T?(E=(0,J.jsxs)(`label`,{htmlFor:C,className:w,children:[d,T]}),t[16]=d,t[17]=n.id,t[18]=T,t[19]=E):E=t[19];let D;t[20]===f?D=t[21]:(D=f&&(0,J.jsx)(`span`,{className:c(i.compact,`text-muted-foreground whitespace-nowrap flex-shrink-0`),children:(f.prompt??0)<=0&&(f.completion??0)<=0?`Free`:`${s(f.prompt??0)} in | ${s(f.completion??0)} out`}),t[20]=f,t[21]=D);let O;t[22]!==E||t[23]!==D?(O=(0,J.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[E,D]}),t[22]=E,t[23]=D,t[24]=O):O=t[24];let k;t[25]!==O||t[26]!==b||t[27]!==S?(k=(0,J.jsx)(g,{asChild:!0,children:(0,J.jsxs)(`div`,{className:b,children:[S,O]})}),t[25]=O,t[26]=b,t[27]=S,t[28]=k):k=t[28];let A;t[29]===n.description?A=t[30]:(A=n.description&&(0,J.jsx)(_,{side:`top`,className:`max-w-xs`,children:(0,J.jsx)(`p`,{className:i.body,children:n.description})}),t[29]=n.description,t[30]=A);let M;return t[31]!==k||t[32]!==A?(M=(0,J.jsxs)(y,{children:[k,A]}),t[31]=k,t[32]=A,t[33]=M):M=t[33],M}function fe(e){let t=/^[^:]+:\s+(.+)$/.exec(e);return(t?t[1]:e).trim()}function pe(e){return[j(e.id),e.name,fe(e.name)]}function me(e,t){let n=new Set(t.map(e=>e.toLowerCase()));return pe(e).some(e=>n.has(e.toLowerCase()))}function he(e,t){return e.filter(e=>me(e,t)).map(e=>e.id)}var X=a(`app.model-selector.ui`),Z=`rounded-full border-0 px-3 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`;function ge({provider:e,onModelsChange:t,isLoading:n,disabled:r,displayMode:a=`grid`,autoSelectRecommended:o=!1}){let[s,u]=(0,Y.useState)([]),[p,h]=(0,Y.useState)(new Set),[g,_]=(0,Y.useState)(new Set),[y,b]=(0,Y.useState)(new Map),[x,S]=(0,Y.useState)(!1),[w,E]=(0,Y.useState)(``),[D,O]=(0,Y.useState)(`alphabetical`);(0,Y.useEffect)(()=>{k()},[e]);let k=async()=>{S(!0),E(``),O(`alphabetical`);try{let t=await C(e);u(t.models);let n=new Set(t.enabledModelIds);h(n);let r=new Map,i=new Set;if(o)try{let{models:e}=await T();i=new Set(he(t.models,e)),r=new Map([...i].filter(e=>!n.has(e)).map(e=>[e,!0]))}catch(e){X.error(`Failed to load recommended models:`,e)}_(i),b(r),A(n,r,t.models)}catch(t){X.error(`Failed to load models for ${e}:`,t),u([]),h(new Set),_(new Set)}finally{S(!1)}},A=(e,n,r=s)=>{let i=new Set(e);r.forEach(e=>{n.has(e.id)&&(n.get(e.id)?i.add(e.id):i.delete(e.id))}),t?.(i)},M=e=>{b(t=>{let n=le(t,e,p);return A(p,n),n})},N=e=>{b(t=>{let n=new Map(t);return s.forEach(t=>{let r=p.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),A(p,n),n})},P=e=>j(e.id);function F(e,t=y){let n=t.has(e),r=t.get(e);return n?!!r:p.has(e)}let I=ce({models:s,query:w,sortBy:D,getDisplayName:P,getPriority:e=>+!F(e.id)}),L=D===`alphabetical`?`alphabetical`:`price`;function R(e){if(e===`alphabetical`){O(`alphabetical`);return}e===`price`&&O(`price-low`)}function z(){D!==`alphabetical`&&O(e=>e===`price-low`?`price-high`:`price-low`)}return x||n?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(f,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):s.length===0?(0,J.jsx)(`div`,{className:`text-center py-8`,children:(0,J.jsx)(`p`,{className:i.bodyMuted,children:`No models available for this provider.`})}):a===`compact`?(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:c(`flex items-center justify-between gap-3`,r&&`opacity-25`),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,J.jsx)(U,{id:`select-all-models`,disabled:r,value:s.every(e=>F(e.id)),onChange:e=>N(e),ariaLabel:`Select all models`}),(0,J.jsx)(`label`,{htmlFor:`select-all-models`,className:c(i.body,`cursor-pointer`),children:`Select all models`})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,J.jsxs)(`div`,{className:`relative w-44 sm:w-52`,children:[(0,J.jsx)(m,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,J.jsx)(re,{placeholder:`Search models...`,value:w,onChange:e=>E(e.target.value),disabled:r,className:`pl-8 h-9`})]}),(0,J.jsxs)(ie,{type:`single`,value:L,onValueChange:R,"aria-label":`Sort models`,variant:`outline`,className:`inline-flex rounded-full border bg-muted/40 p-1`,children:[(0,J.jsx)(K,{value:`alphabetical`,"aria-label":`Sort A–Z`,disabled:r,className:Z,children:(0,J.jsx)(d,{className:`h-4 w-4`})}),(0,J.jsx)(K,{value:`price`,"aria-label":`Sort by price`,disabled:r,className:Z,onClick:z,children:(0,J.jsx)(l,{className:`h-4 w-4`})})]})]})]}),(0,J.jsx)(v,{children:(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-0 overflow-hidden rounded-md border border-table-border`,children:I.length===0?(0,J.jsx)(`div`,{className:`text-center py-4`,children:(0,J.jsx)(`p`,{className:i.bodyMuted,children:w?`No models match your search.`:`No models available.`})}):I.map(e=>(0,J.jsx)(de,{model:e,disabled:r,willBeEnabled:F(e.id),isRecommended:g.has(e.id),onToggle:M},e.id))})})]}):null}function _e(e){let t=(0,q.c)(4),{providerSlug:n,modelsLoading:r,onModelsChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(ge,{provider:n,isLoading:r,displayMode:`compact`,disabled:!1,autoSelectRecommended:!0,onModelsChange:i})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function Q(e,t,n){return e||t||n}function ve(e,t,n){return e||!t.trim()||!n}function ye(e){let t=(0,q.c)(38),{currentStep:n,savingOnboarding:r,gitLoading:i,validatingKey:a,connectingOpenRouter:o,apiKey:s,hasProvider:c,onSkip:l,onBack:d,onContinue:m,onValidate:g,onFinish:_}=e,v,y;t[0]!==s||t[1]!==o||t[2]!==c||t[3]!==r||t[4]!==a?(v=Q(r,a,o),y=ve(v,s,c),t[0]=s,t[1]=o,t[2]=c,t[3]=r,t[4]=a,t[5]=v,t[6]=y):(v=t[5],y=t[6]);let b=y,x;t[7]!==n||t[8]!==l||t[9]!==v?(x=n===`provider-selection`?(0,J.jsx)(h,{variant:`ghost`,onClick:l,disabled:v,children:`Skip for now`}):null,t[7]=n,t[8]=l,t[9]=v,t[10]=x):x=t[10];let S;t[11]===x?S=t[12]:(S=(0,J.jsx)(`div`,{children:x}),t[11]=x,t[12]=S);let C;t[13]!==n||t[14]!==d||t[15]!==v?(C=n===`git-check`?null:(0,J.jsx)(h,{variant:`outline`,onClick:d,disabled:v,children:`Back`}),t[13]=n,t[14]=d,t[15]=v,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==i||t[19]!==m?(w=n===`git-check`?(0,J.jsxs)(h,{onClick:m,disabled:i,className:`gap-2`,children:[`Continue `,(0,J.jsx)(u,{className:`h-4 w-4`})]}):null,t[17]=n,t[18]=i,t[19]=m,t[20]=w):w=t[20];let T;t[21]!==n||t[22]!==g||t[23]!==b||t[24]!==a?(T=n===`provider-selection`?(0,J.jsx)(h,{onClick:g,disabled:b,className:`gap-2`,children:a?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,J.jsxs)(J.Fragment,{children:[`Next `,(0,J.jsx)(u,{className:`h-4 w-4`})]})}):null,t[21]=n,t[22]=g,t[23]=b,t[24]=a,t[25]=T):T=t[25];let E;t[26]!==n||t[27]!==_||t[28]!==r?(E=n===`model-selection`?(0,J.jsx)(h,{onClick:_,disabled:r,className:`gap-2`,children:r?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,J.jsxs)(J.Fragment,{children:[`Finish `,(0,J.jsx)(p,{className:`h-4 w-4`})]})}):null,t[26]=n,t[27]=_,t[28]=r,t[29]=E):E=t[29];let D;t[30]!==C||t[31]!==w||t[32]!==T||t[33]!==E?(D=(0,J.jsxs)(`div`,{className:`flex gap-3`,children:[C,w,T,E]}),t[30]=C,t[31]=w,t[32]=T,t[33]=E,t[34]=D):D=t[34];let O;return t[35]!==S||t[36]!==D?(O=(0,J.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,J.jsxs)(I,{className:`flex items-center justify-between`,children:[S,D]})}),t[35]=S,t[36]=D,t[37]=O):O=t[37],O}function be(e){let t=(0,q.c)(22),{selectedProvider:n,onProviderChange:r,apiKey:a,onApiKeyChange:s,validatingKey:l,connectingOpenRouter:u,savingOnboarding:d,providerEnvValues:f,onProviderEnvChange:p,keyError:m,onConnectOpenRouter:h}=e,g;t[0]!==u||t[1]!==d||t[2]!==l?(g=Q(d,l,u),t[0]=u,t[1]=d,t[2]=l,t[3]=g):g=t[3];let _=g,v;t[4]!==a||t[5]!==s||t[6]!==h||t[7]!==r||t[8]!==_||t[9]!==n?(v=(0,J.jsx)(G,{selectedProvider:n,onProviderChange:r,showApiKeyInput:!0,apiKey:a,onApiKeyChange:s,variant:`dropdown`,isLoading:_,onConnectOpenRouter:h}),t[4]=a,t[5]=s,t[6]=h,t[7]=r,t[8]=_,t[9]=n,t[10]=v):v=t[10];let y;t[11]!==p||t[12]!==_||t[13]!==f||t[14]!==n?(y=n&&ne(n).map(e=>(0,J.jsx)(L,{label:(0,J.jsx)(N,{htmlFor:e,children:W(e)}),control:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`input`,{id:e,value:f[e]??``,onChange:t=>p(e,t.target.value),disabled:_,className:`h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base`,placeholder:o(n.slug)&&e===`LOCAL_API_URL`?n.api:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),n.slug===`azure`&&e===V(n)||o(n.slug)&&e===`LOCAL_API_URL`?(0,J.jsx)(`p`,{className:c(i.bodyMuted,`mt-2 break-all`),children:B(n,f)||n.api}):null]}),align:`start`},e)),t[11]=p,t[12]=_,t[13]=f,t[14]=n,t[15]=y):y=t[15];let b;t[16]===m?b=t[17]:(b=m?(0,J.jsx)(R,{variant:`error`,className:`mb-0`,children:m}):null,t[16]=m,t[17]=b);let x;return t[18]!==v||t[19]!==y||t[20]!==b?(x=(0,J.jsxs)(`div`,{className:`space-y-4`,children:[v,y,b]}),t[18]=v,t[19]=y,t[20]=b,t[21]=x):x=t[21],x}function xe(e){let t=(0,q.c)(3),{currentStep:n}=e;if(n===`provider-selection`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Select an AI Provider`}),(0,J.jsx)(P,{children:`Choose your preferred AI provider and enter your API key.`})]}),t[0]=e):e=t[0],e}if(n===`model-selection`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Select Models`}),(0,J.jsx)(P,{children:`Choose which models you want to use with this provider.`})]}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Let's get started`}),(0,J.jsx)(P,{children:`First, we need to check that Git is installed on your system.`})]}),t[2]=r):r=t[2],r}function Se(e){let t=(0,q.c)(26),{currentStep:n}=e,r=function(e){return e===`provider-selection`&&n===`provider-selection`||n===`model-selection`},a=function(e){return n===e},o=a(`git-check`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,s;t[0]===o?s=t[1]:(s=c(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,o),t[0]=o,t[1]=s);let l;t[2]===s?l=t[3]:(l=(0,J.jsx)(`div`,{className:s,children:`1`}),t[2]=s,t[3]=l);let u=r(`provider-selection`)?`bg-primary`:`bg-muted`,d;t[4]===u?d=t[5]:(d=c(`h-0.5 flex-1`,u),t[4]=u,t[5]=d);let f;t[6]===d?f=t[7]:(f=(0,J.jsx)(`div`,{className:d}),t[6]=d,t[7]=f);let p=a(`provider-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,m;t[8]===p?m=t[9]:(m=c(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,p),t[8]=p,t[9]=m);let h;t[10]===m?h=t[11]:(h=(0,J.jsx)(`div`,{className:m,children:`2`}),t[10]=m,t[11]=h);let g=r(`model-selection`)?`bg-primary`:`bg-muted`,_;t[12]===g?_=t[13]:(_=c(`h-0.5 flex-1`,g),t[12]=g,t[13]=_);let v;t[14]===_?v=t[15]:(v=(0,J.jsx)(`div`,{className:_}),t[14]=_,t[15]=v);let y=a(`model-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,b;t[16]===y?b=t[17]:(b=c(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,y),t[16]=y,t[17]=b);let x;t[18]===b?x=t[19]:(x=(0,J.jsx)(`div`,{className:b,children:`3`}),t[18]=b,t[19]=x);let S;return t[20]!==v||t[21]!==x||t[22]!==l||t[23]!==f||t[24]!==h?(S=(0,J.jsxs)(`div`,{className:`w-1/2 mx-auto flex items-center gap-2 mb-6`,children:[l,f,h,v,x]}),t[20]=v,t[21]=x,t[22]=l,t[23]=f,t[24]=h,t[25]=S):S=t[25],S}var $=a(`app.onboarding-dialog.ui`);async function Ce(){for(let e=0;e<120;e+=1){await new Promise(e=>window.setTimeout(e,1e3)),O.invalidate(`providers`);let e=(await w()).find(e=>e.slug.toLowerCase()===`openrouter`);if(e?.apiKey)return e}return null}function we(e,t,n){let[r,i]=(0,Y.useState)(`git-check`),a=se({enabled:e&&r===`git-check`}),o=(0,Y.useRef)(!1),[s,c]=(0,Y.useState)([]),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(``),[p,m]=(0,Y.useState)(!1),[h,g]=(0,Y.useState)({}),[_,v]=(0,Y.useState)(!1),[y,T]=(0,Y.useState)(``),[O,A]=(0,Y.useState)(new Set),[j,M]=(0,Y.useState)(!1),[N,P]=(0,Y.useState)(!1);async function F(){try{let e=await w();if(c(e),e.length>0&&!l){let t=te(e);t&&(u(t),f(t.apiKey??``),g(t.envValues??{}))}}catch(e){$.error(`Failed to load providers:`,e)}}async function I(){if(l){M(!0);try{await C(l.name),A(new Set)}catch(e){$.error(`Failed to load models:`,e)}finally{M(!1)}}}(0,Y.useEffect)(()=>{e&&r===`git-check`&&a.hasChecked&&!o.current&&(o.current=!0,a.gitInstalled&&i(`provider-selection`))},[e,r,a.hasChecked,a.gitInstalled]),(0,Y.useEffect)(()=>{e&&r===`provider-selection`&&s.length===0&&F()},[e,r,s.length]),(0,Y.useEffect)(()=>{e&&r===`model-selection`&&l&&I()},[e,r,l]);async function L(){if(!l||!d.trim()){T(`Please enter an API key`);return}let e=ne(l),t=e.find(e=>!h[e]?.trim());if(t){T(`Please enter ${W(t)}`);return}v(!0),T(``);try{e.length>0&&await S(Object.fromEntries(e.map(e=>[e,h[e].trim()]))),await x(l.slug,d),i(`model-selection`)}catch(e){T(e instanceof Error?e.message:`Failed to validate API key`)}finally{v(!1)}}async function R(){if(l){P(!0);try{for(let e of O)await b(l.slug,e);ee(),await k(),n?.(),t(!1)}catch(e){$.error(`Failed to complete onboarding:`,e)}finally{P(!1)}}}async function z(){P(!0);try{await k(),n?.(),t(!1)}catch(e){$.error(`Failed to skip onboarding:`,e)}finally{P(!1)}}function B(e){u(e),f(e.apiKey??``),g(e.envValues??{}),T(``)}function V(e,t){g(n=>({...n,[e]:t}))}function H(){i(`provider-selection`)}async function U(){if(!p){m(!0),T(``);try{await E(await D());let e=await Ce();if(!e){T(`OpenRouter connection timed out. You can enter an API key manually.`);return}u(e),f(e.apiKey??``),i(`model-selection`)}catch(e){T(e instanceof Error?e.message:`Failed to connect to OpenRouter`)}finally{m(!1)}}}function G(){r===`provider-selection`?i(`git-check`):r===`model-selection`&&i(`provider-selection`)}return{currentStep:r,git:a,selectedProvider:l,apiKey:d,setApiKey:f,connectingOpenRouter:p,validatingKey:_,savingOnboarding:N,providerEnvValues:h,keyError:y,modelsLoading:j,setEnabledModelIds:A,handleProviderChange:B,handleProviderEnvChange:V,handleGitCheckProceed:H,handleConnectOpenRouter:U,handleBack:G,skipOnboarding:z,validateAndMoveNext:L,finishOnboarding:R}}function Te(e){e.preventDefault()}function Ee(e){let t=(0,q.c)(47),{open:n,onOpenChange:r,onComplete:i}=e,a=we(n,r,i),o;t[0]===a.currentStep?o=t[1]:(o=(0,J.jsx)(Se,{currentStep:a.currentStep}),t[0]=a.currentStep,t[1]=o);let s;t[2]===a.currentStep?s=t[3]:(s=(0,J.jsx)(H,{children:(0,J.jsx)(xe,{currentStep:a.currentStep})}),t[2]=a.currentStep,t[3]=s);let c;t[4]!==o||t[5]!==s?(c=(0,J.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[o,s]}),t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]!==a.currentStep||t[8]!==a.git?(l=a.currentStep===`git-check`?(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(ue,{gitLoading:a.git.loading,gitInstalled:a.git.gitInstalled,version:a.git.version,platform:a.git.platform,plan:a.git.plan,onCheckAgain:()=>void a.git.check()})}):null,t[7]=a.currentStep,t[8]=a.git,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=a.currentStep===`provider-selection`?(0,J.jsx)(be,{selectedProvider:a.selectedProvider,onProviderChange:a.handleProviderChange,apiKey:a.apiKey,onApiKeyChange:a.setApiKey,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,savingOnboarding:a.savingOnboarding,providerEnvValues:a.providerEnvValues,onProviderEnvChange:a.handleProviderEnvChange,keyError:a.keyError,onConnectOpenRouter:()=>void a.handleConnectOpenRouter()}):null,t[10]=a,t[11]=u);let d;t[12]!==a.currentStep||t[13]!==a.modelsLoading||t[14]!==a.selectedProvider||t[15]!==a.setEnabledModelIds?(d=a.currentStep===`model-selection`&&a.selectedProvider?(0,J.jsx)(_e,{providerSlug:a.selectedProvider.slug,modelsLoading:a.modelsLoading,onModelsChange:a.setEnabledModelIds}):null,t[12]=a.currentStep,t[13]=a.modelsLoading,t[14]=a.selectedProvider,t[15]=a.setEnabledModelIds,t[16]=d):d=t[16];let f;t[17]!==l||t[18]!==u||t[19]!==d?(f=(0,J.jsx)(A,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`px-6 py-4`,children:[l,u,d]})}),t[17]=l,t[18]=u,t[19]=d,t[20]=f):f=t[20];let p=!!a.selectedProvider,m;t[21]===a?m=t[22]:(m=()=>void a.skipOnboarding(),t[21]=a,t[22]=m);let h,g;t[23]===a?(h=t[24],g=t[25]):(h=()=>void a.validateAndMoveNext(),g=()=>void a.finishOnboarding(),t[23]=a,t[24]=h,t[25]=g);let _;t[26]!==a.apiKey||t[27]!==a.connectingOpenRouter||t[28]!==a.currentStep||t[29]!==a.git.loading||t[30]!==a.handleBack||t[31]!==a.handleGitCheckProceed||t[32]!==a.savingOnboarding||t[33]!==a.validatingKey||t[34]!==h||t[35]!==g||t[36]!==p||t[37]!==m?(_=(0,J.jsx)(ye,{currentStep:a.currentStep,savingOnboarding:a.savingOnboarding,gitLoading:a.git.loading,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,apiKey:a.apiKey,hasProvider:p,onSkip:m,onBack:a.handleBack,onContinue:a.handleGitCheckProceed,onValidate:h,onFinish:g}),t[26]=a.apiKey,t[27]=a.connectingOpenRouter,t[28]=a.currentStep,t[29]=a.git.loading,t[30]=a.handleBack,t[31]=a.handleGitCheckProceed,t[32]=a.savingOnboarding,t[33]=a.validatingKey,t[34]=h,t[35]=g,t[36]=p,t[37]=m,t[38]=_):_=t[38];let v;t[39]!==_||t[40]!==c||t[41]!==f?(v=(0,J.jsxs)(F,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,onInteractOutside:Te,children:[c,f,_]}),t[39]=_,t[40]=c,t[41]=f,t[42]=v):v=t[42];let y;return t[43]!==r||t[44]!==n||t[45]!==v?(y=(0,J.jsx)(z,{open:n,onOpenChange:r,children:v}),t[43]=r,t[44]=n,t[45]=v,t[46]=y):y=t[46],y}export{ye as OnboardingFooter,Ee as default};
@@ -1 +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{i,n as a,r as o,t as s}from"./tooltip-JvDw-QDI.js";import{cr as c,dr as l,ur as u}from"./index-8x-2e2HM.js";var d=t(),f=e(n(),1),p=r(),m=`h-8 rounded-full border-0 bg-muted/40 p-0.5`,h=`rounded-full bg-foreground shadow-sm`,g=`h-7 rounded-full px-4 data-[state=active]:text-background`;function _(e){let t=(0,d.c)(12),{value:n,onValueChange:r,options:_,className:v}=e,y;t[0]===r?y=t[1]:(y=e=>r(e),t[0]=r,t[1]=y);let b;if(t[2]!==_){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=function(e){let t=(0,p.jsx)(l,{value:e.value,className:g,children:e.label});return e.tooltip?(0,p.jsxs)(s,{children:[(0,p.jsx)(i,{asChild:!0,children:t}),(0,p.jsx)(a,{children:e.tooltip})]},e.value):(0,p.jsx)(f.Fragment,{children:t},e.value)},t[4]=e):e=t[4],b=_.map(e),t[2]=_,t[3]=b}else b=t[3];let x;t[5]===b?x=t[6]:(x=(0,p.jsx)(u,{className:m,indicatorClassName:h,children:b}),t[5]=b,t[6]=x);let S;return t[7]!==v||t[8]!==y||t[9]!==x||t[10]!==n?(S=(0,p.jsx)(o,{children:(0,p.jsx)(c,{value:n,onValueChange:y,className:v,children:x})}),t[7]=v,t[8]=y,t[9]=x,t[10]=n,t[11]=S):S=t[11],S}export{_ as t};
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{i,n as a,r as o,t as s}from"./tooltip-Cqmpv-M5.js";import{cr as c,dr as l,ur as u}from"./index-C3E_66vw.js";var d=t(),f=e(n(),1),p=r(),m=`h-8 rounded-full border-0 bg-muted/40 p-0.5`,h=`rounded-full bg-foreground shadow-sm`,g=`h-7 rounded-full px-4 data-[state=active]:text-background`;function _(e){let t=(0,d.c)(12),{value:n,onValueChange:r,options:_,className:v}=e,y;t[0]===r?y=t[1]:(y=e=>r(e),t[0]=r,t[1]=y);let b;if(t[2]!==_){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=function(e){let t=(0,p.jsx)(l,{value:e.value,className:g,children:e.label});return e.tooltip?(0,p.jsxs)(s,{children:[(0,p.jsx)(i,{asChild:!0,children:t}),(0,p.jsx)(a,{children:e.tooltip})]},e.value):(0,p.jsx)(f.Fragment,{children:t},e.value)},t[4]=e):e=t[4],b=_.map(e),t[2]=_,t[3]=b}else b=t[3];let x;t[5]===b?x=t[6]:(x=(0,p.jsx)(u,{className:m,indicatorClassName:h,children:b}),t[5]=b,t[6]=x);let S;return t[7]!==v||t[8]!==y||t[9]!==x||t[10]!==n?(S=(0,p.jsx)(o,{children:(0,p.jsx)(c,{value:n,onValueChange:y,className:v,children:x})}),t[7]=v,t[8]=y,t[9]=x,t[10]=n,t[11]=S):S=t[11],S}export{_ as t};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Vt as n}from"./dist-DFsjr0PN.js";import{t as r}from"./utils-Buz2Fe6i.js";var i=e(),a=t();function o(e){let t=(0,i.c)(7),{size:n,className:o,"aria-label":s}=e,c=n===void 0?20:n,l;t[0]===o?l=t[1]:(l=r(`shrink-0 text-brand`,o),t[0]=o,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,a.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeWidth:2,children:[(0,a.jsx)(`circle`,{className:`ai-spinner-ring`,cx:`8`,cy:`8`,r:7}),(0,a.jsx)(`circle`,{className:`ai-spinner-ring ai-spinner-ring-second`,cx:`8`,cy:`8`,r:7})]}),t[2]=u):u=t[2];let d;return t[3]!==s||t[4]!==c||t[5]!==l?(d=(0,a.jsx)(`svg`,{role:`img`,"aria-label":s,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,width:c,height:c,className:l,children:u}),t[3]=s,t[4]=c,t[5]=l,t[6]=d):d=t[6],d}function s(e){switch(e){case`searching`:return`Searching`;case`solving`:return`Thinking`;default:return`Working`}}function c(e){let t=(0,i.c)(20),{centered:c,className:l,containerClassName:u,label:d,size:f,state:p}=e,m=c===void 0?!1:c,h=f===void 0?`md`:f,g=p===void 0?`working`:p,_=h===`sm`?16:h===`lg`?32:20,v;t[0]!==d||t[1]!==g?(v=d??s(g),t[0]=d,t[1]=g,t[2]=v):v=t[2];let y=m&&`mx-auto`,b;t[3]!==l||t[4]!==y?(b=r(y,l),t[3]=l,t[4]=y,t[5]=b):b=t[5];let x;t[6]!==_||t[7]!==v||t[8]!==b?(x=(0,a.jsx)(o,{size:_,"aria-label":v,className:b}),t[6]=_,t[7]=v,t[8]=b,t[9]=x):x=t[9];let S=x;if(!m)return S;let C;t[10]===u?C=t[11]:(C=r(`flex h-full items-center justify-center`,u),t[10]=u,t[11]=C);let w;t[12]===d?w=t[13]:(w=d?(0,a.jsx)(`p`,{"aria-hidden":`true`,className:r(n.bodyMuted,`mt-2`),children:d}):null,t[12]=d,t[13]=w);let T;t[14]!==S||t[15]!==w?(T=(0,a.jsxs)(`div`,{className:`text-center`,children:[S,w]}),t[14]=S,t[15]=w,t[16]=T):T=t[16];let E;return t[17]!==T||t[18]!==C?(E=(0,a.jsx)(`div`,{className:C,children:T}),t[17]=T,t[18]=C,t[19]=E):E=t[19],E}export{c as t};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ut as n}from"./dist-Ch137qdo.js";import{t as r}from"./utils-CWTBjUlE.js";var i=e(),a=t();function o(e){let t=(0,i.c)(7),{size:n,className:o,"aria-label":s}=e,c=n===void 0?20:n,l;t[0]===o?l=t[1]:(l=r(`shrink-0 text-brand`,o),t[0]=o,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,a.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeWidth:2,children:[(0,a.jsx)(`circle`,{className:`ai-spinner-ring`,cx:`8`,cy:`8`,r:7}),(0,a.jsx)(`circle`,{className:`ai-spinner-ring ai-spinner-ring-second`,cx:`8`,cy:`8`,r:7})]}),t[2]=u):u=t[2];let d;return t[3]!==s||t[4]!==c||t[5]!==l?(d=(0,a.jsx)(`svg`,{role:`img`,"aria-label":s,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,width:c,height:c,className:l,children:u}),t[3]=s,t[4]=c,t[5]=l,t[6]=d):d=t[6],d}function s(e){switch(e){case`searching`:return`Searching`;case`solving`:return`Thinking`;default:return`Working`}}function c(e){let t=(0,i.c)(20),{centered:c,className:l,containerClassName:u,label:d,size:f,state:p}=e,m=c===void 0?!1:c,h=f===void 0?`md`:f,g=p===void 0?`working`:p,_=h===`sm`?16:h===`lg`?32:20,v;t[0]!==d||t[1]!==g?(v=d??s(g),t[0]=d,t[1]=g,t[2]=v):v=t[2];let y=m&&`mx-auto`,b;t[3]!==l||t[4]!==y?(b=r(y,l),t[3]=l,t[4]=y,t[5]=b):b=t[5];let x;t[6]!==_||t[7]!==v||t[8]!==b?(x=(0,a.jsx)(o,{size:_,"aria-label":v,className:b}),t[6]=_,t[7]=v,t[8]=b,t[9]=x):x=t[9];let S=x;if(!m)return S;let C;t[10]===u?C=t[11]:(C=r(`flex h-full items-center justify-center`,u),t[10]=u,t[11]=C);let w;t[12]===d?w=t[13]:(w=d?(0,a.jsx)(`p`,{"aria-hidden":`true`,className:r(n.bodyMuted,`mt-2`),children:d}):null,t[12]=d,t[13]=w);let T;t[14]!==S||t[15]!==w?(T=(0,a.jsxs)(`div`,{className:`text-center`,children:[S,w]}),t[14]=S,t[15]=w,t[16]=T):T=t[16];let E;return t[17]!==T||t[18]!==C?(E=(0,a.jsx)(`div`,{className:C,children:T}),t[17]=T,t[18]=C,t[19]=E):E=t[19],E}export{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{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Ut as a,yn as o}from"./dist-Ch137qdo.js";import{n as s,tt as c}from"./store-CEYCdhjW.js";import{t as l}from"./utils-CWTBjUlE.js";import{b as u,dt as d}from"./lucide-react-C-dX1rVz.js";import{t as f}from"./button-DVIjvd2G.js";import{i as p,n as m,r as h,t as g}from"./tooltip-Cqmpv-M5.js";import{Xn as _,Yn as v,tr as y,xt as b}from"./api-IMkL19mR.js";import{t as x}from"./progress-indicator-QgGbLfer.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{At as C,B as w,Cr as T,Ct as E,Dt as D,Pt as O,bt as k,jt as A,kt as j,lt as M,wr as N}from"./index-C3E_66vw.js";import{i as P}from"./commit-method-fields-Bylj8VjO.js";import{t as F}from"./use-settings-page-loading-CpaBd260.js";var I=t(),L=r();function R(e){let t=(0,I.c)(4),{useBuiltInBrowser:n,disabled:r,onChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,L.jsx)(k,{title:`Built-in Browser`,description:`When enabled, Tarsk shows the Browser tab and opens detected dev URLs in the app. When disabled, the tab is hidden and URLs open in your system browser.`,controlLayout:`row-end`,action:(0,L.jsx)(M,{value:n,onChange:i,disabled:r,ariaLabel:`Built-in Browser`})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function z(e){return e===o.PullRequest?`Feature branches are created and pull requests can be created.`:`Commits are made directly to the main branch without feature branches.`}function B(e){let t=(0,I.c)(9),{commitMethod:n,loading:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=z(n),t[0]=n,t[1]=a);let o;t[2]!==n||t[3]!==r||t[4]!==i?(o=(0,L.jsx)(P,{commitMethod:n,onCommitMethodChange:i,disabled:r}),t[2]=n,t[3]=r,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,L.jsx)(k,{title:`Commit Method`,description:a,controlLayout:`row-end`,action:o}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function V(e){let t=(0,I.c)(10),{allowAllCommands:n,patterns:r,disabled:i,onRemove:o}=e;if(n||r.length===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(T,{children:`Allowed command patterns`}),t[0]=s):s=t[0];let c;if(t[1]!==i||t[2]!==o||t[3]!==r){let e;t[5]!==i||t[6]!==o?(e=e=>(0,L.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-border px-3 py-2`,children:[(0,L.jsx)(`code`,{className:l(a.mono,a.bodyMuted),children:e}),(0,L.jsx)(f,{type:`button`,variant:`ghost`,size:`sm`,disabled:i,onClick:()=>o(e),children:`Remove`})]},e),t[5]=i,t[6]=o,t[7]=e):e=t[7],c=r.map(e),t[1]=i,t[2]=o,t[3]=r,t[4]=c}else c=t[4];let u;return t[8]===c?u=t[9]:(u=(0,L.jsxs)(`div`,{className:`space-y-2 mt-3`,children:[s,(0,L.jsx)(`ul`,{className:`space-y-1`,children:c})]}),t[8]=c,t[9]=u),u}function H(e){let t=(0,I.c)(16),{allowAllCommands:n,allowedCommandPatterns:r,loading:i,controlsDisabled:a,onAllowAllChange:o,onPatternsChange:s}=e,c=!n,l;t[0]===o?l=t[1]:(l=e=>o(!e),t[0]=o,t[1]=l);let u;t[2]!==i||t[3]!==c||t[4]!==l?(u=(0,L.jsx)(M,{value:c,onChange:l,disabled:i,ariaLabel:`Confirm Commands`}),t[2]=i,t[3]=c,t[4]=l,t[5]=u):u=t[5];let d;t[6]===s?d=t[7]:(d=e=>s(t=>t.filter(t=>t!==e)),t[6]=s,t[7]=d);let f;t[8]!==n||t[9]!==r||t[10]!==a||t[11]!==d?(f=(0,L.jsx)(V,{allowAllCommands:n,patterns:r,disabled:a,onRemove:d}),t[8]=n,t[9]=r,t[10]=a,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==u||t[14]!==f?(p=(0,L.jsx)(k,{title:`Confirm Commands`,description:`When enabled, the agent asks for approval before running bash commands, skill scripts, and browser shell calls.`,controlLayout:`row-end`,action:u,children:f}),t[13]=u,t[14]=f,t[15]=p):p=t[15],p}function ee(e){let t=(0,I.c)(22),{runCmd:n,loading:r,suggestingCommand:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n||t[4]!==c?(l=(0,L.jsx)(N,{id:`runCommand`,value:n,onChange:c,placeholder:`e.g. npm run dev`,className:`font-mono pr-10`,disabled:r}),t[2]=r,t[3]=n,t[4]=c,t[5]=l):l=t[5];let d;t[6]===s?d=t[7]:(d=()=>void s(),t[6]=s,t[7]=d);let _;t[8]===i?_=t[9]:(_=i?(0,L.jsx)(x,{size:`sm`}):(0,L.jsx)(u,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=_);let v;t[10]!==a||t[11]!==d||t[12]!==_?(v=(0,L.jsx)(p,{asChild:!0,children:(0,L.jsx)(f,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-1 right-1 h-8 w-8`,onClick:d,disabled:a,"aria-label":`Generate run command with AI`,children:_})}),t[10]=a,t[11]=d,t[12]=_,t[13]=v):v=t[13];let y=i?`Working out the run command...`:`Detect the project's dev script, or generate one with AI`,b;t[14]===y?b=t[15]:(b=(0,L.jsx)(m,{children:y}),t[14]=y,t[15]=b);let S;t[16]!==v||t[17]!==b?(S=(0,L.jsx)(h,{children:(0,L.jsxs)(g,{children:[v,b]})}),t[16]=v,t[17]=b,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,L.jsx)(k,{title:`Run Command`,description:`The command to start the dev server. Leave empty to disable run functionality.`,children:(0,L.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}function U(e){let t=(0,I.c)(8),{saving:n,disabled:r,onSave:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=n?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(d,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[2]=n,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,L.jsx)(f,{onClick:a,disabled:r,children:o}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function W(e){let t=(0,I.c)(22),{value:n,loading:r,suggestingScript:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==c||t[4]!==n?(l=(0,L.jsx)(w,{id:`setupScript`,value:n,onChange:c,placeholder:`e.g. npm install`,className:`font-mono min-h-[80px] resize-none pr-10`,disabled:r}),t[2]=r,t[3]=c,t[4]=n,t[5]=l):l=t[5];let d;t[6]===s?d=t[7]:(d=()=>void s(),t[6]=s,t[7]=d);let _;t[8]===i?_=t[9]:(_=i?(0,L.jsx)(x,{size:`sm`}):(0,L.jsx)(u,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=_);let v;t[10]!==a||t[11]!==d||t[12]!==_?(v=(0,L.jsx)(p,{asChild:!0,children:(0,L.jsx)(f,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:d,disabled:a,"aria-label":`Generate setup script with AI`,children:_})}),t[10]=a,t[11]=d,t[12]=_,t[13]=v):v=t[13];let y=i?`Working out the setup script...`:`Generate the dependency install script with AI`,b;t[14]===y?b=t[15]:(b=(0,L.jsx)(m,{children:y}),t[14]=y,t[15]=b);let S;t[16]!==v||t[17]!==b?(S=(0,L.jsx)(h,{children:(0,L.jsxs)(g,{children:[v,b]})}),t[16]=v,t[17]=b,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,L.jsx)(k,{title:`Setup Script`,description:`This script runs automatically after cloning the repo for new threads.`,children:(0,L.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}var G=e(n(),1);async function K(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await b(e);t.setValue(n.setupScript??``),t.setRunCmd(n.runCommand??``),t.setCommitMethod(n.commitMethod??o.PullRequest),t.setAllowAllCommands(n.allowAllCommands!==!1),t.setAllowedCommandPatterns(n.allowedCommandPatterns??[]),t.setUseBuiltInBrowser(n.useBuiltInBrowser!==!1),t.setOriginalValue(n.setupScript??``),t.setOriginalRunCmd(n.runCommand??``),t.setOriginalCommitMethod(n.commitMethod??o.PullRequest),t.setOriginalAllowAllCommands(n.allowAllCommands!==!1),t.setOriginalAllowedCommandPatterns(n.allowedCommandPatterns??[]),t.setOriginalUseBuiltInBrowser(n.useBuiltInBrowser!==!1)}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to load coding settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function q(e,t,n){n(!0);try{let n=await v(e);if(!n.runCommand){S({title:`No run command found`,description:n.reason??`Could not detect a dev script in the project's package.json`});return}t(n.runCommand),S({title:n.source===`ai`?`Generated run command`:`Detected run command`,description:n.runCommand})}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest command`,variant:`destructive`})}finally{n(!1)}}async function J(e,t,n){n(!0);try{let n=await _(e);if(!n.setupScript){S({title:`No setup script found`,description:n.reason??`Could not work out how to install this project's dependencies`});return}t(n.setupScript),S({title:n.source===`ai`?`Generated setup script`:`Detected setup script`,description:n.setupScript})}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest setup script`,variant:`destructive`})}finally{n(!1)}}async function Y(e,t,n,r){await y(e,{setupScript:t.trim()||null,runCommand:n.trim()||null,commitMethod:r})}async function X(e,t,n,r,i){(t!==r||JSON.stringify(n)!==JSON.stringify(i))&&await y(e,{allowAllCommands:t,allowedCommandPatterns:n})}async function Z(e,t,n){t!==n&&await y(e,{useBuiltInBrowser:t})}function te(e){return e.value!==e.originalValue||e.runCmd!==e.originalRunCmd||e.commitMethod!==e.originalCommitMethod||e.allowAllCommands!==e.originalAllowAllCommands||JSON.stringify(e.allowedCommandPatterns)!==JSON.stringify(e.originalAllowedCommandPatterns)||e.useBuiltInBrowser!==e.originalUseBuiltInBrowser}async function ne(e,t,n){n.setSaving(!0);try{return await Y(e,t.value,t.runCmd,t.commitMethod),await X(e,t.allowAllCommands,t.allowedCommandPatterns,t.originalAllowAllCommands,t.originalAllowedCommandPatterns),await Z(e,t.useBuiltInBrowser,t.originalUseBuiltInBrowser),n.setOriginalValue(t.value),n.setOriginalRunCmd(t.runCmd),n.setOriginalCommitMethod(t.commitMethod),n.setOriginalAllowAllCommands(t.allowAllCommands),n.setOriginalAllowedCommandPatterns(t.allowedCommandPatterns),n.setOriginalUseBuiltInBrowser(t.useBuiltInBrowser),!0}catch(e){return S({title:`Error`,description:e instanceof Error?e.message:`Failed to save coding settings`,variant:`destructive`}),!1}finally{n.setSaving(!1)}}function re(e){let{setValue:t,setRunCmd:n,setCommitMethod:r,setAllowAllCommands:i,setAllowedCommandPatterns:a,setUseBuiltInBrowser:o,setOriginalValue:s,setOriginalRunCmd:c,setOriginalCommitMethod:l,setOriginalAllowAllCommands:u,setOriginalAllowedCommandPatterns:d,setOriginalUseBuiltInBrowser:f,setLoading:p,setSaving:m,setSuggestingCommand:h}=e;return e}function ie(){let e=(0,I.c)(8),[t,n]=(0,G.useState)(``),[r,i]=(0,G.useState)(``),[a,s]=(0,G.useState)(o.PullRequest),[c,l]=(0,G.useState)(!0),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[0]=u):u=e[0];let[d,f]=(0,G.useState)(u),[p,m]=(0,G.useState)(!0),h;return e[1]!==c||e[2]!==d||e[3]!==a||e[4]!==r||e[5]!==p||e[6]!==t?(h={value:t,setValue:n,runCmd:r,setRunCmd:i,commitMethod:a,setCommitMethod:s,allowAllCommands:c,setAllowAllCommands:l,allowedCommandPatterns:d,setAllowedCommandPatterns:f,useBuiltInBrowser:p,setUseBuiltInBrowser:m},e[1]=c,e[2]=d,e[3]=a,e[4]=r,e[5]=p,e[6]=t,e[7]=h):h=e[7],h}function ae(){let e=(0,I.c)(8),[t,n]=(0,G.useState)(``),[r,i]=(0,G.useState)(``),[a,s]=(0,G.useState)(o.PullRequest),[c,l]=(0,G.useState)(!0),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[0]=u):u=e[0];let[d,f]=(0,G.useState)(u),[p,m]=(0,G.useState)(!0),h;return e[1]!==c||e[2]!==d||e[3]!==a||e[4]!==r||e[5]!==p||e[6]!==t?(h={originalValue:t,setOriginalValue:n,originalRunCmd:r,setOriginalRunCmd:i,originalCommitMethod:a,setOriginalCommitMethod:s,originalAllowAllCommands:c,setOriginalAllowAllCommands:l,originalAllowedCommandPatterns:d,setOriginalAllowedCommandPatterns:f,originalUseBuiltInBrowser:p,setOriginalUseBuiltInBrowser:m},e[1]=c,e[2]=d,e[3]=a,e[4]=r,e[5]=p,e[6]=t,e[7]=h):h=e[7],h}function Q(e,t){let n=(0,I.c)(87),r=i(),a=s(),o=ie(),l=ae(),{value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,setCommitMethod:h,allowAllCommands:g,setAllowAllCommands:_,allowedCommandPatterns:v,setAllowedCommandPatterns:y,useBuiltInBrowser:b,setUseBuiltInBrowser:x}=o,{originalValue:S,setOriginalValue:C,originalRunCmd:w,setOriginalRunCmd:T,originalCommitMethod:E,setOriginalCommitMethod:D,originalAllowAllCommands:O,setOriginalAllowAllCommands:k,originalAllowedCommandPatterns:A,setOriginalAllowedCommandPatterns:j,originalUseBuiltInBrowser:M,setOriginalUseBuiltInBrowser:N}=l,[P,L]=(0,G.useState)(!1),[R,z]=(0,G.useState)(!1),[B,V]=(0,G.useState)(!1),[H,ee]=(0,G.useState)(!0),U;n[0]!==_||n[1]!==y||n[2]!==h||n[3]!==k||n[4]!==j||n[5]!==D||n[6]!==T||n[7]!==N||n[8]!==C||n[9]!==p||n[10]!==x||n[11]!==d?(U={setValue:d,setRunCmd:p,setCommitMethod:h,setAllowAllCommands:_,setAllowedCommandPatterns:y,setUseBuiltInBrowser:x,setOriginalValue:C,setOriginalRunCmd:T,setOriginalCommitMethod:D,setOriginalAllowAllCommands:k,setOriginalAllowedCommandPatterns:j,setOriginalUseBuiltInBrowser:N,setLoading:ee,setSaving:L,setSuggestingCommand:z},n[0]=_,n[1]=y,n[2]=h,n[3]=k,n[4]=j,n[5]=D,n[6]=T,n[7]=N,n[8]=C,n[9]=p,n[10]=x,n[11]=d,n[12]=U):U=n[12];let W=re(U),Y;n[13]!==e||n[14]!==W?(Y=()=>K(e,W),n[13]=e,n[14]=W,n[15]=Y):Y=n[15];let X=Y,Z,Q;n[16]===e?(Z=n[17],Q=n[18]):(Z=()=>{e&&ee(!0)},Q=[e],n[16]=e,n[17]=Z,n[18]=Q),(0,G.useLayoutEffect)(Z,Q);let $,se;n[19]===X?($=n[20],se=n[21]):($=()=>{X()},se=[X],n[19]=X,n[20]=$,n[21]=se),(0,G.useEffect)($,se);let ce;n[22]===H?ce=n[23]:(ce=[H],n[22]=H,n[23]=ce);let le=F(e,ce),ue;n[24]===h?ue=n[25]:(ue=function(e){h(e)},n[24]=h,n[25]=ue);let de=ue,fe;n[26]!==e||n[27]!==p?(fe=async function(){e&&await q(e,p,z)},n[26]=e,n[27]=p,n[28]=fe):fe=n[28];let pe=fe,me;n[29]!==e||n[30]!==d?(me=async function(){e&&await J(e,d,V)},n[29]=e,n[30]=d,n[31]=me):me=n[31];let he=me,ge;n[32]!==g||n[33]!==v||n[34]!==m||n[35]!==a||n[36]!==r||n[37]!==t||n[38]!==O||n[39]!==A||n[40]!==E||n[41]!==w||n[42]!==M||n[43]!==S||n[44]!==e||n[45]!==f||n[46]!==W||n[47]!==b||n[48]!==u?(ge=async function(){if(!e)return;let n=f.trim()!==``&&w.trim()===``;await ne(e,{value:u,runCmd:f,commitMethod:m,allowAllCommands:g,allowedCommandPatterns:v,useBuiltInBrowser:b,originalValue:S,originalRunCmd:w,originalCommitMethod:E,originalAllowAllCommands:O,originalAllowedCommandPatterns:A,originalUseBuiltInBrowser:M},W)&&(n&&a({type:c.SetRunCommandSaved,projectId:e}),t&&t().catch(oe),r(`/`))},n[32]=g,n[33]=v,n[34]=m,n[35]=a,n[36]=r,n[37]=t,n[38]=O,n[39]=A,n[40]=E,n[41]=w,n[42]=M,n[43]=S,n[44]=e,n[45]=f,n[46]=W,n[47]=b,n[48]=u,n[49]=ge):ge=n[49];let _e=ge,ve=H||P,ye=H||R||B,be;n[50]!==g||n[51]!==v||n[52]!==m||n[53]!==O||n[54]!==A||n[55]!==E||n[56]!==w||n[57]!==M||n[58]!==S||n[59]!==f||n[60]!==b||n[61]!==u?(be=te({value:u,runCmd:f,commitMethod:m,allowAllCommands:g,allowedCommandPatterns:v,useBuiltInBrowser:b,originalValue:S,originalRunCmd:w,originalCommitMethod:E,originalAllowAllCommands:O,originalAllowedCommandPatterns:A,originalUseBuiltInBrowser:M}),n[50]=g,n[51]=v,n[52]=m,n[53]=O,n[54]=A,n[55]=E,n[56]=w,n[57]=M,n[58]=S,n[59]=f,n[60]=b,n[61]=u,n[62]=be):be=n[62];let xe=be,Se;return n[63]!==g||n[64]!==v||n[65]!==m||n[66]!==ve||n[67]!==de||n[68]!==_e||n[69]!==pe||n[70]!==he||n[71]!==xe||n[72]!==H||n[73]!==le||n[74]!==f||n[75]!==P||n[76]!==_||n[77]!==y||n[78]!==p||n[79]!==x||n[80]!==d||n[81]!==ye||n[82]!==R||n[83]!==B||n[84]!==b||n[85]!==u?(Se={value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,saving:P,suggestingCommand:R,suggestingScript:B,loading:H,allowAllCommands:g,setAllowAllCommands:_,allowedCommandPatterns:v,setAllowedCommandPatterns:y,useBuiltInBrowser:b,setUseBuiltInBrowser:x,pageLoading:le,handleCommitMethodChange:de,handleSuggestCommand:pe,handleSuggestSetupScript:he,handleSave:_e,controlsDisabled:ve,suggestDisabled:ye,hasUnsavedChanges:xe},n[63]=g,n[64]=v,n[65]=m,n[66]=ve,n[67]=de,n[68]=_e,n[69]=pe,n[70]=he,n[71]=xe,n[72]=H,n[73]=le,n[74]=f,n[75]=P,n[76]=_,n[77]=y,n[78]=p,n[79]=x,n[80]=d,n[81]=ye,n[82]=R,n[83]=B,n[84]=b,n[85]=u,n[86]=Se):Se=n[86],Se}function oe(){}function $(e){let t=(0,I.c)(47),{projectId:n,onProjectUpdated:r}=e,{value:i,setValue:a,runCmd:o,setRunCmd:s,commitMethod:c,saving:l,suggestingCommand:u,suggestingScript:d,loading:f,allowAllCommands:p,setAllowAllCommands:m,allowedCommandPatterns:h,setAllowedCommandPatterns:g,useBuiltInBrowser:_,setUseBuiltInBrowser:v,pageLoading:y,handleCommitMethodChange:b,handleSuggestCommand:x,handleSuggestSetupScript:S,handleSave:w,controlsDisabled:T,suggestDisabled:k,hasUnsavedChanges:M}=Q(n,r);if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,L.jsx)(C,{title:`No project selected`,children:`Please select a project from the sidebar to view its coding settings.`}),t[0]=e):e=t[0],e}let N=T||!M,P;t[1]!==w||t[2]!==l||t[3]!==N?(P=(0,L.jsx)(E,{title:`Setup`,description:`Scripts and command behavior Tarsk uses when working on this project.`,action:(0,L.jsx)(U,{saving:l,disabled:N,onSave:w}),sticky:!1}),t[1]=w,t[2]=l,t[3]=N,t[4]=P):P=t[4];let F;t[5]!==S||t[6]!==f||t[7]!==a||t[8]!==k||t[9]!==d||t[10]!==i?(F=(0,L.jsx)(W,{value:i,loading:f,suggestingScript:d,suggestDisabled:k,onChange:a,onSuggest:S}),t[5]=S,t[6]=f,t[7]=a,t[8]=k,t[9]=d,t[10]=i,t[11]=F):F=t[11];let z;t[12]!==x||t[13]!==f||t[14]!==o||t[15]!==s||t[16]!==k||t[17]!==u?(z=(0,L.jsx)(ee,{runCmd:o,loading:f,suggestingCommand:u,suggestDisabled:k,onChange:s,onSuggest:x}),t[12]=x,t[13]=f,t[14]=o,t[15]=s,t[16]=k,t[17]=u,t[18]=z):z=t[18];let V;t[19]!==c||t[20]!==b||t[21]!==f?(V=(0,L.jsx)(B,{commitMethod:c,loading:f,onChange:b}),t[19]=c,t[20]=b,t[21]=f,t[22]=V):V=t[22];let G;t[23]!==p||t[24]!==h||t[25]!==T||t[26]!==f||t[27]!==m||t[28]!==g?(G=(0,L.jsx)(H,{allowAllCommands:p,allowedCommandPatterns:h,loading:f,controlsDisabled:T,onAllowAllChange:m,onPatternsChange:g}),t[23]=p,t[24]=h,t[25]=T,t[26]=f,t[27]=m,t[28]=g,t[29]=G):G=t[29];let K;t[30]!==T||t[31]!==v||t[32]!==_?(K=(0,L.jsx)(R,{useBuiltInBrowser:_,disabled:T,onChange:v}),t[30]=T,t[31]=v,t[32]=_,t[33]=K):K=t[33];let q;t[34]!==F||t[35]!==z||t[36]!==V||t[37]!==G||t[38]!==K?(q=(0,L.jsx)(A,{className:`max-w-none pt-6`,children:(0,L.jsxs)(j,{children:[F,z,V,G,K]})}),t[34]=F,t[35]=z,t[36]=V,t[37]=G,t[38]=K,t[39]=q):q=t[39];let J;t[40]!==P||t[41]!==q?(J=(0,L.jsxs)(O,{className:`shrink-0`,children:[P,q]}),t[40]=P,t[41]=q,t[42]=J):J=t[42];let Y;return t[43]!==y||t[44]!==n||t[45]!==J?(Y=(0,L.jsx)(D,{loading:y,children:J},n),t[43]=y,t[44]=n,t[45]=J,t[46]=Y):Y=t[46],Y}export{$ as default};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Vt as n}from"./dist-DFsjr0PN.js";import{r}from"./store-N5DWaLPi.js";import{u as i}from"./utils-Buz2Fe6i.js";import{t as a}from"./button-CltOBnLJ.js";import{At as o,Ct as s,Dt as c,Pt as l,i as u,jt as d}from"./index-8x-2e2HM.js";var f=e(),p=t();function m(e){let t=(0,f.c)(11),{projectId:m}=e,h=u(),g;t[0]===m?g=t[1]:(g=e=>e.projects.find(e=>e.projectId===m),t[0]=m,t[1]=g);let _=r(g);if(!m){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(o,{title:`No project selected`,children:`Please select a project from the sidebar to manage its danger zone.`}),t[2]=e):e=t[2],e}let v=_?.builtIn===!0,y;t[3]===_?y=t[4]:(y=_?i(_):``,t[3]=_,t[4]=y);let b=y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,p.jsx)(s,{title:`Danger Zone`,description:`Irreversible actions for this project.`,sticky:!1}),t[5]=x):x=t[5];let S;return t[6]!==v||t[7]!==m||t[8]!==b||t[9]!==h?(S=(0,p.jsx)(c,{loading:!1,children:(0,p.jsxs)(l,{className:`shrink-0`,children:[x,(0,p.jsx)(d,{className:`max-w-none pt-6`,children:v?(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Built-in bots cannot be deleted.`}):(0,p.jsxs)(`div`,{className:`flex flex-col items-start gap-4`,children:[(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Permanently removes the project, its threads, and all associated storage. This action cannot be undone.`}),(0,p.jsx)(a,{type:`button`,variant:`destructive`,onClick:()=>{h({id:m,name:b})},children:`Delete Project`})]})})]})}),t[6]=v,t[7]=m,t[8]=b,t[9]=h,t[10]=S):S=t[10],S}export{m as default};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ut as n}from"./dist-Ch137qdo.js";import{r}from"./store-CEYCdhjW.js";import{u as i}from"./utils-CWTBjUlE.js";import{t as a}from"./button-DVIjvd2G.js";import{At as o,Ct as s,Dt as c,Pt as l,i as u,jt as d}from"./index-C3E_66vw.js";var f=e(),p=t();function m(e){let t=(0,f.c)(11),{projectId:m}=e,h=u(),g;t[0]===m?g=t[1]:(g=e=>e.projects.find(e=>e.projectId===m),t[0]=m,t[1]=g);let _=r(g);if(!m){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(o,{title:`No project selected`,children:`Please select a project from the sidebar to manage its danger zone.`}),t[2]=e):e=t[2],e}let v=_?.builtIn===!0,y;t[3]===_?y=t[4]:(y=_?i(_):``,t[3]=_,t[4]=y);let b=y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,p.jsx)(s,{title:`Danger Zone`,description:`Irreversible actions for this project.`,sticky:!1}),t[5]=x):x=t[5];let S;return t[6]!==v||t[7]!==m||t[8]!==b||t[9]!==h?(S=(0,p.jsx)(c,{loading:!1,children:(0,p.jsxs)(l,{className:`shrink-0`,children:[x,(0,p.jsx)(d,{className:`max-w-none pt-6`,children:v?(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Built-in bots cannot be deleted.`}):(0,p.jsxs)(`div`,{className:`flex flex-col items-start gap-4`,children:[(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Permanently removes the project, its threads, and all associated storage. This action cannot be undone.`}),(0,p.jsx)(a,{type:`button`,variant:`destructive`,onClick:()=>{h({id:m,name:b})},children:`Delete Project`})]})})]})}),t[6]=v,t[7]=m,t[8]=b,t[9]=h,t[10]=S):S=t[10],S}export{m as default};
@@ -1 +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{Vt as a,at as o}from"./dist-DFsjr0PN.js";import{t as s}from"./utils-Buz2Fe6i.js";import{Kt as c,dt as l,qt as u,r as d}from"./lucide-react-CNNzKD4G.js";import{t as f}from"./button-CltOBnLJ.js";import{Tt as p,Xn as m}from"./api-BnJTzqjz.js";import{t as h}from"./use-toast-xpb5jNtN.js";import{At as g,Ct as _,Dt as v,Pt as y,jt as b,wr as x}from"./index-8x-2e2HM.js";import{t as S}from"./use-settings-page-loading-CpaBd260.js";var C=t(),w=e(n(),1),T=r();function E(e){let t=(0,C.c)(20),{entry:n,index:r,loading:i,onValueChange:a}=e,l=o(n.name),[d,p]=(0,w.useState)(!1),m=n.value.length>0||n.hasExistingValue,h=n.hasExistingValue&&!n.value?`••••••••`:`value`;(0,w.useEffect)(()=>{l||p(!1)},[l]);let g=x,_=l&&!d?`password`:`text`,v=n.value,y;t[0]!==r||t[1]!==a?(y=e=>a(r,e.target.value),t[0]=r,t[1]=a,t[2]=y):y=t[2];let b=s(`font-mono`,l&&`pr-10`),S;t[3]!==g||t[4]!==n.value||t[5]!==i||t[6]!==h||t[7]!==_||t[8]!==y||t[9]!==b?(S=(0,T.jsx)(g,{type:_,placeholder:h,value:v,onChange:y,className:b,disabled:i}),t[3]=g,t[4]=n.value,t[5]=i,t[6]=h,t[7]=_,t[8]=y,t[9]=b,t[10]=S):S=t[10];let E;t[11]!==m||t[12]!==l||t[13]!==i||t[14]!==p||t[15]!==d?(E=l?(0,T.jsx)(f,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 h-8 w-8 -translate-y-1/2 p-0`,onClick:()=>p(D),disabled:i||!m,"aria-label":d?`Hide value`:`Show value`,children:d?(0,T.jsx)(u,{className:`h-4 w-4 text-muted-foreground`}):(0,T.jsx)(c,{className:`h-4 w-4 text-muted-foreground`})}):null,t[11]=m,t[12]=l,t[13]=i,t[14]=p,t[15]=d,t[16]=E):E=t[16];let O;return t[17]!==S||t[18]!==E?(O=(0,T.jsxs)(`div`,{className:`relative flex-1`,children:[S,E]}),t[17]=S,t[18]=E,t[19]=O):O=t[19],O}function D(e){return!e}function O(e){let t=(0,C.c)(8),{saving:n,disabled:r,onSave:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(l,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[2]=n,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,T.jsx)(f,{onClick:a,disabled:r,children:o}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function k({projectId:e}){let t=i(),[n,r]=(0,w.useState)([]),[o,s]=(0,w.useState)([]),[c,l]=(0,w.useState)(!0),[u,C]=(0,w.useState)(!1),D=(0,w.useCallback)(async()=>{if(!e){l(!1);return}l(!0);try{let t=(await p(e)).vars.map(e=>({name:e.name,value:e.value??``,hasExistingValue:e.hasValue&&e.value===void 0}));r(t),s(t)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to load environment variables`,variant:`destructive`})}finally{l(!1)}},[e]);(0,w.useLayoutEffect)(()=>{e&&l(!0)},[e]),(0,w.useEffect)(()=>{D()},[D]);let k=S(e,[c]);function A(){r(e=>[...e,{name:``,value:``,hasExistingValue:!1}])}function j(e,t){r(n=>n.map((n,r)=>r===e?{...n,name:t.toUpperCase()}:n))}function M(e,t){r(n=>n.map((n,r)=>r===e?{...n,value:t}:n))}function N(e){r(t=>t.filter((t,n)=>n!==e))}function P(){if(n.length!==o.length)return!0;for(let e=0;e<n.length;e+=1){let t=n[e],r=o[e];if(!r||t.name!==r.name||t.value!==r.value||t.hasExistingValue!==r.hasExistingValue)return!0}return!1}async function F(){if(!(!e||!P())){C(!0);try{let r=n.map(e=>({name:e.name.trim(),value:e.value,hasExistingValue:e.hasExistingValue})).filter(e=>e.name.length>0),i=r.find((e,t)=>r.findIndex(t=>t.name===e.name)!==t);if(i)throw Error(`Duplicate environment variable name: ${i.name}`);let a=r.find(e=>!e.hasExistingValue&&!e.value.trim());if(a)throw Error(`Value is required for environment variable: ${a.name}`);await m(e,r.map(e=>({name:e.name,value:e.value.trim()||void 0}))),s(n.map(e=>({...e,value:``}))),await D(),t(`/`)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to save environment variables`,variant:`destructive`})}finally{C(!1)}}}let I=P();return e?(0,T.jsx)(v,{loading:k,children:(0,T.jsxs)(y,{className:`shrink-0`,children:[(0,T.jsx)(_,{title:`Environment Variables`,description:`Encrypted in Tarsk and injected for bash commands and MCP tools.`,action:(0,T.jsx)(f,{onClick:A,disabled:c||u,children:`Add`}),sticky:!1}),(0,T.jsxs)(b,{className:`max-w-none pt-6`,children:[n.length===0?(0,T.jsx)(`p`,{className:a.caption,children:`No environment variables configured`}):(0,T.jsx)(`div`,{className:`flex flex-col gap-2`,children:n.map((e,t)=>(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(x,{placeholder:`API_KEY`,value:e.name,onChange:e=>j(t,e.target.value),className:`w-[35%] font-mono`,disabled:c}),(0,T.jsx)(E,{entry:e,index:t,loading:c,onValueChange:M}),(0,T.jsx)(f,{variant:`ghost`,size:`icon`,onClick:()=>N(t),className:`h-9 w-9 shrink-0`,disabled:c||u,"aria-label":`Remove variable`,children:(0,T.jsx)(d,{className:`h-3.5 w-3.5`})})]},t))}),I?(0,T.jsx)(`div`,{className:`flex justify-end pt-6`,children:(0,T.jsx)(O,{saving:u,disabled:u||c,onSave:F})}):null]})]})}):(0,T.jsx)(g,{title:`No project selected`,children:`Please select a project from the sidebar to manage environment variables.`})}export{k as default};
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{Ut as a,st as o}from"./dist-Ch137qdo.js";import{t as s}from"./utils-CWTBjUlE.js";import{Kt as c,dt as l,qt as u,r as d}from"./lucide-react-C-dX1rVz.js";import{t as f}from"./button-DVIjvd2G.js";import{Zn as p,wt as m}from"./api-IMkL19mR.js";import{t as h}from"./use-toast-xpb5jNtN.js";import{At as g,Ct as _,Dt as v,Pt as y,jt as b,wr as x}from"./index-C3E_66vw.js";import{t as S}from"./use-settings-page-loading-CpaBd260.js";var C=t(),w=e(n(),1),T=r();function E(e){let t=(0,C.c)(20),{entry:n,index:r,loading:i,onValueChange:a}=e,l=o(n.name),[d,p]=(0,w.useState)(!1),m=n.value.length>0||n.hasExistingValue,h=n.hasExistingValue&&!n.value?`••••••••`:`value`;(0,w.useEffect)(()=>{l||p(!1)},[l]);let g=x,_=l&&!d?`password`:`text`,v=n.value,y;t[0]!==r||t[1]!==a?(y=e=>a(r,e.target.value),t[0]=r,t[1]=a,t[2]=y):y=t[2];let b=s(`font-mono`,l&&`pr-10`),S;t[3]!==g||t[4]!==n.value||t[5]!==i||t[6]!==h||t[7]!==_||t[8]!==y||t[9]!==b?(S=(0,T.jsx)(g,{type:_,placeholder:h,value:v,onChange:y,className:b,disabled:i}),t[3]=g,t[4]=n.value,t[5]=i,t[6]=h,t[7]=_,t[8]=y,t[9]=b,t[10]=S):S=t[10];let E;t[11]!==m||t[12]!==l||t[13]!==i||t[14]!==p||t[15]!==d?(E=l?(0,T.jsx)(f,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 h-8 w-8 -translate-y-1/2 p-0`,onClick:()=>p(D),disabled:i||!m,"aria-label":d?`Hide value`:`Show value`,children:d?(0,T.jsx)(u,{className:`h-4 w-4 text-muted-foreground`}):(0,T.jsx)(c,{className:`h-4 w-4 text-muted-foreground`})}):null,t[11]=m,t[12]=l,t[13]=i,t[14]=p,t[15]=d,t[16]=E):E=t[16];let O;return t[17]!==S||t[18]!==E?(O=(0,T.jsxs)(`div`,{className:`relative flex-1`,children:[S,E]}),t[17]=S,t[18]=E,t[19]=O):O=t[19],O}function D(e){return!e}function O(e){let t=(0,C.c)(8),{saving:n,disabled:r,onSave:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(l,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[2]=n,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,T.jsx)(f,{onClick:a,disabled:r,children:o}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function k({projectId:e}){let t=i(),[n,r]=(0,w.useState)([]),[o,s]=(0,w.useState)([]),[c,l]=(0,w.useState)(!0),[u,C]=(0,w.useState)(!1),D=(0,w.useCallback)(async()=>{if(!e){l(!1);return}l(!0);try{let t=(await m(e)).vars.map(e=>({name:e.name,value:e.value??``,hasExistingValue:e.hasValue&&e.value===void 0}));r(t),s(t)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to load environment variables`,variant:`destructive`})}finally{l(!1)}},[e]);(0,w.useLayoutEffect)(()=>{e&&l(!0)},[e]),(0,w.useEffect)(()=>{D()},[D]);let k=S(e,[c]);function A(){r(e=>[...e,{name:``,value:``,hasExistingValue:!1}])}function j(e,t){r(n=>n.map((n,r)=>r===e?{...n,name:t.toUpperCase()}:n))}function M(e,t){r(n=>n.map((n,r)=>r===e?{...n,value:t}:n))}function N(e){r(t=>t.filter((t,n)=>n!==e))}function P(){if(n.length!==o.length)return!0;for(let e=0;e<n.length;e+=1){let t=n[e],r=o[e];if(!r||t.name!==r.name||t.value!==r.value||t.hasExistingValue!==r.hasExistingValue)return!0}return!1}async function F(){if(!(!e||!P())){C(!0);try{let r=n.map(e=>({name:e.name.trim(),value:e.value,hasExistingValue:e.hasExistingValue})).filter(e=>e.name.length>0),i=r.find((e,t)=>r.findIndex(t=>t.name===e.name)!==t);if(i)throw Error(`Duplicate environment variable name: ${i.name}`);let a=r.find(e=>!e.hasExistingValue&&!e.value.trim());if(a)throw Error(`Value is required for environment variable: ${a.name}`);await p(e,r.map(e=>({name:e.name,value:e.value.trim()||void 0}))),s(n.map(e=>({...e,value:``}))),await D(),t(`/`)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to save environment variables`,variant:`destructive`})}finally{C(!1)}}}let I=P();return e?(0,T.jsx)(v,{loading:k,children:(0,T.jsxs)(y,{className:`shrink-0`,children:[(0,T.jsx)(_,{title:`Environment Variables`,description:`Encrypted in Tarsk and injected for bash commands and MCP tools.`,action:(0,T.jsx)(f,{onClick:A,disabled:c||u,children:`Add`}),sticky:!1}),(0,T.jsxs)(b,{className:`max-w-none pt-6`,children:[n.length===0?(0,T.jsx)(`p`,{className:a.caption,children:`No environment variables configured`}):(0,T.jsx)(`div`,{className:`flex flex-col gap-2`,children:n.map((e,t)=>(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(x,{placeholder:`API_KEY`,value:e.name,onChange:e=>j(t,e.target.value),className:`w-[35%] font-mono`,disabled:c}),(0,T.jsx)(E,{entry:e,index:t,loading:c,onValueChange:M}),(0,T.jsx)(f,{variant:`ghost`,size:`icon`,onClick:()=>N(t),className:`h-9 w-9 shrink-0`,disabled:c||u,"aria-label":`Remove variable`,children:(0,T.jsx)(d,{className:`h-3.5 w-3.5`})})]},t))}),I?(0,T.jsx)(`div`,{className:`flex justify-end pt-6`,children:(0,T.jsx)(O,{saving:u,disabled:u||c,onSave:F})}):null]})]})}):(0,T.jsx)(g,{title:`No project selected`,children:`Please select a project from the sidebar to manage environment variables.`})}export{k as default};
@@ -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{An as i,Bn as a,Hn as o,Mn as s,Nn as c,Pn as l,Ut as u,Vn as d,jn as f}from"./dist-Ch137qdo.js";import{t as p}from"./utils-CWTBjUlE.js";import{t as m}from"./button-DVIjvd2G.js";import{$ as h,er as g,tt as _}from"./api-IMkL19mR.js";import{t as v}from"./use-toast-xpb5jNtN.js";import{$t as y,Bt as b,Ct as x,Dt as S,Ft as C,Ht as w,It as T,Lt as E,Pt as D,Rt as O,_t as k,jt as A,xt as j,zt as M}from"./index-C3E_66vw.js";import{a as N,i as P,n as F,o as I,r as L,t as R}from"./table-DHvBIex4.js";import{t as z}from"./use-settings-page-loading-CpaBd260.js";var B=e(n(),1),V=t(),H=r(),U=`__unspecified__`,W=`__default__`,G=`Unsupported`,K=`table-fixed`,q=`[&_tr]:border-b-0`,J=`h-9 px-0 py-2`,Y=p(J,`w-40`),X=p(J,`w-56`),Z=`py-2 pl-0 pr-4 align-middle`,Q=`py-2 pl-0 align-middle`;function $(e){let t=(0,V.c)(20),{alias:n,target:r,supportedReasoningEfforts:i,disabled:a,onReasoningChange:o}=e;if(!r)return null;if(i.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`span`,{className:u.bodyMuted,children:G}),t[0]=e):e=t[0],e}let s=r.reasoningEffort??W,c;t[1]!==n||t[2]!==o?(c=e=>o(n,e),t[1]=n,t[2]=o,t[3]=c):c=t[3];let l=`model-alias-${n}-reasoning`,p=`${f[n]} reasoning effort`,m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,H.jsx)(b,{placeholder:`Model default`}),t[4]=m):m=t[4];let h;t[5]!==l||t[6]!==p?(h=(0,H.jsx)(M,{id:l,className:`w-full min-w-0`,"aria-label":p,children:m}),t[5]=l,t[6]=p,t[7]=h):h=t[7];let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,H.jsx)(E,{value:W,children:`Model default`}),t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,H.jsx)(E,{value:`off`,children:d(`off`)}),t[9]=_):_=t[9];let v;t[10]===i?v=t[11]:(v=i.map(ee),t[10]=i,t[11]=v);let y;t[12]===v?y=t[13]:(y=(0,H.jsxs)(T,{children:[g,_,v]}),t[12]=v,t[13]=y);let x;return t[14]!==a||t[15]!==s||t[16]!==y||t[17]!==c||t[18]!==h?(x=(0,H.jsxs)(C,{value:s,onValueChange:c,disabled:a,children:[h,y]}),t[14]=a,t[15]=s,t[16]=y,t[17]=c,t[18]=h,t[19]=x):x=t[19],x}function ee(e){return(0,H.jsx)(E,{value:e,children:d(e)},e)}function te(e){let t=(0,V.c)(21),{value:n,onChange:r,enabledModels:a,disabled:u}=e,d=u===void 0?!1:u,p;if(t[0]!==a){p=new Map;for(let e of a){let t=e.provider??`other`,n=p.get(t);n?n.push(e):p.set(t,[e])}t[0]=a,t[1]=p}else p=t[1];let m=p,h;t[2]!==r||t[3]!==n?(h=function(e,t){let i={...n};if(t===U){delete i[e],r(i);return}let a=c(t);a&&(i[e]=a,r(i))},t[2]=r,t[3]=n,t[4]=h):h=t[4];let g=h,_;t[5]===a?_=t[6]:(_=function(e){if(!e)return;let t=e.provider.toLowerCase();return a.find(n=>n.id===e.model&&(n.provider??`other`).toLowerCase()===t)},t[5]=a,t[6]=_);let v=_,x;t[7]!==r||t[8]!==n?(x=function(e,t){let i=n[e];if(!i)return;let a={...i};if(t===W)delete a.reasoningEffort;else if(o(t))a.reasoningEffort=t;else return;r({...n,[e]:a})},t[7]=r,t[8]=n,t[9]=x):x=t[9];let S=x,w;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,H.jsx)(N,{className:q,children:(0,H.jsxs)(`tr`,{children:[(0,H.jsx)(P,{className:Y,children:`Name`}),(0,H.jsx)(P,{className:J,children:`Model`}),(0,H.jsx)(P,{className:X,children:`Reasoning`})]})}),t[10]=w):w=t[10];let D;t[11]!==d||t[12]!==a||t[13]!==v||t[14]!==g||t[15]!==S||t[16]!==m||t[17]!==n?(D=s.map(e=>{let t=n[e],r=t?l(t):U,o=v(t)?.supportedReasoningEfforts??[];return(0,H.jsxs)(I,{className:`hover:bg-transparent`,children:[(0,H.jsx)(L,{className:Z,children:(0,H.jsx)(j,{title:f[e],description:i[e]})}),(0,H.jsx)(L,{className:Z,children:(0,H.jsxs)(C,{value:r,onValueChange:t=>g(e,t),disabled:d,children:[(0,H.jsx)(M,{id:`model-alias-${e}`,className:`w-full min-w-0`,children:(0,H.jsx)(b,{placeholder:`Unspecified`,children:t?(0,H.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,H.jsx)(k,{providerSlug:t.provider}),(0,H.jsx)(`span`,{className:`truncate`,children:y(t.model)})]}):`Unspecified`})}),(0,H.jsxs)(T,{children:[(0,H.jsx)(E,{value:U,children:`Unspecified`}),a.length>0&&(0,H.jsx)(O,{}),[...m.entries()].map(ne)]})]})}),(0,H.jsx)(L,{className:Q,children:(0,H.jsx)($,{alias:e,target:t,supportedReasoningEfforts:o,disabled:d,onReasoningChange:S})})]},e)}),t[11]=d,t[12]=a,t[13]=v,t[14]=g,t[15]=S,t[16]=m,t[17]=n,t[18]=D):D=t[18];let A;return t[19]===D?A=t[20]:(A=(0,H.jsx)(`div`,{id:`model-aliases`,children:(0,H.jsxs)(R,{className:K,children:[w,(0,H.jsx)(F,{children:D})]})}),t[19]=D,t[20]=A),A}function ne(e){let[t,n]=e;return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`div`,{className:p(u.dropdownGroupHeading,`flex items-center gap-1.5 px-2 py-1.5 uppercase`),children:[(0,H.jsx)(k,{providerSlug:t}),t]}),n.map(e=>{let n=l({provider:e.provider??t,model:e.id});return(0,H.jsx)(E,{value:n,children:y(e.id)},n)})]},t)}function re(e){return[...e].sort((e,t)=>{let n=(e.provider??``).localeCompare(t.provider??``);return n===0?y(e.id).localeCompare(y(t.id)):n})}function ie(){let[e,t]=(0,B.useState)({}),[n,r]=(0,B.useState)({}),[i,o]=(0,B.useState)([]),[s,c]=(0,B.useState)(!0),[l,u]=(0,B.useState)(!1),d=(0,B.useCallback)(async()=>{c(!0);try{let[e,n]=await Promise.all([h(),_().catch(()=>({}))]),i=e.modelAliases??{};o(re(Object.values(n).flat())),t(i),r(i)}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to load model aliases`,variant:`destructive`})}finally{c(!1)}},[]);(0,B.useEffect)(()=>{d()},[d]);let f=z(`model-aliases`,[s]);function p(){return JSON.stringify(e)!==JSON.stringify(n)}async function y(){if(p()){u(!0);try{let t=Object.keys(e).length>0?e:void 0;if(t){let e=await _();a(t,Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.map(e=>e.id)])))}await g({modelAliases:t??null}),r(e),window.dispatchEvent(new Event(w)),await d()}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to save model aliases`,variant:`destructive`})}finally{u(!1)}}}return(0,H.jsx)(S,{loading:f,children:(0,H.jsxs)(D,{className:`shrink-0`,children:[(0,H.jsx)(x,{title:`Default Models`,description:`Choose the default model for new chats and map Tarsk-wide short names (fast, local, cheap, smart) to enabled models. Subagents can reference these aliases in AGENT.md. Set Cheap to enable Orchestrate mode.`,action:(0,H.jsx)(m,{onClick:()=>void y(),disabled:s||l||!p(),children:`Save`}),sticky:!1}),(0,H.jsx)(A,{className:`max-w-none pt-6`,children:(0,H.jsx)(te,{value:e,onChange:t,enabledModels:i,disabled:s||l})})]})})}export{ie as default};
@@ -1 +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{Dt as a}from"./dist-DFsjr0PN.js";import{r as o}from"./store-N5DWaLPi.js";import{Ot as s,dt as c}from"./lucide-react-CNNzKD4G.js";import{t as l}from"./button-CltOBnLJ.js";import{i as u,n as d,r as f,t as ee}from"./tooltip-JvDw-QDI.js";import{$n as p,Ct as m,Qr as h,St as g,Tn as _,er as v}from"./api-BnJTzqjz.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{At as b,B as x,Ct as te,Dt as ne,Jn as re,Pt as ie,Qn as S,Xn as C,Yn as w,bt as ae,jt as oe,kt as se,o as ce,wr as le}from"./index-8x-2e2HM.js";import{t as ue}from"./use-settings-page-loading-CpaBd260.js";var T=t(),E=e(n(),1),D=r();function de(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`The selected file is not a readable image.`)),r.src=e})}async function fe(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await g(e);t.setProjectPath(n.projectPath??null),t.setName(n.name??``),t.setProjectIcon(n.projectIcon??null),t.setOriginalName(n.name??``),t.setOriginalProjectIcon(n.projectIcon??null);try{let n=await m(e,`AGENTS.md`);t.setInstructions(n.content),t.setOriginalInstructions(n.content)}catch{t.setInstructions(``),t.setOriginalInstructions(``)}}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load project settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function O(e,t){try{let n=await de(e),r=document.createElement(`canvas`);r.width=256,r.height=256;let i=r.getContext(`2d`);if(!i)throw Error(`Could not prepare image conversion`);i.imageSmoothingEnabled=!0,i.imageSmoothingQuality=`high`;let a=Math.max(256/n.naturalWidth,256/n.naturalHeight),o=n.naturalWidth*a,s=n.naturalHeight*a;i.drawImage(n,(256-o)/2,(256-s)/2,o,s),t(r.toDataURL(`image/png`))}catch(e){y({title:`Could not use image`,description:e instanceof Error?e.message:`The selected file could not be read.`,variant:`destructive`})}}async function k(e,t){let n=e.target.files?.[0];if(e.target.value=``,!n)return;let r=URL.createObjectURL(n);try{await O(r,t)}finally{URL.revokeObjectURL(r)}}async function A(e,t,n){t!==n&&await v(e,t)}async function j(e,t,n){t!==n&&await _(e,`AGENTS.md`,t)}async function M(e,t,n){t!==n&&await p(e,{projectIcon:t})}async function pe(e,t,n,r,i,a){n.setSaving(!0);try{await A(e,t.name,t.originalName),await j(e,t.instructions,t.originalInstructions),await M(e,t.projectIcon,t.originalProjectIcon),n.setOriginalName(t.name),n.setOriginalInstructions(t.instructions),n.setOriginalProjectIcon(t.projectIcon),r&&await r(),await a(),i(`/`)}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to save settings`,variant:`destructive`})}finally{n.setSaving(!1)}}function me(e){let t=(0,T.c)(26),{projectIcon:n,entityNoun:r,disabled:i,inputRef:a,onFileChange:o,onButtonClick:c,onRemove:l}=e,p;t[0]!==i||t[1]!==a||t[2]!==o?(p=(0,D.jsx)(`input`,{ref:a,type:`file`,accept:`image/*`,className:`sr-only`,onChange:o,disabled:i}),t[0]=i,t[1]=a,t[2]=o,t[3]=p):p=t[3];let m=n?`Change project icon`:`Choose project icon`,h;t[4]===n?h=t[5]:(h=n?(0,D.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`}):(0,D.jsx)(s,{className:`h-8 w-8 text-muted-foreground`,strokeWidth:1.5}),t[4]=n,t[5]=h);let g;t[6]!==i||t[7]!==c||t[8]!==m||t[9]!==h?(g=(0,D.jsx)(S,{asChild:!0,children:(0,D.jsx)(u,{asChild:!0,children:(0,D.jsx)(`button`,{type:`button`,className:`flex h-16 w-16 items-center justify-center overflow-hidden rounded-lg border border-border bg-muted/40 outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:c,disabled:i,"aria-label":m,children:h})})}),t[6]=i,t[7]=c,t[8]=m,t[9]=h,t[10]=g):g=t[10];let _;t[11]===r?_=t[12]:(_=(0,D.jsxs)(d,{side:`bottom`,className:`max-w-xs`,children:[`Choose an avatar for this `,r,` (pick any image from your computer)`]}),t[11]=r,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,D.jsx)(f,{delayDuration:300,children:(0,D.jsxs)(ee,{children:[g,_]})}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]!==i||t[17]!==l||t[18]!==n?(y=n&&(0,D.jsx)(w,{children:(0,D.jsx)(C,{disabled:i,onSelect:l,children:`Remove`})}),t[16]=i,t[17]=l,t[18]=n,t[19]=y):y=t[19];let b;t[20]!==v||t[21]!==y?(b=(0,D.jsxs)(re,{children:[v,y]}),t[20]=v,t[21]=y,t[22]=b):b=t[22];let x;return t[23]!==p||t[24]!==b?(x=(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,b]}),t[23]=p,t[24]=b,t[25]=x):x=t[25],x}function he(e){let t=(0,T.c)(6),{saving:n,disabled:r,onClick:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(c,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,D.jsx)(l,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function ge(e,t,n){let r=(0,T.c)(13),i;r[0]===e?i=r[1]:(i=function(t){return O(t,e)},r[0]=e,r[1]=i);let a=i,o,s;r[2]===a?(o=r[3],s=r[4]):(o=()=>{if(!h())return;let e=function(e){let t=e.detail.dataUrl;a(t)};return window.addEventListener(`tarsk:project-icon-selected`,e),()=>{window.removeEventListener(`tarsk:project-icon-selected`,e)}},s=[a],r[2]=a,r[3]=o,r[4]=s),(0,E.useEffect)(o,s);let c;r[5]===e?c=r[6]:(c=function(t){return k(t,e)},r[5]=e,r[6]=c);let l=c,u;r[7]!==n||r[8]!==t?(u=function(){h()&&t?ce(t):n.current?.click()},r[7]=n,r[8]=t,r[9]=u):u=r[9];let d=u,f;return r[10]!==d||r[11]!==l?(f={handleProjectIconChange:l,handleProjectIconButtonClick:d},r[10]=d,r[11]=l,r[12]=f):f=r[12],f}function N(e){let t=(0,T.c)(55),{projectId:n,onProjectUpdated:r}=e,s=i(),c;t[0]===n?c=t[1]:(c=e=>e.projects.find(e=>e.projectId===n)?.type,t[0]=n,t[1]=c);let l=a({type:o(c)})?`bot`:`project`,[u,d]=(0,E.useState)(``),[f,ee]=(0,E.useState)(``),[p,m]=(0,E.useState)(``),[h,g]=(0,E.useState)(!1),[_,v]=(0,E.useState)(!0),[y,re]=(0,E.useState)(``),[S,C]=(0,E.useState)(null),[w,ce]=(0,E.useState)(null),[de,O]=(0,E.useState)(null),k=(0,E.useRef)(null),A;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(A={setProjectPath:O,setName:d,setInstructions:ee,setProjectIcon:C,setOriginalName:re,setOriginalInstructions:m,setOriginalProjectIcon:ce,setLoading:v,setSaving:g},t[2]=A):A=t[2];let j=A,M;t[3]===n?M=t[4]:(M=()=>fe(n,j),t[3]=n,t[4]=M);let N=M,P,F;t[5]===n?(P=t[6],F=t[7]):(P=()=>{n&&v(!0)},F=[n],t[5]=n,t[6]=P,t[7]=F),(0,E.useLayoutEffect)(P,F);let I,L;t[8]===N?(I=t[9],L=t[10]):(I=()=>{N()},L=[N],t[8]=N,t[9]=I,t[10]=L),(0,E.useEffect)(I,L);let R;t[11]===_?R=t[12]:(R=[_],t[11]=_,t[12]=R);let z=ue(n,R),{handleProjectIconChange:B,handleProjectIconButtonClick:V}=ge(C,de,k),H;t[13]!==f||t[14]!==N||t[15]!==u||t[16]!==s||t[17]!==r||t[18]!==p||t[19]!==y||t[20]!==w||t[21]!==S||t[22]!==n?(H=async()=>{n&&await pe(n,{name:u,instructions:f,projectIcon:S,originalName:y,originalInstructions:p,originalProjectIcon:w},j,r,s,N)},t[13]=f,t[14]=N,t[15]=u,t[16]=s,t[17]=r,t[18]=p,t[19]=y,t[20]=w,t[21]=S,t[22]=n,t[23]=H):H=t[23];let _e=H,U=_||h,ve=u!==y||f!==p||S!==w;if(!n){let e;return t[24]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(b,{title:`No project selected`,children:`Please select a project from the sidebar to view its settings.`}),t[24]=e):e=t[24],e}let ye=U||!ve,W;t[25]!==_e||t[26]!==h||t[27]!==ye?(W=(0,D.jsx)(te,{title:`Project Settings`,description:`Configure settings for your project.`,action:(0,D.jsx)(he,{saving:h,disabled:ye,onClick:_e}),sticky:!1}),t[25]=_e,t[26]=h,t[27]=ye,t[28]=W):W=t[28];let G;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>C(null),t[29]=G):G=t[29];let K;t[30]!==U||t[31]!==V||t[32]!==B||t[33]!==l||t[34]!==S?(K=(0,D.jsx)(`div`,{className:`flex justify-center`,children:(0,D.jsx)(me,{projectIcon:S,entityNoun:l,disabled:U,inputRef:k,onFileChange:B,onButtonClick:V,onRemove:G})}),t[30]=U,t[31]=V,t[32]=B,t[33]=l,t[34]=S,t[35]=K):K=t[35];let q;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>d(e.target.value),t[36]=q):q=t[36];let J;t[37]!==_||t[38]!==u?(J=(0,D.jsx)(ae,{title:`Name`,controlLayout:`stack`,children:(0,D.jsx)(le,{id:`projectName`,value:u,onChange:q,placeholder:`Enter project name`,disabled:_})}),t[37]=_,t[38]=u,t[39]=J):J=t[39];let Y;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(Y=e=>ee(e.target.value),t[40]=Y):Y=t[40];let X;t[41]!==f||t[42]!==_?(X=(0,D.jsx)(ae,{title:`Instructions`,description:`Agent context and coding guidelines, stored in AGENTS.md. New threads start from a copy of this file.`,controlLayout:`stack`,children:(0,D.jsx)(x,{id:`projectInstructions`,value:f,onChange:Y,placeholder:`Add instructions for your agent in AGENTS.md...`,className:`font-mono min-h-[376px] resize-none`,disabled:_})}),t[41]=f,t[42]=_,t[43]=X):X=t[43];let Z;t[44]!==K||t[45]!==J||t[46]!==X?(Z=(0,D.jsx)(oe,{className:`max-w-none pt-6`,children:(0,D.jsxs)(se,{children:[K,J,X]})}),t[44]=K,t[45]=J,t[46]=X,t[47]=Z):Z=t[47];let Q;t[48]!==W||t[49]!==Z?(Q=(0,D.jsxs)(ie,{className:`shrink-0`,children:[W,Z]}),t[48]=W,t[49]=Z,t[50]=Q):Q=t[50];let $;return t[51]!==z||t[52]!==n||t[53]!==Q?($=(0,D.jsx)(ne,{loading:z,children:Q},n),t[51]=z,t[52]=n,t[53]=Q,t[54]=$):$=t[54],$}export{N as default};
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{kt as a}from"./dist-Ch137qdo.js";import{r as o}from"./store-CEYCdhjW.js";import{Ot as s,dt as c}from"./lucide-react-C-dX1rVz.js";import{t as l}from"./button-DVIjvd2G.js";import{i as u,n as d,r as f,t as ee}from"./tooltip-Cqmpv-M5.js";import{St as p,ei as m,nr as h,tr as g,wn as _,xt as v}from"./api-IMkL19mR.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{At as b,B as x,Ct as te,Dt as ne,Jn as re,Pt as ie,Qn as S,Xn as C,Yn as w,bt as ae,jt as oe,kt as se,o as ce,wr as le}from"./index-C3E_66vw.js";import{t as ue}from"./use-settings-page-loading-CpaBd260.js";var T=t(),E=e(n(),1),D=r();function de(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`The selected file is not a readable image.`)),r.src=e})}async function fe(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await v(e);t.setProjectPath(n.projectPath??null),t.setName(n.name??``),t.setProjectIcon(n.projectIcon??null),t.setOriginalName(n.name??``),t.setOriginalProjectIcon(n.projectIcon??null);try{let n=await p(e,`AGENTS.md`);t.setInstructions(n.content),t.setOriginalInstructions(n.content)}catch{t.setInstructions(``),t.setOriginalInstructions(``)}}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load project settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function O(e,t){try{let n=await de(e),r=document.createElement(`canvas`);r.width=256,r.height=256;let i=r.getContext(`2d`);if(!i)throw Error(`Could not prepare image conversion`);i.imageSmoothingEnabled=!0,i.imageSmoothingQuality=`high`;let a=Math.max(256/n.naturalWidth,256/n.naturalHeight),o=n.naturalWidth*a,s=n.naturalHeight*a;i.drawImage(n,(256-o)/2,(256-s)/2,o,s),t(r.toDataURL(`image/png`))}catch(e){y({title:`Could not use image`,description:e instanceof Error?e.message:`The selected file could not be read.`,variant:`destructive`})}}async function k(e,t){let n=e.target.files?.[0];if(e.target.value=``,!n)return;let r=URL.createObjectURL(n);try{await O(r,t)}finally{URL.revokeObjectURL(r)}}async function A(e,t,n){t!==n&&await h(e,t)}async function j(e,t,n){t!==n&&await _(e,`AGENTS.md`,t)}async function M(e,t,n){t!==n&&await g(e,{projectIcon:t})}async function pe(e,t,n,r,i,a){n.setSaving(!0);try{await A(e,t.name,t.originalName),await j(e,t.instructions,t.originalInstructions),await M(e,t.projectIcon,t.originalProjectIcon),n.setOriginalName(t.name),n.setOriginalInstructions(t.instructions),n.setOriginalProjectIcon(t.projectIcon),r&&await r(),await a(),i(`/`)}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to save settings`,variant:`destructive`})}finally{n.setSaving(!1)}}function me(e){let t=(0,T.c)(26),{projectIcon:n,entityNoun:r,disabled:i,inputRef:a,onFileChange:o,onButtonClick:c,onRemove:l}=e,p;t[0]!==i||t[1]!==a||t[2]!==o?(p=(0,D.jsx)(`input`,{ref:a,type:`file`,accept:`image/*`,className:`sr-only`,onChange:o,disabled:i}),t[0]=i,t[1]=a,t[2]=o,t[3]=p):p=t[3];let m=n?`Change project icon`:`Choose project icon`,h;t[4]===n?h=t[5]:(h=n?(0,D.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`}):(0,D.jsx)(s,{className:`h-8 w-8 text-muted-foreground`,strokeWidth:1.5}),t[4]=n,t[5]=h);let g;t[6]!==i||t[7]!==c||t[8]!==m||t[9]!==h?(g=(0,D.jsx)(S,{asChild:!0,children:(0,D.jsx)(u,{asChild:!0,children:(0,D.jsx)(`button`,{type:`button`,className:`flex h-16 w-16 items-center justify-center overflow-hidden rounded-lg border border-border bg-muted/40 outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:c,disabled:i,"aria-label":m,children:h})})}),t[6]=i,t[7]=c,t[8]=m,t[9]=h,t[10]=g):g=t[10];let _;t[11]===r?_=t[12]:(_=(0,D.jsxs)(d,{side:`bottom`,className:`max-w-xs`,children:[`Choose an avatar for this `,r,` (pick any image from your computer)`]}),t[11]=r,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,D.jsx)(f,{delayDuration:300,children:(0,D.jsxs)(ee,{children:[g,_]})}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]!==i||t[17]!==l||t[18]!==n?(y=n&&(0,D.jsx)(w,{children:(0,D.jsx)(C,{disabled:i,onSelect:l,children:`Remove`})}),t[16]=i,t[17]=l,t[18]=n,t[19]=y):y=t[19];let b;t[20]!==v||t[21]!==y?(b=(0,D.jsxs)(re,{children:[v,y]}),t[20]=v,t[21]=y,t[22]=b):b=t[22];let x;return t[23]!==p||t[24]!==b?(x=(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,b]}),t[23]=p,t[24]=b,t[25]=x):x=t[25],x}function he(e){let t=(0,T.c)(6),{saving:n,disabled:r,onClick:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(c,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,D.jsx)(l,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function ge(e,t,n){let r=(0,T.c)(13),i;r[0]===e?i=r[1]:(i=function(t){return O(t,e)},r[0]=e,r[1]=i);let a=i,o,s;r[2]===a?(o=r[3],s=r[4]):(o=()=>{if(!m())return;let e=function(e){let t=e.detail.dataUrl;a(t)};return window.addEventListener(`tarsk:project-icon-selected`,e),()=>{window.removeEventListener(`tarsk:project-icon-selected`,e)}},s=[a],r[2]=a,r[3]=o,r[4]=s),(0,E.useEffect)(o,s);let c;r[5]===e?c=r[6]:(c=function(t){return k(t,e)},r[5]=e,r[6]=c);let l=c,u;r[7]!==n||r[8]!==t?(u=function(){m()&&t?ce(t):n.current?.click()},r[7]=n,r[8]=t,r[9]=u):u=r[9];let d=u,f;return r[10]!==d||r[11]!==l?(f={handleProjectIconChange:l,handleProjectIconButtonClick:d},r[10]=d,r[11]=l,r[12]=f):f=r[12],f}function N(e){let t=(0,T.c)(55),{projectId:n,onProjectUpdated:r}=e,s=i(),c;t[0]===n?c=t[1]:(c=e=>e.projects.find(e=>e.projectId===n)?.type,t[0]=n,t[1]=c);let l=a({type:o(c)})?`bot`:`project`,[u,d]=(0,E.useState)(``),[f,ee]=(0,E.useState)(``),[p,m]=(0,E.useState)(``),[h,g]=(0,E.useState)(!1),[_,v]=(0,E.useState)(!0),[y,re]=(0,E.useState)(``),[S,C]=(0,E.useState)(null),[w,ce]=(0,E.useState)(null),[de,O]=(0,E.useState)(null),k=(0,E.useRef)(null),A;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(A={setProjectPath:O,setName:d,setInstructions:ee,setProjectIcon:C,setOriginalName:re,setOriginalInstructions:m,setOriginalProjectIcon:ce,setLoading:v,setSaving:g},t[2]=A):A=t[2];let j=A,M;t[3]===n?M=t[4]:(M=()=>fe(n,j),t[3]=n,t[4]=M);let N=M,P,F;t[5]===n?(P=t[6],F=t[7]):(P=()=>{n&&v(!0)},F=[n],t[5]=n,t[6]=P,t[7]=F),(0,E.useLayoutEffect)(P,F);let I,L;t[8]===N?(I=t[9],L=t[10]):(I=()=>{N()},L=[N],t[8]=N,t[9]=I,t[10]=L),(0,E.useEffect)(I,L);let R;t[11]===_?R=t[12]:(R=[_],t[11]=_,t[12]=R);let z=ue(n,R),{handleProjectIconChange:B,handleProjectIconButtonClick:V}=ge(C,de,k),H;t[13]!==f||t[14]!==N||t[15]!==u||t[16]!==s||t[17]!==r||t[18]!==p||t[19]!==y||t[20]!==w||t[21]!==S||t[22]!==n?(H=async()=>{n&&await pe(n,{name:u,instructions:f,projectIcon:S,originalName:y,originalInstructions:p,originalProjectIcon:w},j,r,s,N)},t[13]=f,t[14]=N,t[15]=u,t[16]=s,t[17]=r,t[18]=p,t[19]=y,t[20]=w,t[21]=S,t[22]=n,t[23]=H):H=t[23];let _e=H,U=_||h,ve=u!==y||f!==p||S!==w;if(!n){let e;return t[24]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(b,{title:`No project selected`,children:`Please select a project from the sidebar to view its settings.`}),t[24]=e):e=t[24],e}let ye=U||!ve,W;t[25]!==_e||t[26]!==h||t[27]!==ye?(W=(0,D.jsx)(te,{title:`Project Settings`,description:`Configure settings for your project.`,action:(0,D.jsx)(he,{saving:h,disabled:ye,onClick:_e}),sticky:!1}),t[25]=_e,t[26]=h,t[27]=ye,t[28]=W):W=t[28];let G;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>C(null),t[29]=G):G=t[29];let K;t[30]!==U||t[31]!==V||t[32]!==B||t[33]!==l||t[34]!==S?(K=(0,D.jsx)(`div`,{className:`flex justify-center`,children:(0,D.jsx)(me,{projectIcon:S,entityNoun:l,disabled:U,inputRef:k,onFileChange:B,onButtonClick:V,onRemove:G})}),t[30]=U,t[31]=V,t[32]=B,t[33]=l,t[34]=S,t[35]=K):K=t[35];let q;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>d(e.target.value),t[36]=q):q=t[36];let J;t[37]!==_||t[38]!==u?(J=(0,D.jsx)(ae,{title:`Name`,controlLayout:`stack`,children:(0,D.jsx)(le,{id:`projectName`,value:u,onChange:q,placeholder:`Enter project name`,disabled:_})}),t[37]=_,t[38]=u,t[39]=J):J=t[39];let Y;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(Y=e=>ee(e.target.value),t[40]=Y):Y=t[40];let X;t[41]!==f||t[42]!==_?(X=(0,D.jsx)(ae,{title:`Instructions`,description:`Agent context and coding guidelines, stored in AGENTS.md. New threads start from a copy of this file.`,controlLayout:`stack`,children:(0,D.jsx)(x,{id:`projectInstructions`,value:f,onChange:Y,placeholder:`Add instructions for your agent in AGENTS.md...`,className:`font-mono min-h-[376px] resize-none`,disabled:_})}),t[41]=f,t[42]=_,t[43]=X):X=t[43];let Z;t[44]!==K||t[45]!==J||t[46]!==X?(Z=(0,D.jsx)(oe,{className:`max-w-none pt-6`,children:(0,D.jsxs)(se,{children:[K,J,X]})}),t[44]=K,t[45]=J,t[46]=X,t[47]=Z):Z=t[47];let Q;t[48]!==W||t[49]!==Z?(Q=(0,D.jsxs)(ie,{className:`shrink-0`,children:[W,Z]}),t[48]=W,t[49]=Z,t[50]=Q):Q=t[50];let $;return t[51]!==z||t[52]!==n||t[53]!==Q?($=(0,D.jsx)(ne,{loading:z,children:Q},n),t[51]=z,t[52]=n,t[53]=Q,t[54]=$):$=t[54],$}export{N as default};
@@ -1 +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,Dt as o,Et as s,Ot as c,Tt as l,Vt as u,kt as d}from"./dist-DFsjr0PN.js";import{t as f}from"./utils-Buz2Fe6i.js";import{dt as p}from"./lucide-react-CNNzKD4G.js";import{t as m}from"./button-CltOBnLJ.js";import{$n as h,St as g}from"./api-BnJTzqjz.js";import{t as _}from"./use-toast-xpb5jNtN.js";import{At as v,Ct as y,Dt as b,Pt as x,jt as S,lt as C}from"./index-8x-2e2HM.js";import{t as w}from"./use-settings-page-loading-CpaBd260.js";var T=e(n(),1),E=t(),D=r(),O=a(),k=Math.ceil(O.length/2),A=[O.slice(0,k),O.slice(k)];function j(e){let t=(0,E.c)(14),{tool:n,enabled:r,disabled:i,onToggle:a}=e,o;t[0]!==a||t[1]!==n.name?(o=e=>a(n.name,e),t[0]=a,t[1]=n.name,t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==r||t[5]!==o||t[6]!==n.displayName?(s=(0,D.jsx)(C,{value:r,onChange:o,disabled:i,ariaLabel:n.displayName}),t[3]=i,t[4]=r,t[5]=o,t[6]=n.displayName,t[7]=s):s=t[7];let c;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=f(u.body,`truncate`),t[8]=c):c=t[8];let l;t[9]===n.displayName?l=t[10]:(l=(0,D.jsx)(`span`,{className:c,children:n.displayName}),t[9]=n.displayName,t[10]=l);let d;return t[11]!==s||t[12]!==l?(d=(0,D.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[s,l]}),t[11]=s,t[12]=l,t[13]=d):d=t[13],d}function M(e,t,n){return!t.includes(e)&&!n.has(e)}function N(e,t,n){return t||n.has(e)}function P(e){let t=(0,E.c)(13),{tools:n,disabledTools:r,disabled:i,forceDisabledTools:a,onToggle:o}=e,s;if(t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==o||t[4]!==n){let e;t[6]!==i||t[7]!==r||t[8]!==a||t[9]!==o?(e=e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,r,a),disabled:N(e.name,i,a),onToggle:o},e.name),t[6]=i,t[7]=r,t[8]=a,t[9]=o,t[10]=e):e=t[10],s=n.map(e),t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=n,t[5]=s}else s=t[5];let c;return t[11]===s?c=t[12]:(c=(0,D.jsx)(`div`,{className:`divide-y divide-table-border`,children:s}),t[11]=s,t[12]=c),c}function F(e){let t=(0,E.c)(21),{disabledTools:n,onChange:r,disabled:i,forceDisabledTools:a}=e,o=i===void 0?!1:i,s,c,l,u;t[0]!==o||t[1]!==n||t[2]!==a||t[3]!==r?(s=new Set((a??[]).map(I)),c=function(e,t){let i=e.toLowerCase();if(!(s.has(i)&&t)){if(t){r(n.filter(e=>e!==i));return}n.includes(i)||r([...n,i].sort())}},l=`divide-y divide-table-border @md/settings-page:hidden`,u=O.map(e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,n,s),disabled:N(e.name,o,s),onToggle:c},e.name)),t[0]=o,t[1]=n,t[2]=a,t[3]=r,t[4]=s,t[5]=c,t[6]=l,t[7]=u):(s=t[4],c=t[5],l=t[6],u=t[7]);let d;t[8]!==l||t[9]!==u?(d=(0,D.jsx)(`div`,{className:l,children:u}),t[8]=l,t[9]=u,t[10]=d):d=t[10];let f;t[11]!==o||t[12]!==n||t[13]!==s||t[14]!==c?(f=A.map((e,t)=>(0,D.jsx)(P,{tools:e,disabledTools:n,disabled:o,forceDisabledTools:s,onToggle:c},t)),t[11]=o,t[12]=n,t[13]=s,t[14]=c,t[15]=f):f=t[15];let p;t[16]===f?p=t[17]:(p=(0,D.jsx)(`div`,{className:`hidden @md/settings-page:grid @md/settings-page:grid-cols-2 divide-x divide-table-border`,children:f}),t[16]=f,t[17]=p);let m;return t[18]!==d||t[19]!==p?(m=(0,D.jsxs)(D.Fragment,{children:[d,p]}),t[18]=d,t[19]=p,t[20]=m):m=t[20],m}function I(e){return e.toLowerCase()}function L(e,t){return JSON.stringify([...e].sort())!==JSON.stringify([...t].sort())}function R(e,t){return e?d({type:l,disabledTools:t}):t}async function z(e){let t=await g(e);return{disabledTools:d(t),toolsLocked:o(t),standardProject:c(t)}}function B(e,t){_({title:`Error`,description:e instanceof Error?e.message:t,variant:`destructive`})}function V(e){let t=(0,E.c)(6),{saving:n,disabled:r,onSave:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(p,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,D.jsx)(m,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function H({projectId:e,onProjectUpdated:t}){let n=i(),[r,a]=(0,T.useState)([]),[o,c]=(0,T.useState)([]),[l,u]=(0,T.useState)(!0),[d,f]=(0,T.useState)(!1),[p,m]=(0,T.useState)(!1),[g,_]=(0,T.useState)(!1),C=(0,T.useCallback)(async()=>{if(!e){u(!1);return}u(!0);try{let t=await z(e);a(t.disabledTools),c(t.disabledTools),m(t.toolsLocked),_(t.standardProject)}catch(e){B(e,`Failed to load tools settings`)}finally{u(!1)}},[e]);(0,T.useLayoutEffect)(()=>{e&&u(!0)},[e]),(0,T.useEffect)(()=>{C()},[C]);let E=w(e,[l]),O=L(r,o);async function k(){if(!(!e||!O)){f(!0);try{await h(e,{disabledTools:R(g,r)}),c(r),t&&await t(),await C(),n(`/`)}catch(e){B(e,`Failed to save tools settings`)}finally{f(!1)}}}return e?(0,D.jsx)(b,{loading:E,children:(0,D.jsxs)(x,{className:`shrink-0`,children:[(0,D.jsx)(y,{title:`Tools`,description:`Control which tools the agent can use in this project. Disabled tools are hidden from the agent.`,action:(0,D.jsx)(V,{saving:d,disabled:d||l||p||!O,onSave:()=>void k()}),sticky:!1}),(0,D.jsx)(S,{className:`max-w-none pt-6`,children:(0,D.jsx)(F,{disabledTools:r,onChange:a,disabled:l||d||p,forceDisabledTools:g?[...s]:void 0})})]})}):(0,D.jsx)(v,{title:`No project selected`,children:`Please select a project from the sidebar to configure tools.`})}export{H as default};
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,Dt as o,Mt as s,Ot as c,Ut as l,jt as u,kt as d}from"./dist-Ch137qdo.js";import{t as f}from"./utils-CWTBjUlE.js";import{dt as p}from"./lucide-react-C-dX1rVz.js";import{t as m}from"./button-DVIjvd2G.js";import{tr as h,xt as g}from"./api-IMkL19mR.js";import{t as _}from"./use-toast-xpb5jNtN.js";import{At as v,Ct as y,Dt as b,Pt as x,jt as S,lt as C}from"./index-C3E_66vw.js";import{t as w}from"./use-settings-page-loading-CpaBd260.js";var T=e(n(),1),E=t(),D=r(),O=s(),k=Math.ceil(O.length/2),A=[O.slice(0,k),O.slice(k)];function j(e){let t=(0,E.c)(14),{tool:n,enabled:r,disabled:i,onToggle:a}=e,o;t[0]!==a||t[1]!==n.name?(o=e=>a(n.name,e),t[0]=a,t[1]=n.name,t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==r||t[5]!==o||t[6]!==n.displayName?(s=(0,D.jsx)(C,{value:r,onChange:o,disabled:i,ariaLabel:n.displayName}),t[3]=i,t[4]=r,t[5]=o,t[6]=n.displayName,t[7]=s):s=t[7];let c;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=f(l.body,`truncate`),t[8]=c):c=t[8];let u;t[9]===n.displayName?u=t[10]:(u=(0,D.jsx)(`span`,{className:c,children:n.displayName}),t[9]=n.displayName,t[10]=u);let d;return t[11]!==s||t[12]!==u?(d=(0,D.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[s,u]}),t[11]=s,t[12]=u,t[13]=d):d=t[13],d}function M(e,t,n){return!t.includes(e)&&!n.has(e)}function N(e,t,n){return t||n.has(e)}function P(e){let t=(0,E.c)(13),{tools:n,disabledTools:r,disabled:i,forceDisabledTools:a,onToggle:o}=e,s;if(t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==o||t[4]!==n){let e;t[6]!==i||t[7]!==r||t[8]!==a||t[9]!==o?(e=e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,r,a),disabled:N(e.name,i,a),onToggle:o},e.name),t[6]=i,t[7]=r,t[8]=a,t[9]=o,t[10]=e):e=t[10],s=n.map(e),t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=n,t[5]=s}else s=t[5];let c;return t[11]===s?c=t[12]:(c=(0,D.jsx)(`div`,{className:`divide-y divide-table-border`,children:s}),t[11]=s,t[12]=c),c}function F(e){let t=(0,E.c)(21),{disabledTools:n,onChange:r,disabled:i,forceDisabledTools:a}=e,o=i===void 0?!1:i,s,c,l,u;t[0]!==o||t[1]!==n||t[2]!==a||t[3]!==r?(s=new Set((a??[]).map(I)),c=function(e,t){let i=e.toLowerCase();if(!(s.has(i)&&t)){if(t){r(n.filter(e=>e!==i));return}n.includes(i)||r([...n,i].sort())}},l=`divide-y divide-table-border @md/settings-page:hidden`,u=O.map(e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,n,s),disabled:N(e.name,o,s),onToggle:c},e.name)),t[0]=o,t[1]=n,t[2]=a,t[3]=r,t[4]=s,t[5]=c,t[6]=l,t[7]=u):(s=t[4],c=t[5],l=t[6],u=t[7]);let d;t[8]!==l||t[9]!==u?(d=(0,D.jsx)(`div`,{className:l,children:u}),t[8]=l,t[9]=u,t[10]=d):d=t[10];let f;t[11]!==o||t[12]!==n||t[13]!==s||t[14]!==c?(f=A.map((e,t)=>(0,D.jsx)(P,{tools:e,disabledTools:n,disabled:o,forceDisabledTools:s,onToggle:c},t)),t[11]=o,t[12]=n,t[13]=s,t[14]=c,t[15]=f):f=t[15];let p;t[16]===f?p=t[17]:(p=(0,D.jsx)(`div`,{className:`hidden @md/settings-page:grid @md/settings-page:grid-cols-2 divide-x divide-table-border`,children:f}),t[16]=f,t[17]=p);let m;return t[18]!==d||t[19]!==p?(m=(0,D.jsxs)(D.Fragment,{children:[d,p]}),t[18]=d,t[19]=p,t[20]=m):m=t[20],m}function I(e){return e.toLowerCase()}function L(e,t){return JSON.stringify([...e].sort())!==JSON.stringify([...t].sort())}function R(e,t){return e?u({type:o,disabledTools:t}):t}async function z(e){let t=await g(e);return{disabledTools:u(t),toolsLocked:d(t),standardProject:a(t)}}function B(e,t){_({title:`Error`,description:e instanceof Error?e.message:t,variant:`destructive`})}function V(e){let t=(0,E.c)(6),{saving:n,disabled:r,onSave:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(p,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,D.jsx)(m,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function H({projectId:e,onProjectUpdated:t}){let n=i(),[r,a]=(0,T.useState)([]),[o,s]=(0,T.useState)([]),[l,u]=(0,T.useState)(!0),[d,f]=(0,T.useState)(!1),[p,m]=(0,T.useState)(!1),[g,_]=(0,T.useState)(!1),C=(0,T.useCallback)(async()=>{if(!e){u(!1);return}u(!0);try{let t=await z(e);a(t.disabledTools),s(t.disabledTools),m(t.toolsLocked),_(t.standardProject)}catch(e){B(e,`Failed to load tools settings`)}finally{u(!1)}},[e]);(0,T.useLayoutEffect)(()=>{e&&u(!0)},[e]),(0,T.useEffect)(()=>{C()},[C]);let E=w(e,[l]),O=L(r,o);async function k(){if(!(!e||!O)){f(!0);try{await h(e,{disabledTools:R(g,r)}),s(r),t&&await t(),await C(),n(`/`)}catch(e){B(e,`Failed to save tools settings`)}finally{f(!1)}}}return e?(0,D.jsx)(b,{loading:E,children:(0,D.jsxs)(x,{className:`shrink-0`,children:[(0,D.jsx)(y,{title:`Tools`,description:`Control which tools the agent can use in this project. Disabled tools are hidden from the agent.`,action:(0,D.jsx)(V,{saving:d,disabled:d||l||p||!O,onSave:()=>void k()}),sticky:!1}),(0,D.jsx)(S,{className:`max-w-none pt-6`,children:(0,D.jsx)(F,{disabledTools:r,onChange:a,disabled:l||d||p,forceDisabledTools:g?[...c]:void 0})})]})}):(0,D.jsx)(v,{title:`No project selected`,children:`Please select a project from the sidebar to configure tools.`})}export{H as default};
@@ -1 +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{c as i,s as a}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Bt as o,H as s,St as c,Vt as l}from"./dist-DFsjr0PN.js";import{n as u,tt as d}from"./store-N5DWaLPi.js";import{r as f,t as p}from"./utils-Buz2Fe6i.js";import{A as m,F as h,Kt as g,dt as _,gt as v,mn as y,qt as b,r as x}from"./lucide-react-CNNzKD4G.js";import{r as S,t as C}from"./button-CltOBnLJ.js";import{i as ee,n as te,r as w,t as T}from"./tooltip-JvDw-QDI.js";import{At as E,B as D,Dn as ne,G as re,K as ie,L as ae,Nt as O,On as k,R as oe,V as A,nt as j,un as se}from"./api-BnJTzqjz.js";import{t as ce}from"./progress-indicator-4LUNdJet.js";import{n as M}from"./suspense-resource-DzlMlIgR.js";import{$t as N,At as le,Ct as P,Gn as F,Ot as I,Pt as L,St as ue,Ut as R,cr as de,dr as z,dt as B,jt as V,kt as fe,lr as pe,lt as me,mt as he,pt as H,ur as ge,vt as U,wr as W}from"./index-8x-2e2HM.js";import{t as G}from"./async-error-boundary-BqVpxDC8.js";import{t as K}from"./sorting-DqwxPMRN.js";import{t as q}from"./pending-changes-Bn-0ak1d.js";import{o as J}from"./settings-list-DZLFM-rH.js";import{t as Y}from"./use-deferred-search-Dgxosq55.js";import{n as X,r as _e,t as ve}from"./model-list-controls-RfXuDYC4.js";var Z=t(),Q=e(n(),1),$=r(),ye=S(p(l.compact,`inline-flex items-center rounded-full border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function be(e){let t=(0,Z.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==i?(a=p(ye({variant:i}),n),t[4]=n,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==r||t[8]!==a?(o=(0,$.jsx)(`div`,{className:a,...r}),t[7]=r,t[8]=a,t[9]=o):o=t[9],o}function xe(e,t,n){return n?e.find(e=>e.slug===n)??null:t?e.find(e=>e.name===t)??null:null}function Se(e,t,n){return e?!!(n&&e.slug===n||t&&e.name===t):!1}function Ce(e){return e instanceof Error?e.message:`Failed to load providers`}async function we({providerData:e,selectedProviderName:t,selectedProviderSlug:n,fetchProviders:r}){if(Se(e,t,n))return{provider:e};try{return{provider:xe(await r(),t,n)}}catch(e){return{error:Ce(e)}}}var Te=s(`app.use-provider-details.hook`);function Ee(){let e=(0,Z.c)(10),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(``),[a,o]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={},e[0]=h):h=e[0];let[g,_]=(0,Q.useState)(h),v;return e[1]!==a||e[2]!==r||e[3]!==s||e[4]!==p||e[5]!==g||e[6]!==d||e[7]!==t||e[8]!==l?(v={selectedProvider:t,setSelectedProvider:n,displayApiKey:r,setDisplayApiKey:i,balance:a,setBalance:o,error:s,setError:c,showApiKey:l,setShowApiKey:u,saveStatus:d,setSaveStatus:f,originalApiKey:p,setOriginalApiKey:m,providerEnvValues:g,setProviderEnvValues:_},e[1]=a,e[2]=r,e[3]=s,e[4]=p,e[5]=g,e[6]=d,e[7]=t,e[8]=l,e[9]=v):v=e[9],v}function De(){let e=(0,Z.c)(15),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Q.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Q.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Q.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Q.useState)(u),{query:p,setQuery:m,deferredQuery:h}=Y(),[g,_]=(0,Q.useState)(`alphabetical`),[v,y]=(0,Q.useState)(`all`),[b,x]=(0,Q.useState)(`coding`),S;return e[4]!==n||e[5]!==h||e[6]!==a||e[7]!==c||e[8]!==v||e[9]!==p||e[10]!==g||e[11]!==b||e[12]!==d||e[13]!==m?(S={availableModels:n,setAvailableModels:r,enabledModelIds:a,setEnabledModelIds:o,initialEnabledModelIds:c,setInitialEnabledModelIds:l,pendingChanges:d,setPendingChanges:f,modelSearchQuery:p,setModelSearchQuery:m,deferredModelSearchQuery:h,modelSortBy:g,setModelSortBy:_,modelFilter:v,setModelFilter:y,modelTab:b,setModelTab:x},e[4]=n,e[5]=h,e[6]=a,e[7]=c,e[8]=v,e[9]=p,e[10]=g,e[11]=b,e[12]=d,e[13]=m,e[14]=S):S=e[14],S}function Oe(){let e=(0,Z.c)(9),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Q.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Q.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Q.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Q.useState)(u),p;return e[4]!==n||e[5]!==a||e[6]!==c||e[7]!==d?(p={availableImageModels:n,setAvailableImageModels:r,enabledImageModelIds:a,setEnabledImageModelIds:o,initialEnabledImageModelIds:c,setInitialEnabledImageModelIds:l,pendingImageChanges:d,setPendingImageChanges:f},e[4]=n,e[5]=a,e[6]=c,e[7]=d,e[8]=p):p=e[8],p}function ke(){let e=(0,Z.c)(7),t=u(),[n,r]=(0,Q.useState)(!1),[i,a]=(0,Q.useState)(``),o=Ee(),s=De(),c=Oe(),l;return e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==o||e[4]!==s||e[5]!==c?(l={dispatch:t,modelsLoading:n,setModelsLoading:r,modelsError:i,setModelsError:a,...o,...s,...c},e[0]=t,e[1]=i,e[2]=n,e[3]=o,e[4]=s,e[5]=c,e[6]=l):l=e[6],l}function Ae({selectedProviderName:e=null,selectedProviderSlug:t=null,providerData:n}){let r=ke(),i=e=>N(e.id),a=(0,Q.useRef)(0);function o(){r.setAvailableModels([]),r.setAvailableImageModels([]),r.setEnabledModelIds(new Set),r.setInitialEnabledModelIds(new Set),r.setEnabledImageModelIds(new Set),r.setInitialEnabledImageModelIds(new Set),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}(0,Q.useEffect)(()=>{let i=++a.current;async function c(){r.setError(``);let c=await we({providerData:n,selectedProviderName:e,selectedProviderSlug:t,fetchProviders:O});if(i!==a.current)return;if(`error`in c){r.setError(c.error);return}let l=c.provider;r.setSelectedProvider(l),r.setOriginalApiKey(l?.apiKey??``),r.setDisplayApiKey(l?.apiKey??``),r.setProviderEnvValues(l?.envValues??{}),l?(u(l.slug,i),s(l.slug,i)):(o(),r.setBalance(null),r.setModelsLoading(!1),r.setModelsError(``))}c()},[e,t,n]);async function s(e,t=a.current){r.setBalance(null);try{let n=await E(e);if(t!==a.current)return;n.status===`success`&&r.setBalance(n.balance)}catch(t){Te.error(`Failed to load balance for ${e}:`,t)}}function l(e){return e instanceof Error?e.message:`Failed to load models from local API`}async function u(e,t=a.current){r.setModelsLoading(!0),r.setModelsError(``),r.setModelSearchQuery(``),r.setModelSortBy(`alphabetical`),r.setModelFilter(`all`),r.setModelTab(`coding`);try{let[n,i]=await Promise.all([ie(e),re(e)]);if(t!==a.current)return;r.setAvailableModels(n.models),r.setAvailableImageModels(i.models);let o=new Set(n.enabledModelIds);r.setEnabledModelIds(o),r.setInitialEnabledModelIds(o);let s=new Set(i.enabledModelIds);r.setEnabledImageModelIds(s),r.setInitialEnabledImageModelIds(s),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}catch(n){if(t!==a.current)return;Te.error(`Failed to load models for ${e}:`,n),o(),r.setModelsError(l(n))}finally{t===a.current&&r.setModelsLoading(!1)}}async function f(e){let t=a.current;r.setModelsLoading(!0),r.setModelsError(``);try{if(await se(e),t!==a.current||(await u(e,t),t!==a.current))return;r.dispatch({type:d.ConfigUpdated})}catch(n){if(t!==a.current)return;Te.error(`Failed to refresh models for ${e}:`,n),o(),r.setModelsError(l(n)),r.setModelsLoading(!1)}}let p=(e,t)=>{r.selectedProvider?.name===e&&(r.setDisplayApiKey(t),h(t))},m=(e,t)=>{r.setProviderEnvValues(n=>({...n,[e]:t}));let n=r.selectedProvider?.slug;n&&(async()=>{try{await ne({[e]:t}),r.dispatch({type:d.ConfigUpdated}),r.setSaveStatus(`${H(e)} saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save provider settings`);return}c(n)&&e===`LOCAL_API_URL`&&t.trim()&&await f(n)})()},h=async e=>{if(!(!r.selectedProvider||e===r.originalApiKey))try{await k(r.selectedProvider.slug,e),r.dispatch({type:d.ConfigUpdated}),r.setOriginalApiKey(e),r.setSaveStatus(`API key saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save API key`)}},g=(e,t)=>{t===`image`?r.setPendingImageChanges(t=>{let n=new Map(t),i=r.enabledImageModelIds.has(e),a=n.has(e),o=n.get(e),s=!(a?o:i);return s===i?n.delete(e):n.set(e,s),_(e,(n.has(e)?n.get(e):i)??!1,`image`),n}):r.setPendingChanges(t=>{let n=q(t,e,r.enabledModelIds);return _(e,(n.has(e)?n.get(e):r.enabledModelIds.has(e))??!1,`coding`),n})},_=async(e,t,n=`coding`)=>{if(r.selectedProvider)try{n===`image`?(t?(await D(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>new Set([...t,e]))):(await ae(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingImageChanges(t=>{let n=new Map(t);return n.delete(e),n})):(t?(await A(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>new Set([...t,e]))):(await oe(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingChanges(t=>{let n=new Map(t);return n.delete(e),n}),R()),r.dispatch({type:d.ConfigUpdated}),r.setSaveStatus(`Model preferences saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save model changes`)}};async function v(e,t=`coding`){let n=t===`image`?r.availableImageModels:r.availableModels,i=t===`image`?r.enabledImageModelIds:r.enabledModelIds;(t===`image`?r.setPendingImageChanges:r.setPendingChanges)(t=>{let r=new Map(t);for(let t of n)i.has(t.id)===e?r.delete(t.id):r.set(t.id,e);return r});for(let r of n)i.has(r.id)!==e&&await _(r.id,e,t)}let y=r.displayApiKey!==void 0&&r.displayApiKey.trim().length>0,b=(0,Q.useMemo)(()=>K({models:r.availableModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledModelIds.has(e.id)}),[r.availableModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledModelIds,r.modelSortBy,i]),x=(0,Q.useMemo)(()=>K({models:r.availableImageModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy===`coding-index`||r.modelSortBy===`intelligence-by-price`?`alphabetical`:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledImageModelIds.has(e.id)}),[r.availableImageModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledImageModelIds,r.modelSortBy,i]);return{selectedProvider:r.selectedProvider,error:r.error,balance:r.balance,displayApiKey:r.displayApiKey,showApiKey:r.showApiKey,setShowApiKey:r.setShowApiKey,providerEnvValues:r.providerEnvValues,modelsLoading:r.modelsLoading,modelsError:r.modelsError,saveStatus:r.saveStatus,modelTab:r.modelTab,setModelTab:r.setModelTab,modelSearchQuery:r.modelSearchQuery,setModelSearchQuery:r.setModelSearchQuery,modelSortBy:r.modelSortBy,setModelSortBy:r.setModelSortBy,modelFilter:r.modelFilter,setModelFilter:r.setModelFilter,availableModels:r.availableModels,enabledModelIds:r.enabledModelIds,pendingChanges:r.pendingChanges,filteredAndSortedModels:b,availableImageModels:r.availableImageModels,enabledImageModelIds:r.enabledImageModelIds,pendingImageChanges:r.pendingImageChanges,filteredAndSortedImageModels:x,hasApiKey:y,getModelDisplayName:i,handleUpdateKeyLocal:p,handleUpdateProviderEnv:m,refreshLocalProviderModels:f,handleToggleModel:g,handleToggleAllModels:v}}function je(e){let t=(0,Z.c)(7),{provider:n,onBack:r}=e;if(!r&&!n.url)return null;let i;t[0]===n.url?i=t[1]:(i=n.url?(0,$.jsx)(B,{url:n.url,className:p(l.compact,`p-3`)}):null,t[0]=n.url,t[1]=i);let a;t[2]===r?a=t[3]:(a=r?(0,$.jsxs)(C,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:r,children:[(0,$.jsx)(x,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close provider details`})]}):null,t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Me(e){let t=(0,Z.c)(6),{balance:n}=e;if(n===null)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=p(l.compact,`inline-flex shrink-0 items-center gap-1.5 font-medium`),i=(0,$.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full bg-green-500`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=f(n),t[2]=n,t[3]=a);let o;return t[4]===a?o=t[5]:(o=(0,$.jsxs)(`span`,{className:r,children:[i,`$`,a,` balance`]}),t[4]=a,t[5]=o),o}function Ne(e){let t=(0,Z.c)(8),{title:n,tooltip:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=p(l.label,`cursor-help`),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(`span`,{className:i,children:n})}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(te,{children:r}),t[3]=r,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsx)(w,{children:(0,$.jsxs)(T,{children:[a,o]})}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function Pe(e){let t=(0,Z.c)(10),{provider:n,displayApiKey:r,showApiKey:i,onToggleShowApiKey:a,onUpdateKey:o,providerEnvValues:s,onUpdateEnv:l,modelsLoading:u,onRefreshModels:d}=e,f;return t[0]!==r||t[1]!==u||t[2]!==d||t[3]!==a||t[4]!==l||t[5]!==o||t[6]!==n||t[7]!==s||t[8]!==i?(f=(0,$.jsx)($.Fragment,{children:n.authType===`APIKey`?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(fe,{children:[(0,$.jsx)(I,{label:(0,$.jsx)(Ne,{title:`API Key`,tooltip:`Your API key is stored locally and never shared.`}),control:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(v,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(W,{type:i?`text`:`password`,placeholder:n.keyName||`Enter API Key`,className:`pl-10 pr-10`,value:r,onChange:e=>{o(n.name,e.target.value)}}),(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:a,disabled:!r,children:i?(0,$.jsx)(b,{className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(g,{className:`h-4 w-4 text-muted-foreground`})})]})}),he(n).map(e=>(0,$.jsx)(I,{label:(0,$.jsx)(Ne,{title:H(e),tooltip:e}),control:c(n.slug)&&e===`LOCAL_API_URL`?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(W,{id:e,value:s[e]??``,onChange:t=>l(e,t.target.value),placeholder:n.api,className:`pr-10`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(w,{children:(0,$.jsxs)(T,{children:[(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:()=>{d(n.slug)},disabled:u,children:u?(0,$.jsx)(_,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(h,{className:`h-4 w-4 text-muted-foreground`})})}),(0,$.jsx)(te,{children:`Refresh models`})]})})]}):(0,$.jsx)(W,{id:e,value:s[e]??``,onChange:t=>l(e,t.target.value),placeholder:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`})},e))]})}):(0,$.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,$.jsx)(ue,{className:`mb-0`,children:`This provider uses OAuth for authentication.`}),(0,$.jsxs)(C,{variant:`outline`,size:`sm`,disabled:!0,children:[`Sign in with `,n.name]})]})}),t[0]=r,t[1]=u,t[2]=d,t[3]=a,t[4]=l,t[5]=o,t[6]=n,t[7]=s,t[8]=i,t[9]=f):f=t[9],f}function Fe(e){let t=(0,Z.c)(6),{htmlFor:n,displayName:r,variant:i}=e,a=l[i],o;t[0]===a?o=t[1]:(o=p(a,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),t[0]=a,t[1]=o);let s;return t[2]!==r||t[3]!==n||t[4]!==o?(s=(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:n,className:o,children:r})}),t[2]=r,t[3]=n,t[4]=o,t[5]=s):s=t[5],s}function Ie(e){let t=(0,Z.c)(9),{pricing:n,className:r}=e,i=(n.prompt??0)===0&&(n.completion??0)===0,a;t[0]===r?a=t[1]:(a=p(l.caption,`whitespace-nowrap`,r),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.completion||t[4]!==n.prompt?(o=i?``:`$${f(n.prompt??0)} in | $${f(n.completion??0)} out`,t[2]=i,t[3]=n.completion,t[4]=n.prompt,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,$.jsx)(`span`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function Le(e){let t=(0,Z.c)(15),{model:n,displayName:r,checkboxId:i,showStarRating:a}=e,o;t[0]!==i||t[1]!==r?(o=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`body`}),t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n.coding_index||t[5]!==a?(s=a&&(0,$.jsx)(_e,{codingIndex:n.coding_index,modelName:r}),t[3]=r,t[4]=n.coding_index,t[5]=a,t[6]=s):s=t[6];let c;t[7]===n.pricing?c=t[8]:(c=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing}),t[7]=n.pricing,t[8]=c);let l;t[9]!==s||t[10]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11];let u;return t[12]!==o||t[13]!==l?(u=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[o,l]}),t[12]=o,t[13]=l,t[14]=u):u=t[14],u}function Re(e){let t=(0,Z.c)(8),{model:n,displayName:r,checkboxId:i}=e,a;t[0]!==i||t[1]!==r?(a=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`label`}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===n.pricing?o=t[4]:(o=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing,className:`flex-shrink-0`}),t[3]=n.pricing,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[a,o]}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function ze(e){let t=(0,Z.c)(22),{tab:n,model:r,displayName:i,willBeEnabled:a,hasApiKey:o,showStarRating:s,onToggle:c}=e,l=n===`image`?`image-${r.id}`:r.id,u=r.id,d=!o&&`opacity-25`,f;t[0]===d?f=t[1]:(f=p(`flex cursor-default items-center space-x-3 px-3 py-2 transition-colors hover:bg-muted/30`,d),t[0]=d,t[1]=f);let m=!o,h=a??!1,g;t[2]!==r.id||t[3]!==c?(g=()=>c(r.id),t[2]=r.id,t[3]=c,t[4]=g):g=t[4];let _=`${i} ${a?`enabled`:`disabled`}`,v;t[5]!==l||t[6]!==m||t[7]!==h||t[8]!==g||t[9]!==_?(v=(0,$.jsx)(me,{id:l,disabled:m,value:h,onChange:g,ariaLabel:_}),t[5]=l,t[6]=m,t[7]=h,t[8]=g,t[9]=_,t[10]=v):v=t[10];let y;t[11]!==l||t[12]!==i||t[13]!==r||t[14]!==s||t[15]!==n?(y=n===`coding`?(0,$.jsx)(Le,{model:r,displayName:i,checkboxId:l,showStarRating:s}):(0,$.jsx)(Re,{model:r,displayName:i,checkboxId:l}),t[11]=l,t[12]=i,t[13]=r,t[14]=s,t[15]=n,t[16]=y):y=t[16];let b;return t[17]!==r.id||t[18]!==f||t[19]!==v||t[20]!==y?(b=(0,$.jsxs)(`div`,{className:f,children:[v,y]},u),t[17]=r.id,t[18]=f,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function Be(e){let t=(0,Z.c)(13),{tab:n,models:r,filteredModels:i,modelsLoading:a,modelsError:s,hasApiKey:c,enabledModelIds:u,pendingChanges:d,modelSortBy:f,getModelDisplayName:m,onToggleModel:h}=e,g=n===`coding`,v=g?s?`No models loaded.`:`No models available for this provider.`:`No image models available for this provider.`,y;return t[0]!==v||t[1]!==u||t[2]!==i||t[3]!==m||t[4]!==c||t[5]!==g||t[6]!==f||t[7]!==r||t[8]!==a||t[9]!==h||t[10]!==d||t[11]!==n?(y=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:a?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(_,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):r.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:l.bodyMuted,children:v})}):(0,$.jsx)(w,{children:(0,$.jsx)(`div`,{className:p(`grid grid-cols-1 gap-0`,o.tableWrapper),children:i.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:l.bodyMuted,children:`No models matching your filters.`})}):i.map(e=>{let t=u.has(e.id),r=d.has(e.id),i=d.get(e.id),a=(r?i:t)??!1;return(0,$.jsx)(ze,{tab:n,model:e,displayName:m(e),willBeEnabled:a,hasApiKey:c,showStarRating:g&&(f===`coding-index`||f===`intelligence-by-price`),onToggle:e=>h(e,n)},e.id)})})})}),t[0]=v,t[1]=u,t[2]=i,t[3]=m,t[4]=c,t[5]=g,t[6]=f,t[7]=r,t[8]=a,t[9]=h,t[10]=d,t[11]=n,t[12]=y):y=t[12],y}function Ve(e){let t=(0,Z.c)(22),{tab:n,showImageTab:r,modelsLoading:i,models:a,hasApiKey:o,enabledModelIds:s,pendingChanges:c,modelSearchQuery:l,onModelSearchQueryChange:u,modelSortBy:d,onModelSortByChange:f,onToggleAllModels:h}=e,g=n===`coding`,_=g?`select-all-models`:`select-all-image-models`,v=!i&&a.length>0,y=v&&!o&&`opacity-25`,b;t[0]===y?b=t[1]:(b=p(`flex flex-col gap-2 md:flex-row md:items-center`,y),t[0]=y,t[1]=b);let x;t[2]===r?x=t[3]:(x=r?(0,$.jsxs)(ge,{className:`w-fit shrink-0 self-start`,children:[(0,$.jsx)(z,{value:`coding`,children:`Coding`}),(0,$.jsx)(z,{value:`image`,children:`Image`})]}):null,t[2]=r,t[3]=x);let S;t[4]!==s||t[5]!==o||t[6]!==g||t[7]!==l||t[8]!==d||t[9]!==a||t[10]!==u||t[11]!==f||t[12]!==h||t[13]!==c||t[14]!==_||t[15]!==v||t[16]!==n?(S=v?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative w-full md:w-52 flex-shrink-0`,children:[(0,$.jsx)(m,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,$.jsx)(W,{placeholder:`Search`,className:`pl-10 h-8`,value:l,onChange:e=>u(e.target.value),disabled:!o})]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-2 self-end md:ml-auto md:self-auto`,children:[(0,$.jsx)(ve,{id:_,disabled:!o,checked:a.every(e=>{let t=c.has(e.id),n=c.get(e.id);return t?n:s.has(e.id)}),onChange:e=>{h(e,n)}}),(0,$.jsx)(X,{sortBy:d,showCodingIndex:g,showIntelligenceByPrice:g,onSortByChange:f})]})]}):null,t[4]=s,t[5]=o,t[6]=g,t[7]=l,t[8]=d,t[9]=a,t[10]=u,t[11]=f,t[12]=h,t[13]=c,t[14]=_,t[15]=v,t[16]=n,t[17]=S):S=t[17];let C;return t[18]!==b||t[19]!==x||t[20]!==S?(C=(0,$.jsxs)(`div`,{className:b,children:[x,S]}),t[18]=b,t[19]=x,t[20]=S,t[21]=C):C=t[21],C}function He(e){let t=(0,Z.c)(10),{title:n,description:r,action:i,tableHeader:a,children:o}=e,s;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n?(s=(0,$.jsx)(P,{title:n,description:r,action:i,sticky:!1,tableHeader:a}),t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=(0,$.jsx)(`div`,{className:`px-6 pb-6`,children:o}),t[5]=o,t[6]=c);let l;return t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(L,{className:`shrink-0`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Ue(e){let t=(0,Z.c)(111),{selectedProviderName:n,selectedProviderSlug:r,providerData:i,onBack:a,className:o}=e,s=n===void 0?null:n,c=r===void 0?null:r,l;t[0]!==i||t[1]!==s||t[2]!==c?(l={selectedProviderName:s,selectedProviderSlug:c,providerData:i},t[0]=i,t[1]=s,t[2]=c,t[3]=l):l=t[3];let{selectedProvider:u,error:d,balance:f,displayApiKey:m,showApiKey:h,setShowApiKey:g,providerEnvValues:_,modelsLoading:v,modelsError:b,saveStatus:x,modelTab:S,setModelTab:ee,modelSearchQuery:te,setModelSearchQuery:w,modelSortBy:T,setModelSortBy:E,availableModels:D,enabledModelIds:ne,pendingChanges:re,filteredAndSortedModels:ie,availableImageModels:ae,enabledImageModelIds:O,pendingImageChanges:k,filteredAndSortedImageModels:oe,hasApiKey:A,getModelDisplayName:j,handleUpdateKeyLocal:se,handleUpdateProviderEnv:ce,refreshLocalProviderModels:M,handleToggleModel:N,handleToggleAllModels:P}=Ae(l);if(d){let e;t[4]===o?e=t[5]:(e=p(`flex h-full min-h-0 flex-col items-center justify-center gap-4 p-6`,o),t[4]=o,t[5]=e);let n;t[6]===d?n=t[7]:(n=(0,$.jsx)(ue,{variant:`error`,className:`mb-0`,children:d}),t[6]=d,t[7]=n);let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:We,children:`Retry`}),t[8]=r):r=t[8];let i;return t[9]!==e||t[10]!==n?(i=(0,$.jsxs)(`div`,{className:e,children:[n,r]}),t[9]=e,t[10]=n,t[11]=i):i=t[11],i}if(!u){let e;t[12]===o?e=t[13]:(e=p(`flex h-full min-h-0 items-center justify-center`,o),t[12]=o,t[13]=e);let n=s||c?`Provider not found`:`Select a Provider`,r;t[14]===a?r=t[15]:(r=a?(0,$.jsxs)(C,{variant:`outline`,size:`sm`,onClick:a,children:[(0,$.jsx)(y,{className:`h-4 w-4 mr-1`}),`Back to Providers`]}):void 0,t[14]=a,t[15]=r);let i=a?`This provider could not be found.`:`Choose a provider from the list to configure its settings.`,l;t[16]!==n||t[17]!==r||t[18]!==i?(l=(0,$.jsx)(le,{title:n,action:r,children:i}),t[16]=n,t[17]=r,t[18]=i,t[19]=l):l=t[19];let u;return t[20]!==e||t[21]!==l?(u=(0,$.jsx)(`div`,{className:e,children:l}),t[20]=e,t[21]=l,t[22]=u):u=t[22],u}let F;t[23]===o?F=t[24]:(F=p(`h-full min-h-0`,o),t[23]=o,t[24]=F);let I;t[25]!==a||t[26]!==u?(I=(0,$.jsx)(je,{provider:u,onBack:a}),t[25]=a,t[26]=u,t[27]=I):I=t[27];let L;t[28]!==g||t[29]!==h?(L=()=>g(!h),t[28]=g,t[29]=h,t[30]=L):L=t[30];let R;t[31]!==m||t[32]!==se||t[33]!==ce||t[34]!==v||t[35]!==_||t[36]!==M||t[37]!==u||t[38]!==h||t[39]!==L?(R=(0,$.jsx)(`div`,{className:`pt-6`,children:(0,$.jsx)(Pe,{provider:u,displayApiKey:m,showApiKey:h,onToggleShowApiKey:L,onUpdateKey:se,providerEnvValues:_,onUpdateEnv:ce,modelsLoading:v,onRefreshModels:M})}),t[31]=m,t[32]=se,t[33]=ce,t[34]=v,t[35]=_,t[36]=M,t[37]=u,t[38]=h,t[39]=L,t[40]=R):R=t[40];let z;t[41]!==u.name||t[42]!==I||t[43]!==R?(z=(0,$.jsx)(He,{title:u.name,description:`Configure API keys and connection settings for this provider.`,action:I,children:R}),t[41]=u.name,t[42]=I,t[43]=R,t[44]=z):z=t[44];let B;t[45]!==w||t[46]!==E||t[47]!==ee?(B=e=>{ee(e),w(``),E(`alphabetical`)},t[45]=w,t[46]=E,t[47]=ee,t[48]=B):B=t[48];let V;t[49]===f?V=t[50]:(V=(0,$.jsx)(Me,{balance:f}),t[49]=f,t[50]=V);let fe;t[51]===u.name?fe=t[52]:(fe=u.name.toLowerCase(),t[51]=u.name,t[52]=fe);let me=fe===`openrouter`,he=S===`coding`?D:ae,H=S===`coding`?ne:O,ge=S===`coding`?re:k,U;t[53]!==P||t[54]!==A||t[55]!==te||t[56]!==T||t[57]!==S||t[58]!==v||t[59]!==w||t[60]!==E||t[61]!==me||t[62]!==he||t[63]!==H||t[64]!==ge?(U=(0,$.jsx)(Ve,{tab:S,showImageTab:me,modelsLoading:v,models:he,hasApiKey:A,enabledModelIds:H,pendingChanges:ge,modelSearchQuery:te,onModelSearchQueryChange:w,modelSortBy:T,onModelSortByChange:E,onToggleAllModels:P}),t[53]=P,t[54]=A,t[55]=te,t[56]=T,t[57]=S,t[58]=v,t[59]=w,t[60]=E,t[61]=me,t[62]=he,t[63]=H,t[64]=ge,t[65]=U):U=t[65];let W;t[66]===b?W=t[67]:(W=b?(0,$.jsx)(ue,{variant:`error`,className:`mb-4`,children:b}):null,t[66]=b,t[67]=W);let G;t[68]!==D||t[69]!==ne||t[70]!==ie||t[71]!==j||t[72]!==N||t[73]!==A||t[74]!==T||t[75]!==b||t[76]!==v||t[77]!==re||t[78]!==u?(G=(0,$.jsx)(pe,{value:`coding`,children:(0,$.jsx)(Be,{tab:`coding`,provider:u,models:D,filteredModels:ie,modelsLoading:v,modelsError:b,hasApiKey:A,enabledModelIds:ne,pendingChanges:re,modelSortBy:T,getModelDisplayName:j,onToggleModel:N})}),t[68]=D,t[69]=ne,t[70]=ie,t[71]=j,t[72]=N,t[73]=A,t[74]=T,t[75]=b,t[76]=v,t[77]=re,t[78]=u,t[79]=G):G=t[79];let K;t[80]!==ae||t[81]!==O||t[82]!==oe||t[83]!==j||t[84]!==N||t[85]!==A||t[86]!==T||t[87]!==b||t[88]!==v||t[89]!==k||t[90]!==u?(K=(0,$.jsx)(pe,{value:`image`,children:(0,$.jsx)(Be,{tab:`image`,provider:u,models:ae,filteredModels:oe,modelsLoading:v,modelsError:b,hasApiKey:A,enabledModelIds:O,pendingChanges:k,modelSortBy:T,getModelDisplayName:j,onToggleModel:N})}),t[80]=ae,t[81]=O,t[82]=oe,t[83]=j,t[84]=N,t[85]=A,t[86]=T,t[87]=b,t[88]=v,t[89]=k,t[90]=u,t[91]=K):K=t[91];let q;t[92]===x?q=t[93]:(q=x?(0,$.jsx)(ue,{variant:x.includes(`error`)||x.includes(`Failed`)?`error`:`success`,className:`mt-4`,children:x}):null,t[92]=x,t[93]=q);let J;t[94]!==V||t[95]!==U||t[96]!==W||t[97]!==G||t[98]!==K||t[99]!==q?(J=(0,$.jsxs)(He,{title:`Models`,description:`Enable coding and image models for this provider.`,action:V,tableHeader:U,children:[W,G,K,q]}),t[94]=V,t[95]=U,t[96]=W,t[97]=G,t[98]=K,t[99]=q,t[100]=J):J=t[100];let Y;t[101]!==S||t[102]!==J||t[103]!==B?(Y=(0,$.jsx)(de,{value:S,onValueChange:B,children:J}),t[101]=S,t[102]=J,t[103]=B,t[104]=Y):Y=t[104];let X;t[105]!==Y||t[106]!==z?(X=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[z,Y]})}),t[105]=Y,t[106]=z,t[107]=X):X=t[107];let _e;return t[108]!==X||t[109]!==F?(_e=(0,$.jsx)(`div`,{className:F,children:X}),t[108]=X,t[109]=F,t[110]=_e):_e=t[110],_e}function We(){return window.location.reload()}function Ge(e){return`providers:list:${e}`}async function Ke(){let[e,t]=await Promise.all([O(),j().catch(()=>({}))]),n={};for(let[e,r]of Object.entries(t))n[e]=r.length;return{providers:e,enabledModelCounts:n}}var qe=`grid min-h-10 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 hover:bg-muted/30 cursor-pointer`,Je=`[&>*+*]:border-t [&>*+*]:border-table-border`;function Ye(e){let t=(0,Z.c)(9),{title:n,description:r,action:i,children:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==n?(o=(0,$.jsx)(P,{title:n,description:r,action:i,sticky:!1}),t[0]=i,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=(0,$.jsx)(V,{className:`pt-6`,children:a}),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,$.jsxs)(L,{className:`shrink-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Xe(e){let t=(0,Z.c)(33),{loadVersion:n,onProviderClick:r}=e,{query:i,setQuery:a,deferredQuery:o}=Y(),s;t[0]===n?s=t[1]:(s=Ge(n),t[0]=n,t[1]=s);let{providers:c,enabledModelCounts:u}=F(s,Ke),d;if(t[2]!==o||t[3]!==u||t[4]!==c){let e;t[6]===o?e=t[7]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[6]=o,t[7]=e);let n;t[8]===u?n=t[9]:(n=(e,t)=>{let n=(u[e.slug]??0)>0,r=(u[t.slug]??0)>0;return n&&!r?-1:!n&&r?1:e.name.localeCompare(t.name)},t[8]=u,t[9]=n),d=c.filter($e).filter(e).sort(n),t[2]=o,t[3]=u,t[4]=c,t[5]=d}else d=t[5];let f=d,m;if(t[10]!==o||t[11]!==c){let e;t[13]===o?e=t[14]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[13]=o,t[14]=e),m=c.filter(Qe).filter(e).sort(Ze),t[10]=o,t[11]=c,t[12]=m}else m=t[12];let h=m,g;t[15]!==i||t[16]!==a?(g=(0,$.jsx)(J,{placeholder:`Search`,value:i,onChange:a,className:`mb-0 w-64`}),t[15]=i,t[16]=a,t[17]=g):g=t[17];let _;t[18]!==f||t[19]!==u||t[20]!==r||t[21]!==i?(_=f.length===0?(0,$.jsx)(`p`,{className:p(l.bodyMuted,`py-4`),children:i?`No connected providers match your search.`:`No providers connected yet. Add an API key to get started.`}):(0,$.jsx)(`div`,{className:Je,children:f.map(e=>(0,$.jsx)(ot,{provider:e,modelCount:u[e.slug]??0,onClick:r},e.name))}),t[18]=f,t[19]=u,t[20]=r,t[21]=i,t[22]=_):_=t[22];let v;t[23]!==g||t[24]!==_?(v=(0,$.jsx)(Ye,{title:`Connected Providers`,description:`Providers you've connected with an API key or environment variable.`,action:g,children:_}),t[23]=g,t[24]=_,t[25]=v):v=t[25];let y;t[26]!==h||t[27]!==r||t[28]!==i?(y=(0,$.jsx)(Ye,{title:`Available Providers`,description:`Connect additional providers by adding your API key.`,children:h.length===0?(0,$.jsx)(`p`,{className:p(l.bodyMuted,`py-4`),children:i?`No available providers match your search.`:`All providers are connected.`}):(0,$.jsx)(`div`,{className:Je,children:h.map(e=>(0,$.jsx)(st,{provider:e,onClick:r},e.name))})}),t[26]=h,t[27]=r,t[28]=i,t[29]=y):y=t[29];let b;return t[30]!==v||t[31]!==y?(b=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[v,y]})}),t[30]=v,t[31]=y,t[32]=b):b=t[32],b}function Ze(e,t){return e.name.localeCompare(t.name)}function Qe(e){return!e.apiKey}function $e(e){return e.apiKey}function et(){let e=(0,Z.c)(21),t=a(),{providerSlug:n}=i(),[r,o]=(0,Q.useState)(0),s=(0,Q.useRef)(n),c,l;e[0]!==r||e[1]!==n?(c=()=>{s.current&&!n&&(M(Ge(r)),o(it)),s.current=n},l=[n,r],e[0]=r,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,Q.useEffect)(c,l);let u;e[4]===t?u=e[5]:(u=e=>{t(`/settings/providers/${encodeURIComponent(e.slug)}`)},e[4]=t,e[5]=u);let d=u,f;e[6]!==r||e[7]!==t?(f=()=>{t(`/settings/providers`),M(Ge(r)),o(rt)},e[6]=r,e[7]=t,e[8]=f):f=e[8];let p=f,m;e[9]===r?m=e[10]:(m=function(){M(Ge(r)),o(nt)},e[9]=r,e[10]=m);let h=m;if(n){let t=decodeURIComponent(n),r;return e[11]!==p||e[12]!==t?(r=(0,$.jsx)(Ue,{selectedProviderSlug:t,onBack:p}),e[11]=p,e[12]=t,e[13]=r):r=e[13],r}let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(ce,{centered:!0,label:`Loading providers...`,size:`lg`}),e[14]=g):g=e[14];let _;e[15]!==d||e[16]!==r?(_=(0,$.jsx)(Q.Suspense,{fallback:g,children:(0,$.jsx)(Xe,{loadVersion:r,onProviderClick:d},r)}),e[15]=d,e[16]=r,e[17]=_):_=e[17];let v;return e[18]!==h||e[19]!==_?(v=(0,$.jsx)(`div`,{className:`h-full min-h-0`,children:(0,$.jsx)(G,{fallbackTitle:`Failed to load providers`,onRetry:h,renderFallback:tt,children:_})}),e[18]=h,e[19]=_,e[20]=v):v=e[20],v}function tt(e,t){return(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(L,{className:`shrink-0`,children:[(0,$.jsx)(P,{title:`Providers`,description:`Manage your AI provider connections and API keys.`,sticky:!1}),(0,$.jsx)(`div`,{className:`flex items-center justify-center px-6 pb-6 pt-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(ue,{variant:`error`,className:`mb-4`,children:e.message}),(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})})]})})}function nt(e){return e+1}function rt(e){return e+1}function it(e){return e+1}function at(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function ot(e){let t=(0,Z.c)(25),{provider:n,modelCount:r,onClick:i}=e,a;t[0]!==i||t[1]!==n?(a=function(){i(n)},t[0]=i,t[1]=n,t[2]=a):a=t[2];let o=a,s;t[3]===o?s=t[4]:(s=e=>at(e,o),t[3]=o,t[4]=s);let c;t[5]===n?c=t[6]:(c=(0,$.jsx)(U,{provider:n}),t[5]=n,t[6]=c);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=p(l.label,`truncate leading-normal`),t[7]=u):u=t[7];let d;t[8]===n.name?d=t[9]:(d=(0,$.jsx)(`span`,{className:u,children:n.name}),t[8]=n.name,t[9]=d);let f;t[10]!==c||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[c,d]}),t[10]=c,t[11]=d,t[12]=f):f=t[12];let m;t[13]===n.isEnv?m=t[14]:(m=n.isEnv?(0,$.jsx)(be,{variant:`secondary`,className:p(l.compact,`px-2 py-0.5`),children:`Environment`}):(0,$.jsx)(be,{variant:`secondary`,className:p(l.compact,`px-2 py-0.5`),children:`API Key`}),t[13]=n.isEnv,t[14]=m);let h;t[15]===r?h=t[16]:(h=r>0&&(0,$.jsxs)(be,{variant:`default`,className:p(l.compact,`px-2 py-0.5`),children:[r,` `,r===1?`Model`:`Models`]}),t[15]=r,t[16]=h);let g;t[17]!==m||t[18]!==h?(g=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1.5`,children:[m,h]}),t[17]=m,t[18]=h,t[19]=g):g=t[19];let _;return t[20]!==o||t[21]!==s||t[22]!==f||t[23]!==g?(_=(0,$.jsxs)(`div`,{className:qe,role:`button`,tabIndex:0,onClick:o,onKeyDown:s,children:[f,g]}),t[20]=o,t[21]=s,t[22]=f,t[23]=g,t[24]=_):_=t[24],_}function st(e){let t=(0,Z.c)(18),{provider:n,onClick:r}=e,i;t[0]!==r||t[1]!==n?(i=function(){r(n)},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;t[3]===a?o=t[4]:(o=e=>at(e,a),t[3]=a,t[4]=o);let s;t[5]===n?s=t[6]:(s=(0,$.jsx)(U,{provider:n}),t[5]=n,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=p(l.label,`truncate leading-normal`),t[7]=c):c=t[7];let u;t[8]===n.name?u=t[9]:(u=(0,$.jsx)(`span`,{className:c,children:n.name}),t[8]=n.name,t[9]=u);let d;t[10]!==s||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[s,u]}),t[10]=s,t[11]=u,t[12]=d):d=t[12];let f;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:p(l.compact,`shrink-0 text-muted-foreground`),children:`Configure`}),t[13]=f):f=t[13];let m;return t[14]!==a||t[15]!==o||t[16]!==d?(m=(0,$.jsxs)(`div`,{className:qe,role:`button`,tabIndex:0,onClick:a,onKeyDown:o,children:[d,f]}),t[14]=a,t[15]=o,t[16]=d,t[17]=m):m=t[17],m}export{et as default};
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{c as i,s as a}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Ht as o,Ut as s,W as c,wt as l}from"./dist-Ch137qdo.js";import{n as u,tt as d}from"./store-CEYCdhjW.js";import{r as f,t as p}from"./utils-CWTBjUlE.js";import{F as m,Kt as h,dt as g,gt as _,k as v,mn as y,qt as b,r as x}from"./lucide-react-C-dX1rVz.js";import{r as S,t as C}from"./button-DVIjvd2G.js";import{i as ee,n as te,r as w,t as T}from"./tooltip-Cqmpv-M5.js";import{B as E,Dn as D,En as ne,G as re,I as ie,L as ae,Mt as O,W as k,kt as oe,ln as A,tt as j,z as se}from"./api-IMkL19mR.js";import{t as ce}from"./progress-indicator-QgGbLfer.js";import{n as M}from"./suspense-resource-DzlMlIgR.js";import{$t as N,At as le,Ct as P,Gn as F,Ot as I,Pt as L,St as ue,Ut as R,cr as de,dr as z,dt as B,jt as V,kt as fe,lr as pe,lt as me,mt as he,pt as H,ur as ge,vt as U,wr as W}from"./index-C3E_66vw.js";import{t as G}from"./async-error-boundary-Did-c5sq.js";import{t as K}from"./sorting-DqwxPMRN.js";import{t as q}from"./pending-changes-Bn-0ak1d.js";import{o as J}from"./settings-list-CvCGue_y.js";import{t as Y}from"./use-deferred-search-Dgxosq55.js";import{n as X,r as _e,t as ve}from"./model-list-controls-Yu77SyTe.js";var Z=t(),Q=e(n(),1),$=r(),ye=S(p(s.compact,`inline-flex items-center rounded-full border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function be(e){let t=(0,Z.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==i?(a=p(ye({variant:i}),n),t[4]=n,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==r||t[8]!==a?(o=(0,$.jsx)(`div`,{className:a,...r}),t[7]=r,t[8]=a,t[9]=o):o=t[9],o}function xe(e,t,n){return n?e.find(e=>e.slug===n)??null:t?e.find(e=>e.name===t)??null:null}function Se(e,t,n){return e?!!(n&&e.slug===n||t&&e.name===t):!1}function Ce(e){return e instanceof Error?e.message:`Failed to load providers`}async function we({providerData:e,selectedProviderName:t,selectedProviderSlug:n,fetchProviders:r}){if(Se(e,t,n))return{provider:e};try{return{provider:xe(await r(),t,n)}}catch(e){return{error:Ce(e)}}}var Te=c(`app.use-provider-details.hook`);function Ee(){let e=(0,Z.c)(10),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(``),[a,o]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={},e[0]=h):h=e[0];let[g,_]=(0,Q.useState)(h),v;return e[1]!==a||e[2]!==r||e[3]!==s||e[4]!==p||e[5]!==g||e[6]!==d||e[7]!==t||e[8]!==l?(v={selectedProvider:t,setSelectedProvider:n,displayApiKey:r,setDisplayApiKey:i,balance:a,setBalance:o,error:s,setError:c,showApiKey:l,setShowApiKey:u,saveStatus:d,setSaveStatus:f,originalApiKey:p,setOriginalApiKey:m,providerEnvValues:g,setProviderEnvValues:_},e[1]=a,e[2]=r,e[3]=s,e[4]=p,e[5]=g,e[6]=d,e[7]=t,e[8]=l,e[9]=v):v=e[9],v}function De(){let e=(0,Z.c)(15),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Q.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Q.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Q.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Q.useState)(u),{query:p,setQuery:m,deferredQuery:h}=Y(),[g,_]=(0,Q.useState)(`alphabetical`),[v,y]=(0,Q.useState)(`all`),[b,x]=(0,Q.useState)(`coding`),S;return e[4]!==n||e[5]!==h||e[6]!==a||e[7]!==c||e[8]!==v||e[9]!==p||e[10]!==g||e[11]!==b||e[12]!==d||e[13]!==m?(S={availableModels:n,setAvailableModels:r,enabledModelIds:a,setEnabledModelIds:o,initialEnabledModelIds:c,setInitialEnabledModelIds:l,pendingChanges:d,setPendingChanges:f,modelSearchQuery:p,setModelSearchQuery:m,deferredModelSearchQuery:h,modelSortBy:g,setModelSortBy:_,modelFilter:v,setModelFilter:y,modelTab:b,setModelTab:x},e[4]=n,e[5]=h,e[6]=a,e[7]=c,e[8]=v,e[9]=p,e[10]=g,e[11]=b,e[12]=d,e[13]=m,e[14]=S):S=e[14],S}function Oe(){let e=(0,Z.c)(9),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Q.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Q.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Q.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Q.useState)(u),p;return e[4]!==n||e[5]!==a||e[6]!==c||e[7]!==d?(p={availableImageModels:n,setAvailableImageModels:r,enabledImageModelIds:a,setEnabledImageModelIds:o,initialEnabledImageModelIds:c,setInitialEnabledImageModelIds:l,pendingImageChanges:d,setPendingImageChanges:f},e[4]=n,e[5]=a,e[6]=c,e[7]=d,e[8]=p):p=e[8],p}function ke(){let e=(0,Z.c)(7),t=u(),[n,r]=(0,Q.useState)(!1),[i,a]=(0,Q.useState)(``),o=Ee(),s=De(),c=Oe(),l;return e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==o||e[4]!==s||e[5]!==c?(l={dispatch:t,modelsLoading:n,setModelsLoading:r,modelsError:i,setModelsError:a,...o,...s,...c},e[0]=t,e[1]=i,e[2]=n,e[3]=o,e[4]=s,e[5]=c,e[6]=l):l=e[6],l}function Ae({selectedProviderName:e=null,selectedProviderSlug:t=null,providerData:n}){let r=ke(),i=e=>N(e.id),a=(0,Q.useRef)(0);function o(){r.setAvailableModels([]),r.setAvailableImageModels([]),r.setEnabledModelIds(new Set),r.setInitialEnabledModelIds(new Set),r.setEnabledImageModelIds(new Set),r.setInitialEnabledImageModelIds(new Set),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}(0,Q.useEffect)(()=>{let i=++a.current;async function c(){r.setError(``);let c=await we({providerData:n,selectedProviderName:e,selectedProviderSlug:t,fetchProviders:O});if(i!==a.current)return;if(`error`in c){r.setError(c.error);return}let l=c.provider;r.setSelectedProvider(l),r.setOriginalApiKey(l?.apiKey??``),r.setDisplayApiKey(l?.apiKey??``),r.setProviderEnvValues(l?.envValues??{}),l?(u(l.slug,i),s(l.slug,i)):(o(),r.setBalance(null),r.setModelsLoading(!1),r.setModelsError(``))}c()},[e,t,n]);async function s(e,t=a.current){r.setBalance(null);try{let n=await oe(e);if(t!==a.current)return;n.status===`success`&&r.setBalance(n.balance)}catch(t){Te.error(`Failed to load balance for ${e}:`,t)}}function c(e){return e instanceof Error?e.message:`Failed to load models from local API`}async function u(e,t=a.current){r.setModelsLoading(!0),r.setModelsError(``),r.setModelSearchQuery(``),r.setModelSortBy(`alphabetical`),r.setModelFilter(`all`),r.setModelTab(`coding`);try{let[n,i]=await Promise.all([re(e),k(e)]);if(t!==a.current)return;r.setAvailableModels(n.models),r.setAvailableImageModels(i.models);let o=new Set(n.enabledModelIds);r.setEnabledModelIds(o),r.setInitialEnabledModelIds(o);let s=new Set(i.enabledModelIds);r.setEnabledImageModelIds(s),r.setInitialEnabledImageModelIds(s),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}catch(n){if(t!==a.current)return;Te.error(`Failed to load models for ${e}:`,n),o(),r.setModelsError(c(n))}finally{t===a.current&&r.setModelsLoading(!1)}}async function f(e){let t=a.current;r.setModelsLoading(!0),r.setModelsError(``);try{if(await A(e),t!==a.current||(await u(e,t),t!==a.current))return;r.dispatch({type:d.ConfigUpdated})}catch(n){if(t!==a.current)return;Te.error(`Failed to refresh models for ${e}:`,n),o(),r.setModelsError(c(n)),r.setModelsLoading(!1)}}let p=(e,t)=>{r.selectedProvider?.name===e&&(r.setDisplayApiKey(t),h(t))},m=(e,t)=>{r.setProviderEnvValues(n=>({...n,[e]:t}));let n=r.selectedProvider?.slug;n&&(async()=>{try{await ne({[e]:t}),r.dispatch({type:d.ConfigUpdated}),r.setSaveStatus(`${H(e)} saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save provider settings`);return}l(n)&&e===`LOCAL_API_URL`&&t.trim()&&await f(n)})()},h=async e=>{if(!(!r.selectedProvider||e===r.originalApiKey))try{await D(r.selectedProvider.slug,e),r.dispatch({type:d.ConfigUpdated}),r.setOriginalApiKey(e),r.setSaveStatus(`API key saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save API key`)}},g=(e,t)=>{t===`image`?r.setPendingImageChanges(t=>{let n=new Map(t),i=r.enabledImageModelIds.has(e),a=n.has(e),o=n.get(e),s=!(a?o:i);return s===i?n.delete(e):n.set(e,s),_(e,(n.has(e)?n.get(e):i)??!1,`image`),n}):r.setPendingChanges(t=>{let n=q(t,e,r.enabledModelIds);return _(e,(n.has(e)?n.get(e):r.enabledModelIds.has(e))??!1,`coding`),n})},_=async(e,t,n=`coding`)=>{if(r.selectedProvider)try{n===`image`?(t?(await se(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>new Set([...t,e]))):(await ie(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingImageChanges(t=>{let n=new Map(t);return n.delete(e),n})):(t?(await E(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>new Set([...t,e]))):(await ae(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingChanges(t=>{let n=new Map(t);return n.delete(e),n}),R()),r.dispatch({type:d.ConfigUpdated}),r.setSaveStatus(`Model preferences saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save model changes`)}};async function v(e,t=`coding`){let n=t===`image`?r.availableImageModels:r.availableModels,i=t===`image`?r.enabledImageModelIds:r.enabledModelIds;(t===`image`?r.setPendingImageChanges:r.setPendingChanges)(t=>{let r=new Map(t);for(let t of n)i.has(t.id)===e?r.delete(t.id):r.set(t.id,e);return r});for(let r of n)i.has(r.id)!==e&&await _(r.id,e,t)}let y=r.displayApiKey!==void 0&&r.displayApiKey.trim().length>0,b=(0,Q.useMemo)(()=>K({models:r.availableModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledModelIds.has(e.id)}),[r.availableModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledModelIds,r.modelSortBy,i]),x=(0,Q.useMemo)(()=>K({models:r.availableImageModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy===`coding-index`||r.modelSortBy===`intelligence-by-price`?`alphabetical`:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledImageModelIds.has(e.id)}),[r.availableImageModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledImageModelIds,r.modelSortBy,i]);return{selectedProvider:r.selectedProvider,error:r.error,balance:r.balance,displayApiKey:r.displayApiKey,showApiKey:r.showApiKey,setShowApiKey:r.setShowApiKey,providerEnvValues:r.providerEnvValues,modelsLoading:r.modelsLoading,modelsError:r.modelsError,saveStatus:r.saveStatus,modelTab:r.modelTab,setModelTab:r.setModelTab,modelSearchQuery:r.modelSearchQuery,setModelSearchQuery:r.setModelSearchQuery,modelSortBy:r.modelSortBy,setModelSortBy:r.setModelSortBy,modelFilter:r.modelFilter,setModelFilter:r.setModelFilter,availableModels:r.availableModels,enabledModelIds:r.enabledModelIds,pendingChanges:r.pendingChanges,filteredAndSortedModels:b,availableImageModels:r.availableImageModels,enabledImageModelIds:r.enabledImageModelIds,pendingImageChanges:r.pendingImageChanges,filteredAndSortedImageModels:x,hasApiKey:y,getModelDisplayName:i,handleUpdateKeyLocal:p,handleUpdateProviderEnv:m,refreshLocalProviderModels:f,handleToggleModel:g,handleToggleAllModels:v}}function je(e){let t=(0,Z.c)(7),{provider:n,onBack:r}=e;if(!r&&!n.url)return null;let i;t[0]===n.url?i=t[1]:(i=n.url?(0,$.jsx)(B,{url:n.url,className:p(s.compact,`p-3`)}):null,t[0]=n.url,t[1]=i);let a;t[2]===r?a=t[3]:(a=r?(0,$.jsxs)(C,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:r,children:[(0,$.jsx)(x,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close provider details`})]}):null,t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Me(e){let t=(0,Z.c)(6),{balance:n}=e;if(n===null)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=p(s.compact,`inline-flex shrink-0 items-center gap-1.5 font-medium`),i=(0,$.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full bg-green-500`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=f(n),t[2]=n,t[3]=a);let o;return t[4]===a?o=t[5]:(o=(0,$.jsxs)(`span`,{className:r,children:[i,`$`,a,` balance`]}),t[4]=a,t[5]=o),o}function Ne(e){let t=(0,Z.c)(8),{title:n,tooltip:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=p(s.label,`cursor-help`),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(`span`,{className:i,children:n})}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(te,{children:r}),t[3]=r,t[4]=o);let c;return t[5]!==a||t[6]!==o?(c=(0,$.jsx)(w,{children:(0,$.jsxs)(T,{children:[a,o]})}),t[5]=a,t[6]=o,t[7]=c):c=t[7],c}function Pe(e){let t=(0,Z.c)(10),{provider:n,displayApiKey:r,showApiKey:i,onToggleShowApiKey:a,onUpdateKey:o,providerEnvValues:s,onUpdateEnv:c,modelsLoading:u,onRefreshModels:d}=e,f;return t[0]!==r||t[1]!==u||t[2]!==d||t[3]!==a||t[4]!==c||t[5]!==o||t[6]!==n||t[7]!==s||t[8]!==i?(f=(0,$.jsx)($.Fragment,{children:n.authType===`APIKey`?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(fe,{children:[(0,$.jsx)(I,{label:(0,$.jsx)(Ne,{title:`API Key`,tooltip:`Your API key is stored locally and never shared.`}),control:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(_,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(W,{type:i?`text`:`password`,placeholder:n.keyName||`Enter API Key`,className:`pl-10 pr-10`,value:r,onChange:e=>{o(n.name,e.target.value)}}),(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:a,disabled:!r,children:i?(0,$.jsx)(b,{className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(h,{className:`h-4 w-4 text-muted-foreground`})})]})}),he(n).map(e=>(0,$.jsx)(I,{label:(0,$.jsx)(Ne,{title:H(e),tooltip:e}),control:l(n.slug)&&e===`LOCAL_API_URL`?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(W,{id:e,value:s[e]??``,onChange:t=>c(e,t.target.value),placeholder:n.api,className:`pr-10`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(w,{children:(0,$.jsxs)(T,{children:[(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:()=>{d(n.slug)},disabled:u,children:u?(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(m,{className:`h-4 w-4 text-muted-foreground`})})}),(0,$.jsx)(te,{children:`Refresh models`})]})})]}):(0,$.jsx)(W,{id:e,value:s[e]??``,onChange:t=>c(e,t.target.value),placeholder:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`})},e))]})}):(0,$.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,$.jsx)(ue,{className:`mb-0`,children:`This provider uses OAuth for authentication.`}),(0,$.jsxs)(C,{variant:`outline`,size:`sm`,disabled:!0,children:[`Sign in with `,n.name]})]})}),t[0]=r,t[1]=u,t[2]=d,t[3]=a,t[4]=c,t[5]=o,t[6]=n,t[7]=s,t[8]=i,t[9]=f):f=t[9],f}function Fe(e){let t=(0,Z.c)(6),{htmlFor:n,displayName:r,variant:i}=e,a=s[i],o;t[0]===a?o=t[1]:(o=p(a,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),t[0]=a,t[1]=o);let c;return t[2]!==r||t[3]!==n||t[4]!==o?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:n,className:o,children:r})}),t[2]=r,t[3]=n,t[4]=o,t[5]=c):c=t[5],c}function Ie(e){let t=(0,Z.c)(9),{pricing:n,className:r}=e,i=(n.prompt??0)===0&&(n.completion??0)===0,a;t[0]===r?a=t[1]:(a=p(s.caption,`whitespace-nowrap`,r),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.completion||t[4]!==n.prompt?(o=i?``:`$${f(n.prompt??0)} in | $${f(n.completion??0)} out`,t[2]=i,t[3]=n.completion,t[4]=n.prompt,t[5]=o):o=t[5];let c;return t[6]!==a||t[7]!==o?(c=(0,$.jsx)(`span`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function Le(e){let t=(0,Z.c)(15),{model:n,displayName:r,checkboxId:i,showStarRating:a}=e,o;t[0]!==i||t[1]!==r?(o=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`body`}),t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n.coding_index||t[5]!==a?(s=a&&(0,$.jsx)(_e,{codingIndex:n.coding_index,modelName:r}),t[3]=r,t[4]=n.coding_index,t[5]=a,t[6]=s):s=t[6];let c;t[7]===n.pricing?c=t[8]:(c=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing}),t[7]=n.pricing,t[8]=c);let l;t[9]!==s||t[10]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11];let u;return t[12]!==o||t[13]!==l?(u=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[o,l]}),t[12]=o,t[13]=l,t[14]=u):u=t[14],u}function Re(e){let t=(0,Z.c)(8),{model:n,displayName:r,checkboxId:i}=e,a;t[0]!==i||t[1]!==r?(a=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`label`}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===n.pricing?o=t[4]:(o=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing,className:`flex-shrink-0`}),t[3]=n.pricing,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[a,o]}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function ze(e){let t=(0,Z.c)(22),{tab:n,model:r,displayName:i,willBeEnabled:a,hasApiKey:o,showStarRating:s,onToggle:c}=e,l=n===`image`?`image-${r.id}`:r.id,u=r.id,d=!o&&`opacity-25`,f;t[0]===d?f=t[1]:(f=p(`flex cursor-default items-center space-x-3 px-3 py-2 transition-colors hover:bg-muted/30`,d),t[0]=d,t[1]=f);let m=!o,h=a??!1,g;t[2]!==r.id||t[3]!==c?(g=()=>c(r.id),t[2]=r.id,t[3]=c,t[4]=g):g=t[4];let _=`${i} ${a?`enabled`:`disabled`}`,v;t[5]!==l||t[6]!==m||t[7]!==h||t[8]!==g||t[9]!==_?(v=(0,$.jsx)(me,{id:l,disabled:m,value:h,onChange:g,ariaLabel:_}),t[5]=l,t[6]=m,t[7]=h,t[8]=g,t[9]=_,t[10]=v):v=t[10];let y;t[11]!==l||t[12]!==i||t[13]!==r||t[14]!==s||t[15]!==n?(y=n===`coding`?(0,$.jsx)(Le,{model:r,displayName:i,checkboxId:l,showStarRating:s}):(0,$.jsx)(Re,{model:r,displayName:i,checkboxId:l}),t[11]=l,t[12]=i,t[13]=r,t[14]=s,t[15]=n,t[16]=y):y=t[16];let b;return t[17]!==r.id||t[18]!==f||t[19]!==v||t[20]!==y?(b=(0,$.jsxs)(`div`,{className:f,children:[v,y]},u),t[17]=r.id,t[18]=f,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function Be(e){let t=(0,Z.c)(13),{tab:n,models:r,filteredModels:i,modelsLoading:a,modelsError:c,hasApiKey:l,enabledModelIds:u,pendingChanges:d,modelSortBy:f,getModelDisplayName:m,onToggleModel:h}=e,_=n===`coding`,v=_?c?`No models loaded.`:`No models available for this provider.`:`No image models available for this provider.`,y;return t[0]!==v||t[1]!==u||t[2]!==i||t[3]!==m||t[4]!==l||t[5]!==_||t[6]!==f||t[7]!==r||t[8]!==a||t[9]!==h||t[10]!==d||t[11]!==n?(y=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:a?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(g,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):r.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:v})}):(0,$.jsx)(w,{children:(0,$.jsx)(`div`,{className:p(`grid grid-cols-1 gap-0`,o.tableWrapper),children:i.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:`No models matching your filters.`})}):i.map(e=>{let t=u.has(e.id),r=d.has(e.id),i=d.get(e.id),a=(r?i:t)??!1;return(0,$.jsx)(ze,{tab:n,model:e,displayName:m(e),willBeEnabled:a,hasApiKey:l,showStarRating:_&&(f===`coding-index`||f===`intelligence-by-price`),onToggle:e=>h(e,n)},e.id)})})})}),t[0]=v,t[1]=u,t[2]=i,t[3]=m,t[4]=l,t[5]=_,t[6]=f,t[7]=r,t[8]=a,t[9]=h,t[10]=d,t[11]=n,t[12]=y):y=t[12],y}function Ve(e){let t=(0,Z.c)(22),{tab:n,showImageTab:r,modelsLoading:i,models:a,hasApiKey:o,enabledModelIds:s,pendingChanges:c,modelSearchQuery:l,onModelSearchQueryChange:u,modelSortBy:d,onModelSortByChange:f,onToggleAllModels:m}=e,h=n===`coding`,g=h?`select-all-models`:`select-all-image-models`,_=!i&&a.length>0,y=_&&!o&&`opacity-25`,b;t[0]===y?b=t[1]:(b=p(`flex flex-col gap-2 md:flex-row md:items-center`,y),t[0]=y,t[1]=b);let x;t[2]===r?x=t[3]:(x=r?(0,$.jsxs)(ge,{className:`w-fit shrink-0 self-start`,children:[(0,$.jsx)(z,{value:`coding`,children:`Coding`}),(0,$.jsx)(z,{value:`image`,children:`Image`})]}):null,t[2]=r,t[3]=x);let S;t[4]!==s||t[5]!==o||t[6]!==h||t[7]!==l||t[8]!==d||t[9]!==a||t[10]!==u||t[11]!==f||t[12]!==m||t[13]!==c||t[14]!==g||t[15]!==_||t[16]!==n?(S=_?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative w-full md:w-52 flex-shrink-0`,children:[(0,$.jsx)(v,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,$.jsx)(W,{placeholder:`Search`,className:`pl-10 h-8`,value:l,onChange:e=>u(e.target.value),disabled:!o})]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-2 self-end md:ml-auto md:self-auto`,children:[(0,$.jsx)(ve,{id:g,disabled:!o,checked:a.every(e=>{let t=c.has(e.id),n=c.get(e.id);return t?n:s.has(e.id)}),onChange:e=>{m(e,n)}}),(0,$.jsx)(X,{sortBy:d,showCodingIndex:h,showIntelligenceByPrice:h,onSortByChange:f})]})]}):null,t[4]=s,t[5]=o,t[6]=h,t[7]=l,t[8]=d,t[9]=a,t[10]=u,t[11]=f,t[12]=m,t[13]=c,t[14]=g,t[15]=_,t[16]=n,t[17]=S):S=t[17];let C;return t[18]!==b||t[19]!==x||t[20]!==S?(C=(0,$.jsxs)(`div`,{className:b,children:[x,S]}),t[18]=b,t[19]=x,t[20]=S,t[21]=C):C=t[21],C}function He(e){let t=(0,Z.c)(10),{title:n,description:r,action:i,tableHeader:a,children:o}=e,s;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n?(s=(0,$.jsx)(P,{title:n,description:r,action:i,sticky:!1,tableHeader:a}),t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=(0,$.jsx)(`div`,{className:`px-6 pb-6`,children:o}),t[5]=o,t[6]=c);let l;return t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(L,{className:`shrink-0`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Ue(e){let t=(0,Z.c)(111),{selectedProviderName:n,selectedProviderSlug:r,providerData:i,onBack:a,className:o}=e,s=n===void 0?null:n,c=r===void 0?null:r,l;t[0]!==i||t[1]!==s||t[2]!==c?(l={selectedProviderName:s,selectedProviderSlug:c,providerData:i},t[0]=i,t[1]=s,t[2]=c,t[3]=l):l=t[3];let{selectedProvider:u,error:d,balance:f,displayApiKey:m,showApiKey:h,setShowApiKey:g,providerEnvValues:_,modelsLoading:v,modelsError:b,saveStatus:x,modelTab:S,setModelTab:ee,modelSearchQuery:te,setModelSearchQuery:w,modelSortBy:T,setModelSortBy:E,availableModels:D,enabledModelIds:ne,pendingChanges:re,filteredAndSortedModels:ie,availableImageModels:ae,enabledImageModelIds:O,pendingImageChanges:k,filteredAndSortedImageModels:oe,hasApiKey:A,getModelDisplayName:j,handleUpdateKeyLocal:se,handleUpdateProviderEnv:ce,refreshLocalProviderModels:M,handleToggleModel:N,handleToggleAllModels:P}=Ae(l);if(d){let e;t[4]===o?e=t[5]:(e=p(`flex h-full min-h-0 flex-col items-center justify-center gap-4 p-6`,o),t[4]=o,t[5]=e);let n;t[6]===d?n=t[7]:(n=(0,$.jsx)(ue,{variant:`error`,className:`mb-0`,children:d}),t[6]=d,t[7]=n);let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:We,children:`Retry`}),t[8]=r):r=t[8];let i;return t[9]!==e||t[10]!==n?(i=(0,$.jsxs)(`div`,{className:e,children:[n,r]}),t[9]=e,t[10]=n,t[11]=i):i=t[11],i}if(!u){let e;t[12]===o?e=t[13]:(e=p(`flex h-full min-h-0 items-center justify-center`,o),t[12]=o,t[13]=e);let n=s||c?`Provider not found`:`Select a Provider`,r;t[14]===a?r=t[15]:(r=a?(0,$.jsxs)(C,{variant:`outline`,size:`sm`,onClick:a,children:[(0,$.jsx)(y,{className:`h-4 w-4 mr-1`}),`Back to Providers`]}):void 0,t[14]=a,t[15]=r);let i=a?`This provider could not be found.`:`Choose a provider from the list to configure its settings.`,l;t[16]!==n||t[17]!==r||t[18]!==i?(l=(0,$.jsx)(le,{title:n,action:r,children:i}),t[16]=n,t[17]=r,t[18]=i,t[19]=l):l=t[19];let u;return t[20]!==e||t[21]!==l?(u=(0,$.jsx)(`div`,{className:e,children:l}),t[20]=e,t[21]=l,t[22]=u):u=t[22],u}let F;t[23]===o?F=t[24]:(F=p(`h-full min-h-0`,o),t[23]=o,t[24]=F);let I;t[25]!==a||t[26]!==u?(I=(0,$.jsx)(je,{provider:u,onBack:a}),t[25]=a,t[26]=u,t[27]=I):I=t[27];let L;t[28]!==g||t[29]!==h?(L=()=>g(!h),t[28]=g,t[29]=h,t[30]=L):L=t[30];let R;t[31]!==m||t[32]!==se||t[33]!==ce||t[34]!==v||t[35]!==_||t[36]!==M||t[37]!==u||t[38]!==h||t[39]!==L?(R=(0,$.jsx)(`div`,{className:`pt-6`,children:(0,$.jsx)(Pe,{provider:u,displayApiKey:m,showApiKey:h,onToggleShowApiKey:L,onUpdateKey:se,providerEnvValues:_,onUpdateEnv:ce,modelsLoading:v,onRefreshModels:M})}),t[31]=m,t[32]=se,t[33]=ce,t[34]=v,t[35]=_,t[36]=M,t[37]=u,t[38]=h,t[39]=L,t[40]=R):R=t[40];let z;t[41]!==u.name||t[42]!==I||t[43]!==R?(z=(0,$.jsx)(He,{title:u.name,description:`Configure API keys and connection settings for this provider.`,action:I,children:R}),t[41]=u.name,t[42]=I,t[43]=R,t[44]=z):z=t[44];let B;t[45]!==w||t[46]!==E||t[47]!==ee?(B=e=>{ee(e),w(``),E(`alphabetical`)},t[45]=w,t[46]=E,t[47]=ee,t[48]=B):B=t[48];let V;t[49]===f?V=t[50]:(V=(0,$.jsx)(Me,{balance:f}),t[49]=f,t[50]=V);let fe;t[51]===u.name?fe=t[52]:(fe=u.name.toLowerCase(),t[51]=u.name,t[52]=fe);let me=fe===`openrouter`,he=S===`coding`?D:ae,H=S===`coding`?ne:O,ge=S===`coding`?re:k,U;t[53]!==P||t[54]!==A||t[55]!==te||t[56]!==T||t[57]!==S||t[58]!==v||t[59]!==w||t[60]!==E||t[61]!==me||t[62]!==he||t[63]!==H||t[64]!==ge?(U=(0,$.jsx)(Ve,{tab:S,showImageTab:me,modelsLoading:v,models:he,hasApiKey:A,enabledModelIds:H,pendingChanges:ge,modelSearchQuery:te,onModelSearchQueryChange:w,modelSortBy:T,onModelSortByChange:E,onToggleAllModels:P}),t[53]=P,t[54]=A,t[55]=te,t[56]=T,t[57]=S,t[58]=v,t[59]=w,t[60]=E,t[61]=me,t[62]=he,t[63]=H,t[64]=ge,t[65]=U):U=t[65];let W;t[66]===b?W=t[67]:(W=b?(0,$.jsx)(ue,{variant:`error`,className:`mb-4`,children:b}):null,t[66]=b,t[67]=W);let G;t[68]!==D||t[69]!==ne||t[70]!==ie||t[71]!==j||t[72]!==N||t[73]!==A||t[74]!==T||t[75]!==b||t[76]!==v||t[77]!==re||t[78]!==u?(G=(0,$.jsx)(pe,{value:`coding`,children:(0,$.jsx)(Be,{tab:`coding`,provider:u,models:D,filteredModels:ie,modelsLoading:v,modelsError:b,hasApiKey:A,enabledModelIds:ne,pendingChanges:re,modelSortBy:T,getModelDisplayName:j,onToggleModel:N})}),t[68]=D,t[69]=ne,t[70]=ie,t[71]=j,t[72]=N,t[73]=A,t[74]=T,t[75]=b,t[76]=v,t[77]=re,t[78]=u,t[79]=G):G=t[79];let K;t[80]!==ae||t[81]!==O||t[82]!==oe||t[83]!==j||t[84]!==N||t[85]!==A||t[86]!==T||t[87]!==b||t[88]!==v||t[89]!==k||t[90]!==u?(K=(0,$.jsx)(pe,{value:`image`,children:(0,$.jsx)(Be,{tab:`image`,provider:u,models:ae,filteredModels:oe,modelsLoading:v,modelsError:b,hasApiKey:A,enabledModelIds:O,pendingChanges:k,modelSortBy:T,getModelDisplayName:j,onToggleModel:N})}),t[80]=ae,t[81]=O,t[82]=oe,t[83]=j,t[84]=N,t[85]=A,t[86]=T,t[87]=b,t[88]=v,t[89]=k,t[90]=u,t[91]=K):K=t[91];let q;t[92]===x?q=t[93]:(q=x?(0,$.jsx)(ue,{variant:x.includes(`error`)||x.includes(`Failed`)?`error`:`success`,className:`mt-4`,children:x}):null,t[92]=x,t[93]=q);let J;t[94]!==V||t[95]!==U||t[96]!==W||t[97]!==G||t[98]!==K||t[99]!==q?(J=(0,$.jsxs)(He,{title:`Models`,description:`Enable coding and image models for this provider.`,action:V,tableHeader:U,children:[W,G,K,q]}),t[94]=V,t[95]=U,t[96]=W,t[97]=G,t[98]=K,t[99]=q,t[100]=J):J=t[100];let Y;t[101]!==S||t[102]!==J||t[103]!==B?(Y=(0,$.jsx)(de,{value:S,onValueChange:B,children:J}),t[101]=S,t[102]=J,t[103]=B,t[104]=Y):Y=t[104];let X;t[105]!==Y||t[106]!==z?(X=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[z,Y]})}),t[105]=Y,t[106]=z,t[107]=X):X=t[107];let _e;return t[108]!==X||t[109]!==F?(_e=(0,$.jsx)(`div`,{className:F,children:X}),t[108]=X,t[109]=F,t[110]=_e):_e=t[110],_e}function We(){return window.location.reload()}function Ge(e){return`providers:list:${e}`}async function Ke(){let[e,t]=await Promise.all([O(),j().catch(()=>({}))]),n={};for(let[e,r]of Object.entries(t))n[e]=r.length;return{providers:e,enabledModelCounts:n}}var qe=`grid min-h-10 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 hover:bg-muted/30 cursor-pointer`,Je=`[&>*+*]:border-t [&>*+*]:border-table-border`;function Ye(e){let t=(0,Z.c)(9),{title:n,description:r,action:i,children:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==n?(o=(0,$.jsx)(P,{title:n,description:r,action:i,sticky:!1}),t[0]=i,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=(0,$.jsx)(V,{className:`pt-6`,children:a}),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,$.jsxs)(L,{className:`shrink-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Xe(e){let t=(0,Z.c)(33),{loadVersion:n,onProviderClick:r}=e,{query:i,setQuery:a,deferredQuery:o}=Y(),c;t[0]===n?c=t[1]:(c=Ge(n),t[0]=n,t[1]=c);let{providers:l,enabledModelCounts:u}=F(c,Ke),d;if(t[2]!==o||t[3]!==u||t[4]!==l){let e;t[6]===o?e=t[7]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[6]=o,t[7]=e);let n;t[8]===u?n=t[9]:(n=(e,t)=>{let n=(u[e.slug]??0)>0,r=(u[t.slug]??0)>0;return n&&!r?-1:!n&&r?1:e.name.localeCompare(t.name)},t[8]=u,t[9]=n),d=l.filter($e).filter(e).sort(n),t[2]=o,t[3]=u,t[4]=l,t[5]=d}else d=t[5];let f=d,m;if(t[10]!==o||t[11]!==l){let e;t[13]===o?e=t[14]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[13]=o,t[14]=e),m=l.filter(Qe).filter(e).sort(Ze),t[10]=o,t[11]=l,t[12]=m}else m=t[12];let h=m,g;t[15]!==i||t[16]!==a?(g=(0,$.jsx)(J,{placeholder:`Search`,value:i,onChange:a,className:`mb-0 w-64`}),t[15]=i,t[16]=a,t[17]=g):g=t[17];let _;t[18]!==f||t[19]!==u||t[20]!==r||t[21]!==i?(_=f.length===0?(0,$.jsx)(`p`,{className:p(s.bodyMuted,`py-4`),children:i?`No connected providers match your search.`:`No providers connected yet. Add an API key to get started.`}):(0,$.jsx)(`div`,{className:Je,children:f.map(e=>(0,$.jsx)(ot,{provider:e,modelCount:u[e.slug]??0,onClick:r},e.name))}),t[18]=f,t[19]=u,t[20]=r,t[21]=i,t[22]=_):_=t[22];let v;t[23]!==g||t[24]!==_?(v=(0,$.jsx)(Ye,{title:`Connected Providers`,description:`Providers you've connected with an API key or environment variable.`,action:g,children:_}),t[23]=g,t[24]=_,t[25]=v):v=t[25];let y;t[26]!==h||t[27]!==r||t[28]!==i?(y=(0,$.jsx)(Ye,{title:`Available Providers`,description:`Connect additional providers by adding your API key.`,children:h.length===0?(0,$.jsx)(`p`,{className:p(s.bodyMuted,`py-4`),children:i?`No available providers match your search.`:`All providers are connected.`}):(0,$.jsx)(`div`,{className:Je,children:h.map(e=>(0,$.jsx)(st,{provider:e,onClick:r},e.name))})}),t[26]=h,t[27]=r,t[28]=i,t[29]=y):y=t[29];let b;return t[30]!==v||t[31]!==y?(b=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[v,y]})}),t[30]=v,t[31]=y,t[32]=b):b=t[32],b}function Ze(e,t){return e.name.localeCompare(t.name)}function Qe(e){return!e.apiKey}function $e(e){return e.apiKey}function et(){let e=(0,Z.c)(21),t=a(),{providerSlug:n}=i(),[r,o]=(0,Q.useState)(0),s=(0,Q.useRef)(n),c,l;e[0]!==r||e[1]!==n?(c=()=>{s.current&&!n&&(M(Ge(r)),o(it)),s.current=n},l=[n,r],e[0]=r,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,Q.useEffect)(c,l);let u;e[4]===t?u=e[5]:(u=e=>{t(`/settings/providers/${encodeURIComponent(e.slug)}`)},e[4]=t,e[5]=u);let d=u,f;e[6]!==r||e[7]!==t?(f=()=>{t(`/settings/providers`),M(Ge(r)),o(rt)},e[6]=r,e[7]=t,e[8]=f):f=e[8];let p=f,m;e[9]===r?m=e[10]:(m=function(){M(Ge(r)),o(nt)},e[9]=r,e[10]=m);let h=m;if(n){let t=decodeURIComponent(n),r;return e[11]!==p||e[12]!==t?(r=(0,$.jsx)(Ue,{selectedProviderSlug:t,onBack:p}),e[11]=p,e[12]=t,e[13]=r):r=e[13],r}let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(ce,{centered:!0,label:`Loading providers...`,size:`lg`}),e[14]=g):g=e[14];let _;e[15]!==d||e[16]!==r?(_=(0,$.jsx)(Q.Suspense,{fallback:g,children:(0,$.jsx)(Xe,{loadVersion:r,onProviderClick:d},r)}),e[15]=d,e[16]=r,e[17]=_):_=e[17];let v;return e[18]!==h||e[19]!==_?(v=(0,$.jsx)(`div`,{className:`h-full min-h-0`,children:(0,$.jsx)(G,{fallbackTitle:`Failed to load providers`,onRetry:h,renderFallback:tt,children:_})}),e[18]=h,e[19]=_,e[20]=v):v=e[20],v}function tt(e,t){return(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(L,{className:`shrink-0`,children:[(0,$.jsx)(P,{title:`Providers`,description:`Manage your AI provider connections and API keys.`,sticky:!1}),(0,$.jsx)(`div`,{className:`flex items-center justify-center px-6 pb-6 pt-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(ue,{variant:`error`,className:`mb-4`,children:e.message}),(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})})]})})}function nt(e){return e+1}function rt(e){return e+1}function it(e){return e+1}function at(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function ot(e){let t=(0,Z.c)(25),{provider:n,modelCount:r,onClick:i}=e,a;t[0]!==i||t[1]!==n?(a=function(){i(n)},t[0]=i,t[1]=n,t[2]=a):a=t[2];let o=a,c;t[3]===o?c=t[4]:(c=e=>at(e,o),t[3]=o,t[4]=c);let l;t[5]===n?l=t[6]:(l=(0,$.jsx)(U,{provider:n}),t[5]=n,t[6]=l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=p(s.label,`truncate leading-normal`),t[7]=u):u=t[7];let d;t[8]===n.name?d=t[9]:(d=(0,$.jsx)(`span`,{className:u,children:n.name}),t[8]=n.name,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let m;t[13]===n.isEnv?m=t[14]:(m=n.isEnv?(0,$.jsx)(be,{variant:`secondary`,className:p(s.compact,`px-2 py-0.5`),children:`Environment`}):(0,$.jsx)(be,{variant:`secondary`,className:p(s.compact,`px-2 py-0.5`),children:`API Key`}),t[13]=n.isEnv,t[14]=m);let h;t[15]===r?h=t[16]:(h=r>0&&(0,$.jsxs)(be,{variant:`default`,className:p(s.compact,`px-2 py-0.5`),children:[r,` `,r===1?`Model`:`Models`]}),t[15]=r,t[16]=h);let g;t[17]!==m||t[18]!==h?(g=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1.5`,children:[m,h]}),t[17]=m,t[18]=h,t[19]=g):g=t[19];let _;return t[20]!==o||t[21]!==c||t[22]!==f||t[23]!==g?(_=(0,$.jsxs)(`div`,{className:qe,role:`button`,tabIndex:0,onClick:o,onKeyDown:c,children:[f,g]}),t[20]=o,t[21]=c,t[22]=f,t[23]=g,t[24]=_):_=t[24],_}function st(e){let t=(0,Z.c)(18),{provider:n,onClick:r}=e,i;t[0]!==r||t[1]!==n?(i=function(){r(n)},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;t[3]===a?o=t[4]:(o=e=>at(e,a),t[3]=a,t[4]=o);let c;t[5]===n?c=t[6]:(c=(0,$.jsx)(U,{provider:n}),t[5]=n,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=p(s.label,`truncate leading-normal`),t[7]=l):l=t[7];let u;t[8]===n.name?u=t[9]:(u=(0,$.jsx)(`span`,{className:l,children:n.name}),t[8]=n.name,t[9]=u);let d;t[10]!==c||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:p(s.compact,`shrink-0 text-muted-foreground`),children:`Configure`}),t[13]=f):f=t[13];let m;return t[14]!==a||t[15]!==o||t[16]!==d?(m=(0,$.jsxs)(`div`,{className:qe,role:`button`,tabIndex:0,onClick:a,onKeyDown:o,children:[d,f]}),t[14]=a,t[15]=o,t[16]=d,t[17]=m):m=t[17],m}export{et as default};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Vt as ee}from"./dist-DFsjr0PN.js";import{b as n}from"./lucide-react-CNNzKD4G.js";import{t as r}from"./button-CltOBnLJ.js";import{i,n as te,r as a,t as ne}from"./tooltip-JvDw-QDI.js";import{t as o}from"./progress-indicator-4LUNdJet.js";import{Ar as s,B as re,Cr as c,Dr as l,Er as u,Or as d,Tr as f,kr as p,lt as ie,wr as ae}from"./index-8x-2e2HM.js";var oe=e(),m=t();function h(e){let t=(0,oe.c)(58),{open:h,onOpenChange:g,prTitle:_,onPrTitleChange:v,prDescription:y,onPrDescriptionChange:b,isGeneratingPRInfo:x,isLoading:S,onGeneratePRInfo:C,onCreatePR:w,currentBranch:T,createWorkspaceAfterPR:E,onCreateWorkspaceAfterPRChange:D}=e,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,m.jsx)(s,{children:`Create Pull Request`}),t[0]=O):O=t[0];let k;t[1]===T?k=t[2]:(k=(0,m.jsxs)(p,{children:[O,(0,m.jsxs)(l,{children:[`Create a pull request for branch `,T]})]}),t[1]=T,t[2]=k);let A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,m.jsx)(c,{htmlFor:`pr-title`,children:`Title`}),t[3]=A):A=t[3];let j=T||`Enter PR title...`,M;t[4]===v?M=t[5]:(M=e=>v(e.target.value),t[4]=v,t[5]=M);let N;t[6]!==x||t[7]!==_||t[8]!==j||t[9]!==M?(N=(0,m.jsxs)(`div`,{className:`grid gap-2`,children:[A,(0,m.jsx)(ae,{id:`pr-title`,placeholder:j,value:_,onChange:M,disabled:x})]}),t[6]=x,t[7]=_,t[8]=j,t[9]=M,t[10]=N):N=t[10];let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,m.jsx)(c,{htmlFor:`pr-description`,children:`Description`}),t[11]=P):P=t[11];let F;t[12]===b?F=t[13]:(F=e=>b(e.target.value),t[12]=b,t[13]=F);let I;t[14]!==x||t[15]!==y||t[16]!==F?(I=(0,m.jsx)(re,{id:`pr-description`,placeholder:`Enter PR description...`,value:y,onChange:F,disabled:x,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[14]=x,t[15]=y,t[16]=F,t[17]=I):I=t[17];let L=x||S,R;t[18]===x?R=t[19]:(R=x?(0,m.jsx)(o,{}):(0,m.jsx)(n,{className:`h-3.5 w-3.5`}),t[18]=x,t[19]=R);let z;t[20]!==C||t[21]!==L||t[22]!==R?(z=(0,m.jsx)(i,{asChild:!0,children:(0,m.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:C,disabled:L,children:R})}),t[20]=C,t[21]=L,t[22]=R,t[23]=z):z=t[23];let B=x?`Generating PR description...`:`Generate PR title and description with AI`,V;t[24]===B?V=t[25]:(V=(0,m.jsx)(te,{children:B}),t[24]=B,t[25]=V);let H;t[26]!==z||t[27]!==V?(H=(0,m.jsx)(a,{children:(0,m.jsxs)(ne,{children:[z,V]})}),t[26]=z,t[27]=V,t[28]=H):H=t[28];let U;t[29]!==H||t[30]!==I?(U=(0,m.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[P,(0,m.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[I,H]})]}),t[29]=H,t[30]=I,t[31]=U):U=t[31];let W;t[32]!==U||t[33]!==N?(W=(0,m.jsxs)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:[N,U]}),t[32]=U,t[33]=N,t[34]=W):W=t[34];let G;t[35]!==E||t[36]!==D?(G=(0,m.jsx)(ie,{value:E,onChange:D,ariaLabel:`Create a new branch`}),t[35]=E,t[36]=D,t[37]=G):G=t[37];let K;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,m.jsx)(c,{className:ee.labelNormal,children:`Create a new branch`}),t[38]=K):K=t[38];let q;t[39]===G?q=t[40]:(q=(0,m.jsxs)(`div`,{className:`mr-auto flex items-center gap-3`,children:[G,K]}),t[39]=G,t[40]=q);let J=S||x,Y;t[41]===S?Y=t[42]:(Y=S?(0,m.jsxs)(m.Fragment,{children:[`Create PR`,(0,m.jsx)(o,{size:`sm`})]}):`Create PR`,t[41]=S,t[42]=Y);let X;t[43]!==w||t[44]!==J||t[45]!==Y?(X=(0,m.jsx)(r,{className:`ml-auto`,onClick:w,disabled:J,children:Y}),t[43]=w,t[44]=J,t[45]=Y,t[46]=X):X=t[46];let Z;t[47]!==q||t[48]!==X?(Z=(0,m.jsxs)(d,{className:`w-full items-center gap-4`,children:[q,X]}),t[47]=q,t[48]=X,t[49]=Z):Z=t[49];let Q;t[50]!==W||t[51]!==k||t[52]!==Z?(Q=(0,m.jsxs)(u,{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:[k,W,Z]}),t[50]=W,t[51]=k,t[52]=Z,t[53]=Q):Q=t[53];let $;return t[54]!==g||t[55]!==h||t[56]!==Q?($=(0,m.jsx)(f,{open:h,onOpenChange:g,children:Q}),t[54]=g,t[55]=h,t[56]=Q,t[57]=$):$=t[57],$}export{h as PullRequestDialog};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ut as ee}from"./dist-Ch137qdo.js";import{b as n}from"./lucide-react-C-dX1rVz.js";import{t as r}from"./button-DVIjvd2G.js";import{i,n as te,r as a,t as ne}from"./tooltip-Cqmpv-M5.js";import{t as o}from"./progress-indicator-QgGbLfer.js";import{Ar as s,B as re,Cr as c,Dr as l,Er as u,Or as d,Tr as f,kr as p,lt as ie,wr as ae}from"./index-C3E_66vw.js";var oe=e(),m=t();function h(e){let t=(0,oe.c)(58),{open:h,onOpenChange:g,prTitle:_,onPrTitleChange:v,prDescription:y,onPrDescriptionChange:b,isGeneratingPRInfo:x,isLoading:S,onGeneratePRInfo:C,onCreatePR:w,currentBranch:T,createWorkspaceAfterPR:E,onCreateWorkspaceAfterPRChange:D}=e,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,m.jsx)(s,{children:`Create Pull Request`}),t[0]=O):O=t[0];let k;t[1]===T?k=t[2]:(k=(0,m.jsxs)(p,{children:[O,(0,m.jsxs)(l,{children:[`Create a pull request for branch `,T]})]}),t[1]=T,t[2]=k);let A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,m.jsx)(c,{htmlFor:`pr-title`,children:`Title`}),t[3]=A):A=t[3];let j=T||`Enter PR title...`,M;t[4]===v?M=t[5]:(M=e=>v(e.target.value),t[4]=v,t[5]=M);let N;t[6]!==x||t[7]!==_||t[8]!==j||t[9]!==M?(N=(0,m.jsxs)(`div`,{className:`grid gap-2`,children:[A,(0,m.jsx)(ae,{id:`pr-title`,placeholder:j,value:_,onChange:M,disabled:x})]}),t[6]=x,t[7]=_,t[8]=j,t[9]=M,t[10]=N):N=t[10];let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,m.jsx)(c,{htmlFor:`pr-description`,children:`Description`}),t[11]=P):P=t[11];let F;t[12]===b?F=t[13]:(F=e=>b(e.target.value),t[12]=b,t[13]=F);let I;t[14]!==x||t[15]!==y||t[16]!==F?(I=(0,m.jsx)(re,{id:`pr-description`,placeholder:`Enter PR description...`,value:y,onChange:F,disabled:x,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[14]=x,t[15]=y,t[16]=F,t[17]=I):I=t[17];let L=x||S,R;t[18]===x?R=t[19]:(R=x?(0,m.jsx)(o,{}):(0,m.jsx)(n,{className:`h-3.5 w-3.5`}),t[18]=x,t[19]=R);let z;t[20]!==C||t[21]!==L||t[22]!==R?(z=(0,m.jsx)(i,{asChild:!0,children:(0,m.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:C,disabled:L,children:R})}),t[20]=C,t[21]=L,t[22]=R,t[23]=z):z=t[23];let B=x?`Generating PR description...`:`Generate PR title and description with AI`,V;t[24]===B?V=t[25]:(V=(0,m.jsx)(te,{children:B}),t[24]=B,t[25]=V);let H;t[26]!==z||t[27]!==V?(H=(0,m.jsx)(a,{children:(0,m.jsxs)(ne,{children:[z,V]})}),t[26]=z,t[27]=V,t[28]=H):H=t[28];let U;t[29]!==H||t[30]!==I?(U=(0,m.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[P,(0,m.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[I,H]})]}),t[29]=H,t[30]=I,t[31]=U):U=t[31];let W;t[32]!==U||t[33]!==N?(W=(0,m.jsxs)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:[N,U]}),t[32]=U,t[33]=N,t[34]=W):W=t[34];let G;t[35]!==E||t[36]!==D?(G=(0,m.jsx)(ie,{value:E,onChange:D,ariaLabel:`Create a new branch`}),t[35]=E,t[36]=D,t[37]=G):G=t[37];let K;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,m.jsx)(c,{className:ee.labelNormal,children:`Create a new branch`}),t[38]=K):K=t[38];let q;t[39]===G?q=t[40]:(q=(0,m.jsxs)(`div`,{className:`mr-auto flex items-center gap-3`,children:[G,K]}),t[39]=G,t[40]=q);let J=S||x,Y;t[41]===S?Y=t[42]:(Y=S?(0,m.jsxs)(m.Fragment,{children:[`Create PR`,(0,m.jsx)(o,{size:`sm`})]}):`Create PR`,t[41]=S,t[42]=Y);let X;t[43]!==w||t[44]!==J||t[45]!==Y?(X=(0,m.jsx)(r,{className:`ml-auto`,onClick:w,disabled:J,children:Y}),t[43]=w,t[44]=J,t[45]=Y,t[46]=X):X=t[46];let Z;t[47]!==q||t[48]!==X?(Z=(0,m.jsxs)(d,{className:`w-full items-center gap-4`,children:[q,X]}),t[47]=q,t[48]=X,t[49]=Z):Z=t[49];let Q;t[50]!==W||t[51]!==k||t[52]!==Z?(Q=(0,m.jsxs)(u,{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:[k,W,Z]}),t[50]=W,t[51]=k,t[52]=Z,t[53]=Q):Q=t[53];let $;return t[54]!==g||t[55]!==h||t[56]!==Q?($=(0,m.jsx)(f,{open:h,onOpenChange:g,children:Q}),t[54]=g,t[55]=h,t[56]=Q,t[57]=$):$=t[57],$}export{h as PullRequestDialog};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Vt as n}from"./dist-DFsjr0PN.js";import{Et as r,Z as i,u as a}from"./lucide-react-CNNzKD4G.js";import{t as o}from"./button-CltOBnLJ.js";import{Ar as s,Dr as c,Er as l,Or as u,St as d,Tr as f,kr as p}from"./index-8x-2e2HM.js";var m=e(),h=t();function g(e){let t=(0,m.c)(27),{open:g,onOpenChange:_,onCommitFirst:v,onStashAndPull:y,onCancel:b,isLoading:x}=e,S=x===void 0?!1:x,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsxs)(p,{children:[(0,h.jsxs)(s,{className:`flex items-center gap-2`,children:[(0,h.jsx)(a,{className:`h-5 w-5 text-amber-500`}),`Uncommitted Changes Detected`]}),(0,h.jsx)(c,{children:`You have uncommitted changes. You need to handle them before pulling from the remote branch.`})]}),t[0]=C):C=t[0];let w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,h.jsx)(`div`,{className:n.bodyMuted,children:`Choose how you want to proceed:`}),t[1]=w):w=t[1];let T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,h.jsx)(r,{className:`h-4 w-4 mr-2`}),t[2]=T):T=t[2];let E;t[3]!==S||t[4]!==v?(E=(0,h.jsxs)(o,{onClick:v,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[T,`Commit changes first, then pull`]}),t[3]=S,t[4]=v,t[5]=E):E=t[5];let D;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(i,{className:`h-4 w-4 mr-2`}),t[6]=D):D=t[6];let O;t[7]!==S||t[8]!==y?(O=(0,h.jsxs)(o,{onClick:y,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[D,`Stash changes → Pull → Restore changes`]}),t[7]=S,t[8]=y,t[9]=O):O=t[9];let k;t[10]!==E||t[11]!==O?(k=(0,h.jsxs)(`div`,{className:`space-y-2`,children:[E,O]}),t[10]=E,t[11]=O,t[12]=k):k=t[12];let A;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,h.jsx)(`strong`,{children:`Commit first:`}),t[13]=A):A=t[13];let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsxs)(d,{variant:`hint`,className:`mt-4 mb-0`,children:[A,` Safe option, preserves changes in your commit history.`,(0,h.jsx)(`br`,{}),(0,h.jsx)(`strong`,{children:`Stash and pull:`}),` Temporary option, changes will be restored after pulling.`]}),t[14]=j):j=t[14];let M;t[15]===k?M=t[16]:(M=(0,h.jsx)(`div`,{className:`py-4`,children:(0,h.jsxs)(`div`,{className:`space-y-3`,children:[w,k,j]})}),t[15]=k,t[16]=M);let N;t[17]!==S||t[18]!==b?(N=(0,h.jsx)(u,{children:(0,h.jsx)(o,{variant:`ghost`,onClick:b,disabled:S,children:`Cancel`})}),t[17]=S,t[18]=b,t[19]=N):N=t[19];let P;t[20]!==M||t[21]!==N?(P=(0,h.jsxs)(l,{className:`sm:max-w-[425px]`,children:[C,M,N]}),t[20]=M,t[21]=N,t[22]=P):P=t[22];let F;return t[23]!==_||t[24]!==g||t[25]!==P?(F=(0,h.jsx)(f,{open:g,onOpenChange:_,children:P}),t[23]=_,t[24]=g,t[25]=P,t[26]=F):F=t[26],F}export{g as PullWithChangesDialog};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ut as n}from"./dist-Ch137qdo.js";import{Et as r,Z as i,u as a}from"./lucide-react-C-dX1rVz.js";import{t as o}from"./button-DVIjvd2G.js";import{Ar as s,Dr as c,Er as l,Or as u,St as d,Tr as f,kr as p}from"./index-C3E_66vw.js";var m=e(),h=t();function g(e){let t=(0,m.c)(27),{open:g,onOpenChange:_,onCommitFirst:v,onStashAndPull:y,onCancel:b,isLoading:x}=e,S=x===void 0?!1:x,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsxs)(p,{children:[(0,h.jsxs)(s,{className:`flex items-center gap-2`,children:[(0,h.jsx)(a,{className:`h-5 w-5 text-amber-500`}),`Uncommitted Changes Detected`]}),(0,h.jsx)(c,{children:`You have uncommitted changes. You need to handle them before pulling from the remote branch.`})]}),t[0]=C):C=t[0];let w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,h.jsx)(`div`,{className:n.bodyMuted,children:`Choose how you want to proceed:`}),t[1]=w):w=t[1];let T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,h.jsx)(r,{className:`h-4 w-4 mr-2`}),t[2]=T):T=t[2];let E;t[3]!==S||t[4]!==v?(E=(0,h.jsxs)(o,{onClick:v,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[T,`Commit changes first, then pull`]}),t[3]=S,t[4]=v,t[5]=E):E=t[5];let D;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(i,{className:`h-4 w-4 mr-2`}),t[6]=D):D=t[6];let O;t[7]!==S||t[8]!==y?(O=(0,h.jsxs)(o,{onClick:y,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[D,`Stash changes → Pull → Restore changes`]}),t[7]=S,t[8]=y,t[9]=O):O=t[9];let k;t[10]!==E||t[11]!==O?(k=(0,h.jsxs)(`div`,{className:`space-y-2`,children:[E,O]}),t[10]=E,t[11]=O,t[12]=k):k=t[12];let A;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,h.jsx)(`strong`,{children:`Commit first:`}),t[13]=A):A=t[13];let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsxs)(d,{variant:`hint`,className:`mt-4 mb-0`,children:[A,` Safe option, preserves changes in your commit history.`,(0,h.jsx)(`br`,{}),(0,h.jsx)(`strong`,{children:`Stash and pull:`}),` Temporary option, changes will be restored after pulling.`]}),t[14]=j):j=t[14];let M;t[15]===k?M=t[16]:(M=(0,h.jsx)(`div`,{className:`py-4`,children:(0,h.jsxs)(`div`,{className:`space-y-3`,children:[w,k,j]})}),t[15]=k,t[16]=M);let N;t[17]!==S||t[18]!==b?(N=(0,h.jsx)(u,{children:(0,h.jsx)(o,{variant:`ghost`,onClick:b,disabled:S,children:`Cancel`})}),t[17]=S,t[18]=b,t[19]=N):N=t[19];let P;t[20]!==M||t[21]!==N?(P=(0,h.jsxs)(l,{className:`sm:max-w-[425px]`,children:[C,M,N]}),t[20]=M,t[21]=N,t[22]=P):P=t[22];let F;return t[23]!==_||t[24]!==g||t[25]!==P?(F=(0,h.jsx)(f,{open:g,onOpenChange:_,children:P}),t[23]=_,t[24]=g,t[25]=P,t[26]=F):F=t[26],F}export{g as PullWithChangesDialog};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-CltOBnLJ.js";import{Ar as r,Dr as i,Er as a,Or as o,Tr as s,kr as c}from"./index-8x-2e2HM.js";var l=e(),u=t();function d(e){let t=(0,l.c)(15),{open:d,onOpenChange:f,isLoading:p,onPushAndCreatePR:m,onCancel:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,u.jsxs)(c,{children:[(0,u.jsx)(r,{children:`Push Branch First`}),(0,u.jsx)(i,{children:`Your branch needs to be pushed to the remote before creating a pull request. Would you like to push it now?`})]}),t[0]=g):g=t[0];let _;t[1]!==p||t[2]!==h?(_=(0,u.jsx)(n,{variant:`outline`,onClick:h,disabled:p,children:`Cancel`}),t[1]=p,t[2]=h,t[3]=_):_=t[3];let v=p?`Pushing...`:`Push & Create PR`,y;t[4]!==p||t[5]!==m||t[6]!==v?(y=(0,u.jsx)(n,{onClick:m,disabled:p,children:v}),t[4]=p,t[5]=m,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==_||t[9]!==y?(b=(0,u.jsxs)(a,{children:[g,(0,u.jsxs)(o,{children:[_,y]})]}),t[8]=_,t[9]=y,t[10]=b):b=t[10];let x;return t[11]!==f||t[12]!==d||t[13]!==b?(x=(0,u.jsx)(s,{open:d,onOpenChange:f,children:b}),t[11]=f,t[12]=d,t[13]=b,t[14]=x):x=t[14],x}export{d as PushBeforePRDialog};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-DVIjvd2G.js";import{Ar as r,Dr as i,Er as a,Or as o,Tr as s,kr as c}from"./index-C3E_66vw.js";var l=e(),u=t();function d(e){let t=(0,l.c)(15),{open:d,onOpenChange:f,isLoading:p,onPushAndCreatePR:m,onCancel:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,u.jsxs)(c,{children:[(0,u.jsx)(r,{children:`Push Branch First`}),(0,u.jsx)(i,{children:`Your branch needs to be pushed to the remote before creating a pull request. Would you like to push it now?`})]}),t[0]=g):g=t[0];let _;t[1]!==p||t[2]!==h?(_=(0,u.jsx)(n,{variant:`outline`,onClick:h,disabled:p,children:`Cancel`}),t[1]=p,t[2]=h,t[3]=_):_=t[3];let v=p?`Pushing...`:`Push & Create PR`,y;t[4]!==p||t[5]!==m||t[6]!==v?(y=(0,u.jsx)(n,{onClick:m,disabled:p,children:v}),t[4]=p,t[5]=m,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==_||t[9]!==y?(b=(0,u.jsxs)(a,{children:[g,(0,u.jsxs)(o,{children:[_,y]})]}),t[8]=_,t[9]=y,t[10]=b):b=t[10];let x;return t[11]!==f||t[12]!==d||t[13]!==b?(x=(0,u.jsx)(s,{open:d,onOpenChange:f,children:b}),t[11]=f,t[12]=d,t[13]=b,t[14]=x):x=t[14],x}export{d as PushBeforePRDialog};