@friggframework/schemas 2.0.0-next.55 → 2.0.0-next.56

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": "@friggframework/schemas",
3
- "version": "2.0.0-next.55",
3
+ "version": "2.0.0-next.56",
4
4
  "description": "Canonical JSON Schema definitions for Frigg Framework",
5
5
  "main": "index.js",
6
6
  "author": "",
@@ -39,5 +39,5 @@
39
39
  "validators/",
40
40
  "index.js"
41
41
  ],
42
- "gitHead": "7f86d4b5faaab4de74e6e3676948b62d1e1a5bb1"
42
+ "gitHead": "5551318d5c45913810a6b03a5ea19c72b5c4cb2f"
43
43
  }
@@ -290,6 +290,27 @@
290
290
  }
291
291
  },
292
292
  "additionalProperties": false
293
+ },
294
+ "encryption": {
295
+ "type": "object",
296
+ "description": "Module-specific encryption configuration for credential fields",
297
+ "properties": {
298
+ "credentialFields": {
299
+ "type": "array",
300
+ "description": "Credential field paths to encrypt (in addition to core schema). Use snake_case for consistency.",
301
+ "items": {
302
+ "type": "string",
303
+ "pattern": "^[a-zA-Z_][a-zA-Z0-9_.]*$",
304
+ "minLength": 1
305
+ },
306
+ "uniqueItems": true,
307
+ "examples": [
308
+ ["api_key", "custom_token"],
309
+ ["webhook_secret", "signing_key"]
310
+ ]
311
+ }
312
+ },
313
+ "additionalProperties": false
293
314
  }
294
315
  },
295
316
  "additionalProperties": false,
@@ -291,6 +291,42 @@
291
291
  "type": "boolean",
292
292
  "description": "Create KMS key if none found during discovery",
293
293
  "default": false
294
+ },
295
+ "schema": {
296
+ "type": "object",
297
+ "description": "Custom encryption schema defining additional fields to encrypt beyond core schema",
298
+ "patternProperties": {
299
+ "^[A-Z][a-zA-Z0-9]*$": {
300
+ "type": "object",
301
+ "description": "Model name (PascalCase Prisma model)",
302
+ "required": ["fields"],
303
+ "properties": {
304
+ "fields": {
305
+ "type": "array",
306
+ "description": "Array of field paths to encrypt (e.g., 'fieldName' or 'nested.field')",
307
+ "items": {
308
+ "type": "string",
309
+ "pattern": "^[a-zA-Z_][a-zA-Z0-9_.]*$",
310
+ "minLength": 1
311
+ },
312
+ "minItems": 1,
313
+ "uniqueItems": true
314
+ }
315
+ },
316
+ "additionalProperties": false
317
+ }
318
+ },
319
+ "additionalProperties": false,
320
+ "examples": [
321
+ {
322
+ "Credential": {
323
+ "fields": ["data.customToken", "data.proprietaryKey"]
324
+ },
325
+ "MyCustomModel": {
326
+ "fields": ["secretData", "nested.apiKey"]
327
+ }
328
+ }
329
+ ]
294
330
  }
295
331
  },
296
332
  "additionalProperties": false