@fayz-ai/core 0.9.0 → 0.10.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.
Files changed (170) hide show
  1. package/README.md +2 -2
  2. package/dist/access/index.js.map +1 -1
  3. package/dist/{chunk-L4TLMYGC.js → chunk-6RBW2Y5K.js} +3 -3
  4. package/dist/chunk-6RBW2Y5K.js.map +1 -0
  5. package/dist/chunk-732GZEUI.js +1592 -0
  6. package/dist/chunk-732GZEUI.js.map +1 -0
  7. package/dist/{chunk-X5THHG6T.js → chunk-CPMHCTX3.js} +3 -3
  8. package/dist/chunk-CPMHCTX3.js.map +1 -0
  9. package/dist/{chunk-V2MSAUHO.js → chunk-JO7Z2AOE.js} +2 -2
  10. package/dist/chunk-JO7Z2AOE.js.map +1 -0
  11. package/dist/{chunk-5RJVUC6J.js → chunk-M27JPX3K.js} +12 -3
  12. package/dist/chunk-M27JPX3K.js.map +1 -0
  13. package/dist/chunk-OXQGRJZT.js +125 -0
  14. package/dist/chunk-OXQGRJZT.js.map +1 -0
  15. package/dist/data/backend-env.d.ts +38 -0
  16. package/dist/data/backend-env.d.ts.map +1 -0
  17. package/dist/data/index.js +1 -1
  18. package/dist/entity/events.d.ts +14 -0
  19. package/dist/entity/events.d.ts.map +1 -0
  20. package/dist/events/envelope.d.ts +31 -0
  21. package/dist/events/envelope.d.ts.map +1 -0
  22. package/dist/events/index.d.ts +4 -0
  23. package/dist/events/index.d.ts.map +1 -1
  24. package/dist/events/log.d.ts +44 -0
  25. package/dist/events/log.d.ts.map +1 -0
  26. package/dist/events/types.d.ts +40 -0
  27. package/dist/events/types.d.ts.map +1 -0
  28. package/dist/i18n/index.d.ts +10 -0
  29. package/dist/i18n/index.d.ts.map +1 -1
  30. package/dist/i18n/index.js +1 -1
  31. package/dist/index.d.ts +27 -17
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +388 -52
  34. package/dist/index.js.map +1 -1
  35. package/dist/integrations/index.js +1 -1
  36. package/dist/{integrations/index.d.ts → integrations.d.ts} +2 -2
  37. package/dist/integrations.d.ts.map +1 -0
  38. package/dist/{address/index.d.ts → lib/address.d.ts} +1 -1
  39. package/dist/{address/index.d.ts.map → lib/address.d.ts.map} +1 -1
  40. package/dist/{phone/index.d.ts → lib/phone.d.ts} +1 -1
  41. package/dist/lib/phone.d.ts.map +1 -0
  42. package/dist/{seo/index.d.ts → lib/seo.d.ts} +18 -1
  43. package/dist/lib/seo.d.ts.map +1 -0
  44. package/dist/{tenant/index.d.ts → lib/tenant.d.ts} +1 -1
  45. package/dist/lib/tenant.d.ts.map +1 -0
  46. package/dist/manifest/index.d.ts +1 -1
  47. package/dist/manifest/index.d.ts.map +1 -1
  48. package/dist/messaging/index.d.ts +3 -0
  49. package/dist/messaging/index.d.ts.map +1 -0
  50. package/dist/messaging/registry.d.ts +35 -0
  51. package/dist/messaging/registry.d.ts.map +1 -0
  52. package/dist/messaging/types.d.ts +67 -0
  53. package/dist/messaging/types.d.ts.map +1 -0
  54. package/dist/plugin/index.js +2 -1
  55. package/dist/plugin/runtime.d.ts +17 -0
  56. package/dist/plugin/runtime.d.ts.map +1 -1
  57. package/dist/registry/block-catalog.d.ts +78 -0
  58. package/dist/registry/block-catalog.d.ts.map +1 -0
  59. package/dist/registry/block-constraints.d.ts +64 -0
  60. package/dist/registry/block-constraints.d.ts.map +1 -0
  61. package/dist/registry/block-schema.d.ts +69 -0
  62. package/dist/registry/block-schema.d.ts.map +1 -0
  63. package/dist/registry/blocks.d.ts +84 -0
  64. package/dist/registry/blocks.d.ts.map +1 -0
  65. package/dist/registry/entities.d.ts +153 -0
  66. package/dist/registry/entities.d.ts.map +1 -0
  67. package/dist/registry/extension-points.d.ts +117 -0
  68. package/dist/registry/extension-points.d.ts.map +1 -0
  69. package/dist/registry/handles.d.ts +41 -0
  70. package/dist/registry/handles.d.ts.map +1 -0
  71. package/dist/registry/index.d.ts +41 -41
  72. package/dist/registry/index.d.ts.map +1 -1
  73. package/dist/registry/loaders.d.ts +55 -0
  74. package/dist/registry/loaders.d.ts.map +1 -0
  75. package/dist/registry/registry-class.d.ts +157 -0
  76. package/dist/registry/registry-class.d.ts.map +1 -0
  77. package/dist/registry/schema-check.d.ts +14 -0
  78. package/dist/registry/schema-check.d.ts.map +1 -0
  79. package/dist/router/index.d.ts +78 -1
  80. package/dist/router/index.d.ts.map +1 -1
  81. package/dist/router/index.js +1 -1
  82. package/dist/testing/index.js +1 -1
  83. package/dist/{testing/index.d.ts → testing.d.ts} +3 -3
  84. package/dist/testing.d.ts.map +1 -0
  85. package/dist/types/analytics.d.ts +196 -0
  86. package/dist/types/analytics.d.ts.map +1 -0
  87. package/dist/types/crud.d.ts +22 -2
  88. package/dist/types/crud.d.ts.map +1 -1
  89. package/dist/types/plugins.d.ts +55 -1
  90. package/dist/types/plugins.d.ts.map +1 -1
  91. package/package.json +6 -18
  92. package/dist/blocks/index.d.ts +0 -25
  93. package/dist/blocks/index.d.ts.map +0 -1
  94. package/dist/chunk-5RJVUC6J.js.map +0 -1
  95. package/dist/chunk-L4TLMYGC.js.map +0 -1
  96. package/dist/chunk-V2MSAUHO.js.map +0 -1
  97. package/dist/chunk-X5THHG6T.js.map +0 -1
  98. package/dist/chunk-Y2C2FBQP.js +0 -35
  99. package/dist/chunk-Y2C2FBQP.js.map +0 -1
  100. package/dist/chunk-YH25Y4FW.js +0 -311
  101. package/dist/chunk-YH25Y4FW.js.map +0 -1
  102. package/dist/integrations/index.d.ts.map +0 -1
  103. package/dist/phone/index.d.ts.map +0 -1
  104. package/dist/seo/index.d.ts.map +0 -1
  105. package/dist/tenant/index.d.ts.map +0 -1
  106. package/dist/testing/index.d.ts.map +0 -1
  107. package/src/access/denial.ts +0 -33
  108. package/src/access/engine.test.ts +0 -48
  109. package/src/access/engine.ts +0 -136
  110. package/src/access/index.ts +0 -14
  111. package/src/access/limits.ts +0 -18
  112. package/src/address/index.ts +0 -188
  113. package/src/app/render.tsx +0 -69
  114. package/src/blocks/index.tsx +0 -68
  115. package/src/data/archetype.ts +0 -255
  116. package/src/data/bulk.ts +0 -35
  117. package/src/data/cached.ts +0 -55
  118. package/src/data/count.test.ts +0 -152
  119. package/src/data/count.ts +0 -131
  120. package/src/data/filters.test.ts +0 -70
  121. package/src/data/filters.ts +0 -90
  122. package/src/data/index.ts +0 -11
  123. package/src/data/mock.ts +0 -90
  124. package/src/data/platform-api.ts +0 -209
  125. package/src/data/refresh.ts +0 -115
  126. package/src/data/resolve.ts +0 -126
  127. package/src/data/supabase.ts +0 -230
  128. package/src/data/types.ts +0 -50
  129. package/src/entity/index.ts +0 -2
  130. package/src/entity/registry.ts +0 -49
  131. package/src/events/index.tsx +0 -82
  132. package/src/i18n/index.ts +0 -476
  133. package/src/i18n/shell-translations.en.ts +0 -875
  134. package/src/i18n/shell-translations.pt-br.ts +0 -873
  135. package/src/index.ts +0 -217
  136. package/src/integrations/index.ts +0 -237
  137. package/src/lib/cache.ts +0 -118
  138. package/src/lib/csv.ts +0 -54
  139. package/src/lib/format.ts +0 -58
  140. package/src/manifest/app-manifest.schema.json +0 -676
  141. package/src/manifest/index.ts +0 -518
  142. package/src/manifest/serialize.ts +0 -52
  143. package/src/phone/index.ts +0 -85
  144. package/src/plugin/createSafeDataProvider.ts +0 -30
  145. package/src/plugin/index.ts +0 -1
  146. package/src/plugin/runtime.ts +0 -331
  147. package/src/registry/index.ts +0 -163
  148. package/src/router/history.ts +0 -86
  149. package/src/router/index.ts +0 -29
  150. package/src/runtime/index.ts +0 -15
  151. package/src/runtime/oauth.ts +0 -219
  152. package/src/search/engine.ts +0 -559
  153. package/src/search/index.ts +0 -25
  154. package/src/search/text.ts +0 -206
  155. package/src/search/types.ts +0 -75
  156. package/src/seo/index.ts +0 -128
  157. package/src/tenant/index.ts +0 -38
  158. package/src/testing/index.ts +0 -116
  159. package/src/types/auth.ts +0 -41
  160. package/src/types/billing.ts +0 -39
  161. package/src/types/crud.ts +0 -184
  162. package/src/types/entities.ts +0 -142
  163. package/src/types/entitlements.ts +0 -45
  164. package/src/types/i18n.ts +0 -7
  165. package/src/types/index.ts +0 -11
  166. package/src/types/org.ts +0 -137
  167. package/src/types/payment.ts +0 -44
  168. package/src/types/permissions.ts +0 -32
  169. package/src/types/plugins.ts +0 -480
  170. package/src/types/theme.ts +0 -8
@@ -1,676 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://fayz.ai/schemas/app-manifest/v3.json",
4
- "title": "Fayz AppManifest",
5
- "description": "The canonical, JSON-serializable definition of a Fayz app. Code is referenced by registry id; never inlined.",
6
- "type": "object",
7
- "required": [
8
- "manifestVersion",
9
- "id",
10
- "name",
11
- "surfaces"
12
- ],
13
- "additionalProperties": false,
14
- "properties": {
15
- "manifestVersion": {
16
- "type": "integer",
17
- "const": 3,
18
- "description": "Current AppManifest schema version. Older or newer versions require an explicit SDK migration before validation."
19
- },
20
- "id": {
21
- "type": "string",
22
- "minLength": 1,
23
- "pattern": "^[a-z0-9][a-z0-9-]*$"
24
- },
25
- "name": {
26
- "type": "string",
27
- "minLength": 1
28
- },
29
- "backend": {
30
- "type": "object",
31
- "additionalProperties": false,
32
- "required": [
33
- "provider"
34
- ],
35
- "properties": {
36
- "provider": {
37
- "enum": [
38
- "supabase",
39
- "fayz-api",
40
- "fayz-shop",
41
- "mock",
42
- "custom"
43
- ]
44
- },
45
- "projectRef": {
46
- "type": "string",
47
- "minLength": 1
48
- },
49
- "url": {
50
- "type": "string",
51
- "minLength": 1
52
- },
53
- "adapterId": {
54
- "type": "string",
55
- "minLength": 1
56
- },
57
- "options": {
58
- "type": "object"
59
- }
60
- }
61
- },
62
- "locale": {
63
- "type": "object"
64
- },
65
- "theme": {
66
- "type": "object"
67
- },
68
- "permissions": {
69
- "type": "object"
70
- },
71
- "billing": {
72
- "type": "object"
73
- },
74
- "entities": {
75
- "type": "array",
76
- "items": {
77
- "type": "object"
78
- }
79
- },
80
- "surfaces": {
81
- "type": "object",
82
- "minProperties": 1,
83
- "additionalProperties": {
84
- "$ref": "#/$defs/surface"
85
- }
86
- },
87
- "limitDeclarations": {
88
- "type": "array",
89
- "description": "Resolved 4-layer limit-declaration merge (core < entity-derived < plugin < app) so server runtimes count exactly what the client counts.",
90
- "items": {
91
- "type": "object",
92
- "required": [
93
- "key",
94
- "table"
95
- ],
96
- "additionalProperties": false,
97
- "properties": {
98
- "key": {
99
- "type": "string",
100
- "minLength": 1
101
- },
102
- "label": {
103
- "type": "string"
104
- },
105
- "table": {
106
- "type": "string",
107
- "minLength": 1
108
- },
109
- "kindFilter": {
110
- "type": "string"
111
- },
112
- "period": {
113
- "enum": [
114
- "month",
115
- "total"
116
- ]
117
- }
118
- }
119
- }
120
- },
121
- "agent": {
122
- "$ref": "#/$defs/agentContract"
123
- },
124
- "contractHash": {
125
- "type": "string",
126
- "minLength": 1,
127
- "description": "sha256 of the canonical serialization (excluding this field)."
128
- }
129
- },
130
- "$defs": {
131
- "surface": {
132
- "type": "object",
133
- "required": [
134
- "scaffold"
135
- ],
136
- "additionalProperties": false,
137
- "properties": {
138
- "scaffold": {
139
- "type": "string",
140
- "minLength": 1
141
- },
142
- "options": {
143
- "type": "object"
144
- },
145
- "plugins": {
146
- "type": "array",
147
- "items": {
148
- "$ref": "#/$defs/pluginRef"
149
- }
150
- },
151
- "pages": {
152
- "type": "array",
153
- "items": {
154
- "$ref": "#/$defs/page"
155
- }
156
- }
157
- }
158
- },
159
- "pluginRef": {
160
- "type": "object",
161
- "required": [
162
- "id"
163
- ],
164
- "additionalProperties": false,
165
- "properties": {
166
- "id": {
167
- "type": "string",
168
- "minLength": 1
169
- },
170
- "config": {
171
- "type": "object"
172
- },
173
- "enabled": {
174
- "type": "boolean"
175
- }
176
- }
177
- },
178
- "page": {
179
- "type": "object",
180
- "required": [
181
- "path"
182
- ],
183
- "additionalProperties": false,
184
- "description": "Exactly one of blocks/entity/component must be set.",
185
- "properties": {
186
- "path": {
187
- "type": "string",
188
- "minLength": 1
189
- },
190
- "label": {
191
- "type": "string"
192
- },
193
- "icon": {
194
- "type": "string"
195
- },
196
- "section": {
197
- "enum": [
198
- "main",
199
- "secondary",
200
- "settings"
201
- ]
202
- },
203
- "blocks": {
204
- "type": "array",
205
- "items": {
206
- "$ref": "#/$defs/block"
207
- }
208
- },
209
- "entity": {
210
- "type": "string",
211
- "minLength": 1
212
- },
213
- "component": {
214
- "type": "string",
215
- "minLength": 1
216
- },
217
- "permission": {
218
- "type": "object",
219
- "required": [
220
- "feature",
221
- "action"
222
- ],
223
- "additionalProperties": false,
224
- "properties": {
225
- "feature": {
226
- "type": "string",
227
- "minLength": 1
228
- },
229
- "action": {
230
- "type": "string",
231
- "minLength": 1
232
- }
233
- }
234
- }
235
- },
236
- "oneOf": [
237
- {
238
- "required": [
239
- "blocks"
240
- ]
241
- },
242
- {
243
- "required": [
244
- "entity"
245
- ]
246
- },
247
- {
248
- "required": [
249
- "component"
250
- ]
251
- }
252
- ]
253
- },
254
- "block": {
255
- "type": "object",
256
- "required": [
257
- "type"
258
- ],
259
- "additionalProperties": false,
260
- "properties": {
261
- "type": {
262
- "type": "string",
263
- "minLength": 1
264
- },
265
- "id": {
266
- "type": "string"
267
- },
268
- "props": {
269
- "type": "object"
270
- },
271
- "children": {
272
- "type": "array",
273
- "items": {
274
- "$ref": "#/$defs/block"
275
- }
276
- }
277
- }
278
- },
279
- "agentContract": {
280
- "type": "object",
281
- "additionalProperties": false,
282
- "description": "Everything a server-side agent runtime needs to operate the app without a browser. Derived from code at publish; synced to Fayz as the versioned AgentContract.",
283
- "properties": {
284
- "persona": {
285
- "type": "object",
286
- "additionalProperties": false,
287
- "properties": {
288
- "name": {
289
- "type": "string"
290
- },
291
- "systemPrompt": {
292
- "type": "string"
293
- },
294
- "icon": {
295
- "type": "string"
296
- }
297
- }
298
- },
299
- "executionPlane": {
300
- "enum": [
301
- "client",
302
- "server"
303
- ]
304
- },
305
- "entities": {
306
- "type": "array",
307
- "items": {
308
- "$ref": "#/$defs/entityContract"
309
- }
310
- },
311
- "tools": {
312
- "type": "array",
313
- "items": {
314
- "$ref": "#/$defs/aiToolContract"
315
- }
316
- },
317
- "registries": {
318
- "type": "array",
319
- "items": {
320
- "type": "object",
321
- "required": [
322
- "pluginId",
323
- "id"
324
- ],
325
- "additionalProperties": false,
326
- "properties": {
327
- "pluginId": {
328
- "type": "string",
329
- "minLength": 1
330
- },
331
- "id": {
332
- "type": "string",
333
- "minLength": 1
334
- },
335
- "entityKey": {
336
- "type": "string"
337
- },
338
- "readOnly": {
339
- "type": "boolean"
340
- }
341
- }
342
- }
343
- },
344
- "declaredFeatures": {
345
- "type": "array",
346
- "items": {
347
- "type": "object"
348
- }
349
- },
350
- "rpcs": {
351
- "type": "array",
352
- "items": {
353
- "$ref": "#/$defs/rpcContract"
354
- }
355
- },
356
- "domainKnowledge": {
357
- "type": "object",
358
- "additionalProperties": false,
359
- "properties": {
360
- "statuses": {
361
- "type": "object"
362
- },
363
- "scheduleDefaults": {
364
- "type": "object"
365
- },
366
- "businessRules": {
367
- "type": "array",
368
- "items": {
369
- "type": "object",
370
- "required": [
371
- "id",
372
- "description"
373
- ],
374
- "additionalProperties": false,
375
- "properties": {
376
- "id": {
377
- "type": "string",
378
- "minLength": 1
379
- },
380
- "description": {
381
- "type": "string",
382
- "minLength": 1
383
- }
384
- }
385
- }
386
- }
387
- }
388
- }
389
- }
390
- },
391
- "entityContract": {
392
- "type": "object",
393
- "required": [
394
- "key",
395
- "label",
396
- "data",
397
- "fields"
398
- ],
399
- "additionalProperties": false,
400
- "properties": {
401
- "key": {
402
- "type": "string",
403
- "minLength": 1
404
- },
405
- "label": {
406
- "type": "string",
407
- "minLength": 1
408
- },
409
- "labelPlural": {
410
- "type": "string"
411
- },
412
- "limitKey": {
413
- "type": "string"
414
- },
415
- "data": {
416
- "type": "object",
417
- "required": [
418
- "table"
419
- ],
420
- "additionalProperties": false,
421
- "properties": {
422
- "table": {
423
- "type": "string",
424
- "minLength": 1
425
- },
426
- "schema": {
427
- "type": "string"
428
- },
429
- "tenantScoped": {
430
- "type": "boolean"
431
- },
432
- "tenantIdColumn": {
433
- "type": "string"
434
- },
435
- "searchColumns": {
436
- "type": "array",
437
- "items": {
438
- "type": "string"
439
- }
440
- },
441
- "selectColumns": {
442
- "type": "string"
443
- },
444
- "columnMap": {
445
- "type": "object"
446
- },
447
- "archetype": {
448
- "type": "string"
449
- },
450
- "archetypeKind": {
451
- "type": "string"
452
- },
453
- "filters": {
454
- "type": "object"
455
- }
456
- }
457
- },
458
- "fields": {
459
- "type": "array",
460
- "items": {
461
- "type": "object",
462
- "required": [
463
- "key",
464
- "label",
465
- "type"
466
- ],
467
- "additionalProperties": false,
468
- "properties": {
469
- "key": {
470
- "type": "string",
471
- "minLength": 1
472
- },
473
- "label": {
474
- "type": "string"
475
- },
476
- "type": {
477
- "type": "string",
478
- "minLength": 1
479
- },
480
- "required": {
481
- "type": "boolean"
482
- },
483
- "searchable": {
484
- "type": "boolean"
485
- },
486
- "hint": {
487
- "type": "string"
488
- },
489
- "options": {
490
- "type": "array",
491
- "items": {
492
- "type": "string"
493
- }
494
- },
495
- "relationTable": {
496
- "type": "string"
497
- }
498
- }
499
- }
500
- },
501
- "permission": {
502
- "type": "object",
503
- "required": [
504
- "feature",
505
- "action"
506
- ],
507
- "additionalProperties": false,
508
- "properties": {
509
- "feature": {
510
- "type": "string",
511
- "minLength": 1
512
- },
513
- "action": {
514
- "type": "string",
515
- "minLength": 1
516
- }
517
- }
518
- }
519
- }
520
- },
521
- "aiToolContract": {
522
- "type": "object",
523
- "required": [
524
- "id",
525
- "name",
526
- "description",
527
- "mode"
528
- ],
529
- "additionalProperties": false,
530
- "properties": {
531
- "id": {
532
- "type": "string",
533
- "minLength": 1
534
- },
535
- "name": {
536
- "type": "string",
537
- "minLength": 1,
538
- "pattern": "^[a-zA-Z0-9_-]{1,64}$"
539
- },
540
- "description": {
541
- "type": "string",
542
- "minLength": 1
543
- },
544
- "mode": {
545
- "enum": [
546
- "read",
547
- "persist"
548
- ]
549
- },
550
- "parameters": {
551
- "type": "object"
552
- },
553
- "permission": {
554
- "type": "object",
555
- "required": [
556
- "feature",
557
- "action"
558
- ],
559
- "additionalProperties": false,
560
- "properties": {
561
- "feature": {
562
- "type": "string",
563
- "minLength": 1
564
- },
565
- "action": {
566
- "type": "string",
567
- "minLength": 1
568
- }
569
- }
570
- },
571
- "limitKey": {
572
- "type": "string"
573
- },
574
- "execution": {
575
- "oneOf": [
576
- {
577
- "type": "object",
578
- "required": [
579
- "plane",
580
- "kind",
581
- "rpc"
582
- ],
583
- "additionalProperties": false,
584
- "properties": {
585
- "plane": {
586
- "const": "server"
587
- },
588
- "kind": {
589
- "const": "rpc"
590
- },
591
- "rpc": {
592
- "type": "string",
593
- "minLength": 1
594
- }
595
- }
596
- },
597
- {
598
- "type": "object",
599
- "required": [
600
- "plane",
601
- "kind",
602
- "entity"
603
- ],
604
- "additionalProperties": false,
605
- "properties": {
606
- "plane": {
607
- "const": "server"
608
- },
609
- "kind": {
610
- "const": "entity_read"
611
- },
612
- "entity": {
613
- "type": "string",
614
- "minLength": 1
615
- }
616
- }
617
- },
618
- {
619
- "type": "object",
620
- "required": [
621
- "plane"
622
- ],
623
- "additionalProperties": false,
624
- "properties": {
625
- "plane": {
626
- "const": "client"
627
- }
628
- }
629
- }
630
- ]
631
- },
632
- "requiresConfirmation": {
633
- "type": "boolean"
634
- },
635
- "pluginId": {
636
- "type": "string"
637
- },
638
- "category": {
639
- "type": "string"
640
- }
641
- }
642
- },
643
- "rpcContract": {
644
- "type": "object",
645
- "required": [
646
- "name",
647
- "kind",
648
- "description"
649
- ],
650
- "additionalProperties": false,
651
- "properties": {
652
- "name": {
653
- "type": "string",
654
- "minLength": 1,
655
- "pattern": "^agent_[a-z0-9_]+$"
656
- },
657
- "kind": {
658
- "enum": [
659
- "read",
660
- "write"
661
- ]
662
- },
663
- "description": {
664
- "type": "string",
665
- "minLength": 1
666
- },
667
- "payloadSchema": {
668
- "type": "object"
669
- },
670
- "audits": {
671
- "type": "boolean"
672
- }
673
- }
674
- }
675
- }
676
- }