@crownpeak/dqm-react-component 1.1.0 → 1.2.1

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 (163) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +52 -24
  3. package/dist/DQMSidebar.d.ts.map +1 -1
  4. package/dist/ErrorBoundary.d.ts.map +1 -1
  5. package/dist/__tests__/setup.d.ts +1 -0
  6. package/dist/__tests__/setup.d.ts.map +1 -0
  7. package/dist/__tests__/utils.d.ts +145 -0
  8. package/dist/__tests__/utils.d.ts.map +1 -0
  9. package/dist/auth-ui/assets/index-YKFZYENy.js +158 -0
  10. package/dist/auth-ui/index.html +1 -1
  11. package/dist/components/auth/DQMLogin.d.ts.map +1 -1
  12. package/dist/components/auth/index.d.ts +0 -1
  13. package/dist/components/auth/index.d.ts.map +1 -1
  14. package/dist/components/cards/AISummaryCard.d.ts +2 -0
  15. package/dist/components/cards/AISummaryCard.d.ts.map +1 -0
  16. package/dist/components/cards/index.d.ts +1 -0
  17. package/dist/components/cards/index.d.ts.map +1 -1
  18. package/dist/components/common/LanguageSwitch.d.ts +5 -0
  19. package/dist/components/common/LanguageSwitch.d.ts.map +1 -0
  20. package/dist/components/common/LanguageSwitchBase.d.ts +16 -0
  21. package/dist/components/common/LanguageSwitchBase.d.ts.map +1 -0
  22. package/dist/components/common/index.d.ts +1 -0
  23. package/dist/components/common/index.d.ts.map +1 -1
  24. package/dist/components/modals/AISettingsDialog.d.ts +61 -0
  25. package/dist/components/modals/AISettingsDialog.d.ts.map +1 -0
  26. package/dist/components/modals/HighlightModal.d.ts +45 -0
  27. package/dist/components/modals/HighlightModal.d.ts.map +1 -0
  28. package/dist/components/modals/LoginOverlay.d.ts +22 -0
  29. package/dist/components/modals/LoginOverlay.d.ts.map +1 -0
  30. package/dist/components/modals/index.d.ts +9 -0
  31. package/dist/components/modals/index.d.ts.map +1 -0
  32. package/dist/components/renderers/BrowserViewRenderer.d.ts.map +1 -1
  33. package/dist/components/renderers/ShadowDOMRenderer.d.ts.map +1 -1
  34. package/dist/components/sidebar/index.d.ts +1 -0
  35. package/dist/components/sidebar/index.d.ts.map +1 -1
  36. package/dist/context/ai/AIContext.d.ts +13 -0
  37. package/dist/context/ai/AIContext.d.ts.map +1 -0
  38. package/dist/context/ai/index.d.ts +12 -0
  39. package/dist/context/ai/index.d.ts.map +1 -0
  40. package/dist/context/ai/types.d.ts +161 -0
  41. package/dist/context/ai/types.d.ts.map +1 -0
  42. package/dist/context/ai/useAIEngine.d.ts +10 -0
  43. package/dist/context/ai/useAIEngine.d.ts.map +1 -0
  44. package/dist/context/ai/useAISummary.d.ts +10 -0
  45. package/dist/context/ai/useAISummary.d.ts.map +1 -0
  46. package/dist/context/ai/useAITranslation.d.ts +10 -0
  47. package/dist/context/ai/useAITranslation.d.ts.map +1 -0
  48. package/dist/context/ai/useTranslationCache.d.ts +9 -0
  49. package/dist/context/ai/useTranslationCache.d.ts.map +1 -0
  50. package/dist/dqm-widget.esm.js +394 -264
  51. package/dist/dqm-widget.iife.js +76 -25
  52. package/dist/hooks/index.d.ts +10 -0
  53. package/dist/hooks/index.d.ts.map +1 -0
  54. package/dist/hooks/useAnalysis.d.ts +43 -0
  55. package/dist/hooks/useAnalysis.d.ts.map +1 -0
  56. package/dist/hooks/useAuthentication.d.ts +49 -0
  57. package/dist/hooks/useAuthentication.d.ts.map +1 -0
  58. package/dist/hooks/useHighlightActions.d.ts +37 -0
  59. package/dist/hooks/useHighlightActions.d.ts.map +1 -0
  60. package/dist/hooks/useHighlights.d.ts +72 -0
  61. package/dist/hooks/useHighlights.d.ts.map +1 -0
  62. package/dist/html-pages/DQMWidget.d.ts.map +1 -1
  63. package/dist/html-pages/index.d.ts.map +1 -1
  64. package/dist/i18n/auth/de.d.ts +25 -0
  65. package/dist/i18n/auth/de.d.ts.map +1 -0
  66. package/dist/i18n/auth/en.d.ts +26 -0
  67. package/dist/i18n/auth/en.d.ts.map +1 -0
  68. package/dist/i18n/auth/es.d.ts +25 -0
  69. package/dist/i18n/auth/es.d.ts.map +1 -0
  70. package/dist/i18n/auth/index.d.ts +8 -0
  71. package/dist/i18n/auth/index.d.ts.map +1 -0
  72. package/dist/i18n/common/de.d.ts +18 -0
  73. package/dist/i18n/common/de.d.ts.map +1 -0
  74. package/dist/i18n/common/en.d.ts +19 -0
  75. package/dist/i18n/common/en.d.ts.map +1 -0
  76. package/dist/i18n/common/es.d.ts +18 -0
  77. package/dist/i18n/common/es.d.ts.map +1 -0
  78. package/dist/i18n/common/index.d.ts +8 -0
  79. package/dist/i18n/common/index.d.ts.map +1 -0
  80. package/dist/i18n/demo/de.d.ts +104 -0
  81. package/dist/i18n/demo/de.d.ts.map +1 -0
  82. package/dist/i18n/demo/en.d.ts +105 -0
  83. package/dist/i18n/demo/en.d.ts.map +1 -0
  84. package/dist/i18n/demo/es.d.ts +104 -0
  85. package/dist/i18n/demo/es.d.ts.map +1 -0
  86. package/dist/i18n/demo/index.d.ts +8 -0
  87. package/dist/i18n/demo/index.d.ts.map +1 -0
  88. package/dist/i18n/index.d.ts +673 -0
  89. package/dist/i18n/index.d.ts.map +1 -0
  90. package/dist/i18n/sidebar/de.d.ts +89 -0
  91. package/dist/i18n/sidebar/de.d.ts.map +1 -0
  92. package/dist/i18n/sidebar/en.d.ts +90 -0
  93. package/dist/i18n/sidebar/en.d.ts.map +1 -0
  94. package/dist/i18n/sidebar/es.d.ts +89 -0
  95. package/dist/i18n/sidebar/es.d.ts.map +1 -0
  96. package/dist/i18n/sidebar/index.d.ts +8 -0
  97. package/dist/i18n/sidebar/index.d.ts.map +1 -0
  98. package/dist/i18n.d.ts +8 -0
  99. package/dist/i18n.d.ts.map +1 -0
  100. package/dist/index.cjs +61 -31
  101. package/dist/index.cjs.map +1 -1
  102. package/dist/index.d.ts +7 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.html +3 -3
  105. package/dist/index.js +17795 -7252
  106. package/dist/index.js.map +1 -1
  107. package/dist/locale.d.ts +25 -0
  108. package/dist/locale.d.ts.map +1 -0
  109. package/dist/mocks/browser.d.ts +23 -0
  110. package/dist/mocks/browser.d.ts.map +1 -0
  111. package/dist/mocks/handlers.d.ts +32 -0
  112. package/dist/mocks/handlers.d.ts.map +1 -0
  113. package/dist/mocks/index.d.ts +7 -0
  114. package/dist/mocks/index.d.ts.map +1 -0
  115. package/dist/mocks/server.d.ts +24 -0
  116. package/dist/mocks/server.d.ts.map +1 -0
  117. package/dist/server/routes/auth.js +0 -10
  118. package/dist/server/routes/auth.js.map +1 -1
  119. package/dist/store/api/dqmApi.d.ts +1793 -0
  120. package/dist/store/api/dqmApi.d.ts.map +1 -0
  121. package/dist/store/api/index.d.ts +6 -0
  122. package/dist/store/api/index.d.ts.map +1 -0
  123. package/dist/store/index.d.ts +57 -0
  124. package/dist/store/index.d.ts.map +1 -0
  125. package/dist/store/localeSlice.d.ts +6 -0
  126. package/dist/store/localeSlice.d.ts.map +1 -0
  127. package/dist/store/slices/aiSlice.d.ts +134 -0
  128. package/dist/store/slices/aiSlice.d.ts.map +1 -0
  129. package/dist/store/slices/analysisSlice.d.ts +54 -0
  130. package/dist/store/slices/analysisSlice.d.ts.map +1 -0
  131. package/dist/store/slices/authSlice.d.ts +170 -0
  132. package/dist/store/slices/authSlice.d.ts.map +1 -0
  133. package/dist/store/slices/highlightSlice.d.ts +188 -0
  134. package/dist/store/slices/highlightSlice.d.ts.map +1 -0
  135. package/dist/store/slices/index.d.ts +12 -0
  136. package/dist/store/slices/index.d.ts.map +1 -0
  137. package/dist/types.d.ts +27 -8
  138. package/dist/types.d.ts.map +1 -1
  139. package/dist/utils/aiJsonClient.d.ts +23 -0
  140. package/dist/utils/aiJsonClient.d.ts.map +1 -0
  141. package/dist/utils/colors/GenerateCategoryColors.d.ts.map +1 -1
  142. package/dist/utils/logger.d.ts +107 -0
  143. package/dist/utils/logger.d.ts.map +1 -0
  144. package/dist/utils/openaiJsonClient.d.ts +8 -0
  145. package/dist/utils/openaiJsonClient.d.ts.map +1 -0
  146. package/dist/utils/sanitizeHtmlDocument.d.ts +4 -0
  147. package/dist/utils/sanitizeHtmlDocument.d.ts.map +1 -0
  148. package/dist/utils/secureStorage.d.ts +95 -0
  149. package/dist/utils/secureStorage.d.ts.map +1 -0
  150. package/dist/utils/storage.d.ts.map +1 -1
  151. package/dist/utils/translationCache.d.ts +45 -0
  152. package/dist/utils/translationCache.d.ts.map +1 -0
  153. package/dist/utils/translationUtils.d.ts +52 -0
  154. package/dist/utils/translationUtils.d.ts.map +1 -0
  155. package/package.json +48 -10
  156. package/AUTHENTICATION.md +0 -281
  157. package/BACKEND-API.md +0 -1829
  158. package/DEVELOPMENT.md +0 -374
  159. package/EXAMPLES.md +0 -381
  160. package/QUICKSTART.md +0 -207
  161. package/dist/auth-ui/assets/index-CczTRrba.js +0 -158
  162. package/dist/components/auth/OAuth2CallbackHandler.d.ts +0 -15
  163. package/dist/components/auth/OAuth2CallbackHandler.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dqmApi.d.ts","sourceRoot":"","sources":["../../../src/store/api/dqmApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * RTK Query API exports
3
+ */
4
+ export { dqmApi, useCreateAssetMutation, useGetAssetQuery, useLazyGetAssetQuery, useGetHighlightQuery, useLazyGetHighlightQuery, useGetAllHighlightsQuery, useLazyGetAllHighlightsQuery, } from './dqmApi';
5
+ export type { CreateAssetRequest, CreateAssetResponse, GetAssetRequest, AssetStatusResponse, GetHighlightRequest, GetAllHighlightsRequest, HighlightResponse, } from './dqmApi';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/api/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,MAAM,EACN,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { TypedUseSelectorHook } from 'react-redux';
2
+ export declare const store: import('@reduxjs/toolkit').EnhancedStore<{
3
+ locale: import('./localeSlice').LocaleState;
4
+ analysis: import('./slices').AnalysisSliceState;
5
+ highlight: import('./slices').HighlightSliceState;
6
+ auth: import('immer').WritableDraft<import('./slices').AuthSliceState>;
7
+ ai: import('./slices').AISliceState;
8
+ dqmApi: import('@reduxjs/toolkit/query').CombinedState<{
9
+ createAsset: import('@reduxjs/toolkit/query').MutationDefinition<import('./api').CreateAssetRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').CreateAssetResponse, "dqmApi", unknown>;
10
+ getAsset: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetAssetRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api/dqmApi').TransformedAnalysisData, "dqmApi", unknown>;
11
+ getHighlight: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetHighlightRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').HighlightResponse, "dqmApi", unknown>;
12
+ getAllHighlights: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetAllHighlightsRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').HighlightResponse, "dqmApi", unknown>;
13
+ getCheckpointHighlight: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetHighlightRequest & {
14
+ highlightSource?: boolean;
15
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", string, "dqmApi", unknown>;
16
+ }, "Highlight" | "Asset", "dqmApi">;
17
+ }, import('redux').UnknownAction, import('@reduxjs/toolkit').Tuple<[import('redux').StoreEnhancer<{
18
+ dispatch: import('redux-thunk').ThunkDispatch<{
19
+ locale: import('./localeSlice').LocaleState;
20
+ analysis: import('./slices').AnalysisSliceState;
21
+ highlight: import('./slices').HighlightSliceState;
22
+ auth: import('immer').WritableDraft<import('./slices').AuthSliceState>;
23
+ ai: import('./slices').AISliceState;
24
+ dqmApi: import('@reduxjs/toolkit/query').CombinedState<{
25
+ createAsset: import('@reduxjs/toolkit/query').MutationDefinition<import('./api').CreateAssetRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').CreateAssetResponse, "dqmApi", unknown>;
26
+ getAsset: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetAssetRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api/dqmApi').TransformedAnalysisData, "dqmApi", unknown>;
27
+ getHighlight: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetHighlightRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').HighlightResponse, "dqmApi", unknown>;
28
+ getAllHighlights: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetAllHighlightsRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').HighlightResponse, "dqmApi", unknown>;
29
+ getCheckpointHighlight: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetHighlightRequest & {
30
+ highlightSource?: boolean;
31
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", string, "dqmApi", unknown>;
32
+ }, "Highlight" | "Asset", "dqmApi">;
33
+ }, undefined, import('redux').UnknownAction>;
34
+ }>, import('redux').StoreEnhancer]>>;
35
+ export type RootState = ReturnType<typeof store.getState>;
36
+ export type AppDispatch = typeof store.dispatch;
37
+ export declare const useAppDispatch: () => import('redux-thunk').ThunkDispatch<{
38
+ locale: import('./localeSlice').LocaleState;
39
+ analysis: import('./slices').AnalysisSliceState;
40
+ highlight: import('./slices').HighlightSliceState;
41
+ auth: import('immer').WritableDraft<import('./slices').AuthSliceState>;
42
+ ai: import('./slices').AISliceState;
43
+ dqmApi: import('@reduxjs/toolkit/query').CombinedState<{
44
+ createAsset: import('@reduxjs/toolkit/query').MutationDefinition<import('./api').CreateAssetRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').CreateAssetResponse, "dqmApi", unknown>;
45
+ getAsset: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetAssetRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api/dqmApi').TransformedAnalysisData, "dqmApi", unknown>;
46
+ getHighlight: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetHighlightRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').HighlightResponse, "dqmApi", unknown>;
47
+ getAllHighlights: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetAllHighlightsRequest, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", import('./api').HighlightResponse, "dqmApi", unknown>;
48
+ getCheckpointHighlight: import('@reduxjs/toolkit/query').QueryDefinition<import('./api').GetHighlightRequest & {
49
+ highlightSource?: boolean;
50
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@reduxjs/toolkit/query').FetchBaseQueryError, {}, import('@reduxjs/toolkit/query').FetchBaseQueryMeta>, "Highlight" | "Asset", string, "dqmApi", unknown>;
51
+ }, "Highlight" | "Asset", "dqmApi">;
52
+ }, undefined, import('redux').UnknownAction> & import('redux').Dispatch<import('redux').UnknownAction>;
53
+ export declare const useAppSelector: TypedUseSelectorHook<RootState>;
54
+ export * from './slices';
55
+ export * from './api';
56
+ export { localeReducer } from './localeSlice';
57
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQxD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAWhB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC1D,MAAM,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAC;AAGhD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;sGAAmC,CAAC;AAC/D,eAAO,MAAM,cAAc,EAAE,oBAAoB,CAAC,SAAS,CAAe,CAAC;AAG3E,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ResolvedLocale } from '../locale';
2
+ export interface LocaleState extends ResolvedLocale {
3
+ }
4
+ export declare const setResolvedLocale: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<ResolvedLocale, "locale/setResolvedLocale">, setUserLocale: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<"en" | "de" | "es", "locale/setUserLocale">, applyNavigatorLocale: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"locale/applyNavigatorLocale">, resetLocale: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"locale/resetLocale">;
5
+ export declare const localeReducer: import('redux').Reducer<LocaleState>;
6
+ //# sourceMappingURL=localeSlice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localeSlice.d.ts","sourceRoot":"","sources":["../../src/store/localeSlice.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,WAAY,SAAQ,cAAc;CAAG;AA6EtD,eAAO,MAAQ,iBAAiB,2GAAE,aAAa,2GAAE,oBAAoB,yFAAE,WAAW,8EAAwB,CAAC;AAC3G,eAAO,MAAM,aAAa,sCAAsB,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { PayloadAction } from '@reduxjs/toolkit';
2
+ export type AIProvider = 'openai' | 'none';
3
+ export type TranslationProvider = 'openai' | 'none';
4
+ export interface AISettings {
5
+ /** AI provider for summaries */
6
+ provider: AIProvider;
7
+ /** OpenAI API key (if using OpenAI) */
8
+ openaiApiKey: string | null;
9
+ /** OpenAI model */
10
+ openaiModel: string;
11
+ /** Whether AI features are enabled */
12
+ enabled: boolean;
13
+ /** Translation provider */
14
+ translationProvider: TranslationProvider;
15
+ }
16
+ export interface AISummary {
17
+ /** Checkpoint ID this summary is for */
18
+ checkpointId: string;
19
+ /** Generated summary text */
20
+ summary: string;
21
+ /** When the summary was generated */
22
+ generatedAt: number;
23
+ /** Provider used to generate */
24
+ provider: AIProvider;
25
+ }
26
+ export interface AISliceState {
27
+ /** AI settings */
28
+ settings: AISettings;
29
+ /** Cached summaries by checkpoint ID */
30
+ summaries: Record<string, AISummary>;
31
+ /** Whether settings dialog is open */
32
+ isSettingsOpen: boolean;
33
+ /** Whether AI is currently generating */
34
+ isGenerating: boolean;
35
+ /** Current generation target (checkpoint ID) */
36
+ generatingFor: string | null;
37
+ /** Error message if generation failed */
38
+ error: string | null;
39
+ }
40
+ /** Storage keys for AI settings */
41
+ declare const AI_STORAGE_KEYS: {
42
+ readonly provider: "dqm_ai_provider";
43
+ readonly openaiApiKey: "dqm_openai_apiKey";
44
+ readonly openaiModel: "dqm_openai_model";
45
+ readonly translationProvider: "dqm_translation_provider";
46
+ };
47
+ export declare const aiSlice: import('@reduxjs/toolkit').Slice<AISliceState, {
48
+ /** Update AI settings */
49
+ updateSettings: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<Partial<AISettings>>) => void;
50
+ /** Set AI provider */
51
+ setProvider: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<AIProvider>) => void;
52
+ /** Set OpenAI API key */
53
+ setOpenAIApiKey: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<string | null>) => void;
54
+ /** Set OpenAI model */
55
+ setOpenAIModel: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<string>) => void;
56
+ /** Set translation provider */
57
+ setTranslationProvider: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<TranslationProvider>) => void;
58
+ /** Open settings dialog */
59
+ openSettings: (state: import('immer').WritableDraft<AISliceState>) => void;
60
+ /** Close settings dialog */
61
+ closeSettings: (state: import('immer').WritableDraft<AISliceState>) => void;
62
+ /** Toggle settings dialog */
63
+ toggleSettings: (state: import('immer').WritableDraft<AISliceState>) => void;
64
+ /** Start generating summary */
65
+ startGeneration: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<string>) => void;
66
+ /** Generation completed successfully */
67
+ generationCompleted: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<{
68
+ checkpointId: string;
69
+ summary: string;
70
+ provider: AIProvider;
71
+ }>) => void;
72
+ /** Generation failed */
73
+ generationFailed: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<string>) => void;
74
+ /** Clear error */
75
+ clearError: (state: import('immer').WritableDraft<AISliceState>) => void;
76
+ /** Clear all summaries */
77
+ clearSummaries: (state: import('immer').WritableDraft<AISliceState>) => void;
78
+ /** Clear specific summary */
79
+ clearSummary: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<string>) => void;
80
+ /** Reset AI state */
81
+ resetAI: () => AISliceState;
82
+ /** Hydrate settings from storage */
83
+ hydrateSettings: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<{
84
+ provider?: AIProvider;
85
+ openaiApiKey?: string | null;
86
+ openaiModel?: string;
87
+ translationProvider?: TranslationProvider;
88
+ }>) => void;
89
+ }, "ai", "ai", import('@reduxjs/toolkit').SliceSelectors<AISliceState>>;
90
+ export declare const updateSettings: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"ai/updateSettings">, setProvider: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<AIProvider, "ai/setProvider">, setOpenAIApiKey: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "ai/setOpenAIApiKey">, setOpenAIModel: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "ai/setOpenAIModel">, setTranslationProvider: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<TranslationProvider, "ai/setTranslationProvider">, openSettings: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"ai/openSettings">, closeSettings: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"ai/closeSettings">, toggleSettings: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"ai/toggleSettings">, startGeneration: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "ai/startGeneration">, generationCompleted: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
91
+ checkpointId: string;
92
+ summary: string;
93
+ provider: AIProvider;
94
+ }, "ai/generationCompleted">, generationFailed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "ai/generationFailed">, clearError: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"ai/clearError">, clearSummaries: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"ai/clearSummaries">, clearSummary: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "ai/clearSummary">, resetAI: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"ai/resetAI">, hydrateSettings: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"ai/hydrateSettings">;
95
+ declare const _default: import('redux').Reducer<AISliceState>;
96
+ export default _default;
97
+ export declare const selectAISettings: (state: {
98
+ ai: AISliceState;
99
+ }) => AISettings;
100
+ export declare const selectAIProvider: (state: {
101
+ ai: AISliceState;
102
+ }) => AIProvider;
103
+ export declare const selectAIEnabled: (state: {
104
+ ai: AISliceState;
105
+ }) => boolean;
106
+ export declare const selectOpenAIApiKey: (state: {
107
+ ai: AISliceState;
108
+ }) => string;
109
+ export declare const selectOpenAIModel: (state: {
110
+ ai: AISliceState;
111
+ }) => string;
112
+ export declare const selectTranslationProvider: (state: {
113
+ ai: AISliceState;
114
+ }) => TranslationProvider;
115
+ export declare const selectIsSettingsOpen: (state: {
116
+ ai: AISliceState;
117
+ }) => boolean;
118
+ export declare const selectIsGenerating: (state: {
119
+ ai: AISliceState;
120
+ }) => boolean;
121
+ export declare const selectGeneratingFor: (state: {
122
+ ai: AISliceState;
123
+ }) => string;
124
+ export declare const selectAIError: (state: {
125
+ ai: AISliceState;
126
+ }) => string;
127
+ export declare const selectAllSummaries: (state: {
128
+ ai: AISliceState;
129
+ }) => Record<string, AISummary>;
130
+ export declare const selectSummary: (checkpointId: string) => (state: {
131
+ ai: AISliceState;
132
+ }) => AISummary;
133
+ export { AI_STORAGE_KEYS };
134
+ //# sourceMappingURL=aiSlice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiSlice.d.ts","sourceRoot":"","sources":["../../../src/store/slices/aiSlice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { PayloadAction } from '@reduxjs/toolkit';
2
+ import { AnalysisData, AnalysisState } from '../../types';
3
+ export interface AnalysisSliceState {
4
+ /** Current analysis state */
5
+ state: AnalysisState;
6
+ /** Asset ID from the API */
7
+ assetId: string | null;
8
+ /** Analysis data once completed */
9
+ data: AnalysisData | null;
10
+ /** Error message if analysis failed */
11
+ error: string | null;
12
+ /** Whether analysis is in progress */
13
+ isAnalyzing: boolean;
14
+ /** Timestamp when analysis started */
15
+ startedAt: number | null;
16
+ /** Timestamp when analysis completed */
17
+ completedAt: number | null;
18
+ }
19
+ export declare const analysisSlice: import('@reduxjs/toolkit').Slice<AnalysisSliceState, {
20
+ /** Start a new analysis */
21
+ startAnalysis: (state: import('immer').WritableDraft<AnalysisSliceState>) => void;
22
+ /** Set the asset ID after creation */
23
+ setAssetId: (state: import('immer').WritableDraft<AnalysisSliceState>, action: PayloadAction<string>) => void;
24
+ /** Analysis completed successfully */
25
+ analysisCompleted: (state: import('immer').WritableDraft<AnalysisSliceState>, action: PayloadAction<AnalysisData>) => void;
26
+ /** Analysis failed with error */
27
+ analysisFailed: (state: import('immer').WritableDraft<AnalysisSliceState>, action: PayloadAction<string>) => void;
28
+ /** Reset analysis state */
29
+ resetAnalysis: (state: import('immer').WritableDraft<AnalysisSliceState>) => void;
30
+ /** Update analysis state from API response */
31
+ updateAnalysisState: (state: import('immer').WritableDraft<AnalysisSliceState>, action: PayloadAction<AnalysisState>) => void;
32
+ }, "analysis", "analysis", import('@reduxjs/toolkit').SliceSelectors<AnalysisSliceState>>;
33
+ export declare const startAnalysis: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"analysis/startAnalysis">, setAssetId: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "analysis/setAssetId">, analysisCompleted: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<AnalysisData, "analysis/analysisCompleted">, analysisFailed: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "analysis/analysisFailed">, resetAnalysis: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"analysis/resetAnalysis">, updateAnalysisState: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<AnalysisState, "analysis/updateAnalysisState">;
34
+ declare const _default: import('redux').Reducer<AnalysisSliceState>;
35
+ export default _default;
36
+ export declare const selectAnalysisState: (state: {
37
+ analysis: AnalysisSliceState;
38
+ }) => AnalysisState;
39
+ export declare const selectAnalysisData: (state: {
40
+ analysis: AnalysisSliceState;
41
+ }) => AnalysisData;
42
+ export declare const selectAssetId: (state: {
43
+ analysis: AnalysisSliceState;
44
+ }) => string;
45
+ export declare const selectIsAnalyzing: (state: {
46
+ analysis: AnalysisSliceState;
47
+ }) => boolean;
48
+ export declare const selectAnalysisError: (state: {
49
+ analysis: AnalysisSliceState;
50
+ }) => string;
51
+ export declare const selectAnalysisDuration: (state: {
52
+ analysis: AnalysisSliceState;
53
+ }) => number;
54
+ //# sourceMappingURL=analysisSlice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysisSlice.d.ts","sourceRoot":"","sources":["../../../src/store/slices/analysisSlice.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mCAAmC;IACnC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,uCAAuC;IACvC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,sCAAsC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wCAAwC;IACxC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAYD,eAAO,MAAM,aAAa;IAItB,2BAA2B;;IAS3B,sCAAsC;mFACV,aAAa,CAAC,MAAM,CAAC;IAIjD,sCAAsC;0FACH,aAAa,CAAC,YAAY,CAAC;IAO9D,iCAAiC;uFACD,aAAa,CAAC,MAAM,CAAC;IAOrD,2BAA2B;;IAK3B,8CAA8C;4FACT,aAAa,CAAC,aAAa,CAAC;yFAQnE,CAAC;AAEH,eAAO,MACL,aAAa,oFACb,UAAU,8FACV,iBAAiB,2GACjB,cAAc,kGACd,aAAa,oFACb,mBAAmB,4GACI,CAAC;;AAE1B,wBAAqC;AAGrC,eAAO,MAAM,mBAAmB,GAAI,OAAO;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,kBAAyB,CAAC;AACrG,eAAO,MAAM,kBAAkB,GAAI,OAAO;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,iBAAwB,CAAC;AACnG,eAAO,MAAM,aAAa,GAAI,OAAO;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,WAA2B,CAAC;AACjG,eAAO,MAAM,iBAAiB,GAAI,OAAO;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,YAA+B,CAAC;AACzG,eAAO,MAAM,mBAAmB,GAAI,OAAO;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,WAAyB,CAAC;AACrG,eAAO,MAAM,sBAAsB,GAAI,OAAO;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAAE,WAK7E,CAAC"}
@@ -0,0 +1,170 @@
1
+ import { PayloadAction } from '@reduxjs/toolkit';
2
+ import { SessionType, DQMConfig } from '../../types';
3
+ export type AuthSessionType = SessionType;
4
+ export interface AuthSliceState {
5
+ /** API key for DQM service */
6
+ apiKey: string | null;
7
+ /** Website ID for DQM */
8
+ websiteId: string | null;
9
+ /** Whether user is authenticated */
10
+ isAuthenticated: boolean;
11
+ /** Session type (direct or backend) */
12
+ sessionType: AuthSessionType | null;
13
+ /** Backend session token */
14
+ sessionToken: string | null;
15
+ /** Access token for backend authentication */
16
+ accessToken: string | null;
17
+ /** Refresh token for backend authentication */
18
+ refreshToken: string | null;
19
+ /** Whether to remember credentials */
20
+ rememberMe: boolean;
21
+ /** Whether auth is loading */
22
+ isLoading: boolean;
23
+ /** Auth error message */
24
+ error: string | null;
25
+ /** User was warned about localStorage risks */
26
+ storageWarningAcknowledged: boolean;
27
+ }
28
+ /** Storage keys */
29
+ declare const STORAGE_KEYS: {
30
+ readonly apiKey: "dqm_apiKey";
31
+ readonly websiteId: "dqm_websiteID";
32
+ readonly rememberMe: "dqm_rememberMe";
33
+ readonly storageWarning: "dqm_storageWarningAcknowledged";
34
+ readonly sessionToken: "dqm_sessionToken";
35
+ readonly sessionType: "dqm_sessionType";
36
+ };
37
+ /**
38
+ * Async thunk: Initialize auth from config and localStorage
39
+ */
40
+ export declare const initializeAuth: import('@reduxjs/toolkit').AsyncThunk<{
41
+ isAuthenticated: boolean;
42
+ error: string;
43
+ apiKey?: undefined;
44
+ websiteId?: undefined;
45
+ sessionType?: undefined;
46
+ accessToken?: undefined;
47
+ } | {
48
+ apiKey: string;
49
+ websiteId: string;
50
+ sessionType: "direct";
51
+ isAuthenticated: boolean;
52
+ error?: undefined;
53
+ accessToken?: undefined;
54
+ } | {
55
+ accessToken: string;
56
+ sessionType: "backend";
57
+ isAuthenticated: boolean;
58
+ error?: undefined;
59
+ apiKey?: undefined;
60
+ websiteId?: undefined;
61
+ } | {
62
+ isAuthenticated: boolean;
63
+ error?: undefined;
64
+ apiKey?: undefined;
65
+ websiteId?: undefined;
66
+ sessionType?: undefined;
67
+ accessToken?: undefined;
68
+ }, DQMConfig, import('@reduxjs/toolkit').AsyncThunkConfig>;
69
+ /**
70
+ * Async thunk: Login with credentials
71
+ */
72
+ export declare const loginWithCredentials: import('@reduxjs/toolkit').AsyncThunk<{
73
+ apiKey: string;
74
+ websiteId: string;
75
+ sessionToken?: string;
76
+ sessionType: SessionType;
77
+ rememberMe?: boolean;
78
+ }, {
79
+ apiKey: string;
80
+ websiteId: string;
81
+ sessionToken?: string;
82
+ sessionType: SessionType;
83
+ rememberMe?: boolean;
84
+ }, import('@reduxjs/toolkit').AsyncThunkConfig>;
85
+ /**
86
+ * Async thunk: Logout
87
+ */
88
+ export declare const logoutThunk: import('@reduxjs/toolkit').AsyncThunk<boolean, boolean, import('@reduxjs/toolkit').AsyncThunkConfig>;
89
+ export declare const authSlice: import('@reduxjs/toolkit').Slice<import('immer').WritableDraft<AuthSliceState>, {
90
+ /** Set API key */
91
+ setApiKey: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<string | null>) => void;
92
+ /** Set website ID */
93
+ setWebsiteId: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<string | null>) => void;
94
+ /** Set credentials (API key + website ID) */
95
+ setCredentials: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<{
96
+ apiKey: string;
97
+ websiteId: string;
98
+ rememberMe?: boolean;
99
+ }>) => void;
100
+ /** Set session token for backend authentication */
101
+ setSessionToken: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<{
102
+ accessToken: string;
103
+ }>) => void;
104
+ /** Set remember me preference */
105
+ setRememberMe: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<boolean>) => void;
106
+ /** Acknowledge storage warning */
107
+ acknowledgeStorageWarning: (state: import('immer').WritableDraft<AuthSliceState>) => void;
108
+ /** Set loading state */
109
+ setAuthLoading: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<boolean>) => void;
110
+ /** Set auth error */
111
+ setAuthError: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<string | null>) => void;
112
+ /** Clear credentials and log out */
113
+ logout: (state: import('immer').WritableDraft<AuthSliceState>) => void;
114
+ /** Reset all auth state */
115
+ resetAuth: () => AuthSliceState;
116
+ /** Hydrate state from storage */
117
+ hydrateFromStorage: (state: import('immer').WritableDraft<AuthSliceState>, action: PayloadAction<{
118
+ apiKey?: string | null;
119
+ websiteId?: string | null;
120
+ rememberMe?: boolean;
121
+ storageWarningAcknowledged?: boolean;
122
+ }>) => void;
123
+ }, "auth", "auth", import('@reduxjs/toolkit').SliceSelectors<import('immer').WritableDraft<AuthSliceState>>>;
124
+ export declare const setApiKey: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "auth/setApiKey">, setWebsiteId: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "auth/setWebsiteId">, setCredentials: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
125
+ apiKey: string;
126
+ websiteId: string;
127
+ rememberMe?: boolean;
128
+ }, "auth/setCredentials">, setSessionToken: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
129
+ accessToken: string;
130
+ }, "auth/setSessionToken">, setRememberMe: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<boolean, "auth/setRememberMe">, acknowledgeStorageWarning: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"auth/acknowledgeStorageWarning">, setAuthLoading: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<boolean, "auth/setAuthLoading">, setAuthError: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "auth/setAuthError">, logout: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"auth/logout">, resetAuth: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"auth/resetAuth">, hydrateFromStorage: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"auth/hydrateFromStorage">;
131
+ declare const _default: import('redux').Reducer<import('immer').WritableDraft<AuthSliceState>>;
132
+ export default _default;
133
+ export declare const selectApiKey: (state: {
134
+ auth: AuthSliceState;
135
+ }) => string;
136
+ export declare const selectWebsiteId: (state: {
137
+ auth: AuthSliceState;
138
+ }) => string;
139
+ export declare const selectIsAuthenticated: (state: {
140
+ auth: AuthSliceState;
141
+ }) => boolean;
142
+ export declare const selectSessionType: (state: {
143
+ auth: AuthSliceState;
144
+ }) => SessionType;
145
+ export declare const selectAccessToken: (state: {
146
+ auth: AuthSliceState;
147
+ }) => string;
148
+ export declare const selectRememberMe: (state: {
149
+ auth: AuthSliceState;
150
+ }) => boolean;
151
+ export declare const selectAuthLoading: (state: {
152
+ auth: AuthSliceState;
153
+ }) => boolean;
154
+ export declare const selectAuthError: (state: {
155
+ auth: AuthSliceState;
156
+ }) => string;
157
+ export declare const selectStorageWarningAcknowledged: (state: {
158
+ auth: AuthSliceState;
159
+ }) => boolean;
160
+ export declare const selectCredentials: (state: {
161
+ auth: AuthSliceState;
162
+ }) => {
163
+ apiKey: string;
164
+ websiteId: string;
165
+ };
166
+ export declare const selectSessionToken: (state: {
167
+ auth: AuthSliceState;
168
+ }) => string;
169
+ export { STORAGE_KEYS };
170
+ //# sourceMappingURL=authSlice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authSlice.d.ts","sourceRoot":"","sources":["../../../src/store/slices/authSlice.ts"],"names":[],"mappings":"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"}