@lesliechan721/aw-plugin-core 0.1.0-beta.38 → 0.1.0-beta.39

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.
@@ -1,4 +1,4 @@
1
- export declare const AW_CAPABILITY_IDS: readonly ["aw.plugin-manifest.v3", "aw.plugin-skills.v1", "aw.plugin-build-config.v1", "aw.plugin-config.v2", "aw.plugin-config.v3", "aw.plugin-config-array.v1", "aw.plugin-config-summary.v1", "aw.plugin-pre-apply.v1", "aw.dynamic-artifacts.v2", "aw.portable-skills.v1", "aw.runtime-imports.v1", "aw.skill-validation.v1", "aw.skill-eval.v2", "aw.plugin-authoring.v1", "aw.catalog-authoring.v1", "aw.catalog-source.v2", "aw.catalog-dev-source.v1", "aw.catalog-publication.v1", "aw.review-preparation.v1", "aw.review-inspection.v2", "aw.review-publication.v1", "aw.catalog-snapshot.v7", "aw.self-check.v1"];
1
+ export declare const AW_CAPABILITY_IDS: readonly ["aw.plugin-manifest.v3", "aw.plugin-skills.v1", "aw.plugin-build-config.v1", "aw.plugin-config.v2", "aw.plugin-config.v3", "aw.plugin-config.v4", "aw.plugin-config-array.v1", "aw.plugin-config-unique-by.v1", "aw.plugin-config-value-ref.v1", "aw.plugin-config-summary.v1", "aw.plugin-pre-apply.v1", "aw.dynamic-artifacts.v2", "aw.portable-skills.v1", "aw.runtime-imports.v1", "aw.installed-runtime-config.v2", "aw.skill-validation.v1", "aw.skill-eval.v2", "aw.plugin-authoring.v1", "aw.catalog-authoring.v1", "aw.catalog-source.v2", "aw.catalog-dev-source.v1", "aw.catalog-publication.v1", "aw.review-preparation.v1", "aw.review-inspection.v2", "aw.review-publication.v1", "aw.catalog-snapshot.v7", "aw.self-check.v1"];
2
2
  export type RegisteredAwCapabilityId = typeof AW_CAPABILITY_IDS[number];
3
3
  export type AwCapabilityId = string;
4
4
  export interface AwCapabilitySupport {
@@ -5,12 +5,16 @@ export const AW_CAPABILITY_IDS = [
5
5
  'aw.plugin-build-config.v1',
6
6
  'aw.plugin-config.v2',
7
7
  'aw.plugin-config.v3',
8
+ 'aw.plugin-config.v4',
8
9
  'aw.plugin-config-array.v1',
10
+ 'aw.plugin-config-unique-by.v1',
11
+ 'aw.plugin-config-value-ref.v1',
9
12
  'aw.plugin-config-summary.v1',
10
13
  'aw.plugin-pre-apply.v1',
11
14
  'aw.dynamic-artifacts.v2',
12
15
  'aw.portable-skills.v1',
13
16
  'aw.runtime-imports.v1',
17
+ 'aw.installed-runtime-config.v2',
14
18
  'aw.skill-validation.v1',
15
19
  'aw.skill-eval.v2',
16
20
  'aw.plugin-authoring.v1',
@@ -1 +1 @@
1
- {"version":3,"file":"aw-capabilities.js","sourceRoot":"","sources":["../src/aw-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aw-capabilities.js","sourceRoot":"","sources":["../src/aw-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,uBAAuB;IACvB,qBAAqB;IACrB,2BAA2B;IAC3B,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,2BAA2B;IAC3B,+BAA+B;IAC/B,+BAA+B;IAC/B,6BAA6B;IAC7B,wBAAwB;IACxB,yBAAyB;IACzB,uBAAuB;IACvB,uBAAuB;IACvB,gCAAgC;IAChC,wBAAwB;IACxB,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IACzB,sBAAsB;IACtB,0BAA0B;IAC1B,2BAA2B;IAC3B,0BAA0B;IAC1B,yBAAyB;IACzB,0BAA0B;IAC1B,wBAAwB;IACxB,kBAAkB;CACV,CAAA;AAUV,MAAM,qBAAqB,GAAG,8EAA8E,CAAA;AAC5G,MAAM,4BAA4B,GAAG,wBAAwB,CAAA;AAC7D,MAAM,mBAAmB,GAAG,6BAA6B,CAAA;AACzD,MAAM,qBAAqB,GAAG,iOAAiO,CAAA;AAE/P,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,SAAS,GAAG,YAAY;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,iCAAiC,CAAC,CAAA;IACxE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAA0B,EAC1B,SAAS,GAAG,cAAc;IAE1B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,oBAAoB,CAAC,KAAK,EAAE,GAAG,SAAS,IAAI,KAAK,GAAG,CAAC,CAAA;QACrD,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxF,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,UAAU,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,IAAI,UAAU,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IACD,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA0B;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;AAC9G,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA4B,EAC5B,WAA+B;IAE/B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAA;IAC1F,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACtE,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;IACrD,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;AACrD,CAAC;AAUD,MAAM,UAAU,iCAAiC,CAC/C,MAAyC,EACzC,oBAAwC;IAExC,MAAM,UAAU,GAAG,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;IAChE,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,MAAM;QACN,oBAAoB,EAAE,UAAU;QAChC,MAAM,EAAE,4BAA4B,CAAC,UAAU,CAAC;KACjD,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,SAAiB;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,uBAAuB,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAA8B,EAAE,IAAuB,EAAE,SAAiB;IACjG,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC7G,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,KAAc;IAC7D,YAAY,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAA;IACrD,eAAe,CAAC,KAAK,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,gCAAgC,CAAC,CAAA;IAC/H,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;IACnH,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IAC5G,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAA;IACnE,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,uCAAuC,CAAC,CAAA;IAC3F,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;IACpG,CAAC;IACD,MAAM,oBAAoB,GAAG,uBAAuB,CAClD,KAAK,CAAC,oBAAoB,EAC1B,qDAAqD,CACtD,CAAA;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,4BAA4B,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5G,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;QAClE,oBAAoB;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAA;AACH,CAAC"}
@@ -33,6 +33,7 @@ export type ArtifactTarget = ({
33
33
  skillKey?: string;
34
34
  sourceDirs?: StringArray;
35
35
  runtimeImports?: ArtifactRuntimeImports;
36
+ runtimeConfig?: RuntimeConfig;
36
37
  } | {
37
38
  id: string;
38
39
  platform?: ("codex" | "claude");
@@ -48,6 +49,7 @@ export type ArtifactTarget = ({
48
49
  skillKey?: string;
49
50
  sourceDirs?: StringArray;
50
51
  runtimeImports?: ArtifactRuntimeImports;
52
+ runtimeConfig?: RuntimeConfig;
51
53
  });
52
54
  /**
53
55
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
@@ -83,7 +85,7 @@ export type ArtifactRuntimeImports = {
83
85
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
84
86
  * via the `definition` "config".
85
87
  */
86
- export type Config = (ConfigV2 | ConfigV3);
88
+ export type Config = (ConfigV2 | ConfigV3 | ConfigV4);
87
89
  /**
88
90
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
89
91
  * via the `definition` "configField".
@@ -96,14 +98,14 @@ export type ConfigField = (ConfigStringField | ConfigNumberField | ConfigBoolean
96
98
  export type ConfigStringField = (ConfigPlainStringField | ConfigSensitiveStringField);
97
99
  /**
98
100
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
99
- * via the `definition` "configObjectField".
101
+ * via the `definition` "configScalar".
100
102
  */
101
- export type ConfigObjectField = (ConfigFixedObjectField | ConfigKeyValueObjectField);
103
+ export type ConfigScalar = (string | number | boolean);
102
104
  /**
103
105
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
104
- * via the `definition` "configScalar".
106
+ * via the `definition` "configObjectField".
105
107
  */
106
- export type ConfigScalar = (string | number | boolean);
108
+ export type ConfigObjectField = (ConfigFixedObjectField | ConfigKeyValueObjectField);
107
109
  /**
108
110
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
109
111
  * via the `definition` "configScalarChildField".
@@ -134,6 +136,51 @@ export type ConfigArrayValue = (string[] | number[] | boolean[] | ConfigArrayObj
134
136
  * via the `definition` "configArrayItem".
135
137
  */
136
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);
137
184
  export interface PluginManifestSourceV3 {
138
185
  schemaVersion: 3;
139
186
  name: string;
@@ -283,6 +330,16 @@ export interface Agent {
283
330
  export interface Artifacts {
284
331
  targets?: ArtifactTarget[];
285
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
+ }
286
343
  /**
287
344
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
288
345
  * via the `definition` "buildConfig".
@@ -428,6 +485,7 @@ export interface ConfigV2 {
428
485
  * via the `definition` "configPlainStringField".
429
486
  */
430
487
  export interface ConfigPlainStringField {
488
+ valueRef?: ConfigValueReference;
431
489
  type: "string";
432
490
  title?: string;
433
491
  description?: string;
@@ -437,6 +495,19 @@ export interface ConfigPlainStringField {
437
495
  choices?: ConfigStringChoices;
438
496
  validation?: ConfigStringValidation;
439
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
+ }
440
511
  /**
441
512
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
442
513
  * via the `definition` "configStringChoices".
@@ -483,6 +554,7 @@ export interface ConfigSensitiveStringField {
483
554
  * via the `definition` "configNumberField".
484
555
  */
485
556
  export interface ConfigNumberField {
557
+ valueRef?: ConfigValueReference;
486
558
  type: "number";
487
559
  title?: string;
488
560
  description?: string;
@@ -526,6 +598,7 @@ export interface ConfigNumberValidation {
526
598
  * via the `definition` "configBooleanField".
527
599
  */
528
600
  export interface ConfigBooleanField {
601
+ valueRef?: ConfigValueReference;
529
602
  type: "boolean";
530
603
  title?: string;
531
604
  description?: string;
@@ -599,6 +672,7 @@ export interface ConfigObjectPreset {
599
672
  * via the `definition` "configStringChildField".
600
673
  */
601
674
  export interface ConfigStringChildField {
675
+ valueRef?: ConfigValueReference;
602
676
  type: "string";
603
677
  title?: string;
604
678
  description?: string;
@@ -612,6 +686,7 @@ export interface ConfigStringChildField {
612
686
  * via the `definition` "configNumberChildField".
613
687
  */
614
688
  export interface ConfigNumberChildField {
689
+ valueRef?: ConfigValueReference;
615
690
  type: "number";
616
691
  title?: string;
617
692
  description?: string;
@@ -625,6 +700,7 @@ export interface ConfigNumberChildField {
625
700
  * via the `definition` "configBooleanChildField".
626
701
  */
627
702
  export interface ConfigBooleanChildField {
703
+ valueRef?: ConfigValueReference;
628
704
  type: "boolean";
629
705
  title?: string;
630
706
  description?: string;
@@ -663,6 +739,7 @@ export interface ConfigKeyValueObjectField {
663
739
  * via the `definition` "configStringDynamicField".
664
740
  */
665
741
  export interface ConfigStringDynamicField {
742
+ valueRef?: ConfigValueReference;
666
743
  type: "string";
667
744
  title?: string;
668
745
  description?: string;
@@ -675,6 +752,7 @@ export interface ConfigStringDynamicField {
675
752
  * via the `definition` "configNumberDynamicField".
676
753
  */
677
754
  export interface ConfigNumberDynamicField {
755
+ valueRef?: ConfigValueReference;
678
756
  type: "number";
679
757
  title?: string;
680
758
  description?: string;
@@ -687,6 +765,7 @@ export interface ConfigNumberDynamicField {
687
765
  * via the `definition` "configBooleanDynamicField".
688
766
  */
689
767
  export interface ConfigBooleanDynamicField {
768
+ valueRef?: ConfigValueReference;
690
769
  type: "boolean";
691
770
  title?: string;
692
771
  description?: string;
@@ -868,6 +947,7 @@ export interface ConfigArrayValidation {
868
947
  minItems?: number;
869
948
  maxItems?: number;
870
949
  uniqueItems?: boolean;
950
+ uniqueBy?: string;
871
951
  }
872
952
  /**
873
953
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
@@ -895,3 +975,376 @@ export interface ConfigJoinSummary {
895
975
  separator: string;
896
976
  missing: string;
897
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
+ }
@@ -3,7 +3,7 @@ import { isDeepStrictEqual } from 'node:util';
3
3
  import fs from 'fs-extra';
4
4
  import { computeAwCapabilitySetDigest, normalizeAwCapabilities, } from './aw-capabilities.js';
5
5
  import { normalizePluginManifestSchemaVersion, PLUGIN_MANIFEST_SCHEMA_VERSION, SOURCE_PLUGIN_MANIFEST_CONTRACT_VERSION, } from './manifest.js';
6
- import { normalizePluginConfigDefinition } from './plugin-config.js';
6
+ import { getPluginConfigDependencyKeys, normalizePluginConfigDefinition } from './plugin-config.js';
7
7
  import { readJsonFile } from './read-json.js';
8
8
  import { parsePermissionCommand } from './permission-command.js';
9
9
  import { applyFileRules } from './file-rules.js';
@@ -1268,6 +1268,7 @@ function normalizeArtifactTargetEntry(pluginRoot, entry, fieldName, schema, rese
1268
1268
  'sourceDirs',
1269
1269
  'distribution',
1270
1270
  'runtimeImports',
1271
+ 'runtimeConfig',
1271
1272
  ]);
1272
1273
  const id = ensureString(input.id, `${fieldName}.id`);
1273
1274
  validateArtifactId(id, `${fieldName}.id`);
@@ -1381,6 +1382,22 @@ function normalizeArtifactTargetEntry(pluginRoot, entry, fieldName, schema, rese
1381
1382
  schema,
1382
1383
  fieldName: `${fieldName}.refreshKeys`,
1383
1384
  });
1385
+ let runtimeConfig;
1386
+ if (input.runtimeConfig !== undefined) {
1387
+ if (target !== 'codex.skill' && target !== 'claude.skill') {
1388
+ throw new Error(`Invalid ${fieldName}.runtimeConfig: only native platform Skill targets support installed runtime config.`);
1389
+ }
1390
+ const runtime = assertObject(input.runtimeConfig, `${fieldName}.runtimeConfig`);
1391
+ assertAllowedKeys(runtime, `${fieldName}.runtimeConfig`, ['keys']);
1392
+ const keys = ensureStringArray(runtime.keys, `${fieldName}.runtimeConfig.keys`);
1393
+ if (keys.length === 0 || new Set(keys).size !== keys.length || keys.some((key) => !refreshKeys.includes(key))) {
1394
+ throw new Error(`Invalid ${fieldName}.runtimeConfig.keys: expected unique non-empty keys from refreshKeys.`);
1395
+ }
1396
+ if (!schema || getPluginConfigDependencyKeys(schema, keys).some((key) => !schema.fields[key] || configFieldContainsSensitiveValue(schema.fields[key]))) {
1397
+ throw new Error(`runtimeConfigKeyDenied: Invalid ${fieldName}.runtimeConfig.keys: dependency fields must be declared and non-sensitive.`);
1398
+ }
1399
+ runtimeConfig = { keys: [keys[0], ...keys.slice(1)] };
1400
+ }
1384
1401
  return {
1385
1402
  id,
1386
1403
  platform,
@@ -1397,6 +1414,7 @@ function normalizeArtifactTargetEntry(pluginRoot, entry, fieldName, schema, rese
1397
1414
  : ensureBoolean(input.requiresCodexProjectConfig, `${fieldName}.requiresCodexProjectConfig`),
1398
1415
  roleKey,
1399
1416
  skillKey,
1417
+ runtimeConfig,
1400
1418
  sourceDirs,
1401
1419
  runtimeImports: normalizeArtifactRuntimeImports(input.runtimeImports, `${fieldName}.runtimeImports`, reservedImports),
1402
1420
  };