qtype 0.0.12__py3-none-any.whl → 0.1.3__py3-none-any.whl

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 (137) hide show
  1. qtype/application/commons/tools.py +1 -1
  2. qtype/application/converters/tools_from_api.py +476 -11
  3. qtype/application/converters/tools_from_module.py +38 -14
  4. qtype/application/converters/types.py +15 -30
  5. qtype/application/documentation.py +1 -1
  6. qtype/application/facade.py +102 -85
  7. qtype/base/types.py +227 -7
  8. qtype/cli.py +5 -1
  9. qtype/commands/convert.py +52 -6
  10. qtype/commands/generate.py +44 -4
  11. qtype/commands/run.py +78 -36
  12. qtype/commands/serve.py +74 -44
  13. qtype/commands/validate.py +37 -14
  14. qtype/commands/visualize.py +46 -25
  15. qtype/dsl/__init__.py +6 -5
  16. qtype/dsl/custom_types.py +1 -1
  17. qtype/dsl/domain_types.py +86 -5
  18. qtype/dsl/linker.py +384 -0
  19. qtype/dsl/loader.py +315 -0
  20. qtype/dsl/model.py +751 -263
  21. qtype/dsl/parser.py +200 -0
  22. qtype/dsl/types.py +50 -0
  23. qtype/interpreter/api.py +63 -136
  24. qtype/interpreter/auth/aws.py +19 -9
  25. qtype/interpreter/auth/generic.py +93 -16
  26. qtype/interpreter/base/base_step_executor.py +436 -0
  27. qtype/interpreter/base/batch_step_executor.py +171 -0
  28. qtype/interpreter/base/exceptions.py +50 -0
  29. qtype/interpreter/base/executor_context.py +91 -0
  30. qtype/interpreter/base/factory.py +84 -0
  31. qtype/interpreter/base/progress_tracker.py +110 -0
  32. qtype/interpreter/base/secrets.py +339 -0
  33. qtype/interpreter/base/step_cache.py +74 -0
  34. qtype/interpreter/base/stream_emitter.py +469 -0
  35. qtype/interpreter/conversions.py +471 -22
  36. qtype/interpreter/converters.py +79 -0
  37. qtype/interpreter/endpoints.py +355 -0
  38. qtype/interpreter/executors/agent_executor.py +242 -0
  39. qtype/interpreter/executors/aggregate_executor.py +93 -0
  40. qtype/interpreter/executors/bedrock_reranker_executor.py +195 -0
  41. qtype/interpreter/executors/decoder_executor.py +163 -0
  42. qtype/interpreter/executors/doc_to_text_executor.py +112 -0
  43. qtype/interpreter/executors/document_embedder_executor.py +107 -0
  44. qtype/interpreter/executors/document_search_executor.py +113 -0
  45. qtype/interpreter/executors/document_source_executor.py +118 -0
  46. qtype/interpreter/executors/document_splitter_executor.py +105 -0
  47. qtype/interpreter/executors/echo_executor.py +63 -0
  48. qtype/interpreter/executors/field_extractor_executor.py +165 -0
  49. qtype/interpreter/executors/file_source_executor.py +101 -0
  50. qtype/interpreter/executors/file_writer_executor.py +110 -0
  51. qtype/interpreter/executors/index_upsert_executor.py +232 -0
  52. qtype/interpreter/executors/invoke_embedding_executor.py +92 -0
  53. qtype/interpreter/executors/invoke_flow_executor.py +51 -0
  54. qtype/interpreter/executors/invoke_tool_executor.py +358 -0
  55. qtype/interpreter/executors/llm_inference_executor.py +272 -0
  56. qtype/interpreter/executors/prompt_template_executor.py +78 -0
  57. qtype/interpreter/executors/sql_source_executor.py +106 -0
  58. qtype/interpreter/executors/vector_search_executor.py +91 -0
  59. qtype/interpreter/flow.py +173 -22
  60. qtype/interpreter/logging_progress.py +61 -0
  61. qtype/interpreter/metadata_api.py +115 -0
  62. qtype/interpreter/resource_cache.py +5 -4
  63. qtype/interpreter/rich_progress.py +225 -0
  64. qtype/interpreter/stream/chat/__init__.py +15 -0
  65. qtype/interpreter/stream/chat/converter.py +391 -0
  66. qtype/interpreter/{chat → stream/chat}/file_conversions.py +2 -2
  67. qtype/interpreter/stream/chat/ui_request_to_domain_type.py +140 -0
  68. qtype/interpreter/stream/chat/vercel.py +609 -0
  69. qtype/interpreter/stream/utils/__init__.py +15 -0
  70. qtype/interpreter/stream/utils/build_vercel_ai_formatter.py +74 -0
  71. qtype/interpreter/stream/utils/callback_to_stream.py +66 -0
  72. qtype/interpreter/stream/utils/create_streaming_response.py +18 -0
  73. qtype/interpreter/stream/utils/default_chat_extract_text.py +20 -0
  74. qtype/interpreter/stream/utils/error_streaming_response.py +20 -0
  75. qtype/interpreter/telemetry.py +135 -8
  76. qtype/interpreter/tools/__init__.py +5 -0
  77. qtype/interpreter/tools/function_tool_helper.py +265 -0
  78. qtype/interpreter/types.py +330 -0
  79. qtype/interpreter/typing.py +83 -89
  80. qtype/interpreter/ui/404/index.html +1 -1
  81. qtype/interpreter/ui/404.html +1 -1
  82. qtype/interpreter/ui/_next/static/{OT8QJQW3J70VbDWWfrEMT → 20HoJN6otZ_LyHLHpCPE6}/_buildManifest.js +1 -1
  83. qtype/interpreter/ui/_next/static/chunks/434-b2112d19f25c44ff.js +36 -0
  84. qtype/interpreter/ui/_next/static/chunks/{964-ed4ab073db645007.js → 964-2b041321a01cbf56.js} +1 -1
  85. qtype/interpreter/ui/_next/static/chunks/app/{layout-5ccbc44fd528d089.js → layout-a05273ead5de2c41.js} +1 -1
  86. qtype/interpreter/ui/_next/static/chunks/app/page-8c67d16ac90d23cb.js +1 -0
  87. qtype/interpreter/ui/_next/static/chunks/ba12c10f-546f2714ff8abc66.js +1 -0
  88. qtype/interpreter/ui/_next/static/chunks/{main-6d261b6c5d6fb6c2.js → main-e26b9cb206da2cac.js} +1 -1
  89. qtype/interpreter/ui/_next/static/chunks/webpack-08642e441b39b6c2.js +1 -0
  90. qtype/interpreter/ui/_next/static/css/8a8d1269e362fef7.css +3 -0
  91. qtype/interpreter/ui/_next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
  92. qtype/interpreter/ui/icon.png +0 -0
  93. qtype/interpreter/ui/index.html +1 -1
  94. qtype/interpreter/ui/index.txt +5 -5
  95. qtype/semantic/checker.py +643 -0
  96. qtype/semantic/generate.py +268 -85
  97. qtype/semantic/loader.py +95 -0
  98. qtype/semantic/model.py +535 -163
  99. qtype/semantic/resolver.py +63 -19
  100. qtype/semantic/visualize.py +50 -35
  101. {qtype-0.0.12.dist-info → qtype-0.1.3.dist-info}/METADATA +21 -4
  102. qtype-0.1.3.dist-info/RECORD +137 -0
  103. qtype/dsl/base_types.py +0 -38
  104. qtype/dsl/validator.py +0 -464
  105. qtype/interpreter/batch/__init__.py +0 -0
  106. qtype/interpreter/batch/flow.py +0 -95
  107. qtype/interpreter/batch/sql_source.py +0 -95
  108. qtype/interpreter/batch/step.py +0 -63
  109. qtype/interpreter/batch/types.py +0 -41
  110. qtype/interpreter/batch/utils.py +0 -179
  111. qtype/interpreter/chat/chat_api.py +0 -237
  112. qtype/interpreter/chat/vercel.py +0 -314
  113. qtype/interpreter/exceptions.py +0 -10
  114. qtype/interpreter/step.py +0 -67
  115. qtype/interpreter/steps/__init__.py +0 -0
  116. qtype/interpreter/steps/agent.py +0 -114
  117. qtype/interpreter/steps/condition.py +0 -36
  118. qtype/interpreter/steps/decoder.py +0 -88
  119. qtype/interpreter/steps/llm_inference.py +0 -150
  120. qtype/interpreter/steps/prompt_template.py +0 -54
  121. qtype/interpreter/steps/search.py +0 -24
  122. qtype/interpreter/steps/tool.py +0 -53
  123. qtype/interpreter/streaming_helpers.py +0 -123
  124. qtype/interpreter/ui/_next/static/chunks/736-7fc606e244fedcb1.js +0 -36
  125. qtype/interpreter/ui/_next/static/chunks/app/page-c72e847e888e549d.js +0 -1
  126. qtype/interpreter/ui/_next/static/chunks/ba12c10f-22556063851a6df2.js +0 -1
  127. qtype/interpreter/ui/_next/static/chunks/webpack-8289c17c67827f22.js +0 -1
  128. qtype/interpreter/ui/_next/static/css/a262c53826df929b.css +0 -3
  129. qtype/interpreter/ui/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
  130. qtype/interpreter/ui/favicon.ico +0 -0
  131. qtype/loader.py +0 -389
  132. qtype-0.0.12.dist-info/RECORD +0 -105
  133. /qtype/interpreter/ui/_next/static/{OT8QJQW3J70VbDWWfrEMT → 20HoJN6otZ_LyHLHpCPE6}/_ssgManifest.js +0 -0
  134. {qtype-0.0.12.dist-info → qtype-0.1.3.dist-info}/WHEEL +0 -0
  135. {qtype-0.0.12.dist-info → qtype-0.1.3.dist-info}/entry_points.txt +0 -0
  136. {qtype-0.0.12.dist-info → qtype-0.1.3.dist-info}/licenses/LICENSE +0 -0
  137. {qtype-0.0.12.dist-info → qtype-0.1.3.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{2941:(e,t,a)=>{Promise.resolve().then(a.bind(a,8785))},8785:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>eq});var r=a(5155),s=a(2115),n=a(838),l=a(2596),i=a(9688);function o(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,i.QP)((0,l.$)(t))}function d(e,t){if(!e)return null;if("$ref"in e){let a=e.$ref.replace("#/","").split("/"),r=t;for(let e of a)r=null==r?void 0:r[e];return d(r,t)}if("object"===e.type&&e.properties){let a={};for(let[r,s]of Object.entries(e.properties)){let e=d(s,t);e&&(a[r]=e)}return{...e,properties:a}}if("array"===e.type&&e.items){let a=d(e.items,t);return{...e,items:a}}return e}var c=a(9509);class u extends Error{constructor(e,t,a){super(e),this.name="ApiClientError",this.status=t,this.detail=a}}class m{async fetchWithTimeout(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=new AbortController,r=setTimeout(()=>a.abort(),this.config.timeout);try{let s=await fetch(e,{...t,signal:a.signal,headers:{"Content-Type":"application/json",...t.headers}});if(clearTimeout(r),!s.ok){let e;try{e=await s.json()}catch(t){e={message:s.statusText}}let t="API request failed: ".concat(s.status," ").concat(s.statusText);if(null==e?void 0:e.detail){let a="string"==typeof e.detail?e.detail:JSON.stringify(e.detail,null,2);t+="\n".concat(a)}throw new u(t,s.status,e)}return s}catch(e){if(clearTimeout(r),e instanceof u)throw e;if(e instanceof Error&&"AbortError"===e.name)throw new u("Request timeout",408);throw new u("Network error: ".concat(e instanceof Error?e.message:"Unknown error"),0)}}getUrl(e){let t=this.config.baseUrl.endsWith("/")?this.config.baseUrl.slice(0,-1):this.config.baseUrl,a=e.startsWith("/")?e:"/".concat(e);return"".concat(t).concat(a)}async get(e){return(await this.fetchWithTimeout(this.getUrl(e),{method:"GET"})).json()}async post(e,t){return(await this.fetchWithTimeout(this.getUrl(e),{method:"POST",body:t?JSON.stringify(t):void 0})).json()}async executeFlow(e,t){return this.post(e,t)}async getOpenApiSpec(){return this.get("/openapi.json")}async healthCheck(){try{return await this.getOpenApiSpec(),{status:"healthy",timestamp:new Date().toISOString()}}catch(e){throw new u("Health check failed: ".concat(e instanceof Error?e.message:"Unknown error"),500,e)}}getBaseUrl(){return this.config.baseUrl}setBaseUrl(e){this.config.baseUrl=e}constructor(e){this.config={baseUrl:c.env.NEXT_PUBLIC_QTYPE_HOST||"../",timeout:1e4,...e}}}let x=new m,p=()=>x.getOpenApiSpec();function f(){let{data:e,error:t,isLoading:a,mutate:r}=(0,n.Ay)("/openapi.json",p,{refreshInterval:3e5,revalidateOnFocus:!1,errorRetryCount:3,errorRetryInterval:5e3});return{spec:e,isLoading:a,error:t,refresh:r}}var h=a(4056);function g(e){let{className:t,...a}=e;return(0,r.jsx)(h.bL,{"data-slot":"tabs",className:o("flex flex-col gap-2",t),...a})}function v(e){let{className:t,...a}=e;return(0,r.jsx)(h.B8,{"data-slot":"tabs-list",className:o("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",t),...a})}function b(e){let{className:t,...a}=e;return(0,r.jsx)(h.l9,{"data-slot":"tabs-trigger",className:o("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground 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 transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...a})}function j(e){let{className:t,...a}=e;return(0,r.jsx)(h.UC,{"data-slot":"tabs-content",className:o("flex-1 outline-none",t),...a})}var y=a(2085);let w=(0,y.F)("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function N(e){let{className:t,variant:a,...s}=e;return(0,r.jsx)("div",{"data-slot":"alert",role:"alert",className:o(w({variant:a}),t),...s})}function k(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"alert-title",className:o("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",t),...a})}function _(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"alert-description",className:o("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),...a})}var C=a(5339);function S(e){let{className:t,type:a,...s}=e;return(0,r.jsx)("input",{type:a,"data-slot":"input",className:o("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...s})}function z(e){let{name:t,property:a,required:s,value:n="",onChange:l}=e;return(0,r.jsx)(S,{type:"text",placeholder:a.description||"Enter ".concat(a.title||t),value:String(n||""),onChange:e=>{null==l||l(t,e.target.value)},required:s,className:"w-full"})}var A=a(239);function E(e){let{className:t,...a}=e;return(0,r.jsx)(A.bL,{"data-slot":"switch",className:o("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...a,children:(0,r.jsx)(A.zi,{"data-slot":"switch-thumb",className:o("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}function T(e){let{name:t,property:a,required:s,value:n=!1,onChange:l}=e;return(0,r.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,r.jsx)(E,{checked:!!n,onCheckedChange:e=>{null==l||l(t,e)},required:s}),(0,r.jsx)("div",{className:"flex-1",children:(0,r.jsx)("div",{className:"text-sm text-gray-600 dark:text-gray-400",children:n?"Enabled":"Disabled"})})]})}function q(e){let{name:t,property:a,required:s,value:n,onChange:l}=e,i="integer"===a.type||"int32"===a.format||"int64"===a.format?1:"any";return(0,r.jsx)(S,{type:"number",placeholder:a.description||"Enter ".concat(a.title||t),value:String(n||""),onChange:e=>{let r,s=e.target.value;if(""===s){null==l||l(t,0);return}isNaN(r="integer"===a.type||"int32"===a.format||"int64"===a.format?parseInt(s,10):parseFloat(s))||null==l||l(t,r)},required:s,step:i,min:a.minimum,max:a.maximum,className:"w-full"})}var U=a(9074),O=a(3008),F=a(9708);let P=(0,y.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs 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",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function M(e){let{className:t,variant:a,size:s,asChild:n=!1,...l}=e,i=n?F.DX:"button";return(0,r.jsx)(i,{"data-slot":"button",className:o(P({variant:a,size:s,className:t})),...l})}var D=a(5933),L=a(2355),I=a(3052),R=a(6474),B=a(713),W=a(8934);function H(){let e=(0,D._)(["rtl:**:[.rdp-button_next>svg]:rotate-180"],["rtl:**:[.rdp-button\\_next>svg]:rotate-180"]);return H=function(){return e},e}function G(){let e=(0,D._)(["rtl:**:[.rdp-button_previous>svg]:rotate-180"],["rtl:**:[.rdp-button\\_previous>svg]:rotate-180"]);return G=function(){return e},e}function V(e){let{className:t,classNames:a,showOutsideDays:s=!0,captionLayout:n="label",buttonVariant:l="ghost",formatters:i,components:d,...c}=e,u=(0,B.a)();return(0,r.jsx)(W.h,{showOutsideDays:s,className:o("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw(H()),String.raw(G()),t),captionLayout:n,formatters:{formatMonthDropdown:e=>e.toLocaleString("default",{month:"short"}),...i},classNames:{root:o("w-fit",u.root),months:o("flex gap-4 flex-col md:flex-row relative",u.months),month:o("flex flex-col w-full gap-4",u.month),nav:o("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",u.nav),button_previous:o(P({variant:l}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",u.button_previous),button_next:o(P({variant:l}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",u.button_next),month_caption:o("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",u.month_caption),dropdowns:o("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",u.dropdowns),dropdown_root:o("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",u.dropdown_root),dropdown:o("absolute bg-popover inset-0 opacity-0",u.dropdown),caption_label:o("select-none font-medium","label"===n?"text-sm":"rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",u.caption_label),table:"w-full border-collapse",weekdays:o("flex",u.weekdays),weekday:o("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",u.weekday),week:o("flex w-full mt-2",u.week),week_number_header:o("select-none w-(--cell-size)",u.week_number_header),week_number:o("text-[0.8rem] select-none text-muted-foreground",u.week_number),day:o("relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",u.day),range_start:o("rounded-l-md bg-accent",u.range_start),range_middle:o("rounded-none",u.range_middle),range_end:o("rounded-r-md bg-accent",u.range_end),today:o("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",u.today),outside:o("text-muted-foreground aria-selected:text-muted-foreground",u.outside),disabled:o("text-muted-foreground opacity-50",u.disabled),hidden:o("invisible",u.hidden),...a},components:{Root:e=>{let{className:t,rootRef:a,...s}=e;return(0,r.jsx)("div",{"data-slot":"calendar",ref:a,className:o(t),...s})},Chevron:e=>{let{className:t,orientation:a,...s}=e;return"left"===a?(0,r.jsx)(L.A,{className:o("size-4",t),...s}):"right"===a?(0,r.jsx)(I.A,{className:o("size-4",t),...s}):(0,r.jsx)(R.A,{className:o("size-4",t),...s})},DayButton:$,WeekNumber:e=>{let{children:t,...a}=e;return(0,r.jsx)("td",{...a,children:(0,r.jsx)("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:t})})},...d},...c})}function $(e){let{className:t,day:a,modifiers:n,...l}=e,i=(0,B.a)(),d=s.useRef(null);return s.useEffect(()=>{var e;n.focused&&(null==(e=d.current)||e.focus())},[n.focused]),(0,r.jsx)(M,{ref:d,variant:"ghost",size:"icon","data-day":a.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:o("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",i.day,t),...l})}var J=a(6059);function K(e){let{...t}=e;return(0,r.jsx)(J.bL,{"data-slot":"popover",...t})}function Q(e){let{...t}=e;return(0,r.jsx)(J.l9,{"data-slot":"popover-trigger",...t})}function X(e){let{className:t,align:a="center",sideOffset:s=4,...n}=e;return(0,r.jsx)(J.ZL,{children:(0,r.jsx)(J.UC,{"data-slot":"popover-content",align:a,sideOffset:s,className:o("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",t),...n})})}function Y(e){let{name:t,property:a,value:n,onChange:l,required:i}=e,[d,c]=s.useState(n&&"string"==typeof n?new Date(n):void 0);return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("label",{className:"text-sm font-medium",children:[a.title||"Date"," ",i&&(0,r.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,r.jsxs)(K,{children:[(0,r.jsx)(Q,{asChild:!0,children:(0,r.jsxs)(M,{variant:"outline",className:o("w-full justify-start text-left font-normal",!d&&"text-muted-foreground"),children:[(0,r.jsx)(U.A,{className:"mr-2 h-4 w-4"}),d?(0,O.GP)(d,"PPP"):"Select a date"]})}),(0,r.jsx)(X,{className:"w-auto p-0",children:(0,r.jsx)(V,{mode:"single",selected:d,onSelect:e=>{if(c(e),e){let a=(0,O.GP)(e,"yyyy-MM-dd");null==l||l(t,a)}},initialFocus:!0})})]}),a.description&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:a.description})]})}function Z(e){let{name:t,property:a,value:n,onChange:l,required:i}=e,[o,d]=s.useState(String(n||""));return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("label",{className:"text-sm font-medium",children:[a.title||"Time"," ",i&&(0,r.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,r.jsx)(S,{type:"time",value:o,onChange:e=>{var a;d(a=e.target.value),null==l||l(t,a)},step:"1",className:"w-full",placeholder:"HH:MM:SS"}),a.description&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:a.description})]})}function ee(e){let{name:t,property:a,value:n,onChange:l,required:i}=e,{date:d,time:c}=(e=>{var t;if(!e)return{date:void 0,time:""};let a=new Date(e);return isNaN(a.getTime())?{date:void 0,time:""}:{date:a,time:e.includes("T")&&(null==(t=e.split("T")[1])?void 0:t.split(".")[0])||""}})("string"==typeof n?n:void 0),[u,m]=s.useState(d),[x,p]=s.useState(c),f=(e,a)=>{if(!e)return;let r=(0,O.GP)(e,"yyyy-MM-dd"),s="".concat(r,"T").concat(a||"00:00:00");null==l||l(t,s)};return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("label",{className:"text-sm font-medium",children:[a.title||"Date & Time"," ",i&&(0,r.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,r.jsxs)("div",{className:"flex flex-col space-y-2",children:[(0,r.jsxs)(K,{children:[(0,r.jsx)(Q,{asChild:!0,children:(0,r.jsxs)(M,{variant:"outline",className:o("w-full justify-start text-left font-normal",!u&&"text-muted-foreground"),children:[(0,r.jsx)(U.A,{className:"mr-2 h-4 w-4"}),u?(0,r.jsxs)("span",{children:[(0,O.GP)(u,"PPP"),x&&(0,r.jsxs)("span",{className:"text-muted-foreground ml-2",children:["at ",x]})]}):"Select date and time"]})}),(0,r.jsx)(X,{className:"w-auto p-0",children:(0,r.jsx)(V,{mode:"single",selected:u,onSelect:e=>{m(e),f(e,x)},initialFocus:!0})})]}),(0,r.jsx)(S,{type:"time",value:x,onChange:e=>{var t;p(t=e.target.value),f(u,t)},step:"1",placeholder:"HH:MM:SS",className:"w-full"})]}),a.description&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:a.description})]})}function et(e){let{name:t,property:a,required:s,value:n,onChange:l}=e;return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:[a.title||t,s&&(0,r.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),a.description&&(0,r.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:a.description}),(()=>{switch(a.qtype_type){case"text":return(0,r.jsx)(z,{name:t,property:a,required:s,value:n,onChange:l});case"date":return(0,r.jsx)(Y,{name:t,property:a,required:s,value:n,onChange:l});case"time":return(0,r.jsx)(Z,{name:t,property:a,required:s,value:n,onChange:l});case"datetime":return(0,r.jsx)(ee,{name:t,property:a,required:s,value:n,onChange:l});case"boolean":return(0,r.jsx)(T,{name:t,property:a,required:s,value:n,onChange:l});case"number":case"int":case"float":return(0,r.jsx)(q,{name:t,property:a,required:s,value:n,onChange:l});case"bytes":case"file":case"image":case"audio":case"video":return(0,r.jsx)("div",{className:"bg-gray-50 dark:bg-gray-900 p-3 rounded border",children:(0,r.jsx)("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:"File upload input coming soon..."})});default:return(0,r.jsx)(N,{variant:"destructive",children:(0,r.jsxs)(_,{children:["Unknown input type: ",(0,r.jsx)("code",{className:"font-mono text-sm",children:a.type})]})})}})()]})}function ea(e){let{requestSchema:t,onInputChange:a}=e,[n,l]=(0,s.useState)({});if(!t)return(0,r.jsx)("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"No input parameters required for this flow."});let i=t.properties||{},o=t.required||[],d=(e,t)=>{let r={...n,[e]:t};l(r),null==a||a(r)};return 0===Object.keys(i).length?(0,r.jsx)("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"No input parameters defined for this flow."}):(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("h5",{className:"font-medium text-gray-900 dark:text-white",children:"Inputs"}),(0,r.jsx)("div",{className:"space-y-4",children:Object.entries(i).map(e=>{let[t,a]=e;return(0,r.jsx)(et,{name:t,property:a,required:o.includes(t),value:n[t],onChange:d},t)})})]})}function er(e){let{name:t,property:a,value:s}=e;return(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300",children:a.title||t}),a.description&&(0,r.jsx)("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:a.description}),(()=>{switch(a.qtype_type){case"text":return(0,r.jsx)("div",{className:"bg-gray-50 dark:bg-gray-900 p-3 rounded",children:(0,r.jsx)("p",{className:"text-gray-800 dark:text-gray-200 whitespace-pre-wrap",children:String(s||"")})});case"boolean":return(0,r.jsx)("div",{className:"bg-gray-50 dark:bg-gray-900 p-3 rounded",children:(0,r.jsx)("p",{className:"text-gray-800 dark:text-gray-200",children:String(s)})});case"number":case"int":case"float":return(0,r.jsx)("div",{className:"bg-gray-50 dark:bg-gray-900 p-3 rounded",children:(0,r.jsx)("p",{className:"text-gray-800 dark:text-gray-200 font-mono",children:String(s)})});default:return(0,r.jsx)(N,{variant:"destructive",children:(0,r.jsxs)(_,{children:["Unsupported response type: ",(0,r.jsx)("code",{className:"font-mono text-sm",children:a.qtype_type||a.type})]})})}})()]})}function es(e){let{responseSchema:t,responseData:a}=e;if(!a)return(0,r.jsx)("div",{className:"text-gray-500 dark:text-gray-400 text-sm",children:"No response data to display"});if(!(null==t?void 0:t.properties))return(0,r.jsx)("div",{className:"bg-gray-50 dark:bg-gray-900 p-4 rounded",children:(0,r.jsx)("pre",{className:"text-xs text-gray-800 dark:text-gray-200 overflow-x-auto whitespace-pre-wrap",children:JSON.stringify(a,null,2)})});let s=a&&"object"==typeof a?a.outputs||a:a||{};return(0,r.jsx)("div",{className:"space-y-4",children:t.properties&&Object.entries(t.properties).map(e=>{let[t,a]=e,n=s[t];return null==n?null:(0,r.jsx)(er,{name:t,property:a,value:n},t)})})}function en(e){var t,a;let{flow:n}=e,[l,i]=(0,s.useState)({}),[o,d]=(0,s.useState)(!1),[c,m]=(0,s.useState)(null),[p,f]=(0,s.useState)(null),h=async()=>{d(!0),f(null),m(null);try{let e=await x.executeFlow(n.path,l);m(e)}catch(e){e instanceof u?f(e.message):f(e instanceof Error?e.message:"An unknown error occurred")}finally{d(!1)}};return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)("div",{className:"border-b pb-4",children:[(0,r.jsx)("h3",{className:"text-xl font-semibold text-gray-900 dark:text-white",children:n.name}),(0,r.jsxs)("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:[n.path," • ",n.method.toUpperCase()]}),n.description&&(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-300 mt-2",children:n.description})]}),(0,r.jsx)(ea,{requestSchema:n.requestSchema||null,onInputChange:e=>{i(e)}}),(0,r.jsxs)("div",{children:[p&&(0,r.jsx)(N,{variant:"destructive",className:"mb-4",children:(0,r.jsx)(_,{children:(0,r.jsxs)("div",{className:"whitespace-pre-line",children:[(0,r.jsx)("span",{className:"font-medium",children:"Error:"}),(0,r.jsx)("br",{}),p]})})}),c&&(0,r.jsx)(es,{responseSchema:null==(a=n.responseSchema)||null==(t=a.properties)?void 0:t.outputs,responseData:c})]}),(0,r.jsx)("div",{className:"mt-6 pt-4 border-t",children:(0,r.jsx)(M,{disabled:o,onClick:h,children:o?"Executing...":"Execute Flow"})})]})}var el=a(8827),ei=a(3736);function eo(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card",className:o("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...a})}function ed(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-header",className:o("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...a})}function ec(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-title",className:o("leading-none font-semibold",t),...a})}function eu(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-description",className:o("text-muted-foreground text-sm",t),...a})}function em(e){let{className:t,...a}=e;return(0,r.jsx)("div",{"data-slot":"card-content",className:o("px-6",t),...a})}var ex=a(9051);function ep(e){let{className:t,children:a,...s}=e;return(0,r.jsxs)(ex.bL,{"data-slot":"scroll-area",className:o("relative",t),...s,children:[(0,r.jsx)(ex.LM,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:a}),(0,r.jsx)(ef,{}),(0,r.jsx)(ex.OK,{})]})}function ef(e){let{className:t,orientation:a="vertical",...s}=e;return(0,r.jsx)(ex.VM,{"data-slot":"scroll-area-scrollbar",orientation:a,className:o("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),...s,children:(0,r.jsx)(ex.lr,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}var eh=a(5657),eg=a(5736),ev=a(492),eb=a(1154),ej=a(2486),ey=a(4011);function ew(e){let{className:t,...a}=e;return(0,r.jsx)(ey.bL,{"data-slot":"avatar",className:o("relative flex size-8 shrink-0 overflow-hidden rounded-full",t),...a})}function eN(e){let{className:t,...a}=e;return(0,r.jsx)(ey.H4,{"data-slot":"avatar-fallback",className:o("bg-muted flex size-full items-center justify-center rounded-full",t),...a})}var ek=a(1007);function e_(e){let{mediaType:t,filename:a,url:s,size:n}=e;if(!s)return null;let l=null==t?void 0:t.startsWith("image/");return(0,r.jsx)("div",{className:"border rounded p-2 bg-background",children:l?(0,r.jsx)("img",{src:s,alt:a||"Attached image",className:"max-w-full h-auto rounded",style:{maxHeight:"200px"}}):(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,r.jsx)(ev.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:a||"Attachment"}),t&&(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",t,")"]}),n&&(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["- ","".concat((n/1048576).toFixed(1)," MB")]})]})})}function eC(e){let{message:t}=e,a="user"===t.role,n=(0,s.useMemo)(()=>{var e;return t.content||(null==(e=t.parts)?void 0:e.filter(e=>"text"===e.type).map(e=>"text"in e?e.text:"").join(""))||""},[t]),l=(0,s.useMemo)(()=>{var e;return t.files||t.experimental_attachments||(null==(e=t.parts)?void 0:e.filter(e=>"file"===e.type))||[]},[t]);return(0,r.jsxs)("div",{className:"flex gap-3 w-full ".concat(a?"justify-end":"justify-start"),children:[!a&&(0,r.jsx)(ew,{className:"h-8 w-8 flex-shrink-0",children:(0,r.jsx)(eN,{children:(0,r.jsx)(eh.A,{className:"h-4 w-4"})})}),(0,r.jsxs)("div",{className:"flex-1 max-w-[75%] space-y-2",children:[n&&(0,r.jsx)("div",{className:"rounded-lg px-3 py-2 text-sm whitespace-pre-wrap break-words ".concat(a?"bg-primary text-primary-foreground":"bg-muted"),children:n}),l.map((e,t)=>(0,r.jsx)(e_,{mediaType:e.mediaType,filename:e.filename,url:e.url,size:e.size},"".concat(e.filename,"-").concat(t)))]}),a&&(0,r.jsx)(ew,{className:"h-8 w-8 flex-shrink-0",children:(0,r.jsx)(eN,{children:(0,r.jsx)(ek.A,{className:"h-4 w-4"})})})]})}var eS=a(4416);function ez(e){let{files:t,onRemoveFile:a,onClearAll:s}=e;return(0,r.jsxs)("div",{className:"mb-3 p-2 bg-muted rounded",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsxs)("span",{className:"text-sm font-medium",children:["Attachments (",t.length,")"]}),(0,r.jsx)(M,{type:"button",variant:"ghost",size:"sm",onClick:s,className:"h-6 px-2",children:"Clear all"})]}),(0,r.jsx)("div",{className:"space-y-1",children:t.map((e,t)=>{let s;return(0,r.jsxs)("div",{className:"flex items-center justify-between bg-background rounded p-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,r.jsx)(ev.A,{className:"h-4 w-4 flex-shrink-0"}),(0,r.jsx)("span",{className:"text-sm truncate",children:e.filename}),(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(s=e.size||0,"".concat((s/1048576).toFixed(1)," MB")),")"]})]}),(0,r.jsx)(M,{type:"button",variant:"ghost",size:"sm",onClick:()=>a(t),className:"h-6 w-6 p-0 flex-shrink-0","aria-label":"Remove ".concat(e.filename),children:(0,r.jsx)(eS.A,{className:"h-3 w-3"})})]},"".concat(e.filename,"-").concat(t))})})]})}let eA=()=>"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,12));function eE(e){let{flow:t}=e,[a,n]=(0,s.useState)(()=>eA()),[l,i]=(0,s.useState)(""),[o,d]=(0,s.useState)([]),[c,u]=(0,s.useState)(null),[m,p]=(0,s.useState)(null),f=(0,s.useRef)(null),h=(0,s.useRef)(null),g=(0,s.useRef)(null),v=(0,s.useMemo)(()=>new ei.rL({api:"".concat(x.getBaseUrl().replace(/\/$/,"")).concat(t.path)}),[t.path]),{messages:b,sendMessage:j,status:y,error:w,setMessages:N}=(0,el.Y_)({id:a,transport:v,onFinish:()=>{p(null)}}),k="streaming"===y||"submitted"===y,_=("ready"===y||"error"===y)&&(l.trim()||o.length>0),C=(0,s.useCallback)(()=>{var e;null==(e=g.current)||e.scrollIntoView({behavior:"smooth"})},[]);(0,s.useEffect)(()=>{C()},[b,C]),(0,s.useEffect)(()=>{w&&m&&(i(m.input),d(m.files),p(null),N(e=>((e=e.filter(e=>e.parts.length>0)).length>0&&e.pop(),e)))},[w,m]),(0,s.useEffect)(()=>{var e;"ready"===y&&(null==(e=f.current)||e.focus())},[y]);let z=(0,s.useCallback)(()=>{i(""),d([]),u(null),h.current&&(h.current.value="")},[]),A=(0,s.useCallback)(()=>{n(eA()),N([]),p(null),z()},[N,z]),E=(0,s.useCallback)(e=>new Promise((t,a)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=a,r.readAsDataURL(e)}),[]),T=(0,s.useCallback)(async e=>{let t=e.target.files;if(t){u(null);try{let e=await Promise.all(Array.from(t).map(async e=>{let t=await E(e);return{type:"file",mediaType:e.type||"application/octet-stream",filename:e.name,url:t,size:e.size}}));d(t=>[...t,...e])}catch(t){let e=t instanceof Error?t.message:"Unknown error occurred";u("Failed to process files: ".concat(e))}}},[E]),q=(0,s.useCallback)(e=>{d(t=>t.filter((t,a)=>a!==e))},[]),U=(0,s.useCallback)(()=>{d([]),h.current&&(h.current.value="")},[]),O=(0,s.useCallback)(async e=>{if(e.preventDefault(),!_)return;let t=l.trim(),a=[...o];p({input:t,files:a}),z(),a.length>0?await j({role:"user",parts:[{type:"text",text:t||"[Files attached]"},...a.map(e=>({type:"file",mediaType:e.mediaType,filename:e.filename,url:e.url,size:e.size}))]}):await j({text:t})},[_,l,o,j,z]);return(0,r.jsxs)(eo,{className:"w-full max-w-4xl mx-auto h-[calc(100vh-12rem)] flex flex-col",children:[(0,r.jsx)(ed,{className:"flex-shrink-0",children:(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)(ec,{className:"flex items-center gap-2",children:[(0,r.jsx)(eh.A,{className:"h-5 w-5"}),t.name]}),t.description&&(0,r.jsx)(eu,{children:t.description})]}),(0,r.jsxs)(M,{variant:"outline",size:"sm",onClick:A,disabled:k,className:"flex items-center gap-2",children:[(0,r.jsx)(eg.A,{className:"h-4 w-4"}),"New Conversation"]})]})}),(0,r.jsxs)(em,{className:"flex-1 flex flex-col p-0 min-h-0",children:[(0,r.jsx)(ep,{className:"flex-1 min-h-0",children:(0,r.jsxs)("div",{className:"space-y-4 p-4",children:[0===b.length?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[400px] text-center text-muted-foreground",children:[(0,r.jsx)(eh.A,{className:"h-12 w-12 mb-4 opacity-50"}),(0,r.jsx)("p",{children:"Start a conversation!"})]}):b.map(e=>(0,r.jsx)(eC,{message:e},e.id)),(0,r.jsx)("div",{ref:g})]})}),(0,r.jsxs)("div",{className:"border-t p-4",children:[w&&(0,r.jsxs)("div",{className:"mb-3 p-2 bg-destructive/10 text-destructive text-sm rounded",children:["Error: ",w.message]}),c&&(0,r.jsx)("div",{className:"mb-3 p-2 bg-destructive/10 text-destructive text-sm rounded",children:c}),o.length>0&&(0,r.jsx)(ez,{files:o,onRemoveFile:q,onClearAll:U}),(0,r.jsxs)("form",{onSubmit:O,className:"flex gap-2",children:[(0,r.jsx)("input",{ref:h,type:"file",multiple:!0,onChange:T,className:"hidden",accept:"*"}),(0,r.jsx)(M,{type:"button",variant:"outline",size:"icon",onClick:()=>{var e;return null==(e=h.current)?void 0:e.click()},disabled:k,"aria-label":"Attach file",children:(0,r.jsx)(ev.A,{className:"h-4 w-4"})}),(0,r.jsx)(S,{ref:f,value:l,onChange:e=>i(e.target.value),onKeyDown:e=>{"Enter"===e.key&&!e.shiftKey&&_&&(e.preventDefault(),O(e))},disabled:k,placeholder:"Type your message... (Enter to send, Shift+Enter for new line)",className:"flex-1",autoFocus:!0}),(0,r.jsx)(M,{type:"submit",disabled:!_,size:"icon","aria-label":"Send message",children:k?(0,r.jsx)(eb.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(ej.A,{className:"h-4 w-4"})})]})]})]})]})}function eT(){var e;let{spec:t,isLoading:a,error:s}=f(),n=function(e){if(!(null==e?void 0:e.paths))return[];let t=[];return Object.entries(e.paths).forEach(a=>{let[r,s]=a;s&&["get","post","put","delete","patch","head","options","trace"].forEach(a=>{var n;let l=s[a];if(l&&(r.startsWith("/flows/")||(null==(n=l.tags)?void 0:n.includes("flow")))){let s,n=r.endsWith("/chat"),i=r.split("/");s=n?i[i.length-2]:i[i.length-1];let o="".concat(a,"-").concat(r.replace(/[^a-zA-Z0-9]/g,"_")),c=function(e,t){var a;if(!e.requestBody)return null;let r=e.requestBody.content;if(!r)return null;let s=Object.keys(r);if(0===s.length)return null;let n=null==(a=r[s[0]])?void 0:a.schema;return n?d(n,t):null}(l,e),u=function(e,t){var a;if(!e.responses)return null;let r=e.responses["200"];if(!r)return null;let s=r.content;if(!s)return null;let n=Object.keys(s);if(0===n.length)return null;let l=null==(a=s[n[0]])?void 0:a.schema;return l?d(l,t):null}(l,e);t.push({id:o,name:s.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "),path:r,method:a,mode:n?"Chat":"Complete",description:l.description||l.summary,operationId:l.operationId,tags:l.tags||[],requestSchema:c,responseSchema:u})}})}),t}(t||{});if(a)return(0,r.jsx)("p",{className:"text-muted-foreground text-sm",children:"Loading flows..."});if(s)return(0,r.jsxs)(N,{variant:"destructive",children:[(0,r.jsx)(C.A,{className:"h-4 w-4"}),(0,r.jsx)(k,{children:"Failed to load flows"}),(0,r.jsx)(_,{children:s.message})]});if(!n.length)return(0,r.jsxs)(N,{children:[(0,r.jsx)(C.A,{className:"h-4 w-4"}),(0,r.jsx)(k,{children:"No flows found"}),(0,r.jsx)(_,{children:'No flows were found in the API specification. Make sure your FastAPI server has endpoints tagged with "flow" or paths starting with "/flows/".'})]});if(1===n.length){let e=n[0];return(0,r.jsx)("div",{className:"w-full",children:"Chat"===e.mode?(0,r.jsx)(eE,{flow:e}):(0,r.jsx)(en,{flow:e})})}return(0,r.jsx)("div",{className:"w-full",children:(0,r.jsxs)(g,{defaultValue:null==(e=n[0])?void 0:e.id,className:"w-full",children:[(0,r.jsx)(v,{className:"grid w-full",style:{gridTemplateColumns:"repeat(".concat(n.length,", minmax(0, 1fr))")},children:n.map(e=>(0,r.jsx)(b,{value:e.id,className:"text-sm",children:e.name},e.id))}),n.map(e=>(0,r.jsx)(j,{value:e.id,className:"mt-6",children:"Chat"===e.mode?(0,r.jsx)(eE,{flow:e}):(0,r.jsx)(en,{flow:e})},e.id))]})})}function eq(){var e,t;let{spec:a,isLoading:n}=f(),l=(null==a||null==(e=a.info)?void 0:e.title)||"QType Frontend";return(0,s.useEffect)(()=>{n||(document.title=l)},[l,n]),(0,r.jsx)("div",{className:"font-sans min-h-screen p-6 sm:p-8",children:(0,r.jsxs)("main",{className:"max-w-6xl mx-auto space-y-6",children:[(0,r.jsxs)("div",{className:"text-center border-b pb-4",children:[(0,r.jsx)("h1",{className:"text-4xl font-bold text-gray-900 dark:text-white mb-2",children:l}),(null==a||null==(t=a.info)?void 0:t.description)&&(0,r.jsx)("p",{className:"text-gray-600 dark:text-gray-400 text-lg",children:a.info.description})]}),(0,r.jsx)(eT,{})]})})}}},e=>{e.O(0,[803,736,441,964,358],()=>e(e.s=2941)),_N_E=e.O()}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[803],{3736:(e,t,a)=>{a.d(t,{rL:()=>ee,vl:()=>et});var s,r=a(7013),o=a(9143),i=a(3201),l=Object.defineProperty,n=Symbol.for("vercel.ai.error.AI_NoOutputSpecifiedError");o.bD;Symbol.for("vercel.ai.error.AI_InvalidArgumentError");o.bD;Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");o.bD;Symbol.for("vercel.ai.error.AI_InvalidToolInputError");o.bD;Symbol.for("vercel.ai.error.AI_MCPClientError");o.bD;Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");o.bD;var u="AI_NoObjectGeneratedError",d=`vercel.ai.error.${u}`,p=Symbol.for(d),c=class extends o.bD{constructor({message:e="No object generated.",cause:t,text:a,response:r,usage:o,finishReason:i}){super({name:u,message:e,cause:t}),this[s]=!0,this.text=a,this.response=r,this.usage=o,this.finishReason=i}static isInstance(e){return o.bD.hasMarker(e,d)}};s=p;Symbol.for("vercel.ai.error.AI_NoSuchToolError");o.bD;Symbol.for("vercel.ai.error.AI_ToolCallRepairError");o.bD,o.bD;Symbol.for("vercel.ai.error.AI_InvalidDataContentError");o.bD;Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");o.bD;Symbol.for("vercel.ai.error.AI_MessageConversionError");o.bD;Symbol.for("vercel.ai.error.AI_DownloadError");o.bD;Symbol.for("vercel.ai.error.AI_RetryError");o.bD;var h=i.KC([i.Yj(),i.Nl(Uint8Array),i.Nl(ArrayBuffer),i.Ie(e=>{var t,a;return null!=(a=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&a},{message:"Must be a Buffer"})]),m=i.RZ(()=>i.KC([i.ch(),i.Yj(),i.ai(),i.zM(),i.g1(i.Yj(),m),i.YO(m)])),I=i.g1(i.Yj(),i.g1(i.Yj(),m)),g=i.Ik({type:i.eu("text"),text:i.Yj(),providerOptions:I.optional()}),v=i.Ik({type:i.eu("image"),image:i.KC([h,i.Nl(URL)]),mediaType:i.Yj().optional(),providerOptions:I.optional()}),E=i.Ik({type:i.eu("file"),data:i.KC([h,i.Nl(URL)]),filename:i.Yj().optional(),mediaType:i.Yj(),providerOptions:I.optional()}),y=i.Ik({type:i.eu("reasoning"),text:i.Yj(),providerOptions:I.optional()}),b=i.Ik({type:i.eu("tool-call"),toolCallId:i.Yj(),toolName:i.Yj(),input:i.L5(),providerOptions:I.optional(),providerExecuted:i.zM().optional()}),f=i.gM("type",[i.Ik({type:i.eu("text"),value:i.Yj()}),i.Ik({type:i.eu("json"),value:m}),i.Ik({type:i.eu("error-text"),value:i.Yj()}),i.Ik({type:i.eu("error-json"),value:m}),i.Ik({type:i.eu("content"),value:i.YO(i.KC([i.Ik({type:i.eu("text"),text:i.Yj()}),i.Ik({type:i.eu("media"),data:i.Yj(),mediaType:i.Yj()})]))})]),_=i.Ik({type:i.eu("tool-result"),toolCallId:i.Yj(),toolName:i.Yj(),output:f,providerOptions:I.optional()}),T=i.Ik({role:i.eu("system"),content:i.Yj(),providerOptions:I.optional()}),C=i.Ik({role:i.eu("user"),content:i.KC([i.Yj(),i.YO(i.KC([g,v,E]))]),providerOptions:I.optional()}),M=i.Ik({role:i.eu("assistant"),content:i.KC([i.Yj(),i.YO(i.KC([g,E,y,b,_]))]),providerOptions:I.optional()}),x=i.Ik({role:i.eu("tool"),content:i.YO(_),providerOptions:I.optional()});i.KC([T,C,M,x]),(0,r.hK)({prefix:"aitxt",size:24}),TransformStream;var R=i.KC([i.re({type:i.eu("text-start"),id:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.eu("text-delta"),id:i.Yj(),delta:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.eu("text-end"),id:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.eu("error"),errorText:i.Yj()}),i.re({type:i.eu("tool-input-start"),toolCallId:i.Yj(),toolName:i.Yj(),providerExecuted:i.zM().optional(),dynamic:i.zM().optional()}),i.re({type:i.eu("tool-input-delta"),toolCallId:i.Yj(),inputTextDelta:i.Yj()}),i.re({type:i.eu("tool-input-available"),toolCallId:i.Yj(),toolName:i.Yj(),input:i.L5(),providerExecuted:i.zM().optional(),providerMetadata:I.optional(),dynamic:i.zM().optional()}),i.re({type:i.eu("tool-input-error"),toolCallId:i.Yj(),toolName:i.Yj(),input:i.L5(),providerExecuted:i.zM().optional(),providerMetadata:I.optional(),dynamic:i.zM().optional(),errorText:i.Yj()}),i.re({type:i.eu("tool-output-available"),toolCallId:i.Yj(),output:i.L5(),providerExecuted:i.zM().optional(),dynamic:i.zM().optional()}),i.re({type:i.eu("tool-output-error"),toolCallId:i.Yj(),errorText:i.Yj(),providerExecuted:i.zM().optional(),dynamic:i.zM().optional()}),i.re({type:i.eu("reasoning"),text:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.eu("reasoning-start"),id:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.eu("reasoning-delta"),id:i.Yj(),delta:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.eu("reasoning-end"),id:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.eu("reasoning-part-finish")}),i.re({type:i.eu("source-url"),sourceId:i.Yj(),url:i.Yj(),title:i.Yj().optional(),providerMetadata:I.optional()}),i.re({type:i.eu("source-document"),sourceId:i.Yj(),mediaType:i.Yj(),title:i.Yj(),filename:i.Yj().optional(),providerMetadata:I.optional()}),i.re({type:i.eu("file"),url:i.Yj(),mediaType:i.Yj(),providerMetadata:I.optional()}),i.re({type:i.Yj().startsWith("data-"),id:i.Yj().optional(),data:i.L5(),transient:i.zM().optional()}),i.re({type:i.eu("start-step")}),i.re({type:i.eu("finish-step")}),i.re({type:i.eu("start"),messageId:i.Yj().optional(),messageMetadata:i.L5().optional()}),i.re({type:i.eu("finish"),messageMetadata:i.L5().optional()}),i.re({type:i.eu("abort")}),i.re({type:i.eu("message-metadata"),messageMetadata:i.L5()})]);async function A(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await (0,r.N8)({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await (0,r.N8)({text:function(e){let t=["ROOT"],a=-1,s=null;function r(e,r,o){switch(e){case'"':a=r,t.pop(),t.push(o),t.push("INSIDE_STRING");break;case"f":case"t":case"n":a=r,s=r,t.pop(),t.push(o),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a=r,t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"{":a=r,t.pop(),t.push(o),t.push("INSIDE_OBJECT_START");break;case"[":a=r,t.pop(),t.push(o),t.push("INSIDE_ARRAY_START")}}function o(e,s){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":a=s,t.pop()}}function i(e,s){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":a=s,t.pop()}}for(let l=0;l<e.length;l++){let n=e[l];switch(t[t.length-1]){case"ROOT":r(n,l,"FINISH");break;case"INSIDE_OBJECT_START":switch(n){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":a=l,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===n&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===n&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===n&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":r(n,l,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":o(n,l);break;case"INSIDE_STRING":switch(n){case'"':t.pop(),a=l;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:a=l}break;case"INSIDE_ARRAY_START":"]"===n?(a=l,t.pop()):(a=l,r(n,l,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(n){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":a=l,t.pop();break;default:a=l}break;case"INSIDE_ARRAY_AFTER_COMMA":r(n,l,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),a=l;break;case"INSIDE_NUMBER":switch(n){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a=l;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(n,l),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&o(n,l);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&o(n,l);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(n,l);break;default:t.pop()}break;case"INSIDE_LITERAL":{let r=e.substring(s,l+1);"false".startsWith(r)||"true".startsWith(r)||"null".startsWith(r)?a=l:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?o(n,l):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(n,l))}}}let l=e.slice(0,a+1);for(let a=t.length-1;a>=0;a--)switch(t[a]){case"INSIDE_STRING":l+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":l+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":l+="]";break;case"INSIDE_LITERAL":{let t=e.substring(s,e.length);"true".startsWith(t)?l+="true".slice(t.length):"false".startsWith(t)?l+="false".slice(t.length):"null".startsWith(t)&&(l+="null".slice(t.length))}}return l}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}function S(e){return e.type.startsWith("tool-")}function N(e){return e.type.split("-").slice(1).join("-")}async function k({stream:e,onError:t}){let a=e.getReader();try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{a.releaseLock()}}(0,r.hK)({prefix:"aitxt",size:24}),(0,r.hK)({prefix:"aiobj",size:24});var Y=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,a)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){a(e)}}),this.processQueue()})}};(0,r.hK)({prefix:"aiobj",size:24}),o.bD,((e,t)=>{for(var a in t)l(e,a,{get:t[a],enumerable:!0})})({},{object:()=>w,text:()=>j});var j=()=>({type:"text",responseFormat:{type:"text"},parsePartial:async({text:e})=>({partial:e}),parseOutput:async({text:e})=>e}),w=({schema:e})=>{let t=(0,r.mD)(e);return{type:"object",responseFormat:{type:"json",schema:t.jsonSchema},async parsePartial({text:e}){let t=await A(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value};default:{let e=t.state;throw Error(`Unsupported parse state: ${e}`)}}},async parseOutput({text:e},a){let s=await (0,r.N8)({text:e});if(!s.success)throw new c({message:"No object generated: could not parse the response.",cause:s.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let o=await (0,r.ZZ)({value:s.value,schema:t});if(!o.success)throw new c({message:"No object generated: response did not match schema.",cause:o.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});return o.value}}},D=Symbol.for("vercel.ai.error.AI_NoSuchProviderError");o.eM;var O=i._H({name:i.Yj(),version:i.Yj()}),L=i._H({_meta:i.lq(i.Ik({}).loose())}),q=i.Ik({method:i.Yj(),params:i.lq(L)}),F=i._H({experimental:i.lq(i.Ik({}).loose()),logging:i.lq(i.Ik({}).loose()),prompts:i.lq(i._H({listChanged:i.lq(i.zM())})),resources:i.lq(i._H({subscribe:i.lq(i.zM()),listChanged:i.lq(i.zM())})),tools:i.lq(i._H({listChanged:i.lq(i.zM())}))});L.extend({protocolVersion:i.Yj(),capabilities:F,serverInfo:O,instructions:i.lq(i.Yj())});var P=L.extend({nextCursor:i.lq(i.Yj())}),B=i.Ik({name:i.Yj(),description:i.lq(i.Yj()),inputSchema:i.Ik({type:i.eu("object"),properties:i.lq(i.Ik({}).loose())}).loose()}).loose();P.extend({tools:i.YO(B)});var K=i.Ik({type:i.eu("text"),text:i.Yj()}).loose(),U=i.Ik({type:i.eu("image"),data:i.K3(),mimeType:i.Yj()}).loose(),J=i.Ik({uri:i.Yj(),mimeType:i.lq(i.Yj())}).loose(),z=J.extend({text:i.Yj()}),V=J.extend({blob:i.K3()}),W=i.Ik({type:i.eu("resource"),resource:i.KC([z,V])}).loose();L.extend({content:i.YO(i.KC([K,U,W])),isError:i.zM().default(!1).optional()}).or(L.extend({toolResult:i.L5()}));var $=i.Ik({jsonrpc:i.eu("2.0"),id:i.KC([i.Yj(),i.ai().int()])}).merge(q).strict(),G=i.Ik({jsonrpc:i.eu("2.0"),id:i.KC([i.Yj(),i.ai().int()]),result:L}).strict(),H=i.Ik({jsonrpc:i.eu("2.0"),id:i.KC([i.Yj(),i.ai().int()]),error:i.Ik({code:i.ai().int(),message:i.Yj(),data:i.lq(i.L5())})}).strict(),Z=i.Ik({jsonrpc:i.eu("2.0")}).merge(i.Ik({method:i.Yj(),params:i.lq(L)})).strict();async function Q(e){if(null==e)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async e=>{let{name:t,type:a}=e;return{type:"file",mediaType:a,filename:t,url:await new Promise((t,a)=>{let s=new FileReader;s.onload=e=>{var a;t(null==(a=e.target)?void 0:a.result)},s.onerror=e=>a(e),s.readAsDataURL(e)})}}))}i.KC([$,Z,G,H]),o.bD;var X=class{constructor({api:e="/api/chat",credentials:t,headers:a,body:s,fetch:r,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=a,this.body=s,this.fetch=r,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){var a,s,o,i,l;let n=await (0,r.hd)(this.body),u=await (0,r.hd)(this.headers),d=await (0,r.hd)(this.credentials),p=await (null==(a=this.prepareSendMessagesRequest)?void 0:a.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:{...u,...t.headers},credentials:d,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),c=null!=(s=null==p?void 0:p.api)?s:this.api,h=(null==p?void 0:p.headers)!==void 0?p.headers:{...u,...t.headers},m=(null==p?void 0:p.body)!==void 0?p.body:{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},I=null!=(o=null==p?void 0:p.credentials)?o:d,g=null!=(i=this.fetch)?i:globalThis.fetch,v=await g(c,{method:"POST",headers:{"Content-Type":"application/json",...h},body:JSON.stringify(m),credentials:I,signal:e});if(!v.ok)throw Error(null!=(l=await v.text())?l:"Failed to fetch the chat response.");if(!v.body)throw Error("The response body is empty.");return this.processResponseStream(v.body)}async reconnectToStream(e){var t,a,s,o,i;let l=await (0,r.hd)(this.body),n=await (0,r.hd)(this.headers),u=await (0,r.hd)(this.credentials),d=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...l,...e.body},headers:{...n,...e.headers},credentials:u,requestMetadata:e.metadata})),p=null!=(a=null==d?void 0:d.api)?a:`${this.api}/${e.chatId}/stream`,c=(null==d?void 0:d.headers)!==void 0?d.headers:{...n,...e.headers},h=null!=(s=null==d?void 0:d.credentials)?s:u,m=null!=(o=this.fetch)?o:globalThis.fetch,I=await m(p,{method:"GET",headers:c,credentials:h});if(204===I.status)return null;if(!I.ok)throw Error(null!=(i=await I.text())?i:"Failed to fetch the chat response.");if(!I.body)throw Error("The response body is empty.");return this.processResponseStream(I.body)}},ee=class extends X{constructor(e={}){super(e)}processResponseStream(e){return(0,r._Z)({stream:e,schema:R}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},et=class{constructor({generateId:e=r.$C,id:t=e(),transport:a=new ee,messageMetadataSchema:s,dataPartSchemas:o,state:i,onError:l,onToolCall:n,onFinish:u,onData:d,sendAutomaticallyWhen:p}){this.activeResponse=void 0,this.jobExecutor=new Y,this.sendMessage=async(e,t)=>{var a,s,r,o;let i;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(a=this.lastMessage)?void 0:a.id,...t});if(i="text"in e||"files"in e?{parts:[...Array.isArray(e.files)?e.files:await Q(e.files),..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}:e,null!=e.messageId){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw Error(`message with id ${e.messageId} not found`);if("user"!==this.state.messages[t].role)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...i,id:e.messageId,role:null!=(s=i.role)?s:"user",metadata:e.metadata})}else this.state.pushMessage({...i,id:null!=(r=i.id)?r:this.generateId(),role:null!=(o=i.role)?o:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let a=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===a)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[a].role?a:a+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolResult=async({tool:e,toolCallId:t,output:a})=>this.jobExecutor.run(async()=>{var e,s;let r=this.state.messages,o=r[r.length-1];this.state.replaceMessage(r.length-1,{...o,parts:o.parts.map(e=>S(e)&&e.toolCallId===t?{...e,state:"output-available",output:a}:e)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(e=>S(e)&&e.toolCallId===t?{...e,state:"output-available",output:a,errorText:void 0}:e)),"streaming"!==this.status&&"submitted"!==this.status&&(null==(e=this.sendAutomaticallyWhen)?void 0:e.call(this,{messages:this.state.messages}))&&this.makeRequest({trigger:"submit-message",messageId:null==(s=this.lastMessage)?void 0:s.id})}),this.stop=async()=>{var e;("streaming"===this.status||"submitted"===this.status)&&(null==(e=this.activeResponse)?void 0:e.abortController)&&this.activeResponse.abortController.abort()},this.id=t,this.transport=a,this.generateId=e,this.messageMetadataSchema=s,this.dataPartSchemas=o,this.state=i,this.onError=l,this.onToolCall=n,this.onFinish=u,this.onData=d,this.sendAutomaticallyWhen=p}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async makeRequest({trigger:e,metadata:t,headers:a,body:s,messageId:o}){var i,l,n;this.setStatus({status:"submitted",error:void 0});let u=this.lastMessage;try{let l,n={state:function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}({lastMessage:this.state.snapshot(u),messageId:this.generateId()}),abortController:new AbortController};if(this.activeResponse=n,"resume-stream"===e){let e=await this.transport.reconnectToStream({chatId:this.id,metadata:t,headers:a,body:s});if(null==e)return void this.setStatus({status:"ready"});l=e}else l=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:n.abortController.signal,metadata:t,headers:a,body:s,trigger:e,messageId:o});let d=e=>this.jobExecutor.run(()=>e({state:n.state,write:()=>{var e;this.setStatus({status:"streaming"}),n.state.message.id===(null==(e=this.lastMessage)?void 0:e.id)?this.state.replaceMessage(this.state.messages.length-1,n.state.message):this.state.pushMessage(n.state.message)}}));await k({stream:function({stream:e,messageMetadataSchema:t,dataPartSchemas:a,runUpdateMessageJob:s,onError:o,onToolCall:i,onData:l}){return e.pipeThrough(new TransformStream({async transform(e,n){await s(async({state:s,write:u})=>{var d,p,c,h;function m(e){let t=s.message.parts.filter(S).find(t=>t.toolCallId===e);if(null==t)throw Error("tool-output-error must be preceded by a tool-input-available");return t}function I(e){let t=s.message.parts.filter(e=>"dynamic-tool"===e.type).find(t=>t.toolCallId===e);if(null==t)throw Error("tool-output-error must be preceded by a tool-input-available");return t}function g(e){var t;let a=s.message.parts.find(t=>S(t)&&t.toolCallId===e.toolCallId);null!=a?(a.state=e.state,a.input=e.input,a.output=e.output,a.errorText=e.errorText,a.rawInput=e.rawInput,a.providerExecuted=null!=(t=e.providerExecuted)?t:a.providerExecuted,null!=e.providerMetadata&&"input-available"===a.state&&(a.callProviderMetadata=e.providerMetadata)):s.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,...null!=e.providerMetadata?{callProviderMetadata:e.providerMetadata}:{}})}function v(e){var t;let a=s.message.parts.find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);null!=a?(a.state=e.state,a.toolName=e.toolName,a.input=e.input,a.output=e.output,a.errorText=e.errorText,a.rawInput=null!=(t=e.rawInput)?t:a.rawInput,null!=e.providerMetadata&&"input-available"===a.state&&(a.callProviderMetadata=e.providerMetadata)):s.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,...null!=e.providerMetadata?{callProviderMetadata:e.providerMetadata}:{}})}async function E(e){if(null!=e){let a=null!=s.message.metadata?function e(t,a){if(void 0===t&&void 0===a)return;if(void 0===t)return a;if(void 0===a)return t;let s={...t};for(let r in a)if(Object.prototype.hasOwnProperty.call(a,r)){let o=a[r];if(void 0===o)continue;let i=r in t?t[r]:void 0,l=null!==o&&"object"==typeof o&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),n=null!=i&&"object"==typeof i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp);l&&n?s[r]=e(i,o):s[r]=o}return s}(s.message.metadata,e):e;null!=t&&await (0,r.k5)({value:a,schema:t}),s.message.metadata=a}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};s.activeTextParts[e.id]=t,s.message.parts.push(t),u();break}case"text-delta":{let t=s.activeTextParts[e.id];t.text+=e.delta,t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,u();break}case"text-end":{let t=s.activeTextParts[e.id];t.state="done",t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,delete s.activeTextParts[e.id],u();break}case"reasoning-start":{let t={type:"reasoning",text:"",providerMetadata:e.providerMetadata,state:"streaming"};s.activeReasoningParts[e.id]=t,s.message.parts.push(t),u();break}case"reasoning-delta":{let t=s.activeReasoningParts[e.id];t.text+=e.delta,t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,u();break}case"reasoning-end":{let t=s.activeReasoningParts[e.id];t.providerMetadata=null!=(h=e.providerMetadata)?h:t.providerMetadata,t.state="done",delete s.activeReasoningParts[e.id],u();break}case"file":s.message.parts.push({type:"file",mediaType:e.mediaType,url:e.url}),u();break;case"source-url":s.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),u();break;case"source-document":s.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),u();break;case"tool-input-start":{let t=s.message.parts.filter(S);s.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic},e.dynamic?v({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted}),u();break}case"tool-input-delta":{let t=s.partialToolCalls[e.toolCallId];t.text+=e.inputTextDelta;let{value:a}=await A(t.text);t.dynamic?v({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:a}):g({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:a}),u();break}case"tool-input-available":e.dynamic?v({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),u(),i&&!e.providerExecuted&&await i({toolCall:e});break;case"tool-input-error":e.dynamic?v({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata}),u();break;case"tool-output-available":if(e.dynamic){let t=I(e.toolCallId);v({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output})}else{let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:N(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted})}u();break;case"tool-output-error":if(e.dynamic){let t=I(e.toolCallId);v({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText})}else{let t=m(e.toolCallId);g({toolCallId:e.toolCallId,toolName:N(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText})}u();break;case"start-step":s.message.parts.push({type:"step-start"});break;case"finish-step":s.activeTextParts={},s.activeReasoningParts={};break;case"start":null!=e.messageId&&(s.message.id=e.messageId),await E(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&u();break;case"finish":case"message-metadata":await E(e.messageMetadata),null!=e.messageMetadata&&u();break;case"error":null==o||o(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==a?void 0:a[e.type])!=null&&await (0,r.k5)({value:e.data,schema:a[e.type]}),e.transient){null==l||l(e);break}let t=null!=e.id?s.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:s.message.parts.push(e),null==l||l(e),u()}}n.enqueue(e)})}}))}({stream:l,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:d,onError:e=>{throw e}}),onError:e=>{throw e}}),null==(i=this.onFinish)||i.call(this,{message:n.state.message}),this.setStatus({status:"ready"})}catch(e){if("AbortError"===e.name)return this.setStatus({status:"ready"}),null;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{this.activeResponse=void 0}(null==(l=this.sendAutomaticallyWhen)?void 0:l.call(this,{messages:this.state.messages}))&&await this.makeRequest({trigger:"submit-message",messageId:null==(n=this.lastMessage)?void 0:n.id,metadata:t,headers:a,body:s})}}}}]);
@@ -1 +0,0 @@
1
- (()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}},a=!0;try{e[o](i,i.exports,r),a=!1}finally{a&&delete t[o]}return i.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,i)=>{if(o){i=i||0;for(var a=e.length;a>0&&e[a-1][2]>i;a--)e[a]=e[a-1];e[a]=[o,n,i];return}for(var u=1/0,a=0;a<e.length;a++){for(var[o,n,i]=e[a],l=!0,c=0;c<o.length;c++)(!1&i||u>=i)&&Object.keys(r.O).every(e=>r.O[e](o[c]))?o.splice(c--,1):(l=!1,i<u&&(u=i));if(l){e.splice(a--,1);var s=n();void 0!==s&&(t=s)}}return t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var i=Object.create(null);r.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>a[e]=()=>o[e]);return a.default=()=>o,r.d(i,a),i}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>{},r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,i,a)=>{if(e[o])return void e[o].push(n);if(void 0!==i)for(var u,l,c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var d=c[s];if(d.getAttribute("src")==o||d.getAttribute("data-webpack")==t+i){u=d;break}}u||(l=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,r.nc&&u.setAttribute("nonce",r.nc),u.setAttribute("data-webpack",t+i),u.src=r.tu(o)),e[o]=[n];var f=(t,r)=>{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=f.bind(null,u.onerror),u.onload=f.bind(null,u.onload),l&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="./_next/",(()=>{var e={68:0,261:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(261|68)$/.test(t))e[t]=0;else{var i=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=i);var a=r.p+r.u(t),u=Error();r.l(a,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var i=o&&("load"===o.type?"missing":o.type),a=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+i+": "+a+")",u.name="ChunkLoadError",u.type=i,u.request=a,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,i,[a,u,l]=o,c=0;if(a.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(l)var s=l(r)}for(t&&t(o);c<a.length;c++)i=a[c],r.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return r.O(s)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})(),r.nc=void 0})();
@@ -1,3 +0,0 @@
1
- @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(./_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(./_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(./_next/static/media/569ce4b8f30dc480-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_6de60c{font-family:Geist,Geist Fallback;font-style:normal}.__variable_6de60c{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(./_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(./_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(./_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_152ec0{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_152ec0{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
2
-
3
- /*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:host,:root{--color-red-500:oklch(63.7% .237 25.331);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-auto{width:auto;height:auto}.size-full{width:100%;height:100%}.h-\(--cell-size\){height:var(--cell-size)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[1\.15rem\]{height:1.15rem}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100vh-12rem\)\]{height:calc(100vh - 12rem)}.h-auto{height:auto}.h-full{height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-\(--cell-size\){width:var(--cell-size)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-72{width:calc(var(--spacing)*72)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[75\%\]{max-width:75%}.max-w-full{max-width:100%}.min-w-\(--cell-size\){min-width:var(--cell-size)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.animate-spin{animation:var(--animate-spin)}.touch-none{touch-action:none}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-items-start{justify-items:start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-0\.5{row-gap:calc(var(--spacing)*.5)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-l-md{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive,.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-muted{background-color:var(--muted)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-geist-mono)}.font-sans{font-family:var(--font-geist-sans)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground{color:var(--accent-foreground)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring-0,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--cell-size\:--spacing\(8\)\]{--cell-size:calc(var(--spacing)*8)}.group-data-\[focused\=true\]\/day\:relative:is(:where(.group\/day)[data-focused=true] *){position:relative}.group-data-\[focused\=true\]\/day\:z-10:is(:where(.group\/day)[data-focused=true] *){z-index:10}.group-data-\[focused\=true\]\/day\:border-ring:is(:where(.group\/day)[data-focused=true] *){border-color:var(--ring)}.group-data-\[focused\=true\]\/day\:ring-\[3px\]:is(:where(.group\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.group-data-\[focused\=true\]\/day\:ring-ring\/50:is(:where(.group\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-focus\:border-ring:has(:focus){border-color:var(--ring)}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){column-gap:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.aria-selected\:text-muted-foreground[aria-selected=true]{color:var(--muted-foreground)}.data-\[range-end\=true\]\:rounded-md[data-range-end=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:rounded-r-md[data-range-end=true]{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.data-\[range-end\=true\]\:bg-primary[data-range-end=true]{background-color:var(--primary)}.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true]{color:var(--primary-foreground)}.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true]{border-radius:0}.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true]{background-color:var(--accent)}.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true]{color:var(--accent-foreground)}.data-\[range-start\=true\]\:rounded-md[data-range-start=true]{border-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:rounded-l-md[data-range-start=true]{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.data-\[range-start\=true\]\:bg-primary[data-range-start=true]{background-color:var(--primary)}.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true]{color:var(--primary-foreground)}.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true]{background-color:var(--primary)}.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true]{color:var(--primary-foreground)}.data-\[selected\=true\]\:rounded-none[data-selected=true]{border-radius:0}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-\[slot\=alert-description\]\:text-destructive\/90>*)[data-slot=alert-description]{color:color-mix(in oklab,var(--destructive)90%,transparent)}}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}@media (min-width:40rem){.sm\:p-8{padding:calc(var(--spacing)*8)}}@media (min-width:48rem){.md\:flex-row{flex-direction:row}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-gray-900:is(.dark *){background-color:var(--color-gray-900)}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:text-gray-200:is(.dark *){color:var(--color-gray-200)}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:is(.dark *){color:var(--color-gray-400)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-white:is(.dark *){color:var(--color-white)}@media (hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\:hover\:text-accent-foreground:is(.dark *):hover{color:var(--accent-foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.rtl\:\*\*\:\[\.rdp-button\\_next\>svg\]\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\:\*\*\:\[\.rdp-button\\_previous\>svg\]\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(12.9% .042 264.695);--card:oklch(100% 0 0);--card-foreground:oklch(12.9% .042 264.695);--popover:oklch(100% 0 0);--popover-foreground:oklch(12.9% .042 264.695);--primary:oklch(20.8% .042 265.755);--primary-foreground:oklch(98.4% .003 247.858);--secondary:oklch(96.8% .007 247.896);--secondary-foreground:oklch(20.8% .042 265.755);--muted:oklch(96.8% .007 247.896);--muted-foreground:oklch(55.4% .046 257.417);--accent:oklch(96.8% .007 247.896);--accent-foreground:oklch(20.8% .042 265.755);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.9% .013 255.508);--input:oklch(92.9% .013 255.508);--ring:oklch(70.4% .04 256.788);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.4% .003 247.858);--sidebar-foreground:oklch(12.9% .042 264.695);--sidebar-primary:oklch(20.8% .042 265.755);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(96.8% .007 247.896);--sidebar-accent-foreground:oklch(20.8% .042 265.755);--sidebar-border:oklch(92.9% .013 255.508);--sidebar-ring:oklch(70.4% .04 256.788)}.dark{--background:oklch(12.9% .042 264.695);--foreground:oklch(98.4% .003 247.858);--card:oklch(20.8% .042 265.755);--card-foreground:oklch(98.4% .003 247.858);--popover:oklch(20.8% .042 265.755);--popover-foreground:oklch(98.4% .003 247.858);--primary:oklch(92.9% .013 255.508);--primary-foreground:oklch(20.8% .042 265.755);--secondary:oklch(27.9% .041 260.031);--secondary-foreground:oklch(98.4% .003 247.858);--muted:oklch(27.9% .041 260.031);--muted-foreground:oklch(70.4% .04 256.788);--accent:oklch(27.9% .041 260.031);--accent-foreground:oklch(98.4% .003 247.858);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.1% .027 264.364);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.8% .042 265.755);--sidebar-foreground:oklch(98.4% .003 247.858);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(27.9% .041 260.031);--sidebar-accent-foreground:oklch(98.4% .003 247.858);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.1% .027 264.364)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(1turn)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}
Binary file