@lesliechan721/aw-plugin-core 0.1.0-beta.5 → 0.1.0-beta.50

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 (49) hide show
  1. package/dist/aw-capabilities.d.ts +27 -0
  2. package/dist/aw-capabilities.js +115 -0
  3. package/dist/aw-capabilities.js.map +1 -0
  4. package/dist/catalog-file-modes.d.ts +5 -0
  5. package/dist/catalog-file-modes.js +67 -0
  6. package/dist/catalog-file-modes.js.map +1 -0
  7. package/dist/catalog-workspace-resolution.d.ts +3 -0
  8. package/dist/catalog-workspace-resolution.js +34 -0
  9. package/dist/catalog-workspace-resolution.js.map +1 -0
  10. package/dist/generated/plugin-manifest-v3.d.ts +1350 -0
  11. package/dist/generated/{plugin-manifest-v1.js → plugin-manifest-v3.js} +1 -1
  12. package/dist/generated/plugin-manifest-v3.js.map +1 -0
  13. package/dist/index.d.ts +3 -2
  14. package/dist/index.js +2 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/manifest-contract.d.ts +3 -6
  17. package/dist/manifest-contract.js +224 -398
  18. package/dist/manifest-contract.js.map +1 -1
  19. package/dist/manifest-type-contract.d.ts +2 -2
  20. package/dist/manifest.d.ts +10 -8
  21. package/dist/manifest.js +16 -7
  22. package/dist/manifest.js.map +1 -1
  23. package/dist/plugin-authoring-capabilities.d.ts +1 -1
  24. package/dist/plugin-authoring-capabilities.js +60 -26
  25. package/dist/plugin-authoring-capabilities.js.map +1 -1
  26. package/dist/plugin-config.d.ts +39 -0
  27. package/dist/plugin-config.js +1320 -0
  28. package/dist/plugin-config.js.map +1 -0
  29. package/dist/plugin-requirements.d.ts +34 -0
  30. package/dist/plugin-requirements.js +294 -0
  31. package/dist/plugin-requirements.js.map +1 -0
  32. package/dist/plugin-script-contract.d.ts +11 -12
  33. package/dist/plugin-script-contract.js +44 -71
  34. package/dist/plugin-script-contract.js.map +1 -1
  35. package/dist/runtime-config.d.ts +38 -0
  36. package/dist/runtime-config.js +31 -0
  37. package/dist/runtime-config.js.map +1 -0
  38. package/dist/types.d.ts +249 -61
  39. package/dist/workspace.d.ts +37 -9
  40. package/dist/workspace.js +419 -191
  41. package/dist/workspace.js.map +1 -1
  42. package/package.json +13 -4
  43. package/schemas/plugin-manifest-v3.json +2122 -0
  44. package/dist/generated/plugin-manifest-v1.d.ts +0 -368
  45. package/dist/generated/plugin-manifest-v1.js.map +0 -1
  46. package/dist/plugin-release.d.ts +0 -30
  47. package/dist/plugin-release.js +0 -187
  48. package/dist/plugin-release.js.map +0 -1
  49. package/schemas/plugin-manifest-v1.json +0 -329
@@ -0,0 +1,1350 @@
1
+ /**
2
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
3
+ * via the `definition` "semver".
4
+ */
5
+ export type Semver = string;
6
+ /**
7
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
8
+ * via the `definition` "pluginPath".
9
+ */
10
+ export type PluginPath = string;
11
+ /**
12
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
13
+ * via the `definition` "stringArray".
14
+ */
15
+ export type StringArray = string[];
16
+ /**
17
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
18
+ * via the `definition` "artifactTarget".
19
+ */
20
+ export type ArtifactTarget = ({
21
+ id: string;
22
+ platform?: ("codex" | "claude");
23
+ distribution?: "agent-skills";
24
+ scopes: ("user" | "project")[];
25
+ target: "codex.skill";
26
+ kind?: ("instruction" | "codexRole" | "skill");
27
+ projectManagedKind?: ("skill" | "mcpServer" | "instruction" | "permission" | "hook" | "agent");
28
+ states: ("present" | "disabled")[];
29
+ refreshKeys: StringArray;
30
+ requiresCodexProjectConfig?: boolean;
31
+ delivery: CodexSkillDelivery;
32
+ roleKey?: string;
33
+ skillKey?: string;
34
+ sourceDirs?: StringArray;
35
+ runtimeImports?: ArtifactRuntimeImports;
36
+ runtimeConfig?: RuntimeConfig;
37
+ } | {
38
+ id: string;
39
+ platform?: ("codex" | "claude");
40
+ distribution?: "agent-skills";
41
+ scopes: ("user" | "project")[];
42
+ target: ("codex.developerInstructionsBlock" | "codex.agentRole" | "claude.skill" | "agent-skills.skill");
43
+ kind?: ("instruction" | "codexRole" | "skill");
44
+ projectManagedKind?: ("skill" | "mcpServer" | "instruction" | "permission" | "hook" | "agent");
45
+ states: ("present" | "disabled")[];
46
+ refreshKeys: StringArray;
47
+ requiresCodexProjectConfig?: boolean;
48
+ roleKey?: string;
49
+ skillKey?: string;
50
+ sourceDirs?: StringArray;
51
+ runtimeImports?: ArtifactRuntimeImports;
52
+ runtimeConfig?: RuntimeConfig;
53
+ });
54
+ /**
55
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
56
+ * via the `definition` "codexSkillDelivery".
57
+ */
58
+ export type CodexSkillDelivery = ({
59
+ mode: "codex-native";
60
+ identity: "shared";
61
+ renderProfile: "user";
62
+ } | {
63
+ mode: "aw-extension";
64
+ });
65
+ export type Capabilities = string[];
66
+ /**
67
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
68
+ * via the `definition` "artifactRuntimeImports".
69
+ */
70
+ export type ArtifactRuntimeImports = {
71
+ name: string;
72
+ plugin: string;
73
+ export: string;
74
+ resolved?: {
75
+ path: string;
76
+ digest: string;
77
+ providerPluginId: string;
78
+ providerVersion: Semver;
79
+ source: string;
80
+ requiredCapabilities: Capabilities;
81
+ capabilitySetDigest: string;
82
+ };
83
+ }[];
84
+ /**
85
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
86
+ * via the `definition` "config".
87
+ */
88
+ export type Config = (ConfigV2 | ConfigV3 | ConfigV4);
89
+ /**
90
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
91
+ * via the `definition` "configField".
92
+ */
93
+ export type ConfigField = (ConfigStringField | ConfigNumberField | ConfigBooleanField | ConfigObjectField);
94
+ /**
95
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
96
+ * via the `definition` "configStringField".
97
+ */
98
+ export type ConfigStringField = (ConfigPlainStringField | ConfigSensitiveStringField);
99
+ /**
100
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
101
+ * via the `definition` "configScalar".
102
+ */
103
+ export type ConfigScalar = (string | number | boolean);
104
+ /**
105
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
106
+ * via the `definition` "configObjectField".
107
+ */
108
+ export type ConfigObjectField = (ConfigFixedObjectField | ConfigKeyValueObjectField);
109
+ /**
110
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
111
+ * via the `definition` "configScalarChildField".
112
+ */
113
+ export type ConfigScalarChildField = (ConfigStringChildField | ConfigNumberChildField | ConfigBooleanChildField);
114
+ /**
115
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
116
+ * via the `definition` "configScalarDynamicField".
117
+ */
118
+ export type ConfigScalarDynamicField = (ConfigStringDynamicField | ConfigNumberDynamicField | ConfigBooleanDynamicField);
119
+ /**
120
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
121
+ * via the `definition` "configV3Field".
122
+ */
123
+ export type ConfigV3Field = (ConfigScalarField | ConfigV3FixedObjectField | ConfigV3KeyValueObjectField | ConfigArrayField | ConfigReference);
124
+ /**
125
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
126
+ * via the `definition` "configScalarField".
127
+ */
128
+ export type ConfigScalarField = (ConfigStringField | ConfigNumberField | ConfigBooleanField);
129
+ /**
130
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
131
+ * via the `definition` "configArrayValue".
132
+ */
133
+ export type ConfigArrayValue = (string[] | number[] | boolean[] | ConfigArrayObjectValue[]);
134
+ /**
135
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
136
+ * via the `definition` "configArrayItem".
137
+ */
138
+ export type ConfigArrayItem = (ConfigScalarDynamicField | ConfigArrayFixedObjectItem | ConfigArrayKeyValueObjectItem | ConfigArrayItemReference);
139
+ /**
140
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
141
+ * via the `definition` "configV4Field".
142
+ */
143
+ export type ConfigV4Field = (ConfigV4ScalarField | ConfigV4FixedObjectField | ConfigV4KeyValueObjectField | ConfigV4ArrayField | ConfigV4Reference);
144
+ /**
145
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
146
+ * via the `definition` "configV4ScalarField".
147
+ */
148
+ export type ConfigV4ScalarField = (ConfigV4StringField | ConfigV4NumberField | ConfigV4BooleanField);
149
+ /**
150
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
151
+ * via the `definition` "configV4StringField".
152
+ */
153
+ export type ConfigV4StringField = (ConfigV4PlainStringField | ConfigSensitiveStringField);
154
+ /**
155
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
156
+ * via the `definition` "configScalarArrayValue".
157
+ */
158
+ export type ConfigScalarArrayValue = (string[] | number[] | boolean[]);
159
+ /**
160
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
161
+ * via the `definition` "configV4PropertyField".
162
+ */
163
+ export type ConfigV4PropertyField = (ConfigV4ScalarChildField | ConfigV4LeafArrayField | ConfigV4LeafObjectField | ConfigChildReference);
164
+ /**
165
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
166
+ * via the `definition` "configV4ScalarChildField".
167
+ */
168
+ export type ConfigV4ScalarChildField = (ConfigV4StringChildField | ConfigV4NumberChildField | ConfigV4BooleanChildField);
169
+ /**
170
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
171
+ * via the `definition` "configV4ScalarDynamicField".
172
+ */
173
+ export type ConfigV4ScalarDynamicField = (ConfigV4StringDynamicField | ConfigV4NumberDynamicField | ConfigV4BooleanDynamicField);
174
+ /**
175
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
176
+ * via the `definition` "configV4ArrayValue".
177
+ */
178
+ export type ConfigV4ArrayValue = (string[] | number[] | boolean[] | ConfigV4ObjectValue[]);
179
+ /**
180
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
181
+ * via the `definition` "configV4ArrayItem".
182
+ */
183
+ export type ConfigV4ArrayItem = (ConfigV4ScalarDynamicField | ConfigV4ArrayFixedObjectItem | ConfigV4ArrayKeyValueObjectItem | ConfigArrayItemReference);
184
+ export interface PluginManifestSourceV3 {
185
+ schemaVersion: 3;
186
+ name: string;
187
+ version: Semver;
188
+ description: string;
189
+ /**
190
+ * @maxItems 64
191
+ */
192
+ dependencies?: string[];
193
+ requires?: Requires;
194
+ skills?: PluginPath;
195
+ slashCommands?: PluginPath;
196
+ mcpServers?: PluginPath;
197
+ apps?: PluginPath;
198
+ distributions?: Distributions;
199
+ marketplace: Marketplace;
200
+ interface?: Interface;
201
+ extensions?: Extensions;
202
+ artifacts?: Artifacts;
203
+ buildConfig?: BuildConfig;
204
+ scripts?: Scripts;
205
+ config?: Config;
206
+ }
207
+ /**
208
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
209
+ * via the `definition` "requires".
210
+ */
211
+ export interface Requires {
212
+ aw: {
213
+ capabilities?: string[];
214
+ };
215
+ }
216
+ /**
217
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
218
+ * via the `definition` "distributions".
219
+ */
220
+ export interface Distributions {
221
+ agentSkills?: {
222
+ skills?: PluginPath;
223
+ };
224
+ }
225
+ /**
226
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
227
+ * via the `definition` "marketplace".
228
+ */
229
+ export interface Marketplace {
230
+ category: string;
231
+ tags?: string[];
232
+ strict: boolean;
233
+ policy: {
234
+ installation: ("AVAILABLE" | "NOT_AVAILABLE" | "INSTALLED_BY_DEFAULT");
235
+ authentication: ("ON_INSTALL" | "ON_USE");
236
+ products?: string[];
237
+ };
238
+ }
239
+ /**
240
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
241
+ * via the `definition` "interface".
242
+ */
243
+ export interface Interface {
244
+ displayName?: string;
245
+ shortDescription?: string;
246
+ capabilities?: string[];
247
+ }
248
+ /**
249
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
250
+ * via the `definition` "extensions".
251
+ */
252
+ export interface Extensions {
253
+ instructions?: Instruction[];
254
+ permissions?: Permission[];
255
+ hooks?: Hook[];
256
+ nativeHooks?: {
257
+ claude?: NativeHook[];
258
+ codex?: NativeHook[];
259
+ };
260
+ agents?: Agent[];
261
+ }
262
+ /**
263
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
264
+ * via the `definition` "instruction".
265
+ */
266
+ export interface Instruction {
267
+ name: string;
268
+ title: string;
269
+ content: string;
270
+ paths?: StringArray;
271
+ agentOverrides?: PlatformOverrides;
272
+ }
273
+ /**
274
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
275
+ * via the `definition` "platformOverrides".
276
+ */
277
+ export interface PlatformOverrides {
278
+ claude?: ({
279
+ [k: string]: unknown;
280
+ } | null);
281
+ codex?: ({
282
+ [k: string]: unknown;
283
+ } | null);
284
+ }
285
+ /**
286
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
287
+ * via the `definition` "permission".
288
+ */
289
+ export interface Permission {
290
+ name: string;
291
+ allow?: StringArray;
292
+ ask?: StringArray;
293
+ deny?: StringArray;
294
+ agentOverrides?: PlatformOverrides;
295
+ }
296
+ /**
297
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
298
+ * via the `definition` "hook".
299
+ */
300
+ export interface Hook {
301
+ event: string;
302
+ matcher?: string;
303
+ command: string;
304
+ agentOverrides?: PlatformOverrides;
305
+ }
306
+ /**
307
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
308
+ * via the `definition` "nativeHook".
309
+ */
310
+ export interface NativeHook {
311
+ event: string;
312
+ matcher?: string;
313
+ command: string;
314
+ }
315
+ /**
316
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
317
+ * via the `definition` "agent".
318
+ */
319
+ export interface Agent {
320
+ name: string;
321
+ description: string;
322
+ prompt: string;
323
+ tools?: StringArray;
324
+ agentOverrides?: PlatformOverrides;
325
+ }
326
+ /**
327
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
328
+ * via the `definition` "artifacts".
329
+ */
330
+ export interface Artifacts {
331
+ targets?: ArtifactTarget[];
332
+ }
333
+ /**
334
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
335
+ * via the `definition` "runtimeConfig".
336
+ */
337
+ export interface RuntimeConfig {
338
+ /**
339
+ * @minItems 1
340
+ */
341
+ keys: [string, ...(string)[]];
342
+ }
343
+ /**
344
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
345
+ * via the `definition` "buildConfig".
346
+ */
347
+ export interface BuildConfig {
348
+ cacheable?: true;
349
+ templates?: {
350
+ vars: {
351
+ [k: string]: PlatformTemplateValue;
352
+ };
353
+ include: StringArray;
354
+ };
355
+ fileRules?: {
356
+ claude?: FileRules;
357
+ codex?: FileRules;
358
+ };
359
+ manifestOverrides?: {
360
+ claude?: {
361
+ commands?: string;
362
+ outputStyles?: string;
363
+ lspServers?: unknown;
364
+ userConfig?: unknown;
365
+ channels?: unknown;
366
+ };
367
+ codex?: {
368
+ [k: string]: unknown;
369
+ };
370
+ };
371
+ runtimeExports?: {
372
+ name: string;
373
+ source: string;
374
+ requires: RuntimeExportRequires;
375
+ }[];
376
+ buildImports?: {
377
+ plugin: string;
378
+ export: string;
379
+ env: string;
380
+ }[];
381
+ skillRuntimeFiles?: {
382
+ skill: string;
383
+ target: string;
384
+ platforms?: ("codex" | "claude")[];
385
+ distributions?: ("agent-skills")[];
386
+ source?: string;
387
+ import?: ImportReference;
388
+ }[];
389
+ generatedSkillRuntimeFiles?: {
390
+ skill: string;
391
+ target: string;
392
+ distributions?: ("agent-skills")[];
393
+ }[];
394
+ }
395
+ /**
396
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
397
+ * via the `definition` "platformTemplateValue".
398
+ */
399
+ export interface PlatformTemplateValue {
400
+ claude: (string | boolean);
401
+ codex: (string | boolean);
402
+ }
403
+ /**
404
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
405
+ * via the `definition` "fileRules".
406
+ */
407
+ export interface FileRules {
408
+ include: StringArray;
409
+ exclude: StringArray;
410
+ }
411
+ /**
412
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
413
+ * via the `definition` "runtimeExportRequires".
414
+ */
415
+ export interface RuntimeExportRequires {
416
+ aw: {
417
+ capabilities: Capabilities;
418
+ };
419
+ }
420
+ /**
421
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
422
+ * via the `definition` "importReference".
423
+ */
424
+ export interface ImportReference {
425
+ plugin: string;
426
+ export: string;
427
+ }
428
+ /**
429
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
430
+ * via the `definition` "scripts".
431
+ */
432
+ export interface Scripts {
433
+ preApply?: PreApply;
434
+ helpers?: {
435
+ config: string;
436
+ };
437
+ node?: {
438
+ packageRoot?: string;
439
+ build?: ScriptEntry;
440
+ };
441
+ artifacts?: {
442
+ render?: ScriptEntry;
443
+ };
444
+ tests?: {
445
+ node?: StringArray;
446
+ };
447
+ }
448
+ /**
449
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
450
+ * via the `definition` "preApply".
451
+ */
452
+ export interface PreApply {
453
+ path: PluginPath;
454
+ timeoutMs?: number;
455
+ }
456
+ /**
457
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
458
+ * via the `definition` "scriptEntry".
459
+ */
460
+ export interface ScriptEntry {
461
+ runner: "node";
462
+ path: string;
463
+ args?: StringArray;
464
+ }
465
+ /**
466
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
467
+ * via the `definition` "configV2".
468
+ */
469
+ export interface ConfigV2 {
470
+ fields: {
471
+ [k: string]: ConfigField;
472
+ };
473
+ presentation?: {
474
+ groups?: {
475
+ id: string;
476
+ title: string;
477
+ description?: string;
478
+ fields: StringArray;
479
+ advanced?: boolean;
480
+ }[];
481
+ };
482
+ }
483
+ /**
484
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
485
+ * via the `definition` "configPlainStringField".
486
+ */
487
+ export interface ConfigPlainStringField {
488
+ valueRef?: ConfigValueReference;
489
+ type: "string";
490
+ title?: string;
491
+ description?: string;
492
+ default?: string;
493
+ required?: boolean;
494
+ sensitive?: false;
495
+ choices?: ConfigStringChoices;
496
+ validation?: ConfigStringValidation;
497
+ }
498
+ /**
499
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
500
+ * via the `definition` "configValueReference".
501
+ */
502
+ export interface ConfigValueReference {
503
+ field: string;
504
+ key: string;
505
+ label?: string;
506
+ /**
507
+ * @maxItems 128
508
+ */
509
+ include?: ConfigScalar[];
510
+ }
511
+ /**
512
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
513
+ * via the `definition` "configStringChoices".
514
+ */
515
+ export interface ConfigStringChoices {
516
+ allowCustom: boolean;
517
+ presets: ConfigStringPreset[];
518
+ }
519
+ /**
520
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
521
+ * via the `definition` "configStringPreset".
522
+ */
523
+ export interface ConfigStringPreset {
524
+ id: string;
525
+ title: string;
526
+ description?: string;
527
+ value: string;
528
+ recommended?: true;
529
+ }
530
+ /**
531
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
532
+ * via the `definition` "configStringValidation".
533
+ */
534
+ export interface ConfigStringValidation {
535
+ minLength?: number;
536
+ maxLength?: number;
537
+ pattern?: string;
538
+ format?: ("identifier" | "slug" | "semver" | "url" | "hostname" | "email");
539
+ }
540
+ /**
541
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
542
+ * via the `definition` "configSensitiveStringField".
543
+ */
544
+ export interface ConfigSensitiveStringField {
545
+ type: "string";
546
+ title?: string;
547
+ description?: string;
548
+ required?: boolean;
549
+ sensitive: true;
550
+ validation?: ConfigStringValidation;
551
+ }
552
+ /**
553
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
554
+ * via the `definition` "configNumberField".
555
+ */
556
+ export interface ConfigNumberField {
557
+ valueRef?: ConfigValueReference;
558
+ type: "number";
559
+ title?: string;
560
+ description?: string;
561
+ default?: number;
562
+ required?: boolean;
563
+ sensitive?: never;
564
+ choices?: ConfigNumberChoices;
565
+ validation?: ConfigNumberValidation;
566
+ }
567
+ /**
568
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
569
+ * via the `definition` "configNumberChoices".
570
+ */
571
+ export interface ConfigNumberChoices {
572
+ allowCustom: boolean;
573
+ presets: ConfigNumberPreset[];
574
+ }
575
+ /**
576
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
577
+ * via the `definition` "configNumberPreset".
578
+ */
579
+ export interface ConfigNumberPreset {
580
+ id: string;
581
+ title: string;
582
+ description?: string;
583
+ value: number;
584
+ recommended?: true;
585
+ }
586
+ /**
587
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
588
+ * via the `definition` "configNumberValidation".
589
+ */
590
+ export interface ConfigNumberValidation {
591
+ integer?: boolean;
592
+ minimum?: number;
593
+ maximum?: number;
594
+ multipleOf?: number;
595
+ }
596
+ /**
597
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
598
+ * via the `definition` "configBooleanField".
599
+ */
600
+ export interface ConfigBooleanField {
601
+ valueRef?: ConfigValueReference;
602
+ type: "boolean";
603
+ title?: string;
604
+ description?: string;
605
+ default?: boolean;
606
+ required?: boolean;
607
+ sensitive?: never;
608
+ choices?: ConfigBooleanChoices;
609
+ }
610
+ /**
611
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
612
+ * via the `definition` "configBooleanChoices".
613
+ */
614
+ export interface ConfigBooleanChoices {
615
+ allowCustom: boolean;
616
+ presets: ConfigBooleanPreset[];
617
+ }
618
+ /**
619
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
620
+ * via the `definition` "configBooleanPreset".
621
+ */
622
+ export interface ConfigBooleanPreset {
623
+ id: string;
624
+ title: string;
625
+ description?: string;
626
+ value: boolean;
627
+ recommended?: true;
628
+ }
629
+ /**
630
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
631
+ * via the `definition` "configFixedObjectField".
632
+ */
633
+ export interface ConfigFixedObjectField {
634
+ type: "object";
635
+ title?: string;
636
+ description?: string;
637
+ default?: {
638
+ [k: string]: ConfigScalar;
639
+ };
640
+ required?: boolean;
641
+ sensitive?: never;
642
+ choices?: ConfigObjectChoices;
643
+ properties: {
644
+ [k: string]: ConfigScalarChildField;
645
+ };
646
+ additionalProperties?: false;
647
+ validation?: ConfigObjectValidation;
648
+ }
649
+ /**
650
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
651
+ * via the `definition` "configObjectChoices".
652
+ */
653
+ export interface ConfigObjectChoices {
654
+ allowCustom: boolean;
655
+ presets: ConfigObjectPreset[];
656
+ }
657
+ /**
658
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
659
+ * via the `definition` "configObjectPreset".
660
+ */
661
+ export interface ConfigObjectPreset {
662
+ id: string;
663
+ title: string;
664
+ description?: string;
665
+ value: {
666
+ [k: string]: ConfigScalar;
667
+ };
668
+ recommended?: true;
669
+ }
670
+ /**
671
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
672
+ * via the `definition` "configStringChildField".
673
+ */
674
+ export interface ConfigStringChildField {
675
+ valueRef?: ConfigValueReference;
676
+ type: "string";
677
+ title?: string;
678
+ description?: string;
679
+ required?: boolean;
680
+ sensitive?: never;
681
+ choices?: ConfigStringChoices;
682
+ validation?: ConfigStringValidation;
683
+ }
684
+ /**
685
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
686
+ * via the `definition` "configNumberChildField".
687
+ */
688
+ export interface ConfigNumberChildField {
689
+ valueRef?: ConfigValueReference;
690
+ type: "number";
691
+ title?: string;
692
+ description?: string;
693
+ required?: boolean;
694
+ sensitive?: never;
695
+ choices?: ConfigNumberChoices;
696
+ validation?: ConfigNumberValidation;
697
+ }
698
+ /**
699
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
700
+ * via the `definition` "configBooleanChildField".
701
+ */
702
+ export interface ConfigBooleanChildField {
703
+ valueRef?: ConfigValueReference;
704
+ type: "boolean";
705
+ title?: string;
706
+ description?: string;
707
+ required?: boolean;
708
+ sensitive?: never;
709
+ choices?: ConfigBooleanChoices;
710
+ }
711
+ /**
712
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
713
+ * via the `definition` "configObjectValidation".
714
+ */
715
+ export interface ConfigObjectValidation {
716
+ minProperties?: number;
717
+ maxProperties?: number;
718
+ key?: ConfigStringValidation;
719
+ }
720
+ /**
721
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
722
+ * via the `definition` "configKeyValueObjectField".
723
+ */
724
+ export interface ConfigKeyValueObjectField {
725
+ type: "object";
726
+ title?: string;
727
+ description?: string;
728
+ default?: {
729
+ [k: string]: ConfigScalar;
730
+ };
731
+ required?: boolean;
732
+ sensitive?: never;
733
+ choices?: ConfigObjectChoices;
734
+ additionalProperties: ConfigScalarDynamicField;
735
+ validation?: ConfigObjectValidation;
736
+ }
737
+ /**
738
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
739
+ * via the `definition` "configStringDynamicField".
740
+ */
741
+ export interface ConfigStringDynamicField {
742
+ valueRef?: ConfigValueReference;
743
+ type: "string";
744
+ title?: string;
745
+ description?: string;
746
+ sensitive?: never;
747
+ choices?: ConfigStringChoices;
748
+ validation?: ConfigStringValidation;
749
+ }
750
+ /**
751
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
752
+ * via the `definition` "configNumberDynamicField".
753
+ */
754
+ export interface ConfigNumberDynamicField {
755
+ valueRef?: ConfigValueReference;
756
+ type: "number";
757
+ title?: string;
758
+ description?: string;
759
+ sensitive?: never;
760
+ choices?: ConfigNumberChoices;
761
+ validation?: ConfigNumberValidation;
762
+ }
763
+ /**
764
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
765
+ * via the `definition` "configBooleanDynamicField".
766
+ */
767
+ export interface ConfigBooleanDynamicField {
768
+ valueRef?: ConfigValueReference;
769
+ type: "boolean";
770
+ title?: string;
771
+ description?: string;
772
+ sensitive?: never;
773
+ choices?: ConfigBooleanChoices;
774
+ }
775
+ /**
776
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
777
+ * via the `definition` "configV3".
778
+ */
779
+ export interface ConfigV3 {
780
+ fields: {
781
+ [k: string]: ConfigV3Field;
782
+ };
783
+ presentation?: {
784
+ groups?: {
785
+ id: string;
786
+ title: string;
787
+ description?: string;
788
+ fields: StringArray;
789
+ advanced?: boolean;
790
+ }[];
791
+ summaries?: {
792
+ [k: string]: ConfigJoinSummary;
793
+ };
794
+ fieldViews?: {
795
+ [k: string]: ({
796
+ summary: string;
797
+ } | {
798
+ itemSummary: string;
799
+ });
800
+ };
801
+ };
802
+ schemaVersion: 3;
803
+ definitions?: {
804
+ [k: string]: ConfigV3Field;
805
+ };
806
+ }
807
+ /**
808
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
809
+ * via the `definition` "configV3FixedObjectField".
810
+ */
811
+ export interface ConfigV3FixedObjectField {
812
+ type: "object";
813
+ title?: string;
814
+ description?: string;
815
+ default?: {
816
+ [k: string]: ConfigScalar;
817
+ };
818
+ required?: boolean;
819
+ sensitive?: never;
820
+ choices?: ConfigObjectChoices;
821
+ properties: {
822
+ [k: string]: (ConfigScalarChildField | ConfigChildReference);
823
+ };
824
+ additionalProperties?: false;
825
+ validation?: ConfigObjectValidation;
826
+ }
827
+ /**
828
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
829
+ * via the `definition` "configChildReference".
830
+ */
831
+ export interface ConfigChildReference {
832
+ $ref: string;
833
+ title?: string;
834
+ description?: string;
835
+ required?: boolean;
836
+ }
837
+ /**
838
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
839
+ * via the `definition` "configV3KeyValueObjectField".
840
+ */
841
+ export interface ConfigV3KeyValueObjectField {
842
+ type: "object";
843
+ title?: string;
844
+ description?: string;
845
+ default?: {
846
+ [k: string]: ConfigScalar;
847
+ };
848
+ required?: boolean;
849
+ sensitive?: never;
850
+ choices?: ConfigObjectChoices;
851
+ additionalProperties: (ConfigScalarDynamicField | ConfigDynamicReference);
852
+ validation?: ConfigObjectValidation;
853
+ }
854
+ /**
855
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
856
+ * via the `definition` "configDynamicReference".
857
+ */
858
+ export interface ConfigDynamicReference {
859
+ $ref: string;
860
+ title?: string;
861
+ description?: string;
862
+ }
863
+ /**
864
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
865
+ * via the `definition` "configArrayField".
866
+ */
867
+ export interface ConfigArrayField {
868
+ type: "array";
869
+ title?: string;
870
+ description?: string;
871
+ default?: ConfigArrayValue;
872
+ required?: boolean;
873
+ sensitive?: never;
874
+ items: ConfigArrayItem;
875
+ choices?: ConfigArrayChoices;
876
+ validation?: ConfigArrayValidation;
877
+ }
878
+ /**
879
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
880
+ * via the `definition` "configArrayObjectValue".
881
+ */
882
+ export interface ConfigArrayObjectValue {
883
+ [k: string]: ConfigScalar;
884
+ }
885
+ /**
886
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
887
+ * via the `definition` "configArrayFixedObjectItem".
888
+ */
889
+ export interface ConfigArrayFixedObjectItem {
890
+ type: "object";
891
+ title?: string;
892
+ description?: string;
893
+ sensitive?: never;
894
+ choices?: ConfigObjectChoices;
895
+ properties: {
896
+ [k: string]: (ConfigScalarChildField | ConfigChildReference);
897
+ };
898
+ additionalProperties?: false;
899
+ validation?: ConfigObjectValidation;
900
+ }
901
+ /**
902
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
903
+ * via the `definition` "configArrayKeyValueObjectItem".
904
+ */
905
+ export interface ConfigArrayKeyValueObjectItem {
906
+ type: "object";
907
+ title?: string;
908
+ description?: string;
909
+ sensitive?: never;
910
+ choices?: ConfigObjectChoices;
911
+ additionalProperties: (ConfigScalarDynamicField | ConfigDynamicReference);
912
+ validation?: ConfigObjectValidation;
913
+ }
914
+ /**
915
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
916
+ * via the `definition` "configArrayItemReference".
917
+ */
918
+ export interface ConfigArrayItemReference {
919
+ $ref: string;
920
+ title?: string;
921
+ description?: string;
922
+ }
923
+ /**
924
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
925
+ * via the `definition` "configArrayChoices".
926
+ */
927
+ export interface ConfigArrayChoices {
928
+ allowCustom: boolean;
929
+ presets: ConfigArrayPreset[];
930
+ }
931
+ /**
932
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
933
+ * via the `definition` "configArrayPreset".
934
+ */
935
+ export interface ConfigArrayPreset {
936
+ id: string;
937
+ title: string;
938
+ description?: string;
939
+ value: ConfigArrayValue;
940
+ recommended?: true;
941
+ }
942
+ /**
943
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
944
+ * via the `definition` "configArrayValidation".
945
+ */
946
+ export interface ConfigArrayValidation {
947
+ minItems?: number;
948
+ maxItems?: number;
949
+ uniqueItems?: boolean;
950
+ uniqueBy?: string;
951
+ }
952
+ /**
953
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
954
+ * via the `definition` "configReference".
955
+ */
956
+ export interface ConfigReference {
957
+ $ref: string;
958
+ title?: string;
959
+ description?: string;
960
+ default?: (ConfigScalar | ConfigArrayValue | {
961
+ [k: string]: ConfigScalar;
962
+ });
963
+ required?: boolean;
964
+ }
965
+ /**
966
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
967
+ * via the `definition` "configJoinSummary".
968
+ */
969
+ export interface ConfigJoinSummary {
970
+ kind: "join";
971
+ parts: {
972
+ path: string;
973
+ format?: ("raw" | "choiceTitle");
974
+ }[];
975
+ separator: string;
976
+ missing: string;
977
+ }
978
+ /**
979
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
980
+ * via the `definition` "configV4".
981
+ */
982
+ export interface ConfigV4 {
983
+ fields: {
984
+ [k: string]: ConfigV4Field;
985
+ };
986
+ presentation?: {
987
+ groups?: {
988
+ id: string;
989
+ title: string;
990
+ description?: string;
991
+ fields: StringArray;
992
+ advanced?: boolean;
993
+ }[];
994
+ summaries?: {
995
+ [k: string]: ConfigJoinSummary;
996
+ };
997
+ fieldViews?: {
998
+ [k: string]: ({
999
+ summary: string;
1000
+ } | {
1001
+ itemSummary: string;
1002
+ });
1003
+ };
1004
+ };
1005
+ schemaVersion: 4;
1006
+ definitions?: {
1007
+ [k: string]: ConfigV4Field;
1008
+ };
1009
+ }
1010
+ /**
1011
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1012
+ * via the `definition` "configV4PlainStringField".
1013
+ */
1014
+ export interface ConfigV4PlainStringField {
1015
+ valueRef?: ConfigValueReference;
1016
+ type: "string";
1017
+ title?: string;
1018
+ description?: string;
1019
+ default?: string;
1020
+ required?: boolean;
1021
+ sensitive?: false;
1022
+ choices?: ConfigStringChoices;
1023
+ validation?: ConfigStringValidation;
1024
+ const?: string;
1025
+ }
1026
+ /**
1027
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1028
+ * via the `definition` "configV4NumberField".
1029
+ */
1030
+ export interface ConfigV4NumberField {
1031
+ valueRef?: ConfigValueReference;
1032
+ type: "number";
1033
+ title?: string;
1034
+ description?: string;
1035
+ default?: number;
1036
+ required?: boolean;
1037
+ sensitive?: never;
1038
+ choices?: ConfigNumberChoices;
1039
+ validation?: ConfigNumberValidation;
1040
+ const?: number;
1041
+ }
1042
+ /**
1043
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1044
+ * via the `definition` "configV4BooleanField".
1045
+ */
1046
+ export interface ConfigV4BooleanField {
1047
+ valueRef?: ConfigValueReference;
1048
+ type: "boolean";
1049
+ title?: string;
1050
+ description?: string;
1051
+ default?: boolean;
1052
+ required?: boolean;
1053
+ sensitive?: never;
1054
+ choices?: ConfigBooleanChoices;
1055
+ const?: boolean;
1056
+ }
1057
+ /**
1058
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1059
+ * via the `definition` "configV4FixedObjectField".
1060
+ */
1061
+ export interface ConfigV4FixedObjectField {
1062
+ type: "object";
1063
+ title?: string;
1064
+ description?: string;
1065
+ default?: ConfigV4ObjectValue;
1066
+ required?: boolean;
1067
+ sensitive?: never;
1068
+ choices?: ConfigV4ObjectChoices;
1069
+ properties: {
1070
+ [k: string]: ConfigV4PropertyField;
1071
+ };
1072
+ additionalProperties?: false;
1073
+ validation?: ConfigObjectValidation;
1074
+ variants?: ConfigV4ObjectVariants;
1075
+ }
1076
+ /**
1077
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1078
+ * via the `definition` "configV4ObjectValue".
1079
+ */
1080
+ export interface ConfigV4ObjectValue {
1081
+ [k: string]: (ConfigScalar | ConfigScalarArrayValue | ConfigArrayObjectValue);
1082
+ }
1083
+ /**
1084
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1085
+ * via the `definition` "configV4ObjectChoices".
1086
+ */
1087
+ export interface ConfigV4ObjectChoices {
1088
+ allowCustom: boolean;
1089
+ presets: ConfigV4ObjectPreset[];
1090
+ }
1091
+ /**
1092
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1093
+ * via the `definition` "configV4ObjectPreset".
1094
+ */
1095
+ export interface ConfigV4ObjectPreset {
1096
+ id: string;
1097
+ title: string;
1098
+ description?: string;
1099
+ value: ConfigV4ObjectValue;
1100
+ recommended?: true;
1101
+ }
1102
+ /**
1103
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1104
+ * via the `definition` "configV4StringChildField".
1105
+ */
1106
+ export interface ConfigV4StringChildField {
1107
+ valueRef?: ConfigValueReference;
1108
+ type: "string";
1109
+ title?: string;
1110
+ description?: string;
1111
+ required?: boolean;
1112
+ sensitive?: never;
1113
+ choices?: ConfigStringChoices;
1114
+ validation?: ConfigStringValidation;
1115
+ const?: string;
1116
+ }
1117
+ /**
1118
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1119
+ * via the `definition` "configV4NumberChildField".
1120
+ */
1121
+ export interface ConfigV4NumberChildField {
1122
+ valueRef?: ConfigValueReference;
1123
+ type: "number";
1124
+ title?: string;
1125
+ description?: string;
1126
+ required?: boolean;
1127
+ sensitive?: never;
1128
+ choices?: ConfigNumberChoices;
1129
+ validation?: ConfigNumberValidation;
1130
+ const?: number;
1131
+ }
1132
+ /**
1133
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1134
+ * via the `definition` "configV4BooleanChildField".
1135
+ */
1136
+ export interface ConfigV4BooleanChildField {
1137
+ valueRef?: ConfigValueReference;
1138
+ type: "boolean";
1139
+ title?: string;
1140
+ description?: string;
1141
+ required?: boolean;
1142
+ sensitive?: never;
1143
+ choices?: ConfigBooleanChoices;
1144
+ const?: boolean;
1145
+ }
1146
+ /**
1147
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1148
+ * via the `definition` "configV4LeafArrayField".
1149
+ */
1150
+ export interface ConfigV4LeafArrayField {
1151
+ type: "array";
1152
+ title?: string;
1153
+ description?: string;
1154
+ required?: boolean;
1155
+ sensitive?: never;
1156
+ items: (ConfigV4ScalarDynamicField | ConfigDynamicReference);
1157
+ choices?: ConfigScalarArrayChoices;
1158
+ validation?: {
1159
+ minItems?: number;
1160
+ maxItems?: number;
1161
+ uniqueItems?: boolean;
1162
+ };
1163
+ }
1164
+ /**
1165
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1166
+ * via the `definition` "configV4StringDynamicField".
1167
+ */
1168
+ export interface ConfigV4StringDynamicField {
1169
+ valueRef?: ConfigValueReference;
1170
+ type: "string";
1171
+ title?: string;
1172
+ description?: string;
1173
+ sensitive?: never;
1174
+ choices?: ConfigStringChoices;
1175
+ validation?: ConfigStringValidation;
1176
+ const?: string;
1177
+ }
1178
+ /**
1179
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1180
+ * via the `definition` "configV4NumberDynamicField".
1181
+ */
1182
+ export interface ConfigV4NumberDynamicField {
1183
+ valueRef?: ConfigValueReference;
1184
+ type: "number";
1185
+ title?: string;
1186
+ description?: string;
1187
+ sensitive?: never;
1188
+ choices?: ConfigNumberChoices;
1189
+ validation?: ConfigNumberValidation;
1190
+ const?: number;
1191
+ }
1192
+ /**
1193
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1194
+ * via the `definition` "configV4BooleanDynamicField".
1195
+ */
1196
+ export interface ConfigV4BooleanDynamicField {
1197
+ valueRef?: ConfigValueReference;
1198
+ type: "boolean";
1199
+ title?: string;
1200
+ description?: string;
1201
+ sensitive?: never;
1202
+ choices?: ConfigBooleanChoices;
1203
+ const?: boolean;
1204
+ }
1205
+ /**
1206
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1207
+ * via the `definition` "configScalarArrayChoices".
1208
+ */
1209
+ export interface ConfigScalarArrayChoices {
1210
+ allowCustom: boolean;
1211
+ presets: ConfigScalarArrayPreset[];
1212
+ }
1213
+ /**
1214
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1215
+ * via the `definition` "configScalarArrayPreset".
1216
+ */
1217
+ export interface ConfigScalarArrayPreset {
1218
+ id: string;
1219
+ title: string;
1220
+ description?: string;
1221
+ value: ConfigScalarArrayValue;
1222
+ recommended?: true;
1223
+ }
1224
+ /**
1225
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1226
+ * via the `definition` "configV4LeafObjectField".
1227
+ */
1228
+ export interface ConfigV4LeafObjectField {
1229
+ type: "object";
1230
+ title?: string;
1231
+ description?: string;
1232
+ required?: boolean;
1233
+ sensitive?: never;
1234
+ choices?: ConfigObjectChoices;
1235
+ additionalProperties: (ConfigV4ScalarDynamicField | ConfigDynamicReference);
1236
+ validation?: ConfigObjectValidation;
1237
+ }
1238
+ /**
1239
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1240
+ * via the `definition` "configV4ObjectVariants".
1241
+ */
1242
+ export interface ConfigV4ObjectVariants {
1243
+ discriminator: string;
1244
+ cases: {
1245
+ [k: string]: ConfigV4ObjectVariant;
1246
+ };
1247
+ missing?: string;
1248
+ otherwise?: ConfigV4ObjectVariant;
1249
+ }
1250
+ /**
1251
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1252
+ * via the `definition` "configV4ObjectVariant".
1253
+ */
1254
+ export interface ConfigV4ObjectVariant {
1255
+ properties: {
1256
+ [k: string]: ConfigV4PropertyField;
1257
+ };
1258
+ }
1259
+ /**
1260
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1261
+ * via the `definition` "configV4KeyValueObjectField".
1262
+ */
1263
+ export interface ConfigV4KeyValueObjectField {
1264
+ type: "object";
1265
+ title?: string;
1266
+ description?: string;
1267
+ default?: {
1268
+ [k: string]: ConfigScalar;
1269
+ };
1270
+ required?: boolean;
1271
+ sensitive?: never;
1272
+ choices?: ConfigObjectChoices;
1273
+ additionalProperties: (ConfigV4ScalarDynamicField | ConfigDynamicReference);
1274
+ validation?: ConfigObjectValidation;
1275
+ }
1276
+ /**
1277
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1278
+ * via the `definition` "configV4ArrayField".
1279
+ */
1280
+ export interface ConfigV4ArrayField {
1281
+ type: "array";
1282
+ title?: string;
1283
+ description?: string;
1284
+ default?: ConfigV4ArrayValue;
1285
+ required?: boolean;
1286
+ sensitive?: never;
1287
+ items: ConfigV4ArrayItem;
1288
+ choices?: ConfigV4ArrayChoices;
1289
+ validation?: ConfigArrayValidation;
1290
+ }
1291
+ /**
1292
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1293
+ * via the `definition` "configV4ArrayFixedObjectItem".
1294
+ */
1295
+ export interface ConfigV4ArrayFixedObjectItem {
1296
+ type: "object";
1297
+ title?: string;
1298
+ description?: string;
1299
+ sensitive?: never;
1300
+ choices?: ConfigV4ObjectChoices;
1301
+ properties: {
1302
+ [k: string]: ConfigV4PropertyField;
1303
+ };
1304
+ additionalProperties?: false;
1305
+ validation?: ConfigObjectValidation;
1306
+ variants?: ConfigV4ObjectVariants;
1307
+ }
1308
+ /**
1309
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1310
+ * via the `definition` "configV4ArrayKeyValueObjectItem".
1311
+ */
1312
+ export interface ConfigV4ArrayKeyValueObjectItem {
1313
+ type: "object";
1314
+ title?: string;
1315
+ description?: string;
1316
+ sensitive?: never;
1317
+ choices?: ConfigObjectChoices;
1318
+ additionalProperties: (ConfigV4ScalarDynamicField | ConfigDynamicReference);
1319
+ validation?: ConfigObjectValidation;
1320
+ }
1321
+ /**
1322
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1323
+ * via the `definition` "configV4ArrayChoices".
1324
+ */
1325
+ export interface ConfigV4ArrayChoices {
1326
+ allowCustom: boolean;
1327
+ presets: ConfigV4ArrayPreset[];
1328
+ }
1329
+ /**
1330
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1331
+ * via the `definition` "configV4ArrayPreset".
1332
+ */
1333
+ export interface ConfigV4ArrayPreset {
1334
+ id: string;
1335
+ title: string;
1336
+ description?: string;
1337
+ value: ConfigV4ArrayValue;
1338
+ recommended?: true;
1339
+ }
1340
+ /**
1341
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1342
+ * via the `definition` "configV4Reference".
1343
+ */
1344
+ export interface ConfigV4Reference {
1345
+ $ref: string;
1346
+ title?: string;
1347
+ description?: string;
1348
+ default?: (ConfigScalar | ConfigV4ArrayValue | ConfigV4ObjectValue);
1349
+ required?: boolean;
1350
+ }