@lesliechan721/aw-plugin-core 0.1.0-beta.6 → 0.1.0-beta.60

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