@visma-swno/gaia-chat-ui 2.1.3 → 3.0.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 (164) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +1 -4
  3. package/dist/{src/app → app}/app.d.ts +8 -11
  4. package/dist/{src/app → app}/controllers/error-controller.d.ts +0 -1
  5. package/dist/{src/app → app}/localization.d.ts +0 -1
  6. package/dist/{src/app → app}/middlewares/middleware.d.ts +0 -1
  7. package/dist/auth/auth-errors.d.ts +17 -0
  8. package/dist/auth/auth-provider.d.ts +10 -0
  9. package/dist/auth/strategies/base-strategy.d.ts +21 -0
  10. package/dist/auth/strategies/null-auth-strategy.d.ts +8 -0
  11. package/dist/auth/strategies/visitor-token-strategy.d.ts +9 -0
  12. package/dist/auth/strategies/visma-token-strategy.d.ts +9 -0
  13. package/dist/auth/strategy-factory.d.ts +13 -0
  14. package/dist/auth/token-cache.d.ts +17 -0
  15. package/dist/auth/token-parser.d.ts +6 -0
  16. package/dist/auth/types.d.ts +17 -0
  17. package/dist/{src/components → components}/base-tw-element.d.ts +0 -1
  18. package/dist/{src/components → components}/composer.d.ts +0 -1
  19. package/dist/{src/components → components}/error-message.d.ts +0 -1
  20. package/dist/{src/components → components}/feedback-form.d.ts +0 -1
  21. package/dist/{src/components → components}/menu.d.ts +0 -1
  22. package/dist/{src/components → components}/message/assistant.d.ts +1 -2
  23. package/dist/{src/components → components}/message/base.d.ts +0 -1
  24. package/dist/{src/components → components}/message/index.d.ts +0 -1
  25. package/dist/{src/components → components}/message/operator.d.ts +0 -1
  26. package/dist/{src/components → components}/message/system.d.ts +0 -1
  27. package/dist/{src/components → components}/message/user.d.ts +0 -1
  28. package/dist/{src/components → components}/message-list.d.ts +0 -1
  29. package/dist/{src/components → components}/shared/markdown.d.ts +0 -1
  30. package/dist/{src/components → components}/thinking-indicator.d.ts +0 -1
  31. package/dist/{src/components → components}/welcome-message.d.ts +0 -1
  32. package/dist/{src/core → core}/effects/bootstrap-effect.d.ts +0 -1
  33. package/dist/{src/core → core}/effects/conversation-effect.d.ts +0 -1
  34. package/dist/{src/core → core}/effects/feedback-effect.d.ts +0 -1
  35. package/dist/{src/core → core}/effects/stream-effect.d.ts +0 -1
  36. package/dist/{src/core → core}/effects/stream-event-router.d.ts +0 -1
  37. package/dist/{src/core → core}/effects/support-effect.d.ts +3 -4
  38. package/dist/{src/core → core}/effects/task-runner.d.ts +0 -1
  39. package/dist/{src/core → core}/errors/app-error.d.ts +0 -1
  40. package/dist/{src/core → core}/events/internal/commands.d.ts +0 -1
  41. package/dist/{src/core → core}/events/internal/index.d.ts +0 -1
  42. package/dist/{src/core → core}/events/internal/utils.d.ts +0 -1
  43. package/dist/{src/core → core}/events/public/app.d.ts +0 -21
  44. package/dist/{src/core → core}/events/transport/sse.d.ts +0 -1
  45. package/dist/{src/core → core}/events/transport/ws.d.ts +0 -1
  46. package/dist/{src/core → core}/state/index.d.ts +0 -1
  47. package/dist/{src/core → core}/state/root-reducer.d.ts +0 -1
  48. package/dist/{src/core → core}/state/slices/config-slice.d.ts +0 -1
  49. package/dist/{src/core → core}/state/slices/messages-slice.d.ts +0 -1
  50. package/dist/{src/core → core}/state/slices/session-slice.d.ts +0 -1
  51. package/dist/{src/core → core}/state/slices/ui-slice.d.ts +0 -1
  52. package/dist/{src/core → core}/state/store.d.ts +0 -1
  53. package/dist/{src/core → core}/types.d.ts +0 -1
  54. package/dist/{src/core → core}/utils/message-factory.d.ts +0 -1
  55. package/dist/custom-elements.json +1 -0
  56. package/dist/{da-CIz_JTpK.js → da-Cj_KR5nk.js} +2 -2
  57. package/dist/{da-CIz_JTpK.js.map → da-Cj_KR5nk.js.map} +1 -1
  58. package/dist/{src/generated → generated}/locale-codes.d.ts +0 -1
  59. package/dist/{src/generated → generated}/locales/da.d.ts +0 -1
  60. package/dist/{src/generated → generated}/locales/nb.d.ts +0 -1
  61. package/dist/{src/generated → generated}/locales/sv.d.ts +0 -1
  62. package/dist/{index-CEIcDKQq.js → index-BqiewcAY.js} +2348 -2367
  63. package/dist/index-BqiewcAY.js.map +1 -0
  64. package/dist/index.d.ts +2 -2
  65. package/dist/index.es.js +1 -1
  66. package/dist/index.umd.js +84 -86
  67. package/dist/index.umd.js.map +1 -1
  68. package/dist/infra/http/api-client.d.ts +13 -0
  69. package/dist/{src/infra → infra}/http/api-error.d.ts +0 -1
  70. package/dist/infra/http/auth-header-strategy.d.ts +14 -0
  71. package/dist/{src/infra → infra}/http/guards.d.ts +0 -1
  72. package/dist/{src/infra → infra}/signalr/signalr-error.d.ts +0 -1
  73. package/dist/{src/infra → infra}/sse/sse.d.ts +0 -1
  74. package/dist/{src/infra → infra}/sse/stream-error.d.ts +0 -1
  75. package/dist/{src/infra → infra}/storage/bootstrap-config-storage.d.ts +0 -1
  76. package/dist/{src/infra → infra}/storage/conversation-id-storage.d.ts +0 -1
  77. package/dist/{src/infra → infra}/storage/types.d.ts +0 -1
  78. package/dist/{src/infra → infra}/storage/visitor-token-storage.d.ts +0 -1
  79. package/dist/{nb-BRpEPPS7.js → nb-CZ_wxmV3.js} +2 -2
  80. package/dist/{nb-BRpEPPS7.js.map → nb-CZ_wxmV3.js.map} +1 -1
  81. package/dist/{src/services → services}/bootstrap-service.d.ts +0 -1
  82. package/dist/{src/services → services}/chat-service.d.ts +0 -1
  83. package/dist/{src/services → services}/feedback-service.d.ts +0 -1
  84. package/dist/{sv-DMfrf_18.js → sv-vI7UPOlk.js} +2 -2
  85. package/dist/{sv-DMfrf_18.js.map → sv-vI7UPOlk.js.map} +1 -1
  86. package/dist/vscode.html-custom-data.json +86 -0
  87. package/package.json +25 -9
  88. package/custom-elements.json +0 -261
  89. package/dist/index-CEIcDKQq.js.map +0 -1
  90. package/dist/package.json.d.ts +0 -89
  91. package/dist/src/app/app.d.ts.map +0 -1
  92. package/dist/src/app/controllers/error-controller.d.ts.map +0 -1
  93. package/dist/src/app/localization.d.ts.map +0 -1
  94. package/dist/src/app/middlewares/middleware.d.ts.map +0 -1
  95. package/dist/src/auth/access-token-provider.d.ts +0 -27
  96. package/dist/src/auth/access-token-provider.d.ts.map +0 -1
  97. package/dist/src/auth/auth-errors.d.ts +0 -13
  98. package/dist/src/auth/auth-errors.d.ts.map +0 -1
  99. package/dist/src/auth/strategies/strategy.d.ts +0 -38
  100. package/dist/src/auth/strategies/strategy.d.ts.map +0 -1
  101. package/dist/src/auth/strategies/visitor-token-strategy.d.ts +0 -14
  102. package/dist/src/auth/strategies/visitor-token-strategy.d.ts.map +0 -1
  103. package/dist/src/auth/strategies/visma-token-strategy.d.ts +0 -10
  104. package/dist/src/auth/strategies/visma-token-strategy.d.ts.map +0 -1
  105. package/dist/src/auth/strategy-factory.d.ts +0 -10
  106. package/dist/src/auth/strategy-factory.d.ts.map +0 -1
  107. package/dist/src/components/base-tw-element.d.ts.map +0 -1
  108. package/dist/src/components/composer.d.ts.map +0 -1
  109. package/dist/src/components/error-message.d.ts.map +0 -1
  110. package/dist/src/components/feedback-form.d.ts.map +0 -1
  111. package/dist/src/components/menu.d.ts.map +0 -1
  112. package/dist/src/components/message/assistant.d.ts.map +0 -1
  113. package/dist/src/components/message/base.d.ts.map +0 -1
  114. package/dist/src/components/message/index.d.ts.map +0 -1
  115. package/dist/src/components/message/operator.d.ts.map +0 -1
  116. package/dist/src/components/message/system.d.ts.map +0 -1
  117. package/dist/src/components/message/user.d.ts.map +0 -1
  118. package/dist/src/components/message-list.d.ts.map +0 -1
  119. package/dist/src/components/shared/markdown.d.ts.map +0 -1
  120. package/dist/src/components/thinking-indicator.d.ts.map +0 -1
  121. package/dist/src/components/welcome-message.d.ts.map +0 -1
  122. package/dist/src/core/effects/bootstrap-effect.d.ts.map +0 -1
  123. package/dist/src/core/effects/conversation-effect.d.ts.map +0 -1
  124. package/dist/src/core/effects/feedback-effect.d.ts.map +0 -1
  125. package/dist/src/core/effects/stream-effect.d.ts.map +0 -1
  126. package/dist/src/core/effects/stream-event-router.d.ts.map +0 -1
  127. package/dist/src/core/effects/support-effect.d.ts.map +0 -1
  128. package/dist/src/core/effects/task-runner.d.ts.map +0 -1
  129. package/dist/src/core/errors/app-error.d.ts.map +0 -1
  130. package/dist/src/core/events/internal/commands.d.ts.map +0 -1
  131. package/dist/src/core/events/internal/index.d.ts.map +0 -1
  132. package/dist/src/core/events/internal/utils.d.ts.map +0 -1
  133. package/dist/src/core/events/public/app.d.ts.map +0 -1
  134. package/dist/src/core/events/transport/sse.d.ts.map +0 -1
  135. package/dist/src/core/events/transport/ws.d.ts.map +0 -1
  136. package/dist/src/core/state/index.d.ts.map +0 -1
  137. package/dist/src/core/state/root-reducer.d.ts.map +0 -1
  138. package/dist/src/core/state/slices/config-slice.d.ts.map +0 -1
  139. package/dist/src/core/state/slices/messages-slice.d.ts.map +0 -1
  140. package/dist/src/core/state/slices/session-slice.d.ts.map +0 -1
  141. package/dist/src/core/state/slices/ui-slice.d.ts.map +0 -1
  142. package/dist/src/core/state/store.d.ts.map +0 -1
  143. package/dist/src/core/types.d.ts.map +0 -1
  144. package/dist/src/core/utils/message-factory.d.ts.map +0 -1
  145. package/dist/src/generated/locale-codes.d.ts.map +0 -1
  146. package/dist/src/generated/locales/da.d.ts.map +0 -1
  147. package/dist/src/generated/locales/nb.d.ts.map +0 -1
  148. package/dist/src/generated/locales/sv.d.ts.map +0 -1
  149. package/dist/src/index.d.ts +0 -3
  150. package/dist/src/index.d.ts.map +0 -1
  151. package/dist/src/infra/http/api-client.d.ts +0 -16
  152. package/dist/src/infra/http/api-client.d.ts.map +0 -1
  153. package/dist/src/infra/http/api-error.d.ts.map +0 -1
  154. package/dist/src/infra/http/guards.d.ts.map +0 -1
  155. package/dist/src/infra/signalr/signalr-error.d.ts.map +0 -1
  156. package/dist/src/infra/sse/sse.d.ts.map +0 -1
  157. package/dist/src/infra/sse/stream-error.d.ts.map +0 -1
  158. package/dist/src/infra/storage/bootstrap-config-storage.d.ts.map +0 -1
  159. package/dist/src/infra/storage/conversation-id-storage.d.ts.map +0 -1
  160. package/dist/src/infra/storage/types.d.ts.map +0 -1
  161. package/dist/src/infra/storage/visitor-token-storage.d.ts.map +0 -1
  162. package/dist/src/services/bootstrap-service.d.ts.map +0 -1
  163. package/dist/src/services/chat-service.d.ts.map +0 -1
  164. package/dist/src/services/feedback-service.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.0.0](https://github.com/visma-swno/vsn-assistant/compare/web-component@v2.1.3...web-component@v3.0.0) (2025-10-14)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * The authentication system has been completely redesigned for better flexibility and security.
9
+ * **deps-dev:** <a href="https://redirect.github.com/capricorn86/happy-dom/issues/1620">#1620</a> Release v18.0.0</li> <li>See full diff in <a href="https://github.com/capricorn86/happy-dom/compare/v18.0.1...v19.0.2">compare view</a></li> </ul> </details> <br />
10
+
11
+ ### Features
12
+
13
+ * add on-demand callback for token refresh ([#1192](https://github.com/visma-swno/vsn-assistant/issues/1192)) ([e5d6918](https://github.com/visma-swno/vsn-assistant/commit/e5d6918a9dc3eacecb2a4df77e724b9a53805a85))
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * add fixed container sizes ([#1188](https://github.com/visma-swno/vsn-assistant/issues/1188)) ([b2b30c9](https://github.com/visma-swno/vsn-assistant/commit/b2b30c91da672beff532409436ab3037f53c66bc))
19
+
20
+
21
+ ### Build System
22
+
23
+ * **deps-dev:** bump happy-dom from 18.0.1 to 19.0.2 in /web-component ([#1158](https://github.com/visma-swno/vsn-assistant/issues/1158)) ([8eb4203](https://github.com/visma-swno/vsn-assistant/commit/8eb420315bbf0f2daae0b121570aba374c5af7a5))
24
+
3
25
  ## [2.1.3](https://github.com/visma-swno/vsn-assistant/compare/web-component@v2.1.2...web-component@v2.1.3) (2025-09-26)
4
26
 
5
27
 
package/README.md CHANGED
@@ -21,10 +21,7 @@ import '@visma-swno/gaia-chat-ui';
21
21
  ```
22
22
 
23
23
  ```html
24
- <gaia-chat
25
- profile-id="default"
26
- base-url="https://your-api-endpoint.com"
27
- is-visitor>
24
+ <gaia-chat profile-id="YOUR_PROFILE_ID" base-url="https://your-api-endpoint.com" is-visitor>
28
25
  </gaia-chat>
29
26
  ```
30
27
 
@@ -1,16 +1,13 @@
1
1
  import { PropertyValues } from 'lit';
2
+ import { StrategyType } from '../auth/strategy-factory';
3
+ import { TokenProvider } from '../auth/types';
2
4
  import { TwElement } from '../components/base-tw-element';
3
5
  export declare class ChatApp extends TwElement {
4
6
  baseUrl: string;
5
7
  profileId: string;
6
8
  supportPartnerId?: string;
7
- vismaAccessToken?: string;
8
- isVisitor: boolean;
9
- /**
10
- * Seconds before token expiration when the component should emit `token-expiring`.
11
- * Default: 10 seconds.
12
- */
13
- tokenExpiringLeadSeconds: number;
9
+ tokenProvider?: TokenProvider;
10
+ authStrategy: StrategyType;
14
11
  closeable: boolean;
15
12
  private langObserver?;
16
13
  private state;
@@ -19,7 +16,8 @@ export declare class ChatApp extends TwElement {
19
16
  private welcomeMessages?;
20
17
  private unsubscribe?;
21
18
  private store;
22
- private accessTokenProvider;
19
+ private strategyFactory;
20
+ private authProvider;
23
21
  private apiClient;
24
22
  private bootstrapEffect;
25
23
  private streamEffect;
@@ -28,8 +26,8 @@ export declare class ChatApp extends TwElement {
28
26
  private feedbackEffect;
29
27
  connectedCallback(): void;
30
28
  disconnectedCallback(): void;
31
- private onPrincipalChanged;
32
- updated(changedProperties: PropertyValues): void;
29
+ private handleAuthChanged;
30
+ willUpdate(changedProperties: PropertyValues): void;
33
31
  private checkPlatform;
34
32
  private onSendMessage;
35
33
  private onApproveToolCall;
@@ -49,4 +47,3 @@ declare global {
49
47
  'gaia-chat': ChatApp;
50
48
  }
51
49
  }
52
- //# sourceMappingURL=app.d.ts.map
@@ -8,4 +8,3 @@ export declare class ErrorController implements ReactiveController {
8
8
  private onOffline;
9
9
  private onOnline;
10
10
  }
11
- //# sourceMappingURL=error-controller.d.ts.map
@@ -4,4 +4,3 @@ export declare const getLocale: (() => string) & {
4
4
  _LIT_LOCALIZE_SET_LOCALE_?: never;
5
5
  };
6
6
  export declare function parseLocaleCode(locale: string): "en" | "da" | "nb" | "sv";
7
- //# sourceMappingURL=localization.d.ts.map
@@ -9,4 +9,3 @@ export interface IWithMiddleware {
9
9
  type Constructor<T = object> = new (...args: any[]) => T;
10
10
  export declare const WithMiddleware: <T extends Constructor<LitElement>>(Base: T) => T & Constructor<IWithMiddleware>;
11
11
  export {};
12
- //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1,17 @@
1
+ export declare class AuthError extends Error {
2
+ readonly code: string;
3
+ constructor(message: string, code: string);
4
+ }
5
+ export declare class TokenExpiredError extends AuthError {
6
+ constructor();
7
+ }
8
+ export declare class TokenInvalidError extends AuthError {
9
+ constructor(reason?: string);
10
+ }
11
+ export declare class TokenRefreshError extends AuthError {
12
+ readonly innerError?: unknown | undefined;
13
+ constructor(innerError?: unknown | undefined);
14
+ }
15
+ export declare class StrategyNotConfiguredError extends AuthError {
16
+ constructor();
17
+ }
@@ -0,0 +1,10 @@
1
+ import { AuthStrategy } from './strategies/base-strategy';
2
+ export declare class AuthProvider {
3
+ private strategy;
4
+ useStrategy(strategy: AuthStrategy): void;
5
+ getStrategy(): AuthStrategy;
6
+ getIdentifier(): string | null;
7
+ getAccessToken(): Promise<string | null>;
8
+ refresh(): Promise<void>;
9
+ clear(): void;
10
+ }
@@ -0,0 +1,21 @@
1
+ import { TokenCache } from '../token-cache';
2
+ import { TokenParser } from '../token-parser';
3
+ import { TokenStorage } from '../types';
4
+ export interface AuthStrategy {
5
+ getName(): string;
6
+ getIdentifier(): string | null;
7
+ getAccessToken(): Promise<string | null>;
8
+ refresh(): Promise<void>;
9
+ clear(): void;
10
+ }
11
+ export declare abstract class BaseAuthStrategy implements AuthStrategy {
12
+ protected readonly parser: TokenParser;
13
+ protected readonly cache: TokenCache;
14
+ constructor(parser: TokenParser, storage?: TokenStorage);
15
+ abstract getName(): string;
16
+ protected abstract fetchToken(): Promise<string>;
17
+ getIdentifier(): string | null;
18
+ getAccessToken(): Promise<string | null>;
19
+ refresh(): Promise<void>;
20
+ clear(): void;
21
+ }
@@ -0,0 +1,8 @@
1
+ import { AuthStrategy } from './base-strategy';
2
+ export declare class NullAuthStrategy implements AuthStrategy {
3
+ getName(): string;
4
+ getIdentifier(): string | null;
5
+ getAccessToken(): Promise<string | null>;
6
+ refresh(): Promise<void>;
7
+ clear(): void;
8
+ }
@@ -0,0 +1,9 @@
1
+ import { TokenParser } from '../token-parser';
2
+ import { TokenStorage } from '../types';
3
+ import { BaseAuthStrategy } from './base-strategy';
4
+ export declare class VisitorTokenStrategy extends BaseAuthStrategy {
5
+ private readonly baseUrl;
6
+ constructor(baseUrl: string, parser: TokenParser, storage?: TokenStorage);
7
+ getName(): string;
8
+ protected fetchToken(): Promise<string>;
9
+ }
@@ -0,0 +1,9 @@
1
+ import { TokenParser } from '../token-parser';
2
+ import { TokenProvider } from '../types';
3
+ import { BaseAuthStrategy } from './base-strategy';
4
+ export declare class VismaTokenStrategy extends BaseAuthStrategy {
5
+ private readonly tokenProvider;
6
+ constructor(tokenProvider: TokenProvider, parser: TokenParser);
7
+ getName(): string;
8
+ protected fetchToken(): Promise<string>;
9
+ }
@@ -0,0 +1,13 @@
1
+ import { AuthStrategy } from './strategies/base-strategy';
2
+ import { TokenParser } from './token-parser';
3
+ import { TokenProvider, TokenStorage } from './types';
4
+ export type StrategyType = 'visma' | 'visitor';
5
+ export interface StrategyFactoryConfig {
6
+ parser?: TokenParser;
7
+ storage?: TokenStorage;
8
+ }
9
+ export declare class StrategyFactory {
10
+ private readonly config;
11
+ constructor(config: StrategyFactoryConfig);
12
+ create(type: StrategyType, tokenProvider?: TokenProvider, baseUrl?: string): AuthStrategy;
13
+ }
@@ -0,0 +1,17 @@
1
+ import { TokenParser } from './token-parser';
2
+ import { TokenInfo, TokenStorage } from './types';
3
+ export declare class TokenCache {
4
+ private readonly parser;
5
+ private readonly storage?;
6
+ private currentToken;
7
+ private refreshPromise;
8
+ constructor(parser: TokenParser, storage?: TokenStorage | undefined);
9
+ private loadFromStorage;
10
+ get(): TokenInfo | null;
11
+ set(token: string): TokenInfo;
12
+ clear(): void;
13
+ isExpired(): boolean;
14
+ getIdentifier(): string | null;
15
+ refreshWith(refreshFn: () => Promise<string>): Promise<TokenInfo | null>;
16
+ private performRefresh;
17
+ }
@@ -0,0 +1,6 @@
1
+ import { TokenInfo } from './types';
2
+ export declare class TokenParser {
3
+ parse(token: string): TokenInfo;
4
+ isExpired(tokenInfo: TokenInfo): boolean;
5
+ getTimeToExpiry(tokenInfo: TokenInfo): number;
6
+ }
@@ -0,0 +1,17 @@
1
+ export type TokenProvider = () => Promise<string>;
2
+ export interface DecodedToken {
3
+ exp: number;
4
+ sub: string;
5
+ [key: string]: unknown;
6
+ }
7
+ export interface TokenInfo {
8
+ raw: string;
9
+ decoded: DecodedToken;
10
+ expiresAt: number;
11
+ subject: string;
12
+ }
13
+ export interface TokenStorage {
14
+ load(): string | null;
15
+ save(token: string): void;
16
+ clear(): void;
17
+ }
@@ -2,4 +2,3 @@ import { LitElement } from 'lit';
2
2
  export declare class TwElement extends LitElement {
3
3
  connectedCallback(): void;
4
4
  }
5
- //# sourceMappingURL=base-tw-element.d.ts.map
@@ -18,4 +18,3 @@ export declare class Composer extends TwElement {
18
18
  private maybeEmitTyping;
19
19
  render(): import('lit-html').TemplateResult<1>;
20
20
  }
21
- //# sourceMappingURL=composer.d.ts.map
@@ -6,4 +6,3 @@ export declare class ErrorMessage extends TwElement {
6
6
  private clearError;
7
7
  render(): import('lit-html').TemplateResult<1> | typeof nothing;
8
8
  }
9
- //# sourceMappingURL=error-message.d.ts.map
@@ -11,4 +11,3 @@ export declare class FeedbackForm extends TwElement {
11
11
  private onCancel;
12
12
  render(): import('lit-html').TemplateResult<1>;
13
13
  }
14
- //# sourceMappingURL=feedback-form.d.ts.map
@@ -8,4 +8,3 @@ export declare class Menu extends TwElement {
8
8
  private closeChat;
9
9
  render(): import('lit-html').TemplateResult<1>;
10
10
  }
11
- //# sourceMappingURL=menu.d.ts.map
@@ -8,7 +8,6 @@ export declare class AssistantMessage extends BaseMessage<AssistantMessageType>
8
8
  private declineToolCall;
9
9
  protected isHidden(): boolean;
10
10
  protected renderHeader(): import('lit-html').TemplateResult<1>;
11
- protected renderBody(): import('lit-html/directive').DirectiveResult<typeof import('lit-html/directives/guard').GuardDirective>;
11
+ protected renderBody(): import('lit-html/directive.js').DirectiveResult<typeof import('lit-html/directives/guard.js').GuardDirective>;
12
12
  protected renderFooter(): import('lit-html').TemplateResult<1> | typeof nothing;
13
13
  }
14
- //# sourceMappingURL=assistant.d.ts.map
@@ -11,4 +11,3 @@ export declare class BaseMessage<T extends UiMessage> extends TwElement {
11
11
  protected renderFooter(): unknown;
12
12
  render(): import('lit-html').TemplateResult<1> | typeof nothing;
13
13
  }
14
- //# sourceMappingURL=base.d.ts.map
@@ -2,4 +2,3 @@ export * from './assistant';
2
2
  export * from './operator';
3
3
  export * from './system';
4
4
  export * from './user';
5
- //# sourceMappingURL=index.d.ts.map
@@ -4,4 +4,3 @@ export declare class OperatorMessage extends BaseMessage<OperatorMessageType> {
4
4
  protected renderHeader(): import('lit-html').TemplateResult<1>;
5
5
  protected renderBody(): import('lit-html').TemplateResult<1> | null;
6
6
  }
7
- //# sourceMappingURL=operator.d.ts.map
@@ -8,4 +8,3 @@ export declare class SystemMessage extends BaseMessage<SystemMessageType> {
8
8
  private openFeedbackForm;
9
9
  protected renderBody(): import('lit-html').TemplateResult<1> | typeof nothing;
10
10
  }
11
- //# sourceMappingURL=system.d.ts.map
@@ -4,4 +4,3 @@ export declare class UserMessage extends BaseMessage<UserMessageType> {
4
4
  protected readonly position = "right";
5
5
  protected renderBody(): import('lit-html').TemplateResult<1> | null;
6
6
  }
7
- //# sourceMappingURL=user.d.ts.map
@@ -22,4 +22,3 @@ export declare class MessageList extends TwElement {
22
22
  private scrollFeedbackFormIntoView;
23
23
  render(): import('lit-html').TemplateResult<1>;
24
24
  }
25
- //# sourceMappingURL=message-list.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare function renderMarkdown(md: string): string;
2
- //# sourceMappingURL=markdown.d.ts.map
@@ -2,4 +2,3 @@ import { TwElement } from './base-tw-element';
2
2
  export declare class ThinkingIndicator extends TwElement {
3
3
  render(): import('lit-html').TemplateResult<1>;
4
4
  }
5
- //# sourceMappingURL=thinking-indicator.d.ts.map
@@ -8,4 +8,3 @@ export declare class WelcomeMessageComponent extends TwElement {
8
8
  private renderMessageBlock;
9
9
  render(): import('lit-html').TemplateResult<1>;
10
10
  }
11
- //# sourceMappingURL=welcome-message.d.ts.map
@@ -7,4 +7,3 @@ export declare class BootstrapEffect {
7
7
  initialize(): Promise<void>;
8
8
  clear(): Promise<void>;
9
9
  }
10
- //# sourceMappingURL=bootstrap-effect.d.ts.map
@@ -8,4 +8,3 @@ export declare class ConversationEffect {
8
8
  getHistory(): Promise<void>;
9
9
  clear(): void;
10
10
  }
11
- //# sourceMappingURL=conversation-effect.d.ts.map
@@ -7,4 +7,3 @@ export declare class FeedbackEffect {
7
7
  constructor(store: AppStore, svc: FeedbackService);
8
8
  submitFeedback(target: ChatChannel, rating: number, comment: string | null): Promise<void>;
9
9
  }
10
- //# sourceMappingURL=feedback-effect.d.ts.map
@@ -14,4 +14,3 @@ export declare class StreamEffect {
14
14
  private consume;
15
15
  private requireConversation;
16
16
  }
17
- //# sourceMappingURL=stream-effect.d.ts.map
@@ -7,4 +7,3 @@ export type SseEventHandlers = {
7
7
  [E in ChatSseEvent['event']]: (event: SpecificChatSseEvent<E>) => void;
8
8
  };
9
9
  export declare const makeSseHandlers: (s: AppStore) => Partial<SseEventHandlers>;
10
- //# sourceMappingURL=stream-event-router.d.ts.map
@@ -1,13 +1,13 @@
1
- import { AccessTokenProvider } from '../../auth/access-token-provider';
1
+ import { AuthProvider } from '../../auth/auth-provider';
2
2
  import { AppStore } from '../state';
3
3
  export declare class SupportEffect {
4
4
  private store;
5
- private accessTokenProvider;
5
+ private authProvider;
6
6
  private connection?;
7
7
  private readonly typingTimeoutMs;
8
8
  private readonly operatorMsgIdByOp;
9
9
  private readonly typingTimeoutByOp;
10
- constructor(store: AppStore, accessTokenProvider: AccessTokenProvider);
10
+ constructor(store: AppStore, authProvider: AuthProvider);
11
11
  start(baseUrl: string, conversationId: string): Promise<void>;
12
12
  stop(): Promise<void>;
13
13
  sendMessage(message: string): Promise<void>;
@@ -22,4 +22,3 @@ export declare class SupportEffect {
22
22
  private onClose;
23
23
  private onSupportEnded;
24
24
  }
25
- //# sourceMappingURL=support-effect.d.ts.map
@@ -3,4 +3,3 @@ export declare class TaskRunner {
3
3
  run<T>(fn: (signal: AbortSignal) => Promise<T>): Promise<T>;
4
4
  cancel(): void;
5
5
  }
6
- //# sourceMappingURL=task-runner.d.ts.map
@@ -12,4 +12,3 @@ export type AppError = {
12
12
  cause?: unknown;
13
13
  };
14
14
  export declare function toAppError(err: unknown): AppError;
15
- //# sourceMappingURL=app-error.d.ts.map
@@ -45,4 +45,3 @@ export declare class MarkSeenCommand extends CustomEvent<{
45
45
  export declare class CloseChatCommand extends CustomEvent<void> {
46
46
  constructor();
47
47
  }
48
- //# sourceMappingURL=commands.d.ts.map
@@ -1,3 +1,2 @@
1
1
  export * from './commands';
2
2
  export * from './utils';
3
- //# sourceMappingURL=index.d.ts.map
@@ -14,4 +14,3 @@ export declare function isCustomEvent<T extends keyof CustomEventMap>(e: Event,
14
14
  export type TypedEvent<K extends keyof CustomEventMap> = CustomEventMap[K];
15
15
  export declare function on<K extends keyof CustomEventMap>(target: EventTarget, type: K, handler: (e: TypedEvent<K>) => void, options?: boolean | AddEventListenerOptions): () => void;
16
16
  export declare function off<K extends keyof CustomEventMap>(target: EventTarget, type: K, handler: (e: TypedEvent<K>) => void, options?: boolean | AddEventListenerOptions): void;
17
- //# sourceMappingURL=utils.d.ts.map
@@ -29,23 +29,6 @@ export declare class FeedbackSubmittedEvent extends PublicEvent<{
29
29
  }> {
30
30
  constructor(rating: number, comment: string | null);
31
31
  }
32
- export declare class TokenUpdatedEvent extends PublicEvent<{
33
- expiresAt: number | null;
34
- token: string | null;
35
- }> {
36
- constructor(expiresAt: number | null, token: string | null);
37
- }
38
- export declare class TokenExpiringEvent extends PublicEvent<{
39
- expiresAt: number;
40
- remainingMs: number;
41
- }> {
42
- constructor(expiresAt: number, remainingMs: number);
43
- }
44
- export declare class TokenExpiredEvent extends PublicEvent<{
45
- expiredAt: number;
46
- }> {
47
- constructor(expiredAt: number);
48
- }
49
32
  export declare class CloseRequestedEvent extends PublicEvent<void> {
50
33
  constructor();
51
34
  }
@@ -56,10 +39,6 @@ declare global {
56
39
  'tool-call-approved': ToolCallApprovedEvent;
57
40
  'tool-call-declined': ToolCallDeclinedEvent;
58
41
  'feedback-submitted': FeedbackSubmittedEvent;
59
- 'token-updated': TokenUpdatedEvent;
60
- 'token-expiring': TokenExpiringEvent;
61
- 'token-expired': TokenExpiredEvent;
62
42
  'close-requested': CloseEvent;
63
43
  }
64
44
  }
65
- //# sourceMappingURL=app.d.ts.map
@@ -72,4 +72,3 @@ export type ChatSseEvent = {
72
72
  errorType?: ChatSseErrorType;
73
73
  };
74
74
  };
75
- //# sourceMappingURL=sse.d.ts.map
@@ -31,4 +31,3 @@ export type CloseMessageDto = {
31
31
  time: string;
32
32
  };
33
33
  export {};
34
- //# sourceMappingURL=ws.d.ts.map
@@ -7,4 +7,3 @@ export * from './slices/session-slice';
7
7
  export * from './slices/ui-slice';
8
8
  export * from './store';
9
9
  export declare const selectMessages: (s: AppState) => UiMessage[];
10
- //# sourceMappingURL=index.d.ts.map
@@ -16,4 +16,3 @@ export declare const resetAll: () => {
16
16
  export type ResetAction = ReturnType<typeof resetAll>;
17
17
  export type RootAction = ConfigAction | MessagesAction | UiAction | SessionAction | ResetAction;
18
18
  export declare function rootReducer(state: AppState, action: RootAction): AppState;
19
- //# sourceMappingURL=root-reducer.d.ts.map
@@ -17,4 +17,3 @@ export declare const setInitialized: () => ConfigAction;
17
17
  export declare const setConfig: (config: BootstrapConfigResponse) => ConfigAction;
18
18
  export declare const clearConfig: () => ConfigAction;
19
19
  export declare function configReducer(state: ConfigState | undefined, action: ConfigAction): ConfigState;
20
- //# sourceMappingURL=config-slice.d.ts.map
@@ -32,4 +32,3 @@ export declare const deleteMessage: (id: string) => MessagesAction;
32
32
  export declare const patchMessage: (id: string, patch: Partial<UiMessage>) => MessagesAction;
33
33
  export declare const addContentDelta: (id: string, delta: string) => MessagesAction;
34
34
  export declare function messagesReducer(state: MessagesState | undefined, action: MessagesAction): MessagesState;
35
- //# sourceMappingURL=messages-slice.d.ts.map
@@ -34,4 +34,3 @@ export declare const setActive: (active: boolean) => SessionAction;
34
34
  export declare const setThinking: (thinking: boolean) => SessionAction;
35
35
  export declare const setBusy: (busy: boolean) => SessionAction;
36
36
  export declare function sessionReducer(state: SessionState | undefined, action: SessionAction): SessionState;
37
- //# sourceMappingURL=session-slice.d.ts.map
@@ -26,4 +26,3 @@ export declare const closeFeedbackForm: () => UiAction;
26
26
  export declare const setError: (error: AppError | null) => UiAction;
27
27
  export declare const pushError: (error: AppError) => UiAction;
28
28
  export declare function uiReducer(state: UiState | undefined, action: UiAction): UiState;
29
- //# sourceMappingURL=ui-slice.d.ts.map
@@ -9,4 +9,3 @@ export declare class AppStore {
9
9
  subscribe(listener: (state: AppState) => void): () => boolean;
10
10
  dispatch(action: RootAction): void;
11
11
  }
12
- //# sourceMappingURL=store.d.ts.map
@@ -82,4 +82,3 @@ export type Conversation = {
82
82
  createdAt: string;
83
83
  updatedAt: string;
84
84
  };
85
- //# sourceMappingURL=types.d.ts.map
@@ -12,4 +12,3 @@ export declare function createOperatorMessage(operator: Operator, content: strin
12
12
  isTyping?: boolean;
13
13
  }): OperatorMessage;
14
14
  export {};
15
- //# sourceMappingURL=message-factory.d.ts.map