@breadstone-tools/localizator-ai 0.0.81 → 0.0.82
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 +22 -0
- package/Generator/Interfaces/IResourceGeneratorOptions.d.ts +6 -1
- package/Generator/Interfaces/IResourceGeneratorOptions.d.ts.map +1 -1
- package/Generator/ResourceGenerator.d.ts +6 -0
- package/Generator/ResourceGenerator.d.ts.map +1 -1
- package/Generator/ResourceGenerator.js +19 -1
- package/Generator/ResourceGenerator.js.map +1 -1
- package/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.d.ts +20 -5
- package/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.d.ts.map +1 -1
- package/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.js +33 -15
- package/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.js.map +1 -1
- package/Generator/Strategies/ChatGptResourceGeneratorStrategy.d.ts +3 -2
- package/Generator/Strategies/ChatGptResourceGeneratorStrategy.d.ts.map +1 -1
- package/Generator/Strategies/ChatGptResourceGeneratorStrategy.js +11 -5
- package/Generator/Strategies/ChatGptResourceGeneratorStrategy.js.map +1 -1
- package/Generator/Strategies/GeminiResourceGeneratorStrategy.d.ts +4 -2
- package/Generator/Strategies/GeminiResourceGeneratorStrategy.d.ts.map +1 -1
- package/Generator/Strategies/GeminiResourceGeneratorStrategy.js +31 -26
- package/Generator/Strategies/GeminiResourceGeneratorStrategy.js.map +1 -1
- package/Generator/Strategies/Interfaces/IResourceGeneratorStrategyConfig.d.ts +2 -2
- package/Generator/Strategies/Interfaces/IResourceGeneratorStrategyConfig.d.ts.map +1 -1
- package/README.md +2 -2
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## 0.0.81 (2025-07-30)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- update release version to 0.0.80 in package.json ([96a94fca93](https://github.com/RueDeRennes/mosaik/commit/96a94fca93))
|
|
6
|
+
|
|
7
|
+
## 0.0.80 (2025-07-30)
|
|
8
|
+
|
|
9
|
+
This was a version bump only for localizator-ai to align it with other projects, there were no code changes.
|
|
10
|
+
|
|
11
|
+
## 0.0.79 (2025-07-30)
|
|
12
|
+
|
|
13
|
+
### 🚀 Features
|
|
14
|
+
|
|
15
|
+
- Implement SandboxProjectFactory and SandboxProjectTemplateEngine ([3300298aec](https://github.com/RueDeRennes/mosaik/commit/3300298aec))
|
|
16
|
+
- add YAML code generation and update chat mode configuration ([9fe1bb330c](https://github.com/RueDeRennes/mosaik/commit/9fe1bb330c))
|
|
17
|
+
- Enhance Landing and App View Components ([459cb772ed](https://github.com/RueDeRennes/mosaik/commit/459cb772ed))
|
|
18
|
+
|
|
19
|
+
### 🩹 Fixes
|
|
20
|
+
|
|
21
|
+
- correct spelling of 'initialize' in various files and update related interfaces ([3c70f28918](https://github.com/RueDeRennes/mosaik/commit/3c70f28918))
|
|
22
|
+
|
|
1
23
|
## 0.0.78 (2025-07-20)
|
|
2
24
|
|
|
3
25
|
### 🚀 Features
|
|
@@ -14,8 +14,13 @@ export interface IResourceGeneratorOptions {
|
|
|
14
14
|
*/
|
|
15
15
|
config: IResourceGeneratorStrategyConfig;
|
|
16
16
|
/**
|
|
17
|
-
* The chunk size for the generator.
|
|
17
|
+
* The chunk size for the generator.
|
|
18
|
+
* It will be used to split the resources into smaller chunks.
|
|
18
19
|
*/
|
|
19
20
|
chunkSize: number;
|
|
21
|
+
/**
|
|
22
|
+
* The maximum number of resources to generate.
|
|
23
|
+
*/
|
|
24
|
+
limit: number | null;
|
|
20
25
|
}
|
|
21
26
|
//# sourceMappingURL=IResourceGeneratorOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IResourceGeneratorOptions.d.ts","sourceRoot":"","sources":["../../../src/Generator/Interfaces/IResourceGeneratorOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8DAA8D,CAAC;AAIrH;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IAItC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,gCAAgC,CAAC;IAEzC;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"IResourceGeneratorOptions.d.ts","sourceRoot":"","sources":["../../../src/Generator/Interfaces/IResourceGeneratorOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8DAA8D,CAAC;AAIrH;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IAItC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,gCAAgC,CAAC;IAEzC;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAIxB"}
|
|
@@ -63,5 +63,11 @@ export declare class ResourceGenerator {
|
|
|
63
63
|
* @returns The target file path.
|
|
64
64
|
*/
|
|
65
65
|
private getTargetFilePath;
|
|
66
|
+
/**
|
|
67
|
+
* Creates a local dump of the ai resource.
|
|
68
|
+
* Is is used for analysis purposes.
|
|
69
|
+
* It could be that the serialization is not correct, so we can check the output.
|
|
70
|
+
*/
|
|
71
|
+
private dumpResult;
|
|
66
72
|
}
|
|
67
73
|
//# sourceMappingURL=ResourceGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceGenerator.d.ts","sourceRoot":"","sources":["../../src/Generator/ResourceGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"ResourceGenerator.d.ts","sourceRoot":"","sources":["../../src/Generator/ResourceGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoF,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,sCAAsC,CAAC;AACxK,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAI3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAkB,MAAM,oCAAoC,CAAC;AAI7H;;;;GAIG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IAMtE;;;;;;;;OAQG;gBACgB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,yBAAyB;IAezJ;;;;;;;;;OASG;IACU,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IA+BhJ;;;;;;;;;OASG;YACW,eAAe;IA2D7B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA0BnB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CASrB"}
|
|
@@ -57,9 +57,11 @@ class ResourceGenerator {
|
|
|
57
57
|
const generatorStrategy = this.getStrategy(strategy);
|
|
58
58
|
const results = new Array();
|
|
59
59
|
if (locales.length === 0) {
|
|
60
|
-
this._logger.warn((0, utilities_1.t) ` ${(0, utilities_1.
|
|
60
|
+
this._logger.warn((0, utilities_1.t) ` ${(0, utilities_1.gray)('No locales specified, skipping...')}`);
|
|
61
61
|
}
|
|
62
62
|
for (const locale of locales) {
|
|
63
|
+
this._logger.log(` Generating resource for locales ${(0, utilities_1.bold)(locales.join(', '))}`);
|
|
64
|
+
this._logger.log(` Using strategy ${(0, utilities_1.bold)(strategy)}`);
|
|
63
65
|
// eslint-disable-next-line no-await-in-loop
|
|
64
66
|
const result = await this.processResource(generatorStrategy, resource, locale, onlyNew);
|
|
65
67
|
if (!this._options.dryRun) {
|
|
@@ -89,6 +91,10 @@ class ResourceGenerator {
|
|
|
89
91
|
async processResource(strategy, resource, locale, onlyNew) {
|
|
90
92
|
let models = this._transformer.transform(resource);
|
|
91
93
|
let targetModels = new Array();
|
|
94
|
+
if (this._options.limit && models.length > this._options.limit) {
|
|
95
|
+
models = utilities_1.ArrayExtensions.limit(models, this._options.limit);
|
|
96
|
+
this._logger.log((0, utilities_1.yellow)(` ${(0, utilities_1.bold)(models.length.toString())} (limited) models will be processed.`));
|
|
97
|
+
}
|
|
92
98
|
const chunks = utilities_1.ArrayExtensions.chunk(models, this._options.chunkSize);
|
|
93
99
|
const targetFilePath = this.getTargetFilePath(resource, locale);
|
|
94
100
|
this._logger.log(` Transcribing from ${(0, utilities_1.bold)(resource.locale)} to ${(0, utilities_1.bold)(locale)}`);
|
|
@@ -119,6 +125,8 @@ class ResourceGenerator {
|
|
|
119
125
|
targetModels.push(...x);
|
|
120
126
|
}
|
|
121
127
|
process.stdout.write('\n');
|
|
128
|
+
this._logger.log(` ${(0, utilities_1.bold)(targetModels.length.toString())} models processed.`);
|
|
129
|
+
this.dumpResult(targetModels);
|
|
122
130
|
const meta = {
|
|
123
131
|
name: this._fileSystem.pathGetFileName(targetFilePath),
|
|
124
132
|
path: targetFilePath,
|
|
@@ -170,6 +178,16 @@ class ResourceGenerator {
|
|
|
170
178
|
const targetPath = utilities_1.Path.combine(info.directoryPath, targetName);
|
|
171
179
|
return targetPath;
|
|
172
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Creates a local dump of the ai resource.
|
|
183
|
+
* Is is used for analysis purposes.
|
|
184
|
+
* It could be that the serialization is not correct, so we can check the output.
|
|
185
|
+
*/
|
|
186
|
+
dumpResult(models) {
|
|
187
|
+
const tempFile = new utilities_1.TemporaryFile();
|
|
188
|
+
this._logger.log(` ${(0, utilities_1.bold)('Dumping models to')} ${(0, utilities_1.dim)(tempFile.path)}`);
|
|
189
|
+
this._fileSystem.fileWriteAllJson(tempFile.path, models);
|
|
190
|
+
}
|
|
173
191
|
}
|
|
174
192
|
exports.ResourceGenerator = ResourceGenerator;
|
|
175
193
|
//# sourceMappingURL=ResourceGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceGenerator.js","sourceRoot":"","sources":["../../src/Generator/ResourceGenerator.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAElB,
|
|
1
|
+
{"version":3,"file":"ResourceGenerator.js","sourceRoot":"","sources":["../../src/Generator/ResourceGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,11 +26,6 @@ export declare abstract class BaseResourceGeneratorStrategy extends EventEmitter
|
|
|
26
26
|
* @readonly
|
|
27
27
|
*/
|
|
28
28
|
get config(): IResourceGeneratorStrategyConfig;
|
|
29
|
-
abstract processResource(prompt: {
|
|
30
|
-
system: string;
|
|
31
|
-
assistant: string;
|
|
32
|
-
content: string;
|
|
33
|
-
}): Promise<string>;
|
|
34
29
|
/**
|
|
35
30
|
* Transcribes a resource to the specified locale.
|
|
36
31
|
*
|
|
@@ -44,6 +39,26 @@ export declare abstract class BaseResourceGeneratorStrategy extends EventEmitter
|
|
|
44
39
|
resource: IResourceInfo;
|
|
45
40
|
models: Array<IResourceModel>;
|
|
46
41
|
}, locale: string): Promise<Array<IResourceModel>>;
|
|
42
|
+
/**
|
|
43
|
+
* Processes a resource using the specified strategy.
|
|
44
|
+
*
|
|
45
|
+
* @protected
|
|
46
|
+
* @abstract
|
|
47
|
+
* @param prompt - The prompt to process.
|
|
48
|
+
* @returns The processed resource.
|
|
49
|
+
*/
|
|
50
|
+
protected abstract processResource(prompt: {
|
|
51
|
+
system: string;
|
|
52
|
+
assistant: string;
|
|
53
|
+
content: string;
|
|
54
|
+
}): Promise<string>;
|
|
55
|
+
/**
|
|
56
|
+
* Mangles a JSON string to remove all formatting.
|
|
57
|
+
*
|
|
58
|
+
* @private
|
|
59
|
+
* @param jsonString - The JSON string to mangle.
|
|
60
|
+
* @returns The mangled JSON string.
|
|
61
|
+
*/
|
|
47
62
|
private mangleJsonString;
|
|
48
63
|
}
|
|
49
64
|
//# sourceMappingURL=BaseResourceGeneratorStrategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseResourceGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../../src/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseResourceGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../../src/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AAClI,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACxF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAIxE;;;;GAIG;AACH,8BAAsB,6BAClB,SAAQ,YAAY,CAAC,kCAAkC,CAAE,YAAW,0BAA0B;IAI9F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAM3D;;;;;;OAMG;IACH,SAAS,aAAa,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,gCAAgC;IAWvF;;;;;OAKG;IACH,IAAW,MAAM,IAAI,gCAAgC,CAEpD;IAMD;;;;;;;;OAQG;IACU,UAAU,CAAC,IAAI,EAAE;QAC1B,QAAQ,EAAE,aAAa,CAAC;QACxB,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;KACjC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAiClD;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;CAW3B"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable @stylistic/indent-binary-ops */
|
|
3
|
-
/* eslint-disable @stylistic/quotes */
|
|
4
2
|
// #region Imports
|
|
5
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
4
|
exports.BaseResourceGeneratorStrategy = void 0;
|
|
@@ -40,6 +38,8 @@ class BaseResourceGeneratorStrategy extends events_1.EventEmitter {
|
|
|
40
38
|
get config() {
|
|
41
39
|
return this._config;
|
|
42
40
|
}
|
|
41
|
+
// #endregion
|
|
42
|
+
// #region Methods
|
|
43
43
|
/**
|
|
44
44
|
* Transcribes a resource to the specified locale.
|
|
45
45
|
*
|
|
@@ -50,29 +50,47 @@ class BaseResourceGeneratorStrategy extends events_1.EventEmitter {
|
|
|
50
50
|
* @returns The transcribed resource.
|
|
51
51
|
*/
|
|
52
52
|
async transcribe(data, locale) {
|
|
53
|
-
const systemPrompt =
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
53
|
+
const systemPrompt = `
|
|
54
|
+
Translate a locale ${data.resource.type} content from ${data.resource.locale} to ${locale}.
|
|
55
|
+
It's a key-value structure.
|
|
56
|
+
Do not translate the keys.
|
|
57
|
+
Consider the context of the value to make better translation.
|
|
58
|
+
Do not extends the key-value structure with additional keys.
|
|
59
|
+
The resulting translation must be json serializable.
|
|
60
|
+
`.trim();
|
|
61
|
+
const assistantPrompt = `
|
|
62
|
+
Translate from ${data.resource.locale} to ${locale}.
|
|
63
|
+
Return the translation in the same format.
|
|
64
|
+
`.trim();
|
|
60
65
|
this.emit('start');
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
let content = '';
|
|
67
|
+
try {
|
|
68
|
+
content = await this.processResource({
|
|
69
|
+
system: systemPrompt,
|
|
70
|
+
assistant: assistantPrompt,
|
|
71
|
+
content: JSON.stringify(data.models)
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
throw new Error(`[BaseResourceGeneratorStrategy]: !!!!!IM HERE!!!!! ${error.message}`);
|
|
76
|
+
}
|
|
66
77
|
this.emit('end');
|
|
67
78
|
return JSON.parse(content);
|
|
68
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Mangles a JSON string to remove all formatting.
|
|
82
|
+
*
|
|
83
|
+
* @private
|
|
84
|
+
* @param jsonString - The JSON string to mangle.
|
|
85
|
+
* @returns The mangled JSON string.
|
|
86
|
+
*/
|
|
69
87
|
mangleJsonString(jsonString) {
|
|
70
88
|
try {
|
|
71
89
|
// Parse and re-stringify the JSON to remove all formatting
|
|
72
90
|
return JSON.stringify(JSON.parse(jsonString));
|
|
73
91
|
}
|
|
74
92
|
catch (error) {
|
|
75
|
-
throw new Error(`
|
|
93
|
+
throw new Error(`[BaseResourceGeneratorStrategy]: ${error.message}`);
|
|
76
94
|
}
|
|
77
95
|
}
|
|
78
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseResourceGeneratorStrategy.js","sourceRoot":"","sources":["../../../../src/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"BaseResourceGeneratorStrategy.js","sourceRoot":"","sources":["../../../../src/Generator/Strategies/Abstracts/BaseResourceGeneratorStrategy.ts"],"names":[],"mappings":";AACA,kBAAkB;;;AAElB,mCAAsC;AAMtC,aAAa;AAEb;;;;GAIG;AACH,MAAsB,6BAClB,SAAQ,qBAAgD;IAExD,iBAAiB;IAEA,WAAW,CAAc;IACzB,OAAO,CAAmC;IAE3D,aAAa;IAEb,sBAAsB;IAEtB;;;;;;OAMG;IACH,YAAsB,UAAuB,EAAE,MAAwC;QACnF,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,aAAa;IAEb,qBAAqB;IAErB;;;;;OAKG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;;;OAQG;IACI,KAAK,CAAC,UAAU,CAAC,IAGvB,EAAE,MAAc;QACb,MAAM,YAAY,GAAG;iCACI,IAAI,CAAC,QAAQ,CAAC,IAAI,iBAAiB,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,MAAM;;;;;;SAM5F,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,eAAe,GAAG;6BACH,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,MAAM;;SAErD,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC;YACD,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;gBACjC,MAAM,EAAE,YAAY;gBACpB,SAAS,EAAE,eAAe;gBAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aACvC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAgBD;;;;;;OAMG;IACK,gBAAgB,CAAC,UAAkB;QACvC,IAAI,CAAC;YACD,2DAA2D;YAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;CAIJ;AAzHD,sEAyHC"}
|
|
@@ -7,6 +7,7 @@ import { BaseResourceGeneratorStrategy } from './Abstracts/BaseResourceGenerator
|
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
9
|
export declare class ChatGptResourceGeneratorStrategy extends BaseResourceGeneratorStrategy {
|
|
10
|
+
private readonly _ai;
|
|
10
11
|
/**
|
|
11
12
|
* Constructs a new instance of the `ChatGptResourceGeneratorStrategy` class.
|
|
12
13
|
*
|
|
@@ -17,12 +18,12 @@ export declare class ChatGptResourceGeneratorStrategy extends BaseResourceGenera
|
|
|
17
18
|
/**
|
|
18
19
|
* Translates a resource to the specified locale.
|
|
19
20
|
*
|
|
20
|
-
* @
|
|
21
|
+
* @protected
|
|
21
22
|
* @override
|
|
22
23
|
* @param prompt - The prompt to translate.
|
|
23
24
|
* @returns The translated resource
|
|
24
25
|
*/
|
|
25
|
-
processResource(prompt: {
|
|
26
|
+
protected processResource(prompt: {
|
|
26
27
|
system: string;
|
|
27
28
|
assistant: string;
|
|
28
29
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatGptResourceGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Generator/Strategies/ChatGptResourceGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACzG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAI7F;;;;GAIG;AACH,qBAAa,gCAAiC,SAAQ,6BAA6B;IAI/E;;;;;OAKG;gBACgB,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC;
|
|
1
|
+
{"version":3,"file":"ChatGptResourceGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Generator/Strategies/ChatGptResourceGeneratorStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACzG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAI7F;;;;GAIG;AACH,qBAAa,gCAAiC,SAAQ,6BAA6B;IAI/E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAM7B;;;;;OAKG;gBACgB,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC;IAUrF;;;;;;;OAOG;cACsB,eAAe,CAAC,MAAM,EAAE;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;CAkBtB"}
|
|
@@ -14,6 +14,9 @@ const BaseResourceGeneratorStrategy_js_1 = require("./Abstracts/BaseResourceGene
|
|
|
14
14
|
* @public
|
|
15
15
|
*/
|
|
16
16
|
class ChatGptResourceGeneratorStrategy extends BaseResourceGeneratorStrategy_js_1.BaseResourceGeneratorStrategy {
|
|
17
|
+
// #region Fields
|
|
18
|
+
_ai;
|
|
19
|
+
// #endregion
|
|
17
20
|
// #region Ctor
|
|
18
21
|
/**
|
|
19
22
|
* Constructs a new instance of the `ChatGptResourceGeneratorStrategy` class.
|
|
@@ -23,30 +26,33 @@ class ChatGptResourceGeneratorStrategy extends BaseResourceGeneratorStrategy_js_
|
|
|
23
26
|
*/
|
|
24
27
|
constructor(fileSystem, options) {
|
|
25
28
|
super(fileSystem, options);
|
|
29
|
+
this._ai = new openai_1.default({ apiKey: this.config.apiKey });
|
|
26
30
|
}
|
|
27
31
|
// #endregion
|
|
28
32
|
// #region Methods
|
|
29
33
|
/**
|
|
30
34
|
* Translates a resource to the specified locale.
|
|
31
35
|
*
|
|
32
|
-
* @
|
|
36
|
+
* @protected
|
|
33
37
|
* @override
|
|
34
38
|
* @param prompt - The prompt to translate.
|
|
35
39
|
* @returns The translated resource
|
|
36
40
|
*/
|
|
37
41
|
async processResource(prompt) {
|
|
38
|
-
const openai = new openai_1.default({ apiKey: this.config.apiKey });
|
|
39
42
|
try {
|
|
40
|
-
const response = await
|
|
43
|
+
const response = await this._ai.completions.create({
|
|
41
44
|
model: this.config.model,
|
|
42
|
-
prompt:
|
|
45
|
+
prompt: `
|
|
46
|
+
${prompt.system} ${prompt.assistant} ${prompt.content}
|
|
47
|
+
${Array.isArray(this.config.instructions) ? this.config.instructions.join('\n') : this.config.instructions}
|
|
48
|
+
`.trim(),
|
|
43
49
|
temperature: this.config.temperature,
|
|
44
50
|
stream: false
|
|
45
51
|
});
|
|
46
52
|
return response.choices[0].text;
|
|
47
53
|
}
|
|
48
54
|
catch (error) {
|
|
49
|
-
throw new Error(`
|
|
55
|
+
throw new Error(`[ChatGptResourceGeneratorStrategy]: ${error.message}`);
|
|
50
56
|
}
|
|
51
57
|
}
|
|
52
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatGptResourceGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Generator/Strategies/ChatGptResourceGeneratorStrategy.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;AAElB,oDAA4B;AAG5B,mGAA6F;AAE7F,aAAa;AAEb;;;;GAIG;AACH,MAAa,gCAAiC,SAAQ,gEAA6B;IAE/E,eAAe;IAEf;;;;;OAKG;IACH,YAAmB,UAAuB,EAAE,OAAyC;QACjF,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatGptResourceGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Generator/Strategies/ChatGptResourceGeneratorStrategy.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;AAElB,oDAA4B;AAG5B,mGAA6F;AAE7F,aAAa;AAEb;;;;GAIG;AACH,MAAa,gCAAiC,SAAQ,gEAA6B;IAE/E,iBAAiB;IAEA,GAAG,CAAS;IAE7B,aAAa;IAEb,eAAe;IAEf;;;;;OAKG;IACH,YAAmB,UAAuB,EAAE,OAAyC;QACjF,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE3B,IAAI,CAAC,GAAG,GAAG,IAAI,gBAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;;OAOG;IACgB,KAAK,CAAC,eAAe,CAAC,MAIxC;QACG,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC/C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,MAAM,EAAE;sBACF,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO;sBACnD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;iBAC7G,CAAC,IAAI,EAAE;gBACR,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;CAGJ;AAxDD,4EAwDC"}
|
|
@@ -7,6 +7,8 @@ import type { IFileSystem } from '@breadstone-infrastructure/utilities';
|
|
|
7
7
|
* @public
|
|
8
8
|
*/
|
|
9
9
|
export declare class GeminiResourceGeneratorStrategy extends BaseResourceGeneratorStrategy {
|
|
10
|
+
private readonly _ai;
|
|
11
|
+
private readonly _model;
|
|
10
12
|
/**
|
|
11
13
|
* Constructs a new instance of the `GeminiResourceGeneratorStrategy` class.
|
|
12
14
|
*
|
|
@@ -17,12 +19,12 @@ export declare class GeminiResourceGeneratorStrategy extends BaseResourceGenerat
|
|
|
17
19
|
/**
|
|
18
20
|
* Translates a resource to the specified locale.
|
|
19
21
|
*
|
|
20
|
-
* @
|
|
22
|
+
* @protected
|
|
21
23
|
* @override
|
|
22
24
|
* @param prompt - The prompt to translate.
|
|
23
25
|
* @returns The translated resource
|
|
24
26
|
*/
|
|
25
|
-
processResource(prompt: {
|
|
27
|
+
protected processResource(prompt: {
|
|
26
28
|
system: string;
|
|
27
29
|
assistant: string;
|
|
28
30
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiResourceGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Generator/Strategies/GeminiResourceGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AAEzG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAIxE;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,6BAA6B;IAI9E;;;;;OAKG;gBACgB,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC;
|
|
1
|
+
{"version":3,"file":"GeminiResourceGeneratorStrategy.d.ts","sourceRoot":"","sources":["../../../src/Generator/Strategies/GeminiResourceGeneratorStrategy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AAEzG,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAIxE;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,6BAA6B;IAI9E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAMzC;;;;;OAKG;gBACgB,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,gCAAgC;IAsCrF;;;;;;;OAOG;cACsB,eAAe,CAAC,MAAM,EAAE;QAC7C,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;CA4BtB"}
|
|
@@ -11,6 +11,10 @@ const BaseResourceGeneratorStrategy_js_1 = require("./Abstracts/BaseResourceGene
|
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
13
13
|
class GeminiResourceGeneratorStrategy extends BaseResourceGeneratorStrategy_js_1.BaseResourceGeneratorStrategy {
|
|
14
|
+
// #region Fields
|
|
15
|
+
_ai;
|
|
16
|
+
_model;
|
|
17
|
+
// #endregion
|
|
14
18
|
// #region Constructor
|
|
15
19
|
/**
|
|
16
20
|
* Constructs a new instance of the `GeminiResourceGeneratorStrategy` class.
|
|
@@ -20,20 +24,8 @@ class GeminiResourceGeneratorStrategy extends BaseResourceGeneratorStrategy_js_1
|
|
|
20
24
|
*/
|
|
21
25
|
constructor(fileSystem, options) {
|
|
22
26
|
super(fileSystem, options);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// #region Methods
|
|
26
|
-
/**
|
|
27
|
-
* Translates a resource to the specified locale.
|
|
28
|
-
*
|
|
29
|
-
* @public
|
|
30
|
-
* @override
|
|
31
|
-
* @param prompt - The prompt to translate.
|
|
32
|
-
* @returns The translated resource
|
|
33
|
-
*/
|
|
34
|
-
async processResource(prompt) {
|
|
35
|
-
const generativeAI = new generative_ai_1.GoogleGenerativeAI(this.config.apiKey);
|
|
36
|
-
const model = generativeAI.getGenerativeModel({
|
|
27
|
+
this._ai = new generative_ai_1.GoogleGenerativeAI(this.config.apiKey);
|
|
28
|
+
this._model = this._ai.getGenerativeModel({
|
|
37
29
|
model: this.config.model,
|
|
38
30
|
generationConfig: {
|
|
39
31
|
temperature: this.config.temperature,
|
|
@@ -61,28 +53,41 @@ class GeminiResourceGeneratorStrategy extends BaseResourceGeneratorStrategy_js_1
|
|
|
61
53
|
}
|
|
62
54
|
}
|
|
63
55
|
});
|
|
56
|
+
}
|
|
57
|
+
// #endregion
|
|
58
|
+
// #region Methods
|
|
59
|
+
/**
|
|
60
|
+
* Translates a resource to the specified locale.
|
|
61
|
+
*
|
|
62
|
+
* @protected
|
|
63
|
+
* @override
|
|
64
|
+
* @param prompt - The prompt to translate.
|
|
65
|
+
* @returns The translated resource
|
|
66
|
+
*/
|
|
67
|
+
async processResource(prompt) {
|
|
64
68
|
try {
|
|
65
|
-
const response = await
|
|
66
|
-
systemInstruction:
|
|
69
|
+
const response = await this._model.generateContent({
|
|
70
|
+
systemInstruction: `
|
|
71
|
+
${prompt.system}
|
|
72
|
+
`.trim(),
|
|
67
73
|
contents: [
|
|
68
74
|
{
|
|
69
75
|
role: 'assistant',
|
|
70
|
-
parts: [
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
parts: [{ text: prompt.content }]
|
|
76
|
+
parts: [
|
|
77
|
+
{
|
|
78
|
+
text: `
|
|
79
|
+
${prompt.assistant} ${prompt.content}
|
|
80
|
+
${Array.isArray(this.config.instructions) ? this.config.instructions.join('\n') : this.config.instructions}
|
|
81
|
+
`.trim()
|
|
82
|
+
}
|
|
83
|
+
]
|
|
79
84
|
}
|
|
80
85
|
]
|
|
81
86
|
});
|
|
82
87
|
return response.response.text();
|
|
83
88
|
}
|
|
84
89
|
catch (error) {
|
|
85
|
-
throw new Error(`
|
|
90
|
+
throw new Error(`[GeminiResourceGeneratorStrategy]: ${error.message}`);
|
|
86
91
|
}
|
|
87
92
|
}
|
|
88
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiResourceGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Generator/Strategies/GeminiResourceGeneratorStrategy.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,
|
|
1
|
+
{"version":3,"file":"GeminiResourceGeneratorStrategy.js","sourceRoot":"","sources":["../../../src/Generator/Strategies/GeminiResourceGeneratorStrategy.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,yDAA6F;AAC7F,mGAA6F;AAG7F,aAAa;AAEb;;;;GAIG;AACH,MAAa,+BAAgC,SAAQ,gEAA6B;IAE9E,iBAAiB;IAEA,GAAG,CAAqB;IACxB,MAAM,CAAkB;IAEzC,aAAa;IAEb,sBAAsB;IAEtB;;;;;OAKG;IACH,YAAmB,UAAuB,EAAE,OAAyC;QACjF,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE3B,IAAI,CAAC,GAAG,GAAG,IAAI,kCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACtC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;YACxB,gBAAgB,EAAE;gBACd,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,gBAAgB,EAAE,kBAAkB;gBACpC,cAAc,EAAE;oBACZ,IAAI,EAAE,0BAAU,CAAC,KAAK;oBACtB,KAAK,EAAE;wBACH,IAAI,EAAE,0BAAU,CAAC,MAAM;wBACvB,UAAU,EAAE;4BACR,GAAG,EAAE;gCACD,IAAI,EAAE,0BAAU,CAAC,MAAM;gCACvB,WAAW,EAAE,gCAAgC;6BAChD;4BACD,KAAK,EAAE;gCACH,IAAI,EAAE,0BAAU,CAAC,MAAM;gCACvB,WAAW,EAAE,kCAAkC;6BAClD;4BACD,OAAO,EAAE;gCACL,IAAI,EAAE,0BAAU,CAAC,MAAM;gCACvB,WAAW,EAAE,oCAAoC;6BACpD;yBACJ;wBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;qBACxC;iBACJ;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;;OAOG;IACgB,KAAK,CAAC,eAAe,CAAC,MAIxC;QACG,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;gBAC/C,iBAAiB,EAAE;sBACb,MAAM,CAAC,MAAM;iBAClB,CAAC,IAAI,EAAE;gBACR,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE;4BACH;gCACI,IAAI,EAAE;sCACA,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO;sCAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;iCAC7G,CAAC,IAAI,EAAE;6BACX;yBACJ;qBACJ;iBACJ;aACJ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;CAIJ;AA/FD,0EA+FC"}
|
|
@@ -17,8 +17,8 @@ export interface IResourceGeneratorStrategyConfig {
|
|
|
17
17
|
*/
|
|
18
18
|
temperature: number;
|
|
19
19
|
/**
|
|
20
|
-
* Additional instructions to
|
|
20
|
+
* Additional instructions to guide the generation process.
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
instructions: string | Array<string>;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=IResourceGeneratorStrategyConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IResourceGeneratorStrategyConfig.d.ts","sourceRoot":"","sources":["../../../../src/Generator/Strategies/Interfaces/IResourceGeneratorStrategyConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAI7C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"IResourceGeneratorStrategyConfig.d.ts","sourceRoot":"","sources":["../../../../src/Generator/Strategies/Interfaces/IResourceGeneratorStrategyConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAI7C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;CAIxC"}
|
package/README.md
CHANGED
|
@@ -39,9 +39,9 @@ const generator = new ResourceGenerator(logger, fileSystem, transformer, reader,
|
|
|
39
39
|
chunkSize: 10,
|
|
40
40
|
config: {
|
|
41
41
|
apiKey: process.env.GEMINI_API_KEY,
|
|
42
|
-
model: 'gemini-
|
|
42
|
+
model: 'gemini-2.0-flash',
|
|
43
43
|
temperature: 0.7,
|
|
44
|
-
|
|
44
|
+
instructions: '' // Additional instructions for the AI
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
const results = await generator.run(baseResource, ['de', 'fr'], 'gemini');
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@breadstone-tools/localizator-ai",
|
|
3
3
|
"description": "Localizator ai library",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.82",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "andre.wehlert <awehlert@breadstone.de> (https://www.breadstone.de)",
|
|
7
7
|
"repository": {
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"module": "./Index.js",
|
|
14
14
|
"types": "./Index.d.ts",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@breadstone-infrastructure/utilities": "^0.0.
|
|
17
|
-
"@breadstone-tools/localizator-core": "^0.0.
|
|
16
|
+
"@breadstone-infrastructure/utilities": "^0.0.82",
|
|
17
|
+
"@breadstone-tools/localizator-core": "^0.0.82",
|
|
18
18
|
"@google/generative-ai": "^0.24.1",
|
|
19
19
|
"cheerio": "^1.1.2",
|
|
20
20
|
"openai": "^5.11.0"
|