@crownpeak/dqm-react-component 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/LICENSE +1 -1
  3. package/dist/DQMSidebar.d.ts.map +1 -1
  4. package/dist/auth-ui/assets/index-CcFepUgA.js +158 -0
  5. package/dist/auth-ui/index.html +1 -1
  6. package/dist/components/modals/AISettingsDialog.d.ts +5 -0
  7. package/dist/components/modals/AISettingsDialog.d.ts.map +1 -1
  8. package/dist/context/ai/AIContext.d.ts.map +1 -1
  9. package/dist/context/ai/types.d.ts +4 -0
  10. package/dist/context/ai/types.d.ts.map +1 -1
  11. package/dist/dqm-widget.esm.js +169 -154
  12. package/dist/dqm-widget.iife.js +18 -18
  13. package/dist/i18n/index.d.ts +30 -0
  14. package/dist/i18n/index.d.ts.map +1 -1
  15. package/dist/i18n/sidebar/de.d.ts +10 -0
  16. package/dist/i18n/sidebar/de.d.ts.map +1 -1
  17. package/dist/i18n/sidebar/en.d.ts +10 -0
  18. package/dist/i18n/sidebar/en.d.ts.map +1 -1
  19. package/dist/i18n/sidebar/es.d.ts +10 -0
  20. package/dist/i18n/sidebar/es.d.ts.map +1 -1
  21. package/dist/index.cjs +46 -46
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.js +7277 -7122
  24. package/dist/index.js.map +1 -1
  25. package/dist/store/slices/aiSlice.d.ts +11 -1
  26. package/dist/store/slices/aiSlice.d.ts.map +1 -1
  27. package/dist/store/slices/index.d.ts +1 -1
  28. package/dist/store/slices/index.d.ts.map +1 -1
  29. package/dist/utils/modelCapabilities.d.ts +69 -0
  30. package/dist/utils/modelCapabilities.d.ts.map +1 -0
  31. package/dist/utils/openaiJsonClient.d.ts +2 -0
  32. package/dist/utils/openaiJsonClient.d.ts.map +1 -1
  33. package/dist/utils/translationUtils.d.ts.map +1 -1
  34. package/package.json +4 -3
  35. package/dist/auth-ui/assets/index-YKFZYENy.js +0 -158
@@ -1,4 +1,5 @@
1
1
  import { PayloadAction } from '@reduxjs/toolkit';
2
+ import { ReasoningEffort } from '../../utils/modelCapabilities';
2
3
  export type AIProvider = 'openai' | 'none';
3
4
  export type TranslationProvider = 'openai' | 'none';
4
5
  export interface AISettings {
@@ -12,6 +13,8 @@ export interface AISettings {
12
13
  enabled: boolean;
13
14
  /** Translation provider */
14
15
  translationProvider: TranslationProvider;
16
+ /** Reasoning effort for GPT-5 models */
17
+ reasoningEffort: ReasoningEffort;
15
18
  }
16
19
  export interface AISummary {
17
20
  /** Checkpoint ID this summary is for */
@@ -43,6 +46,7 @@ declare const AI_STORAGE_KEYS: {
43
46
  readonly openaiApiKey: "dqm_openai_apiKey";
44
47
  readonly openaiModel: "dqm_openai_model";
45
48
  readonly translationProvider: "dqm_translation_provider";
49
+ readonly reasoningEffort: "dqm_reasoning_effort";
46
50
  };
47
51
  export declare const aiSlice: import('@reduxjs/toolkit').Slice<AISliceState, {
48
52
  /** Update AI settings */
@@ -55,6 +59,8 @@ export declare const aiSlice: import('@reduxjs/toolkit').Slice<AISliceState, {
55
59
  setOpenAIModel: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<string>) => void;
56
60
  /** Set translation provider */
57
61
  setTranslationProvider: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<TranslationProvider>) => void;
62
+ /** Set reasoning effort (for GPT-5 models) */
63
+ setReasoningEffort: (state: import('immer').WritableDraft<AISliceState>, action: PayloadAction<ReasoningEffort>) => void;
58
64
  /** Open settings dialog */
59
65
  openSettings: (state: import('immer').WritableDraft<AISliceState>) => void;
60
66
  /** Close settings dialog */
@@ -85,9 +91,10 @@ export declare const aiSlice: import('@reduxjs/toolkit').Slice<AISliceState, {
85
91
  openaiApiKey?: string | null;
86
92
  openaiModel?: string;
87
93
  translationProvider?: TranslationProvider;
94
+ reasoningEffort?: ReasoningEffort;
88
95
  }>) => void;
89
96
  }, "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<{
97
+ 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">, setReasoningEffort: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<ReasoningEffort, "ai/setReasoningEffort">, 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
98
  checkpointId: string;
92
99
  summary: string;
93
100
  provider: AIProvider;
@@ -109,6 +116,9 @@ export declare const selectOpenAIApiKey: (state: {
109
116
  export declare const selectOpenAIModel: (state: {
110
117
  ai: AISliceState;
111
118
  }) => string;
119
+ export declare const selectReasoningEffort: (state: {
120
+ ai: AISliceState;
121
+ }) => ReasoningEffort;
112
122
  export declare const selectTranslationProvider: (state: {
113
123
  ai: AISliceState;
114
124
  }) => TranslationProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"aiSlice.d.ts","sourceRoot":"","sources":["../../../src/store/slices/aiSlice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aiSlice.d.ts","sourceRoot":"","sources":["../../../src/store/slices/aiSlice.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,QAAQ,EAAE,UAAU,CAAC;IACrB,uCAAuC;IACvC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,wCAAwC;IACxC,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB;IAClB,QAAQ,EAAE,UAAU,CAAC;IACrB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,sCAAsC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,yCAAyC;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAoBD,mCAAmC;AACnC,QAAA,MAAM,eAAe;;;;;;CAMX,CAAC;AAEX,eAAO,MAAM,OAAO;IAIhB,yBAAyB;iFACO,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAQlE,sBAAsB;8EACO,aAAa,CAAC,UAAU,CAAC;IAKtD,yBAAyB;kFACQ,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;IAI7D,uBAAuB;iFACS,aAAa,CAAC,MAAM,CAAC;IAIrD,+BAA+B;yFACS,aAAa,CAAC,mBAAmB,CAAC;IAI1E,8CAA8C;qFACV,aAAa,CAAC,eAAe,CAAC;IAIlE,2BAA2B;;IAK3B,4BAA4B;;IAK5B,6BAA6B;;IAK7B,+BAA+B;kFACE,aAAa,CAAC,MAAM,CAAC;IAMtD,wCAAwC;sFAG9B,aAAa,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,UAAU,CAAC;KACtB,CAAC;IAYJ,wBAAwB;mFACU,aAAa,CAAC,MAAM,CAAC;IAMvD,kBAAkB;;IAKlB,0BAA0B;;IAK1B,6BAA6B;+EACC,aAAa,CAAC,MAAM,CAAC;IAInD,qBAAqB;;IAGrB,oCAAoC;kFAG1B,aAAa,CAAC;QACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;QAC1C,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;uEAoBN,CAAC;AAEH,eAAO,MACL,cAAc,yFACd,WAAW,6FACX,eAAe,6FACf,cAAc,4FACd,sBAAsB,iHACtB,kBAAkB,yGAClB,YAAY,6EACZ,aAAa,8EACb,cAAc,+EACd,eAAe,6FACf,mBAAmB;kBAlFC,MAAM;aACX,MAAM;cACL,UAAU;8BAiF1B,gBAAgB,8FAChB,UAAU,2EACV,cAAc,+EACd,YAAY,0FACZ,OAAO,wEACP,eAAe,wFACE,CAAC;;AAEpB,wBAA+B;AAG/B,eAAO,MAAM,gBAAgB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,eAAsB,CAAC;AACnF,eAAO,MAAM,gBAAgB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,eAA+B,CAAC;AAC5F,eAAO,MAAM,eAAe,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,YAA8B,CAAC;AAC1F,eAAO,MAAM,kBAAkB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,WAAmC,CAAC;AAClG,eAAO,MAAM,iBAAiB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,WAAkC,CAAC;AAChG,eAAO,MAAM,qBAAqB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,oBAAsC,CAAC;AACxG,eAAO,MAAM,yBAAyB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,wBAC9B,CAAC;AACxC,eAAO,MAAM,oBAAoB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,YAA4B,CAAC;AAC7F,eAAO,MAAM,kBAAkB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,YAA0B,CAAC;AACzF,eAAO,MAAM,mBAAmB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,WAA2B,CAAC;AAC3F,eAAO,MAAM,aAAa,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,WAAmB,CAAC;AAC7E,eAAO,MAAM,kBAAkB,GAAI,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,8BAAuB,CAAC;AACtF,eAAO,MAAM,aAAa,GAAI,cAAc,MAAM,MAAM,OAAO;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,cACzC,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -7,6 +7,6 @@ export { highlightSlice, selectCheckpoint, setViewMode, toggleShowAllHighlights,
7
7
  export type { HighlightSliceState, ViewMode, HighlightCacheEntry } from './highlightSlice';
8
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
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';
10
+ export { aiSlice, updateSettings, setProvider, setOpenAIApiKey, setOpenAIModel, setTranslationProvider, setReasoningEffort, openSettings, closeSettings, toggleSettings, startGeneration, generationCompleted, generationFailed, clearError as clearAIError, clearSummaries, clearSummary, resetAI, hydrateSettings, selectAISettings, selectAIProvider, selectAIEnabled, selectOpenAIApiKey, selectOpenAIModel, selectReasoningEffort, selectTranslationProvider, selectIsSettingsOpen, selectIsGenerating, selectGeneratingFor, selectAIError, selectAllSummaries, selectSummary, AI_STORAGE_KEYS, } from './aiSlice';
11
11
  export type { AISliceState, AISettings, AISummary, AIProvider, TranslationProvider } from './aiSlice';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,kBAAkB,EAClB,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,qBAAqB,EACrB,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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Model Capabilities Utility
3
+ *
4
+ * Provides model detection and capability information for OpenAI models.
5
+ * Handles differences between GPT-4.x and GPT-5.x API requirements.
6
+ */
7
+ export type ReasoningEffort = 'low' | 'medium' | 'high';
8
+ export interface ModelCapabilities {
9
+ /** Whether the model supports structured outputs (json_schema) */
10
+ supportsStructuredOutputs: boolean;
11
+ /** Whether the model supports reasoning_effort parameter */
12
+ supportsReasoningEffort: boolean;
13
+ /** Whether to use max_completion_tokens instead of max_tokens */
14
+ supportsMaxCompletionTokens: boolean;
15
+ /** Whether to use developer role instead of system role */
16
+ supportsDeveloperRole: boolean;
17
+ /** Context window size in tokens */
18
+ contextWindow: number;
19
+ /** Maximum output tokens */
20
+ maxOutputTokens: number;
21
+ /** Model generation (4 or 5) */
22
+ generation: 4 | 5;
23
+ }
24
+ /**
25
+ * Check if model is a GPT-5.x model
26
+ */
27
+ export declare const isGPT5Model: (modelId: string) => boolean;
28
+ /**
29
+ * Check if model is a reasoning model (o-series or GPT-5)
30
+ */
31
+ export declare const isReasoningModel: (modelId: string) => boolean;
32
+ /**
33
+ * Get capabilities for a specific model
34
+ */
35
+ export declare const getModelCapabilities: (modelId: string) => ModelCapabilities;
36
+ /**
37
+ * Get the context budget for translation based on model
38
+ * Returns a conservative estimate for chunking decisions
39
+ */
40
+ export declare const getContextBudgetTokens: (modelId: string) => number;
41
+ /**
42
+ * Build token limit parameters based on model capabilities
43
+ */
44
+ export declare const buildTokenParams: (modelId: string, maxTokens: number) => {
45
+ max_tokens?: number;
46
+ max_completion_tokens?: number;
47
+ };
48
+ /**
49
+ * Build response format based on model capabilities
50
+ */
51
+ export declare const buildResponseFormat: (modelId: string, schema?: object) => {
52
+ response_format: {
53
+ type: "json_object";
54
+ } | {
55
+ type: "json_schema";
56
+ json_schema: object;
57
+ };
58
+ };
59
+ /**
60
+ * Get the appropriate message role based on model capabilities
61
+ */
62
+ export declare const getSystemRole: (modelId: string) => "system" | "developer";
63
+ /**
64
+ * Build reasoning effort parameter if supported
65
+ */
66
+ export declare const buildReasoningParams: (modelId: string, reasoningEffort: ReasoningEffort | undefined) => {
67
+ reasoning_effort?: ReasoningEffort;
68
+ };
69
+ //# sourceMappingURL=modelCapabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelCapabilities.d.ts","sourceRoot":"","sources":["../../src/utils/modelCapabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,yBAAyB,EAAE,OAAO,CAAC;IACnC,4DAA4D;IAC5D,uBAAuB,EAAE,OAAO,CAAC;IACjC,iEAAiE;IACjE,2BAA2B,EAAE,OAAO,CAAC;IACrC,2DAA2D;IAC3D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,OAO7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,OAQlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,iBA2FtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,KAAG,MAyBxD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,MAAM,EACf,WAAW,MAAM,KAChB;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAQvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,KACd;IAAE,eAAe,EAAE;QAAE,IAAI,EAAE,aAAa,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CAwB3F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,QAAQ,GAAG,WAG1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,iBAAiB,eAAe,GAAG,SAAS,KAC3C;IAAE,gBAAgB,CAAC,EAAE,eAAe,CAAA;CAUtC,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { JsonChatClient } from './aiJsonClient';
2
+ import { ReasoningEffort } from './modelCapabilities';
2
3
  export type OpenAIClientConfig = {
3
4
  apiKey: string;
4
5
  model: string;
5
6
  baseUrl?: string;
7
+ reasoningEffort?: ReasoningEffort;
6
8
  };
7
9
  export declare const createOpenAIJsonClient: (config: OpenAIClientConfig) => JsonChatClient;
8
10
  //# sourceMappingURL=openaiJsonClient.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"openaiJsonClient.d.ts","sourceRoot":"","sources":["../../src/utils/openaiJsonClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC,CAAC;AASF,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,cA6EnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"translationUtils.d.ts","sourceRoot":"","sources":["../../src/utils/translationUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQ3D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAoPF,MAAM,MAAM,mBAAmB,GAAG;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AA0DF,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAgXrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAClF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAG,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CA6kBhE,CAAC"}
1
+ {"version":3,"file":"translationUtils.d.ts","sourceRoot":"","sources":["../../src/utils/translationUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAS3D,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AA+OF,MAAM,MAAM,mBAAmB,GAAG;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AA0DF,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAgXrD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,MAAM;IAC9C,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAClF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,KAAG,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CA6kBhE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crownpeak/dqm-react-component",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "description": "A React component for Crownpeak Digital Quality Management (DQM) integration",
6
6
  "type": "module",
@@ -84,7 +84,7 @@
84
84
  "test:e2e:debug": "playwright test --debug",
85
85
  "wiki:build": "./scripts/wiki-build.sh",
86
86
  "wiki:deploy": "./scripts/wiki-deploy.sh",
87
- "setVersion": "npm version --workspaces --no-git-tag-version",
87
+ "setVersion": "node ./scripts/npm-set-version.mjs",
88
88
  "licenses:generate": "generate-license-file --config .glfrc.json",
89
89
  "licenses:check": "license-checker --onlyAllow 'MIT;ISC;Apache-2.0;BSD-2-Clause;BSD-3-Clause;0BSD;Unlicense;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Python-2.0;BlueOak-1.0.0;Zlib;WTFPL' --production",
90
90
  "licenses:check:all": "npm run licenses:check && npm run licenses:check --prefix mcp-server",
@@ -92,7 +92,8 @@
92
92
  "prepare": "husky"
93
93
  },
94
94
  "workspaces": [
95
- "mcp-server"
95
+ "mcp-server",
96
+ "website"
96
97
  ],
97
98
  "peerDependencies": {
98
99
  "@mui/icons-material": ">=5.0.0",