lingo.dev 0.121.1 → 0.122.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli.cjs +33 -88
- package/build/cli.cjs.map +1 -1
- package/build/cli.mjs +85 -140
- package/build/cli.mjs.map +1 -1
- package/package.json +11 -11
package/build/cli.cjs
CHANGED
|
@@ -90,7 +90,7 @@ function _loadDefaults() {
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
function _loadEnv() {
|
|
93
|
-
return _zod2.default.
|
|
93
|
+
return _zod2.default.looseObject({
|
|
94
94
|
LINGODOTDEV_API_KEY: _zod2.default.string().optional(),
|
|
95
95
|
LINGODOTDEV_API_URL: _zod2.default.string().optional(),
|
|
96
96
|
LINGODOTDEV_WEB_URL: _zod2.default.string().optional(),
|
|
@@ -101,14 +101,14 @@ function _loadEnv() {
|
|
|
101
101
|
GOOGLE_API_KEY: _zod2.default.string().optional(),
|
|
102
102
|
OPENROUTER_API_KEY: _zod2.default.string().optional(),
|
|
103
103
|
MISTRAL_API_KEY: _zod2.default.string().optional()
|
|
104
|
-
}).
|
|
104
|
+
}).parse(process.env);
|
|
105
105
|
}
|
|
106
106
|
function _loadSystemFile() {
|
|
107
107
|
const settingsFilePath = _getSettingsFilePath();
|
|
108
108
|
const content = fs13.default.existsSync(settingsFilePath) ? fs13.default.readFileSync(settingsFilePath, "utf-8") : "";
|
|
109
109
|
const data = _ini2.default.parse(content);
|
|
110
|
-
return _zod2.default.
|
|
111
|
-
auth: _zod2.default.
|
|
110
|
+
return _zod2.default.looseObject({
|
|
111
|
+
auth: _zod2.default.looseObject({
|
|
112
112
|
apiKey: _zod2.default.string().optional(),
|
|
113
113
|
apiUrl: _zod2.default.string().optional(),
|
|
114
114
|
webUrl: _zod2.default.string().optional(),
|
|
@@ -116,7 +116,7 @@ function _loadSystemFile() {
|
|
|
116
116
|
apiKey: _zod2.default.string().optional()
|
|
117
117
|
}).optional()
|
|
118
118
|
}).optional(),
|
|
119
|
-
llm: _zod2.default.
|
|
119
|
+
llm: _zod2.default.looseObject({
|
|
120
120
|
openaiApiKey: _zod2.default.string().optional(),
|
|
121
121
|
anthropicApiKey: _zod2.default.string().optional(),
|
|
122
122
|
groqApiKey: _zod2.default.string().optional(),
|
|
@@ -124,7 +124,7 @@ function _loadSystemFile() {
|
|
|
124
124
|
openrouterApiKey: _zod2.default.string().optional(),
|
|
125
125
|
mistralApiKey: _zod2.default.string().optional()
|
|
126
126
|
}).optional()
|
|
127
|
-
}).
|
|
127
|
+
}).parse(data);
|
|
128
128
|
}
|
|
129
129
|
function _saveSystemFile(settings) {
|
|
130
130
|
const settingsFilePath = _getSettingsFilePath();
|
|
@@ -10874,7 +10874,7 @@ var _anthropic = require('@ai-sdk/anthropic');
|
|
|
10874
10874
|
var _google = require('@ai-sdk/google');
|
|
10875
10875
|
var _aisdkprovider = require('@openrouter/ai-sdk-provider');
|
|
10876
10876
|
var _mistral = require('@ai-sdk/mistral');
|
|
10877
|
-
var
|
|
10877
|
+
var _ollamaaiproviderv2 = require('ollama-ai-provider-v2');
|
|
10878
10878
|
function createProcessor(provider, params) {
|
|
10879
10879
|
if (!provider) {
|
|
10880
10880
|
const result = createLingoLocalizer(params);
|
|
@@ -10957,7 +10957,7 @@ function getPureModelProvider(provider) {
|
|
|
10957
10957
|
})(provider.model);
|
|
10958
10958
|
}
|
|
10959
10959
|
case "ollama": {
|
|
10960
|
-
return
|
|
10960
|
+
return _ollamaaiproviderv2.createOllama.call(void 0, )(provider.model);
|
|
10961
10961
|
}
|
|
10962
10962
|
case "mistral": {
|
|
10963
10963
|
if (!process.env.MISTRAL_API_KEY) {
|
|
@@ -11202,7 +11202,7 @@ function checkIfFileExists(filePath) {
|
|
|
11202
11202
|
|
|
11203
11203
|
|
|
11204
11204
|
var LockSchema = _zod2.default.object({
|
|
11205
|
-
version: _zod2.default.literal(1).
|
|
11205
|
+
version: _zod2.default.literal(1).prefault(1),
|
|
11206
11206
|
checksums: _zod2.default.record(
|
|
11207
11207
|
_zod2.default.string(),
|
|
11208
11208
|
// localizable files' keys
|
|
@@ -11212,8 +11212,8 @@ var LockSchema = _zod2.default.object({
|
|
|
11212
11212
|
_zod2.default.string(),
|
|
11213
11213
|
// checksum of the key's value in the source locale
|
|
11214
11214
|
_zod2.default.string()
|
|
11215
|
-
).
|
|
11216
|
-
).
|
|
11215
|
+
).prefault({})
|
|
11216
|
+
).prefault({})
|
|
11217
11217
|
});
|
|
11218
11218
|
function createDeltaProcessor(fileKey) {
|
|
11219
11219
|
const lockfilePath = path16.join(process.cwd(), "i18n.lock");
|
|
@@ -11801,8 +11801,8 @@ function parseFlags(options) {
|
|
|
11801
11801
|
strict: _zod2.default.boolean().optional(),
|
|
11802
11802
|
key: _zod2.default.string().optional(),
|
|
11803
11803
|
file: _zod2.default.array(_zod2.default.string()).optional(),
|
|
11804
|
-
interactive: _zod2.default.boolean().
|
|
11805
|
-
debug: _zod2.default.boolean().
|
|
11804
|
+
interactive: _zod2.default.boolean().prefault(false),
|
|
11805
|
+
debug: _zod2.default.boolean().prefault(false)
|
|
11806
11806
|
}).parse(options);
|
|
11807
11807
|
}
|
|
11808
11808
|
async function validateAuth(settings) {
|
|
@@ -12036,7 +12036,7 @@ function createLockfileHelper() {
|
|
|
12036
12036
|
}
|
|
12037
12037
|
}
|
|
12038
12038
|
var LockfileSchema = _zod2.default.object({
|
|
12039
|
-
version: _zod2.default.literal(1).
|
|
12039
|
+
version: _zod2.default.literal(1).prefault(1),
|
|
12040
12040
|
checksums: _zod2.default.record(
|
|
12041
12041
|
_zod2.default.string(),
|
|
12042
12042
|
// localizable files' keys
|
|
@@ -12046,8 +12046,8 @@ var LockfileSchema = _zod2.default.object({
|
|
|
12046
12046
|
// key
|
|
12047
12047
|
_zod2.default.string()
|
|
12048
12048
|
// checksum of the key's value in the source locale
|
|
12049
|
-
).
|
|
12050
|
-
).
|
|
12049
|
+
).prefault({})
|
|
12050
|
+
).prefault({})
|
|
12051
12051
|
});
|
|
12052
12052
|
|
|
12053
12053
|
// src/cli/cmd/lockfile.ts
|
|
@@ -12097,7 +12097,7 @@ var lockfile_default = new (0, _interactivecommander.Command)().command("lockfil
|
|
|
12097
12097
|
}
|
|
12098
12098
|
});
|
|
12099
12099
|
var flagsSchema = _zod2.default.object({
|
|
12100
|
-
force: _zod2.default.boolean().
|
|
12100
|
+
force: _zod2.default.boolean().prefault(false)
|
|
12101
12101
|
});
|
|
12102
12102
|
|
|
12103
12103
|
// src/cli/cmd/cleanup.ts
|
|
@@ -12237,61 +12237,6 @@ function displaySummary(results) {
|
|
|
12237
12237
|
});
|
|
12238
12238
|
}
|
|
12239
12239
|
|
|
12240
|
-
// src/cli/cmd/mcp.ts
|
|
12241
|
-
|
|
12242
|
-
var _stdiojs = require('@modelcontextprotocol/sdk/server/stdio.js');
|
|
12243
|
-
var _mcpjs = require('@modelcontextprotocol/sdk/server/mcp.js');
|
|
12244
|
-
|
|
12245
|
-
|
|
12246
|
-
var mcp_default = new (0, _interactivecommander.Command)().command("mcp").description(
|
|
12247
|
-
"Start a Model Context Protocol (MCP) server for AI assistant integration"
|
|
12248
|
-
).helpOption("-h, --help", "Show help").action(async (_37, program) => {
|
|
12249
|
-
const apiKey = program.args[0];
|
|
12250
|
-
const settings = getSettings(apiKey);
|
|
12251
|
-
if (!settings.auth.apiKey) {
|
|
12252
|
-
console.error("No API key provided");
|
|
12253
|
-
return;
|
|
12254
|
-
}
|
|
12255
|
-
const authenticator = createAuthenticator({
|
|
12256
|
-
apiUrl: settings.auth.apiUrl,
|
|
12257
|
-
apiKey: settings.auth.apiKey
|
|
12258
|
-
});
|
|
12259
|
-
const auth = await authenticator.whoami();
|
|
12260
|
-
if (!auth) {
|
|
12261
|
-
console.error("Not authenticated");
|
|
12262
|
-
return;
|
|
12263
|
-
} else {
|
|
12264
|
-
console.log(`Authenticated as ${auth.email}`);
|
|
12265
|
-
}
|
|
12266
|
-
const replexicaEngine = new (0, __sdk.ReplexicaEngine)({
|
|
12267
|
-
apiKey: settings.auth.apiKey,
|
|
12268
|
-
apiUrl: settings.auth.apiUrl
|
|
12269
|
-
});
|
|
12270
|
-
const server = new (0, _mcpjs.McpServer)({
|
|
12271
|
-
name: "Lingo.dev",
|
|
12272
|
-
version: "1.0.0"
|
|
12273
|
-
});
|
|
12274
|
-
server.tool(
|
|
12275
|
-
"translate",
|
|
12276
|
-
"Detect language and translate text with Lingo.dev.",
|
|
12277
|
-
{
|
|
12278
|
-
text: _zod2.default.string(),
|
|
12279
|
-
targetLocale: _zod2.default.string().regex(/^[a-z]{2}(-[A-Z]{2})?$/)
|
|
12280
|
-
},
|
|
12281
|
-
async ({ text, targetLocale }) => {
|
|
12282
|
-
const sourceLocale = await replexicaEngine.recognizeLocale(text);
|
|
12283
|
-
const data = await replexicaEngine.localizeText(text, {
|
|
12284
|
-
sourceLocale,
|
|
12285
|
-
targetLocale
|
|
12286
|
-
});
|
|
12287
|
-
return { content: [{ type: "text", text: data }] };
|
|
12288
|
-
}
|
|
12289
|
-
);
|
|
12290
|
-
const transport = new (0, _stdiojs.StdioServerTransport)();
|
|
12291
|
-
await server.connect(transport);
|
|
12292
|
-
console.log("Lingo.dev MCP Server running on stdio");
|
|
12293
|
-
});
|
|
12294
|
-
|
|
12295
12240
|
// src/cli/cmd/ci/index.ts
|
|
12296
12241
|
|
|
12297
12242
|
|
|
@@ -12641,7 +12586,7 @@ function createExplicitLocalizer(provider) {
|
|
|
12641
12586
|
});
|
|
12642
12587
|
case "ollama":
|
|
12643
12588
|
return createAiSdkLocalizer({
|
|
12644
|
-
factory: (_params) =>
|
|
12589
|
+
factory: (_params) => _ollamaaiproviderv2.createOllama.call(void 0, ).languageModel(provider.model),
|
|
12645
12590
|
id: provider.id,
|
|
12646
12591
|
prompt: provider.prompt,
|
|
12647
12592
|
skipAuth: true,
|
|
@@ -13555,13 +13500,13 @@ var flagsSchema2 = _zod.z.object({
|
|
|
13555
13500
|
frozen: _zod.z.boolean().optional(),
|
|
13556
13501
|
verbose: _zod.z.boolean().optional(),
|
|
13557
13502
|
strict: _zod.z.boolean().optional(),
|
|
13558
|
-
interactive: _zod.z.boolean().
|
|
13559
|
-
concurrency: _zod.z.number().positive().
|
|
13560
|
-
debug: _zod.z.boolean().
|
|
13503
|
+
interactive: _zod.z.boolean().prefault(false),
|
|
13504
|
+
concurrency: _zod.z.number().positive().prefault(10),
|
|
13505
|
+
debug: _zod.z.boolean().prefault(false),
|
|
13561
13506
|
sourceLocale: _zod.z.string().optional(),
|
|
13562
13507
|
targetLocale: _zod.z.array(_zod.z.string()).optional(),
|
|
13563
|
-
watch: _zod.z.boolean().
|
|
13564
|
-
debounce: _zod.z.number().positive().
|
|
13508
|
+
watch: _zod.z.boolean().prefault(false),
|
|
13509
|
+
debounce: _zod.z.number().positive().prefault(5e3),
|
|
13565
13510
|
// 5 seconds default
|
|
13566
13511
|
sound: _zod.z.boolean().optional(),
|
|
13567
13512
|
pseudo: _zod.z.boolean().optional()
|
|
@@ -15246,7 +15191,7 @@ async function renderHero2() {
|
|
|
15246
15191
|
// package.json
|
|
15247
15192
|
var package_default = {
|
|
15248
15193
|
name: "lingo.dev",
|
|
15249
|
-
version: "0.
|
|
15194
|
+
version: "0.122.1",
|
|
15250
15195
|
description: "Lingo.dev CLI",
|
|
15251
15196
|
private: false,
|
|
15252
15197
|
repository: {
|
|
@@ -15375,10 +15320,10 @@ var package_default = {
|
|
|
15375
15320
|
author: "",
|
|
15376
15321
|
license: "Apache-2.0",
|
|
15377
15322
|
dependencies: {
|
|
15378
|
-
"@ai-sdk/anthropic": "
|
|
15379
|
-
"@ai-sdk/google": "
|
|
15380
|
-
"@ai-sdk/mistral": "
|
|
15381
|
-
"@ai-sdk/openai": "
|
|
15323
|
+
"@ai-sdk/anthropic": "3.0.9",
|
|
15324
|
+
"@ai-sdk/google": "3.0.6",
|
|
15325
|
+
"@ai-sdk/mistral": "3.0.5",
|
|
15326
|
+
"@ai-sdk/openai": "3.0.7",
|
|
15382
15327
|
"@babel/generator": "7.28.5",
|
|
15383
15328
|
"@babel/parser": "7.28.5",
|
|
15384
15329
|
"@babel/traverse": "7.28.5",
|
|
@@ -15396,10 +15341,10 @@ var package_default = {
|
|
|
15396
15341
|
"@lingo.dev/_spec": "workspace:*",
|
|
15397
15342
|
"@markdoc/markdoc": "0.5.4",
|
|
15398
15343
|
"@modelcontextprotocol/sdk": "1.22.0",
|
|
15399
|
-
"@openrouter/ai-sdk-provider": "0.
|
|
15344
|
+
"@openrouter/ai-sdk-provider": "6.0.0-alpha.1",
|
|
15400
15345
|
"@paralleldrive/cuid2": "2.2.2",
|
|
15401
15346
|
"@types/ejs": "3.1.5",
|
|
15402
|
-
ai: "
|
|
15347
|
+
ai: "6.0.25",
|
|
15403
15348
|
bitbucket: "2.12.0",
|
|
15404
15349
|
chalk: "5.6.2",
|
|
15405
15350
|
chokidar: "4.0.3",
|
|
@@ -15446,7 +15391,7 @@ var package_default = {
|
|
|
15446
15391
|
"node-webvtt": "1.9.4",
|
|
15447
15392
|
"object-hash": "3.0.0",
|
|
15448
15393
|
octokit: "4.0.2",
|
|
15449
|
-
"ollama-ai-provider": "
|
|
15394
|
+
"ollama-ai-provider-v2": "2.0.0",
|
|
15450
15395
|
open: "10.2.0",
|
|
15451
15396
|
ora: "8.1.1",
|
|
15452
15397
|
"p-limit": "6.2.0",
|
|
@@ -15473,7 +15418,7 @@ var package_default = {
|
|
|
15473
15418
|
xml2js: "0.6.2",
|
|
15474
15419
|
xpath: "0.0.34",
|
|
15475
15420
|
yaml: "2.8.1",
|
|
15476
|
-
zod: "
|
|
15421
|
+
zod: "4.1.12"
|
|
15477
15422
|
},
|
|
15478
15423
|
devDependencies: {
|
|
15479
15424
|
"@types/babel__generator": "7.27.0",
|
|
@@ -15689,7 +15634,7 @@ Star the the repo :) https://github.com/LingoDotDev/lingo.dev
|
|
|
15689
15634
|
).version(`v${package_default.version}`, "-v, --version", "Show version").addCommand(init_default).interactive(
|
|
15690
15635
|
"-y, --no-interactive",
|
|
15691
15636
|
"Run every command in non-interactive mode (no prompts); required when scripting"
|
|
15692
|
-
).addCommand(i18n_default).addCommand(auth_default).addCommand(login_default).addCommand(logout_default).addCommand(show_default).addCommand(config_default2).addCommand(lockfile_default).addCommand(cleanup_default).addCommand(
|
|
15637
|
+
).addCommand(i18n_default).addCommand(auth_default).addCommand(login_default).addCommand(logout_default).addCommand(show_default).addCommand(config_default2).addCommand(lockfile_default).addCommand(cleanup_default).addCommand(ci_default).addCommand(status_default).addCommand(may_the_fourth_default, { hidden: true }).addCommand(run_default).addCommand(purge_default).exitOverride((err) => {
|
|
15693
15638
|
if (err.code === "commander.helpDisplayed" || err.code === "commander.version" || err.code === "commander.help") {
|
|
15694
15639
|
process.exit(0);
|
|
15695
15640
|
}
|