apexrest 1.2.0 → 1.3.0-beta.1

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 (151) hide show
  1. package/README.md +9 -3
  2. package/README.uk.md +9 -3
  3. package/dist/codex-compat/plugins/apexrest-apex/.codex-plugin/plugin.json +1 -1
  4. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aanalytics%2Fstatus-summary%401.0.0.json +19 -0
  5. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Acrud%2Freport-dialog%401.0.0.json +19 -0
  6. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fdetail%401.0.0.json +19 -0
  7. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Ffiltered-list%401.0.0.json +19 -0
  8. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fhistory%401.0.0.json +19 -0
  9. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/evidence/block%3Aread%2Fmaster-detail%401.0.0.json +19 -0
  10. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/generator.json +5 -0
  11. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/manifest.json +29 -0
  12. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/analytics/status-summary/1.0.0/block.yaml +59 -0
  13. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/analytics/status-summary/1.0.0/renderer.json +14 -0
  14. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/crud/report-dialog/1.0.0/block.yaml +66 -0
  15. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/crud/report-dialog/1.0.0/renderer.json +14 -0
  16. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/detail/1.0.0/block.yaml +59 -0
  17. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/detail/1.0.0/renderer.json +14 -0
  18. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/filtered-list/1.0.0/block.yaml +59 -0
  19. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/filtered-list/1.0.0/renderer.json +14 -0
  20. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/history/1.0.0/block.yaml +59 -0
  21. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/history/1.0.0/renderer.json +14 -0
  22. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/master-detail/1.0.0/block.yaml +59 -0
  23. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/packages/read/master-detail/1.0.0/renderer.json +14 -0
  24. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/profiles.json +10 -0
  25. package/dist/codex-compat/plugins/apexrest-apex/resources/blocks/revocations.json +1 -0
  26. package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/crm.yaml +172 -0
  27. package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/index.json +12 -0
  28. package/dist/codex-compat/plugins/apexrest-apex/resources/blueprints/service-desk.yaml +120 -0
  29. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/index.html +7 -0
  30. package/dist/codex-compat/plugins/apexrest-apex/resources/panel/panel.js +234 -2
  31. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-allocation.schema.json +33 -0
  32. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-block.schema.json +208 -0
  33. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-blueprint.schema.json +664 -0
  34. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-command.schema.json +106 -0
  35. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-contract.schema.json +174 -0
  36. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-diagnostic.schema.json +26 -0
  37. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-entity.schema.json +141 -0
  38. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-evidence.schema.json +95 -0
  39. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-field.schema.json +53 -0
  40. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-instance.schema.json +117 -0
  41. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-lock.schema.json +54 -0
  42. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-operation.schema.json +55 -0
  43. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-owner.schema.json +105 -0
  44. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-parameters.schema.json +61 -0
  45. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-plan.schema.json +1010 -0
  46. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-renderer.schema.json +69 -0
  47. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/composer-state.schema.json +146 -0
  48. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/deploy-plan.schema.json +760 -169
  49. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/operations.schema.json +486 -0
  50. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/project.schema.json +13 -0
  51. package/dist/codex-compat/plugins/apexrest-apex/resources/schemas/sync-state.schema.json +238 -0
  52. package/dist/codex-compat/plugins/apexrest-apex/resources/third-party/node_modules__yaml__LICENSE +13 -0
  53. package/dist/codex-compat/plugins/apexrest-apex/runtime/apexrest.mjs +21 -11
  54. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-2BBNJVKW.mjs +1996 -0
  55. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-HOKFFGSZ.mjs → chunk-33GE2NWZ.mjs} +1 -1
  56. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-5JI3XEAK.mjs +14 -0
  57. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-2ZUNLCLK.mjs → chunk-BAHECVGO.mjs} +30 -10
  58. package/dist/{runtime/chunk-SPZVXAM5.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-CYPFCUNE.mjs} +7 -4
  59. package/dist/{runtime/chunk-3MDDJFXN.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-EBBEN4AV.mjs} +29 -6
  60. package/dist/{runtime/chunk-NDZ2RWQU.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-ESDVN7DS.mjs} +3 -2
  61. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-AQZLLQ3D.mjs → chunk-FTTPESNK.mjs} +2 -2
  62. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-S24BD6PY.mjs → chunk-G3KR57BY.mjs} +1 -1
  63. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-TXVQLYTH.mjs → chunk-HKJVCGQQ.mjs} +118 -87
  64. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-WK5GP4ES.mjs → chunk-KQ5IDT7Z.mjs} +2 -2
  65. package/dist/{runtime/chunk-7RZW5QV2.mjs → codex-compat/plugins/apexrest-apex/runtime/chunk-RWGJITHZ.mjs} +5 -5
  66. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-IX6V6ZGW.mjs → chunk-WXP75UUP.mjs} +5 -5
  67. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-YPLIIQ4Y.mjs +10233 -0
  68. package/dist/codex-compat/plugins/apexrest-apex/runtime/{chunk-QIVPMPU3.mjs → chunk-YQHHPRJH.mjs} +1 -1
  69. package/dist/codex-compat/plugins/apexrest-apex/runtime/mcp.mjs +7 -7
  70. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-apexlang/SKILL.md +1 -1
  71. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-compose/SKILL.md +18 -0
  72. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-compose/agents/openai.yaml +4 -0
  73. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-compose/references/workflow.md +15 -0
  74. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-deploy/SKILL.md +3 -1
  75. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/SKILL.md +3 -1
  76. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-menu/references/cli-catalog.md +8 -1
  77. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-project/SKILL.md +2 -0
  78. package/dist/codex-compat/plugins/apexrest-apex/skills/apexrest-work/SKILL.md +3 -1
  79. package/dist/resources/blocks/evidence/block%3Aanalytics%2Fstatus-summary%401.0.0.json +19 -0
  80. package/dist/resources/blocks/evidence/block%3Acrud%2Freport-dialog%401.0.0.json +19 -0
  81. package/dist/resources/blocks/evidence/block%3Aread%2Fdetail%401.0.0.json +19 -0
  82. package/dist/resources/blocks/evidence/block%3Aread%2Ffiltered-list%401.0.0.json +19 -0
  83. package/dist/resources/blocks/evidence/block%3Aread%2Fhistory%401.0.0.json +19 -0
  84. package/dist/resources/blocks/evidence/block%3Aread%2Fmaster-detail%401.0.0.json +19 -0
  85. package/dist/resources/blocks/generator.json +5 -0
  86. package/dist/resources/blocks/manifest.json +29 -0
  87. package/dist/resources/blocks/packages/analytics/status-summary/1.0.0/block.yaml +59 -0
  88. package/dist/resources/blocks/packages/analytics/status-summary/1.0.0/renderer.json +14 -0
  89. package/dist/resources/blocks/packages/crud/report-dialog/1.0.0/block.yaml +66 -0
  90. package/dist/resources/blocks/packages/crud/report-dialog/1.0.0/renderer.json +14 -0
  91. package/dist/resources/blocks/packages/read/detail/1.0.0/block.yaml +59 -0
  92. package/dist/resources/blocks/packages/read/detail/1.0.0/renderer.json +14 -0
  93. package/dist/resources/blocks/packages/read/filtered-list/1.0.0/block.yaml +59 -0
  94. package/dist/resources/blocks/packages/read/filtered-list/1.0.0/renderer.json +14 -0
  95. package/dist/resources/blocks/packages/read/history/1.0.0/block.yaml +59 -0
  96. package/dist/resources/blocks/packages/read/history/1.0.0/renderer.json +14 -0
  97. package/dist/resources/blocks/packages/read/master-detail/1.0.0/block.yaml +59 -0
  98. package/dist/resources/blocks/packages/read/master-detail/1.0.0/renderer.json +14 -0
  99. package/dist/resources/blocks/profiles.json +10 -0
  100. package/dist/resources/blocks/revocations.json +1 -0
  101. package/dist/resources/blueprints/crm.yaml +172 -0
  102. package/dist/resources/blueprints/index.json +12 -0
  103. package/dist/resources/blueprints/service-desk.yaml +120 -0
  104. package/dist/resources/panel/index.html +7 -0
  105. package/dist/resources/panel/panel.js +234 -2
  106. package/dist/resources/schemas/composer-allocation.schema.json +33 -0
  107. package/dist/resources/schemas/composer-block.schema.json +208 -0
  108. package/dist/resources/schemas/composer-blueprint.schema.json +664 -0
  109. package/dist/resources/schemas/composer-command.schema.json +106 -0
  110. package/dist/resources/schemas/composer-contract.schema.json +174 -0
  111. package/dist/resources/schemas/composer-diagnostic.schema.json +26 -0
  112. package/dist/resources/schemas/composer-entity.schema.json +141 -0
  113. package/dist/resources/schemas/composer-evidence.schema.json +95 -0
  114. package/dist/resources/schemas/composer-field.schema.json +53 -0
  115. package/dist/resources/schemas/composer-instance.schema.json +117 -0
  116. package/dist/resources/schemas/composer-lock.schema.json +54 -0
  117. package/dist/resources/schemas/composer-operation.schema.json +55 -0
  118. package/dist/resources/schemas/composer-owner.schema.json +105 -0
  119. package/dist/resources/schemas/composer-parameters.schema.json +61 -0
  120. package/dist/resources/schemas/composer-plan.schema.json +1010 -0
  121. package/dist/resources/schemas/composer-renderer.schema.json +69 -0
  122. package/dist/resources/schemas/composer-state.schema.json +146 -0
  123. package/dist/resources/schemas/deploy-plan.schema.json +760 -169
  124. package/dist/resources/schemas/operations.schema.json +486 -0
  125. package/dist/resources/schemas/project.schema.json +13 -0
  126. package/dist/resources/schemas/sync-state.schema.json +238 -0
  127. package/dist/resources/third-party/node_modules__yaml__LICENSE +13 -0
  128. package/dist/runtime/apexrest.mjs +21 -11
  129. package/dist/runtime/chunk-2BBNJVKW.mjs +1996 -0
  130. package/dist/runtime/{chunk-HOKFFGSZ.mjs → chunk-33GE2NWZ.mjs} +1 -1
  131. package/dist/runtime/chunk-5JI3XEAK.mjs +14 -0
  132. package/dist/runtime/{chunk-2ZUNLCLK.mjs → chunk-BAHECVGO.mjs} +30 -10
  133. package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-SPZVXAM5.mjs → runtime/chunk-CYPFCUNE.mjs} +7 -4
  134. package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-3MDDJFXN.mjs → runtime/chunk-EBBEN4AV.mjs} +29 -6
  135. package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-NDZ2RWQU.mjs → runtime/chunk-ESDVN7DS.mjs} +3 -2
  136. package/dist/runtime/{chunk-AQZLLQ3D.mjs → chunk-FTTPESNK.mjs} +2 -2
  137. package/dist/runtime/{chunk-S24BD6PY.mjs → chunk-G3KR57BY.mjs} +1 -1
  138. package/dist/runtime/{chunk-TXVQLYTH.mjs → chunk-HKJVCGQQ.mjs} +118 -87
  139. package/dist/runtime/{chunk-WK5GP4ES.mjs → chunk-KQ5IDT7Z.mjs} +2 -2
  140. package/dist/{codex-compat/plugins/apexrest-apex/runtime/chunk-7RZW5QV2.mjs → runtime/chunk-RWGJITHZ.mjs} +5 -5
  141. package/dist/runtime/{chunk-IX6V6ZGW.mjs → chunk-WXP75UUP.mjs} +5 -5
  142. package/dist/runtime/chunk-YPLIIQ4Y.mjs +10233 -0
  143. package/dist/runtime/{chunk-QIVPMPU3.mjs → chunk-YQHHPRJH.mjs} +1 -1
  144. package/dist/runtime/mcp.mjs +7 -7
  145. package/package.json +10 -3
  146. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-4MYHJ2IU.mjs +0 -1208
  147. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-BD2AVCFU.mjs +0 -367
  148. package/dist/codex-compat/plugins/apexrest-apex/runtime/chunk-YLXJ6H4J.mjs +0 -14
  149. package/dist/runtime/chunk-4MYHJ2IU.mjs +0 -1208
  150. package/dist/runtime/chunk-BD2AVCFU.mjs +0 -367
  151. package/dist/runtime/chunk-YLXJ6H4J.mjs +0 -14
@@ -1,210 +1,801 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "type": "object",
4
- "properties": {
5
- "schemaVersion": {
6
- "type": "number",
7
- "const": 1
8
- },
9
- "id": {
10
- "type": "string",
11
- "format": "uuid",
12
- "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
13
- },
14
- "projectId": {
15
- "type": "string",
16
- "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
17
- },
18
- "projectRoot": {
19
- "type": "string"
20
- },
21
- "environment": {
22
- "type": "string",
23
- "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
24
- },
25
- "createdAt": {
26
- "type": "string",
27
- "format": "date-time",
28
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
29
- },
30
- "expiresAt": {
31
- "type": "string",
32
- "format": "date-time",
33
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
34
- },
35
- "sourceDigest": {
36
- "type": "string",
37
- "pattern": "^[a-f0-9]{64}$"
38
- },
39
- "sources": {
40
- "type": "object",
41
- "propertyNames": {
42
- "type": "string"
43
- },
44
- "additionalProperties": {
45
- "type": "string",
46
- "pattern": "^[a-f0-9]{64}$"
47
- }
48
- },
49
- "configurationDigest": {
50
- "type": "string",
51
- "pattern": "^[a-f0-9]{64}$"
52
- },
53
- "toolchainDigest": {
54
- "type": "string",
55
- "pattern": "^[a-f0-9]{64}$"
56
- },
57
- "compiler": {
58
- "type": "string"
59
- },
60
- "targetDigest": {
61
- "type": "string",
62
- "pattern": "^[a-f0-9]{64}$"
63
- },
64
- "target": {
3
+ "anyOf": [
4
+ {
65
5
  "type": "object",
66
- "propertyNames": {
67
- "type": "string"
68
- },
69
- "additionalProperties": {}
70
- },
71
- "fingerprint": {
72
- "type": "string",
73
- "pattern": "^[a-f0-9]{64}$"
74
- },
75
- "migrationHistory": {
76
- "type": "array",
77
- "items": {
78
- "type": "object",
79
- "propertyNames": {
6
+ "properties": {
7
+ "schemaVersion": {
8
+ "type": "number",
9
+ "const": 1
10
+ },
11
+ "id": {
12
+ "type": "string",
13
+ "format": "uuid",
14
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
15
+ },
16
+ "projectId": {
17
+ "type": "string",
18
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
19
+ },
20
+ "projectRoot": {
80
21
  "type": "string"
81
22
  },
82
- "additionalProperties": {}
83
- }
84
- },
85
- "coordination": {
86
- "type": "object",
87
- "properties": {
88
- "backend": {
23
+ "environment": {
89
24
  "type": "string",
90
- "enum": [
91
- "local",
92
- "database"
93
- ]
25
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
26
+ },
27
+ "createdAt": {
28
+ "type": "string",
29
+ "format": "date-time",
30
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
31
+ },
32
+ "expiresAt": {
33
+ "type": "string",
34
+ "format": "date-time",
35
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
36
+ },
37
+ "sourceDigest": {
38
+ "type": "string",
39
+ "pattern": "^[a-f0-9]{64}$"
40
+ },
41
+ "sources": {
42
+ "type": "object",
43
+ "propertyNames": {
44
+ "type": "string"
45
+ },
46
+ "additionalProperties": {
47
+ "type": "string",
48
+ "pattern": "^[a-f0-9]{64}$"
49
+ }
50
+ },
51
+ "configurationDigest": {
52
+ "type": "string",
53
+ "pattern": "^[a-f0-9]{64}$"
54
+ },
55
+ "toolchainDigest": {
56
+ "type": "string",
57
+ "pattern": "^[a-f0-9]{64}$"
58
+ },
59
+ "compiler": {
60
+ "type": "string"
61
+ },
62
+ "targetDigest": {
63
+ "type": "string",
64
+ "pattern": "^[a-f0-9]{64}$"
65
+ },
66
+ "target": {
67
+ "type": "object",
68
+ "propertyNames": {
69
+ "type": "string"
70
+ },
71
+ "additionalProperties": {}
72
+ },
73
+ "fingerprint": {
74
+ "type": "string",
75
+ "pattern": "^[a-f0-9]{64}$"
76
+ },
77
+ "migrationHistory": {
78
+ "type": "array",
79
+ "items": {
80
+ "type": "object",
81
+ "propertyNames": {
82
+ "type": "string"
83
+ },
84
+ "additionalProperties": {}
85
+ }
86
+ },
87
+ "coordination": {
88
+ "type": "object",
89
+ "properties": {
90
+ "backend": {
91
+ "type": "string",
92
+ "enum": [
93
+ "local",
94
+ "database"
95
+ ]
96
+ },
97
+ "scope": {
98
+ "type": "string",
99
+ "enum": [
100
+ "managed-home-schema",
101
+ "database-application"
102
+ ]
103
+ },
104
+ "storeDigest": {
105
+ "type": "string",
106
+ "pattern": "^[a-f0-9]{64}$"
107
+ }
108
+ },
109
+ "required": [
110
+ "backend",
111
+ "scope",
112
+ "storeDigest"
113
+ ],
114
+ "additionalProperties": false
94
115
  },
95
116
  "scope": {
96
117
  "type": "string",
97
- "enum": [
98
- "managed-home-schema",
99
- "database-application"
100
- ]
118
+ "const": "full-application-import"
119
+ },
120
+ "operations": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "object",
124
+ "properties": {
125
+ "kind": {
126
+ "type": "string",
127
+ "enum": [
128
+ "migration",
129
+ "package",
130
+ "import",
131
+ "verify",
132
+ "test"
133
+ ]
134
+ },
135
+ "file": {
136
+ "type": "string"
137
+ },
138
+ "sha256": {
139
+ "type": "string",
140
+ "pattern": "^[a-f0-9]{64}$"
141
+ }
142
+ },
143
+ "required": [
144
+ "kind"
145
+ ],
146
+ "additionalProperties": false
147
+ }
148
+ },
149
+ "risks": {
150
+ "type": "array",
151
+ "items": {
152
+ "type": "string"
153
+ }
101
154
  },
102
- "storeDigest": {
155
+ "approval": {
156
+ "type": "string",
157
+ "const": "external-policy-required"
158
+ },
159
+ "backupRequired": {
160
+ "type": "boolean"
161
+ },
162
+ "digest": {
103
163
  "type": "string",
104
164
  "pattern": "^[a-f0-9]{64}$"
165
+ },
166
+ "restore": {
167
+ "type": "object",
168
+ "properties": {
169
+ "backupId": {
170
+ "type": "string",
171
+ "format": "uuid",
172
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
173
+ },
174
+ "checksum": {
175
+ "type": "string",
176
+ "pattern": "^[a-f0-9]{64}$"
177
+ }
178
+ },
179
+ "required": [
180
+ "backupId",
181
+ "checksum"
182
+ ],
183
+ "additionalProperties": false
105
184
  }
106
185
  },
107
186
  "required": [
108
- "backend",
187
+ "schemaVersion",
188
+ "id",
189
+ "projectId",
190
+ "projectRoot",
191
+ "environment",
192
+ "createdAt",
193
+ "expiresAt",
194
+ "sourceDigest",
195
+ "sources",
196
+ "configurationDigest",
197
+ "toolchainDigest",
198
+ "compiler",
199
+ "targetDigest",
200
+ "target",
201
+ "fingerprint",
202
+ "migrationHistory",
203
+ "coordination",
109
204
  "scope",
110
- "storeDigest"
205
+ "operations",
206
+ "risks",
207
+ "approval",
208
+ "backupRequired",
209
+ "digest"
111
210
  ],
112
211
  "additionalProperties": false
113
212
  },
114
- "scope": {
115
- "type": "string",
116
- "const": "full-application-import"
117
- },
118
- "operations": {
119
- "type": "array",
120
- "items": {
121
- "type": "object",
122
- "properties": {
123
- "kind": {
124
- "type": "string",
125
- "enum": [
126
- "migration",
127
- "package",
128
- "import",
129
- "verify",
130
- "test"
131
- ]
132
- },
133
- "file": {
213
+ {
214
+ "type": "object",
215
+ "properties": {
216
+ "schemaVersion": {
217
+ "type": "number",
218
+ "const": 2
219
+ },
220
+ "id": {
221
+ "type": "string",
222
+ "format": "uuid",
223
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
224
+ },
225
+ "projectId": {
226
+ "type": "string",
227
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
228
+ },
229
+ "projectRoot": {
230
+ "type": "string"
231
+ },
232
+ "environment": {
233
+ "type": "string",
234
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
235
+ },
236
+ "createdAt": {
237
+ "type": "string",
238
+ "format": "date-time",
239
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
240
+ },
241
+ "expiresAt": {
242
+ "type": "string",
243
+ "format": "date-time",
244
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
245
+ },
246
+ "sourceDigest": {
247
+ "type": "string",
248
+ "pattern": "^[a-f0-9]{64}$"
249
+ },
250
+ "sources": {
251
+ "type": "object",
252
+ "propertyNames": {
134
253
  "type": "string"
135
254
  },
136
- "sha256": {
255
+ "additionalProperties": {
137
256
  "type": "string",
138
257
  "pattern": "^[a-f0-9]{64}$"
139
258
  }
140
259
  },
141
- "required": [
142
- "kind"
143
- ],
144
- "additionalProperties": false
145
- }
146
- },
147
- "risks": {
148
- "type": "array",
149
- "items": {
150
- "type": "string"
151
- }
152
- },
153
- "approval": {
154
- "type": "string",
155
- "const": "external-policy-required"
156
- },
157
- "backupRequired": {
158
- "type": "boolean"
159
- },
160
- "digest": {
161
- "type": "string",
162
- "pattern": "^[a-f0-9]{64}$"
260
+ "configurationDigest": {
261
+ "type": "string",
262
+ "pattern": "^[a-f0-9]{64}$"
263
+ },
264
+ "toolchainDigest": {
265
+ "type": "string",
266
+ "pattern": "^[a-f0-9]{64}$"
267
+ },
268
+ "compiler": {
269
+ "type": "string"
270
+ },
271
+ "targetDigest": {
272
+ "type": "string",
273
+ "pattern": "^[a-f0-9]{64}$"
274
+ },
275
+ "target": {
276
+ "type": "object",
277
+ "propertyNames": {
278
+ "type": "string"
279
+ },
280
+ "additionalProperties": {}
281
+ },
282
+ "fingerprint": {
283
+ "type": "string",
284
+ "pattern": "^[a-f0-9]{64}$"
285
+ },
286
+ "migrationHistory": {
287
+ "type": "array",
288
+ "items": {
289
+ "type": "object",
290
+ "propertyNames": {
291
+ "type": "string"
292
+ },
293
+ "additionalProperties": {}
294
+ }
295
+ },
296
+ "coordination": {
297
+ "type": "object",
298
+ "properties": {
299
+ "backend": {
300
+ "type": "string",
301
+ "enum": [
302
+ "local",
303
+ "database"
304
+ ]
305
+ },
306
+ "scope": {
307
+ "type": "string",
308
+ "enum": [
309
+ "managed-home-schema",
310
+ "database-application"
311
+ ]
312
+ },
313
+ "storeDigest": {
314
+ "type": "string",
315
+ "pattern": "^[a-f0-9]{64}$"
316
+ }
317
+ },
318
+ "required": [
319
+ "backend",
320
+ "scope",
321
+ "storeDigest"
322
+ ],
323
+ "additionalProperties": false
324
+ },
325
+ "scope": {
326
+ "type": "string",
327
+ "const": "full-application-import"
328
+ },
329
+ "operations": {
330
+ "type": "array",
331
+ "items": {
332
+ "type": "object",
333
+ "properties": {
334
+ "kind": {
335
+ "type": "string",
336
+ "enum": [
337
+ "migration",
338
+ "package",
339
+ "import",
340
+ "verify",
341
+ "test"
342
+ ]
343
+ },
344
+ "file": {
345
+ "type": "string"
346
+ },
347
+ "sha256": {
348
+ "type": "string",
349
+ "pattern": "^[a-f0-9]{64}$"
350
+ }
351
+ },
352
+ "required": [
353
+ "kind"
354
+ ],
355
+ "additionalProperties": false
356
+ }
357
+ },
358
+ "risks": {
359
+ "type": "array",
360
+ "items": {
361
+ "type": "string"
362
+ }
363
+ },
364
+ "approval": {
365
+ "type": "string",
366
+ "const": "external-policy-required"
367
+ },
368
+ "backupRequired": {
369
+ "type": "boolean"
370
+ },
371
+ "digest": {
372
+ "type": "string",
373
+ "pattern": "^[a-f0-9]{64}$"
374
+ },
375
+ "restore": {
376
+ "type": "object",
377
+ "properties": {
378
+ "backupId": {
379
+ "type": "string",
380
+ "format": "uuid",
381
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
382
+ },
383
+ "checksum": {
384
+ "type": "string",
385
+ "pattern": "^[a-f0-9]{64}$"
386
+ }
387
+ },
388
+ "required": [
389
+ "backupId",
390
+ "checksum"
391
+ ],
392
+ "additionalProperties": false
393
+ },
394
+ "mode": {
395
+ "type": "string",
396
+ "enum": [
397
+ "full-export",
398
+ "working-copy"
399
+ ]
400
+ },
401
+ "backupStrategy": {
402
+ "type": "string",
403
+ "enum": [
404
+ "fresh-export",
405
+ "initial-backup"
406
+ ]
407
+ },
408
+ "workingCopy": {
409
+ "anyOf": [
410
+ {
411
+ "type": "object",
412
+ "properties": {
413
+ "syncId": {
414
+ "type": "string",
415
+ "format": "uuid",
416
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
417
+ },
418
+ "revision": {
419
+ "type": "integer",
420
+ "minimum": 0,
421
+ "maximum": 9007199254740991
422
+ },
423
+ "baselineDigest": {
424
+ "type": "string",
425
+ "pattern": "^[a-f0-9]{64}$"
426
+ },
427
+ "checkpointDigest": {
428
+ "type": "string",
429
+ "pattern": "^[a-f0-9]{64}$"
430
+ },
431
+ "backupId": {
432
+ "type": "string",
433
+ "format": "uuid",
434
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
435
+ },
436
+ "backupChecksum": {
437
+ "type": "string",
438
+ "pattern": "^[a-f0-9]{64}$"
439
+ }
440
+ },
441
+ "required": [
442
+ "syncId",
443
+ "revision",
444
+ "baselineDigest",
445
+ "checkpointDigest",
446
+ "backupId",
447
+ "backupChecksum"
448
+ ],
449
+ "additionalProperties": false
450
+ },
451
+ {
452
+ "type": "null"
453
+ }
454
+ ]
455
+ }
456
+ },
457
+ "required": [
458
+ "schemaVersion",
459
+ "id",
460
+ "projectId",
461
+ "projectRoot",
462
+ "environment",
463
+ "createdAt",
464
+ "expiresAt",
465
+ "sourceDigest",
466
+ "sources",
467
+ "configurationDigest",
468
+ "toolchainDigest",
469
+ "compiler",
470
+ "targetDigest",
471
+ "target",
472
+ "fingerprint",
473
+ "migrationHistory",
474
+ "coordination",
475
+ "scope",
476
+ "operations",
477
+ "risks",
478
+ "approval",
479
+ "backupRequired",
480
+ "digest",
481
+ "mode",
482
+ "backupStrategy",
483
+ "workingCopy"
484
+ ],
485
+ "additionalProperties": false
163
486
  },
164
- "restore": {
487
+ {
165
488
  "type": "object",
166
489
  "properties": {
167
- "backupId": {
490
+ "schemaVersion": {
491
+ "type": "number",
492
+ "const": 3
493
+ },
494
+ "id": {
168
495
  "type": "string",
169
496
  "format": "uuid",
170
497
  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
171
498
  },
172
- "checksum": {
499
+ "projectId": {
500
+ "type": "string",
501
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
502
+ },
503
+ "projectRoot": {
504
+ "type": "string"
505
+ },
506
+ "environment": {
507
+ "type": "string",
508
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$"
509
+ },
510
+ "createdAt": {
511
+ "type": "string",
512
+ "format": "date-time",
513
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
514
+ },
515
+ "expiresAt": {
516
+ "type": "string",
517
+ "format": "date-time",
518
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
519
+ },
520
+ "sourceDigest": {
173
521
  "type": "string",
174
522
  "pattern": "^[a-f0-9]{64}$"
523
+ },
524
+ "sources": {
525
+ "type": "object",
526
+ "propertyNames": {
527
+ "type": "string"
528
+ },
529
+ "additionalProperties": {
530
+ "type": "string",
531
+ "pattern": "^[a-f0-9]{64}$"
532
+ }
533
+ },
534
+ "configurationDigest": {
535
+ "type": "string",
536
+ "pattern": "^[a-f0-9]{64}$"
537
+ },
538
+ "toolchainDigest": {
539
+ "type": "string",
540
+ "pattern": "^[a-f0-9]{64}$"
541
+ },
542
+ "compiler": {
543
+ "type": "string"
544
+ },
545
+ "targetDigest": {
546
+ "type": "string",
547
+ "pattern": "^[a-f0-9]{64}$"
548
+ },
549
+ "target": {
550
+ "type": "object",
551
+ "propertyNames": {
552
+ "type": "string"
553
+ },
554
+ "additionalProperties": {}
555
+ },
556
+ "fingerprint": {
557
+ "type": "string",
558
+ "pattern": "^[a-f0-9]{64}$"
559
+ },
560
+ "migrationHistory": {
561
+ "type": "array",
562
+ "items": {
563
+ "type": "object",
564
+ "propertyNames": {
565
+ "type": "string"
566
+ },
567
+ "additionalProperties": {}
568
+ }
569
+ },
570
+ "coordination": {
571
+ "type": "object",
572
+ "properties": {
573
+ "backend": {
574
+ "type": "string",
575
+ "enum": [
576
+ "local",
577
+ "database"
578
+ ]
579
+ },
580
+ "scope": {
581
+ "type": "string",
582
+ "enum": [
583
+ "managed-home-schema",
584
+ "database-application"
585
+ ]
586
+ },
587
+ "storeDigest": {
588
+ "type": "string",
589
+ "pattern": "^[a-f0-9]{64}$"
590
+ }
591
+ },
592
+ "required": [
593
+ "backend",
594
+ "scope",
595
+ "storeDigest"
596
+ ],
597
+ "additionalProperties": false
598
+ },
599
+ "scope": {
600
+ "type": "string",
601
+ "const": "full-application-import"
602
+ },
603
+ "operations": {
604
+ "type": "array",
605
+ "items": {
606
+ "type": "object",
607
+ "properties": {
608
+ "kind": {
609
+ "type": "string",
610
+ "enum": [
611
+ "migration",
612
+ "package",
613
+ "import",
614
+ "verify",
615
+ "test"
616
+ ]
617
+ },
618
+ "file": {
619
+ "type": "string"
620
+ },
621
+ "sha256": {
622
+ "type": "string",
623
+ "pattern": "^[a-f0-9]{64}$"
624
+ }
625
+ },
626
+ "required": [
627
+ "kind"
628
+ ],
629
+ "additionalProperties": false
630
+ }
631
+ },
632
+ "risks": {
633
+ "type": "array",
634
+ "items": {
635
+ "type": "string"
636
+ }
637
+ },
638
+ "approval": {
639
+ "type": "string",
640
+ "const": "external-policy-required"
641
+ },
642
+ "backupRequired": {
643
+ "type": "boolean"
644
+ },
645
+ "digest": {
646
+ "type": "string",
647
+ "pattern": "^[a-f0-9]{64}$"
648
+ },
649
+ "restore": {
650
+ "type": "object",
651
+ "properties": {
652
+ "backupId": {
653
+ "type": "string",
654
+ "format": "uuid",
655
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
656
+ },
657
+ "checksum": {
658
+ "type": "string",
659
+ "pattern": "^[a-f0-9]{64}$"
660
+ }
661
+ },
662
+ "required": [
663
+ "backupId",
664
+ "checksum"
665
+ ],
666
+ "additionalProperties": false
667
+ },
668
+ "mode": {
669
+ "type": "string",
670
+ "enum": [
671
+ "full-export",
672
+ "working-copy"
673
+ ]
674
+ },
675
+ "backupStrategy": {
676
+ "type": "string",
677
+ "enum": [
678
+ "fresh-export",
679
+ "initial-backup"
680
+ ]
681
+ },
682
+ "workingCopy": {
683
+ "anyOf": [
684
+ {
685
+ "type": "object",
686
+ "properties": {
687
+ "syncId": {
688
+ "type": "string",
689
+ "format": "uuid",
690
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
691
+ },
692
+ "revision": {
693
+ "type": "integer",
694
+ "minimum": 0,
695
+ "maximum": 9007199254740991
696
+ },
697
+ "baselineDigest": {
698
+ "type": "string",
699
+ "pattern": "^[a-f0-9]{64}$"
700
+ },
701
+ "checkpointDigest": {
702
+ "type": "string",
703
+ "pattern": "^[a-f0-9]{64}$"
704
+ },
705
+ "backupId": {
706
+ "type": "string",
707
+ "format": "uuid",
708
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
709
+ },
710
+ "backupChecksum": {
711
+ "type": "string",
712
+ "pattern": "^[a-f0-9]{64}$"
713
+ }
714
+ },
715
+ "required": [
716
+ "syncId",
717
+ "revision",
718
+ "baselineDigest",
719
+ "checkpointDigest",
720
+ "backupId",
721
+ "backupChecksum"
722
+ ],
723
+ "additionalProperties": false
724
+ },
725
+ {
726
+ "type": "null"
727
+ }
728
+ ]
729
+ },
730
+ "composer": {
731
+ "type": "object",
732
+ "properties": {
733
+ "generationDigest": {
734
+ "type": "string",
735
+ "pattern": "^[a-f0-9]{64}$"
736
+ },
737
+ "blueprintDigest": {
738
+ "type": "string",
739
+ "pattern": "^[a-f0-9]{64}$"
740
+ },
741
+ "stateDigest": {
742
+ "type": "string",
743
+ "pattern": "^[a-f0-9]{64}$"
744
+ },
745
+ "lockDigest": {
746
+ "type": "string",
747
+ "pattern": "^[a-f0-9]{64}$"
748
+ },
749
+ "catalogDigest": {
750
+ "type": "string",
751
+ "pattern": "^[a-f0-9]{64}$"
752
+ },
753
+ "blueprintPath": {
754
+ "type": "string",
755
+ "minLength": 1
756
+ }
757
+ },
758
+ "required": [
759
+ "generationDigest",
760
+ "blueprintDigest",
761
+ "stateDigest",
762
+ "lockDigest",
763
+ "catalogDigest",
764
+ "blueprintPath"
765
+ ],
766
+ "additionalProperties": false
175
767
  }
176
768
  },
177
769
  "required": [
178
- "backupId",
179
- "checksum"
770
+ "schemaVersion",
771
+ "id",
772
+ "projectId",
773
+ "projectRoot",
774
+ "environment",
775
+ "createdAt",
776
+ "expiresAt",
777
+ "sourceDigest",
778
+ "sources",
779
+ "configurationDigest",
780
+ "toolchainDigest",
781
+ "compiler",
782
+ "targetDigest",
783
+ "target",
784
+ "fingerprint",
785
+ "migrationHistory",
786
+ "coordination",
787
+ "scope",
788
+ "operations",
789
+ "risks",
790
+ "approval",
791
+ "backupRequired",
792
+ "digest",
793
+ "mode",
794
+ "backupStrategy",
795
+ "workingCopy",
796
+ "composer"
180
797
  ],
181
798
  "additionalProperties": false
182
799
  }
183
- },
184
- "required": [
185
- "schemaVersion",
186
- "id",
187
- "projectId",
188
- "projectRoot",
189
- "environment",
190
- "createdAt",
191
- "expiresAt",
192
- "sourceDigest",
193
- "sources",
194
- "configurationDigest",
195
- "toolchainDigest",
196
- "compiler",
197
- "targetDigest",
198
- "target",
199
- "fingerprint",
200
- "migrationHistory",
201
- "coordination",
202
- "scope",
203
- "operations",
204
- "risks",
205
- "approval",
206
- "backupRequired",
207
- "digest"
208
- ],
209
- "additionalProperties": false
800
+ ]
210
801
  }