@sonenta/mcp 0.31.0 → 0.32.0
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonenta/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "MCP server for Sonenta translation management \u2014 wires Claude Desktop and other MCP clients into your project's keys, missing-key feed, and translation drafts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://sonenta.com",
|
|
Binary file
|
package/python/pyproject.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sonenta-mcp"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.32.0"
|
|
4
4
|
description = "Model Context Protocol server for Sonenta — list projects, missing keys, propose translations from Claude Desktop and other MCP clients."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12,<3.14"
|
|
@@ -89,27 +89,33 @@ from .client import VerbumiaApiError, VerbumiaClient
|
|
|
89
89
|
# visible text. `surfaceKinds` in the variants matrix tags each as a11y.
|
|
90
90
|
A11Y_SURFACES = ("aria_label", "alt_text", "screen_reader", "plain_language")
|
|
91
91
|
|
|
92
|
-
# RS1 (
|
|
93
|
-
# resolving a duplicate group — accepted on ALL FOUR resolution paths
|
|
92
|
+
# RS1 (1367) + FM1 (1390) + FF1 (1397): audit trail of t() repoints an agent made
|
|
93
|
+
# while resolving a duplicate group — accepted on ALL FOUR resolution paths
|
|
94
94
|
# (set_source_duplicate_merge_plan, set_duplicate_status, apply_new_key_cluster,
|
|
95
|
-
# mark_cluster_applied), persisted + surfaced in resolved_duplicates[].
|
|
96
|
-
#
|
|
95
|
+
# mark_cluster_applied), persisted + surfaced in resolved_duplicates[]. UNION-MERGE
|
|
96
|
+
# (accumulate + dedup by normalized entry). FF1 split key_name into found_key +
|
|
97
|
+
# replacement_key (key_name kept, deprecated).
|
|
97
98
|
_FILES_MODIFIED_SCHEMA = {
|
|
98
99
|
"type": "array",
|
|
99
100
|
"description": (
|
|
100
|
-
"Optional audit trail of the
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
101
|
+
"Optional audit trail of the t() repoints you made while resolving this group: "
|
|
102
|
+
"each {path (required), line?, found_key, replacement_key, occurrences?}. "
|
|
103
|
+
"`found_key` = the key string that WAS in the code at this spot (the old, "
|
|
104
|
+
"redundant one); `replacement_key` = the canonical you repointed it to (an "
|
|
105
|
+
"existing survivor, OR the new_key from apply_new_key_cluster). Accepted on "
|
|
106
|
+
"every resolution path and MERGED (union + dedup by the full normalized entry) "
|
|
107
|
+
"— record edits at whatever step you make them and they accumulate; omit to "
|
|
108
|
+
"preserve the existing list. Always pass the STRUCTURED field, never just a note."
|
|
106
109
|
),
|
|
107
110
|
"items": {
|
|
108
111
|
"type": "object",
|
|
109
112
|
"properties": {
|
|
110
113
|
"path": {"type": "string", "description": "Repo-relative file path that was edited."},
|
|
111
114
|
"line": {"type": "integer", "description": "Optional 1-based line number of the edit."},
|
|
112
|
-
"
|
|
115
|
+
"found_key": {"type": "string", "description": "The OLD key found in the code at this spot (the redundant one being repointed away)."},
|
|
116
|
+
"replacement_key": {"type": "string", "description": "The CANONICAL key you repointed to (an existing survivor, or the created new_key)."},
|
|
117
|
+
"occurrences": {"type": "integer", "description": "Optional count of how many usages you replaced here."},
|
|
118
|
+
"key_name": {"type": "string", "description": "DEPRECATED (pre-FF1 single field) — prefer found_key + replacement_key."},
|
|
113
119
|
},
|
|
114
120
|
"required": ["path"],
|
|
115
121
|
"additionalProperties": False,
|
|
Binary file
|