@friggframework/schemas 2.0.0-next.55 → 2.0.0-next.57
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.
|
|
3
|
+
"version": "2.0.0-next.57",
|
|
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": "
|
|
42
|
+
"gitHead": "d09ee09decef14a8cdbf657494ac0dc9bf0b4014"
|
|
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
|
|
@@ -251,9 +251,94 @@
|
|
|
251
251
|
}
|
|
252
252
|
},
|
|
253
253
|
"additionalProperties": false
|
|
254
|
+
},
|
|
255
|
+
"modules": {
|
|
256
|
+
"type": "object",
|
|
257
|
+
"description": "API modules used by this integration. Keys are reference names, values contain module definitions.",
|
|
258
|
+
"additionalProperties": {
|
|
259
|
+
"type": "object",
|
|
260
|
+
"description": "Module configuration with its definition",
|
|
261
|
+
"required": ["definition"],
|
|
262
|
+
"properties": {
|
|
263
|
+
"definition": {
|
|
264
|
+
"type": "object",
|
|
265
|
+
"description": "The API module definition (e.g., from @friggframework/api-module-*)"
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
"additionalProperties": true
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"hasUserConfig": {
|
|
272
|
+
"type": "boolean",
|
|
273
|
+
"description": "Whether integration requires user-specific configuration",
|
|
274
|
+
"default": false
|
|
275
|
+
},
|
|
276
|
+
"webhooks": {
|
|
277
|
+
"type": "object",
|
|
278
|
+
"description": "Webhook configuration for the integration",
|
|
279
|
+
"properties": {
|
|
280
|
+
"enabled": {
|
|
281
|
+
"type": "boolean",
|
|
282
|
+
"description": "Whether webhooks are enabled",
|
|
283
|
+
"default": false
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"additionalProperties": true
|
|
287
|
+
},
|
|
288
|
+
"display": {
|
|
289
|
+
"type": "object",
|
|
290
|
+
"description": "Display properties for UI representation",
|
|
291
|
+
"properties": {
|
|
292
|
+
"label": {
|
|
293
|
+
"type": "string",
|
|
294
|
+
"description": "Human-readable display label"
|
|
295
|
+
},
|
|
296
|
+
"description": {
|
|
297
|
+
"type": "string",
|
|
298
|
+
"description": "Integration description"
|
|
299
|
+
},
|
|
300
|
+
"category": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "Integration category for grouping"
|
|
303
|
+
},
|
|
304
|
+
"detailsUrl": {
|
|
305
|
+
"type": "string",
|
|
306
|
+
"description": "URL to integration documentation or details",
|
|
307
|
+
"format": "uri"
|
|
308
|
+
},
|
|
309
|
+
"icon": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "Icon identifier or URL for the integration"
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
"additionalProperties": true
|
|
315
|
+
},
|
|
316
|
+
"routes": {
|
|
317
|
+
"type": "array",
|
|
318
|
+
"description": "Custom routes exposed by this integration",
|
|
319
|
+
"items": {
|
|
320
|
+
"type": "object",
|
|
321
|
+
"required": ["path", "method", "event"],
|
|
322
|
+
"properties": {
|
|
323
|
+
"path": {
|
|
324
|
+
"type": "string",
|
|
325
|
+
"description": "Route path pattern"
|
|
326
|
+
},
|
|
327
|
+
"method": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"description": "HTTP method",
|
|
330
|
+
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"]
|
|
331
|
+
},
|
|
332
|
+
"event": {
|
|
333
|
+
"type": "string",
|
|
334
|
+
"description": "Event name triggered by this route"
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
"additionalProperties": true
|
|
338
|
+
}
|
|
254
339
|
}
|
|
255
340
|
},
|
|
256
|
-
"additionalProperties":
|
|
341
|
+
"additionalProperties": true,
|
|
257
342
|
"examples": [
|
|
258
343
|
{
|
|
259
344
|
"name": "hubspot",
|