@wp-playground/blueprints 1.0.28 → 1.1.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 (44) hide show
  1. package/LICENSE +339 -0
  2. package/blueprint-schema-validator.js +239 -58
  3. package/blueprint-schema.json +27 -18
  4. package/index.cjs +41 -473
  5. package/index.cjs.map +1 -1
  6. package/index.d.ts +3 -2
  7. package/index.js +3014 -3292
  8. package/index.js.map +1 -1
  9. package/lib/blueprint.d.ts +17 -5
  10. package/lib/compile.d.ts +10 -12
  11. package/lib/resolve-remote-blueprint.d.ts +8 -0
  12. package/lib/resources.d.ts +44 -20
  13. package/lib/steps/activate-plugin.d.ts +1 -1
  14. package/lib/steps/activate-theme.d.ts +1 -1
  15. package/lib/steps/cp.d.ts +1 -1
  16. package/lib/steps/define-site-url.d.ts +1 -1
  17. package/lib/steps/define-wp-config-consts.d.ts +2 -3
  18. package/lib/steps/enable-multisite.d.ts +1 -1
  19. package/lib/steps/export-wxr.d.ts +1 -1
  20. package/lib/steps/import-theme-starter-content.d.ts +1 -1
  21. package/lib/steps/import-wordpress-files.d.ts +1 -1
  22. package/lib/steps/import-wxr.d.ts +1 -1
  23. package/lib/steps/index.d.ts +31 -31
  24. package/lib/steps/install-plugin.d.ts +4 -4
  25. package/lib/steps/install-theme.d.ts +4 -4
  26. package/lib/steps/login.d.ts +1 -1
  27. package/lib/steps/mkdir.d.ts +1 -1
  28. package/lib/steps/mv.d.ts +1 -1
  29. package/lib/steps/request.d.ts +2 -2
  30. package/lib/steps/reset-data.d.ts +1 -1
  31. package/lib/steps/rm.d.ts +1 -1
  32. package/lib/steps/rmdir.d.ts +1 -1
  33. package/lib/steps/run-php-with-options.d.ts +2 -2
  34. package/lib/steps/run-php.d.ts +2 -2
  35. package/lib/steps/run-sql.d.ts +1 -1
  36. package/lib/steps/run-wp-installation-wizard.d.ts +1 -1
  37. package/lib/steps/set-site-language.d.ts +6 -4
  38. package/lib/steps/site-data.d.ts +1 -1
  39. package/lib/steps/unzip.d.ts +1 -1
  40. package/lib/steps/wp-cli.d.ts +4 -5
  41. package/lib/steps/write-file.d.ts +1 -1
  42. package/lib/steps/write-files.d.ts +14 -3
  43. package/lib/steps/zip-wp-content.d.ts +1 -1
  44. package/package.json +29 -22
@@ -3,9 +3,9 @@ export const validate = validate10;
3
3
  export default validate10;
4
4
  const schema11 = {
5
5
  $schema: 'http://json-schema.org/schema',
6
- $ref: '#/definitions/Blueprint',
6
+ $ref: '#/definitions/BlueprintDeclaration',
7
7
  definitions: {
8
- Blueprint: {
8
+ BlueprintDeclaration: {
9
9
  type: 'object',
10
10
  properties: {
11
11
  landingPage: {
@@ -150,21 +150,12 @@ const schema11 = {
150
150
  $schema: { type: 'string' },
151
151
  },
152
152
  additionalProperties: false,
153
+ description:
154
+ 'The Blueprint declaration, typically stored in a blueprint.json file.',
153
155
  },
154
156
  SupportedPHPVersion: {
155
157
  type: 'string',
156
- enum: [
157
- '8.4',
158
- '8.3',
159
- '8.2',
160
- '8.1',
161
- '8.0',
162
- '7.4',
163
- '7.3',
164
- '7.2',
165
- '7.1',
166
- '7.0',
167
- ],
158
+ enum: ['8.4', '8.3', '8.2', '8.1', '8.0', '7.4', '7.3', '7.2'],
168
159
  },
169
160
  ExtraLibrary: { type: 'string', const: 'wp-cli' },
170
161
  PHPConstants: {
@@ -178,6 +169,7 @@ const schema11 = {
178
169
  { $ref: '#/definitions/CoreThemeReference' },
179
170
  { $ref: '#/definitions/CorePluginReference' },
180
171
  { $ref: '#/definitions/UrlReference' },
172
+ { $ref: '#/definitions/BundledReference' },
181
173
  ],
182
174
  },
183
175
  VFSReference: {
@@ -294,6 +286,23 @@ const schema11 = {
294
286
  required: ['resource', 'url'],
295
287
  additionalProperties: false,
296
288
  },
289
+ BundledReference: {
290
+ type: 'object',
291
+ properties: {
292
+ resource: {
293
+ type: 'string',
294
+ const: 'bundled',
295
+ description:
296
+ 'Identifies the file resource as a Blueprint file',
297
+ },
298
+ path: {
299
+ type: 'string',
300
+ description: 'The path to the file in the Blueprint',
301
+ },
302
+ },
303
+ required: ['resource', 'path'],
304
+ additionalProperties: false,
305
+ },
297
306
  StepDefinition: {
298
307
  type: 'object',
299
308
  discriminator: { propertyName: 'step' },
@@ -547,7 +556,7 @@ const schema11 = {
547
556
  },
548
557
  pluginZipFile: {
549
558
  $ref: '#/definitions/FileReference',
550
- deprecated: '. Use `pluginData` instead.',
559
+ deprecated: ". Use 'pluginData' instead.",
551
560
  },
552
561
  options: {
553
562
  $ref: '#/definitions/InstallPluginOptions',
@@ -589,7 +598,7 @@ const schema11 = {
589
598
  },
590
599
  themeZipFile: {
591
600
  $ref: '#/definitions/FileReference',
592
- deprecated: '. Use `themeData` instead.',
601
+ deprecated: ". Use 'themeData' instead.",
593
602
  },
594
603
  options: {
595
604
  $ref: '#/definitions/InstallThemeOptions',
@@ -984,7 +993,8 @@ const schema11 = {
984
993
  },
985
994
  filesTree: {
986
995
  $ref: '#/definitions/DirectoryReference',
987
- description: 'The data to write',
996
+ description:
997
+ "The 'filesTree' defines the directory structure, supporting 'literal:directory' or 'git:directory' types. The 'name' represents the root directory, while 'files' is an object where keys are file paths, and values contain either file content as a string or nested objects for subdirectories.",
988
998
  },
989
999
  },
990
1000
  required: ['filesTree', 'step', 'writeToPath'],
@@ -1473,21 +1483,12 @@ const schema12 = {
1473
1483
  $schema: { type: 'string' },
1474
1484
  },
1475
1485
  additionalProperties: false,
1486
+ description:
1487
+ 'The Blueprint declaration, typically stored in a blueprint.json file.',
1476
1488
  };
1477
1489
  const schema13 = {
1478
1490
  type: 'string',
1479
- enum: [
1480
- '8.4',
1481
- '8.3',
1482
- '8.2',
1483
- '8.1',
1484
- '8.0',
1485
- '7.4',
1486
- '7.3',
1487
- '7.2',
1488
- '7.1',
1489
- '7.0',
1490
- ],
1491
+ enum: ['8.4', '8.3', '8.2', '8.1', '8.0', '7.4', '7.3', '7.2'],
1491
1492
  };
1492
1493
  const schema14 = { type: 'string', const: 'wp-cli' };
1493
1494
  const schema15 = {
@@ -1502,6 +1503,7 @@ const schema16 = {
1502
1503
  { $ref: '#/definitions/CoreThemeReference' },
1503
1504
  { $ref: '#/definitions/CorePluginReference' },
1504
1505
  { $ref: '#/definitions/UrlReference' },
1506
+ { $ref: '#/definitions/BundledReference' },
1505
1507
  ],
1506
1508
  };
1507
1509
  const schema17 = {
@@ -1614,6 +1616,22 @@ const schema21 = {
1614
1616
  required: ['resource', 'url'],
1615
1617
  additionalProperties: false,
1616
1618
  };
1619
+ const schema22 = {
1620
+ type: 'object',
1621
+ properties: {
1622
+ resource: {
1623
+ type: 'string',
1624
+ const: 'bundled',
1625
+ description: 'Identifies the file resource as a Blueprint file',
1626
+ },
1627
+ path: {
1628
+ type: 'string',
1629
+ description: 'The path to the file in the Blueprint',
1630
+ },
1631
+ },
1632
+ required: ['resource', 'path'],
1633
+ additionalProperties: false,
1634
+ };
1617
1635
  function validate12(
1618
1636
  data,
1619
1637
  { instancePath = '', parentData, parentDataProperty, rootData = data } = {}
@@ -2976,12 +2994,176 @@ function validate12(
2976
2994
  }
2977
2995
  var _valid0 = _errs55 === errors;
2978
2996
  valid0 = valid0 || _valid0;
2997
+ if (!valid0) {
2998
+ const _errs65 = errors;
2999
+ const _errs66 = errors;
3000
+ if (errors === _errs66) {
3001
+ if (
3002
+ data &&
3003
+ typeof data == 'object' &&
3004
+ !Array.isArray(data)
3005
+ ) {
3006
+ let missing7;
3007
+ if (
3008
+ (data.resource === undefined &&
3009
+ (missing7 = 'resource')) ||
3010
+ (data.path === undefined &&
3011
+ (missing7 = 'path'))
3012
+ ) {
3013
+ const err44 = {
3014
+ instancePath,
3015
+ schemaPath:
3016
+ '#/definitions/BundledReference/required',
3017
+ keyword: 'required',
3018
+ params: { missingProperty: missing7 },
3019
+ message:
3020
+ "must have required property '" +
3021
+ missing7 +
3022
+ "'",
3023
+ };
3024
+ if (vErrors === null) {
3025
+ vErrors = [err44];
3026
+ } else {
3027
+ vErrors.push(err44);
3028
+ }
3029
+ errors++;
3030
+ } else {
3031
+ const _errs68 = errors;
3032
+ for (const key7 in data) {
3033
+ if (
3034
+ !(
3035
+ key7 === 'resource' ||
3036
+ key7 === 'path'
3037
+ )
3038
+ ) {
3039
+ const err45 = {
3040
+ instancePath,
3041
+ schemaPath:
3042
+ '#/definitions/BundledReference/additionalProperties',
3043
+ keyword: 'additionalProperties',
3044
+ params: {
3045
+ additionalProperty: key7,
3046
+ },
3047
+ message:
3048
+ 'must NOT have additional properties',
3049
+ };
3050
+ if (vErrors === null) {
3051
+ vErrors = [err45];
3052
+ } else {
3053
+ vErrors.push(err45);
3054
+ }
3055
+ errors++;
3056
+ break;
3057
+ }
3058
+ }
3059
+ if (_errs68 === errors) {
3060
+ if (data.resource !== undefined) {
3061
+ let data19 = data.resource;
3062
+ const _errs69 = errors;
3063
+ if (typeof data19 !== 'string') {
3064
+ const err46 = {
3065
+ instancePath:
3066
+ instancePath +
3067
+ '/resource',
3068
+ schemaPath:
3069
+ '#/definitions/BundledReference/properties/resource/type',
3070
+ keyword: 'type',
3071
+ params: { type: 'string' },
3072
+ message: 'must be string',
3073
+ };
3074
+ if (vErrors === null) {
3075
+ vErrors = [err46];
3076
+ } else {
3077
+ vErrors.push(err46);
3078
+ }
3079
+ errors++;
3080
+ }
3081
+ if ('bundled' !== data19) {
3082
+ const err47 = {
3083
+ instancePath:
3084
+ instancePath +
3085
+ '/resource',
3086
+ schemaPath:
3087
+ '#/definitions/BundledReference/properties/resource/const',
3088
+ keyword: 'const',
3089
+ params: {
3090
+ allowedValue: 'bundled',
3091
+ },
3092
+ message:
3093
+ 'must be equal to constant',
3094
+ };
3095
+ if (vErrors === null) {
3096
+ vErrors = [err47];
3097
+ } else {
3098
+ vErrors.push(err47);
3099
+ }
3100
+ errors++;
3101
+ }
3102
+ var valid16 = _errs69 === errors;
3103
+ } else {
3104
+ var valid16 = true;
3105
+ }
3106
+ if (valid16) {
3107
+ if (data.path !== undefined) {
3108
+ const _errs71 = errors;
3109
+ if (
3110
+ typeof data.path !==
3111
+ 'string'
3112
+ ) {
3113
+ const err48 = {
3114
+ instancePath:
3115
+ instancePath +
3116
+ '/path',
3117
+ schemaPath:
3118
+ '#/definitions/BundledReference/properties/path/type',
3119
+ keyword: 'type',
3120
+ params: {
3121
+ type: 'string',
3122
+ },
3123
+ message:
3124
+ 'must be string',
3125
+ };
3126
+ if (vErrors === null) {
3127
+ vErrors = [err48];
3128
+ } else {
3129
+ vErrors.push(err48);
3130
+ }
3131
+ errors++;
3132
+ }
3133
+ var valid16 =
3134
+ _errs71 === errors;
3135
+ } else {
3136
+ var valid16 = true;
3137
+ }
3138
+ }
3139
+ }
3140
+ }
3141
+ } else {
3142
+ const err49 = {
3143
+ instancePath,
3144
+ schemaPath:
3145
+ '#/definitions/BundledReference/type',
3146
+ keyword: 'type',
3147
+ params: { type: 'object' },
3148
+ message: 'must be object',
3149
+ };
3150
+ if (vErrors === null) {
3151
+ vErrors = [err49];
3152
+ } else {
3153
+ vErrors.push(err49);
3154
+ }
3155
+ errors++;
3156
+ }
3157
+ }
3158
+ var _valid0 = _errs65 === errors;
3159
+ valid0 = valid0 || _valid0;
3160
+ }
2979
3161
  }
2980
3162
  }
2981
3163
  }
2982
3164
  }
2983
3165
  if (!valid0) {
2984
- const err44 = {
3166
+ const err50 = {
2985
3167
  instancePath,
2986
3168
  schemaPath: '#/anyOf',
2987
3169
  keyword: 'anyOf',
@@ -2989,9 +3171,9 @@ function validate12(
2989
3171
  message: 'must match a schema in anyOf',
2990
3172
  };
2991
3173
  if (vErrors === null) {
2992
- vErrors = [err44];
3174
+ vErrors = [err50];
2993
3175
  } else {
2994
- vErrors.push(err44);
3176
+ vErrors.push(err50);
2995
3177
  }
2996
3178
  errors++;
2997
3179
  validate12.errors = vErrors;
@@ -3009,7 +3191,7 @@ function validate12(
3009
3191
  validate12.errors = vErrors;
3010
3192
  return errors === 0;
3011
3193
  }
3012
- const schema22 = {
3194
+ const schema23 = {
3013
3195
  type: 'object',
3014
3196
  discriminator: { propertyName: 'step' },
3015
3197
  required: ['step'],
@@ -3255,7 +3437,7 @@ const schema22 = {
3255
3437
  },
3256
3438
  pluginZipFile: {
3257
3439
  $ref: '#/definitions/FileReference',
3258
- deprecated: '. Use `pluginData` instead.',
3440
+ deprecated: ". Use 'pluginData' instead.",
3259
3441
  },
3260
3442
  options: {
3261
3443
  $ref: '#/definitions/InstallPluginOptions',
@@ -3296,7 +3478,7 @@ const schema22 = {
3296
3478
  },
3297
3479
  themeZipFile: {
3298
3480
  $ref: '#/definitions/FileReference',
3299
- deprecated: '. Use `themeData` instead.',
3481
+ deprecated: ". Use 'themeData' instead.",
3300
3482
  },
3301
3483
  options: {
3302
3484
  $ref: '#/definitions/InstallThemeOptions',
@@ -3672,7 +3854,8 @@ const schema22 = {
3672
3854
  },
3673
3855
  filesTree: {
3674
3856
  $ref: '#/definitions/DirectoryReference',
3675
- description: 'The data to write',
3857
+ description:
3858
+ "The 'filesTree' defines the directory structure, supporting 'literal:directory' or 'git:directory' types. The 'name' represents the root directory, while 'files' is an object where keys are file paths, and values contain either file content as a string or nested objects for subdirectories.",
3676
3859
  },
3677
3860
  },
3678
3861
  required: ['filesTree', 'step', 'writeToPath'],
@@ -3727,7 +3910,7 @@ const schema22 = {
3727
3910
  },
3728
3911
  ],
3729
3912
  };
3730
- const schema27 = {
3913
+ const schema28 = {
3731
3914
  type: 'object',
3732
3915
  properties: {
3733
3916
  activate: {
@@ -3742,7 +3925,7 @@ const schema27 = {
3742
3925
  },
3743
3926
  additionalProperties: false,
3744
3927
  };
3745
- const schema28 = {
3928
+ const schema29 = {
3746
3929
  type: 'object',
3747
3930
  properties: {
3748
3931
  activate: {
@@ -3762,7 +3945,7 @@ const schema28 = {
3762
3945
  },
3763
3946
  additionalProperties: false,
3764
3947
  };
3765
- const schema35 = {
3948
+ const schema36 = {
3766
3949
  type: 'object',
3767
3950
  properties: {
3768
3951
  adminUsername: { type: 'string' },
@@ -3770,13 +3953,13 @@ const schema35 = {
3770
3953
  },
3771
3954
  additionalProperties: false,
3772
3955
  };
3773
- const schema23 = {
3956
+ const schema24 = {
3774
3957
  anyOf: [
3775
3958
  { $ref: '#/definitions/GitDirectoryReference' },
3776
3959
  { $ref: '#/definitions/DirectoryLiteralReference' },
3777
3960
  ],
3778
3961
  };
3779
- const schema24 = {
3962
+ const schema25 = {
3780
3963
  type: 'object',
3781
3964
  properties: {
3782
3965
  resource: {
@@ -3797,7 +3980,7 @@ const schema24 = {
3797
3980
  required: ['resource', 'url', 'ref', 'path'],
3798
3981
  additionalProperties: false,
3799
3982
  };
3800
- const schema25 = {
3983
+ const schema26 = {
3801
3984
  type: 'object',
3802
3985
  additionalProperties: false,
3803
3986
  properties: {
@@ -3811,7 +3994,7 @@ const schema25 = {
3811
3994
  },
3812
3995
  required: ['files', 'name', 'resource'],
3813
3996
  };
3814
- const schema26 = {
3997
+ const schema27 = {
3815
3998
  type: 'object',
3816
3999
  additionalProperties: {
3817
4000
  anyOf: [
@@ -3873,7 +4056,7 @@ function validate20(
3873
4056
  schemaPath: '#/additionalProperties/anyOf/1/type',
3874
4057
  keyword: 'type',
3875
4058
  params: {
3876
- type: schema26.additionalProperties.anyOf[1]
4059
+ type: schema27.additionalProperties.anyOf[1]
3877
4060
  .type,
3878
4061
  },
3879
4062
  message: 'must be object,string',
@@ -4323,7 +4506,7 @@ function validate18(
4323
4506
  validate18.errors = vErrors;
4324
4507
  return errors === 0;
4325
4508
  }
4326
- const schema29 = {
4509
+ const schema30 = {
4327
4510
  type: 'object',
4328
4511
  properties: {
4329
4512
  method: {
@@ -4420,11 +4603,11 @@ const schema29 = {
4420
4603
  required: ['url'],
4421
4604
  additionalProperties: false,
4422
4605
  };
4423
- const schema30 = {
4606
+ const schema31 = {
4424
4607
  type: 'string',
4425
4608
  enum: ['GET', 'POST', 'HEAD', 'OPTIONS', 'PATCH', 'PUT', 'DELETE'],
4426
4609
  };
4427
- const schema31 = { type: 'object', additionalProperties: { type: 'string' } };
4610
+ const schema32 = { type: 'object', additionalProperties: { type: 'string' } };
4428
4611
  function validate28(
4429
4612
  data,
4430
4613
  { instancePath = '', parentData, parentDataProperty, rootData = data } = {}
@@ -4502,7 +4685,7 @@ function validate28(
4502
4685
  instancePath: instancePath + '/method',
4503
4686
  schemaPath: '#/definitions/HTTPMethod/enum',
4504
4687
  keyword: 'enum',
4505
- params: { allowedValues: schema30.enum },
4688
+ params: { allowedValues: schema31.enum },
4506
4689
  message:
4507
4690
  'must be equal to one of the allowed values',
4508
4691
  },
@@ -6606,7 +6789,7 @@ function validate28(
6606
6789
  validate28.errors = vErrors;
6607
6790
  return errors === 0;
6608
6791
  }
6609
- const schema32 = {
6792
+ const schema33 = {
6610
6793
  type: 'object',
6611
6794
  properties: {
6612
6795
  relativeUri: {
@@ -6682,7 +6865,7 @@ function validate30(
6682
6865
  if (data && typeof data == 'object' && !Array.isArray(data)) {
6683
6866
  const _errs1 = errors;
6684
6867
  for (const key0 in data) {
6685
- if (!func2.call(schema32.properties, key0)) {
6868
+ if (!func2.call(schema33.properties, key0)) {
6686
6869
  validate30.errors = [
6687
6870
  {
6688
6871
  instancePath,
@@ -6792,7 +6975,7 @@ function validate30(
6792
6975
  '#/definitions/HTTPMethod/enum',
6793
6976
  keyword: 'enum',
6794
6977
  params: {
6795
- allowedValues: schema30.enum,
6978
+ allowedValues: schema31.enum,
6796
6979
  },
6797
6980
  message:
6798
6981
  'must be equal to one of the allowed values',
@@ -9068,7 +9251,7 @@ function validate14(
9068
9251
  'enum',
9069
9252
  params: {
9070
9253
  allowedValues:
9071
- schema22
9254
+ schema23
9072
9255
  .oneOf[3]
9073
9256
  .properties
9074
9257
  .method
@@ -10076,7 +10259,7 @@ function validate14(
10076
10259
  'enum',
10077
10260
  params: {
10078
10261
  allowedValues:
10079
- schema22
10262
+ schema23
10080
10263
  .oneOf[6]
10081
10264
  .properties
10082
10265
  .importer
@@ -11011,7 +11194,7 @@ function validate14(
11011
11194
  keyword: 'enum',
11012
11195
  params: {
11013
11196
  allowedValues:
11014
- schema22
11197
+ schema23
11015
11198
  .oneOf[9]
11016
11199
  .properties
11017
11200
  .ifAlreadyInstalled
@@ -11677,7 +11860,7 @@ function validate14(
11677
11860
  keyword: 'enum',
11678
11861
  params: {
11679
11862
  allowedValues:
11680
- schema22
11863
+ schema23
11681
11864
  .oneOf[10]
11682
11865
  .properties
11683
11866
  .ifAlreadyInstalled
@@ -19338,9 +19521,7 @@ function validate11(
19338
19521
  data9 === '8.0' ||
19339
19522
  data9 === '7.4' ||
19340
19523
  data9 === '7.3' ||
19341
- data9 === '7.2' ||
19342
- data9 === '7.1' ||
19343
- data9 === '7.0'
19524
+ data9 === '7.2'
19344
19525
  )
19345
19526
  ) {
19346
19527
  const err1 = {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/schema",
3
- "$ref": "#/definitions/Blueprint",
3
+ "$ref": "#/definitions/BlueprintDeclaration",
4
4
  "definitions": {
5
- "Blueprint": {
5
+ "BlueprintDeclaration": {
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "landingPage": {
@@ -165,22 +165,12 @@
165
165
  "type": "string"
166
166
  }
167
167
  },
168
- "additionalProperties": false
168
+ "additionalProperties": false,
169
+ "description": "The Blueprint declaration, typically stored in a blueprint.json file."
169
170
  },
170
171
  "SupportedPHPVersion": {
171
172
  "type": "string",
172
- "enum": [
173
- "8.4",
174
- "8.3",
175
- "8.2",
176
- "8.1",
177
- "8.0",
178
- "7.4",
179
- "7.3",
180
- "7.2",
181
- "7.1",
182
- "7.0"
183
- ]
173
+ "enum": ["8.4", "8.3", "8.2", "8.1", "8.0", "7.4", "7.3", "7.2"]
184
174
  },
185
175
  "ExtraLibrary": {
186
176
  "type": "string",
@@ -208,6 +198,9 @@
208
198
  },
209
199
  {
210
200
  "$ref": "#/definitions/UrlReference"
201
+ },
202
+ {
203
+ "$ref": "#/definitions/BundledReference"
211
204
  }
212
205
  ]
213
206
  },
@@ -340,6 +333,22 @@
340
333
  "required": ["resource", "url"],
341
334
  "additionalProperties": false
342
335
  },
336
+ "BundledReference": {
337
+ "type": "object",
338
+ "properties": {
339
+ "resource": {
340
+ "type": "string",
341
+ "const": "bundled",
342
+ "description": "Identifies the file resource as a Blueprint file"
343
+ },
344
+ "path": {
345
+ "type": "string",
346
+ "description": "The path to the file in the Blueprint"
347
+ }
348
+ },
349
+ "required": ["resource", "path"],
350
+ "additionalProperties": false
351
+ },
343
352
  "StepDefinition": {
344
353
  "type": "object",
345
354
  "discriminator": {
@@ -658,7 +667,7 @@
658
667
  },
659
668
  "pluginZipFile": {
660
669
  "$ref": "#/definitions/FileReference",
661
- "deprecated": ". Use `pluginData` instead."
670
+ "deprecated": ". Use 'pluginData' instead."
662
671
  },
663
672
  "options": {
664
673
  "$ref": "#/definitions/InstallPluginOptions",
@@ -706,7 +715,7 @@
706
715
  },
707
716
  "themeZipFile": {
708
717
  "$ref": "#/definitions/FileReference",
709
- "deprecated": ". Use `themeData` instead."
718
+ "deprecated": ". Use 'themeData' instead."
710
719
  },
711
720
  "options": {
712
721
  "$ref": "#/definitions/InstallThemeOptions",
@@ -1215,7 +1224,7 @@
1215
1224
  },
1216
1225
  "filesTree": {
1217
1226
  "$ref": "#/definitions/DirectoryReference",
1218
- "description": "The data to write"
1227
+ "description": "The 'filesTree' defines the directory structure, supporting 'literal:directory' or 'git:directory' types. The 'name' represents the root directory, while 'files' is an object where keys are file paths, and values contain either file content as a string or nested objects for subdirectories."
1219
1228
  }
1220
1229
  },
1221
1230
  "required": ["filesTree", "step", "writeToPath"]