@lesliechan721/aw-plugin-core 0.1.0-beta.5 → 0.1.0-beta.51
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.
- package/dist/aw-capabilities.d.ts +27 -0
- package/dist/aw-capabilities.js +114 -0
- package/dist/aw-capabilities.js.map +1 -0
- package/dist/catalog-file-modes.d.ts +5 -0
- package/dist/catalog-file-modes.js +67 -0
- package/dist/catalog-file-modes.js.map +1 -0
- package/dist/catalog-workspace-resolution.d.ts +3 -0
- package/dist/catalog-workspace-resolution.js +34 -0
- package/dist/catalog-workspace-resolution.js.map +1 -0
- package/dist/generated/plugin-manifest-v3.d.ts +1350 -0
- package/dist/generated/{plugin-manifest-v1.js → plugin-manifest-v3.js} +1 -1
- package/dist/generated/plugin-manifest-v3.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest-contract.d.ts +3 -6
- package/dist/manifest-contract.js +224 -398
- package/dist/manifest-contract.js.map +1 -1
- package/dist/manifest-type-contract.d.ts +2 -2
- package/dist/manifest.d.ts +10 -8
- package/dist/manifest.js +16 -7
- package/dist/manifest.js.map +1 -1
- package/dist/plugin-authoring-capabilities.d.ts +1 -1
- package/dist/plugin-authoring-capabilities.js +60 -26
- package/dist/plugin-authoring-capabilities.js.map +1 -1
- package/dist/plugin-config.d.ts +39 -0
- package/dist/plugin-config.js +1320 -0
- package/dist/plugin-config.js.map +1 -0
- package/dist/plugin-requirements.d.ts +34 -0
- package/dist/plugin-requirements.js +289 -0
- package/dist/plugin-requirements.js.map +1 -0
- package/dist/plugin-script-contract.d.ts +11 -12
- package/dist/plugin-script-contract.js +44 -71
- package/dist/plugin-script-contract.js.map +1 -1
- package/dist/runtime-config.d.ts +38 -0
- package/dist/runtime-config.js +31 -0
- package/dist/runtime-config.js.map +1 -0
- package/dist/types.d.ts +249 -61
- package/dist/workspace.d.ts +37 -9
- package/dist/workspace.js +419 -191
- package/dist/workspace.js.map +1 -1
- package/package.json +13 -4
- package/schemas/plugin-manifest-v3.json +2122 -0
- package/dist/generated/plugin-manifest-v1.d.ts +0 -368
- package/dist/generated/plugin-manifest-v1.js.map +0 -1
- package/dist/plugin-release.d.ts +0 -30
- package/dist/plugin-release.js +0 -187
- package/dist/plugin-release.js.map +0 -1
- package/schemas/plugin-manifest-v1.json +0 -329
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PluginManifestSourceV3 } from './generated/plugin-manifest-v3.js';
|
|
2
2
|
export type PlatformName = 'codex' | 'claude';
|
|
3
3
|
export type DistributionName = 'agent-skills';
|
|
4
4
|
export type Scope = 'project' | 'user';
|
|
@@ -10,7 +10,7 @@ export type CatalogSourceId = string;
|
|
|
10
10
|
export type SourceIdentity = string;
|
|
11
11
|
export type SupportedPlatformSet = ReadonlySet<PlatformName>;
|
|
12
12
|
export type CodexProjectManagedKind = 'skill' | 'mcpServer' | 'instruction' | 'permission' | 'hook' | 'agent';
|
|
13
|
-
export type PluginInterfaceMeta = NonNullable<
|
|
13
|
+
export type PluginInterfaceMeta = NonNullable<PluginManifestSourceV3['interface']>;
|
|
14
14
|
export interface MarketplaceOwner {
|
|
15
15
|
name: string;
|
|
16
16
|
url: string;
|
|
@@ -25,9 +25,9 @@ export interface MarketplaceSourceMeta {
|
|
|
25
25
|
version: string;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
export type MarketplacePolicy =
|
|
28
|
+
export type MarketplacePolicy = PluginManifestSourceV3['marketplace']['policy'];
|
|
29
29
|
export type MarketplaceAuthenticationPolicy = MarketplacePolicy['authentication'];
|
|
30
|
-
export type PluginMarketplaceMeta =
|
|
30
|
+
export type PluginMarketplaceMeta = PluginManifestSourceV3['marketplace'];
|
|
31
31
|
export type TemplateValue = string | boolean;
|
|
32
32
|
export interface TemplateVarByPlatform {
|
|
33
33
|
claude: TemplateValue;
|
|
@@ -55,6 +55,11 @@ export interface BuildConfigManifestOverrides {
|
|
|
55
55
|
export interface BuildConfigRuntimeExport {
|
|
56
56
|
name: string;
|
|
57
57
|
source: string;
|
|
58
|
+
requires: {
|
|
59
|
+
aw: {
|
|
60
|
+
capabilities: string[];
|
|
61
|
+
};
|
|
62
|
+
};
|
|
58
63
|
}
|
|
59
64
|
export interface BuildConfigImportReference {
|
|
60
65
|
plugin: string;
|
|
@@ -86,18 +91,10 @@ export interface BuildConfig {
|
|
|
86
91
|
skillRuntimeFiles?: BuildConfigSkillRuntimeFile[];
|
|
87
92
|
generatedSkillRuntimeFiles?: BuildConfigGeneratedSkillRuntimeFile[];
|
|
88
93
|
}
|
|
89
|
-
export
|
|
90
|
-
export type PluginLifecycleOsSelector = 'default' | 'unix' | 'windows' | 'linux' | 'darwin' | 'win32';
|
|
91
|
-
export type PluginLifecycleRuntimeOs = 'linux' | 'darwin' | 'win32';
|
|
92
|
-
export type PluginLifecycleScriptRunner = 'node' | 'sh' | 'bash' | 'pwsh' | 'powershell' | 'cmd' | 'auto';
|
|
93
|
-
export interface PluginLifecycleScriptEntry {
|
|
94
|
-
runner: PluginLifecycleScriptRunner;
|
|
94
|
+
export interface PluginPreApplyScript {
|
|
95
95
|
path: string;
|
|
96
|
-
|
|
96
|
+
timeoutMs?: number;
|
|
97
97
|
}
|
|
98
|
-
export type PluginLifecycleScriptSelector = Partial<Record<PluginLifecycleOsSelector, PluginLifecycleScriptEntry>>;
|
|
99
|
-
export type PluginLifecycleScriptDefinition = string | PluginLifecycleScriptSelector;
|
|
100
|
-
export type PluginLifecycleScripts = Partial<Record<PluginLifecycleEvent, PluginLifecycleScriptSelector>>;
|
|
101
98
|
export interface PluginScriptHelpersConfig {
|
|
102
99
|
config: string;
|
|
103
100
|
}
|
|
@@ -122,26 +119,159 @@ export interface PluginArtifactScriptsConfig {
|
|
|
122
119
|
render?: PluginArtifactRenderScriptEntry;
|
|
123
120
|
}
|
|
124
121
|
export interface PluginScriptsConfig {
|
|
125
|
-
|
|
126
|
-
lifecycle?: PluginLifecycleScripts;
|
|
122
|
+
preApply?: PluginPreApplyScript;
|
|
127
123
|
helpers?: PluginScriptHelpersConfig;
|
|
128
124
|
node?: PluginNodeScriptsConfig;
|
|
129
125
|
artifacts?: PluginArtifactScriptsConfig;
|
|
130
126
|
tests?: PluginScriptTestsConfig;
|
|
131
127
|
}
|
|
132
|
-
export type
|
|
133
|
-
export
|
|
134
|
-
|
|
128
|
+
export type PluginConfigScalar = string | number | boolean;
|
|
129
|
+
export type PluginConfigScalarArray = string[] | number[] | boolean[];
|
|
130
|
+
export type PluginConfigScalarObject = Record<string, PluginConfigScalar>;
|
|
131
|
+
export type PluginConfigObject = Record<string, PluginConfigScalar | PluginConfigScalarArray | PluginConfigScalarObject>;
|
|
132
|
+
export type PluginConfigArray = PluginConfigScalarArray | PluginConfigObject[];
|
|
133
|
+
export type PluginConfigValue = PluginConfigScalar | PluginConfigObject | PluginConfigArray;
|
|
134
|
+
export type PluginConfigFieldType = 'string' | 'number' | 'boolean' | 'object' | 'array';
|
|
135
|
+
export type PluginConfigStringFormat = 'identifier' | 'slug' | 'semver' | 'url' | 'hostname' | 'email';
|
|
136
|
+
export interface PluginConfigPreset<Value extends PluginConfigValue = PluginConfigValue> {
|
|
137
|
+
id: string;
|
|
138
|
+
title: string;
|
|
139
|
+
description?: string;
|
|
140
|
+
value: Value;
|
|
141
|
+
recommended?: true;
|
|
142
|
+
}
|
|
143
|
+
export interface PluginConfigChoices<Value extends PluginConfigValue = PluginConfigValue> {
|
|
144
|
+
allowCustom: boolean;
|
|
145
|
+
presets: PluginConfigPreset<Value>[];
|
|
146
|
+
}
|
|
147
|
+
export interface PluginConfigStringValidation {
|
|
148
|
+
minLength?: number;
|
|
149
|
+
maxLength?: number;
|
|
150
|
+
pattern?: string;
|
|
151
|
+
format?: PluginConfigStringFormat;
|
|
152
|
+
}
|
|
153
|
+
export interface PluginConfigNumberValidation {
|
|
154
|
+
integer?: boolean;
|
|
155
|
+
minimum?: number;
|
|
156
|
+
maximum?: number;
|
|
157
|
+
multipleOf?: number;
|
|
158
|
+
}
|
|
159
|
+
export interface PluginConfigObjectValidation {
|
|
160
|
+
minProperties?: number;
|
|
161
|
+
maxProperties?: number;
|
|
162
|
+
key?: PluginConfigStringValidation;
|
|
163
|
+
}
|
|
164
|
+
export interface PluginConfigArrayValidation {
|
|
165
|
+
minItems?: number;
|
|
166
|
+
maxItems?: number;
|
|
167
|
+
uniqueItems?: boolean;
|
|
168
|
+
uniqueBy?: string;
|
|
169
|
+
}
|
|
170
|
+
export interface PluginConfigValueReference {
|
|
171
|
+
field: string;
|
|
172
|
+
key: string;
|
|
173
|
+
label?: string;
|
|
174
|
+
include?: PluginConfigScalar[];
|
|
175
|
+
}
|
|
176
|
+
export interface PluginConfigFieldBase<Value extends PluginConfigValue> {
|
|
135
177
|
title?: string;
|
|
136
178
|
description?: string;
|
|
137
|
-
default?:
|
|
179
|
+
default?: Value;
|
|
138
180
|
required?: boolean;
|
|
139
|
-
sensitive?:
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
181
|
+
sensitive?: never;
|
|
182
|
+
}
|
|
183
|
+
interface PluginConfigPlainStringField extends Omit<PluginConfigFieldBase<string>, 'sensitive'> {
|
|
184
|
+
type: 'string';
|
|
185
|
+
const?: string;
|
|
186
|
+
sensitive?: false;
|
|
187
|
+
valueRef?: PluginConfigValueReference;
|
|
188
|
+
choices?: PluginConfigChoices<string>;
|
|
189
|
+
validation?: PluginConfigStringValidation;
|
|
190
|
+
}
|
|
191
|
+
interface PluginConfigSensitiveStringField extends Omit<PluginConfigFieldBase<string>, 'default' | 'sensitive'> {
|
|
192
|
+
type: 'string';
|
|
193
|
+
sensitive: true;
|
|
194
|
+
default?: never;
|
|
195
|
+
choices?: never;
|
|
196
|
+
const?: never;
|
|
197
|
+
validation?: PluginConfigStringValidation;
|
|
198
|
+
}
|
|
199
|
+
export type PluginConfigStringField = PluginConfigPlainStringField | PluginConfigSensitiveStringField;
|
|
200
|
+
export interface PluginConfigNumberField extends PluginConfigFieldBase<number> {
|
|
201
|
+
type: 'number';
|
|
202
|
+
const?: number;
|
|
203
|
+
valueRef?: PluginConfigValueReference;
|
|
204
|
+
choices?: PluginConfigChoices<number>;
|
|
205
|
+
validation?: PluginConfigNumberValidation;
|
|
206
|
+
}
|
|
207
|
+
export interface PluginConfigBooleanField extends PluginConfigFieldBase<boolean> {
|
|
208
|
+
type: 'boolean';
|
|
209
|
+
const?: boolean;
|
|
210
|
+
valueRef?: PluginConfigValueReference;
|
|
211
|
+
choices?: PluginConfigChoices<boolean>;
|
|
212
|
+
}
|
|
213
|
+
export type PluginConfigScalarField = PluginConfigStringField | PluginConfigNumberField | PluginConfigBooleanField;
|
|
214
|
+
type DistributiveOmit<Value, Key extends PropertyKey> = Value extends unknown ? Omit<Value, Key> : never;
|
|
215
|
+
type PluginConfigNonSensitiveScalarField = PluginConfigPlainStringField | PluginConfigNumberField | PluginConfigBooleanField;
|
|
216
|
+
export type PluginConfigScalarPropertyField = DistributiveOmit<PluginConfigNonSensitiveScalarField, 'default' | 'sensitive'> & {
|
|
217
|
+
sensitive?: never;
|
|
218
|
+
};
|
|
219
|
+
export interface PluginConfigLeafArrayField extends Omit<PluginConfigFieldBase<PluginConfigScalarArray>, 'default'> {
|
|
220
|
+
type: 'array';
|
|
221
|
+
items: PluginConfigAdditionalPropertiesField;
|
|
222
|
+
choices?: PluginConfigChoices<PluginConfigScalarArray>;
|
|
223
|
+
validation?: Omit<PluginConfigArrayValidation, 'uniqueBy'>;
|
|
224
|
+
}
|
|
225
|
+
export interface PluginConfigLeafObjectField extends Omit<PluginConfigFieldBase<PluginConfigScalarObject>, 'default'> {
|
|
226
|
+
type: 'object';
|
|
227
|
+
properties?: never;
|
|
228
|
+
additionalProperties: PluginConfigAdditionalPropertiesField;
|
|
229
|
+
choices?: PluginConfigChoices<PluginConfigScalarObject>;
|
|
230
|
+
validation?: PluginConfigObjectValidation;
|
|
231
|
+
}
|
|
232
|
+
export type PluginConfigObjectPropertyField = PluginConfigScalarPropertyField | PluginConfigLeafArrayField | PluginConfigLeafObjectField;
|
|
233
|
+
export type PluginConfigAdditionalPropertiesField = DistributiveOmit<PluginConfigNonSensitiveScalarField, 'default' | 'required' | 'sensitive'> & {
|
|
234
|
+
sensitive?: never;
|
|
235
|
+
};
|
|
236
|
+
interface PluginConfigObjectFieldBase extends PluginConfigFieldBase<PluginConfigObject> {
|
|
237
|
+
type: 'object';
|
|
238
|
+
choices?: PluginConfigChoices<PluginConfigObject>;
|
|
239
|
+
validation?: PluginConfigObjectValidation;
|
|
240
|
+
}
|
|
241
|
+
export interface PluginConfigFixedObjectField extends PluginConfigObjectFieldBase {
|
|
242
|
+
properties: Record<string, PluginConfigObjectPropertyField>;
|
|
243
|
+
additionalProperties?: false;
|
|
244
|
+
variants?: PluginConfigObjectVariants;
|
|
245
|
+
}
|
|
246
|
+
export interface PluginConfigObjectVariant {
|
|
247
|
+
properties: Record<string, PluginConfigObjectPropertyField>;
|
|
248
|
+
}
|
|
249
|
+
export interface PluginConfigObjectVariants {
|
|
250
|
+
discriminator: string;
|
|
251
|
+
cases: Record<string, PluginConfigObjectVariant>;
|
|
252
|
+
missing?: string;
|
|
253
|
+
otherwise?: PluginConfigObjectVariant;
|
|
254
|
+
}
|
|
255
|
+
export interface PluginConfigKeyValueObjectField extends PluginConfigObjectFieldBase {
|
|
256
|
+
default?: PluginConfigScalarObject;
|
|
257
|
+
choices?: PluginConfigChoices<PluginConfigScalarObject>;
|
|
258
|
+
properties?: never;
|
|
259
|
+
variants?: never;
|
|
260
|
+
additionalProperties: PluginConfigAdditionalPropertiesField;
|
|
261
|
+
}
|
|
262
|
+
export type PluginConfigObjectField = PluginConfigFixedObjectField | PluginConfigKeyValueObjectField;
|
|
263
|
+
export type PluginConfigArrayItemField = DistributiveOmit<PluginConfigNonSensitiveScalarField | PluginConfigObjectField, 'default' | 'required' | 'sensitive'> & {
|
|
264
|
+
default?: never;
|
|
265
|
+
required?: never;
|
|
266
|
+
sensitive?: never;
|
|
267
|
+
};
|
|
268
|
+
export interface PluginConfigArrayField extends PluginConfigFieldBase<PluginConfigArray> {
|
|
269
|
+
type: 'array';
|
|
270
|
+
items: PluginConfigArrayItemField;
|
|
271
|
+
choices?: PluginConfigChoices<PluginConfigArray>;
|
|
272
|
+
validation?: PluginConfigArrayValidation;
|
|
143
273
|
}
|
|
144
|
-
export type
|
|
274
|
+
export type PluginConfigSchemaField = PluginConfigScalarField | PluginConfigObjectField | PluginConfigArrayField;
|
|
145
275
|
export interface PluginConfigPresentationGroup {
|
|
146
276
|
id: string;
|
|
147
277
|
title: string;
|
|
@@ -149,27 +279,69 @@ export interface PluginConfigPresentationGroup {
|
|
|
149
279
|
fields: string[];
|
|
150
280
|
advanced?: boolean;
|
|
151
281
|
}
|
|
152
|
-
export interface
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
id: string;
|
|
161
|
-
title: string;
|
|
162
|
-
description?: string;
|
|
163
|
-
values: Record<string, PluginConfigPresentationValue>;
|
|
282
|
+
export interface PluginConfigJoinSummary {
|
|
283
|
+
kind: 'join';
|
|
284
|
+
parts: Array<{
|
|
285
|
+
path: string;
|
|
286
|
+
format?: 'raw' | 'choiceTitle';
|
|
287
|
+
}>;
|
|
288
|
+
separator: string;
|
|
289
|
+
missing: string;
|
|
164
290
|
}
|
|
165
291
|
export interface PluginConfigPresentation {
|
|
292
|
+
summaries?: Record<string, PluginConfigJoinSummary>;
|
|
293
|
+
fieldViews?: Record<string, {
|
|
294
|
+
summary: string;
|
|
295
|
+
itemSummary?: never;
|
|
296
|
+
} | {
|
|
297
|
+
itemSummary: string;
|
|
298
|
+
summary?: never;
|
|
299
|
+
}>;
|
|
166
300
|
groups?: PluginConfigPresentationGroup[];
|
|
167
|
-
fields?: Record<string, PluginConfigPresentationField>;
|
|
168
|
-
presets?: PluginConfigPresentationPreset[];
|
|
169
301
|
}
|
|
170
|
-
|
|
171
|
-
|
|
302
|
+
type PluginConfigLegacyScalarField = DistributiveOmit<PluginConfigScalarField, 'const'>;
|
|
303
|
+
type PluginConfigLegacyScalarPropertyField = DistributiveOmit<PluginConfigScalarPropertyField, 'const'>;
|
|
304
|
+
type PluginConfigLegacyAdditionalPropertiesField = DistributiveOmit<PluginConfigAdditionalPropertiesField, 'const'>;
|
|
305
|
+
type PluginConfigLegacyObjectField = (Omit<PluginConfigFixedObjectField, 'properties' | 'variants' | 'default' | 'choices'> & {
|
|
306
|
+
properties: Record<string, PluginConfigLegacyScalarPropertyField>;
|
|
307
|
+
default?: PluginConfigScalarObject;
|
|
308
|
+
choices?: PluginConfigChoices<PluginConfigScalarObject>;
|
|
309
|
+
}) | (Omit<PluginConfigKeyValueObjectField, 'additionalProperties'> & {
|
|
310
|
+
additionalProperties: PluginConfigLegacyAdditionalPropertiesField;
|
|
311
|
+
});
|
|
312
|
+
type PluginConfigLegacyArray = PluginConfigScalarArray | PluginConfigScalarObject[];
|
|
313
|
+
type PluginConfigLegacyArrayField = Omit<PluginConfigArrayField, 'default' | 'choices' | 'items'> & {
|
|
314
|
+
default?: PluginConfigLegacyArray;
|
|
315
|
+
choices?: PluginConfigChoices<PluginConfigLegacyArray>;
|
|
316
|
+
items: DistributiveOmit<PluginConfigLegacyScalarField | PluginConfigLegacyObjectField, 'default' | 'required' | 'sensitive'> & {
|
|
317
|
+
default?: never;
|
|
318
|
+
required?: never;
|
|
319
|
+
sensitive?: never;
|
|
320
|
+
};
|
|
321
|
+
};
|
|
322
|
+
export type PluginConfigDefinition = {
|
|
323
|
+
schemaVersion?: never;
|
|
324
|
+
fields: Record<string, PluginConfigLegacyScalarField | PluginConfigLegacyObjectField>;
|
|
325
|
+
presentation?: Pick<PluginConfigPresentation, 'groups'>;
|
|
326
|
+
} | {
|
|
327
|
+
schemaVersion: 3;
|
|
328
|
+
fields: Record<string, PluginConfigLegacyScalarField | PluginConfigLegacyObjectField | PluginConfigLegacyArrayField>;
|
|
172
329
|
presentation?: PluginConfigPresentation;
|
|
330
|
+
} | {
|
|
331
|
+
schemaVersion: 4;
|
|
332
|
+
fields: Record<string, PluginConfigSchemaField>;
|
|
333
|
+
presentation?: PluginConfigPresentation;
|
|
334
|
+
};
|
|
335
|
+
export type PluginConfigSchema = PluginConfigDefinition;
|
|
336
|
+
export interface PluginConfigValidationIssue {
|
|
337
|
+
code: string;
|
|
338
|
+
path: {
|
|
339
|
+
field: string;
|
|
340
|
+
property?: string;
|
|
341
|
+
segments?: Array<string | number>;
|
|
342
|
+
};
|
|
343
|
+
message: string;
|
|
344
|
+
recoverable: true;
|
|
173
345
|
}
|
|
174
346
|
export interface PlatformAgentOverrides<T> {
|
|
175
347
|
claude?: Partial<T> | null;
|
|
@@ -239,6 +411,15 @@ export interface PluginExtensions {
|
|
|
239
411
|
agents?: AgentDefinition[];
|
|
240
412
|
}
|
|
241
413
|
export type ArtifactState = 'present' | 'disabled';
|
|
414
|
+
export interface CodexNativeSkillDelivery {
|
|
415
|
+
mode: 'codex-native';
|
|
416
|
+
identity: 'shared';
|
|
417
|
+
renderProfile: 'user';
|
|
418
|
+
}
|
|
419
|
+
export interface AwExtensionSkillDelivery {
|
|
420
|
+
mode: 'aw-extension';
|
|
421
|
+
}
|
|
422
|
+
export type CodexSkillDelivery = CodexNativeSkillDelivery | AwExtensionSkillDelivery;
|
|
242
423
|
export type ArtifactTarget = 'codex.developerInstructionsBlock' | 'codex.agentRole' | 'codex.skill' | 'claude.skill' | 'agent-skills.skill';
|
|
243
424
|
export type DynamicArtifactKind = 'instruction' | 'codexRole' | 'skill';
|
|
244
425
|
export type ManagedArtifactId = string;
|
|
@@ -250,14 +431,15 @@ export interface ArtifactRuntimeImportDefinition extends BuildConfigImportRefere
|
|
|
250
431
|
providerPluginId: PluginId;
|
|
251
432
|
providerVersion: PluginVersion;
|
|
252
433
|
source: string;
|
|
434
|
+
requiredCapabilities: string[];
|
|
435
|
+
capabilitySetDigest: string;
|
|
253
436
|
};
|
|
254
437
|
}
|
|
255
|
-
|
|
438
|
+
interface PluginArtifactTargetDefinitionBase {
|
|
256
439
|
id: string;
|
|
257
440
|
platform?: PlatformName;
|
|
258
441
|
distribution?: DistributionName;
|
|
259
442
|
scopes: Scope[];
|
|
260
|
-
target: ArtifactTarget;
|
|
261
443
|
kind?: DynamicArtifactKind;
|
|
262
444
|
projectManagedKind?: CodexProjectManagedKind;
|
|
263
445
|
states: ArtifactState[];
|
|
@@ -267,7 +449,15 @@ export interface PluginArtifactTargetDefinition {
|
|
|
267
449
|
skillKey?: string;
|
|
268
450
|
sourceDirs?: string[];
|
|
269
451
|
runtimeImports?: ArtifactRuntimeImportDefinition[];
|
|
452
|
+
runtimeConfig?: import('./runtime-config.js').PluginRuntimeConfigDeclaration;
|
|
270
453
|
}
|
|
454
|
+
export type PluginArtifactTargetDefinition = PluginArtifactTargetDefinitionBase & {
|
|
455
|
+
target: 'codex.skill';
|
|
456
|
+
delivery: CodexSkillDelivery;
|
|
457
|
+
} | PluginArtifactTargetDefinitionBase & {
|
|
458
|
+
target: Exclude<ArtifactTarget, 'codex.skill'>;
|
|
459
|
+
delivery?: never;
|
|
460
|
+
};
|
|
271
461
|
export interface PluginArtifactsConfig {
|
|
272
462
|
targets?: PluginArtifactTargetDefinition[];
|
|
273
463
|
}
|
|
@@ -277,15 +467,14 @@ export interface PluginAgentSkillsDistribution {
|
|
|
277
467
|
export interface PluginDistributionsConfig {
|
|
278
468
|
agentSkills?: PluginAgentSkillsDistribution;
|
|
279
469
|
}
|
|
280
|
-
export interface
|
|
470
|
+
export interface PluginRequirements {
|
|
281
471
|
aw: {
|
|
282
|
-
|
|
472
|
+
capabilities?: string[];
|
|
283
473
|
};
|
|
284
474
|
}
|
|
285
|
-
export type PluginManifestSource =
|
|
286
|
-
export type NormalizedPluginManifest = Omit<
|
|
287
|
-
|
|
288
|
-
compatibility: PluginCompatibility;
|
|
475
|
+
export type PluginManifestSource = PluginManifestSourceV3;
|
|
476
|
+
export type NormalizedPluginManifest = Omit<PluginManifestSourceV3, 'requires' | 'extensions' | 'artifacts' | 'buildConfig' | 'scripts' | 'config'> & {
|
|
477
|
+
requires?: PluginRequirements;
|
|
289
478
|
extensions?: PluginExtensions;
|
|
290
479
|
artifacts?: PluginArtifactsConfig;
|
|
291
480
|
buildConfig?: BuildConfig;
|
|
@@ -295,6 +484,7 @@ export type NormalizedPluginManifest = Omit<PluginManifestSourceV1, 'schemaVersi
|
|
|
295
484
|
export interface PluginMeta {
|
|
296
485
|
sourceId?: CatalogSourceId;
|
|
297
486
|
sourceIdentity?: SourceIdentity;
|
|
487
|
+
catalogLogicalIdentity?: string;
|
|
298
488
|
pluginId?: PluginId;
|
|
299
489
|
marketplaceName?: string;
|
|
300
490
|
rootDir: string;
|
|
@@ -326,12 +516,13 @@ export interface CatalogManifestEntry {
|
|
|
326
516
|
tags?: string[];
|
|
327
517
|
strict: boolean;
|
|
328
518
|
policy: MarketplacePolicy;
|
|
329
|
-
|
|
519
|
+
dependencies: PluginId[];
|
|
520
|
+
requires: PluginRequirements;
|
|
330
521
|
source: string;
|
|
331
522
|
artifactDigest: string;
|
|
332
523
|
manifestDigest: string;
|
|
333
524
|
}
|
|
334
|
-
export interface
|
|
525
|
+
export interface CatalogManifestV7Entry extends CatalogManifestEntry {
|
|
335
526
|
name: PluginId;
|
|
336
527
|
contentDigest: string;
|
|
337
528
|
}
|
|
@@ -339,29 +530,25 @@ export interface CatalogMarketplaceIdentity {
|
|
|
339
530
|
owner: MarketplaceOwner;
|
|
340
531
|
interface: MarketplaceInterfaceMeta;
|
|
341
532
|
}
|
|
342
|
-
export type
|
|
533
|
+
export type CatalogManifestV7Release = {
|
|
343
534
|
state: 'development';
|
|
344
535
|
} | {
|
|
345
536
|
state: 'published';
|
|
346
|
-
targetVersion: string;
|
|
347
|
-
planId: string;
|
|
348
537
|
sourceHead: string;
|
|
349
|
-
contentDigest: string;
|
|
350
538
|
};
|
|
351
|
-
export interface
|
|
352
|
-
schemaVersion:
|
|
539
|
+
export interface CatalogManifestV7 {
|
|
540
|
+
schemaVersion: 7;
|
|
353
541
|
catalogVersion: string;
|
|
354
542
|
channel: CatalogChannel;
|
|
355
|
-
|
|
543
|
+
requires: PluginRequirements;
|
|
356
544
|
marketplace: CatalogMarketplaceIdentity;
|
|
357
|
-
release:
|
|
358
|
-
entries:
|
|
545
|
+
release: CatalogManifestV7Release;
|
|
546
|
+
entries: CatalogManifestV7Entry[];
|
|
359
547
|
}
|
|
360
548
|
export interface PlatformPluginManifest {
|
|
361
549
|
name: string;
|
|
362
550
|
version: PluginVersion;
|
|
363
551
|
description: string;
|
|
364
|
-
compatibility: PluginCompatibility;
|
|
365
552
|
skills?: string;
|
|
366
553
|
mcpServers?: string;
|
|
367
554
|
apps?: string;
|
|
@@ -426,3 +613,4 @@ export interface ClaudeSkillArtifact extends ArtifactPlanArtifactBase {
|
|
|
426
613
|
files?: Record<string, string>;
|
|
427
614
|
};
|
|
428
615
|
}
|
|
616
|
+
export {};
|
package/dist/workspace.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { type PluginReleaseLedger } from './plugin-release.js';
|
|
2
1
|
import type { ReservedImportRegistry } from './manifest-contract.js';
|
|
3
|
-
import type { CatalogChannel,
|
|
2
|
+
import type { CatalogChannel, CatalogManifestV7, CatalogManifestV7Entry, MarketplaceSourceMeta, PluginMeta } from './types.js';
|
|
4
3
|
export declare const DEFAULT_CATALOG_WORKSPACE_VERSION = "0.1.0";
|
|
5
4
|
export declare const DEFAULT_CATALOG_OUTPUT_PATH: string;
|
|
6
5
|
export declare const DEFAULT_PUBLISHED_CATALOG_OUTPUT_PATH: string;
|
|
@@ -50,6 +49,10 @@ export declare function resolveCatalogWorkspaceOutputPath(options: {
|
|
|
50
49
|
workspaceRoot: string;
|
|
51
50
|
outputRoot: string;
|
|
52
51
|
}>;
|
|
52
|
+
export declare function readCatalogWorkspaceMarker(workspaceRoot: string): Promise<{
|
|
53
|
+
markerPath: string;
|
|
54
|
+
workspaceIdentity: string;
|
|
55
|
+
}>;
|
|
53
56
|
export declare function initializeCatalogWorkspace(options: CatalogWorkspaceInitOptions): Promise<{
|
|
54
57
|
workspaceRoot: string;
|
|
55
58
|
markerPath: string;
|
|
@@ -61,6 +64,7 @@ export declare function readCatalogWorkspace(workspaceRoot: string, options?: Ca
|
|
|
61
64
|
export declare function resolveCatalogVersionMutation(currentVersion: string, mutation: CatalogVersionMutation): string;
|
|
62
65
|
export declare function mutateCatalogWorkspaceVersion(workspaceRoot: string, mutation: CatalogVersionMutation, options?: CatalogWorkspaceSourceOptions): Promise<MarketplaceSourceMeta>;
|
|
63
66
|
export declare function deriveCatalogChannel(version: string): CatalogChannel;
|
|
67
|
+
export declare function calculateCatalogWorkspaceSourceIdentity(workspace: Pick<CatalogWorkspace, 'workspaceRoot' | 'metadataPath' | 'plugins'>): Promise<string>;
|
|
64
68
|
export declare function buildCatalogWorkspace(options: {
|
|
65
69
|
workspaceRoot: string;
|
|
66
70
|
outputPath?: string;
|
|
@@ -73,10 +77,21 @@ export declare function buildCatalogWorkspace(options: {
|
|
|
73
77
|
channel: CatalogChannel;
|
|
74
78
|
pluginNames: string[];
|
|
75
79
|
}>;
|
|
80
|
+
/**
|
|
81
|
+
* Assign versions for planning and snapshot preparation with the same content comparison.
|
|
82
|
+
* Official history includes removed Plugins. Baseline declarations come from main source,
|
|
83
|
+
* before generated candidate metadata changes.
|
|
84
|
+
*/
|
|
85
|
+
export declare function resolvePublishedPluginVersions(options: {
|
|
86
|
+
channel: CatalogChannel;
|
|
87
|
+
entries: readonly Pick<CatalogManifestV7Entry, 'name' | 'version' | 'contentDigest'>[];
|
|
88
|
+
previousPluginEntries?: readonly CatalogManifestV7Entry[];
|
|
89
|
+
officialPluginHistory?: readonly CatalogManifestV7Entry[];
|
|
90
|
+
sourcePluginVersionsAtBaseline?: Readonly<Record<string, string>>;
|
|
91
|
+
}): Record<string, string>;
|
|
76
92
|
export declare function validatePublishedCatalogSnapshot(snapshotDirectory: string): Promise<{
|
|
77
93
|
rootDir: string;
|
|
78
|
-
manifest:
|
|
79
|
-
ledger: PluginReleaseLedger;
|
|
94
|
+
manifest: CatalogManifestV7;
|
|
80
95
|
snapshotDigest: string;
|
|
81
96
|
}>;
|
|
82
97
|
export declare function preparePublishedCatalogWorkspace(options: {
|
|
@@ -84,6 +99,9 @@ export declare function preparePublishedCatalogWorkspace(options: {
|
|
|
84
99
|
sourceHead: string;
|
|
85
100
|
outputPath?: string;
|
|
86
101
|
previousSnapshotRoot?: string;
|
|
102
|
+
historicalPluginEntries?: readonly CatalogManifestV7Entry[];
|
|
103
|
+
officialPluginHistory?: readonly CatalogManifestV7Entry[];
|
|
104
|
+
sourcePluginVersionsAtBaseline?: Readonly<Record<string, string>>;
|
|
87
105
|
adapter: CatalogWorkspaceBuildAdapter;
|
|
88
106
|
reservedImports?: ReservedImportRegistry;
|
|
89
107
|
}): Promise<{
|
|
@@ -92,8 +110,6 @@ export declare function preparePublishedCatalogWorkspace(options: {
|
|
|
92
110
|
channel: CatalogChannel;
|
|
93
111
|
pluginNames: string[];
|
|
94
112
|
snapshotDigest: string;
|
|
95
|
-
contentDigest: string;
|
|
96
|
-
planId: string;
|
|
97
113
|
}>;
|
|
98
114
|
export declare function buildCatalogWorkspacePlugin(options: {
|
|
99
115
|
workspaceRoot: string;
|
|
@@ -108,9 +124,21 @@ export declare function buildCatalogWorkspacePlugin(options: {
|
|
|
108
124
|
dependencies: string[];
|
|
109
125
|
digest: string;
|
|
110
126
|
}>;
|
|
111
|
-
export declare function
|
|
127
|
+
export declare function validatePublishedCatalogSnapshotMetadata(snapshotDirectory: string): Promise<{
|
|
112
128
|
rootDir: string;
|
|
113
|
-
|
|
114
|
-
|
|
129
|
+
workspaceIdentity: string;
|
|
130
|
+
manifest: CatalogManifestV7;
|
|
131
|
+
}>;
|
|
132
|
+
export declare function validateCatalogSnapshotTransport(snapshotDirectory: string): Promise<{
|
|
133
|
+
rootDir: string;
|
|
134
|
+
manifest: CatalogManifestV7;
|
|
115
135
|
snapshotDigest: string;
|
|
116
136
|
}>;
|
|
137
|
+
type CatalogSnapshotValidationResult = {
|
|
138
|
+
rootDir: string;
|
|
139
|
+
manifest: CatalogManifestV7;
|
|
140
|
+
snapshotDigest: string;
|
|
141
|
+
};
|
|
142
|
+
export declare function validateCatalogSnapshotPluginEntriesComplete(snapshotDirectory: string, pluginNames: readonly string[]): Promise<CatalogSnapshotValidationResult>;
|
|
143
|
+
export declare function validateCatalogSnapshotComplete(snapshotDirectory: string): Promise<CatalogSnapshotValidationResult>;
|
|
144
|
+
export {};
|