@lesliechan721/aw-plugin-core 0.1.0-beta.61 → 0.1.0-beta.63

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.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.managed-commands.v1", "aw.native-tools.v2", "aw.claude.sandbox-exclusions.v1", "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.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-cross-plugin-value-ref.v1", "aw.plugin-config-summary.v1", "aw.plugin-pre-apply.v1", "aw.dynamic-artifacts.v2", "aw.managed-commands.v1", "aw.native-tools.v2", "aw.claude.sandbox-exclusions.v1", "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.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 {
@@ -9,6 +9,7 @@ export const AW_CAPABILITY_IDS = [
9
9
  'aw.plugin-config-array.v1',
10
10
  'aw.plugin-config-unique-by.v1',
11
11
  'aw.plugin-config-value-ref.v1',
12
+ 'aw.plugin-config-cross-plugin-value-ref.v1',
12
13
  'aw.plugin-config-summary.v1',
13
14
  'aw.plugin-pre-apply.v1',
14
15
  'aw.dynamic-artifacts.v2',
@@ -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,4CAA4C;IAC5C,6BAA6B;IAC7B,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;IACxB,oBAAoB;IACpB,iCAAiC;IACjC,uBAAuB;IACvB,uBAAuB;IACvB,gCAAgC;IAChC,wBAAwB;IACxB,kBAAkB;IAClB,wBAAwB;IACxB,yBAAyB;IACzB,sBAAsB;IACtB,0BAA0B;IAC1B,2BAA2B;IAC3B,0BAA0B;IAC1B,yBAAyB;IACzB,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"}
@@ -0,0 +1,5 @@
1
+ export declare class ConfigPatternMemoryError extends Error {
2
+ readonly code = "configValidationMemoryExhausted";
3
+ constructor();
4
+ }
5
+ export declare function testConfigPattern(pattern: string, value?: string): boolean;
@@ -0,0 +1,114 @@
1
+ /* Copyright 2021 Google LLC
2
+ * Licensed under the Apache License, Version 2.0 (the "License");
3
+ * you may not use this file except in compliance with the License.
4
+ * You may obtain a copy of the License at
5
+ * https://www.apache.org/licenses/LICENSE-2.0
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS,
8
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ * See the License for the specific language governing permissions and
10
+ * limitations under the License.
11
+ *
12
+ * Pattern translation adapted from re2-wasm 1.0.2, src/re2.ts.
13
+ */
14
+ import re2Wasm from 're2-wasm/build/wasm/re2.js';
15
+ export class ConfigPatternMemoryError extends Error {
16
+ code = 'configValidationMemoryExhausted';
17
+ constructor() {
18
+ super('configValidationMemoryExhausted: configuration pattern validation ran out of memory. Restart AW and retry.');
19
+ }
20
+ }
21
+ function translatePattern(pattern) {
22
+ // Preserve the high-level RE2 wrapper's escaping and Unicode translations.
23
+ pattern = pattern.replace(/(^|[^\\])((?:\\\\)*)\//g, '$1$2\\/');
24
+ if (pattern === '')
25
+ return '(?:)';
26
+ const result = [];
27
+ for (let index = 0; index < pattern.length;) {
28
+ const char = pattern[index];
29
+ if (char === '\\' && index + 1 < pattern.length) {
30
+ const escape = pattern[index + 1];
31
+ if (escape === 'c' && index + 2 < pattern.length) {
32
+ const code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.indexOf(pattern[index + 2]) + 1;
33
+ if (code >= 0) {
34
+ result.push(`\\x${code.toString(16).padStart(2, '0').toUpperCase()}`);
35
+ index += 3;
36
+ continue;
37
+ }
38
+ }
39
+ if (escape === 'u' && index + 2 < pattern.length) {
40
+ if (/^[0-9a-f]$/iu.test(pattern[index + 2])) {
41
+ let end = index + 3;
42
+ while (end < index + 6 && end < pattern.length && /^[0-9a-f]$/iu.test(pattern[end]))
43
+ end += 1;
44
+ result.push(`\\x{${pattern.slice(index + 2, end)}}`);
45
+ index = end;
46
+ continue;
47
+ }
48
+ if (pattern[index + 2] === '{') {
49
+ result.push('\\x');
50
+ index += 2;
51
+ continue;
52
+ }
53
+ }
54
+ result.push(char, escape);
55
+ index += 2;
56
+ continue;
57
+ }
58
+ if (char === '/') {
59
+ result.push('\\/');
60
+ }
61
+ else if (pattern.slice(index, index + 3) === '(?<'
62
+ && pattern[index + 3] !== '=' && pattern[index + 3] !== '!') {
63
+ result.push('(?P<');
64
+ index += 3;
65
+ continue;
66
+ }
67
+ else {
68
+ result.push(char);
69
+ }
70
+ index += 1;
71
+ }
72
+ return result.join('');
73
+ }
74
+ export function testConfigPattern(pattern, value) {
75
+ try {
76
+ // re2-wasm's declarations omit the embind delete() method.
77
+ const regex = new re2Wasm.WrappedRE2(translatePattern(pattern), false, false, false);
78
+ try {
79
+ if (!regex.ok())
80
+ throw new SyntaxError('Invalid configuration pattern.');
81
+ const names = regex.capturingGroupNames();
82
+ try {
83
+ const keys = names.keys();
84
+ try {
85
+ const known = {};
86
+ for (let index = 0; index < keys.size(); index += 1) {
87
+ const key = keys.get(index);
88
+ const name = names.get(key);
89
+ if (name in known)
90
+ throw new SyntaxError('Invalid configuration capture group name.');
91
+ known[name] = key;
92
+ }
93
+ }
94
+ finally {
95
+ keys.delete();
96
+ }
97
+ }
98
+ finally {
99
+ names.delete();
100
+ }
101
+ return value === undefined || regex.match(value, 0, false).index >= 0;
102
+ }
103
+ finally {
104
+ regex.delete();
105
+ }
106
+ }
107
+ catch (error) {
108
+ if (error instanceof Error && error.message.includes('Cannot enlarge memory arrays')) {
109
+ throw new ConfigPatternMemoryError();
110
+ }
111
+ throw error;
112
+ }
113
+ }
114
+ //# sourceMappingURL=config-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-pattern.js","sourceRoot":"","sources":["../src/config-pattern.ts"],"names":[],"mappings":"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"}
@@ -667,7 +667,7 @@ export interface ConfigV2 {
667
667
  * via the `definition` "configPlainStringField".
668
668
  */
669
669
  export interface ConfigPlainStringField {
670
- valueRef?: ConfigValueReference;
670
+ valueRef?: ConfigLocalValueReference;
671
671
  type: "string";
672
672
  title?: string;
673
673
  description?: string;
@@ -679,9 +679,9 @@ export interface ConfigPlainStringField {
679
679
  }
680
680
  /**
681
681
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
682
- * via the `definition` "configValueReference".
682
+ * via the `definition` "configLocalValueReference".
683
683
  */
684
- export interface ConfigValueReference {
684
+ export interface ConfigLocalValueReference {
685
685
  field: string;
686
686
  key: string;
687
687
  label?: string;
@@ -736,7 +736,7 @@ export interface ConfigSensitiveStringField {
736
736
  * via the `definition` "configNumberField".
737
737
  */
738
738
  export interface ConfigNumberField {
739
- valueRef?: ConfigValueReference;
739
+ valueRef?: ConfigLocalValueReference;
740
740
  type: "number";
741
741
  title?: string;
742
742
  description?: string;
@@ -780,7 +780,7 @@ export interface ConfigNumberValidation {
780
780
  * via the `definition` "configBooleanField".
781
781
  */
782
782
  export interface ConfigBooleanField {
783
- valueRef?: ConfigValueReference;
783
+ valueRef?: ConfigLocalValueReference;
784
784
  type: "boolean";
785
785
  title?: string;
786
786
  description?: string;
@@ -854,7 +854,7 @@ export interface ConfigObjectPreset {
854
854
  * via the `definition` "configStringChildField".
855
855
  */
856
856
  export interface ConfigStringChildField {
857
- valueRef?: ConfigValueReference;
857
+ valueRef?: ConfigLocalValueReference;
858
858
  type: "string";
859
859
  title?: string;
860
860
  description?: string;
@@ -868,7 +868,7 @@ export interface ConfigStringChildField {
868
868
  * via the `definition` "configNumberChildField".
869
869
  */
870
870
  export interface ConfigNumberChildField {
871
- valueRef?: ConfigValueReference;
871
+ valueRef?: ConfigLocalValueReference;
872
872
  type: "number";
873
873
  title?: string;
874
874
  description?: string;
@@ -882,7 +882,7 @@ export interface ConfigNumberChildField {
882
882
  * via the `definition` "configBooleanChildField".
883
883
  */
884
884
  export interface ConfigBooleanChildField {
885
- valueRef?: ConfigValueReference;
885
+ valueRef?: ConfigLocalValueReference;
886
886
  type: "boolean";
887
887
  title?: string;
888
888
  description?: string;
@@ -921,7 +921,7 @@ export interface ConfigKeyValueObjectField {
921
921
  * via the `definition` "configStringDynamicField".
922
922
  */
923
923
  export interface ConfigStringDynamicField {
924
- valueRef?: ConfigValueReference;
924
+ valueRef?: ConfigLocalValueReference;
925
925
  type: "string";
926
926
  title?: string;
927
927
  description?: string;
@@ -934,7 +934,7 @@ export interface ConfigStringDynamicField {
934
934
  * via the `definition` "configNumberDynamicField".
935
935
  */
936
936
  export interface ConfigNumberDynamicField {
937
- valueRef?: ConfigValueReference;
937
+ valueRef?: ConfigLocalValueReference;
938
938
  type: "number";
939
939
  title?: string;
940
940
  description?: string;
@@ -947,7 +947,7 @@ export interface ConfigNumberDynamicField {
947
947
  * via the `definition` "configBooleanDynamicField".
948
948
  */
949
949
  export interface ConfigBooleanDynamicField {
950
- valueRef?: ConfigValueReference;
950
+ valueRef?: ConfigLocalValueReference;
951
951
  type: "boolean";
952
952
  title?: string;
953
953
  description?: string;
@@ -1205,6 +1205,20 @@ export interface ConfigV4PlainStringField {
1205
1205
  validation?: ConfigStringValidation;
1206
1206
  const?: string;
1207
1207
  }
1208
+ /**
1209
+ * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1210
+ * via the `definition` "configValueReference".
1211
+ */
1212
+ export interface ConfigValueReference {
1213
+ plugin?: string;
1214
+ field: string;
1215
+ key: string;
1216
+ label?: string;
1217
+ /**
1218
+ * @maxItems 128
1219
+ */
1220
+ include?: ConfigScalar[];
1221
+ }
1208
1222
  /**
1209
1223
  * This interface was referenced by `PluginManifestSourceV3`'s JSON-Schema
1210
1224
  * via the `definition` "configV4NumberField".
@@ -1974,7 +1974,9 @@ export function validatePluginManifest(pluginRoot, rawManifest, options = {}) {
1974
1974
  throw new Error('Invalid buildConfig.cacheable: true requires scripts.node.build.');
1975
1975
  }
1976
1976
  if (input.config !== undefined) {
1977
- manifest.config = normalizePluginConfigDefinition(input.config, 'config');
1977
+ manifest.config = normalizePluginConfigDefinition(input.config, 'config', {
1978
+ plugin: manifest.name, dependencies: manifest.dependencies ?? [],
1979
+ });
1978
1980
  }
1979
1981
  if (input.artifacts !== undefined) {
1980
1982
  manifest.artifacts = normalizeArtifacts(pluginRoot, input.artifacts, 'artifacts', manifest.config, options.reservedImports);