@verbatra/sdk 0.11.1 → 0.13.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.
@@ -0,0 +1,433 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://verbatra.kreitz-webdev.de/schema/v1/data-flow-manifest.json",
4
+ "title": "verbatra data-flow manifest",
5
+ "type": "object",
6
+ "properties": {
7
+ "version": {
8
+ "type": "number",
9
+ "const": 1
10
+ },
11
+ "provider": {
12
+ "type": "object",
13
+ "properties": {
14
+ "id": {
15
+ "type": "string",
16
+ "enum": [
17
+ "anthropic",
18
+ "openai",
19
+ "gemini",
20
+ "deepl",
21
+ "google-translate",
22
+ "openai-compatible",
23
+ "opencode",
24
+ "libretranslate",
25
+ "none"
26
+ ]
27
+ },
28
+ "kind": {
29
+ "type": "string",
30
+ "enum": [
31
+ "llm",
32
+ "machine-translation",
33
+ "none"
34
+ ]
35
+ },
36
+ "model": {
37
+ "type": "string"
38
+ }
39
+ },
40
+ "required": [
41
+ "id",
42
+ "kind"
43
+ ],
44
+ "additionalProperties": {}
45
+ },
46
+ "network": {
47
+ "oneOf": [
48
+ {
49
+ "type": "object",
50
+ "properties": {
51
+ "status": {
52
+ "type": "string",
53
+ "const": "resolved"
54
+ },
55
+ "restricted": {
56
+ "type": "boolean"
57
+ },
58
+ "rules": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "object",
62
+ "properties": {
63
+ "source": {
64
+ "type": "string",
65
+ "enum": [
66
+ "config",
67
+ "environment"
68
+ ]
69
+ },
70
+ "policy": {
71
+ "type": "string",
72
+ "enum": [
73
+ "any",
74
+ "local-only",
75
+ "allowlist"
76
+ ]
77
+ },
78
+ "allowedHosts": {
79
+ "type": "array",
80
+ "items": {
81
+ "type": "string"
82
+ }
83
+ }
84
+ },
85
+ "required": [
86
+ "source",
87
+ "policy",
88
+ "allowedHosts"
89
+ ],
90
+ "additionalProperties": {}
91
+ }
92
+ }
93
+ },
94
+ "required": [
95
+ "status",
96
+ "restricted",
97
+ "rules"
98
+ ],
99
+ "additionalProperties": {}
100
+ },
101
+ {
102
+ "type": "object",
103
+ "properties": {
104
+ "status": {
105
+ "type": "string",
106
+ "const": "invalid"
107
+ },
108
+ "error": {
109
+ "type": "string"
110
+ }
111
+ },
112
+ "required": [
113
+ "status",
114
+ "error"
115
+ ],
116
+ "additionalProperties": {}
117
+ }
118
+ ]
119
+ },
120
+ "destinations": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "object",
124
+ "properties": {
125
+ "host": {
126
+ "type": "string",
127
+ "minLength": 1
128
+ },
129
+ "source": {
130
+ "type": "string",
131
+ "enum": [
132
+ "default",
133
+ "config",
134
+ "environment"
135
+ ]
136
+ },
137
+ "setBy": {
138
+ "type": "string"
139
+ },
140
+ "when": {
141
+ "type": "string",
142
+ "enum": [
143
+ "free-key",
144
+ "paid-key"
145
+ ]
146
+ },
147
+ "policyCheck": {
148
+ "type": "string",
149
+ "enum": [
150
+ "per-request",
151
+ "before-construction"
152
+ ]
153
+ },
154
+ "verdict": {
155
+ "type": "string",
156
+ "enum": [
157
+ "permitted",
158
+ "deferred",
159
+ "refused",
160
+ "invalid-policy"
161
+ ]
162
+ },
163
+ "reason": {
164
+ "type": "string"
165
+ },
166
+ "proxies": {
167
+ "type": "array",
168
+ "items": {
169
+ "type": "object",
170
+ "properties": {
171
+ "variable": {
172
+ "type": "string",
173
+ "minLength": 1
174
+ },
175
+ "host": {
176
+ "type": "string",
177
+ "minLength": 1
178
+ }
179
+ },
180
+ "required": [
181
+ "variable",
182
+ "host"
183
+ ],
184
+ "additionalProperties": {}
185
+ }
186
+ }
187
+ },
188
+ "required": [
189
+ "host",
190
+ "source",
191
+ "policyCheck",
192
+ "verdict",
193
+ "proxies"
194
+ ],
195
+ "additionalProperties": {}
196
+ }
197
+ },
198
+ "sent": {
199
+ "type": "object",
200
+ "properties": {
201
+ "nothing": {
202
+ "type": "boolean"
203
+ },
204
+ "fields": {
205
+ "type": "array",
206
+ "items": {
207
+ "type": "string",
208
+ "enum": [
209
+ "key-name",
210
+ "source-text",
211
+ "description",
212
+ "meaning",
213
+ "placeholder-markers",
214
+ "language-codes",
215
+ "language-names",
216
+ "tone",
217
+ "formality",
218
+ "glossary-terms",
219
+ "glossary-id",
220
+ "plural-categories",
221
+ "instructions",
222
+ "model",
223
+ "output-token-limit"
224
+ ]
225
+ }
226
+ },
227
+ "apiKey": {
228
+ "type": "string",
229
+ "enum": [
230
+ "required",
231
+ "optional",
232
+ "none"
233
+ ]
234
+ },
235
+ "placeholders": {
236
+ "type": "string",
237
+ "enum": [
238
+ "as-written",
239
+ "masked",
240
+ "none"
241
+ ]
242
+ },
243
+ "sensitiveData": {
244
+ "type": "string",
245
+ "enum": [
246
+ "off",
247
+ "warn",
248
+ "block",
249
+ "redact"
250
+ ]
251
+ },
252
+ "counts": {
253
+ "type": "object",
254
+ "properties": {
255
+ "sourceKeys": {
256
+ "type": "integer",
257
+ "minimum": 0,
258
+ "maximum": 9007199254740991
259
+ },
260
+ "keysWithContext": {
261
+ "type": "integer",
262
+ "minimum": 0,
263
+ "maximum": 9007199254740991
264
+ },
265
+ "keysWithheld": {
266
+ "type": "integer",
267
+ "minimum": 0,
268
+ "maximum": 9007199254740991
269
+ }
270
+ },
271
+ "required": [
272
+ "sourceKeys",
273
+ "keysWithContext"
274
+ ],
275
+ "additionalProperties": {}
276
+ },
277
+ "countsUnavailable": {
278
+ "type": "string"
279
+ }
280
+ },
281
+ "required": [
282
+ "nothing",
283
+ "fields",
284
+ "apiKey",
285
+ "placeholders",
286
+ "sensitiveData"
287
+ ],
288
+ "additionalProperties": {}
289
+ },
290
+ "locales": {
291
+ "type": "array",
292
+ "items": {
293
+ "type": "object",
294
+ "properties": {
295
+ "locale": {
296
+ "type": "string",
297
+ "minLength": 1
298
+ },
299
+ "codeSent": {
300
+ "type": "string",
301
+ "minLength": 1
302
+ },
303
+ "mapped": {
304
+ "type": "boolean"
305
+ },
306
+ "glossaryTermsSent": {
307
+ "type": "integer",
308
+ "minimum": 0,
309
+ "maximum": 9007199254740991
310
+ }
311
+ },
312
+ "required": [
313
+ "locale",
314
+ "codeSent",
315
+ "mapped",
316
+ "glossaryTermsSent"
317
+ ],
318
+ "additionalProperties": {}
319
+ }
320
+ },
321
+ "local": {
322
+ "type": "array",
323
+ "items": {
324
+ "type": "object",
325
+ "properties": {
326
+ "id": {
327
+ "type": "string",
328
+ "enum": [
329
+ "lock",
330
+ "provenance",
331
+ "limits",
332
+ "cache",
333
+ "local-state"
334
+ ]
335
+ },
336
+ "path": {
337
+ "type": "string",
338
+ "minLength": 1
339
+ },
340
+ "holdsSourceText": {
341
+ "type": "boolean"
342
+ },
343
+ "holdsTranslations": {
344
+ "type": "boolean"
345
+ },
346
+ "holdsPersonalData": {
347
+ "type": "boolean"
348
+ },
349
+ "gitignoredByInit": {
350
+ "type": "boolean"
351
+ }
352
+ },
353
+ "required": [
354
+ "id",
355
+ "path",
356
+ "holdsSourceText",
357
+ "holdsTranslations",
358
+ "holdsPersonalData",
359
+ "gitignoredByInit"
360
+ ],
361
+ "additionalProperties": {}
362
+ }
363
+ },
364
+ "otherRequests": {
365
+ "type": "array",
366
+ "items": {
367
+ "type": "object",
368
+ "properties": {
369
+ "id": {
370
+ "type": "string",
371
+ "enum": [
372
+ "language-list",
373
+ "dns-lookup"
374
+ ]
375
+ },
376
+ "trigger": {
377
+ "type": "string",
378
+ "minLength": 1
379
+ },
380
+ "sendsApiKey": {
381
+ "type": "boolean"
382
+ }
383
+ },
384
+ "required": [
385
+ "id",
386
+ "trigger",
387
+ "sendsApiKey"
388
+ ],
389
+ "additionalProperties": {}
390
+ }
391
+ },
392
+ "agents": {
393
+ "type": "array",
394
+ "items": {
395
+ "type": "object",
396
+ "properties": {
397
+ "id": {
398
+ "type": "string",
399
+ "enum": [
400
+ "mcp",
401
+ "studio-agent-tools"
402
+ ]
403
+ },
404
+ "trigger": {
405
+ "type": "string",
406
+ "minLength": 1
407
+ },
408
+ "redactable": {
409
+ "type": "boolean"
410
+ }
411
+ },
412
+ "required": [
413
+ "id",
414
+ "trigger",
415
+ "redactable"
416
+ ],
417
+ "additionalProperties": {}
418
+ }
419
+ }
420
+ },
421
+ "required": [
422
+ "version",
423
+ "provider",
424
+ "network",
425
+ "destinations",
426
+ "sent",
427
+ "locales",
428
+ "local",
429
+ "otherRequests",
430
+ "agents"
431
+ ],
432
+ "additionalProperties": {}
433
+ }
@@ -0,0 +1,270 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://verbatra.kreitz-webdev.de/schema/v1/diff-summary.json",
4
+ "title": "verbatra diff summary",
5
+ "type": "object",
6
+ "properties": {
7
+ "hasPendingChanges": {
8
+ "type": "boolean"
9
+ },
10
+ "locales": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "locale": {
16
+ "type": "string"
17
+ },
18
+ "missing": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "changed": {
25
+ "type": "array",
26
+ "items": {
27
+ "type": "string"
28
+ }
29
+ },
30
+ "orphaned": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "string"
34
+ }
35
+ },
36
+ "hasPendingChanges": {
37
+ "type": "boolean"
38
+ },
39
+ "emptySource": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "string"
43
+ }
44
+ },
45
+ "changedOrigins": {
46
+ "type": "object",
47
+ "propertyNames": {
48
+ "type": "string"
49
+ },
50
+ "additionalProperties": {
51
+ "type": "string",
52
+ "enum": [
53
+ "machine",
54
+ "memory",
55
+ "fuzzy",
56
+ "agent",
57
+ "human",
58
+ "import",
59
+ "unknown",
60
+ "unrecorded",
61
+ "external"
62
+ ]
63
+ }
64
+ },
65
+ "protected": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "string"
69
+ }
70
+ }
71
+ },
72
+ "required": [
73
+ "locale",
74
+ "missing",
75
+ "changed",
76
+ "orphaned",
77
+ "hasPendingChanges"
78
+ ]
79
+ }
80
+ },
81
+ "unused": {
82
+ "anyOf": [
83
+ {
84
+ "type": "object",
85
+ "properties": {
86
+ "status": {
87
+ "type": "string",
88
+ "const": "not-run"
89
+ },
90
+ "reason": {
91
+ "type": "string",
92
+ "enum": [
93
+ "EXTRACT_NOT_CONFIGURED",
94
+ "EXTRACT_FS_UNSUPPORTED",
95
+ "FRAMEWORK_NOT_MODELED",
96
+ "NO_SOURCE_FILES",
97
+ "NO_REFERENCES_FOUND"
98
+ ]
99
+ },
100
+ "message": {
101
+ "type": "string"
102
+ }
103
+ },
104
+ "required": [
105
+ "status",
106
+ "reason",
107
+ "message"
108
+ ]
109
+ },
110
+ {
111
+ "type": "object",
112
+ "properties": {
113
+ "status": {
114
+ "type": "string",
115
+ "enum": [
116
+ "complete",
117
+ "unreliable"
118
+ ]
119
+ },
120
+ "unreliableBecause": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "object",
124
+ "properties": {
125
+ "reason": {
126
+ "type": "string",
127
+ "enum": [
128
+ "dynamic-keys",
129
+ "dynamic-key-prefix",
130
+ "trans-without-key",
131
+ "aliased-translate-function",
132
+ "translate-function-escapes",
133
+ "unrecognised-translate-source",
134
+ "template-files-not-scanned",
135
+ "incomplete-scan"
136
+ ]
137
+ },
138
+ "count": {
139
+ "type": "number"
140
+ },
141
+ "sites": {
142
+ "type": "array",
143
+ "items": {
144
+ "type": "object",
145
+ "properties": {
146
+ "file": {
147
+ "type": "string"
148
+ },
149
+ "line": {
150
+ "type": "number"
151
+ },
152
+ "detail": {
153
+ "type": "string"
154
+ }
155
+ },
156
+ "required": [
157
+ "file"
158
+ ]
159
+ }
160
+ }
161
+ },
162
+ "required": [
163
+ "reason",
164
+ "count",
165
+ "sites"
166
+ ]
167
+ }
168
+ },
169
+ "scannedFiles": {
170
+ "type": "number"
171
+ },
172
+ "unused": {
173
+ "type": "array",
174
+ "items": {
175
+ "type": "object",
176
+ "properties": {
177
+ "key": {
178
+ "type": "string"
179
+ },
180
+ "catalogKey": {
181
+ "type": "string"
182
+ }
183
+ },
184
+ "required": [
185
+ "key",
186
+ "catalogKey"
187
+ ]
188
+ }
189
+ },
190
+ "possiblyDynamic": {
191
+ "type": "array",
192
+ "items": {
193
+ "type": "object",
194
+ "properties": {
195
+ "key": {
196
+ "type": "string"
197
+ },
198
+ "catalogKey": {
199
+ "type": "string"
200
+ },
201
+ "prefix": {
202
+ "type": "string"
203
+ }
204
+ },
205
+ "required": [
206
+ "key",
207
+ "catalogKey",
208
+ "prefix"
209
+ ]
210
+ }
211
+ },
212
+ "ignored": {
213
+ "type": "array",
214
+ "items": {
215
+ "type": "object",
216
+ "properties": {
217
+ "key": {
218
+ "type": "string"
219
+ },
220
+ "catalogKey": {
221
+ "type": "string"
222
+ }
223
+ },
224
+ "required": [
225
+ "key",
226
+ "catalogKey"
227
+ ]
228
+ }
229
+ },
230
+ "dynamicPrefixes": {
231
+ "type": "array",
232
+ "items": {
233
+ "type": "object",
234
+ "properties": {
235
+ "file": {
236
+ "type": "string"
237
+ },
238
+ "line": {
239
+ "type": "number"
240
+ },
241
+ "prefix": {
242
+ "type": "string"
243
+ }
244
+ },
245
+ "required": [
246
+ "file",
247
+ "line",
248
+ "prefix"
249
+ ]
250
+ }
251
+ }
252
+ },
253
+ "required": [
254
+ "status",
255
+ "unreliableBecause",
256
+ "scannedFiles",
257
+ "unused",
258
+ "possiblyDynamic",
259
+ "ignored",
260
+ "dynamicPrefixes"
261
+ ]
262
+ }
263
+ ]
264
+ }
265
+ },
266
+ "required": [
267
+ "hasPendingChanges",
268
+ "locales"
269
+ ]
270
+ }