@vertesia/ui 0.65.0 → 0.66.0

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 (226) hide show
  1. package/lib/esm/core/components/EmptyCollection.js +2 -2
  2. package/lib/esm/core/components/EmptyCollection.js.map +1 -1
  3. package/lib/esm/core/components/InputList.js +2 -2
  4. package/lib/esm/core/components/InputList.js.map +1 -1
  5. package/lib/esm/core/components/SidePanel.js +1 -1
  6. package/lib/esm/core/components/SidePanel.js.map +1 -1
  7. package/lib/esm/core/components/Switch.js +2 -2
  8. package/lib/esm/core/components/Switch.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/calendar.js +0 -1
  10. package/lib/esm/core/components/shadcn/calendar.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/checkbox.js +0 -1
  12. package/lib/esm/core/components/shadcn/checkbox.js.map +1 -1
  13. package/lib/esm/core/components/shadcn/command.js +0 -1
  14. package/lib/esm/core/components/shadcn/command.js.map +1 -1
  15. package/lib/esm/core/components/shadcn/dialog.js +0 -1
  16. package/lib/esm/core/components/shadcn/dialog.js.map +1 -1
  17. package/lib/esm/core/components/shadcn/filters/comboBox.js +18 -0
  18. package/lib/esm/core/components/shadcn/filters/comboBox.js.map +1 -1
  19. package/lib/esm/core/components/shadcn/filters/filterBar.js +38 -17
  20. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  21. package/lib/esm/core/components/shadcn/filters/filters.js +11 -5
  22. package/lib/esm/core/components/shadcn/filters/filters.js.map +1 -1
  23. package/lib/esm/core/components/shadcn/filters/selectFilter.js +1 -1
  24. package/lib/esm/core/components/shadcn/filters/selectFilter.js.map +1 -1
  25. package/lib/esm/core/components/shadcn/filters/stringListFilter.js +24 -0
  26. package/lib/esm/core/components/shadcn/filters/stringListFilter.js.map +1 -0
  27. package/lib/esm/core/components/shadcn/filters/textFilter.js +2 -1
  28. package/lib/esm/core/components/shadcn/filters/textFilter.js.map +1 -1
  29. package/lib/esm/core/components/shadcn/label.js +0 -1
  30. package/lib/esm/core/components/shadcn/label.js.map +1 -1
  31. package/lib/esm/features/agent/PayloadBuilder.js +27 -0
  32. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  33. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +2 -2
  34. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  35. package/lib/esm/features/facets/VEnvironmentFacet.js +24 -0
  36. package/lib/esm/features/facets/VEnvironmentFacet.js.map +1 -0
  37. package/lib/esm/features/facets/VFacetsNav.js +69 -26
  38. package/lib/esm/features/facets/VFacetsNav.js.map +1 -1
  39. package/lib/esm/features/facets/VInteractionFacet.js +45 -0
  40. package/lib/esm/features/facets/VInteractionFacet.js.map +1 -0
  41. package/lib/esm/features/facets/VStringFacet.js +6 -5
  42. package/lib/esm/features/facets/VStringFacet.js.map +1 -1
  43. package/lib/esm/features/facets/VUserFacet.js +6 -6
  44. package/lib/esm/features/facets/VUserFacet.js.map +1 -1
  45. package/lib/esm/features/layout/GenericPageNavHeader.js +1 -1
  46. package/lib/esm/features/magic-pdf/TextPageView.js +1 -2
  47. package/lib/esm/features/magic-pdf/TextPageView.js.map +1 -1
  48. package/lib/esm/features/store/collections/CollectionsTable.js +9 -5
  49. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  50. package/lib/esm/features/store/collections/{CollectionsView.js → CreateCollection.js} +6 -14
  51. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -0
  52. package/lib/esm/features/store/collections/EditCollectionView.js +1 -1
  53. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  54. package/lib/esm/features/store/collections/SelectCollection.js +24 -0
  55. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -0
  56. package/lib/esm/features/store/collections/index.js +2 -2
  57. package/lib/esm/features/store/collections/index.js.map +1 -1
  58. package/lib/esm/features/store/objects/DocumentSearchResults.js +6 -3
  59. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  60. package/lib/esm/features/store/objects/components/ContentOverview.js +14 -14
  61. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  62. package/lib/esm/features/store/objects/components/DocumentIcon.js +7 -10
  63. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  64. package/lib/esm/features/store/objects/components/DocumentInput.js +1 -2
  65. package/lib/esm/features/store/objects/components/DocumentInput.js.map +1 -1
  66. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +4 -2
  67. package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
  68. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +1 -2
  69. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  70. package/lib/esm/features/store/objects/components/SelectDocument.js +9 -3
  71. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  72. package/lib/esm/features/store/objects/components/SelectDocumentModal.js +2 -2
  73. package/lib/esm/features/store/objects/components/SelectDocumentModal.js.map +1 -1
  74. package/lib/esm/features/store/objects/layout/documentLayout.js +2 -2
  75. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  76. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +4 -2
  77. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  78. package/lib/esm/features/store/objects/selection/SelectionActions.js +1 -1
  79. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  80. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +7 -10
  81. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  82. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +1 -1
  83. package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
  84. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +2 -2
  85. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  86. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +1 -1
  87. package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
  88. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +1 -1
  89. package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
  90. package/lib/esm/features/store/types/ContentObjectTypesSearch.js +2 -3
  91. package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
  92. package/lib/esm/features/store/types/ContentObjectTypesTable.js +1 -1
  93. package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
  94. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +2 -2
  95. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  96. package/lib/esm/features/store/types/ObjectSchemaEditor.js +2 -3
  97. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  98. package/lib/esm/features/store/types/TableLayoutEditor.js +1 -1
  99. package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
  100. package/lib/esm/features/store/types/index.js +0 -2
  101. package/lib/esm/features/store/types/index.js.map +1 -1
  102. package/lib/esm/features/user/UserInfo.js +1 -2
  103. package/lib/esm/features/user/UserInfo.js.map +1 -1
  104. package/lib/esm/features/utils/rendition.js +22 -2
  105. package/lib/esm/features/utils/rendition.js.map +1 -1
  106. package/lib/esm/session/UserSession.js +2 -2
  107. package/lib/esm/session/UserSession.js.map +1 -1
  108. package/lib/esm/session/auth/composable.js +1 -1
  109. package/lib/esm/session/auth/composable.js.map +1 -1
  110. package/lib/esm/session/constants.js +3 -0
  111. package/lib/esm/session/constants.js.map +1 -0
  112. package/lib/esm/widgets/codemirror/CodeMirrorEditor.js +2 -2
  113. package/lib/esm/widgets/codemirror/CodeMirrorEditor.js.map +1 -1
  114. package/lib/esm/widgets/properties/PropertiesView.js +4 -2
  115. package/lib/esm/widgets/properties/PropertiesView.js.map +1 -1
  116. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +1 -1
  117. package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
  118. package/lib/tsconfig.tsbuildinfo +1 -1
  119. package/lib/types/core/components/InputList.d.ts +2 -1
  120. package/lib/types/core/components/Switch.d.ts +2 -1
  121. package/lib/types/core/components/shadcn/filters/comboBox.d.ts +5 -0
  122. package/lib/types/core/components/shadcn/filters/stringListFilter.d.ts +10 -0
  123. package/lib/types/core/components/shadcn/filters/types.d.ts +3 -3
  124. package/lib/types/features/agent/PayloadBuilder.d.ts +8 -1
  125. package/lib/types/features/facets/VEnvironmentFacet.d.ts +11 -0
  126. package/lib/types/features/facets/VFacetsNav.d.ts +9 -1
  127. package/lib/types/features/facets/VInteractionFacet.d.ts +14 -0
  128. package/lib/types/features/facets/VStringFacet.d.ts +3 -2
  129. package/lib/types/features/facets/VUserFacet.d.ts +3 -2
  130. package/lib/types/features/store/collections/{CollectionsView.d.ts → CreateCollection.d.ts} +5 -3
  131. package/lib/types/features/store/collections/SelectCollection.d.ts +14 -0
  132. package/lib/types/features/store/collections/index.d.ts +2 -2
  133. package/lib/types/features/store/objects/components/ContentOverview.d.ts +2 -1
  134. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +2 -1
  135. package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts +2 -1
  136. package/lib/types/features/store/objects/layout/documentLayout.d.ts +1 -1
  137. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts +3 -2
  138. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts +2 -1
  139. package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts +2 -1
  140. package/lib/types/features/store/types/index.d.ts +0 -2
  141. package/lib/types/features/utils/rendition.d.ts +1 -1
  142. package/lib/types/session/UserSession.d.ts +2 -2
  143. package/lib/types/session/constants.d.ts +2 -0
  144. package/lib/vertesia-ui-core.js +1 -1
  145. package/lib/vertesia-ui-core.js.map +1 -1
  146. package/lib/vertesia-ui-features.js +1 -1
  147. package/lib/vertesia-ui-features.js.map +1 -1
  148. package/lib/vertesia-ui-session.js +1 -1
  149. package/lib/vertesia-ui-session.js.map +1 -1
  150. package/lib/vertesia-ui-widgets.js +1 -1
  151. package/lib/vertesia-ui-widgets.js.map +1 -1
  152. package/package.json +4 -4
  153. package/src/core/components/EmptyCollection.tsx +26 -24
  154. package/src/core/components/InputList.tsx +3 -1
  155. package/src/core/components/SidePanel.tsx +2 -2
  156. package/src/core/components/Switch.tsx +4 -3
  157. package/src/core/components/shadcn/calendar.tsx +0 -2
  158. package/src/core/components/shadcn/checkbox.tsx +0 -2
  159. package/src/core/components/shadcn/command.tsx +0 -2
  160. package/src/core/components/shadcn/dialog.tsx +0 -2
  161. package/src/core/components/shadcn/filters/comboBox.tsx +73 -0
  162. package/src/core/components/shadcn/filters/filterBar.tsx +41 -17
  163. package/src/core/components/shadcn/filters/filters.tsx +30 -14
  164. package/src/core/components/shadcn/filters/selectFilter.tsx +3 -3
  165. package/src/core/components/shadcn/filters/stringListFilter.tsx +58 -0
  166. package/src/core/components/shadcn/filters/textFilter.tsx +2 -1
  167. package/src/core/components/shadcn/filters/types.ts +3 -3
  168. package/src/core/components/shadcn/label.tsx +0 -2
  169. package/src/features/agent/PayloadBuilder.tsx +34 -1
  170. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +11 -12
  171. package/src/features/facets/VEnvironmentFacet.tsx +42 -0
  172. package/src/features/facets/VFacetsNav.tsx +87 -29
  173. package/src/features/facets/VInteractionFacet.tsx +73 -0
  174. package/src/features/facets/VStringFacet.tsx +7 -6
  175. package/src/features/facets/VUserFacet.tsx +7 -6
  176. package/src/features/layout/GenericPageNavHeader.tsx +1 -1
  177. package/src/features/magic-pdf/TextPageView.tsx +1 -2
  178. package/src/features/store/collections/CollectionsTable.tsx +49 -40
  179. package/src/features/store/collections/{CollectionsView.tsx → CreateCollection.tsx} +15 -42
  180. package/src/features/store/collections/EditCollectionView.tsx +1 -1
  181. package/src/features/store/collections/SelectCollection.tsx +46 -0
  182. package/src/features/store/collections/index.ts +2 -2
  183. package/src/features/store/objects/DocumentSearchResults.tsx +6 -3
  184. package/src/features/store/objects/components/ContentOverview.tsx +33 -95
  185. package/src/features/store/objects/components/DocumentIcon.tsx +27 -14
  186. package/src/features/store/objects/components/DocumentInput.tsx +1 -2
  187. package/src/features/store/objects/components/PropertiesEditorModal.tsx +7 -3
  188. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +2 -2
  189. package/src/features/store/objects/components/SelectDocument.tsx +18 -3
  190. package/src/features/store/objects/components/SelectDocumentModal.tsx +6 -6
  191. package/src/features/store/objects/layout/documentLayout.tsx +2 -2
  192. package/src/features/store/objects/search/DocumentSearchContext.ts +6 -3
  193. package/src/features/store/objects/selection/ObjectsActionContext.tsx +1 -1
  194. package/src/features/store/objects/selection/SelectionActions.tsx +0 -1
  195. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +10 -21
  196. package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +1 -1
  197. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +2 -2
  198. package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +1 -1
  199. package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +1 -1
  200. package/src/features/store/types/ContentObjectTypesSearch.tsx +3 -4
  201. package/src/features/store/types/ContentObjectTypesTable.tsx +3 -1
  202. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +2 -9
  203. package/src/features/store/types/ObjectSchemaEditor.tsx +4 -5
  204. package/src/features/store/types/TableLayoutEditor.tsx +4 -4
  205. package/src/features/store/types/index.ts +0 -2
  206. package/src/features/user/UserInfo.tsx +1 -2
  207. package/src/features/utils/rendition.ts +23 -1
  208. package/src/session/UserSession.ts +2 -2
  209. package/src/session/auth/composable.ts +1 -1
  210. package/src/session/constants.ts +2 -0
  211. package/src/widgets/codemirror/CodeMirrorEditor.tsx +2 -2
  212. package/src/widgets/properties/PropertiesView.tsx +10 -2
  213. package/src/widgets/schema-editor/editor/SchemaEditor.tsx +1 -1
  214. package/lib/esm/features/store/collections/CollectionView.js +0 -53
  215. package/lib/esm/features/store/collections/CollectionView.js.map +0 -1
  216. package/lib/esm/features/store/collections/CollectionsView.js.map +0 -1
  217. package/lib/esm/features/store/types/ContentObjectTypeView.js +0 -158
  218. package/lib/esm/features/store/types/ContentObjectTypeView.js.map +0 -1
  219. package/lib/esm/features/store/types/ContentObjectTypesView.js +0 -55
  220. package/lib/esm/features/store/types/ContentObjectTypesView.js.map +0 -1
  221. package/lib/types/features/store/collections/CollectionView.d.ts +0 -5
  222. package/lib/types/features/store/types/ContentObjectTypeView.d.ts +0 -5
  223. package/lib/types/features/store/types/ContentObjectTypesView.d.ts +0 -8
  224. package/src/features/store/collections/CollectionView.tsx +0 -94
  225. package/src/features/store/types/ContentObjectTypeView.tsx +0 -244
  226. package/src/features/store/types/ContentObjectTypesView.tsx +0 -71
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import r from"clsx";import{AnimatePresence as a,motion as s}from"motion/react";import i,{useMemo as l,useState as o,useEffect as c,createContext as d,useContext as m,useRef as u,useCallback as h,useLayoutEffect as p}from"react";import{cn as g,useToast as f,Button as b,Popover as y,PopoverTrigger as x,PopoverContent as v,Command as w,CommandList as N,CommandGroup as k,CommandItem as C,Modal as S,ModalTitle as j,ModalBody as T,RadioGroup as P,FormItem as _,Input as I,ModalFooter as E,RadioOptionAdapter as $,Spinner as L,Link as U,Card as A,Separator as O,CardContent as D,VTooltip as z,SelectBox as F,InputList as R,useFetch as M,Avatar as V,Table as q,FilterBar as W,TBody as B,SharedState as J,useWatchSharedState as H,useIntersectionObserver as G,ErrorBox as K,useFlag as Q,Styles as Y,useDebounce as X,SidePanel as Z,Divider as ee,TR as te,ConfirmModal as ne,VModalBody as re,Switch as ae,VModalFooter as se,VModal as ie,VModalTitle as le,MessageBox as oe,SelectList as ce,VTabs as de,VTabsBar as me,VTabsPanel as ue,Portal as he,VSelectBox as pe,EmptyCollection as ge,Center as fe,Tabs as be,TabsBar as ye,TabsPanel as xe}from"@vertesia/ui/core";import{AgentMessageType as ve,mergePromptsSchema as we,supportsToolUse as Ne,ImageRenditionFormat as ke,PrincipalType as Ce,ApiKeyTypes as Se,SupportedEmbeddingTypes as je}from"@vertesia/common";import{useUserSession as Te}from"@vertesia/ui/session";import{X as Pe,Circle as _e,AlertCircle as Ie,Clock as Ee,CheckCircle as $e,CopyIcon as Le,Bot as Ue,MessageSquare as Ae,Info as Oe,User as De,ClipboardList as ze,XIcon as Fe,MoreVertical as Re,ExternalLink as Me,DownloadCloudIcon as Ve,TableProperties as qe,LayoutGrid as We,Copy as Be,SquarePen as Je,Download as He,CheckCircleIcon as Ge,UploadIcon as Ke,AlertCircleIcon as Qe,FileIcon as Ye,XCircleIcon as Xe,FolderIcon as Ze,ChevronsUpDown as et,FileText as tt,Maximize2 as nt,ChevronRight as rt,RefreshCw as at,SquareArrowOutUpRight as st,Trash2 as it,Search as lt,FolderClosed as ot,EllipsisVertical as ct,PaperclipIcon as dt,SendIcon as mt,Activity as ut,Cpu as ht,CloudDownload as pt,ChevronsUp as gt,ImageIcon as ft,InfoIcon as bt,AtSignIcon as yt,ChevronsDown as xt}from"lucide-react";import{NavLink as vt,useNavigate as wt,useLocation as Nt}from"@vertesia/ui/router";import kt from"dayjs";import Ct from"react-markdown";import St from"remark-gfm";import jt from"ajv";import{JSONDisplay as Tt,DropZone as Pt,UploadSummary as _t,CodeMirrorEditor as It,ManagedObject as Et,GeneratedForm as $t,useSchema as Lt,SchemaEditor as Ut,PropertiesView as At,Popover as Ot,JSONCode as Dt,XMLViewer as zt}from"@vertesia/ui/widgets";import Ft from"@monaco-editor/react";import Rt from"dayjs/plugin/localizedFormat";import Mt from"dayjs/plugin/relativeTime";import{Md5 as Vt}from"ts-md5";import{FullHeightLayout as qt,SidebarItem as Wt}from"@vertesia/ui/layout";import{ErrorBoundary as Bt}from"react-error-boundary";import{basicSetup as Jt}from"codemirror";import{json as Ht}from"@codemirror/lang-json";function Gt({children:t,secondary:n=!1}){return e("span",{className:n?"bg-secondary text-primary":"text-foreground bg-muted",children:t})}function Kt(e){return e?"array"===e.name?Kt(e.innerType):e:void 0}function Qt({property:n}){return t("div",{className:"flex items-center gap-x-2",children:[e("div",{className:"font-semibold text-gray-600",children:n.name}),n.optional&&e(Gt,{children:"optional"}),e(Gt,{children:n.type.value})]})}function Yt({activities:t}){return e("div",{className:"flex flex-col gap-y-4 divide-y divide-gray-200",children:t.map((t=>e(Zt,{activity:t},t.name)))})}function Xt({code:n,children:r}){return t("div",{className:"flex gap-2 items-center border-b border-b-gray-200 mb-2",children:[e("div",{className:"text-lg font-medium text-gray-900 py-2 ",children:r}),n&&e("div",{children:e(Gt,{children:n})})]})}function Zt({activity:n,headingClass:r,headingRef:a}){return t("div",{className:r,id:n.name,ref:a,children:[e("div",{className:"text-xl font-semibold pt-8",children:n.title}),e("div",{className:"pb-4",children:e(Gt,{children:n.name})}),n.doc&&e("div",{className:"text-gray-700 pb-2",children:n.doc}),t("div",{className:"pb-4",children:[e(Xt,{code:n.paramsType,children:"Parameters"}),e("div",{className:"divide-y divide-gray-100",children:n.params.map((t=>e(en,{property:t},t.name)))})]}),t("div",{className:"pb-4",children:[e(Xt,{children:"Returns"}),e("div",{children:n.returnType?n.returnType.value:"void"})]})]})}function en({property:n,className:a}){const s=l((()=>{const t=Kt(n.type.innerType)??n.type;return"object"===t.name&&t.members?e(nn,{members:t.members}):"enum"===t.name&&t.enum?e(tn,{values:t.enum}):null}),[n.type.innerType]);return t("div",{className:r("py-2",a),children:[e(Qt,{property:n}),n.doc&&e("div",{className:"text-gray-700 text-sm pt-2",children:n.doc}),s&&e("div",{className:"my-2 overflow-hidden",children:s})]})}function tn({values:t}){return e("div",{className:"flex flex-wrap items-center gap-2",children:t.map(((t,n)=>e(Gt,{secondary:!0,children:t},n)))})}function nn({members:n}){return e(an,{className:"rounded-md border border-gray-200",button:n=>t("div",{className:"px-4 py-2 flex items-center gap-x-2 text-sm font-medium hover:text-blue-600",children:[e(sn,{isOpen:n}),e("div",n?{children:"Hide child properties"}:{children:"Show child properties"})]}),body:e(rn,{properties:n})})}function rn({properties:t}){return e("div",{className:"border-l-2 border-l-blue-200 flex flex-col divide-y divide-gray-100 border-t border-t-gray-200",children:t.map((t=>e(en,{property:t,className:"px-4 py-2"},t.name)))})}function an({button:n,body:i,className:l,isInitiallyOpen:c}){const[d,m]=o(c||!1);return t("div",{className:r(d?"block":"inline-block",l),children:[e("button",{className:"p-0 m-0 bg-transparent",onClick:()=>m(!d),children:e(a,{children:n(d)})}),e(a,{children:d&&e(s.div,{className:"overflow-hidden",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:"easeOut"},children:i})})]})}function sn({isOpen:t}){return e(a,{propagate:!0,mode:"wait",children:e(s.div,{className:"font-mono font-semibold text-gray-400 text-lg",initial:{rotate:0},animate:{rotate:t?45:0},transition:{duration:.2},children:"+"},"closeIcon")})}function ln({className:n,inline:r=!1}){return t("div",{className:g("flex items-center gap-1",r?"inline-flex":"",n),children:[e("div",{className:"w-2 h-2 bg-blue-500 rounded-full animate-[jumping_1s_infinite_ease-in-out] hover:bg-blue-600",style:{transform:"translateY(0)",animationRange:"0px -8px"}}),e("div",{className:"w-2 h-2 bg-blue-500 rounded-full animate-[jumping_1s_0.3s_infinite_ease-in-out] hover:bg-blue-600",style:{transform:"translateY(0)",animationRange:"0px -8px"}}),e("div",{className:"w-2 h-2 bg-blue-500 rounded-full animate-[jumping_1s_0.6s_infinite_ease-in-out] hover:bg-blue-600",style:{transform:"translateY(0)",animationRange:"0px -8px"}})]})}function on({className:n,inline:r=!1,color:a="blue"}){const s={blue:"from-blue-400 to-indigo-500 dark:from-blue-500 dark:to-indigo-400",purple:"from-purple-400 to-violet-500 dark:from-purple-500 dark:to-violet-400",teal:"from-teal-400 to-emerald-500 dark:from-teal-500 dark:to-emerald-400",green:"from-green-400 to-emerald-500 dark:from-green-500 dark:to-emerald-400",amber:"from-amber-400 to-orange-500 dark:from-amber-500 dark:to-orange-400"}[a];return t("div",{className:g("flex items-center gap-1.5",r?"inline-flex":"",n),children:[e("div",{className:`w-2 h-2 bg-gradient-to-r ${s} rounded-full animate-[bounce_1.2s_ease-in-out_infinite]`}),e("div",{className:`w-2 h-2 bg-gradient-to-r ${s} rounded-full animate-[bounce_1.2s_ease-in-out_0.2s_infinite]`}),e("div",{className:`w-2 h-2 bg-gradient-to-r ${s} rounded-full animate-[bounce_1.2s_ease-in-out_0.4s_infinite]`})]})}function cn({className:n,size:r="md",color:a="blue"}){const s={blue:"bg-blue-500 dark:bg-blue-400",purple:"bg-purple-500 dark:bg-purple-400",teal:"bg-teal-500 dark:bg-teal-400",green:"bg-green-500 dark:bg-green-400",amber:"bg-amber-500 dark:bg-amber-400"};return t("span",{className:g("relative flex",n),children:[e("span",{className:g("animate-ping absolute inline-flex h-full w-full rounded-full opacity-60",s[a])}),e("span",{className:g("animate-pulse absolute inline-flex h-[80%] w-[80%] rounded-full opacity-80",s[a]),style:{left:"10%",top:"10%",animationDuration:"2s"}}),e("span",{className:g("relative inline-flex rounded-full",s[a],{sm:"w-3 h-3",md:"w-5 h-5",lg:"w-7 h-7"}[r])})]})}function dn({className:t,color:n="blue"}){const[r,a]=o(".");return c((()=>{const e=setInterval((()=>{a((e=>"."===e?"..":".."===e?"...":"."))}),500);return()=>clearInterval(e)}),[]),e("span",{className:g({blue:"text-blue-600 dark:text-blue-400",purple:"text-purple-600 dark:text-purple-400",teal:"text-teal-600 dark:text-teal-400",green:"text-green-600 dark:text-green-400",amber:"text-amber-600 dark:text-amber-400"}[n],"font-bold",t),children:r})}function mn({message:n,className:r,color:a="blue"}){const s={blue:{dot:"bg-blue-500 dark:bg-blue-400",text:"text-blue-700 dark:text-blue-300"},purple:{dot:"bg-purple-500 dark:bg-purple-400",text:"text-purple-700 dark:text-purple-300"},teal:{dot:"bg-teal-500 dark:bg-teal-400",text:"text-teal-700 dark:text-teal-300"},green:{dot:"bg-green-500 dark:bg-green-400",text:"text-green-700 dark:text-green-300"},amber:{dot:"bg-amber-500 dark:bg-amber-400",text:"text-amber-700 dark:text-amber-300"}};return t("div",{className:g("flex items-center gap-2 py-1",r),children:[t("div",{className:"flex space-x-1",children:[e("div",{className:`w-1.5 h-1.5 ${s[a].dot} rounded-full animate-bounce`}),e("div",{className:`w-1.5 h-1.5 ${s[a].dot} rounded-full animate-bounce`,style:{animationDelay:"0.2s"}}),e("div",{className:`w-1.5 h-1.5 ${s[a].dot} rounded-full animate-bounce`,style:{animationDelay:"0.4s"}})]}),e("div",{className:`${s[a].text} font-medium text-xs`,children:n})]})}function un({className:n,color:r="blue",width:a="md",message:s}){const[i,l]=o(15),[d,m]=o("increasing"),[u,h]=o(.4);return c((()=>{let e,t=Date.now();const n=()=>{const r=Date.now(),a=r-t;t=r,l((e=>{const t=u*(a/16);let n="increasing"===d?e+t:e-t;return n>=85?(m("decreasing"),h(.3+.2*Math.random()),85):n<=15?(m("increasing"),h(.3+.2*Math.random()),15):(Math.random()>.99&&h((e=>Math.max(.2,Math.min(.5,e+(.1*Math.random()-.05))))),n)})),e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>{cancelAnimationFrame(e)}}),[d,u]),t("div",{className:g("flex flex-col gap-1",n),children:[s&&e("div",{className:`text-xs font-medium ${{blue:"text-blue-700 dark:text-blue-300",purple:"text-purple-700 dark:text-purple-300",teal:"text-teal-700 dark:text-teal-300",green:"text-green-700 dark:text-green-300",amber:"text-amber-700 dark:text-amber-300"}[r]} mb-1`,children:s}),e("div",{className:g("h-1.5 rounded-full overflow-hidden shadow-inner",{blue:"bg-blue-200 dark:bg-blue-900/30",purple:"bg-purple-200 dark:bg-purple-900/30",teal:"bg-teal-200 dark:bg-teal-900/30",green:"bg-green-200 dark:bg-green-900/30",amber:"bg-amber-200 dark:bg-amber-900/30"}[r],{sm:"w-24",md:"w-32",lg:"w-48",xl:"w-64",full:"w-full"}[a]),children:e("div",{className:g("h-full rounded-full",{blue:"bg-gradient-to-r from-blue-400 to-blue-500 dark:from-blue-500 dark:to-blue-400",purple:"bg-gradient-to-r from-purple-400 to-purple-500 dark:from-purple-500 dark:to-purple-400",teal:"bg-gradient-to-r from-teal-400 to-teal-500 dark:from-teal-500 dark:to-teal-400",green:"bg-gradient-to-r from-green-400 to-green-500 dark:from-green-500 dark:to-green-400",amber:"bg-gradient-to-r from-amber-400 to-amber-500 dark:from-amber-500 dark:to-amber-400"}[r]),style:{width:`${i}%`,transition:"width 150ms cubic-bezier(0.4, 0.0, 0.2, 1)"}})})]})}function hn({className:t,color:n="blue",size:r="md"}){const[a,s]=o(Array(7).fill(50)),i={sm:{width:"w-16",height:"h-4",barWidth:"w-0.5",gap:"gap-[2px]"},md:{width:"w-20",height:"h-5",barWidth:"w-1",gap:"gap-[3px]"},lg:{width:"w-24",height:"h-6",barWidth:"w-1.5",gap:"gap-1"}},l={blue:"bg-gradient-to-b from-blue-400 to-blue-500 dark:from-blue-400 dark:to-blue-500",purple:"bg-gradient-to-b from-purple-400 to-purple-500 dark:from-purple-400 dark:to-purple-500",teal:"bg-gradient-to-b from-teal-400 to-teal-500 dark:from-teal-400 dark:to-teal-500",green:"bg-gradient-to-b from-green-400 to-green-500 dark:from-green-400 dark:to-green-500",amber:"bg-gradient-to-b from-amber-400 to-amber-500 dark:from-amber-400 dark:to-amber-500"};return c((()=>{let e;const t=[1.2,1,1.5,.8,1.3,.9,1.1],n=[0,.5,1,1.5,2,2.5,3];let r=0;const i=()=>{r+=.02;const l=a.map(((e,a)=>10+40*(Math.sin(r*t[a]+n[a])+1)));s(l),e=requestAnimationFrame(i)};return e=requestAnimationFrame(i),()=>{cancelAnimationFrame(e)}}),[]),e("div",{className:g("flex items-end justify-center",i[r].width,i[r].height,i[r].gap,t),children:a.map(((t,a)=>e("div",{className:g(i[r].barWidth,"rounded-full transform-gpu",l[n]),style:{height:`${t}%`,transition:"height 100ms cubic-bezier(0.4, 0.0, 0.2, 1)",opacity:.9}},a)))})}function pn({plan:r,workstreamStatus:a,isOpen:s,onClose:i,plans:l=[],activePlanIndex:o=0,onChangePlan:c=()=>{}}){return s?t("div",{className:"fixed top-24 right-8 bottom-24 z-50 bg-white dark:bg-gray-900 shadow-xl border border-gray-200 dark:border-gray-700 overflow-hidden",style:{width:"350px"},children:[t("div",{className:"flex items-center justify-between p-3 border-b border-gray-200 dark:border-gray-800",children:[e("h3",{className:"font-bold text-gray-800 dark:text-gray-200 text-base",children:"Plan"}),t("button",{className:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full text-gray-500 dark:text-gray-400",onClick:i,children:[e(Pe,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Close"})]})]}),t("div",{className:"p-3 overflow-y-auto",style:{height:"calc(100% - 44px)",maxHeight:"calc(100vh - 150px)"},children:[t("div",{className:"mb-3 p-2 bg-blue-50 dark:bg-blue-900/20 rounded-md border border-blue-100 dark:border-blue-800",children:[e("div",{className:"text-xs font-medium text-blue-700 dark:text-blue-300 mb-1",children:"Task Progress"}),e("div",{className:"flex items-center gap-2",children:(()=>{const s=r.plan||[],i=s.length;let l=0;i>0&&s.forEach((e=>{if(e&&e.id){const t=e.id.toString();"completed"===a.get(t)&&l++}}));const o=i>0?Math.round(l/i*100):0;return t(n,{children:[e("div",{className:"w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2",children:e("div",{className:"bg-blue-600 h-2 rounded-full",style:{width:`${o}%`}})}),e("span",{className:"text-xs text-gray-600 dark:text-gray-400",children:i>0?`${l}/${i}`:"0/0"})]})})()})]}),l.length>1&&t("div",{className:"mb-3 flex items-center justify-between",children:[e("button",{className:"text-xs px-2 py-1 rounded-md bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-300 disabled:opacity-50",onClick:()=>c(Math.min(l.length-1,o+1)),disabled:o>=l.length-1,children:"Older Plan"}),e("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:l[o]?.timestamp?new Date(l[o].timestamp).toLocaleTimeString():"Unknown time"}),e("button",{className:"text-xs px-2 py-1 rounded-md bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-300 disabled:opacity-50",onClick:()=>c(Math.max(0,o-1)),disabled:o<=0,children:"Newer Plan"})]}),t("div",{className:"rounded-md border border-gray-200 dark:border-gray-800",children:[e("div",{className:"p-2 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900/50",children:e("div",{className:"font-medium text-xs",children:"Step-by-Step Plan"})}),e("div",{className:"divide-y divide-gray-100 dark:divide-gray-800 max-h-[calc(100vh-350px)] overflow-y-auto",children:r.plan&&r.plan.length>0?r.plan.map(((n,r)=>{const s=n.id?n.id.toString():`task-${r}`,i=n.goal||`Task ${r+1}`;let l=n.status||"pending";a.has(s)&&(l=a.get(s));let o=_e,c="text-gray-400",d="";return"in_progress"===l?(o=Ee,c="text-blue-500",d="bg-blue-50/50 dark:bg-blue-900/10"):"completed"===l&&(o=$e,c="text-green-500"),t("div",{className:`flex p-3 my-1 ${d}`,children:[e("div",{className:`mr-2 mt-0.5 flex-shrink-0 ${c}`,children:e(o,{className:"h-3.5 w-3.5"})}),t("div",{className:"w-full",children:[e("div",{className:"text-sm font-medium text-gray-800 dark:text-gray-200 mb-2",children:i}),t("div",{className:"mt-1 flex justify-between items-center",children:[e("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300",children:s}),e("span",{className:"ml-2 text-xs px-2 py-0.5 rounded-full "+("completed"===l?"bg-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400":"in_progress"===l?"bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400":"bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400"),children:"completed"===l?"Completed":"in_progress"===l?"In Progress":"Pending"})]})]})]},r)})):t("div",{className:"p-3 text-center text-gray-500 dark:text-gray-400 italic",children:[e(Ie,{className:"h-4 w-4 mx-auto mb-2 text-amber-500"}),e("p",{className:"text-xs",children:"No plan has been detected yet"}),e("p",{className:"text-xs mt-1",children:"Plans will appear here when the agent creates one"})]})})]}),(()=>{const n=new Set((r.plan||[]).filter((e=>e&&e.id)).map((e=>e.id.toString()))),s=Array.from(a.entries()).filter((([e])=>"main"!==e&&!n.has(e)));return s.length>0?t("div",{className:"mt-3 rounded-md border border-gray-200 dark:border-gray-800",children:[e("div",{className:"p-2 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900/50",children:e("div",{className:"font-medium text-xs",children:"Workstreams"})}),e("div",{className:"p-3",children:e("div",{className:"grid grid-cols-1 gap-2",children:s.map((([n,r])=>{let a=_e,s="text-gray-400",i="bg-gray-100 dark:bg-gray-800",l="Pending";return"in_progress"===r?(a=Ee,s="text-blue-500",i="bg-blue-100 dark:bg-blue-800/30",l="In Progress"):"completed"===r&&(a=$e,s="text-green-500",i="bg-green-100 dark:bg-green-800/30",l="Completed"),t("div",{className:`flex items-center p-1.5 rounded ${i}`,children:[e("div",{className:`mr-1.5 ${s}`,children:e(a,{className:"h-3.5 w-3.5"})}),e("div",{className:"flex-1",children:e("span",{className:"text-xs font-medium text-gray-800 dark:text-gray-300",children:n})}),e("span",{className:"text-xs font-medium",children:l})]},n)}))})})]}):null})()]})]}):null}const gn=["Brewing some code magic...","Doing the robot dance...","Cooking up something good...","Working my gears...","Parsing the possibilities...","Crunching the numbers...","Connecting the digital dots...","Processing at maximum capacity...","Searching through my circuits...","Running advanced algorithms...","Computing optimal solutions...","Loading brilliance.exe...","Scanning the knowledge base...","Optimizing response protocols...","Having a quick brainstorm...","Thinking cap firmly on...","Pondering the digital universe...","Consulting my silicon wisdom...","Untangling the logic knots...","Assembling clever responses...","Mixing thoughtful ingredients...","Polishing the perfect answer...","Taking a momentary mind sprint...","Connecting virtual synapses...","Baking fresh ideas...","Stirring the thought pot...","Simmering solutions slowly...","Whipping up a smart response...","Adding a dash of intelligence...","Preparing a gourmet answer...","Growing brilliant ideas...","Cultivating the perfect response...","Gathering digital nectar...","Planting seeds of solutions...","Exploring the data landscape...","Mapping the solution path...","Navigating through possibilities...","Charting the course to answers...","Embarking on a thought expedition...","Sketching out concepts...","Painting with digital brushstrokes...","Composing my response symphony...","Crafting precision answers...","Weaving threads of information...","Just a moment of processing...","Taking a quick thinking break...","Almost there, final touches...","Putting the pieces together...","Making progress, hold tight..."];function fn(e){return e.workstream_id?(e.type===ve.COMPLETE&&console.log("[getWorkstreamId] COMPLETE message with workstream_id:",e.workstream_id),e.workstream_id):(e.type===ve.COMPLETE&&console.log("[getWorkstreamId] COMPLETE message without workstream_id, defaulting to 'main'"),"main")}function bn({message:r,showPulsatingCircle:a=!1}){const[s,i]=o(!1),[l,d]=o(""),[m,u]=o(!1),{client:h}=Te(),p=f(),g=(()=>{const t={containerClass:"bg-white border-l-4 border-l-muted/30 shadow-sm",iconComponent:e(Ue,{className:"size-4 text-muted"}),sender:""};switch(r.type){case ve.ANSWER:return{...t,containerClass:"bg-white border-l-4 border-l-muted/30 shadow-sm",iconComponent:e(Ue,{className:"size-4 text-muted"}),sender:"Agent"};case ve.COMPLETE:return{...t,containerClass:"bg-white border-l-4 border-l-green-500 shadow-sm",iconComponent:e($e,{className:"size-4 text-success"}),sender:"Completed"};case ve.QUESTION:return{...t,iconComponent:e(De,{className:"size-4 text-muted"}),sender:"User"};case ve.THOUGHT:return{...t,iconComponent:a?e(cn,{size:"sm",color:"blue"}):e(Ue,{className:"size-4 text-muted"}),sender:"Agent"};case ve.ERROR:return{...t,iconComponent:e(Ie,{className:"size-4 text-muted"}),sender:"System"};case ve.UPDATE:return{...t,containerClass:"bg-white border-l-4 border-success shadow-sm",iconComponent:e(Oe,{className:"size-4 text-success"}),sender:"Update"};case ve.PLAN:return{...t,iconComponent:e(Ae,{className:"size-4 text-muted"}),sender:"Agent"};default:return{...t,sender:"Agent"}}})(),y=()=>{let e="";if(r.message&&(e="object"==typeof r.message?JSON.stringify(r.message,null,2):r.message.trim?r.message.trim():String(r.message)),"string"==typeof e&&e.includes("%thinking_message%")){const t=Math.floor(Math.random()*gn.length);e=e.replace(/%thinking_message%/g,gn[t])}return e},x=r=>"object"==typeof r?e("pre",{className:"text-xs font-mono whitespace-pre-wrap overflow-x-auto bg-gray-100 dark:bg-gray-800 p-2 rounded text-gray-700 ",children:JSON.stringify(r,null,2)}):e("div",{className:"vprose prose-sm",children:e(Ct,{remarkPlugins:[St],components:{a:({node:t,...n})=>{const r=n.href||"";return r.startsWith("/store/")?e(vt,{href:r,topLevelNav:!0,children:n.children}):e("a",{...n,target:"_blank",rel:"noopener noreferrer"})},img:({node:t,...n})=>e("img",{...n,className:"max-w-full h-auto rounded-lg shadow-md my-3 cursor-pointer hover:shadow-lg transition-shadow",loading:"lazy",onClick:()=>n.src&&window.open(n.src,"_blank")}),code:({node:r,className:a,children:s,...i})=>{const l=/language-(\w+)/.exec(a||""),o=!l,c=l?l[1]:"";return t(n,{children:[!o&&c&&e("div",{className:"code-language-indicator",children:c}),e("code",{...i,children:s})]})},p:t=>e("p",{...t}),strong:t=>e("strong",{...t}),em:t=>e("em",{...t}),pre:t=>e("pre",{...t}),h1:t=>e("h1",{...t}),h2:t=>e("h2",{...t}),h3:t=>e("h3",{...t}),li:t=>e("li",{...t}),ul:t=>e("ul",{...t}),ol:t=>e("ol",{...t}),blockquote:t=>e("blockquote",{...t}),hr:t=>e("hr",{...t}),table:t=>e("div",{className:"overflow-x-auto",children:e("table",{...t})}),th:t=>e("th",{...t}),td:t=>e("td",{...t})},children:r})}),v=y();c((()=>{(async()=>{if(v){u(!0);try{const e=await(async e=>{if("string"!=typeof e)return e;let t=e;t=t.replace(/\[([^\]]+)\]\((store|collection):([a-f\d]{24})\)/gi,((e,t,n,r)=>`[${t}](/store/${"store"===n?"objects":"collections"}/${r})`));const n=Array.from(t.matchAll(/!\[([^\]]*)\]\(image:([^)]+)\)/g)),r=await Promise.all(n.map((async e=>{const[t,n,r]=e;try{return{fullMatch:t,replacement:`![${n}](${(await h.files.getDownloadUrl(r)).url})`}}catch(e){return console.error(`Failed to get download URL for image: ${r}`,e),{fullMatch:t,replacement:t}}})));for(const{fullMatch:e,replacement:n}of r)t=t.replace(e,n);return t})((e=>{if("string"!=typeof e)return e;if(r.type===ve.THOUGHT||"string"==typeof r.message&&(r.message.toLowerCase().includes("thinking about")||r.message.toLowerCase().includes("i'm thinking")||r.message.toLowerCase().includes("💭"))){let t=e;return/\d+\.\s+.+/.test(t)&&(t=t.replace(/(\d+\.\s+.+?)(?=\s+\d+\.\s+|$)/g,"$1\n\n"),t=t.replace(/(\d+\.\s+.+\n)([^\d\n][^:])/g,"$1 $2")),t.includes(":")&&!t.includes("\n\n")&&(t=t.replace(/\b(First|Next|Then|Finally|Lastly|Additionally|Step \d+):\s+/gi,"\n\n$&")),t.includes(" - ")&&(t=t.replace(/\s+-\s+/g,"\n- ")),t}return/\d+\.\s+.+/.test(e)&&!e.includes("\n\n")?e.replace(/(\d+\.\s+.+?)(?=\s+\d+\.\s+|$)/g,"$1\n\n"):e})(v));d(e)}catch(e){console.error("Error processing message content:",e),d(v)}finally{u(!1)}}})()}),[v,h]);const w=fn(r),N=(()=>{switch(r.type){case ve.ANSWER:return"border-l-info bg-info";case ve.COMPLETE:return"border-l-success bg-success";case ve.IDLE:return"border-l-muted bg-muted";case ve.REQUEST_INPUT:return"border-l-attention bg-attention";case ve.QUESTION:return"border-l-muted bg-muted";case ve.THOUGHT:return"border-l-accent dark:border-l-purple-500 bg-purple-50/50 dark:bg-purple-900/10";case ve.ERROR:return"border-l-destructive bg-destructive";case ve.UPDATE:return"border-l-success bg-success";case ve.PLAN:return"border-l-attention bg-attention";default:return"border-l-indigo-500 dark:border-l-indigo-400 bg-indigo-50/50 dark:bg-indigo-900/10"}})();return t("div",{className:`border-l-4 shadow-md overflow-hidden bg-white dark:bg-gray-900 mb-5 ${N}`,"data-workstream-id":w,children:[t("div",{className:"flex items-center justify-between px-4 py-2 border-b border-gray-100/80 dark:border-gray-800/80 bg-white/50 dark:bg-gray-900/50 backdrop-blur-sm",children:[t("div",{className:"flex items-center gap-2",children:[e("div",{className:a?"animate-fadeIn":"",children:(()=>{const t=(()=>{switch(r.type){case ve.ANSWER:return"text-info";case ve.COMPLETE:return"text-success";case ve.IDLE:return"text-muted";case ve.REQUEST_INPUT:return"text-attention";case ve.QUESTION:return"text-muted";case ve.THOUGHT:return"text-purple-600 dark:text-purple-400";case ve.ERROR:return"text-destructive";case ve.UPDATE:return"text-success";case ve.PLAN:return"text-attention";default:return"text-muted"}})(),n=t=>("number"==typeof r.timestamp?r.timestamp:new Date(r.timestamp).getTime())%2==0?e(cn,{size:"sm",color:t}):e(on,{color:t});switch(r.type){case ve.ANSWER:return a?n("blue"):e(Ue,{className:`size-4 ${t}`});case ve.COMPLETE:return e($e,{className:`size-4 ${t}`});case ve.IDLE:return e(Ee,{className:`size-4 ${t}`});case ve.REQUEST_INPUT:case ve.QUESTION:return e(De,{className:`size-4 ${t}`});case ve.THOUGHT:return a?n("purple"):e(Ue,{className:`size-4 ${t}`});case ve.ERROR:return e(Ie,{className:`size-4 ${t}`});case ve.UPDATE:return a?n("green"):e(Oe,{className:`size-4 ${t}`});case ve.PLAN:return a?n("amber"):e(Ae,{className:`size-4 ${t}`});default:return a?n("blue"):e(Ue,{className:`size-4 ${t}`})}})()}),e("span",{className:"text-xs font-medium text-gray-700 ",children:g.sender}),"main"!==w&&"all"!==w&&e("span",{className:"bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded-full text-[10px] font-mono text-muted dark:text-gray-400 border border-gray-200 dark:border-gray-700",children:w})]}),t("div",{className:"flex items-center gap-2",children:[e("span",{className:"text-xs text-gray-400 dark:text-muted",children:kt(r.timestamp).format("HH:mm:ss")}),e(b,{variant:"ghost",size:"xs",onClick:()=>{const e=y()||"",t="string"==typeof r.details?r.details:r.details?JSON.stringify(r.details,null,2):"",n=[e,t?"\n\nDetails:\n"+t:""].join("").trim();navigator.clipboard.writeText(n).then((()=>{p({status:"success",title:"Copied to clipboard",duration:2e3})}))},className:"text-gray-400 hover:text-muted dark:text-muted dark:hover:text-muted/30",title:"Copy message",children:e(Le,{className:"h-3 w-3"})})]})]}),t("div",{className:"px-4 py-3 bg-white dark:bg-gray-900",children:[v&&e("div",{className:"message-content",children:m?t("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[e(on,{color:"blue"}),e("span",{children:"Loading images..."})]}):x(l||v)}),r.details&&t("div",{className:"mt-2",children:[t("button",{onClick:()=>i(!s),className:"text-xs text-muted hover:text-gray-700 dark:text-gray-400 dark:hover:text-muted/30 flex items-center",children:[s?"Hide":"Show"," details",e("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3 w-3 ml-1 transition-transform "+(s?"rotate-180":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),s&&e("div",{className:"mt-2 p-2 bg-gray-50 dark:bg-gray-800 border border-gray-100 dark:border-gray-700 rounded text-sm",children:"string"==typeof r.details?x(r.details):e("pre",{className:"text-xs font-mono whitespace-pre-wrap overflow-x-auto bg-gray-100 dark:bg-gray-800 p-2 rounded text-gray-700 ",children:JSON.stringify(r.details,null,2)})})]})]})]})}function yn({workstreams:n,activeWorkstream:r,onSelectWorkstream:a,count:s,completionStatus:i}){const l=new Map;l.set("all","All Messages"),l.set("main","Main"),n.forEach(((e,t)=>{"all"!==t&&"main"!==t&&"research_france"!==t&&"statistics"!==t&&l.set(t,e)})),n=l;const o=Array.from(n.entries()).sort((([e],[t])=>"all"===e?-1:"all"===t?1:"main"===e?-1:"main"===t?1:e.localeCompare(t))),c=o.length>2;return e("div",c?{className:"flex overflow-x-auto space-x-1 pb-2 mb-2 border-b-2 border-blue-200 dark:border-blue-900 sticky top-0 bg-white dark:bg-gray-900 z-10 pt-1",children:o.map((([n,l])=>t("button",{className:"px-3 py-1.5 text-xs font-medium whitespace-nowrap transition-colors flex items-center gap-1.5\n "+(r===n?"bg-blue-200 text-blue-800 dark:bg-blue-800 dark:text-blue-200 border-b-2 border-blue-500":"text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800/30 border-b-2 border-transparent"),onClick:()=>a(n),title:l.length>20?l:void 0,children:[l.length>20?l.substring(0,18)+"...":l,s&&s.has(n)&&s.get(n)>0&&t("div",{className:"flex items-center space-x-1",children:[e("span",{className:"inline-flex items-center justify-center w-4 h-4 text-xs\n "+(r===n?"bg-blue-200 text-blue-800 dark:bg-blue-800 dark:text-blue-200":"bg-gray-200 text-gray-600 dark:bg-gray-700 dark:text-gray-300"),children:s.get(n)}),i&&"all"!==n&&(i.get(n)?e($e,{className:"h-3 w-3 text-green-500"}):e(Ee,{className:"h-3 w-3 text-amber-500"}))]})]},n)))}:{className:"py-1"})}function xn(e,t){return"all"===t?[...e]:"main"===t?e.filter((e=>"main"===fn(e))):e.filter((e=>fn(e)===t))}function vn({messages:r,bottomRef:a,viewMode:s="stacked",isCompleted:d=!1,plan:m={plan:[]},workstreamStatus:u=new Map,showPlanPanel:h=!1,onTogglePlanPanel:p=()=>{},plans:g=[],activePlanIndex:f=0,onChangePlan:b=()=>{}}){const y=i.useRef(null),[x,v]=o("all");c((()=>{a.current&&a.current.scrollIntoView({behavior:"smooth"})}),[r,a]);const w=i.useMemo((()=>[...r].sort(((e,t)=>("number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime())-("number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime())))),[r]),N=i.useMemo((()=>{const e=function(e){const t=new Map;return t.set("all","All Messages"),t.set("main","Main"),e.forEach((e=>{e.workstream_id&&"main"!==e.workstream_id&&"all"!==e.workstream_id&&!t.has(e.workstream_id)&&(t.set(e.workstream_id,e.workstream_id),console.log(`Found workstream: ${e.workstream_id}`))})),t.size<=2&&!t.has("main")&&t.set("main","Main"),console.log("Final workstreams map:",t),t}(w);return e}),[w]),k=i.useMemo((()=>{const e=new Map;e.set("all",w.length);const t=xn(w,"main");return e.set("main",t.length),w.forEach((t=>{const n=fn(t);"main"!==n&&e.set(n,(e.get(n)||0)+1)})),e}),[w]),C=i.useMemo((()=>"all"===x?w:xn(w,x)),[w,x]),S=l((()=>{const e=new Map,t=new Map;w.forEach((e=>{const n=fn(e);t.has(n)||t.set(n,[]),t.get(n).push(e)}));for(const[n,r]of t.entries())if(r.length>0){const t=r[r.length-1];e.set(n,[ve.COMPLETE,ve.IDLE,ve.REQUEST_INPUT].includes(t.type))}return e}),[w]);return t("div",{ref:y,className:"flex-1 min-h-0 h-full overflow-y-auto py-2 px-4 sm:px-6 lg:px-8 flex flex-col relative","data-testid":"all-messages-mixed",style:h?{paddingRight:"350px"}:{},children:[e(pn,{plan:m,workstreamStatus:u,isOpen:h,onClose:p,plans:g,activePlanIndex:f,onChangePlan:b}),e("div",{className:"sticky top-0 bg-white dark:bg-gray-900 z-10",children:e(yn,{workstreams:N,activeWorkstream:x,onSelectWorkstream:v,count:k,completionStatus:S})}),0===C.length?e("div",{className:"flex items-center justify-center h-full text-center py-8",children:e("div",{className:"flex items-center px-4 py-3 text-gray-500 dark:text-gray-400",children:"all"===x?"Waiting for agent response...":"No messages in this workstream yet..."})}):t("div",{className:"flex-1 flex flex-col justify-start pb-4 space-y-2",children:["stacked"===s?C.map(((t,n)=>{const r=!d&&n===C.length-1&&![ve.COMPLETE,ve.IDLE,ve.REQUEST_INPUT].includes(t.type);return e(bn,{message:t,showPulsatingCircle:r},`${t.timestamp}-${n}`)})):e(n,{children:(()=>{const t=C.filter((e=>e.type===ve.ANSWER||e.type===ve.QUESTION||e.type===ve.COMPLETE||e.type===ve.REQUEST_INPUT)),n=d?null:C.filter((e=>e.type===ve.THOUGHT||e.type===ve.UPDATE||e.type===ve.PLAN)).sort(((e,t)=>{const n="number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime();return("number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime())-n}))[0],r=[...t];return n&&r.push(n),r.sort(((e,t)=>("number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime())-("number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime()))),r.map(((t,n)=>{const a=!d&&n===r.length-1&&![ve.COMPLETE,ve.IDLE,ve.REQUEST_INPUT].includes(t.type);return e(bn,{message:t,showPulsatingCircle:a},`${t.timestamp}-${n}`)}))})()}),e("div",{ref:a,className:"h-4"})]})]})}class wn{vertesia;updateState;_interactive=!0;_start=!1;payload;_interactionParamsSchema;_inputValidator;constructor(e,t){this.vertesia=e,this.updateState=t,this.payload={model:"",tools:[]}}onStateChanged(){const e=this.clone();this.updateState(e)}clone(){const e=new wn(this.vertesia,this.updateState);return e._interactionParamsSchema=this._interactionParamsSchema,e.payload=this.payload,e._interactive=this._interactive,e._inputValidator=this._inputValidator,e._start=this._start,e}get interactive(){return this._interactive}set interactive(e){e!==this._interactive&&(this._interactive=e,this.onStateChanged())}get interaction(){return this.payload.interaction}set interaction(e){e?.id!==this.payload.interaction?.id&&(this.payload.interaction=e,this._interactionParamsSchema=we(this.interaction),this._inputValidator=void 0,e&&(e.environment&&("string"==typeof e.environment?this.vertesia.environments.retrieve(e.environment).then((e=>this.environment=e)):this.payload.environment=e.environment),e.model?this.payload.model=e.model:this.payload.model=this.environment?.default_model&&Ne(this.environment.default_model,this.environment.provider)?this.environment.default_model:void 0),this.onStateChanged())}get environment(){return this.payload.environment}set environment(e){e?.id!==this.payload.environment?.id&&(this.payload.environment=e,this.payload.model=e?.default_model&&Ne(e.default_model,e.provider)?e.default_model:void 0,this.onStateChanged())}get model(){return this.payload.model}set model(e){e!==this.payload.model&&(this.payload.model=e,this.onStateChanged())}get tools(){return this.payload.tools}set tools(e){this.payload.tools=e,this.onStateChanged()}get prompt_data(){return this.payload.prompt_data}set prompt_data(e){this.payload.prompt_data=e,this.onStateChanged()}set run(e){console.log("run",e),this.onStateChanged()}set start(e){this._start!==e&&(this._start=e,this.onStateChanged())}get start(){return this._start}get interactionParamsSchema(){return this._interactionParamsSchema}set interactionParamsSchema(e){this._interactionParamsSchema!==e&&(this._interactionParamsSchema=e,this.onStateChanged())}reset(){if(this._start=!1,this._interactive=!0,this.payload={model:"",tools:[],interaction:void 0,environment:void 0,prompt_data:void 0},this._interactionParamsSchema=null,this._inputValidator=void 0,this.onStateChanged(),location.hash){const e=window.location.origin+window.location.pathname+window.location.search;history.replaceState(null,"",e),location.hash=""}}validateInput(){if(!this._interactionParamsSchema)return{isValid:!0};if(!this._inputValidator||this._inputValidator.schema!==this._interactionParamsSchema){const e=new jt({strict:!1});this._inputValidator={validate:e.compile(this._interactionParamsSchema),schema:this._interactionParamsSchema}}const e=this.payload.prompt_data||{};if(!this._inputValidator.validate(e)){return{isValid:!1,errorMessage:this._inputValidator.validate.errors?this._inputValidator.validate.errors.map((e=>`${e.instancePath}: ${e.message}`)).join(", "):"Invalid payload data"}}return{isValid:!0}}}const Nn=d(void 0);function kn({children:t}){const{client:n}=Te(),[r,a]=o();return c((()=>{a(new wn(n,a))}),[]),r&&e(Nn.Provider,{value:r,children:t})}function Cn(){const e=m(Nn);if(!e)throw new Error("usePayloadBuilder must be used within a PayloadProvider");return e}function Sn({title:n,onClose:r,isModal:a,run:s,viewMode:i,onViewModeChange:l,showPlanPanel:o,hasPlan:c=!1,onTogglePlanPanel:d,onDownload:m,onCopyRunId:u,resetWorkflow:h}){return e(kn,{children:t("div",{className:"flex items-center justify-between py-1.5 px-2 border-b shadow-sm flex-shrink-0",children:[t("div",{className:"flex flex-wrap items-center space-x-2",children:[t("div",{className:"flex items-center space-x-1",children:[e(Ue,{className:"size-5 text-muted"}),e("span",{className:"font-medium",children:n})]}),t("span",{className:"text-xs text-muted ml-1",children:["(Run ID: ",s.runId.substring(0,8),"...)"]})]}),t("div",{className:"flex items-center space-x-2",children:[t("div",{className:"flex items-center space-x-1 bg-muted rounded p-0.5",children:[e(b,{variant:"stacked"===i?"outline":"ghost",size:"xs",className:"rounded-l-md",onClick:()=>l("stacked"),children:"Details"}),e(b,{variant:"sliding"===i?"outline":"ghost",size:"xs",className:"rounded-l-md",onClick:()=>l("sliding"),children:"Most Important"})]}),t("div",{className:"relative",children:[c&&!o&&e("span",{className:"absolute -top-1 -right-1 w-2.5 h-2.5 bg-primary rounded-full border border-border z-10"}),t(b,{size:"sm",variant:o?"primary":"secondary",onClick:d,className:"transition-all duration-200 rounded-md",title:"Toggle plan panel",children:[e(ze,{className:"size-4 mr-1.5"}),e("span",{className:"font-medium text-xs",children:o?"Hide Plan":"Show Plan"})]})]}),e(jn,{run:s,isModal:a,onClose:r,onDownload:m,onCopyRunId:u,resetWorkflow:h}),r&&!a&&e(b,{size:"xs",variant:"ghost",onClick:r,children:e(Fe,{className:"size-4"})})]})]})})}function jn({run:n,isModal:r,onClose:a,onDownload:s,onCopyRunId:i,resetWorkflow:l}){const o=f(),{client:c}=Te(),d=Cn();return t(y,{hover:!0,children:[e(x,{children:e(b,{size:"xs",variant:"ghost",title:"More actions",children:e(Re,{className:"size-4"})})}),e(v,{className:"w-48",align:"end",children:e("div",{className:"rounded-md shadow-lg z-50",children:e("div",{className:"py-1 min-w-36",children:e(w,{children:e(N,{children:t(k,{children:[e("div",{className:"flex items-center px-3 py-1.5 text-xs text-gray-700 dark:text-gray-300",children:e("span",{className:"text-muted",children:"Actions"})}),r&&t(C,{className:"text-xs",onSelect:()=>{return e=`/store/agent-runner?agentId=${n.runId}__${n.workflowId}`,window.open(e,"_blank"),e;var e},children:[e(Me,{className:"size-3.5 mr-2 text-muted"})," Open in new tab"]}),t(C,{className:"text-xs",onSelect:()=>{i?i():(navigator.clipboard.writeText(n.runId),o({status:"success",title:"Run ID copied",duration:2e3}))},children:[e(Le,{className:"size-3.5 mr-2 text-muted"})," Copy Run ID"]}),t(C,{className:"text-xs",onSelect:()=>{s?s():async function(e,t){return e.files.getDownloadUrl(`agents/${t}/conversation.json`).then((e=>e.url))}(c,n.runId).then((e=>window.open(e,"_blank")))},children:[e(Ve,{className:"size-3.5 mr-2 text-muted"})," Download Conversation"]}),a&&r&&t(C,{className:"text-xs",onSelect:a,children:[e(Fe,{className:"size-3.5 mr-2 text-muted"})," Close"]}),t(C,{className:"text-xs text-destructive",onSelect:()=>{(async e=>{try{return await c.store.workflows.terminate(e.workflowId,e.runId,"cancel"),o({status:"success",title:"Workflow cancelled",duration:2e3}),d.reset(),l?.(),!0}catch(e){return o({status:"error",title:"Failed to cancel workflow",duration:2e3}),!1}})(n)},children:[e(Fe,{className:"size-3.5 mr-2 text-destructive"})," Cancel Workflow"]})]})})})})})})]})}const Tn="vertesia.content_store.lastDisplayedView";function Pn({onUpdate:t}){const[n,r]=o("grid"===localStorage.getItem(Tn)),a=()=>{localStorage.setItem(Tn,"grid"),r(!0),t(!0)},s=()=>{localStorage.setItem(Tn,"table"),r(!1),t(!1)};return e(b,{variant:"outline",onClick:()=>{n?s():a()},alt:n?"Table View":"Thumbnail View",children:e(n?qe:We,{})})}Pn.LAST_DISPLAYED_VIEW=Tn;class _n extends ${labelOf(e){return e.label}idOf(e){return e.id}renderOption(n){return t("div",{children:[e("div",{className:"font-medium",children:n.label}),e("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:n.description})]})}}function In({isOpen:n,onClose:r,onConfirm:a,isLoading:s,uploadedFileName:i}){const l=[{id:"update",label:"Update current version",description:i?"Replace the content file and modify properties directly in the current revision.":"Modify the properties directly in the current revision."},{id:"new-version",label:"Create new version",description:i?"Create a new revision with the replacement file while preserving the original.":"Create a new revision with these property changes while preserving the original."}],[c,d]=o(l[0]),[m,u]=o(""),h=new _n,p="new-version"===c?.id;return t(S,{isOpen:n,onClose:r,className:"sm:max-w-md",children:[e(j,{children:"Save Changes"}),e(T,{children:t("div",{className:"space-y-4",children:[i&&e("div",{className:"mb-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded-md",children:t("p",{className:"text-sm text-blue-700 dark:text-blue-300 font-medium",children:["You're about to replace the content file with: ",e("span",{className:"font-bold",children:i})]})}),e("p",{className:"text-sm text-mixer-muted/5",children:"How would you like to save these changes?"}),e(P,{adapter:h,options:l,value:c,onChange:e=>{d(e)},gap:"gap-4"}),p&&e(_,{label:"Version Label (Optional)",description:"Optional label for the new version.",className:"mt-3 pl-8",children:e(I,{value:m,onChange:u,placeholder:"e.g., v1.2, approved, post-review",className:"w-full"})})]})}),t(E,{children:[e(b,{variant:"secondary",onClick:r,disabled:s,children:"Cancel"}),e(b,{variant:"primary",onClick:async()=>{await a(p,p?m:void 0)},isLoading:s,children:"Save"})]})]})}function En({isOpen:r,onClose:a,object:s}){const{client:i,store:l}=Te(),d=f(),m=wt(),[h,p]=o(!1),[g,y]=o(""),[x,v]=o(!1),[w,N]=o(null),k=u(null),C=u(null),[P,_]=o(null),[I,$]=o(null);function L(e,t){e.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"http://myserver/object-schema.json",fileMatch:["*"],schema:t}]})}return c((()=>{r&&(y(JSON.stringify(s.properties||{},null,2)),s.type?.id&&async function(e){try{const t=await l.types.retrieve(e);t.object_schema&&(_(t.object_schema),C.current&&L(C.current,t.object_schema))}catch(e){console.error("Failed to fetch JSON schema:",e)}}(s.type.id))}),[r,s]),t(n,{children:[t(S,{isOpen:r,onClose:a,className:"sm:max-w-[90%] md:max-w-[80%] lg:max-w-[75%] xl:max-w-[70%]",children:[e(j,{children:"Edit Properties"}),t(T,{children:[t("div",{className:"mb-2 text-sm text-gray-500",children:[s.type?.name?t("span",{children:["Editing properties for object type: ",e("strong",{children:s.type.name})]}):e("span",{children:"Editing properties for generic document"}),P&&e("span",{className:"ml-2 text-green-600",children:"(JSON schema validation enabled)"})]}),e("div",{className:"h-[75vh] border border-gray-300 dark:border-gray-700 rounded-md",children:e(Ft,{height:"100%",language:"json",value:g,onChange:e=>y(e||""),onMount:function(e,t){k.current=e,C.current=t,P&&L(t,P)},options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,formatOnPaste:!0,formatOnType:!0,automaticLayout:!0,wordWrap:"on"}})})]}),t(E,{children:[e(b,{variant:"secondary",onClick:a,children:"Cancel"}),e(b,{variant:"primary",onClick:function(){if(!k.current)return;const e=k.current.getValue();try{const t=JSON.parse(e);N(t),v(!0)}catch(e){d({status:"error",title:"Invalid JSON",description:"Please fix the JSON syntax errors before saving.",duration:5e3})}},children:"Save Changes"})]})]}),e(In,{isOpen:x,onClose:function(){v(!1)},onConfirm:async function(e,t){try{p(!0);const n=w||JSON.parse(g);if(e){const e=await i.objects.update(s.id,{properties:n},{createRevision:!0,revisionLabel:t});e.id!==s.id&&$(e.id),d({status:"success",title:"New version created",description:"A new version with updated properties has been created.",duration:2e3}),v(!1),a(),e.id!==s.id&&setTimeout((()=>{m(`/objects/${e.id}`),d({status:"info",title:"Viewing New Version",description:t?`Now viewing version '${t}'`:"Now viewing the new version",duration:3e3})}),100)}else await l.objects.update(s.id,{properties:n}),d({status:"success",title:"Properties updated",description:"The object properties have been updated successfully.",duration:2e3}),v(!1),a()}catch(e){d({status:"error",title:"Error updating properties",description:e.message||"An error occurred while updating the properties.",duration:5e3}),p(!1)}},isLoading:h})]})}function $n({object:r,loadText:a}){const{client:s,store:i}=Te(),[l,d]=o(!1),[m,u]=o(r.text),[h,p]=o(),[g,y]=o(!1),x=f(),[v,w]=o(!1);c((()=>{a&&!m&&(d(!0),i.objects.getObjectText(r.id).then((e=>{u(e.text)})).catch((e=>{console.error("Failed to load text",e)})).finally((()=>{d(!1)})))}),[a]);const N=async(e,t)=>{try{await navigator.clipboard.writeText(e),x({status:"success",title:("text"===t?"Content":"Properties")+" copied",description:`Successfully copied ${t} to clipboard`,duration:2e3})}catch(e){console.error(`Failed to copy ${t}:`,e),x({status:"error",title:"Copy failed",description:`Failed to copy ${t} to clipboard`,duration:5e3})}},k=async e=>{try{const t=await s.objects.getRendition(r.id,{format:e,max_hw:1024,generate_if_missing:!0,sign_url:!0});if("generating"===t.status)return x({status:"info",title:"Generating document",description:`Please wait while we prepare your ${e.toUpperCase()} file...`,duration:5e3}),void setTimeout((()=>k(e)),3e3);if("failed"===t.status)throw new Error("Document generation failed");if(t.renditions&&t.renditions.length>0){const n=t.renditions[0];if("pdf"===e);else{const t=document.createElement("a");t.href=n,t.download=`${r.name||"document"}.${e}`,document.body.appendChild(t),t.click(),document.body.removeChild(t),x({status:"success",title:"Document exported",description:`Successfully exported to ${e.toUpperCase()} format`,duration:2e3})}}}catch(t){console.error(`Failed to export document as ${e}:`,t),x({status:"error",title:"Export failed",description:`Failed to export document to ${e.toUpperCase()} format`,duration:5e3})}},C=r.content,S=C&&C.source&&C.type&&C.type.startsWith("image/"),j=C&&C.type&&("text/markdown"===C.type||"text/plain"===C.type),T=m&&(m.includes("\n#")||m.includes("\n*")||m.includes("\n+")||m.includes("!["));return c((()=>{S&&s.objects.getRendition(r.id,{max_hw:1024,format:ke.jpeg,generate_if_missing:!1,sign_url:!0}).then((e=>"found"===e.status?e.renditions?.length?e.renditions[0]:null:r)).catch((()=>r)).then((()=>{s.files.getDownloadUrl(r.content.source).then((e=>{p(e.url)}))}))}),[]),t("div",{className:"w-full",children:[t("div",{className:"flex flex-col lg:flex-row lg:gap-8",children:[t("div",{className:"w-full lg:w-1/2",children:[t("div",{className:"h-[41px] text-lg font-semibold mb-4 border-b flex justify-between items-center",children:[t("div",{className:"flex items-center gap-1",children:["Properties",e(b,{variant:"outline",size:"sm",alt:""+(v?"Preview":"View in JSON format"),onClick:()=>w(!v),children:v?"Preview":"JSON"})]}),t("div",{className:"flex items-center gap-2",children:[r.properties&&e(b,{variant:"ghost",size:"sm",title:"Copy properties",onClick:()=>N(JSON.stringify(r.properties,null,2),"properties"),children:e(Be,{className:"size-4"})}),e(b,{variant:"ghost",size:"sm",onClick:()=>{y(!0)},title:"Edit properties",className:"flex items-center gap-2",children:e(Je,{className:"size-4"})})]})]}),r.properties?e(Tt,{value:r.properties,viewCode:v}):e("div",{children:"No properties defined"}),S&&t("div",{className:"my-4",children:[e("div",{className:"h-[41px] text-lg font-semibold mb-4 border-b flex justify-between items-center",children:e("span",{className:"py-1",children:"Image"})}),h?e("img",{src:h,alt:r.name,className:"w-full object-contain"}):e(L,{size:"md"})]})]}),t("div",{className:"w-full lg:w-1/2 mt-4 lg:mt-0",children:[t("div",{className:"h-[41px] text-lg font-semibold mb-4 border-b flex justify-between items-center",children:[e("span",{className:"py-1",children:"Text"}),t("div",{className:"flex items-center gap-2",children:[m&&e(b,{variant:"ghost",size:"sm",title:"Copy text",onClick:()=>N(m,"text"),className:"flex items-center gap-2",children:e(Be,{className:"h-4 w-4"})}),(j||T)&&m&&e(n,{children:t(b,{variant:"ghost",size:"sm",onClick:()=>k("docx"),className:"flex items-center gap-2",children:[e(He,{className:"h-4 w-4"}),"DOCX"]})})]})]}),l&&e(L,{size:"md"}),e("div",m?{className:"border shadow-xs rounded-xs max-w-7xl",children:T?e("div",{className:"prose prose-sm max-w-none prose-p:bg-transparent prose-p:my-0 prose-pre:bg-gray-800 dark:prose-pre:bg-gray-900 prose-pre:my-2 prose-code:bg-gray-200/70 dark:prose-code:bg-gray-700/50 prose-headings:bg-transparent prose-li:bg-transparent dark:prose-invert dark:text-gray-100",children:e(Ct,{remarkPlugins:[St],components:{a:({node:t,...n})=>{const r=n.href||"";return r.startsWith("/store/objects/")?e(U,{href:r,className:"text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300",children:n.children}):e("a",{...n,target:"_blank",rel:"noopener noreferrer"})},p:({node:t,...n})=>e("p",{...n,className:"my-0 text-gray-800 dark:text-gray-100"}),pre:({node:t,...n})=>e("pre",{...n,className:"my-2 bg-gray-800 dark:bg-gray-900 p-2 rounded text-gray-100"}),code:({node:t,className:n,children:r,...a})=>{const s=/language-(\w+)/.exec(n||"");return e("code",{...a,className:!s?"px-1.5 py-0.5 rounded text-muted bg-gray-200/70 dark:bg-gray-700/50":"text-gray-100",children:r})},h1:({node:t,...n})=>e("h1",{...n,className:"text-gray-900 dark:text-gray-50 font-bold text-2xl my-2"}),h2:({node:t,...n})=>e("h2",{...n,className:"text-gray-900 dark:text-gray-50 font-bold text-xl my-2"}),h3:({node:t,...n})=>e("h3",{...n,className:"text-gray-900 dark:text-gray-50 font-bold text-lg my-2"}),li:({node:t,...n})=>e("li",{...n,className:"text-gray-800 dark:text-gray-100"})},children:m})}):e("pre",{className:"text-wrap bg-muted text-muted p-2",children:m})}:{children:"No content"})]})]}),e(En,{isOpen:g,onClose:()=>{y(!1)},object:r})]})}function Ln(e,t=7){return e?"~"+e.slice(-t):""}function Un(e,t){return e.length>t?e.substring(0,t)+"...":e}const An="text/csv",On="image/",Dn="application/pdf",zn="video/",Fn=e=>e===An||An.includes(e),Rn=e=>e.startsWith(On)||On.includes(e),Mn=e=>e===Dn||Dn.includes(e),Vn=e=>e.startsWith(zn)||zn.includes(e),qn=import.meta.env,Wn={max_hw:qn?.VITE_RENDITION_HW||256,format:ke.jpeg,generate_if_missing:!0},Bn="vertesia.content_store.renditionId";async function Jn(e,t,n,r){if(!t?.content?.type||!(Rn(t.content.type)||Vn(t.content.type)||Mn(t.content.type)))return;const a=(new Date).getTime()/1e3,s=localStorage.getItem(`${Bn}_${t.id}_${Wn.max_hw}`),i=localStorage.getItem(`${Bn}_${t.id}_${Wn.max_hw}_time`);if(s?.length&&i&&Math.abs(a-parseInt(i))<=900)return n(s),r(`${t.name} Rendition`),s;e.objects.getRendition(t.id,Wn).then((e=>{if("generating"===e.status)setTimeout(Jn,6e4);else{if("failed"===e.status)return;{if(!e?.renditions?.length)return;const a=e.renditions[0];localStorage.setItem(`${Bn}_${t.id}_${Wn.max_hw}`,a),localStorage.setItem(`${Bn}_${t.id}_${Wn.max_hw}_time`,((new Date).getTime()/1e3).toString()),n(a),r(`${t.name} Rendition`)}}}))}function Hn({selection:n,document:r,onSelectionChange:a}){const{client:s}=Te(),i=wt(),[l,d]=o(void 0),[m,u]=o(void 0);return c((()=>{r?.content&&Jn(s,r,d,u)}),[r]),console.log("renditionUrl",r),t(A,{className:"relative flex flex-col border h-fit",onClick:()=>{i(`/objects/${r.id}`)},children:[n&&e("div",{className:"absolute top-2 left-2 z-10 flex flex-col items-center gap-1",children:e("input",{checked:n.isSelected(r.id),type:"checkbox",onChange:e=>{e.stopPropagation(),a(r,e)},onClick:e=>e.stopPropagation()})}),l?e("img",{src:l,alt:m,className:"w-auto h-48 object-cover rounded-t-xl"}):e("div",{className:"h-48 bg-gray-700 rounded-t-xl"}),e(O,{className:"bg-gray-200 h-[2px]"}),e(D,{className:"p-2 flex flex-col gap-1",children:t("div",{className:"flex flex-col",children:[e(z,{placement:"top",description:r.properties?.title??r.name,children:e("h3",{className:"text-start font-medium leading-none truncate",children:r.properties?.title??r.name})}),r?.type?.name?e(z,{placement:"bottom",size:"xs",description:r?.type?.name,children:e("p",{className:"text-start text-xs text-muted truncate",children:r?.type?.name})}):e("p",{className:"text-xs text-muted",children:" "})]})})]})}function Gn(e){return`${e._id} (${e.count})`}function Kn(e){return`${e.name} (${e.count})`}function Qn({search:t,buckets:n,placeholder:r="All Environments",className:a}){const{client:s}=Te(),[i,l]=o([]),d=t.getFilterValue("environment");c((()=>{if(s){const e=n.map((async e=>{let t;return await s.environments.retrieve(e._id).then((e=>{t=e.name})).catch((()=>{t=`${e._id} (deleted)`})),t||(t=e._id),{...e,name:t}}));Promise.all(e).then((e=>{e.sort(((e,t)=>e.name.localeCompare(t.name))),l(e)}))}}),[n,s]);const m=i?.find((e=>e._id===d));return e(F,{filterBy:"name",className:a,isClearable:!0,optionLabel:Kn,options:i,value:m,onChange:e=>{t.setFilterValue("environment",e?._id)},by:"_id",placeholder:r})}function Yn({search:t,buckets:n,name:r,placeholder:a,className:s}){const i=t.getFilterValue(r),l=n?.find((e=>JSON.stringify(e._id)===JSON.stringify(i)));return e(F,{filterBy:"_id",className:s,isClearable:!0,optionLabel:Gn,options:n,value:l,onChange:e=>{t.setFilterValue(r,e?._id)},by:"_id",placeholder:a})}function Xn({search:t,name:n,placeholder:r,className:a}){const[s,i]=o([]);return c((()=>{t.setFilterValue(n,s)}),[s]),e(R,{className:a,value:s,onChange:i,placeholder:r})}function Zn(e){return`${e.name} (${e.count})`}function er({search:t,buckets:n,placeholder:r="Filter by Type",className:a}){const[s,i]=o([]),{typeRegistry:l}=Te(),d=t.getFilterValue("type");c((()=>{if(l){const e=n.map((e=>{let t;return null==e._id?(e._id="Document",t="Document"):(t=l.getTypeName(e._id),t||(console.warn("Content Object Type not found",e._id),t=e._id)),{...e,name:t}}));e.sort(((e,t)=>e.name.localeCompare(t.name))),i(e)}}),[n,l]);const m=s?.find((e=>e._id===d));return e(F,{filterBy:"name",className:a,isClearable:!0,optionLabel:Zn,options:s,value:m,onChange:e=>{t.setFilterValue("type",e?._id)},by:"_id",placeholder:r})}function tr({facets:n,search:r}){return t("div",{className:"flex items-center gap-x-4 w-full",children:[n.role&&e(Yn,{search:r,className:"flex-1",name:"role",buckets:n.role||[],placeholder:"Filter by Role"}),n.type&&e(er,{search:r,className:"flex-1",buckets:n.type||[]}),n.status&&e(Yn,{search:r,className:"flex-1",name:"status",buckets:n.status||[],placeholder:"Filter by Status"}),n.location&&e(Yn,{search:r,className:"flex-1",name:"location",buckets:n.location||[],placeholder:"Filter by Location"}),n.tags&&e(Xn,{search:r,className:"flex-1",name:"tags",buckets:n.tags||[],placeholder:"Filter by Tags"})]})}function nr({search:t,buckets:n,placeholder:r="All Interactions",className:a}){const{client:s}=Te(),[i,l]=o([]),d=t.getFilterValue("interaction");c((()=>{if(s){const e=n.map((async e=>{let t;return await s.interactions.retrieve(e._id).then((e=>{t=e.name})).catch((()=>{t=`${e._id} (deleted)`})),t||(t=e._id),{...e,name:t}}));Promise.all(e).then((e=>{e.sort(((e,t)=>e.name.localeCompare(t.name))),l(e)}))}}),[n,s]);const m=i?.find((e=>e._id===d));return e(F,{filterBy:"name",className:a,isClearable:!0,optionLabel:Kn,options:i,value:m,onChange:e=>{t.setFilterValue("interaction",e?._id)},by:"_id",placeholder:r})}const rr={};function ar(e){const{client:t}=Te();return M((()=>{let n=rr[e];return n||(n=t.users.retrieve(e).then((e=>e)),rr[e]=n),n}),[e])}function sr(){return e("div",{className:"size-8"})}function ir({showTitle:n=!1,size:r="md"}){return t(hr,{title:"System User",description:"The system user is used to initialize built-in objects.",children:[e(V,{src:"/icon.svg",size:r}),n&&e("div",{className:"text-sm font-semibold pl-2",children:"System User"})]})}function lr({accountId:r,showTitle:a=!1,size:s="md"}){const i=t(n,{children:[e("div",{children:"This user is used by robots like workflow workers."}),t("div",{className:"text-gray-800 dark:text-gray-500 text-sm",children:[e("span",{className:"font-semibold",children:"ID:"})," ",r]})]});return e(hr,{title:"Service Account",description:i,children:t("div",{className:"flex flex-row items-center gap-2",children:[e(V,{src:"/cloud.svg",name:"SA",color:"bg-amber-500",className:"px-[5px] text-white",size:s}),a&&t("div",{className:"text-sm font-semibold pl-2 truncate",children:["Service Account : ",r]})]})})}function or({title:t="Error",error:n,showTitle:r=!1,size:a="md"}){return e(dr,{title:t,message:"string"==typeof n?n:n.message,color:"bg-red-500",showTitle:r,size:a})}function cr({userRef:t,showTitle:n=!1,size:r="md"}){if(!t)return e(dr,{title:"Unknown User",message:"User information is not available.",showTitle:n,size:r});const[a,s]=t?t.split(":"):["unknown"];switch(a){case Ce.User:return e(mr,{userId:s,showTitle:n,size:r});case"system":return e(ir,{showTitle:n,size:r});case Ce.ServiceAccount:return e(lr,{accountId:s,showTitle:n,size:r});case Ce.ApiKey:return e(ur,{keyId:s,size:r,showTitle:n});default:return e(or,{title:"Unknown User",error:`Invalid user ref type: ${a}`,showTitle:n,size:r})}}function dr({title:n,message:r,color:a,size:s="md",showTitle:i=!1}){return e(hr,{title:n,description:r,children:t("div",{className:"flex flex-row items-center gap-2",children:[e(V,{color:a,size:s}),i&&e("div",{className:"text-sm font-semibold pl-1",children:n})]})})}function mr({userId:n,showTitle:r=!1,size:a="md"}){const{data:s,error:i}=ar(n);return i?e(or,{title:"Failed to fetch user",error:i,showTitle:r,size:a}):s?e(hr,{title:s.name||s.email||s.username||"unknown",description:s.email,children:t("div",{className:"flex flex-row items-center gap-2",children:[e(V,{src:s.picture,name:s.name,color:"bg-indigo-500",size:a}),r&&e("div",{className:"text-sm font-semibold pl-2",children:s.name||s.email||s.username||"unknown"})]})}):e(sr,{})}function ur({keyId:n,showTitle:r=!1,size:a="md"}){const{client:s}=Te(),{data:i,error:l}=M((()=>s.apikeys.retrieve(n)),[]);if(l)return e(or,{title:"Failed to fetch the apikey",error:l,showTitle:r,size:a});if(!i)return e(sr,{});const o=i.type===Se.public,c=o?"Public Key":"Private Key",d=e(V,{name:o?"PK":"SK",color:"bg-pink-500",size:a}),m=t(q,{className:"dark:bg-gray-800 dark:text-gray-200",children:[t("tr",{children:[e("td",{className:"font-semibold",children:"Key:"}),e("td",{children:i?.name})]}),t("tr",{children:[e("td",{className:"font-semibold",children:"Account:"}),e("td",{children:i?.account})]}),t("tr",{children:[e("td",{className:"font-semibold",children:"Project:"}),e("td",{children:i?.project})]})]});return e(hr,{title:c,description:m,children:t("div",{className:"flex flex-row items-center gap-2",children:[d,r&&e("div",{className:"text-sm font-semibold pl-2",children:i?.name||i?.account||i?.project||"unknown"})]})})}function hr({title:n,description:r,children:a}){return t(y,{hover:!0,children:[e(x,{className:"cursor-pointer flex items-center inline-block",children:e("div",{children:a})}),e(v,{align:"center",sideOffset:8,side:"right",children:t("div",{className:"flex flex-col gap-1 rounded-md shadow-md p-2",children:[e("div",{className:"text-md font-semibold",children:n}),e("div",{children:r})]})})]})}function pr(t){return null==t._id?`UnKnown User (${t.count})`:e(cr,{userRef:t._id,showTitle:!0,size:"sm"})}function gr({search:t,buckets:n,placeholder:r="Filter by User",className:a}){const[s,i]=o([]),l=t.getFilterValue("created_by");c((()=>{(async()=>{const e=await Promise.all(n.map((async e=>({...e}))));i(e)})()}),[n]);const d=s?.find((e=>e._id===l));return e(F,{filterBy:"name",className:a,isClearable:!0,optionLabel:pr,options:s,value:d,onChange:e=>{t.setFilterValue("created_by",e?._id)},by:"_id",placeholder:r})}function fr({buckets:e,name:t}){return function({buckets:e,name:t}){const n=e.map((e=>({label:Gn(e),value:e._id})));return{name:t.charAt(0).toUpperCase()+t.slice(1),options:n,type:"select"}}({buckets:e,name:t})}function br({buckets:n,typeRegistry:r}){const a=new Map;n.forEach((e=>{let t,n=e._id;null==e._id?(n="Document",t="Document"):(t=r.getTypeName(e._id),t||(console.warn("Content Object Type not found",e._id),t=e._id)),a.set(n,{name:t,count:e.count})}));return{name:"Type",type:"select",options:n.map((e=>({value:e._id||"Document",label:`(${e.count})`}))),labelRenderer:n=>{const r=a.get(n);return r?t("div",{className:"w-full flex items-center",children:[e("span",{className:"text-sm truncate",children:r.name}),t("span",{className:"ml-2 text-xs",children:["(",r.count,")"]})]}):(console.warn(`Type data not found for ${n}`),n)},filterBy:(e,t)=>{const n=a.get(e);return n?n.name.toLowerCase().includes(t.toLowerCase()):(console.warn(`Type name not found for ${e}`),!1)}}}function yr({buckets:n,name:r}){return function({buckets:n,name:r}){const a=n.map((e=>({value:e._id,label:`(${e.count})`})));return{name:r.charAt(0).toUpperCase()+r.slice(1),options:a,labelRenderer:r=>{if("Unknown User"===r||!r){const e=n.find((e=>e._id===r));return`Unknown User (${e?.count||0})`}const a=n.find((e=>e._id===r));return t("div",{className:"flex items-center justify-between w-full",children:[e(cr,{userRef:r,showTitle:!0,size:"sm"}),t("span",{className:"text-muted-foreground ml-2",children:["(",a?.count||0,")"]})]})}}}({buckets:n,name:r})}function xr({facets:t,search:n,textSearch:r=""}){const[a,s]=o([]),i=[],{typeRegistry:l}=Te();if(r&&i.push({placeholder:r,name:"name",type:"text",options:[]}),t.type){const e=br({buckets:t.type||[],typeRegistry:l});i.push(e)}if(t.status){const e=fr({buckets:t.status||[],name:"Status"});i.push(e)}if(t.role){const e=fr({buckets:t.role||[],name:"Role"});i.push(e)}if(t.location){const e=fr({buckets:t.location||[],name:"Location"});i.push(e)}if(t.initiated_by){const e=yr({buckets:t.initiated_by||[],name:"User"});i.push(e)}t.start&&i.push({name:"start",placeholder:"Date after",type:"date",options:[]}),t.end&&i.push({name:"end",placeholder:"Date before",type:"date",options:[]});return e(W,{filterGroups:i,filters:a,setFilters:e=>{const t="function"==typeof e?e(a):e;if(0===t.length)return n.clearFilters(),void s([]);s(t),t.forEach((e=>{if(e.value&&e.value.length>0){const t=e.name.toLowerCase(),r=e.value[0].value;switch(t){case"name":n.query.search_term=r;break;case"user":n.query.initiated_by="Unknown User"===r?"unknown":r;break;default:n.query[t]=r}}})),n.search()}})}class vr{object;objects;setState;collectionId;singleSelection=!1;constructor(e,t,n,r){this.object=e,this.objects=n,this.setState=r,this.singleSelection=0===Object.keys(this.objects).length,this.collectionId=t}isSingleSelection(){return this.singleSelection}hasSelection(){return void 0!==this.object||0!==this.size()}size(){return Object.keys(this.objects).length}getObjectIds(){return Object.keys(this.objects)}getObjectId(){return this.object?.id}clone(){return new vr(this.object,this.collectionId,this.objects,this.setState)}add(e){this.objects[e.id]=e,this.singleSelection=0===Object.keys(this.objects).length,this.setState(this.clone())}remove(e){delete this.objects[e],this.singleSelection=0===Object.keys(this.objects).length,this.setState(this.clone())}addAll(e){for(const t of e)this.objects[t.id]=t;this.setState(this.clone())}isSelected(e){return void 0!==this.objects[e]}removeAll(){this.objects={},this.singleSelection=!0,this.setState(this.clone())}}const wr=d(void 0);function Nr(){const e=m(wr);if(!e)throw new Error("useObjectSelection must be used within a ObjectSelectionProvider");return e}function kr(){return m(wr)}function Cr({value:t,collectionId:n,children:r}){const[a,s]=o();return c((()=>{const e=new vr(t,n,{},s);s(e)}),[t]),a&&e(wr.Provider,{value:a,children:r})}kt.extend(Mt),kt.extend(Rt);const Sr={string(t){let n=[];if(t){const e=t.get("slice");e&&n.push((t=>t.slice(parseInt(e))));const r=t.get("max_length");r&&n.push((e=>e.slice(0,parseInt(r)))),t.has("upper")&&n.push((e=>e.toUpperCase())),t.has("lower")&&n.push((e=>e.toLowerCase())),t.has("capitalize")&&n.push((e=>e[0].toUpperCase()+e.substring(1))),t.has("ellipsis")&&n.push((e=>e+"..."))}return(t,r)=>{let a;if(t){if(a=String(t),n.length>0)for(const e of n)a=e(a)}else a="";return e("td",{children:a},r)}},fileSize:t=>(t,n)=>{let r="";if(t){const e=Number(t);if(isNaN(e))r=String(t);else{const t=["Bytes","KB","MB","GB","TB"];if(0===e)r="0 Bytes";else{const n=Math.floor(Math.log(e)/Math.log(1024));r=`${(e/Math.pow(1024,n)).toFixed(2)} ${t[n]}`}}}return e("td",{children:r},n)},number(t){let n,r;t&&(n=t.get("currency")||void 0,r=t.get("decimals")||void 0);const a=r?parseInt(r):2;return(t,r)=>{let s=new Intl.NumberFormat("en-US",{style:n?"currency":"decimal",currency:n,maximumFractionDigits:a}).format(t);return e("td",{children:s},r)}},objectLink(t){let n="title";return t&&(n=t.get("title")||"title"),(t,r)=>e("td",{children:e(vt,{topLevelNav:!0,className:"underline text-indigo-800 dark:text-indigo-300",href:`/store/objects/${t.id}`,children:t.properties?.[n]||t.name||Ln(t.id)})},r)},typeLink:t=>(t,n)=>e("td",{children:t?.name||"n/a"},n),date(t){let n="format",r="LLL";if(t){const e=t.get("localized");if(e)r=e;else{const e=t.get("relative");e&&(n=e,r=void 0)}}return(t,a)=>e("td",{children:kt(t)[n](r)},a)}},jr=Sr.string();function Tr(e,t){let n=e;if(!n)return;if(!t.length)return n;const r=t.length-1;for(let e=0;e<r;e++)if(n=n[t[e]],!n)return;return n[t[r]]}function Pr(e){return e&&"."!==e?e.split("."):[]}class _r{layout;renderer=jr;path;fallbackPath;constructor(e){if(this.layout=e,this.path=Pr(e.field||""),this.fallbackPath=e.fallback?Pr(e.fallback):void 0,e.render)this.renderer=(e,t)=>null;else{const t=e.type||"string",n=t.indexOf("?");if(n>0){const e=t.substring(0,n),r=new URLSearchParams(t.substring(n+1));this.renderer=Sr[e](r)}else this.renderer=Sr[t]()}}get name(){return this.layout.name}resolveValue(e){let t=Tr(e,this.path);return void 0===t&&this.fallbackPath&&(t=Tr(e,this.fallbackPath)),void 0===t&&(t=this.layout.default),t}render(t,n){return this.layout.render?e("td",{className:"whitespace-nowrap px-3 py-4 text-sm",children:this.layout.render(t)},n):this.renderer(this.resolveValue(t),n)}}function Ir({objects:n,selection:r,isLoading:a,onRowClick:s,columns:i,toggleAll:l,onSelectionChange:o}){return t(q,{className:"w-full border-t",children:[e("thead",{children:t("tr",{children:[r&&e("th",{children:e("input",{type:"checkbox",onChange:l})}),i.map((t=>e("th",{children:t.name},t.name)))]})}),t(B,{isLoading:a,columns:i.length,children:[n?.map((n=>t("tr",{className:"cursor-pointer hover:bg-muted",onClick:()=>{s&&s(n)},children:[r&&e("td",{onClick:e=>e.stopPropagation(),children:e("input",{checked:r.isSelected(n.id),type:"checkbox",onChange:e=>o(n,e)})}),i.map(((e,t)=>e.render(n,t)))]},n.id))),0===n.length&&e("tr",{children:e("td",{colSpan:i.length+(r?1:0),className:"text-center",children:"No objects. Just drag and drop documents or images here to create content objects."})})]})]})}function Er({objects:a,selection:s,isLoading:i,onSelectionChange:l}){return t(n,{children:[e("div",{className:r("bg-white opacity-40 absolute inset-0 z-50 flex justify-center items-center",i?"block":"hidden"),children:e(L,{size:"xl"})}),e("div",{className:"w-full gap-2 grid lg:grid-cols-6",children:a.map((t=>e(Hn,{document:t,selection:s,onSelectionChange:l},t.id)))})]})}class $r{client;limit;collectionId;facets=new J({});result=new J({objects:[],isLoading:!1});facetSpecs=[];query={};constructor(e,t=100){this.client=e,this.limit=t}withFacets(e){return this.facetSpecs=e,this}get objects(){return this.result.value.objects}get error(){return this.result.value.error}get isRunning(){return this.result.value.isLoading}getFilterValue(e){return this.query[e]}setFilterValue(e,t){this.query[e]=t,this.search()}clearFilters(){const e=this.query.parent;this.query={parent:e},this.search()}getFacetBuckets(e){return this.facets.value[e]?.buckets||[]}resetFacets(){this.query={}}reset(e=!1){this.result.value={objects:[],isLoading:e}}_updateRunningState(e){const t=this.result.value;this.result.value={objects:t.objects,isLoading:e,error:t.error}}_searchRequest(e,t,n){return this.collectionId?this.client.collections.searchMembers(this.collectionId,{limit:t,offset:n,query:e}):this.client.objects.search({limit:t,offset:n,query:e})}_facetsRequest(){return this.collectionId?this.client.collections.computeFacets(this.collectionId,{facets:this.facetSpecs,query:this.query}):this.client.objects.computeFacets({facets:this.facetSpecs,query:this.query})}computeFacets(e){this._facetsRequest().then((e=>{this.facets.value=e}))}_search(e=!1){if(this.isRunning)return Promise.resolve(!1);this.result.value={isLoading:!0,objects:e?this.objects:[]};const t=this.limit,n=this.objects.length;return this._searchRequest(this.query,t,n).then((async e=>(this.result.value={isLoading:!1,objects:this.objects.concat(e)},!0))).catch((e=>{throw this.result.value={error:e,isLoading:!1,objects:this.objects},e}))}search(e=!1){return this.isRunning?Promise.resolve(!1):(!e&&this.computeFacets(this.query),this._search(!1))}loadMore(e=!1){return this.isRunning?Promise.resolve(!1):(0===this.objects.length&&!e&&this.computeFacets(this.query),this._search(!0))}}const Lr=d(void 0);function Ur(){return m(Lr)}function Ar(){return H(Ur().facets)}function Or(){const e=Ur();return{...H(e.result),search:e}}function Dr(){const e=Ur();return H(e.facets).total}var zr;async function Fr(e){try{const t=await e.arrayBuffer(),n=new Vt;n.appendByteArray(new Uint8Array(t));const r=n.end();return r?.toString()}catch(e){return void console.error("Error calculating file hash:",e)}}function Rr(){const{client:e}=Te(),t=f();return{checkDocumentProcessing:async(n,r,a)=>{try{console.log(`Preparing metadata for ${n.length} files...`);const t=await async function(e,t){const n=[];for(let r=0;r<e.length;r+=5){const a=e.slice(r,r+5),s=await Promise.all(a.map((async e=>{let n=t||void 0;if(e.webkitRelativePath){const r=e.webkitRelativePath.split("/");if(r.length>1){const e=r.slice(0,-1).join("/");n=t?`${t}/${e}`:e}}return{file:e,hash:await Fr(e),name:e.name,size:e.size,location:n}})));n.push(...s)}return n}(n,r),s=async()=>{const n={"content.etag":{$in:t.map((e=>e.hash))}};let r;r=a?await e.store.collections.searchMembers(a,{query:{match:n},select:void 0}):await e.store.objects.search({query:{match:n},select:void 0});for(const e of r){const n=t.find((t=>t.hash===e.content.etag));n&&(n.existingId=e.id,n.action=zr.SKIP)}},i=async()=>{const n=t.filter((e=>e.action!==zr.SKIP)),r=n.map((e=>e.location)),s=Array.from(new Set(r)),i=[];for(const t of s){const r=n.filter((e=>e.location===t)).map((e=>e.name)),s={location:t??"","content.name":{$in:r}};if(a){const t=e.store.collections.searchMembers(a,{query:{match:s},select:void 0});i.push(t)}else{const t=e.store.objects.find({query:{match:s},select:void 0});i.push(t)}}const l=(await Promise.all(i)).flat();console.log(`Found ${l.length} document to update`,l);for(const e of l){const n=t.find((t=>t.name===e.content.name&&(t.location?t.location===e.location:""===e.location)));n&&(n.existingId=e.id,n.action=zr.UPDATE)}console.log(`Reconciled ${t.filter((e=>e.action===zr.UPDATE)).length}`)};return await s(),await i(),t.forEach((e=>{e.action||(e.action=zr.CREATE)})),console.log("Document processing check results:",{totalFiles:n.length,toCreate:t.filter((e=>e.action===zr.CREATE)).length,toUpdate:t.filter((e=>e.action===zr.UPDATE)).length,toSkip:t.filter((e=>e.action===zr.SKIP)).length}),t}catch(e){throw t({title:"Error in file upload processing check",status:"error",description:e.message}),console.log("Error in file upload processing check",e),new Error("Error in file upload processing check: "+e.message)}}}}function Mr({isOpen:r,onClose:a,files:s,collectionId:i,selectedFolder:d,title:m="Upload Files",children:u,onUploadComplete:h,hideFileSelection:p=!1,showTypeSelectionOnly:g=!1}){const{client:y,typeRegistry:x}=Te(),v=f(),[w,N]=o([]),[k,C]=o([]),[P,_]=o(!1),[I,$]=o(null),[U,A]=o([]),[O,D]=o(!1),[z,R]=o(!1),[M,V]=o(0),[q,W]=o(Date.now()),[B,J]=o(void 0);c((()=>{i&&y.store.collections.retrieve(i).then(J)}),[i]);const H=()=>B||d?t("div",{className:"mb-4 p-3 bg-blue-50 rounded-md border border-blue-100",children:[t("div",{className:"flex items-center text-blue-700",children:[e(Ze,{className:"h-5 w-5 mr-2"}),e("span",{className:"font-medium",children:"Upload Location:"})]}),t("div",{className:"ml-7 text-sm text-blue-700 mt-1",children:[B&&t("div",{className:"flex items-center",children:[e("span",{className:"mr-1",children:"Collection:"}),e("span",{className:"font-medium",children:B.name})]}),d&&t("div",{className:"flex items-center mt-1",children:[e("span",{className:"mr-1",children:"Folder:"}),e("span",{className:"font-medium",children:d})]})]})]}):null,[G,K]=o({toCreate:0,toUpdate:0,toSkip:0}),{checkDocumentProcessing:Q}=Rr(),Y=l((()=>x?.types||[]),[x?.types]);c((()=>{r&&(s&&s.length>0?(N(s),ee(s)):(N([]),C([]),_(!1),$(null),A([]),D(!1),R(!1),V(0),K({toCreate:0,toUpdate:0,toSkip:0})),W(Date.now()))}),[r,s]);const X=()=>{N([]),C([]),_(!1),$(null),A([]),D(!1),R(!1),V(0),K({toCreate:0,toUpdate:0,toSkip:0}),a()},Z=e=>{e&&e.length>0&&(N(e),ee(e))},ee=async e=>{if(e.length)try{console.log(`Processing ${e.length} files to determine required actions...`);const t=await Q(e,d,i);C(t);const n=t.filter((e=>e.action===zr.CREATE)).length,r=t.filter((e=>e.action===zr.UPDATE)).length,a=t.filter((e=>e.action===zr.SKIP)).length;K({toCreate:n,toUpdate:r,toSkip:a}),v({title:"Files analyzed",description:`${e.length} file(s): ${n} new, ${r} to update, ${a} to skip`,status:"info",duration:4e3}),_(!0)}catch(e){console.error("Error processing files:",e),v({title:"Error",description:"There was an error analyzing the files",status:"error",duration:5e3})}},te=async()=>{if(!k.length)return;const e=I?.id||null,t=k.map((e=>({file:e.file,status:"pending",progress:0,action:e.action===zr.CREATE?"create":e.action===zr.UPDATE?"update":"skip"})));A(t),D(!0),R(!1);const n=k.filter((e=>e.action===zr.SKIP)),r=k.filter((e=>e.action===zr.UPDATE)),a=k.filter((e=>e.action===zr.CREATE)),s={success:!0,objectIds:[],uploadedFiles:[],skippedFiles:[],failedFiles:[]};for(const t of n)t.existingId&&(s.objectIds.push(t.existingId),s.skippedFiles.push({id:t.existingId,name:t.name,type:e,status:"skipped",location:t.location}),A((e=>e.map((e=>e.file===t.file?{...e,status:"success",progress:100,id:t.existingId}:e)))));const l=async(t,n)=>{const r=[];for(let e=0;e<t.length;e+=50)r.push(t.slice(e,e+50));for(let a=0;a<r.length;a++){const l=r[a];if(console.log(`Processing ${n} batch ${a+1}/${r.length} (${l.length} files)`),t.length>50){v({title:`Processing files (${n})`,description:`Processed ${50*a}/${t.length} files...`,status:"info",duration:2e3})}await Promise.all(l.map((async t=>{try{if(A((e=>e.map((e=>e.file===t.file?{...e,status:"uploading",progress:20}:e)))),"update"===n&&t.existingId)await y.store.objects.update(t.existingId,{type:e||void 0,content:t.file,location:t.location,name:t.name},{createRevision:!0,revisionLabel:"upload on "+(new Date).toISOString()}),A((e=>e.map((e=>e.file===t.file?{...e,status:"success",progress:100,id:t.existingId}:e)))),s.objectIds.push(t.existingId),s.uploadedFiles.push({id:t.existingId,name:t.name,type:e,status:"updated",location:t.location});else{const n=await y.store.objects.create({type:e||void 0,content:t.file,location:t.location||t.file.webkitRelativePath||t.name},{collection_id:i});A((e=>e.map((e=>e.file===t.file?{...e,status:"success",progress:100,id:n.id}:e)))),s.objectIds.push(n.id),s.uploadedFiles.push({id:n.id,name:t.name,type:e,status:"created",location:t.location})}}catch(n){console.error(`Failed to process file ${t.name}:`,n),A((e=>e.map((e=>e.file===t.file?{...e,status:"error",progress:100,message:n.message||"Unknown error"}:e)))),s.failedFiles.push({name:t.name,error:n.message||"Unknown error",status:"failed",location:t.location,type:e}),s.success=!1}})));const o=U.filter((e=>"success"===e.status||"error"===e.status)).length,c=U.length,d=Math.round(o/c*100);V(d)}};r.length>0&&await l(r,"update"),a.length>0&&await l(a,"create"),A((e=>{const t=e.filter((e=>"pending"===e.status)).map((e=>({...e,status:"error",progress:100,message:"Upload process interrupted"})));return t.length>0?(t.forEach((e=>{s.failedFiles.push({name:e.file.name,error:"Upload process interrupted",status:"failed",type:I?.id||null})})),s.success=!1,e.map((e=>"pending"===e.status?{...e,status:"error",progress:100,message:"Upload process interrupted"}:e))):e})),D(!1),R(!0);const o=s.uploadedFiles.filter((e=>"created"===e.status)).length,c=s.uploadedFiles.filter((e=>"updated"===e.status)).length,d=s.skippedFiles.length,m=s.failedFiles.length;let u="";o>0&&(u+=`${o} file${1!==o?"s":""} uploaded`),c>0&&(u+=u?", ":"",u+=`${c} file${1!==c?"s":""} updated`),d>0&&(u+=u?", ":"",u+=`${d} file${1!==d?"s":""} skipped`),m>0&&(u+=u?", ":"",u+=`${m} file${1!==m?"s":""} failed`),v({title:"Upload Complete",description:u,status:m>0?"warning":"success",duration:5e3}),h&&h(s)};return t(S,{isOpen:r,onClose:X,className:"w-full max-w-3xl mx-auto",children:[e(j,{children:m}),g?t(T,{className:"p-6",children:[u,H(),t("div",{className:"mb-4",children:[t("label",{className:"block text-sm font-medium mb-2",children:["Content Type ",e("span",{className:"text-gray-500 font-normal",children:"(Optional)"})]}),e(F,{options:Y,value:I,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type or leave empty for automatic detection",onChange:e=>$(void 0===e?null:e),filterBy:"name",isClearable:!0}),t("div",{className:"mt-2 text-sm text-blue-600 flex items-center",children:[e(Ge,{className:"h-4 w-4 mr-1"}),t("span",{children:[e("strong",{children:"Type selection is optional."})," Leave empty to let Vertesia choose the appropriate type"]})]})]}),t("div",I?{className:"text-sm text-gray-500 bg-gray-50 p-3 rounded-md mb-4",children:[e("div",{className:"font-medium",children:I.name}),I.description&&e("div",{className:"mt-1",children:I.description})]}:{className:"text-sm text-blue-600 bg-blue-50 p-3 rounded-md mb-4",children:[t("div",{className:"font-medium flex items-center",children:[e(Ge,{className:"h-5 w-5 mr-1"}),"Automatic Type Detection"]}),t("div",{className:"mt-1",children:[e("p",{children:e("strong",{children:"Vertesia will analyze the content and select the most appropriate type."})}),e("p",{className:"mt-1",children:"This is recommended for most uploads and ensures optimal processing."})]})]})]}):0!==w.length||p?O||z?O?t(T,{className:"p-6",children:[H(),t("div",{className:"mb-4",children:[t("div",{className:"flex justify-between items-center mb-2",children:[e("div",{className:"text-lg font-medium",children:"Uploading Files"}),t("div",{className:"text-sm text-muted",children:[Math.round(M),"% complete"]})]}),e("div",{className:"h-2 bg-color-muted/20 rounded-full overflow-hidden",children:e("div",{className:"h-full bg-color-primary rounded-full",style:{width:`${M}%`}})})]}),e("div",{className:"max-h-96 overflow-y-auto",children:U.map(((n,r)=>t("div",{className:"flex items-center py-2 border-b border-color-border last:border-b-0",children:[t("div",{className:"mr-3",children:["pending"===n.status&&e(Ye,{className:"h-5 w-5 text-muted"}),"uploading"===n.status&&e(L,{size:"sm"}),"success"===n.status&&e(Ge,{className:"h-5 w-5 text-green-500"}),"error"===n.status&&e(Xe,{className:"h-5 w-5 text-red-500"})]}),t("div",{className:"flex-1 min-w-0",children:[e("div",{className:"truncate font-medium",children:n.file.name}),t("div",{className:"text-xs text-muted",children:["pending"===n.status&&"Waiting...","uploading"===n.status&&"Uploading...","success"===n.status&&("create"===n.action?"Created":"update"===n.action?"Updated":"Skipped"),"error"===n.status&&n.message]})]})]},`${n.file.name}-${r}`)))})]}):e(T,{className:"p-6",children:t("div",{className:"mb-4",children:[e("div",{className:"text-lg font-medium mb-2",children:"Upload Complete"}),H(),e(_t,{files:U.map((e=>{let t;return t="success"===e.status?"create"===e.action?"success":"update"===e.action?"updated":"skipped":"failed",{name:e.file.name,status:t,error:"error"===e.status?e.message:void 0}})),location:d||void 0,collection:B?.name})]})}):e(T,{className:"p-6",children:P?t(n,{children:[H(),t("div",{className:"mb-4",children:[t("div",{className:"flex justify-between items-center mb-2",children:[e("div",{className:"text-lg font-medium",children:"File Analysis Results"}),t("div",{className:"text-sm text-muted",children:[w.length," file",1!==w.length?"s":""]})]}),e("div",{className:"bg-color-muted/10 p-4 rounded-md mb-4",children:t("div",{className:"grid grid-cols-3 gap-4",children:[t("div",{className:"flex flex-col items-center",children:[t("div",{className:"flex items-center",children:[e(Ke,{className:"h-5 w-5 text-blue-500 mr-2"}),e("span",{className:"font-medium",children:"New"})]}),e("div",{className:"text-2xl font-semibold",children:G.toCreate})]}),t("div",{className:"flex flex-col items-center",children:[t("div",{className:"flex items-center",children:[e(Ge,{className:"h-5 w-5 text-green-500 mr-2"}),e("span",{className:"font-medium",children:"Update"})]}),e("div",{className:"text-2xl font-semibold",children:G.toUpdate})]}),t("div",{className:"flex flex-col items-center",children:[t("div",{className:"flex items-center",children:[e(Qe,{className:"h-5 w-5 text-yellow-500 mr-2"}),e("span",{className:"font-medium",children:"Skip"})]}),e("div",{className:"text-2xl font-semibold",children:G.toSkip})]})]})})]}),t("div",{className:"mb-4",children:[t("label",{className:"block text-sm font-medium mb-2",children:["Content Type ",e("span",{className:"text-gray-500 font-normal",children:"(Optional)"})]}),e(F,{options:Y,value:I,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type or leave empty for automatic detection",onChange:e=>$(void 0===e?null:e),filterBy:"name",isClearable:!0}),t("div",{className:"mt-2 text-sm text-blue-600 flex items-center",children:[e(Ge,{className:"h-4 w-4 mr-1"}),t("span",{children:[e("strong",{children:"Type selection is optional."})," Leave empty to let Vertesia choose the appropriate type"]})]})]}),t("div",I?{className:"p-4 bg-gray-50 rounded-md border border-gray-100 mb-4",children:[e("div",{className:"font-medium mb-2",children:"Files to process with selected type:"}),e("div",{className:"text-sm",children:G.toCreate+G.toUpdate>0?t("div",{className:"space-y-1",children:[t("p",{children:[G.toCreate+G.toUpdate," file(s) ready to process",G.toSkip>0&&` (${G.toSkip} will be skipped as they already exist)`]}),t("p",{className:"text-green-600",children:["Files will be uploaded with type:"," ",e("strong",{children:I.name})]}),I.description&&e("p",{className:"text-gray-500 mt-1",children:I.description})]}):G.toSkip>0?t("span",{children:["All ",G.toSkip," file(s) already exist in the system and will be skipped. You can proceed to view the results."]}):e("span",{children:"No files to process."})})]}:{className:"p-4 bg-blue-50 rounded-md border border-blue-100 mb-4",children:[t("div",{className:"font-medium mb-2 flex items-center text-blue-700",children:[e(Ge,{className:"h-5 w-5 mr-1"}),"Automatic Type Detection"]}),e("div",{className:"text-sm text-blue-700",children:G.toCreate+G.toUpdate>0?t("div",{className:"space-y-1",children:[t("p",{children:[G.toCreate+G.toUpdate," file(s) ready to process",G.toSkip>0&&` (${G.toSkip} will be skipped as they already exist)`]}),e("p",{className:"mt-2",children:e("strong",{children:"Vertesia will analyze each file and select the most appropriate type."})}),e("p",{className:"mt-1",children:"This is recommended for most uploads and ensures optimal processing."})]}):G.toSkip>0?t("span",{children:["All ",G.toSkip," file(s) already exist in the system and will be skipped. You can proceed to view the results."]}):e("span",{children:"No files to process."})})]})]}):t("div",{className:"flex flex-col items-center justify-center py-8",children:[e(L,{size:"lg",className:"mb-4"}),e("div",{className:"text-lg font-medium",children:"Analyzing files..."}),e("div",{className:"text-sm text-muted mt-2",children:"Checking for duplicates and updates"})]})}):t(T,{className:"flex flex-col items-center justify-center p-8",children:[H(),e(Pt,{onDrop:Z,message:"Drag and drop files here or click to select",buttonLabel:"Select Files",className:"w-full h-64"}),u]}),(()=>{if(g)return t(E,{children:[e(b,{variant:"ghost",onClick:X,children:"Cancel"}),e(b,{onClick:()=>{h&&h({success:!0,objectIds:[],uploadedFiles:[{name:"type-selection",type:I?.id||null,status:"created"}],skippedFiles:[],failedFiles:[]}),X()},children:I?`Use ${I.name}`:"Use Automatic Type Detection"})]});if(0===w.length&&!p)return e(E,{children:e(b,{variant:"ghost",onClick:X,children:"Cancel"})});if(!O&&!z){const n=P;return t(E,{children:[e(b,{variant:"ghost",onClick:X,children:"Cancel"}),e(b,{disabled:!n,onClick:te,className:I?"":"bg-blue-600 hover:bg-blue-700",children:G.toCreate+G.toUpdate>0?I?`Upload with ${I.name}`:"Upload with Automatic Type Detection":"Continue"})]})}return O?e(E,{children:e(b,{variant:"ghost",disabled:!0,children:"Uploading..."})}):t(E,{children:[e(b,{variant:"ghost",onClick:()=>{N([]),C([]),_(!1),$(null),A([]),D(!1),R(!1),V(0),K({toCreate:0,toUpdate:0,toSkip:0})},children:"Upload More"}),e(b,{onClick:X,children:"Close"})]})})()]},q)}function Vr(e){const t="function"==typeof e?e:e.onUploadDone,{client:n,project:r,store:a}=Te(),s=Ur(),i=f(),{checkDocumentProcessing:l}=Rr();return async(e,o,c)=>{const d={success:!1,objectIds:[],uploadedFiles:[],skippedFiles:[],failedFiles:[]};if(!r)return i({status:"error",title:"No project selected",duration:3e3}),d;if(!e||0===e.length)return i({status:"warning",title:"No files selected",duration:3e3}),d;const m=Array.from(e).filter((e=>e.size>0));if(0===m.length)return i({status:"error",title:"No valid files selected",description:"Please select files with valid content.",duration:5e3}),d;const u=[],h=[],p=[];console.log(`Processing ${m.length} files with smart file processing...`);const g=await l(m,null,c),f=g.filter((e=>e.action===zr.CREATE)).length,b=g.filter((e=>e.action===zr.UPDATE)).length,y=g.filter((e=>e.action===zr.SKIP)).length;i({title:"Files analyzed",description:`${m.length} file(s): ${f} new, ${b} to update, ${y} to skip`,status:"info",duration:4e3});for(const e of g.filter((e=>e.action===zr.SKIP&&e.existingId)))u.push({id:e.existingId,name:e.name,type:o,status:"skipped",location:e.location});const x=g.filter((e=>(e.action===zr.CREATE||e.action===zr.UPDATE)&&e.file));if(x.length>0){console.log(`Processing ${x.length} files (${x.filter((e=>e.action===zr.CREATE)).length} create, ${x.filter((e=>e.action===zr.UPDATE)).length} update)...`);const e=50,t=[];for(let n=0;n<x.length;n+=e)t.push(x.slice(n,n+e));for(let r=0;r<t.length;r++){const s=t[r],l=r*e;console.log(`Processing batch ${r+1}/${t.length} (${s.length} files)`),x.length>e&&i({title:"Processing files",description:`Processed ${l}/${x.length} files...`,status:"info",duration:2e3});const m=await Promise.all(s.map((async e=>{try{if(e.action===zr.UPDATE&&e.existingId){const t=await n.store.objects.update(e.existingId,{type:o||void 0,content:e.file,location:e.location,name:e.name},{createRevision:!0,revisionLabel:"upload on "+(new Date).toISOString()});return h.push({id:e.existingId,name:e.name,type:o,status:"updated",location:e.location}),d.objectIds.push(e.existingId),{success:!0,id:t.id,name:e.name,action:"update"}}{const t=c?{collection_id:c}:void 0,n=await a.objects.create({type:o||void 0,content:e.file,location:e.location||e.file.webkitRelativePath||e.name},t);h.push({id:n.id,name:e.name,type:o,status:"created",location:e.location})}}catch(t){console.error(`Failed to process file ${e.name}:`,t),p.push({name:e.name,error:t.message||"Unknown error",status:"failed",location:e.location,type:o}),i({status:"error",title:`Processing failed for ${e.name}`,description:t.message,duration:4e3})}}))),u=h.filter((e=>"created"===e.status)),g=h.filter((e=>"updated"===e.status)),f=h.filter((e=>"failed"===e.status));console.log(`Batch ${r+1} results:`,{creates:u,updates:g,failures:f,total:m.length})}}const v=h.filter((e=>"created"===e.status)).length,w=h.filter((e=>"updated"===e.status)).length,N=h.filter((e=>"failed"===e.status)).length,k=h.filter((e=>"skipped"===e.status)).length;t&&(console.log("Upload complete:",{totalObjectIds:d.objectIds.length,uploadedFiles:v,updatedFiles:w,skippedFiles:k,failedFiles:N}),await t(d.objectIds));let C="";return v>0&&(C+=`${v} file${1!==v?"s":""} uploaded`),w>0&&(C+=C?", ":"",C+=`${w} file${1!==w?"s":""} updated`),k>0&&(C+=C?", ":"",C+=`${k} file${1!==k?"s":""} skipped (already existed)`),N>0&&(C+=C?", ":"",C+=`${N} file${1!==N?"s":""} failed`),C&&i({status:N>0?"warning":"success",title:C,duration:4e3}),s.search(),d}}!function(e){e.CREATE="create",e.SKIP="skip",e.UPDATE="update"}(zr||(zr={}));const qr=[{name:"ID",field:"id",type:"string?slice=-7"},{name:"Name",field:".",type:"objectLink"},{name:"Type",field:"type.name",type:"string"},{name:"Status",field:"status",type:"string"},{name:"Updated At",field:"updated_at",type:"date"}];function Wr({isGridView:t=!1,onUpload:n,collectionId:r,...a}){return n?e(Br,{...a,onUpload:n,isGridView:t,collectionId:r}):e(Jr,{...a,isGridView:t})}function Br({isGridView:n,onUpload:a,collectionId:s,skipTypeModal:i=!1,...l}){const[c,d]=o(!1),[m,u]=o([]),[h,p]=o(!1),[g,b]=o(null),[y,x]=o(!1),v=Ur(),w=f(),{checkDocumentProcessing:N}=Rr(),k=async(e,t)=>{console.log("Files dropped on ObjectTable:",e.length,t),d(!0);try{if(s){const t=await N(e,null,s);b(t);const n=t.filter((e=>"create"===e.action)).length,r=t.filter((e=>"update"===e.action)).length,a=t.filter((e=>"skip"===e.action)).length;w({title:"Files ready to process",description:`${e.length} file(s): ${n} new, ${r} to update, ${a} to skip`,status:"info",duration:4e3})}else b(null)}catch(e){console.error("Error processing files:",e),w({title:"Error processing files",description:"There was an error checking for duplicate files",status:"error",duration:4e3}),b(null)}finally{if(d(!1),u(e),p(!1),i){console.log("Skipping type modal and calling onUpload directly",{filesLength:e.length,processedFilesLength:g?.length});const t=a(e,null,s);t&&"object"==typeof t&&(t.processedFiles=g)}else console.log("Setting typeSelectionOpen to true",{filesLength:e.length}),x(!0)}},C=e=>{const t=[...m];u([]),b(null),x(!1),t.length>0&&void 0!==e&&(d(!0),console.log("Starting upload with",{typeId:e,filesCount:t.length,hasProcessingResults:!!g,collectionId:s}),a(t,e,s).finally((()=>{d(!1),v.search()})))},S=e=>{e.preventDefault(),e.stopPropagation(),p(!0)};return t("div",{className:"min-h-[400px] relative",onDragOver:S,onDragEnter:S,onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),e.currentTarget.contains(e.relatedTarget)||p(!1)},onDrop:e=>{if(e.preventDefault(),e.stopPropagation(),p(!1),e.dataTransfer.items){const t=[];for(let n=0;n<e.dataTransfer.items.length;n++){const r=e.dataTransfer.items[n];if("file"===r.kind){const e=r.getAsFile();e&&t.push(e)}}if(t.length>0){const e={count:t.length,message:`Preparing to upload ${t.length} file${1===t.length?"":"s"}...`};k(t,e)}}},children:[e("div",{className:r("bg-white dark:bg-gray-800 opacity-40 absolute inset-0 z-50 flex justify-center items-center",c?"block":"hidden"),children:e(L,{size:"xl"})}),e(Jr,{...l,isGridView:n}),e("div",{className:r("absolute inset-0 pointer-events-none",h?"z-40":"-z-10"),children:e("div",{className:"w-full h-full relative",children:e(Pt,{onDrop:k,message:"Drop files or folders here to upload",className:r("absolute inset-0 bg-white/90 dark:bg-gray-800/90 pointer-events-auto",h?"flex":"hidden"),buttonLabel:"Select Files or Folders",allowFolders:!0})})}),e(Mr,{isOpen:y&&m.length>0,onClose:()=>{u([]),b(null),x(!1),C(void 0)},files:m,collectionId:s,selectedFolder:null,title:"Upload Files",onUploadComplete:e=>{if(e){if(e.failedFiles&&e.failedFiles.length>0&&w({title:"Upload Issues",description:`${e.failedFiles.length} file(s) failed to upload`,status:"warning",duration:5e3}),e.success){const t=e.uploadedFiles.filter((e=>"created"===e.status)).length,n=e.uploadedFiles.filter((e=>"updated"===e.status)).length,r=e.skippedFiles.length;(t>0||n>0)&&w({title:"Upload Complete",description:`${t>0?`${t} created`:""}${t>0&&n>0?", ":""}${n>0?`${n} updated`:""}${r>0?`, ${r} skipped`:""}`,status:"success",duration:5e3})}v.search()}u([]),b(null),x(!1),e&&e.success&&e.objectIds.length>0?C(null):C(void 0)}})]})}function Jr({objects:t,layout:n=qr,isLoading:r,onRowClick:a,onSelectionChange:s,isGridView:i}){const o=kr(),c=(e,n)=>{if(o){const r=n.nativeEvent.shiftKey;if(n.target.checked){if(o.add(e),r){const n=t.findIndex((t=>t.id===e.id)),r=function(e,t,n){for(let r=t-1;r>=0;r--)if(n.isSelected(e[r].id))return r;return-1}(t,n,o);if(r>-1&&r<n-1){const e=[];for(let a=r+1;a<n;a++)e.push(t[a]);o.addAll(e)}else{const e=function(e,t,n){const r=e.length;for(let a=t+1;a<r;a++)if(n.isSelected(e[a].id))return a;return-1}(t,n,o);if(e>-1&&e>n+1){const r=[];for(let a=n+1;a<e;a++)r.push(t[a]);o.addAll(r)}}}}else o.remove(e.id);s&&s(o)}},d=e=>{if(o){e.target.checked?o.addAll(t):o.removeAll()}},m=l((()=>(n.length>0?n:qr).map((e=>new _r(e)))),[n]);return e(i?Er:Ir,{objects:t,isLoading:r,columns:m,onRowClick:a,selection:o,toggleAll:d,onSelectionChange:c})}function Hr({children:t,limit:n,parent:r,typeId:a,facets:s,similarTo:i,embeddingType:o,name:c,collectionId:d}){const{store:m}=Te(),u=l((()=>{let e;s?e=s:(e=[{name:"status",field:"status"},{name:"location",field:"location"}],a||e.unshift({name:"type",field:"type"}));const t=new $r(m,n).withFacets(e);return t.collectionId=d,t.query.type=a,t.query.parent=r,t.query.similarTo=i,t.query.embeddingType=o,t.query.name=c,t}),[a,n]);return e(Lr.Provider,{value:u,children:t})}const Gr=[{name:"Name",field:"properties.title",type:"string",fallback:"name"},{name:"Type",field:"type.name",type:"string"},{name:"Status",field:"status",type:"string"},{name:"Created At",field:"created_at",type:"date"}];function Kr({onChange:t}){return e(Hr,{children:e(Qr,{onRowClick:e=>{t(e||void 0)}})})}function Qr({onRowClick:n}){const[r,a]=o(!1),[s,i]=o("grid"===localStorage.getItem("lastDisplayedView")),{search:l,isLoading:d,error:m,objects:h}=Or(),p=u(null);G(p,(()=>{r&&l.loadMore(!0)}),{deps:[r]}),c((()=>{l.search().then((()=>a(!0)))}),[]);const g=Ar(),f=Ur();return m?e(K,{title:"Search failed",children:m.message}):t("div",{children:[t("div",{className:"flex justify-between items-center mb-4",children:[e(xr,{facets:g,search:f,textSearch:"Filter content"}),e(Pn,{onUpdate:i})]}),e(Wr,{objects:h||[],isLoading:!1,layout:Gr,onRowClick:n,isGridView:s}),e("div",{ref:p,className:"mt-10"}),d&&e("div",{className:"flex justify-center",children:e(L,{size:"xl"})})]})}function Yr({isOpen:n,onClose:r}){return t(S,{onClose:()=>r(),isOpen:!!n,className:"min-w-[60vw]",children:[e(j,{children:"Select Content"}),e(T,{className:"p-4 pt-0 overflow-y-auto max-h-[80vh] min-h-[80vh]",children:n&&e(Kr,{onChange:r})})]})}const Xr=/store:([a-f0-9]+)/;function Zr({object:n}){const{client:a}=Te(),{off:s,on:i,isOn:l}=Q(),[d,m]=o(null!=n.value?String(n.value):""),[u,h]=o(void 0),p=()=>{m(""),n.value="",h(void 0)};return c((()=>{if(!d||u)return;const e=d.match(Xr);e&&a.objects.get(e[1]).then((e=>{h(e)})).catch((()=>{p()}))}),[d]),t("div",{children:[t("div",{className:"relative",children:[e("input",{value:d,onChange:e=>{const t=e.target.value;m(t),n.value=t},className:r(Y.INPUT,"pr-10 w-full")}),u&&e("div",{className:"absolute inset-y-0 right-10 flex items-center justify-center ",children:e(b,{onClick:p,variant:"unstyled",className:"hover:text-red-500 hover:bg-gray-100 dark:hover:bg-gray-600",children:e(Pe,{className:"size-5"})})}),e("div",{className:"absolute inset-y-0 right-0 flex items-center justify-center",children:e(b,{onClick:i,variant:"unstyled",className:"hover:bg-gray-100 dark:hover:bg-gray-600",children:e(et,{className:"size-5"})})}),e(Yr,{value:d,isOpen:l,onClose:e=>{if(e){const t="store:"+e.id;m(t),h(e||void 0),n.value=t}s()}})]}),u&&e("div",{className:"p-1 semibold text-sm text-gray-600 dark:text-slate-300",children:u.properties?.title||u.name})]})}function ea(e,t,n){return()=>{n&&e.files.getDownloadUrl(n).then((e=>{window.open(e.url,"_blank")})).catch((e=>{t({status:"error",title:"Failed to get download URL",description:e.message,duration:5e3})}))}}function ta({objectId:n,isOpen:r,onClose:a}){const s=wt(),{client:i,store:l}=Te(),[d,m]=o(null),[u,h]=o(!1),[p,g]=o(!1),[y,x]=o(),[v,w]=o(),[N,k]=o("preview"),C=f();c((()=>{n&&r?(h(!0),l.objects.retrieve(n,"+embeddings").then((e=>{m(e),e.text?x(e.text):S(e.id);const t=e.content;t&&t.source&&t.type&&t.type.startsWith("image/")&&j(e)})).catch((e=>{console.error("Error loading object:",e),C({title:"Error",description:"Failed to load document",status:"error",duration:3e3})})).finally((()=>{h(!1)}))):(m(null),x(void 0),w(void 0))}),[n,r,l.objects]);const S=async e=>{g(!0);try{const t=await l.objects.getObjectText(e);x(t.text)}catch(e){console.error("Error loading text:",e)}finally{g(!1)}},j=async e=>{try{"found"===(await i.objects.getRendition(e.id,{max_hw:1024,format:ke.jpeg,generate_if_missing:!1})).status&&console.log("Found rendition");const t=await i.files.getDownloadUrl(e.content.source);w(t.url)}catch(e){console.error("Error loading image:",e)}},T=()=>{d&&(s(`/legal/objects/${d.id}`),a())},P=y&&(y.startsWith("#")||y.includes("\n#")||y.includes("\n*")),_=d?.content?.type&&d.content.type.startsWith("image/"),I="application/pdf"===d?.content?.type;return r?t("div",{className:"fixed inset-y-0 right-0 w-2/5 dark:bg-slate-900 shadow-xl z-50 flex flex-col transition-transform duration-300 transform "+(r?"translate-x-0":"translate-x-full"),children:[t("div",{className:"flex items-center justify-between px-4 py-3 border-b dark:border-gray-700 bg-gradient-to-r from-indigo-50 to-gray-50 dark:from-gray-800 dark:to-gray-900",children:[t("div",{className:"flex items-center",children:[e(tt,{className:"h-5 w-5 text-indigo-600 mr-2"}),e("h2",{className:"text-lg font-semibold text-gray-800 dark:text-gray-200 truncate",children:u?"Loading document...":d?.name||"Document Preview"})]}),t("div",{className:"flex items-center space-x-2",children:[t(b,{variant:"ghost",size:"sm",onClick:T,className:"flex items-center gap-1 text-indigo-600 hover:text-indigo-800",children:[e(nt,{className:"h-4 w-4"}),e("span",{children:"Full View"})]}),e(b,{variant:"ghost",size:"sm",onClick:a,className:"flex items-center text-gray-600 hover:text-gray-800 dark:text-gray-300 dark:hover:text-gray-100",children:e(Pe,{className:"h-5 w-5"})})]})]}),u?e("div",{className:"flex-1 flex items-center justify-center",children:t("div",{className:"text-center",children:[e(L,{size:"lg",className:"text-indigo-600 dark:text-indigo-400 mb-2"}),e("p",{className:"text-gray-600 dark:text-gray-400",children:"Loading document..."})]})}):t("div",{className:"flex-1 flex flex-col h-full",children:[e("div",{className:"border-b",children:t("div",{className:"flex px-4",children:[e("button",{className:"py-2 px-4 font-medium border-b-2 "+("preview"===N?"border-indigo-600 text-indigo-700 dark:text-indigo-300":"border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"),onClick:()=>k("preview"),children:t("div",{className:"flex items-center gap-1",children:[e(We,{className:"h-4 w-4"}),e("span",{children:"Preview"})]})}),e("button",{className:"py-2 px-4 font-medium border-b-2 "+("properties"===N?"border-indigo-600 text-indigo-700 dark:text-indigo-300":"border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"),onClick:()=>k("properties"),children:t("div",{className:"flex items-center gap-1",children:[e(Oe,{className:"h-4 w-4"}),e("span",{children:"Properties"})]})})]})}),t("div",{className:"flex-1 overflow-auto p-4",children:["preview"===N&&t("div",{className:"h-full",children:[p?e("div",{className:"flex items-center justify-center h-40",children:e(L,{size:"md",className:"text-indigo-600 dark:text-indigo-400"})}):y?e("div",{className:"shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:P?e("div",{className:"prose prose-sm max-w-none prose-p:my-2 prose-pre:bg-gray-800 prose-pre:my-2 prose-headings:text-indigo-700 dark:prose-invert dark:prose-headings:text-indigo-300",children:e(Ct,{remarkPlugins:[St],children:y})}):e("pre",{className:"text-wrap whitespace-pre-wrap dark:text-gray-200",children:y})}):null,_&&e("div",{className:"mt-4",children:e("div",v?{className:"border border-gray-200 dark:border-gray-700 rounded-md p-2 bg-white dark:bg-gray-800",children:e("img",{src:v,alt:d?.name,className:"mx-auto max-h-[70vh] object-contain"})}:{className:"flex items-center justify-center h-40",children:e(L,{size:"md",className:"text-indigo-600 dark:text-indigo-400"})})}),I&&t("div",{className:"flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800",children:[e(tt,{className:"h-16 w-16 text-indigo-300 dark:text-indigo-400 mb-4"}),t("p",{className:"text-gray-600 dark:text-gray-400 text-center mb-4",children:["PDF document preview is available in full view. TODO"," "]}),e(b,{onClick:T,className:"bg-indigo-600 hover:bg-indigo-700 text-white",children:"Open Full Document View"})]}),!_&&!y&&!I&&!p&&t("div",{className:"flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800",children:[e(tt,{className:"h-16 w-16 text-gray-300 dark:text-gray-600 mb-4"}),e("p",{className:"text-gray-600 dark:text-gray-400 text-center",children:"No preview available for this document type."})]})]}),"properties"===N&&d&&t("div",{className:"h-full",children:[d.properties?e("div",{className:"shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:e(Tt,{value:d.properties})}):t("div",{className:"flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800",children:[e(Oe,{className:"h-16 w-16 text-gray-300 dark:text-gray-600 mb-4"}),e("p",{className:"text-gray-600 dark:text-gray-400 text-center",children:"No properties available for this document."})]}),t("div",{className:"mt-4",children:[e("h3",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:"Document Information"}),e("div",{className:"shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:t("div",{className:"grid grid-cols-2 gap-y-2 gap-x-4 text-sm",children:[e("div",{className:"text-gray-500 dark:text-gray-400",children:"ID"}),e("div",{className:"font-medium dark:text-gray-200",children:d.id}),e("div",{className:"text-gray-500 dark:text-gray-400",children:"Type"}),e("div",{className:"font-medium dark:text-gray-200",children:d.type?.name||"Unknown"}),e("div",{className:"text-gray-500 dark:text-gray-400",children:"Content Type"}),e("div",{className:"font-medium dark:text-gray-200",children:d.content?.type||"N/A"}),e("div",{className:"text-gray-500",children:"Size"}),e("div",{className:"font-medium",children:d.content&&"size"in d.content?na(d.content.size):"Unknown"}),e("div",{className:"text-gray-500",children:"Created"}),e("div",{className:"font-medium",children:d.created_at?new Date(d.created_at).toLocaleString():"N/A"}),e("div",{className:"text-gray-500",children:"Updated"}),e("div",{className:"font-medium",children:d.updated_at?new Date(d.updated_at).toLocaleString():"N/A"})]})})]})]})]})]}),t("div",{className:"flex items-center justify-between p-4 border-t bg-gray-50 dark:bg-gray-800 dark:border-gray-700",children:[e("div",{children:d?.content?.source&&t(b,{onClick:()=>{d?.content?.source&&i.files.getDownloadUrl(d.content.source).then((e=>{window.open(e.url,"_blank")})).catch((e=>{console.error("Error getting download URL:",e),C({title:"Error",description:"Failed to download file",status:"error",duration:3e3})}))},variant:"outline",className:"text-indigo-600 border-indigo-300 hover:bg-indigo-50",children:[e(He,{className:"h-4 w-4 mr-2"}),"Download"]})}),t(b,{onClick:T,className:"bg-indigo-600 hover:bg-indigo-700 text-white",children:["Open Full Document",e(rt,{className:"h-4 w-4 ml-2"})]})]})]}):null}function na(e){if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB","TB"][t]}function ra({onChange:n,isLoading:r,refresh:a}){const{client:s,project:i}=Te(),l=f(),[d,m]=o(void 0),[u,h]=o(void 0),[p,g]=o(void 0),y=!(!i||!p?.embeddings.text&&!p?.embeddings.image),[x,v]=o(void 0);c((()=>{m(void 0),h(void 0),v(void 0)}),[a]),c((()=>{i&&s.projects.retrieve(i.id).then((e=>{g(e.configuration)}))}),[i]),c((()=>{x&&l({title:x,status:"success",duration:2e3})}),[x]),c((()=>{d&&0!==d.length||n(void 0)}),[d]);const w=async()=>{if(!y||!d||!p?.embeddings.text)return;v("Generating text embeddings...");return{values:(await s.environments.embeddings(p.embeddings.text?.environment,{model:p.embeddings.text?.model,text:d})).values,type:je.text}},N=async()=>{if(!y||!d||!p?.embeddings.image)return;v("Generating image embeddings...");return{values:(await s.environments.embeddings(p.embeddings.image?.environment,{model:p.embeddings.image?.model,image:u})).values,type:je.image}},k=(e="text")=>{("text"===e?w:N)().then((e=>{v("Embeddings generated"),e&&(n(e),v("Searching..."))}))};return t("div",{className:"flex gap-1 items-center w-full",children:[e(I,{placeholder:"Type what you are looking for",value:d,onChange:m,onKeyDown:e=>{"Enter"===e.key&&k("text")}}),e(b,{variant:"secondary",isLoading:r,onClick:()=>k("text"),isDisabled:!y,alt:"semantic search",children:"Search"})]})}const aa=[{name:"ID",field:"id",type:"string?slice=-7"},{name:"Name",field:".",type:"objectLink"},{name:"Type",field:"type.name",type:"string"},{name:"Status",field:"status",type:"string"},{name:"Updated At",field:"updated_at",type:"date"}];function sa({onUploadDone:t=async()=>{},layout:n}){const r=Ur(),a=f(),s=Vr((async e=>{await t(e),setTimeout((()=>{console.log("Delayed refresh after upload to ensure backend consistency"),r.search().then((()=>{a({title:"Document list refreshed",description:"The document list has been updated with your uploaded files.",status:"info",duration:3e3})})).catch((e=>{console.error("Failed to refresh search results:",e)}))}),1e3)}));return e(ia,{layout:n,onUpload:(e,t)=>{const n=r.collectionId;return s(e,t,n)}})}function ia({layout:n,onUpload:r,allowFilter:a=!0,allowSearch:s=!0}){const i=Ur(),[l,d]=o(!1),[m,h]=o(null),{typeRegistry:p}=Te(),{search:g,isLoading:f,error:y,objects:x}=Or(),[v,w]=o(void 0),[N,k]=o(p?n||(C=p,((S=g.query.type)?C.getTypeLayout(S):aa)??aa):aa);var C,S;const[j,T]=o(0),[P,_]=o(0),[I,E]=o("grid"===localStorage.getItem(Pn.LAST_DISPLAYED_VIEW)),$=u(null);G($,(()=>{l&&x.length>0&&x.length!=P&&(d(!1),g.loadMore().finally((()=>{_(x.length),d(!0)})))}),{deps:[l,x.length]}),c((()=>{g.search().then((()=>d(!0)))}),[]);const[U,A]=o(""),O=X(U,500);c((()=>{g.query.name=U,g.search().then((()=>d(!0)))}),[O]),c((()=>{if(v){if(g.query.vector=v,!N.find((e=>"Vector Similarity"===e.name))){const e=[...N,{name:"Vector Similarity",field:"score"}];k(e)}g.search().then((()=>d(!0)))}else delete g.query.vector,g.search().then((()=>d(!0)))}),[v?.values]);const D=Ar(),z=Ur();return t("div",{className:"flex flex-col gap-y-2",children:[e(la,{object:m,onClose:()=>h(null)}),y&&e(K,{title:"Error",children:y.message}),t("div",{className:"flex flex-row gap-4 items-center justify-between w-full",children:[s&&e(ra,{onChange:w,isLoading:f,refresh:j}),t("div",{className:"flex gap-1 items-center",children:[e(b,{variant:"outline",onClick:()=>{g.search().then((()=>d(!0)))},alt:"Refresh",children:e(at,{size:16})}),e(Pn,{onUpdate:E})]})]}),a&&e(xr,{facets:D,search:z,textSearch:"Name or ID"}),e(Wr,{objects:x,isLoading:!x.length&&f,layout:N,onRowClick:h,onUpload:r,isGridView:I,collectionId:i.collectionId}),f&&e("div",{className:"flex justify-center",children:e(L,{size:"xl"})}),e("div",{ref:$})]})}function la({object:n,onClose:r}){const{store:a}=Te(),s=f(),i=wt(),l=ea(a,s,n?.content?.source);return n?t(Z,{title:n.properties?.title||n.name,isOpen:!0,onClose:r,children:[t("div",{className:"flex items-center gap-x-2",children:[e(b,{variant:"ghost",size:"sm",title:"Open Object",onClick:()=>i(`/objects/${n.id}`),children:e(st,{className:"size-4"})}),n.content?.source&&e(b,{variant:"ghost",size:"sm",title:"Download",onClick:l,children:e(He,{className:"size-4"})})]}),e(ee,{className:"my-2"}),e("div",{className:"pt-2",children:e($n,{object:n,loadText:!0})})]}):null}var oa;function ca({isExporting:n,isOpen:r,onClose:a}){return t(S,{onClose:()=>a(void 0),isOpen:r,className:"relative overflow-visible",children:[e(j,{children:"Export Object Properties"}),!n&&e(da,{onClose:a}),n&&e(ma,{})]})}function da({onClose:n}){const[r,a]=o(void 0),[s,i]=o(void 0),l=["Export selected objects","Export all objects"];return t(T,{className:"min-h-[104px] pt-0 flex flex-col gap-y-4",children:[e("div",{className:"h-1/3",children:e(F,{options:l,value:s,onChange:i,placeholder:"Choose what to export",className:"h-full w-full text-sm",filterBy:"name",isClearable:!0})}),t("div",{className:"h-1/2 flex flex-col gap-y-8 content-between",children:[e(F,{options:Object.values(oa),value:r,onChange:a,placeholder:"Choose a format",className:"h-full w-full text-sm",filterBy:"name",isClearable:!0}),e(b,{className:"w-full",isDisabled:!r||!s,onClick:()=>{n(r,s==l[1])},children:"Export Properties"})]})]})}function ma({}){return e(T,{className:"min-h-[84px] pt-0",children:t("div",{className:"h-full grid flex-col gap-y-2 content-between justify-items-center",children:[t("div",{className:"text-sm flex flex-col gap-x-2",children:[e("p",{children:"EXPORT IS IN PROGRESS"}),e("p",{className:"pt-2 grid justify-items-center",children:"PLEASE WAIT"})]}),e(L,{size:"lg"})]})})}function ua({collection:t}){const n=f(),{client:r,typeRegistry:a}=Te(),s=function(e,t){let n=e.table_layout;if(n&&n.length>0)return n;e.type&&t&&(n=t?.getTypeLayout(e.type.id));return n&&n.length>0?n:void 0}(t,a);return t.dynamic?e(ia,{layout:s}):e(sa,{onUploadDone:async e=>{e.length>0&&await r.store.collections.addMembers(t.id,e).catch((e=>{n({title:"Failed to add objects to collection",description:e.message,status:"error"})}))},layout:s})}function ha({}){const{client:r}=Te(),a=f(),[s,i]=o(),[l,d]=o(!0),{data:m,error:u,refetch:h}=M((()=>r.store.collections.list()),[]);if(c((()=>{(m||u)&&d(!1)}),[m,u]),u)return e(K,{title:"Collections fetch failed",children:u.message});return t(n,{children:[m&&t(q,{className:"w-full",children:[e("thead",{children:t("tr",{children:[e("th",{children:"Name"}),e("th",{children:"Type"}),e("th",{children:"Created"}),e("th",{})]})}),e(B,{columns:4,isLoading:l,children:m.map((n=>t(te,{children:[e("td",{children:t("div",{className:"flex items-center gap-2",children:[pa(n.dynamic),e(vt,{href:`/collections/${n.id}`,children:n.name})]})}),e("td",{children:n.type?.name||"-"}),e("td",{children:kt(n.created_at).fromNow()}),e("td",{className:"text-right",children:e(b,{variant:"destructive",size:"sm",onClick:()=>i(n.id),children:e(it,{className:"size-4"})})})]},n.id)))})]}),e(ne,{isOpen:!!s,title:"Delete Collection",content:"Are you sure you want to delete this collection? This action cannot be undone.",onConfirm:async()=>{if(s)try{await r.store.collections.delete(s),a({title:"Collection deleted",status:"success",duration:3e3}),h()}catch(e){console.error("Failed to delete collection:",e),a({title:"Failed to delete collection",description:e.message||"An error occurred",status:"error",duration:5e3})}finally{i(void 0)}},onCancel:()=>i(void 0)})]})}function pa(t){const n=t?"Dynamic Collection":"Static Collection",r=e(t?lt:ot,{className:"size-5"});return e(z,{description:n,className:"mr-2",children:r})}function ga({className:n,children:a,title:s,description:i,actions:l,breadcrumbs:o,isCompact:c=!1}){return t("div",{className:r(c?"pb-0":"pb-2","p-4 flex flex-col",n),children:[t("div",{className:"flex items-start gap-4",children:[t("div",{className:"w-full flex place-content-between h-auto min-h-8 flex-col items-start",children:[e("nav",{className:"flex-1 flex justify-start text-xs",children:o?.map(((n,r)=>t("div",{className:"flex items-center text-muted",children:[n,r<o.length-1&&e(rt,{className:"w-3.5 h-3.5"})]},r)))}),t("div",{className:"flex gap-2 items-center",children:[e("h1",{className:"text-xl font-semibold break-all",children:s}),i&&e(z,{description:i,children:e(Oe,{className:"size-4 text-muted"})})]})]}),e("div",{className:"flex gap-x-4 shrink-0",children:l})]}),a&&e("div",{className:"w-full flex items-center",children:a})]})}function fa({}){return t("div",{className:"text-center pt-32",children:[e("h1",{className:"text-3xl font-bold text-red-500",children:"404"}),e("p",{className:"text-2xl",children:"Page Not Found"})]})}function ba({}){const n=[e(ya,{},"create")];return t(qt,{children:[e(ga,{title:"Collections",breadcrumbs:[e("span",{children:"Collections"},"0")],description:"Group objects together using a collection",actions:n}),e(qt.Body,{children:e(ha,{})})]})}function ya(){const{on:n,off:r,isOn:a}=Q();return t("div",{children:[t(ie,{onClose:r,isOpen:a,children:[e(le,{children:"Create a Collection"}),e(xa,{onClose:r})]}),e(b,{onClick:n,children:"Create Collection"})]})}function xa({onClose:n,redirect:r=!0,onAddToCollection:a}){const s=wt(),i=f(),[l,c]=o(!1),{client:d}=Te(),[m,u]=o({dynamic:!1,name:"",description:""});function h(e,t){u({...m,[e]:t})}return t("form",{children:[t(re,{children:[e(_,{label:"Name",required:!0,children:e(I,{type:"text",value:m.name||"",onChange:e=>h("name",e)})}),e(_,{label:"Description",className:"mt-2",children:e("textarea",{className:Y.INPUT,value:m.description||"",onChange:e=>h("description",e.target.value)})}),e(_,{label:"Dynamic Collection",className:"mt-2",direction:"row",description:"Dynamic Collection is based on a query vs. users manully adding content.",children:e(ae,{value:m.dynamic||!1,onChange:e=>h("dynamic",e)})}),e(_,{label:"Type",className:"mt-2",description:"This is optional and drives what properties are used to describe a collection",children:e(Ds,{defaultValue:m.type||null,onChange:e=>{Array.isArray(e)?h("type",e.length>0?e[0].id:null):h("type",e?.id||null)},isClearable:!0})}),e(_,{label:"Allowed Content Types",className:"mt-4",children:e(Ds,{defaultValue:m.allowed_types||null,onChange:e=>{Array.isArray(e)?h("allowed_types",e.map((e=>e.id))):h("allowed_types",e?[e.id]:[])},isClearable:!0,multiple:!0})})]}),e(se,{children:e(b,{isDisabled:l,onClick:()=>{m?.name&&m.name.trim()?(m.name=m.name.trim(),m.description&&(m.description=m.description.trim()),null==m.dynamic&&(m.dynamic=!1),c(!0),d.store.collections.create(m).then((e=>{n(),i({title:"Collection created",description:`Collection "${e.name}" created successfully`,status:"success",duration:3e3}),r&&s(`/collections/${e.id}`),a&&a(e.id)})).catch((e=>{i({title:"Failed to create collection",description:e.message,status:"error",duration:5e3})})).finally((()=>c(!1)))):i({title:"Name is required",description:"Please provide a name for the collection",status:"error",duration:5e3})},children:"Create Collection"})})]})}function va({children:t,fallback:n}){return wa?e(wa,{fallback:n,children:t}):e(Bt,{FallbackComponent:n,children:t})}!function(e){e.CSV="CSV",e.JSON="JSON"}(oa||(oa={})),kt.extend(Mt);let wa=null;function Na(e){wa=e}function ka({children:t}){return e(va,{fallback:Ca,children:t})}function Ca({error:n}){return t(oe,{status:"error",title:"Sorry, something went wrong...",children:[t("div",{className:"mb-4",children:["Our team has been notified and will be quickly working on resolving it. If you'd like to escalate or simply contact us, please email us at ",e("a",{className:"text-info",href:"mailto:support@vertesiahq.com",children:"support@vertesiahq.com"}),"."]}),n?.message&&e("code",{className:"w-full mt-4 text-sm text-muted break-words",children:n.message})]})}function Sa({children:t}){return e(va,{fallback:ja,children:t})}function ja({error:n}){return e("tr",{children:t("td",{colSpan:100,children:[e("span",{className:"text-xs",children:" Cannot display row"}),e("br",{}),e("span",{className:"bg-gray-400",children:n?.message})]})})}function Ta({children:t}){return e(va,{fallback:Pa,children:t})}function Pa({error:n}){return console.log("WidgetError",n),t("div",{className:"text-sm",children:["Sorry, this area cannot be loaded or rendered.",n?.message&&e("pre",{children:n.message})]})}function _a({action:n,objectIds:r,children:a}){const{store:s}=Te(),i=f(),[l,c]=o(!1),d=h((()=>(c(!0),Promise.resolve(!0))),[]);Wa(n.id,d);return t("div",{children:[a,e(zs,{isOpen:l,onClose:e=>{c(!1),void 0!==e&&s.runOperation({name:"change_type",ids:r,params:{typeId:e}}).then((e=>{i({status:"success",title:"Change Type",description:`Change the type of ${r.length} objects is ${"in_progress"===e.status?"in progress":"completed"}`,duration:2e3})})).catch((e=>{i({status:"error",title:"Error changing type",description:e.message,duration:5e3})}))},title:"Change Content Type",confirmLabel:"Change Type",children:t("div",{className:"text-sm flex flex-col gap-x-2",children:[t("p",{children:["Choose a new Content Type for the selected object",r.length>1?"s":" ","or let the system choose or generate a type based on the content."]}),t("p",{className:"pt-2 text-xs",children:["Note: This action will raise the ",e("code",{children:"change_type"})," event and will trigger the standard intake workflows which may reset the object properties."]})]})})]})}const Ia={id:"changeType",name:"Change Content Type",description:"Change the Content Type of the selected documents",confirm:!1,component:_a};function Ea({action:r,callback:a,children:s}){const[i,l]=o(!1),c=r.confirmationText||`Are you sure you want to ${r.name}?`,d=h((e=>r.confirm?(l(!0),Promise.resolve(!0)):a(e)),[r.confirm,a]),m=Wa(r.id,d);return t(n,{children:[s,e(ne,{onConfirm:()=>{l(!1),a({...m.params,action:r})},onCancel:()=>l(!1),title:"Are you sure?",content:c,isOpen:i})]})}const $a={id:"delete",name:"Delete",description:"Delete the selected objects",confirm:!0,confirmationText:"Are you sure you want to delete the selected objects?",component:function({action:t,objectIds:n,children:r}){const a=qa(),s=f(),{client:i}=Te(),l=Ur(),o=wt(),c=h((()=>n&&n.length?Promise.all(n.map((e=>i.store.objects.delete(e)))).then((e=>{const t=e.length>1?"s":"";if(s({status:"success",title:`${e.length} object${t} deleted`,description:`Objects ${e.map((e=>e.id)).join(", ")} have been deleted`,duration:2e3}),l){a.params?.selection?.removeAll();const e=JSON.parse(JSON.stringify(l.facets));n.length===e._value.total&&l.resetFacets(),l.search()}else o("/objects")})).catch((e=>{s({status:"error",title:"Error deleting objects",description:e.message,duration:5e3})})):(s({status:"error",title:"No objects selected",description:"Please select objects to delete",duration:3e3}),Promise.resolve(!1))),[n]);return e(Ea,{action:t,callback:c,children:r})},destructive:!0};const La={id:"removeFromCollection",name:"Remove from Collection",description:"Remove the selected objects from this collection",confirm:!0,confirmationText:"Are you sure you want to remove the selected objects from this collection?",component:function({action:t,objectIds:n,collectionId:r}){const a=qa(),s=f(),{client:i}=Te(),l=Ur(),o=h((()=>n&&n.length?r?i.store.collections.deleteMembers(r,n).then((()=>{const e=n.length>1?"s":"";s({status:"success",title:`${n.length} object${e} removed from collection`,description:"Objects have been removed from the collection",duration:2e3}),l&&(a.params?.selection?.removeAll(),l.search())})).catch((e=>{s({status:"error",title:"Error removing objects from collection",description:e.message,duration:5e3})})):(s({status:"error",title:"No collection context",description:"Cannot remove objects: no collection specified",duration:3e3}),Promise.resolve(!1)):(s({status:"error",title:"No objects selected",description:"Please select objects to remove from collection",duration:3e3}),Promise.resolve(!1))),[n,r]);return e(Ea,{action:t,callback:o})},destructive:!0};function Ua({action:t,objectIds:n,collectionId:r}){const a=f(),{client:s}=Te(),[i,l]=o(!1),c=h((()=>(l(!0),Promise.resolve(!0))),[]);return Wa(t.id,c),e(Oa,{isOpen:i,onClose:e=>{if(l(!1),e)return s.store.workflows.rules.execute(e,n,{collection_id:r}).then((()=>{a({title:"Workflow started",status:"success",duration:3e3})})).catch((e=>{a({title:"Error starting workflow",status:"error",description:e.message,duration:9e3})}))}})}const Aa={id:"startWorkflow",name:"Start Workflow",description:"Start an workflow on the selected objects",confirm:!1,hideInList:!0,component:Ua};function Oa({isOpen:n,onClose:r}){return t(ie,{onClose:()=>r(void 0),isOpen:n,className:"",children:[e(le,{children:"Start a Workflow by Rule"}),e(za,{onClose:r})]})}function Da(n){return{label:t("div",{children:[e("div",{children:n.name}),e("div",{className:"text-sm text-muted",children:n.description})]}),reverse:!0}}function za({onClose:n}){const[r,a]=o(void 0),s=qa();return t("div",{children:[t(re,{children:[e("div",{className:"pb-2",children:"Choose a workflow rule to start:"}),e("div",{className:"max-h-[420px] overflow-y-scroll border-border border rounded-md",children:e(ce,{options:s.wfRules,optionLayout:Da,onChange:e=>{a(e)},value:r})})]}),t(se,{children:[e(b,{variant:"secondary",onClick:()=>n(),children:"Cancel"}),e(b,{onClick:()=>{r&&n(r.id)},isDisabled:!r,children:"Start"})]})]})}class Fa{params;allActions=[Ha,Ia,Aa,cs,$a,La];wfRules=[];callbacks={};startWorkflow;constructor(e){this.params=e}get actions(){return!!this.params.selection?.collectionId?this.allActions.filter((e=>"addToCollection"!==e.id&&"delete"!==e.id)):this.allActions.filter((e=>"removeFromCollection"!==e.id))}async loadWorkflows(){return this.params.client.workflows.rules.list().then((e=>{this.wfRules=e.map((e=>({id:e.id,name:e.name,description:e.description,confirm:!1,isWorkflow:!0,component:Ua}))).sort(((e,t)=>e.name.localeCompare(t.name)))})),this.wfRules}registerCallback(e,t){return this.callbacks[e]=t,()=>{delete this.callbacks[e]}}unregisterCallback(e){delete this.callbacks[e]}findAction(e){let t=this.allActions.find((t=>t.id===e));return t||(t=this.wfRules.find((t=>t.id===e))),t}async run(e){const t=this.findAction(e);if(!t)throw new Error(`Action ${e} not found`);const n={...this.params,action:t},r=this.callbacks[e];if(r)return r(n);throw new Error("No action callback set")}}const Ra=d(void 0);function Ma({children:n}){const r=Nr(),a=f(),{client:s}=Te(),i=Ur(),{data:o,error:c}=M((()=>s.workflows.rules.list().then((e=>e.map((e=>({id:e.id,name:e.name,description:e.description,confirm:!1,isWorkflow:!0,component:Ua}))).sort(((e,t)=>e.name.localeCompare(t.name)))))),[]),d=l((()=>{const e=new Fa({selection:r,toast:a,client:s,search:i});return e.wfRules=o,e}),[r,o]);return c?e(K,{title:"Failed to fetch workflows",children:c.message}):d&&t(Ra.Provider,{value:d,children:[e(Va,{}),n]})}function Va({}){const t=qa(),n=t.params.selection,r=n.getObjectId(),a=n.isSingleSelection()&&r?[r]:n.getObjectIds();return e("div",{style:{display:"none"},children:t.allActions.map((t=>e(t.component,{action:t,objectIds:a,collectionId:n.collectionId},t.id)))})}function qa(){const e=m(Ra);if(!e)throw new Error("You cannot use useActionContext outside an ActionProvider");return e}function Wa(e,t){const n=qa();return c((()=>n.registerCallback(e,t)),[n,e,t]),n}function Ba(e){const t=qa();return c((()=>(t.startWorkflow=e,()=>{t.startWorkflow=void 0})),[e,t]),t}function Ja({action:t,objectIds:n}){const{store:r}=Te(),a=f(),[s,i]=o(!1),[l,c]=o(!1),d=h((()=>(i(!0),Promise.resolve(!0))),[]),m=Wa(t.id,d);return e("div",{children:e(ca,{isExporting:l,isOpen:s,onClose:(e,t)=>{if(e&&(t||n.length>0)){c(!0);const s=m.params?.search?.query||{},l=m.params?.search?.result?.value?.objects?.map((e=>e.id))||void 0,o=async e=>r.objects.list({query:{parent:e}}).then((e=>e.map((e=>e.id))));(async()=>t?l?s.vector?l:[]:0===n.length?[]:(await o(n[0])).concat(n):n)().then((l=>{r.objects.exportProperties({objectIds:l,type:e,query:t&&!s.vector?s:{type:s.type}}).then((r=>{let s;if(e===oa.CSV)s=new Blob([r.data],{type:r.type});else if(e===oa.JSON)s=new Blob([JSON.stringify(r.data)],{type:r.type});else{const e=r.data;s=new Blob([new Uint8Array(e.data)],{type:r.type})}const i=window.URL.createObjectURL(s),l=document.createElement("a");l.download=r.name,l.href=i,l.click(),a({status:"success",title:"Export Properties",description:t?"Export the properties of all objects completed":`Export the properties of ${n.length} object${n.length>1?"s":""} is completed`,duration:2e3})})).catch((e=>{a({status:"error",title:"Error Export Properties",description:e.message,duration:5e3})})).finally((()=>{c(!1),i(!1)}))}))}else i(!1)}})})}const Ha={id:"exportProperties",name:"Export Properties",description:"Export all Object Properties",confirm:!1,component:Ja};function Ga(){const n=Nr(),r=n.size(),a=r>1?"s":"",s=n?.hasSelection(),i=n?.isSingleSelection();return e(Ma,{children:t("div",{className:"flex items-center gap-x-2",children:[s&&!i&&t("div",{className:"flex items-center gap-x-1 shrink-0",children:[t("div",{className:"text-sm nowrap",children:[r," document",a," selected"]}),e(b,{title:"Clear selection",variant:"ghost",className:" rounded-md p-2",onClick:()=>{n?.removeAll()},children:e(Pe,{className:"size-4"})})]}),e(Za,{selection:n,children:e(b,{variant:"ghost",alt:"More action",size:"sm",children:e(ct,{size:16})})}),s&&e(Ka,{selection:n})]})})}function Ka({}){return e(Ya,{})}function Qa({collectionId:r}){const[a,s]=o([]),i=Nr(),l=i?.hasSelection();return!l&&t(n,{children:[e(b,{onClick:()=>(()=>{const e=document.createElement("input");e.type="file",e?.click(),e.onchange=e=>{const t=e.target.files;t&&s(Array.from(t))}})(),children:"Upload"}),e(Mr,{collectionId:r??"",isOpen:a.length>0,onClose:()=>s([]),files:a,title:"Upload Files",onUploadComplete:e=>{e&&e.success&&s([])},children:e("div",{className:"text-sm",children:"Select the associated Content Type, or let the system choose or generate the type based on the content."})})]})}function Ya(){const t=qa();return t.params.selection.hasSelection()&&e(b,{onClick:()=>t.run(Aa.id),children:"Start Workflow"})}function Xa(e){return{label:e.name,className:r("flex-1 px-2 py-2 hover:bg-accent nowrap",e.destructive?"text-destructive":"")}}function Za({selection:n,children:r}){const a=qa();return t(y,{hover:!0,children:[e(x,{children:r}),e(v,{className:"p-0 w-50",align:"end",sideOffset:6,children:e(es,{executeAction:e=>{a.run(e.id)},selection:n})})]})}function es({executeAction:t,selection:n}){const r=qa(),a=n?.hasSelection()?r.actions.filter((e=>!e.hideInList)):[Ha];return e("div",{className:"rounded-md shadow-md py-2",children:e("div",{className:"px-1 text-sm",children:e(ce,{options:a,optionLayout:Xa,onChange:e=>{t(e)},noCheck:!0})})})}const ts=[Jt,Ht()];function ns({refetch:n,collection:r}){const a=r.type?.id,s=u(void 0),i=f(),{client:c}=Te(),[d,m]=o(!1),[h,p]=o({name:r.name,description:r.description||"",query:r.query?JSON.stringify(r.query,null,2):"",tags:r.tags||[],type:r.type?.id||"",allowed_types:r.allowed_types||[]}),g=l((()=>Ps(r.table_layout)),[r.table_layout]),y=(e,t)=>{p({...h,[e]:t})};return t("div",{className:"flex flex-col gap-4 py-2",children:[e(_,{label:"Name",required:!0,children:e(I,{value:h.name,onChange:e=>y("name",e)})}),e(_,{label:"Description",children:e("textarea",{className:Y.INPUT,value:h.description,onChange:e=>y("description",e.target.value)})}),r.dynamic&&e(_,{label:"Query",description:"Define the query to fetch dynamic content for this collection.",children:e("textarea",{className:Y.INPUT,value:h.query,onChange:e=>y("query",e.target.value)})}),e(_,{label:"Table Layout",description:"Define how the collection should be displayed in tables.",children:e(It,{className:"border-1 rounded-md border-border",value:g,extensions:ts,editorRef:s})}),e(_,{label:"Type",children:e(Ds,{defaultValue:h.type||null,onChange:e=>{Array.isArray(e)?y("type",e.length>0?e[0].id:null):y("type",e?.id||null)},isClearable:!0})}),e(_,{label:"Allowed Content Types",children:e(Ds,{defaultValue:h.allowed_types||null,onChange:e=>{Array.isArray(e)?y("allowed_types",e.map((e=>e.id))):y("allowed_types",e?[e.id]:[])},isClearable:!0,multiple:!0})}),e(b,{size:"lg",className:"w-min my-4",isDisabled:d,onClick:()=>{const e=h.query?JSON.parse(h.query):void 0,t={name:h.name,description:h.description,query:e,tags:h.tags,type:h.type,allowed_types:h.allowed_types};let a;if(t.name||(a="Name is required"),t.type||(t.type=null),a&&i({title:"Validation failed",description:a,status:"error",duration:5e3}),s.current){const e=s.current.getValue();if(e)try{t.table_layout=JSON.parse(e)}catch(e){return void i({title:"Invalid Table Layout",description:e.message,status:"error",duration:5e3})}else t.table_layout=null}m(!0),c.store.collections.update(r.id,t).then((()=>{n(),i({title:"Collection updated",description:"Collection has been updated successfully",status:"success",duration:3e3})})).catch((e=>{i({title:"Failed to update collection",description:e.message,status:"error",duration:5e3})})).finally((()=>{m(!1)}))},children:"Save Metadata"}),a&&e(rs,{typeId:a,collection:r})]})}function rs({typeId:t,collection:n}){const{client:r}=Te(),{data:a,error:s}=M((()=>r.store.types.retrieve(t)),[t]);return s?e(K,{title:"Failed to load type",children:s.message}):e(ss,{title:"Properties",children:a&&e(as,{collection:n,schema:a.object_schema})})}function as({schema:t={},collection:n}){const{client:r}=Te(),a=f(),s=l((()=>new Et(t,n.properties||{})),[t,n]),[i,c]=o(!1);return e($t,{object:s,onSubmit:e=>{const t={properties:e||{}};c(!0),r.store.collections.update(n.id,t).then((()=>{a({title:"Collection properties updated",description:"Collection has been updated successfully",status:"success",duration:3e3})})).catch((e=>{a({title:"Failed to update collection properties",description:e.message,status:"error",duration:5e3})})).finally((()=>{c(!1)}))},children:e(b,{size:"lg",isLoading:i,className:"my-4",variant:"primary",type:"submit",children:"Save Properties"})})}function ss({children:n,title:r}){return t("div",{className:"my-4",children:[e("div",{className:"text-lg text-gray-700 font-semibold border-b border-b-gray-300 py-2 mb-4",children:r}),n]})}const is=[{name:"status",field:"status"},{name:"type",field:"type"}];function ls({collectionId:n}){const{client:r}=Te(),{data:a,error:s,refetch:i,isLoading:l}=M((()=>r.store.collections.retrieve(n)),[n]);if(s)return e(K,{title:"Collection fetch failed",children:s.message});const o=[e(Ga,{},"selection"),e(Qa,{collectionId:n??""},"upload")],c=e("div",{className:"flex gap-x-1 items-center",children:e("div",{children:a?.name||""})}),d=[e(vt,{href:"/collections",children:"Collections"},"collections"),e("span",{children:"Collection Detail"},"collection-detail")],m=[{name:"browse",label:"Browse",content:e(ua,{collection:a})},{name:"metadata",label:"Metadata",content:e(ns,{collection:a,refetch:i})}];return e(qt,{children:e(Hr,{facets:is,collectionId:n,children:t(Cr,{collectionId:n,children:[e(ga,{title:c,description:a?.description||"",actions:o,breadcrumbs:d}),t(de,{defaultValue:"browse",tabs:m,children:[e(me,{className:"px-4"}),e("div",l?{className:"w-full flex justify-center",children:e(L,{})}:{className:"h-[calc(100vh-165px)] overflow-auto px-4 py-2",children:e(ka,{children:e(ue,{})})})]})]})})})}function os({action:t,objectIds:n}){const[r,a]=o(!1),s=h((()=>(n.length>0&&a(!0),Promise.resolve(!0))),[n]);return Wa(t.id,s),r&&e(he,{children:e(ds,{objectIds:n,isOpen:r,onClose:()=>{a(!1)}})})}const cs={id:"addToCollection",name:"Add to Collection",description:"Add documents to a collection",confirm:!1,component:os};function ds({isOpen:n,onClose:r,objectIds:a}){return t(ie,{isOpen:n,onClose:r,children:[e(le,{children:"Add to a Collection"}),e(ms,{onClose:r,objectIds:a})]})}function ms({onClose:r,objectIds:a}){const s=f(),{client:i}=Te(),[l,c]=o(),{data:d,error:m}=M((()=>i.store.collections.list({dynamic:!1})),[]),u=({collectionId:e})=>{e&&a?.length&&i.store.collections.addMembers(e,a).then((()=>{s({title:"Add to collection success",status:"success",description:`Added ${a.length} objects to the selected collection`,duration:3e3}),r()})).catch((()=>{s({title:"Add to collection failure",status:"error",description:"Failed to add the selected objects to the collection",duration:5e3})}))};return m?e(K,{title:"Collection fetch failed",children:m.message}):t(n,{children:[e(re,{children:e(pe,{filterBy:"name",value:l,onChange:e=>{c(e)},placeholder:"Select a collection",options:d||[],optionLabel:e=>e.name,by:"id",className:"mb-4"})}),e(se,{children:e(b,{isDisabled:!l,onClick:()=>l&&u({collectionId:l.id}),children:"Add to Collection"})}),t("div",{className:"flex items-center flex-row w-full text-muted",children:[e("hr",{className:"w-full"}),e("div",{className:"px-2 text-xs",children:"OR"}),e("hr",{className:"w-full"})]}),e(xa,{onClose:r,onAddToCollection:e=>u({collectionId:e}),redirect:!1})]})}function us({objects:n,isLoading:r}){const a=wt();return e("div",{children:t(q,{className:"w-full",children:[e("thead",{children:t("tr",{children:[e("th",{children:"Name"}),e("th",{children:"Is Chunkable?"}),e("th",{children:"Updated At"})]})}),e(B,{isLoading:r,columns:3,children:n?.map((n=>t("tr",{onClick:()=>a(`/types/${n.id}`),className:"cursor-pointer hover:bg-muted",children:[e("td",{children:n.name}),e("td",{children:n.is_chunkable?"Yes":"No"}),e("td",{children:kt(n.updated_at).fromNow()})]},n.id)))})]})})}kt.extend(Mt);class hs{client;limit;result=new J({objects:[],isLoading:!1});query={};constructor(e,t=100){this.client=e,this.limit=t}get objects(){return this.result.value.objects}get error(){return this.result.value.error}get isRunning(){return this.result.value.isLoading}getFilterValue(e){return this.query[e]}setFilterValue(e,t){this.query[e]=t,this.search()}reset(e=!1){this.result.value={objects:[],isLoading:e}}_updateRunningState(e){const t=this.result.value;this.result.value={objects:t.objects,isLoading:e,error:t.error}}async _search(e=!1){if(this.isRunning)return Promise.resolve(!1);this.result.value={isLoading:!0,objects:e?this.objects:[]};const t=this.limit,n=this.objects.length;return this.client.types.list({limit:t,offset:n,query:this.query}).then((async e=>(this.result.value={isLoading:!1,objects:this.objects.concat(e)},!0))).catch((e=>{throw this.result.value={error:e,isLoading:!1,objects:this.objects},e}))}search(){return this.isRunning?Promise.resolve(!1):this._search(!1)}loadMore(){return this.isRunning?Promise.resolve(!1):this._search(!0)}}const ps=d(void 0);function gs(){return m(ps)}function fs(){const e=gs();return{...H(e.result),search:e}}function bs(){return gs().objects.length}function ys({title:n,isOpen:r,onClose:a,okLabel:s,initialPayload:i}){const l=f(),[c,d]=o(i?.name),[m,u]=o(i?.description),[h,p]=o(i?.strict_mode??!1);return t(S,{isOpen:r,onClose:()=>a(),children:[e(j,{children:n}),e(T,{className:"pt-0",children:t("div",{className:"h-full flex flex-col gap-4 content-between",children:[t("div",{children:[e("label",{className:"block text-sm font-medium text-muted",children:"Name"}),e(I,{value:c,onChange:d})]}),t("div",{children:[e("label",{className:"block text-sm font-medium text-muted",children:"Description"}),e(I,{value:m,onChange:u})]}),t("div",{className:"flex items-center justify-between",children:[e("label",{className:"block text-sm font-medium text-muted-foreground",children:"Strict Mode"}),e(ae,{value:h,onChange:p})]}),e("div",{className:"text-xs text-muted-foreground",children:"When enabled, objects will be validated against the schema at generation and save time."})]})}),e(E,{children:t("div",{className:"flex justify-end gap-4",children:[e(b,{variant:"secondary",onClick:()=>a(),children:"Cancel"}),e(b,{variant:"primary",onClick:()=>(()=>{if(!c)return void l({status:"error",title:"Name is required",duration:5e3});a({name:c,description:m,strict_mode:h}).then((()=>a())),d(void 0),u(void 0),p(!1)})(),children:s})]})})]})}var xs,vs;function ws({isDirty:n=!1}){const r=Te(),{store:a}=r,s=f(),[i,l]=o(!1),{search:d,isLoading:m,error:h,objects:p}=fs(),[g,b]=o(""),y=X(g,500),x=u(null);G(x,(()=>{i&&d.loadMore()}),{deps:[i]}),c((()=>{d.search().then((()=>l(!0)))}),[]),c((()=>{d.query.name=g,d.search().then((()=>l(!0)))}),[y]);const[v,w]=o(void 0);c((()=>{d.query.chunkable=v?"Yes"==v:void 0,d.search().then((()=>l(!0)))}),[v]),c((()=>{n&&i&&d.search().then((()=>l(!0)))}),[n]);const[N,k]=o(!1);if(h)return e(K,{title:"Failed to fetch ObjectTypes",children:h.message});return t("div",{children:[t("div",{className:"flex gap-4",children:[e(I,{placeholder:"Filter by Name",value:g,onChange:b}),e(F,{className:"w-60",isClearable:!0,options:Object.values(xs),value:v,onChange:e=>{w(e)},placeholder:"Is Chunkable"})]}),t("div",{className:"w-full",children:[m||0!==p?.length?e(us,{objects:p,isLoading:m}):e(ge,{title:"No Type",buttonLabel:"Create Type",onClick:()=>{k(!0)},children:"Get started by creating a new Type."}),e(ys,{okLabel:"Create",title:"Create Type",isOpen:N,onClose:async e=>e?a.types.create(e).then((async()=>{s({status:"success",title:"Type created",duration:2e3}),r.reloadTypes(),d.search().then((()=>l(!0)))})).catch((e=>{s({status:"error",title:"Error creating type",description:e.message,duration:5e3})})):(k(!1),Promise.resolve())})]})]})}function Ns({children:t,limit:n,name:r,chunkable:a}){const{store:s}=Te(),i=l((()=>{const e=new hs(s,n);return e.query.name=r,e.query.chunkable=a,e}),[n]);return e(ps.Provider,{value:i,children:t})}function ks({}){const n=f(),[r,a]=o(!1),s=Te(),{store:i}=s,l=e(b,{variant:"primary",onClick:()=>a(!0),children:"Create Type"},"create"),[d,m]=o(!1);c((()=>{d&&m(!1)}),[d]);const u=[e("span",{children:"Content Type"},"0")];return t(qt,{children:[e(ga,{actions:l,breadcrumbs:u,title:"Content Types"}),e(ys,{okLabel:"Create",title:"Create Type",isOpen:r,onClose:async e=>e?i.types.create(e).then((async()=>{n({status:"success",title:"Type created",duration:2e3}),s.reloadTypes(),m(!0)})).catch((e=>{n({status:"error",title:"Error creating type",description:e.message,duration:5e3})})):(a(!1),Promise.resolve())}),e(Ns,{children:e(qt.Body,{children:e(ws,{isDirty:d})})})]})}!function(e){e.true="Yes",e.false="No"}(xs||(xs={})),function(e){e.true="Yes",e.false="No"}(vs||(vs={}));const Cs=[Jt,Ht()];function Ss({objectType:n,onSchemaUpdate:r}){const{store:a}=Te(),s=f(),[i,c]=o(!1),d=Lt(n.object_schema),m=u(void 0),[h,p]=o(!1),g=l((()=>function(e){if(!e)return"";return JSON.stringify(e,null,2)}(d.schema)),[d]),y=()=>{if(m.current){const e=m.current.getValue();try{const t=function(e){if(!e?.trim())return;return JSON.parse(e.trim())}(e);d.replaceSchema(t)}catch(e){return s({status:"error",title:"Invalid JSON Schema",description:e.message,duration:5e3}),!1}}return!0};return t("div",{className:"mx-2 my-2 rounded-md border border-solid shadow-md border-spacing-2",children:[t("div",{className:"flex items-center rounded-t-md border-b gap-x-2 py-2 px-4",children:[e("div",{className:"text-lg font-semibold",children:"Schema Editor"}),e("div",{children:e(b,{variant:"outline",size:"sm",onClick:()=>{h&&!y()||p((e=>!e))},children:h?"Edit Schema":"Edit Json"})}),e("div",{className:"ml-auto flex gap-x-2",children:e(b,{isLoading:i,variant:"outline",size:"sm",onClick:()=>{h&&!y()||(c(!0),a.types.update(n.id,{object_schema:d.schema}).then((()=>{r(d),s({status:"success",title:"Schema updated",description:"The schema has been updated successfully",duration:2e3})})).catch((e=>{s({status:"error",title:"Failed to update schema",description:e.message,duration:5e3})})).finally((()=>{c(!1)})))},children:"Save Changes"})})]}),e("div",{className:"px-4 py-2",children:h?e(It,{value:g,extensions:Cs,editorRef:m}):e(Ut,{schema:d})})]})}const js=[Jt,Ht()];function Ts({objectType:n,onLayoutUpdate:r}){const a=f(),[s,i]=o(!1),{store:c}=Te(),d=u(void 0),m=l((()=>Ps(n.table_layout)),[n.table_layout]),h=(e,t)=>{a({status:"error",title:e,description:t,duration:5e3})};return t("div",{className:"mx-2 my-2 rounded-md border border-solid shadow-xs",children:[t("div",{className:"flex items-center rounded-t-md gap-x-2 bg-gray-50 dark:bg-slate-800 py-2 px-2",children:[e("div",{className:"text-lg font-semibold ",children:"Table Layout Editor"}),e("div",{className:"ml-auto flex gap-x-2",children:e(b,{isLoading:s,variant:"secondary",onClick:()=>{if(!d.current)return;const e=d.current.getValue();let t;if(e)try{t=JSON.parse(e)}catch(e){return h("Invalid JSON",e.message)}else t=null;return Array.isArray(t)?t.some((e=>!e||!e.name||!e.field))?h("Invalid JSON","A table layout entry must contain the following properties:] {field, name, converter?}"):(i(!0),void c.types.update(n.id,{table_layout:t}).then((e=>{a({status:"success",title:"Table Layout updated",description:"The table layout has been updated successfully",duration:2e3}),r(e.table_layout)})).catch((e=>{a({status:"error",title:"Failed to update table layout",description:e.message,duration:5e3})})).finally((()=>{i(!1)}))):h("Invalid JSON","The table layout must be an array")},children:"Save Changes"})})]}),e("div",{className:"px-4 py-2",children:e(It,{value:m,extensions:js,editorRef:d})})]})}function Ps(e){return e?JSON.stringify(e,null,2):"[\n\n]"}function _s({typeId:n}){const{store:r,user:a}=Te(),{hash:s}=Nt(),i=s?s.substring(1):void 0;let{data:l,isLoading:o,error:c,refetch:d}=M((()=>a?r.types.retrieve(n):Promise.resolve(void 0)),[a]);if(c)return e(K,{title:"Error",children:c.message});if(o)return e(fe,{className:"py-10",children:e(L,{size:"lg"})});if(!l)return null;const m=[e(As,{objectType:l},"delete")],u=[{name:"metadata",label:"Metadata",href:"#metadata",content:e(Es,{objectType:l})},{name:"schema",label:"Object Schema",href:"#schema",content:e(Ss,{objectType:l,onSchemaUpdate:e=>{l.object_schema=e.schema}})},{name:"layout",label:"Table Layout",href:"#layout",content:e(Ts,{objectType:l,onLayoutUpdate:e=>{l.table_layout=e}})}],h=[e("span",{children:"Content Type"})],p=function(t,n){return e(Is,{objectType:t,refetch:n})}(l,d),g=l.description;return t(qt,{children:[e(ga,{title:p,description:g,actions:[m],breadcrumbs:h}),t(be,{tabs:u,current:i,children:[e(ye,{}),e(qt.Body,{children:e("div",{className:"h-[calc(100vh-187px)] overflow-auto",children:e(xe,{})})})]})]})}function Is({objectType:r,refetch:a}){const s=f(),i=Te(),{store:l}=i,[c,d]=o(!1);return t(n,{children:[t("div",{className:"flex items-center gap-x-2",children:[r.name," ",e(b,{variant:"ghost",size:"sm",title:"Edit",onClick:()=>d(!0),children:e(Je,{className:"size-4"})})]}),e(ys,{okLabel:"Save Changes",title:"Edit Type",isOpen:c,onClose:e=>e?l.types.update(r.id,e).then((()=>(s({status:"success",title:"Type updated",duration:2e3}),a().finally((()=>i.reloadTypes()))))).catch((e=>{s({status:"error",title:"Error updating type",description:e.message,duration:5e3})})):(d(!1),Promise.resolve()),initialPayload:r})]})}function Es({objectType:t}){return e(At,{className:"w-full",properties:[{name:"Id",value:t.id},{name:"Name",value:t.name},{name:"Is Chunkable",value:e(Ls,{objectType:t})},{name:"Strict Mode",value:e(Us,{objectType:t})},{name:"Created By",value:e(cr,{userRef:t.created_by})},{name:"Created At",value:kt(t.created_at).format("LLL")},{name:"Updated By",value:e(cr,{userRef:t.updated_by})},{name:"Updated At",value:kt(t.updated_at).format("LLL")}]})}function $s({objectType:t,field:n,initialValue:r}){const[a,s]=o(r??!1),i=f(),{store:l}=Te();return e(ae,{value:a,onChange:e=>{l.types.update(t.id,{[n]:e}).then((()=>{s(e),i({status:"success",title:"Successfully Updated.",duration:2e3})})).catch((e=>{i({status:"error",title:"Failed to update.",description:e.message,duration:5e3})}))}})}function Ls({objectType:t}){return e($s,{objectType:t,field:"is_chunkable",initialValue:t.is_chunkable??!1})}function Us({objectType:t}){return e($s,{objectType:t,field:"strict_mode",initialValue:t.strict_mode??!1})}function As({objectType:n}){const r=f(),a=wt(),{store:s}=Te();return t(y,{hover:!0,children:[e(x,{children:e("div",{className:"cursor-pointer hover:bg-muted p-2 rounded-md",children:e(b,{variant:"ghost",size:"sm",title:"More actions",children:e(ct,{})})})}),e(v,{className:"p-0 w-35",align:"end",children:e("div",{className:"py-2 px-1.5 flex justify-center w-full",children:t(b,{variant:"ghost",onClick:()=>{confirm("Are you sure you want to delete this rule?")&&s.types.delete(n.id).then((()=>{r({status:"success",title:`Object type ${n.name} deleted`,duration:2e3}),a("/types")})).catch((e=>{r({status:"error",title:"Failed to delete rule",description:e.message,duration:5e3})}))},className:"w-full",children:[e(it,{className:"size-4"})," Delete"]})})})]})}kt.extend(Rt);const Os=n=>null===n?"None":t("div",{children:[e("div",{className:"text-sm",children:n.name}),e("div",{className:"text-xs text-gray-500",children:n.description})]});function Ds({className:t,defaultValue:n,onChange:r,isClearable:a,multiple:s}){const i=Te(),[l,d]=o(!1),[m,u]=o(),[h,p]=o([]);c((()=>{if(!l&&(d(!0),i.typeRegistry&&n)){if(s&&Array.isArray(n)){const e=i.typeRegistry.types.filter((e=>n.includes(e.id)));p(e)}const e=i.typeRegistry.types.find((e=>e.id===n));e&&u(e)}}),[i.typeRegistry,n,s]);const g=e=>{p(e),r(e)};return e("div",s?{className:"flex flex-col gap-4 content-between",children:e(pe,{options:i.typeRegistry?.types||[],value:h,onChange:g,placeholder:"Choose Content Types...",optionLabel:Os,className:t||"text-sm bg-background",filterBy:"name",isClearable:a||!1,multiple:!0})}:{className:"flex flex-col gap-4 content-between",children:e(pe,{options:i.typeRegistry?.types||[],value:m,onChange:e=>{u(e||void 0),r(e)},placeholder:"Choose a Content Type...",optionLabel:Os,className:t||"text-sm bg-background",filterBy:"name",isClearable:a||!1})})}function zs({isOpen:n,onClose:r,title:a="Select Content Type",children:s,initialSelectedType:i=null,confirmLabel:l="Select Type",allowNone:c=!0}){const{typeRegistry:d}=Te(),[m,u]=o(i),h=d?.types||[],p=()=>{r(void 0)};return t(S,{isOpen:n,onClose:p,className:"w-full max-w-xl mx-auto",children:[e(j,{children:a}),t(T,{className:"p-6",children:[s,t("div",{className:"mb-4 mt-4",children:[t("label",{className:"block text-sm font-medium mb-2",children:["Content Type ",c&&e("span",{className:"text-gray-500 font-normal",children:"(Optional)"})]}),e(F,c?{options:h,value:m,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type or leave empty for automatic detection",onChange:e=>u(e||null),filterBy:"name",isClearable:!0}:{options:h,value:m,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type",onChange:e=>u(e||null),filterBy:"name"}),c&&t("div",{className:"mt-2 text-sm text-blue-600 flex items-center",children:[e(Ge,{className:"h-4 w-4 mr-1"}),t("span",{children:[e("strong",{children:"Type selection is optional."})," Leave empty to let Vertesia choose the appropriate type"]})]})]}),m?t("div",{className:"text-sm text-gray-500 bg-gray-50 p-3 rounded-md mb-4",children:[e("div",{className:"font-medium",children:m.name}),m.description&&e("div",{className:"mt-1",children:m.description})]}):c&&t("div",{className:"text-sm text-blue-600 bg-blue-50 p-3 rounded-md mb-4",children:[e("div",{className:"font-medium",children:"Automatic Type Detection"}),t("div",{className:"mt-1",children:["Vertesia will analyze each file's content and automatically select the most appropriate type.",e("br",{}),e("span",{className:"mt-1 block font-medium",children:"This is recommended for most uploads."})]})]})]}),t(E,{children:[e(b,{variant:"ghost",onClick:p,children:"Cancel"}),e(b,{onClick:()=>{r(m?.id??null)},children:m?`${l}: ${m.name}`:c?"Let Vertesia Choose":l})]})]})}function Fs({value:n,onChange:r,onSend:a,disabled:s=!1,isSending:i=!1,isCompleted:l=!1,activeTaskCount:d=0,placeholder:m="Type your message..."}){const h=u(null),[p,g]=o(!1);c((()=>{!s&&l&&h.current?.focus()}),[s,l]);return t("div",{className:"p-3 border-t border-muted flex-shrink-0",style:{minHeight:"90px"},children:[t("div",{className:"flex items-center space-x-2",children:[t("div",{className:"flex flex-1 space-x-1",children:[e(I,{ref:h,value:n,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),a())},onChange:r,disabled:s||i,placeholder:m,className:"pr-12 py-2.5"}),e(b,{variant:"ghost",className:"rounded-full",disabled:!l,onClick:()=>g(!0),alt:"Link Object",children:e(dt,{className:"size-4"})})]}),t(b,{onClick:a,disabled:s||i||!n.trim(),className:"px-4 py-2.5",children:[i?e(L,{size:"sm",className:"mr-2"}):e(mt,{className:"size-4 mr-2"})," Send"]})]}),e("div",{className:"text-xs text-muted mt-2 text-center",children:d>0?t("div",{className:"flex items-center justify-center",children:[e(ut,{className:"h-3 w-3 mr-1 text-attention"}),t("span",{children:["Agent has ",d," active workstream",1!==d?"s":""," running"]})]}):s?"Agent is processing, you can continue once it completes...":"You can send a message at any time"}),t(ie,{isOpen:p,onClose:()=>g(!1),className:"min-w-[60vw]",children:[e(le,{children:"Link Object"}),e(re,{className:"pb-6",children:e(Kr,{onChange:e=>{const t=`[${e.properties?.title||e.name||"Object"}](store:${e.id})`,a=n||"",s=h.current?.selectionStart||a.length,i=a.substring(0,s)+t+a.substring(s);r(i),g(!1),setTimeout((()=>{if(h.current){h.current.focus();const e=s+t.length;h.current.setSelectionRange(e,e)}}),100)}})})]})]})}function Rs({plan:n,workstreamStatus:r,isVisible:a}){return a?t("div",{className:"border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900 p-3 shadow-sm transition-all duration-300 ease-in-out transform",children:[e("div",{className:"text-xs font-medium mb-2 text-gray-800 dark:text-gray-200",children:"Agent Plan"}),n.plan&&n.plan.length>0?e("div",{className:"space-y-1.5",children:n.plan.map(((n,a)=>{const s=n.id.toString(),i=n.goal;let l=n.status||"pending";r.has(s)&&(l=r.get(s));let o=_e,c="text-gray-400";return"in_progress"===l?(o=Ee,c="text-blue-500"):"completed"===l&&(o=$e,c="text-green-500"),t("div",{className:"flex items-start",children:[e("div",{className:`mr-1.5 mt-0.5 ${c}`,children:e(o,{className:"h-3.5 w-3.5"})}),t("div",{className:"text-xs",children:[e("span",{className:"text-gray-700 dark:text-gray-300",children:i}),e("span",{className:"ml-1 bg-gray-200 dark:bg-gray-700 px-1 py-0.5 rounded text-[10px] font-mono",children:s})]})]},a)}))}):t("div",{className:"text-xs text-gray-500 dark:text-gray-400 italic flex items-center",children:[e(Ie,{className:"h-3.5 w-3.5 mr-1.5 text-amber-500"}),"No plan detected yet"]}),r.size>1&&t("div",{className:"mt-3 pt-2 border-t border-gray-200 dark:border-gray-700",children:[e("div",{className:"text-xs font-medium mb-1.5 text-gray-800 dark:text-gray-200",children:"Workstreams"}),e("div",{className:"grid grid-cols-2 gap-1.5",children:Array.from(r.entries()).filter((([e,t])=>{if("main"===e)return!0;if(/^\d+$/.test(e))return!1;if(n?.plan){return!n.plan.find((t=>t.id?.toString()===e))}return!0})).map((([n,r])=>{let a=_e,s="text-gray-400",i="Pending";"in_progress"===r?(a=Ee,s="text-blue-500",i="In Progress"):"completed"===r&&(a=$e,s="text-green-500",i="Completed");const l="main"===n?"Main":n;return t("div",{className:"flex items-center",children:[e("div",{className:`mr-1.5 ${s}`,children:e(a,{className:"h-3 w-3"})}),e("span",{className:"text-[10px] font-medium text-gray-600 dark:text-gray-400",children:l}),e("span",{className:"text-[10px] text-gray-500 dark:text-gray-500 ml-1",children:i})]},n)}))})]})]}):null}function Ms(t){const{run:n,startWorkflow:r}=t;if(n){const r="runId"in n?n:{runId:n.run_id,workflowId:n.workflow_id};return e(Ws,{...t,run:r})}return r?e(qs,{...t}):e(Vs,{})}function Vs(){return t(oe,{status:"info",icon:e(Ue,{className:"size-16 text-muted mb-4"}),children:[e("div",{className:"text-base font-medium text-muted",children:"No agent currently running"}),e("div",{className:"mt-3 text-sm text-muted",children:"Select an interaction and click Start to start an agent"})]})}function qs({initialMessage:n,startWorkflow:r,onClose:a,isModal:s=!1,placeholder:i="Type your message...",startButtonText:l="Start Agent",title:d="Start New Conversation"}){const[m,h]=o(""),[p,g]=o(!1),[y,x]=o(),v=f(),w=u(null);c((()=>{w.current&&w.current.focus()}),[]);const N=async()=>{if(!r)return;const e=m.trim();if(e&&!p){g(!0);try{sessionStorage.removeItem("plan-panel-shown"),v({title:"Starting agent...",status:"info",duration:3e3});const t=await r(e);t&&(x({runId:t.run_id,workflowId:t.workflow_id}),h(""),v({title:"Agent started",status:"success",duration:3e3}))}catch(e){v({title:"Error starting workflow",status:"error",duration:3e3,description:e instanceof Error?e.message:"Unknown error"})}finally{g(!1)}}};return y?e(Ws,{onClose:a,isModal:s,initialMessage:n,placeholder:i,run:y,title:d}):t("div",{className:"flex flex-col h-full bg-white dark:bg-gray-900 overflow-hidden border-0",children:[t("div",{className:"flex items-center justify-between py-2 px-3 border-b border-gray-100 dark:border-gray-800 bg-white dark:bg-gray-900",children:[t("div",{className:"flex items-center space-x-2",children:[e("div",{className:"p-1",children:e(ht,{className:"h-3.5 w-3.5 text-gray-400 dark:text-gray-500"})}),e("span",{className:"font-medium text-sm text-gray-700 dark:text-gray-300",children:d})]}),a&&!s&&e(b,{size:"xs",variant:"ghost",onClick:a,title:"Close",className:"text-slate-500 hover:text-slate-700",children:e(Fe,{className:"h-4 w-4"})})]}),t("div",{className:"flex-1 overflow-y-auto px-4 py-6 bg-white dark:bg-gray-900 flex flex-col items-center justify-center",children:[n&&e("div",{className:"px-4 py-3 mb-4 bg-blue-50/80 dark:bg-blue-900/30 border-l-2 border-blue-400 dark:border-blue-500 text-blue-700 dark:text-blue-300 max-w-md",children:n}),t("div",{className:"bg-white dark:bg-slate-800 p-4 max-w-md border-l-2 border-blue-400 dark:border-blue-500",children:[e("div",{className:"text-base text-slate-600 dark:text-slate-300 font-medium",children:"Enter a message to start a conversation"}),t("div",{className:"mt-3 text-sm text-slate-500 dark:text-slate-400",children:["Type your question below and press Enter or click ",l," ","to begin"]})]})]}),t("div",{className:"py-3 px-3 border-t border-gray-100 dark:border-gray-800 bg-white dark:bg-gray-900",children:[t("div",{className:"flex items-center gap-2",children:[e("div",{className:"flex-1",children:e("input",{ref:w,value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),N())},placeholder:i,disabled:p,className:"w-full py-2 px-3 text-sm border border-gray-200 dark:border-gray-700 dark:bg-gray-800 dark:text-white focus:border-gray-300 dark:focus:border-gray-600 focus:ring-0 rounded-md"})}),t(b,{onClick:N,disabled:!m.trim()||p,className:"px-3 py-2 bg-gray-800 dark:bg-gray-700 hover:bg-gray-700 dark:hover:bg-gray-600 text-white text-xs rounded-md transition-colors",children:[p?e(L,{size:"sm",className:"mr-1.5"}):e(mt,{className:"h-3.5 w-3.5 mr-1.5"}),l]})]}),e("div",{className:"text-xs text-gray-400 dark:text-gray-500 mt-2 text-center",children:"Type a message to start the conversation"})]})]})}function Ws({run:n,title:r,interactive:a=!0,onClose:s,isModal:i=!1,placeholder:d="Type your message...",resetWorkflow:m}){const{client:h}=Te(),p=u(null),[g,b]=o([]),[y,x]=o(!1),[v,w]=o(""),[N,k]=o(!1),[C,S]=o("sliding"),[j,T]=o(!1),[P,_]=o(!1),[I,E]=o([]),[$,L]=o(0),[U,A]=o(new Map),[O,D]=o(0),z=f(),[F,R]=o(a),[M,V]=o(null),q=l((()=>{const e=I[$]||{plan:{plan:[]},timestamp:0},t=U.get(e.timestamp)||new Map;return{plan:e.plan,workstreamStatus:t}}),[I,$,U]);c((()=>{if(!y){const e=setInterval((()=>{D((()=>Math.floor(Math.random()*(gn.length-1))))}),4e3);return()=>clearInterval(e)}}),[y]);c((()=>(b([]),E([]),L(0),A(new Map),_(!1),V(null),(async()=>{try{const e=await h.store.workflows.getRunDetails(n.runId,n.workflowId);V(e.status)}catch(e){console.error("Failed to check workflow status:",e)}})(),h.store.workflows.streamMessages(n.runId,(e=>{e.message&&b((t=>t.find((t=>t.timestamp===e.timestamp))?t:(function(e,t){const n="number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime(),r=e.findIndex((e=>("number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime())>n));-1===r?e.push(t):e.splice(r,0,t)}(t,e),[...t])))})),()=>{b([])})),[n.runId,h.store.workflows]),c((()=>{x(!function(e){if(!e.length)return!0;const t=new Map;if(e.forEach((e=>{const n=fn(e);t.has(n)||t.set(n,[]),t.get(n).push(e)})),console.log("[isInProgress] Workstreams found:",Array.from(t.keys())),1===t.size&&!t.has("main")){const e=t.keys().next().value||"unknown";console.log(`[isInProgress] Only one workstream found (${e}), treating as main`);const n=t.get(e),r=n[n.length-1];return console.log(`[isInProgress] Last message type in only workstream: ${r.type}`),[ve.COMPLETE,ve.IDLE,ve.REQUEST_INPUT].includes(r.type)?(console.log("[isInProgress] Only workstream is completed"),!1):(console.log("[isInProgress] Only workstream is still in progress"),!0)}if(t.has("main")){const e=t.get("main");if(0===e.length)return console.log("[isInProgress] Main workstream exists but has no messages, still in progress"),!0;const n=e[e.length-1];return console.log(`[isInProgress] Last message type in main workstream: ${n.type}`),[ve.COMPLETE,ve.IDLE,ve.REQUEST_INPUT].includes(n.type)?(console.log("[isInProgress] Main workstream is completed"),!1):(console.log("[isInProgress] Main workstream is still in progress"),!0)}console.log("[isInProgress] Multiple workstreams but no main, checking if any are still active");for(const[e,n]of t.entries())if(n.length>0){const t=n[n.length-1];if(![ve.COMPLETE,ve.IDLE,ve.REQUEST_INPUT].includes(t.type))return console.log(`[isInProgress] Workstream ${e} is still active`),!0}return console.log("[isInProgress] All workstreams are completed"),!1}(g)),0===I.length&&_(!1)}),[g,I.length]),c((()=>{if(1===I.length&&!P&&!sessionStorage.getItem("plan-panel-shown")){const e=setTimeout((()=>{_(!0),sessionStorage.setItem("plan-panel-shown","true")}),500);return()=>clearTimeout(e)}g.forEach((e=>{if(e.type===ve.PLAN)try{console.log("PLAN message received:",e.type);let t=null;if(e.details&&"object"==typeof e.details&&e.details.plan&&Array.isArray(e.details.plan)&&(console.log("Valid plan array found in message.details.plan"),t={plan:e.details.plan}),t){const n="number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime();if(-1===I.findIndex((e=>e.timestamp===n))&&t){console.log("Adding new plan to plans array");const e={plan:t,timestamp:n};console.log("Adding plan to plans array:",e),E((t=>{const n=[e,...t];return console.log("New plans array:",n),n})),L(0),console.log("Setting showSlidingPanel to true"),_(!0);const r=new Map;r.set("main","in_progress"),Array.isArray(t.plan)&&t.plan.forEach((e=>{if(e&&"object"==typeof e&&e.id){const t=e.id.toString();r.set(t,e.status||"pending")}})),A((e=>{const t=new Map(e);return t.set(n,r),t}))}}}catch(e){console.error("Failed to parse plan from message:",e)}e.type===ve.UPDATE&&e.details&&e.details.updates&&Array.isArray(e.details.updates)&&console.log("Ignoring UPDATE message with details.updates - waiting for PLAN message with full plan")}));const e=g[g.length-1];e&&R(!!a||e.type===ve.REQUEST_INPUT)}),[g,I,$]);const W=r||n.workflowId.split(":")[2]||"Agent Conversation";return t("div",{className:"flex flex-col h-full min-h-0 "+(i?"rounded-lg overflow-hidden":""),children:[e(Sn,{title:W,isCompleted:y,onClose:s,isModal:i,run:n,viewMode:C,onViewModeChange:S,showPlanPanel:P,hasPlan:I.length>0,onTogglePlanPanel:()=>{_(!P),P||sessionStorage.setItem("plan-panel-shown","true")},onDownload:async()=>{try{const e=await async function(e,t){return e.files.getDownloadUrl(`agents/${t}/conversation.json`).then((e=>e.url))}(h,n.runId);e&&window.open(e,"_blank")}catch(e){console.error("Failed to download conversation",e),z({status:"error",title:"Failed to download conversation",duration:3e3})}},onCopyRunId:()=>{navigator.clipboard.writeText(n.runId),z({status:"success",title:"Run ID copied",duration:2e3})},resetWorkflow:m}),j&&!P&&I.length>0&&e(Rs,{plan:q.plan,workstreamStatus:q.workstreamStatus,isVisible:!0}),0!==g.length||y?e(vn,{messages:g,bottomRef:p,viewMode:C,isCompleted:y,plan:q.plan,workstreamStatus:q.workstreamStatus,showPlanPanel:P,onTogglePlanPanel:()=>{console.log("Toggle plan panel called, current state:",P),_(!P)},plans:I,activePlanIndex:$,onChangePlan:e=>L(e),taskLabels:q.plan.plan?.reduce(((e,t)=>(t.id&&t.goal&&e.set(t.id.toString(),t.goal),e)),new Map)}):e("div",{className:"flex-1 flex flex-col items-center justify-center h-full text-center py-6 bg-white dark:bg-gray-900",children:t("div",{className:"bg-white dark:bg-slate-800 p-5 max-w-md border border-blue-200 dark:border-blue-900/50 rounded-lg shadow-sm",children:[t("div",{className:"flex items-center space-x-3 mb-3",children:[e(cn,{size:"sm",color:"blue"}),e("div",{className:"text-sm text-slate-600 dark:text-slate-300 font-medium",children:gn[O]})]}),e("div",{className:"mt-4 flex justify-center",children:e(on,{color:"blue",className:"mt-1"})})]})}),M&&("RUNNING"!==M?t(oe,{status:"COMPLETED"===M?"success":"done",icon:null,className:"flex-shrink-0 m-2",children:["This Workflow is ",M]}):F&&e(Fs,{value:v,onChange:w,onSend:()=>{const e=v.trim();e&&!N&&(k(!0),w(""),h.store.workflows.sendSignal(n.workflowId,n.runId,"UserInput",{message:e}).then((()=>{x(!1),z({status:"success",title:"Message Sent",duration:2e3})})).catch((e=>{z({status:"error",title:"Failed to Send Message",description:e instanceof Error?e.message:"Unknown error",duration:3e3})})).finally((()=>{k(!1)})))},disabled:!1,isSending:N,isCompleted:y,activeTaskCount:(()=>{if(!g.length)return 0;const e=new Map;g.forEach((t=>{const n=fn(t);"main"!==n&&"all"!==n&&(e.has(n)||e.set(n,[]),e.get(n).push(t))}));let t=0;for(const[n,r]of e.entries())if(r.length>0){const e=r[r.length-1];[ve.COMPLETE,ve.IDLE].includes(e.type)||t++}return t})(),placeholder:d}))]})}class Bs{totalPages;layoutUrls=[];cache;constructor(e){this.totalPages=e,this.cache=new Array(e)}async loadUrls(e,t){const n=[];for(let r=0;r<this.totalPages;r++)n.push(Xs(e,t,r+1));const r=await Promise.all(n);this.layoutUrls=r.map((e=>e.url))}async getPageLayout(e){const t=e-1;let n=this.cache[t];if(void 0===n){const e=this.layoutUrls[t];n=await fetch(e,{method:"GET"}).then((e=>{if(e.ok)return e.text();throw new Error("Failed to fetch json layout: "+e.statusText)})),this.cache[t]=n}return n}}const Js=d(void 0);function Hs({children:t,object:n}){const{client:r}=Te(),[a,s]=o();return c((()=>{const e=n.metadata.page_count||10;(async function(e,t,n){const r=[];for(let a=0;a<n;a++)r.push(Ks(e,t.id,a+1));const a=await Promise.all(r),s=[];for(let r=0;r<n;r++)s.push(Qs(e,t.id,r+1));const i=await Promise.all(s),l=[];for(let r=0;r<n;r++)l.push(Ys(e,t.id,r+1));const o=await Promise.all(l),c=new Bs(n);await c.loadUrls(e,t.id);const d=t.text?ti(t.text):"";return{count:n,urls:a.map((e=>e.url)),annotatedUrls:i.map((e=>e.url)),instrumentedUrls:o.map((e=>e.url)),layoutProvider:c,xml:d,xmlPages:t.text?ei(d):[]}})(r,n,e).then(s)}),[n.id]),a&&e(Js.Provider,{value:a,children:t})}function Gs(e){return`magic-pdf/${e}`}function Ks(e,t,n){return e.files.getDownloadUrl(function(e,t,n=".jpg"){return`${Gs(e)}/pages/page-${t}${n}`}(t,n))}function Qs(e,t,n){return e.files.getDownloadUrl(function(e,t,n=".jpg"){return`${Gs(e)}/pages/page-${t}-annotated${n}`}(t,n))}function Ys(e,t,n){return e.files.getDownloadUrl(function(e,t,n=".jpg"){return`${Gs(e)}/pages/page-${t}.instrumented${n}`}(t,n))}function Xs(e,t,n){return e.files.getDownloadUrl(function(e,t){return`${Gs(e)}/pages/page-${t}.layout.json`}(t,n))}function Zs(){const e=i.useContext(Js);if(!e)throw new Error("usePdfPagesInfo must be used within a PdfPageProvider");return e}function ei(e){const t=(new DOMParser).parseFromString(ti(e),"text/xml").getElementsByTagName("page"),n=new XMLSerializer;return Array.from(t).map((e=>n.serializeToString(e)))}function ti(e){return e.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"").replace(/<\?xml.*?\?>/g,"")}function ni({object:n}){const{client:r}=Te(),a=e=>{(function(e,t,n){return e.files.getDownloadUrl(`${Gs(t)}/${n}`).then((e=>e.url))})(r,n.id,e).then((e=>window.open(e,"_blank")))};return e("div",{className:"absolute bottom-[58px] right-[20px] w-[36px] h-[36px] cursor-pointer text-indigo-400 border-indigo-400 hover:border-indigo-500 hover:text-indigo-500 border-2 rounded-full shadow-xs flex items-center justify-center",children:t(Ot,{strategy:"absolute",placement:"top-end",zIndex:100,offset:20,children:[e(Ot.Trigger,{click:!0,children:e(pt,{className:"size-6"})}),e(Ot.Content,{children:t("div",{className:"rounded-md shadow-md border border-gray-100 bg-white dark:bg-slate-50 dark:border-slate-100 min-w-[200px] flex flex-col divide-y",children:[e("button",{className:"p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100",onClick:()=>a("annotated.pdf"),children:"annotated.pdf"}),e("button",{className:"p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100",onClick:()=>a("document.xml"),children:"document.xml"}),e("button",{className:"p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100",onClick:()=>a("analyzed-pages.json"),children:"analyzed-pages.json"})]})})]})})}var ri;function ai({className:n,currentPage:a,onChange:s}){const[i,l]=o(ri.default),c=u(null),{urls:d,annotatedUrls:m,instrumentedUrls:h}=Zs(),p=i===ri.instrumented?h:i===ri.annotated?m:d;return t("div",{ref:c,className:r("flex flex-col items-stretch gap-y-2",n),children:[t("div",{className:"flex h-5 items-center justify-center relative",children:[e("button",{className:ii,onClick:()=>{a>1&&(s(a-1),c.current&&c.current.querySelector(`div[data-index="${a-1}"]`)?.scrollIntoView({behavior:"smooth",block:"end",inline:"center"}))},children:e(gt,{className:"w-5 h-5"})}),t("div",{className:"absolute right-3 flex gap-x-1",children:[e("button",{className:li(ri.default,i),onClick:()=>l(ri.default),children:e(ft,{className:"w-5 h-5 mt-1"})}),e("button",{className:li(ri.instrumented,i),onClick:()=>l(ri.instrumented),children:e(bt,{className:"w-5 h-5 mt-1"})}),e("button",{className:li(ri.annotated,i),onClick:()=>l(ri.annotated),children:e(yt,{className:"w-5 h-5 mt-1"})})]})]}),e("div",{className:"flex flex-col items-center gap-2 flex-1 overflow-y-auto px-2",children:p.map(((t,n)=>e(si,{url:t,currentPage:a,pageNumber:n+1,onSelect:()=>s(n+1)},n)))}),e("div",{className:"flex h-5 items-center justify-center relative",children:e("button",{className:ii,onClick:()=>{a<d.length&&(s(a+1),c.current&&c.current.querySelector(`div[data-index="${a+1}"]`)?.scrollIntoView({behavior:"smooth",block:"end",inline:"center"}))},children:e(xt,{className:"size-5"})})})]})}function si({url:n,pageNumber:a,currentPage:s,onSelect:i}){return t("div",{className:"p-2 hover:bg-gray-200 dark:hover:bg-slate-600 rounded-md","data-index":a-1,children:[e("div",{className:r("relative border-[2px] cursor-pointer",a===s?"border-blue-500 dark:border-pink-400":"border-gray-300"),onClick:i,children:e("img",{src:n,alt:`Page ${a}`})}),e(fe,{className:"text-sm text-gray-500 dark:text-gray-400 pt-1 font-semibold align",children:a})]})}!function(e){e[e.default=0]="default",e[e.instrumented=1]="instrumented",e[e.annotated=2]="annotated"}(ri||(ri={}));const ii="cursor-pointer text-gray-500 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-500 hover:font-semibold";function li(e,t){return e===t?"${BTN_CLASS} text-pink-600":`${ii}`}const oi={attributeKeyColor:"#FFD700",attributeValueColor:"#FF4500",tagColor:"#87CEFA",textColor:"#00FF00",separatorColor:"#FFD700",commentColor:"#BEBEBE",cdataColor:"#33CC66"};function ci({viewType:t,pageNumber:n}){return e("json"===t?mi:di,{pageNumber:n})}function di({pageNumber:t}){const[n,r]=o(),{xmlPages:a}=Zs();return p((()=>{const e=window.matchMedia("(prefers-color-scheme: dark)"),t=e=>{r(e.matches?oi:void 0)};return e.addEventListener("change",t),e.matches&&r(oi),()=>{e.removeEventListener("change",t)}}),[]),e("div",{className:"px-4 py-2",children:e(zt,{xml:a[t-1],collapsible:!0,theme:n})})}function mi({pageNumber:t}){const[n,r]=o(),{layoutProvider:a}=Zs();return c((()=>{a.getPageLayout(t).then((e=>r(e?JSON.parse(e):void 0))).catch((e=>{console.error(e),r(void 0)}))}),[t]),n&&e(Dt,{className:"w-full",data:n})}function ui({objectId:t,onClose:n}){const{client:r}=Te(),{data:a,error:s}=M((()=>r.store.objects.retrieve(t,"+text")),[t]);return s?e(K,{title:"Fetching document failed",children:s.message}):a?e("div",{className:"fixed inset-0 bg-white dark:bg-slate-700 z-50 flex items-center justify-center",children:e(Hs,{object:a,children:e(hi,{object:a,onClose:n})})}):"Loading..."}function hi({object:r,onClose:a}){const[s,i]=o("xml"),[l,d]=o(1),m=u(null),h=u(null),p=u(null);var g;return c((()=>{if(g.handler.current&&g.left.current&&g.right.current){const e=g.handler.current,t=g.left.current,n=g.right.current,r=e=>{let r=e.clientX,a=t.offsetWidth,s=n.offsetLeft;const i=e=>{const i=e.clientX-r;t.style.width=`${a+i}px`,n.style.left=`${s+i}px`,e.target.classList.add("resizing")},l=e=>{e.target.classList.remove("resizing"),i(e),document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",l)};document.addEventListener("mousemove",i),document.addEventListener("mouseup",l)};return e.addEventListener("mousedown",r),()=>{e.removeEventListener("mousedown",r)}}}),[(g={handler:m,left:h,right:p}).handler.current,g.left.current,g.right.current]),t(n,{children:[t("div",{ref:h,className:"absolute top-0 left-0 bottom-0 w-[50%] bg-gray-100 dark:bg-slate-800 flex items-stretch justify-stretch py-2",children:[e(ai,{className:"flex-1",currentPage:l,onChange:d}),e("div",{ref:m,className:"w-[2px] p-[2px] m-0 bg-slate-300 cursor-ew-resize"})]}),e("div",{ref:p,className:"absolute top-0 left-[50%] right-0 bottom-0 flex items-stretch justify-stretch overflow-auto p-2",children:e(ci,{pageNumber:l,viewType:s})}),e(ni,{object:r}),e(pi,{type:s,onSwitch:i}),!!a&&e("div",{className:"absolute top-6 right-7 w-9 h-9 cursor-pointer text-red-400 border-red-400 hover:border-red-500 hover:text-red-500 border-2 rounded-full shadow-xs flex items-center justify-center",onClick:a,children:e(Pe,{className:"size-6"})})]})}function pi({type:e="xml",onSwitch:n}){return t("div",{className:"absolute bottom-[16px] right-[20px] w-[36px] h-[36px] cursor-pointer text-indigo-400 border-indigo-400 hover:border-indigo-500 hover:text-indigo-500 border-2 rounded-full shadow-xs flex items-center justify-center",onClick:()=>{"xml"===e?n("json"):"json"===e&&n("xml")},children:["xml"===e&&gi,"json"===e&&fi]})}const gi=e("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:e("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M6 2.984V2h-.09c-.313 0-.616.062-.909.185a2.33 2.33 0 0 0-.775.53 2.23 2.23 0 0 0-.493.753v.001a3.542 3.542 0 0 0-.198.83v.002a6.08 6.08 0 0 0-.024.863c.012.29.018.58.018.869 0 .203-.04.393-.117.572v.001a1.504 1.504 0 0 1-.765.787 1.376 1.376 0 0 1-.558.115H2v.984h.09c.195 0 .38.04.556.121l.001.001c.178.078.329.184.455.318l.002.002c.13.13.233.285.307.465l.001.002c.078.18.117.368.117.566 0 .29-.006.58-.018.869-.012.296-.004.585.024.87v.001c.033.283.099.558.197.824v.001c.106.273.271.524.494.753.223.23.482.407.775.53.293.123.596.185.91.185H6v-.984h-.09c-.2 0-.387-.038-.563-.115a1.613 1.613 0 0 1-.457-.32 1.659 1.659 0 0 1-.309-.467c-.074-.18-.11-.37-.11-.573 0-.228.003-.453.011-.672.008-.228.008-.45 0-.665a4.639 4.639 0 0 0-.055-.64 2.682 2.682 0 0 0-.168-.609A2.284 2.284 0 0 0 3.522 8a2.284 2.284 0 0 0 .738-.955c.08-.192.135-.393.168-.602.033-.21.051-.423.055-.64.008-.22.008-.442 0-.666-.008-.224-.012-.45-.012-.678a1.47 1.47 0 0 1 .877-1.354 1.33 1.33 0 0 1 .563-.121H6zm4 10.032V14h.09c.313 0 .616-.062.909-.185.293-.123.552-.3.775-.53.223-.23.388-.48.493-.753v-.001c.1-.266.165-.543.198-.83v-.002c.028-.28.036-.567.024-.863-.012-.29-.018-.58-.018-.869 0-.203.04-.393.117-.572v-.001a1.502 1.502 0 0 1 .765-.787 1.38 1.38 0 0 1 .558-.115H14v-.984h-.09c-.196 0-.381-.04-.557-.121l-.001-.001a1.376 1.376 0 0 1-.455-.318l-.002-.002a1.415 1.415 0 0 1-.307-.465v-.002a1.405 1.405 0 0 1-.118-.566c0-.29.006-.58.018-.869a6.174 6.174 0 0 0-.024-.87v-.001a3.537 3.537 0 0 0-.197-.824v-.001a2.23 2.23 0 0 0-.494-.753 2.331 2.331 0 0 0-.775-.53 2.325 2.325 0 0 0-.91-.185H10v.984h.09c.2 0 .387.038.562.115.174.082.326.188.457.32.127.134.23.29.309.467.074.18.11.37.11.573 0 .228-.003.452-.011.672-.008.228-.008.45 0 .665.004.222.022.435.055.64.033.214.089.416.168.609a2.285 2.285 0 0 0 .738.955 2.285 2.285 0 0 0-.738.955 2.689 2.689 0 0 0-.168.602c-.033.21-.051.423-.055.64a9.15 9.15 0 0 0 0 .666c.008.224.012.45.012.678a1.471 1.471 0 0 1-.877 1.354 1.33 1.33 0 0 1-.563.121H10z"})}),fi=e("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:e("path",{d:"M4.708 5.578L2.061 8.224l2.647 2.646-.708.708-3-3V7.87l3-3 .708.708zm7-.708L11 5.578l2.647 2.646L11 10.87l.708.708 3-3V7.87l-3-3zM4.908 13l.894.448 5-10L9.908 3l-5 10z"})});function bi(...e){const t=Array.from(e);return t.__AnyOf__=!0,t}function yi(...e){return Array.from(e)}function xi(e){return!0===e.__AnyOf__}class vi{system_roles;roles;permissions;constructor(e,t){if(!e.authToken)throw new Error("No auth token found in user session");this.system_roles=t;const n=new Set(e.authToken.account_roles||[]);if(e.authToken.project_roles)for(const t of e.authToken.project_roles)n.add(t);this.roles=n;const r={};for(const e of t)r[e.name]=e.permissions;const a=new Set;for(const e of n){const t=r[e];if(t)for(const e of t)a.add(e)}this.permissions=a}hasPermission(e){if("string"==typeof e)return this.permissions.has(e);if(xi(e))return e.some((e=>this.permissions.has(e)));for(const t of e)if(!this.permissions.has(t))return!1;return!0}}const wi=d(void 0);function Ni(){const e=m(wi);if(!e)throw new Error("UserPermissionContext cannot be used outside UserPermissionProvider");return e}function ki({children:t}){const n=Te(),{data:r,error:a,isLoading:s}=M((()=>n.user?n.client.iam.roles.list():Promise.resolve(void 0)),[n.user]),i=l((()=>n.authToken&&r&&!s?new vi(n,r):void 0),[n,r,s]);return a?e(K,{title:"Failed to fetch role mappings",children:a.message}):i&&e(wi.Provider,{value:i,children:t})}function Ci({permission:t,isDisabled:n,title:r,children:a,...s}){return Ni().hasPermission(t)||(n=!0,r="You do not have permission to perform this action"),e(b,{isDisabled:n,title:r,...s,children:a})}function Si({permission:t,...n}){return Ni().hasPermission(t)?e(Wt,{...n}):null}function ji({user:n}){return t("div",{className:"flex items-center",children:[e("div",{className:"w-9 h-9",children:(()=>{if(n.picture)return e("img",{className:"inline-block h-9 w-9 rounded-full",src:n.picture,alt:n.name});{const t=n.name.split(" ").map((e=>e[0])).join("");return e("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-indigo-600",children:e("span",{className:"text-sm font-medium leading-none text-white",children:t})})}})()}),t("div",{className:"ml-3",children:[e("p",{className:"text-sm font-medium text-gray-700 dark:text-slate-50 group-hover:text-gray-900",children:n.name??"Deleted User"}),e("p",{className:"text-xs font-medium text-gray-500 dark:text-slate-300 group-hover:text-gray-700",children:n.email??"Deleted User"})]})]})}export{Yt as ActivitiesDoc,Zt as ActivityDoc,cs as AddToCollectionAction,os as AddToCollectionActionComponent,yi as AllOf,on as AnimatedThinkingDots,bi as AnyOf,ur as ApiKeyAvatar,ua as BrowseCollectionView,Ia as ChangeTypeAction,_a as ChangeTypeActionComponent,vs as ChunkableOptions,ls as CollectionView,ha as CollectionsTable,ba as CollectionsView,Pn as ContentDispositionButton,_s as ContentObjectTypeView,ws as ContentObjectTypesSearch,us as ContentObjectTypesTable,ks as ContentObjectTypesView,$n as ContentOverview,xa as CreateCollectionForm,ys as CreateOrUpdateTypeModal,$a as DeleteObjectsAction,Er as DocumentGridView,Hn as DocumentIcon,Zr as DocumentInput,ta as DocumentPreviewPanel,$r as DocumentSearch,Hr as DocumentSearchProvider,ia as DocumentSearchResults,sa as DocumentSearchResultsWithDropZone,vr as DocumentSelection,Cr as DocumentSelectionProvider,Wr as DocumentTable,_r as DocumentTableColumn,Ir as DocumentTableView,Mr as DocumentUploadModal,ns as EditCollectionView,Qn as EnvironmentFacet,Ha as ExportPropertiesAction,Ja as ExportPropertiesComponent,ca as ExportPropertiesModal,oa as ExportTypes,tr as FacetsNav,zr as FileUploadAction,ga as GenericPageNavHeader,nr as InteractionFacet,ln as JumpingDots,ui as MagicPdfView,Ms as ModernAgentConversation,fa as NotFoundView,Ss as ObjectSchemaEditor,hs as ObjectTypeSearch,ps as ObjectTypeSearchContext,Ns as ObjectTypeSearchProvider,Fa as ObjectsActionContext,Ma as ObjectsActionContextProvider,ka as PanelErrorBoundary,wn as PayloadBuilder,kn as PayloadBuilderProvider,Nn as PayloadContext,En as PropertiesEditorModal,cn as PulsatingCircle,mn as PulsingMessageLoader,La as RemoveFromCollectionAction,Sa as RowErrorBoundary,In as SaveVersionConfirmModal,Lr as SearchContext,Ci as SecureButton,Si as SecureSidebarItem,Ds as SelectContentType,zs as SelectContentTypeModal,Kr as SelectDocument,Yr as SelectDocumentModal,Ga as SelectionActions,Aa as StartWorkflowAction,Ua as StartWorkflowComponent,Yn as StringFacet,Xn as StringListFacet,Ts as TableLayoutEditor,un as ThinkingBar,gn as ThinkingMessages,er as TypeFacet,dn as TypedDots,Qa as UploadObjectsButton,ji as UserAvatar,gr as UserFacet,cr as UserInfo,ki as UserPermissionProvider,vi as UserPermissions,xr as VFacetsNav,fr as VStringFacet,br as VTypeFacet,yr as VUserFacet,va as VertesiaErrorBoundary,hn as WavyThinking,Ta as WidgetErrorBoundary,pa as collectionIcon,xi as isAnyOf,Fn as isCsv,Rn as isImage,Mn as isPdf,Vn as isVideo,Jn as retrieveRendition,Na as setErrorBoundaryComponent,Ln as shortId,Un as shortenString,Ps as stringifyTableLayout,Ur as useDocumentSearch,Dr as useDocumentSearchCount,Nr as useDocumentSelection,Vr as useDocumentUploadHandler,ea as useDownloadDocument,ar as useFetchUserInfo,Wa as useObjectsActionCallback,qa as useObjectsActionContext,kr as useOptionalDocumentSelection,Cn as usePayloadBuilder,gs as useSearch,bs as useSearchCount,Rr as useSmartFileUploadProcessing,Ba as useStartWorkflowCallback,Ni as useUserPermissions,Ar as useWatchDocumentSearchFacets,Or as useWatchDocumentSearchResult,fs as useWatchSearchResult};
1
+ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import r from"clsx";import{AnimatePresence as s,motion as a}from"motion/react";import i,{useMemo as l,useState as o,useEffect as c,createContext as d,useContext as m,useRef as u,useCallback as h,useLayoutEffect as p}from"react";import{cn as g,useToast as f,Badge as b,Button as y,Popover as x,PopoverTrigger as v,PopoverContent as w,Command as N,CommandList as k,CommandGroup as C,CommandItem as S,Modal as _,ModalTitle as j,ModalBody as P,RadioGroup as T,FormItem as I,Input as $,ModalFooter as E,RadioOptionAdapter as L,Spinner as A,Link as U,Card as O,Separator as z,CardContent as F,VTooltip as D,SelectBox as R,InputList as M,useFetch as V,Avatar as q,Table as W,FilterBar as B,TBody as J,SharedState as H,useWatchSharedState as G,useIntersectionObserver as K,ErrorBox as Q,VModal as Y,VModalTitle as X,VModalBody as Z,useFlag as ee,Styles as te,useDebounce as ne,SidePanel as re,Divider as se,VSelectBox as ae,Switch as ie,VModalFooter as le,TR as oe,EmptyCollection as ce,ConfirmModal as de,Textarea as me,SelectList as ue,Portal as he,MessageBox as pe,Center as ge}from"@vertesia/ui/core";import{AgentMessageType as fe,mergePromptsSchema as be,supportsToolUse as ye,ImageRenditionFormat as xe,PrincipalType as ve,ApiKeyTypes as we,InteractionStatus as Ne,SupportedEmbeddingTypes as ke}from"@vertesia/common";import{useUserSession as Ce}from"@vertesia/ui/session";import{X as Se,Circle as _e,AlertCircle as je,Clock as Pe,CheckCircle as Te,CopyIcon as Ie,Bot as $e,MessageSquare as Ee,Info as Le,User as Ae,ClipboardList as Ue,XIcon as Oe,MoreVertical as ze,ExternalLink as Fe,DownloadCloudIcon as De,TableProperties as Re,LayoutGrid as Me,Copy as Ve,SquarePen as qe,Download as We,Eye as Be,CheckCircleIcon as Je,UploadIcon as He,AlertCircleIcon as Ge,FileIcon as Ke,XCircleIcon as Qe,FolderIcon as Ye,RefreshCw as Xe,ChevronsUpDown as Ze,FileText as et,Maximize2 as tt,ChevronRight as nt,Trash2 as rt,Search as st,FolderClosed as at,EllipsisVertical as it,PaperclipIcon as lt,SendIcon as ot,Activity as ct,Cpu as dt,CloudDownload as mt,ChevronsUp as ut,ImageIcon as ht,InfoIcon as pt,AtSignIcon as gt,ChevronsDown as ft}from"lucide-react";import{NavLink as bt,useNavigate as yt}from"@vertesia/ui/router";import xt from"dayjs";import vt from"react-markdown";import wt from"remark-gfm";import Nt from"ajv";import{JSONDisplay as kt,DropZone as Ct,UploadSummary as St,useSchema as _t,CodeMirrorEditor as jt,SchemaEditor as Pt,ManagedObject as Tt,GeneratedForm as It,Popover as $t,JSONCode as Et,XMLViewer as Lt}from"@vertesia/ui/widgets";import At from"@monaco-editor/react";import Ut from"dayjs/plugin/localizedFormat";import Ot from"dayjs/plugin/relativeTime";import{Md5 as zt}from"ts-md5";import{json as Ft}from"@codemirror/lang-json";import{basicSetup as Dt}from"codemirror";import{ErrorBoundary as Rt}from"react-error-boundary";import{SidebarItem as Mt}from"@vertesia/ui/layout";function Vt({children:t,secondary:n=!1}){return e("span",{className:n?"bg-secondary text-primary":"text-foreground bg-muted",children:t})}function qt(e){return e?"array"===e.name?qt(e.innerType):e:void 0}function Wt({property:n}){return t("div",{className:"flex items-center gap-x-2",children:[e("div",{className:"font-semibold text-gray-600",children:n.name}),n.optional&&e(Vt,{children:"optional"}),e(Vt,{children:n.type.value})]})}function Bt({activities:t}){return e("div",{className:"flex flex-col gap-y-4 divide-y divide-gray-200",children:t.map((t=>e(Ht,{activity:t},t.name)))})}function Jt({code:n,children:r}){return t("div",{className:"flex gap-2 items-center border-b border-b-gray-200 mb-2",children:[e("div",{className:"text-lg font-medium text-gray-900 py-2 ",children:r}),n&&e("div",{children:e(Vt,{children:n})})]})}function Ht({activity:n,headingClass:r,headingRef:s}){return t("div",{className:r,id:n.name,ref:s,children:[e("div",{className:"text-xl font-semibold pt-8",children:n.title}),e("div",{className:"pb-4",children:e(Vt,{children:n.name})}),n.doc&&e("div",{className:"text-gray-700 pb-2",children:n.doc}),t("div",{className:"pb-4",children:[e(Jt,{code:n.paramsType,children:"Parameters"}),e("div",{className:"divide-y divide-gray-100",children:n.params.map((t=>e(Gt,{property:t},t.name)))})]}),t("div",{className:"pb-4",children:[e(Jt,{children:"Returns"}),e("div",{children:n.returnType?n.returnType.value:"void"})]})]})}function Gt({property:n,className:s}){const a=l((()=>{const t=qt(n.type.innerType)??n.type;return"object"===t.name&&t.members?e(Qt,{members:t.members}):"enum"===t.name&&t.enum?e(Kt,{values:t.enum}):null}),[n.type.innerType]);return t("div",{className:r("py-2",s),children:[e(Wt,{property:n}),n.doc&&e("div",{className:"text-gray-700 text-sm pt-2",children:n.doc}),a&&e("div",{className:"my-2 overflow-hidden",children:a})]})}function Kt({values:t}){return e("div",{className:"flex flex-wrap items-center gap-2",children:t.map(((t,n)=>e(Vt,{secondary:!0,children:t},n)))})}function Qt({members:n}){return e(Xt,{className:"rounded-md border border-gray-200",button:n=>t("div",{className:"px-4 py-2 flex items-center gap-x-2 text-sm font-medium hover:text-blue-600",children:[e(Zt,{isOpen:n}),e("div",n?{children:"Hide child properties"}:{children:"Show child properties"})]}),body:e(Yt,{properties:n})})}function Yt({properties:t}){return e("div",{className:"border-l-2 border-l-blue-200 flex flex-col divide-y divide-gray-100 border-t border-t-gray-200",children:t.map((t=>e(Gt,{property:t,className:"px-4 py-2"},t.name)))})}function Xt({button:n,body:i,className:l,isInitiallyOpen:c}){const[d,m]=o(c||!1);return t("div",{className:r(d?"block":"inline-block",l),children:[e("button",{className:"p-0 m-0 bg-transparent",onClick:()=>m(!d),children:e(s,{children:n(d)})}),e(s,{children:d&&e(a.div,{className:"overflow-hidden",initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:"easeOut"},children:i})})]})}function Zt({isOpen:t}){return e(s,{propagate:!0,mode:"wait",children:e(a.div,{className:"font-mono font-semibold text-gray-400 text-lg",initial:{rotate:0},animate:{rotate:t?45:0},transition:{duration:.2},children:"+"},"closeIcon")})}function en({className:n,inline:r=!1}){return t("div",{className:g("flex items-center gap-1",r?"inline-flex":"",n),children:[e("div",{className:"w-2 h-2 bg-blue-500 rounded-full animate-[jumping_1s_infinite_ease-in-out] hover:bg-blue-600",style:{transform:"translateY(0)",animationRange:"0px -8px"}}),e("div",{className:"w-2 h-2 bg-blue-500 rounded-full animate-[jumping_1s_0.3s_infinite_ease-in-out] hover:bg-blue-600",style:{transform:"translateY(0)",animationRange:"0px -8px"}}),e("div",{className:"w-2 h-2 bg-blue-500 rounded-full animate-[jumping_1s_0.6s_infinite_ease-in-out] hover:bg-blue-600",style:{transform:"translateY(0)",animationRange:"0px -8px"}})]})}function tn({className:n,inline:r=!1,color:s="blue"}){const a={blue:"from-blue-400 to-indigo-500 dark:from-blue-500 dark:to-indigo-400",purple:"from-purple-400 to-violet-500 dark:from-purple-500 dark:to-violet-400",teal:"from-teal-400 to-emerald-500 dark:from-teal-500 dark:to-emerald-400",green:"from-green-400 to-emerald-500 dark:from-green-500 dark:to-emerald-400",amber:"from-amber-400 to-orange-500 dark:from-amber-500 dark:to-orange-400"}[s];return t("div",{className:g("flex items-center gap-1.5",r?"inline-flex":"",n),children:[e("div",{className:`w-2 h-2 bg-gradient-to-r ${a} rounded-full animate-[bounce_1.2s_ease-in-out_infinite]`}),e("div",{className:`w-2 h-2 bg-gradient-to-r ${a} rounded-full animate-[bounce_1.2s_ease-in-out_0.2s_infinite]`}),e("div",{className:`w-2 h-2 bg-gradient-to-r ${a} rounded-full animate-[bounce_1.2s_ease-in-out_0.4s_infinite]`})]})}function nn({className:n,size:r="md",color:s="blue"}){const a={blue:"bg-blue-500 dark:bg-blue-400",purple:"bg-purple-500 dark:bg-purple-400",teal:"bg-teal-500 dark:bg-teal-400",green:"bg-green-500 dark:bg-green-400",amber:"bg-amber-500 dark:bg-amber-400"};return t("span",{className:g("relative flex",n),children:[e("span",{className:g("animate-ping absolute inline-flex h-full w-full rounded-full opacity-60",a[s])}),e("span",{className:g("animate-pulse absolute inline-flex h-[80%] w-[80%] rounded-full opacity-80",a[s]),style:{left:"10%",top:"10%",animationDuration:"2s"}}),e("span",{className:g("relative inline-flex rounded-full",a[s],{sm:"w-3 h-3",md:"w-5 h-5",lg:"w-7 h-7"}[r])})]})}function rn({className:t,color:n="blue"}){const[r,s]=o(".");return c((()=>{const e=setInterval((()=>{s((e=>"."===e?"..":".."===e?"...":"."))}),500);return()=>clearInterval(e)}),[]),e("span",{className:g({blue:"text-blue-600 dark:text-blue-400",purple:"text-purple-600 dark:text-purple-400",teal:"text-teal-600 dark:text-teal-400",green:"text-green-600 dark:text-green-400",amber:"text-amber-600 dark:text-amber-400"}[n],"font-bold",t),children:r})}function sn({message:n,className:r,color:s="blue"}){const a={blue:{dot:"bg-blue-500 dark:bg-blue-400",text:"text-blue-700 dark:text-blue-300"},purple:{dot:"bg-purple-500 dark:bg-purple-400",text:"text-purple-700 dark:text-purple-300"},teal:{dot:"bg-teal-500 dark:bg-teal-400",text:"text-teal-700 dark:text-teal-300"},green:{dot:"bg-green-500 dark:bg-green-400",text:"text-green-700 dark:text-green-300"},amber:{dot:"bg-amber-500 dark:bg-amber-400",text:"text-amber-700 dark:text-amber-300"}};return t("div",{className:g("flex items-center gap-2 py-1",r),children:[t("div",{className:"flex space-x-1",children:[e("div",{className:`w-1.5 h-1.5 ${a[s].dot} rounded-full animate-bounce`}),e("div",{className:`w-1.5 h-1.5 ${a[s].dot} rounded-full animate-bounce`,style:{animationDelay:"0.2s"}}),e("div",{className:`w-1.5 h-1.5 ${a[s].dot} rounded-full animate-bounce`,style:{animationDelay:"0.4s"}})]}),e("div",{className:`${a[s].text} font-medium text-xs`,children:n})]})}function an({className:n,color:r="blue",width:s="md",message:a}){const[i,l]=o(15),[d,m]=o("increasing"),[u,h]=o(.4);return c((()=>{let e,t=Date.now();const n=()=>{const r=Date.now(),s=r-t;t=r,l((e=>{const t=u*(s/16);let n="increasing"===d?e+t:e-t;return n>=85?(m("decreasing"),h(.3+.2*Math.random()),85):n<=15?(m("increasing"),h(.3+.2*Math.random()),15):(Math.random()>.99&&h((e=>Math.max(.2,Math.min(.5,e+(.1*Math.random()-.05))))),n)})),e=requestAnimationFrame(n)};return e=requestAnimationFrame(n),()=>{cancelAnimationFrame(e)}}),[d,u]),t("div",{className:g("flex flex-col gap-1",n),children:[a&&e("div",{className:`text-xs font-medium ${{blue:"text-blue-700 dark:text-blue-300",purple:"text-purple-700 dark:text-purple-300",teal:"text-teal-700 dark:text-teal-300",green:"text-green-700 dark:text-green-300",amber:"text-amber-700 dark:text-amber-300"}[r]} mb-1`,children:a}),e("div",{className:g("h-1.5 rounded-full overflow-hidden shadow-inner",{blue:"bg-blue-200 dark:bg-blue-900/30",purple:"bg-purple-200 dark:bg-purple-900/30",teal:"bg-teal-200 dark:bg-teal-900/30",green:"bg-green-200 dark:bg-green-900/30",amber:"bg-amber-200 dark:bg-amber-900/30"}[r],{sm:"w-24",md:"w-32",lg:"w-48",xl:"w-64",full:"w-full"}[s]),children:e("div",{className:g("h-full rounded-full",{blue:"bg-gradient-to-r from-blue-400 to-blue-500 dark:from-blue-500 dark:to-blue-400",purple:"bg-gradient-to-r from-purple-400 to-purple-500 dark:from-purple-500 dark:to-purple-400",teal:"bg-gradient-to-r from-teal-400 to-teal-500 dark:from-teal-500 dark:to-teal-400",green:"bg-gradient-to-r from-green-400 to-green-500 dark:from-green-500 dark:to-green-400",amber:"bg-gradient-to-r from-amber-400 to-amber-500 dark:from-amber-500 dark:to-amber-400"}[r]),style:{width:`${i}%`,transition:"width 150ms cubic-bezier(0.4, 0.0, 0.2, 1)"}})})]})}function ln({className:t,color:n="blue",size:r="md"}){const[s,a]=o(Array(7).fill(50)),i={sm:{width:"w-16",height:"h-4",barWidth:"w-0.5",gap:"gap-[2px]"},md:{width:"w-20",height:"h-5",barWidth:"w-1",gap:"gap-[3px]"},lg:{width:"w-24",height:"h-6",barWidth:"w-1.5",gap:"gap-1"}},l={blue:"bg-gradient-to-b from-blue-400 to-blue-500 dark:from-blue-400 dark:to-blue-500",purple:"bg-gradient-to-b from-purple-400 to-purple-500 dark:from-purple-400 dark:to-purple-500",teal:"bg-gradient-to-b from-teal-400 to-teal-500 dark:from-teal-400 dark:to-teal-500",green:"bg-gradient-to-b from-green-400 to-green-500 dark:from-green-400 dark:to-green-500",amber:"bg-gradient-to-b from-amber-400 to-amber-500 dark:from-amber-400 dark:to-amber-500"};return c((()=>{let e;const t=[1.2,1,1.5,.8,1.3,.9,1.1],n=[0,.5,1,1.5,2,2.5,3];let r=0;const i=()=>{r+=.02;const l=s.map(((e,s)=>10+40*(Math.sin(r*t[s]+n[s])+1)));a(l),e=requestAnimationFrame(i)};return e=requestAnimationFrame(i),()=>{cancelAnimationFrame(e)}}),[]),e("div",{className:g("flex items-end justify-center",i[r].width,i[r].height,i[r].gap,t),children:s.map(((t,s)=>e("div",{className:g(i[r].barWidth,"rounded-full transform-gpu",l[n]),style:{height:`${t}%`,transition:"height 100ms cubic-bezier(0.4, 0.0, 0.2, 1)",opacity:.9}},s)))})}function on({plan:r,workstreamStatus:s,isOpen:a,onClose:i,plans:l=[],activePlanIndex:o=0,onChangePlan:c=()=>{}}){return a?t("div",{className:"fixed top-24 right-8 bottom-24 z-50 bg-white dark:bg-gray-900 shadow-xl border border-gray-200 dark:border-gray-700 overflow-hidden",style:{width:"350px"},children:[t("div",{className:"flex items-center justify-between p-3 border-b border-gray-200 dark:border-gray-800",children:[e("h3",{className:"font-bold text-gray-800 dark:text-gray-200 text-base",children:"Plan"}),t("button",{className:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full text-gray-500 dark:text-gray-400",onClick:i,children:[e(Se,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Close"})]})]}),t("div",{className:"p-3 overflow-y-auto",style:{height:"calc(100% - 44px)",maxHeight:"calc(100vh - 150px)"},children:[t("div",{className:"mb-3 p-2 bg-blue-50 dark:bg-blue-900/20 rounded-md border border-blue-100 dark:border-blue-800",children:[e("div",{className:"text-xs font-medium text-blue-700 dark:text-blue-300 mb-1",children:"Task Progress"}),e("div",{className:"flex items-center gap-2",children:(()=>{const a=r.plan||[],i=a.length;let l=0;i>0&&a.forEach((e=>{if(e&&e.id){const t=e.id.toString();"completed"===s.get(t)&&l++}}));const o=i>0?Math.round(l/i*100):0;return t(n,{children:[e("div",{className:"w-full bg-gray-200 dark:bg-gray-700 rounded-full h-2",children:e("div",{className:"bg-blue-600 h-2 rounded-full",style:{width:`${o}%`}})}),e("span",{className:"text-xs text-gray-600 dark:text-gray-400",children:i>0?`${l}/${i}`:"0/0"})]})})()})]}),l.length>1&&t("div",{className:"mb-3 flex items-center justify-between",children:[e("button",{className:"text-xs px-2 py-1 rounded-md bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-300 disabled:opacity-50",onClick:()=>c(Math.min(l.length-1,o+1)),disabled:o>=l.length-1,children:"Older Plan"}),e("div",{className:"text-xs text-gray-500 dark:text-gray-400",children:l[o]?.timestamp?new Date(l[o].timestamp).toLocaleTimeString():"Unknown time"}),e("button",{className:"text-xs px-2 py-1 rounded-md bg-gray-100 dark:bg-gray-800 text-gray-600 dark:text-gray-300 disabled:opacity-50",onClick:()=>c(Math.max(0,o-1)),disabled:o<=0,children:"Newer Plan"})]}),t("div",{className:"rounded-md border border-gray-200 dark:border-gray-800",children:[e("div",{className:"p-2 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900/50",children:e("div",{className:"font-medium text-xs",children:"Step-by-Step Plan"})}),e("div",{className:"divide-y divide-gray-100 dark:divide-gray-800 max-h-[calc(100vh-350px)] overflow-y-auto",children:r.plan&&r.plan.length>0?r.plan.map(((n,r)=>{const a=n.id?n.id.toString():`task-${r}`,i=n.goal||`Task ${r+1}`;let l=n.status||"pending";s.has(a)&&(l=s.get(a));let o=_e,c="text-gray-400",d="";return"in_progress"===l?(o=Pe,c="text-blue-500",d="bg-blue-50/50 dark:bg-blue-900/10"):"completed"===l&&(o=Te,c="text-green-500"),t("div",{className:`flex p-3 my-1 ${d}`,children:[e("div",{className:`mr-2 mt-0.5 flex-shrink-0 ${c}`,children:e(o,{className:"h-3.5 w-3.5"})}),t("div",{className:"w-full",children:[e("div",{className:"text-sm font-medium text-gray-800 dark:text-gray-200 mb-2",children:i}),t("div",{className:"mt-1 flex justify-between items-center",children:[e("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300",children:a}),e("span",{className:"ml-2 text-xs px-2 py-0.5 rounded-full "+("completed"===l?"bg-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400":"in_progress"===l?"bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400":"bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400"),children:"completed"===l?"Completed":"in_progress"===l?"In Progress":"Pending"})]})]})]},r)})):t("div",{className:"p-3 text-center text-gray-500 dark:text-gray-400 italic",children:[e(je,{className:"h-4 w-4 mx-auto mb-2 text-amber-500"}),e("p",{className:"text-xs",children:"No plan has been detected yet"}),e("p",{className:"text-xs mt-1",children:"Plans will appear here when the agent creates one"})]})})]}),(()=>{const n=new Set((r.plan||[]).filter((e=>e&&e.id)).map((e=>e.id.toString()))),a=Array.from(s.entries()).filter((([e])=>"main"!==e&&!n.has(e)));return a.length>0?t("div",{className:"mt-3 rounded-md border border-gray-200 dark:border-gray-800",children:[e("div",{className:"p-2 border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900/50",children:e("div",{className:"font-medium text-xs",children:"Workstreams"})}),e("div",{className:"p-3",children:e("div",{className:"grid grid-cols-1 gap-2",children:a.map((([n,r])=>{let s=_e,a="text-gray-400",i="bg-gray-100 dark:bg-gray-800",l="Pending";return"in_progress"===r?(s=Pe,a="text-blue-500",i="bg-blue-100 dark:bg-blue-800/30",l="In Progress"):"completed"===r&&(s=Te,a="text-green-500",i="bg-green-100 dark:bg-green-800/30",l="Completed"),t("div",{className:`flex items-center p-1.5 rounded ${i}`,children:[e("div",{className:`mr-1.5 ${a}`,children:e(s,{className:"h-3.5 w-3.5"})}),e("div",{className:"flex-1",children:e("span",{className:"text-xs font-medium text-gray-800 dark:text-gray-300",children:n})}),e("span",{className:"text-xs font-medium",children:l})]},n)}))})})]}):null})()]})]}):null}const cn=["Brewing some code magic...","Doing the robot dance...","Cooking up something good...","Working my gears...","Parsing the possibilities...","Crunching the numbers...","Connecting the digital dots...","Processing at maximum capacity...","Searching through my circuits...","Running advanced algorithms...","Computing optimal solutions...","Loading brilliance.exe...","Scanning the knowledge base...","Optimizing response protocols...","Having a quick brainstorm...","Thinking cap firmly on...","Pondering the digital universe...","Consulting my silicon wisdom...","Untangling the logic knots...","Assembling clever responses...","Mixing thoughtful ingredients...","Polishing the perfect answer...","Taking a momentary mind sprint...","Connecting virtual synapses...","Baking fresh ideas...","Stirring the thought pot...","Simmering solutions slowly...","Whipping up a smart response...","Adding a dash of intelligence...","Preparing a gourmet answer...","Growing brilliant ideas...","Cultivating the perfect response...","Gathering digital nectar...","Planting seeds of solutions...","Exploring the data landscape...","Mapping the solution path...","Navigating through possibilities...","Charting the course to answers...","Embarking on a thought expedition...","Sketching out concepts...","Painting with digital brushstrokes...","Composing my response symphony...","Crafting precision answers...","Weaving threads of information...","Just a moment of processing...","Taking a quick thinking break...","Almost there, final touches...","Putting the pieces together...","Making progress, hold tight..."];function dn(e){return e.workstream_id?(e.type===fe.COMPLETE&&console.log("[getWorkstreamId] COMPLETE message with workstream_id:",e.workstream_id),e.workstream_id):(e.type===fe.COMPLETE&&console.log("[getWorkstreamId] COMPLETE message without workstream_id, defaulting to 'main'"),"main")}function mn({message:r,showPulsatingCircle:s=!1}){const[a,i]=o(!1),[l,d]=o(""),[m,u]=o(!1),{client:h}=Ce(),p=f(),g=(()=>{const t={containerClass:"bg-white border-l-4 border-l-muted/30 shadow-sm",iconComponent:e($e,{className:"size-4 text-muted"}),sender:""};switch(r.type){case fe.ANSWER:return{...t,containerClass:"bg-white border-l-4 border-l-muted/30 shadow-sm",iconComponent:e($e,{className:"size-4 text-muted"}),sender:"Agent"};case fe.COMPLETE:return{...t,containerClass:"bg-white border-l-4 border-l-green-500 shadow-sm",iconComponent:e(Te,{className:"size-4 text-success"}),sender:"Completed"};case fe.QUESTION:return{...t,iconComponent:e(Ae,{className:"size-4 text-muted"}),sender:"User"};case fe.THOUGHT:return{...t,iconComponent:s?e(nn,{size:"sm",color:"blue"}):e($e,{className:"size-4 text-muted"}),sender:"Agent"};case fe.ERROR:return{...t,iconComponent:e(je,{className:"size-4 text-muted"}),sender:"System"};case fe.UPDATE:return{...t,containerClass:"bg-white border-l-4 border-success shadow-sm",iconComponent:e(Le,{className:"size-4 text-success"}),sender:"Update"};case fe.PLAN:return{...t,iconComponent:e(Ee,{className:"size-4 text-muted"}),sender:"Agent"};default:return{...t,sender:"Agent"}}})(),x=()=>{let e="";if(r.message&&(e="object"==typeof r.message?JSON.stringify(r.message,null,2):r.message.trim?r.message.trim():String(r.message)),"string"==typeof e&&e.includes("%thinking_message%")){const t=Math.floor(Math.random()*cn.length);e=e.replace(/%thinking_message%/g,cn[t])}return e},v=r=>"object"==typeof r?e("pre",{className:"text-xs font-mono whitespace-pre-wrap overflow-x-auto bg-gray-100 dark:bg-gray-800 p-2 rounded text-gray-700 ",children:JSON.stringify(r,null,2)}):e("div",{className:"vprose prose-sm",children:e(vt,{remarkPlugins:[wt],components:{a:({node:t,...n})=>{const r=n.href||"";return r.startsWith("/store/")?e(bt,{href:r,topLevelNav:!0,children:n.children}):e("a",{...n,target:"_blank",rel:"noopener noreferrer"})},img:({node:t,...n})=>e("img",{...n,className:"max-w-full h-auto rounded-lg shadow-md my-3 cursor-pointer hover:shadow-lg transition-shadow",loading:"lazy",onClick:()=>n.src&&window.open(n.src,"_blank")}),code:({node:r,className:s,children:a,...i})=>{const l=/language-(\w+)/.exec(s||""),o=!l,c=l?l[1]:"";return t(n,{children:[!o&&c&&e("div",{className:"code-language-indicator",children:c}),e("code",{...i,children:a})]})},p:t=>e("p",{...t}),strong:t=>e("strong",{...t}),em:t=>e("em",{...t}),pre:t=>e("pre",{...t}),h1:t=>e("h1",{...t}),h2:t=>e("h2",{...t}),h3:t=>e("h3",{...t}),li:t=>e("li",{...t}),ul:t=>e("ul",{...t}),ol:t=>e("ol",{...t}),blockquote:t=>e("blockquote",{...t}),hr:t=>e("hr",{...t}),table:t=>e("div",{className:"overflow-x-auto",children:e("table",{...t})}),th:t=>e("th",{...t}),td:t=>e("td",{...t})},children:r})}),w=x();c((()=>{(async()=>{if(w){u(!0);try{const e=await(async e=>{if("string"!=typeof e)return e;let t=e;t=t.replace(/\[([^\]]+)\]\((store|collection):([a-f\d]{24})\)/gi,((e,t,n,r)=>`[${t}](/store/${"store"===n?"objects":"collections"}/${r})`));const n=Array.from(t.matchAll(/!\[([^\]]*)\]\(image:([^)]+)\)/g)),r=await Promise.all(n.map((async e=>{const[t,n,r]=e;try{return{fullMatch:t,replacement:`![${n}](${(await h.files.getDownloadUrl(r)).url})`}}catch(e){return console.error(`Failed to get download URL for image: ${r}`,e),{fullMatch:t,replacement:t}}})));for(const{fullMatch:e,replacement:n}of r)t=t.replace(e,n);return t})((e=>{if("string"!=typeof e)return e;if(r.type===fe.THOUGHT||"string"==typeof r.message&&(r.message.toLowerCase().includes("thinking about")||r.message.toLowerCase().includes("i'm thinking")||r.message.toLowerCase().includes("💭"))){let t=e;return/\d+\.\s+.+/.test(t)&&(t=t.replace(/(\d+\.\s+.+?)(?=\s+\d+\.\s+|$)/g,"$1\n\n"),t=t.replace(/(\d+\.\s+.+\n)([^\d\n][^:])/g,"$1 $2")),t.includes(":")&&!t.includes("\n\n")&&(t=t.replace(/\b(First|Next|Then|Finally|Lastly|Additionally|Step \d+):\s+/gi,"\n\n$&")),t.includes(" - ")&&(t=t.replace(/\s+-\s+/g,"\n- ")),t}return/\d+\.\s+.+/.test(e)&&!e.includes("\n\n")?e.replace(/(\d+\.\s+.+?)(?=\s+\d+\.\s+|$)/g,"$1\n\n"):e})(w));d(e)}catch(e){console.error("Error processing message content:",e),d(w)}finally{u(!1)}}})()}),[w,h]);const N=dn(r),k=(()=>{switch(r.type){case fe.ANSWER:return"border-l-info bg-info";case fe.COMPLETE:return"border-l-success bg-success";case fe.IDLE:return"border-l-muted bg-muted";case fe.REQUEST_INPUT:return"border-l-attention bg-attention";case fe.QUESTION:return"border-l-muted bg-muted";case fe.THOUGHT:return"border-l-accent dark:border-l-purple-500 bg-purple-50/50 dark:bg-purple-900/10";case fe.ERROR:return"border-l-destructive bg-destructive";case fe.UPDATE:return"border-l-success bg-success";case fe.PLAN:return"border-l-attention bg-attention";default:return"border-l-indigo-500 dark:border-l-indigo-400 bg-indigo-50/50 dark:bg-indigo-900/10"}})();return t("div",{className:`border-l-4 shadow-md overflow-hidden bg-white dark:bg-gray-900 mb-5 ${k}`,"data-workstream-id":N,children:[t("div",{className:"flex items-center justify-between px-4 py-2 border-b border-gray-100/80 dark:border-gray-800/80 bg-white/50 dark:bg-gray-900/50 backdrop-blur-sm",children:[t("div",{className:"flex items-center gap-2",children:[e("div",{className:s?"animate-fadeIn":"",children:(()=>{const t=(()=>{switch(r.type){case fe.ANSWER:return"text-info";case fe.COMPLETE:return"text-success";case fe.IDLE:return"text-muted";case fe.REQUEST_INPUT:return"text-attention";case fe.QUESTION:return"text-muted";case fe.THOUGHT:return"text-purple-600 dark:text-purple-400";case fe.ERROR:return"text-destructive";case fe.UPDATE:return"text-success";case fe.PLAN:return"text-attention";default:return"text-muted"}})(),n=t=>("number"==typeof r.timestamp?r.timestamp:new Date(r.timestamp).getTime())%2==0?e(nn,{size:"sm",color:t}):e(tn,{color:t});switch(r.type){case fe.ANSWER:return s?n("blue"):e($e,{className:`size-4 ${t}`});case fe.COMPLETE:return e(Te,{className:`size-4 ${t}`});case fe.IDLE:return e(Pe,{className:`size-4 ${t}`});case fe.REQUEST_INPUT:case fe.QUESTION:return e(Ae,{className:`size-4 ${t}`});case fe.THOUGHT:return s?n("purple"):e($e,{className:`size-4 ${t}`});case fe.ERROR:return e(je,{className:`size-4 ${t}`});case fe.UPDATE:return s?n("green"):e(Le,{className:`size-4 ${t}`});case fe.PLAN:return s?n("amber"):e(Ee,{className:`size-4 ${t}`});default:return s?n("blue"):e($e,{className:`size-4 ${t}`})}})()}),e("span",{className:"text-xs font-medium text-muted ",children:g.sender}),"main"!==N&&"all"!==N&&e(b,{variant:"default",className:"text-xs text-muted",children:N})]}),t("div",{className:"flex items-center gap-2",children:[e("span",{className:"text-xs text-muted",children:xt(r.timestamp).format("HH:mm:ss")}),e(y,{variant:"ghost",size:"xs",onClick:()=>{const e=x()||"",t="string"==typeof r.details?r.details:r.details?JSON.stringify(r.details,null,2):"",n=[e,t?"\n\nDetails:\n"+t:""].join("").trim();navigator.clipboard.writeText(n).then((()=>{p({status:"success",title:"Copied to clipboard",duration:2e3})}))},className:"text-muted",title:"Copy message",children:e(Ie,{className:"size-3"})})]})]}),t("div",{className:"px-4 py-3 bg-white dark:bg-gray-900",children:[w&&e("div",{className:"message-content",children:m?t("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[e(tn,{color:"blue"}),e("span",{children:"Loading images..."})]}):v(l||w)}),r.details&&t("div",{className:"mt-2",children:[t("button",{onClick:()=>i(!a),className:"text-xs text-muted flex items-center",children:[a?"Hide":"Show"," details",e("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3 w-3 ml-1 transition-transform "+(a?"rotate-180":""),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),a&&e("div",{className:"mt-2 p-2 bg-muted border border-mixer-muted/40 rounded text-sm",children:"string"==typeof r.details?v(r.details):e("pre",{className:"text-xs font-mono whitespace-pre-wrap overflow-x-auto bg-muted p-2 rounded text-muted ",children:JSON.stringify(r.details,null,2)})})]})]})]})}function un({workstreams:n,activeWorkstream:r,onSelectWorkstream:s,count:a,completionStatus:i}){const l=new Map;l.set("all","All Messages"),l.set("main","Main"),n.forEach(((e,t)=>{"all"!==t&&"main"!==t&&"research_france"!==t&&"statistics"!==t&&l.set(t,e)})),n=l;const o=Array.from(n.entries()).sort((([e],[t])=>"all"===e?-1:"all"===t?1:"main"===e?-1:"main"===t?1:e.localeCompare(t))),c=o.length>2;return e("div",c?{className:"flex overflow-x-auto space-x-1 pb-2 mb-2 border-b-2 border-blue-200 dark:border-blue-900 sticky top-0 bg-white dark:bg-gray-900 z-10 pt-1",children:o.map((([n,l])=>t("button",{className:"px-3 py-1.5 text-xs font-medium whitespace-nowrap transition-colors flex items-center gap-1.5\n "+(r===n?"bg-blue-200 text-blue-800 dark:bg-blue-800 dark:text-blue-200 border-b-2 border-blue-500":"text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800/30 border-b-2 border-transparent"),onClick:()=>s(n),title:l.length>20?l:void 0,children:[l.length>20?l.substring(0,18)+"...":l,a&&a.has(n)&&a.get(n)>0&&t("div",{className:"flex items-center space-x-1",children:[e("span",{className:"inline-flex items-center justify-center w-4 h-4 text-xs\n "+(r===n?"bg-blue-200 text-blue-800 dark:bg-blue-800 dark:text-blue-200":"bg-gray-200 text-gray-600 dark:bg-gray-700 dark:text-gray-300"),children:a.get(n)}),i&&"all"!==n&&(i.get(n)?e(Te,{className:"h-3 w-3 text-green-500"}):e(Pe,{className:"h-3 w-3 text-amber-500"}))]})]},n)))}:{className:"py-1"})}function hn(e,t){return"all"===t?[...e]:"main"===t?e.filter((e=>"main"===dn(e))):e.filter((e=>dn(e)===t))}function pn({messages:r,bottomRef:s,viewMode:a="stacked",isCompleted:d=!1,plan:m={plan:[]},workstreamStatus:u=new Map,showPlanPanel:h=!1,onTogglePlanPanel:p=()=>{},plans:g=[],activePlanIndex:f=0,onChangePlan:b=()=>{}}){const y=i.useRef(null),[x,v]=o("all");c((()=>{s.current&&s.current.scrollIntoView({behavior:"smooth"})}),[r,s]);const w=i.useMemo((()=>[...r].sort(((e,t)=>("number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime())-("number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime())))),[r]),N=i.useMemo((()=>{const e=function(e){const t=new Map;return t.set("all","All Messages"),t.set("main","Main"),e.forEach((e=>{e.workstream_id&&"main"!==e.workstream_id&&"all"!==e.workstream_id&&!t.has(e.workstream_id)&&(t.set(e.workstream_id,e.workstream_id),console.log(`Found workstream: ${e.workstream_id}`))})),t.size<=2&&!t.has("main")&&t.set("main","Main"),console.log("Final workstreams map:",t),t}(w);return e}),[w]),k=i.useMemo((()=>{const e=new Map;e.set("all",w.length);const t=hn(w,"main");return e.set("main",t.length),w.forEach((t=>{const n=dn(t);"main"!==n&&e.set(n,(e.get(n)||0)+1)})),e}),[w]),C=i.useMemo((()=>"all"===x?w:hn(w,x)),[w,x]),S=l((()=>{const e=new Map,t=new Map;w.forEach((e=>{const n=dn(e);t.has(n)||t.set(n,[]),t.get(n).push(e)}));for(const[n,r]of t.entries())if(r.length>0){const t=r[r.length-1];e.set(n,[fe.COMPLETE,fe.IDLE,fe.REQUEST_INPUT].includes(t.type))}return e}),[w]);return t("div",{ref:y,className:"flex-1 min-h-0 h-full overflow-y-auto py-2 px-4 sm:px-6 lg:px-8 flex flex-col relative","data-testid":"all-messages-mixed",style:h?{paddingRight:"350px"}:{},children:[e(on,{plan:m,workstreamStatus:u,isOpen:h,onClose:p,plans:g,activePlanIndex:f,onChangePlan:b}),e("div",{className:"sticky top-0 bg-white dark:bg-gray-900 z-10",children:e(un,{workstreams:N,activeWorkstream:x,onSelectWorkstream:v,count:k,completionStatus:S})}),0===C.length?e("div",{className:"flex items-center justify-center h-full text-center py-8",children:e("div",{className:"flex items-center px-4 py-3 text-gray-500 dark:text-gray-400",children:"all"===x?"Waiting for agent response...":"No messages in this workstream yet..."})}):t("div",{className:"flex-1 flex flex-col justify-start pb-4 space-y-2",children:["stacked"===a?C.map(((t,n)=>{const r=!d&&n===C.length-1&&![fe.COMPLETE,fe.IDLE,fe.REQUEST_INPUT].includes(t.type);return e(mn,{message:t,showPulsatingCircle:r},`${t.timestamp}-${n}`)})):e(n,{children:(()=>{const t=C.filter((e=>e.type===fe.ANSWER||e.type===fe.QUESTION||e.type===fe.COMPLETE||e.type===fe.REQUEST_INPUT)),n=d?null:C.filter((e=>e.type===fe.THOUGHT||e.type===fe.UPDATE||e.type===fe.PLAN)).sort(((e,t)=>{const n="number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime();return("number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime())-n}))[0],r=[...t];return n&&r.push(n),r.sort(((e,t)=>("number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime())-("number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime()))),r.map(((t,n)=>{const s=!d&&n===r.length-1&&![fe.COMPLETE,fe.IDLE,fe.REQUEST_INPUT].includes(t.type);return e(mn,{message:t,showPulsatingCircle:s},`${t.timestamp}-${n}`)}))})()}),e("div",{ref:s,className:"h-4"})]})]})}class gn{vertesia;updateState;_interactive=!0;_debug_mode=!1;_collection;_start=!1;payload;_interactionParamsSchema;_inputValidator;constructor(e,t){this.vertesia=e,this.updateState=t,this.payload={model:"",tools:[]}}onStateChanged(){const e=this.clone();this.updateState(e)}clone(){const e=new gn(this.vertesia,this.updateState);return e._interactionParamsSchema=this._interactionParamsSchema,e.payload=this.payload,e._interactive=this._interactive,e._debug_mode=this._debug_mode,e._inputValidator=this._inputValidator,e._start=this._start,e._collection=this._collection,e}get interactive(){return this._interactive}set interactive(e){e!==this._interactive&&(this._interactive=e,this.onStateChanged())}get debug_mode(){return this._debug_mode}set debug_mode(e){e!==this._debug_mode&&(this._debug_mode=e,this.onStateChanged())}get collection(){return this._collection}set collection(e){e!==this._collection&&(this._collection=e,this.onStateChanged())}get search_scope(){return this._collection?"collection":void 0}get interaction(){return this.payload.interaction}set interaction(e){e?.id!==this.payload.interaction?.id&&(this.payload.interaction=e,this._interactionParamsSchema=be(this.interaction),this._inputValidator=void 0,e&&(e.environment&&("string"==typeof e.environment?this.vertesia.environments.retrieve(e.environment).then((e=>this.environment=e)):this.payload.environment=e.environment),e.model?this.payload.model=e.model:this.payload.model=this.environment?.default_model&&ye(this.environment.default_model,this.environment.provider)?this.environment.default_model:void 0),this.onStateChanged())}get environment(){return this.payload.environment}set environment(e){e?.id!==this.payload.environment?.id&&(this.payload.environment=e,this.payload.model=e?.default_model&&ye(e.default_model,e.provider)?e.default_model:void 0,this.onStateChanged())}get model(){return this.payload.model}set model(e){e!==this.payload.model&&(this.payload.model=e,this.onStateChanged())}get tools(){return this.payload.tools}set tools(e){this.payload.tools=e,this.onStateChanged()}get prompt_data(){return this.payload.prompt_data}set prompt_data(e){this.payload.prompt_data=e,this.onStateChanged()}set run(e){console.log("run",e),this.onStateChanged()}set start(e){this._start!==e&&(this._start=e,this.onStateChanged())}get start(){return this._start}get interactionParamsSchema(){return this._interactionParamsSchema}set interactionParamsSchema(e){this._interactionParamsSchema!==e&&(this._interactionParamsSchema=e,this.onStateChanged())}reset(){if(this._start=!1,this._interactive=!0,this._debug_mode=!1,this._collection=void 0,this.payload={model:"",tools:[],interaction:void 0,environment:void 0,prompt_data:void 0},this._interactionParamsSchema=null,this._inputValidator=void 0,this.onStateChanged(),location.hash){const e=window.location.origin+window.location.pathname+window.location.search;history.replaceState(null,"",e),location.hash=""}}validateInput(){if(!this._interactionParamsSchema)return{isValid:!0};if(!this._inputValidator||this._inputValidator.schema!==this._interactionParamsSchema){const e=new Nt({strict:!1});this._inputValidator={validate:e.compile(this._interactionParamsSchema),schema:this._interactionParamsSchema}}const e=this.payload.prompt_data||{};if(!this._inputValidator.validate(e)){return{isValid:!1,errorMessage:this._inputValidator.validate.errors?this._inputValidator.validate.errors.map((e=>`${e.instancePath}: ${e.message}`)).join(", "):"Invalid payload data"}}return{isValid:!0}}}const fn=d(void 0);function bn({children:t}){const{client:n}=Ce(),[r,s]=o();return c((()=>{s(new gn(n,s))}),[]),r&&e(fn.Provider,{value:r,children:t})}function yn(){const e=m(fn);if(!e)throw new Error("usePayloadBuilder must be used within a PayloadProvider");return e}function xn({title:n,onClose:r,isModal:s,run:a,viewMode:i,onViewModeChange:l,showPlanPanel:o,hasPlan:c=!1,onTogglePlanPanel:d,onDownload:m,onCopyRunId:u,resetWorkflow:h}){return e(bn,{children:t("div",{className:"flex items-center justify-between py-1.5 px-2 border-b shadow-sm flex-shrink-0",children:[t("div",{className:"flex flex-wrap items-center space-x-2",children:[t("div",{className:"flex items-center space-x-1",children:[e($e,{className:"size-5 text-muted"}),e("span",{className:"font-medium",children:n})]}),t("span",{className:"text-xs text-muted ml-1",children:["(Run ID: ",a.runId.substring(0,8),"...)"]})]}),t("div",{className:"flex items-center space-x-2",children:[t("div",{className:"flex items-center space-x-1 bg-muted rounded p-0.5",children:[e(y,{variant:"stacked"===i?"outline":"ghost",size:"xs",className:"rounded-l-md",onClick:()=>l("stacked"),children:"Details"}),e(y,{variant:"sliding"===i?"outline":"ghost",size:"xs",className:"rounded-l-md",onClick:()=>l("sliding"),children:"Most Important"})]}),t("div",{className:"relative",children:[c&&!o&&e("span",{className:"absolute -top-1 -right-1 w-2.5 h-2.5 bg-primary rounded-full border border-border z-10"}),t(y,{size:"sm",variant:o?"primary":"secondary",onClick:d,className:"transition-all duration-200 rounded-md",title:"Toggle plan panel",children:[e(Ue,{className:"size-4 mr-1.5"}),e("span",{className:"font-medium text-xs",children:o?"Hide Plan":"Show Plan"})]})]}),e(vn,{run:a,isModal:s,onClose:r,onDownload:m,onCopyRunId:u,resetWorkflow:h}),r&&!s&&e(y,{size:"xs",variant:"ghost",onClick:r,children:e(Oe,{className:"size-4"})})]})]})})}function vn({run:n,isModal:r,onClose:s,onDownload:a,onCopyRunId:i,resetWorkflow:l}){const o=f(),{client:c}=Ce(),d=yn();return t(x,{hover:!0,children:[e(v,{children:e(y,{size:"xs",variant:"ghost",title:"More actions",children:e(ze,{className:"size-4"})})}),e(w,{className:"w-48",align:"end",children:e("div",{className:"rounded-md shadow-lg z-50",children:e("div",{className:"py-1 min-w-36",children:e(N,{children:e(k,{children:t(C,{children:[e("div",{className:"flex items-center px-3 py-1.5 text-xs text-gray-700 dark:text-gray-300",children:e("span",{className:"text-muted",children:"Actions"})}),r&&t(S,{className:"text-xs",onSelect:()=>{return e=`/store/agent-runner?agentId=${n.runId}__${n.workflowId}`,window.open(e,"_blank"),e;var e},children:[e(Fe,{className:"size-3.5 mr-2 text-muted"})," Open in new tab"]}),t(S,{className:"text-xs",onSelect:()=>{i?i():(navigator.clipboard.writeText(n.runId),o({status:"success",title:"Run ID copied",duration:2e3}))},children:[e(Ie,{className:"size-3.5 mr-2 text-muted"})," Copy Run ID"]}),t(S,{className:"text-xs",onSelect:()=>{a?a():async function(e,t){return e.files.getDownloadUrl(`agents/${t}/conversation.json`).then((e=>e.url))}(c,n.runId).then((e=>window.open(e,"_blank")))},children:[e(De,{className:"size-3.5 mr-2 text-muted"})," Download Conversation"]}),s&&r&&t(S,{className:"text-xs",onSelect:s,children:[e(Oe,{className:"size-3.5 mr-2 text-muted"})," Close"]}),t(S,{className:"text-xs text-destructive",onSelect:()=>{(async e=>{try{return await c.store.workflows.terminate(e.workflowId,e.runId,"cancel"),o({status:"success",title:"Workflow cancelled",duration:2e3}),d.reset(),l?.(),!0}catch(e){return o({status:"error",title:"Failed to cancel workflow",duration:2e3}),!1}})(n)},children:[e(Oe,{className:"size-3.5 mr-2 text-destructive"})," Cancel Workflow"]})]})})})})})})]})}const wn="vertesia.content_store.lastDisplayedView";function Nn({onUpdate:t}){const[n,r]=o("grid"===localStorage.getItem(wn)),s=()=>{localStorage.setItem(wn,"grid"),r(!0),t(!0)},a=()=>{localStorage.setItem(wn,"table"),r(!1),t(!1)};return e(y,{variant:"outline",onClick:()=>{n?a():s()},alt:n?"Table View":"Thumbnail View",children:e(n?Re:Me,{})})}Nn.LAST_DISPLAYED_VIEW=wn;class kn extends L{labelOf(e){return e.label}idOf(e){return e.id}renderOption(n){return t("div",{children:[e("div",{className:"font-medium",children:n.label}),e("p",{className:"text-sm text-gray-500 dark:text-gray-400 mt-1",children:n.description})]})}}function Cn({isOpen:n,onClose:r,onConfirm:s,isLoading:a,uploadedFileName:i}){const l=[{id:"update",label:"Update current version",description:i?"Replace the content file and modify properties directly in the current revision.":"Modify the properties directly in the current revision."},{id:"new-version",label:"Create new version",description:i?"Create a new revision with the replacement file while preserving the original.":"Create a new revision with these property changes while preserving the original."}],[c,d]=o(l[0]),[m,u]=o(""),h=new kn,p="new-version"===c?.id;return t(_,{isOpen:n,onClose:r,className:"sm:max-w-md",children:[e(j,{children:"Save Changes"}),e(P,{children:t("div",{className:"space-y-4",children:[i&&e("div",{className:"mb-4 p-3 bg-blue-50 dark:bg-blue-900/20 rounded-md",children:t("p",{className:"text-sm text-blue-700 dark:text-blue-300 font-medium",children:["You're about to replace the content file with: ",e("span",{className:"font-bold",children:i})]})}),e("p",{className:"text-sm text-mixer-muted/5",children:"How would you like to save these changes?"}),e(T,{adapter:h,options:l,value:c,onChange:e=>{d(e)},gap:"gap-4"}),p&&e(I,{label:"Version Label (Optional)",description:"Optional label for the new version.",className:"mt-3 pl-8",children:e($,{value:m,onChange:u,placeholder:"e.g., v1.2, approved, post-review",className:"w-full"})})]})}),t(E,{children:[e(y,{variant:"secondary",onClick:r,disabled:a,children:"Cancel"}),e(y,{variant:"primary",onClick:async()=>{await s(p,p?m:void 0)},isLoading:a,children:"Save"})]})]})}function Sn({isOpen:r,onClose:s,object:a,refetch:i}){const{client:l,store:d}=Ce(),m=f(),h=yt(),[p,g]=o(!1),[b,x]=o(""),[v,w]=o(!1),[N,k]=o(null),C=u(null),S=u(null),[T,I]=o(null),[$,L]=o(null);function A(e,t){e.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,schemas:[{uri:"http://myserver/object-schema.json",fileMatch:["*"],schema:t}]})}return c((()=>{r&&(x(JSON.stringify(a.properties||{},null,2)),a.type?.id&&async function(e){try{const t=await d.types.retrieve(e);t.object_schema&&(I(t.object_schema),S.current&&A(S.current,t.object_schema))}catch(e){console.error("Failed to fetch JSON schema:",e)}}(a.type.id))}),[r,a]),t(n,{children:[t(_,{isOpen:r,onClose:s,className:"sm:max-w-[90%] md:max-w-[80%] lg:max-w-[75%] xl:max-w-[70%]",children:[e(j,{children:"Edit Properties"}),t(P,{children:[t("div",{className:"mb-2 text-sm text-gray-500",children:[a.type?.name?t("span",{children:["Editing properties for object type: ",e("strong",{children:a.type.name})]}):e("span",{children:"Editing properties for generic document"}),T&&e("span",{className:"ml-2 text-green-600",children:"(JSON schema validation enabled)"})]}),e("div",{className:"h-[75vh] border border-gray-300 dark:border-gray-700 rounded-md",children:e(At,{height:"100%",language:"json",value:b,onChange:e=>x(e||""),onMount:function(e,t){C.current=e,S.current=t,T&&A(t,T)},options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,formatOnPaste:!0,formatOnType:!0,automaticLayout:!0,wordWrap:"on"}})})]}),t(E,{children:[e(y,{variant:"secondary",onClick:s,children:"Cancel"}),e(y,{variant:"primary",onClick:function(){if(!C.current)return;const e=C.current.getValue();try{const t=JSON.parse(e);k(t),w(!0)}catch(e){m({status:"error",title:"Invalid JSON",description:"Please fix the JSON syntax errors before saving.",duration:5e3})}},children:"Save Changes"})]})]}),e(Cn,{isOpen:v,onClose:function(){w(!1)},onConfirm:async function(e,t){try{g(!0);const n=N||JSON.parse(b);if(e){const e=await l.objects.update(a.id,{properties:n},{createRevision:!0,revisionLabel:t});e.id!==a.id&&L(e.id),m({status:"success",title:"New version created",description:"A new version with updated properties has been created.",duration:2e3}),w(!1),s(),e.id!==a.id&&setTimeout((()=>{h(`/objects/${e.id}`),m({status:"info",title:"Viewing New Version",description:t?`Now viewing version '${t}'`:"Now viewing the new version",duration:3e3})}),100)}else await d.objects.update(a.id,{properties:n}),m({status:"success",title:"Properties updated",description:"The object properties have been updated successfully.",duration:2e3}),i&&await i(),w(!1),s()}catch(e){m({status:"error",title:"Error updating properties",description:e.message||"An error occurred while updating the properties.",duration:5e3}),g(!1)}},isLoading:p})]})}function _n({object:r,loadText:s,refetch:a}){const{client:i,store:l}=Ce(),[d,m]=o(!1),[u,h]=o(r.text),[p,g]=o(),[b,x]=o(!1),v=f(),[w,N]=o(!1);c((()=>{s&&!u&&(m(!0),l.objects.getObjectText(r.id).then((e=>{h(e.text)})).catch((e=>{console.error("Failed to load text",e)})).finally((()=>{m(!1)})))}),[s]);const k=async(e,t)=>{try{await navigator.clipboard.writeText(e),v({status:"success",title:("text"===t?"Content":"Properties")+" copied",description:`Successfully copied ${t} to clipboard`,duration:2e3})}catch(e){console.error(`Failed to copy ${t}:`,e),v({status:"error",title:"Copy failed",description:`Failed to copy ${t} to clipboard`,duration:5e3})}},C=async e=>{try{const t=await i.objects.getRendition(r.id,{format:e,max_hw:1024,generate_if_missing:!0,sign_url:!0});if("generating"===t.status)return v({status:"info",title:"Generating document",description:`Please wait while we prepare your ${e.toUpperCase()} file...`,duration:5e3}),void setTimeout((()=>C(e)),3e3);if("failed"===t.status)throw new Error("Document generation failed");if(t.renditions&&t.renditions.length>0){const n=t.renditions[0];if("pdf"===e)window.open(n,"_blank"),v({status:"success",title:"PDF opened",description:"PDF document opened in a new window",duration:2e3});else{const t=document.createElement("a");t.href=n,t.download=`${r.name||"document"}.${e}`,document.body.appendChild(t),t.click(),document.body.removeChild(t),v({status:"success",title:"Document exported",description:`Successfully exported to ${e.toUpperCase()} format`,duration:2e3})}}}catch(t){console.error(`Failed to export document as ${e}:`,t),v({status:"error",title:"Export failed",description:`Failed to export document to ${e.toUpperCase()} format`,duration:5e3})}},S=r.content,_=S&&S.source&&S.type&&S.type.startsWith("image/"),j=S&&S.type&&("text/markdown"===S.type||"text/plain"===S.type),P=u&&(u.includes("\n#")||u.includes("\n*")||u.includes("\n+")||u.includes("!["));return c((()=>{_&&i.objects.getRendition(r.id,{max_hw:1024,format:xe.jpeg,generate_if_missing:!1,sign_url:!0}).then((e=>"found"===e.status?e.renditions?.length?e.renditions[0]:null:r)).catch((()=>r)).then((()=>{i.files.getDownloadUrl(r.content.source).then((e=>{g(e.url)}))}))}),[]),t("div",{className:"w-full",children:[t("div",{className:"flex flex-col lg:flex-row lg:gap-8",children:[t("div",{className:"w-full lg:w-1/2",children:[t("div",{className:"h-[41px] text-lg font-semibold mb-4 border-b flex justify-between items-center",children:[t("div",{className:"flex items-center gap-1",children:["Properties",e(y,{variant:"outline",size:"sm",alt:""+(w?"Preview":"View in JSON format"),onClick:()=>N(!w),children:w?"Preview":"JSON"})]}),t("div",{className:"flex items-center gap-2",children:[r.properties&&e(y,{variant:"ghost",size:"sm",title:"Copy properties",onClick:()=>k(JSON.stringify(r.properties,null,2),"properties"),children:e(Ve,{className:"size-4"})}),e(y,{variant:"ghost",size:"sm",onClick:()=>{x(!0)},title:"Edit properties",className:"flex items-center gap-2",children:e(qe,{className:"size-4"})})]})]}),r.properties?e(kt,{value:r.properties,viewCode:w}):e("div",{children:"No properties defined"}),_&&t("div",{className:"my-4",children:[e("div",{className:"h-[41px] text-lg font-semibold mb-4 border-b flex justify-between items-center",children:e("span",{className:"py-1",children:"Image"})}),p?e("img",{src:p,alt:r.name,className:"w-full object-contain"}):e(A,{size:"md"})]})]}),t("div",{className:"w-full lg:w-1/2 mt-4 lg:mt-0",children:[t("div",{className:"h-[41px] text-lg font-semibold mb-4 border-b flex justify-between items-center",children:[e("span",{className:"py-1",children:"Text"}),t("div",{className:"flex items-center gap-2",children:[u&&e(y,{variant:"ghost",size:"sm",title:"Copy text",onClick:()=>k(u,"text"),className:"flex items-center gap-2",children:e(Ve,{className:"h-4 w-4"})}),(j||P)&&u&&t(n,{children:[t(y,{variant:"ghost",size:"sm",onClick:()=>C("docx"),className:"flex items-center gap-2",children:[e(We,{className:"h-4 w-4"}),"DOCX"]}),t(y,{variant:"ghost",size:"sm",onClick:()=>C("pdf"),className:"flex items-center gap-2",children:[e(We,{className:"h-4 w-4"}),"PDF"]})]})]})]}),d&&e(A,{size:"md"}),e("div",u?{className:"border shadow-xs rounded-xs max-w-7xl",children:P?e("div",{className:"vprose prose-sm p-1",children:e(vt,{remarkPlugins:[wt],components:{a:({node:t,...n})=>{const r=n.href||"";return r.startsWith("/store/objects/")?e(U,{href:r,className:"text-info",children:n.children}):e("a",{...n,target:"_blank",rel:"noopener noreferrer"})},p:({node:t,...n})=>e("p",{...n,className:"my-0"}),pre:({node:t,...n})=>e("pre",{...n,className:"my-2 p-2 rounded"}),code:({node:t,className:n,children:r,...s})=>{const a=/language-(\w+)/.exec(n||"");return e("code",{...s,className:!a?"px-1.5 py-0.5 rounded":"text-muted",children:r})},h1:({node:t,...n})=>e("h1",{...n,className:"font-bold text-2xl my-2"}),h2:({node:t,...n})=>e("h2",{...n,className:"font-bold text-xl my-2"}),h3:({node:t,...n})=>e("h3",{...n,className:"font-bold text-lg my-2"}),li:({node:t,...n})=>e("li",{...n})},children:u})}):e("pre",{className:"text-wrap bg-muted text-muted p-2",children:u})}:{children:"No content"})]})]}),e(Sn,{isOpen:b,onClose:()=>{x(!1)},object:r,refetch:a})]})}function jn(e,t=7){return e?"~"+e.slice(-t):""}function Pn(e,t){return e.length>t?e.substring(0,t)+"...":e}const Tn="text/csv",In="image/",$n="application/pdf",En="video/",Ln=e=>e===Tn||Tn.includes(e),An=e=>e.startsWith(In)||In.includes(e),Un=e=>e===$n||$n.includes(e),On=e=>e.startsWith(En)||En.includes(e),zn=import.meta.env,Fn={max_hw:zn?.VITE_RENDITION_HW||256,format:xe.jpeg,generate_if_missing:!0},Dn="vertesia.content_store.renditionId";async function Rn(e,t,n,r,s){if(!t?.content?.type||!(An(t.content.type)||On(t.content.type)||Un(t.content.type)))return void s("No preview available");s("Preparing preview...");const a=(new Date).getTime()/1e3,i=localStorage.getItem(`${Dn}_${t.id}_${Fn.max_hw}`),l=localStorage.getItem(`${Dn}_${t.id}_${Fn.max_hw}_time`);if(i?.length&&l&&Math.abs(a-parseInt(l))<=900)return n(i),r(`${t.name} Rendition`),s("ready"),i;s("Preparing preview..."),e.objects.getRendition(t.id,Fn).then((a=>{if("generating"===a.status)s("Preparing preview..."),n(""),r(""),setTimeout((()=>Rn(e,t,n,r,s)),6e4);else{if("failed"===a.status)return s("No preview available"),n(""),void r("");{if(!a?.renditions?.length)return s("No preview available"),n(""),void r("");const e=a.renditions[0];localStorage.setItem(`${Dn}_${t.id}_${Fn.max_hw}`,e),localStorage.setItem(`${Dn}_${t.id}_${Fn.max_hw}_time`,((new Date).getTime()/1e3).toString()),n(e),r(`${t.name} Rendition`),s("ready"),console.log(`Rendition for document ${t.id} retrieved successfully: ${e}`)}}})).catch((e=>{s("No preview available"),console.warn("Failed to retrieve rendition:",e),n(""),r("")}))}function Mn({selection:n,document:r,onSelectionChange:s,onRowClick:a}){const{client:i}=Ce(),[l,d]=o(void 0),[m,u]=o(void 0),[h,p]=o(void 0);return c((()=>{r?.content&&Rn(i,r,d,u,p)}),[r]),t(O,{className:"relative flex flex-col border h-fit",onClick:()=>a&&a(r),children:[n&&e("div",{className:"absolute top-2 left-2 z-10 flex flex-col items-center gap-1",children:e("input",{checked:n.isSelected(r.id),type:"checkbox",onChange:e=>{e.stopPropagation(),s(r,e)},onClick:e=>e.stopPropagation()})}),e("div",{className:"absolute top-1 right-1 z-10 flex flex-col items-center",children:e(bt,{topLevelNav:!0,href:`/store/objects/${r.id}`,children:e(y,{variant:"ghost",size:"sm",title:"Open Object",children:e(Be,{className:"size-4 "+("ready"===h?"text-muted":"text-white")})})})}),l&&"ready"==h?e("img",{src:l,alt:m,className:"w-auto h-48 object-cover rounded-t-xl"}):e("div",{className:"h-48 bg-gray-700 rounded-t-xl flex items-center justify-center text-muted",children:h}),e(z,{className:"bg-gray-200 h-[2px]"}),e(F,{className:"p-2 flex flex-col gap-1",children:t("div",{className:"flex flex-col",children:[e(D,{placement:"top",description:r.properties?.title??r.name,children:e("h3",{className:"text-start font-medium leading-none truncate",children:r.properties?.title??r.name})}),r?.type?.name?e(D,{placement:"bottom",size:"xs",description:r?.type?.name,children:e("p",{className:"text-start text-xs text-muted truncate",children:r?.type?.name})}):e("p",{className:"text-xs text-muted",children:" "})]})})]})}function Vn(e){return`${e._id} (${e.count})`}function qn(e){return`${e.name} (${e.count})`}function Wn({search:t,buckets:n,placeholder:r="All Environments",className:s}){const{client:a}=Ce(),[i,l]=o([]),d=t.getFilterValue("environment");c((()=>{if(a){const e=n.map((async e=>{let t;return await a.environments.retrieve(e._id).then((e=>{t=e.name})).catch((()=>{t=`${e._id} (deleted)`})),t||(t=e._id),{...e,name:t}}));Promise.all(e).then((e=>{e.sort(((e,t)=>e.name.localeCompare(t.name))),l(e)}))}}),[n,a]);const m=i?.find((e=>e._id===d));return e(R,{filterBy:"name",className:s,isClearable:!0,optionLabel:qn,options:i,value:m,onChange:e=>{t.setFilterValue("environment",e?._id)},by:"_id",placeholder:r})}function Bn({search:t,buckets:n,name:r,placeholder:s,className:a}){const i=t.getFilterValue(r),l=n?.find((e=>JSON.stringify(e._id)===JSON.stringify(i)));return e(R,{filterBy:"_id",className:a,isClearable:!0,optionLabel:Vn,options:n,value:l,onChange:e=>{t.setFilterValue(r,e?._id)},by:"_id",placeholder:s})}function Jn({search:t,name:n,placeholder:r,className:s}){const[a,i]=o([]);return c((()=>{t.setFilterValue(n,a)}),[a]),e(M,{className:s,value:a,onChange:i,placeholder:r})}function Hn(e){return`${e.name} (${e.count})`}function Gn({search:t,buckets:n,placeholder:r="Filter by Type",className:s}){const[a,i]=o([]),{typeRegistry:l}=Ce(),d=t.getFilterValue("type");c((()=>{if(l){const e=n.map((e=>{let t;return null==e._id?(e._id="Document",t="Document"):(t=l.getTypeName(e._id),t||(console.warn("Content Object Type not found",e._id),t=e._id)),{...e,name:t}}));e.sort(((e,t)=>e.name.localeCompare(t.name))),i(e)}}),[n,l]);const m=a?.find((e=>e._id===d));return e(R,{filterBy:"name",className:s,isClearable:!0,optionLabel:Hn,options:a,value:m,onChange:e=>{t.setFilterValue("type",e?._id)},by:"_id",placeholder:r})}function Kn({facets:n,search:r}){return t("div",{className:"flex items-center gap-x-4 w-full",children:[n.role&&e(Bn,{search:r,className:"flex-1",name:"role",buckets:n.role||[],placeholder:"Filter by Role"}),n.type&&e(Gn,{search:r,className:"flex-1",buckets:n.type||[]}),n.status&&e(Bn,{search:r,className:"flex-1",name:"status",buckets:n.status||[],placeholder:"Filter by Status"}),n.location&&e(Bn,{search:r,className:"flex-1",name:"location",buckets:n.location||[],placeholder:"Filter by Location"}),n.tags&&e(Jn,{search:r,className:"flex-1",name:"tags",buckets:n.tags||[],placeholder:"Filter by Tags"})]})}function Qn({search:t,buckets:n,placeholder:r="All Interactions",className:s}){const{client:a}=Ce(),[i,l]=o([]),d=t.getFilterValue("interaction");c((()=>{if(a){const e=n.map((async e=>{let t;return await a.interactions.retrieve(e._id).then((e=>{t=e.name})).catch((()=>{t=`${e._id} (deleted)`})),t||(t=e._id),{...e,name:t}}));Promise.all(e).then((e=>{e.sort(((e,t)=>e.name.localeCompare(t.name))),l(e)}))}}),[n,a]);const m=i?.find((e=>e._id===d));return e(R,{filterBy:"name",className:s,isClearable:!0,optionLabel:qn,options:i,value:m,onChange:e=>{t.setFilterValue("interaction",e?._id)},by:"_id",placeholder:r})}const Yn={};function Xn(e){const{client:t}=Ce();return V((()=>{let n=Yn[e];return n||(n=t.users.retrieve(e).then((e=>e)),Yn[e]=n),n}),[e])}function Zn(){return e("div",{className:"size-8"})}function er({showTitle:n=!1,size:r="md"}){return t(lr,{title:"System User",description:"The system user is used to initialize built-in objects.",children:[e(q,{src:"/icon.svg",size:r}),n&&e("div",{className:"text-sm font-semibold pl-2",children:"System User"})]})}function tr({accountId:r,showTitle:s=!1,size:a="md"}){const i=t(n,{children:[e("div",{children:"This user is used by robots like workflow workers."}),t("div",{className:"text-gray-800 dark:text-gray-500 text-sm",children:[e("span",{className:"font-semibold",children:"ID:"})," ",r]})]});return e(lr,{title:"Service Account",description:i,children:t("div",{className:"flex flex-row items-center gap-2",children:[e(q,{src:"/cloud.svg",name:"SA",color:"bg-amber-500",className:"px-[5px] text-white",size:a}),s&&t("div",{className:"text-sm font-semibold pl-2 truncate",children:["Service Account : ",r]})]})})}function nr({title:t="Error",error:n,showTitle:r=!1,size:s="md"}){return e(sr,{title:t,message:"string"==typeof n?n:n.message,color:"bg-red-500",showTitle:r,size:s})}function rr({userRef:t,showTitle:n=!1,size:r="md"}){if(!t)return e(sr,{title:"Unknown User",message:"User information is not available.",showTitle:n,size:r});const[s,a]=t?t.split(":"):["unknown"];switch(s){case ve.User:return e(ar,{userId:a,showTitle:n,size:r});case"system":return e(er,{showTitle:n,size:r});case ve.ServiceAccount:return e(tr,{accountId:a,showTitle:n,size:r});case ve.ApiKey:return e(ir,{keyId:a,size:r,showTitle:n});default:return e(nr,{title:"Unknown User",error:`Invalid user ref type: ${s}`,showTitle:n,size:r})}}function sr({title:n,message:r,color:s,size:a="md",showTitle:i=!1}){return e(lr,{title:n,description:r,children:t("div",{className:"flex flex-row items-center gap-2",children:[e(q,{color:s,size:a}),i&&e("div",{className:"text-sm font-semibold pl-1",children:n})]})})}function ar({userId:n,showTitle:r=!1,size:s="md"}){const{data:a,error:i}=Xn(n);return i?e(nr,{title:"Failed to fetch user",error:i,showTitle:r,size:s}):a?e(lr,{title:a.name||a.email||a.username||"unknown",description:a.email,children:t("div",{className:"flex flex-row items-center gap-2",children:[e(q,{src:a.picture,name:a.name,color:"bg-indigo-500",size:s}),r&&e("div",{className:"text-sm font-semibold pl-2",children:a.name||a.email||a.username||"unknown"})]})}):e(Zn,{})}function ir({keyId:n,showTitle:r=!1,size:s="md"}){const{client:a}=Ce(),{data:i,error:l}=V((()=>a.apikeys.retrieve(n)),[]);if(l)return e(nr,{title:"Failed to fetch the apikey",error:l,showTitle:r,size:s});if(!i)return e(Zn,{});const o=i.type===we.public,c=o?"Public Key":"Private Key",d=e(q,{name:o?"PK":"SK",color:"bg-pink-500",size:s}),m=t(W,{className:"dark:bg-gray-800 dark:text-gray-200",children:[t("tr",{children:[e("td",{className:"font-semibold",children:"Key:"}),e("td",{children:i?.name})]}),t("tr",{children:[e("td",{className:"font-semibold",children:"Account:"}),e("td",{children:i?.account})]}),t("tr",{children:[e("td",{className:"font-semibold",children:"Project:"}),e("td",{children:i?.project})]})]});return e(lr,{title:c,description:m,children:t("div",{className:"flex flex-row items-center gap-2",children:[d,r&&e("div",{className:"text-sm font-semibold pl-2",children:i?.name||i?.account||i?.project||"unknown"})]})})}function lr({title:n,description:r,children:s}){return t(x,{hover:!0,children:[e(v,{className:"cursor-pointer flex items-center inline-block",children:e("div",{children:s})}),e(w,{align:"center",sideOffset:8,side:"right",children:t("div",{className:"flex flex-col gap-1 rounded-md shadow-md p-2",children:[e("div",{className:"text-md font-semibold",children:n}),e("div",{children:r})]})})]})}function or(t){return null==t._id?`UnKnown User (${t.count})`:e(rr,{userRef:t._id,showTitle:!0,size:"sm"})}function cr({search:t,buckets:n,placeholder:r="Filter by User",className:s}){const[a,i]=o([]),l=t.getFilterValue("created_by");c((()=>{(async()=>{const e=await Promise.all(n.map((async e=>({...e}))));i(e)})()}),[n]);const d=a?.find((e=>e._id===l));return e(R,{filterBy:"name",className:s,isClearable:!0,optionLabel:or,options:a,value:d,onChange:e=>{t.setFilterValue("created_by",e?._id)},by:"_id",placeholder:r})}function dr({buckets:e,name:t,placeholder:n}){return function({buckets:e,name:t,placeholder:n}){return{name:t,options:e.map((e=>({label:Vn(e),value:e._id}))),type:"select",placeholder:`${n??`${t.charAt(0).toUpperCase()+t.slice(1)}`}`}}({buckets:e,name:t,placeholder:n})}function mr({buckets:n,typeRegistry:r}){const s=new Map;n.forEach((e=>{let t,n=e._id;null==e._id?(n="Document",t="Document"):(t=r.getTypeName(e._id),t||(console.warn("Content Object Type not found",e._id),t=e._id)),s.set(n,{name:t,count:e.count})}));return{name:"Type",type:"select",options:n.map((e=>({value:e._id||"Document",label:`(${e.count})`}))),labelRenderer:n=>{const r=s.get(n);return r?t("div",{className:"w-full flex items-center",children:[e("span",{className:"text-sm truncate",children:r.name}),t("span",{className:"ml-2 text-xs",children:["(",r.count,")"]})]}):(console.warn(`Type data not found for ${n}`),n)},filterBy:(e,t)=>{const n=s.get(e);return n?n.name.toLowerCase().includes(t.toLowerCase()):(console.warn(`Type name not found for ${e}`),!1)}}}function ur({buckets:n,name:r,placeholder:s}){return function({buckets:n,name:r,placeholder:s}){const a=n.map((e=>({value:e._id,label:`(${e.count})`})));return{name:r,placeholder:s||`${r.charAt(0).toUpperCase()+r.slice(1)}`,options:a,labelRenderer:r=>{if("Unknown User"===r||!r){const e=n.find((e=>e._id===r));return`Unknown User (${e?.count||0})`}const s=n.find((e=>e._id===r));return t("div",{className:"flex items-center justify-between w-full",children:[e(rr,{userRef:r,showTitle:!0,size:"sm"}),t("span",{className:"text-muted-foreground ml-2",children:["(",s?.count||0,")"]})]})}}}({buckets:n,name:r,placeholder:s})}function hr({facets:n,search:r,textSearch:s=""}){const[a,i]=o([]),l=[],{typeRegistry:c}=Ce();if(s&&l.push({placeholder:s,name:"name",type:"text",options:[]}),n.type){const e=mr({buckets:n.type||[],typeRegistry:c});l.push(e)}if(n.status){const e=dr({buckets:n.status||[],name:"Status"});l.push(e)}if(n.role){const e=dr({buckets:n.role||[],name:"Role"});l.push(e)}if(n.location){const e=dr({buckets:n.location||[],name:"Location"});l.push(e)}if(n.initiated_by){const e=ur({buckets:n.initiated_by||[],name:"User"});l.push(e)}if(n.interactions){const r=function({buckets:n,name:r,placeholder:s}){return{name:r,placeholder:s,options:n.map((e=>({label:`(${e.count})`,value:e._id}))),type:"select",labelRenderer:r=>{const s=n.find((e=>e._id===r)),a=s?.name||r;let i="success";if(s?.status)switch(s.status){case Ne.published:i="success";break;case Ne.archived:i="destructive";break;default:i="attention"}const l=s?.version&&s?.status?`v${s.version} ${s.status}`:s?.status||(s?.version?`v${s.version}`:"");return t("div",{className:"w-full flex items-center justify-between",children:[t("div",{className:"flex flex-row flex-wrap items-center gap-2 min-w-0 flex-1",children:[e("span",{className:"text-sm truncate",children:a}),l&&e(b,{variant:i,className:"text-xs w-fit",children:l})]}),t("span",{className:"ml-2 text-xs shrink-0",children:["(",s?.count||0,")"]})]})},filterBy:(e,t)=>{const r=n.find((t=>t._id===e));return(r?.name||e).toLowerCase().includes(t.toLowerCase())}}}({buckets:n.interactions||[],name:"interaction",placeholder:"Interactions"});l.push(r)}if(n.environments){const r=function({buckets:n,name:r}){const s=n.map((e=>({label:`(${e.count})`,value:e._id})));return{name:r.charAt(0).toUpperCase()+r.slice(1),options:s,type:"select",labelRenderer:r=>{const s=n.find((e=>e._id===r));return t("div",{className:"w-full flex items-center",children:[e("span",{className:"text-sm truncate",children:s?.name||r}),t("span",{className:"ml-2 text-xs",children:["(",s?.count||0,")"]})]})},filterBy:(e,t)=>{const r=n.find((t=>t._id===e));return(r?.name||e).toLowerCase().includes(t.toLowerCase())}}}({buckets:n.environments||[],name:"Environments"});l.push(r)}if(n.models){const e=dr({buckets:n.models||[],name:"Model"});l.push(e)}if(n.statuses){const e=dr({buckets:n.statuses||[],name:"Status"});l.push(e)}if(n.finish_reason){const e=dr({buckets:n.finish_reason.map((e=>({...e,_id:null===e._id?"none":e._id}))),name:"finish_reason",placeholder:"Finish Reason"});l.push(e)}if(n.created_by){const e=ur({buckets:n.created_by||[],name:"created_by",placeholder:"Created By"});l.push(e)}n.tags&&l.push({name:"Tags",type:"stringList",options:n.tags.map((e=>({label:e,value:e})))});return e(B,{filterGroups:l,filters:a,setFilters:e=>{const t="function"==typeof e?e(a):e;if(0===t.length)return r.clearFilters(),void i([]);i(t),r.clearFilters(!1),t.forEach((e=>{if(e.value&&e.value.length>0){const t=e.name.toLowerCase(),n="stringList"===e.type?e.value.map((e=>"string"==typeof e?e:e.value)):Array.isArray(e.value)&&e.value[0]&&"object"==typeof e.value[0]?e.value[0].value:e.value;if("name"===t)r.query.search_term=n,r.query.name=n;else r.query[t]=n}})),r.search()}})}class pr{object;objects;setState;collectionId;singleSelection=!1;constructor(e,t,n,r){this.object=e,this.objects=n,this.setState=r,this.singleSelection=0===Object.keys(this.objects).length,this.collectionId=t}isSingleSelection(){return this.singleSelection}hasSelection(){return void 0!==this.object||0!==this.size()}size(){return Object.keys(this.objects).length}getObjectIds(){return Object.keys(this.objects)}getObjectId(){return this.object?.id}clone(){return new pr(this.object,this.collectionId,this.objects,this.setState)}add(e){this.objects[e.id]=e,this.singleSelection=0===Object.keys(this.objects).length,this.setState(this.clone())}remove(e){delete this.objects[e],this.singleSelection=0===Object.keys(this.objects).length,this.setState(this.clone())}addAll(e){for(const t of e)this.objects[t.id]=t;this.setState(this.clone())}isSelected(e){return void 0!==this.objects[e]}removeAll(){this.objects={},this.singleSelection=!0,this.setState(this.clone())}}const gr=d(void 0);function fr(){const e=m(gr);if(!e)throw new Error("useObjectSelection must be used within a ObjectSelectionProvider");return e}function br(){return m(gr)}function yr({value:t,collectionId:n,children:r}){const[s,a]=o();return c((()=>{const e=new pr(t,n,{},a);a(e)}),[t]),s&&e(gr.Provider,{value:s,children:r})}xt.extend(Ot),xt.extend(Ut);const xr={string(t){let n=[];if(t){const e=t.get("slice");e&&n.push((t=>t.slice(parseInt(e))));const r=t.get("max_length");r&&n.push((e=>e.slice(0,parseInt(r)))),t.has("upper")&&n.push((e=>e.toUpperCase())),t.has("lower")&&n.push((e=>e.toLowerCase())),t.has("capitalize")&&n.push((e=>e[0].toUpperCase()+e.substring(1))),t.has("ellipsis")&&n.push((e=>e+"..."))}return(t,r)=>{let s;if(t){if(s=String(t),n.length>0)for(const e of n)s=e(s)}else s="";return e("td",{children:s},r)}},fileSize:t=>(t,n)=>{let r="";if(t){const e=Number(t);if(isNaN(e))r=String(t);else{const t=["Bytes","KB","MB","GB","TB"];if(0===e)r="0 Bytes";else{const n=Math.floor(Math.log(e)/Math.log(1024));r=`${(e/Math.pow(1024,n)).toFixed(2)} ${t[n]}`}}}return e("td",{children:r},n)},number(t){let n,r;t&&(n=t.get("currency")||void 0,r=t.get("decimals")||void 0);const s=r?parseInt(r):2;return(t,r)=>{let a=new Intl.NumberFormat("en-US",{style:n?"currency":"decimal",currency:n,maximumFractionDigits:s}).format(t);return e("td",{children:a},r)}},objectLink(t){let n="title";return t&&(n=t.get("title")||"title"),(t,r)=>e("td",{children:e(bt,{topLevelNav:!0,className:"underline text-indigo-800 dark:text-indigo-300",href:`/store/objects/${t.id}`,children:t.properties?.[n]||t.name||jn(t.id)})},r)},typeLink:t=>(t,n)=>e("td",{children:t?.name||"n/a"},n),date(t){let n="format",r="LLL";if(t){const e=t.get("localized");if(e)r=e;else{const e=t.get("relative");e&&(n=e,r=void 0)}}return(t,s)=>e("td",{children:xt(t)[n](r)},s)}},vr=xr.string();function wr(e,t){let n=e;if(!n)return;if(!t.length)return n;const r=t.length-1;for(let e=0;e<r;e++)if(n=n[t[e]],!n)return;return n[t[r]]}function Nr(e){return e&&"."!==e?e.split("."):[]}class kr{layout;renderer=vr;path;fallbackPath;constructor(e){if(this.layout=e,this.path=Nr(e.field||""),this.fallbackPath=e.fallback?Nr(e.fallback):void 0,e.render)this.renderer=(e,t)=>null;else{const t=e.type||"string",n=t.indexOf("?");if(n>0){const e=t.substring(0,n),r=new URLSearchParams(t.substring(n+1));this.renderer=xr[e](r)}else this.renderer=xr[t]()}}get name(){return this.layout.name}resolveValue(e){let t=wr(e,this.path);return void 0===t&&this.fallbackPath&&(t=wr(e,this.fallbackPath)),void 0===t&&(t=this.layout.default),t}render(t,n){return this.layout.render?e("td",{className:"whitespace-nowrap px-3 py-4 text-sm",children:this.layout.render(t)},n):this.renderer(this.resolveValue(t),n)}}function Cr({objects:n,selection:r,isLoading:s,onRowClick:a,columns:i,toggleAll:l,onSelectionChange:o}){return t(W,{className:"w-full border-t",children:[e("thead",{children:t("tr",{children:[r&&e("th",{children:e("input",{type:"checkbox",onChange:l})}),i.map((t=>e("th",{children:t.name},t.name)))]})}),t(J,{isLoading:s,columns:i.length,children:[n?.map((n=>t("tr",{className:"cursor-pointer hover:bg-muted",onClick:()=>{a&&a(n)},children:[r&&e("td",{onClick:e=>e.stopPropagation(),children:e("input",{checked:r.isSelected(n.id),type:"checkbox",onChange:e=>o(n,e)})}),i.map(((e,t)=>e.render(n,t)))]},n.id))),0===n.length&&e("tr",{children:e("td",{colSpan:i.length+(r?1:0),className:"text-center",children:"No objects. Just drag and drop documents or images here to create content objects."})})]})]})}function Sr({objects:s,selection:a,isLoading:i,onSelectionChange:l,onRowClick:o}){return t(n,{children:[e("div",{className:r("bg-white opacity-40 absolute inset-0 z-50 flex justify-center items-center",i?"block":"hidden"),children:e(A,{size:"xl"})}),e("div",{className:"w-full gap-2 grid lg:grid-cols-6",children:s.map((t=>e(Mn,{document:t,selection:a,onSelectionChange:l,onRowClick:o},t.id)))})]})}class _r{client;limit;collectionId;facets=new H({});result=new H({objects:[],isLoading:!1});facetSpecs=[];query={};constructor(e,t=100){this.client=e,this.limit=t}withFacets(e){return this.facetSpecs=e,this}get objects(){return this.result.value.objects}get error(){return this.result.value.error}get isRunning(){return this.result.value.isLoading}getFilterValue(e){return this.query[e]}setFilterValue(e,t){this.query[e]=t,this.search()}clearFilters(e=!0){const t=this.query.parent;this.query={parent:t},e&&this.search()}getFacetBuckets(e){return this.facets.value[e]?.buckets||[]}resetFacets(){this.query={}}reset(e=!1){this.result.value={objects:[],isLoading:e}}_updateRunningState(e){const t=this.result.value;this.result.value={objects:t.objects,isLoading:e,error:t.error}}_searchRequest(e,t,n){return this.collectionId?this.client.collections.searchMembers(this.collectionId,{limit:t,offset:n,query:e}):this.client.objects.search({limit:t,offset:n,query:e})}_facetsRequest(){return this.collectionId?this.client.collections.computeFacets(this.collectionId,{facets:this.facetSpecs,query:this.query}):this.client.objects.computeFacets({facets:this.facetSpecs,query:this.query})}computeFacets(e){this._facetsRequest().then((e=>{this.facets.value=e}))}_search(e=!1){if(this.isRunning)return Promise.resolve(!1);this.result.value={isLoading:!0,objects:e?this.objects:[]};const t=this.limit,n=this.objects.length;return this._searchRequest(this.query,t,n).then((async e=>(this.result.value={isLoading:!1,objects:this.objects.concat(e)},!0))).catch((e=>{throw this.result.value={error:e,isLoading:!1,objects:this.objects},e}))}search(e=!1){return this.isRunning?Promise.resolve(!1):(!e&&this.computeFacets(this.query),this._search(!1))}loadMore(e=!1){return this.isRunning?Promise.resolve(!1):(0===this.objects.length&&!e&&this.computeFacets(this.query),this._search(!0))}}const jr=d(void 0);function Pr(){return m(jr)}function Tr(){return G(Pr().facets)}function Ir(){const e=Pr();return{...G(e.result),search:e}}function $r(){const e=Pr();return G(e.facets).total}var Er;async function Lr(e){try{const t=await e.arrayBuffer(),n=new zt;n.appendByteArray(new Uint8Array(t));const r=n.end();return r?.toString()}catch(e){return void console.error("Error calculating file hash:",e)}}function Ar(){const{client:e}=Ce(),t=f();return{checkDocumentProcessing:async(n,r,s)=>{try{console.log(`Preparing metadata for ${n.length} files...`);const t=await async function(e,t){const n=[];for(let r=0;r<e.length;r+=5){const s=e.slice(r,r+5),a=await Promise.all(s.map((async e=>{let n=t||void 0;if(e.webkitRelativePath){const r=e.webkitRelativePath.split("/");if(r.length>1){const e=r.slice(0,-1).join("/");n=t?`${t}/${e}`:e}}return{file:e,hash:await Lr(e),name:e.name,size:e.size,location:n}})));n.push(...a)}return n}(n,r),a=async()=>{const n={"content.etag":{$in:t.map((e=>e.hash))}};let r;r=s?await e.store.collections.searchMembers(s,{query:{match:n},select:void 0}):await e.store.objects.search({query:{match:n},select:void 0});for(const e of r){const n=t.find((t=>t.hash===e.content.etag));n&&(n.existingId=e.id,n.action=Er.SKIP)}},i=async()=>{const n=t.filter((e=>e.action!==Er.SKIP)),r=n.map((e=>e.location)),a=Array.from(new Set(r)),i=[];for(const t of a){const r=n.filter((e=>e.location===t)).map((e=>e.name)),a={location:t??"","content.name":{$in:r}};if(s){const t=e.store.collections.searchMembers(s,{query:{match:a},select:void 0});i.push(t)}else{const t=e.store.objects.find({query:{match:a},select:void 0});i.push(t)}}const l=(await Promise.all(i)).flat();console.log(`Found ${l.length} document to update`,l);for(const e of l){const n=t.find((t=>t.name===e.content.name&&(t.location?t.location===e.location:""===e.location)));n&&(n.existingId=e.id,n.action=Er.UPDATE)}console.log(`Reconciled ${t.filter((e=>e.action===Er.UPDATE)).length}`)};return await a(),await i(),t.forEach((e=>{e.action||(e.action=Er.CREATE)})),console.log("Document processing check results:",{totalFiles:n.length,toCreate:t.filter((e=>e.action===Er.CREATE)).length,toUpdate:t.filter((e=>e.action===Er.UPDATE)).length,toSkip:t.filter((e=>e.action===Er.SKIP)).length}),t}catch(e){throw t({title:"Error in file upload processing check",status:"error",description:e.message}),console.log("Error in file upload processing check",e),new Error("Error in file upload processing check: "+e.message)}}}}function Ur({isOpen:r,onClose:s,files:a,collectionId:i,selectedFolder:d,title:m="Upload Files",children:u,onUploadComplete:h,hideFileSelection:p=!1,showTypeSelectionOnly:g=!1}){const{client:b,typeRegistry:x}=Ce(),v=f(),[w,N]=o([]),[k,C]=o([]),[S,T]=o(!1),[I,$]=o(null),[L,U]=o([]),[O,z]=o(!1),[F,D]=o(!1),[M,V]=o(0),[q,W]=o(Date.now()),[B,J]=o(void 0);c((()=>{i&&b.store.collections.retrieve(i).then(J)}),[i]);const H=()=>B||d?t("div",{className:"mb-4 p-3 bg-blue-50 rounded-md border border-blue-100",children:[t("div",{className:"flex items-center text-blue-700",children:[e(Ye,{className:"h-5 w-5 mr-2"}),e("span",{className:"font-medium",children:"Upload Location:"})]}),t("div",{className:"ml-7 text-sm text-blue-700 mt-1",children:[B&&t("div",{className:"flex items-center",children:[e("span",{className:"mr-1",children:"Collection:"}),e("span",{className:"font-medium",children:B.name})]}),d&&t("div",{className:"flex items-center mt-1",children:[e("span",{className:"mr-1",children:"Folder:"}),e("span",{className:"font-medium",children:d})]})]})]}):null,[G,K]=o({toCreate:0,toUpdate:0,toSkip:0}),{checkDocumentProcessing:Q}=Ar(),Y=l((()=>x?.types||[]),[x?.types]);c((()=>{r&&(a&&a.length>0?(N(a),ee(a)):(N([]),C([]),T(!1),$(null),U([]),z(!1),D(!1),V(0),K({toCreate:0,toUpdate:0,toSkip:0})),W(Date.now()))}),[r,a]);const X=()=>{N([]),C([]),T(!1),$(null),U([]),z(!1),D(!1),V(0),K({toCreate:0,toUpdate:0,toSkip:0}),s()},Z=e=>{e&&e.length>0&&(N(e),ee(e))},ee=async e=>{if(e.length)try{console.log(`Processing ${e.length} files to determine required actions...`);const t=await Q(e,d,i);C(t);const n=t.filter((e=>e.action===Er.CREATE)).length,r=t.filter((e=>e.action===Er.UPDATE)).length,s=t.filter((e=>e.action===Er.SKIP)).length;K({toCreate:n,toUpdate:r,toSkip:s}),v({title:"Files analyzed",description:`${e.length} file(s): ${n} new, ${r} to update, ${s} to skip`,status:"info",duration:4e3}),T(!0)}catch(e){console.error("Error processing files:",e),v({title:"Error",description:"There was an error analyzing the files",status:"error",duration:5e3})}},te=async()=>{if(!k.length)return;const e=I?.id||null,t=k.map((e=>({file:e.file,status:"pending",progress:0,action:e.action===Er.CREATE?"create":e.action===Er.UPDATE?"update":"skip"})));U(t),z(!0),D(!1);const n=k.filter((e=>e.action===Er.SKIP)),r=k.filter((e=>e.action===Er.UPDATE)),s=k.filter((e=>e.action===Er.CREATE)),a={success:!0,objectIds:[],uploadedFiles:[],skippedFiles:[],failedFiles:[]};for(const t of n)t.existingId&&(a.objectIds.push(t.existingId),a.skippedFiles.push({id:t.existingId,name:t.name,type:e,status:"skipped",location:t.location}),U((e=>e.map((e=>e.file===t.file?{...e,status:"success",progress:100,id:t.existingId}:e)))));const l=async(t,n)=>{const r=[];for(let e=0;e<t.length;e+=50)r.push(t.slice(e,e+50));for(let s=0;s<r.length;s++){const l=r[s];if(console.log(`Processing ${n} batch ${s+1}/${r.length} (${l.length} files)`),t.length>50){v({title:`Processing files (${n})`,description:`Processed ${50*s}/${t.length} files...`,status:"info",duration:2e3})}await Promise.all(l.map((async t=>{try{if(U((e=>e.map((e=>e.file===t.file?{...e,status:"uploading",progress:20}:e)))),"update"===n&&t.existingId)await b.store.objects.update(t.existingId,{type:e||void 0,content:t.file,location:t.location,name:t.name},{createRevision:!0,revisionLabel:"upload on "+(new Date).toISOString()}),U((e=>e.map((e=>e.file===t.file?{...e,status:"success",progress:100,id:t.existingId}:e)))),a.objectIds.push(t.existingId),a.uploadedFiles.push({id:t.existingId,name:t.name,type:e,status:"updated",location:t.location});else{const n=await b.store.objects.create({type:e||void 0,content:t.file,location:t.location||t.file.webkitRelativePath||t.name},{collection_id:i});U((e=>e.map((e=>e.file===t.file?{...e,status:"success",progress:100,id:n.id}:e)))),a.objectIds.push(n.id),a.uploadedFiles.push({id:n.id,name:t.name,type:e,status:"created",location:t.location})}}catch(n){console.error(`Failed to process file ${t.name}:`,n),U((e=>e.map((e=>e.file===t.file?{...e,status:"error",progress:100,message:n.message||"Unknown error"}:e)))),a.failedFiles.push({name:t.name,error:n.message||"Unknown error",status:"failed",location:t.location,type:e}),a.success=!1}})));const o=L.filter((e=>"success"===e.status||"error"===e.status)).length,c=L.length,d=Math.round(o/c*100);V(d)}};r.length>0&&await l(r,"update"),s.length>0&&await l(s,"create"),U((e=>{const t=e.filter((e=>"pending"===e.status)).map((e=>({...e,status:"error",progress:100,message:"Upload process interrupted"})));return t.length>0?(t.forEach((e=>{a.failedFiles.push({name:e.file.name,error:"Upload process interrupted",status:"failed",type:I?.id||null})})),a.success=!1,e.map((e=>"pending"===e.status?{...e,status:"error",progress:100,message:"Upload process interrupted"}:e))):e})),z(!1),D(!0);const o=a.uploadedFiles.filter((e=>"created"===e.status)).length,c=a.uploadedFiles.filter((e=>"updated"===e.status)).length,d=a.skippedFiles.length,m=a.failedFiles.length;let u="";o>0&&(u+=`${o} file${1!==o?"s":""} uploaded`),c>0&&(u+=u?", ":"",u+=`${c} file${1!==c?"s":""} updated`),d>0&&(u+=u?", ":"",u+=`${d} file${1!==d?"s":""} skipped`),m>0&&(u+=u?", ":"",u+=`${m} file${1!==m?"s":""} failed`),v({title:"Upload Complete",description:u,status:m>0?"warning":"success",duration:5e3}),h&&h(a)};return t(_,{isOpen:r,onClose:X,className:"w-full max-w-3xl mx-auto",children:[e(j,{children:m}),g?t(P,{className:"p-6",children:[u,H(),t("div",{className:"mb-4",children:[t("label",{className:"block text-sm font-medium mb-2",children:["Content Type ",e("span",{className:"text-gray-500 font-normal",children:"(Optional)"})]}),e(R,{options:Y,value:I,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type or leave empty for automatic detection",onChange:e=>$(void 0===e?null:e),filterBy:"name",isClearable:!0}),t("div",{className:"mt-2 text-sm text-blue-600 flex items-center",children:[e(Je,{className:"h-4 w-4 mr-1"}),t("span",{children:[e("strong",{children:"Type selection is optional."})," Leave empty to let Vertesia choose the appropriate type"]})]})]}),t("div",I?{className:"text-sm text-gray-500 bg-gray-50 p-3 rounded-md mb-4",children:[e("div",{className:"font-medium",children:I.name}),I.description&&e("div",{className:"mt-1",children:I.description})]}:{className:"text-sm text-blue-600 bg-blue-50 p-3 rounded-md mb-4",children:[t("div",{className:"font-medium flex items-center",children:[e(Je,{className:"h-5 w-5 mr-1"}),"Automatic Type Detection"]}),t("div",{className:"mt-1",children:[e("p",{children:e("strong",{children:"Vertesia will analyze the content and select the most appropriate type."})}),e("p",{className:"mt-1",children:"This is recommended for most uploads and ensures optimal processing."})]})]})]}):0!==w.length||p?O||F?O?t(P,{className:"p-6",children:[H(),t("div",{className:"mb-4",children:[t("div",{className:"flex justify-between items-center mb-2",children:[e("div",{className:"text-lg font-medium",children:"Uploading Files"}),t("div",{className:"text-sm text-muted",children:[Math.round(M),"% complete"]})]}),e("div",{className:"h-2 bg-color-muted/20 rounded-full overflow-hidden",children:e("div",{className:"h-full bg-color-primary rounded-full",style:{width:`${M}%`}})})]}),e("div",{className:"max-h-96 overflow-y-auto",children:L.map(((n,r)=>t("div",{className:"flex items-center py-2 border-b border-color-border last:border-b-0",children:[t("div",{className:"mr-3",children:["pending"===n.status&&e(Ke,{className:"h-5 w-5 text-muted"}),"uploading"===n.status&&e(A,{size:"sm"}),"success"===n.status&&e(Je,{className:"h-5 w-5 text-green-500"}),"error"===n.status&&e(Qe,{className:"h-5 w-5 text-red-500"})]}),t("div",{className:"flex-1 min-w-0",children:[e("div",{className:"truncate font-medium",children:n.file.name}),t("div",{className:"text-xs text-muted",children:["pending"===n.status&&"Waiting...","uploading"===n.status&&"Uploading...","success"===n.status&&("create"===n.action?"Created":"update"===n.action?"Updated":"Skipped"),"error"===n.status&&n.message]})]})]},`${n.file.name}-${r}`)))})]}):e(P,{className:"p-6",children:t("div",{className:"mb-4",children:[e("div",{className:"text-lg font-medium mb-2",children:"Upload Complete"}),H(),e(St,{files:L.map((e=>{let t;return t="success"===e.status?"create"===e.action?"success":"update"===e.action?"updated":"skipped":"failed",{name:e.file.name,status:t,error:"error"===e.status?e.message:void 0}})),location:d||void 0,collection:B?.name})]})}):e(P,{className:"p-6",children:S?t(n,{children:[H(),t("div",{className:"mb-4",children:[t("div",{className:"flex justify-between items-center mb-2",children:[e("div",{className:"text-lg font-medium",children:"File Analysis Results"}),t("div",{className:"text-sm text-muted",children:[w.length," file",1!==w.length?"s":""]})]}),e("div",{className:"bg-color-muted/10 p-4 rounded-md mb-4",children:t("div",{className:"grid grid-cols-3 gap-4",children:[t("div",{className:"flex flex-col items-center",children:[t("div",{className:"flex items-center",children:[e(He,{className:"h-5 w-5 text-blue-500 mr-2"}),e("span",{className:"font-medium",children:"New"})]}),e("div",{className:"text-2xl font-semibold",children:G.toCreate})]}),t("div",{className:"flex flex-col items-center",children:[t("div",{className:"flex items-center",children:[e(Je,{className:"h-5 w-5 text-green-500 mr-2"}),e("span",{className:"font-medium",children:"Update"})]}),e("div",{className:"text-2xl font-semibold",children:G.toUpdate})]}),t("div",{className:"flex flex-col items-center",children:[t("div",{className:"flex items-center",children:[e(Ge,{className:"h-5 w-5 text-yellow-500 mr-2"}),e("span",{className:"font-medium",children:"Skip"})]}),e("div",{className:"text-2xl font-semibold",children:G.toSkip})]})]})})]}),t("div",{className:"mb-4",children:[t("label",{className:"block text-sm font-medium mb-2",children:["Content Type ",e("span",{className:"text-gray-500 font-normal",children:"(Optional)"})]}),e(R,{options:Y,value:I,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type or leave empty for automatic detection",onChange:e=>$(void 0===e?null:e),filterBy:"name",isClearable:!0}),t("div",{className:"mt-2 text-sm text-blue-600 flex items-center",children:[e(Je,{className:"h-4 w-4 mr-1"}),t("span",{children:[e("strong",{children:"Type selection is optional."})," Leave empty to let Vertesia choose the appropriate type"]})]})]}),t("div",I?{className:"p-4 bg-gray-50 rounded-md border border-gray-100 mb-4",children:[e("div",{className:"font-medium mb-2",children:"Files to process with selected type:"}),e("div",{className:"text-sm",children:G.toCreate+G.toUpdate>0?t("div",{className:"space-y-1",children:[t("p",{children:[G.toCreate+G.toUpdate," file(s) ready to process",G.toSkip>0&&` (${G.toSkip} will be skipped as they already exist)`]}),t("p",{className:"text-green-600",children:["Files will be uploaded with type:"," ",e("strong",{children:I.name})]}),I.description&&e("p",{className:"text-gray-500 mt-1",children:I.description})]}):G.toSkip>0?t("span",{children:["All ",G.toSkip," file(s) already exist in the system and will be skipped. You can proceed to view the results."]}):e("span",{children:"No files to process."})})]}:{className:"p-4 bg-blue-50 rounded-md border border-blue-100 mb-4",children:[t("div",{className:"font-medium mb-2 flex items-center text-blue-700",children:[e(Je,{className:"h-5 w-5 mr-1"}),"Automatic Type Detection"]}),e("div",{className:"text-sm text-blue-700",children:G.toCreate+G.toUpdate>0?t("div",{className:"space-y-1",children:[t("p",{children:[G.toCreate+G.toUpdate," file(s) ready to process",G.toSkip>0&&` (${G.toSkip} will be skipped as they already exist)`]}),e("p",{className:"mt-2",children:e("strong",{children:"Vertesia will analyze each file and select the most appropriate type."})}),e("p",{className:"mt-1",children:"This is recommended for most uploads and ensures optimal processing."})]}):G.toSkip>0?t("span",{children:["All ",G.toSkip," file(s) already exist in the system and will be skipped. You can proceed to view the results."]}):e("span",{children:"No files to process."})})]})]}):t("div",{className:"flex flex-col items-center justify-center py-8",children:[e(A,{size:"lg",className:"mb-4"}),e("div",{className:"text-lg font-medium",children:"Analyzing files..."}),e("div",{className:"text-sm text-muted mt-2",children:"Checking for duplicates and updates"})]})}):t(P,{className:"flex flex-col items-center justify-center p-8",children:[H(),e(Ct,{onDrop:Z,message:"Drag and drop files here or click to select",buttonLabel:"Select Files",className:"w-full h-64"}),u]}),(()=>{if(g)return t(E,{children:[e(y,{variant:"ghost",onClick:X,children:"Cancel"}),e(y,{onClick:()=>{h&&h({success:!0,objectIds:[],uploadedFiles:[{name:"type-selection",type:I?.id||null,status:"created"}],skippedFiles:[],failedFiles:[]}),X()},children:I?`Use ${I.name}`:"Use Automatic Type Detection"})]});if(0===w.length&&!p)return e(E,{children:e(y,{variant:"ghost",onClick:X,children:"Cancel"})});if(!O&&!F){const n=S;return t(E,{children:[e(y,{variant:"ghost",onClick:X,children:"Cancel"}),e(y,{disabled:!n,onClick:te,className:I?"":"bg-blue-600 hover:bg-blue-700",children:G.toCreate+G.toUpdate>0?I?`Upload with ${I.name}`:"Upload with Automatic Type Detection":"Continue"})]})}return O?e(E,{children:e(y,{variant:"ghost",disabled:!0,children:"Uploading..."})}):t(E,{children:[e(y,{variant:"ghost",onClick:()=>{N([]),C([]),T(!1),$(null),U([]),z(!1),D(!1),V(0),K({toCreate:0,toUpdate:0,toSkip:0})},children:"Upload More"}),e(y,{onClick:X,children:"Close"})]})})()]},q)}function Or(e){const t="function"==typeof e?e:e.onUploadDone,{client:n,project:r,store:s}=Ce(),a=Pr(),i=f(),{checkDocumentProcessing:l}=Ar();return async(e,o,c)=>{const d={success:!1,objectIds:[],uploadedFiles:[],skippedFiles:[],failedFiles:[]};if(!r)return i({status:"error",title:"No project selected",duration:3e3}),d;if(!e||0===e.length)return i({status:"warning",title:"No files selected",duration:3e3}),d;const m=Array.from(e).filter((e=>e.size>0));if(0===m.length)return i({status:"error",title:"No valid files selected",description:"Please select files with valid content.",duration:5e3}),d;const u=[],h=[],p=[];console.log(`Processing ${m.length} files with smart file processing...`);const g=await l(m,null,c),f=g.filter((e=>e.action===Er.CREATE)).length,b=g.filter((e=>e.action===Er.UPDATE)).length,y=g.filter((e=>e.action===Er.SKIP)).length;i({title:"Files analyzed",description:`${m.length} file(s): ${f} new, ${b} to update, ${y} to skip`,status:"info",duration:4e3});for(const e of g.filter((e=>e.action===Er.SKIP&&e.existingId)))u.push({id:e.existingId,name:e.name,type:o,status:"skipped",location:e.location});const x=g.filter((e=>(e.action===Er.CREATE||e.action===Er.UPDATE)&&e.file));if(x.length>0){console.log(`Processing ${x.length} files (${x.filter((e=>e.action===Er.CREATE)).length} create, ${x.filter((e=>e.action===Er.UPDATE)).length} update)...`);const e=50,t=[];for(let n=0;n<x.length;n+=e)t.push(x.slice(n,n+e));for(let r=0;r<t.length;r++){const a=t[r],l=r*e;console.log(`Processing batch ${r+1}/${t.length} (${a.length} files)`),x.length>e&&i({title:"Processing files",description:`Processed ${l}/${x.length} files...`,status:"info",duration:2e3});const m=await Promise.all(a.map((async e=>{try{if(e.action===Er.UPDATE&&e.existingId){const t=await n.store.objects.update(e.existingId,{type:o||void 0,content:e.file,location:e.location,name:e.name},{createRevision:!0,revisionLabel:"upload on "+(new Date).toISOString()});return h.push({id:e.existingId,name:e.name,type:o,status:"updated",location:e.location}),d.objectIds.push(e.existingId),{success:!0,id:t.id,name:e.name,action:"update"}}{const t=c?{collection_id:c}:void 0,n=await s.objects.create({type:o||void 0,content:e.file,location:e.location||e.file.webkitRelativePath||e.name},t);h.push({id:n.id,name:e.name,type:o,status:"created",location:e.location})}}catch(t){console.error(`Failed to process file ${e.name}:`,t),p.push({name:e.name,error:t.message||"Unknown error",status:"failed",location:e.location,type:o}),i({status:"error",title:`Processing failed for ${e.name}`,description:t.message,duration:4e3})}}))),u=h.filter((e=>"created"===e.status)),g=h.filter((e=>"updated"===e.status)),f=h.filter((e=>"failed"===e.status));console.log(`Batch ${r+1} results:`,{creates:u,updates:g,failures:f,total:m.length})}}const v=h.filter((e=>"created"===e.status)).length,w=h.filter((e=>"updated"===e.status)).length,N=h.filter((e=>"failed"===e.status)).length,k=h.filter((e=>"skipped"===e.status)).length;t&&(console.log("Upload complete:",{totalObjectIds:d.objectIds.length,uploadedFiles:v,updatedFiles:w,skippedFiles:k,failedFiles:N}),await t(d.objectIds));let C="";return v>0&&(C+=`${v} file${1!==v?"s":""} uploaded`),w>0&&(C+=C?", ":"",C+=`${w} file${1!==w?"s":""} updated`),k>0&&(C+=C?", ":"",C+=`${k} file${1!==k?"s":""} skipped (already existed)`),N>0&&(C+=C?", ":"",C+=`${N} file${1!==N?"s":""} failed`),C&&i({status:N>0?"warning":"success",title:C,duration:4e3}),a.search(),d}}!function(e){e.CREATE="create",e.SKIP="skip",e.UPDATE="update"}(Er||(Er={}));const zr=[{name:"ID",field:"id",type:"string?slice=-7"},{name:"Name",field:".",type:"objectLink"},{name:"Type",field:"type.name",type:"string"},{name:"Status",field:"status",type:"string"},{name:"Updated At",field:"updated_at",type:"date"}];function Fr({isGridView:t=!1,onUpload:n,collectionId:r,...s}){return n?e(Dr,{...s,onUpload:n,isGridView:t,collectionId:r}):e(Rr,{...s,isGridView:t})}function Dr({isGridView:n,onUpload:s,collectionId:a,skipTypeModal:i=!1,...l}){const[c,d]=o(!1),[m,u]=o([]),[h,p]=o(!1),[g,b]=o(null),[y,x]=o(!1),v=Pr(),w=f(),{checkDocumentProcessing:N}=Ar(),k=async(e,t)=>{console.log("Files dropped on ObjectTable:",e.length,t),d(!0);try{if(a){const t=await N(e,null,a);b(t);const n=t.filter((e=>"create"===e.action)).length,r=t.filter((e=>"update"===e.action)).length,s=t.filter((e=>"skip"===e.action)).length;w({title:"Files ready to process",description:`${e.length} file(s): ${n} new, ${r} to update, ${s} to skip`,status:"info",duration:4e3})}else b(null)}catch(e){console.error("Error processing files:",e),w({title:"Error processing files",description:"There was an error checking for duplicate files",status:"error",duration:4e3}),b(null)}finally{if(d(!1),u(e),p(!1),i){console.log("Skipping type modal and calling onUpload directly",{filesLength:e.length,processedFilesLength:g?.length});const t=s(e,null,a);t&&"object"==typeof t&&(t.processedFiles=g)}else console.log("Setting typeSelectionOpen to true",{filesLength:e.length}),x(!0)}},C=e=>{const t=[...m];u([]),b(null),x(!1),t.length>0&&void 0!==e&&(d(!0),console.log("Starting upload with",{typeId:e,filesCount:t.length,hasProcessingResults:!!g,collectionId:a}),s(t,e,a).finally((()=>{d(!1),v.search()})))},S=e=>{e.preventDefault(),e.stopPropagation(),p(!0)};return t("div",{className:"min-h-[400px] relative",onDragOver:S,onDragEnter:S,onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),e.currentTarget.contains(e.relatedTarget)||p(!1)},onDrop:e=>{if(e.preventDefault(),e.stopPropagation(),p(!1),e.dataTransfer.items){const t=[];for(let n=0;n<e.dataTransfer.items.length;n++){const r=e.dataTransfer.items[n];if("file"===r.kind){const e=r.getAsFile();e&&t.push(e)}}if(t.length>0){const e={count:t.length,message:`Preparing to upload ${t.length} file${1===t.length?"":"s"}...`};k(t,e)}}},children:[e("div",{className:r("bg-white dark:bg-gray-800 opacity-40 absolute inset-0 z-50 flex justify-center items-center",c?"block":"hidden"),children:e(A,{size:"xl"})}),e(Rr,{...l,isGridView:n}),e("div",{className:r("absolute inset-0 pointer-events-none",h?"z-40":"-z-10"),children:e("div",{className:"w-full h-full relative",children:e(Ct,{onDrop:k,message:"Drop files or folders here to upload",className:r("absolute inset-0 bg-white/90 dark:bg-gray-800/90 pointer-events-auto",h?"flex":"hidden"),buttonLabel:"Select Files or Folders",allowFolders:!0})})}),e(Ur,{isOpen:y&&m.length>0,onClose:()=>{u([]),b(null),x(!1),C(void 0)},files:m,collectionId:a,selectedFolder:null,title:"Upload Files",onUploadComplete:e=>{if(e){if(e.failedFiles&&e.failedFiles.length>0&&w({title:"Upload Issues",description:`${e.failedFiles.length} file(s) failed to upload`,status:"warning",duration:5e3}),e.success){const t=e.uploadedFiles.filter((e=>"created"===e.status)).length,n=e.uploadedFiles.filter((e=>"updated"===e.status)).length,r=e.skippedFiles.length;(t>0||n>0)&&w({title:"Upload Complete",description:`${t>0?`${t} created`:""}${t>0&&n>0?", ":""}${n>0?`${n} updated`:""}${r>0?`, ${r} skipped`:""}`,status:"success",duration:5e3})}v.search()}u([]),b(null),x(!1),e&&e.success&&e.objectIds.length>0?C(null):C(void 0)}})]})}function Rr({objects:t,layout:n=zr,isLoading:r,onRowClick:s,onSelectionChange:a,isGridView:i}){const o=br(),c=(e,n)=>{if(o){const r=n.nativeEvent.shiftKey;if(n.target.checked){if(o.add(e),r){const n=t.findIndex((t=>t.id===e.id)),r=function(e,t,n){for(let r=t-1;r>=0;r--)if(n.isSelected(e[r].id))return r;return-1}(t,n,o);if(r>-1&&r<n-1){const e=[];for(let s=r+1;s<n;s++)e.push(t[s]);o.addAll(e)}else{const e=function(e,t,n){const r=e.length;for(let s=t+1;s<r;s++)if(n.isSelected(e[s].id))return s;return-1}(t,n,o);if(e>-1&&e>n+1){const r=[];for(let s=n+1;s<e;s++)r.push(t[s]);o.addAll(r)}}}}else o.remove(e.id);a&&a(o)}},d=e=>{if(o){e.target.checked?o.addAll(t):o.removeAll()}},m=l((()=>(n.length>0?n:zr).map((e=>new kr(e)))),[n]);return e(i?Sr:Cr,{objects:t,isLoading:r,columns:m,onRowClick:s,selection:o,toggleAll:d,onSelectionChange:c})}function Mr({children:t,limit:n,parent:r,typeId:s,facets:a,similarTo:i,embeddingType:o,name:c,collectionId:d}){const{store:m}=Ce(),u=l((()=>{let e;a?e=a:(e=[{name:"status",field:"status"},{name:"location",field:"location"}],s||e.unshift({name:"type",field:"type"}));const t=new _r(m,n).withFacets(e);return t.collectionId=d,t.query.type=s,t.query.parent=r,t.query.similarTo=i,t.query.embeddingType=o,t.query.name=c,t}),[s,n]);return e(jr.Provider,{value:u,children:t})}const Vr=[{name:"Name",field:"properties.title",type:"string",fallback:"name"},{name:"Type",field:"type.name",type:"string"},{name:"Status",field:"status",type:"string"},{name:"Created At",field:"created_at",type:"date"}];function qr({onChange:t}){return e(Mr,{children:e(Br,{onRowClick:e=>{t(e||void 0)}})})}const Wr="vertesia.content_store.lastDisplayedView";function Br({onRowClick:n}){const[r,s]=o(!1),[a,i]=o("grid"===localStorage.getItem(Wr)),{search:l,isLoading:d,error:m,objects:h}=Ir(),p=u(null);K(p,(()=>{r&&l.loadMore(!0)}),{deps:[r]}),c((()=>{l.search().then((()=>s(!0)))}),[]);const g=Tr(),f=Pr();return m?e(Q,{title:"Search failed",children:m.message}):t("div",{children:[t("div",{className:"flex justify-between items-center mb-4",children:[e(hr,{facets:g,search:f,textSearch:"Filter content"}),t("div",{className:"flex items-center gap-2",children:[e(y,{variant:"outline",onClick:()=>{s(!1),l.search().then((()=>s(!0)))},alt:"Refresh",children:e(Xe,{size:16})}),e(Nn,{onUpdate:i})]})]}),e(Fr,{objects:h||[],isLoading:!1,layout:Vr,onRowClick:n,isGridView:a}),e("div",{ref:p,className:"mt-10"}),d&&e("div",{className:"flex justify-center",children:e(A,{size:"xl"})})]})}function Jr({isOpen:n,onClose:r}){return t(Y,{onClose:()=>r(),isOpen:!!n,className:"min-w-[60vw]",children:[e(X,{children:"Select Content"}),e(Z,{className:"pt-0 overflow-y-auto max-h-[80vh] min-h-[80vh]",children:n&&e(qr,{onChange:r})})]})}const Hr=/store:([a-f0-9]+)/;function Gr({object:n}){const{client:s}=Ce(),{off:a,on:i,isOn:l}=ee(),[d,m]=o(null!=n.value?String(n.value):""),[u,h]=o(void 0),p=()=>{m(""),n.value="",h(void 0)};return c((()=>{if(!d||u)return;const e=d.match(Hr);e&&s.objects.get(e[1]).then((e=>{h(e)})).catch((()=>{p()}))}),[d]),t("div",{children:[t("div",{className:"relative",children:[e("input",{value:d,onChange:e=>{const t=e.target.value;m(t),n.value=t},className:r(te.INPUT,"pr-10 w-full")}),u&&e("div",{className:"absolute inset-y-0 right-10 flex items-center justify-center ",children:e(y,{onClick:p,variant:"unstyled",className:"hover:text-red-500 hover:bg-gray-100 dark:hover:bg-gray-600",children:e(Se,{className:"size-5"})})}),e("div",{className:"absolute inset-y-0 right-0 flex items-center justify-center",children:e(y,{onClick:i,variant:"unstyled",className:"hover:bg-gray-100 dark:hover:bg-gray-600",children:e(Ze,{className:"size-5"})})}),e(Jr,{value:d,isOpen:l,onClose:e=>{if(e){const t="store:"+e.id;m(t),h(e||void 0),n.value=t}a()}})]}),u&&e("div",{className:"p-1 semibold text-sm text-gray-600 dark:text-slate-300",children:u.properties?.title||u.name})]})}function Kr(e,t,n){return()=>{n&&e.files.getDownloadUrl(n).then((e=>{window.open(e.url,"_blank")})).catch((e=>{t({status:"error",title:"Failed to get download URL",description:e.message,duration:5e3})}))}}function Qr({objectId:n,isOpen:r,onClose:s}){const a=yt(),{client:i,store:l}=Ce(),[d,m]=o(null),[u,h]=o(!1),[p,g]=o(!1),[b,x]=o(),[v,w]=o(),[N,k]=o("preview"),C=f();c((()=>{n&&r?(h(!0),l.objects.retrieve(n,"+embeddings").then((e=>{m(e),e.text?x(e.text):S(e.id);const t=e.content;t&&t.source&&t.type&&t.type.startsWith("image/")&&_(e)})).catch((e=>{console.error("Error loading object:",e),C({title:"Error",description:"Failed to load document",status:"error",duration:3e3})})).finally((()=>{h(!1)}))):(m(null),x(void 0),w(void 0))}),[n,r,l.objects]);const S=async e=>{g(!0);try{const t=await l.objects.getObjectText(e);x(t.text)}catch(e){console.error("Error loading text:",e)}finally{g(!1)}},_=async e=>{try{"found"===(await i.objects.getRendition(e.id,{max_hw:1024,format:xe.jpeg,generate_if_missing:!1})).status&&console.log("Found rendition");const t=await i.files.getDownloadUrl(e.content.source);w(t.url)}catch(e){console.error("Error loading image:",e)}},j=()=>{d&&(a(`/legal/objects/${d.id}`),s())},P=b&&(b.startsWith("#")||b.includes("\n#")||b.includes("\n*")),T=d?.content?.type&&d.content.type.startsWith("image/"),I="application/pdf"===d?.content?.type;return r?t("div",{className:"fixed inset-y-0 right-0 w-2/5 dark:bg-slate-900 shadow-xl z-50 flex flex-col transition-transform duration-300 transform "+(r?"translate-x-0":"translate-x-full"),children:[t("div",{className:"flex items-center justify-between px-4 py-3 border-b dark:border-gray-700 bg-gradient-to-r from-indigo-50 to-gray-50 dark:from-gray-800 dark:to-gray-900",children:[t("div",{className:"flex items-center",children:[e(et,{className:"h-5 w-5 text-indigo-600 mr-2"}),e("h2",{className:"text-lg font-semibold text-gray-800 dark:text-gray-200 truncate",children:u?"Loading document...":d?.name||"Document Preview"})]}),t("div",{className:"flex items-center space-x-2",children:[t(y,{variant:"ghost",size:"sm",onClick:j,className:"flex items-center gap-1 text-indigo-600 hover:text-indigo-800",children:[e(tt,{className:"h-4 w-4"}),e("span",{children:"Full View"})]}),e(y,{variant:"ghost",size:"sm",onClick:s,className:"flex items-center text-gray-600 hover:text-gray-800 dark:text-gray-300 dark:hover:text-gray-100",children:e(Se,{className:"h-5 w-5"})})]})]}),u?e("div",{className:"flex-1 flex items-center justify-center",children:t("div",{className:"text-center",children:[e(A,{size:"lg",className:"text-indigo-600 dark:text-indigo-400 mb-2"}),e("p",{className:"text-gray-600 dark:text-gray-400",children:"Loading document..."})]})}):t("div",{className:"flex-1 flex flex-col h-full",children:[e("div",{className:"border-b",children:t("div",{className:"flex px-4",children:[e("button",{className:"py-2 px-4 font-medium border-b-2 "+("preview"===N?"border-indigo-600 text-indigo-700 dark:text-indigo-300":"border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"),onClick:()=>k("preview"),children:t("div",{className:"flex items-center gap-1",children:[e(Me,{className:"h-4 w-4"}),e("span",{children:"Preview"})]})}),e("button",{className:"py-2 px-4 font-medium border-b-2 "+("properties"===N?"border-indigo-600 text-indigo-700 dark:text-indigo-300":"border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"),onClick:()=>k("properties"),children:t("div",{className:"flex items-center gap-1",children:[e(Le,{className:"h-4 w-4"}),e("span",{children:"Properties"})]})})]})}),t("div",{className:"flex-1 overflow-auto p-4",children:["preview"===N&&t("div",{className:"h-full",children:[p?e("div",{className:"flex items-center justify-center h-40",children:e(A,{size:"md",className:"text-indigo-600 dark:text-indigo-400"})}):b?e("div",{className:"shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:P?e("div",{className:"prose prose-sm max-w-none prose-p:my-2 prose-pre:bg-gray-800 prose-pre:my-2 prose-headings:text-indigo-700 dark:prose-invert dark:prose-headings:text-indigo-300",children:e(vt,{remarkPlugins:[wt],children:b})}):e("pre",{className:"text-wrap whitespace-pre-wrap dark:text-gray-200",children:b})}):null,T&&e("div",{className:"mt-4",children:e("div",v?{className:"border border-gray-200 dark:border-gray-700 rounded-md p-2 bg-white dark:bg-gray-800",children:e("img",{src:v,alt:d?.name,className:"mx-auto max-h-[70vh] object-contain"})}:{className:"flex items-center justify-center h-40",children:e(A,{size:"md",className:"text-indigo-600 dark:text-indigo-400"})})}),I&&t("div",{className:"flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800",children:[e(et,{className:"h-16 w-16 text-indigo-300 dark:text-indigo-400 mb-4"}),t("p",{className:"text-gray-600 dark:text-gray-400 text-center mb-4",children:["PDF document preview is available in full view. TODO"," "]}),e(y,{onClick:j,className:"bg-indigo-600 hover:bg-indigo-700 text-white",children:"Open Full Document View"})]}),!T&&!b&&!I&&!p&&t("div",{className:"flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800",children:[e(et,{className:"h-16 w-16 text-gray-300 dark:text-gray-600 mb-4"}),e("p",{className:"text-gray-600 dark:text-gray-400 text-center",children:"No preview available for this document type."})]})]}),"properties"===N&&d&&t("div",{className:"h-full",children:[d.properties?e("div",{className:"shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:e(kt,{value:d.properties})}):t("div",{className:"flex flex-col items-center justify-center h-64 border border-gray-200 dark:border-gray-700 rounded-md p-4 bg-gray-50 dark:bg-gray-800",children:[e(Le,{className:"h-16 w-16 text-gray-300 dark:text-gray-600 mb-4"}),e("p",{className:"text-gray-600 dark:text-gray-400 text-center",children:"No properties available for this document."})]}),t("div",{className:"mt-4",children:[e("h3",{className:"text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2",children:"Document Information"}),e("div",{className:"shadow rounded-md p-4 border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800",children:t("div",{className:"grid grid-cols-2 gap-y-2 gap-x-4 text-sm",children:[e("div",{className:"text-gray-500 dark:text-gray-400",children:"ID"}),e("div",{className:"font-medium dark:text-gray-200",children:d.id}),e("div",{className:"text-gray-500 dark:text-gray-400",children:"Type"}),e("div",{className:"font-medium dark:text-gray-200",children:d.type?.name||"Unknown"}),e("div",{className:"text-gray-500 dark:text-gray-400",children:"Content Type"}),e("div",{className:"font-medium dark:text-gray-200",children:d.content?.type||"N/A"}),e("div",{className:"text-gray-500",children:"Size"}),e("div",{className:"font-medium",children:d.content&&"size"in d.content?Yr(d.content.size):"Unknown"}),e("div",{className:"text-gray-500",children:"Created"}),e("div",{className:"font-medium",children:d.created_at?new Date(d.created_at).toLocaleString():"N/A"}),e("div",{className:"text-gray-500",children:"Updated"}),e("div",{className:"font-medium",children:d.updated_at?new Date(d.updated_at).toLocaleString():"N/A"})]})})]})]})]})]}),t("div",{className:"flex items-center justify-between p-4 border-t bg-gray-50 dark:bg-gray-800 dark:border-gray-700",children:[e("div",{children:d?.content?.source&&t(y,{onClick:()=>{d?.content?.source&&i.files.getDownloadUrl(d.content.source).then((e=>{window.open(e.url,"_blank")})).catch((e=>{console.error("Error getting download URL:",e),C({title:"Error",description:"Failed to download file",status:"error",duration:3e3})}))},variant:"outline",className:"text-indigo-600 border-indigo-300 hover:bg-indigo-50",children:[e(We,{className:"h-4 w-4 mr-2"}),"Download"]})}),t(y,{onClick:j,className:"bg-indigo-600 hover:bg-indigo-700 text-white",children:["Open Full Document",e(nt,{className:"h-4 w-4 ml-2"})]})]})]}):null}function Yr(e){if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB","TB"][t]}function Xr({onChange:n,isLoading:r,refresh:s}){const{client:a,project:i}=Ce(),l=f(),[d,m]=o(void 0),[u,h]=o(void 0),[p,g]=o(void 0),b=!(!i||!p?.embeddings.text&&!p?.embeddings.image),[x,v]=o(void 0);c((()=>{m(void 0),h(void 0),v(void 0)}),[s]),c((()=>{i&&a.projects.retrieve(i.id).then((e=>{g(e.configuration)}))}),[i]),c((()=>{x&&l({title:x,status:"success",duration:2e3})}),[x]),c((()=>{d&&0!==d.length||n(void 0)}),[d]);const w=async()=>{if(!b||!d||!p?.embeddings.text)return;v("Generating text embeddings...");return{values:(await a.environments.embeddings(p.embeddings.text?.environment,{model:p.embeddings.text?.model,text:d})).values,type:ke.text}},N=async()=>{if(!b||!d||!p?.embeddings.image)return;v("Generating image embeddings...");return{values:(await a.environments.embeddings(p.embeddings.image?.environment,{model:p.embeddings.image?.model,image:u})).values,type:ke.image}},k=(e="text")=>{("text"===e?w:N)().then((e=>{v("Embeddings generated"),e&&(n(e),v("Searching..."))}))};return t("div",{className:"flex gap-1 items-center w-full",children:[e($,{placeholder:"Type what you are looking for",value:d,onChange:m,onKeyDown:e=>{"Enter"===e.key&&k("text")}}),e(y,{variant:"secondary",isLoading:r,onClick:()=>k("text"),isDisabled:!b,alt:"semantic search",children:"Search"})]})}const Zr=[{name:"ID",field:"id",type:"string?slice=-7"},{name:"Name",field:".",type:"objectLink"},{name:"Type",field:"type.name",type:"string"},{name:"Status",field:"status",type:"string"},{name:"Updated At",field:"updated_at",type:"date"}];function es({onUploadDone:t=async()=>{},layout:n}){const r=Pr(),s=f(),a=Or((async e=>{await t(e),setTimeout((()=>{console.log("Delayed refresh after upload to ensure backend consistency"),r.search().then((()=>{s({title:"Document list refreshed",description:"The document list has been updated with your uploaded files.",status:"info",duration:3e3})})).catch((e=>{console.error("Failed to refresh search results:",e)}))}),1e3)}));return e(ts,{layout:n,onUpload:(e,t)=>{const n=r.collectionId;return a(e,t,n)}})}function ts({layout:n,onUpload:r,allowFilter:s=!0,allowSearch:a=!0}){const i=Pr(),[l,d]=o(!1),[m,h]=o(null),{typeRegistry:p}=Ce(),{search:g,isLoading:f,error:b,objects:x}=Ir(),[v,w]=o(void 0),[N,k]=o(p?n||(C=p,((S=g.query.type)?C.getTypeLayout(S):Zr)??Zr):Zr);var C,S;const[_,j]=o(0),[P,T]=o(0),[I,$]=o("grid"===localStorage.getItem(Nn.LAST_DISPLAYED_VIEW)),E=u(null);K(E,(()=>{l&&x.length>0&&x.length!=P&&(d(!1),g.loadMore().finally((()=>{T(x.length),d(!0)})))}),{deps:[l,x.length]}),c((()=>{g.search().then((()=>d(!0)))}),[]);const[L,U]=o(""),O=ne(L,500);c((()=>{g.query.name=L,g.search().then((()=>d(!0)))}),[O]),c((()=>{if(v){if(g.query.vector=v,!N.find((e=>"Vector Similarity"===e.name))){const e=[...N,{name:"Vector Similarity",field:"score"}];k(e)}g.search().then((()=>d(!0)))}else delete g.query.vector,g.search().then((()=>d(!0)))}),[v?.values]);const z=Tr(),F=Pr();return t("div",{className:"flex flex-col gap-y-2",children:[e(ns,{object:m,onClose:()=>h(null)}),b&&e(Q,{title:"Error",children:b.message}),t("div",{className:"flex flex-row gap-4 items-center justify-between w-full",children:[a&&e(Xr,{onChange:w,isLoading:f,refresh:_}),t("div",{className:"flex gap-1 items-center",children:[e(y,{variant:"outline",onClick:()=>{g.search().then((()=>d(!0)))},alt:"Refresh",children:e(Xe,{size:16})}),e(Nn,{onUpdate:$})]})]}),s&&e(hr,{facets:z,search:F,textSearch:"Name or ID"}),e(Fr,{objects:x,isLoading:!x.length&&f,layout:N,onRowClick:h,onUpload:r,isGridView:I,collectionId:i.collectionId}),f&&e("div",{className:"flex justify-center",children:e(A,{size:"xl"})}),e("div",{ref:E})]})}function ns({object:n,onClose:r}){const{store:s}=Ce(),a=f(),i=yt(),l=Kr(s,a,n?.content?.source);return n?t(re,{title:n.properties?.title||n.name,isOpen:!0,onClose:r,children:[t("div",{className:"flex items-center gap-x-2",children:[e(y,{variant:"ghost",size:"sm",title:"Open Object",onClick:()=>i(`/objects/${n.id}`),children:e(Be,{className:"size-4"})}),n.content?.source&&e(y,{variant:"ghost",size:"sm",title:"Download",onClick:l,children:e(We,{className:"size-4"})})]}),e(se,{className:"my-2"}),e("div",{className:"pt-2",children:e(_n,{object:n,loadText:!0})})]}):null}var rs;function ss({isExporting:n,isOpen:r,onClose:s}){return t(_,{onClose:()=>s(void 0),isOpen:r,className:"relative overflow-visible",children:[e(j,{children:"Export Object Properties"}),!n&&e(as,{onClose:s}),n&&e(is,{})]})}function as({onClose:n}){const[r,s]=o(void 0),[a,i]=o(void 0),l=["Export selected objects","Export all objects"];return t(P,{className:"min-h-[104px] pt-0 flex flex-col gap-y-4",children:[e("div",{className:"h-1/3",children:e(R,{options:l,value:a,onChange:i,placeholder:"Choose what to export",className:"h-full w-full text-sm",filterBy:"name",isClearable:!0})}),t("div",{className:"h-1/2 flex flex-col gap-y-8 content-between",children:[e(R,{options:Object.values(rs),value:r,onChange:s,placeholder:"Choose a format",className:"h-full w-full text-sm",filterBy:"name",isClearable:!0}),e(y,{className:"w-full",isDisabled:!r||!a,onClick:()=>{n(r,a==l[1])},children:"Export Properties"})]})]})}function is({}){return e(P,{className:"min-h-[84px] pt-0",children:t("div",{className:"h-full grid flex-col gap-y-2 content-between justify-items-center",children:[t("div",{className:"text-sm flex flex-col gap-x-2",children:[e("p",{children:"EXPORT IS IN PROGRESS"}),e("p",{className:"pt-2 grid justify-items-center",children:"PLEASE WAIT"})]}),e(A,{size:"lg"})]})})}function ls({collection:t}){const n=f(),{client:r,typeRegistry:s}=Ce(),a=function(e,t){let n=e.table_layout;if(n&&n.length>0)return n;e.type&&t&&(n=t?.getTypeLayout(e.type.id));return n&&n.length>0?n:void 0}(t,s);return t.dynamic?e(ts,{layout:a}):e(es,{onUploadDone:async e=>{e.length>0&&await r.store.collections.addMembers(t.id,e).catch((e=>{n({title:"Failed to add objects to collection",description:e.message,status:"error"})}))},layout:a})}!function(e){e.CSV="CSV",e.JSON="JSON"}(rs||(rs={}));const os=n=>null===n?"None":t("div",{children:[e("div",{className:"text-sm",children:n.name}),e("div",{className:"text-xs text-gray-500",children:n.description})]});function cs({className:t,defaultValue:n,onChange:r,isClearable:s,multiple:a}){const i=Ce(),[l,d]=o(!1),[m,u]=o(),[h,p]=o([]);c((()=>{if(!l&&(d(!0),i.typeRegistry&&n)){if(a&&Array.isArray(n)){const e=i.typeRegistry.types.filter((e=>n.includes(e.id)));p(e)}const e=i.typeRegistry.types.find((e=>e.id===n));e&&u(e)}}),[i.typeRegistry,n,a]);const g=e=>{p(e),r(e)};return e("div",a?{className:"flex flex-col gap-4 content-between",children:e(ae,{options:i.typeRegistry?.types||[],value:h,onChange:g,placeholder:"Choose Content Types...",optionLabel:os,className:t||"text-sm bg-background",filterBy:"name",isClearable:s||!1,multiple:!0})}:{className:"flex flex-col gap-4 content-between",children:e(ae,{options:i.typeRegistry?.types||[],value:m,onChange:e=>{u(e||void 0),r(e)},placeholder:"Choose a Content Type...",optionLabel:os,className:t||"text-sm bg-background",filterBy:"name",isClearable:s||!1})})}function ds({onClose:n,redirect:r=!0,onAddToCollection:s}){const a=yt(),i=f(),[l,c]=o(!1),{client:d}=Ce(),[m,u]=o({dynamic:!1,name:"",description:""});function h(e,t){u({...m,[e]:t})}return t("form",{children:[t(Z,{children:[e(I,{label:"Name",required:!0,children:e($,{type:"text",value:m.name||"",onChange:e=>h("name",e)})}),e(I,{label:"Description",className:"mt-2",children:e("textarea",{className:te.INPUT,value:m.description||"",onChange:e=>h("description",e.target.value)})}),e(I,{label:"Dynamic Collection",className:"mt-2",direction:"row",description:"Dynamic Collection is based on a query vs. users manully adding content.",children:e(ie,{value:m.dynamic||!1,onChange:e=>h("dynamic",e)})}),e(I,{label:"Type",className:"mt-2",description:"This is optional and drives what properties are used to describe a collection",children:e(cs,{defaultValue:m.type||null,onChange:e=>{Array.isArray(e)?h("type",e.length>0?e[0].id:null):h("type",e?.id||null)},isClearable:!0})}),e(I,{label:"Allowed Content Types",className:"mt-4",children:e(cs,{defaultValue:m.allowed_types||null,onChange:e=>{Array.isArray(e)?h("allowed_types",e.map((e=>e.id))):h("allowed_types",e?[e.id]:[])},isClearable:!0,multiple:!0})})]}),e(le,{children:e(y,{isDisabled:l,onClick:()=>{m?.name&&m.name.trim()?(m.name=m.name.trim(),m.description&&(m.description=m.description.trim()),null==m.dynamic&&(m.dynamic=!1),c(!0),d.store.collections.create(m).then((e=>{n(),i({title:"Collection created",description:`Collection "${e.name}" created successfully`,status:"success",duration:3e3}),r&&a(`/collections/${e.id}`),s&&s(e.id)})).catch((e=>{i({title:"Failed to create collection",description:e.message,status:"error",duration:5e3})})).finally((()=>c(!1)))):i({title:"Name is required",description:"Please provide a name for the collection",status:"error",duration:5e3})},children:"Create Collection"})})]})}function ms({isOpen:n,onClose:r}){return t(Y,{onClose:r,isOpen:n,children:[e(X,{children:"Create a Collection"}),e(ds,{onClose:r})]})}function us({}){const{client:r}=Ce(),s=f(),[a,i]=o(),[l,d]=o(!0),[m,u]=o(!1),{data:h,error:p,refetch:g}=V((()=>r.store.collections.list()),[]);if(c((()=>{(h||p)&&d(!1)}),[h,p]),p)return e(Q,{title:"Collections fetch failed",children:p.message});return t(n,{children:[h&&(h.length>0?t(W,{className:"w-full",children:[e("thead",{children:t("tr",{children:[e("th",{children:"Name"}),e("th",{children:"Type"}),e("th",{children:"Created"}),e("th",{})]})}),e(J,{columns:4,isLoading:l,children:h.map((n=>t(oe,{children:[e("td",{children:t("div",{className:"flex items-center gap-2",children:[hs(n.dynamic),e(bt,{href:`/collections/${n.id}`,children:n.name})]})}),e("td",{children:n.type?.name||"-"}),e("td",{children:xt(n.created_at).fromNow()}),e("td",{className:"text-right",children:e(y,{variant:"destructive",size:"sm",onClick:()=>i(n.id),children:e(rt,{className:"size-4"})})})]},n.id)))})]}):e(ce,{title:"No Collections",buttonLabel:"New Collections",onClick:()=>u(!0),children:"Get started by creating a new Collections."})),e(ms,{isOpen:m,onClose:()=>u(!1)}),e(de,{isOpen:!!a,title:"Delete Collection",content:"Are you sure you want to delete this collection? This action cannot be undone.",onConfirm:async()=>{if(a)try{await r.store.collections.delete(a),s({title:"Collection deleted",status:"success",duration:3e3}),g()}catch(e){console.error("Failed to delete collection:",e),s({title:"Failed to delete collection",description:e.message||"An error occurred",status:"error",duration:5e3})}finally{i(void 0)}},onCancel:()=>i(void 0)})]})}function hs(t){const n=t?"Dynamic Collection":"Static Collection",r=e(t?st:at,{className:"size-5"});return e(D,{description:n,className:"mr-2",children:r})}function ps({objects:n,isLoading:r}){const s=yt();return e("div",{children:t(W,{className:"w-full",children:[e("thead",{children:t("tr",{children:[e("th",{children:"Name"}),e("th",{children:"Strict Mode"}),e("th",{children:"Semantic Chunking"}),e("th",{children:"Updated At"})]})}),e(J,{isLoading:r,columns:3,children:n?.map((n=>t("tr",{onClick:()=>s(`/types/${n.id}`),className:"cursor-pointer hover:bg-muted",children:[e("td",{children:n.name}),e("td",{children:n.strict_mode?"Yes":"No"}),e("td",{children:n.is_chunkable?"Yes":"No"}),e("td",{children:xt(n.updated_at).fromNow()})]},n.id)))})]})})}xt.extend(Ot),xt.extend(Ot);class gs{client;limit;result=new H({objects:[],isLoading:!1});query={};constructor(e,t=100){this.client=e,this.limit=t}get objects(){return this.result.value.objects}get error(){return this.result.value.error}get isRunning(){return this.result.value.isLoading}getFilterValue(e){return this.query[e]}setFilterValue(e,t){this.query[e]=t,this.search()}reset(e=!1){this.result.value={objects:[],isLoading:e}}_updateRunningState(e){const t=this.result.value;this.result.value={objects:t.objects,isLoading:e,error:t.error}}async _search(e=!1){if(this.isRunning)return Promise.resolve(!1);this.result.value={isLoading:!0,objects:e?this.objects:[]};const t=this.limit,n=this.objects.length;return this.client.types.list({limit:t,offset:n,query:this.query}).then((async e=>(this.result.value={isLoading:!1,objects:this.objects.concat(e)},!0))).catch((e=>{throw this.result.value={error:e,isLoading:!1,objects:this.objects},e}))}search(){return this.isRunning?Promise.resolve(!1):this._search(!1)}loadMore(){return this.isRunning?Promise.resolve(!1):this._search(!0)}}const fs=d(void 0);function bs(){return m(fs)}function ys(){const e=bs();return{...G(e.result),search:e}}function xs(){return bs().objects.length}function vs({title:n,isOpen:r,onClose:s,okLabel:a,initialPayload:i}){const l=f(),[c,d]=o(i?.name),[m,u]=o(i?.description),[h,p]=o(i?.strict_mode??!1);return t(_,{isOpen:r,onClose:()=>s(),children:[e(j,{children:n}),e(P,{className:"pt-0",children:t("div",{className:"h-full flex flex-col gap-4 content-between",children:[t("div",{children:[e("label",{className:"block text-sm font-medium text-muted",children:"Name"}),e($,{value:c,onChange:d})]}),t("div",{children:[e("label",{className:"block text-sm font-medium text-muted",children:"Description"}),e(me,{value:m,onChange:u})]})]})}),e(E,{children:t("div",{className:"flex justify-end gap-4",children:[e(y,{variant:"secondary",onClick:()=>s(),children:"Cancel"}),e(y,{variant:"primary",onClick:()=>(()=>{if(!c)return void l({status:"error",title:"Name is required",duration:5e3});s({name:c,description:m,strict_mode:h}).then((()=>s())),d(void 0),u(void 0),p(!1)})(),children:a})]})})]})}var ws;function Ns({isDirty:n=!1}){const r=Ce(),{store:s}=r,a=f(),[i,l]=o(!1),{search:d,isLoading:m,error:h,objects:p}=ys(),[g,b]=o(""),y=ne(g,500),x=u(null);K(x,(()=>{i&&d.loadMore()}),{deps:[i]}),c((()=>{d.search().then((()=>l(!0)))}),[]),c((()=>{d.query.name=g,d.search().then((()=>l(!0)))}),[y]);const[v,w]=o(void 0);c((()=>{d.query.chunkable=v?"Yes"==v:void 0,d.search().then((()=>l(!0)))}),[v]),c((()=>{n&&i&&d.search().then((()=>l(!0)))}),[n]);const[N,k]=o(!1);if(h)return e(Q,{title:"Failed to fetch ObjectTypes",children:h.message});return t("div",{className:"flex flex-col gap-4 h-full",children:[t("div",{className:"flex gap-4",children:[e($,{placeholder:"Filter by Name",value:g,onChange:b}),e(R,{className:"w-60",isClearable:!0,options:Object.values(ws),value:v,onChange:e=>{w(e)},placeholder:"Is Chunkable"})]}),t("div",{className:"flex-1",children:[m||0!==p?.length?e(ps,{objects:p,isLoading:m}):e(ce,{title:"No Type",buttonLabel:"Create Type",onClick:()=>{k(!0)},children:"Get started by creating a new Type."}),e(vs,{okLabel:"Create",title:"Create Type",isOpen:N,onClose:async e=>e?s.types.create(e).then((async()=>{a({status:"success",title:"Type created",duration:2e3}),r.reloadTypes(),d.search().then((()=>l(!0)))})).catch((e=>{a({status:"error",title:"Error creating type",description:e.message,duration:5e3})})):(k(!1),Promise.resolve())})]})]})}!function(e){e.true="Yes",e.false="No"}(ws||(ws={}));const ks=[Dt,Ft()];function Cs({objectType:n,onSchemaUpdate:r}){const{store:s}=Ce(),a=f(),[i,c]=o(!1),d=_t(n.object_schema),m=u(void 0),[h,p]=o(!1),g=l((()=>function(e){if(!e)return"";return JSON.stringify(e,null,2)}(d.schema)),[d]),b=()=>{if(m.current){const e=m.current.getValue();try{const t=function(e){if(!e?.trim())return;return JSON.parse(e.trim())}(e);d.replaceSchema(t)}catch(e){return a({status:"error",title:"Invalid JSON Schema",description:e.message,duration:5e3}),!1}}return!0};return t("div",{className:"mx-2 my-2 rounded-2xl border border-solid shadow-md border-spacing-2",children:[t("div",{className:"flex items-center rounded-t-md border-b gap-x-2 py-2 pl-4 pr-2",children:[e("div",{className:"text-base font-semibold",children:"Schema Editor"}),e("div",{children:e(y,{variant:"outline",size:"sm",onClick:()=>{h&&!b()||p((e=>!e))},children:h?"Edit Schema":"Edit Json"})}),e("div",{className:"ml-auto flex gap-x-2",children:e(y,{isLoading:i,variant:"outline",size:"sm",onClick:()=>{h&&!b()||(c(!0),s.types.update(n.id,{object_schema:d.schema}).then((()=>{r(d),a({status:"success",title:"Schema updated",description:"The schema has been updated successfully",duration:2e3})})).catch((e=>{a({status:"error",title:"Failed to update schema",description:e.message,duration:5e3})})).finally((()=>{c(!1)})))},children:"Save Changes"})})]}),e("div",{className:"px-4 py-2",children:h?e(jt,{value:g,extensions:ks,editorRef:m}):e(Pt,{schema:d})})]})}function Ss({children:t,limit:n,name:r,chunkable:s}){const{store:a}=Ce(),i=l((()=>{const e=new gs(a,n);return e.query.name=r,e.query.chunkable=s,e}),[n]);return e(fs.Provider,{value:i,children:t})}function _s({isOpen:n,onClose:r,title:s="Select Content Type",children:a,initialSelectedType:i=null,confirmLabel:l="Select Type",allowNone:c=!0}){const{typeRegistry:d}=Ce(),[m,u]=o(i),h=d?.types||[],p=()=>{r(void 0)};return t(_,{isOpen:n,onClose:p,className:"w-full max-w-xl mx-auto",children:[e(j,{children:s}),t(P,{className:"p-6",children:[a,t("div",{className:"mb-4 mt-4",children:[t("label",{className:"block text-sm font-medium mb-2",children:["Content Type ",c&&e("span",{className:"text-gray-500 font-normal",children:"(Optional)"})]}),e(R,c?{options:h,value:m,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type or leave empty for automatic detection",onChange:e=>u(e||null),filterBy:"name",isClearable:!0}:{options:h,value:m,optionLabel:e=>e?e.name:"Select a content type",placeholder:"Select a content type",onChange:e=>u(e||null),filterBy:"name"}),c&&t("div",{className:"mt-2 text-sm text-blue-600 flex items-center",children:[e(Je,{className:"h-4 w-4 mr-1"}),t("span",{children:[e("strong",{children:"Type selection is optional."})," Leave empty to let Vertesia choose the appropriate type"]})]})]}),m?t("div",{className:"text-sm text-gray-500 bg-gray-50 p-3 rounded-md mb-4",children:[e("div",{className:"font-medium",children:m.name}),m.description&&e("div",{className:"mt-1",children:m.description})]}):c&&t("div",{className:"text-sm text-blue-600 bg-blue-50 p-3 rounded-md mb-4",children:[e("div",{className:"font-medium",children:"Automatic Type Detection"}),t("div",{className:"mt-1",children:["Vertesia will analyze each file's content and automatically select the most appropriate type.",e("br",{}),e("span",{className:"mt-1 block font-medium",children:"This is recommended for most uploads."})]})]})]}),t(E,{children:[e(y,{variant:"ghost",onClick:p,children:"Cancel"}),e(y,{onClick:()=>{r(m?.id??null)},children:m?`${l}: ${m.name}`:c?"Let Vertesia Choose":l})]})]})}const js=[Dt,Ft()];function Ps({objectType:n,onLayoutUpdate:r}){const s=f(),[a,i]=o(!1),{store:c}=Ce(),d=u(void 0),m=l((()=>Ts(n.table_layout)),[n.table_layout]),h=(e,t)=>{s({status:"error",title:e,description:t,duration:5e3})};return t("div",{className:"mx-2 my-2 rounded-2xl border border-solid shadow-xs",children:[t("div",{className:"flex items-center rounded-t-md border-b gap-x-2 py-2 pl-4 pr-2",children:[e("div",{className:"text-base font-semibold ",children:"Table Layout Editor"}),e("div",{className:"ml-auto flex gap-x-2",children:e(y,{isLoading:a,variant:"outline",size:"sm",onClick:()=>{if(!d.current)return;const e=d.current.getValue();let t;if(e)try{t=JSON.parse(e)}catch(e){return h("Invalid JSON",e.message)}else t=null;return Array.isArray(t)?t.some((e=>!e||!e.name||!e.field))?h("Invalid JSON","A table layout entry must contain the following properties:] {field, name, converter?}"):(i(!0),void c.types.update(n.id,{table_layout:t}).then((e=>{s({status:"success",title:"Table Layout updated",description:"The table layout has been updated successfully",duration:2e3}),r(e.table_layout)})).catch((e=>{s({status:"error",title:"Failed to update table layout",description:e.message,duration:5e3})})).finally((()=>{i(!1)}))):h("Invalid JSON","The table layout must be an array")},children:"Save Changes"})})]}),e("div",{className:"px-4 py-2",children:e(jt,{value:m,extensions:js,editorRef:d})})]})}function Ts(e){return e?JSON.stringify(e,null,2):"[\n\n]"}const Is=[Dt,Ft()];function $s({refetch:n,collection:r}){const s=r.type?.id,a=u(void 0),i=f(),{client:c}=Ce(),[d,m]=o(!1),[h,p]=o({name:r.name,description:r.description||"",query:r.query?JSON.stringify(r.query,null,2):"",tags:r.tags||[],type:r.type?.id||"",allowed_types:r.allowed_types||[]}),g=l((()=>Ts(r.table_layout)),[r.table_layout]),b=(e,t)=>{p({...h,[e]:t})};return t("div",{className:"flex flex-col gap-4 py-2",children:[e(I,{label:"Name",required:!0,children:e($,{value:h.name,onChange:e=>b("name",e)})}),e(I,{label:"Description",children:e("textarea",{className:te.INPUT,value:h.description,onChange:e=>b("description",e.target.value)})}),r.dynamic&&e(I,{label:"Query",description:"Define the query to fetch dynamic content for this collection.",children:e("textarea",{className:te.INPUT,value:h.query,onChange:e=>b("query",e.target.value)})}),e(I,{label:"Table Layout",description:"Define how the collection should be displayed in tables.",children:e(jt,{className:"border-1 rounded-md border-border",value:g,extensions:Is,editorRef:a})}),e(I,{label:"Type",children:e(cs,{defaultValue:h.type||null,onChange:e=>{Array.isArray(e)?b("type",e.length>0?e[0].id:null):b("type",e?.id||null)},isClearable:!0})}),e(I,{label:"Allowed Content Types",children:e(cs,{defaultValue:h.allowed_types||null,onChange:e=>{Array.isArray(e)?b("allowed_types",e.map((e=>e.id))):b("allowed_types",e?[e.id]:[])},isClearable:!0,multiple:!0})}),e(y,{size:"lg",className:"w-min my-4",isDisabled:d,onClick:()=>{const e=h.query?JSON.parse(h.query):void 0,t={name:h.name,description:h.description,query:e,tags:h.tags,type:h.type,allowed_types:h.allowed_types};let s;if(t.name||(s="Name is required"),t.type||(t.type=null),s&&i({title:"Validation failed",description:s,status:"error",duration:5e3}),a.current){const e=a.current.getValue();if(e)try{t.table_layout=JSON.parse(e)}catch(e){return void i({title:"Invalid Table Layout",description:e.message,status:"error",duration:5e3})}else t.table_layout=null}m(!0),c.store.collections.update(r.id,t).then((()=>{n(),i({title:"Collection updated",description:"Collection has been updated successfully",status:"success",duration:3e3})})).catch((e=>{i({title:"Failed to update collection",description:e.message,status:"error",duration:5e3})})).finally((()=>{m(!1)}))},children:"Save Metadata"}),s&&e(Es,{typeId:s,collection:r})]})}function Es({typeId:t,collection:n}){const{client:r}=Ce(),{data:s,error:a}=V((()=>r.store.types.retrieve(t)),[t]);return a?e(Q,{title:"Failed to load type",children:a.message}):e(As,{title:"Properties",children:s&&e(Ls,{collection:n,schema:s.object_schema})})}function Ls({schema:t={},collection:n}){const{client:r}=Ce(),s=f(),a=l((()=>new Tt(t,n.properties||{})),[t,n]),[i,c]=o(!1);return e(It,{object:a,onSubmit:e=>{const t={properties:e||{}};c(!0),r.store.collections.update(n.id,t).then((()=>{s({title:"Collection properties updated",description:"Collection has been updated successfully",status:"success",duration:3e3})})).catch((e=>{s({title:"Failed to update collection properties",description:e.message,status:"error",duration:5e3})})).finally((()=>{c(!1)}))},children:e(y,{size:"lg",isLoading:i,className:"my-4",variant:"primary",type:"submit",children:"Save Properties"})})}function As({children:n,title:r}){return t("div",{className:"my-4",children:[e("div",{className:"text-lg text-gray-700 font-semibold border-b border-b-gray-300 py-2 mb-4",children:r}),n]})}function Us({onChange:t,value:n,disabled:r=!1,className:s}){const{client:a}=Ce(),{data:i,error:l}=V((()=>a.store.collections.list({dynamic:!1})),[]);if(l)return e(Q,{title:"Collection fetch failed",children:l.message});const o=n?i?.find((e=>e.id===n)):void 0;return e(ae,{filterBy:"name",value:o,onChange:e=>{t(e?.id,e)},placeholder:"Select a collection",options:i||[],optionLabel:e=>e.name,by:"id",className:s,disabled:r})}function Os({action:n,objectIds:r,children:s}){const{store:a}=Ce(),i=f(),[l,c]=o(!1),d=h((()=>(c(!0),Promise.resolve(!0))),[]);ta(n.id,d);return t("div",{children:[s,e(_s,{isOpen:l,onClose:e=>{c(!1),void 0!==e&&a.runOperation({name:"change_type",ids:r,params:{typeId:e}}).then((e=>{i({status:"success",title:"Change Type",description:`Change the type of ${r.length} objects is ${"in_progress"===e.status?"in progress":"completed"}`,duration:2e3})})).catch((e=>{i({status:"error",title:"Error changing type",description:e.message,duration:5e3})}))},title:"Change Content Type",confirmLabel:"Change Type",children:t("div",{className:"text-sm flex flex-col gap-x-2",children:[t("p",{children:["Choose a new Content Type for the selected object",r.length>1?"s":" ","or let the system choose or generate a type based on the content."]}),t("p",{className:"pt-2 text-xs",children:["Note: This action will raise the ",e("code",{children:"change_type"})," event and will trigger the standard intake workflows which may reset the object properties."]})]})})]})}const zs={id:"changeType",name:"Change Content Type",description:"Change the Content Type of the selected documents",confirm:!1,component:Os};function Fs({action:r,callback:s,children:a}){const[i,l]=o(!1),c=r.confirmationText||`Are you sure you want to ${r.name}?`,d=h((e=>r.confirm?(l(!0),Promise.resolve(!0)):s(e)),[r.confirm,s]),m=ta(r.id,d);return t(n,{children:[a,e(de,{onConfirm:()=>{l(!1),s({...m.params,action:r})},onCancel:()=>l(!1),title:"Are you sure?",content:c,isOpen:i})]})}function Ds({action:t,objectIds:n,children:r}){const s=ea(),a=f(),{client:i}=Ce(),l=Pr(),o=yt(),c=h((()=>n&&n.length?Promise.all(n.map((e=>i.store.objects.delete(e)))).then((e=>{const t=e.length>1?"s":"";if(a({status:"success",title:`${e.length} object${t} deleted`,description:`Objects ${e.map((e=>e.id)).join(", ")} have been deleted`,duration:2e3}),l){s.params?.selection?.removeAll();const e=JSON.parse(JSON.stringify(l.facets));n.length===e._value.total&&l.resetFacets(),l.search()}else o("/objects")})).catch((e=>{a({status:"error",title:"Error deleting objects",description:e.message,duration:5e3})})):(a({status:"error",title:"No objects selected",description:"Please select objects to delete",duration:3e3}),Promise.resolve(!1))),[n]);return e(Fs,{action:t,callback:c,children:r})}const Rs={id:"delete",name:"Delete",description:"Delete the selected objects",confirm:!0,confirmationText:"Are you sure you want to delete the selected objects?",component:Ds,destructive:!0};function Ms({action:t,objectIds:n}){const{store:r}=Ce(),s=f(),[a,i]=o(!1),[l,c]=o(!1),d=h((()=>(i(!0),Promise.resolve(!0))),[]),m=ta(t.id,d);return e("div",{children:e(ss,{isExporting:l,isOpen:a,onClose:(e,t)=>{if(e&&(t||n.length>0)){c(!0);const a=m.params?.search?.query||{},l=m.params?.search?.result?.value?.objects?.map((e=>e.id))||void 0,o=async e=>r.objects.list({query:{parent:e}}).then((e=>e.map((e=>e.id))));(async()=>t?l?a.vector?l:[]:0===n.length?[]:(await o(n[0])).concat(n):n)().then((l=>{r.objects.exportProperties({objectIds:l,type:e,query:t&&!a.vector?a:{type:a.type}}).then((r=>{let a;if(e===rs.CSV)a=new Blob([r.data],{type:r.type});else if(e===rs.JSON)a=new Blob([JSON.stringify(r.data)],{type:r.type});else{const e=r.data;a=new Blob([new Uint8Array(e.data)],{type:r.type})}const i=window.URL.createObjectURL(a),l=document.createElement("a");l.download=r.name,l.href=i,l.click(),s({status:"success",title:"Export Properties",description:t?"Export the properties of all objects completed":`Export the properties of ${n.length} object${n.length>1?"s":""} is completed`,duration:2e3})})).catch((e=>{s({status:"error",title:"Error Export Properties",description:e.message,duration:5e3})})).finally((()=>{c(!1),i(!1)}))}))}else i(!1)}})})}const Vs={id:"exportProperties",name:"Export Properties",description:"Export all Object Properties",confirm:!1,component:Ms};function qs({action:t,objectIds:n,collectionId:r}){const s=ea(),a=f(),{client:i}=Ce(),l=Pr(),o=h((()=>n&&n.length?r?i.store.collections.deleteMembers(r,n).then((()=>{const e=n.length>1?"s":"";a({status:"success",title:`${n.length} object${e} removed from collection`,description:"Objects have been removed from the collection",duration:2e3}),l&&(s.params?.selection?.removeAll(),l.search())})).catch((e=>{a({status:"error",title:"Error removing objects from collection",description:e.message,duration:5e3})})):(a({status:"error",title:"No collection context",description:"Cannot remove objects: no collection specified",duration:3e3}),Promise.resolve(!1)):(a({status:"error",title:"No objects selected",description:"Please select objects to remove from collection",duration:3e3}),Promise.resolve(!1))),[n,r]);return e(Fs,{action:t,callback:o})}const Ws={id:"removeFromCollection",name:"Remove from Collection",description:"Remove the selected objects from this collection",confirm:!0,confirmationText:"Are you sure you want to remove the selected objects from this collection?",component:qs,destructive:!0};function Bs({action:t,objectIds:n,collectionId:r}){const s=f(),{client:a}=Ce(),[i,l]=o(!1),c=h((()=>(l(!0),Promise.resolve(!0))),[]);return ta(t.id,c),e(Hs,{isOpen:i,onClose:e=>{if(l(!1),e)return a.store.workflows.rules.execute(e,n,{collection_id:r}).then((()=>{s({title:"Workflow started",status:"success",duration:3e3})})).catch((e=>{s({title:"Error starting workflow",status:"error",description:e.message,duration:9e3})}))}})}const Js={id:"startWorkflow",name:"Start Workflow",description:"Start an workflow on the selected objects",confirm:!1,hideInList:!0,component:Bs};function Hs({isOpen:n,onClose:r}){return t(Y,{onClose:()=>r(void 0),isOpen:n,className:"",children:[e(X,{children:"Start a Workflow by Rule"}),e(Ks,{onClose:r})]})}function Gs(n){return{label:t("div",{children:[e("div",{children:n.name}),e("div",{className:"text-sm text-muted",children:n.description})]}),reverse:!0}}function Ks({onClose:n}){const[r,s]=o(void 0),a=ea();return t("div",{children:[t(Z,{children:[e("div",{className:"pb-2",children:"Choose a workflow rule to start:"}),e("div",{className:"max-h-[420px] overflow-y-scroll border-border border rounded-md",children:e(ue,{options:a.wfRules,optionLayout:Gs,onChange:e=>{s(e)},value:r})})]}),t(le,{children:[e(y,{variant:"secondary",onClick:()=>n(),children:"Cancel"}),e(y,{onClick:()=>{r&&n(r.id)},isDisabled:!r,children:"Start"})]})]})}class Qs{params;allActions=[Vs,zs,Js,sa,Rs,Ws];wfRules=[];callbacks={};startWorkflow;constructor(e){this.params=e}get actions(){return!!this.params.selection?.collectionId?this.allActions.filter((e=>"addToCollection"!==e.id&&"delete"!==e.id)):this.allActions.filter((e=>"removeFromCollection"!==e.id))}async loadWorkflows(){return this.params.client.workflows.rules.list().then((e=>{this.wfRules=e.map((e=>({id:e.id,name:e.name,description:e.description,confirm:!1,isWorkflow:!0,component:Bs}))).sort(((e,t)=>e.name.localeCompare(t.name)))})),this.wfRules}registerCallback(e,t){return this.callbacks[e]=t,()=>{delete this.callbacks[e]}}unregisterCallback(e){delete this.callbacks[e]}findAction(e){let t=this.allActions.find((t=>t.id===e));return t||(t=this.wfRules.find((t=>t.id===e))),t}async run(e){const t=this.findAction(e);if(!t)throw new Error(`Action ${e} not found`);const n={...this.params,action:t},r=this.callbacks[e];if(r)return r(n);throw new Error("No action callback set")}}const Ys=d(void 0);function Xs({children:n}){const r=fr(),s=f(),{client:a}=Ce(),i=Pr(),{data:o,error:c}=V((()=>a.workflows.rules.list().then((e=>e.map((e=>({id:e.id,name:e.name,description:e.description,confirm:!1,isWorkflow:!0,component:Bs}))).sort(((e,t)=>e.name.localeCompare(t.name)))))),[]),d=l((()=>{const e=new Qs({selection:r,toast:s,client:a,search:i});return e.wfRules=o,e}),[r,o]);return c?e(Q,{title:"Failed to fetch workflows",children:c.message}):d&&t(Ys.Provider,{value:d,children:[e(Zs,{}),n]})}function Zs({}){const t=ea(),n=t.params.selection,r=n.getObjectId(),s=n.isSingleSelection()&&r?[r]:n.getObjectIds();return e("div",{style:{display:"none"},children:t.allActions.map((t=>e(t.component,{action:t,objectIds:s,collectionId:n.collectionId},t.id)))})}function ea(){const e=m(Ys);if(!e)throw new Error("You cannot use useActionContext outside an ActionProvider");return e}function ta(e,t){const n=ea();return c((()=>n.registerCallback(e,t)),[n,e,t]),n}function na(e){const t=ea();return c((()=>(t.startWorkflow=e,()=>{t.startWorkflow=void 0})),[e,t]),t}function ra({action:t,objectIds:n}){const[r,s]=o(!1),a=h((()=>(n.length>0&&s(!0),Promise.resolve(!0))),[n]);return ta(t.id,a),r&&e(he,{children:e(aa,{objectIds:n,isOpen:r,onClose:()=>{s(!1)}})})}const sa={id:"addToCollection",name:"Add to Collection",description:"Add documents to a collection",confirm:!1,component:ra};function aa({isOpen:n,onClose:r,objectIds:s}){return t(Y,{isOpen:n,onClose:r,children:[e(X,{children:"Add to a Collection"}),e(ia,{onClose:r,objectIds:s})]})}function ia({onClose:r,objectIds:s}){const a=f(),{client:i}=Ce(),[l,c]=o(),d=({collectionId:e})=>{e&&s?.length&&i.store.collections.addMembers(e,s).then((()=>{a({title:"Add to collection success",status:"success",description:`Added ${s.length} objects to the selected collection`,duration:3e3}),r()})).catch((()=>{a({title:"Add to collection failure",status:"error",description:"Failed to add the selected objects to the collection",duration:5e3})}))};return t(n,{children:[e(Z,{children:e(Us,{onChange:e=>{c(e)},value:l,className:"mb-4"})}),e(le,{children:e(y,{isDisabled:!l,onClick:()=>l&&d({collectionId:l}),children:"Add to Collection"})}),t("div",{className:"flex items-center flex-row w-full text-muted",children:[e("hr",{className:"w-full"}),e("div",{className:"px-2 text-xs",children:"OR"}),e("hr",{className:"w-full"})]}),e(ds,{onClose:r,onAddToCollection:e=>d({collectionId:e}),redirect:!1})]})}function la(){const n=fr(),r=n.size(),s=r>1?"s":"",a=n?.hasSelection(),i=n?.isSingleSelection();return e(Xs,{children:t("div",{className:"flex items-center gap-x-2",children:[a&&!i&&t("div",{className:"flex items-center gap-x-1 shrink-0",children:[t("div",{className:"text-sm nowrap",children:[r," document",s," selected"]}),e(y,{title:"Clear selection",variant:"ghost",onClick:()=>{n?.removeAll()},children:e(Se,{className:"size-4"})})]}),e(ua,{selection:n,children:e(y,{variant:"ghost",alt:"More action",size:"sm",children:e(it,{size:16})})}),a&&e(oa,{selection:n})]})})}function oa({}){return e(da,{})}function ca({collectionId:r}){const[s,a]=o([]),i=fr(),l=i?.hasSelection();return!l&&t(n,{children:[e(y,{onClick:()=>(()=>{const e=document.createElement("input");e.type="file",e?.click(),e.onchange=e=>{const t=e.target.files;t&&a(Array.from(t))}})(),children:"Upload"}),e(Ur,{collectionId:r??"",isOpen:s.length>0,onClose:()=>a([]),files:s,title:"Upload Files",onUploadComplete:e=>{e&&e.success&&a([])},children:e("div",{className:"text-sm",children:"Select the associated Content Type, or let the system choose or generate the type based on the content."})})]})}function da(){const t=ea();return t.params.selection.hasSelection()&&e(y,{onClick:()=>t.run(Js.id),children:"Start Workflow"})}function ma(e){return{label:e.name,className:r("flex-1 px-2 py-2 hover:bg-accent nowrap",e.destructive?"text-destructive":"")}}function ua({selection:n,children:r}){const s=ea();return t(x,{hover:!0,children:[e(v,{children:r}),e(w,{className:"p-0 w-50",align:"end",sideOffset:6,children:e(ha,{executeAction:e=>{s.run(e.id)},selection:n})})]})}function ha({executeAction:t,selection:n}){const r=ea(),s=n?.hasSelection()?r.actions.filter((e=>!e.hideInList)):[Vs];return e("div",{className:"rounded-md shadow-md py-2",children:e("div",{className:"px-1 text-sm",children:e(ue,{options:s,optionLayout:ma,onChange:e=>{t(e)},noCheck:!0})})})}function pa({value:n,onChange:r,onSend:s,disabled:a=!1,isSending:i=!1,isCompleted:l=!1,activeTaskCount:d=0,placeholder:m="Type your message..."}){const h=u(null),[p,g]=o(!1);c((()=>{!a&&l&&h.current?.focus()}),[a,l]);return t("div",{className:"p-3 border-t border-muted flex-shrink-0",style:{minHeight:"90px"},children:[t("div",{className:"flex items-center space-x-2",children:[t("div",{className:"flex flex-1 space-x-1",children:[e($,{ref:h,value:n,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),s())},onChange:r,disabled:a||i,placeholder:m,className:"pr-12 py-2.5"}),e(y,{variant:"ghost",className:"rounded-full",disabled:!l,onClick:()=>g(!0),alt:"Link Object",children:e(lt,{className:"size-4"})})]}),t(y,{onClick:s,disabled:a||i||!n.trim(),className:"px-4 py-2.5",children:[i?e(A,{size:"sm",className:"mr-2"}):e(ot,{className:"size-4 mr-2"})," Send"]})]}),e("div",{className:"text-xs text-muted mt-2 text-center",children:d>0?t("div",{className:"flex items-center justify-center",children:[e(ct,{className:"h-3 w-3 mr-1 text-attention"}),t("span",{children:["Agent has ",d," active workstream",1!==d?"s":""," running"]})]}):a?"Agent is processing, you can continue once it completes...":"You can send a message at any time"}),t(Y,{isOpen:p,onClose:()=>g(!1),className:"min-w-[60vw]",children:[e(X,{children:"Link Object"}),e(Z,{className:"pb-6",children:e(qr,{onChange:e=>{const t=`[${e.properties?.title||e.name||"Object"}](store:${e.id})`,s=n||"",a=h.current?.selectionStart||s.length,i=s.substring(0,a)+t+s.substring(a);r(i),g(!1),setTimeout((()=>{if(h.current){h.current.focus();const e=a+t.length;h.current.setSelectionRange(e,e)}}),100)}})})]})]})}function ga({plan:n,workstreamStatus:r,isVisible:s}){return s?t("div",{className:"border-b border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-900 p-3 shadow-sm transition-all duration-300 ease-in-out transform",children:[e("div",{className:"text-xs font-medium mb-2 text-gray-800 dark:text-gray-200",children:"Agent Plan"}),n.plan&&n.plan.length>0?e("div",{className:"space-y-1.5",children:n.plan.map(((n,s)=>{const a=n.id.toString(),i=n.goal;let l=n.status||"pending";r.has(a)&&(l=r.get(a));let o=_e,c="text-gray-400";return"in_progress"===l?(o=Pe,c="text-blue-500"):"completed"===l&&(o=Te,c="text-green-500"),t("div",{className:"flex items-start",children:[e("div",{className:`mr-1.5 mt-0.5 ${c}`,children:e(o,{className:"h-3.5 w-3.5"})}),t("div",{className:"text-xs",children:[e("span",{className:"text-gray-700 dark:text-gray-300",children:i}),e("span",{className:"ml-1 bg-gray-200 dark:bg-gray-700 px-1 py-0.5 rounded text-[10px] font-mono",children:a})]})]},s)}))}):t("div",{className:"text-xs text-gray-500 dark:text-gray-400 italic flex items-center",children:[e(je,{className:"h-3.5 w-3.5 mr-1.5 text-amber-500"}),"No plan detected yet"]}),r.size>1&&t("div",{className:"mt-3 pt-2 border-t border-gray-200 dark:border-gray-700",children:[e("div",{className:"text-xs font-medium mb-1.5 text-gray-800 dark:text-gray-200",children:"Workstreams"}),e("div",{className:"grid grid-cols-2 gap-1.5",children:Array.from(r.entries()).filter((([e,t])=>{if("main"===e)return!0;if(/^\d+$/.test(e))return!1;if(n?.plan){return!n.plan.find((t=>t.id?.toString()===e))}return!0})).map((([n,r])=>{let s=_e,a="text-gray-400",i="Pending";"in_progress"===r?(s=Pe,a="text-blue-500",i="In Progress"):"completed"===r&&(s=Te,a="text-green-500",i="Completed");const l="main"===n?"Main":n;return t("div",{className:"flex items-center",children:[e("div",{className:`mr-1.5 ${a}`,children:e(s,{className:"h-3 w-3"})}),e("span",{className:"text-[10px] font-medium text-gray-600 dark:text-gray-400",children:l}),e("span",{className:"text-[10px] text-gray-500 dark:text-gray-500 ml-1",children:i})]},n)}))})]})]}):null}function fa(t){const{run:n,startWorkflow:r}=t;if(n){const r="runId"in n?n:{runId:n.run_id,workflowId:n.workflow_id};return e(xa,{...t,run:r})}return r?e(ya,{...t}):e(ba,{})}function ba(){return t(pe,{status:"info",icon:e($e,{className:"size-16 text-muted mb-4"}),children:[e("div",{className:"text-base font-medium text-muted",children:"No agent currently running"}),e("div",{className:"mt-3 text-sm text-muted",children:"Select an interaction and click Start to start an agent"})]})}function ya({initialMessage:n,startWorkflow:r,onClose:s,isModal:a=!1,placeholder:i="Type your message...",startButtonText:l="Start Agent",title:d="Start New Conversation"}){const[m,h]=o(""),[p,g]=o(!1),[b,x]=o(),v=f(),w=u(null);c((()=>{w.current&&w.current.focus()}),[]);const N=async()=>{if(!r)return;const e=m.trim();if(e&&!p){g(!0);try{sessionStorage.removeItem("plan-panel-shown"),v({title:"Starting agent...",status:"info",duration:3e3});const t=await r(e);t&&(x({runId:t.run_id,workflowId:t.workflow_id}),h(""),v({title:"Agent started",status:"success",duration:3e3}))}catch(e){v({title:"Error starting workflow",status:"error",duration:3e3,description:e instanceof Error?e.message:"Unknown error"})}finally{g(!1)}}};return b?e(xa,{onClose:s,isModal:a,initialMessage:n,placeholder:i,run:b,title:d}):t("div",{className:"flex flex-col h-full bg-white dark:bg-gray-900 overflow-hidden border-0",children:[t("div",{className:"flex items-center justify-between py-2 px-3 border-b border-gray-100 dark:border-gray-800 bg-white dark:bg-gray-900",children:[t("div",{className:"flex items-center space-x-2",children:[e("div",{className:"p-1",children:e(dt,{className:"h-3.5 w-3.5 text-gray-400 dark:text-gray-500"})}),e("span",{className:"font-medium text-sm text-gray-700 dark:text-gray-300",children:d})]}),s&&!a&&e(y,{size:"xs",variant:"ghost",onClick:s,title:"Close",className:"text-slate-500 hover:text-slate-700",children:e(Oe,{className:"h-4 w-4"})})]}),t("div",{className:"flex-1 overflow-y-auto px-4 py-6 bg-white dark:bg-gray-900 flex flex-col items-center justify-center",children:[n&&e("div",{className:"px-4 py-3 mb-4 bg-blue-50/80 dark:bg-blue-900/30 border-l-2 border-blue-400 dark:border-blue-500 text-blue-700 dark:text-blue-300 max-w-md",children:n}),t("div",{className:"bg-white dark:bg-slate-800 p-4 max-w-md border-l-2 border-blue-400 dark:border-blue-500",children:[e("div",{className:"text-base text-slate-600 dark:text-slate-300 font-medium",children:"Enter a message to start a conversation"}),t("div",{className:"mt-3 text-sm text-slate-500 dark:text-slate-400",children:["Type your question below and press Enter or click ",l," ","to begin"]})]})]}),t("div",{className:"py-3 px-3 border-t border-gray-100 dark:border-gray-800 bg-white dark:bg-gray-900",children:[t("div",{className:"flex items-center gap-2",children:[e("div",{className:"flex-1",children:e("input",{ref:w,value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),N())},placeholder:i,disabled:p,className:"w-full py-2 px-3 text-sm border border-gray-200 dark:border-gray-700 dark:bg-gray-800 dark:text-white focus:border-gray-300 dark:focus:border-gray-600 focus:ring-0 rounded-md"})}),t(y,{onClick:N,disabled:!m.trim()||p,className:"px-3 py-2 bg-gray-800 dark:bg-gray-700 hover:bg-gray-700 dark:hover:bg-gray-600 text-white text-xs rounded-md transition-colors",children:[p?e(A,{size:"sm",className:"mr-1.5"}):e(ot,{className:"h-3.5 w-3.5 mr-1.5"}),l]})]}),e("div",{className:"text-xs text-gray-400 dark:text-gray-500 mt-2 text-center",children:"Type a message to start the conversation"})]})]})}function xa({run:n,title:r,interactive:s=!0,onClose:a,isModal:i=!1,placeholder:d="Type your message...",resetWorkflow:m}){const{client:h}=Ce(),p=u(null),[g,b]=o([]),[y,x]=o(!1),[v,w]=o(""),[N,k]=o(!1),[C,S]=o("sliding"),[_,j]=o(!1),[P,T]=o(!1),[I,$]=o([]),[E,L]=o(0),[A,U]=o(new Map),[O,z]=o(0),F=f(),[D,R]=o(s),[M,V]=o(null),q=l((()=>{const e=I[E]||{plan:{plan:[]},timestamp:0},t=A.get(e.timestamp)||new Map;return{plan:e.plan,workstreamStatus:t}}),[I,E,A]);c((()=>{if(!y){const e=setInterval((()=>{z((()=>Math.floor(Math.random()*(cn.length-1))))}),4e3);return()=>clearInterval(e)}}),[y]);c((()=>(b([]),$([]),L(0),U(new Map),T(!1),V(null),(async()=>{try{const e=await h.store.workflows.getRunDetails(n.runId,n.workflowId);V(e.status)}catch(e){console.error("Failed to check workflow status:",e)}})(),h.store.workflows.streamMessages(n.runId,(e=>{e.message&&b((t=>t.find((t=>t.timestamp===e.timestamp))?t:(function(e,t){const n="number"==typeof t.timestamp?t.timestamp:new Date(t.timestamp).getTime(),r=e.findIndex((e=>("number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime())>n));-1===r?e.push(t):e.splice(r,0,t)}(t,e),[...t])))})),()=>{b([])})),[n.runId,h.store.workflows]),c((()=>{x(!function(e){if(!e.length)return!0;const t=new Map;if(e.forEach((e=>{const n=dn(e);t.has(n)||t.set(n,[]),t.get(n).push(e)})),console.log("[isInProgress] Workstreams found:",Array.from(t.keys())),1===t.size&&!t.has("main")){const e=t.keys().next().value||"unknown";console.log(`[isInProgress] Only one workstream found (${e}), treating as main`);const n=t.get(e),r=n[n.length-1];return console.log(`[isInProgress] Last message type in only workstream: ${r.type}`),[fe.COMPLETE,fe.IDLE,fe.REQUEST_INPUT].includes(r.type)?(console.log("[isInProgress] Only workstream is completed"),!1):(console.log("[isInProgress] Only workstream is still in progress"),!0)}if(t.has("main")){const e=t.get("main");if(0===e.length)return console.log("[isInProgress] Main workstream exists but has no messages, still in progress"),!0;const n=e[e.length-1];return console.log(`[isInProgress] Last message type in main workstream: ${n.type}`),[fe.COMPLETE,fe.IDLE,fe.REQUEST_INPUT].includes(n.type)?(console.log("[isInProgress] Main workstream is completed"),!1):(console.log("[isInProgress] Main workstream is still in progress"),!0)}console.log("[isInProgress] Multiple workstreams but no main, checking if any are still active");for(const[e,n]of t.entries())if(n.length>0){const t=n[n.length-1];if(![fe.COMPLETE,fe.IDLE,fe.REQUEST_INPUT].includes(t.type))return console.log(`[isInProgress] Workstream ${e} is still active`),!0}return console.log("[isInProgress] All workstreams are completed"),!1}(g)),0===I.length&&T(!1)}),[g,I.length]),c((()=>{if(1===I.length&&!P&&!sessionStorage.getItem("plan-panel-shown")){const e=setTimeout((()=>{T(!0),sessionStorage.setItem("plan-panel-shown","true")}),500);return()=>clearTimeout(e)}g.forEach((e=>{if(e.type===fe.PLAN)try{console.log("PLAN message received:",e.type);let t=null;if(e.details&&"object"==typeof e.details&&e.details.plan&&Array.isArray(e.details.plan)&&(console.log("Valid plan array found in message.details.plan"),t={plan:e.details.plan}),t){const n="number"==typeof e.timestamp?e.timestamp:new Date(e.timestamp).getTime();if(-1===I.findIndex((e=>e.timestamp===n))&&t){console.log("Adding new plan to plans array");const e={plan:t,timestamp:n};console.log("Adding plan to plans array:",e),$((t=>{const n=[e,...t];return console.log("New plans array:",n),n})),L(0),console.log("Setting showSlidingPanel to true"),T(!0);const r=new Map;r.set("main","in_progress"),Array.isArray(t.plan)&&t.plan.forEach((e=>{if(e&&"object"==typeof e&&e.id){const t=e.id.toString();r.set(t,e.status||"pending")}})),U((e=>{const t=new Map(e);return t.set(n,r),t}))}}}catch(e){console.error("Failed to parse plan from message:",e)}e.type===fe.UPDATE&&e.details&&e.details.updates&&Array.isArray(e.details.updates)&&console.log("Ignoring UPDATE message with details.updates - waiting for PLAN message with full plan")}));const e=g[g.length-1];e&&R(!!s||e.type===fe.REQUEST_INPUT)}),[g,I,E]);const W=r||n.workflowId.split(":")[2]||"Agent Conversation";return t("div",{className:"flex flex-col h-full min-h-0 "+(i?"rounded-lg overflow-hidden":""),children:[e(xn,{title:W,isCompleted:y,onClose:a,isModal:i,run:n,viewMode:C,onViewModeChange:S,showPlanPanel:P,hasPlan:I.length>0,onTogglePlanPanel:()=>{T(!P),P||sessionStorage.setItem("plan-panel-shown","true")},onDownload:async()=>{try{const e=await async function(e,t){return e.files.getDownloadUrl(`agents/${t}/conversation.json`).then((e=>e.url))}(h,n.runId);e&&window.open(e,"_blank")}catch(e){console.error("Failed to download conversation",e),F({status:"error",title:"Failed to download conversation",duration:3e3})}},onCopyRunId:()=>{navigator.clipboard.writeText(n.runId),F({status:"success",title:"Run ID copied",duration:2e3})},resetWorkflow:m}),_&&!P&&I.length>0&&e(ga,{plan:q.plan,workstreamStatus:q.workstreamStatus,isVisible:!0}),0!==g.length||y?e(pn,{messages:g,bottomRef:p,viewMode:C,isCompleted:y,plan:q.plan,workstreamStatus:q.workstreamStatus,showPlanPanel:P,onTogglePlanPanel:()=>{console.log("Toggle plan panel called, current state:",P),T(!P)},plans:I,activePlanIndex:E,onChangePlan:e=>L(e),taskLabels:q.plan.plan?.reduce(((e,t)=>(t.id&&t.goal&&e.set(t.id.toString(),t.goal),e)),new Map)}):e("div",{className:"flex-1 flex flex-col items-center justify-center h-full text-center py-6 bg-white dark:bg-gray-900",children:t("div",{className:"bg-white dark:bg-slate-800 p-5 max-w-md border border-blue-200 dark:border-blue-900/50 rounded-lg shadow-sm",children:[t("div",{className:"flex items-center space-x-3 mb-3",children:[e(nn,{size:"sm",color:"blue"}),e("div",{className:"text-sm text-slate-600 dark:text-slate-300 font-medium",children:cn[O]})]}),e("div",{className:"mt-4 flex justify-center",children:e(tn,{color:"blue",className:"mt-1"})})]})}),M&&("RUNNING"!==M?t(pe,{status:"COMPLETED"===M?"success":"done",icon:null,className:"flex-shrink-0 m-2",children:["This Workflow is ",M]}):D&&e(pa,{value:v,onChange:w,onSend:()=>{const e=v.trim();e&&!N&&(k(!0),w(""),h.store.workflows.sendSignal(n.workflowId,n.runId,"UserInput",{message:e}).then((()=>{x(!1),F({status:"success",title:"Message Sent",duration:2e3})})).catch((e=>{F({status:"error",title:"Failed to Send Message",description:e instanceof Error?e.message:"Unknown error",duration:3e3})})).finally((()=>{k(!1)})))},disabled:!1,isSending:N,isCompleted:y,activeTaskCount:(()=>{if(!g.length)return 0;const e=new Map;g.forEach((t=>{const n=dn(t);"main"!==n&&"all"!==n&&(e.has(n)||e.set(n,[]),e.get(n).push(t))}));let t=0;for(const[n,r]of e.entries())if(r.length>0){const e=r[r.length-1];[fe.COMPLETE,fe.IDLE].includes(e.type)||t++}return t})(),placeholder:d}))]})}function va({children:t,fallback:n}){return wa?e(wa,{fallback:n,children:t}):e(Rt,{FallbackComponent:n,children:t})}let wa=null;function Na(e){wa=e}function ka({children:t}){return e(va,{fallback:Ca,children:t})}function Ca({error:n}){return t(pe,{status:"error",title:"Sorry, something went wrong...",children:[t("div",{className:"mb-4",children:["Our team has been notified and will be quickly working on resolving it. If you'd like to escalate or simply contact us, please email us at ",e("a",{className:"text-info",href:"mailto:support@vertesiahq.com",children:"support@vertesiahq.com"}),"."]}),n?.message&&e("code",{className:"w-full mt-4 text-sm text-muted break-words",children:n.message})]})}function Sa({children:t}){return e(va,{fallback:_a,children:t})}function _a({error:n}){return e("tr",{children:t("td",{colSpan:100,children:[e("span",{className:"text-xs",children:" Cannot display row"}),e("br",{}),e("span",{className:"bg-gray-400",children:n?.message})]})})}function ja({children:t}){return e(va,{fallback:Pa,children:t})}function Pa({error:n}){return console.log("WidgetError",n),t("div",{className:"text-sm",children:["Sorry, this area cannot be loaded or rendered.",n?.message&&e("pre",{children:n.message})]})}function Ta({className:n,children:s,title:a,description:i,actions:l,breadcrumbs:o,isCompact:c=!1}){return t("div",{className:r(c?"pb-0":"pb-2","p-4 flex flex-col",n),children:[t("div",{className:"flex items-start gap-4",children:[t("div",{className:"w-full flex place-content-between h-auto min-h-8 flex-col items-start",children:[e("nav",{className:"flex-1 flex justify-start text-xs",children:o?.map(((n,r)=>t("div",{className:"flex items-center text-muted",children:[n,r<o.length-1&&e(nt,{className:"w-3.5 h-3.5"})]},r)))}),t("div",{className:"flex gap-2 items-center",children:[e("h1",{className:"text-xl font-semibold break-all",children:a}),i&&e(D,{description:i,children:e(Le,{className:"size-4 text-muted"})})]})]}),e("div",{className:"flex gap-x-2 shrink-0",children:l})]}),s&&e("div",{className:"w-full flex items-center",children:s})]})}function Ia({}){return t("div",{className:"text-center pt-32",children:[e("h1",{className:"text-3xl font-bold text-red-500",children:"404"}),e("p",{className:"text-2xl",children:"Page Not Found"})]})}class $a{totalPages;layoutUrls=[];cache;constructor(e){this.totalPages=e,this.cache=new Array(e)}async loadUrls(e,t){const n=[];for(let r=0;r<this.totalPages;r++)n.push(Fa(e,t,r+1));const r=await Promise.all(n);this.layoutUrls=r.map((e=>e.url))}async getPageLayout(e){const t=e-1;let n=this.cache[t];if(void 0===n){const e=this.layoutUrls[t];n=await fetch(e,{method:"GET"}).then((e=>{if(e.ok)return e.text();throw new Error("Failed to fetch json layout: "+e.statusText)})),this.cache[t]=n}return n}}const Ea=d(void 0);function La({children:t,object:n}){const{client:r}=Ce(),[s,a]=o();return c((()=>{const e=n.metadata.page_count||10;(async function(e,t,n){const r=[];for(let s=0;s<n;s++)r.push(Ua(e,t.id,s+1));const s=await Promise.all(r),a=[];for(let r=0;r<n;r++)a.push(Oa(e,t.id,r+1));const i=await Promise.all(a),l=[];for(let r=0;r<n;r++)l.push(za(e,t.id,r+1));const o=await Promise.all(l),c=new $a(n);await c.loadUrls(e,t.id);const d=t.text?Ma(t.text):"";return{count:n,urls:s.map((e=>e.url)),annotatedUrls:i.map((e=>e.url)),instrumentedUrls:o.map((e=>e.url)),layoutProvider:c,xml:d,xmlPages:t.text?Ra(d):[]}})(r,n,e).then(a)}),[n.id]),s&&e(Ea.Provider,{value:s,children:t})}function Aa(e){return`magic-pdf/${e}`}function Ua(e,t,n){return e.files.getDownloadUrl(function(e,t,n=".jpg"){return`${Aa(e)}/pages/page-${t}${n}`}(t,n))}function Oa(e,t,n){return e.files.getDownloadUrl(function(e,t,n=".jpg"){return`${Aa(e)}/pages/page-${t}-annotated${n}`}(t,n))}function za(e,t,n){return e.files.getDownloadUrl(function(e,t,n=".jpg"){return`${Aa(e)}/pages/page-${t}.instrumented${n}`}(t,n))}function Fa(e,t,n){return e.files.getDownloadUrl(function(e,t){return`${Aa(e)}/pages/page-${t}.layout.json`}(t,n))}function Da(){const e=i.useContext(Ea);if(!e)throw new Error("usePdfPagesInfo must be used within a PdfPageProvider");return e}function Ra(e){const t=(new DOMParser).parseFromString(Ma(e),"text/xml").getElementsByTagName("page"),n=new XMLSerializer;return Array.from(t).map((e=>n.serializeToString(e)))}function Ma(e){return e.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"").replace(/<\?xml.*?\?>/g,"")}function Va({object:n}){const{client:r}=Ce(),s=e=>{(function(e,t,n){return e.files.getDownloadUrl(`${Aa(t)}/${n}`).then((e=>e.url))})(r,n.id,e).then((e=>window.open(e,"_blank")))};return e("div",{className:"absolute bottom-[58px] right-[20px] w-[36px] h-[36px] cursor-pointer text-indigo-400 border-indigo-400 hover:border-indigo-500 hover:text-indigo-500 border-2 rounded-full shadow-xs flex items-center justify-center",children:t($t,{strategy:"absolute",placement:"top-end",zIndex:100,offset:20,children:[e($t.Trigger,{click:!0,children:e(mt,{className:"size-6"})}),e($t.Content,{children:t("div",{className:"rounded-md shadow-md border border-gray-100 bg-white dark:bg-slate-50 dark:border-slate-100 min-w-[200px] flex flex-col divide-y",children:[e("button",{className:"p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100",onClick:()=>s("annotated.pdf"),children:"annotated.pdf"}),e("button",{className:"p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100",onClick:()=>s("document.xml"),children:"document.xml"}),e("button",{className:"p-2 cursor-pointer hover:bg-slate-50 dark:hover:bg-slate-100",onClick:()=>s("analyzed-pages.json"),children:"analyzed-pages.json"})]})})]})})}var qa;function Wa({className:n,currentPage:s,onChange:a}){const[i,l]=o(qa.default),c=u(null),{urls:d,annotatedUrls:m,instrumentedUrls:h}=Da(),p=i===qa.instrumented?h:i===qa.annotated?m:d;return t("div",{ref:c,className:r("flex flex-col items-stretch gap-y-2",n),children:[t("div",{className:"flex h-5 items-center justify-center relative",children:[e("button",{className:Ja,onClick:()=>{s>1&&(a(s-1),c.current&&c.current.querySelector(`div[data-index="${s-1}"]`)?.scrollIntoView({behavior:"smooth",block:"end",inline:"center"}))},children:e(ut,{className:"w-5 h-5"})}),t("div",{className:"absolute right-3 flex gap-x-1",children:[e("button",{className:Ha(qa.default,i),onClick:()=>l(qa.default),children:e(ht,{className:"w-5 h-5 mt-1"})}),e("button",{className:Ha(qa.instrumented,i),onClick:()=>l(qa.instrumented),children:e(pt,{className:"w-5 h-5 mt-1"})}),e("button",{className:Ha(qa.annotated,i),onClick:()=>l(qa.annotated),children:e(gt,{className:"w-5 h-5 mt-1"})})]})]}),e("div",{className:"flex flex-col items-center gap-2 flex-1 overflow-y-auto px-2",children:p.map(((t,n)=>e(Ba,{url:t,currentPage:s,pageNumber:n+1,onSelect:()=>a(n+1)},n)))}),e("div",{className:"flex h-5 items-center justify-center relative",children:e("button",{className:Ja,onClick:()=>{s<d.length&&(a(s+1),c.current&&c.current.querySelector(`div[data-index="${s+1}"]`)?.scrollIntoView({behavior:"smooth",block:"end",inline:"center"}))},children:e(ft,{className:"size-5"})})})]})}function Ba({url:n,pageNumber:s,currentPage:a,onSelect:i}){return t("div",{className:"p-2 hover:bg-gray-200 dark:hover:bg-slate-600 rounded-md","data-index":s-1,children:[e("div",{className:r("relative border-[2px] cursor-pointer",s===a?"border-blue-500 dark:border-pink-400":"border-gray-300"),onClick:i,children:e("img",{src:n,alt:`Page ${s}`})}),e(ge,{className:"text-sm text-gray-500 dark:text-gray-400 pt-1 font-semibold align",children:s})]})}!function(e){e[e.default=0]="default",e[e.instrumented=1]="instrumented",e[e.annotated=2]="annotated"}(qa||(qa={}));const Ja="cursor-pointer text-gray-500 dark:text-gray-400 hover:text-blue-600 dark:hover:text-blue-500 hover:font-semibold";function Ha(e,t){return e===t?"${BTN_CLASS} text-pink-600":`${Ja}`}const Ga={attributeKeyColor:"#FFD700",attributeValueColor:"#FF4500",tagColor:"#87CEFA",textColor:"#00FF00",separatorColor:"#FFD700",commentColor:"#BEBEBE",cdataColor:"#33CC66"};function Ka({viewType:t,pageNumber:n}){return e("json"===t?Ya:Qa,{pageNumber:n})}function Qa({pageNumber:t}){const[n,r]=o(),{xmlPages:s}=Da();return p((()=>{const e=window.matchMedia("(prefers-color-scheme: dark)"),t=e=>{r(e.matches?Ga:void 0)};return e.addEventListener("change",t),e.matches&&r(Ga),()=>{e.removeEventListener("change",t)}}),[]),e("div",{className:"px-4 py-2",children:e(Lt,{xml:s[t-1],collapsible:!0,theme:n})})}function Ya({pageNumber:t}){const[n,r]=o(),{layoutProvider:s}=Da();return c((()=>{s.getPageLayout(t).then((e=>r(e?JSON.parse(e):void 0))).catch((e=>{console.error(e),r(void 0)}))}),[t]),n&&e(Et,{className:"w-full",data:n})}function Xa({objectId:t,onClose:n}){const{client:r}=Ce(),{data:s,error:a}=V((()=>r.store.objects.retrieve(t,"+text")),[t]);return a?e(Q,{title:"Fetching document failed",children:a.message}):s?e("div",{className:"fixed inset-0 bg-white dark:bg-slate-700 z-50 flex items-center justify-center",children:e(La,{object:s,children:e(Za,{object:s,onClose:n})})}):"Loading..."}function Za({object:r,onClose:s}){const[a,i]=o("xml"),[l,d]=o(1),m=u(null),h=u(null),p=u(null);var g;return c((()=>{if(g.handler.current&&g.left.current&&g.right.current){const e=g.handler.current,t=g.left.current,n=g.right.current,r=e=>{let r=e.clientX,s=t.offsetWidth,a=n.offsetLeft;const i=e=>{const i=e.clientX-r;t.style.width=`${s+i}px`,n.style.left=`${a+i}px`,e.target.classList.add("resizing")},l=e=>{e.target.classList.remove("resizing"),i(e),document.removeEventListener("mousemove",i),document.removeEventListener("mouseup",l)};document.addEventListener("mousemove",i),document.addEventListener("mouseup",l)};return e.addEventListener("mousedown",r),()=>{e.removeEventListener("mousedown",r)}}}),[(g={handler:m,left:h,right:p}).handler.current,g.left.current,g.right.current]),t(n,{children:[t("div",{ref:h,className:"absolute top-0 left-0 bottom-0 w-[50%] bg-gray-100 dark:bg-slate-800 flex items-stretch justify-stretch py-2",children:[e(Wa,{className:"flex-1",currentPage:l,onChange:d}),e("div",{ref:m,className:"w-[2px] p-[2px] m-0 bg-slate-300 cursor-ew-resize"})]}),e("div",{ref:p,className:"absolute top-0 left-[50%] right-0 bottom-0 flex items-stretch justify-stretch overflow-auto p-2",children:e(Ka,{pageNumber:l,viewType:a})}),e(Va,{object:r}),e(ei,{type:a,onSwitch:i}),!!s&&e("div",{className:"absolute top-6 right-7 w-9 h-9 cursor-pointer text-red-400 border-red-400 hover:border-red-500 hover:text-red-500 border-2 rounded-full shadow-xs flex items-center justify-center",onClick:s,children:e(Se,{className:"size-6"})})]})}function ei({type:e="xml",onSwitch:n}){return t("div",{className:"absolute bottom-[16px] right-[20px] w-[36px] h-[36px] cursor-pointer text-indigo-400 border-indigo-400 hover:border-indigo-500 hover:text-indigo-500 border-2 rounded-full shadow-xs flex items-center justify-center",onClick:()=>{"xml"===e?n("json"):"json"===e&&n("xml")},children:["xml"===e&&ti,"json"===e&&ni]})}const ti=e("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:e("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M6 2.984V2h-.09c-.313 0-.616.062-.909.185a2.33 2.33 0 0 0-.775.53 2.23 2.23 0 0 0-.493.753v.001a3.542 3.542 0 0 0-.198.83v.002a6.08 6.08 0 0 0-.024.863c.012.29.018.58.018.869 0 .203-.04.393-.117.572v.001a1.504 1.504 0 0 1-.765.787 1.376 1.376 0 0 1-.558.115H2v.984h.09c.195 0 .38.04.556.121l.001.001c.178.078.329.184.455.318l.002.002c.13.13.233.285.307.465l.001.002c.078.18.117.368.117.566 0 .29-.006.58-.018.869-.012.296-.004.585.024.87v.001c.033.283.099.558.197.824v.001c.106.273.271.524.494.753.223.23.482.407.775.53.293.123.596.185.91.185H6v-.984h-.09c-.2 0-.387-.038-.563-.115a1.613 1.613 0 0 1-.457-.32 1.659 1.659 0 0 1-.309-.467c-.074-.18-.11-.37-.11-.573 0-.228.003-.453.011-.672.008-.228.008-.45 0-.665a4.639 4.639 0 0 0-.055-.64 2.682 2.682 0 0 0-.168-.609A2.284 2.284 0 0 0 3.522 8a2.284 2.284 0 0 0 .738-.955c.08-.192.135-.393.168-.602.033-.21.051-.423.055-.64.008-.22.008-.442 0-.666-.008-.224-.012-.45-.012-.678a1.47 1.47 0 0 1 .877-1.354 1.33 1.33 0 0 1 .563-.121H6zm4 10.032V14h.09c.313 0 .616-.062.909-.185.293-.123.552-.3.775-.53.223-.23.388-.48.493-.753v-.001c.1-.266.165-.543.198-.83v-.002c.028-.28.036-.567.024-.863-.012-.29-.018-.58-.018-.869 0-.203.04-.393.117-.572v-.001a1.502 1.502 0 0 1 .765-.787 1.38 1.38 0 0 1 .558-.115H14v-.984h-.09c-.196 0-.381-.04-.557-.121l-.001-.001a1.376 1.376 0 0 1-.455-.318l-.002-.002a1.415 1.415 0 0 1-.307-.465v-.002a1.405 1.405 0 0 1-.118-.566c0-.29.006-.58.018-.869a6.174 6.174 0 0 0-.024-.87v-.001a3.537 3.537 0 0 0-.197-.824v-.001a2.23 2.23 0 0 0-.494-.753 2.331 2.331 0 0 0-.775-.53 2.325 2.325 0 0 0-.91-.185H10v.984h.09c.2 0 .387.038.562.115.174.082.326.188.457.32.127.134.23.29.309.467.074.18.11.37.11.573 0 .228-.003.452-.011.672-.008.228-.008.45 0 .665.004.222.022.435.055.64.033.214.089.416.168.609a2.285 2.285 0 0 0 .738.955 2.285 2.285 0 0 0-.738.955 2.689 2.689 0 0 0-.168.602c-.033.21-.051.423-.055.64a9.15 9.15 0 0 0 0 .666c.008.224.012.45.012.678a1.471 1.471 0 0 1-.877 1.354 1.33 1.33 0 0 1-.563.121H10z"})}),ni=e("svg",{width:"16px",height:"16px",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:e("path",{d:"M4.708 5.578L2.061 8.224l2.647 2.646-.708.708-3-3V7.87l3-3 .708.708zm7-.708L11 5.578l2.647 2.646L11 10.87l.708.708 3-3V7.87l-3-3zM4.908 13l.894.448 5-10L9.908 3l-5 10z"})});function ri(...e){const t=Array.from(e);return t.__AnyOf__=!0,t}function si(...e){return Array.from(e)}function ai(e){return!0===e.__AnyOf__}class ii{system_roles;roles;permissions;constructor(e,t){if(!e.authToken)throw new Error("No auth token found in user session");this.system_roles=t;const n=new Set(e.authToken.account_roles||[]);if(e.authToken.project_roles)for(const t of e.authToken.project_roles)n.add(t);this.roles=n;const r={};for(const e of t)r[e.name]=e.permissions;const s=new Set;for(const e of n){const t=r[e];if(t)for(const e of t)s.add(e)}this.permissions=s}hasPermission(e){if("string"==typeof e)return this.permissions.has(e);if(ai(e))return e.some((e=>this.permissions.has(e)));for(const t of e)if(!this.permissions.has(t))return!1;return!0}}const li=d(void 0);function oi(){const e=m(li);if(!e)throw new Error("UserPermissionContext cannot be used outside UserPermissionProvider");return e}function ci({children:t}){const n=Ce(),{data:r,error:s,isLoading:a}=V((()=>n.user?n.client.iam.roles.list():Promise.resolve(void 0)),[n.user]),i=l((()=>n.authToken&&r&&!a?new ii(n,r):void 0),[n,r,a]);return s?e(Q,{title:"Failed to fetch role mappings",children:s.message}):i&&e(li.Provider,{value:i,children:t})}function di({permission:t,isDisabled:n,title:r,children:s,...a}){return oi().hasPermission(t)||(n=!0,r="You do not have permission to perform this action"),e(y,{isDisabled:n,title:r,...a,children:s})}function mi({permission:t,...n}){return oi().hasPermission(t)?e(Mt,{...n}):null}function ui({user:n}){return t("div",{className:"flex items-center",children:[e("div",{className:"w-9 h-9",children:(()=>{if(n.picture)return e("img",{className:"inline-block h-9 w-9 rounded-full",src:n.picture,alt:n.name});{const t=n.name.split(" ").map((e=>e[0])).join("");return e("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-indigo-600",children:e("span",{className:"text-sm font-medium leading-none text-white",children:t})})}})()}),t("div",{className:"ml-3",children:[e("p",{className:"text-sm font-medium text-gray-700 dark:text-slate-50 group-hover:text-gray-900",children:n.name??"Deleted User"}),e("p",{className:"text-xs font-medium text-gray-500 dark:text-slate-300 group-hover:text-gray-700",children:n.email??"Deleted User"})]})]})}export{Bt as ActivitiesDoc,Ht as ActivityDoc,sa as AddToCollectionAction,ra as AddToCollectionActionComponent,si as AllOf,tn as AnimatedThinkingDots,ri as AnyOf,ir as ApiKeyAvatar,ls as BrowseCollectionView,zs as ChangeTypeAction,Os as ChangeTypeActionComponent,us as CollectionsTable,Nn as ContentDispositionButton,Ns as ContentObjectTypesSearch,ps as ContentObjectTypesTable,_n as ContentOverview,ds as CreateCollectionForm,ms as CreateCollectionModal,vs as CreateOrUpdateTypeModal,Rs as DeleteObjectsAction,Ds as DeleteObjectsActionComponent,Sr as DocumentGridView,Mn as DocumentIcon,Gr as DocumentInput,Qr as DocumentPreviewPanel,_r as DocumentSearch,Mr as DocumentSearchProvider,ts as DocumentSearchResults,es as DocumentSearchResultsWithDropZone,pr as DocumentSelection,yr as DocumentSelectionProvider,Fr as DocumentTable,kr as DocumentTableColumn,Cr as DocumentTableView,Ur as DocumentUploadModal,$s as EditCollectionView,Wn as EnvironmentFacet,Vs as ExportPropertiesAction,Ms as ExportPropertiesComponent,ss as ExportPropertiesModal,rs as ExportTypes,Kn as FacetsNav,Er as FileUploadAction,Ta as GenericPageNavHeader,Qn as InteractionFacet,en as JumpingDots,Xa as MagicPdfView,fa as ModernAgentConversation,Ia as NotFoundView,Cs as ObjectSchemaEditor,gs as ObjectTypeSearch,fs as ObjectTypeSearchContext,Ss as ObjectTypeSearchProvider,Qs as ObjectsActionContext,Xs as ObjectsActionContextProvider,ka as PanelErrorBoundary,gn as PayloadBuilder,bn as PayloadBuilderProvider,fn as PayloadContext,Sn as PropertiesEditorModal,nn as PulsatingCircle,sn as PulsingMessageLoader,Ws as RemoveFromCollectionAction,qs as RemoveFromCollectionActionComponent,Sa as RowErrorBoundary,Cn as SaveVersionConfirmModal,jr as SearchContext,di as SecureButton,mi as SecureSidebarItem,Us as SelectCollection,cs as SelectContentType,_s as SelectContentTypeModal,qr as SelectDocument,Jr as SelectDocumentModal,la as SelectionActions,Js as StartWorkflowAction,Bs as StartWorkflowComponent,Bn as StringFacet,Jn as StringListFacet,Ps as TableLayoutEditor,an as ThinkingBar,cn as ThinkingMessages,Gn as TypeFacet,rn as TypedDots,ca as UploadObjectsButton,ui as UserAvatar,cr as UserFacet,rr as UserInfo,ci as UserPermissionProvider,ii as UserPermissions,hr as VFacetsNav,dr as VStringFacet,mr as VTypeFacet,ur as VUserFacet,va as VertesiaErrorBoundary,ln as WavyThinking,ja as WidgetErrorBoundary,hs as collectionIcon,ai as isAnyOf,Ln as isCsv,An as isImage,Un as isPdf,On as isVideo,Rn as retrieveRendition,Na as setErrorBoundaryComponent,jn as shortId,Pn as shortenString,Ts as stringifyTableLayout,Pr as useDocumentSearch,$r as useDocumentSearchCount,fr as useDocumentSelection,Or as useDocumentUploadHandler,Kr as useDownloadDocument,Xn as useFetchUserInfo,ta as useObjectsActionCallback,ea as useObjectsActionContext,br as useOptionalDocumentSelection,yn as usePayloadBuilder,bs as useSearch,xs as useSearchCount,Ar as useSmartFileUploadProcessing,na as useStartWorkflowCallback,oi as useUserPermissions,Tr as useWatchDocumentSearchFacets,Ir as useWatchDocumentSearchResult,ys as useWatchSearchResult};
2
2
  //# sourceMappingURL=vertesia-ui-features.js.map