@vertesia/ui 1.5.0-dev.20260713.151751Z → 1.5.0-dev.20260717.131047Z

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 (135) hide show
  1. package/lib/env/index.d.ts +19 -0
  2. package/lib/env/index.d.ts.map +1 -1
  3. package/lib/env/index.js +6 -0
  4. package/lib/env/index.js.map +1 -1
  5. package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
  6. package/lib/features/agent/chat/ArtifactsTab.js +65 -11
  7. package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
  8. package/lib/features/agent/chat/ModernAgentConversation.js +51 -48
  9. package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
  10. package/lib/features/agent/chat/hooks/useArtifacts.d.ts +8 -1
  11. package/lib/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -1
  12. package/lib/features/agent/chat/hooks/useArtifacts.js +28 -10
  13. package/lib/features/agent/chat/hooks/useArtifacts.js.map +1 -1
  14. package/lib/features/document-viewer/UniversalDocumentViewer.d.ts +73 -0
  15. package/lib/features/document-viewer/UniversalDocumentViewer.d.ts.map +1 -0
  16. package/lib/features/document-viewer/UniversalDocumentViewer.js +415 -0
  17. package/lib/features/document-viewer/UniversalDocumentViewer.js.map +1 -0
  18. package/lib/features/document-viewer/index.d.ts +2 -0
  19. package/lib/features/document-viewer/index.d.ts.map +1 -0
  20. package/lib/features/document-viewer/index.js +2 -0
  21. package/lib/features/document-viewer/index.js.map +1 -0
  22. package/lib/features/index.d.ts +1 -0
  23. package/lib/features/index.d.ts.map +1 -1
  24. package/lib/features/index.js +1 -0
  25. package/lib/features/index.js.map +1 -1
  26. package/lib/features/permissions/UserPermissionsProvider.d.ts +2 -3
  27. package/lib/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
  28. package/lib/features/permissions/UserPermissionsProvider.js +31 -38
  29. package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
  30. package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  31. package/lib/features/store/objects/components/ContentOverview.js +73 -13
  32. package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
  33. package/lib/i18n/locales/ar.json +2 -0
  34. package/lib/i18n/locales/de.json +2 -0
  35. package/lib/i18n/locales/en.json +2 -0
  36. package/lib/i18n/locales/es.json +2 -0
  37. package/lib/i18n/locales/fr.json +2 -0
  38. package/lib/i18n/locales/it.json +2 -0
  39. package/lib/i18n/locales/ja.json +2 -0
  40. package/lib/i18n/locales/ko.json +2 -0
  41. package/lib/i18n/locales/pt.json +2 -0
  42. package/lib/i18n/locales/ru.json +2 -0
  43. package/lib/i18n/locales/tr.json +2 -0
  44. package/lib/i18n/locales/zh-TW.json +2 -0
  45. package/lib/i18n/locales/zh.json +2 -0
  46. package/lib/router/HistoryNavigator.d.ts.map +1 -1
  47. package/lib/router/HistoryNavigator.js +4 -1
  48. package/lib/router/HistoryNavigator.js.map +1 -1
  49. package/lib/router/Nav.d.ts.map +1 -1
  50. package/lib/router/Nav.js +7 -1
  51. package/lib/router/Nav.js.map +1 -1
  52. package/lib/router/Router.d.ts.map +1 -1
  53. package/lib/router/Router.js +19 -4
  54. package/lib/router/Router.js.map +1 -1
  55. package/lib/router/path.d.ts +15 -0
  56. package/lib/router/path.d.ts.map +1 -1
  57. package/lib/router/path.js +43 -0
  58. package/lib/router/path.js.map +1 -1
  59. package/lib/session/UserSession.d.ts +6 -0
  60. package/lib/session/UserSession.d.ts.map +1 -1
  61. package/lib/session/UserSession.js +31 -9
  62. package/lib/session/UserSession.js.map +1 -1
  63. package/lib/session/UserSessionProvider.d.ts.map +1 -1
  64. package/lib/session/UserSessionProvider.js +111 -49
  65. package/lib/session/UserSessionProvider.js.map +1 -1
  66. package/lib/session/auth/composable.d.ts.map +1 -1
  67. package/lib/session/auth/composable.js +52 -3
  68. package/lib/session/auth/composable.js.map +1 -1
  69. package/lib/session/auth/domainRouting.d.ts +25 -0
  70. package/lib/session/auth/domainRouting.d.ts.map +1 -1
  71. package/lib/session/auth/domainRouting.js +36 -0
  72. package/lib/session/auth/domainRouting.js.map +1 -1
  73. package/lib/shell/login/SignInRestrictedEnvStep.d.ts +1 -1
  74. package/lib/shell/login/SignInRestrictedEnvStep.js +1 -1
  75. package/lib/shell/login/SigninScreen.js +9 -1
  76. package/lib/shell/login/SigninScreen.js.map +1 -1
  77. package/lib/shell/login/productionUrl.d.ts +0 -14
  78. package/lib/shell/login/productionUrl.d.ts.map +1 -1
  79. package/lib/shell/login/productionUrl.js +14 -5
  80. package/lib/shell/login/productionUrl.js.map +1 -1
  81. package/lib/vertesia-ui-core.js +3 -3
  82. package/lib/vertesia-ui-core.js.map +1 -1
  83. package/lib/vertesia-ui-env.js +1 -1
  84. package/lib/vertesia-ui-env.js.map +1 -1
  85. package/lib/vertesia-ui-features.js +28 -28
  86. package/lib/vertesia-ui-features.js.map +1 -1
  87. package/lib/vertesia-ui-i18n.js +13 -13
  88. package/lib/vertesia-ui-router.js +1 -1
  89. package/lib/vertesia-ui-router.js.map +1 -1
  90. package/lib/vertesia-ui-session.js +1 -1
  91. package/lib/vertesia-ui-session.js.map +1 -1
  92. package/lib/vertesia-ui-shell.js +1 -1
  93. package/lib/vertesia-ui-shell.js.map +1 -1
  94. package/lib/vertesia-ui-widgets.js +2 -2
  95. package/lib/vertesia-ui-widgets.js.map +1 -1
  96. package/llms.txt +70 -70
  97. package/package.json +8 -7
  98. package/src/env/index.ts +24 -0
  99. package/src/features/agent/chat/ArtifactsTab.tsx +155 -21
  100. package/src/features/agent/chat/ModernAgentConversation.tsx +53 -49
  101. package/src/features/agent/chat/hooks/useArtifacts.ts +44 -11
  102. package/src/features/document-viewer/UniversalDocumentViewer.test.tsx +123 -0
  103. package/src/features/document-viewer/UniversalDocumentViewer.tsx +746 -0
  104. package/src/features/document-viewer/index.ts +1 -0
  105. package/src/features/index.ts +1 -0
  106. package/src/features/permissions/UserPermissionsProvider.tsx +36 -39
  107. package/src/features/store/objects/components/ContentOverview.tsx +99 -26
  108. package/src/i18n/locales/ar.json +2 -0
  109. package/src/i18n/locales/de.json +2 -0
  110. package/src/i18n/locales/en.json +2 -0
  111. package/src/i18n/locales/es.json +2 -0
  112. package/src/i18n/locales/fr.json +2 -0
  113. package/src/i18n/locales/it.json +2 -0
  114. package/src/i18n/locales/ja.json +2 -0
  115. package/src/i18n/locales/ko.json +2 -0
  116. package/src/i18n/locales/pt.json +2 -0
  117. package/src/i18n/locales/ru.json +2 -0
  118. package/src/i18n/locales/tr.json +2 -0
  119. package/src/i18n/locales/zh-TW.json +2 -0
  120. package/src/i18n/locales/zh.json +2 -0
  121. package/src/router/HistoryNavigator.ts +4 -1
  122. package/src/router/Nav.tsx +7 -1
  123. package/src/router/Router.tsx +18 -4
  124. package/src/router/path.test.ts +87 -0
  125. package/src/router/path.ts +38 -0
  126. package/src/session/UserSession.ts +32 -9
  127. package/src/session/UserSessionProvider.tsx +138 -62
  128. package/src/session/auth/composable.test.ts +111 -0
  129. package/src/session/auth/composable.ts +58 -3
  130. package/src/session/auth/domainRouting.test.ts +28 -1
  131. package/src/session/auth/domainRouting.ts +38 -0
  132. package/src/shell/login/SignInRestrictedEnvStep.tsx +1 -1
  133. package/src/shell/login/SigninScreen.tsx +9 -1
  134. package/src/shell/login/productionUrl.test.ts +8 -5
  135. package/src/shell/login/productionUrl.ts +15 -5
@@ -11,6 +11,7 @@ export interface EnvProps {
11
11
  zeno: string;
12
12
  studio: string;
13
13
  sts: string;
14
+ git?: string;
14
15
  mcp?: string;
15
16
  };
16
17
  firebase?: {
@@ -23,6 +24,21 @@ export interface EnvProps {
23
24
  region?: string;
24
25
  datadogRum?: boolean;
25
26
  datadogLogs?: boolean;
27
+ /**
28
+ * Development-only Vertesia auth token.
29
+ *
30
+ * This is intended for sandbox/dev previews where the host process already
31
+ * has a short-lived Vertesia token. Production apps must not set this.
32
+ */
33
+ devAuthToken?: string;
34
+ /**
35
+ * Optional host-provided Vertesia auth token bootstrap.
36
+ *
37
+ * Published generated apps use this to ask their same-origin app gateway for
38
+ * the token backing the gateway session cookie, allowing UserSession to
39
+ * initialize without redirecting through Central Auth.
40
+ */
41
+ authTokenProvider?: () => Promise<string | undefined>;
26
42
  logger?: {
27
43
  info: (msg: string, ...args: unknown[]) => void;
28
44
  warn: (msg: string, ...args: unknown[]) => void;
@@ -50,6 +66,7 @@ export declare class VertesiaEnvironment implements Readonly<EnvProps> {
50
66
  zeno: string;
51
67
  studio: string;
52
68
  sts: string;
69
+ git?: string;
53
70
  mcp?: string;
54
71
  };
55
72
  get firebase(): {
@@ -67,6 +84,8 @@ export declare class VertesiaEnvironment implements Readonly<EnvProps> {
67
84
  get datadog(): boolean;
68
85
  get datadogRum(): boolean;
69
86
  get datadogLogs(): boolean;
87
+ get devAuthToken(): string | undefined;
88
+ get authTokenProvider(): (() => Promise<string | undefined>) | undefined;
70
89
  get logger(): {
71
90
  info: (msg: string, ...args: unknown[]) => void;
72
91
  warn: (msg: string, ...args: unknown[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;IACpE,SAAS,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE;QACL,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAChD,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QAChD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACjD,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACpD,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,qBAAa,mBAAoB,YAAW,QAAQ,CAAC,QAAQ,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS;IAEjD,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ;IAKrB,OAAO,CAAC,IAAI;IAOZ,IAAI,OAAO,WAEV;IAED,IAAI,eAAe,uBAElB;IAED,IAAI,UAAU,uBAEb;IAED,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,YAET;IAED,IAAI,KAAK,YAER;IAED,IAAI,UAAU,YAEb;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,SAAS;cA5FH,MAAM;gBACJ,MAAM;aACT,MAAM;cACL,MAAM;cACN,MAAM;MA0Ff;IAED,IAAI,QAAQ;gBAzFA,MAAM;oBACF,MAAM;mBACP,MAAM;gBACT,MAAM;uBACC,MAAM;kBAuFxB;IAED,IAAI,MAAM,uBAET;IAED;;;OAGG;IACH,IAAI,OAAO,YAEV;IAED,IAAI,UAAU,YAEb;IAED,IAAI,WAAW,YAEd;IAED,IAAI,YAAY,uBAEf;IAED,IAAI,iBAAiB,WA9FK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,cAgGpD;IAED,IAAI,MAAM;cAhGA,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;cACzC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;eACxC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;eACzC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;MA+FnD;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,gBAAgB;IAI/B;;OAEG;IACH,QAAQ;CAGX;AAED,QAAA,MAAM,GAAG,qBAA4B,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,CAAC"}
package/lib/env/index.js CHANGED
@@ -64,6 +64,12 @@ export class VertesiaEnvironment {
64
64
  get datadogLogs() {
65
65
  return this._props?.datadogLogs ?? false;
66
66
  }
67
+ get devAuthToken() {
68
+ return this._props?.devAuthToken;
69
+ }
70
+ get authTokenProvider() {
71
+ return this._props?.authTokenProvider;
72
+ }
67
73
  get logger() {
68
74
  return this._props?.logger ?? console;
69
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,8DAA8D;AAsC9D,MAAM,OAAO,mBAAmB;IACR;IAApB,YAAoB,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAErD,IAAI,CAAC,KAAgB;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,IAAI,CAA2B,IAAO;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,IAAI,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,KAAK,CAAC;IAC7C,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAuB;QAC3B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/env/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,8DAA8D;AAsD9D,MAAM,OAAO,mBAAmB;IACR;IAApB,YAAoB,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAErD,IAAI,CAAC,KAAgB;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,IAAI,CAA2B,IAAO;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC;IACxC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,IAAI,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,KAAK,CAAC;IAC7C,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;IACrC,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAuB;QAC3B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactsTab.d.ts","sourceRoot":"","sources":["../../../../src/features/agent/chat/ArtifactsTab.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAuIrE,UAAU,iBAAiB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD,iBAAS,qBAAqB,CAAC,EAAE,KAAK,EAAE,UAAc,EAAE,EAAE,iBAAiB,qBA8H1E;AAED,eAAO,MAAM,YAAY,yDAAoC,CAAC"}
1
+ {"version":3,"file":"ArtifactsTab.d.ts","sourceRoot":"","sources":["../../../../src/features/agent/chat/ArtifactsTab.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAgNrE,UAAU,iBAAiB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD,iBAAS,qBAAqB,CAAC,EAAE,KAAK,EAAE,UAAc,EAAE,EAAE,iBAAiB,qBAyL1E;AAED,eAAO,MAAM,YAAY,yDAAoC,CAAC"}
@@ -1,23 +1,24 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Button, Center, ErrorBox, Input } from '@vertesia/ui/core';
2
+ import { Button, Center, ErrorBox, Input, Modal, ModalBody, ModalTitle, Switch } from '@vertesia/ui/core';
3
3
  import { useUITranslation } from '@vertesia/ui/i18n';
4
4
  import { useUserSession } from '@vertesia/ui/session';
5
- import { ChevronDownIcon, ChevronRightIcon, FileIcon, FolderIcon, FolderOpenIcon, Loader2Icon, PackageIcon, RefreshCwIcon, } from 'lucide-react';
5
+ import { ChevronDownIcon, ChevronRightIcon, DownloadIcon, EyeIcon, FileIcon, FolderIcon, FolderOpenIcon, Loader2Icon, PackageIcon, RefreshCwIcon, } from 'lucide-react';
6
6
  import React, { useCallback, useId, useMemo, useState } from 'react';
7
+ import { UniversalDocumentViewer, } from '../../document-viewer/UniversalDocumentViewer.js';
7
8
  import { useArtifacts } from './hooks/useArtifacts.js';
8
9
  //** Convert a raw directory segment (e.g. "out_files") into a readable label ("Out Files"). */
9
10
  function formatDirectoryLabel(name) {
10
11
  return name.replace(/[_-]/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase());
11
12
  }
12
- function TreeNode({ node, depth, runId, onDownload, downloadingPath, forceExpanded = false }) {
13
+ function TreeNode({ node, depth, runId, onPreview, onDownload, downloadingPath, forceExpanded = false, }) {
13
14
  const [expanded, setExpanded] = useState(false);
14
15
  const isExpanded = forceExpanded || expanded;
15
16
  if (node.isDirectory) {
16
17
  return (_jsxs("div", { className: "min-w-0", children: [_jsxs(Button, { variant: "unstyled", className: "flex w-full max-w-full items-center justify-start gap-1.5 rounded px-1 py-1 text-start text-sm hover:bg-muted/30", style: { paddingInlineStart: `${depth * 14 + 4}px` }, onClick: () => setExpanded((prev) => !prev), "aria-expanded": isExpanded, children: [isExpanded ? (_jsx(ChevronDownIcon, { className: "size-3.5 shrink-0 text-muted" })) : (_jsx(ChevronRightIcon, { className: "size-3.5 shrink-0 text-muted cn-rtl-flip" })), isExpanded ? (_jsx(FolderOpenIcon, { className: "size-4 shrink-0 text-info" })) : (_jsx(FolderIcon, { className: "size-4 shrink-0 text-info" })), _jsx("span", { className: "min-w-0 truncate font-medium", title: node.path, children: formatDirectoryLabel(node.name) })] }), isExpanded &&
17
- node.children.map((child) => (_jsx(TreeNode, { node: child, depth: depth + 1, runId: runId, onDownload: onDownload, downloadingPath: downloadingPath, forceExpanded: forceExpanded }, `${runId}:${child.path}`)))] }));
18
+ node.children.map((child) => (_jsx(TreeNode, { node: child, depth: depth + 1, runId: runId, onPreview: onPreview, onDownload: onDownload, downloadingPath: downloadingPath, forceExpanded: forceExpanded }, `${runId}:${child.path}`)))] }));
18
19
  }
19
20
  const isDownloading = downloadingPath === node.path;
20
- return (_jsx("div", { className: "min-w-0", children: _jsxs(Button, { variant: "unstyled", className: "flex w-full max-w-full items-center justify-start gap-1.5 rounded px-1 py-1 text-start text-sm hover:bg-muted/30", style: { paddingInlineStart: `${depth * 14 + 4}px` }, onClick: () => onDownload(node.path), disabled: isDownloading, title: node.path, children: [isDownloading ? (_jsx(Loader2Icon, { className: "size-3.5 shrink-0 animate-spin text-info" })) : (_jsx("span", { className: "size-3.5 shrink-0" })), _jsx(FileIcon, { className: "size-4 shrink-0 text-muted" }), _jsx("span", { className: "min-w-0 truncate", children: node.name })] }) }));
21
+ return (_jsxs("div", { className: "group flex min-w-0 items-center gap-1.5 rounded text-sm hover:bg-muted/30", style: { paddingInlineStart: `${depth * 14 + 4}px` }, children: [_jsxs(Button, { variant: "unstyled", className: "flex min-w-0 flex-1 items-center justify-start gap-1.5 px-1 py-1 text-start", onClick: () => onPreview(node.path), title: node.path, children: [_jsx("span", { className: "size-3.5 shrink-0" }), _jsx(FileIcon, { className: "size-4 shrink-0 text-muted" }), _jsx("span", { className: "min-w-0 truncate", children: node.name })] }), _jsxs("div", { className: "flex shrink-0 items-center pe-1 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100", children: [_jsx(Button, { variant: "ghost", size: "xs", className: "h-6 w-6 p-0", onClick: () => onPreview(node.path), "aria-label": "Preview artifact", children: _jsx(EyeIcon, { className: "size-3.5" }) }), _jsx(Button, { variant: "ghost", size: "xs", className: "h-6 w-6 p-0", onClick: () => onDownload(node.path), disabled: isDownloading, "aria-label": "Download artifact", children: isDownloading ? (_jsx(Loader2Icon, { className: "size-3.5 animate-spin text-info" })) : (_jsx(DownloadIcon, { className: "size-3.5" })) })] })] }));
21
22
  }
22
23
  function countTreeFiles(nodes) {
23
24
  return nodes.reduce((count, node) => {
@@ -57,14 +58,51 @@ function downloadUrl(url, filename) {
57
58
  anchor.click();
58
59
  anchor.remove();
59
60
  }
61
+ function getArtifactContentType(path) {
62
+ const ext = path.split('.').pop()?.toLowerCase();
63
+ switch (ext) {
64
+ case 'css':
65
+ return 'text/css';
66
+ case 'gif':
67
+ return 'image/gif';
68
+ case 'htm':
69
+ case 'html':
70
+ return 'text/html';
71
+ case 'jpeg':
72
+ case 'jpg':
73
+ return 'image/jpeg';
74
+ case 'json':
75
+ return 'application/json';
76
+ case 'md':
77
+ case 'markdown':
78
+ return 'text/markdown';
79
+ case 'pdf':
80
+ return 'application/pdf';
81
+ case 'png':
82
+ return 'image/png';
83
+ case 'svg':
84
+ return 'image/svg+xml';
85
+ case 'ts':
86
+ case 'tsx':
87
+ return 'text/typescript';
88
+ case 'txt':
89
+ return 'text/plain';
90
+ case 'webp':
91
+ return 'image/webp';
92
+ default:
93
+ return undefined;
94
+ }
95
+ }
60
96
  function ArtifactEmptyState({ icon, children, action, }) {
61
97
  return (_jsxs(Center, { className: "h-full min-h-[240px] flex-col text-center text-muted", children: [icon, _jsx("span", { className: "text-sm", children: children }), action] }));
62
98
  }
63
99
  function ArtifactsTabComponent({ runId, refreshKey = 0 }) {
64
100
  const { t } = useUITranslation();
65
101
  const { client } = useUserSession();
66
- const { tree, flatFiles, isLoading, error, refresh } = useArtifacts(client, runId, refreshKey);
102
+ const [showSystem, setShowSystem] = useState(false);
103
+ const { tree, flatFiles, totalCount, systemHiddenCount, isLoading, error, refresh } = useArtifacts(client, runId, refreshKey, showSystem);
67
104
  const [downloadingPath, setDownloadingPath] = useState(null);
105
+ const [previewPath, setPreviewPath] = useState(null);
68
106
  const [filterValue, setFilterValue] = useState('');
69
107
  const normalizedFilterValue = filterValue.trim();
70
108
  const filteredTree = useMemo(() => filterArtifactTree(tree, normalizedFilterValue), [tree, normalizedFilterValue]);
@@ -85,21 +123,37 @@ function ArtifactsTabComponent({ runId, refreshKey = 0 }) {
85
123
  setDownloadingPath(null);
86
124
  }
87
125
  }, [client, runId]);
126
+ const handlePreview = useCallback((relativePath) => {
127
+ setPreviewPath(relativePath);
128
+ }, []);
129
+ const previewSource = runId && previewPath
130
+ ? {
131
+ title: previewPath.split('/').pop() || previewPath,
132
+ fileName: previewPath.split('/').pop() || previewPath,
133
+ contentType: getArtifactContentType(previewPath),
134
+ artifact: {
135
+ runId,
136
+ path: previewPath,
137
+ },
138
+ }
139
+ : null;
88
140
  if (!runId) {
89
141
  return _jsx(ArtifactEmptyState, { icon: _jsx(PackageIcon, { className: "mb-2 size-8" }), children: "No run selected" });
90
142
  }
91
- if (isLoading && flatFiles.length === 0) {
143
+ if (isLoading && totalCount === 0) {
92
144
  return (_jsx(ArtifactEmptyState, { icon: _jsx(Loader2Icon, { className: "mb-2 size-6 animate-spin" }), children: t('agent.loadingArtifacts') }));
93
145
  }
94
146
  if (error) {
95
147
  return (_jsx("div", { className: "flex flex-col items-center justify-center p-4 text-muted w-full", children: _jsxs(ErrorBox, { title: "Fail to load Artifacts", className: "w-full", action: refresh, actionLabel: _jsxs(_Fragment, { children: [_jsx(RefreshCwIcon, { className: "size-3.5 me-1.5" }), t('agent.retry')] }), children: [_jsx("span", { className: "break-all text-muted", children: error }), " ", _jsx("br", {})] }) }));
96
148
  }
97
- if (flatFiles.length === 0) {
149
+ if (totalCount === 0) {
98
150
  return (_jsx(ArtifactEmptyState, { icon: _jsx(PackageIcon, { className: "mb-2 size-8" }), action: _jsxs(Button, { variant: "ghost", size: "sm", className: "mt-2", onClick: refresh, children: [_jsx(RefreshCwIcon, { className: "size-3.5 me-1.5" }), t('agent.refresh')] }), children: t('agent.noArtifactsYet') }));
99
151
  }
100
- return (_jsxs("div", { className: "flex flex-col h-full", children: [_jsxs("div", { className: "flex shrink-0 flex-col gap-2 px-3 py-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 text-xs text-muted", children: [_jsx("span", { children: normalizedFilterValue
101
- ? `${visibleFileCount} of ${flatFiles.length} file${flatFiles.length !== 1 ? 's' : ''}`
102
- : `${flatFiles.length} file${flatFiles.length !== 1 ? 's' : ''}` }), _jsx(Button, { variant: "ghost", size: "sm", onClick: refresh, disabled: isLoading, className: "h-6 w-6 p-0", children: _jsx(RefreshCwIcon, { className: `size-3.5 ${isLoading ? 'animate-spin' : ''}` }) })] }), _jsx("label", { htmlFor: filterInputId, className: "sr-only", children: t('form.filter') }), _jsx(Input, { id: filterInputId, type: "text", role: "searchbox", autoComplete: "off", placeholder: t('store.searchPlaceholder'), value: filterValue, onChange: setFilterValue, clearable: true })] }), _jsx("div", { className: "flex-1 overflow-y-auto px-3 pb-2", children: filteredTree.length > 0 ? (_jsx("div", { className: "min-w-0", children: filteredTree.map((node) => (_jsx(TreeNode, { node: node, depth: 0, runId: runId, onDownload: handleDownload, downloadingPath: downloadingPath, forceExpanded: !!normalizedFilterValue }, `${runId}:${node.path}`))) })) : (_jsx("div", { className: "px-1 py-6 text-sm text-muted", children: t('agent.noContentAvailable') })) })] }));
152
+ return (_jsxs("div", { className: "flex flex-col h-full", children: [_jsxs("div", { className: "flex shrink-0 flex-col gap-2 border-b px-3 py-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2 text-xs text-muted", children: [_jsxs("span", { children: [normalizedFilterValue
153
+ ? `${visibleFileCount} of ${flatFiles.length} file${flatFiles.length !== 1 ? 's' : ''}`
154
+ : `${flatFiles.length} file${flatFiles.length !== 1 ? 's' : ''}`, !showSystem && systemHiddenCount > 0 ? ` · ${systemHiddenCount} hidden` : ''] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Switch, { size: "sm", value: showSystem, onChange: setShowSystem, children: _jsx("span", { className: "text-xs text-muted", children: t('agent.showSystemArtifacts') }) }), _jsx(Button, { variant: "ghost", size: "sm", onClick: refresh, disabled: isLoading, className: "h-6 w-6 p-0", children: _jsx(RefreshCwIcon, { className: `size-3.5 ${isLoading ? 'animate-spin' : ''}` }) })] })] }), _jsx("label", { htmlFor: filterInputId, className: "sr-only", children: t('form.filter') }), _jsx(Input, { id: filterInputId, type: "text", role: "searchbox", autoComplete: "off", placeholder: t('store.searchPlaceholder'), value: filterValue, onChange: setFilterValue, clearable: true })] }), _jsx("div", { className: "flex-1 overflow-y-auto px-3 py-2", children: filteredTree.length > 0 ? (_jsx("div", { className: "min-w-0", children: filteredTree.map((node) => (_jsx(TreeNode, { node: node, depth: 0, runId: runId, onPreview: handlePreview, onDownload: handleDownload, downloadingPath: downloadingPath, forceExpanded: !!normalizedFilterValue }, `${runId}:${node.path}`))) })) : (_jsx("div", { className: "px-1 py-6 text-sm text-muted", children: !showSystem && systemHiddenCount > 0
155
+ ? t('agent.onlySystemArtifacts')
156
+ : t('agent.noContentAvailable') })) }), previewSource && (_jsxs(Modal, { isOpen: !!previewPath, onClose: () => setPreviewPath(null), size: "xl", className: "h-[90vh] p-0", description: "Artifact preview", children: [_jsx(ModalTitle, { show: false, children: previewSource.fileName }), _jsx(ModalBody, { className: "h-full max-h-none p-0", children: _jsx(UniversalDocumentViewer, { source: previewSource, className: "h-full", onDownload: () => previewPath && void handleDownload(previewPath) }) })] }))] }));
103
157
  }
104
158
  export const ArtifactsTab = React.memo(ArtifactsTabComponent);
105
159
  //# sourceMappingURL=ArtifactsTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactsTab.js","sourceRoot":"","sources":["../../../../src/features/agent/chat/ArtifactsTab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactsTab.js","sourceRoot":"","sources":["../../../../src/features/agent/chat/ArtifactsTab.tsx"],"names":[],"mappings":"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"}
@@ -504,60 +504,63 @@ acceptedFileTypes, maxFiles = 5, hideHeader = false, hideFileUpload = false, hid
504
504
  `[System: ${stagedFiles.length} file(s) are being uploaded: ${fileNames}. Please wait for the "Files Ready" notification before processing them.]`,
505
505
  ].join('\n');
506
506
  }
507
+ const newRun = await startWorkflow(messageContent, { tool_approval_mode: toolApprovalMode });
508
+ if (!newRun) {
509
+ setPendingStartMessage(null);
510
+ setPendingStartTimestamp(null);
511
+ return;
512
+ }
507
513
  setPendingStartMessage(messageContent);
508
514
  setPendingStartTimestamp(Date.now());
509
- const newRun = await startWorkflow(messageContent, { tool_approval_mode: toolApprovalMode });
510
- if (newRun) {
511
- const agentId = newRun.agent_run_id;
512
- // Upload staged files to the new run's artifact space and signal agent
513
- const uploadedFiles = [];
514
- if (canStageFiles && stagedFiles.length > 0) {
515
- for (const file of stagedFiles) {
516
- try {
517
- const artifactPath = `files/${file.name}`;
518
- await client.agents.uploadArtifact(agentId, artifactPath, file);
519
- // Signal agent that file was uploaded
520
- await client.agents.sendSignal(agentId, 'FileUploaded', {
521
- id: `file-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
522
- name: file.name,
523
- content_type: file.type || 'application/octet-stream',
524
- reference: `artifact:${artifactPath}`,
525
- artifact_path: artifactPath,
526
- });
527
- uploadedFiles.push(file.name);
528
- }
529
- catch (uploadErr) {
530
- console.error(`Failed to upload staged file ${file.name}:`, uploadErr);
531
- // Continue with other files
532
- }
515
+ const agentId = newRun.agent_run_id;
516
+ // Upload staged files to the new run's artifact space and signal agent
517
+ const uploadedFiles = [];
518
+ if (canStageFiles && stagedFiles.length > 0) {
519
+ for (const file of stagedFiles) {
520
+ try {
521
+ const artifactPath = `files/${file.name}`;
522
+ await client.agents.uploadArtifact(agentId, artifactPath, file);
523
+ // Signal agent that file was uploaded
524
+ await client.agents.sendSignal(agentId, 'FileUploaded', {
525
+ id: `file-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
526
+ name: file.name,
527
+ content_type: file.type || 'application/octet-stream',
528
+ reference: `artifact:${artifactPath}`,
529
+ artifact_path: artifactPath,
530
+ });
531
+ uploadedFiles.push(file.name);
533
532
  }
534
- // Send a follow-up message to notify the agent that all files are ready
535
- if (uploadedFiles.length > 0) {
536
- try {
537
- await client.agents.sendSignal(agentId, 'UserInput', {
538
- message: `[Files Ready] All ${uploadedFiles.length} file(s) have been uploaded and are now available: ${uploadedFiles.join(', ')}. You can now process them.`,
539
- metadata: {
540
- type: 'files_ready',
541
- files: uploadedFiles,
542
- },
543
- });
544
- }
545
- catch (signalErr) {
546
- console.error('Failed to send files ready signal:', signalErr);
547
- }
533
+ catch (uploadErr) {
534
+ console.error(`Failed to upload staged file ${file.name}:`, uploadErr);
535
+ // Continue with other files
548
536
  }
549
- setStagedFiles([]);
550
537
  }
551
- // Clear attachments after successful start
552
- onAttachmentsSent?.();
553
- setStartedAgentRunId(agentId);
554
- setInputValue('');
555
- toast({
556
- title: t('agent.agentStarted'),
557
- status: 'success',
558
- duration: 3000,
559
- });
538
+ // Send a follow-up message to notify the agent that all files are ready
539
+ if (uploadedFiles.length > 0) {
540
+ try {
541
+ await client.agents.sendSignal(agentId, 'UserInput', {
542
+ message: `[Files Ready] All ${uploadedFiles.length} file(s) have been uploaded and are now available: ${uploadedFiles.join(', ')}. You can now process them.`,
543
+ metadata: {
544
+ type: 'files_ready',
545
+ files: uploadedFiles,
546
+ },
547
+ });
548
+ }
549
+ catch (signalErr) {
550
+ console.error('Failed to send files ready signal:', signalErr);
551
+ }
552
+ }
553
+ setStagedFiles([]);
560
554
  }
555
+ // Clear attachments after successful start
556
+ onAttachmentsSent?.();
557
+ setStartedAgentRunId(agentId);
558
+ setInputValue('');
559
+ toast({
560
+ title: t('agent.agentStarted'),
561
+ status: 'success',
562
+ duration: 3000,
563
+ });
561
564
  }
562
565
  catch (err) {
563
566
  setPendingStartMessage(null);