@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
package/dist/auth-ui/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DQMLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/DQMLogin.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"DQMLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/DQMLogin.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAYnD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoB1D,UAAU,aAAa;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,EAAE,CAAC,WAAW,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7H,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2R5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const AISummaryCard: import('@emotion/styled').StyledComponent<import('@mui/material').CardOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "children" | "sx" | "style" | "className" | "square" | "classes" | "elevation" | "variant" | "raised"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
|
|
2
|
+
//# sourceMappingURL=AISummaryCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AISummaryCard.d.ts","sourceRoot":"","sources":["../../../src/components/cards/AISummaryCard.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,ibAMvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/cards/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/cards/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageSwitch.d.ts","sourceRoot":"","sources":["../../../src/components/common/LanguageSwitch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAcxE,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAoDpD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type LocaleCode = 'en' | 'de' | 'es';
|
|
3
|
+
export interface LanguageSwitchBaseProps {
|
|
4
|
+
locale: LocaleCode;
|
|
5
|
+
isUrlControlled: boolean;
|
|
6
|
+
userOverride: boolean;
|
|
7
|
+
switchLabel: string;
|
|
8
|
+
sourceLabel: string;
|
|
9
|
+
localeLabels: Record<LocaleCode, string>;
|
|
10
|
+
onSelect: (lang: LocaleCode) => void;
|
|
11
|
+
onReset: () => void;
|
|
12
|
+
resetLabel: string;
|
|
13
|
+
index: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const LanguageSwitchBase: React.FC<LanguageSwitchBaseProps>;
|
|
16
|
+
//# sourceMappingURL=LanguageSwitchBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LanguageSwitchBase.d.ts","sourceRoot":"","sources":["../../../src/components/common/LanguageSwitchBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAU5C,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAkHhE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/common/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/common/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AISettingsDialogProps {
|
|
3
|
+
/** Whether the dialog is open */
|
|
4
|
+
open: boolean;
|
|
5
|
+
/** Callback when dialog should close */
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
/** Whether translation is enabled */
|
|
8
|
+
translationEnabled: boolean;
|
|
9
|
+
/** Callback to set translation enabled */
|
|
10
|
+
setTranslationEnabled: (enabled: boolean) => void;
|
|
11
|
+
/** Translation mode (fast or full) */
|
|
12
|
+
translationMode: 'fast' | 'full';
|
|
13
|
+
/** Callback to set translation mode */
|
|
14
|
+
setTranslationMode: (mode: 'fast' | 'full') => void;
|
|
15
|
+
/** Target language for translation */
|
|
16
|
+
translationTargetLang: string;
|
|
17
|
+
/** Whether translation is needed (UI not in English) */
|
|
18
|
+
translationNeeded: boolean;
|
|
19
|
+
/** Whether summary is enabled */
|
|
20
|
+
summaryEnabled: boolean;
|
|
21
|
+
/** Callback to set summary enabled */
|
|
22
|
+
setSummaryEnabled: (enabled: boolean) => void;
|
|
23
|
+
/** Callback to restart summary generation */
|
|
24
|
+
restartSummary: () => void;
|
|
25
|
+
/** OpenAI API key */
|
|
26
|
+
openAiApiKey: string;
|
|
27
|
+
/** Callback to set OpenAI API key */
|
|
28
|
+
setOpenAiApiKey: (key: string) => void;
|
|
29
|
+
/** OpenAI model name */
|
|
30
|
+
openAiModel: string;
|
|
31
|
+
/** Callback to set OpenAI model */
|
|
32
|
+
setOpenAiModel: (model: string) => void;
|
|
33
|
+
/** OpenAI base URL */
|
|
34
|
+
openAiBaseUrl: string;
|
|
35
|
+
/** Callback to set OpenAI base URL */
|
|
36
|
+
setOpenAiBaseUrl: (url: string) => void;
|
|
37
|
+
/** Effective model ID being used */
|
|
38
|
+
aiModelIdEffective: string;
|
|
39
|
+
/** Current translation state */
|
|
40
|
+
translationState: 'disabled' | 'initializing' | 'translating' | 'ready' | 'error';
|
|
41
|
+
/** Translation error message */
|
|
42
|
+
translationError: string | null;
|
|
43
|
+
/** Translation progress info */
|
|
44
|
+
translationProgress: {
|
|
45
|
+
translatedCheckpoints: number;
|
|
46
|
+
totalCheckpoints: number;
|
|
47
|
+
} | null;
|
|
48
|
+
/** Callback to clear translation cache */
|
|
49
|
+
clearTranslationCache: () => void;
|
|
50
|
+
/** Callback to restart translation */
|
|
51
|
+
restartTranslation: () => void;
|
|
52
|
+
/** Whether analysis data exists */
|
|
53
|
+
hasAnalysisData: boolean;
|
|
54
|
+
/** Whether OpenAI settings accordion is expanded */
|
|
55
|
+
openAiSettingsExpanded: boolean;
|
|
56
|
+
/** Callback to set OpenAI settings expanded */
|
|
57
|
+
setOpenAiSettingsExpanded: (expanded: boolean) => void;
|
|
58
|
+
}
|
|
59
|
+
export declare const AISettingsDialog: React.FC<AISettingsDialogProps>;
|
|
60
|
+
export default AISettingsDialog;
|
|
61
|
+
//# sourceMappingURL=AISettingsDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AISettingsDialog.d.ts","sourceRoot":"","sources":["../../../src/components/modals/AISettingsDialog.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AA+B1B,MAAM,WAAW,qBAAqB;IACpC,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IAGpB,qCAAqC;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,qBAAqB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,sCAAsC;IACtC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,uCAAuC;IACvC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACpD,sCAAsC;IACtC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,iBAAiB,EAAE,OAAO,CAAC;IAG3B,iCAAiC;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,6CAA6C;IAC7C,cAAc,EAAE,MAAM,IAAI,CAAC;IAG3B,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,CAAC;IAG3B,gCAAgC;IAChC,gBAAgB,EAAE,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;IAClF,gCAAgC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gCAAgC;IAChC,mBAAmB,EAAE;QAAE,qBAAqB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAGxF,0CAA0C;IAC1C,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAG/B,mCAAmC;IACnC,eAAe,EAAE,OAAO,CAAC;IAGzB,oDAAoD;IACpD,sBAAsB,EAAE,OAAO,CAAC;IAChC,+CAA+C;IAC/C,yBAAyB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACxD;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAgT5D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { AnalysisData } from '../../types';
|
|
3
|
+
export interface HighlightModalProps {
|
|
4
|
+
/** Whether the modal is open */
|
|
5
|
+
open: boolean;
|
|
6
|
+
/** Callback when modal should close */
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
/** Current checkpoint being displayed */
|
|
9
|
+
checkpoint: AnalysisData['checkpoints'][0] | null;
|
|
10
|
+
/** HTML content to display */
|
|
11
|
+
highlightedContent: string;
|
|
12
|
+
/** Current view mode (browser or source) */
|
|
13
|
+
viewMode: 'browser' | 'source';
|
|
14
|
+
/** Callback when view mode changes */
|
|
15
|
+
onViewModeChange: (mode: 'browser' | 'source') => void;
|
|
16
|
+
/** Total number of highlights found */
|
|
17
|
+
totalHighlights: number;
|
|
18
|
+
/** Current highlight index (1-based) */
|
|
19
|
+
currentHighlight: number;
|
|
20
|
+
/** Currently visible highlight index (1-based, from scroll tracking) */
|
|
21
|
+
visibleHighlight: number;
|
|
22
|
+
/** Callback when navigating to prev/next highlight */
|
|
23
|
+
onNavigate: (direction: 'prev' | 'next') => void;
|
|
24
|
+
/** Callback when reload button is clicked */
|
|
25
|
+
onReload: () => void;
|
|
26
|
+
/** Whether content is loading */
|
|
27
|
+
isLoading: boolean;
|
|
28
|
+
/** Whether scripts are disabled in browser view */
|
|
29
|
+
scriptsDisabled: boolean;
|
|
30
|
+
/** Callback to toggle scripts */
|
|
31
|
+
onScriptsToggle: () => void;
|
|
32
|
+
/** Callback when highlights are found in content */
|
|
33
|
+
onHighlightsFound: (count: number) => void;
|
|
34
|
+
/** Callback when visible highlight changes (passive scroll tracking) */
|
|
35
|
+
onVisibleHighlightChange: (index: number) => void;
|
|
36
|
+
/** Click indicator for triggering scroll */
|
|
37
|
+
clickedIndicator: number;
|
|
38
|
+
/** Whether auto-scroll to first has occurred */
|
|
39
|
+
hasAutoScrolled: boolean;
|
|
40
|
+
/** Shadow DOM mode for MUI components */
|
|
41
|
+
shadowDomMode?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare const HighlightModal: React.FC<HighlightModalProps>;
|
|
44
|
+
export default HighlightModal;
|
|
45
|
+
//# sourceMappingURL=HighlightModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HighlightModal.d.ts","sourceRoot":"","sources":["../../../src/components/modals/HighlightModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAiB,MAAM,OAAO,CAAC;AAuBtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,uCAAuC;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yCAAyC;IACzC,UAAU,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAClD,8BAA8B;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,sCAAsC;IACtC,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,KAAK,IAAI,CAAC;IACvD,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,eAAe,EAAE,OAAO,CAAC;IACzB,iCAAiC;IACjC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oDAAoD;IACpD,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,wEAAwE;IACxE,wBAAwB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,4CAA4C;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,eAAe,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4PxD,CAAC;AAgLF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DQMConfig, SessionType } from '../../types';
|
|
3
|
+
export interface LoginOverlayProps {
|
|
4
|
+
/** Configuration object */
|
|
5
|
+
config?: DQMConfig;
|
|
6
|
+
/** Callback when close button is clicked */
|
|
7
|
+
onClose: () => void;
|
|
8
|
+
/** Callback when authentication succeeds */
|
|
9
|
+
onAuthSuccess: (creds: {
|
|
10
|
+
apiKey: string;
|
|
11
|
+
websiteId: string;
|
|
12
|
+
sessionToken?: string;
|
|
13
|
+
sessionType: SessionType;
|
|
14
|
+
}) => void;
|
|
15
|
+
/** Callback when authentication fails */
|
|
16
|
+
onAuthError: (error: Error) => void;
|
|
17
|
+
/** Initial error message to display */
|
|
18
|
+
initialError: string | null;
|
|
19
|
+
}
|
|
20
|
+
export declare const LoginOverlay: React.FC<LoginOverlayProps>;
|
|
21
|
+
export default LoginOverlay;
|
|
22
|
+
//# sourceMappingURL=LoginOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoginOverlay.d.ts","sourceRoot":"","sources":["../../../src/components/modals/LoginOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1D,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,4CAA4C;IAC5C,aAAa,EAAE,CAAC,KAAK,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,WAAW,CAAC;KAC1B,KAAK,IAAI,CAAC;IACX,yCAAyC;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACpC,uCAAuC;IACvC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyEpD,CAAC;AAgCF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modals Components
|
|
3
|
+
*
|
|
4
|
+
* Barrel export for modal dialog components.
|
|
5
|
+
*/
|
|
6
|
+
export { HighlightModal, type HighlightModalProps } from './HighlightModal';
|
|
7
|
+
export { AISettingsDialog, type AISettingsDialogProps } from './AISettingsDialog';
|
|
8
|
+
export { LoginOverlay, type LoginOverlayProps } from './LoginOverlay';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modals/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserViewRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/BrowserViewRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BrowserViewRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/BrowserViewRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAkNA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowDOMRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/ShadowDOMRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ShadowDOMRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/renderers/ShadowDOMRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;CACxD,CA2JA,CAAC"}
|
|
@@ -4,4 +4,5 @@ export { SidebarHeader } from './SidebarHeader';
|
|
|
4
4
|
export { SidebarContent } from './SidebarContent';
|
|
5
5
|
export { SidebarFooter } from './SidebarFooter';
|
|
6
6
|
export { SidebarSkeleton } from './SidebarSkeleton';
|
|
7
|
+
export { HeaderButton } from './CloseButton';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { AIContextValue, AIProviderProps } from './types';
|
|
3
|
+
declare const AIContext: React.Context<AIContextValue>;
|
|
4
|
+
/**
|
|
5
|
+
* Hook to access AI context. Must be used within an AIProvider.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useAI: () => AIContextValue;
|
|
8
|
+
/**
|
|
9
|
+
* Provider component for AI features configuration.
|
|
10
|
+
*/
|
|
11
|
+
export declare const AIProvider: React.FC<AIProviderProps>;
|
|
12
|
+
export default AIContext;
|
|
13
|
+
//# sourceMappingURL=AIContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIContext.d.ts","sourceRoot":"","sources":["../../../src/context/ai/AIContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA+E,MAAM,OAAO,CAAC;AAGpG,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EAEhB,MAAM,SAAS,CAAC;AAEjB,QAAA,MAAM,SAAS,+BAA6C,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,KAAK,QAAO,cAMxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA8MhD,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Context - Re-exports
|
|
3
|
+
*
|
|
4
|
+
* Central module for all AI-related functionality.
|
|
5
|
+
*/
|
|
6
|
+
export { AIProvider, useAI, default as AIContext } from './AIContext';
|
|
7
|
+
export { useTranslationCache } from './useTranslationCache';
|
|
8
|
+
export { useAIEngine } from './useAIEngine';
|
|
9
|
+
export { useAITranslation } from './useAITranslation';
|
|
10
|
+
export { useAISummary } from './useAISummary';
|
|
11
|
+
export type { TranslationMode, TranslationState, SummaryState, UseTranslationCacheReturn, UseAIEngineOptions, UseAIEngineReturn, UseAITranslationOptions, UseAITranslationReturn, UseAISummaryOptions, UseAISummaryReturn, SummaryStats, AIContextValue, AIProviderProps, } from './types';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,YAAY,EAEV,eAAe,EACf,gBAAgB,EAChB,YAAY,EAEZ,yBAAyB,EACzB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EAEZ,cAAc,EACd,eAAe,GAChB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { AnalysisData } from '../../types';
|
|
2
|
+
import { TranslationProgress, SummaryStats } from '../../utils/translationUtils';
|
|
3
|
+
import { JsonChatClient } from '../../utils/aiJsonClient';
|
|
4
|
+
import { TranslationCache } from '../../utils/translationCache';
|
|
5
|
+
export type AiBackend = 'openai';
|
|
6
|
+
export type TranslationMode = 'fast' | 'full';
|
|
7
|
+
export type TranslationState = 'disabled' | 'initializing' | 'ready' | 'translating' | 'error';
|
|
8
|
+
export type SummaryState = 'idle' | 'generating' | 'ready' | 'error';
|
|
9
|
+
export interface UseTranslationCacheReturn {
|
|
10
|
+
/** The IndexedDB-backed translation cache instance */
|
|
11
|
+
cache: TranslationCache;
|
|
12
|
+
/** In-memory cache for translated analysis data per asset */
|
|
13
|
+
assetCache: Map<string, AnalysisData>;
|
|
14
|
+
/** Whether storage is persisted (survives browser eviction) */
|
|
15
|
+
storagePersisted: boolean | null;
|
|
16
|
+
/** Refresh the storage persistence state */
|
|
17
|
+
refreshStorageState: () => Promise<void>;
|
|
18
|
+
/** Clear all cached translations (both IndexedDB and in-memory) */
|
|
19
|
+
clearAll: () => Promise<void>;
|
|
20
|
+
/** Clear in-memory asset cache only */
|
|
21
|
+
clearAssetCache: () => void;
|
|
22
|
+
}
|
|
23
|
+
export interface UseAIEngineOptions {
|
|
24
|
+
/** Whether AI features are enabled */
|
|
25
|
+
enabled: boolean;
|
|
26
|
+
/** OpenAI API key (required) */
|
|
27
|
+
openAiApiKey?: string;
|
|
28
|
+
/** OpenAI model name */
|
|
29
|
+
openAiModel?: string;
|
|
30
|
+
/** OpenAI base URL */
|
|
31
|
+
openAiBaseUrl?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface UseAIEngineReturn {
|
|
34
|
+
/** The AI client (OpenAI) */
|
|
35
|
+
client: JsonChatClient | null;
|
|
36
|
+
/** Current engine state */
|
|
37
|
+
state: TranslationState;
|
|
38
|
+
/** Currently loaded model ID */
|
|
39
|
+
loadedModelId: string | null;
|
|
40
|
+
/** Whether the engine is ready for inference */
|
|
41
|
+
isReady: boolean;
|
|
42
|
+
/** Error message if state is 'error' */
|
|
43
|
+
error: string | null;
|
|
44
|
+
/** Run a task with exclusive engine access (prevents concurrent calls) */
|
|
45
|
+
runWithLock: <T>(task: () => Promise<T>) => Promise<T>;
|
|
46
|
+
/** Stop any ongoing AI operation */
|
|
47
|
+
stop: () => void;
|
|
48
|
+
}
|
|
49
|
+
export interface UseAITranslationOptions {
|
|
50
|
+
/** AI engine hook return value */
|
|
51
|
+
engine: UseAIEngineReturn;
|
|
52
|
+
/** Translation cache hook return value */
|
|
53
|
+
cacheManager: UseTranslationCacheReturn;
|
|
54
|
+
/** Original (untranslated) analysis data */
|
|
55
|
+
originalData: AnalysisData | null;
|
|
56
|
+
/** Target language code (e.g., 'de', 'fr') */
|
|
57
|
+
targetLang: string;
|
|
58
|
+
/** Model ID being used */
|
|
59
|
+
modelId: string;
|
|
60
|
+
/** Whether translation is enabled */
|
|
61
|
+
enabled: boolean;
|
|
62
|
+
/** Translation mode (fast = budget limited, full = complete) */
|
|
63
|
+
mode: TranslationMode;
|
|
64
|
+
/** Compute budget in milliseconds */
|
|
65
|
+
computeBudgetMs: number;
|
|
66
|
+
/** IndexedDB translation cache */
|
|
67
|
+
persistentCache: TranslationCache;
|
|
68
|
+
/** Whether summary is currently generating (translation waits) */
|
|
69
|
+
summaryGenerating?: boolean;
|
|
70
|
+
}
|
|
71
|
+
export interface UseAITranslationReturn {
|
|
72
|
+
/** Translated analysis data (or original if not translated) */
|
|
73
|
+
translatedData: AnalysisData | null;
|
|
74
|
+
/** Translation progress */
|
|
75
|
+
progress: TranslationProgress | null;
|
|
76
|
+
/** Error message */
|
|
77
|
+
error: string | null;
|
|
78
|
+
/** Set of checkpoint IDs currently being translated */
|
|
79
|
+
translatingIds: Set<string>;
|
|
80
|
+
/** Set of checkpoint IDs that have been translated */
|
|
81
|
+
translatedIds: Set<string>;
|
|
82
|
+
/** Whether translation is in progress */
|
|
83
|
+
isTranslating: boolean;
|
|
84
|
+
/** Restart translation (clears cache for current asset) */
|
|
85
|
+
restart: () => void;
|
|
86
|
+
/** Stop ongoing translation */
|
|
87
|
+
stop: () => void;
|
|
88
|
+
/** Retry translation for a single checkpoint */
|
|
89
|
+
retrySingleCheckpoint: (checkpointId: string) => Promise<void>;
|
|
90
|
+
/** Reset to original data and clear filters */
|
|
91
|
+
resetToOriginal: () => void;
|
|
92
|
+
/** Callback to update analysis data (for parent component) */
|
|
93
|
+
onDataChange?: (data: AnalysisData | null, categories: [string, AnalysisData['checkpoints']][]) => void;
|
|
94
|
+
}
|
|
95
|
+
export interface UseAISummaryOptions {
|
|
96
|
+
/** AI engine hook return value */
|
|
97
|
+
engine: UseAIEngineReturn;
|
|
98
|
+
/** Original analysis data */
|
|
99
|
+
originalData: AnalysisData | null;
|
|
100
|
+
/** Target language for summary */
|
|
101
|
+
targetLang: string;
|
|
102
|
+
/** Model ID being used */
|
|
103
|
+
modelId: string;
|
|
104
|
+
/** Whether summary is enabled */
|
|
105
|
+
enabled: boolean;
|
|
106
|
+
/** Timeout in milliseconds */
|
|
107
|
+
timeoutMs?: number;
|
|
108
|
+
/** Whether translation is currently in progress */
|
|
109
|
+
translationInProgress?: boolean;
|
|
110
|
+
/** Translation cache for summary caching */
|
|
111
|
+
cache: TranslationCache;
|
|
112
|
+
}
|
|
113
|
+
export interface UseAISummaryReturn {
|
|
114
|
+
/** Current summary state */
|
|
115
|
+
state: SummaryState;
|
|
116
|
+
/** Generated bullet points */
|
|
117
|
+
bullets: string[] | null;
|
|
118
|
+
/** Error message */
|
|
119
|
+
error: string | null;
|
|
120
|
+
/** Stats for last summary run */
|
|
121
|
+
stats: SummaryStats | null;
|
|
122
|
+
/** Restart summary generation */
|
|
123
|
+
restart: () => void;
|
|
124
|
+
}
|
|
125
|
+
export type { SummaryStats } from '../../utils/translationUtils';
|
|
126
|
+
export interface AIContextValue {
|
|
127
|
+
translationEnabled: boolean;
|
|
128
|
+
setTranslationEnabled: (value: boolean) => void;
|
|
129
|
+
translationMode: TranslationMode;
|
|
130
|
+
setTranslationMode: (value: TranslationMode) => void;
|
|
131
|
+
translationDialogOpen: boolean;
|
|
132
|
+
setTranslationDialogOpen: (value: boolean) => void;
|
|
133
|
+
summaryEnabled: boolean;
|
|
134
|
+
setSummaryEnabled: (value: boolean) => void;
|
|
135
|
+
openAiApiKey: string;
|
|
136
|
+
setOpenAiApiKey: (value: string) => void;
|
|
137
|
+
openAiModel: string;
|
|
138
|
+
setOpenAiModel: (value: string) => void;
|
|
139
|
+
openAiBaseUrl: string;
|
|
140
|
+
setOpenAiBaseUrl: (value: string) => void;
|
|
141
|
+
targetLang: string;
|
|
142
|
+
translationNeeded: boolean;
|
|
143
|
+
aiEnabled: boolean;
|
|
144
|
+
computeBudgetMs: number;
|
|
145
|
+
effectiveModelId: string;
|
|
146
|
+
translationConfig?: {
|
|
147
|
+
enabledByDefault?: boolean;
|
|
148
|
+
computeBudgetMs?: number;
|
|
149
|
+
};
|
|
150
|
+
summaryConfig?: {
|
|
151
|
+
timeoutMs?: number;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
export interface AIProviderProps {
|
|
155
|
+
children: React.ReactNode;
|
|
156
|
+
/** Translation configuration from DQMConfig */
|
|
157
|
+
translationConfig?: AIContextValue['translationConfig'];
|
|
158
|
+
/** Summary configuration */
|
|
159
|
+
summaryConfig?: AIContextValue['summaryConfig'];
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context/ai/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UseAIEngineOptions, UseAIEngineReturn } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for managing AI engine (OpenAI) initialization and access.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Configuration options
|
|
6
|
+
* @returns Engine state and control functions
|
|
7
|
+
*/
|
|
8
|
+
export declare const useAIEngine: (options: UseAIEngineOptions) => UseAIEngineReturn;
|
|
9
|
+
export default useAIEngine;
|
|
10
|
+
//# sourceMappingURL=useAIEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAIEngine.d.ts","sourceRoot":"","sources":["../../../src/context/ai/useAIEngine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAoB,MAAM,SAAS,CAAC;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,kBAAkB,KAAG,iBAsGzD,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UseAISummaryOptions, UseAISummaryReturn } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for generating AI-powered summary of DQM analysis results.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Configuration options
|
|
6
|
+
* @returns Summary state and control functions
|
|
7
|
+
*/
|
|
8
|
+
export declare const useAISummary: (options: UseAISummaryOptions) => UseAISummaryReturn;
|
|
9
|
+
export default useAISummary;
|
|
10
|
+
//# sourceMappingURL=useAISummary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAISummary.d.ts","sourceRoot":"","sources":["../../../src/context/ai/useAISummary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAA8B,MAAM,SAAS,CAAC;AAInG;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,mBAAmB,KAAG,kBAkP3D,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UseAITranslationOptions, UseAITranslationReturn } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for translating DQM analysis results using AI.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Configuration options
|
|
6
|
+
* @returns Translation state and control functions
|
|
7
|
+
*/
|
|
8
|
+
export declare const useAITranslation: (options: UseAITranslationOptions) => UseAITranslationReturn;
|
|
9
|
+
export default useAITranslation;
|
|
10
|
+
//# sourceMappingURL=useAITranslation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAITranslation.d.ts","sourceRoot":"","sources":["../../../src/context/ai/useAITranslation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAG/E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,uBAAuB,KAAG,sBAsSnE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UseTranslationCacheReturn } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook for managing translation caches (both IndexedDB and in-memory).
|
|
4
|
+
*
|
|
5
|
+
* @returns Cache management functions and state
|
|
6
|
+
*/
|
|
7
|
+
export declare const useTranslationCache: () => UseTranslationCacheReturn;
|
|
8
|
+
export default useTranslationCache;
|
|
9
|
+
//# sourceMappingURL=useTranslationCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTranslationCache.d.ts","sourceRoot":"","sources":["../../../src/context/ai/useTranslationCache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAAO,yBAkDtC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|