@vertesia/ui 1.6.0-dev.20261014.015055Z → 1.6.0-dev.20261022.120426Z

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 (62) hide show
  1. package/lib/core/components/shadcn/selectBox.js +1 -1
  2. package/lib/core/components/shadcn/selectBox.js.map +1 -1
  3. package/lib/features/agent/PayloadBuilder.d.ts +1 -1
  4. package/lib/features/oauth/useMcpConnections.d.ts.map +1 -1
  5. package/lib/features/oauth/useMcpConnections.js +21 -8
  6. package/lib/features/oauth/useMcpConnections.js.map +1 -1
  7. package/lib/features/store/objects/DocumentTable.d.ts.map +1 -1
  8. package/lib/features/store/objects/DocumentTable.js +0 -9
  9. package/lib/features/store/objects/DocumentTable.js.map +1 -1
  10. package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  11. package/lib/features/store/objects/components/ContentOverview.js +2 -30
  12. package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
  13. package/lib/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  14. package/lib/features/store/objects/components/VectorSearchWidget.js +1 -1
  15. package/lib/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  16. package/lib/features/store/objects/components/textPanelSource.d.ts +14 -0
  17. package/lib/features/store/objects/components/textPanelSource.d.ts.map +1 -0
  18. package/lib/features/store/objects/components/textPanelSource.js +52 -0
  19. package/lib/features/store/objects/components/textPanelSource.js.map +1 -0
  20. package/lib/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  21. package/lib/features/store/objects/upload/DocumentUploadModal.js +13 -9
  22. package/lib/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  23. package/lib/session/auth/oauth.d.ts.map +1 -1
  24. package/lib/session/auth/oauth.js +18 -10
  25. package/lib/session/auth/oauth.js.map +1 -1
  26. package/lib/vertesia-ui-boot.js.map +1 -1
  27. package/lib/vertesia-ui-core.js +76 -76
  28. package/lib/vertesia-ui-core.js.map +1 -1
  29. package/lib/vertesia-ui-env.js.map +1 -1
  30. package/lib/vertesia-ui-features.js +339 -339
  31. package/lib/vertesia-ui-features.js.map +1 -1
  32. package/lib/vertesia-ui-i18n.js +1 -1
  33. package/lib/vertesia-ui-i18n.js.map +1 -1
  34. package/lib/vertesia-ui-layout.js +16 -16
  35. package/lib/vertesia-ui-layout.js.map +1 -1
  36. package/lib/vertesia-ui-rich-text.js +118 -118
  37. package/lib/vertesia-ui-rich-text.js.map +1 -1
  38. package/lib/vertesia-ui-router.js +1 -1
  39. package/lib/vertesia-ui-router.js.map +1 -1
  40. package/lib/vertesia-ui-session.js +1 -1
  41. package/lib/vertesia-ui-session.js.map +1 -1
  42. package/lib/vertesia-ui-shell.js +26 -26
  43. package/lib/vertesia-ui-shell.js.map +1 -1
  44. package/lib/vertesia-ui-widgets.js +148 -148
  45. package/lib/vertesia-ui-widgets.js.map +1 -1
  46. package/lib/widgets/markdown/MermaidDiagram.d.ts.map +1 -1
  47. package/lib/widgets/markdown/MermaidDiagram.js +5 -2
  48. package/lib/widgets/markdown/MermaidDiagram.js.map +1 -1
  49. package/lib/widgets/upload/DropZone.d.ts.map +1 -1
  50. package/lib/widgets/upload/DropZone.js +1 -0
  51. package/lib/widgets/upload/DropZone.js.map +1 -1
  52. package/package.json +46 -41
  53. package/src/core/components/shadcn/selectBox.tsx +1 -1
  54. package/src/features/oauth/useMcpConnections.ts +26 -8
  55. package/src/features/store/objects/DocumentTable.tsx +0 -9
  56. package/src/features/store/objects/components/ContentOverview.tsx +2 -34
  57. package/src/features/store/objects/components/VectorSearchWidget.tsx +4 -2
  58. package/src/features/store/objects/components/textPanelSource.ts +58 -0
  59. package/src/features/store/objects/upload/DocumentUploadModal.tsx +14 -10
  60. package/src/session/auth/oauth.ts +18 -9
  61. package/src/widgets/markdown/MermaidDiagram.tsx +5 -2
  62. package/src/widgets/upload/DropZone.tsx +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidDiagram.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/MermaidDiagram.tsx"],"names":[],"mappings":"AAqDA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAsCD,MAAM,WAAW,mBAAmB;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,mBAAmB,sCAqEtE"}
1
+ {"version":3,"file":"MermaidDiagram.d.ts","sourceRoot":"","sources":["../../../src/widgets/markdown/MermaidDiagram.tsx"],"names":[],"mappings":"AAqDA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsBrD;AAyCD,MAAM,WAAW,mBAAmB;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,mBAAmB,sCAqEtE"}
@@ -72,7 +72,10 @@ function loadMermaid() {
72
72
  mermaid.initialize({
73
73
  startOnLoad: false,
74
74
  theme: 'default',
75
- securityLevel: 'loose',
75
+ // Diagram source comes from LLM output and documents, so it is untrusted. 'strict' makes Mermaid
76
+ // sanitize the whole SVG with DOMPurify, drop `javascript:` link targets and ignore click callbacks;
77
+ // 'loose' let `click A href "javascript:…"` through to the page.
78
+ securityLevel: 'strict',
76
79
  fontFamily: MERMAID_FONT_FAMILY,
77
80
  suppressErrorRendering: true,
78
81
  flowchart: {
@@ -157,7 +160,7 @@ export function MermaidDiagram({ code, className }) {
157
160
  return (_jsx("div", { className: `my-4 p-4 bg-muted rounded-lg animate-pulse ${className || ''}`, children: _jsx("div", { className: "h-32 bg-muted rounded" }) }));
158
161
  }
159
162
  return (_jsx("div", { ref: containerRef, className: `my-4 w-full overflow-x-auto [&_svg]:mx-auto [&_svg]:w-full [&_svg]:h-auto [&_svg]:max-w-full ${className || ''}`,
160
- // biome-ignore lint/security/noDangerouslySetInnerHtml: SVG is produced by Mermaid renderer from a known mermaid-source string
163
+ // biome-ignore lint/security/noDangerouslySetInnerHtml: Mermaid sanitizes its SVG output under securityLevel 'strict'
161
164
  dangerouslySetInnerHTML: { __html: svg } }));
162
165
  }
163
166
  //# sourceMappingURL=MermaidDiagram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidDiagram.js","sourceRoot":"","sources":["../../../src/widgets/markdown/MermaidDiagram.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MermaidDiagram.js","sourceRoot":"","sources":["../../../src/widgets/markdown/MermaidDiagram.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI3D,MAAM,mBAAmB,GACrB,mGAAmG,CAAC;AAExG;;;;GAIG;AACH,SAAS,8BAA8B,CAAC,IAAY;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClD,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,UAAU,IAAI,IAAI,CAAC;YACnB,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClD,aAAa,GAAG,CAAC,aAAa,CAAC;YAC/B,UAAU,IAAI,IAAI,CAAC;YACnB,SAAS;QACb,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACzB,CAAC,EAAE,CAAC;YACR,CAAC;YAED,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrB,UAAU,IAAI,OAAO,CAAC;gBACtB,CAAC,GAAG,CAAC,CAAC;gBACN,SAAS;YACb,CAAC;QACL,CAAC;QAED,UAAU,IAAI,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW;IACzC,8EAA8E;IAC9E,+EAA+E;IAC/E,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;QAC1D,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAEvF,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,SAAS,GAAG,SAAS,CAAC,OAAO,CACzB,kBAAkB,EAClB,CAAC,UAAU,EAAE,UAAkB,EAAE,EAAE,CAC/B,UAAU,UAAU,wDAAwD,CACnF,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,SAAS,IAAI,+DAA+D,CAAC;QACjF,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3C,SAAS,IAAI,sCAAsC,CAAC;QACxD,CAAC;QAED,OAAO,OAAO,SAAS,GAAG,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAI,cAA4C,CAAC;AAEjD;;;;GAIG;AACH,SAAS,WAAW;IAChB,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7D,OAAO,CAAC,UAAU,CAAC;gBACf,WAAW,EAAE,KAAK;gBAClB,KAAK,EAAE,SAAS;gBAChB,iGAAiG;gBACjG,qGAAqG;gBACrG,iEAAiE;gBACjE,aAAa,EAAE,QAAQ;gBACvB,UAAU,EAAE,mBAAmB;gBAC/B,sBAAsB,EAAE,IAAI;gBAC5B,SAAS,EAAE;oBACP,UAAU,EAAE,IAAI;oBAChB,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,EAAE;oBACf,WAAW,EAAE,EAAE;oBACf,OAAO,EAAE,EAAE;iBACd;gBACD,QAAQ,EAAE;oBACN,WAAW,EAAE,IAAI;iBACpB;gBACD,cAAc,EAAE;oBACZ,UAAU,EAAE,mBAAmB;iBAClC;aACJ,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,cAAc,CAAC;AAC1B,CAAC;AASD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAuB;IACnE,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,oBAAoB;gBACpB,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEf,qCAAqC;gBACrC,MAAM,EAAE,GAAG,WAAW,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC/C,MAAM,cAAc,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;gBAE5D,qBAAqB;gBACrB,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;gBACpC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;gBACtE,MAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAErD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC,CAAC;oBACxF,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,KAAK,aAAa,EAAE,CAAC;QAErB,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErB,8DAA8D;IAC9D,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,CACH,cAAK,SAAS,EAAE,8CAA8C,SAAS,IAAI,EAAE,EAAE,YAC3E,cAAK,SAAS,EAAC,uBAAuB,GAAO,GAC3C,CACT,CAAC;IACN,CAAC;IAED,OAAO,CACH,cACI,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,gGAAgG,SAAS,IAAI,EAAE,EAAE;QAC5H,sHAAsH;QACtH,uBAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAC1C,CACL,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropZone.d.ts","sourceRoot":"","sources":["../../../src/widgets/upload/DropZone.tsx"],"names":[],"mappings":"AA+BA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAEpF;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAmB,EAAE,SAAc,EAAE,EAAE,aAAa,+BA0M5G"}
1
+ {"version":3,"file":"DropZone.d.ts","sourceRoot":"","sources":["../../../src/widgets/upload/DropZone.tsx"],"names":[],"mappings":"AA+BA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAEpF;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAmB,EAAE,SAAc,EAAE,EAAE,aAAa,+BA2M5G"}
@@ -39,6 +39,7 @@ export function DropZone({ onDrop, message, buttonLabel, allowFolders = true, cl
39
39
  };
40
40
  const handleDrop = async (e) => {
41
41
  e.preventDefault();
42
+ e.stopPropagation();
42
43
  setIsDragging(false);
43
44
  if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {
44
45
  // Handle folders using the DataTransferItemList API which supports directory reading
@@ -1 +1 @@
1
- {"version":3,"file":"DropZone.js","sourceRoot":"","sources":["../../../src/widgets/upload/DropZone.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropZone.js","sourceRoot":"","sources":["../../../src/widgets/upload/DropZone.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertesia/ui",
3
- "version": "1.6.0-dev.20261014.015055Z",
3
+ "version": "1.6.0-dev.20261022.120426Z",
4
4
  "description": "Vertesia UI components and and hooks",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -29,29 +29,29 @@
29
29
  "@floating-ui/dom": "^1.8.0",
30
30
  "@floating-ui/react": "^0.27.20",
31
31
  "@monaco-editor/react": "^4.7.0",
32
- "@radix-ui/react-checkbox": "^1.3.11",
33
- "@radix-ui/react-collapsible": "^1.1.20",
34
- "@radix-ui/react-dialog": "^1.1.23",
35
- "@radix-ui/react-direction": "^1.1.4",
36
- "@radix-ui/react-dismissable-layer": "^1.1.19",
37
- "@radix-ui/react-dropdown-menu": "^2.1.24",
38
- "@radix-ui/react-focus-guards": "^1.1.6",
39
- "@radix-ui/react-focus-scope": "^1.1.16",
40
- "@radix-ui/react-label": "^2.1.15",
41
- "@radix-ui/react-popover": "^1.1.23",
42
- "@radix-ui/react-portal": "^1.1.17",
43
- "@radix-ui/react-radio-group": "^1.4.7",
44
- "@radix-ui/react-separator": "^1.1.15",
45
- "@radix-ui/react-slider": "^1.4.7",
46
- "@radix-ui/react-slot": "^1.3.3",
47
- "@radix-ui/react-switch": "^1.3.7",
48
- "@radix-ui/react-tabs": "^1.1.21",
49
- "@radix-ui/react-tooltip": "^1.2.16",
50
- "@vertesia/client": "1.6.0-dev.20261014.015055Z",
51
- "@vertesia/common": "1.6.0-dev.20261014.015055Z",
52
- "@vertesia/fusion-ux": "1.6.0-dev.20261014.015055Z",
53
- "@vertesia/json": "1.6.0-dev.20261014.015055Z",
54
- "@vertesia/rich-text": "1.6.0-dev.20261014.015055Z",
32
+ "@radix-ui/react-checkbox": "^1.4.0",
33
+ "@radix-ui/react-collapsible": "^1.2.0",
34
+ "@radix-ui/react-dialog": "^1.3.0",
35
+ "@radix-ui/react-direction": "^1.2.0",
36
+ "@radix-ui/react-dismissable-layer": "^1.2.0",
37
+ "@radix-ui/react-dropdown-menu": "^2.2.0",
38
+ "@radix-ui/react-focus-guards": "^1.2.0",
39
+ "@radix-ui/react-focus-scope": "^1.3.0",
40
+ "@radix-ui/react-label": "^2.1.17",
41
+ "@radix-ui/react-popover": "^1.3.0",
42
+ "@radix-ui/react-portal": "^1.2.0",
43
+ "@radix-ui/react-radio-group": "^1.5.0",
44
+ "@radix-ui/react-separator": "^1.2.0",
45
+ "@radix-ui/react-slider": "^1.6.0",
46
+ "@radix-ui/react-slot": "^1.5.0",
47
+ "@radix-ui/react-switch": "^1.4.0",
48
+ "@radix-ui/react-tabs": "^1.2.0",
49
+ "@radix-ui/react-tooltip": "^1.4.0",
50
+ "@vertesia/client": "1.6.0-dev.20261022.120426Z",
51
+ "@vertesia/common": "1.6.0-dev.20261022.120426Z",
52
+ "@vertesia/fusion-ux": "1.6.0-dev.20261022.120426Z",
53
+ "@vertesia/json": "1.6.0-dev.20261022.120426Z",
54
+ "@vertesia/rich-text": "1.6.0-dev.20261022.120426Z",
55
55
  "ajv": "^8.20.0",
56
56
  "ajv-formats": "^3.0.1",
57
57
  "aria-hidden": "^1.2.6",
@@ -60,30 +60,30 @@
60
60
  "cmdk": "^1.1.1",
61
61
  "dayjs": "^1.11.23",
62
62
  "debounce": "^3.0.0",
63
- "dompurify": "^3.4.16",
63
+ "dompurify": "^3.4.17",
64
64
  "fast-xml-parser": "^5.11.2",
65
- "firebase": "^12.19.0",
66
- "framer-motion": "^13.5.1",
67
- "i18next": "^26.4.2",
65
+ "firebase": "^13.0.0",
66
+ "framer-motion": "^14.1.0",
67
+ "i18next": "^26.4.4",
68
68
  "jwt-decode": "^4.0.0",
69
69
  "katex": "^0.19.0",
70
70
  "lodash-es": "^4.18.1",
71
- "lucide-react": "^1.52.0",
72
- "mermaid": "^12.1.0",
71
+ "lucide-react": "^1.55.0",
72
+ "mermaid": "^12.2.0",
73
73
  "monaco-editor": "^0.57.0",
74
- "motion": "^13.5.1",
74
+ "motion": "^14.1.0",
75
75
  "papaparse": "^5.7.0",
76
76
  "react": "19.3.0",
77
77
  "react-calendar": "^6.0.1",
78
78
  "react-date-picker": "^12.1.0",
79
79
  "react-dom": "19.3.0",
80
80
  "react-error-boundary": "^6.1.6",
81
- "react-i18next": "^17.0.15",
81
+ "react-i18next": "^17.0.16",
82
82
  "react-markdown": "^10.1.0",
83
- "react-pdf": "^10.5.0",
83
+ "react-pdf": "^11.0.0",
84
84
  "react-remove-scroll": "^2.7.2",
85
85
  "react-remove-scroll-bar": "^2.3.8",
86
- "react-resizable-panels": "^4.14.2",
86
+ "react-resizable-panels": "^4.14.4",
87
87
  "react-style-singleton": "^2.2.3",
88
88
  "react-vega": "^8.0.0",
89
89
  "rehype-katex": "^7.0.1",
@@ -98,26 +98,26 @@
98
98
  "unist-util-visit": "^5.1.0",
99
99
  "vega": "^6.4.0",
100
100
  "vega-embed": "^7.3.0",
101
- "vega-lite": "^6.4.3"
101
+ "vega-lite": "^6.5.0"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@testing-library/react": "^16.3.3",
105
- "@testing-library/user-event": "^14.6.7",
105
+ "@testing-library/user-event": "^14.6.8",
106
106
  "@types/hast": "^3.0.5",
107
107
  "@types/lodash-es": "^4.17.12",
108
- "@types/node": "^24.19.1",
108
+ "@types/node": "^24.19.2",
109
109
  "@types/papaparse": "^5.5.2",
110
110
  "@types/react": "19.3.0",
111
111
  "@types/react-dom": "19.3.0",
112
112
  "@vertesia/tsconfig": "0.1.0",
113
113
  "axe-core": "^4.14.0",
114
114
  "culori": "^4.0.2",
115
- "i18next-cli": "^1.74.8",
115
+ "i18next-cli": "^1.75.3",
116
116
  "jsdom": "^30.1.2",
117
- "rolldown": "1.2.12",
117
+ "rolldown": "1.2.14",
118
118
  "tailwindcss": "^4.3.3",
119
119
  "typescript": "7.0.2",
120
- "vitest": "5.0.3",
120
+ "vitest": "5.0.4",
121
121
  "vitest-axe": "^0.1.0",
122
122
  "wcag-contrast": "^3.0.0"
123
123
  },
@@ -193,7 +193,12 @@
193
193
  "url": "https://github.com/vertesia/composableai.git",
194
194
  "directory": "packages/ui"
195
195
  },
196
- "gitHead": "468240ecf939f968e1324116be26386cdf5ada49",
196
+ "gitHead": "bcaa7879b601ce9ccc394bcd3257822da13869cd",
197
+ "releaseIdentity": {
198
+ "source_sha": "bcaa7879b601ce9ccc394bcd3257822da13869cd",
199
+ "dependency_sha": "93466e47b06db23ac3c800e248d170afe65e5006",
200
+ "lock_sha256": "117e1c8068aa07d59117323a51ceccfc96cab543e50c03eb7efc19709d6f5e6b"
201
+ },
197
202
  "scripts": {
198
203
  "clean:lib": "rimraf ./lib ./tsconfig.tsbuildinfo",
199
204
  "clean": "rimraf ./node_modules ./lib ./tsconfig.tsbuildinfo",
@@ -191,7 +191,7 @@ export function SelectBox<T = unknown>({
191
191
  } else if (typeof filterBy === 'string') {
192
192
  return (o: T) => String(getProperty(o, filterBy)).toLowerCase();
193
193
  } else {
194
- return filterBy;
194
+ return (o: T) => filterBy(o).toLowerCase();
195
195
  }
196
196
  }
197
197
 
@@ -49,6 +49,8 @@ export function useMcpConnections() {
49
49
 
50
50
  for (const app of apps) {
51
51
  const inst = app as AppInstallationWithManifest;
52
+ const activationId = (id: string) =>
53
+ inst.instance_key && inst.instance_key !== 'default' ? `${inst.id}:${id}` : id;
52
54
  const oauthIds = inst.oauth_collection_ids ?? [];
53
55
  const manifestProviders = inst.manifest.oauth_providers ?? {};
54
56
 
@@ -86,10 +88,14 @@ export function useMcpConnections() {
86
88
  allGroups.push({
87
89
  key: `${inst.id}:provider:${providerKey}:${col.id}`,
88
90
  appId: inst.id,
89
- appName: inst.manifest.title || inst.manifest.name,
91
+ appName:
92
+ inst.display_name ||
93
+ (inst.instance_key && inst.instance_key !== 'default'
94
+ ? `${inst.manifest.title || inst.manifest.name} — ${inst.instance_key}`
95
+ : inst.manifest.title || inst.manifest.name),
90
96
  label: col.name,
91
97
  representativeId,
92
- memberIds: [col.id],
98
+ memberIds: [activationId(col.id)],
93
99
  memberNames: [col.name],
94
100
  authType: 'oauth',
95
101
  oauthGrantType: manifestProviders[providerKey]?.grant_type,
@@ -103,10 +109,14 @@ export function useMcpConnections() {
103
109
  allGroups.push({
104
110
  key: `${inst.id}:oauthapp:${oauthApp}:${col.id}`,
105
111
  appId: inst.id,
106
- appName: inst.manifest.title || inst.manifest.name,
112
+ appName:
113
+ inst.display_name ||
114
+ (inst.instance_key && inst.instance_key !== 'default'
115
+ ? `${inst.manifest.title || inst.manifest.name} — ${inst.instance_key}`
116
+ : inst.manifest.title || inst.manifest.name),
107
117
  label: col.name,
108
118
  representativeId,
109
- memberIds: [col.id],
119
+ memberIds: [activationId(col.id)],
110
120
  memberNames: [col.name],
111
121
  authType: 'oauth',
112
122
  });
@@ -117,10 +127,14 @@ export function useMcpConnections() {
117
127
  allGroups.push({
118
128
  key: `${inst.id}:individual:${col.id}`,
119
129
  appId: inst.id,
120
- appName: inst.manifest.title || inst.manifest.name,
130
+ appName:
131
+ inst.display_name ||
132
+ (inst.instance_key && inst.instance_key !== 'default'
133
+ ? `${inst.manifest.title || inst.manifest.name} — ${inst.instance_key}`
134
+ : inst.manifest.title || inst.manifest.name),
121
135
  label: col.name,
122
136
  representativeId: col.id,
123
- memberIds: [col.id],
137
+ memberIds: [activationId(col.id)],
124
138
  memberNames: [col.name],
125
139
  authType: 'oauth',
126
140
  });
@@ -130,10 +144,14 @@ export function useMcpConnections() {
130
144
  allGroups.push({
131
145
  key: `${inst.id}:${col.auth}:${col.id}`,
132
146
  appId: inst.id,
133
- appName: inst.manifest.title || inst.manifest.name,
147
+ appName:
148
+ inst.display_name ||
149
+ (inst.instance_key && inst.instance_key !== 'default'
150
+ ? `${inst.manifest.title || inst.manifest.name} — ${inst.instance_key}`
151
+ : inst.manifest.title || inst.manifest.name),
134
152
  label: col.name,
135
153
  representativeId: col.id,
136
- memberIds: [col.id],
154
+ memberIds: [activationId(col.id)],
137
155
  memberNames: [col.name],
138
156
  authType: col.auth === 'none' ? 'none' : 'api_key',
139
157
  });
@@ -290,15 +290,6 @@ function ObjectTableWithDropZone({
290
290
  setFiles([]);
291
291
  setProcessedFiles(null);
292
292
  setTypeSelectionOpen(false);
293
-
294
- // Complete the upload process with type ID if successful
295
- if (result?.success && result.objectIds.length > 0) {
296
- // We don't have type information here, so pass null (process completed)
297
- onDoUpload(null);
298
- } else {
299
- // Cancel the upload
300
- onDoUpload(undefined);
301
- }
302
293
  }}
303
294
  />
304
295
  </div>
@@ -51,6 +51,7 @@ import {
51
51
  } from './documentEditingRun.js';
52
52
  import { PropertiesEditorModal } from './PropertiesEditorModal';
53
53
  import { TextEditorPanel } from './TextEditorPanel.js';
54
+ import { getTextPanelSource } from './textPanelSource.js';
54
55
  import { useObjectText, useOfficePdfConversion, usePdfProcessingStatus } from './useContentPanelHooks.js';
55
56
  import { useDownloadFile } from './useDownloadFile.js';
56
57
 
@@ -152,23 +153,6 @@ function getContentProcessorType(object: ContentObject): string | undefined {
152
153
  return (object.metadata as DocumentMetadata)?.content_processor?.type;
153
154
  }
154
155
 
155
- /**
156
- * Check if text content appears to be markdown based on common patterns.
157
- */
158
- function looksLikeMarkdown(text: string | undefined): boolean {
159
- if (!text) return false;
160
- return (
161
- text.includes('\n# ') ||
162
- text.includes('\n## ') ||
163
- text.includes('\n### ') ||
164
- text.includes('\n* ') ||
165
- text.includes('\n- ') ||
166
- text.includes('\n+ ') ||
167
- text.includes('![') ||
168
- text.includes('](')
169
- );
170
- }
171
-
172
156
  /**
173
157
  * Helper function to get panel visibility className.
174
158
  * Returns empty string if visible, 'hidden' if not visible.
@@ -1059,23 +1043,7 @@ function TextActions({
1059
1043
  const TextPanel = memo(({ object, text, isTextCropped, textContainerRef, resolveUrl }: TextPanelProps) => {
1060
1044
  const { t } = useUITranslation();
1061
1045
  const isCreatedOrProcessing = isCreatedOrProcessingStatus(object?.status);
1062
- const content = object.content;
1063
- const contentProcessorType = getContentProcessorType(object);
1064
- const isXml = contentProcessorType === 'xml' || content?.type === 'application/xml' || content?.type === 'text/xml';
1065
-
1066
- // Check if content type is markdown or plain text
1067
- const isMarkdownOrText = isDocumentEditingContentType(content?.type);
1068
-
1069
- // Render as markdown if it's markdown/text type OR if text looks like markdown (but not if XML)
1070
- const shouldRenderAsMarkdown = !isXml && (isMarkdownOrText || looksLikeMarkdown(text));
1071
- const source: UniversalDocumentSource = {
1072
- id: object.id,
1073
- title: object.name,
1074
- fileName: object.content?.name || object.name,
1075
- contentType: isXml ? 'text/xml' : shouldRenderAsMarkdown ? 'text/markdown' : object.content?.type,
1076
- content: text,
1077
- sourcePath: object.content?.source,
1078
- };
1046
+ const source = getTextPanelSource(object, text);
1079
1047
 
1080
1048
  return text ? (
1081
1049
  <>
@@ -154,7 +154,9 @@ export function VectorSearchWidget({ onChange, isLoading, refresh, searchTypes }
154
154
  <Checkbox
155
155
  id="search-type-full_text"
156
156
  checked={selectedTypes.includes(SearchTypes.full_text)}
157
- onCheckedChange={handleCheckboxChange(SearchTypes.full_text)}
157
+ onCheckedChange={(checked) =>
158
+ handleCheckboxChange(SearchTypes.full_text)(checked === true)
159
+ }
158
160
  />
159
161
  <Label htmlFor="search-type-full_text">{t('store.fullText')}</Label>
160
162
  </div>
@@ -164,7 +166,7 @@ export function VectorSearchWidget({ onChange, isLoading, refresh, searchTypes }
164
166
  <Checkbox
165
167
  id={`search-type-${type}`}
166
168
  checked={selectedTypes.includes(type)}
167
- onCheckedChange={handleCheckboxChange(type)}
169
+ onCheckedChange={(checked) => handleCheckboxChange(type)(checked === true)}
168
170
  />
169
171
  <Label htmlFor={`search-type-${type}`}>
170
172
  {type.charAt(0).toUpperCase() + type.slice(1)}
@@ -0,0 +1,58 @@
1
+ import type { ContentObject, DocumentMetadata } from '@vertesia/common';
2
+ import type { UniversalDocumentSource } from '../../../document-viewer/UniversalDocumentViewer.js';
3
+ import { isDocumentEditingContentType } from './documentEditingRun.js';
4
+
5
+ /**
6
+ * Check if text content appears to be markdown based on common patterns.
7
+ */
8
+ export function looksLikeMarkdown(text: string | undefined): boolean {
9
+ if (!text) return false;
10
+ return (
11
+ text.includes('\n# ') ||
12
+ text.includes('\n## ') ||
13
+ text.includes('\n### ') ||
14
+ text.includes('\n* ') ||
15
+ text.includes('\n- ') ||
16
+ text.includes('\n+ ') ||
17
+ text.includes('![') ||
18
+ text.includes('](')
19
+ );
20
+ }
21
+
22
+ function isTextualContentType(contentType: string | undefined): boolean {
23
+ return !!contentType && (contentType.startsWith('text/') || contentType.startsWith('application/json'));
24
+ }
25
+
26
+ /**
27
+ * Build the document-viewer source for the Text panel, which renders the object's extracted text.
28
+ * For binary content (image/png, application/pdf, ...) the text is rendered as markdown, and the
29
+ * source must not carry the content's MIME type or path: the viewer would resolve the file and
30
+ * render it instead of the text.
31
+ */
32
+ export function getTextPanelSource(object: ContentObject, text: string | undefined): UniversalDocumentSource {
33
+ const content = object.content;
34
+ const contentProcessorType = (object.metadata as DocumentMetadata | undefined)?.content_processor?.type;
35
+ const isXml = contentProcessorType === 'xml' || content?.type === 'application/xml' || content?.type === 'text/xml';
36
+ const isTextual = isXml || isTextualContentType(content?.type);
37
+ // Render as markdown for binary or markdown/text content, or text that looks like markdown (but not XML)
38
+ const shouldRenderAsMarkdown =
39
+ !isXml && (!isTextual || isDocumentEditingContentType(content?.type) || looksLikeMarkdown(text));
40
+
41
+ let contentType: string | undefined;
42
+ if (isXml) {
43
+ contentType = 'text/xml';
44
+ } else if (shouldRenderAsMarkdown) {
45
+ contentType = 'text/markdown';
46
+ } else {
47
+ contentType = content?.type;
48
+ }
49
+
50
+ return {
51
+ id: object.id,
52
+ title: object.name,
53
+ fileName: content?.name || object.name,
54
+ contentType,
55
+ content: text,
56
+ sourcePath: isTextual ? content?.source : undefined,
57
+ };
58
+ }
@@ -1,4 +1,4 @@
1
- import type { Collection, ContentObjectTypeCatalogEntry, DynamicCollection, JSONObject } from '@vertesia/common';
1
+ import type { Collection, DynamicCollection, JSONObject } from '@vertesia/common';
2
2
  import {
3
3
  Button,
4
4
  errorMessage,
@@ -16,7 +16,7 @@ import { useUITranslation } from '@vertesia/ui/i18n';
16
16
  import { useUserSession } from '@vertesia/ui/session';
17
17
  import { DropZone, UploadSummary } from '@vertesia/ui/widgets';
18
18
  import { AlertCircleIcon, CheckCircleIcon, FileIcon, FolderIcon, Info, UploadIcon, XCircleIcon } from 'lucide-react';
19
- import { type ReactNode, useCallback, useEffect, useMemo, useState } from 'react';
19
+ import { type ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react';
20
20
  import { useTypeRegistry } from '../../types/TypeRegistryProvider.js';
21
21
  import { FileUploadAction, type FileWithMetadata, useSmartFileUploadProcessing } from './useSmartFileUploadProcessing';
22
22
  import type { DocumentUploadResult } from './useUploadHandler';
@@ -96,7 +96,9 @@ export function DocumentUploadModal({
96
96
  const [files, setFiles] = useState<File[]>([]);
97
97
  const [processedFiles, setProcessedFiles] = useState<FileWithMetadata[]>([]);
98
98
  const [processingDone, setProcessingDone] = useState(false);
99
- const [selectedType, setSelectedType] = useState<ContentObjectTypeCatalogEntry | null>(null);
99
+ const [selectedTypeId, setSelectedTypeId] = useState<string | null>(null);
100
+ const selectedType = selectedTypeId ? (typeRegistry?.getType(selectedTypeId) ?? null) : null;
101
+ const wasOpen = useRef(false);
100
102
  const [fileStatuses, setFileStatuses] = useState<FileUploadStatus[]>([]);
101
103
  const [isUploading, setIsUploading] = useState(false);
102
104
  const [uploadComplete, setUploadComplete] = useState(false);
@@ -222,13 +224,15 @@ export function DocumentUploadModal({
222
224
  [checkDocumentProcessing, collectionId, selectedFolder, t, toast],
223
225
  );
224
226
 
225
- // Reset state when modal opens/closes
227
+ // Initialize once per opening; registry/session refreshes must not discard selected files.
226
228
  useEffect(() => {
227
- if (isOpen) {
229
+ const opening = isOpen && !wasOpen.current;
230
+ wasOpen.current = isOpen;
231
+ if (opening) {
228
232
  // Always reset state first
229
233
  setProcessedFiles([]);
230
234
  setProcessingDone(false);
231
- setSelectedType(initialTypeId ? (typeRegistry?.getType(initialTypeId) ?? null) : null);
235
+ setSelectedTypeId(initialTypeId ?? null);
232
236
  setFileStatuses([]);
233
237
  setIsUploading(false);
234
238
  setUploadComplete(false);
@@ -249,7 +253,7 @@ export function DocumentUploadModal({
249
253
  // Create a new key to ensure the modal is fresh
250
254
  setModalKey(Date.now());
251
255
  }
252
- }, [initialFiles, initialTypeId, isOpen, processFiles, resolvedTitle, typeRegistry]);
256
+ }, [initialFiles, initialTypeId, isOpen, processFiles, resolvedTitle]);
253
257
 
254
258
  // Complete cleanup when modal closes
255
259
  const handleClose = () => {
@@ -257,7 +261,7 @@ export function DocumentUploadModal({
257
261
  setFiles([]);
258
262
  setProcessedFiles([]);
259
263
  setProcessingDone(false);
260
- setSelectedType(null);
264
+ setSelectedTypeId(null);
261
265
  setFileStatuses([]);
262
266
  setIsUploading(false);
263
267
  setUploadComplete(false);
@@ -597,7 +601,7 @@ export function DocumentUploadModal({
597
601
  value={selectedType}
598
602
  optionLabel={(type) => (type ? type.name : t('store.selectContentTypeLabel'))}
599
603
  placeholder={t('store.selectContentTypeAuto')}
600
- onChange={(selected) => setSelectedType(selected === undefined ? null : selected)}
604
+ onChange={(selected) => setSelectedTypeId(selected?.id ?? null)}
601
605
  filterBy="name"
602
606
  isClearable
603
607
  />
@@ -909,7 +913,7 @@ export function DocumentUploadModal({
909
913
  setFiles([]);
910
914
  setProcessedFiles([]);
911
915
  setProcessingDone(false);
912
- setSelectedType(null);
916
+ setSelectedTypeId(null);
913
917
  setFileStatuses([]);
914
918
  setIsUploading(false);
915
919
  setUploadComplete(false);