@futdevpro/fsm-dynamo 1.15.2 → 1.15.3

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 (89) hide show
  1. package/.cursor/rules/__main.mdc +3 -1
  2. package/.cursor/rules/default-command.mdc +324 -88
  3. package/build/_models/control-models/data-property-params.control-model.js +2 -2
  4. package/build/_models/control-models/data-property-params.control-model.js.map +1 -1
  5. package/build/_modules/ai/_collections/ai-model-ref.util.d.ts +43 -0
  6. package/build/_modules/ai/_collections/ai-model-ref.util.d.ts.map +1 -0
  7. package/build/_modules/ai/_collections/ai-model-ref.util.js +75 -0
  8. package/build/_modules/ai/_collections/ai-model-ref.util.js.map +1 -0
  9. package/build/_modules/ai/_enums/ai-provider.enum.d.ts +2 -1
  10. package/build/_modules/ai/_enums/ai-provider.enum.d.ts.map +1 -1
  11. package/build/_modules/ai/_enums/ai-provider.enum.js +1 -1
  12. package/build/_modules/ai/_enums/ai-provider.enum.js.map +1 -1
  13. package/build/_modules/ai/_models/ai-user-provider-config.control-model.d.ts +22 -0
  14. package/build/_modules/ai/_models/ai-user-provider-config.control-model.d.ts.map +1 -0
  15. package/build/_modules/ai/_models/ai-user-provider-config.control-model.js +29 -0
  16. package/build/_modules/ai/_models/ai-user-provider-config.control-model.js.map +1 -0
  17. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.d.ts +11 -0
  18. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.d.ts.map +1 -0
  19. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js +20 -0
  20. package/build/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js.map +1 -0
  21. package/build/_modules/ai/_modules/anthropic/index.d.ts +1 -0
  22. package/build/_modules/ai/_modules/anthropic/index.d.ts.map +1 -1
  23. package/build/_modules/ai/_modules/anthropic/index.js +1 -0
  24. package/build/_modules/ai/_modules/anthropic/index.js.map +1 -1
  25. package/build/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.d.ts +7 -0
  26. package/build/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.d.ts.map +1 -0
  27. package/build/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.js +11 -0
  28. package/build/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.js.map +1 -0
  29. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.d.ts +10 -0
  30. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.d.ts.map +1 -0
  31. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js +19 -0
  32. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js.map +1 -0
  33. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.d.ts +12 -0
  34. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.d.ts.map +1 -0
  35. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.js +3 -0
  36. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.js.map +1 -0
  37. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.d.ts +14 -0
  38. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.d.ts.map +1 -0
  39. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js +22 -0
  40. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js.map +1 -0
  41. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.d.ts +11 -0
  42. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.d.ts.map +1 -0
  43. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js +20 -0
  44. package/build/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js.map +1 -0
  45. package/build/_modules/ai/_modules/fdp-ai/index.d.ts +6 -0
  46. package/build/_modules/ai/_modules/fdp-ai/index.d.ts.map +1 -0
  47. package/build/_modules/ai/_modules/fdp-ai/index.js +11 -0
  48. package/build/_modules/ai/_modules/fdp-ai/index.js.map +1 -0
  49. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.d.ts +11 -0
  50. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.d.ts.map +1 -0
  51. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js +20 -0
  52. package/build/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js.map +1 -0
  53. package/build/_modules/ai/_modules/google-ai/index.d.ts +1 -0
  54. package/build/_modules/ai/_modules/google-ai/index.d.ts.map +1 -1
  55. package/build/_modules/ai/_modules/google-ai/index.js +1 -0
  56. package/build/_modules/ai/_modules/google-ai/index.js.map +1 -1
  57. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.d.ts +12 -0
  58. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.d.ts.map +1 -0
  59. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js +21 -0
  60. package/build/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js.map +1 -0
  61. package/build/_modules/ai/_modules/open-ai/index.d.ts +1 -0
  62. package/build/_modules/ai/_modules/open-ai/index.d.ts.map +1 -1
  63. package/build/_modules/ai/_modules/open-ai/index.js +1 -0
  64. package/build/_modules/ai/_modules/open-ai/index.js.map +1 -1
  65. package/build/_modules/ai/index.d.ts +2 -0
  66. package/build/_modules/ai/index.d.ts.map +1 -1
  67. package/build/_modules/ai/index.js +3 -0
  68. package/build/_modules/ai/index.js.map +1 -1
  69. package/futdevpro-fsm-dynamo-01.15.3.tgz +0 -0
  70. package/package.json +8 -2
  71. package/src/_models/control-models/data-property-params.control-model.spec.ts +2 -2
  72. package/src/_models/control-models/data-property-params.control-model.ts +2 -2
  73. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -0
  74. package/src/_modules/ai/_enums/ai-provider.enum.ts +1 -1
  75. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -0
  76. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -0
  77. package/src/_modules/ai/_modules/anthropic/index.ts +1 -0
  78. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -0
  79. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -0
  80. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -0
  81. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -0
  82. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -0
  83. package/src/_modules/ai/_modules/fdp-ai/index.ts +8 -0
  84. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -0
  85. package/src/_modules/ai/_modules/google-ai/index.ts +1 -0
  86. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -0
  87. package/src/_modules/ai/_modules/open-ai/index.ts +1 -0
  88. package/src/_modules/ai/index.ts +4 -0
  89. package/futdevpro-fsm-dynamo-01.15.2.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAC;AAGjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAG9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,iCAAiC,CAAC;AAChD,cAAc,iDAAiD,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ // COLLECTIONS
5
+ tslib_1.__exportStar(require("./_collections/ai-model-ref.util"), exports);
4
6
  // ENUMS
5
7
  tslib_1.__exportStar(require("./_enums/ai-provider.enum"), exports);
6
8
  tslib_1.__exportStar(require("./_enums/ai-model-type.enum"), exports);
@@ -15,4 +17,5 @@ tslib_1.__exportStar(require("./_models/ai-llm-response.interface"), exports);
15
17
  tslib_1.__exportStar(require("./_models/ai-message.interface"), exports);
16
18
  tslib_1.__exportStar(require("./_models/ai-provider-capabilities.interface"), exports);
17
19
  tslib_1.__exportStar(require("./_models/ai-settings.interface"), exports);
20
+ tslib_1.__exportStar(require("./_models/ai-user-provider-config.control-model"), exports);
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,oEAA0C;AAC1C,sEAA4C;AAC5C,wEAA8C;AAE9C,SAAS;AACT,+EAAqD;AACrD,wEAA8C;AAC9C,mFAAyD;AACzD,oFAA0D;AAC1D,6EAAmD;AACnD,8EAAoD;AACpD,yEAA+C;AAC/C,uFAA6D;AAC7D,0EAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/ai/index.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,2EAAiD;AAEjD,QAAQ;AACR,oEAA0C;AAC1C,sEAA4C;AAC5C,wEAA8C;AAE9C,SAAS;AACT,+EAAqD;AACrD,wEAA8C;AAC9C,mFAAyD;AACzD,oFAA0D;AAC1D,6EAAmD;AACnD,8EAAoD;AACpD,yEAA+C;AAC/C,uFAA6D;AAC7D,0EAAgD;AAChD,0FAAgE"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "01.15.2",
3
+ "version": "01.15.3",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "full-stack-package",
@@ -103,6 +103,12 @@
103
103
  "types": "./build/_modules/ai/_modules/local/index.d.ts",
104
104
  "typings": "./build/_modules/ai/_modules/local/index.d.ts"
105
105
  },
106
+ "./ai/fdp-ai": {
107
+ "default": "./build/_modules/ai/_modules/fdp-ai/index.js",
108
+ "module": "./build/_modules/ai/_modules/fdp-ai/index.js",
109
+ "types": "./build/_modules/ai/_modules/fdp-ai/index.d.ts",
110
+ "typings": "./build/_modules/ai/_modules/fdp-ai/index.d.ts"
111
+ },
106
112
 
107
113
  "./ci-tools": {
108
114
  "default": "./build/_modules/ci-tools/index.js",
@@ -211,7 +217,7 @@
211
217
  "uuid": "11.1.0"
212
218
  },
213
219
  "devDependencies": {
214
- "@futdevpro/dynamo-eslint": "1.15.1",
220
+ "@futdevpro/dynamo-eslint": "1.15.2",
215
221
  "@types/jasmine": "~4.3.5",
216
222
  "@typescript-eslint/eslint-plugin": "^8.41.0",
217
223
  "@typescript-eslint/parser": "^8.41.0",
@@ -46,7 +46,7 @@ describe('| DyFM_DataProperty_Params', () => {
46
46
 
47
47
  expect(consoleErrorSpy).toHaveBeenCalledWith(
48
48
  'DYNAMO ERROR: ',
49
- `\n type is missing from DynamoBEDataPropertyParams at "testKey" in ` +
49
+ `\n type is missing from DynamoNTSDataPropertyParams at "testKey" in ` +
50
50
  `"testDataName" model.` +
51
51
  `\n stackLocation: WHAT`
52
52
  );
@@ -59,7 +59,7 @@ describe('| DyFM_DataProperty_Params', () => {
59
59
 
60
60
  expect(consoleErrorSpy).toHaveBeenCalledWith(
61
61
  'DYNAMO ERROR: ',
62
- `\nMISSING DynamoBEDataPropertyParams constructor input at "testKey" in ` +
62
+ `\nMISSING DynamoNTSDataPropertyParams constructor input at "testKey" in ` +
63
63
  `"testDataName" model.` +
64
64
  `\n stackLocation: WHAT`
65
65
  );
@@ -107,7 +107,7 @@ export class DyFM_DataProperty_Params<T_Property, T_Data> extends DyFM_DataPrope
107
107
  if (!set.type && !set.forbidden) {
108
108
  DyFM_Log.error(
109
109
  'DYNAMO ERROR: ',
110
- `\n type is missing from DynamoBEDataPropertyParams at "${set.key}" in ` +
110
+ `\n type is missing from DynamoNTSDataPropertyParams at "${set.key}" in ` +
111
111
  `"${parentDataParams?.dataName}" model.` +
112
112
  `\n stackLocation: ${DyFM_getConstructionStackLocation(2)}`
113
113
  );
@@ -162,7 +162,7 @@ export class DyFM_DataProperty_Params<T_Property, T_Data> extends DyFM_DataPrope
162
162
  } else {
163
163
  DyFM_Log.error(
164
164
  'DYNAMO ERROR: ',
165
- `\nMISSING DynamoBEDataPropertyParams constructor input at "${this.key}"!` +
165
+ `\nMISSING DynamoNTSDataPropertyParams constructor input at "${this.key}"!` +
166
166
  `\n stackLocation: ${DyFM_getConstructionStackLocation(2)}`
167
167
  );
168
168
  }
@@ -0,0 +1,88 @@
1
+ import { DyFM_AI_Provider } from '../_enums/ai-provider.enum';
2
+
3
+ /**
4
+ * AI modell hivatkozas formatum: {provider}:{model}
5
+ *
6
+ * Peldak: "open-ai:gpt-4o", "anthropic:claude-3-5-sonnet-latest", "fdp-ai:fdp-base-1"
7
+ * A provider resz a DyFM_AI_Provider enum erteke, a model resz a provider sajat modell azonositoja.
8
+ */
9
+ export class DyFM_AI_ModelRef_Util {
10
+ /** az elvlaszto karakter a provider es modell kozott */
11
+ private static readonly separator: string = ':';
12
+
13
+ /** az osszes ervenyes provider ertek gyorstarhely */
14
+ private static readonly validProviders: Set<string> = new Set(
15
+ Object.values(DyFM_AI_Provider)
16
+ );
17
+
18
+ /**
19
+ * Osszeallitas provider + model -bol
20
+ * @param provider - AI provider enum ertek
21
+ * @param model - provider-specifikus modell azonosito
22
+ */
23
+ static create(provider: DyFM_AI_Provider, model: string): string {
24
+ return `${provider}${DyFM_AI_ModelRef_Util.separator}${model}`;
25
+ }
26
+
27
+ /**
28
+ * Szetbontas provider + model -re
29
+ * @param modelRef - formatum: {provider}:{model}
30
+ */
31
+ static parse(modelRef: string): { provider: DyFM_AI_Provider; model: string } {
32
+ const separatorIndex: number = modelRef.indexOf(DyFM_AI_ModelRef_Util.separator);
33
+
34
+ if (separatorIndex < 0) {
35
+ throw new Error(`Ervenytelen modelRef formatum: "${modelRef}" -- hianyzik a "${DyFM_AI_ModelRef_Util.separator}" elvlaszto`);
36
+ }
37
+
38
+ const provider: string = modelRef.substring(0, separatorIndex);
39
+ const model: string = modelRef.substring(separatorIndex + 1);
40
+
41
+ if (!DyFM_AI_ModelRef_Util.validProviders.has(provider)) {
42
+ throw new Error(`Ismeretlen AI provider: "${provider}" a modelRef-ben: "${modelRef}"`);
43
+ }
44
+
45
+ if (!model) {
46
+ throw new Error(`Ures modell azonosito a modelRef-ben: "${modelRef}"`);
47
+ }
48
+
49
+ return { provider: provider as DyFM_AI_Provider, model: model };
50
+ }
51
+
52
+ /**
53
+ * Provider kinyerese a modelRef-bol
54
+ * @param modelRef - formatum: {provider}:{model}
55
+ */
56
+ static getProvider(modelRef: string): DyFM_AI_Provider {
57
+ return DyFM_AI_ModelRef_Util.parse(modelRef).provider;
58
+ }
59
+
60
+ /**
61
+ * Model kinyerese a modelRef-bol
62
+ * @param modelRef - formatum: {provider}:{model}
63
+ */
64
+ static getModel(modelRef: string): string {
65
+ return DyFM_AI_ModelRef_Util.parse(modelRef).model;
66
+ }
67
+
68
+ /**
69
+ * Validalas -- ellenorzi, hogy a modelRef megfelel-e a {provider}:{model} formatumnak
70
+ * @param modelRef - a vizsgalando string
71
+ */
72
+ static isValid(modelRef: string): boolean {
73
+ if (!modelRef) {
74
+ return false;
75
+ }
76
+
77
+ const separatorIndex: number = modelRef.indexOf(DyFM_AI_ModelRef_Util.separator);
78
+
79
+ if (separatorIndex < 0) {
80
+ return false;
81
+ }
82
+
83
+ const provider: string = modelRef.substring(0, separatorIndex);
84
+ const model: string = modelRef.substring(separatorIndex + 1);
85
+
86
+ return DyFM_AI_ModelRef_Util.validProviders.has(provider) && !!model;
87
+ }
88
+ }
@@ -3,5 +3,5 @@ export enum DyFM_AI_Provider {
3
3
  Anthropic = 'anthropic',
4
4
  Google = 'google',
5
5
  LocalAI = 'local-ai',
6
- // Future providers can be added here
6
+ FdpAI = 'fdp-ai',
7
7
  }
@@ -0,0 +1,29 @@
1
+ import { DyFM_AI_Provider } from '../_enums/ai-provider.enum';
2
+
3
+ /**
4
+ * User szintu AI provider konfiguracio base class
5
+ *
6
+ * Tartalmazz a provider API kulcs titkositott valtozatat, annak suffix-et a megjeleníteshez,
7
+ * es az alap beallitasokat. Provider-specifikus leszarmazottak bovitik sajat mezoikkel.
8
+ */
9
+ export class DyFM_AI_UserProviderConfig {
10
+ provider?: DyFM_AI_Provider;
11
+ /** titkositott API kulcs (csak szerver oldalon tarolva, kliensre sosem kerul) */
12
+ encryptedApiKey?: string;
13
+ /** az API kulcs utolso ~4 karaktere megjeleníteshez (pl. "...xR7q") */
14
+ keySuffix?: string;
15
+ isActive?: boolean;
16
+ label?: string;
17
+ lastTestedAt?: Date;
18
+ lastUsedAt?: Date;
19
+ /** a user altal kivalasztott modellek (providerrol lekerdezett listabol) */
20
+ selectedModels?: string[];
21
+
22
+ constructor(
23
+ set?: DyFM_AI_UserProviderConfig
24
+ ) {
25
+ if (set) {
26
+ Object.assign(this, set);
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,20 @@
1
+ import { DyFM_AI_UserProviderConfig } from '../../../_models/ai-user-provider-config.control-model';
2
+ import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
3
+
4
+ /**
5
+ * Anthropic-specifikus user provider konfiguracio
6
+ */
7
+ export class DyFM_AAI_UserProviderConfig extends DyFM_AI_UserProviderConfig {
8
+ override provider?: DyFM_AI_Provider = DyFM_AI_Provider.Anthropic;
9
+ baseURL?: string;
10
+
11
+ constructor(
12
+ set?: DyFM_AAI_UserProviderConfig
13
+ ) {
14
+ super(set);
15
+
16
+ if (set) {
17
+ Object.assign(this, set);
18
+ }
19
+ }
20
+ }
@@ -5,6 +5,7 @@ export * from './_enums/aai-model.enum';
5
5
  export * from './_models/aai-client-options.interface';
6
6
  export * from './_models/aai-call-settings.control-model';
7
7
  export * from './_models/aai-settings.control-model';
8
+ export * from './_models/aai-user-provider-config.control-model';
8
9
 
9
10
 
10
11
 
@@ -0,0 +1,6 @@
1
+ /**
2
+ * FDP-AI rendszeren elerheto modellek
3
+ */
4
+ export enum DyFM_FdpAI_Model {
5
+ fdpBase1 = 'fdp-base-1',
6
+ }
@@ -0,0 +1,19 @@
1
+ import { DyFM_AI_CallSettings } from '../../../_models/ai-call-settings.interface';
2
+ import { DyFM_FdpAI_Model } from '../_enums/fdpai-model.enum';
3
+
4
+ /**
5
+ * FDP-AI implementacioja a generikus AI Call Settings-nek
6
+ */
7
+ export class DyFM_FdpAI_CallSettings extends DyFM_AI_CallSettings {
8
+ override useModel?: DyFM_FdpAI_Model | string = DyFM_FdpAI_Model.fdpBase1;
9
+
10
+ constructor(
11
+ set?: DyFM_FdpAI_CallSettings
12
+ ) {
13
+ super(set);
14
+
15
+ if (set) {
16
+ Object.assign(this, set);
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * FDP-AI provider kliens konfiguracio
3
+ */
4
+ export interface DyFM_FdpAI_ClientOptions {
5
+ /** FDP-AI API kulcs */
6
+ apiKey?: string;
7
+ /** FDP-AI szerver base URL */
8
+ baseURL?: string;
9
+ /** Timeout milliszekundumban */
10
+ timeout?: number;
11
+ }
@@ -0,0 +1,24 @@
1
+ import { DyFM_AI_Settings } from '../../../_models/ai-settings.interface';
2
+ import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
3
+ import { DyFM_FdpAI_ClientOptions } from './fdpai-client-options.interface';
4
+ import { DyFM_FdpAI_CallSettings } from './fdpai-call-settings.control-model';
5
+
6
+ /**
7
+ * FDP-AI implementacioja a generikus AI Settings-nek
8
+ */
9
+ export class DyFM_FdpAI_Settings extends DyFM_AI_Settings {
10
+
11
+ override provider?: DyFM_AI_Provider = DyFM_AI_Provider.FdpAI;
12
+ override defaultSettings?: DyFM_FdpAI_CallSettings = new DyFM_FdpAI_CallSettings();
13
+ override config?: DyFM_FdpAI_ClientOptions = {};
14
+
15
+ constructor(
16
+ set?: DyFM_FdpAI_Settings
17
+ ) {
18
+ super(set);
19
+
20
+ if (set) {
21
+ Object.assign(this, set);
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,20 @@
1
+ import { DyFM_AI_UserProviderConfig } from '../../../_models/ai-user-provider-config.control-model';
2
+ import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
3
+
4
+ /**
5
+ * FDP-AI-specifikus user provider konfiguracio
6
+ */
7
+ export class DyFM_FdpAI_UserProviderConfig extends DyFM_AI_UserProviderConfig {
8
+ override provider?: DyFM_AI_Provider = DyFM_AI_Provider.FdpAI;
9
+ baseURL?: string;
10
+
11
+ constructor(
12
+ set?: DyFM_FdpAI_UserProviderConfig
13
+ ) {
14
+ super(set);
15
+
16
+ if (set) {
17
+ Object.assign(this, set);
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,8 @@
1
+ // ENUMS
2
+ export * from './_enums/fdpai-model.enum';
3
+
4
+ // MODELS
5
+ export * from './_models/fdpai-client-options.interface';
6
+ export * from './_models/fdpai-call-settings.control-model';
7
+ export * from './_models/fdpai-settings.control-model';
8
+ export * from './_models/fdpai-user-provider-config.control-model';
@@ -0,0 +1,20 @@
1
+ import { DyFM_AI_UserProviderConfig } from '../../../_models/ai-user-provider-config.control-model';
2
+ import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
3
+
4
+ /**
5
+ * Google AI-specifikus user provider konfiguracio
6
+ */
7
+ export class DyFM_GAI_UserProviderConfig extends DyFM_AI_UserProviderConfig {
8
+ override provider?: DyFM_AI_Provider = DyFM_AI_Provider.Google;
9
+ project?: string;
10
+
11
+ constructor(
12
+ set?: DyFM_GAI_UserProviderConfig
13
+ ) {
14
+ super(set);
15
+
16
+ if (set) {
17
+ Object.assign(this, set);
18
+ }
19
+ }
20
+ }
@@ -5,6 +5,7 @@ export * from './_enums/gai-model.enum';
5
5
  export * from './_models/gai-client-options.interface';
6
6
  export * from './_models/gai-call-settings.control-model';
7
7
  export * from './_models/gai-settings.control-model';
8
+ export * from './_models/gai-user-provider-config.control-model';
8
9
 
9
10
 
10
11
 
@@ -0,0 +1,21 @@
1
+ import { DyFM_AI_UserProviderConfig } from '../../../_models/ai-user-provider-config.control-model';
2
+ import { DyFM_AI_Provider } from '../../../_enums/ai-provider.enum';
3
+
4
+ /**
5
+ * OpenAI-specifikus user provider konfiguracio
6
+ */
7
+ export class DyFM_OAI_UserProviderConfig extends DyFM_AI_UserProviderConfig {
8
+ override provider?: DyFM_AI_Provider = DyFM_AI_Provider.OpenAI;
9
+ organization?: string;
10
+ project?: string;
11
+
12
+ constructor(
13
+ set?: DyFM_OAI_UserProviderConfig
14
+ ) {
15
+ super(set);
16
+
17
+ if (set) {
18
+ Object.assign(this, set);
19
+ }
20
+ }
21
+ }
@@ -21,6 +21,7 @@ export * from './_models/oai-call-settings.control-model';
21
21
  export * from './_models/oai-client-options.interface';
22
22
  export * from './_models/oai-embedding-info.interface';
23
23
  export * from './_models/oai-settings.control-model';
24
+ export * from './_models/oai-user-provider-config.control-model';
24
25
 
25
26
 
26
27
 
@@ -1,3 +1,6 @@
1
+ // COLLECTIONS
2
+ export * from './_collections/ai-model-ref.util';
3
+
1
4
  // ENUMS
2
5
  export * from './_enums/ai-provider.enum';
3
6
  export * from './_enums/ai-model-type.enum';
@@ -13,3 +16,4 @@ export * from './_models/ai-llm-response.interface';
13
16
  export * from './_models/ai-message.interface';
14
17
  export * from './_models/ai-provider-capabilities.interface';
15
18
  export * from './_models/ai-settings.interface';
19
+ export * from './_models/ai-user-provider-config.control-model';
Binary file