← Files Structura JSON DiffARCHIVED FILE
.codex-plugin/plugin.json
9.31 KB · Nov 3, 2026 · 19:22 UTC
{
"name": "json-diff",
"version": "1.0.0",
"description": "See what changed inside JSON.",
"author": {
"name": "Zovo",
"email": "support@zovo.one",
"url": "https://zovo.one"
},
"homepage": "https://json-diff.zovo.one",
"license": "Proprietary",
"keywords": [
"json diff",
"compare json",
"json comparison",
"json pointer",
"type changes",
"developer utility"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Structura JSON Diff",
"shortDescription": "Compare JSON paths and types",
"longDescription": "Developer utility for comparing two strict JSON documents. Inspect additions, removals, changed values, and type changes at JSON Pointer paths. Object key order is ignored; arrays compare by position. Numeric tokens compare as decimal values so large integers do not collapse through floating-point rounding.\n\nSearch paths, filter change types, edit documents, and download a JSON report containing the detected differences. The text response includes counts and a compact preview. The root path is an empty string; tilde and slash in keys are escaped under JSON Pointer rules.\n\nLimits: 20,000 characters and 4,000 values per document, depth 64, 500 differences, numeric exponent magnitude at most 10000. Strict JSON only; duplicate keys rejected. No YAML, JSON5, source-code comparison, patch application, array move detection, or inferred object identity. Downloads expire in about one hour. Avoid including secrets.",
"developerName": "Zovo",
"category": "Developer Tools",
"capabilities": [
"Interactive",
"Read"
],
"websiteURL": "https://json-diff.zovo.one",
"supportURL": "https://json-diff.zovo.one/support",
"privacyPolicyURL": "https://json-diff.zovo.one/privacy",
"termsOfServiceURL": "https://json-diff.zovo.one/terms",
"defaultPrompt": [
"Compare JSON {\"a\":1} with {\"a\":2,\"enabled\":true}.",
"Compare JSON [1,2] with [2,1,3].",
"Compare JSON {\"a\":1,\"b\":2} with {\"b\":2.0,\"a\":1e0}."
],
"brandColor": "#5263D8",
"brandColorDark": "#A0AAFF",
"composerIcon": "./assets/icon.svg",
"logo": "./assets/logo.png"
},
"extensions": {
"com.openai": {
"onboardingSkill": "./skills/json-diff/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Nested value and type changes",
"prompt": "Compare JSON before {\"service\":{\"timeout\":30,\"enabled\":true}} and after {\"service\":{\"timeout\":45,\"enabled\":\"true\"},\"region\":\"EU\"}.",
"tools_triggered": "compare_json",
"expected_behavior": "Returns 3 changes: /region added, /service/enabled type_changed, /service/timeout value_changed. Shows an interactive path list and JSON report download."
},
{
"description": "Object order and numeric spelling",
"prompt": "Compare JSON before {\"a\":1,\"b\":2} and after {\"b\":2.0,\"a\":1e0}.",
"tools_triggered": "compare_json",
"expected_behavior": "Documents are semantically equal. Shows an interactive path list and JSON report download."
},
{
"description": "Array positions and additions",
"prompt": "Compare JSON before [1,2] and after [2,1,3].",
"tools_triggered": "compare_json",
"expected_behavior": "Returns 3 changes: /0 value_changed, /1 value_changed, /2 added. Shows an interactive path list and JSON report download."
},
{
"description": "Large integer precision",
"prompt": "Compare JSON before {\"id\":9007199254740992} and after {\"id\":9007199254740993}.",
"tools_triggered": "compare_json",
"expected_behavior": "Returns 1 changes: /id value_changed. Shows an interactive path list and JSON report download."
},
{
"description": "Prototype keys and pointer escapes",
"prompt": "Compare JSON before {\"__proto__\":{\"active\":true},\"a/b~\":1} and after {\"__proto__\":{\"active\":false},\"a/b~\":\"1\"}.",
"tools_triggered": "compare_json",
"expected_behavior": "Returns 2 changes: /__proto__/active value_changed, /a~1b~0 type_changed. Shows an interactive path list and JSON report download."
}
],
"negative": [
{
"description": "Source code is outside strict JSON comparison; do not call the tool.",
"prompt": "Compare these Python functions and explain the algorithmic changes."
},
{
"description": "YAML parsing is not supported; do not call the tool.",
"prompt": "Compare two YAML configuration files with anchors and aliases."
},
{
"description": "Patch execution is not supported; do not call the tool.",
"prompt": "Apply a JSON Patch to my production API and deploy it."
}
]
},
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments.",
"demo_recording_url": "https://json-diff.zovo.one/demo.mp4"
},
"publication": {
"countries": [],
"release_notes": "Initial release: semantic JSON paths, type changes, decimal-token precision, filters, and JSON report downloads.",
"translations": {
"pl-PL": {
"subtitle": "Por\u00f3wnaj \u015bcie\u017cki i typy JSON",
"description": "Por\u00f3wnuj dokumenty JSON: dodane i usuni\u0119te pola, zmiany warto\u015bci i typ\u00f3w. Kolejno\u015b\u0107 kluczy obiektu jest pomijana, kolejno\u015b\u0107 tablic ma znaczenie. Liczby s\u0105 por\u00f3wnywane bez zaokr\u0105glania zmiennoprzecinkowego. Filtruj \u015bcie\u017cki i pobierz raport JSON. Limit: 20 000 znak\u00f3w na dokument, 500 r\u00f3\u017cnic. Duplikaty kluczy s\u0105 odrzucane; YAML i JSON5 nie s\u0105 obs\u0142ugiwane. Link wygasa po oko\u0142o godzinie."
},
"de-DE": {
"subtitle": "JSON-Pfade und Typen pr\u00fcfen",
"description": "Vergleichen Sie JSON-Dokumente nach Pfaden, Werten und Typen. Die Reihenfolge von Objektschl\u00fcsseln wird ignoriert; die Reihenfolge von Arrays z\u00e4hlt. Dezimalzahlen werden ohne Gleitkomma-Rundung verglichen. Filtern Sie \u00c4nderungen und laden Sie einen JSON-Bericht herunter. Maximal 20.000 Zeichen pro Dokument und 500 Unterschiede. Doppelte Schl\u00fcssel, YAML und JSON5 werden nicht unterst\u00fctzt. Downloads laufen nach etwa einer Stunde ab."
},
"es-ES": {
"subtitle": "Compara rutas y tipos JSON",
"description": "Compara documentos JSON por rutas, valores y tipos. El orden de las claves no importa; el de las matrices s\u00ed. Los n\u00fameros decimales se comparan sin redondeo de coma flotante. Filtra cambios y descarga un informe JSON. Hasta 20.000 caracteres por documento y 500 diferencias. Se rechazan claves duplicadas; no admite YAML ni JSON5. El enlace caduca aproximadamente en una hora."
},
"fr-FR": {
"subtitle": "Comparez chemins et types JSON",
"description": "Comparez des documents JSON par chemins, valeurs et types. L\u2019ordre des cl\u00e9s est ignor\u00e9 ; celui des tableaux compte. Les nombres d\u00e9cimaux sont compar\u00e9s sans arrondi flottant. Filtrez les modifications et t\u00e9l\u00e9chargez un rapport JSON. Limites : 20 000 caract\u00e8res par document et 500 diff\u00e9rences. Les cl\u00e9s dupliqu\u00e9es sont rejet\u00e9es. YAML et JSON5 ne sont pas pris en charge. Le lien expire apr\u00e8s environ une heure."
},
"ja-JP": {
"subtitle": "JSON\u306e\u30d1\u30b9\u3068\u578b\u3092\u6bd4\u8f03",
"description": "JSON\u6587\u66f8\u306e\u8ffd\u52a0\u3001\u524a\u9664\u3001\u5024\u3084\u578b\u306e\u5909\u66f4\u3092\u30d1\u30b9\u3054\u3068\u306b\u6bd4\u8f03\u3057\u307e\u3059\u3002\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ad\u30fc\u9806\u306f\u7121\u8996\u3057\u3001\u914d\u5217\u306e\u9806\u5e8f\u306f\u533a\u5225\u3057\u307e\u3059\u3002\u6570\u5024\u306f\u6d6e\u52d5\u5c0f\u6570\u70b9\u306e\u4e38\u3081\u306a\u3057\u3067\u6bd4\u8f03\u3057\u307e\u3059\u3002\u691c\u7d22\u3001\u7d5e\u308a\u8fbc\u307f\u3001JSON\u30ec\u30dd\u30fc\u30c8\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306b\u5bfe\u5fdc\u3002\u6587\u66f8\u3054\u3068\u306b\u6700\u592720,000\u6587\u5b57\u3001\u5dee\u5206\u306f\u6700\u5927500\u4ef6\u3002\u91cd\u8907\u30ad\u30fc\u3001YAML\u3001JSON5\u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u305b\u3093\u3002\u30ea\u30f3\u30af\u306f\u7d041\u6642\u9593\u3067\u5931\u52b9\u3057\u307e\u3059\u3002"
},
"pt-BR": {
"subtitle": "Compare caminhos e tipos JSON",
"description": "Compare documentos JSON por caminhos, valores e tipos. A ordem das chaves \u00e9 ignorada; a ordem dos arrays importa. N\u00fameros decimais s\u00e3o comparados sem arredondamento de ponto flutuante. Filtre mudan\u00e7as e baixe um relat\u00f3rio JSON. At\u00e9 20.000 caracteres por documento e 500 diferen\u00e7as. Chaves duplicadas s\u00e3o rejeitadas; YAML e JSON5 n\u00e3o s\u00e3o compat\u00edveis. O link expira em cerca de uma hora."
}
}
}
}
},
"apps": "./.app.json"
}
SHA-256: 9143640f01ab643dc16fd6ac54948e41db3f49f39fecdbf45d00dfd2a7d72eee