reflex-agent 0.10.1 → 0.13.3

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 (191) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +146 -120
  3. package/.next/app-path-routes-manifest.json +10 -9
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/routes-manifest.json +8 -0
  8. package/.next/server/app/_not-found/page.js +2 -2
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/agents/[agentId]/page.js +2 -2
  12. package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
  13. package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/agents/[agentId]/respond/route.js +1 -1
  15. package/.next/server/app/api/agents/[agentId]/respond/route.js.nft.json +1 -1
  16. package/.next/server/app/api/agents/[agentId]/respond/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/images/[rootId]/[file]/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/oauth/start/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/roots/[id]/attachments/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js +1 -1
  22. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js.nft.json +1 -1
  23. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js +1 -1
  25. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js.nft.json +1 -1
  26. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js +1 -1
  28. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js.nft.json +1 -1
  29. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/roots/[id]/dashboard/route.js +1 -1
  31. package/.next/server/app/api/roots/[id]/dashboard/route.js.nft.json +1 -1
  32. package/.next/server/app/api/roots/[id]/dashboard/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/roots/[id]/suggestions/route.js +1 -1
  34. package/.next/server/app/api/roots/[id]/suggestions/route.js.nft.json +1 -1
  35. package/.next/server/app/api/roots/[id]/suggestions/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/utilities/[scope]/[id]/bundle.js/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js +1 -1
  38. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js.nft.json +1 -1
  39. package/.next/server/app/api/utilities/[scope]/[id]/host/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route.js +28 -10
  41. package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/utilities/[scope]/[id]/host-ui.mjs/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/utilities/[scope]/[id]/iframe/route.js +4 -4
  44. package/.next/server/app/api/utilities/[scope]/[id]/iframe/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/utilities/[scope]/[id]/style.css/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/audit/page.js +2 -2
  47. package/.next/server/app/audit/page.js.nft.json +1 -1
  48. package/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  49. package/.next/server/app/onboarding/page.js +3 -3
  50. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  51. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  52. package/.next/server/app/page.js +2 -2
  53. package/.next/server/app/page.js.nft.json +1 -1
  54. package/.next/server/app/page_client-reference-manifest.js +1 -1
  55. package/.next/server/app/roots/[id]/chat/[topicId]/page.js +2 -2
  56. package/.next/server/app/roots/[id]/chat/[topicId]/page.js.nft.json +1 -1
  57. package/.next/server/app/roots/[id]/chat/[topicId]/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/roots/[id]/kb/[...slug]/page.js +2 -2
  59. package/.next/server/app/roots/[id]/kb/[...slug]/page.js.nft.json +1 -1
  60. package/.next/server/app/roots/[id]/kb/[...slug]/page_client-reference-manifest.js +1 -1
  61. package/.next/server/app/roots/[id]/memory/page.js +2 -0
  62. package/.next/server/app/roots/[id]/memory/page.js.nft.json +1 -0
  63. package/.next/server/app/roots/[id]/memory/page_client-reference-manifest.js +1 -0
  64. package/.next/server/app/roots/[id]/page.js +6 -6
  65. package/.next/server/app/roots/[id]/page.js.nft.json +1 -1
  66. package/.next/server/app/roots/[id]/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js +2 -2
  68. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js.nft.json +1 -1
  69. package/.next/server/app/roots/[id]/workflows/[wfId]/page_client-reference-manifest.js +1 -1
  70. package/.next/server/app/roots/[id]/workflows/page.js +2 -2
  71. package/.next/server/app/roots/[id]/workflows/page.js.nft.json +1 -1
  72. package/.next/server/app/roots/[id]/workflows/page_client-reference-manifest.js +1 -1
  73. package/.next/server/app/roots/new/page.js +3 -3
  74. package/.next/server/app/roots/new/page.js.nft.json +1 -1
  75. package/.next/server/app/roots/new/page_client-reference-manifest.js +1 -1
  76. package/.next/server/app/settings/page.js +4 -4
  77. package/.next/server/app/settings/page.js.nft.json +1 -1
  78. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  79. package/.next/server/app/share/[id]/file/page.js +2 -2
  80. package/.next/server/app/share/[id]/file/page.js.nft.json +1 -1
  81. package/.next/server/app/share/[id]/file/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/share/[id]/page.js +2 -2
  83. package/.next/server/app/share/[id]/page.js.nft.json +1 -1
  84. package/.next/server/app/share/[id]/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/utilities/[scope]/[id]/page.js +2 -2
  86. package/.next/server/app/utilities/[scope]/[id]/page.js.nft.json +1 -1
  87. package/.next/server/app/utilities/[scope]/[id]/page_client-reference-manifest.js +1 -1
  88. package/.next/server/app/utilities/page.js +2 -2
  89. package/.next/server/app/utilities/page.js.nft.json +1 -1
  90. package/.next/server/app/utilities/page_client-reference-manifest.js +1 -1
  91. package/.next/server/app-paths-manifest.json +10 -9
  92. package/.next/server/chunks/1105.js +1 -1
  93. package/.next/server/chunks/1116.js +1 -0
  94. package/.next/server/chunks/1244.js +1 -1
  95. package/.next/server/chunks/1358.js +1 -1
  96. package/.next/server/chunks/1854.js +1 -0
  97. package/.next/server/chunks/1960.js +1 -1
  98. package/.next/server/chunks/2485.js +51 -2
  99. package/.next/server/chunks/2552.js +1 -1
  100. package/.next/server/chunks/{3829.js → 2553.js} +2 -2
  101. package/.next/server/chunks/269.js +1 -0
  102. package/.next/server/chunks/285.js +66 -16
  103. package/.next/server/chunks/3240.js +1 -1
  104. package/.next/server/chunks/3332.js +1 -1
  105. package/.next/server/chunks/4031.js +46 -2
  106. package/.next/server/chunks/{5470.js → 4460.js} +3 -3
  107. package/.next/server/chunks/4812.js +2 -2
  108. package/.next/server/chunks/4925.js +1 -1
  109. package/.next/server/chunks/569.js +1 -1
  110. package/.next/server/chunks/5798.js +3 -0
  111. package/.next/server/chunks/6057.js +1 -0
  112. package/.next/server/chunks/6261.js +1 -0
  113. package/.next/server/chunks/7188.js +1 -1
  114. package/.next/server/chunks/7220.js +1 -1
  115. package/.next/server/chunks/7358.js +13 -12
  116. package/.next/server/chunks/7800.js +1 -1
  117. package/.next/server/chunks/9098.js +1 -1
  118. package/.next/server/chunks/9579.js +1 -1
  119. package/.next/server/chunks/9809.js +1 -1
  120. package/.next/server/functions-config-manifest.json +3 -3
  121. package/.next/server/middleware-build-manifest.js +1 -1
  122. package/.next/server/middleware-manifest.json +5 -5
  123. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  124. package/.next/server/pages/500.html +1 -1
  125. package/.next/server/server-reference-manifest.js +1 -1
  126. package/.next/server/server-reference-manifest.json +1 -1
  127. package/.next/static/chunks/1053-ea6a705a291aa42a.js +1 -0
  128. package/.next/static/chunks/2145-c6ca18def78454d6.js +1 -0
  129. package/.next/static/chunks/2283-846ac14d7ab55b2a.js +1 -0
  130. package/.next/static/chunks/3798-d4d575ac69051cf9.js +1 -0
  131. package/.next/static/chunks/4108.2dc3c767f831f9af.js +1 -0
  132. package/.next/static/chunks/4243-193beeabc76bcd91.js +1 -0
  133. package/.next/static/chunks/4678-15402b9832b27389.js +1 -0
  134. package/.next/static/chunks/6785-9a72b10489bc9c60.js +1 -0
  135. package/.next/static/chunks/951-5ff2aaad965fedb7.js +1 -0
  136. package/.next/static/chunks/app/agents/[agentId]/{page-5d6f4cb16b42d02b.js → page-2ee5d78dc94253c5.js} +1 -1
  137. package/.next/static/chunks/app/audit/{page-8dcb779a1ca1f1d1.js → page-9bac9e3674f0fae9.js} +1 -1
  138. package/.next/static/chunks/app/layout-b89925fa75d66eea.js +1 -0
  139. package/.next/static/chunks/app/onboarding/page-9b9f74b3737805f6.js +1 -0
  140. package/.next/static/chunks/app/page-d46c2ac151511ae7.js +1 -0
  141. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/{page-ca235f5f1d523635.js → page-8dc9ea79064a1e6e.js} +1 -1
  142. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-0345054358c099c2.js +1 -0
  143. package/.next/static/chunks/app/roots/[id]/memory/page-ca21167541d9d818.js +1 -0
  144. package/.next/static/chunks/app/roots/[id]/page-1c6b4677b911c463.js +1 -0
  145. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-688ef6bc97b92a38.js +1 -0
  146. package/.next/static/chunks/app/roots/[id]/workflows/{page-85f4eb885ecb80a1.js → page-4f1658f13b1ed62f.js} +1 -1
  147. package/.next/static/chunks/app/roots/new/page-3c0a418feff0bf27.js +1 -0
  148. package/.next/static/chunks/app/settings/page-bfc3e0b4fca2b6cd.js +1 -0
  149. package/.next/static/chunks/app/share/[id]/page-3c41145c5052196e.js +1 -0
  150. package/.next/static/chunks/app/utilities/[scope]/[id]/page-561dd294cb2beb54.js +1 -0
  151. package/.next/static/chunks/app/utilities/page-5061f113002b5638.js +1 -0
  152. package/.next/static/chunks/{webpack-680c8fa1cf6aef64.js → webpack-e4214c40f8bbfb8a.js} +1 -1
  153. package/.next/static/css/6144318015aa8092.css +1 -0
  154. package/.next/trace +90 -89
  155. package/.next/types/app/roots/[id]/memory/page.ts +84 -0
  156. package/.next/types/routes.d.ts +2 -1
  157. package/.next/types/validator.ts +9 -0
  158. package/README.md +147 -32
  159. package/dist/lib/reflex/agents/prompts.js +25 -0
  160. package/dist/lib/reflex/agents/prompts.js.map +1 -1
  161. package/dist/lib/reflex/prompts/defaults.js +2 -1
  162. package/dist/lib/reflex/prompts/defaults.js.map +1 -1
  163. package/lib/server/utilities/worker-bootstrap.js +28 -19
  164. package/package.json +1 -1
  165. package/.next/server/chunks/2108.js +0 -1
  166. package/.next/server/chunks/243.js +0 -1
  167. package/.next/server/chunks/827.js +0 -1
  168. package/.next/server/chunks/8501.js +0 -1
  169. package/.next/server/chunks/9448.js +0 -3
  170. package/.next/static/chunks/1215-6bf6c0997a3966b5.js +0 -1
  171. package/.next/static/chunks/1217-407174d9b164a499.js +0 -1
  172. package/.next/static/chunks/4108.e60f6f2d13c6e341.js +0 -1
  173. package/.next/static/chunks/5041-50b52df22f60e028.js +0 -1
  174. package/.next/static/chunks/5475-fd7801895adb058e.js +0 -1
  175. package/.next/static/chunks/7529-5e60df9bb54dac00.js +0 -1
  176. package/.next/static/chunks/7544-361ab91088caf4e2.js +0 -1
  177. package/.next/static/chunks/83-c3e4801d1362769d.js +0 -1
  178. package/.next/static/chunks/app/layout-d10a100470029f0e.js +0 -1
  179. package/.next/static/chunks/app/onboarding/page-a52d76f48c071f59.js +0 -1
  180. package/.next/static/chunks/app/page-8551ff0fd6989e65.js +0 -1
  181. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-aebc35e79e6e16d6.js +0 -1
  182. package/.next/static/chunks/app/roots/[id]/page-9b4a28b335dd8190.js +0 -1
  183. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-ab2801337dc9cc52.js +0 -1
  184. package/.next/static/chunks/app/roots/new/page-4036140c7828948d.js +0 -1
  185. package/.next/static/chunks/app/settings/page-175f2087baeb2328.js +0 -1
  186. package/.next/static/chunks/app/share/[id]/page-5f86538339553350.js +0 -1
  187. package/.next/static/chunks/app/utilities/[scope]/[id]/page-223495e5566167ef.js +0 -1
  188. package/.next/static/chunks/app/utilities/page-cbd341f4f56941a0.js +0 -1
  189. package/.next/static/css/2bc00775af31f40f.css +0 -1
  190. /package/.next/static/{fQIjUyzIepDxqQpzYlf6H → BGlfzUnm4RdoF1cif83QI}/_buildManifest.js +0 -0
  191. /package/.next/static/{fQIjUyzIepDxqQpzYlf6H → BGlfzUnm4RdoF1cif83QI}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1053],{3074:(e,t,r)=>{r.d(t,{L:()=>$});var a=r(4624),n=r(99356),i=r(49411),l=r(86515),s=r(41234),o=r(71789),c=r(53732),d=r(3606),u=r(31108),m=r(8096),p=r(46972),f=r(16213),g=r(59145),h=r(27474),x=r(39624),v=r(3239),b=r(9721),w=r(84860),k=r(7293),y=r(49623),j=r(64417),N=r(13561),S=r(69285),A=r(56221),C=r(85253),R=r(71651),D=r(13506),F=r(7911);let E=(0,F.createServerReference)("601b30f136420d49735fbd3128f3b424a45ffa3941",F.callServer,void 0,F.findSourceMapURL,"searchMentionsAction"),T=[{id:"plan",trigger:"plan",label:"/plan",description:"Show the plan first — Reflex lays out the steps and waits for approval.",kind:"agent-mode",usage:"/plan <task>",icon:"ListChecks"},{id:"goal",trigger:"goal",label:"/goal",description:"Set a goal — Reflex will work toward it on its own, without reminders.",kind:"agent-mode",usage:"/goal <what to achieve>",icon:"Target"},{id:"research",trigger:"research",label:"/research",description:"Deep research on a topic — web search + summary with sources.",kind:"agent-mode",usage:"/research <topic>",icon:"Telescope"},{id:"widget",trigger:"widget",label:"/widget",description:"Create a card on the space dashboard.",kind:"agent-mode",usage:"/widget <what to show>",icon:"LayoutGrid"},{id:"workflow",trigger:"workflow",label:"/workflow",description:"Build a recipe — linear step-based automation for the task.",kind:"agent-mode",usage:"/workflow <what to automate>",icon:"Workflow"},{id:"new-utility",trigger:"new-utility",label:"/new-utility",description:"Build a Reflex mini-app (utility) — TypeScript, runs inside Reflex.",kind:"agent-mode",usage:"/new-utility <name — what it does>",icon:"PackagePlus"},{id:"distill",trigger:"distill",label:"/distill",description:"Pull a URL into the KB — extract key facts, action items, and links to related notes.",kind:"agent-mode",usage:"/distill <url> [focus]",icon:"BookOpenCheck"},{id:"practice",trigger:"practice",label:"/practice",description:"Roleplay a tough conversation — Reflex plays the counterpart and coaches you between turns.",kind:"agent-mode",usage:"/practice <scenario>",icon:"MessagesSquare"},{id:"reflect",trigger:"reflect",label:"/reflect",description:"Daily check-in — three questions adapted to your recent entries, saved as a journal note.",kind:"agent-mode",usage:"/reflect",allowEmpty:!0,icon:"Sunrise"},{id:"remember",trigger:"remember",label:"/remember",description:"Save a note — straight into memory, no AI involved.",kind:"direct",usage:"/remember <what to remember>",icon:"BookmarkPlus"},{id:"mcp",trigger:"mcp",label:"/mcp",description:"Connect an external service (setup wizard opens in chat).",kind:"agent-mode",usage:"/mcp <what you need>",icon:"PackagePlus"},{id:"skill",trigger:"skill",label:"/skill",description:"Attach a role — a ready-made instruction set for this conversation.",kind:"agent-mode",usage:"/skill <role-id> [prompt]",icon:"Sparkles"},{id:"delete-topic",trigger:"delete-topic",label:"/delete-topic",description:"Delete this conversation (with confirmation).",kind:"direct",usage:"/delete-topic",requiresConfirm:!0,allowEmpty:!0,icon:"Trash2"},{id:"clear-project",trigger:"clear-project",label:"/clear-project",description:"DANGER: clear the space — all conversations, cards, memory. Double confirmation.",kind:"direct",usage:"/clear-project",requiresConfirm:!0,allowEmpty:!0,icon:"AlertOctagon"},{id:"util",trigger:"util",label:"/util",description:"Open a mini-app (by partial name or from the list).",kind:"direct",usage:"/util <partial name or id>",allowEmpty:!0,icon:"Boxes"},{id:"help",trigger:"help",label:"/help",description:"List available commands.",kind:"direct",usage:"/help",allowEmpty:!0,icon:"HelpCircle"}],P=(0,F.createServerReference)("40500546d5e46c5bed14ac16e0318d780c786c7d48",F.callServer,void 0,F.findSourceMapURL,"listCommandArgsAction"),I=(0,F.createServerReference)("402af90ca020c094fb8bf039e9c4859a726b567619",F.callServer,void 0,F.findSourceMapURL,"listAvailableSlashCommandsAction"),z=(0,F.createServerReference)("601b6c8386e4884892f74d46b452cef33befe799ac",F.callServer,void 0,F.findSourceMapURL,"rememberAction"),L=(0,F.createServerReference)("60c21033661bb53cb1e53f879d43b93734be0e2b41",F.callServer,void 0,F.findSourceMapURL,"deleteCurrentTopicCommand"),M=(0,F.createServerReference)("60c2fa27852c2068e8f32116c0f226b6b3234d2b32",F.callServer,void 0,F.findSourceMapURL,"openUtilityAction"),_=(0,F.createServerReference)("40f06861f8e262437807dc69f0f08ff30349f0091e",F.callServer,void 0,F.findSourceMapURL,"clearProjectAction");var B=r(63514);let U={ListChecks:l.A,Target:s.A,Telescope:o.A,LayoutGrid:c.A,BookmarkPlus:d.A,PackagePlus:u.A,Sparkles:m.A,Trash2:p.A,AlertOctagon:f.A,HelpCircle:g.A,Workflow:h.A,Boxes:x.A};function $(e){let{rootId:t,topicId:r,placeholder:l,submitLabel:s,pendingLabel:o,SubmitIcon:c,disabled:d,onSubmit:u,active:m,onStop:p,clarifyLabel:f,stopLabel:g}=e,h=(0,i.c)("roots"),x=null!=f?f:h("chatInputForm.clarifyLabel"),k=null!=g?g:h("chatInputForm.stopLabel"),y=(0,S.useRouter)(),[j,N]=(0,n.useState)(""),[F,z]=(0,n.useState)([]),[L,M]=(0,n.useState)(!1),[_,B]=(0,n.useState)(!1),[U,$]=(0,n.useState)(!1),[Z,G]=(0,n.useState)(T);(0,n.useEffect)(()=>{let e=!0;return(async()=>{let r=await I({rootId:t});e&&r.ok&&G(r.commands)})(),()=>{e=!1}},[t]);let Q=(0,n.useRef)(null),V=(0,n.useRef)(null),[J,X]=(0,n.useState)(null),[Y,ee]=(0,n.useState)([]),[et,er]=(0,n.useState)(0),[ea,en]=(0,n.useState)(!1),ei=(0,n.useRef)(0),[el,es]=(0,n.useState)(null),[eo,ec]=(0,n.useState)(null),ed=(0,n.useRef)(0),eu=(0,n.useCallback)(()=>{let e=Q.current;e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,240)+"px")},[]);(0,n.useEffect)(()=>{eu()},[j,eu]);let em=(0,n.useCallback)((e,r)=>{let a=r;for(;a>0;){let t=e[a-1];if("@"===t){a-=1;break}if(/\s/.test(t)){a=-1;break}a-=1}if(a<0||"@"!==e[a]||a>0&&!/\s/.test(e[a-1])){X(null),ee([]);return}let n=e.slice(a+1,r);X({start:a,end:r}),er(0),en(!0);let i=++ei.current;(async()=>{let e=await E(t,n);ei.current===i&&(en(!1),ee(e.ok?e.items:[]))})()},[t]),ep=(0,n.useCallback)(()=>{X(null),ee([]),ei.current++},[]),ef=(0,n.useCallback)((e,r)=>{if(!e.startsWith("/")){es(null),ec(null);return}let a=e.indexOf(" ");if(a<0){ec(null);let t=e.slice(1).toLowerCase(),r=Z.filter(e=>e.trigger.startsWith(t)||e.label.toLowerCase().includes(t)||e.description.toLowerCase().includes(t));es(r.length?{items:r,index:0}:null);return}es(null);let n=e.slice(1,a),i=Z.find(e=>e.trigger===n);if(!i)return void ec(null);let l=a+1,s=r>=l?r:e.length;if(e.slice(s).indexOf(" ")>=0)return void ec(null);let o=e.slice(l,s),c=++ed.current;ec(e=>({cmd:i,items:(null==e?void 0:e.cmd.id)===i.id?e.items:[],index:0,start:l,end:s,loading:!0})),(async()=>{let e=await P({commandId:i.id,query:o,rootId:t});if(ed.current===c){if(!e.ok||!e.supported||0===e.items.length)return ec(null);ec({cmd:i,items:e.items,index:0,start:l,end:s,loading:!1})}})()},[t,Z]),eg=(0,n.useCallback)(()=>{es(null),ec(null)},[]),eh=(0,n.useCallback)(e=>{let t=Q.current;ec(r=>{if(!r)return null;let a=j.slice(0,r.start),n=j.slice(r.end),i="".concat(e.value," ");N(a+i+n);let l=a.length+i.length;return requestAnimationFrame(()=>{t&&(t.focus(),t.setSelectionRange(l,l))}),null})},[j]),ex=(0,n.useCallback)(e=>{let t=Q.current,r="/".concat(e.trigger).concat(e.allowEmpty&&"direct"===e.kind?"":" ");N(r),es(null),requestAnimationFrame(()=>{t&&(t.focus(),t.setSelectionRange(r.length,r.length))})},[]),ev=(0,n.useCallback)(e=>{let t=Q.current;if(!t||!J)return;let r=j.slice(0,J.start),a=j.slice(J.end),n="@".concat(e.relPath," ");N(r+n+a),ep();let i=r.length+n.length;requestAnimationFrame(()=>{t.focus(),t.setSelectionRange(i,i)})},[j,J,ep]),eb=(0,n.useCallback)(async e=>{if(0!==e.length){M(!0);try{let a=new FormData;for(let t of e)a.append("files",t);let n=await fetch("/api/roots/".concat(t,"/attachments"),{method:"POST",body:a});if(!n.ok){var r;let e=await n.json().catch(()=>({}));A.oR.error(null!=(r=e.error)?r:h("chatInputForm.uploadFailed",{status:n.status}));return}let i=await n.json();z(e=>[...e,...i.files])}catch(e){A.oR.error(e instanceof Error?e.message:String(e))}finally{M(!1)}}},[t]),ew=j.trim().length>0||F.length>0,ek=m&&p?ew?"clarify":"stop":"send",ey=(0,n.useCallback)(async()=>{if(_)return;if("stop"===ek){if(!p)return;B(!0);try{await p()}finally{B(!1)}return}let e=j.trim();if(!e&&0===F.length||d&&"send"===ek)return;let a=function(e){var t,r,a;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=e.trim();if(!i.startsWith("/"))return null;let l=/^\/([a-z][a-z0-9-]*)(?:\s+([\s\S]*))?$/.exec(i);if(!l)return null;let s=l[1],o=null!==(t=null!=(a=T.find(e=>e.trigger===s))?a:null)&&void 0!==t?t:n.find(e=>e.trigger===s);return o?{def:o,payload:(null!=(r=l[2])?r:"").trim()}:null}(e);if(a&&"direct"===a.def.kind){B(!0);try{await O({cmd:a.def,payload:a.payload,rootId:t,topicId:r,router:y,t:h}),N("")}finally{B(!1)}return}B(!0);try{"clarify"===ek&&p&&await p(),await u({message:e,attachments:F})&&(N(""),z([]))}finally{B(!1)}},[j,F,_,d,ek,p,u,t,r,y,h]),ej=!_&&!L&&("stop"===ek||ew&&(!d||"clarify"===ek));return(0,a.jsxs)("form",{onSubmit:e=>{e.preventDefault(),ey()},onDragEnter:e=>{Array.from(e.dataTransfer.types).includes("Files")&&(e.preventDefault(),$(!0))},onDragOver:e=>{Array.from(e.dataTransfer.types).includes("Files")&&(e.preventDefault(),$(!0))},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||$(!1)},onDrop:e=>{e.preventDefault(),$(!1);let t=Array.from(e.dataTransfer.files);t.length>0&&eb(t)},className:(0,D.cn)("space-y-2 rounded-md transition-colors",U&&"ring-2 ring-ring/60 bg-accent/40"),children:[F.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:F.map((e,t)=>(0,a.jsx)(K,{attachment:e,onRemove:()=>z(t=>t.filter(t=>t!==e))},e.absPath+t))}),(0,a.jsxs)("div",{className:"flex items-end gap-2",children:[(0,a.jsxs)("div",{className:"relative flex-1",children:[(0,a.jsx)(R.T,{ref:Q,value:j,onChange:e=>{N(e.target.value),em(e.target.value,e.target.selectionStart),ef(e.target.value,e.target.selectionStart)},onKeyUp:e=>{let t=e.currentTarget;em(t.value,t.selectionStart),ef(t.value,t.selectionStart)},onClick:e=>{let t=e.currentTarget;em(t.value,t.selectionStart),ef(t.value,t.selectionStart)},onBlur:()=>{setTimeout(()=>{ep(),eg()},150)},onKeyDown:e=>{if(el){if("ArrowDown"===e.key){e.preventDefault(),es(e=>e?{...e,index:Math.min(e.items.length-1,e.index+1)}:null);return}if("ArrowUp"===e.key){e.preventDefault(),es(e=>e?{...e,index:Math.max(0,e.index-1)}:null);return}if("Tab"===e.key){e.preventDefault();let t=el.items[el.index];t&&ex(t);return}if("Escape"===e.key){e.preventDefault(),eg();return}}if(eo&&eo.items.length>0){if("ArrowDown"===e.key){e.preventDefault(),ec(e=>e?{...e,index:Math.min(e.items.length-1,e.index+1)}:null);return}if("ArrowUp"===e.key){e.preventDefault(),ec(e=>e?{...e,index:Math.max(0,e.index-1)}:null);return}if("Tab"===e.key){e.preventDefault();let t=eo.items[eo.index];t&&eh(t);return}if("Escape"===e.key){e.preventDefault(),ec(null);return}}if(J&&Y.length>0){if("ArrowDown"===e.key){e.preventDefault(),er(e=>Math.min(Y.length-1,e+1));return}if("ArrowUp"===e.key){e.preventDefault(),er(e=>Math.max(0,e-1));return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault();let t=Y[et];t&&ev(t);return}if("Escape"===e.key){e.preventDefault(),ep();return}}"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),ey())},onPaste:e=>{let t=Array.from(e.clipboardData.files);t.length>0&&(e.preventDefault(),eb(t))},placeholder:l,rows:1,disabled:d||_,className:"resize-none min-h-[44px] max-h-60 text-base bg-background/70 border-transparent focus-visible:border-ring py-2.5 w-full"}),J&&(0,a.jsx)(H,{items:Y,index:et,loading:ea,onPick:ev,onHover:e=>er(e)}),el&&!J&&(0,a.jsx)(q,{items:el.items,index:el.index,onPick:ex,onHover:e=>es(t=>t?{...t,index:e}:null),topicAvailable:!!r}),eo&&!J&&!el&&(0,a.jsx)(W,{cmd:eo.cmd,items:eo.items,index:eo.index,onPick:eh,onHover:e=>ec(t=>t?{...t,index:e}:null)})]}),(0,a.jsx)("input",{ref:V,type:"file",multiple:!0,className:"hidden",onChange:e=>{var t;let r=Array.from(null!=(t=e.target.files)?t:[]);r.length>0&&eb(r),e.target.value=""}}),(0,a.jsx)(C.$,{type:"button",size:"icon",variant:"ghost",onClick:()=>{var e;return null==(e=V.current)?void 0:e.click()},disabled:L||_||d,title:h("chatInputForm.attachTitle"),className:"h-11 w-11 shrink-0",children:L?(0,a.jsx)(v.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(b.A,{className:"h-4 w-4"})}),(0,a.jsx)(C.$,{type:"submit",size:"lg",disabled:!ej,variant:"stop"===ek?"destructive":"default",className:"h-11 px-6 shadow-md shrink-0",children:_?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v.A,{className:"mr-2 h-4 w-4 animate-spin"}),o]}):"stop"===ek?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(w.A,{className:"mr-2 h-4 w-4",fill:"currentColor"}),k]}):"clarify"===ek?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c,{className:"mr-2 h-4 w-4"}),x]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c,{className:"mr-2 h-4 w-4"}),s]})})]}),(0,a.jsx)("div",{className:"text-[10px] text-muted-foreground",children:h("chatInputForm.helperRow")})]})}async function O(e){var t,r,a;let{cmd:n,payload:i,rootId:l,topicId:s,router:o,t:c}=e;if("help"===n.id){let e=T.map(e=>"• ".concat(e.label," — ").concat(e.description));A.oR.info(c("chatInputForm.availableCommands",{list:e.join("\n")}),{duration:12e3});return}if("remember"===n.id){if(!i)return void A.oR.error(c("chatInputForm.rememberEmpty"));let e=await z(l,i);return void(e.ok?(A.oR.success(null!=(t=e.message)?t:c("chatInputForm.savedToKb")),(0,B.$d)(B.Zi.kbChanged(l))):A.oR.error(e.error))}if("delete-topic"===n.id){if(!s)return void A.oR.error(c("chatInputForm.topicOnlyCommand"));if(!confirm(c("chatInputForm.deleteTopicConfirm")))return;let e=await L(l,s);return void(e.ok?(A.oR.success(null!=(r=e.message)?r:c("chatInputForm.deleted")),(0,B.$d)(B.Zi.topicsChanged(l)),e.redirectTo&&o.push(e.redirectTo)):A.oR.error(e.error))}if("util"===n.id){let e=await M(l,i);if(!e.ok)return void A.oR.error(e.error);if("redirect"===e.kind)return void o.push(e.url);let t=e.items.slice(0,8).map(e=>"• ".concat(e.name," (").concat(e.scope,"/").concat(e.id,")")).join("\n");return void A.oR.message(c("chatInputForm.multipleMatches",{list:t}),{duration:12e3})}if("clear-project"===n.id){if(!confirm(c("chatInputForm.clearProjectConfirm")))return;let e=prompt(c("chatInputForm.clearProjectPrompt"));if((null==e?void 0:e.trim().toLowerCase())!==c("chatInputForm.clearProjectPhrase"))return void A.oR.message(c("chatInputForm.confirmFailed"));let t=await _(l);return void(t.ok?(A.oR.success(null!=(a=t.message)?a:c("chatInputForm.projectCleared")),(0,B.$d)(B.Zi.topicsChanged(l)),(0,B.$d)(B.Zi.kbChanged(l)),t.redirectTo&&o.push(t.redirectTo)):A.oR.error(t.error))}A.oR.error(c("chatInputForm.unknownCommand",{label:n.label}))}function q(e){let{items:t,index:r,onPick:n,onHover:l,topicAvailable:s}=e,o=(0,i.c)("roots");return(0,a.jsxs)("div",{className:"absolute bottom-full left-0 right-0 mb-2 z-50 max-h-80 overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-lg",children:[(0,a.jsx)("div",{className:"px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b",children:o("chatInputForm.commandsPaletteHeader")}),(0,a.jsx)("ul",{children:t.map((e,t)=>{var i;let c=null!=(i=U[e.icon])?i:m.A,d="delete-topic"===e.id&&!s;return(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",onMouseDown:t=>{t.preventDefault(),d||n(e)},onMouseEnter:()=>l(t),disabled:d,className:(0,D.cn)("w-full flex items-start gap-2 px-3 py-2 text-left",t===r?"bg-accent":"hover:bg-accent/60",d&&"opacity-40 cursor-not-allowed"),children:[(0,a.jsx)(c,{className:(0,D.cn)("h-3.5 w-3.5 mt-0.5 shrink-0","direct"===e.kind?"text-amber-600":"text-violet-600")}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-baseline gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"font-mono text-xs font-medium",children:e.label}),"direct"===e.kind&&(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-wider text-amber-700",children:o("chatInputForm.directAction")}),e.requiresConfirm&&(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-wider text-destructive",children:o("chatInputForm.withConfirm")})]}),(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground leading-snug mt-0.5",children:e.description}),(0,a.jsx)("p",{className:"text-[10px] text-muted-foreground/80 font-mono mt-0.5",children:e.usage})]})]})},e.id)})})]})}function H(e){let{items:t,index:r,loading:n,onPick:l,onHover:s}=e,o=(0,i.c)("roots");return(0,a.jsx)("div",{className:"absolute bottom-full left-0 right-0 mb-2 z-50 max-h-72 overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-lg",children:n&&0===t.length?(0,a.jsxs)("div",{className:"px-3 py-2 text-xs text-muted-foreground flex items-center gap-2",children:[(0,a.jsx)(v.A,{className:"h-3 w-3 animate-spin"})," ",o("chatInputForm.mentionSearching")]}):0===t.length?(0,a.jsx)("div",{className:"px-3 py-2 text-xs text-muted-foreground italic",children:o("chatInputForm.mentionNothing")}):(0,a.jsx)("ul",{children:t.map((e,t)=>{let n="kb"===e.kind?k.A:y.A;return(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",onMouseDown:t=>{t.preventDefault(),l(e)},onMouseEnter:()=>s(t),className:(0,D.cn)("w-full flex items-center gap-2 px-3 py-1.5 text-sm text-left",t===r?"bg-accent":"hover:bg-accent/60"),children:[(0,a.jsx)(n,{className:(0,D.cn)("h-3.5 w-3.5 shrink-0","kb"===e.kind?"text-primary":"text-muted-foreground")}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"truncate font-mono text-xs",children:e.relPath}),e.parent&&(0,a.jsx)("div",{className:"truncate text-[10px] text-muted-foreground",children:e.parent})]}),(0,a.jsx)("span",{className:(0,D.cn)("text-[10px] uppercase tracking-wider shrink-0","kb"===e.kind?"text-primary":"text-muted-foreground"),children:e.kind})]})},e.absPath)})})})}function K(e){var t;let{attachment:r,onRemove:n}=e,i=r.mime.startsWith("image/")?j.A:y.A;return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-muted px-2 py-1 text-[11px] max-w-[18rem]",children:[(0,a.jsx)(i,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate",title:r.name,children:r.name}),(0,a.jsx)("span",{className:"text-muted-foreground",children:(t=r.size)<1024?"".concat(t," B"):t<1048576?"".concat((t/1024).toFixed(1)," KB"):"".concat((t/1048576).toFixed(1)," MB")}),(0,a.jsx)("button",{type:"button",onClick:n,className:"ml-0.5 text-muted-foreground hover:text-foreground",children:(0,a.jsx)(N.A,{className:"h-3 w-3"})})]})}function W(e){var t;let{cmd:r,items:n,index:i,onPick:l,onHover:s}=e,o=null!=(t=U[r.icon])?t:m.A;return(0,a.jsxs)("div",{className:"absolute bottom-full left-0 right-0 mb-2 z-50 max-h-80 overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-lg",children:[(0,a.jsxs)("div",{className:"px-3 py-1.5 text-[10px] uppercase tracking-wider text-muted-foreground border-b flex items-center gap-2",children:[(0,a.jsx)(o,{className:"h-3 w-3"}),(0,a.jsxs)("span",{children:[r.label," \xb7 ",r.usage.replace(/^\/\S+\s*/,"")]})]}),(0,a.jsx)("ul",{children:n.map((e,t)=>(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",onMouseDown:t=>{t.preventDefault(),l(e)},onMouseEnter:()=>s(t),className:(0,D.cn)("w-full flex items-start gap-2 px-3 py-2 text-left",t===i?"bg-accent":"hover:bg-accent/60"),children:[(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 mt-0.5 shrink-0 text-violet-600"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-baseline gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"font-medium text-sm",children:e.label}),(0,a.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:e.value})]}),e.description&&(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground leading-snug mt-0.5 line-clamp-2",children:e.description})]})]})},e.value))})]})}},13506:(e,t,r)=>{r.d(t,{cn:()=>i});var a=r(47989),n=r(55701);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.QP)((0,a.$)(t))}},63514:(e,t,r)=>{r.d(t,{$d:()=>i,S9:()=>l,Zi:()=>n});var a=r(99356);let n={rootsChanged:"reflex:roots-changed",topicsChanged:e=>"reflex:topics-changed:".concat(e),kbChanged:e=>"reflex:kb-changed:".concat(e)};function i(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function l(e,t){(0,a.useEffect)(()=>{let r=e=>t(e.detail);return window.addEventListener(e,r),()=>window.removeEventListener(e,r)},[e,t])}},63602:(e,t,r)=>{r.d(t,{E:()=>l});var a=r(4624),n=r(49411),i=r(8096);function l(e){let{label:t,headerRight:r,children:l}=e,s=(0,n.c)("roots"),o=null!=t?t:s("commandBarFrame.label");return(0,a.jsx)("div",{className:"border-t bg-background",children:(0,a.jsx)("div",{className:"mx-auto max-w-3xl px-6 py-5",children:(0,a.jsx)("div",{className:"reflex-gradient rounded-2xl p-[2px] shadow-[0_8px_40px_-12px_oklch(0.55_0.2_290/0.45)]",children:(0,a.jsxs)("div",{className:"rounded-[14px] bg-background/85 backdrop-blur-xl px-5 py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,a.jsx)("span",{className:"reflex-gradient inline-flex h-6 w-6 items-center justify-center rounded-full text-white shadow-sm",children:(0,a.jsx)(i.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.18em] text-muted-foreground",children:o}),r&&(0,a.jsx)("span",{className:"ml-auto flex items-center gap-1",children:r})]}),l]})})})})}},71651:(e,t,r)=>{r.d(t,{T:()=>i});var a=r(4624);r(99356);var n=r(13506);function i(e){let{className:t,...r}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,n.cn)("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",t),...r})}},85253:(e,t,r)=>{r.d(t,{$:()=>o});var a=r(4624);r(99356);var n=r(60621),i=r(50362),l=r(13506);let s=(0,n.F)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o(e){let{className:t,variant:r="default",size:n="default",asChild:o=!1,...c}=e,d=o?i.bL:"button";return(0,a.jsx)(d,{"data-slot":"button","data-variant":r,"data-size":n,className:(0,l.cn)(s({variant:r,size:n,className:t})),...c})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2145],{13317:(e,t,r)=>{r.d(t,{t:()=>n});var a=r(7911);let n=(0,a.createServerReference)("60a780099a5bb13f7a3d0333c2850d583c99667b5a",a.callServer,void 0,a.findSourceMapURL,"restoreWidgetAction")},68682:(e,t,r)=>{function a(e){return"".concat(e.lat,",").concat(e.lng)}function n(e){return"".concat(e.lng,",").concat(e.lat)}r.d(t,{JY:()=>i,yp:()=>s});let s=[{id:"google",label:"Google Maps",description:"Global, navigation + street view. Works everywhere except where the RF blocks it.",brand:"#4285F4",glyph:"G",urlFor:(e,t)=>"https://www.google.com/maps/dir/?api=1&destination=".concat(e,",").concat(t),routeUrlFor:e=>{if(e.length<2)return"";let t=a(e[0]),r=a(e[e.length-1]),n=e.slice(1,-1).map(a).join("|"),s=n?"&waypoints=".concat(encodeURIComponent(n)):"";return"https://www.google.com/maps/dir/?api=1&origin=".concat(t,"&destination=").concat(r).concat(s)}},{id:"yandex",label:"Yandex Maps",description:"CIS region, best RF detail and real-time traffic.",brand:"#FFCC00",glyph:"Y",urlFor:(e,t)=>"https://yandex.ru/maps/?rtext=~".concat(e,",").concat(t,"&rtt=auto"),routeUrlFor:e=>"https://yandex.ru/maps/?rtext=".concat(e.map(a).join("~"),"&rtt=auto")},{id:"2gis",label:"2GIS",description:"CIS region, precise addresses and POI. Uniquely strong on RF cities.",brand:"#1BA049",glyph:"2",urlFor:(e,t)=>"https://2gis.ru/routeSearch/to/".concat(t,",").concat(e),routeUrlFor:e=>{let t=n(e[0]),r=n(e[e.length-1]),a=e.slice(1,-1).map(e=>"/via/".concat(n(e))).join("");return"https://2gis.ru/routeSearch/rsType/car/from/".concat(t).concat(a,"/to/").concat(r)}},{id:"apple",label:"Apple Maps",description:"Opens in the native app on iOS/macOS, otherwise on the website.",brand:"#1d1d1f",glyph:"A",urlFor:(e,t)=>"https://maps.apple.com/?daddr=".concat(e,",").concat(t),routeUrlFor:e=>{let t=a(e[0]),r=e.slice(1).map(e=>"+to:".concat(a(e))).join("");return"https://maps.apple.com/?saddr=".concat(t,"&daddr=").concat(t).concat(r)}},{id:"osm",label:"OpenStreetMap",description:"Open data, no account required. Basic navigation.",brand:"#7EB73F",glyph:"OSM",urlFor:(e,t)=>"https://www.openstreetmap.org/directions?to=".concat(e,",").concat(t),routeUrlFor:e=>{let t=e.map(a).join(";");return"https://www.openstreetmap.org/directions?route=".concat(encodeURIComponent(t))}},{id:"waze",label:"Waze",description:"Car navigation with crowd-sourced traffic and alerts.",brand:"#33CCFF",glyph:"W",urlFor:(e,t)=>"https://waze.com/ul?ll=".concat(e,",").concat(t,"&navigate=yes"),routeUrlFor:e=>{let t=e[e.length-1];return"https://waze.com/ul?ll=".concat(t.lat,",").concat(t.lng,"&navigate=yes")}},{id:"organic",label:"Organic Maps",description:"Offline maps with open data. Opens in the app.",brand:"#006C35",glyph:"OM",urlFor:(e,t)=>"om://map?ll=".concat(e,",").concat(t),routeUrlFor:e=>{let t=e[0],r=e[e.length-1];return"om://route?sll=".concat(t.lat,",").concat(t.lng,"&saddr=&dll=").concat(r.lat,",").concat(r.lng,"&daddr=&type=vehicle")}}],i=["google","yandex","apple","osm"]},95581:(e,t,r)=>{r.d(t,{v:()=>D});var a=r(4624),n=r(49411),s=r(64028),i=r(99356),l=r(87738),o=r(39783),c=r(43153),d=r(13561),u=r(41695),p=r(46972),m=r(84630),x=r(96447),h=r(54207),g=r(84860),f=r(41379),v=r(3239),b=r(85253),y=r(15523),j=r(64681),N=r(54400),w=r.n(N),k=r(49623),W=r(85785),A=r(43863),C=r(57308),S=r(35285),R=r(9598),F=r(56221),T=r(68682);function L(e){let{service:t,size:r=18,className:n}=e;return(0,a.jsx)("span",{className:"inline-flex items-center justify-center rounded-[5px] font-bold leading-none text-white shrink-0 "+(null!=n?n:""),style:{background:t.brand,width:r,height:r,fontSize:Math.max(8,Math.floor(.55*r)),letterSpacing:t.glyph.length>1?"-0.05em":"0"},"aria-hidden":!0,children:t.glyph})}var E=r(7911);let U=(0,E.createServerReference)("00e33142df825176b8ba2352ba486276699d7d8b98",E.callServer,void 0,E.findSourceMapURL,"getEnabledMapServicesAction"),M="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css",z="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js";function I(e){let{point:t,services:r,interactive:s,onRemove:i}=e,l=(0,n.c)("roots");return(0,a.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[r.slice(0,4).map(e=>(0,a.jsx)("a",{href:e.urlFor(t.lat,t.lng),target:"_blank",rel:"noopener noreferrer",className:"rounded p-0.5 hover:ring-1 hover:ring-offset-1 hover:ring-violet-300",title:l("mapWidget.navigationTitle",{service:e.label}),children:(0,a.jsx)(L,{service:e,size:18})},e.id)),(0,a.jsx)("button",{type:"button",onClick:()=>{navigator.clipboard.writeText("".concat(t.lat,", ").concat(t.lng)).then(()=>F.oR.success(l("mapWidget.coordsCopied"))).catch(()=>F.oR.error(l("mapWidget.clipboardUnavailable")))},className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground",title:l("mapWidget.copyCoords"),children:(0,a.jsx)(R.A,{className:"h-3 w-3"})}),s&&(0,a.jsx)("button",{type:"button",onClick:i,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-destructive",title:l("mapWidget.removePoint"),children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]})}function O(e){let{service:t,stops:r}=e,s=(0,n.c)("roots"),i=t.routeUrlFor(r),l=e=>{e.preventDefault(),e.stopPropagation(),navigator.clipboard.writeText(i).then(()=>F.oR.success(s("mapWidget.linkCopied",{service:t.label}))).catch(()=>F.oR.error(s("mapWidget.clipboardUnavailable")))};return(0,a.jsxs)("a",{href:i,target:"_blank",rel:"noopener noreferrer",onContextMenu:l,className:"inline-flex items-center gap-1 rounded border px-1.5 py-0.5 text-[11px] hover:bg-accent",title:s("mapWidget.openTitle",{service:t.label}),children:[(0,a.jsx)(L,{service:t,size:16}),(0,a.jsx)("span",{className:"truncate max-w-[80px]",children:t.label}),(0,a.jsx)("button",{type:"button",onClick:l,className:"text-muted-foreground hover:text-foreground",title:s("mapWidget.copyLinkTitle"),children:(0,a.jsx)(R.A,{className:"h-2.5 w-2.5"})})]})}let _=(0,E.createServerReference)("60346eb5d9988a069eb8feddee0e2f7b08f50c547f",E.callServer,void 0,E.findSourceMapURL,"invokeCardActionAction");var P=r(8096);let q=(0,E.createServerReference)("60c6be294b8d1f5cf62aa39ad4b8d23299c202418c",E.callServer,void 0,E.findSourceMapURL,"refreshUtilityCardAction"),B={markdown:function(e){var t;let{data:r}=e;return(0,a.jsx)("div",{className:"text-sm",children:(0,a.jsx)(s.p,{source:null!=(t=r.body)?t:""})})},"news-list":function(e){var t;let{data:r,readonly:s,onPatch:u}=e,p=(0,n.c)("roots"),m=null!=(t=r.items)?t:[],[x,h]=(0,i.useState)(m),[g,f]=(0,i.useTransition)(),v=(0,i.useRef)("");(0,i.useEffect)(()=>{let e=JSON.stringify(m);e!==v.current&&(v.current=e,h(m))},[r]);let b=e=>{h(e),u&&f(async()=>{try{await u({items:e})}catch(e){}})};return 0===x.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:p("newsListWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-2",children:x.map((e,t)=>(0,a.jsxs)("li",{className:"group/row relative border-l-2 pl-2.5 py-0.5 transition ".concat(e.read?"border-muted-foreground/30 opacity-60":"border-violet-200"),children:[(0,a.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,a.jsx)(l.A,{className:"h-3 w-3 mt-1 shrink-0 ".concat(e.read?"text-muted-foreground":"text-violet-600")}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 pr-12",children:[e.url?(0,a.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"text-sm font-medium hover:underline inline-flex items-center gap-1",children:[e.title,(0,a.jsx)(o.A,{className:"h-3 w-3 opacity-50"})]}):(0,a.jsx)("span",{className:"text-sm font-medium",children:e.title}),e.summary&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed",children:e.summary}),(e.source||e.date)&&(0,a.jsxs)("div",{className:"text-[10px] text-muted-foreground mt-0.5 flex gap-1.5",children:[e.source&&(0,a.jsx)("span",{children:e.source}),e.source&&e.date&&(0,a.jsx)("span",{children:"\xb7"}),e.date&&(0,a.jsx)("span",{className:"font-mono",children:e.date})]})]})]}),!s&&(0,a.jsxs)("div",{className:"absolute top-0 right-0 flex items-center gap-0.5 opacity-0 group-hover/row:opacity-100 transition-opacity",children:[(0,a.jsx)("button",{type:"button",onClick:()=>{!s&&b(x.map((e,r)=>r===t?{...e,read:!e.read}:e))},disabled:g,"aria-label":e.read?p("newsListWidget.markUnreadAria"):p("newsListWidget.markReadAria"),title:e.read?p("newsListWidget.markUnreadTitle"):p("newsListWidget.markReadTitle"),className:"p-1 rounded hover:bg-emerald-100 dark:hover:bg-emerald-950/40 text-muted-foreground hover:text-emerald-600 disabled:opacity-30",children:(0,a.jsx)(c.A,{className:"h-3 w-3"})}),(0,a.jsx)("button",{type:"button",onClick:()=>{!s&&b(x.filter((e,r)=>r!==t))},disabled:g,"aria-label":p("newsListWidget.dismissAria"),title:p("newsListWidget.dismissTitle"),className:"p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]})]},t))})},"link-list":function(e){var t;let{data:r,readonly:s,onPatch:l}=e,c=(0,n.c)("roots"),d=null!=(t=r.items)?t:[],[m,x]=(0,i.useState)(d),[h,g]=(0,i.useTransition)(),f=(0,i.useRef)("");return((0,i.useEffect)(()=>{let e=JSON.stringify(d);e!==f.current&&(f.current=e,x(d))},[r]),0===m.length)?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:c("linkListWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-0.5",children:m.map((e,t)=>(0,a.jsxs)("li",{className:"group/row relative",children:[(0,a.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-start gap-1.5 rounded-md px-2 py-1.5 hover:bg-accent/40 transition",children:[(0,a.jsx)(u.A,{className:"h-3 w-3 mt-1 shrink-0 text-sky-600"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"text-sm font-medium hover:underline inline-flex items-center gap-1",children:[e.title,(0,a.jsx)(o.A,{className:"h-3 w-3 opacity-50"})]}),e.hint&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5 leading-relaxed",children:e.hint}),(0,a.jsx)("div",{className:"text-[10px] text-muted-foreground truncate font-mono mt-0.5",children:e.url})]})]}),!s&&(0,a.jsx)("button",{type:"button",onClick:()=>(e=>{if(!s){var t;x(t=m.filter((t,r)=>r!==e)),l&&g(async()=>{try{await l({items:t})}catch(e){}})}})(t),disabled:h,"aria-label":c("linkListWidget.removeAria"),className:"absolute top-1.5 right-1.5 opacity-0 group-hover/row:opacity-100 transition-opacity p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(p.A,{className:"h-3 w-3"})})]},t))})},kpi:function(e){var t;let{data:r}=e,s=(0,n.c)("roots"),i=null!=(t=r.items)?t:[];if(0===i.length)return(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:s("kpiWidget.empty")});let l=Math.min(i.length,3);return(0,a.jsx)("div",{className:"grid gap-2",style:{gridTemplateColumns:"repeat(".concat(l,", minmax(0,1fr))")},children:i.map((e,t)=>(0,a.jsxs)("div",{className:"rounded-md border bg-card px-3 py-2 flex flex-col gap-0.5",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:e.label}),(0,a.jsxs)("div",{className:"flex items-baseline gap-1",children:[(0,a.jsx)("span",{className:"text-lg font-semibold tabular-nums",children:e.value}),"up"===e.delta&&(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 text-emerald-600"}),"down"===e.delta&&(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 text-rose-600"}),"flat"===e.delta&&(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-muted-foreground"})]}),e.hint&&(0,a.jsx)("div",{className:"text-[10px] text-muted-foreground leading-snug",children:e.hint})]},t))})},checklist:function(e){var t;let{data:r,readonly:s,onPatch:l}=e,o=(0,n.c)("roots"),d=null!=(t=r.items)?t:[],[u,m]=(0,i.useState)(d),[x,h]=(0,i.useTransition)(),[j,N]=(0,i.useState)(""),w=(0,i.useRef)("");(0,i.useEffect)(()=>{let e=JSON.stringify(d);e!==w.current&&(w.current=e,m(d))},[r]);let k=e=>{m(e),l&&h(async()=>{try{await l({items:e})}catch(e){}})},W=e=>{s||k(u.map((t,r)=>r===e?{...t,done:!t.done}:t))};return 0===u.length&&s?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:o("checklistWidget.empty")}):(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)("ul",{className:"space-y-0.5",children:u.map((e,t)=>(0,a.jsxs)("li",{className:"group/row flex items-start gap-2 text-sm py-0.5 rounded hover:bg-accent/30 px-1 -mx-1 ".concat(e.done?"text-muted-foreground":""),children:[(0,a.jsx)("button",{type:"button",onClick:()=>W(t),disabled:s||x,"aria-label":e.done?o("checklistWidget.uncheckAria"):o("checklistWidget.checkAria"),className:"shrink-0 mt-0.5 disabled:opacity-50",children:e.done?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-emerald-600"}):(0,a.jsx)(g.A,{className:"h-3.5 w-3.5 text-muted-foreground/60 hover:text-foreground"})}),(0,a.jsx)("span",{className:"flex-1 min-w-0 break-words ".concat(e.done?"line-through":""),onClick:()=>W(t),style:s?{}:{cursor:"pointer"},children:e.text}),!s&&(0,a.jsx)("button",{type:"button",onClick:()=>{!s&&k(u.filter((e,r)=>r!==t))},disabled:x,"aria-label":o("checklistWidget.removeAria"),className:"opacity-0 group-hover/row:opacity-100 transition-opacity shrink-0 p-0.5 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(p.A,{className:"h-3 w-3"})})]},t))}),!s&&(0,a.jsxs)("form",{className:"flex items-center gap-1 pt-1",onSubmit:e=>{e.preventDefault(),(()=>{if(s)return;let e=j.trim();e&&(k([...u,{text:e,done:!1}]),N(""))})()},children:[(0,a.jsx)(f.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)(y.p,{value:j,onChange:e=>N(e.target.value),placeholder:o("checklistWidget.newItemPlaceholder"),className:"h-7 text-xs flex-1 border-0 shadow-none focus-visible:ring-0 focus-visible:ring-offset-0 px-1",disabled:x}),j.trim()&&(0,a.jsx)(b.$,{type:"submit",size:"sm",variant:"ghost",className:"h-6 text-[10px] px-1.5",disabled:x,children:x?(0,a.jsx)(v.A,{className:"h-3 w-3 animate-spin"}):o("checklistWidget.add")})]})]})},quote:function(e){let{data:t}=e,r=(0,n.c)("roots");return(null==t?void 0:t.text)?(0,a.jsxs)("figure",{className:"relative pl-6",children:[(0,a.jsx)(j.A,{className:"h-5 w-5 absolute left-0 top-0 text-violet-300"}),(0,a.jsx)("blockquote",{className:"text-sm italic leading-relaxed",children:t.text}),t.attribution&&(0,a.jsxs)("figcaption",{className:"text-xs text-muted-foreground mt-1.5",children:["— ",t.attribution]})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:r("quoteWidget.empty")})},"kb-pinned":function(e){var t;let{rootId:r,data:s,readonly:l,onPatch:o}=e,c=(0,n.c)("roots"),u=null!=(t=s.items)?t:[],[p,m]=(0,i.useState)(u),[x,h]=(0,i.useTransition)(),g=(0,i.useRef)("");return((0,i.useEffect)(()=>{let e=JSON.stringify(u);e!==g.current&&(g.current=e,m(u))},[s]),0===p.length)?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:c("kbPinnedWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-1",children:p.map((e,t)=>{var n;let s=e.rel.split("/").map(encodeURIComponent).join("/");return(0,a.jsxs)("li",{className:"group/row relative",children:[(0,a.jsxs)(w(),{href:"/roots/".concat(r,"/kb/").concat(s),className:"flex items-start gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40 transition pr-7",children:[(0,a.jsx)(k.A,{className:"h-3 w-3 mt-0.5 shrink-0 text-emerald-700"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"text-sm font-medium truncate",children:null!=(n=e.title)?n:e.rel}),e.snippet&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2 leading-relaxed mt-0.5",children:e.snippet}),(0,a.jsx)("div",{className:"text-[10px] text-muted-foreground font-mono mt-0.5 truncate",children:e.rel})]})]}),!l&&(0,a.jsx)("button",{type:"button",onClick:()=>(e=>{if(!l){var t;m(t=p.filter((t,r)=>r!==e)),o&&h(async()=>{try{await o({items:t})}catch(e){}})}})(t),disabled:x,"aria-label":c("kbPinnedWidget.unpinAria"),title:c("kbPinnedWidget.unpinTitle"),className:"absolute top-1.5 right-1.5 opacity-0 group-hover/row:opacity-100 transition-opacity p-1 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive disabled:opacity-30",children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]},t)})})},progress:function(e){var t;let{data:r,readonly:s,onPatch:l}=e,o=(0,n.c)("roots"),c=null!=(t=r.items)?t:[],[d,u]=(0,i.useState)(c),[p,m]=(0,i.useTransition)(),x=(0,i.useRef)("");(0,i.useEffect)(()=>{let e=JSON.stringify(c);e!==x.current&&(x.current=e,u(c))},[r]);let h=(e,t)=>{if(!s){var r;u(r=d.map((r,a)=>a===e?{...r,current:Math.max(0,r.current+t)}:r)),l&&m(async()=>{try{await l({items:r})}catch(e){}})}};return 0===d.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:o("progressWidget.empty")}):(0,a.jsx)("ul",{className:"space-y-2.5",children:d.map((e,t)=>{let r=e.target>0?Math.max(0,Math.min(100,e.current/e.target*100)):0;return(0,a.jsxs)("li",{className:"space-y-1 group/row",children:[(0,a.jsxs)("div",{className:"flex items-baseline justify-between gap-2 text-sm",children:[(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:e.label}),!s&&(0,a.jsxs)("div",{className:"flex items-center gap-0.5 opacity-0 group-hover/row:opacity-100 transition-opacity shrink-0",children:[(0,a.jsx)("button",{type:"button",onClick:()=>h(t,-1),disabled:p||e.current<=0,"aria-label":"−1",className:"p-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground disabled:opacity-30",children:(0,a.jsx)(W.A,{className:"h-3 w-3"})}),(0,a.jsx)("button",{type:"button",onClick:()=>h(t,1),disabled:p,"aria-label":"+1",className:"p-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground disabled:opacity-30",children:(0,a.jsx)(f.A,{className:"h-3 w-3"})})]}),(0,a.jsxs)("span",{className:"text-xs text-muted-foreground tabular-nums shrink-0",children:[e.current," / ",e.target,e.unit?" ".concat(e.unit):""]})]}),(0,a.jsx)("div",{className:"h-1.5 rounded-full bg-muted overflow-hidden",children:(0,a.jsx)("div",{className:"h-full bg-violet-600 transition-all",style:{width:"".concat(r,"%")}})})]},t)})})},image:function(e){var t;let{data:r}=e,s=(0,n.c)("roots");return(null==r?void 0:r.url)?(0,a.jsxs)("figure",{className:"space-y-1",children:[(0,a.jsx)("img",{src:r.url,alt:null!=(t=r.alt)?t:"",className:"rounded-md w-full h-auto border",loading:"lazy"}),r.caption&&(0,a.jsx)("figcaption",{className:"text-xs text-muted-foreground text-center",children:r.caption})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:s("imageWidget.empty")})},"stat-table":function(e){var t;let{data:r}=e,s=(0,n.c)("roots"),i=null!=(t=r.rows)?t:[];return 0===i.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:s("statTableWidget.empty")}):(0,a.jsx)("div",{className:"overflow-x-auto -mx-1",children:(0,a.jsxs)("table",{className:"w-full text-sm",children:[r.columns&&r.columns.length>0&&(0,a.jsx)("thead",{children:(0,a.jsx)("tr",{className:"border-b",children:r.columns.map((e,t)=>(0,a.jsx)("th",{className:"text-left text-[10px] uppercase tracking-wider text-muted-foreground font-medium px-1.5 py-1.5",children:e},t))})}),(0,a.jsx)("tbody",{children:i.map((e,t)=>(0,a.jsx)("tr",{className:"border-b border-dashed last:border-b-0 hover:bg-accent/30",children:e.map((e,t)=>(0,a.jsx)("td",{className:"px-1.5 py-1.5 align-top",children:e},t))},t))})]})})},map:function(e){var t,r,s;let{data:l,readonly:o,onPatch:c}=e,u=(0,n.c)("roots"),m=(0,i.useRef)(null),x=(0,i.useRef)(null),[h,g]=(0,i.useState)(!1),[b,y]=(0,i.useState)(T.JY),[j,N]=(0,i.useState)(""),[w,k]=(0,i.useState)(!1),[W,R]=(0,i.useState)([]),[L,E]=(0,i.useState)(!1),[_,P]=(0,i.useState)([]),q=null!=(r=l.points)?r:[],B=null!=(s=null==(t=l.route)?void 0:t.stops)?s:[],D=L?_:B,J=(0,i.useMemo)(()=>D.map(e=>q[e]).filter(e=>!!e).map(e=>({lat:e.lat,lng:e.lng})),[D,q]),G=(0,i.useMemo)(()=>T.yp.filter(e=>b.includes(e.id)),[b]);(0,i.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await U();!e&&t.ok&&y(t.enabled)}catch(e){}})(),()=>{e=!0}},[]),(0,i.useEffect)(()=>{if(window.L)return void g(!0);if(!document.querySelector('link[href="'.concat(M,'"]'))){let e=document.createElement("link");e.rel="stylesheet",e.href=M,document.head.appendChild(e)}let e=document.querySelector('script[src="'.concat(z,'"]'));if(e){e.addEventListener("load",()=>g(!0)),window.L&&g(!0);return}let t=document.createElement("script");t.src=z,t.async=!0,t.onload=()=>g(!0),t.onerror=()=>F.oR.error(u("mapWidget.leafletLoadFailed")),document.head.appendChild(t)},[]),(0,i.useEffect)(()=>{var e,t,r;if(!h||!m.current)return;let a=window.L;if(!a||(x.current&&(x.current.remove(),x.current=null),0===q.length))return;let n=a.map(m.current,{scrollWheelZoom:!1,zoomControl:!0});x.current=n,a.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',maxZoom:19}).addTo(n);let s=q.map((e,t)=>{let r=D.includes(t),s=function(e,t,r){let a=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),n=t.map(t=>{let r=t.urlFor(e.lat,e.lng);return'<a href="'.concat(a(r),'" target="_blank" rel="noopener noreferrer" ')+'title="'.concat(a(t.label),'" ')+'style="display:inline-flex;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:2px 6px;border-radius:5px;border:1px solid #e5e7eb;text-decoration:none;font-size:11px;color:#111;background:#fff;">'+'<span style="display:inline-block;width:14px;height:14px;border-radius:3px;background:'.concat(t.brand,";")+"color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center;"+"letter-spacing:".concat(t.glyph.length>1?"-0.05em":"0",'">').concat(a(t.glyph),"</span>")+"<span>".concat(a(t.label),"</span>")+"</a>"}).join("");return['<div style="font-family:inherit;min-width:200px">','<div style="font-weight:600;font-size:13px;margin-bottom:2px">'.concat(a(e.title),"</div>"),e.description?'<div style="font-size:12px;color:#666;margin-bottom:6px">'.concat(a(e.description),"</div>"):"",'<div style="font-family:monospace;font-size:10px;color:#888;margin-bottom:6px">'.concat(e.lat.toFixed(5),", ").concat(e.lng.toFixed(5),"</div>"),t.length>0?'<div style="font-size:10px;color:#888;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:2px">'.concat(a(r.openIn),"</div>").concat(n):"",'<div style="margin-top:6px"><button type="button" data-reflex-copy="'.concat(e.lat,", ").concat(e.lng,'" style="font-size:11px;padding:2px 8px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer">\uD83D\uDCCB ').concat(a(r.copyCoords),"</button></div>"),"</div>"].filter(Boolean).join("")}(e,G,{openIn:u("mapWidget.openIn"),copyCoords:u("mapWidget.copyCoords")}),i=a.marker([e.lat,e.lng],{opacity:L&&!r?.55:1}).addTo(n);return i.bindPopup(s,{maxWidth:280}),i.on("click",()=>{L&&P(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t])}),i});J.length>=2&&a.polyline(J.map(e=>[e.lat,e.lng]),{color:null!=(t=null==(e=l.route)?void 0:e.color)?t:"#7c3aed",weight:4,opacity:.85,dashArray:L?"6,6":void 0}).addTo(n);let i=e=>{let t=e.target.closest("[data-reflex-copy]");if(t){let r=t.getAttribute("data-reflex-copy");r&&navigator.clipboard.writeText(r).then(()=>F.oR.success(u("mapWidget.copied"))).catch(()=>F.oR.error(u("mapWidget.clipboardUnavailable"))),e.preventDefault()}};if(m.current.addEventListener("click",i),l.center&&"number"==typeof l.zoom)n.setView([l.center.lat,l.center.lng],l.zoom);else if(1===q.length)n.setView([q[0].lat,q[0].lng],null!=(r=l.zoom)?r:12);else{let e=a.featureGroup(s);n.fitBounds(e.getBounds().pad(.2))}return()=>{var e;null==(e=m.current)||e.removeEventListener("click",i),n.remove(),x.current=null}},[h,l,b.join("|"),L,_.join(",")]);let Y=!o&&!!c,K=async()=>{let e=j.trim();if(e){k(!0),R([]);try{let t="".concat("https://nominatim.openstreetmap.org/search","?q=").concat(encodeURIComponent(e),"&format=json&limit=6"),r=await fetch(t,{headers:{Accept:"application/json"}});if(!r.ok)throw Error("status ".concat(r.status));let a=await r.json();R(a),0===a.length&&F.oR.message(u("mapWidget.nothingFound"))}catch(e){F.oR.error(u("mapWidget.searchFailed",{error:e instanceof Error?e.message:String(e)}))}finally{k(!1)}}},V=async e=>{var t;if(!Y)return;let r=Number(e.lat),a=Number(e.lon);if(!Number.isFinite(r)||!Number.isFinite(a))return void F.oR.error(u("mapWidget.invalidCoordinates"));let n=(null==(t=e.display_name.split(",")[0])?void 0:t.trim())||e.display_name.slice(0,60),s={...l,points:[...q,{lat:r,lng:a,title:n,description:e.display_name}]};R([]),N(""),await (null==c?void 0:c(s))},Z=async e=>{var t,r;if(!Y)return;let a=q.filter((t,r)=>r!==e),n=l.route;if(null==(r=l.route)||null==(t=r.stops)?void 0:t.length){let t=l.route.stops.filter(t=>t!==e).map(t=>t>e?t-1:t);n=t.length>=2?{...l.route,stops:t}:void 0}let s={...l,points:a,...n?{route:n}:{route:void 0}};await (null==c?void 0:c(s))},$=async()=>{if(!Y)return;let e={...l,route:void 0};await (null==c?void 0:c(e)),E(!1),P([])},H=async()=>{var e;if(!Y)return;if(_.length<2)return void F.oR.error(u("mapWidget.routeNeedsTwo"));let t={...l,route:{...null!=(e=l.route)?e:{},stops:_}};await (null==c?void 0:c(t)),E(!1)};return 0!==q.length||Y?(0,a.jsxs)("div",{className:"space-y-2",children:[Y&&(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsxs)("div",{className:"relative flex-1",children:[(0,a.jsx)(A.A,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground pointer-events-none"}),(0,a.jsx)("input",{type:"search",value:j,onChange:e=>N(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),K())},placeholder:u("mapWidget.searchPlaceholder"),className:"w-full rounded border bg-background pl-7 pr-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-violet-400"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>void K(),disabled:w||!j.trim(),className:"rounded border px-2 py-1 text-xs hover:bg-accent disabled:opacity-50 inline-flex items-center gap-1",children:[w?(0,a.jsx)(v.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(A.A,{className:"h-3 w-3"}),u("mapWidget.search")]}),L?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>void H(),className:"rounded px-2 py-1 text-xs bg-violet-600 text-white hover:bg-violet-700 inline-flex items-center gap-1",title:u("mapWidget.saveRouteTitle"),children:[(0,a.jsx)(C.A,{className:"h-3 w-3"})," ",u("mapWidget.save")]}),(0,a.jsx)("button",{type:"button",onClick:()=>{E(!1),P([])},className:"rounded border px-2 py-1 text-xs hover:bg-accent inline-flex items-center gap-1",title:u("mapWidget.cancelTitle"),children:(0,a.jsx)(d.A,{className:"h-3 w-3"})})]}):(0,a.jsxs)("button",{type:"button",onClick:()=>{P(B),E(!0)},disabled:q.length<2,className:"rounded border px-2 py-1 text-xs hover:bg-accent disabled:opacity-50 inline-flex items-center gap-1",title:u("mapWidget.routeButtonTitle"),children:[(0,a.jsx)(C.A,{className:"h-3 w-3"}),u("mapWidget.route")]})]}),W.length>0&&(0,a.jsx)("ul",{className:"rounded border bg-card divide-y text-xs max-h-44 overflow-y-auto",children:W.map((e,t)=>(0,a.jsx)("li",{children:(0,a.jsxs)("button",{type:"button",onClick:()=>void V(e),className:"w-full text-left flex items-start gap-2 px-2 py-1.5 hover:bg-accent",children:[(0,a.jsx)(f.A,{className:"h-3 w-3 mt-0.5 text-emerald-700 shrink-0"}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block font-medium truncate",children:e.display_name.split(",")[0]}),(0,a.jsx)("span",{className:"block text-[10px] text-muted-foreground truncate",children:e.display_name})]})]})},t))}),L&&(0,a.jsx)("div",{className:"rounded border border-violet-200 bg-violet-50 dark:bg-violet-950/30 dark:border-violet-900/50 px-2 py-1.5 text-[11px] text-violet-900 dark:text-violet-200",children:u.rich("mapWidget.routeModeHint",{count:_.length,strong:e=>(0,a.jsx)("strong",{children:e})})})]}),(0,a.jsx)("div",{ref:m,className:"rounded-md border overflow-hidden bg-muted/30",style:{height:280}}),!L&&J.length>=2&&G.length>0&&(0,a.jsx)("div",{className:"rounded border bg-card px-2 py-1.5",children:(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] font-medium",children:[(0,a.jsx)(C.A,{className:"h-3 w-3 text-violet-600"}),u("mapWidget.routeLabel",{count:J.length})]}),G.map(e=>(0,a.jsx)(O,{service:e,stops:J},e.id)),Y&&(0,a.jsxs)("button",{type:"button",onClick:()=>void $(),className:"ml-auto text-[10px] text-muted-foreground hover:text-destructive inline-flex items-center gap-0.5",title:u("mapWidget.deleteRouteTitle"),children:[(0,a.jsx)(p.A,{className:"h-3 w-3"}),u("mapWidget.delete")]})]})}),(0,a.jsx)("ul",{className:"space-y-1",children:q.map((e,t)=>{let r=D.indexOf(t);return(0,a.jsxs)("li",{className:"flex items-start gap-2 rounded-md border bg-card px-2 py-1.5 text-xs "+(L&&r>=0?"ring-1 ring-violet-400 border-violet-300":""),children:[L?(0,a.jsx)("button",{type:"button",onClick:()=>P(e=>e.includes(t)?e.filter(e=>e!==t):[...e,t]),className:"h-5 w-5 mt-0.5 shrink-0 rounded-full border text-[10px] font-mono inline-flex items-center justify-center "+(r>=0?"bg-violet-600 text-white border-violet-600":"bg-card text-muted-foreground"),title:r>=0?u("mapWidget.removeFromRoute"):u("mapWidget.addToRoute"),children:r>=0?r+1:"+"}):(0,a.jsx)(S.A,{className:"h-3 w-3 mt-1 shrink-0 "+(B.includes(t)?"text-violet-600":"text-emerald-700")}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"font-medium truncate",children:e.title}),e.description&&(0,a.jsx)("p",{className:"text-muted-foreground leading-snug mt-0.5 line-clamp-2",children:e.description}),(0,a.jsxs)("div",{className:"text-[10px] text-muted-foreground/80 font-mono mt-0.5",children:[e.lat.toFixed(5),", ",e.lng.toFixed(5)]})]}),(0,a.jsx)(I,{point:e,services:G,interactive:Y,onRemove:()=>void Z(t)})]},t)})})]}):(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:u("mapWidget.noPointsReadonly")})},"action-list":function(e){var t;let{rootId:r,data:n,readonly:s,widgetId:l,utility:o}=e,[c,d]=(0,i.useState)(null!=(t=n.groups)?t:[]),[u,p]=(0,i.useState)(null);(0,i.useEffect)(()=>{var e;d(null!=(e=n.groups)?e:[])},[n.groups]);let m=!s&&!!o&&!!l,x=async(e,t)=>{if(o&&l&&(!t.confirm||confirm(t.confirm))){p(e);try{var a,n;let s=await _(r,{utilityId:o.id,utilityScope:o.scope,widgetId:l,actionName:t.actionName,args:{id:e,...null!=(a=t.args)?a:{}}});if(!s.ok)return void F.oR.error(null!=(n=s.error)?n:"Action failed");if(s.inner&&"action-list"===s.inner.kind){let e=s.inner.data;(null==e?void 0:e.groups)&&d(e.groups)}}catch(e){F.oR.error(e instanceof Error?e.message:String(e))}finally{p(null)}}};return 0===c.length?(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:"Nothing here yet."}):(0,a.jsx)("div",{className:"space-y-3",children:c.map((e,t)=>{var r;return(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:[e.label,e.items.length>0&&(0,a.jsx)("span",{className:"ml-1 text-muted-foreground/70",children:e.items.length})]}),0===e.items.length?(0,a.jsx)("p",{className:"text-[11px] text-muted-foreground/80 italic",children:null!=(r=e.emptyText)?r:"empty"}):(0,a.jsx)("ul",{className:"space-y-1",children:e.items.map(e=>(0,a.jsxs)("li",{className:"flex items-center gap-2 rounded-md border bg-card px-2 py-1.5",children:[e.badge&&(0,a.jsx)("span",{className:"shrink-0 text-[10px] uppercase tracking-wide rounded bg-muted px-1.5 py-0.5 text-muted-foreground",children:e.badge}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"truncate text-xs font-medium",children:e.title}),e.subtitle&&(0,a.jsx)("div",{className:"truncate text-[10px] text-muted-foreground",children:e.subtitle})]}),e.action&&m&&(0,a.jsx)(b.$,{size:"sm",variant:"secondary",className:"h-7 shrink-0 text-[11px]",disabled:null!==u,onClick:()=>void x(e.id,e.action),children:u===e.id?(0,a.jsx)(v.A,{className:"h-3 w-3 animate-spin"}):e.action.label})]},e.id))})]},t)})})},"utility-card":function(e){let{rootId:t,data:r,widgetId:s,readonly:l}=e,c=(0,n.c)("roots"),[d,u]=(0,i.useState)(r.inner),[p,m]=(0,i.useState)(!1),x=(0,i.useRef)(!1);(0,i.useEffect)(()=>{if(l||!s||x.current)return;x.current=!0;let e=!0;return m(!0),(async()=>{try{let r=await q(t,s);e&&r.ok&&r.inner&&u(r.inner)}finally{e&&m(!1)}})(),()=>{e=!1}},[t,s,l]),(0,i.useEffect)(()=>{u(r.inner)},[r.inner]);let h="project"===r.utilityScope?"/utilities/project/".concat(r.utilityId,"?rootId=").concat(encodeURIComponent(t)):"/utilities/global/".concat(r.utilityId);return(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] uppercase tracking-wider text-muted-foreground",children:[(0,a.jsx)(P.A,{className:"h-3 w-3 text-violet-600"}),(0,a.jsx)("span",{children:c("utilityCardWidget.miniAppLabel")}),(0,a.jsx)("span",{className:"font-mono normal-case tracking-normal text-muted-foreground/80",children:r.utilityId}),p&&(0,a.jsx)(v.A,{className:"h-2.5 w-2.5 animate-spin text-muted-foreground"}),(0,a.jsxs)(w(),{href:h,className:"ml-auto inline-flex items-center gap-0.5 text-[10px] text-violet-700 hover:underline normal-case tracking-normal",title:c("utilityCardWidget.openFullTitle"),children:[c("utilityCardWidget.openLabel"),(0,a.jsx)(o.A,{className:"h-2.5 w-2.5"})]})]}),d.title&&(0,a.jsx)("h4",{className:"text-sm font-medium",children:d.title}),d.description&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground -mt-1",children:d.description}),(0,a.jsx)("div",{children:D(t,d.kind,d.data,{readonly:"action-list"!==d.kind||!!l,...s?{widgetId:s}:{},utility:{id:r.utilityId,scope:r.utilityScope}})})]})}};function D(e,t,r,n){var s;let i=B[t];return i?(0,a.jsx)(i,{rootId:e,data:r,readonly:null!=(s=null==n?void 0:n.readonly)&&s,onPatch:null==n?void 0:n.onPatch,widgetId:null==n?void 0:n.widgetId,utility:null==n?void 0:n.utility}):(0,a.jsx)(J,{kind:t})}function J(e){let{kind:t}=e,r=(0,n.c)("roots");return(0,a.jsx)("p",{className:"text-xs text-destructive",children:r.rich("widgetsCommon.unknownKind",{kind:t,code:e=>(0,a.jsx)("code",{className:"font-mono",children:e})})})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2283],{3239:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(45804).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},8096:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(45804).A)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])},12283:(e,t,r)=>{r.d(t,{UtilityIframe:()=>f});var a=r(4624),s=r(99356),i=r(8096),n=r(13561),l=r(3239),o=r(95265),d=r(56221),c=r(49411),u=r(85253),p=r(71651),v=r(7911);let h=(0,v.createServerReference)("4099725112b5001040debac7d87674d4669ee5b48a",v.callServer,void 0,v.findSourceMapURL,"startUtilityHelperChatAction");function m(e){let{utilityId:t,utilityName:r,rootId:v,requestSnapshot:m}=e,f=(0,c.c)("app"),[g,x]=(0,s.useState)(!1),[b,y]=(0,s.useState)(""),[k,w]=(0,s.useTransition)(),j=(0,s.useRef)(null);(0,s.useEffect)(()=>{var e;g&&(null==(e=j.current)||e.focus())},[g]);let N=!v,z=()=>{let e=b.trim();e&&v&&!k&&w(async()=>{let a;try{let e=await Promise.race([m(),new Promise(e=>setTimeout(()=>e(void 0),600))]);void 0!==e&&(a="string"==typeof e?e:JSON.stringify(e,null,2))}catch(e){}let s=await h({rootId:v,utilityId:t,utilityName:null!=r?r:t,question:e,...a?{context:a}:{}});if(!s.ok)return void d.oR.error(s.error);window.open("/roots/".concat(v,"/chat/").concat(s.topicId),"_blank"),y(""),x(!1)})};return g?(0,a.jsx)("div",{className:"absolute right-3 bottom-3 z-10 w-[min(28rem,calc(100%-1.5rem))]",children:(0,a.jsxs)("div",{className:"rounded-xl border bg-card shadow-xl",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 text-violet-600 shrink-0"}),(0,a.jsx)("span",{className:"text-sm font-medium truncate",children:f("utilities.ask.title",{name:null!=r?r:t})}),(0,a.jsx)("button",{type:"button",onClick:()=>x(!1),className:"ml-auto p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground shrink-0",title:f("utilities.ask.close"),"aria-label":f("utilities.ask.close"),children:(0,a.jsx)(n.A,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:"p-2",children:[N?(0,a.jsx)("p",{className:"px-2 py-3 text-xs text-muted-foreground",children:f("utilities.helper.projectOnly")}):(0,a.jsxs)("div",{className:"flex items-end gap-2",children:[(0,a.jsx)(p.T,{ref:j,value:b,onChange:e=>y(e.target.value),onKeyDown:e=>{if("Escape"===e.key){e.preventDefault(),x(!1);return}"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),z())},placeholder:f("utilities.ask.placeholder"),rows:1,disabled:k,className:"resize-none min-h-[44px] max-h-40 text-sm bg-background/70 py-2.5 flex-1"}),(0,a.jsx)(u.$,{type:"button",size:"lg",onClick:z,disabled:k||!b.trim(),className:"h-11 px-5 shadow-md shrink-0",children:k?(0,a.jsx)(l.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(o.A,{className:"h-4 w-4"})})]}),(0,a.jsx)("p",{className:"px-1 pt-1.5 text-[10px] text-muted-foreground",children:f("utilities.ask.hint")})]})]})}):(0,a.jsx)("button",{type:"button",onClick:()=>x(!0),className:"absolute right-3 bottom-3 z-10 inline-flex h-10 w-10 items-center justify-center rounded-full reflex-gradient text-white shadow-lg hover:opacity-90",title:f("utilities.iframe.openHelper"),"aria-label":f("utilities.iframe.openHelper"),children:(0,a.jsx)(i.A,{className:"h-4 w-4"})})}function f(e){let{scope:t,id:r,rootId:i,className:n,title:l,agentChat:o,utilityName:d}=e,c=(0,s.useRef)(null),u=(0,s.useRef)(null),p=i?"?rootId=".concat(encodeURIComponent(i)):"",v="/api/utilities/".concat(t,"/").concat(r,"/iframe").concat(p),h="/api/utilities/".concat(t,"/").concat(r,"/host").concat(p);(0,s.useEffect)(()=>{let e=async e=>{var t,r,a,s,i,n;let l=e.data;if(!l||e.source!==(null==(t=c.current)?void 0:t.contentWindow))return;if("snapshot-payload"===l.type){let e=u.current;e&&(clearTimeout(e.timer),u.current=null,e.resolve(l.snapshot));return}if("host-rpc"!==l.type)return;let o=l.id;try{let e=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({method:l.method,args:l.args})}),t=await e.json();null==(a=c.current)||null==(r=a.contentWindow)||r.postMessage(t.ok?{type:"host-rpc-result",id:o,ok:!0,result:t.result}:{type:"host-rpc-result",id:o,ok:!1,error:null!=(s=t.error)?s:"HTTP ".concat(e.status)},"*")}catch(e){null==(n=c.current)||null==(i=n.contentWindow)||i.postMessage({type:"host-rpc-result",id:o,ok:!1,error:e instanceof Error?e.message:String(e)},"*")}};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[h]);let f=(0,a.jsx)("iframe",{ref:c,src:v,sandbox:"allow-scripts allow-forms allow-same-origin",className:null!=n?n:"h-full w-full border-0 bg-white",title:null!=l?l:"utility-".concat(r)});return o?(0,a.jsxs)("div",{className:"relative h-full w-full",children:[f,(0,a.jsx)(m,{utilityId:r,...d?{utilityName:d}:{},...i?{rootId:i}:{},requestSnapshot:()=>{var e;let t=null==(e=c.current)?void 0:e.contentWindow;return t?(u.current&&(clearTimeout(u.current.timer),u.current.resolve(void 0),u.current=null),new Promise(e=>{let r=setTimeout(()=>{var t;(null==(t=u.current)?void 0:t.resolve)===e&&(u.current=null,e(void 0))},500);u.current={resolve:e,timer:r};try{t.postMessage({type:"request-snapshot"},"*")}catch(t){clearTimeout(r),u.current=null,e(void 0)}})):Promise.resolve(void 0)}})]}):f}},13506:(e,t,r)=>{r.d(t,{cn:()=>i});var a=r(47989),s=r(55701);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,s.QP)((0,a.$)(t))}},13561:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(45804).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},60621:(e,t,r)=>{r.d(t,{F:()=>n});var a=r(47989);let s=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,i=a.$,n=(e,t)=>r=>{var a;if((null==t?void 0:t.variants)==null)return i(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:n,defaultVariants:l}=t,o=Object.keys(n).map(e=>{let t=null==r?void 0:r[e],a=null==l?void 0:l[e];if(null===t)return null;let i=s(t)||s(a);return n[e][i]}),d=r&&Object.entries(r).reduce((e,t)=>{let[r,a]=t;return void 0===a||(e[r]=a),e},{});return i(e,o,null==t||null==(a=t.compoundVariants)?void 0:a.reduce((e,t)=>{let{class:r,className:a,...s}=t;return Object.entries(s).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...l,...d}[t]):({...l,...d})[t]===r})?[...e,r,a]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},71651:(e,t,r)=>{r.d(t,{T:()=>i});var a=r(4624);r(99356);var s=r(13506);function i(e){let{className:t,...r}=e;return(0,a.jsx)("textarea",{"data-slot":"textarea",className:(0,s.cn)("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",t),...r})}},85253:(e,t,r)=>{r.d(t,{$:()=>o});var a=r(4624);r(99356);var s=r(60621),i=r(50362),n=r(13506);let l=(0,s.F)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o(e){let{className:t,variant:r="default",size:s="default",asChild:o=!1,...d}=e,c=o?i.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":r,"data-size":s,className:(0,n.cn)(l({variant:r,size:s,className:t})),...d})}},95265:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(45804).A)("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3798],{7163:(e,r,t)=>{t.d(r,{A:()=>n});var a=t(7911);let n=(0,a.createServerReference)("40792fe049f399dec5e941f66678f7df9c672aa95c",a.callServer,void 0,a.findSourceMapURL,"saveGeminiKeyAction")},15523:(e,r,t)=>{t.d(r,{p:()=>s});var a=t(4624);t(99356);var n=t(13506);function s(e){let{className:r,type:t,...s}=e;return(0,a.jsx)("input",{type:t,"data-slot":"input",className:(0,n.cn)("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",r),...s})}},28310:(e,r,t)=>{t.d(r,{E:()=>l});var a=t(4624);t(99356);var n=t(60621),s=t(50362),o=t(13506);let i=(0,n.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function l(e){let{className:r,variant:t="default",asChild:n=!1,...l}=e,c=n?s.bL:"span";return(0,a.jsx)(c,{"data-slot":"badge","data-variant":t,className:(0,o.cn)(i({variant:t}),r),...l})}},64028:(e,r,t)=>{t.d(r,{p:()=>j});var a=t(4624),n=t(99356),s=t(49411),o=t(88365),i=t(72461),l=t(43455),c=t(13561),d=t(60532),u=t(3239),m=t(8096),p=t(94151),x=t(65714),f=t(43153),b=t(95265),h=t(56221),g=t(85253),v=t(15523),w=t(7911);let y=(0,w.createServerReference)("403d4453499422b84a30ec73d3c1d5a67a5aaaebf2",w.callServer,void 0,w.findSourceMapURL,"summarizeYoutubeAction");var k=t(7163);function j(e){let{source:r,onSendToChat:t,autoSummarizeYoutube:s}=e,[c,d]=(0,n.useState)(null);return(0,a.jsxs)("div",{className:"prose prose-neutral dark:prose-invert max-w-none [&_pre]:bg-muted [&_pre]:rounded-md [&_pre]:p-4 [&_pre]:overflow-x-auto [&_pre]:text-sm [&_pre_code]:bg-transparent [&_pre_code]:p-0 [&_pre_code]:text-foreground [&_:not(pre)>code]:bg-muted [&_:not(pre)>code]:px-1.5 [&_:not(pre)>code]:py-0.5 [&_:not(pre)>code]:rounded [&_:not(pre)>code]:text-[0.9em] [&_code]:font-mono [&_table]:text-sm",children:[(0,a.jsx)(o.oz,{remarkPlugins:[i.A],rehypePlugins:[[l.A,{detect:!0,ignoreMissing:!0}]],components:{a:e=>{let{href:r,children:n,...o}=e,i=r?function(e){try{let r=new URL(e),t=r.hostname.replace(/^www\./,"");if("youtu.be"===t){let e=r.pathname.slice(1).split("/")[0];return e&&/^[A-Za-z0-9_-]{6,}$/.test(e)?e:null}if("youtube.com"===t||"m.youtube.com"===t||"youtube-nocookie.com"===t){if("/watch"===r.pathname){let e=r.searchParams.get("v");return e&&/^[A-Za-z0-9_-]{6,}$/.test(e)?e:null}let e=/^\/(shorts|embed|live|v)\/([^/?#]+)/.exec(r.pathname);if(e&&/^[A-Za-z0-9_-]{6,}$/.test(e[2]))return e[2]}}catch(e){}return null}(r):null;return i&&r?(0,a.jsx)(A,{url:r,videoId:i,autoSummarize:null!=s&&s,...t?{onSendToChat:t}:{}}):(0,a.jsx)("a",{href:r,...o,children:n})},img:e=>{let{src:r,alt:t,title:n}=e;return"string"!=typeof r||0===r.length?null:(0,a.jsx)(N,{src:r,alt:"string"==typeof t?t:"",title:"string"==typeof n?n:void 0,onZoom:e=>d(e)})}},children:r}),c&&(0,a.jsx)(_,{src:c.src,alt:c.alt,onClose:()=>d(null)})]})}function N(e){var r;let{src:t,alt:n,title:o,onZoom:i}=e,l=(0,s.c)("roots");return(0,a.jsx)("img",{src:t,alt:n,title:null!=(r=null!=o?o:n)?r:l("markdown.openFullscreen"),onClick:()=>i({src:t,alt:n}),className:"cursor-zoom-in rounded-md border bg-muted/40 transition hover:opacity-90",loading:"lazy"})}function _(e){let{src:r,alt:t,onClose:o}=e,i=(0,s.c)("roots"),l=(0,n.useCallback)(e=>{"Escape"===e.key&&o()},[o]);return(0,n.useEffect)(()=>{document.addEventListener("keydown",l);let e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",l),document.body.style.overflow=e}},[l]),(0,a.jsxs)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center p-6 bg-background/85 backdrop-blur-sm cursor-zoom-out",onClick:o,role:"dialog","aria-label":t||i("markdown.imagePreview"),children:[(0,a.jsx)(g.$,{type:"button",size:"icon",variant:"ghost",className:"absolute top-4 right-4 h-9 w-9 bg-card/80 hover:bg-card",onClick:e=>{e.stopPropagation(),o()},"aria-label":i("markdown.closeAria"),children:(0,a.jsx)(c.A,{className:"h-5 w-5"})}),(0,a.jsx)("img",{src:r,alt:t,className:"max-h-full max-w-full object-contain rounded-lg shadow-2xl",onClick:e=>e.stopPropagation()}),t&&(0,a.jsx)("div",{className:"absolute bottom-6 inset-x-0 mx-auto max-w-3xl px-6 text-center text-sm text-foreground/80 pointer-events-none",children:t})]})}function A(e){let{url:r,videoId:t,onSendToChat:o,autoSummarize:i}=e,l=(0,s.c)("roots"),[w,j]=(0,n.useTransition)(),[N,_]=(0,n.useState)(null),[A,z]=(0,n.useState)(!1),[C,S]=(0,n.useState)(""),[R,$]=(0,n.useState)(!1),E=(0,n.useRef)(!1),L=()=>{_(null),j(async()=>{let e=await y({url:r});if(e.ok){_(e.text),z(!1);return}if(e.needsKey)return void z(!0);h.oR.error(e.error)})};(0,n.useEffect)(()=>{i&&(E.current||(E.current=!0,L()))},[i]);let P=async()=>{if(!C.trim())return void h.oR.error(l("markdown.enterKey"));$(!0);try{let e=await (0,k.A)(C.trim());if(!e.ok)return void h.oR.error(e.error);h.oR.success(l("markdown.geminiKeySaved")),S(""),z(!1),L()}finally{$(!1)}};return(0,a.jsxs)("span",{className:"not-prose my-4 block rounded-lg border bg-card overflow-hidden",children:[(0,a.jsx)("span",{className:"relative block w-full",style:{paddingTop:"56.25%"},children:(0,a.jsx)("iframe",{src:"https://www.youtube-nocookie.com/embed/".concat(t),className:"absolute inset-0 h-full w-full",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullScreen:!0,title:"YouTube video"})}),(0,a.jsxs)("span",{className:"flex items-center gap-2 p-2 border-t bg-muted/30",children:[(0,a.jsx)(d.A,{className:"h-4 w-4 text-red-600 shrink-0"}),(0,a.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground hover:underline truncate flex-1 min-w-0",children:r}),(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"outline",onClick:L,disabled:w,className:"gap-1 shrink-0 h-7",children:[w?(0,a.jsx)(u.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(m.A,{className:"h-3 w-3"}),l("markdown.summarize")]})]}),A&&(0,a.jsxs)("span",{className:"block border-t bg-amber-50/60 p-3 space-y-2",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-xs text-amber-900",children:[(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"font-medium",children:l("markdown.needsGeminiKey")})]}),(0,a.jsx)("span",{className:"block text-[11px] text-amber-900/80",children:l.rich("markdown.geminiKeyHelp",{link:()=>(0,a.jsx)("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noopener noreferrer",className:"underline",children:"aistudio.google.com/apikey"}),path:()=>(0,a.jsx)("code",{className:"font-mono",children:"~/.reflex/api-keys/gemini.json"}),modelsList:()=>(0,a.jsx)("code",{className:"font-mono",children:"models.list"})})}),(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)(v.p,{type:"password",value:C,onChange:e=>S(e.target.value),placeholder:"AIza…",className:"font-mono text-xs h-8 flex-1",disabled:R}),(0,a.jsxs)(g.$,{type:"button",size:"sm",onClick:()=>void P(),disabled:R||!C.trim(),className:"h-8 gap-1",children:[R?(0,a.jsx)(u.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(x.A,{className:"h-3 w-3"}),l("markdown.saveAndContinue")]}),(0,a.jsx)(g.$,{type:"button",size:"icon",variant:"ghost",onClick:()=>z(!1),className:"h-8 w-8",children:(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"})})]})]}),N&&(0,a.jsxs)("span",{className:"block border-t p-3 space-y-2",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[11px] uppercase tracking-wider text-muted-foreground",children:[(0,a.jsx)(f.A,{className:"h-3 w-3 text-emerald-600"}),"Gemini summary",(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"ghost",onClick:L,className:"ml-auto h-6 text-[10px] gap-1",disabled:w,children:[w?(0,a.jsx)(u.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(m.A,{className:"h-3 w-3"}),l("markdown.redo")]}),o&&(0,a.jsxs)(g.$,{type:"button",size:"sm",variant:"outline",onClick:()=>o(N,r),className:"h-6 text-[10px] gap-1",children:[(0,a.jsx)(b.A,{className:"h-3 w-3"}),l("markdown.toChat")]})]}),(0,a.jsx)("span",{className:"block",children:(0,a.jsx)("span",{className:"block text-sm whitespace-pre-wrap leading-relaxed",children:N})})]})]})}},78825:(e,r,t)=>{t.d(r,{J:()=>o});var a=t(4624);t(99356);var n=t(33976),s=t(13506);function o(e){let{className:r,...t}=e;return(0,a.jsx)(n.Root,{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",r),...t})}},91074:(e,r,t)=>{t.d(r,{Separator:()=>o});var a=t(4624);t(99356);var n=t(44188),s=t(13506);function o(e){let{className:r,orientation:t="horizontal",decorative:o=!0,...i}=e;return(0,a.jsx)(n.b,{"data-slot":"separator",decorative:o,orientation:t,className:(0,s.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",r),...i})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4108],{304:(e,c,t)=>{t.d(c,{J:()=>a});var r=t(7911);let a=(0,r.createServerReference)("4005089b39c6fcfb61347da55cf63dfb990cc34248",r.callServer,void 0,r.findSourceMapURL,"getOAuthClientAction")},2799:(e,c,t)=>{t.d(c,{T:()=>a});var r=t(7911);let a=(0,r.createServerReference)("60f71ed8e6bee43b5d17bcc66042ec32f5324658cc",r.callServer,void 0,r.findSourceMapURL,"beginOAuthAction")},58919:(e,c,t)=>{t.d(c,{S:()=>a});var r=t(7911);let a=(0,r.createServerReference)("40912341b99970f0e6ea6ed8bff4ae41da06998999",r.callServer,void 0,r.findSourceMapURL,"saveOAuthClientAction")},70251:(e,c,t)=>{t.d(c,{o:()=>a});var r=t(7911);let a=(0,r.createServerReference)("0018e761da0b9e10a26392f58a25754cdf3991a28e",r.callServer,void 0,r.findSourceMapURL,"listOAuthStatusesAction")},94108:(e,c,t)=>{t.d(c,{beginOAuthAction:()=>n.T,getOAuthClientAction:()=>a.J,listOAuthStatusesAction:()=>r.o,saveOAuthClientAction:()=>i.S});var r=t(70251),a=t(304),i=t(58919),n=t(2799)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4243],{8190:(e,t,a)=>{a.d(t,{CommandBar:()=>h});var r=a(4624),s=a(99356),n=a(69285),l=a(49411),i=a(95265),o=a(56221),c=a(68075),d=a(81388),u=a(63602),m=a(63514),x=a(3074);function h(e){let{rootId:t,focusFile:a}=e,h=(0,l.c)("roots"),[,p]=(0,s.useTransition)(),b=(0,n.useRouter)();return(0,r.jsx)(u.E,{label:h("commandBar.label"),children:(0,r.jsx)(x.L,{rootId:t,placeholder:h("commandBar.placeholder"),submitLabel:h("commandBar.submit"),pendingLabel:h("commandBar.submitPending"),SubmitIcon:i.A,onSubmit:async e=>{let{message:r,attachments:s}=e;return await new Promise(e=>{p(async()=>{let n=await (0,c.g)(t,r,s,a);if(!n.ok){var l;o.oR.error(null!=(l=n.error)?l:h("commandBar.startFailed")),e(!1);return}(0,m.$d)(m.Zi.topicsChanged(t)),r.trim()&&(0,d.h)(t,n.topicId,r).then(e=>{e.ok&&(0,m.$d)(m.Zi.topicsChanged(t))}),b.push("/roots/".concat(t,"/chat/").concat(n.topicId)),e(!0)})})}})})}},22841:(e,t,a)=>{a.d(t,{bq:()=>u,eb:()=>x,gC:()=>m,l6:()=>c,yv:()=>d});var r=a(4624);a(99356);var s=a(69709),n=a(43153),l=a(59728),i=a(85314),o=a(13506);function c(e){let{...t}=e;return(0,r.jsx)(i.Root,{"data-slot":"select",...t})}function d(e){let{...t}=e;return(0,r.jsx)(i.Value,{"data-slot":"select-value",...t})}function u(e){let{className:t,size:a="default",children:n,...l}=e;return(0,r.jsxs)(i.Trigger,{"data-slot":"select-trigger","data-size":a,className:(0,o.cn)("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",t),...l,children:[n,(0,r.jsx)(i.Icon,{asChild:!0,children:(0,r.jsx)(s.A,{className:"size-4 opacity-50"})})]})}function m(e){let{className:t,children:a,position:s="item-aligned",align:n="center",...l}=e;return(0,r.jsx)(i.Portal,{children:(0,r.jsxs)(i.Content,{"data-slot":"select-content",className:(0,o.cn)("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,align:n,...l,children:[(0,r.jsx)(h,{}),(0,r.jsx)(i.Viewport,{className:(0,o.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),(0,r.jsx)(p,{})]})})}function x(e){let{className:t,children:a,...s}=e;return(0,r.jsxs)(i.Item,{"data-slot":"select-item",className:(0,o.cn)("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...s,children:[(0,r.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,r.jsx)(i.ItemIndicator,{children:(0,r.jsx)(n.A,{className:"size-4"})})}),(0,r.jsx)(i.ItemText,{children:a})]})}function h(e){let{className:t,...a}=e;return(0,r.jsx)(i.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(l.A,{className:"size-4"})})}function p(e){let{className:t,...a}=e;return(0,r.jsx)(i.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...a,children:(0,r.jsx)(s.A,{className:"size-4"})})}},23303:(e,t,a)=>{a.d(t,{InsertImageButton:()=>z});var r=a(4624),s=a(99356),n=a(69285),l=a(39160),i=a(49411),o=a(85253),c=a(13561),d=a(8096),u=a(43863),m=a(23262),x=a(56221),h=a(15523),p=a(71651),b=a(78825),g=a(22841),f=a(49881),v=a(80192),j=a(43504),y=a(7911);let w=(0,y.createServerReference)("40ca9f9280be41639c38ee5c63e34d9fe284931c56",y.callServer,void 0,y.findSourceMapURL,"generateAction"),N=(0,y.createServerReference)("4008c8cf18dc2bcb534f919b0608af8b6fb6dd7ada",y.callServer,void 0,y.findSourceMapURL,"searchAction"),k=(0,y.createServerReference)("408dbfb679109f4cf78db9c4d95830fc64a857e0b3",y.callServer,void 0,y.findSourceMapURL,"attachAction"),S=(0,y.createServerReference)("40389e897d80cb3586f4ca2bf938425384380b68fb",y.callServer,void 0,y.findSourceMapURL,"uploadAction"),R=["1:1","16:9","9:16","4:3","3:4","21:9"];function C(e){let{rootId:t,open:a,onOpenChange:n,onInsert:y}=e,C=(0,i.c)("app"),[z,A]=(0,s.useState)(""),[T,P]=(0,s.useState)("gemini"),[L,I]=(0,s.useState)("1:1"),[U,_]=(0,s.useState)(!0),[B,E]=(0,s.useState)(null),[K,$]=(0,s.useTransition)(),[M,F]=(0,s.useState)(""),[V,q]=(0,s.useState)("unsplash"),[J,X]=(0,s.useState)([]),[O,D]=(0,s.useTransition)(),[G,Z]=(0,s.useState)(null),[H,W]=(0,s.useState)(!0),[Q,Y]=(0,s.useState)(""),[ee,et]=(0,s.useState)(!0),[ea,er]=(0,s.useTransition)();if((0,s.useEffect)(()=>{if(!a)return;let e=e=>{"Escape"===e.key&&n(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[a,n]),!a)return null;let es=()=>{M.trim()&&(X([]),D(async()=>{let e=await N({rootId:t,query:M.trim(),provider:V,count:12});if(!e.ok)return void x.oR.error(e.error);X(e.results)}))};return(0,r.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",onClick:e=>{e.target===e.currentTarget&&n(!1)},children:[(0,r.jsx)("div",{"aria-hidden":!0,className:"absolute inset-0 bg-background/80 backdrop-blur-sm",onClick:()=>n(!1)}),(0,r.jsxs)("div",{className:"relative bg-card border rounded-lg shadow-xl w-full max-w-3xl max-h-[85vh] flex flex-col",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 py-3 border-b",children:[(0,r.jsx)(l.A,{className:"h-4 w-4 text-violet-600"}),(0,r.jsx)("h2",{className:"text-sm font-medium flex-1",children:C("images.titleHeader")}),(0,r.jsx)(o.$,{type:"button",size:"icon",variant:"ghost",className:"h-7 w-7",onClick:()=>n(!1),children:(0,r.jsx)(c.A,{className:"h-4 w-4"})})]}),(0,r.jsxs)(f.tU,{defaultValue:"generate",className:"flex-1 min-h-0 flex flex-col",children:[(0,r.jsxs)(f.j7,{className:"mx-4 mt-3 self-start",children:[(0,r.jsxs)(f.Xi,{value:"generate",children:[(0,r.jsx)(d.A,{className:"mr-1 h-3.5 w-3.5"})," ",C("images.tabGenerate")]}),(0,r.jsxs)(f.Xi,{value:"search",children:[(0,r.jsx)(u.A,{className:"mr-1 h-3.5 w-3.5"})," ",C("images.tabSearch")]}),(0,r.jsxs)(f.Xi,{value:"upload",children:[(0,r.jsx)(m.A,{className:"mr-1 h-3.5 w-3.5"})," ",C("images.tabUpload")]})]}),(0,r.jsxs)(v.F,{className:"flex-1 min-h-0",children:[(0,r.jsxs)(f.av,{value:"generate",className:"px-4 py-4 space-y-3",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(b.J,{htmlFor:"img-prompt",children:C("images.promptLabel")}),(0,r.jsx)(p.T,{id:"img-prompt",value:z,onChange:e=>A(e.target.value),placeholder:C("images.promptPlaceholder"),rows:4})]}),(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(b.J,{children:C("images.providerLabel")}),(0,r.jsxs)(g.l6,{value:T,onValueChange:e=>P(e),children:[(0,r.jsx)(g.bq,{children:(0,r.jsx)(g.yv,{})}),(0,r.jsxs)(g.gC,{children:[(0,r.jsx)(g.eb,{value:"gemini",children:"Gemini Nano Banana"}),(0,r.jsx)(g.eb,{value:"codex",children:"Codex $imagegen"})]})]})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(b.J,{children:C("images.aspectLabel")}),(0,r.jsxs)(g.l6,{value:L,onValueChange:I,children:[(0,r.jsx)(g.bq,{children:(0,r.jsx)(g.yv,{})}),(0,r.jsx)(g.gC,{children:R.map(e=>(0,r.jsx)(g.eb,{value:e,children:e},e))})]})]})]}),(0,r.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:U,onChange:e=>_(e.target.checked)}),C("images.saveToKb")]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(o.$,{type:"button",size:"sm",onClick:()=>{z.trim()&&(E(null),$(async()=>{let e=await w({rootId:t,prompt:z.trim(),provider:T,aspectRatio:L,attachToKb:U});if(!e.ok)return void x.oR.error(e.error);E({url:e.url,markdown:e.markdown,...e.kbRelPath?{kbRelPath:e.kbRelPath}:{}})}))},disabled:K||!z.trim(),children:K?C("images.generating"):C("images.generate")}),K&&(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:C("images.takesAMinute")})]}),K?(0,r.jsx)(j.E,{className:"h-64 w-full"}):B?(0,r.jsxs)("div",{className:"space-y-2 border rounded p-3",children:[(0,r.jsx)("img",{src:B.url,alt:z,className:"max-h-80 mx-auto rounded"}),(0,r.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,r.jsx)(o.$,{type:"button",size:"sm",variant:"outline",onClick:()=>E(null),children:C("images.again")}),(0,r.jsx)(o.$,{type:"button",size:"sm",onClick:()=>{B&&(null==y||y(B),x.oR.success(B.kbRelPath?C("images.savedToKb",{path:B.kbRelPath}):C("images.ready")),n(!1))},children:C("images.insert")})]})]}):null]}),(0,r.jsxs)(f.av,{value:"search",className:"px-4 py-4 space-y-3",children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(h.p,{value:M,onChange:e=>F(e.target.value),placeholder:C("images.searchPlaceholder"),onKeyDown:e=>{"Enter"===e.key&&es()}}),(0,r.jsxs)(g.l6,{value:V,onValueChange:e=>q(e),children:[(0,r.jsx)(g.bq,{className:"w-36",children:(0,r.jsx)(g.yv,{})}),(0,r.jsxs)(g.gC,{children:[(0,r.jsx)(g.eb,{value:"unsplash",children:"Unsplash"}),(0,r.jsx)(g.eb,{value:"pexels",children:"Pexels"}),(0,r.jsx)(g.eb,{value:"brave",children:C("images.braveWeb")})]})]}),(0,r.jsx)(o.$,{type:"button",size:"sm",onClick:es,disabled:O||!M.trim(),children:C("images.find")})]}),(0,r.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:H,onChange:e=>W(e.target.checked)}),C("images.saveToKb")]}),O&&0===J.length?(0,r.jsx)("div",{className:"grid grid-cols-3 gap-2",children:Array.from({length:6}).map((e,t)=>(0,r.jsx)(j.E,{className:"h-32 w-full"},t))}):J.length>0?(0,r.jsx)("div",{className:"grid grid-cols-3 gap-2",children:J.map(e=>(0,r.jsxs)("button",{type:"button",disabled:null!==G,onClick:()=>{Z(e.url),D(async()=>{let a=await k({rootId:t,sourceUrl:e.url,alt:M.trim()||"image",attribution:e.attribution,attachToKb:H});if(Z(null),!a.ok)return void x.oR.error(a.error);null==y||y({url:a.url,markdown:a.markdown,...a.kbRelPath?{kbRelPath:a.kbRelPath}:{}}),x.oR.success(a.kbRelPath?C("images.savedToKb",{path:a.kbRelPath}):C("images.savedToProject")),n(!1)})},className:"group relative overflow-hidden rounded border hover:border-violet-500 disabled:opacity-50",title:"".concat(e.attribution.name," \xb7 ").concat(e.provider),children:[(0,r.jsx)("img",{src:e.thumb,alt:"",className:"h-32 w-full object-cover"}),(0,r.jsx)("div",{className:"absolute bottom-0 inset-x-0 px-1.5 py-0.5 text-[10px] bg-black/60 text-white truncate",children:e.attribution.name}),G===e.url&&(0,r.jsx)("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center text-xs text-white",children:C("images.saving")})]},e.url))}):(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:C("images.noKeys")})]}),(0,r.jsxs)(f.av,{value:"upload",className:"px-4 py-4 space-y-3",children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)(b.J,{htmlFor:"img-alt",children:C("images.altLabel")}),(0,r.jsx)(h.p,{id:"img-alt",value:Q,onChange:e=>Y(e.target.value),placeholder:C("images.altPlaceholder")})]}),(0,r.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:ee,onChange:e=>et(e.target.checked)}),C("images.saveToKb")]}),(0,r.jsx)(h.p,{type:"file",accept:"image/*",disabled:ea,onChange:e=>{var a;let r=null==(a=e.target.files)?void 0:a[0];r&&er(async()=>{let e=function(e){let t=new Uint8Array(e),a="";for(let e=0;e<t.length;e+=32768){let r=t.subarray(e,e+32768);a+=String.fromCharCode.apply(null,Array.from(r))}return btoa(a)}(await r.arrayBuffer()),a=await S({rootId:t,base64:e,mime:r.type,alt:Q||r.name.replace(/\.[^.]+$/,""),attachToKb:ee});if(!a.ok)return void x.oR.error(a.error);null==y||y({url:a.url,markdown:a.markdown,...a.kbRelPath?{kbRelPath:a.kbRelPath}:{}}),x.oR.success(a.kbRelPath?C("images.savedToKb",{path:a.kbRelPath}):C("images.uploaded")),n(!1)})}}),ea&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:C("images.uploading")})]})]})]})]})]})}function z(e){let{rootId:t,redirectToKb:a=!0}=e,[c,d]=(0,s.useState)(!1),u=(0,n.useRouter)(),m=(0,i.c)("app");return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(o.$,{type:"button",variant:"ghost",size:"sm",onClick:()=>d(!0),children:[(0,r.jsx)(l.A,{className:"mr-1 h-4 w-4"})," ",m("images.button")]}),(0,r.jsx)(C,{rootId:t,open:c,onOpenChange:d,onInsert:e=>{let{kbRelPath:r}=e;if(a&&r){let e=r.split("/").map(encodeURIComponent).join("/");u.push("/roots/".concat(t,"/kb/").concat(e))}}})]})}},33886:(e,t,a)=>{a.d(t,{ShareButton:()=>p});var r=a(4624),s=a(99356),n=a(30441),l=a(43153),i=a(9598),o=a(13561),c=a(3024),d=a(56221),u=a(49411),m=a(7911);let x=(0,m.createServerReference)("40cda9b538b3d82e912ae3a3a30bba1e30bad62a31",m.callServer,void 0,m.findSourceMapURL,"createShareAction");var h=a(68298);function p(e){let t=(0,u.c)("app"),[a,m]=(0,s.useState)(!1),[p,b]=(0,s.useState)(""),[g,f]=(0,s.useTransition)(),[v,j]=(0,s.useState)(null);return a?v?(0,r.jsxs)("div",{className:"rounded border bg-card p-2 text-xs space-y-1.5 w-full max-w-sm",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 text-emerald-700",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{className:"font-medium",children:t("share.button.createdTitle")})]}),(0,r.jsx)("a",{href:v.url,target:"_blank",rel:"noopener noreferrer",className:"block font-mono text-[11px] text-violet-700 hover:underline break-all",children:v.url}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>void navigator.clipboard.writeText(v.url).then(()=>d.oR.success(t("share.button.copied"))),className:"inline-flex items-center gap-1 rounded border px-2 py-0.5 hover:bg-accent",children:[(0,r.jsx)(i.A,{className:"h-3 w-3"}),t("share.button.copy")]}),(0,r.jsx)("button",{type:"button",onClick:()=>{j(null),m(!1),b("")},className:"text-muted-foreground hover:text-foreground",children:t("share.button.done")})]})]}):(0,r.jsxs)("div",{className:"rounded border bg-card p-2 text-xs space-y-1.5 w-full max-w-sm",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(n.A,{className:"h-3.5 w-3.5 text-violet-600"}),(0,r.jsx)("span",{className:"font-medium",children:t("share.button.newLink")}),(0,r.jsx)("button",{type:"button",onClick:()=>m(!1),className:"ml-auto text-muted-foreground hover:text-foreground",children:(0,r.jsx)(o.A,{className:"h-3 w-3"})})]}),(0,r.jsx)("label",{className:"block text-[10px] text-muted-foreground",children:t("share.button.passwordLabel")}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)(c.A,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground pointer-events-none"}),(0,r.jsx)("input",{type:"password",value:p,onChange:e=>b(e.target.value),autoFocus:!0,placeholder:t("share.button.passwordPlaceholder"),className:"w-full rounded border bg-background pl-6 pr-2 py-1 text-xs focus:outline-none focus:ring-1 focus:ring-violet-400"})]}),(0,r.jsx)("button",{type:"button",onClick:()=>{f(async()=>{var a;let r=await (0,h.N)(),s=await x({kind:e.kind,...e.rootId?{rootId:e.rootId}:{},...e.utilityScope?{utilityScope:e.utilityScope}:{},...e.utilityId?{utilityId:e.utilityId}:{},...e.kbRelPath?{kbRelPath:e.kbRelPath}:{},...e.label?{label:e.label}:{},...p.trim()?{password:p.trim()}:{}});if(!s.ok)return void d.oR.error(s.error);let n=null!=(a=r.status.publicUrl)?a:window.location.origin,l=new URL("/share/".concat(s.share.id),n).toString();j({share:s.share,url:l}),navigator.clipboard.writeText(l).catch(()=>null),d.oR.success(r.status.running?t("share.button.created"):t("share.button.createdNoTunnel"))})},disabled:g,className:"w-full rounded bg-violet-600 text-white px-2 py-1 hover:bg-violet-700 disabled:opacity-50 inline-flex items-center justify-center gap-1",children:g?t("share.button.creating"):t("share.button.create")}),(0,r.jsx)("p",{className:"text-[10px] text-muted-foreground",children:t("share.button.footer")})]}):(0,r.jsxs)("button",{type:"button",onClick:()=>m(!0),className:e.iconOnly?"p-1 rounded hover:bg-accent text-muted-foreground hover:text-violet-700":"inline-flex items-center gap-1 rounded border px-2 py-1 text-xs hover:bg-accent",title:t("share.button.title"),children:[(0,r.jsx)(n.A,{className:"h-3.5 w-3.5"}),!e.iconOnly&&t("share.button.label")]})}},43504:(e,t,a)=>{a.d(t,{E:()=>n});var r=a(4624),s=a(13506);function n(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"skeleton",className:(0,s.cn)("animate-pulse rounded-md bg-accent",t),...a})}},49881:(e,t,a)=>{a.d(t,{Xi:()=>d,av:()=>u,j7:()=>c,tU:()=>i});var r=a(4624);a(99356);var s=a(60621),n=a(86631),l=a(13506);function i(e){let{className:t,orientation:a="horizontal",...s}=e;return(0,r.jsx)(n.Root,{"data-slot":"tabs","data-orientation":a,orientation:a,className:(0,l.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",t),...s})}let o=(0,s.F)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function c(e){let{className:t,variant:a="default",...s}=e;return(0,r.jsx)(n.List,{"data-slot":"tabs-list","data-variant":a,className:(0,l.cn)(o({variant:a}),t),...s})}function d(e){let{className:t,...a}=e;return(0,r.jsx)(n.Trigger,{"data-slot":"tabs-trigger",className:(0,l.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground","after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",t),...a})}function u(e){let{className:t,...a}=e;return(0,r.jsx)(n.Content,{"data-slot":"tabs-content",className:(0,l.cn)("flex-1 outline-none",t),...a})}},68075:(e,t,a)=>{a.d(t,{g:()=>s});var r=a(7911);let s=(0,r.createServerReference)("783fd3a588df881018d6c66f081983e4b33e89f9df",r.callServer,void 0,r.findSourceMapURL,"startTopicAction")},68298:(e,t,a)=>{a.d(t,{N:()=>s});var r=a(7911);let s=(0,r.createServerReference)("00e25b157f2dbc97f6cbddda2064acc5bfb2e6810a",r.callServer,void 0,r.findSourceMapURL,"getTunnelStatusAction")},80192:(e,t,a)=>{a.d(t,{F:()=>l});var r=a(4624);a(99356);var s=a(14884),n=a(13506);function l(e){let{className:t,children:a,...l}=e;return(0,r.jsxs)(s.Root,{"data-slot":"scroll-area",className:(0,n.cn)("relative",t),...l,children:[(0,r.jsx)(s.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:a}),(0,r.jsx)(i,{}),(0,r.jsx)(s.Corner,{})]})}function i(e){let{className:t,orientation:a="vertical",...l}=e;return(0,r.jsx)(s.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:a,className:(0,n.cn)("flex touch-none p-px transition-colors select-none","vertical"===a&&"h-full w-2.5 border-l border-l-transparent","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent",t),...l,children:(0,r.jsx)(s.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}},81388:(e,t,a)=>{a.d(t,{h:()=>s});var r=a(7911);let s=(0,r.createServerReference)("705b5acbe0cd3b6d36c3263d9046fc79459d48dd7f",r.callServer,void 0,r.findSourceMapURL,"generateTopicTitleAction")}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4678],{47989:(e,r,o)=>{o.d(r,{$:()=>t});function t(){for(var e,r,o=0,t="",n=arguments.length;o<n;o++)(e=arguments[o])&&(r=function e(r){var o,t,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(o=0;o<l;o++)r[o]&&(t=e(r[o]))&&(n&&(n+=" "),n+=t)}else for(t in r)r[t]&&(n&&(n+=" "),n+=t);return n}(e))&&(t&&(t+=" "),t+=r);return t}},50362:(e,r,o)=>{o.d(r,{Dc:()=>d,TL:()=>s,bL:()=>i});var t=o(99356),n=o(71024),l=o(4624);function s(e){let r=function(e){let r=t.forwardRef((e,r)=>{let{children:o,...l}=e;if(t.isValidElement(o)){var s;let e,i,a=(s=o,(i=(e=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.ref:(i=(e=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.props.ref:s.props.ref||s.ref),d=function(e,r){let o={...r};for(let t in r){let n=e[t],l=r[t];/^on[A-Z]/.test(t)?n&&l?o[t]=(...e)=>{let r=l(...e);return n(...e),r}:n&&(o[t]=n):"style"===t?o[t]={...n,...l}:"className"===t&&(o[t]=[n,l].filter(Boolean).join(" "))}return{...e,...o}}(l,o.props);return o.type!==t.Fragment&&(d.ref=r?(0,n.t)(r,a):a),t.cloneElement(o,d)}return t.Children.count(o)>1?t.Children.only(null):null});return r.displayName=`${e}.SlotClone`,r}(e),o=t.forwardRef((e,o)=>{let{children:n,...s}=e,i=t.Children.toArray(n),a=i.find(c);if(a){let e=a.props.children,n=i.map(r=>r!==a?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,l.jsx)(r,{...s,ref:o,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,l.jsx)(r,{...s,ref:o,children:n})});return o.displayName=`${e}.Slot`,o}var i=s("Slot"),a=Symbol("radix.slottable");function d(e){let r=({children:e})=>(0,l.jsx)(l.Fragment,{children:e});return r.displayName=`${e}.Slottable`,r.__radixId=a,r}function c(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===a}},55701:(e,r,o)=>{o.d(r,{QP:()=>q});let t=(e,r)=>{if(0===e.length)return r.classGroupId;let o=e[0],n=r.nextPart.get(o),l=n?t(e.slice(1),n):void 0;if(l)return l;if(0===r.validators.length)return;let s=e.join("-");return r.validators.find(({validator:e})=>e(s))?.classGroupId},n=/^\[(.+)\]$/,l=(e,r,o,t)=>{e.forEach(e=>{if("string"==typeof e){(""===e?r:s(r,e)).classGroupId=o;return}if("function"==typeof e)return i(e)?void l(e(t),r,o,t):void r.validators.push({validator:e,classGroupId:o});Object.entries(e).forEach(([e,n])=>{l(n,s(r,e),o,t)})})},s=(e,r)=>{let o=e;return r.split("-").forEach(e=>{o.nextPart.has(e)||o.nextPart.set(e,{nextPart:new Map,validators:[]}),o=o.nextPart.get(e)}),o},i=e=>e.isThemeGetter,a=(e,r)=>r?e.map(([e,o])=>[e,o.map(e=>"string"==typeof e?r+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,o])=>[r+e,o])):e)]):e,d=e=>{if(e.length<=1)return e;let r=[],o=[];return e.forEach(e=>{"["===e[0]?(r.push(...o.sort(),e),o=[]):o.push(e)}),r.push(...o.sort()),r},c=/\s+/;function p(){let e,r,o=0,t="";for(;o<arguments.length;)(e=arguments[o++])&&(r=u(e))&&(t&&(t+=" "),t+=r);return t}let u=e=>{let r;if("string"==typeof e)return e;let o="";for(let t=0;t<e.length;t++)e[t]&&(r=u(e[t]))&&(o&&(o+=" "),o+=r);return o},b=e=>{let r=r=>r[e]||[];return r.isThemeGetter=!0,r},f=/^\[(?:([a-z-]+):)?(.+)\]$/i,m=/^\d+\/\d+$/,g=new Set(["px","full","screen"]),h=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,y=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,x=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,v=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,w=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,k=e=>j(e)||g.has(e)||m.test(e),z=e=>M(e,"length",A),j=e=>!!e&&!Number.isNaN(Number(e)),C=e=>M(e,"number",j),S=e=>!!e&&Number.isInteger(Number(e)),E=e=>e.endsWith("%")&&j(e.slice(0,-1)),N=e=>f.test(e),P=e=>h.test(e),_=new Set(["length","size","percentage"]),G=e=>M(e,_,T),$=e=>M(e,"position",T),R=new Set(["image","url"]),I=e=>M(e,R,D),O=e=>M(e,"",V),W=()=>!0,M=(e,r,o)=>{let t=f.exec(e);return!!t&&(t[1]?"string"==typeof r?t[1]===r:r.has(t[1]):o(t[2]))},A=e=>y.test(e)&&!x.test(e),T=()=>!1,V=e=>v.test(e),D=e=>w.test(e);Symbol.toStringTag;let q=function(e,...r){let o,s,i,u=function(d){let c;return s=(o={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,o=new Map,t=new Map,n=(n,l)=>{o.set(n,l),++r>e&&(r=0,t=o,o=new Map)};return{get(e){let r=o.get(e);return void 0!==r?r:void 0!==(r=t.get(e))?(n(e,r),r):void 0},set(e,r){o.has(e)?o.set(e,r):n(e,r)}}})((c=r.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{separator:r,experimentalParseClassName:o}=e,t=1===r.length,n=r[0],l=r.length,s=e=>{let o,s=[],i=0,a=0;for(let d=0;d<e.length;d++){let c=e[d];if(0===i){if(c===n&&(t||e.slice(d,d+l)===r)){s.push(e.slice(a,d)),a=d+l;continue}if("/"===c){o=d;continue}}"["===c?i++:"]"===c&&i--}let d=0===s.length?e:e.substring(a),c=d.startsWith("!"),p=c?d.substring(1):d;return{modifiers:s,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:o&&o>a?o-a:void 0}};return o?e=>o({className:e,parseClassName:s}):s})(c),...(e=>{let r=(e=>{let{theme:r,prefix:o}=e,t={nextPart:new Map,validators:[]};return a(Object.entries(e.classGroups),o).forEach(([e,o])=>{l(o,t,e,r)}),t})(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{let o=e.split("-");return""===o[0]&&1!==o.length&&o.shift(),t(o,r)||(e=>{if(n.test(e)){let r=n.exec(e)[1],o=r?.substring(0,r.indexOf(":"));if(o)return"arbitrary.."+o}})(e)},getConflictingClassGroupIds:(e,r)=>{let t=o[e]||[];return r&&s[e]?[...t,...s[e]]:t}}})(c)}).cache.get,i=o.cache.set,u=b,b(d)};function b(e){let r=s(e);if(r)return r;let t=((e,r)=>{let{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:n}=r,l=[],s=e.trim().split(c),i="";for(let e=s.length-1;e>=0;e-=1){let r=s[e],{modifiers:a,hasImportantModifier:c,baseClassName:p,maybePostfixModifierPosition:u}=o(r),b=!!u,f=t(b?p.substring(0,u):p);if(!f){if(!b||!(f=t(p))){i=r+(i.length>0?" "+i:i);continue}b=!1}let m=d(a).join(":"),g=c?m+"!":m,h=g+f;if(l.includes(h))continue;l.push(h);let y=n(f,b);for(let e=0;e<y.length;++e){let r=y[e];l.push(g+r)}i=r+(i.length>0?" "+i:i)}return i})(e,o);return i(e,t),t}return function(){return u(p.apply(null,arguments))}}(()=>{let e=b("colors"),r=b("spacing"),o=b("blur"),t=b("brightness"),n=b("borderColor"),l=b("borderRadius"),s=b("borderSpacing"),i=b("borderWidth"),a=b("contrast"),d=b("grayscale"),c=b("hueRotate"),p=b("invert"),u=b("gap"),f=b("gradientColorStops"),m=b("gradientColorStopPositions"),g=b("inset"),h=b("margin"),y=b("opacity"),x=b("padding"),v=b("saturate"),w=b("scale"),_=b("sepia"),R=b("skew"),M=b("space"),A=b("translate"),T=()=>["auto","contain","none"],V=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto",N,r],q=()=>[N,r],F=()=>["",k,z],L=()=>["auto",j,N],B=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],Q=()=>["solid","dashed","dotted","double","none"],Z=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],H=()=>["start","end","center","between","around","evenly","stretch"],J=()=>["","0",N],K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],U=()=>[j,N];return{cacheSize:500,separator:":",theme:{colors:[W],spacing:[k,z],blur:["none","",P,N],brightness:U(),borderColor:[e],borderRadius:["none","","full",P,N],borderSpacing:q(),borderWidth:F(),contrast:U(),grayscale:J(),hueRotate:U(),invert:J(),gap:q(),gradientColorStops:[e],gradientColorStopPositions:[E,z],inset:D(),margin:D(),opacity:U(),padding:q(),saturate:U(),scale:U(),sepia:J(),skew:U(),space:q(),translate:q()},classGroups:{aspect:[{aspect:["auto","square","video",N]}],container:["container"],columns:[{columns:[P]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...B(),N]}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:T()}],"overscroll-x":[{"overscroll-x":T()}],"overscroll-y":[{"overscroll-y":T()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[g]}],"inset-x":[{"inset-x":[g]}],"inset-y":[{"inset-y":[g]}],start:[{start:[g]}],end:[{end:[g]}],top:[{top:[g]}],right:[{right:[g]}],bottom:[{bottom:[g]}],left:[{left:[g]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",S,N]}],basis:[{basis:D()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",N]}],grow:[{grow:J()}],shrink:[{shrink:J()}],order:[{order:["first","last","none",S,N]}],"grid-cols":[{"grid-cols":[W]}],"col-start-end":[{col:["auto",{span:["full",S,N]},N]}],"col-start":[{"col-start":L()}],"col-end":[{"col-end":L()}],"grid-rows":[{"grid-rows":[W]}],"row-start-end":[{row:["auto",{span:[S,N]},N]}],"row-start":[{"row-start":L()}],"row-end":[{"row-end":L()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",N]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",N]}],gap:[{gap:[u]}],"gap-x":[{"gap-x":[u]}],"gap-y":[{"gap-y":[u]}],"justify-content":[{justify:["normal",...H()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...H(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...H(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[x]}],px:[{px:[x]}],py:[{py:[x]}],ps:[{ps:[x]}],pe:[{pe:[x]}],pt:[{pt:[x]}],pr:[{pr:[x]}],pb:[{pb:[x]}],pl:[{pl:[x]}],m:[{m:[h]}],mx:[{mx:[h]}],my:[{my:[h]}],ms:[{ms:[h]}],me:[{me:[h]}],mt:[{mt:[h]}],mr:[{mr:[h]}],mb:[{mb:[h]}],ml:[{ml:[h]}],"space-x":[{"space-x":[M]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[M]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",N,r]}],"min-w":[{"min-w":[N,r,"min","max","fit"]}],"max-w":[{"max-w":[N,r,"none","full","min","max","fit","prose",{screen:[P]},P]}],h:[{h:[N,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[N,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[N,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[N,r,"auto","min","max","fit"]}],"font-size":[{text:["base",P,z]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",C]}],"font-family":[{font:[W]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",N]}],"line-clamp":[{"line-clamp":["none",j,C]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",k,N]}],"list-image":[{"list-image":["none",N]}],"list-style-type":[{list:["none","disc","decimal",N]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[y]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Q(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",k,z]}],"underline-offset":[{"underline-offset":["auto",k,N]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:q()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",N]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",N]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[y]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...B(),$]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",G]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},I]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[f]}],"gradient-via":[{via:[f]}],"gradient-to":[{to:[f]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[y]}],"border-style":[{border:[...Q(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[y]}],"divide-style":[{divide:Q()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...Q()]}],"outline-offset":[{"outline-offset":[k,N]}],"outline-w":[{outline:[k,z]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[y]}],"ring-offset-w":[{"ring-offset":[k,z]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",P,O]}],"shadow-color":[{shadow:[W]}],opacity:[{opacity:[y]}],"mix-blend":[{"mix-blend":[...Z(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Z()}],filter:[{filter:["","none"]}],blur:[{blur:[o]}],brightness:[{brightness:[t]}],contrast:[{contrast:[a]}],"drop-shadow":[{"drop-shadow":["","none",P,N]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[p]}],saturate:[{saturate:[v]}],sepia:[{sepia:[_]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[o]}],"backdrop-brightness":[{"backdrop-brightness":[t]}],"backdrop-contrast":[{"backdrop-contrast":[a]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[p]}],"backdrop-opacity":[{"backdrop-opacity":[y]}],"backdrop-saturate":[{"backdrop-saturate":[v]}],"backdrop-sepia":[{"backdrop-sepia":[_]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[s]}],"border-spacing-x":[{"border-spacing-x":[s]}],"border-spacing-y":[{"border-spacing-y":[s]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",N]}],duration:[{duration:U()}],ease:[{ease:["linear","in","out","in-out",N]}],delay:[{delay:U()}],animate:[{animate:["none","spin","ping","pulse","bounce",N]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[w]}],"scale-x":[{"scale-x":[w]}],"scale-y":[{"scale-y":[w]}],rotate:[{rotate:[S,N]}],"translate-x":[{"translate-x":[A]}],"translate-y":[{"translate-y":[A]}],"skew-x":[{"skew-x":[R]}],"skew-y":[{"skew-y":[R]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",N]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",N]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":q()}],"scroll-mx":[{"scroll-mx":q()}],"scroll-my":[{"scroll-my":q()}],"scroll-ms":[{"scroll-ms":q()}],"scroll-me":[{"scroll-me":q()}],"scroll-mt":[{"scroll-mt":q()}],"scroll-mr":[{"scroll-mr":q()}],"scroll-mb":[{"scroll-mb":q()}],"scroll-ml":[{"scroll-ml":q()}],"scroll-p":[{"scroll-p":q()}],"scroll-px":[{"scroll-px":q()}],"scroll-py":[{"scroll-py":q()}],"scroll-ps":[{"scroll-ps":q()}],"scroll-pe":[{"scroll-pe":q()}],"scroll-pt":[{"scroll-pt":q()}],"scroll-pr":[{"scroll-pr":q()}],"scroll-pb":[{"scroll-pb":q()}],"scroll-pl":[{"scroll-pl":q()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",N]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[k,z,C]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}})},71024:(e,r,o)=>{o.d(r,{s:()=>s,t:()=>l});var t=o(99356);function n(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}function l(...e){return r=>{let o=!1,t=e.map(e=>{let t=n(e,r);return o||"function"!=typeof t||(o=!0),t});if(o)return()=>{for(let r=0;r<t.length;r++){let o=t[r];"function"==typeof o?o():n(e[r],null)}}}}function s(...e){return t.useCallback(l(...e),e)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6785],{13779:(e,r,t)=>{t.d(r,{C:()=>i});var n=t(99356),o=t(71024),l=t(14989),i=e=>{let{present:r,children:t}=e,i=function(e){var r,t;let[o,i]=n.useState(),s=n.useRef(null),u=n.useRef(e),c=n.useRef("none"),[d,f]=(r=e?"mounted":"unmounted",t={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},n.useReducer((e,r)=>{let n=t[e][r];return null!=n?n:e},r));return n.useEffect(()=>{let e=a(s.current);c.current="mounted"===d?e:"none"},[d]),(0,l.N)(()=>{let r=s.current,t=u.current;if(t!==e){let n=c.current,o=a(r);e?f("MOUNT"):"none"===o||(null==r?void 0:r.display)==="none"?f("UNMOUNT"):t&&n!==o?f("ANIMATION_OUT"):f("UNMOUNT"),u.current=e}},[e,f]),(0,l.N)(()=>{if(o){var e;let r,t=null!=(e=o.ownerDocument.defaultView)?e:window,n=e=>{let n=a(s.current).includes(CSS.escape(e.animationName));if(e.target===o&&n&&(f("ANIMATION_END"),!u.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",r=t.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},l=e=>{e.target===o&&(c.current=a(s.current))};return o.addEventListener("animationstart",l),o.addEventListener("animationcancel",n),o.addEventListener("animationend",n),()=>{t.clearTimeout(r),o.removeEventListener("animationstart",l),o.removeEventListener("animationcancel",n),o.removeEventListener("animationend",n)}}f("ANIMATION_END")},[o,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:n.useCallback(e=>{s.current=e?getComputedStyle(e):null,i(e)},[])}}(r),s="function"==typeof t?t({present:i.isPresent}):n.Children.only(t),u=(0,o.s)(i.ref,function(e){var r,t;let n=null==(r=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:r.get,o=n&&"isReactWarning"in n&&n.isReactWarning;return o?e.ref:(o=(n=null==(t=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:t.get)&&"isReactWarning"in n&&n.isReactWarning)?e.props.ref:e.props.ref||e.ref}(s));return"function"==typeof t||i.isPresent?n.cloneElement(s,{ref:u}):null};function a(e){return(null==e?void 0:e.animationName)||"none"}i.displayName="Presence"},14884:(e,r,t)=>{t.r(r),t.d(r,{Corner:()=>J,Root:()=>V,ScrollArea:()=>g,ScrollAreaCorner:()=>U,ScrollAreaScrollbar:()=>C,ScrollAreaThumb:()=>O,ScrollAreaViewport:()=>y,Scrollbar:()=>q,Thumb:()=>B,Viewport:()=>G,createScrollAreaScope:()=>w});var n=t(99356),o=t(38339),l=t(13779),i=t(21120),a=t(71024),s=t(43565),u=t(55211),c=t(14989),d=t(81664),f=t(32594),p=t(4624),v="ScrollArea",[h,w]=(0,i.A)(v),[m,b]=h(v),g=n.forwardRef((e,r)=>{let{__scopeScrollArea:t,type:l="hover",dir:i,scrollHideDelay:s=600,...c}=e,[d,f]=n.useState(null),[v,h]=n.useState(null),[w,b]=n.useState(null),[g,S]=n.useState(null),[y,E]=n.useState(null),[C,T]=n.useState(0),[x,N]=n.useState(0),[R,P]=n.useState(!1),[L,_]=n.useState(!1),A=(0,a.s)(r,e=>f(e)),j=(0,u.jH)(i);return(0,p.jsx)(m,{scope:t,type:l,dir:j,scrollHideDelay:s,scrollArea:d,viewport:v,onViewportChange:h,content:w,onContentChange:b,scrollbarX:g,onScrollbarXChange:S,scrollbarXEnabled:R,onScrollbarXEnabledChange:P,scrollbarY:y,onScrollbarYChange:E,scrollbarYEnabled:L,onScrollbarYEnabledChange:_,onCornerWidthChange:T,onCornerHeightChange:N,children:(0,p.jsx)(o.sG.div,{dir:j,...c,ref:A,style:{position:"relative","--radix-scroll-area-corner-width":C+"px","--radix-scroll-area-corner-height":x+"px",...e.style}})})});g.displayName=v;var S="ScrollAreaViewport",y=n.forwardRef((e,r)=>{let{__scopeScrollArea:t,children:l,nonce:i,...s}=e,u=b(S,t),c=n.useRef(null),d=(0,a.s)(r,c,u.onViewportChange);return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,p.jsx)(o.sG.div,{"data-radix-scroll-area-viewport":"",...s,ref:d,style:{overflowX:u.scrollbarXEnabled?"scroll":"hidden",overflowY:u.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,p.jsx)("div",{ref:u.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});y.displayName=S;var E="ScrollAreaScrollbar",C=n.forwardRef((e,r)=>{let{forceMount:t,...o}=e,l=b(E,e.__scopeScrollArea),{onScrollbarXEnabledChange:i,onScrollbarYEnabledChange:a}=l,s="horizontal"===e.orientation;return n.useEffect(()=>(s?i(!0):a(!0),()=>{s?i(!1):a(!1)}),[s,i,a]),"hover"===l.type?(0,p.jsx)(T,{...o,ref:r,forceMount:t}):"scroll"===l.type?(0,p.jsx)(x,{...o,ref:r,forceMount:t}):"auto"===l.type?(0,p.jsx)(N,{...o,ref:r,forceMount:t}):"always"===l.type?(0,p.jsx)(R,{...o,ref:r}):null});C.displayName=E;var T=n.forwardRef((e,r)=>{let{forceMount:t,...o}=e,i=b(E,e.__scopeScrollArea),[a,s]=n.useState(!1);return n.useEffect(()=>{let e=i.scrollArea,r=0;if(e){let t=()=>{window.clearTimeout(r),s(!0)},n=()=>{r=window.setTimeout(()=>s(!1),i.scrollHideDelay)};return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",n)}}},[i.scrollArea,i.scrollHideDelay]),(0,p.jsx)(l.C,{present:t||a,children:(0,p.jsx)(N,{"data-state":a?"visible":"hidden",...o,ref:r})})}),x=n.forwardRef((e,r)=>{var t;let{forceMount:o,...i}=e,a=b(E,e.__scopeScrollArea),s="horizontal"===e.orientation,u=$(()=>d("SCROLL_END"),100),[c,d]=(t={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},n.useReducer((e,r)=>{let n=t[e][r];return null!=n?n:e},"hidden"));return n.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>d("HIDE"),a.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,a.scrollHideDelay,d]),n.useEffect(()=>{let e=a.viewport,r=s?"scrollLeft":"scrollTop";if(e){let t=e[r],n=()=>{let n=e[r];t!==n&&(d("SCROLL"),u()),t=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[a.viewport,s,d,u]),(0,p.jsx)(l.C,{present:o||"hidden"!==c,children:(0,p.jsx)(R,{"data-state":"hidden"===c?"hidden":"visible",...i,ref:r,onPointerEnter:(0,f.mK)(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:(0,f.mK)(e.onPointerLeave,()=>d("POINTER_LEAVE"))})})}),N=n.forwardRef((e,r)=>{let t=b(E,e.__scopeScrollArea),{forceMount:o,...i}=e,[a,s]=n.useState(!1),u="horizontal"===e.orientation,c=$(()=>{if(t.viewport){let e=t.viewport.offsetWidth<t.viewport.scrollWidth,r=t.viewport.offsetHeight<t.viewport.scrollHeight;s(u?e:r)}},10);return K(t.viewport,c),K(t.content,c),(0,p.jsx)(l.C,{present:o||a,children:(0,p.jsx)(R,{"data-state":a?"visible":"hidden",...i,ref:r})})}),R=n.forwardRef((e,r)=>{let{orientation:t="vertical",...o}=e,l=b(E,e.__scopeScrollArea),i=n.useRef(null),a=n.useRef(0),[s,u]=n.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=H(s.viewport,s.content),d={...o,sizes:s,onSizesChange:u,hasThumb:!!(c>0&&c<1),onThumbChange:e=>i.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function f(e,r){return function(e,r,t){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"ltr",o=k(t),l=r||o/2,i=t.scrollbar.paddingStart+l,a=t.scrollbar.size-t.scrollbar.paddingEnd-(o-l),s=t.content-t.viewport;return Y([i,a],"ltr"===n?[0,s]:[-1*s,0])(e)}(e,a.current,s,r)}return"horizontal"===t?(0,p.jsx)(P,{...d,ref:r,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=X(l.viewport.scrollLeft,s,l.dir);i.current.style.transform="translate3d(".concat(e,"px, 0, 0)")}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollLeft=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollLeft=f(e,l.dir))}}):"vertical"===t?(0,p.jsx)(L,{...d,ref:r,onThumbPositionChange:()=>{if(l.viewport&&i.current){let e=X(l.viewport.scrollTop,s);i.current.style.transform="translate3d(0, ".concat(e,"px, 0)")}},onWheelScroll:e=>{l.viewport&&(l.viewport.scrollTop=e)},onDragScroll:e=>{l.viewport&&(l.viewport.scrollTop=f(e))}}):null}),P=n.forwardRef((e,r)=>{let{sizes:t,onSizesChange:o,...l}=e,i=b(E,e.__scopeScrollArea),[s,u]=n.useState(),c=n.useRef(null),d=(0,a.s)(r,c,i.onScrollbarXChange);return n.useEffect(()=>{c.current&&u(getComputedStyle(c.current))},[c]),(0,p.jsx)(j,{"data-orientation":"horizontal",...l,ref:d,sizes:t,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":k(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(i.viewport){let n=i.viewport.scrollLeft+r.deltaX;e.onWheelScroll(n),function(e,r){return e>0&&e<r}(n,t)&&r.preventDefault()}},onResize:()=>{c.current&&i.viewport&&s&&o({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:z(s.paddingLeft),paddingEnd:z(s.paddingRight)}})}})}),L=n.forwardRef((e,r)=>{let{sizes:t,onSizesChange:o,...l}=e,i=b(E,e.__scopeScrollArea),[s,u]=n.useState(),c=n.useRef(null),d=(0,a.s)(r,c,i.onScrollbarYChange);return n.useEffect(()=>{c.current&&u(getComputedStyle(c.current))},[c]),(0,p.jsx)(j,{"data-orientation":"vertical",...l,ref:d,sizes:t,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":k(t)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(i.viewport){let n=i.viewport.scrollTop+r.deltaY;e.onWheelScroll(n),function(e,r){return e>0&&e<r}(n,t)&&r.preventDefault()}},onResize:()=>{c.current&&i.viewport&&s&&o({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:z(s.paddingTop),paddingEnd:z(s.paddingBottom)}})}})}),[_,A]=h(E),j=n.forwardRef((e,r)=>{let{__scopeScrollArea:t,sizes:l,hasThumb:i,onThumbChange:u,onThumbPointerUp:c,onThumbPointerDown:d,onThumbPositionChange:v,onDragScroll:h,onWheelScroll:w,onResize:m,...g}=e,S=b(E,t),[y,C]=n.useState(null),T=(0,a.s)(r,e=>C(e)),x=n.useRef(null),N=n.useRef(""),R=S.viewport,P=l.content-l.viewport,L=(0,s.c)(w),A=(0,s.c)(v),j=$(m,10);function D(e){x.current&&h({x:e.clientX-x.current.left,y:e.clientY-x.current.top})}return n.useEffect(()=>{let e=e=>{let r=e.target;(null==y?void 0:y.contains(r))&&L(e,P)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[R,y,P,L]),n.useEffect(A,[l,A]),K(y,j),K(S.content,j),(0,p.jsx)(_,{scope:t,scrollbar:y,hasThumb:i,onThumbChange:(0,s.c)(u),onThumbPointerUp:(0,s.c)(c),onThumbPositionChange:A,onThumbPointerDown:(0,s.c)(d),children:(0,p.jsx)(o.sG.div,{...g,ref:T,style:{position:"absolute",...g.style},onPointerDown:(0,f.mK)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),x.current=y.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",S.viewport&&(S.viewport.style.scrollBehavior="auto"),D(e))}),onPointerMove:(0,f.mK)(e.onPointerMove,D),onPointerUp:(0,f.mK)(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=N.current,S.viewport&&(S.viewport.style.scrollBehavior=""),x.current=null})})})}),D="ScrollAreaThumb",O=n.forwardRef((e,r)=>{let{forceMount:t,...n}=e,o=A(D,e.__scopeScrollArea);return(0,p.jsx)(l.C,{present:t||o.hasThumb,children:(0,p.jsx)(M,{ref:r,...n})})}),M=n.forwardRef((e,r)=>{let{__scopeScrollArea:t,style:l,...i}=e,s=b(D,t),u=A(D,t),{onThumbPositionChange:c}=u,d=(0,a.s)(r,e=>u.onThumbChange(e)),v=n.useRef(void 0),h=$(()=>{v.current&&(v.current(),v.current=void 0)},100);return n.useEffect(()=>{let e=s.viewport;if(e){let r=()=>{h(),v.current||(v.current=F(e,c),c())};return c(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[s.viewport,h,c]),(0,p.jsx)(o.sG.div,{"data-state":u.hasThumb?"visible":"hidden",...i,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:(0,f.mK)(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),t=e.clientX-r.left,n=e.clientY-r.top;u.onThumbPointerDown({x:t,y:n})}),onPointerUp:(0,f.mK)(e.onPointerUp,u.onThumbPointerUp)})});O.displayName=D;var I="ScrollAreaCorner",U=n.forwardRef((e,r)=>{let t=b(I,e.__scopeScrollArea),n=!!(t.scrollbarX&&t.scrollbarY);return"scroll"!==t.type&&n?(0,p.jsx)(W,{...e,ref:r}):null});U.displayName=I;var W=n.forwardRef((e,r)=>{let{__scopeScrollArea:t,...l}=e,i=b(I,t),[a,s]=n.useState(0),[u,c]=n.useState(0),d=!!(a&&u);return K(i.scrollbarX,()=>{var e;let r=(null==(e=i.scrollbarX)?void 0:e.offsetHeight)||0;i.onCornerHeightChange(r),c(r)}),K(i.scrollbarY,()=>{var e;let r=(null==(e=i.scrollbarY)?void 0:e.offsetWidth)||0;i.onCornerWidthChange(r),s(r)}),d?(0,p.jsx)(o.sG.div,{...l,ref:r,style:{width:a,height:u,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null});function z(e){return e?parseInt(e,10):0}function H(e,r){let t=e/r;return isNaN(t)?0:t}function k(e){let r=H(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-t)*r,18)}function X(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"ltr",n=k(r),o=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=r.scrollbar.size-o,i=r.content-r.viewport,a=(0,d.q)(e,"ltr"===t?[0,i]:[-1*i,0]);return Y([0,i],[0,l-n])(a)}function Y(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let n=(r[1]-r[0])/(e[1]-e[0]);return r[0]+n*(t-e[0])}}var F=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:()=>{},t={left:e.scrollLeft,top:e.scrollTop},n=0;return!function o(){let l={left:e.scrollLeft,top:e.scrollTop},i=t.left!==l.left,a=t.top!==l.top;(i||a)&&r(),t=l,n=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(n)};function $(e,r){let t=(0,s.c)(e),o=n.useRef(0);return n.useEffect(()=>()=>window.clearTimeout(o.current),[]),n.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(t,r)},[t,r])}function K(e,r){let t=(0,s.c)(r);(0,c.N)(()=>{let r=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return n.observe(e),()=>{window.cancelAnimationFrame(r),n.unobserve(e)}}},[e,t])}var V=g,G=y,q=C,B=O,J=U},14989:(e,r,t)=>{t.d(r,{N:()=>o});var n=t(99356),o=globalThis?.document?n.useLayoutEffect:()=>{}},21120:(e,r,t)=>{t.d(r,{A:()=>i,q:()=>l});var n=t(99356),o=t(4624);function l(e,r){let t=n.createContext(r),l=e=>{let{children:r,...l}=e,i=n.useMemo(()=>l,Object.values(l));return(0,o.jsx)(t.Provider,{value:i,children:r})};return l.displayName=e+"Provider",[l,function(o){let l=n.useContext(t);if(l)return l;if(void 0!==r)return r;throw Error(`\`${o}\` must be used within \`${e}\``)}]}function i(e,r=[]){let t=[],l=()=>{let r=t.map(e=>n.createContext(e));return function(t){let o=t?.[e]||r;return n.useMemo(()=>({[`__scope${e}`]:{...t,[e]:o}}),[t,o])}};return l.scopeName=e,[function(r,l){let i=n.createContext(l),a=t.length;t=[...t,l];let s=r=>{let{scope:t,children:l,...s}=r,u=t?.[e]?.[a]||i,c=n.useMemo(()=>s,Object.values(s));return(0,o.jsx)(u.Provider,{value:c,children:l})};return s.displayName=r+"Provider",[s,function(t,o){let s=o?.[e]?.[a]||i,u=n.useContext(s);if(u)return u;if(void 0!==l)return l;throw Error(`\`${t}\` must be used within \`${r}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let t=()=>{let t=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=t.reduce((r,{useScope:t,scopeName:n})=>{let o=t(e)[`__scope${n}`];return{...r,...o}},{});return n.useMemo(()=>({[`__scope${r.scopeName}`]:o}),[o])}};return t.scopeName=r.scopeName,t}(l,...r)]}},32594:(e,r,t)=>{function n(e,r,{checkForDefaultPrevented:t=!0}={}){return function(n){if(e?.(n),!1===t||!n.defaultPrevented)return r?.(n)}}t.d(r,{mK:()=>n}),"undefined"!=typeof window&&window.document&&window.document.createElement},38339:(e,r,t)=>{t.d(r,{bL:()=>u,hO:()=>s,sG:()=>a});var n=t(99356),o=t(16973),l=t(50362),i=t(4624),a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let t=(0,l.TL)(`Primitive.${r}`),o=n.forwardRef((e,n)=>{let{asChild:o,...l}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,i.jsx)(o?t:r,{...l,ref:n})});return o.displayName=`Primitive.${r}`,{...e,[r]:o}},{});function s(e,r){e&&o.flushSync(()=>e.dispatchEvent(r))}var u=a},43565:(e,r,t)=>{t.d(r,{c:()=>o});var n=t(99356);function o(e){let r=n.useRef(e);return n.useEffect(()=>{r.current=e}),n.useMemo(()=>(...e)=>r.current?.(...e),[])}},44188:(e,r,t)=>{t.d(r,{b:()=>u});var n=t(99356),o=t(38339),l=t(4624),i="horizontal",a=["horizontal","vertical"],s=n.forwardRef((e,r)=>{var t;let{decorative:n,orientation:s=i,...u}=e,c=(t=s,a.includes(t))?s:i;return(0,l.jsx)(o.sG.div,{"data-orientation":c,...n?{role:"none"}:{"aria-orientation":"vertical"===c?c:void 0,role:"separator"},...u,ref:r})});s.displayName="Separator";var u=s},55211:(e,r,t)=>{t.d(r,{jH:()=>l});var n=t(99356);t(4624);var o=n.createContext(void 0);function l(e){let r=n.useContext(o);return e||r||"ltr"}},81664:(e,r,t)=>{t.d(r,{q:()=>n});function n(e,[r,t]){return Math.min(t,Math.max(r,e))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[951],{3239:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},8096:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]])},9923:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},39624:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]])},40805:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]])},41085:(e,a,t)=>{t.d(a,{D:()=>y});var l=t(99356),d=l.createContext(void 0),h={setTheme:e=>{},themes:[]},y=()=>{var e;return null!=(e=l.useContext(d))?e:h}},42146:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]])},42795:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},46972:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]])},49623:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},50469:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]])},50988:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},52713:(e,a,t)=>{t.d(a,{default:()=>h});var l=t(91839),d=t(4624);function h(e){let{locale:a,...t}=e;if(!a)throw Error(void 0);return(0,d.jsx)(l.Dk,{locale:a,...t})}},53296:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("FileSearch",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]])},58726:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},60621:(e,a,t)=>{t.d(a,{F:()=>y});var l=t(47989);let d=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,h=l.$,y=(e,a)=>t=>{var l;if((null==a?void 0:a.variants)==null)return h(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:y,defaultVariants:r}=a,k=Object.keys(y).map(e=>{let a=null==t?void 0:t[e],l=null==r?void 0:r[e];if(null===a)return null;let h=d(a)||d(l);return y[e][h]}),p=t&&Object.entries(t).reduce((e,a)=>{let[t,l]=a;return void 0===l||(e[t]=l),e},{});return h(e,k,null==a||null==(l=a.compoundVariants)?void 0:l.reduce((e,a)=>{let{class:t,className:l,...d}=a;return Object.entries(d).every(e=>{let[a,t]=e;return Array.isArray(t)?t.includes({...r,...p}[a]):({...r,...p})[a]===t})?[...e,t,l]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)}},63622:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},69205:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},69259:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("OctagonX",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},69285:(e,a,t)=>{var l=t(48849);t.o(l,"usePathname")&&t.d(a,{usePathname:function(){return l.usePathname}}),t.o(l,"useRouter")&&t.d(a,{useRouter:function(){return l.useRouter}})},69709:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},70762:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},72754:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},79182:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]])},85924:(e,a,t)=>{t.d(a,{A:()=>l});let l=(0,t(45804).A)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3964],{13506:(e,t,r)=>{"use strict";r.d(t,{cn:()=>i});var s=r(47989),n=r(55701);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.QP)((0,s.$)(t))}},40284:(e,t,r)=>{"use strict";r.d(t,{AgentEventStream:()=>o});var s=r(4624),n=r(99356),i=r(49411);function o(e){let{agentId:t,rootId:r,topicId:o,initialEvents:l}=e,c=(0,i.c)("app"),[d,m]=(0,n.useState)(l),h=(0,n.useRef)(l.length>0?l[l.length-1].seq:-1);return(0,n.useEffect)(()=>{let e=new AbortController,s=!1;return(async()=>{try{let n=await fetch("/api/roots/".concat(r,"/chat/").concat(o,"/stream?since=").concat(h.current),{signal:e.signal});if(!n.ok||!n.body)return;let i=n.body.getReader(),a=new TextDecoder,l="";for(;!s;){let{done:e,value:r}=await i.read();if(e)break;for(let e of(l+=a.decode(r,{stream:!0}),function(e){let t=[];for(;;){let r=e.indexOf("\n\n");if(r<0)break;let s=e.slice(0,r);e=e.slice(r+2);let n="message",i="";for(let e of s.split(/\r?\n/))!e.startsWith(":")&&(e.startsWith("event:")?n=e.slice(6).trim():e.startsWith("data:")&&(i+=e.slice(5).trimStart()));let o=null;try{o=i?JSON.parse(i):null}catch(e){o=null}t.push({event:n,data:o,rest:e})}return t}(l))){if(l=e.rest,"event"!==e.event||!e.data)continue;let r=e.data;r.agentId===t&&(r.seq<=h.current||(h.current=r.seq,m(e=>[...e,r])))}}}catch(e){}})(),()=>{s=!0,e.abort()}},[t,r,o]),(0,s.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,s.jsx)("div",{className:"mx-auto max-w-3xl px-6 py-6 space-y-2",children:0===d.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground italic",children:c("agents.noEvents")}):d.map(e=>(0,s.jsx)(a,{event:e},e.seq))})})}function a(e){let{event:t}=e,r=new Date(t.ts).toLocaleTimeString();if("agent-start"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"agent-start"}),(0,s.jsxs)("p",{className:"text-xs",children:[t.meta.role," \xb7 ",t.meta.harness," \xb7 ",t.meta.model]})]});if("agent-end"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"agent-end (".concat(t.status,")")}),t.error&&(0,s.jsx)("p",{className:"text-xs text-destructive",children:t.error})]});if("turn-start"===t.type)return(0,s.jsx)(l,{children:(0,s.jsx)(c,{time:r,type:"turn-start (".concat(t.turnId,")")})});if("turn-end"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"turn-end (".concat(t.status,")")}),t.error&&(0,s.jsx)("p",{className:"text-xs text-destructive",children:t.error})]});if("user-message"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"user-message"}),(0,s.jsx)("pre",{className:"text-xs whitespace-pre-wrap",children:t.text})]});if("assistant-delta"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"assistant-delta"}),(0,s.jsx)("pre",{className:"text-xs whitespace-pre-wrap",children:t.text})]});if("tool-use"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"tool-use: ".concat(t.name)}),(0,s.jsx)("pre",{className:"text-[11px] whitespace-pre-wrap font-mono",children:JSON.stringify(t.input,null,2)})]});if("tool-result"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"tool-result".concat(t.isError?" (error)":"")}),(0,s.jsx)("pre",{className:"text-[11px] whitespace-pre-wrap font-mono max-h-64 overflow-y-auto",children:t.content})]});if("system"===t.type){var n;return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"system: ".concat(null!=(n=t.subtype)?n:"system")}),(0,s.jsx)("pre",{className:"text-xs whitespace-pre-wrap",children:t.text})]})}return"error"===t.type?(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"error"}),(0,s.jsx)("pre",{className:"text-xs text-destructive whitespace-pre-wrap",children:t.message})]}):null}function l(e){let{children:t}=e;return(0,s.jsx)("div",{className:"rounded-md border bg-muted/20 p-3",children:t})}function c(e){let{time:t,type:r}=e;return(0,s.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground mb-1 flex items-center gap-2",children:[(0,s.jsx)("span",{className:"font-mono",children:t}),(0,s.jsx)("span",{children:r})]})}},58458:(e,t,r)=>{Promise.resolve().then(r.bind(r,40284)),Promise.resolve().then(r.bind(r,91074)),Promise.resolve().then(r.bind(r,96253)),Promise.resolve().then(r.bind(r,28050)),Promise.resolve().then(r.bind(r,94904)),Promise.resolve().then(r.bind(r,13270)),Promise.resolve().then(r.bind(r,99730)),Promise.resolve().then(r.bind(r,89146)),Promise.resolve().then(r.bind(r,19078)),Promise.resolve().then(r.bind(r,67854)),Promise.resolve().then(r.bind(r,69050)),Promise.resolve().then(r.bind(r,63739)),Promise.resolve().then(r.bind(r,33976)),Promise.resolve().then(r.bind(r,12537)),Promise.resolve().then(r.bind(r,97485)),Promise.resolve().then(r.bind(r,41923)),Promise.resolve().then(r.bind(r,73868)),Promise.resolve().then(r.bind(r,53511)),Promise.resolve().then(r.bind(r,2018)),Promise.resolve().then(r.bind(r,18487)),Promise.resolve().then(r.bind(r,98346)),Promise.resolve().then(r.bind(r,14884)),Promise.resolve().then(r.bind(r,85314)),Promise.resolve().then(r.bind(r,17280)),Promise.resolve().then(r.bind(r,8855)),Promise.resolve().then(r.bind(r,86631)),Promise.resolve().then(r.bind(r,2604)),Promise.resolve().then(r.bind(r,27237)),Promise.resolve().then(r.bind(r,49455)),Promise.resolve().then(r.bind(r,39211)),Promise.resolve().then(r.bind(r,56360)),Promise.resolve().then(r.t.bind(r,54400,23))},91074:(e,t,r)=>{"use strict";r.d(t,{Separator:()=>o});var s=r(4624);r(99356);var n=r(44188),i=r(13506);function o(e){let{className:t,orientation:r="horizontal",decorative:o=!0,...a}=e;return(0,s.jsx)(n.b,{"data-slot":"separator",decorative:o,orientation:r,className:(0,i.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...a})}}},e=>{e.O(0,[4400,1217,9411,3335,4933,146,7358],()=>e(e.s=58458)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3964],{13506:(e,t,r)=>{"use strict";r.d(t,{cn:()=>i});var s=r(47989),n=r(55701);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.QP)((0,s.$)(t))}},40284:(e,t,r)=>{"use strict";r.d(t,{AgentEventStream:()=>o});var s=r(4624),n=r(99356),i=r(49411);function o(e){let{agentId:t,rootId:r,topicId:o,initialEvents:l}=e,c=(0,i.c)("app"),[d,m]=(0,n.useState)(l),h=(0,n.useRef)(l.length>0?l[l.length-1].seq:-1);return(0,n.useEffect)(()=>{let e=new AbortController,s=!1;return(async()=>{try{let n=await fetch("/api/roots/".concat(r,"/chat/").concat(o,"/stream?since=").concat(h.current),{signal:e.signal});if(!n.ok||!n.body)return;let i=n.body.getReader(),a=new TextDecoder,l="";for(;!s;){let{done:e,value:r}=await i.read();if(e)break;for(let e of(l+=a.decode(r,{stream:!0}),function(e){let t=[];for(;;){let r=e.indexOf("\n\n");if(r<0)break;let s=e.slice(0,r);e=e.slice(r+2);let n="message",i="";for(let e of s.split(/\r?\n/))!e.startsWith(":")&&(e.startsWith("event:")?n=e.slice(6).trim():e.startsWith("data:")&&(i+=e.slice(5).trimStart()));let o=null;try{o=i?JSON.parse(i):null}catch(e){o=null}t.push({event:n,data:o,rest:e})}return t}(l))){if(l=e.rest,"event"!==e.event||!e.data)continue;let r=e.data;r.agentId===t&&(r.seq<=h.current||(h.current=r.seq,m(e=>[...e,r])))}}}catch(e){}})(),()=>{s=!0,e.abort()}},[t,r,o]),(0,s.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,s.jsx)("div",{className:"mx-auto max-w-3xl px-6 py-6 space-y-2",children:0===d.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground italic",children:c("agents.noEvents")}):d.map(e=>(0,s.jsx)(a,{event:e},e.seq))})})}function a(e){let{event:t}=e,r=new Date(t.ts).toLocaleTimeString();if("agent-start"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"agent-start"}),(0,s.jsxs)("p",{className:"text-xs",children:[t.meta.role," \xb7 ",t.meta.harness," \xb7 ",t.meta.model]})]});if("agent-end"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"agent-end (".concat(t.status,")")}),t.error&&(0,s.jsx)("p",{className:"text-xs text-destructive",children:t.error})]});if("turn-start"===t.type)return(0,s.jsx)(l,{children:(0,s.jsx)(c,{time:r,type:"turn-start (".concat(t.turnId,")")})});if("turn-end"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"turn-end (".concat(t.status,")")}),t.error&&(0,s.jsx)("p",{className:"text-xs text-destructive",children:t.error})]});if("user-message"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"user-message"}),(0,s.jsx)("pre",{className:"text-xs whitespace-pre-wrap",children:t.text})]});if("assistant-delta"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"assistant-delta"}),(0,s.jsx)("pre",{className:"text-xs whitespace-pre-wrap",children:t.text})]});if("tool-use"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"tool-use: ".concat(t.name)}),(0,s.jsx)("pre",{className:"text-[11px] whitespace-pre-wrap font-mono",children:JSON.stringify(t.input,null,2)})]});if("tool-result"===t.type)return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"tool-result".concat(t.isError?" (error)":"")}),(0,s.jsx)("pre",{className:"text-[11px] whitespace-pre-wrap font-mono max-h-64 overflow-y-auto",children:t.content})]});if("system"===t.type){var n;return(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"system: ".concat(null!=(n=t.subtype)?n:"system")}),(0,s.jsx)("pre",{className:"text-xs whitespace-pre-wrap",children:t.text})]})}return"error"===t.type?(0,s.jsxs)(l,{children:[(0,s.jsx)(c,{time:r,type:"error"}),(0,s.jsx)("pre",{className:"text-xs text-destructive whitespace-pre-wrap",children:t.message})]}):null}function l(e){let{children:t}=e;return(0,s.jsx)("div",{className:"rounded-md border bg-muted/20 p-3",children:t})}function c(e){let{time:t,type:r}=e;return(0,s.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground mb-1 flex items-center gap-2",children:[(0,s.jsx)("span",{className:"font-mono",children:t}),(0,s.jsx)("span",{children:r})]})}},58458:(e,t,r)=>{Promise.resolve().then(r.bind(r,40284)),Promise.resolve().then(r.bind(r,91074)),Promise.resolve().then(r.bind(r,96253)),Promise.resolve().then(r.bind(r,28050)),Promise.resolve().then(r.bind(r,94904)),Promise.resolve().then(r.bind(r,13270)),Promise.resolve().then(r.bind(r,99730)),Promise.resolve().then(r.bind(r,89146)),Promise.resolve().then(r.bind(r,19078)),Promise.resolve().then(r.bind(r,67854)),Promise.resolve().then(r.bind(r,69050)),Promise.resolve().then(r.bind(r,63739)),Promise.resolve().then(r.bind(r,33976)),Promise.resolve().then(r.bind(r,12537)),Promise.resolve().then(r.bind(r,97485)),Promise.resolve().then(r.bind(r,41923)),Promise.resolve().then(r.bind(r,73868)),Promise.resolve().then(r.bind(r,53511)),Promise.resolve().then(r.bind(r,2018)),Promise.resolve().then(r.bind(r,18487)),Promise.resolve().then(r.bind(r,98346)),Promise.resolve().then(r.bind(r,14884)),Promise.resolve().then(r.bind(r,85314)),Promise.resolve().then(r.bind(r,17280)),Promise.resolve().then(r.bind(r,8855)),Promise.resolve().then(r.bind(r,86631)),Promise.resolve().then(r.bind(r,2604)),Promise.resolve().then(r.bind(r,27237)),Promise.resolve().then(r.bind(r,49455)),Promise.resolve().then(r.bind(r,39211)),Promise.resolve().then(r.bind(r,56360)),Promise.resolve().then(r.t.bind(r,54400,23))},91074:(e,t,r)=>{"use strict";r.d(t,{Separator:()=>o});var s=r(4624);r(99356);var n=r(44188),i=r(13506);function o(e){let{className:t,orientation:r="horizontal",decorative:o=!0,...a}=e;return(0,s.jsx)(n.b,{"data-slot":"separator",decorative:o,orientation:r,className:(0,i.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...a})}}},e=>{e.O(0,[4400,4678,6785,3335,9411,4933,146,7358],()=>e(e.s=58458)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2494],{13506:(e,r,n)=>{"use strict";n.d(r,{cn:()=>s});var o=n(47989),i=n(55701);function s(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];return(0,i.QP)((0,o.$)(r))}},32374:(e,r,n)=>{Promise.resolve().then(n.bind(n,91074)),Promise.resolve().then(n.bind(n,96253)),Promise.resolve().then(n.bind(n,28050)),Promise.resolve().then(n.bind(n,94904)),Promise.resolve().then(n.bind(n,13270)),Promise.resolve().then(n.bind(n,99730)),Promise.resolve().then(n.bind(n,89146)),Promise.resolve().then(n.bind(n,19078)),Promise.resolve().then(n.bind(n,67854)),Promise.resolve().then(n.bind(n,69050)),Promise.resolve().then(n.bind(n,63739)),Promise.resolve().then(n.bind(n,33976)),Promise.resolve().then(n.bind(n,12537)),Promise.resolve().then(n.bind(n,97485)),Promise.resolve().then(n.bind(n,41923)),Promise.resolve().then(n.bind(n,73868)),Promise.resolve().then(n.bind(n,53511)),Promise.resolve().then(n.bind(n,2018)),Promise.resolve().then(n.bind(n,18487)),Promise.resolve().then(n.bind(n,98346)),Promise.resolve().then(n.bind(n,14884)),Promise.resolve().then(n.bind(n,85314)),Promise.resolve().then(n.bind(n,17280)),Promise.resolve().then(n.bind(n,8855)),Promise.resolve().then(n.bind(n,86631)),Promise.resolve().then(n.bind(n,2604)),Promise.resolve().then(n.bind(n,27237)),Promise.resolve().then(n.bind(n,49455)),Promise.resolve().then(n.bind(n,39211)),Promise.resolve().then(n.bind(n,56360)),Promise.resolve().then(n.t.bind(n,54400,23))},91074:(e,r,n)=>{"use strict";n.d(r,{Separator:()=>t});var o=n(4624);n(99356);var i=n(44188),s=n(13506);function t(e){let{className:r,orientation:n="horizontal",decorative:t=!0,...l}=e;return(0,o.jsx)(i.b,{"data-slot":"separator",decorative:t,orientation:n,className:(0,s.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",r),...l})}}},e=>{e.O(0,[4400,1217,3335,4933,146,7358],()=>e(e.s=32374)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2494],{13506:(e,r,n)=>{"use strict";n.d(r,{cn:()=>s});var o=n(47989),i=n(55701);function s(){for(var e=arguments.length,r=Array(e),n=0;n<e;n++)r[n]=arguments[n];return(0,i.QP)((0,o.$)(r))}},32374:(e,r,n)=>{Promise.resolve().then(n.bind(n,91074)),Promise.resolve().then(n.bind(n,96253)),Promise.resolve().then(n.bind(n,28050)),Promise.resolve().then(n.bind(n,94904)),Promise.resolve().then(n.bind(n,13270)),Promise.resolve().then(n.bind(n,99730)),Promise.resolve().then(n.bind(n,89146)),Promise.resolve().then(n.bind(n,19078)),Promise.resolve().then(n.bind(n,67854)),Promise.resolve().then(n.bind(n,69050)),Promise.resolve().then(n.bind(n,63739)),Promise.resolve().then(n.bind(n,33976)),Promise.resolve().then(n.bind(n,12537)),Promise.resolve().then(n.bind(n,97485)),Promise.resolve().then(n.bind(n,41923)),Promise.resolve().then(n.bind(n,73868)),Promise.resolve().then(n.bind(n,53511)),Promise.resolve().then(n.bind(n,2018)),Promise.resolve().then(n.bind(n,18487)),Promise.resolve().then(n.bind(n,98346)),Promise.resolve().then(n.bind(n,14884)),Promise.resolve().then(n.bind(n,85314)),Promise.resolve().then(n.bind(n,17280)),Promise.resolve().then(n.bind(n,8855)),Promise.resolve().then(n.bind(n,86631)),Promise.resolve().then(n.bind(n,2604)),Promise.resolve().then(n.bind(n,27237)),Promise.resolve().then(n.bind(n,49455)),Promise.resolve().then(n.bind(n,39211)),Promise.resolve().then(n.bind(n,56360)),Promise.resolve().then(n.t.bind(n,54400,23))},91074:(e,r,n)=>{"use strict";n.d(r,{Separator:()=>t});var o=n(4624);n(99356);var i=n(44188),s=n(13506);function t(e){let{className:r,orientation:n="horizontal",decorative:t=!0,...l}=e;return(0,o.jsx)(i.b,{"data-slot":"separator",decorative:t,orientation:n,className:(0,s.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",r),...l})}}},e=>{e.O(0,[4400,4678,6785,3335,4933,146,7358],()=>e(e.s=32374)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{10965:(e,t,s)=>{"use strict";s.d(t,{L:()=>r});var a=s(7911);let r=(0,a.createServerReference)("6081720f36e94dafa7836c61674dcd8be6fd8bd73b",a.callServer,void 0,a.findSourceMapURL,"deleteTopicAction")},13506:(e,t,s)=>{"use strict";s.d(t,{cn:()=>n});var a=s(47989),r=s(55701);function n(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,r.QP)((0,a.$)(t))}},17848:(e,t,s)=>{Promise.resolve().then(s.bind(s,78147)),Promise.resolve().then(s.t.bind(s,60290,23)),Promise.resolve().then(s.bind(s,43450)),Promise.resolve().then(s.bind(s,52713))},43450:(e,t,s)=>{"use strict";s.d(t,{Toaster:()=>u});var a=s(4624),r=s(58726),n=s(42795),l=s(85924),i=s(69259),c=s(3239),o=s(41085),d=s(56221);let u=e=>{let{...t}=e,{theme:s="system"}=(0,o.D)();return(0,a.jsx)(d.l$,{theme:s,className:"toaster group",icons:{success:(0,a.jsx)(r.A,{className:"size-4"}),info:(0,a.jsx)(n.A,{className:"size-4"}),warning:(0,a.jsx)(l.A,{className:"size-4"}),error:(0,a.jsx)(i.A,{className:"size-4"}),loading:(0,a.jsx)(c.A,{className:"size-4 animate-spin"})},style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)","--border-radius":"var(--radius)"},...t})}},60290:()=>{},63514:(e,t,s)=>{"use strict";s.d(t,{$d:()=>n,S9:()=>l,Zi:()=>r});var a=s(99356);let r={rootsChanged:"reflex:roots-changed",topicsChanged:e=>"reflex:topics-changed:".concat(e),kbChanged:e=>"reflex:kb-changed:".concat(e)};function n(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function l(e,t){(0,a.useEffect)(()=>{let s=e=>t(e.detail);return window.addEventListener(e,s),()=>window.removeEventListener(e,s)},[e,t])}},78147:(e,t,s)=>{"use strict";s.d(t,{AppSidebar:()=>Z});var a=s(4624),r=s(99356),n=s(54400),l=s.n(n),i=s(69285),c=s(56221),o=s(49411),d=s(8096),u=s(72754),x=s(70762),h=s(69709),m=s(69205),p=s(9923),f=s(49623),g=s(3239),b=s(79182),j=s(42146),v=s(46972),N=s(10965),w=s(63514),y=s(80192),k=s(91074),A=s(85253),S=s(7911);let C=(0,S.createServerReference)("40f608a134f937841fe3b0620a8a855fbed390b5c8",S.callServer,void 0,S.findSourceMapURL,"loadKbSectionsAction"),z=(0,S.createServerReference)("403b5ac83783ce1d15094a808ef8171568eceb9f8c",S.callServer,void 0,S.findSourceMapURL,"loadTopicsAction"),R=(0,S.createServerReference)("4071bbf1d62097fef5a84206fa17c99d3acb795387",S.callServer,void 0,S.findSourceMapURL,"loadSidebarMemoryAction"),I=(0,S.createServerReference)("4053f7d7b7e4a6f56a57f40430b4916da392d408d6",S.callServer,void 0,S.findSourceMapURL,"loadSidebarUtilitiesAction"),E=(0,S.createServerReference)("0045423c17f1255f9d2a4e216442452deb3a0c2c4d",S.callServer,void 0,S.findSourceMapURL,"listRootsAction"),L=(0,S.createServerReference)("40dae49e9235ad1e4b655219b70ab53e609917a577",S.callServer,void 0,S.findSourceMapURL,"listAgentsAction");var U=s(39624),_=s(53296),P=s(50469),M=s(50988),T=s(63622),$=s(40805);function Z(e){let{initialRoots:t}=e,s=(0,i.usePathname)(),n=(0,o.c)("app"),[c,h]=(0,r.useState)(t),m=(0,r.useCallback)(async()=>{let e=await E();e.ok&&h(e.entries)},[]);return((0,w.S9)(w.Zi.rootsChanged,m),(null==s?void 0:s.startsWith("/share/"))||"/share"===s)?null:(0,a.jsxs)("aside",{className:"w-72 shrink-0 border-r bg-muted/30 flex flex-col",children:[(0,a.jsxs)("div",{className:"px-4 py-4 flex items-center gap-2 border-b",children:[(0,a.jsx)("span",{className:"reflex-gradient inline-flex h-7 w-7 items-center justify-center rounded-lg text-white shadow-sm",children:(0,a.jsx)(d.A,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:"leading-tight",children:[(0,a.jsx)(l(),{href:"/",className:"text-sm font-semibold tracking-tight hover:underline",children:"Reflex"}),(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:"knowledge base"})]})]}),(0,a.jsx)(y.F,{className:"flex-1",children:(0,a.jsxs)("nav",{className:"px-2 pt-3 pb-6",children:[(0,a.jsx)("div",{className:"px-2 mb-1 text-[10px] uppercase tracking-wider text-muted-foreground",children:n("sidebar.spaces")}),0===c.length?(0,a.jsx)("div",{className:"px-2 py-3 text-xs text-muted-foreground",children:n("sidebar.empty")}):(0,a.jsx)("ul",{className:"space-y-0.5",children:c.map(e=>{var t;return(0,a.jsx)(D,{root:e,active:null!=(t=null==s?void 0:s.startsWith("/roots/".concat(e.id)))&&t},e.id)})}),(0,a.jsx)("div",{className:"mt-2 px-2",children:(0,a.jsx)(A.$,{asChild:!0,variant:"ghost",size:"sm",className:"h-7 w-full justify-start text-xs",children:(0,a.jsxs)(l(),{href:"/roots/new",children:[(0,a.jsx)(u.A,{className:"mr-1 h-3.5 w-3.5"})," ",n("sidebar.addSpace")]})})})]})}),(0,a.jsx)(k.Separator,{}),(0,a.jsxs)("div",{className:"px-2 py-2 space-y-0.5",children:[(0,a.jsx)(A.$,{asChild:!0,variant:"/utilities"===s||(null==s?void 0:s.startsWith("/utilities/"))?"secondary":"ghost",size:"sm",className:"w-full justify-start",children:(0,a.jsxs)(l(),{href:"/utilities",children:[(0,a.jsx)(U.A,{className:"mr-2 h-4 w-4"})," ",n("sidebar.utilities")]})}),(0,a.jsx)(A.$,{asChild:!0,variant:"/audit"===s?"secondary":"ghost",size:"sm",className:"w-full justify-start",children:(0,a.jsxs)(l(),{href:"/audit",children:[(0,a.jsx)(_.A,{className:"mr-2 h-4 w-4"})," ",n("sidebar.audit")]})}),(0,a.jsx)(A.$,{asChild:!0,variant:"/settings"===s?"secondary":"ghost",size:"sm",className:"w-full justify-start",children:(0,a.jsxs)(l(),{href:"/settings",children:[(0,a.jsx)(x.A,{className:"mr-2 h-4 w-4"})," Settings"]})})]})]})}function D(e){let{root:t,active:s}=e,n=(0,o.c)("app"),[c,d]=(0,r.useState)(s),[u,x]=(0,r.useState)(!1),[j,v]=(0,r.useState)(!1),[N,y]=(0,r.useState)(!1),[k,A]=(0,r.useState)(!1),[S,E]=(0,r.useState)(!1),[_,T]=(0,r.useState)(null),[$,Z]=(0,r.useState)(null),[D,W]=(0,r.useState)(null),[O,K]=(0,r.useState)(null),[Q,q]=(0,r.useState)(null),[H,J]=(0,r.useState)(!1),[ee,et]=(0,r.useState)(!1),[es,ea]=(0,r.useState)(!1),[er,en]=(0,r.useState)(!1),[el,ei]=(0,r.useState)(!1),ec=(0,i.usePathname)();(0,r.useEffect)(()=>{s&&d(!0)},[s]);let eo=(0,r.useCallback)(async()=>{J(!0);let e=await C(t.id);J(!1),e.ok?T(e.sections):T([])},[t.id]),ed=(0,r.useCallback)(async()=>{ea(!0);let e=await z(t.id);ea(!1),e.ok?W(e.topics):W([])},[t.id]),eu=(0,r.useCallback)(async()=>{ei(!0);let e=await L({rootId:t.id});ei(!1),e.ok?q(e.agents):q([])},[t.id]),ex=(0,r.useCallback)(async()=>{et(!0);let e=await R(t.id);et(!1),e.ok?Z(e.files):Z([])},[t.id]),eh=(0,r.useCallback)(async()=>{en(!0);let e=await I(t.id);en(!1),e.ok?K(e.utilities):K([])},[t.id]);(0,w.S9)(w.Zi.kbChanged(t.id),()=>{u?eo():T(null)}),(0,w.S9)(w.Zi.topicsChanged(t.id),()=>{N?ed():W(null),S?eu():q(null),k?eh():K(null)}),(0,r.useEffect)(()=>{if(!S)return;let e=setInterval(()=>{eu()},3e3);return()=>clearInterval(e)},[S,eu]);let em=async()=>{let e=!u;x(e),e&&null===_&&!H&&await eo()},ep=async()=>{let e=!j;v(e),e&&null===$&&!ee&&await ex()},ef=async()=>{let e=!N;y(e),e&&null===D&&!es&&await ed()},eg=async()=>{let e=!k;A(e),e&&null===O&&!er&&await eh()},eb=async()=>{let e=!S;E(e),e&&null===Q&&!el&&await eu()},ej=function(e){var t;let s=e.split("/").filter(Boolean);return null!=(t=s[s.length-1])?t:e}(t.path);return(0,a.jsxs)("li",{children:[(0,a.jsxs)("div",{className:"flex items-center group",children:[(0,a.jsx)("button",{type:"button",onClick:()=>d(e=>!e),className:"h-6 w-6 flex items-center justify-center text-muted-foreground hover:text-foreground shrink-0","aria-label":n(c?"sidebar.collapse":"sidebar.expand"),children:c?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"})}),(0,a.jsxs)(l(),{href:"/roots/".concat(t.id),className:"flex-1 min-w-0 flex items-center gap-2 px-2 py-1 rounded-md text-sm hover:bg-accent ".concat(s?"bg-accent":""),children:[(0,a.jsx)(p.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:ej})]})]}),c&&(0,a.jsxs)("ul",{className:"ml-5 mt-0.5 space-y-0.5 border-l pl-1",children:[(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:em,className:"w-full flex items-center gap-1 px-2 py-1 rounded-md text-xs text-muted-foreground hover:bg-accent hover:text-foreground",children:[u?(0,a.jsx)(h.A,{className:"h-3 w-3 shrink-0"}):(0,a.jsx)(m.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(f.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:n("sidebar.kb")}),H&&(0,a.jsx)(g.A,{className:"ml-auto h-3 w-3 animate-spin shrink-0"})]}),u&&null!==_&&(0,a.jsx)(B,{rootId:t.id,sections:_,pathname:ec})]}),(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:ep,className:"w-full flex items-center gap-1 px-2 py-1 rounded-md text-xs text-muted-foreground hover:bg-accent hover:text-foreground",children:[j?(0,a.jsx)(h.A,{className:"h-3 w-3 shrink-0"}):(0,a.jsx)(m.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(P.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:n("sidebar.memory")}),ee&&(0,a.jsx)(g.A,{className:"ml-auto h-3 w-3 animate-spin shrink-0"})]}),j&&null!==$&&(0,a.jsx)(X,{rootId:t.id,memory:$,pathname:ec})]}),(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:ef,className:"w-full flex items-center gap-1 px-2 py-1 rounded-md text-xs text-muted-foreground hover:bg-accent hover:text-foreground",children:[N?(0,a.jsx)(h.A,{className:"h-3 w-3 shrink-0"}):(0,a.jsx)(m.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(b.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:n("sidebar.topics")}),es&&(0,a.jsx)(g.A,{className:"ml-auto h-3 w-3 animate-spin shrink-0"}),null!==D&&(0,a.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground",children:D.length})]}),N&&null!==D&&(0,a.jsx)(G,{rootId:t.id,topics:D,pathname:ec})]}),(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:eg,className:"w-full flex items-center gap-1 px-2 py-1 rounded-md text-xs text-muted-foreground hover:bg-accent hover:text-foreground",children:[k?(0,a.jsx)(h.A,{className:"h-3 w-3 shrink-0"}):(0,a.jsx)(m.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(U.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:n("sidebar.utilities")}),er&&(0,a.jsx)(g.A,{className:"ml-auto h-3 w-3 animate-spin shrink-0"}),null!==O&&!er&&(0,a.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground",children:O.length})]}),k&&null!==O&&(0,a.jsx)(Y,{rootId:t.id,utilities:O,pathname:ec})]}),(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:eb,className:"w-full flex items-center gap-1 px-2 py-1 rounded-md text-xs text-muted-foreground hover:bg-accent hover:text-foreground",children:[S?(0,a.jsx)(h.A,{className:"h-3 w-3 shrink-0"}):(0,a.jsx)(m.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)(M.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:n("sidebar.agents")}),el&&(0,a.jsx)(g.A,{className:"ml-auto h-3 w-3 animate-spin shrink-0"}),null!==Q&&!el&&(0,a.jsxs)("span",{className:"ml-auto text-[10px] text-muted-foreground",children:[Q.filter(e=>V(e.status)).length,"/",Q.length]})]}),S&&null!==Q&&(0,a.jsx)(F,{agents:Q,pathname:ec})]})]})]})}function F(e){var t,s;let{agents:r,pathname:n}=e;if(0===r.length)return(0,a.jsx)(W,{});let l=new Map;for(let e of r){let s=e.parentId,a=null!=(t=l.get(s))?t:[];a.push(e),l.set(s,a)}let i=null!=(s=l.get(void 0))?s:[];return(0,a.jsx)("ul",{className:"ml-4 mt-0.5 space-y-0.5 border-l pl-1",children:i.map(e=>(0,a.jsx)(O,{agent:e,byParent:l,pathname:n,depth:0},e.id))})}function W(){let e=(0,o.c)("app");return(0,a.jsx)("div",{className:"ml-4 px-3 py-1 text-[11px] italic text-muted-foreground",children:e("sidebar.noAgents")})}function O(e){var t;let{agent:s,byParent:r,pathname:n,depth:i}=e,c=null!=(t=r.get(s.id))?t:[],o="/agents/".concat(s.id),d=n===o;return(0,a.jsxs)("li",{children:[(0,a.jsxs)(l(),{href:o,className:"flex items-center gap-1 px-2 py-1 text-[12px] rounded hover:bg-accent ".concat(d?"bg-accent":""),style:{paddingLeft:8*i+4},children:[V(s.status)?(0,a.jsx)(T.A,{className:"h-3 w-3 text-emerald-600 shrink-0 animate-pulse"}):(0,a.jsx)(M.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate flex-1",children:s.label}),(0,a.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground shrink-0",title:"".concat(s.harness," \xb7 ").concat(s.model),children:"claude-code"===s.harness?"claude":"ollama"===s.harness?"ollama":"codex"})]}),c.length>0&&(0,a.jsx)("ul",{className:"space-y-0.5",children:c.map(e=>(0,a.jsx)(O,{agent:e,byParent:r,pathname:n,depth:i+1},e.id))})]})}function V(e){return"starting"===e||"running"===e}function B(e){let{rootId:t,sections:s,pathname:r}=e;return 0===s.length?(0,a.jsx)(K,{}):(0,a.jsx)("ul",{className:"ml-4 mt-0.5 space-y-0.5 border-l pl-1",children:s.map(e=>e.isDir?(0,a.jsx)(Q,{rootId:t,section:e,pathname:r},e.rel):(0,a.jsx)("li",{children:(0,a.jsx)(q,{rootId:t,section:e,pathname:r})},e.rel))})}function K(){let e=(0,o.c)("app");return(0,a.jsx)("div",{className:"px-3 py-1 text-[11px] italic text-muted-foreground",children:e("sidebar.kbEmpty")})}function Q(e){let{rootId:t,section:s,pathname:n}=e,[l,i]=(0,r.useState)(!1);return(0,a.jsxs)("li",{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("button",{type:"button",onClick:()=>i(e=>!e),className:"h-5 w-5 flex items-center justify-center text-muted-foreground hover:text-foreground shrink-0",children:l?(0,a.jsx)(h.A,{className:"h-3 w-3"}):(0,a.jsx)(m.A,{className:"h-3 w-3"})}),(0,a.jsx)(j.A,{className:"h-3 w-3 text-muted-foreground shrink-0 mr-1"}),(0,a.jsx)("span",{className:"text-[12px] flex-1 truncate",children:s.label})]}),l&&s.children&&(0,a.jsx)("ul",{className:"ml-4 space-y-0.5 border-l pl-1",children:s.children.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)(q,{rootId:t,section:e,pathname:n})},e.rel))})]})}function q(e){let{rootId:t,section:s,pathname:r}=e;if(!s.fileRel)return null;let n=s.fileRel.split("/").map(encodeURIComponent).join("/"),i="/roots/".concat(t,"/kb/").concat(n),c=r===i;return(0,a.jsxs)(l(),{href:i,className:"flex items-center gap-1 px-2 py-1 text-[12px] rounded hover:bg-accent ".concat(c?"bg-accent":""),children:[(0,a.jsx)(f.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:s.label})]})}function G(e){let{rootId:t,topics:s,pathname:r}=e;return 0===s.length?(0,a.jsx)(H,{}):(0,a.jsx)("ul",{className:"ml-4 mt-0.5 space-y-0.5 border-l pl-1",children:s.map(e=>(0,a.jsx)(J,{rootId:t,topic:e,pathname:r},e.id))})}function H(){let e=(0,o.c)("app");return(0,a.jsx)("div",{className:"ml-4 px-3 py-1 text-[11px] italic text-muted-foreground",children:e("sidebar.noTopics")})}function J(e){let{rootId:t,topic:s,pathname:n}=e,d=(0,o.c)("app"),u="/roots/".concat(t,"/chat/").concat(s.id),x=n===u,[h,m]=(0,r.useTransition)(),p=(0,i.useRouter)();return(0,a.jsx)("li",{className:"group/topic",children:(0,a.jsxs)(l(),{href:u,className:"flex items-center gap-1 px-2 py-1 text-[12px] rounded hover:bg-accent ".concat(x?"bg-accent":""),children:[(0,a.jsx)(b.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:s.title}),(0,a.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),confirm(d("sidebar.deleteTopicConfirm",{title:s.title}))&&m(async()=>{let e=await (0,N.L)(t,s.id);if(!e.ok){var a;c.oR.error(null!=(a=e.error)?a:d("sidebar.deleteFailed"));return}c.oR.success(d("sidebar.topicDeleted")),(0,w.$d)(w.Zi.topicsChanged(t)),x&&p.push("/roots/".concat(t))})},disabled:h,"aria-label":d("sidebar.deleteTopic"),title:d("sidebar.deleteTopic"),className:"opacity-0 group-hover/topic:opacity-100 transition-opacity p-0.5 rounded hover:bg-destructive/15 text-muted-foreground hover:text-destructive shrink-0",children:h?(0,a.jsx)(g.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(v.A,{className:"h-3 w-3"})})]})})}function X(e){let{rootId:t,memory:s,pathname:r}=e,n=(0,o.c)("app"),i=s.filter(e=>!e.empty),c="/roots/".concat(t,"/memory"),d=r===c;return 0===i.length?(0,a.jsx)("div",{className:"ml-4 px-3 py-1 text-[11px] italic text-muted-foreground",children:n("sidebar.memoryEmpty")}):(0,a.jsx)("ul",{className:"ml-4 mt-0.5 space-y-0.5 border-l pl-1",children:i.map(e=>(0,a.jsx)("li",{children:(0,a.jsxs)(l(),{href:c,title:e.description,className:"flex items-center gap-1 px-2 py-1 text-[12px] rounded hover:bg-accent ".concat(d?"bg-accent":""),children:[(0,a.jsx)(P.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:e.file}),(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground shrink-0",children:e.lines})]})},e.file))})}function Y(e){let{rootId:t,utilities:s,pathname:r}=e,n=(0,o.c)("app");return 0===s.length?(0,a.jsx)("div",{className:"ml-4 px-3 py-1 text-[11px] italic text-muted-foreground",children:n("sidebar.utilitiesEmpty")}):(0,a.jsx)("ul",{className:"ml-4 mt-0.5 space-y-0.5 border-l pl-1",children:s.map(e=>(0,a.jsx)(ee,{rootId:t,utility:e,pathname:r},"".concat(e.scope,":").concat(e.id)))})}function ee(e){let{rootId:t,utility:s,pathname:n}=e,[i,c]=(0,r.useState)(!1),o="/utilities/".concat(s.scope,"/").concat(encodeURIComponent(s.id)).concat(s.rootId?"?rootId=".concat(encodeURIComponent(s.rootId)):""),d=s.threads.length>0;return(0,a.jsxs)("li",{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("button",{type:"button",onClick:()=>c(e=>!e),disabled:!d,className:"h-5 w-5 flex items-center justify-center text-muted-foreground hover:text-foreground shrink-0 disabled:opacity-30",children:d?i?(0,a.jsx)(h.A,{className:"h-3 w-3"}):(0,a.jsx)(m.A,{className:"h-3 w-3"}):(0,a.jsx)("span",{className:"inline-block h-3 w-3"})}),(0,a.jsxs)(l(),{href:o,className:"flex-1 min-w-0 flex items-center gap-1 px-1 py-1 text-[12px] rounded hover:bg-accent",children:[(0,a.jsx)($.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate flex-1",children:s.name}),d&&(0,a.jsx)("span",{className:"text-[10px] text-muted-foreground shrink-0",children:s.threads.length})]})]}),i&&d&&(0,a.jsx)("ul",{className:"ml-4 space-y-0.5 border-l pl-1",children:s.threads.map(e=>{let s="/roots/".concat(t,"/chat/").concat(e.id),r=n===s;return(0,a.jsx)("li",{children:(0,a.jsxs)(l(),{href:s,className:"flex items-center gap-1 px-2 py-1 text-[12px] rounded hover:bg-accent ".concat(r?"bg-accent":""),children:[(0,a.jsx)(b.A,{className:"h-3 w-3 text-muted-foreground shrink-0"}),(0,a.jsx)("span",{className:"truncate flex-1 min-w-0",children:e.title})]})},e.id)})})]})}},80192:(e,t,s)=>{"use strict";s.d(t,{F:()=>l});var a=s(4624);s(99356);var r=s(14884),n=s(13506);function l(e){let{className:t,children:s,...l}=e;return(0,a.jsxs)(r.Root,{"data-slot":"scroll-area",className:(0,n.cn)("relative",t),...l,children:[(0,a.jsx)(r.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:s}),(0,a.jsx)(i,{}),(0,a.jsx)(r.Corner,{})]})}function i(e){let{className:t,orientation:s="vertical",...l}=e;return(0,a.jsx)(r.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:s,className:(0,n.cn)("flex touch-none p-px transition-colors select-none","vertical"===s&&"h-full w-2.5 border-l border-l-transparent","horizontal"===s&&"h-2.5 flex-col border-t border-t-transparent",t),...l,children:(0,a.jsx)(r.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}},85253:(e,t,s)=>{"use strict";s.d(t,{$:()=>c});var a=s(4624);s(99356);var r=s(60621),n=s(50362),l=s(13506);let i=(0,r.F)("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function c(e){let{className:t,variant:s="default",size:r="default",asChild:c=!1,...o}=e,d=c?n.bL:"button";return(0,a.jsx)(d,{"data-slot":"button","data-variant":s,"data-size":r,className:(0,l.cn)(i({variant:s,size:r,className:t})),...o})}},91074:(e,t,s)=>{"use strict";s.d(t,{Separator:()=>l});var a=s(4624);s(99356);var r=s(44188),n=s(13506);function l(e){let{className:t,orientation:s="horizontal",decorative:l=!0,...i}=e;return(0,a.jsx)(r.b,{"data-slot":"separator",decorative:l,orientation:s,className:(0,n.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t),...i})}}},e=>{e.O(0,[497,4400,4678,9776,6785,9411,951,4933,146,7358],()=>e(e.s=17848)),_N_E=e.O()}]);