@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.
- package/CHANGELOG.md +16 -0
- package/README.md +52 -24
- package/dist/DQMSidebar.d.ts.map +1 -1
- package/dist/ErrorBoundary.d.ts.map +1 -1
- package/dist/__tests__/setup.d.ts +1 -0
- package/dist/__tests__/setup.d.ts.map +1 -0
- package/dist/__tests__/utils.d.ts +145 -0
- package/dist/__tests__/utils.d.ts.map +1 -0
- package/dist/auth-ui/assets/index-YKFZYENy.js +158 -0
- package/dist/auth-ui/index.html +1 -1
- package/dist/components/auth/DQMLogin.d.ts.map +1 -1
- package/dist/components/auth/index.d.ts +0 -1
- package/dist/components/auth/index.d.ts.map +1 -1
- package/dist/components/cards/AISummaryCard.d.ts +2 -0
- package/dist/components/cards/AISummaryCard.d.ts.map +1 -0
- package/dist/components/cards/index.d.ts +1 -0
- package/dist/components/cards/index.d.ts.map +1 -1
- package/dist/components/common/LanguageSwitch.d.ts +5 -0
- package/dist/components/common/LanguageSwitch.d.ts.map +1 -0
- package/dist/components/common/LanguageSwitchBase.d.ts +16 -0
- package/dist/components/common/LanguageSwitchBase.d.ts.map +1 -0
- package/dist/components/common/index.d.ts +1 -0
- package/dist/components/common/index.d.ts.map +1 -1
- package/dist/components/modals/AISettingsDialog.d.ts +61 -0
- package/dist/components/modals/AISettingsDialog.d.ts.map +1 -0
- package/dist/components/modals/HighlightModal.d.ts +45 -0
- package/dist/components/modals/HighlightModal.d.ts.map +1 -0
- package/dist/components/modals/LoginOverlay.d.ts +22 -0
- package/dist/components/modals/LoginOverlay.d.ts.map +1 -0
- package/dist/components/modals/index.d.ts +9 -0
- package/dist/components/modals/index.d.ts.map +1 -0
- package/dist/components/renderers/BrowserViewRenderer.d.ts.map +1 -1
- package/dist/components/renderers/ShadowDOMRenderer.d.ts.map +1 -1
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/index.d.ts.map +1 -1
- package/dist/context/ai/AIContext.d.ts +13 -0
- package/dist/context/ai/AIContext.d.ts.map +1 -0
- package/dist/context/ai/index.d.ts +12 -0
- package/dist/context/ai/index.d.ts.map +1 -0
- package/dist/context/ai/types.d.ts +161 -0
- package/dist/context/ai/types.d.ts.map +1 -0
- package/dist/context/ai/useAIEngine.d.ts +10 -0
- package/dist/context/ai/useAIEngine.d.ts.map +1 -0
- package/dist/context/ai/useAISummary.d.ts +10 -0
- package/dist/context/ai/useAISummary.d.ts.map +1 -0
- package/dist/context/ai/useAITranslation.d.ts +10 -0
- package/dist/context/ai/useAITranslation.d.ts.map +1 -0
- package/dist/context/ai/useTranslationCache.d.ts +9 -0
- package/dist/context/ai/useTranslationCache.d.ts.map +1 -0
- package/dist/dqm-widget.esm.js +394 -264
- package/dist/dqm-widget.iife.js +76 -25
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useAnalysis.d.ts +43 -0
- package/dist/hooks/useAnalysis.d.ts.map +1 -0
- package/dist/hooks/useAuthentication.d.ts +49 -0
- package/dist/hooks/useAuthentication.d.ts.map +1 -0
- package/dist/hooks/useHighlightActions.d.ts +37 -0
- package/dist/hooks/useHighlightActions.d.ts.map +1 -0
- package/dist/hooks/useHighlights.d.ts +72 -0
- package/dist/hooks/useHighlights.d.ts.map +1 -0
- package/dist/html-pages/DQMWidget.d.ts.map +1 -1
- package/dist/html-pages/index.d.ts.map +1 -1
- package/dist/i18n/auth/de.d.ts +25 -0
- package/dist/i18n/auth/de.d.ts.map +1 -0
- package/dist/i18n/auth/en.d.ts +26 -0
- package/dist/i18n/auth/en.d.ts.map +1 -0
- package/dist/i18n/auth/es.d.ts +25 -0
- package/dist/i18n/auth/es.d.ts.map +1 -0
- package/dist/i18n/auth/index.d.ts +8 -0
- package/dist/i18n/auth/index.d.ts.map +1 -0
- package/dist/i18n/common/de.d.ts +18 -0
- package/dist/i18n/common/de.d.ts.map +1 -0
- package/dist/i18n/common/en.d.ts +19 -0
- package/dist/i18n/common/en.d.ts.map +1 -0
- package/dist/i18n/common/es.d.ts +18 -0
- package/dist/i18n/common/es.d.ts.map +1 -0
- package/dist/i18n/common/index.d.ts +8 -0
- package/dist/i18n/common/index.d.ts.map +1 -0
- package/dist/i18n/demo/de.d.ts +104 -0
- package/dist/i18n/demo/de.d.ts.map +1 -0
- package/dist/i18n/demo/en.d.ts +105 -0
- package/dist/i18n/demo/en.d.ts.map +1 -0
- package/dist/i18n/demo/es.d.ts +104 -0
- package/dist/i18n/demo/es.d.ts.map +1 -0
- package/dist/i18n/demo/index.d.ts +8 -0
- package/dist/i18n/demo/index.d.ts.map +1 -0
- package/dist/i18n/index.d.ts +673 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/sidebar/de.d.ts +89 -0
- package/dist/i18n/sidebar/de.d.ts.map +1 -0
- package/dist/i18n/sidebar/en.d.ts +90 -0
- package/dist/i18n/sidebar/en.d.ts.map +1 -0
- package/dist/i18n/sidebar/es.d.ts +89 -0
- package/dist/i18n/sidebar/es.d.ts.map +1 -0
- package/dist/i18n/sidebar/index.d.ts +8 -0
- package/dist/i18n/sidebar/index.d.ts.map +1 -0
- package/dist/i18n.d.ts +8 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/index.cjs +61 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.html +3 -3
- package/dist/index.js +17795 -7252
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts +25 -0
- package/dist/locale.d.ts.map +1 -0
- package/dist/mocks/browser.d.ts +23 -0
- package/dist/mocks/browser.d.ts.map +1 -0
- package/dist/mocks/handlers.d.ts +32 -0
- package/dist/mocks/handlers.d.ts.map +1 -0
- package/dist/mocks/index.d.ts +7 -0
- package/dist/mocks/index.d.ts.map +1 -0
- package/dist/mocks/server.d.ts +24 -0
- package/dist/mocks/server.d.ts.map +1 -0
- package/dist/server/routes/auth.js +0 -10
- package/dist/server/routes/auth.js.map +1 -1
- package/dist/store/api/dqmApi.d.ts +1793 -0
- package/dist/store/api/dqmApi.d.ts.map +1 -0
- package/dist/store/api/index.d.ts +6 -0
- package/dist/store/api/index.d.ts.map +1 -0
- package/dist/store/index.d.ts +57 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/localeSlice.d.ts +6 -0
- package/dist/store/localeSlice.d.ts.map +1 -0
- package/dist/store/slices/aiSlice.d.ts +134 -0
- package/dist/store/slices/aiSlice.d.ts.map +1 -0
- package/dist/store/slices/analysisSlice.d.ts +54 -0
- package/dist/store/slices/analysisSlice.d.ts.map +1 -0
- package/dist/store/slices/authSlice.d.ts +170 -0
- package/dist/store/slices/authSlice.d.ts.map +1 -0
- package/dist/store/slices/highlightSlice.d.ts +188 -0
- package/dist/store/slices/highlightSlice.d.ts.map +1 -0
- package/dist/store/slices/index.d.ts +12 -0
- package/dist/store/slices/index.d.ts.map +1 -0
- package/dist/types.d.ts +27 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/aiJsonClient.d.ts +23 -0
- package/dist/utils/aiJsonClient.d.ts.map +1 -0
- package/dist/utils/colors/GenerateCategoryColors.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +107 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/openaiJsonClient.d.ts +8 -0
- package/dist/utils/openaiJsonClient.d.ts.map +1 -0
- package/dist/utils/sanitizeHtmlDocument.d.ts +4 -0
- package/dist/utils/sanitizeHtmlDocument.d.ts.map +1 -0
- package/dist/utils/secureStorage.d.ts +95 -0
- package/dist/utils/secureStorage.d.ts.map +1 -0
- package/dist/utils/storage.d.ts.map +1 -1
- package/dist/utils/translationCache.d.ts +45 -0
- package/dist/utils/translationCache.d.ts.map +1 -0
- package/dist/utils/translationUtils.d.ts +52 -0
- package/dist/utils/translationUtils.d.ts.map +1 -0
- package/package.json +48 -10
- package/AUTHENTICATION.md +0 -281
- package/BACKEND-API.md +0 -1829
- package/DEVELOPMENT.md +0 -374
- package/EXAMPLES.md +0 -381
- package/QUICKSTART.md +0 -207
- package/dist/auth-ui/assets/index-CczTRrba.js +0 -158
- package/dist/components/auth/OAuth2CallbackHandler.d.ts +0 -15
- package/dist/components/auth/OAuth2CallbackHandler.d.ts.map +0 -1
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { PayloadAction } from '@reduxjs/toolkit';
|
|
2
|
+
import { Checkpoint } from '../../types';
|
|
3
|
+
export type ViewMode = 'browser' | 'source';
|
|
4
|
+
export interface HighlightCacheEntry {
|
|
5
|
+
browser?: string;
|
|
6
|
+
source?: string;
|
|
7
|
+
timestamp: number;
|
|
8
|
+
}
|
|
9
|
+
export interface HighlightSliceState {
|
|
10
|
+
/** Currently selected checkpoint for highlighting */
|
|
11
|
+
selectedCheckpoint: Checkpoint | null;
|
|
12
|
+
/** Currently selected checkpoint ID */
|
|
13
|
+
selectedCheckpointId: string | null;
|
|
14
|
+
/** Current view mode (browser or source) */
|
|
15
|
+
viewMode: ViewMode;
|
|
16
|
+
/** Whether to show all highlights or just selected */
|
|
17
|
+
showAllHighlights: boolean;
|
|
18
|
+
/** Index of currently visible highlight (for navigation) - 1-based */
|
|
19
|
+
currentHighlightIndex: number;
|
|
20
|
+
/** Total number of highlights on current page */
|
|
21
|
+
totalHighlights: number;
|
|
22
|
+
/** Index of highlight visible via scroll observation - 1-based */
|
|
23
|
+
visibleHighlightIndex: number;
|
|
24
|
+
/** Cached highlight content by checkpoint ID */
|
|
25
|
+
cache: Record<string, HighlightCacheEntry>;
|
|
26
|
+
/** Scroll positions by checkpoint ID */
|
|
27
|
+
scrollPositions: Record<string, {
|
|
28
|
+
browser: number;
|
|
29
|
+
source: number;
|
|
30
|
+
}>;
|
|
31
|
+
/** Whether highlight modal is open */
|
|
32
|
+
isModalOpen: boolean;
|
|
33
|
+
/** Loading state for highlight content */
|
|
34
|
+
isLoading: boolean;
|
|
35
|
+
/** Error message if highlight loading failed */
|
|
36
|
+
error: string | null;
|
|
37
|
+
/** Current highlighted HTML content to display */
|
|
38
|
+
highlightedContent: string;
|
|
39
|
+
/** Whether scripts are disabled in browser view */
|
|
40
|
+
scriptsDisabled: boolean;
|
|
41
|
+
/** Whether auto-scroll to first highlight has occurred */
|
|
42
|
+
hasAutoScrolled: boolean;
|
|
43
|
+
/** Click indicator to trigger scroll (incremented on nav button click) */
|
|
44
|
+
clickedIndicator: number;
|
|
45
|
+
/** Asset ID for the current analysis */
|
|
46
|
+
currentAssetId: string | null;
|
|
47
|
+
}
|
|
48
|
+
export declare const highlightSlice: import('@reduxjs/toolkit').Slice<HighlightSliceState, {
|
|
49
|
+
/** Select a checkpoint for highlighting */
|
|
50
|
+
selectCheckpoint: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<Checkpoint | null>) => void;
|
|
51
|
+
/** Set checkpoint ID without full checkpoint object */
|
|
52
|
+
setSelectedCheckpointId: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<string | null>) => void;
|
|
53
|
+
/** Toggle between browser and source view */
|
|
54
|
+
setViewMode: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<ViewMode>) => void;
|
|
55
|
+
/** Toggle showing all highlights vs selected */
|
|
56
|
+
toggleShowAllHighlights: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
57
|
+
/** Set show all highlights explicitly */
|
|
58
|
+
setShowAllHighlights: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<boolean>) => void;
|
|
59
|
+
/** Navigate to specific highlight */
|
|
60
|
+
setCurrentHighlightIndex: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<number>) => void;
|
|
61
|
+
/** Navigate to next highlight */
|
|
62
|
+
nextHighlight: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
63
|
+
/** Navigate to previous highlight */
|
|
64
|
+
previousHighlight: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
65
|
+
/** Set total highlights count */
|
|
66
|
+
setTotalHighlights: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<number>) => void;
|
|
67
|
+
/** Update visible highlight from scroll observation */
|
|
68
|
+
setVisibleHighlightIndex: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<number>) => void;
|
|
69
|
+
/** Cache highlight content */
|
|
70
|
+
cacheHighlight: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<{
|
|
71
|
+
checkpointId: string;
|
|
72
|
+
content: string;
|
|
73
|
+
type: "browser" | "source";
|
|
74
|
+
}>) => void;
|
|
75
|
+
/** Get cached content if valid */
|
|
76
|
+
clearExpiredCache: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
77
|
+
/** Clear all cache */
|
|
78
|
+
clearCache: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
79
|
+
/** Save scroll position for checkpoint */
|
|
80
|
+
saveScrollPosition: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<{
|
|
81
|
+
checkpointId: string;
|
|
82
|
+
position: {
|
|
83
|
+
browser?: number;
|
|
84
|
+
source?: number;
|
|
85
|
+
};
|
|
86
|
+
}>) => void;
|
|
87
|
+
/** Open highlight modal */
|
|
88
|
+
openModal: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
89
|
+
/** Close highlight modal */
|
|
90
|
+
closeModal: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
91
|
+
/** Set highlighted content */
|
|
92
|
+
setHighlightedContent: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<string>) => void;
|
|
93
|
+
/** Toggle scripts in browser view */
|
|
94
|
+
toggleScripts: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
95
|
+
/** Set scripts disabled state */
|
|
96
|
+
setScriptsDisabled: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<boolean>) => void;
|
|
97
|
+
/** Set has auto scrolled flag */
|
|
98
|
+
setHasAutoScrolled: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<boolean>) => void;
|
|
99
|
+
/** Increment click indicator to trigger scroll */
|
|
100
|
+
incrementClickIndicator: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
101
|
+
/** Set current asset ID */
|
|
102
|
+
setCurrentAssetId: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<string | null>) => void;
|
|
103
|
+
/** Navigate highlight with wrap-around */
|
|
104
|
+
navigateHighlight: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<"next" | "prev">) => void;
|
|
105
|
+
/** Set loading state */
|
|
106
|
+
setLoading: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<boolean>) => void;
|
|
107
|
+
/** Set error state */
|
|
108
|
+
setError: (state: import('immer').WritableDraft<HighlightSliceState>, action: PayloadAction<string | null>) => void;
|
|
109
|
+
/** Reset highlight state */
|
|
110
|
+
resetHighlight: (state: import('immer').WritableDraft<HighlightSliceState>) => void;
|
|
111
|
+
}, "highlight", "highlight", import('@reduxjs/toolkit').SliceSelectors<HighlightSliceState>>;
|
|
112
|
+
export declare const selectCheckpoint: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<Checkpoint, "highlight/selectCheckpoint">, setSelectedCheckpointId: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "highlight/setSelectedCheckpointId">, setViewMode: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<ViewMode, "highlight/setViewMode">, toggleShowAllHighlights: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/toggleShowAllHighlights">, setShowAllHighlights: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<boolean, "highlight/setShowAllHighlights">, setCurrentHighlightIndex: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<number, "highlight/setCurrentHighlightIndex">, nextHighlight: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/nextHighlight">, previousHighlight: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/previousHighlight">, setTotalHighlights: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<number, "highlight/setTotalHighlights">, setVisibleHighlightIndex: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<number, "highlight/setVisibleHighlightIndex">, cacheHighlight: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
|
|
113
|
+
checkpointId: string;
|
|
114
|
+
content: string;
|
|
115
|
+
type: "browser" | "source";
|
|
116
|
+
}, "highlight/cacheHighlight">, clearExpiredCache: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/clearExpiredCache">, clearCache: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/clearCache">, saveScrollPosition: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
|
|
117
|
+
checkpointId: string;
|
|
118
|
+
position: {
|
|
119
|
+
browser?: number;
|
|
120
|
+
source?: number;
|
|
121
|
+
};
|
|
122
|
+
}, "highlight/saveScrollPosition">, openModal: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/openModal">, closeModal: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/closeModal">, setLoading: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<boolean, "highlight/setLoading">, setError: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "highlight/setError">, resetHighlight: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/resetHighlight">, setHighlightedContent: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "highlight/setHighlightedContent">, toggleScripts: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/toggleScripts">, setScriptsDisabled: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<boolean, "highlight/setScriptsDisabled">, setHasAutoScrolled: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<boolean, "highlight/setHasAutoScrolled">, incrementClickIndicator: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"highlight/incrementClickIndicator">, setCurrentAssetId: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "highlight/setCurrentAssetId">, navigateHighlight: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<"next" | "prev", "highlight/navigateHighlight">;
|
|
123
|
+
declare const _default: import('redux').Reducer<HighlightSliceState>;
|
|
124
|
+
export default _default;
|
|
125
|
+
export declare const selectSelectedCheckpoint: (state: {
|
|
126
|
+
highlight: HighlightSliceState;
|
|
127
|
+
}) => Checkpoint;
|
|
128
|
+
export declare const selectSelectedCheckpointId: (state: {
|
|
129
|
+
highlight: HighlightSliceState;
|
|
130
|
+
}) => string;
|
|
131
|
+
export declare const selectViewMode: (state: {
|
|
132
|
+
highlight: HighlightSliceState;
|
|
133
|
+
}) => ViewMode;
|
|
134
|
+
export declare const selectShowAllHighlights: (state: {
|
|
135
|
+
highlight: HighlightSliceState;
|
|
136
|
+
}) => boolean;
|
|
137
|
+
export declare const selectCurrentHighlightIndex: (state: {
|
|
138
|
+
highlight: HighlightSliceState;
|
|
139
|
+
}) => number;
|
|
140
|
+
export declare const selectTotalHighlights: (state: {
|
|
141
|
+
highlight: HighlightSliceState;
|
|
142
|
+
}) => number;
|
|
143
|
+
export declare const selectVisibleHighlightIndex: (state: {
|
|
144
|
+
highlight: HighlightSliceState;
|
|
145
|
+
}) => number;
|
|
146
|
+
export declare const selectHighlightCache: (state: {
|
|
147
|
+
highlight: HighlightSliceState;
|
|
148
|
+
}) => Record<string, HighlightCacheEntry>;
|
|
149
|
+
export declare const selectScrollPositions: (state: {
|
|
150
|
+
highlight: HighlightSliceState;
|
|
151
|
+
}) => Record<string, {
|
|
152
|
+
browser: number;
|
|
153
|
+
source: number;
|
|
154
|
+
}>;
|
|
155
|
+
export declare const selectIsModalOpen: (state: {
|
|
156
|
+
highlight: HighlightSliceState;
|
|
157
|
+
}) => boolean;
|
|
158
|
+
export declare const selectIsHighlightLoading: (state: {
|
|
159
|
+
highlight: HighlightSliceState;
|
|
160
|
+
}) => boolean;
|
|
161
|
+
export declare const selectHighlightError: (state: {
|
|
162
|
+
highlight: HighlightSliceState;
|
|
163
|
+
}) => string;
|
|
164
|
+
export declare const selectHighlightedContent: (state: {
|
|
165
|
+
highlight: HighlightSliceState;
|
|
166
|
+
}) => string;
|
|
167
|
+
export declare const selectScriptsDisabled: (state: {
|
|
168
|
+
highlight: HighlightSliceState;
|
|
169
|
+
}) => boolean;
|
|
170
|
+
export declare const selectHasAutoScrolled: (state: {
|
|
171
|
+
highlight: HighlightSliceState;
|
|
172
|
+
}) => boolean;
|
|
173
|
+
export declare const selectClickedIndicator: (state: {
|
|
174
|
+
highlight: HighlightSliceState;
|
|
175
|
+
}) => number;
|
|
176
|
+
export declare const selectCurrentAssetId: (state: {
|
|
177
|
+
highlight: HighlightSliceState;
|
|
178
|
+
}) => string;
|
|
179
|
+
export declare const selectCachedContent: (checkpointId: string, type: "browser" | "source") => (state: {
|
|
180
|
+
highlight: HighlightSliceState;
|
|
181
|
+
}) => string;
|
|
182
|
+
export declare const selectScrollPosition: (checkpointId: string) => (state: {
|
|
183
|
+
highlight: HighlightSliceState;
|
|
184
|
+
}) => {
|
|
185
|
+
browser: number;
|
|
186
|
+
source: number;
|
|
187
|
+
};
|
|
188
|
+
//# sourceMappingURL=highlightSlice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlightSlice.d.ts","sourceRoot":"","sources":["../../../src/store/slices/highlightSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redux Slices exports
|
|
3
|
+
*/
|
|
4
|
+
export { analysisSlice, startAnalysis, setAssetId, analysisCompleted, analysisFailed, resetAnalysis, updateAnalysisState, selectAnalysisState, selectAnalysisData, selectAssetId, selectIsAnalyzing, selectAnalysisError, selectAnalysisDuration, } from './analysisSlice';
|
|
5
|
+
export type { AnalysisSliceState } from './analysisSlice';
|
|
6
|
+
export { highlightSlice, selectCheckpoint, setViewMode, toggleShowAllHighlights, setShowAllHighlights, setCurrentHighlightIndex, nextHighlight, previousHighlight, setTotalHighlights, setVisibleHighlightIndex, cacheHighlight, clearExpiredCache, clearCache, saveScrollPosition, openModal, closeModal, setLoading as setHighlightLoading, setError as setHighlightError, resetHighlight, selectSelectedCheckpoint, selectViewMode, selectShowAllHighlights, selectCurrentHighlightIndex, selectTotalHighlights, selectVisibleHighlightIndex, selectHighlightCache, selectScrollPositions, selectIsModalOpen, selectIsHighlightLoading, selectHighlightError, selectCachedContent, selectScrollPosition, } from './highlightSlice';
|
|
7
|
+
export type { HighlightSliceState, ViewMode, HighlightCacheEntry } from './highlightSlice';
|
|
8
|
+
export { authSlice, setApiKey, setWebsiteId, setCredentials, setSessionToken, setRememberMe, acknowledgeStorageWarning, setAuthLoading, setAuthError, logout, resetAuth, hydrateFromStorage, selectApiKey, selectWebsiteId, selectIsAuthenticated, selectSessionType, selectAccessToken, selectRememberMe, selectAuthLoading, selectAuthError, selectStorageWarningAcknowledged, STORAGE_KEYS, } from './authSlice';
|
|
9
|
+
export type { AuthSliceState } from './authSlice';
|
|
10
|
+
export { aiSlice, updateSettings, setProvider, setOpenAIApiKey, setOpenAIModel, setTranslationProvider, openSettings, closeSettings, toggleSettings, startGeneration, generationCompleted, generationFailed, clearError as clearAIError, clearSummaries, clearSummary, resetAI, hydrateSettings, selectAISettings, selectAIProvider, selectAIEnabled, selectOpenAIApiKey, selectOpenAIModel, selectTranslationProvider, selectIsSettingsOpen, selectIsGenerating, selectGeneratingFor, selectAIError, selectAllSummaries, selectSummary, AI_STORAGE_KEYS, } from './aiSlice';
|
|
11
|
+
export type { AISliceState, AISettings, AISummary, AIProvider, TranslationProvider } from './aiSlice';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/slices/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,UAAU,IAAI,mBAAmB,EACjC,QAAQ,IAAI,iBAAiB,EAC7B,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3F,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,yBAAyB,EACzB,cAAc,EACd,YAAY,EACZ,MAAM,EACN,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gCAAgC,EAChC,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EACL,OAAO,EACP,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,IAAI,YAAY,EAC1B,cAAc,EACd,YAAY,EACZ,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,13 +2,6 @@ import { default as React } from 'react';
|
|
|
2
2
|
export type AnalysisState = 'idle' | 'analyzing' | 'completed' | 'error';
|
|
3
3
|
export type AuthMode = 'props' | 'localStorage' | 'backend';
|
|
4
4
|
export type SessionType = 'direct' | 'backend';
|
|
5
|
-
export interface OAuth2Config {
|
|
6
|
-
authUrl: string;
|
|
7
|
-
tokenUrl: string;
|
|
8
|
-
clientId: string;
|
|
9
|
-
redirectUri: string;
|
|
10
|
-
scope?: string;
|
|
11
|
-
}
|
|
12
5
|
/**
|
|
13
6
|
* Position for manual overlay offset configuration.
|
|
14
7
|
* Specifies from which edge the offset should be applied.
|
|
@@ -73,11 +66,22 @@ export interface OverlayConfig {
|
|
|
73
66
|
pixels: number;
|
|
74
67
|
};
|
|
75
68
|
}
|
|
69
|
+
export interface TranslationConfig {
|
|
70
|
+
/**
|
|
71
|
+
* Enable auto-translation by default (user can still toggle at runtime).
|
|
72
|
+
* Default: false
|
|
73
|
+
*/
|
|
74
|
+
enabledByDefault?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Translation compute budget in milliseconds.
|
|
77
|
+
* Default: 15000
|
|
78
|
+
*/
|
|
79
|
+
computeBudgetMs?: number;
|
|
80
|
+
}
|
|
76
81
|
export interface DQMConfig {
|
|
77
82
|
apiKey?: string;
|
|
78
83
|
websiteId?: string;
|
|
79
84
|
authBackendUrl?: string;
|
|
80
|
-
oauth2Config?: OAuth2Config;
|
|
81
85
|
useLocalStorage?: boolean;
|
|
82
86
|
disabled?: boolean;
|
|
83
87
|
disableLogout?: boolean;
|
|
@@ -100,6 +104,20 @@ export interface DQMConfig {
|
|
|
100
104
|
* @see OverlayConfig for all available options
|
|
101
105
|
*/
|
|
102
106
|
overlayConfig?: OverlayConfig;
|
|
107
|
+
/**
|
|
108
|
+
* Optional translation configuration for DQM API results.
|
|
109
|
+
*/
|
|
110
|
+
translation?: TranslationConfig;
|
|
111
|
+
/**
|
|
112
|
+
* Optional AI summary configuration.
|
|
113
|
+
*/
|
|
114
|
+
summary?: {
|
|
115
|
+
/**
|
|
116
|
+
* Timeout in milliseconds for summary generation.
|
|
117
|
+
* Default: 45000
|
|
118
|
+
*/
|
|
119
|
+
timeoutMs?: number;
|
|
120
|
+
};
|
|
103
121
|
}
|
|
104
122
|
export interface DQMSidebarProps {
|
|
105
123
|
open: boolean;
|
|
@@ -156,4 +174,5 @@ export interface AnalysisData {
|
|
|
156
174
|
totalErrors: number;
|
|
157
175
|
checkpoints: Checkpoint[];
|
|
158
176
|
}
|
|
177
|
+
export type GroupedCategories = Record<string, Checkpoint[]>;
|
|
159
178
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC;AAGzE,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AAG5D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type JsonChatResult = {
|
|
2
|
+
content: string;
|
|
3
|
+
finishReason?: string | null;
|
|
4
|
+
};
|
|
5
|
+
export interface JsonChatClient {
|
|
6
|
+
/**
|
|
7
|
+
* Run a non-streaming chat completion that is expected to return JSON.
|
|
8
|
+
* Implementations may enforce JSON mode (e.g. response_format).
|
|
9
|
+
*/
|
|
10
|
+
chatJson: (opts: {
|
|
11
|
+
system: string;
|
|
12
|
+
user: string;
|
|
13
|
+
maxTokens: number;
|
|
14
|
+
schema?: string;
|
|
15
|
+
resetChat?: boolean;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
}) => Promise<JsonChatResult>;
|
|
18
|
+
/** Optional: reset internal state (KV cache, etc.). */
|
|
19
|
+
reset?: (keepStats?: boolean) => Promise<void>;
|
|
20
|
+
/** Optional: interrupt an ongoing generation. */
|
|
21
|
+
interrupt?: () => void;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=aiJsonClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiJsonClient.d.ts","sourceRoot":"","sources":["../../src/utils/aiJsonClient.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAE9B,uDAAuD;IACvD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateCategoryColors.d.ts","sourceRoot":"","sources":["../../../src/utils/colors/GenerateCategoryColors.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GenerateCategoryColors.d.ts","sourceRoot":"","sources":["../../../src/utils/colors/GenerateCategoryColors.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,GAAI,YAAY,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA0BlF,CAAC;AACF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM;;;;CAenC,CAAC;AACF,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,0BA0BnD,CAAC;AACF,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,EAAE,gBAAe,MAAM,EAAO,KAAG;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAmBhB,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides debug-toggleable logging to replace console.log statements.
|
|
5
|
+
* In production, only warnings and errors are shown unless debug mode is enabled.
|
|
6
|
+
*/
|
|
7
|
+
/** Log levels as const object (avoids enum syntax for erasableSyntaxOnly) */
|
|
8
|
+
export declare const LogLevel: {
|
|
9
|
+
readonly DEBUG: 0;
|
|
10
|
+
readonly INFO: 1;
|
|
11
|
+
readonly WARN: 2;
|
|
12
|
+
readonly ERROR: 3;
|
|
13
|
+
readonly NONE: 4;
|
|
14
|
+
};
|
|
15
|
+
export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
|
|
16
|
+
/** Logger configuration */
|
|
17
|
+
interface LoggerConfig {
|
|
18
|
+
/** Current log level */
|
|
19
|
+
level: LogLevel;
|
|
20
|
+
/** Prefix for all log messages */
|
|
21
|
+
prefix: string;
|
|
22
|
+
/** Whether to include timestamps */
|
|
23
|
+
timestamps: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Check if debug mode is enabled via localStorage
|
|
27
|
+
*/
|
|
28
|
+
declare function isDebugEnabled(): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Logger object with level-specific methods
|
|
31
|
+
*/
|
|
32
|
+
export declare const logger: {
|
|
33
|
+
/**
|
|
34
|
+
* Log debug message (only in development or when debug mode is enabled)
|
|
35
|
+
*/
|
|
36
|
+
debug(...args: unknown[]): void;
|
|
37
|
+
/**
|
|
38
|
+
* Log info message
|
|
39
|
+
*/
|
|
40
|
+
info(...args: unknown[]): void;
|
|
41
|
+
/**
|
|
42
|
+
* Log warning message
|
|
43
|
+
*/
|
|
44
|
+
warn(...args: unknown[]): void;
|
|
45
|
+
/**
|
|
46
|
+
* Log error message
|
|
47
|
+
*/
|
|
48
|
+
error(...args: unknown[]): void;
|
|
49
|
+
/**
|
|
50
|
+
* Log with custom level
|
|
51
|
+
*/
|
|
52
|
+
log(level: LogLevel, ...args: unknown[]): void;
|
|
53
|
+
/**
|
|
54
|
+
* Create a group of related logs (collapsed in console)
|
|
55
|
+
*/
|
|
56
|
+
group(label: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* End a log group
|
|
59
|
+
*/
|
|
60
|
+
groupEnd(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Log a table (useful for arrays and objects)
|
|
63
|
+
*/
|
|
64
|
+
table(data: unknown, columns?: string[]): void;
|
|
65
|
+
/**
|
|
66
|
+
* Time a operation
|
|
67
|
+
*/
|
|
68
|
+
time(label: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* End timing and log duration
|
|
71
|
+
*/
|
|
72
|
+
timeEnd(label: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Configure logger
|
|
75
|
+
*/
|
|
76
|
+
configure(newConfig: Partial<LoggerConfig>): void;
|
|
77
|
+
/**
|
|
78
|
+
* Reset to default configuration
|
|
79
|
+
*/
|
|
80
|
+
reset(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Enable debug mode (persists in localStorage)
|
|
83
|
+
*/
|
|
84
|
+
enableDebug(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Disable debug mode
|
|
87
|
+
*/
|
|
88
|
+
disableDebug(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Check if debug mode is enabled
|
|
91
|
+
*/
|
|
92
|
+
isDebugEnabled: typeof isDebugEnabled;
|
|
93
|
+
/**
|
|
94
|
+
* Get current log level
|
|
95
|
+
*/
|
|
96
|
+
getLevel(): LogLevel;
|
|
97
|
+
/**
|
|
98
|
+
* Set log level
|
|
99
|
+
*/
|
|
100
|
+
setLevel(level: LogLevel): void;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Create a scoped logger with a custom prefix
|
|
104
|
+
*/
|
|
105
|
+
export declare function createLogger(scope: string): typeof logger;
|
|
106
|
+
export default logger;
|
|
107
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,2BAA2B;AAC3B,UAAU,YAAY;IACpB,wBAAwB;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,UAAU,EAAE,OAAO,CAAC;CACrB;AAeD;;GAEG;AACH,iBAAS,cAAc,IAAI,OAAO,CAMjC;AA4BD;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;OAEG;mBACY,OAAO,EAAE,GAAG,IAAI;IAM/B;;OAEG;kBACW,OAAO,EAAE,GAAG,IAAI;IAM9B;;OAEG;kBACW,OAAO,EAAE,GAAG,IAAI;IAM9B;;OAEG;mBACY,OAAO,EAAE,GAAG,IAAI;IAM/B;;OAEG;eACQ,QAAQ,WAAW,OAAO,EAAE,GAAG,IAAI;IAO9C;;OAEG;iBACU,MAAM,GAAG,IAAI;IAM1B;;OAEG;gBACS,IAAI;IAMhB;;OAEG;gBACS,OAAO,YAAY,MAAM,EAAE,GAAG,IAAI;IAM9C;;OAEG;gBACS,MAAM,GAAG,IAAI;IAMzB;;OAEG;mBACY,MAAM,GAAG,IAAI;IAM5B;;OAEG;yBACkB,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAIjD;;OAEG;aACM,IAAI;IAIb;;OAEG;mBACY,IAAI;IASnB;;OAEG;oBACa,IAAI;IASpB;;OAEG;;IAGH;;OAEG;gBACS,QAAQ;IAIpB;;OAEG;oBACa,QAAQ,GAAG,IAAI;CAGhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,MAAM,CA+BzD;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JsonChatClient } from './aiJsonClient';
|
|
2
|
+
export type OpenAIClientConfig = {
|
|
3
|
+
apiKey: string;
|
|
4
|
+
model: string;
|
|
5
|
+
baseUrl?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const createOpenAIJsonClient: (config: OpenAIClientConfig) => JsonChatClient;
|
|
8
|
+
//# sourceMappingURL=openaiJsonClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openaiJsonClient.d.ts","sourceRoot":"","sources":["../../src/utils/openaiJsonClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AASF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,cA8CnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitizeHtmlDocument.d.ts","sourceRoot":"","sources":["../../src/utils/sanitizeHtmlDocument.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,EAAE,OAAO;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,MA8BtF,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secure Storage Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides secure credential storage with options for:
|
|
5
|
+
* - sessionStorage (default, cleared on browser close)
|
|
6
|
+
* - localStorage (opt-in with "Remember me", persists across sessions)
|
|
7
|
+
*
|
|
8
|
+
* Security considerations:
|
|
9
|
+
* - sessionStorage is preferred as credentials are cleared when browser closes
|
|
10
|
+
* - localStorage should only be used with explicit user consent ("Remember me")
|
|
11
|
+
* - Users should be warned about the risks of storing credentials in localStorage
|
|
12
|
+
*/
|
|
13
|
+
/** Storage keys for DQM credentials */
|
|
14
|
+
export declare const SECURE_STORAGE_KEYS: {
|
|
15
|
+
readonly apiKey: "dqm_apiKey";
|
|
16
|
+
readonly websiteId: "dqm_websiteID";
|
|
17
|
+
readonly rememberMe: "dqm_rememberMe";
|
|
18
|
+
readonly storageWarningAcknowledged: "dqm_storageWarningAcknowledged";
|
|
19
|
+
};
|
|
20
|
+
export type SecureStorageKey = keyof typeof SECURE_STORAGE_KEYS;
|
|
21
|
+
/**
|
|
22
|
+
* Check if "Remember me" is enabled
|
|
23
|
+
*/
|
|
24
|
+
export declare function isRememberMeEnabled(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Get a value from secure storage
|
|
27
|
+
* Checks sessionStorage first, then localStorage if Remember me is enabled
|
|
28
|
+
*/
|
|
29
|
+
export declare function getSecureItem(key: SecureStorageKey): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Set a value in secure storage
|
|
32
|
+
* Uses sessionStorage by default, localStorage if Remember me is enabled
|
|
33
|
+
*/
|
|
34
|
+
export declare function setSecureItem(key: SecureStorageKey, value: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Remove a value from both storages
|
|
37
|
+
*/
|
|
38
|
+
export declare function removeSecureItem(key: SecureStorageKey): void;
|
|
39
|
+
/**
|
|
40
|
+
* Set the Remember me preference
|
|
41
|
+
* When disabling, clears credentials from localStorage
|
|
42
|
+
*/
|
|
43
|
+
export declare function setRememberMe(enabled: boolean): void;
|
|
44
|
+
/**
|
|
45
|
+
* Check if user has acknowledged the storage warning
|
|
46
|
+
*/
|
|
47
|
+
export declare function hasAcknowledgedStorageWarning(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Set that user has acknowledged the storage warning
|
|
50
|
+
*/
|
|
51
|
+
export declare function acknowledgeStorageWarning(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Clear all DQM credentials from both storages
|
|
54
|
+
*/
|
|
55
|
+
export declare function clearAllCredentials(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Migrate credentials from localStorage to sessionStorage
|
|
58
|
+
* Call this when user disables "Remember me"
|
|
59
|
+
*/
|
|
60
|
+
export declare function migrateToSessionOnly(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Get all stored credentials
|
|
63
|
+
* Returns null for each missing credential
|
|
64
|
+
*/
|
|
65
|
+
export declare function getCredentials(): {
|
|
66
|
+
apiKey: string | null;
|
|
67
|
+
websiteId: string | null;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Set all credentials at once
|
|
71
|
+
*/
|
|
72
|
+
export declare function setCredentials(apiKey: string, websiteId: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Validate that credentials exist and are non-empty
|
|
75
|
+
*/
|
|
76
|
+
export declare function hasValidCredentials(): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Validate API key encoding (ASCII-only for HTTP headers)
|
|
79
|
+
*/
|
|
80
|
+
export declare function validateApiKeyEncoding(apiKey: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Storage warning message for users
|
|
83
|
+
*/
|
|
84
|
+
export declare const STORAGE_WARNING_MESSAGE: string;
|
|
85
|
+
/**
|
|
86
|
+
* Hook to initialize storage from existing localStorage/sessionStorage
|
|
87
|
+
* Returns credentials if found
|
|
88
|
+
*/
|
|
89
|
+
export declare function hydrateCredentials(): {
|
|
90
|
+
apiKey: string | null;
|
|
91
|
+
websiteId: string | null;
|
|
92
|
+
rememberMe: boolean;
|
|
93
|
+
storageWarningAcknowledged: boolean;
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=secureStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secureStorage.d.ts","sourceRoot":"","sources":["../../src/utils/secureStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,uCAAuC;AACvC,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEhE;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAI7C;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAelE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAcxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAI5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAcpD;AAED;;GAEG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAW3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAKpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAGtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAG7C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAO5B,CAAC;AAET;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,0BAA0B,EAAE,OAAO,CAAC;CACrC,CAOA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"AAkCA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAehF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAe5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAerE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,CAMhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAQ3C,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type TranslationCacheKey = string;
|
|
2
|
+
export type CachedCheckpointTranslation = {
|
|
3
|
+
key: TranslationCacheKey;
|
|
4
|
+
modelId: string;
|
|
5
|
+
lang: string;
|
|
6
|
+
checkpointId: string;
|
|
7
|
+
sourceHash: string;
|
|
8
|
+
translated: {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
category: string;
|
|
12
|
+
topics: string[];
|
|
13
|
+
};
|
|
14
|
+
updatedAt: number;
|
|
15
|
+
};
|
|
16
|
+
export type LabelType = 'category' | 'topic';
|
|
17
|
+
export type CachedLabelTranslation = {
|
|
18
|
+
key: TranslationCacheKey;
|
|
19
|
+
modelId: string;
|
|
20
|
+
lang: string;
|
|
21
|
+
type: LabelType;
|
|
22
|
+
source: string;
|
|
23
|
+
sourceHash: string;
|
|
24
|
+
translated: string;
|
|
25
|
+
updatedAt: number;
|
|
26
|
+
};
|
|
27
|
+
export declare const fnv1aHash: (input: string) => string;
|
|
28
|
+
export declare const makeCheckpointKey: (modelId: string, lang: string, sourceHash: string) => TranslationCacheKey;
|
|
29
|
+
export declare const computeCheckpointSourceHash: (checkpoint: {
|
|
30
|
+
name?: string | null;
|
|
31
|
+
description?: string | null;
|
|
32
|
+
category?: string | null;
|
|
33
|
+
topics?: string[] | null;
|
|
34
|
+
}) => string;
|
|
35
|
+
export declare const makeLabelKey: (modelId: string, lang: string, type: LabelType, sourceHash: string) => TranslationCacheKey;
|
|
36
|
+
export interface TranslationCache {
|
|
37
|
+
getCheckpointMany: (keys: TranslationCacheKey[]) => Promise<Map<TranslationCacheKey, CachedCheckpointTranslation>>;
|
|
38
|
+
putCheckpointMany: (items: CachedCheckpointTranslation[]) => Promise<void>;
|
|
39
|
+
deleteCheckpointMany: (keys: TranslationCacheKey[]) => Promise<void>;
|
|
40
|
+
getLabelMany: (keys: TranslationCacheKey[]) => Promise<Map<TranslationCacheKey, CachedLabelTranslation>>;
|
|
41
|
+
putLabelMany: (items: CachedLabelTranslation[]) => Promise<void>;
|
|
42
|
+
clearAll: () => Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
export declare const createTranslationCache: () => TranslationCache;
|
|
45
|
+
//# sourceMappingURL=translationCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translationCache.d.ts","sourceRoot":"","sources":["../../src/utils/translationCache.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,2BAA2B,GAAG;IACxC,GAAG,EAAE,mBAAmB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,mBAAmB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AA8DF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAOzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,YAAY,MAAM,KAAG,mBACvC,CAAC;AAEhD,eAAO,MAAM,2BAA2B,GAAI,YAAY;IACtD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1B,KAAG,MAKD,CAAC;AAEJ,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,MAAM,SAAS,EAAE,YAAY,MAAM,KAAG,mBAChD,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IACnH,iBAAiB,EAAE,CAAC,KAAK,EAAE,2BAA2B,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,oBAAoB,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,YAAY,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACzG,YAAY,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,sBAAsB,QAAO,gBAiEzC,CAAC"}
|