@langapi/mcp-server 1.0.3 → 1.0.5

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/README.md CHANGED
@@ -72,7 +72,21 @@ After editing, **restart Claude Desktop** for changes to take effect.
72
72
 
73
73
  ### Claude Code (CLI)
74
74
 
75
- **Option 1: Project-level config** (recommended for teams)
75
+ **Option 1: CLI command** (quickest)
76
+
77
+ ```bash
78
+ # Add to current project (stored in .mcp.json)
79
+ claude mcp add --transport stdio langapi \
80
+ --env LANGAPI_API_KEY=your-api-key-here \
81
+ -- npx @langapi/mcp-server
82
+
83
+ # Or add globally for all projects (stored in ~/.claude.json)
84
+ claude mcp add --transport stdio langapi --scope user \
85
+ --env LANGAPI_API_KEY=your-api-key-here \
86
+ -- npx @langapi/mcp-server
87
+ ```
88
+
89
+ **Option 2: Project-level config** (recommended for teams)
76
90
 
77
91
  Create `.mcp.json` in your project root:
78
92
 
@@ -90,9 +104,9 @@ Create `.mcp.json` in your project root:
90
104
  }
91
105
  ```
92
106
 
93
- **Option 2: Global config**
107
+ **Option 3: User-level config**
94
108
 
95
- Add to `~/.claude/settings.json`:
109
+ Add to `~/.claude.json`:
96
110
 
97
111
  ```json
98
112
  {
@@ -108,7 +122,7 @@ Add to `~/.claude/settings.json`:
108
122
  }
109
123
  ```
110
124
 
111
- **Option 3: Environment variable**
125
+ **Option 4: Environment variable**
112
126
 
113
127
  ```bash
114
128
  export LANGAPI_API_KEY="your-api-key-here"
@@ -116,6 +130,22 @@ export LANGAPI_API_KEY="your-api-key-here"
116
130
 
117
131
  Then the MCP server will pick it up automatically.
118
132
 
133
+ **Verify connection:**
134
+
135
+ ```bash
136
+ # List configured servers
137
+ claude mcp list
138
+
139
+ # Check server status inside Claude Code
140
+ /mcp
141
+ ```
142
+
143
+ **Remove server:**
144
+
145
+ ```bash
146
+ claude mcp remove langapi
147
+ ```
148
+
119
149
  ---
120
150
 
121
151
  ### Cursor
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/locale-detection/patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAiE/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAoDjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOzD"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/locale-detection/patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qCAAqC;IACrC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAmE/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,UAoDjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOzD"}
@@ -36,6 +36,8 @@ export const FRAMEWORK_PATTERNS = {
36
36
  "public/locales/*/*.json",
37
37
  "locales/*/*.json",
38
38
  "src/locales/*/*.json",
39
+ "src/i18n/locales/*.json",
40
+ "src/i18n/locales/*/*.json",
39
41
  "translations/*/*.json",
40
42
  ],
41
43
  configPattern: /i18next|next-i18next|react-i18next/,
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/locale-detection/patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,WAAW,EAAE;QACX,WAAW,EAAE;YACX,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;YAChB,SAAS;YACT,SAAS;YACT,aAAa;YACb,aAAa;SACd;QACD,WAAW,EAAE;YACX,iBAAiB;YACjB,mBAAmB;YACnB,gBAAgB;YAChB,kBAAkB;YAClB,qBAAqB;YACrB,oBAAoB;SACrB;QACD,aAAa,EAAE,uDAAuD;KACvE;IACD,OAAO,EAAE;QACP,WAAW,EAAE;YACX,SAAS;YACT,SAAS;YACT,mBAAmB;YACnB,mBAAmB;YACnB,wBAAwB;YACxB,mBAAmB;YACnB,mBAAmB;SACpB;QACD,WAAW,EAAE;YACX,yBAAyB;YACzB,kBAAkB;YAClB,sBAAsB;YACtB,uBAAuB;SACxB;QACD,aAAa,EAAE,oCAAoC;KACpD;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,CAAC;QACtE,WAAW,EAAE;YACX,iBAAiB;YACjB,oBAAoB;YACpB,aAAa;YACb,sBAAsB;SACvB;QACD,aAAa,EAAE,uCAAuC;KACvD;IACD,OAAO,EAAE;QACP,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACX,gBAAgB;YAChB,qBAAqB;YACrB,aAAa;YACb,aAAa;YACb,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,iBAAiB;YACjB,iBAAiB;YACjB,qBAAqB;YACrB,uBAAuB;SACxB;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,eAAe;IACf,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,0BAA0B;IAC1B,IAAI,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,wEAAwE;IACxE,OAAO,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/locale-detection/patterns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,WAAW,EAAE;QACX,WAAW,EAAE;YACX,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;YAChB,SAAS;YACT,SAAS;YACT,aAAa;YACb,aAAa;SACd;QACD,WAAW,EAAE;YACX,iBAAiB;YACjB,mBAAmB;YACnB,gBAAgB;YAChB,kBAAkB;YAClB,qBAAqB;YACrB,oBAAoB;SACrB;QACD,aAAa,EAAE,uDAAuD;KACvE;IACD,OAAO,EAAE;QACP,WAAW,EAAE;YACX,SAAS;YACT,SAAS;YACT,mBAAmB;YACnB,mBAAmB;YACnB,wBAAwB;YACxB,mBAAmB;YACnB,mBAAmB;SACpB;QACD,WAAW,EAAE;YACX,yBAAyB;YACzB,kBAAkB;YAClB,sBAAsB;YACtB,yBAAyB;YACzB,2BAA2B;YAC3B,uBAAuB;SACxB;QACD,aAAa,EAAE,oCAAoC;KACpD;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,CAAC;QACtE,WAAW,EAAE;YACX,iBAAiB;YACjB,oBAAoB;YACpB,aAAa;YACb,sBAAsB;SACvB;QACD,aAAa,EAAE,uCAAuC;KACvD;IACD,OAAO,EAAE;QACP,WAAW,EAAE,EAAE;QACf,WAAW,EAAE;YACX,gBAAgB;YAChB,qBAAqB;YACrB,aAAa;YACb,aAAa;YACb,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,iBAAiB;YACjB,iBAAiB;YACjB,qBAAqB;YACrB,uBAAuB;SACxB;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,eAAe;IACf,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,0BAA0B;IAC1B,IAAI,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,wEAAwE;IACxE,OAAO,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-translation-status.d.ts","sourceRoot":"","sources":["../../src/tools/get-translation-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,QAAA,MAAM,0BAA0B;;;;;;;;;;;;EAY9B,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAGnF,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED,UAAU,YAAY;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAkBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwKpE"}
1
+ {"version":3,"file":"get-translation-status.d.ts","sourceRoot":"","sources":["../../src/tools/get-translation-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,QAAA,MAAM,0BAA0B;;;;;;;;;;;;EAY9B,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAGnF,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;CACH;AAED,UAAU,YAAY;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAkBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoLpE"}
@@ -120,41 +120,54 @@ export function registerGetTranslationStatus(server) {
120
120
  });
121
121
  totalMissingKeys.push(...missing);
122
122
  }
123
- // Estimate cost locally
123
+ // Estimate cost locally - calculate per-language to get accurate totals
124
124
  let costEstimate = null;
125
- // Calculate words to translate from source content
125
+ // Calculate words to translate by summing up per-language missing keys
126
+ // This is more accurate than multiplying unique missing keys by language count
126
127
  const flatSource = flattenJson(sourceContent);
127
- const missingKeySet = new Set(totalMissingKeys);
128
- const itemsToTranslate = flatSource.filter((item) => missingKeySet.has(item.key));
129
- const wordsToTranslate = itemsToTranslate.reduce((sum, item) => sum + countWords(item.value), 0);
130
- // credits = words * number of target languages
131
- const creditsRequired = wordsToTranslate * targetLangs.length;
128
+ const sourceKeyToWords = new Map();
129
+ for (const item of flatSource) {
130
+ sourceKeyToWords.set(item.key, countWords(item.value));
131
+ }
132
+ // Sum words for all missing keys across all languages
133
+ let totalWordsToTranslate = 0;
134
+ for (const target of targets) {
135
+ for (const missingKey of target.keys.missing) {
136
+ const words = sourceKeyToWords.get(missingKey) || 0;
137
+ totalWordsToTranslate += words;
138
+ }
139
+ }
140
+ // credits = total words (already accounts for per-language)
141
+ const creditsRequired = totalWordsToTranslate;
132
142
  costEstimate = {
133
- words_to_translate: wordsToTranslate,
143
+ words_to_translate: totalWordsToTranslate,
134
144
  credits_required: creditsRequired,
135
145
  };
136
- // Get accurate estimate from server if API key is configured
146
+ // Get balance info from server if API key is configured
137
147
  if (LangAPIClient.canCreate()) {
138
148
  try {
139
149
  const client = LangAPIClient.create();
150
+ // Only send actually missing content to get accurate API estimate
151
+ const missingKeySet = new Set(totalMissingKeys);
152
+ const itemsToTranslate = flatSource.filter((item) => missingKeySet.has(item.key));
140
153
  const response = await client.sync({
141
154
  source_lang: input.source_lang,
142
155
  target_langs: targetLangs,
143
- content: flatSource,
156
+ content: itemsToTranslate,
144
157
  dry_run: true,
145
158
  });
146
159
  if (response.success && "delta" in response) {
147
- // This is a SyncDryRunResponse
160
+ // Use server's balance info, but keep our accurate local cost estimate
148
161
  costEstimate = {
149
- words_to_translate: response.cost.wordsToTranslate,
150
- credits_required: response.cost.creditsRequired,
162
+ words_to_translate: totalWordsToTranslate,
163
+ credits_required: creditsRequired,
151
164
  current_balance: response.cost.currentBalance,
152
- balance_after_sync: response.cost.balanceAfterSync,
165
+ balance_after_sync: response.cost.currentBalance - creditsRequired,
153
166
  };
154
167
  }
155
168
  }
156
169
  catch {
157
- // Fall back to local estimate
170
+ // Fall back to local estimate without balance info
158
171
  }
159
172
  }
160
173
  const output = {
@@ -1 +1 @@
1
- {"version":3,"file":"get-translation-status.js","sourceRoot":"","sources":["../../src/tools/get-translation-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,eAAe;AACf,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtF,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,kBAAkB,CAAC;SACzB,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F,CAC3F;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC,CAAC;AA6BH;;GAEG;AACH,SAAS,UAAU,CAAC,IAAY;IAC9B,mEAAmE;IACnE,MAAM,OAAO,GAAG,IAAI;SACjB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SAC7B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAE/B,cAAc;IACd,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,gHAAgH,EAChH,0BAA0B,CAAC,KAAK,EAChC,KAAK,EAAE,IAAI,EAA+D,EAAE;QAC1E,MAAM,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAExD,iBAAiB;QACjB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzD,qBAAqB;QACrB,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CACpC,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,WAAW,wBAAwB,CAAC,CAAC;QACjF,CAAC;QAED,8BAA8B;QAC9B,MAAM,aAAa,GAA4B,EAAE,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAEzC,6BAA6B;QAC7B,IAAI,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,WAAW,GAAG,SAAS,CAAC,OAAO;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC;iBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAED,2BAA2B;QAC3B,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,gBAAgB,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAE1E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,gCAAgC;gBAChC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE;wBACJ,KAAK,EAAE,CAAC;wBACR,OAAO,EAAE,UAAU;wBACnB,KAAK,EAAE,EAAE;qBACV;iBACF,CAAC,CAAC;gBACH,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBACrC,SAAS;YACX,CAAC;YAED,8BAA8B;YAC9B,MAAM,aAAa,GAA4B,EAAE,CAAC;YAClD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACnD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;oBACtC,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,qBAAqB;gBACvB,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YAEzC,8BAA8B;YAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBACxC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBACpB,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,QAAQ,CAAC;YAEf,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,MAAM;gBACN,IAAI,EAAE;oBACJ,KAAK,EAAE,UAAU,CAAC,MAAM;oBACxB,OAAO;oBACP,KAAK;iBACN;aACF,CAAC,CAAC;YAEH,gBAAgB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,wBAAwB;QACxB,IAAI,YAAY,GAAwB,IAAI,CAAC;QAE7C,mDAAmD;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAClD,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAC5B,CAAC;QACF,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAC9C,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3C,CAAC,CACF,CAAC;QAEF,+CAA+C;QAC/C,MAAM,eAAe,GAAG,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC;QAE9D,YAAY,GAAG;YACb,kBAAkB,EAAE,gBAAgB;YACpC,gBAAgB,EAAE,eAAe;SAClC,CAAC;QAEF,6DAA6D;QAC7D,IAAI,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;oBACjC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,YAAY,EAAE,WAAW;oBACzB,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC5C,+BAA+B;oBAC/B,YAAY,GAAG;wBACb,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB;wBAClD,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe;wBAC/C,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc;wBAC7C,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB;qBACnD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAA+B;YACzC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,UAAU,CAAC,MAAM;YAC9B,OAAO;YACP,aAAa,EAAE,YAAY;SAC5B,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-translation-status.js","sourceRoot":"","sources":["../../src/tools/get-translation-status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-translations.d.ts","sourceRoot":"","sources":["../../src/tools/sync-translations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0BzE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAqB1B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAuJ3E;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2pBhE"}
1
+ {"version":3,"file":"sync-translations.d.ts","sourceRoot":"","sources":["../../src/tools/sync-translations.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0BzE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAqB1B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAwM3E;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmwBhE"}
@@ -107,6 +107,29 @@ function removeExtraKeys(targetObj, sourceKeys) {
107
107
  }
108
108
  return removeKeysFromObject(targetObj, extraKeys);
109
109
  }
110
+ /**
111
+ * Compute target file path by replacing source language with target language.
112
+ * Handles both directory-based (locales/en/file.json) and flat (locales/en.json) structures.
113
+ */
114
+ function computeTargetFilePath(sourcePath, sourceLang, targetLang) {
115
+ // Try directory-based replacement first: /en/ → /ko/
116
+ const dirPattern = `/${sourceLang}/`;
117
+ if (sourcePath.includes(dirPattern)) {
118
+ return sourcePath.replace(dirPattern, `/${targetLang}/`);
119
+ }
120
+ // Try flat file replacement: /en.json → /ko.json
121
+ const filePattern = `/${sourceLang}.json`;
122
+ if (sourcePath.endsWith(filePattern)) {
123
+ return sourcePath.slice(0, -filePattern.length) + `/${targetLang}.json`;
124
+ }
125
+ // Try filename with prefix: messages.en.json → messages.ko.json
126
+ const prefixPattern = `.${sourceLang}.json`;
127
+ if (sourcePath.endsWith(prefixPattern)) {
128
+ return sourcePath.slice(0, -prefixPattern.length) + `.${targetLang}.json`;
129
+ }
130
+ // Cannot determine target path
131
+ return null;
132
+ }
110
133
  /**
111
134
  * Register the sync_translations tool with the MCP server
112
135
  */
@@ -188,7 +211,11 @@ export function registerSyncTranslations(server) {
188
211
  for (const targetLang of existingLanguages) {
189
212
  for (const sourceFileData of sourceFilesData) {
190
213
  // Compute expected target file path
191
- const targetFilePath = sourceFileData.file.path.replace(`/${input.source_lang}/`, `/${targetLang}/`);
214
+ const targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, targetLang);
215
+ // Skip if path computation failed or would overwrite source
216
+ if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
217
+ continue;
218
+ }
192
219
  // Check if file exists
193
220
  try {
194
221
  await readFile(targetFilePath, "utf-8");
@@ -211,7 +238,11 @@ export function registerSyncTranslations(server) {
211
238
  const langExtraKeys = [];
212
239
  // Check each source file's corresponding target file
213
240
  for (const sourceFileData of sourceFilesData) {
214
- const targetFilePath = sourceFileData.file.path.replace(`/${input.source_lang}/`, `/${targetLang}/`);
241
+ const targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, targetLang);
242
+ // Skip if path computation failed or would overwrite source
243
+ if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
244
+ continue;
245
+ }
215
246
  const sourceFileKeys = new Set(sourceFileData.flatContent.map((item) => item.key));
216
247
  try {
217
248
  const content = await readFile(targetFilePath, "utf-8");
@@ -261,8 +292,12 @@ export function registerSyncTranslations(server) {
261
292
  let totalKeysRemovedForLang = 0;
262
293
  // Process each source file's corresponding target file
263
294
  for (const sourceFileData of sourceFilesData) {
264
- // Compute target file path by replacing source lang with target lang
265
- const targetFilePath = sourceFileData.file.path.replace(`/${input.source_lang}/`, `/${targetLang}/`);
295
+ // Compute target file path
296
+ const targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, targetLang);
297
+ // Skip if path computation failed or would overwrite source
298
+ if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
299
+ continue;
300
+ }
266
301
  const resolvedPath = resolve(targetFilePath);
267
302
  if (!isPathWithinProject(resolvedPath, projectPath)) {
268
303
  continue;
@@ -334,20 +369,56 @@ export function registerSyncTranslations(server) {
334
369
  // Check if we need per-language filtering
335
370
  const hasSkipKeys = input.skip_keys && Object.keys(input.skip_keys).length > 0;
336
371
  const hasMissingLanguages = missingLanguages.length > 0;
337
- // If we have missing languages, missing files, OR skip_keys, process per-language
372
+ // If we have missing languages, missing files, skip_keys, OR no cache, process per-language
373
+ // When cache is null, we need per-language processing to filter against existing target translations
338
374
  const hasLanguagesWithMissingFiles = languagesWithMissingFiles.length > 0;
339
- if (hasMissingLanguages || hasSkipKeys || hasLanguagesWithMissingFiles) {
340
- // Call API per language with filtered content
341
- let totalCreditsRequired = 0;
375
+ const needsTargetFiltering = !cachedContent && existingLanguages.length > 0;
376
+ if (hasMissingLanguages || hasSkipKeys || hasLanguagesWithMissingFiles || needsTargetFiltering) {
377
+ // Process each language one at a time: API call → write files → next language
378
+ // This ensures partial results are saved immediately and not lost on error
379
+ let totalCreditsUsed = 0;
342
380
  let totalWordsToTranslate = 0;
343
381
  let currentBalance = 0;
344
- const allResults = [];
382
+ // Track completed languages and their results
383
+ const completedResults = [];
384
+ const completedLanguages = [];
385
+ const allFilesWritten = [];
345
386
  for (const targetLang of input.target_langs) {
346
387
  // Determine base content: ALL keys for missing languages or languages with missing files
347
388
  const isMissingLang = missingLanguages.includes(targetLang);
348
389
  const hasMissingFiles = languagesWithMissingFiles.includes(targetLang);
349
390
  const needsFullSync = isMissingLang || hasMissingFiles;
350
- const baseContent = needsFullSync ? flatContent : localDelta.contentToSync;
391
+ let baseContent = needsFullSync ? flatContent : localDelta.contentToSync;
392
+ // Filter against existing target translations (not just cache)
393
+ // This ensures we only sync keys that are actually missing from target files
394
+ // Only apply when cache is null - otherwise cache delta already handles new/changed correctly
395
+ if (!isMissingLang && !cachedContent) {
396
+ const targetLocale = detection.locales.find((l) => l.lang === targetLang);
397
+ if (targetLocale && targetLocale.files.length > 0) {
398
+ // Read all target files and collect existing keys
399
+ const existingTargetKeys = new Set();
400
+ for (const targetFile of targetLocale.files) {
401
+ try {
402
+ const targetContent = await readFile(targetFile.path, "utf-8");
403
+ const parsed = parseJsonWithFormat(targetContent);
404
+ if (parsed) {
405
+ const flatTarget = flattenJson(parsed.data);
406
+ for (const item of flatTarget) {
407
+ // Only count as "existing" if it has a non-empty value
408
+ if (item.value && item.value.trim() !== "") {
409
+ existingTargetKeys.add(item.key);
410
+ }
411
+ }
412
+ }
413
+ }
414
+ catch {
415
+ // File read failed, treat as missing
416
+ }
417
+ }
418
+ // Filter out keys that already exist in target
419
+ baseContent = baseContent.filter((item) => !existingTargetKeys.has(item.key));
420
+ }
421
+ }
351
422
  // Apply skip_keys filter on top of base content
352
423
  const skipSet = getSkipKeysForLang(input.skip_keys, targetLang);
353
424
  const filteredContent = baseContent.filter((item) => !skipSet.has(item.key));
@@ -362,16 +433,50 @@ export function registerSyncTranslations(server) {
362
433
  }
363
434
  // Skip API call if no content after filtering
364
435
  if (filteredContent.length === 0) {
365
- allResults.push({ language: targetLang, translatedCount: 0, translations: [] });
436
+ completedResults.push({
437
+ language: targetLang,
438
+ translated_count: 0,
439
+ skipped_keys: skippedKeysReport[targetLang],
440
+ file_written: null,
441
+ });
442
+ completedLanguages.push(targetLang);
366
443
  continue;
367
444
  }
445
+ // Make API call for this language
368
446
  const response = await client.sync({
369
447
  source_lang: input.source_lang,
370
448
  target_langs: [targetLang],
371
449
  content: filteredContent,
372
450
  dry_run: input.dry_run,
373
451
  });
452
+ // Handle API error - return immediately (previous languages already saved)
374
453
  if (!response.success) {
454
+ const currentIndex = input.target_langs.indexOf(targetLang);
455
+ const remainingLangs = input.target_langs.slice(currentIndex + 1);
456
+ // Return partial error with info about completed languages
457
+ if (completedLanguages.length > 0) {
458
+ const output = {
459
+ success: false,
460
+ partial_results: {
461
+ languages_completed: completedLanguages,
462
+ files_written: allFilesWritten,
463
+ credits_used: totalCreditsUsed,
464
+ },
465
+ error: {
466
+ code: response.error.code,
467
+ message: response.error.message,
468
+ failed_language: targetLang,
469
+ remaining_languages: remainingLangs,
470
+ current_balance: response.error.currentBalance,
471
+ required_credits: response.error.requiredCredits,
472
+ top_up_url: response.error.topUpUrl,
473
+ },
474
+ };
475
+ return {
476
+ content: [{ type: "text", text: JSON.stringify(output, null, 2) }],
477
+ };
478
+ }
479
+ // No completed languages - return simple error
375
480
  const output = {
376
481
  success: false,
377
482
  error: {
@@ -386,70 +491,49 @@ export function registerSyncTranslations(server) {
386
491
  content: [{ type: "text", text: JSON.stringify(output, null, 2) }],
387
492
  };
388
493
  }
494
+ // Handle dry run response - just accumulate costs
389
495
  if ("delta" in response && response.cost) {
390
- // Dry run response
391
- totalCreditsRequired += response.cost.creditsRequired || 0;
392
496
  totalWordsToTranslate += response.cost.wordsToTranslate || 0;
497
+ totalCreditsUsed += response.cost.creditsRequired || 0;
393
498
  currentBalance = response.cost.currentBalance || 0;
499
+ completedLanguages.push(targetLang);
500
+ continue;
394
501
  }
395
- else if ("results" in response && response.cost) {
396
- // Execute response
397
- totalCreditsRequired += response.cost.creditsUsed || 0;
502
+ // Handle execute response - write files immediately for this language
503
+ if ("results" in response && response.cost) {
504
+ totalCreditsUsed += response.cost.creditsUsed || 0;
398
505
  currentBalance = response.cost.balanceAfterSync || 0;
399
- for (const result of response.results) {
400
- allResults.push(result);
506
+ const result = response.results[0];
507
+ if (!result) {
508
+ continue;
401
509
  }
402
- }
403
- }
404
- // Handle dry run response with skip_keys
405
- if (input.dry_run) {
406
- const skippedMsg = Object.keys(skippedKeysReport).length > 0
407
- ? ` Skipped keys: ${JSON.stringify(skippedKeysReport)}`
408
- : "";
409
- const output = {
410
- success: true,
411
- dry_run: true,
412
- delta: {
413
- new_keys: localDelta.newKeys,
414
- changed_keys: localDelta.changedKeys,
415
- total_keys_to_sync: localDelta.contentToSync.length,
416
- },
417
- cost: {
418
- words_to_translate: totalWordsToTranslate,
419
- credits_required: totalCreditsRequired,
420
- current_balance: currentBalance,
421
- balance_after_sync: currentBalance - totalCreditsRequired,
422
- },
423
- message: `Preview: ${localDelta.contentToSync.length} keys to sync, ${totalCreditsRequired} credits required.${skippedMsg} Run with dry_run=false to execute.`,
424
- };
425
- return {
426
- content: [{ type: "text", text: JSON.stringify(output, null, 2) }],
427
- };
428
- }
429
- // For execute mode, continue to file writing with allResults
430
- // We'll handle this in the results section below by setting response
431
- const response = {
432
- success: true,
433
- results: allResults,
434
- cost: { creditsUsed: totalCreditsRequired, balanceAfterSync: currentBalance - totalCreditsRequired },
435
- };
436
- // Continue to "Handle execute response" section below
437
- if ("results" in response) {
438
- const results = [];
439
- // Write translated content to files if requested
440
- if (input.write_to_files) {
441
- for (const result of response.results) {
442
- const lang = result.language;
443
- const filesWritten = [];
444
- // Write to each source file's corresponding target file
510
+ const filesWrittenForLang = [];
511
+ // Write files for this language if requested
512
+ if (input.write_to_files) {
513
+ // Check if target locale exists (use detected files)
514
+ const targetLocale = detection.locales.find((l) => l.lang === targetLang);
445
515
  for (const sourceFileData of sourceFilesData) {
446
- // Compute target file path by replacing source lang with target lang
447
- const targetFilePath = sourceFileData.file.path.replace(`/${input.source_lang}/`, `/${lang}/`);
516
+ // Compute target file path
517
+ let targetFilePath = null;
518
+ if (targetLocale && targetLocale.files.length > 0) {
519
+ // Use existing detected target file path
520
+ // Match by namespace or use first file for single-file projects
521
+ const matchingFile = targetLocale.files.find((f) => f.namespace === sourceFileData.file.namespace) || targetLocale.files[0];
522
+ targetFilePath = matchingFile.path;
523
+ }
524
+ else {
525
+ // New language - compute path from source
526
+ targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, targetLang);
527
+ }
528
+ // Safety check: prevent overwriting source file
529
+ if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
530
+ continue;
531
+ }
448
532
  const resolvedPath = resolve(targetFilePath);
449
533
  if (!isPathWithinProject(resolvedPath, projectPath)) {
450
534
  continue;
451
535
  }
452
- // Get the keys that belong to this source file
536
+ // Get keys that belong to this source file
453
537
  const sourceFileKeys = new Set(sourceFileData.flatContent.map((item) => item.key));
454
538
  // Filter translations to only those from this source file
455
539
  const fileTranslations = result.translations.filter((t) => sourceFileKeys.has(t.key));
@@ -468,53 +552,75 @@ export function registerSyncTranslations(server) {
468
552
  catch {
469
553
  // File doesn't exist yet, start with empty object
470
554
  }
471
- // Unflatten the new translations
555
+ // Unflatten and merge translations
472
556
  const newTranslations = unflattenJson(fileTranslations);
473
- // Deep merge: new translations override existing ones
474
557
  let mergedContent = deepMerge(existingContent, newTranslations);
475
- // Remove any keys in target that don't exist in this source file
476
558
  mergedContent = removeExtraKeys(mergedContent, sourceFileKeys);
559
+ // Write file
477
560
  await mkdir(dirname(resolvedPath), { recursive: true });
478
561
  const fileContent = stringifyWithFormat(mergedContent, sourceFileData.format);
479
562
  await writeFile(resolvedPath, fileContent, "utf-8");
480
- filesWritten.push(resolvedPath);
563
+ filesWrittenForLang.push(resolvedPath);
564
+ allFilesWritten.push(resolvedPath);
481
565
  }
482
- results.push({
483
- language: lang,
484
- translated_count: result.translatedCount,
485
- skipped_keys: skippedKeysReport[lang],
486
- file_written: filesWritten.length > 0 ? filesWritten.join(", ") : null,
487
- });
488
566
  }
489
- }
490
- else {
491
- for (const result of response.results) {
492
- results.push({
493
- language: result.language,
494
- translated_count: result.translatedCount,
495
- skipped_keys: skippedKeysReport[result.language],
496
- file_written: null,
497
- });
567
+ completedResults.push({
568
+ language: targetLang,
569
+ translated_count: result.translatedCount,
570
+ skipped_keys: skippedKeysReport[targetLang],
571
+ file_written: filesWrittenForLang.length > 0 ? filesWrittenForLang.join(", ") : null,
572
+ });
573
+ completedLanguages.push(targetLang);
574
+ // Update cache after each successful language write
575
+ if (input.write_to_files) {
576
+ await writeSyncCache(projectPath, input.source_lang, flatContent);
498
577
  }
499
578
  }
500
- await writeSyncCache(projectPath, input.source_lang, flatContent);
579
+ }
580
+ // All languages processed successfully
581
+ // Handle dry run response
582
+ if (input.dry_run) {
501
583
  const skippedMsg = Object.keys(skippedKeysReport).length > 0
502
- ? ` Skipped: ${JSON.stringify(skippedKeysReport)}`
584
+ ? ` Skipped keys: ${JSON.stringify(skippedKeysReport)}`
503
585
  : "";
504
586
  const output = {
505
587
  success: true,
506
- dry_run: false,
507
- results,
588
+ dry_run: true,
589
+ delta: {
590
+ new_keys: localDelta.newKeys,
591
+ changed_keys: localDelta.changedKeys,
592
+ total_keys_to_sync: localDelta.contentToSync.length,
593
+ },
508
594
  cost: {
509
- credits_used: response.cost.creditsUsed,
510
- balance_after_sync: response.cost.balanceAfterSync,
595
+ words_to_translate: totalWordsToTranslate,
596
+ credits_required: totalCreditsUsed,
597
+ current_balance: currentBalance,
598
+ balance_after_sync: currentBalance - totalCreditsUsed,
511
599
  },
512
- message: `Sync complete. ${response.results.reduce((sum, r) => sum + r.translatedCount, 0)} keys translated.${skippedMsg}`,
600
+ message: `Preview: ${localDelta.contentToSync.length} keys to sync, ${totalCreditsUsed} credits required.${skippedMsg} Run with dry_run=false to execute.`,
513
601
  };
514
602
  return {
515
603
  content: [{ type: "text", text: JSON.stringify(output, null, 2) }],
516
604
  };
517
605
  }
606
+ // Return success with all completed results
607
+ const skippedMsg = Object.keys(skippedKeysReport).length > 0
608
+ ? ` Skipped: ${JSON.stringify(skippedKeysReport)}`
609
+ : "";
610
+ const totalTranslated = completedResults.reduce((sum, r) => sum + r.translated_count, 0);
611
+ const output = {
612
+ success: true,
613
+ dry_run: false,
614
+ results: completedResults,
615
+ cost: {
616
+ credits_used: totalCreditsUsed,
617
+ balance_after_sync: currentBalance,
618
+ },
619
+ message: `Sync complete. ${totalTranslated} keys translated across ${completedLanguages.length} languages.${skippedMsg}`,
620
+ };
621
+ return {
622
+ content: [{ type: "text", text: JSON.stringify(output, null, 2) }],
623
+ };
518
624
  }
519
625
  // No skip_keys - use batch approach
520
626
  const response = await client.sync({
@@ -571,8 +677,12 @@ export function registerSyncTranslations(server) {
571
677
  const filesWritten = [];
572
678
  // Write to each source file's corresponding target file
573
679
  for (const sourceFileData of sourceFilesData) {
574
- // Compute target file path by replacing source lang with target lang
575
- const targetFilePath = sourceFileData.file.path.replace(`/${input.source_lang}/`, `/${lang}/`);
680
+ // Compute target file path
681
+ const targetFilePath = computeTargetFilePath(sourceFileData.file.path, input.source_lang, lang);
682
+ // Skip if path computation failed or would overwrite source
683
+ if (!targetFilePath || targetFilePath === sourceFileData.file.path) {
684
+ continue;
685
+ }
576
686
  const resolvedPath = resolve(targetFilePath);
577
687
  if (!isPathWithinProject(resolvedPath, projectPath)) {
578
688
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-translations.js","sourceRoot":"","sources":["../../src/tools/sync-translations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-translations.js","sourceRoot":"","sources":["../../src/tools/sync-translations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langapi/mcp-server",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "MCP server for LangAPI - AI-powered translation management for i18n projects",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",