@lingo.dev/_sdk 0.7.16 → 0.7.18
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/build/index.cjs +26 -12
- package/build/index.d.cts +21 -8
- package/build/index.d.ts +21 -8
- package/build/index.mjs +25 -11
- package/package.json +2 -2
package/build/index.cjs
CHANGED
@@ -9,16 +9,17 @@ var engineParamsSchema = _zod2.default.object({
|
|
9
9
|
idealBatchItemSize: _zod2.default.number().int().gt(0).lte(2500).default(250)
|
10
10
|
}).passthrough();
|
11
11
|
var payloadSchema = _zod2.default.record(_zod2.default.string(), _zod2.default.any());
|
12
|
+
var referenceSchema = _zod2.default.record(__spec.localeCodeSchema, payloadSchema);
|
12
13
|
var localizationParamsSchema = _zod2.default.object({
|
13
14
|
sourceLocale: __spec.localeCodeSchema,
|
14
15
|
targetLocale: __spec.localeCodeSchema,
|
15
|
-
fast: _zod2.default.boolean().optional()
|
16
|
+
fast: _zod2.default.boolean().optional(),
|
17
|
+
reference: referenceSchema.optional()
|
16
18
|
});
|
17
|
-
var
|
18
|
-
var ReplexicaEngine = class {
|
19
|
+
var LingoDotDevEngine = class {
|
19
20
|
|
20
21
|
/**
|
21
|
-
* Create a new
|
22
|
+
* Create a new LingoDotDevEngine instance
|
22
23
|
* @param config - Configuration options for the Engine
|
23
24
|
*/
|
24
25
|
constructor(config) {
|
@@ -28,12 +29,11 @@ var ReplexicaEngine = class {
|
|
28
29
|
* Localize content using the Lingo.dev API
|
29
30
|
* @param payload - The content to be localized
|
30
31
|
* @param params - Localization parameters including source/target locales and fast mode option
|
31
|
-
* @param reference - Optional reference translations to maintain consistency
|
32
32
|
* @param progressCallback - Optional callback function to report progress (0-100)
|
33
33
|
* @returns Localized content
|
34
34
|
* @internal
|
35
35
|
*/
|
36
|
-
async _localizeRaw(payload, params,
|
36
|
+
async _localizeRaw(payload, params, progressCallback) {
|
37
37
|
const finalPayload = payloadSchema.parse(payload);
|
38
38
|
const finalParams = localizationParamsSchema.parse(params);
|
39
39
|
const chunkedPayload = this.extractPayloadChunks(finalPayload);
|
@@ -45,7 +45,7 @@ var ReplexicaEngine = class {
|
|
45
45
|
const processedPayloadChunk = await this.localizeChunk(
|
46
46
|
finalParams.sourceLocale,
|
47
47
|
finalParams.targetLocale,
|
48
|
-
{ data: chunk, reference },
|
48
|
+
{ data: chunk, reference: params.reference },
|
49
49
|
workflowId,
|
50
50
|
params.fast || false
|
51
51
|
);
|
@@ -145,7 +145,7 @@ var ReplexicaEngine = class {
|
|
145
145
|
* @returns A new object with the same structure but localized string values
|
146
146
|
*/
|
147
147
|
async localizeObject(obj, params, progressCallback) {
|
148
|
-
return this._localizeRaw(obj, params,
|
148
|
+
return this._localizeRaw(obj, params, progressCallback);
|
149
149
|
}
|
150
150
|
/**
|
151
151
|
* Localize a single text string
|
@@ -158,7 +158,7 @@ var ReplexicaEngine = class {
|
|
158
158
|
* @returns The localized text string
|
159
159
|
*/
|
160
160
|
async localizeText(text, params, progressCallback) {
|
161
|
-
const response = await this._localizeRaw({ text }, params,
|
161
|
+
const response = await this._localizeRaw({ text }, params, progressCallback);
|
162
162
|
return response.text || "";
|
163
163
|
}
|
164
164
|
/**
|
@@ -193,7 +193,7 @@ var ReplexicaEngine = class {
|
|
193
193
|
* @returns Array of localized chat messages with preserved structure
|
194
194
|
*/
|
195
195
|
async localizeChat(chat, params, progressCallback) {
|
196
|
-
const localized = await this._localizeRaw({ chat }, params,
|
196
|
+
const localized = await this._localizeRaw({ chat }, params, progressCallback);
|
197
197
|
return Object.entries(localized).map(([key, value]) => ({
|
198
198
|
name: chat[parseInt(key.split("_")[1])].name,
|
199
199
|
text: value
|
@@ -274,7 +274,7 @@ var ReplexicaEngine = class {
|
|
274
274
|
};
|
275
275
|
Array.from(document.head.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && _optionalChain([n, 'access', _10 => _10.textContent, 'optionalAccess', _11 => _11.trim, 'call', _12 => _12()])).forEach(processNode);
|
276
276
|
Array.from(document.body.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && _optionalChain([n, 'access', _13 => _13.textContent, 'optionalAccess', _14 => _14.trim, 'call', _15 => _15()])).forEach(processNode);
|
277
|
-
const localizedContent = await this._localizeRaw(extractedContent, params,
|
277
|
+
const localizedContent = await this._localizeRaw(extractedContent, params, progressCallback);
|
278
278
|
document.documentElement.setAttribute("lang", params.targetLocale);
|
279
279
|
Object.entries(localizedContent).forEach(([path, value]) => {
|
280
280
|
const [nodePath, attribute] = path.split("#");
|
@@ -321,6 +321,20 @@ var ReplexicaEngine = class {
|
|
321
321
|
return jsonResponse.locale;
|
322
322
|
}
|
323
323
|
};
|
324
|
+
var ReplexicaEngine = class extends LingoDotDevEngine {
|
325
|
+
constructor(config) {
|
326
|
+
super(config);
|
327
|
+
console.warn("ReplexicaEngine is deprecated. Please use LingoDotDevEngine instead.");
|
328
|
+
}
|
329
|
+
};
|
330
|
+
var LingoEngine = class extends LingoDotDevEngine {
|
331
|
+
constructor(config) {
|
332
|
+
super(config);
|
333
|
+
console.warn("LingoEngine is deprecated. Please use LingoDotDevEngine instead.");
|
334
|
+
}
|
335
|
+
};
|
336
|
+
|
337
|
+
|
324
338
|
|
325
339
|
|
326
|
-
exports.ReplexicaEngine = ReplexicaEngine;
|
340
|
+
exports.LingoDotDevEngine = LingoDotDevEngine; exports.LingoEngine = LingoEngine; exports.ReplexicaEngine = ReplexicaEngine;
|
package/build/index.d.cts
CHANGED
@@ -22,25 +22,27 @@ declare const localizationParamsSchema: Z.ZodObject<{
|
|
22
22
|
sourceLocale: Z.ZodEffects<Z.ZodString, string, string>;
|
23
23
|
targetLocale: Z.ZodEffects<Z.ZodString, string, string>;
|
24
24
|
fast: Z.ZodOptional<Z.ZodBoolean>;
|
25
|
+
reference: Z.ZodOptional<Z.ZodRecord<Z.ZodEffects<Z.ZodString, string, string>, Z.ZodRecord<Z.ZodString, Z.ZodAny>>>;
|
25
26
|
}, "strip", Z.ZodTypeAny, {
|
26
27
|
sourceLocale: string;
|
27
28
|
targetLocale: string;
|
28
29
|
fast?: boolean | undefined;
|
30
|
+
reference?: Record<string, Record<string, any>> | undefined;
|
29
31
|
}, {
|
30
32
|
sourceLocale: string;
|
31
33
|
targetLocale: string;
|
32
34
|
fast?: boolean | undefined;
|
35
|
+
reference?: Record<string, Record<string, any>> | undefined;
|
33
36
|
}>;
|
34
|
-
declare const referenceSchema: Z.ZodRecord<Z.ZodEffects<Z.ZodString, string, string>, Z.ZodRecord<Z.ZodString, Z.ZodAny>>;
|
35
37
|
/**
|
36
|
-
*
|
38
|
+
* LingoDotDevEngine class for interacting with the LingoDotDev API
|
37
39
|
* A powerful localization engine that supports various content types including
|
38
40
|
* plain text, objects, chat sequences, and HTML documents.
|
39
41
|
*/
|
40
|
-
declare class
|
41
|
-
|
42
|
+
declare class LingoDotDevEngine {
|
43
|
+
protected config: Z.infer<typeof engineParamsSchema>;
|
42
44
|
/**
|
43
|
-
* Create a new
|
45
|
+
* Create a new LingoDotDevEngine instance
|
44
46
|
* @param config - Configuration options for the Engine
|
45
47
|
*/
|
46
48
|
constructor(config: Partial<Z.infer<typeof engineParamsSchema>>);
|
@@ -48,12 +50,11 @@ declare class ReplexicaEngine {
|
|
48
50
|
* Localize content using the Lingo.dev API
|
49
51
|
* @param payload - The content to be localized
|
50
52
|
* @param params - Localization parameters including source/target locales and fast mode option
|
51
|
-
* @param reference - Optional reference translations to maintain consistency
|
52
53
|
* @param progressCallback - Optional callback function to report progress (0-100)
|
53
54
|
* @returns Localized content
|
54
55
|
* @internal
|
55
56
|
*/
|
56
|
-
_localizeRaw(payload: Z.infer<typeof payloadSchema>, params: Z.infer<typeof localizationParamsSchema>,
|
57
|
+
_localizeRaw(payload: Z.infer<typeof payloadSchema>, params: Z.infer<typeof localizationParamsSchema>, progressCallback?: (progress: number, sourceChunk: Record<string, string>, processedChunk: Record<string, string>) => void): Promise<Record<string, string>>;
|
57
58
|
/**
|
58
59
|
* Localize a single chunk of content
|
59
60
|
* @param sourceLocale - Source locale
|
@@ -146,5 +147,17 @@ declare class ReplexicaEngine {
|
|
146
147
|
*/
|
147
148
|
recognizeLocale(text: string): Promise<LocaleCode>;
|
148
149
|
}
|
150
|
+
/**
|
151
|
+
* @deprecated Use LingoDotDevEngine instead. This class is maintained for backwards compatibility.
|
152
|
+
*/
|
153
|
+
declare class ReplexicaEngine extends LingoDotDevEngine {
|
154
|
+
constructor(config: Partial<Z.infer<typeof engineParamsSchema>>);
|
155
|
+
}
|
156
|
+
/**
|
157
|
+
* @deprecated Use LingoDotDevEngine instead. This class is maintained for backwards compatibility.
|
158
|
+
*/
|
159
|
+
declare class LingoEngine extends LingoDotDevEngine {
|
160
|
+
constructor(config: Partial<Z.infer<typeof engineParamsSchema>>);
|
161
|
+
}
|
149
162
|
|
150
|
-
export { ReplexicaEngine };
|
163
|
+
export { LingoDotDevEngine, LingoEngine, ReplexicaEngine };
|
package/build/index.d.ts
CHANGED
@@ -22,25 +22,27 @@ declare const localizationParamsSchema: Z.ZodObject<{
|
|
22
22
|
sourceLocale: Z.ZodEffects<Z.ZodString, string, string>;
|
23
23
|
targetLocale: Z.ZodEffects<Z.ZodString, string, string>;
|
24
24
|
fast: Z.ZodOptional<Z.ZodBoolean>;
|
25
|
+
reference: Z.ZodOptional<Z.ZodRecord<Z.ZodEffects<Z.ZodString, string, string>, Z.ZodRecord<Z.ZodString, Z.ZodAny>>>;
|
25
26
|
}, "strip", Z.ZodTypeAny, {
|
26
27
|
sourceLocale: string;
|
27
28
|
targetLocale: string;
|
28
29
|
fast?: boolean | undefined;
|
30
|
+
reference?: Record<string, Record<string, any>> | undefined;
|
29
31
|
}, {
|
30
32
|
sourceLocale: string;
|
31
33
|
targetLocale: string;
|
32
34
|
fast?: boolean | undefined;
|
35
|
+
reference?: Record<string, Record<string, any>> | undefined;
|
33
36
|
}>;
|
34
|
-
declare const referenceSchema: Z.ZodRecord<Z.ZodEffects<Z.ZodString, string, string>, Z.ZodRecord<Z.ZodString, Z.ZodAny>>;
|
35
37
|
/**
|
36
|
-
*
|
38
|
+
* LingoDotDevEngine class for interacting with the LingoDotDev API
|
37
39
|
* A powerful localization engine that supports various content types including
|
38
40
|
* plain text, objects, chat sequences, and HTML documents.
|
39
41
|
*/
|
40
|
-
declare class
|
41
|
-
|
42
|
+
declare class LingoDotDevEngine {
|
43
|
+
protected config: Z.infer<typeof engineParamsSchema>;
|
42
44
|
/**
|
43
|
-
* Create a new
|
45
|
+
* Create a new LingoDotDevEngine instance
|
44
46
|
* @param config - Configuration options for the Engine
|
45
47
|
*/
|
46
48
|
constructor(config: Partial<Z.infer<typeof engineParamsSchema>>);
|
@@ -48,12 +50,11 @@ declare class ReplexicaEngine {
|
|
48
50
|
* Localize content using the Lingo.dev API
|
49
51
|
* @param payload - The content to be localized
|
50
52
|
* @param params - Localization parameters including source/target locales and fast mode option
|
51
|
-
* @param reference - Optional reference translations to maintain consistency
|
52
53
|
* @param progressCallback - Optional callback function to report progress (0-100)
|
53
54
|
* @returns Localized content
|
54
55
|
* @internal
|
55
56
|
*/
|
56
|
-
_localizeRaw(payload: Z.infer<typeof payloadSchema>, params: Z.infer<typeof localizationParamsSchema>,
|
57
|
+
_localizeRaw(payload: Z.infer<typeof payloadSchema>, params: Z.infer<typeof localizationParamsSchema>, progressCallback?: (progress: number, sourceChunk: Record<string, string>, processedChunk: Record<string, string>) => void): Promise<Record<string, string>>;
|
57
58
|
/**
|
58
59
|
* Localize a single chunk of content
|
59
60
|
* @param sourceLocale - Source locale
|
@@ -146,5 +147,17 @@ declare class ReplexicaEngine {
|
|
146
147
|
*/
|
147
148
|
recognizeLocale(text: string): Promise<LocaleCode>;
|
148
149
|
}
|
150
|
+
/**
|
151
|
+
* @deprecated Use LingoDotDevEngine instead. This class is maintained for backwards compatibility.
|
152
|
+
*/
|
153
|
+
declare class ReplexicaEngine extends LingoDotDevEngine {
|
154
|
+
constructor(config: Partial<Z.infer<typeof engineParamsSchema>>);
|
155
|
+
}
|
156
|
+
/**
|
157
|
+
* @deprecated Use LingoDotDevEngine instead. This class is maintained for backwards compatibility.
|
158
|
+
*/
|
159
|
+
declare class LingoEngine extends LingoDotDevEngine {
|
160
|
+
constructor(config: Partial<Z.infer<typeof engineParamsSchema>>);
|
161
|
+
}
|
149
162
|
|
150
|
-
export { ReplexicaEngine };
|
163
|
+
export { LingoDotDevEngine, LingoEngine, ReplexicaEngine };
|
package/build/index.mjs
CHANGED
@@ -9,16 +9,17 @@ var engineParamsSchema = Z.object({
|
|
9
9
|
idealBatchItemSize: Z.number().int().gt(0).lte(2500).default(250)
|
10
10
|
}).passthrough();
|
11
11
|
var payloadSchema = Z.record(Z.string(), Z.any());
|
12
|
+
var referenceSchema = Z.record(localeCodeSchema, payloadSchema);
|
12
13
|
var localizationParamsSchema = Z.object({
|
13
14
|
sourceLocale: localeCodeSchema,
|
14
15
|
targetLocale: localeCodeSchema,
|
15
|
-
fast: Z.boolean().optional()
|
16
|
+
fast: Z.boolean().optional(),
|
17
|
+
reference: referenceSchema.optional()
|
16
18
|
});
|
17
|
-
var
|
18
|
-
var ReplexicaEngine = class {
|
19
|
+
var LingoDotDevEngine = class {
|
19
20
|
config;
|
20
21
|
/**
|
21
|
-
* Create a new
|
22
|
+
* Create a new LingoDotDevEngine instance
|
22
23
|
* @param config - Configuration options for the Engine
|
23
24
|
*/
|
24
25
|
constructor(config) {
|
@@ -28,12 +29,11 @@ var ReplexicaEngine = class {
|
|
28
29
|
* Localize content using the Lingo.dev API
|
29
30
|
* @param payload - The content to be localized
|
30
31
|
* @param params - Localization parameters including source/target locales and fast mode option
|
31
|
-
* @param reference - Optional reference translations to maintain consistency
|
32
32
|
* @param progressCallback - Optional callback function to report progress (0-100)
|
33
33
|
* @returns Localized content
|
34
34
|
* @internal
|
35
35
|
*/
|
36
|
-
async _localizeRaw(payload, params,
|
36
|
+
async _localizeRaw(payload, params, progressCallback) {
|
37
37
|
const finalPayload = payloadSchema.parse(payload);
|
38
38
|
const finalParams = localizationParamsSchema.parse(params);
|
39
39
|
const chunkedPayload = this.extractPayloadChunks(finalPayload);
|
@@ -45,7 +45,7 @@ var ReplexicaEngine = class {
|
|
45
45
|
const processedPayloadChunk = await this.localizeChunk(
|
46
46
|
finalParams.sourceLocale,
|
47
47
|
finalParams.targetLocale,
|
48
|
-
{ data: chunk, reference },
|
48
|
+
{ data: chunk, reference: params.reference },
|
49
49
|
workflowId,
|
50
50
|
params.fast || false
|
51
51
|
);
|
@@ -145,7 +145,7 @@ var ReplexicaEngine = class {
|
|
145
145
|
* @returns A new object with the same structure but localized string values
|
146
146
|
*/
|
147
147
|
async localizeObject(obj, params, progressCallback) {
|
148
|
-
return this._localizeRaw(obj, params,
|
148
|
+
return this._localizeRaw(obj, params, progressCallback);
|
149
149
|
}
|
150
150
|
/**
|
151
151
|
* Localize a single text string
|
@@ -158,7 +158,7 @@ var ReplexicaEngine = class {
|
|
158
158
|
* @returns The localized text string
|
159
159
|
*/
|
160
160
|
async localizeText(text, params, progressCallback) {
|
161
|
-
const response = await this._localizeRaw({ text }, params,
|
161
|
+
const response = await this._localizeRaw({ text }, params, progressCallback);
|
162
162
|
return response.text || "";
|
163
163
|
}
|
164
164
|
/**
|
@@ -193,7 +193,7 @@ var ReplexicaEngine = class {
|
|
193
193
|
* @returns Array of localized chat messages with preserved structure
|
194
194
|
*/
|
195
195
|
async localizeChat(chat, params, progressCallback) {
|
196
|
-
const localized = await this._localizeRaw({ chat }, params,
|
196
|
+
const localized = await this._localizeRaw({ chat }, params, progressCallback);
|
197
197
|
return Object.entries(localized).map(([key, value]) => ({
|
198
198
|
name: chat[parseInt(key.split("_")[1])].name,
|
199
199
|
text: value
|
@@ -274,7 +274,7 @@ var ReplexicaEngine = class {
|
|
274
274
|
};
|
275
275
|
Array.from(document.head.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);
|
276
276
|
Array.from(document.body.childNodes).filter((n) => n.nodeType === 1 || n.nodeType === 3 && n.textContent?.trim()).forEach(processNode);
|
277
|
-
const localizedContent = await this._localizeRaw(extractedContent, params,
|
277
|
+
const localizedContent = await this._localizeRaw(extractedContent, params, progressCallback);
|
278
278
|
document.documentElement.setAttribute("lang", params.targetLocale);
|
279
279
|
Object.entries(localizedContent).forEach(([path, value]) => {
|
280
280
|
const [nodePath, attribute] = path.split("#");
|
@@ -321,6 +321,20 @@ var ReplexicaEngine = class {
|
|
321
321
|
return jsonResponse.locale;
|
322
322
|
}
|
323
323
|
};
|
324
|
+
var ReplexicaEngine = class extends LingoDotDevEngine {
|
325
|
+
constructor(config) {
|
326
|
+
super(config);
|
327
|
+
console.warn("ReplexicaEngine is deprecated. Please use LingoDotDevEngine instead.");
|
328
|
+
}
|
329
|
+
};
|
330
|
+
var LingoEngine = class extends LingoDotDevEngine {
|
331
|
+
constructor(config) {
|
332
|
+
super(config);
|
333
|
+
console.warn("LingoEngine is deprecated. Please use LingoDotDevEngine instead.");
|
334
|
+
}
|
335
|
+
};
|
324
336
|
export {
|
337
|
+
LingoDotDevEngine,
|
338
|
+
LingoEngine,
|
325
339
|
ReplexicaEngine
|
326
340
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@lingo.dev/_sdk",
|
3
|
-
"version": "0.7.
|
3
|
+
"version": "0.7.18",
|
4
4
|
"description": "Lingo.dev JS SDK",
|
5
5
|
"private": false,
|
6
6
|
"publishConfig": {
|
@@ -23,7 +23,7 @@
|
|
23
23
|
"typescript": "^5.7.2",
|
24
24
|
"vitest": "^2.1.8",
|
25
25
|
"zod": "^3.24.1",
|
26
|
-
"@lingo.dev/_spec": "0.25.
|
26
|
+
"@lingo.dev/_spec": "0.25.1"
|
27
27
|
},
|
28
28
|
"devDependencies": {
|
29
29
|
"@types/jsdom": "^21.1.7",
|