@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.
- package/dist/aw-capabilities.d.ts +27 -0
- package/dist/aw-capabilities.js +117 -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 +1532 -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/managed-commands.d.ts +167 -0
- package/dist/managed-commands.js +463 -0
- package/dist/managed-commands.js.map +1 -0
- package/dist/manifest-contract.d.ts +3 -6
- package/dist/manifest-contract.js +271 -407
- package/dist/manifest-contract.js.map +1 -1
- package/dist/manifest-type-contract.d.ts +2 -2
- package/dist/manifest.d.ts +12 -8
- package/dist/manifest.js +18 -7
- package/dist/manifest.js.map +1 -1
- package/dist/native-runtime/reader-runtime.mjs +34 -0
- package/dist/native-runtime/reader.d.mts +6 -0
- package/dist/native-runtime/reader.mjs +11 -0
- package/dist/native-tools.d.ts +48 -0
- package/dist/native-tools.js +192 -0
- package/dist/native-tools.js.map +1 -0
- package/dist/plugin-authoring-capabilities.d.ts +1 -1
- package/dist/plugin-authoring-capabilities.js +133 -26
- package/dist/plugin-authoring-capabilities.js.map +1 -1
- package/dist/plugin-config.d.ts +47 -0
- package/dist/plugin-config.js +1355 -0
- package/dist/plugin-config.js.map +1 -0
- package/dist/plugin-requirements.d.ts +34 -0
- package/dist/plugin-requirements.js +300 -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 +266 -73
- package/dist/workspace.d.ts +37 -9
- package/dist/workspace.js +419 -191
- package/dist/workspace.js.map +1 -1
- package/package.json +16 -6
- package/schemas/plugin-manifest-v3.json +2655 -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,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PluginManifestSourceV3 } from './generated/plugin-manifest-v3.js';
|
|
2
|
+
import type { ManagedCommands, ManagedCommandPermission, PermissionCommand } from './managed-commands.js';
|
|
2
3
|
export type PlatformName = 'codex' | 'claude';
|
|
3
4
|
export type DistributionName = 'agent-skills';
|
|
4
5
|
export type Scope = 'project' | 'user';
|
|
@@ -10,7 +11,7 @@ export type CatalogSourceId = string;
|
|
|
10
11
|
export type SourceIdentity = string;
|
|
11
12
|
export type SupportedPlatformSet = ReadonlySet<PlatformName>;
|
|
12
13
|
export type CodexProjectManagedKind = 'skill' | 'mcpServer' | 'instruction' | 'permission' | 'hook' | 'agent';
|
|
13
|
-
export type PluginInterfaceMeta = NonNullable<
|
|
14
|
+
export type PluginInterfaceMeta = NonNullable<PluginManifestSourceV3['interface']>;
|
|
14
15
|
export interface MarketplaceOwner {
|
|
15
16
|
name: string;
|
|
16
17
|
url: string;
|
|
@@ -25,9 +26,9 @@ export interface MarketplaceSourceMeta {
|
|
|
25
26
|
version: string;
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
|
-
export type MarketplacePolicy =
|
|
29
|
+
export type MarketplacePolicy = PluginManifestSourceV3['marketplace']['policy'];
|
|
29
30
|
export type MarketplaceAuthenticationPolicy = MarketplacePolicy['authentication'];
|
|
30
|
-
export type PluginMarketplaceMeta =
|
|
31
|
+
export type PluginMarketplaceMeta = PluginManifestSourceV3['marketplace'];
|
|
31
32
|
export type TemplateValue = string | boolean;
|
|
32
33
|
export interface TemplateVarByPlatform {
|
|
33
34
|
claude: TemplateValue;
|
|
@@ -55,6 +56,11 @@ export interface BuildConfigManifestOverrides {
|
|
|
55
56
|
export interface BuildConfigRuntimeExport {
|
|
56
57
|
name: string;
|
|
57
58
|
source: string;
|
|
59
|
+
requires: {
|
|
60
|
+
aw: {
|
|
61
|
+
capabilities: string[];
|
|
62
|
+
};
|
|
63
|
+
};
|
|
58
64
|
}
|
|
59
65
|
export interface BuildConfigImportReference {
|
|
60
66
|
plugin: string;
|
|
@@ -86,18 +92,10 @@ export interface BuildConfig {
|
|
|
86
92
|
skillRuntimeFiles?: BuildConfigSkillRuntimeFile[];
|
|
87
93
|
generatedSkillRuntimeFiles?: BuildConfigGeneratedSkillRuntimeFile[];
|
|
88
94
|
}
|
|
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;
|
|
95
|
+
export interface PluginPreApplyScript {
|
|
95
96
|
path: string;
|
|
96
|
-
|
|
97
|
+
timeoutMs?: number;
|
|
97
98
|
}
|
|
98
|
-
export type PluginLifecycleScriptSelector = Partial<Record<PluginLifecycleOsSelector, PluginLifecycleScriptEntry>>;
|
|
99
|
-
export type PluginLifecycleScriptDefinition = string | PluginLifecycleScriptSelector;
|
|
100
|
-
export type PluginLifecycleScripts = Partial<Record<PluginLifecycleEvent, PluginLifecycleScriptSelector>>;
|
|
101
99
|
export interface PluginScriptHelpersConfig {
|
|
102
100
|
config: string;
|
|
103
101
|
}
|
|
@@ -122,26 +120,159 @@ export interface PluginArtifactScriptsConfig {
|
|
|
122
120
|
render?: PluginArtifactRenderScriptEntry;
|
|
123
121
|
}
|
|
124
122
|
export interface PluginScriptsConfig {
|
|
125
|
-
|
|
126
|
-
lifecycle?: PluginLifecycleScripts;
|
|
123
|
+
preApply?: PluginPreApplyScript;
|
|
127
124
|
helpers?: PluginScriptHelpersConfig;
|
|
128
125
|
node?: PluginNodeScriptsConfig;
|
|
129
126
|
artifacts?: PluginArtifactScriptsConfig;
|
|
130
127
|
tests?: PluginScriptTestsConfig;
|
|
131
128
|
}
|
|
132
|
-
export type
|
|
133
|
-
export
|
|
134
|
-
|
|
129
|
+
export type PluginConfigScalar = string | number | boolean;
|
|
130
|
+
export type PluginConfigScalarArray = string[] | number[] | boolean[];
|
|
131
|
+
export type PluginConfigScalarObject = Record<string, PluginConfigScalar>;
|
|
132
|
+
export type PluginConfigObject = Record<string, PluginConfigScalar | PluginConfigScalarArray | PluginConfigScalarObject>;
|
|
133
|
+
export type PluginConfigArray = PluginConfigScalarArray | PluginConfigObject[];
|
|
134
|
+
export type PluginConfigValue = PluginConfigScalar | PluginConfigObject | PluginConfigArray;
|
|
135
|
+
export type PluginConfigFieldType = 'string' | 'number' | 'boolean' | 'object' | 'array';
|
|
136
|
+
export type PluginConfigStringFormat = 'identifier' | 'slug' | 'semver' | 'url' | 'hostname' | 'email';
|
|
137
|
+
export interface PluginConfigPreset<Value extends PluginConfigValue = PluginConfigValue> {
|
|
138
|
+
id: string;
|
|
139
|
+
title: string;
|
|
140
|
+
description?: string;
|
|
141
|
+
value: Value;
|
|
142
|
+
recommended?: true;
|
|
143
|
+
}
|
|
144
|
+
export interface PluginConfigChoices<Value extends PluginConfigValue = PluginConfigValue> {
|
|
145
|
+
allowCustom: boolean;
|
|
146
|
+
presets: PluginConfigPreset<Value>[];
|
|
147
|
+
}
|
|
148
|
+
export interface PluginConfigStringValidation {
|
|
149
|
+
minLength?: number;
|
|
150
|
+
maxLength?: number;
|
|
151
|
+
pattern?: string;
|
|
152
|
+
format?: PluginConfigStringFormat;
|
|
153
|
+
}
|
|
154
|
+
export interface PluginConfigNumberValidation {
|
|
155
|
+
integer?: boolean;
|
|
156
|
+
minimum?: number;
|
|
157
|
+
maximum?: number;
|
|
158
|
+
multipleOf?: number;
|
|
159
|
+
}
|
|
160
|
+
export interface PluginConfigObjectValidation {
|
|
161
|
+
minProperties?: number;
|
|
162
|
+
maxProperties?: number;
|
|
163
|
+
key?: PluginConfigStringValidation;
|
|
164
|
+
}
|
|
165
|
+
export interface PluginConfigArrayValidation {
|
|
166
|
+
minItems?: number;
|
|
167
|
+
maxItems?: number;
|
|
168
|
+
uniqueItems?: boolean;
|
|
169
|
+
uniqueBy?: string;
|
|
170
|
+
}
|
|
171
|
+
export interface PluginConfigValueReference {
|
|
172
|
+
field: string;
|
|
173
|
+
key: string;
|
|
174
|
+
label?: string;
|
|
175
|
+
include?: PluginConfigScalar[];
|
|
176
|
+
}
|
|
177
|
+
export interface PluginConfigFieldBase<Value extends PluginConfigValue> {
|
|
135
178
|
title?: string;
|
|
136
179
|
description?: string;
|
|
137
|
-
default?:
|
|
180
|
+
default?: Value;
|
|
138
181
|
required?: boolean;
|
|
139
|
-
sensitive?:
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
182
|
+
sensitive?: never;
|
|
183
|
+
}
|
|
184
|
+
interface PluginConfigPlainStringField extends Omit<PluginConfigFieldBase<string>, 'sensitive'> {
|
|
185
|
+
type: 'string';
|
|
186
|
+
const?: string;
|
|
187
|
+
sensitive?: false;
|
|
188
|
+
valueRef?: PluginConfigValueReference;
|
|
189
|
+
choices?: PluginConfigChoices<string>;
|
|
190
|
+
validation?: PluginConfigStringValidation;
|
|
191
|
+
}
|
|
192
|
+
interface PluginConfigSensitiveStringField extends Omit<PluginConfigFieldBase<string>, 'default' | 'sensitive'> {
|
|
193
|
+
type: 'string';
|
|
194
|
+
sensitive: true;
|
|
195
|
+
default?: never;
|
|
196
|
+
choices?: never;
|
|
197
|
+
const?: never;
|
|
198
|
+
validation?: PluginConfigStringValidation;
|
|
199
|
+
}
|
|
200
|
+
export type PluginConfigStringField = PluginConfigPlainStringField | PluginConfigSensitiveStringField;
|
|
201
|
+
export interface PluginConfigNumberField extends PluginConfigFieldBase<number> {
|
|
202
|
+
type: 'number';
|
|
203
|
+
const?: number;
|
|
204
|
+
valueRef?: PluginConfigValueReference;
|
|
205
|
+
choices?: PluginConfigChoices<number>;
|
|
206
|
+
validation?: PluginConfigNumberValidation;
|
|
207
|
+
}
|
|
208
|
+
export interface PluginConfigBooleanField extends PluginConfigFieldBase<boolean> {
|
|
209
|
+
type: 'boolean';
|
|
210
|
+
const?: boolean;
|
|
211
|
+
valueRef?: PluginConfigValueReference;
|
|
212
|
+
choices?: PluginConfigChoices<boolean>;
|
|
213
|
+
}
|
|
214
|
+
export type PluginConfigScalarField = PluginConfigStringField | PluginConfigNumberField | PluginConfigBooleanField;
|
|
215
|
+
type DistributiveOmit<Value, Key extends PropertyKey> = Value extends unknown ? Omit<Value, Key> : never;
|
|
216
|
+
type PluginConfigNonSensitiveScalarField = PluginConfigPlainStringField | PluginConfigNumberField | PluginConfigBooleanField;
|
|
217
|
+
export type PluginConfigScalarPropertyField = DistributiveOmit<PluginConfigNonSensitiveScalarField, 'default' | 'sensitive'> & {
|
|
218
|
+
sensitive?: never;
|
|
219
|
+
};
|
|
220
|
+
export interface PluginConfigLeafArrayField extends Omit<PluginConfigFieldBase<PluginConfigScalarArray>, 'default'> {
|
|
221
|
+
type: 'array';
|
|
222
|
+
items: PluginConfigAdditionalPropertiesField;
|
|
223
|
+
choices?: PluginConfigChoices<PluginConfigScalarArray>;
|
|
224
|
+
validation?: Omit<PluginConfigArrayValidation, 'uniqueBy'>;
|
|
225
|
+
}
|
|
226
|
+
export interface PluginConfigLeafObjectField extends Omit<PluginConfigFieldBase<PluginConfigScalarObject>, 'default'> {
|
|
227
|
+
type: 'object';
|
|
228
|
+
properties?: never;
|
|
229
|
+
additionalProperties: PluginConfigAdditionalPropertiesField;
|
|
230
|
+
choices?: PluginConfigChoices<PluginConfigScalarObject>;
|
|
231
|
+
validation?: PluginConfigObjectValidation;
|
|
232
|
+
}
|
|
233
|
+
export type PluginConfigObjectPropertyField = PluginConfigScalarPropertyField | PluginConfigLeafArrayField | PluginConfigLeafObjectField;
|
|
234
|
+
export type PluginConfigAdditionalPropertiesField = DistributiveOmit<PluginConfigNonSensitiveScalarField, 'default' | 'required' | 'sensitive'> & {
|
|
235
|
+
sensitive?: never;
|
|
236
|
+
};
|
|
237
|
+
interface PluginConfigObjectFieldBase extends PluginConfigFieldBase<PluginConfigObject> {
|
|
238
|
+
type: 'object';
|
|
239
|
+
choices?: PluginConfigChoices<PluginConfigObject>;
|
|
240
|
+
validation?: PluginConfigObjectValidation;
|
|
241
|
+
}
|
|
242
|
+
export interface PluginConfigFixedObjectField extends PluginConfigObjectFieldBase {
|
|
243
|
+
properties: Record<string, PluginConfigObjectPropertyField>;
|
|
244
|
+
additionalProperties?: false;
|
|
245
|
+
variants?: PluginConfigObjectVariants;
|
|
246
|
+
}
|
|
247
|
+
export interface PluginConfigObjectVariant {
|
|
248
|
+
properties: Record<string, PluginConfigObjectPropertyField>;
|
|
249
|
+
}
|
|
250
|
+
export interface PluginConfigObjectVariants {
|
|
251
|
+
discriminator: string;
|
|
252
|
+
cases: Record<string, PluginConfigObjectVariant>;
|
|
253
|
+
missing?: string;
|
|
254
|
+
otherwise?: PluginConfigObjectVariant;
|
|
255
|
+
}
|
|
256
|
+
export interface PluginConfigKeyValueObjectField extends PluginConfigObjectFieldBase {
|
|
257
|
+
default?: PluginConfigScalarObject;
|
|
258
|
+
choices?: PluginConfigChoices<PluginConfigScalarObject>;
|
|
259
|
+
properties?: never;
|
|
260
|
+
variants?: never;
|
|
261
|
+
additionalProperties: PluginConfigAdditionalPropertiesField;
|
|
262
|
+
}
|
|
263
|
+
export type PluginConfigObjectField = PluginConfigFixedObjectField | PluginConfigKeyValueObjectField;
|
|
264
|
+
export type PluginConfigArrayItemField = DistributiveOmit<PluginConfigNonSensitiveScalarField | PluginConfigObjectField, 'default' | 'required' | 'sensitive'> & {
|
|
265
|
+
default?: never;
|
|
266
|
+
required?: never;
|
|
267
|
+
sensitive?: never;
|
|
268
|
+
};
|
|
269
|
+
export interface PluginConfigArrayField extends PluginConfigFieldBase<PluginConfigArray> {
|
|
270
|
+
type: 'array';
|
|
271
|
+
items: PluginConfigArrayItemField;
|
|
272
|
+
choices?: PluginConfigChoices<PluginConfigArray>;
|
|
273
|
+
validation?: PluginConfigArrayValidation;
|
|
143
274
|
}
|
|
144
|
-
export type
|
|
275
|
+
export type PluginConfigSchemaField = PluginConfigScalarField | PluginConfigObjectField | PluginConfigArrayField;
|
|
145
276
|
export interface PluginConfigPresentationGroup {
|
|
146
277
|
id: string;
|
|
147
278
|
title: string;
|
|
@@ -149,27 +280,69 @@ export interface PluginConfigPresentationGroup {
|
|
|
149
280
|
fields: string[];
|
|
150
281
|
advanced?: boolean;
|
|
151
282
|
}
|
|
152
|
-
export interface
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
id: string;
|
|
161
|
-
title: string;
|
|
162
|
-
description?: string;
|
|
163
|
-
values: Record<string, PluginConfigPresentationValue>;
|
|
283
|
+
export interface PluginConfigJoinSummary {
|
|
284
|
+
kind: 'join';
|
|
285
|
+
parts: Array<{
|
|
286
|
+
path: string;
|
|
287
|
+
format?: 'raw' | 'choiceTitle';
|
|
288
|
+
}>;
|
|
289
|
+
separator: string;
|
|
290
|
+
missing: string;
|
|
164
291
|
}
|
|
165
292
|
export interface PluginConfigPresentation {
|
|
293
|
+
summaries?: Record<string, PluginConfigJoinSummary>;
|
|
294
|
+
fieldViews?: Record<string, {
|
|
295
|
+
summary: string;
|
|
296
|
+
itemSummary?: never;
|
|
297
|
+
} | {
|
|
298
|
+
itemSummary: string;
|
|
299
|
+
summary?: never;
|
|
300
|
+
}>;
|
|
166
301
|
groups?: PluginConfigPresentationGroup[];
|
|
167
|
-
fields?: Record<string, PluginConfigPresentationField>;
|
|
168
|
-
presets?: PluginConfigPresentationPreset[];
|
|
169
302
|
}
|
|
170
|
-
|
|
171
|
-
|
|
303
|
+
type PluginConfigLegacyScalarField = DistributiveOmit<PluginConfigScalarField, 'const'>;
|
|
304
|
+
type PluginConfigLegacyScalarPropertyField = DistributiveOmit<PluginConfigScalarPropertyField, 'const'>;
|
|
305
|
+
type PluginConfigLegacyAdditionalPropertiesField = DistributiveOmit<PluginConfigAdditionalPropertiesField, 'const'>;
|
|
306
|
+
type PluginConfigLegacyObjectField = (Omit<PluginConfigFixedObjectField, 'properties' | 'variants' | 'default' | 'choices'> & {
|
|
307
|
+
properties: Record<string, PluginConfigLegacyScalarPropertyField>;
|
|
308
|
+
default?: PluginConfigScalarObject;
|
|
309
|
+
choices?: PluginConfigChoices<PluginConfigScalarObject>;
|
|
310
|
+
}) | (Omit<PluginConfigKeyValueObjectField, 'additionalProperties'> & {
|
|
311
|
+
additionalProperties: PluginConfigLegacyAdditionalPropertiesField;
|
|
312
|
+
});
|
|
313
|
+
type PluginConfigLegacyArray = PluginConfigScalarArray | PluginConfigScalarObject[];
|
|
314
|
+
type PluginConfigLegacyArrayField = Omit<PluginConfigArrayField, 'default' | 'choices' | 'items'> & {
|
|
315
|
+
default?: PluginConfigLegacyArray;
|
|
316
|
+
choices?: PluginConfigChoices<PluginConfigLegacyArray>;
|
|
317
|
+
items: DistributiveOmit<PluginConfigLegacyScalarField | PluginConfigLegacyObjectField, 'default' | 'required' | 'sensitive'> & {
|
|
318
|
+
default?: never;
|
|
319
|
+
required?: never;
|
|
320
|
+
sensitive?: never;
|
|
321
|
+
};
|
|
322
|
+
};
|
|
323
|
+
export type PluginConfigDefinition = {
|
|
324
|
+
schemaVersion?: never;
|
|
325
|
+
fields: Record<string, PluginConfigLegacyScalarField | PluginConfigLegacyObjectField>;
|
|
326
|
+
presentation?: Pick<PluginConfigPresentation, 'groups'>;
|
|
327
|
+
} | {
|
|
328
|
+
schemaVersion: 3;
|
|
329
|
+
fields: Record<string, PluginConfigLegacyScalarField | PluginConfigLegacyObjectField | PluginConfigLegacyArrayField>;
|
|
330
|
+
presentation?: PluginConfigPresentation;
|
|
331
|
+
} | {
|
|
332
|
+
schemaVersion: 4;
|
|
333
|
+
fields: Record<string, PluginConfigSchemaField>;
|
|
172
334
|
presentation?: PluginConfigPresentation;
|
|
335
|
+
};
|
|
336
|
+
export type PluginConfigSchema = PluginConfigDefinition;
|
|
337
|
+
export interface PluginConfigValidationIssue {
|
|
338
|
+
code: string;
|
|
339
|
+
path: {
|
|
340
|
+
field: string;
|
|
341
|
+
property?: string;
|
|
342
|
+
segments?: Array<string | number>;
|
|
343
|
+
};
|
|
344
|
+
message: string;
|
|
345
|
+
recoverable: true;
|
|
173
346
|
}
|
|
174
347
|
export interface PlatformAgentOverrides<T> {
|
|
175
348
|
claude?: Partial<T> | null;
|
|
@@ -189,15 +362,17 @@ export interface InstructionDefinition {
|
|
|
189
362
|
}
|
|
190
363
|
export interface PermissionDefinition {
|
|
191
364
|
name: string;
|
|
192
|
-
allow?:
|
|
193
|
-
ask?:
|
|
194
|
-
deny?:
|
|
195
|
-
agentOverrides
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
365
|
+
allow?: PermissionCommand[];
|
|
366
|
+
ask?: PermissionCommand[];
|
|
367
|
+
deny?: PermissionCommand[];
|
|
368
|
+
/** Present after resolving the Claude override; source declarations use agentOverrides.claude. */
|
|
369
|
+
sandbox?: {
|
|
370
|
+
excludedCommands: ManagedCommandPermission[];
|
|
371
|
+
};
|
|
372
|
+
agentOverrides?: {
|
|
373
|
+
claude?: Partial<Omit<PermissionDefinition, 'agentOverrides'>> | null;
|
|
374
|
+
codex?: Partial<Omit<PermissionDefinition, 'agentOverrides' | 'sandbox'>> | null;
|
|
375
|
+
};
|
|
201
376
|
}
|
|
202
377
|
export type HookEvent = 'before_tool' | 'after_tool' | 'session_start';
|
|
203
378
|
export interface HookDefinition {
|
|
@@ -239,8 +414,17 @@ export interface PluginExtensions {
|
|
|
239
414
|
agents?: AgentDefinition[];
|
|
240
415
|
}
|
|
241
416
|
export type ArtifactState = 'present' | 'disabled';
|
|
242
|
-
export
|
|
243
|
-
|
|
417
|
+
export interface CodexNativeSkillDelivery {
|
|
418
|
+
mode: 'codex-native';
|
|
419
|
+
identity: 'shared';
|
|
420
|
+
renderProfile: 'user';
|
|
421
|
+
}
|
|
422
|
+
export interface AwExtensionSkillDelivery {
|
|
423
|
+
mode: 'aw-extension';
|
|
424
|
+
}
|
|
425
|
+
export type CodexSkillDelivery = CodexNativeSkillDelivery | AwExtensionSkillDelivery;
|
|
426
|
+
export type ArtifactTarget = 'codex.developerInstructionsBlock' | 'codex.agentRole' | 'codex.skill' | 'claude.skill' | 'agent-skills.skill' | 'aw.command-set' | 'aw.command-package';
|
|
427
|
+
export type DynamicArtifactKind = 'instruction' | 'codexRole' | 'skill' | 'commandSet' | 'commandPackage';
|
|
244
428
|
export type ManagedArtifactId = string;
|
|
245
429
|
export interface ArtifactRuntimeImportDefinition extends BuildConfigImportReference {
|
|
246
430
|
name: string;
|
|
@@ -250,15 +434,16 @@ export interface ArtifactRuntimeImportDefinition extends BuildConfigImportRefere
|
|
|
250
434
|
providerPluginId: PluginId;
|
|
251
435
|
providerVersion: PluginVersion;
|
|
252
436
|
source: string;
|
|
437
|
+
requiredCapabilities: string[];
|
|
438
|
+
capabilitySetDigest: string;
|
|
253
439
|
};
|
|
254
440
|
}
|
|
255
|
-
|
|
441
|
+
interface PluginArtifactTargetDefinitionBase {
|
|
256
442
|
id: string;
|
|
257
443
|
platform?: PlatformName;
|
|
258
444
|
distribution?: DistributionName;
|
|
259
445
|
scopes: Scope[];
|
|
260
|
-
|
|
261
|
-
kind?: DynamicArtifactKind;
|
|
446
|
+
kind?: Exclude<DynamicArtifactKind, 'commandSet' | 'commandPackage'>;
|
|
262
447
|
projectManagedKind?: CodexProjectManagedKind;
|
|
263
448
|
states: ArtifactState[];
|
|
264
449
|
refreshKeys: string[];
|
|
@@ -267,7 +452,15 @@ export interface PluginArtifactTargetDefinition {
|
|
|
267
452
|
skillKey?: string;
|
|
268
453
|
sourceDirs?: string[];
|
|
269
454
|
runtimeImports?: ArtifactRuntimeImportDefinition[];
|
|
455
|
+
runtimeConfig?: import('./runtime-config.js').PluginRuntimeConfigDeclaration;
|
|
270
456
|
}
|
|
457
|
+
export type PluginArtifactTargetDefinition = PluginArtifactTargetDefinitionBase & {
|
|
458
|
+
target: 'codex.skill';
|
|
459
|
+
delivery: CodexSkillDelivery;
|
|
460
|
+
} | PluginArtifactTargetDefinitionBase & {
|
|
461
|
+
target: Exclude<ArtifactTarget, 'codex.skill' | 'aw.command-set' | 'aw.command-package'>;
|
|
462
|
+
delivery?: never;
|
|
463
|
+
};
|
|
271
464
|
export interface PluginArtifactsConfig {
|
|
272
465
|
targets?: PluginArtifactTargetDefinition[];
|
|
273
466
|
}
|
|
@@ -277,24 +470,26 @@ export interface PluginAgentSkillsDistribution {
|
|
|
277
470
|
export interface PluginDistributionsConfig {
|
|
278
471
|
agentSkills?: PluginAgentSkillsDistribution;
|
|
279
472
|
}
|
|
280
|
-
export interface
|
|
473
|
+
export interface PluginRequirements {
|
|
281
474
|
aw: {
|
|
282
|
-
|
|
475
|
+
capabilities?: string[];
|
|
283
476
|
};
|
|
284
477
|
}
|
|
285
|
-
export type PluginManifestSource =
|
|
286
|
-
export type NormalizedPluginManifest = Omit<
|
|
287
|
-
|
|
288
|
-
compatibility: PluginCompatibility;
|
|
478
|
+
export type PluginManifestSource = PluginManifestSourceV3;
|
|
479
|
+
export type NormalizedPluginManifest = Omit<PluginManifestSourceV3, 'requires' | 'extensions' | 'artifacts' | 'buildConfig' | 'scripts' | 'config' | 'managedCommands' | 'nativeTools'> & {
|
|
480
|
+
requires?: PluginRequirements;
|
|
289
481
|
extensions?: PluginExtensions;
|
|
290
482
|
artifacts?: PluginArtifactsConfig;
|
|
291
483
|
buildConfig?: BuildConfig;
|
|
292
484
|
scripts?: PluginScriptsConfig;
|
|
293
485
|
config?: PluginConfigSchema;
|
|
486
|
+
managedCommands?: ManagedCommands;
|
|
487
|
+
nativeTools?: import('./native-tools.js').NativeTools;
|
|
294
488
|
};
|
|
295
489
|
export interface PluginMeta {
|
|
296
490
|
sourceId?: CatalogSourceId;
|
|
297
491
|
sourceIdentity?: SourceIdentity;
|
|
492
|
+
catalogLogicalIdentity?: string;
|
|
298
493
|
pluginId?: PluginId;
|
|
299
494
|
marketplaceName?: string;
|
|
300
495
|
rootDir: string;
|
|
@@ -326,12 +521,13 @@ export interface CatalogManifestEntry {
|
|
|
326
521
|
tags?: string[];
|
|
327
522
|
strict: boolean;
|
|
328
523
|
policy: MarketplacePolicy;
|
|
329
|
-
|
|
524
|
+
dependencies: PluginId[];
|
|
525
|
+
requires: PluginRequirements;
|
|
330
526
|
source: string;
|
|
331
527
|
artifactDigest: string;
|
|
332
528
|
manifestDigest: string;
|
|
333
529
|
}
|
|
334
|
-
export interface
|
|
530
|
+
export interface CatalogManifestV7Entry extends CatalogManifestEntry {
|
|
335
531
|
name: PluginId;
|
|
336
532
|
contentDigest: string;
|
|
337
533
|
}
|
|
@@ -339,29 +535,25 @@ export interface CatalogMarketplaceIdentity {
|
|
|
339
535
|
owner: MarketplaceOwner;
|
|
340
536
|
interface: MarketplaceInterfaceMeta;
|
|
341
537
|
}
|
|
342
|
-
export type
|
|
538
|
+
export type CatalogManifestV7Release = {
|
|
343
539
|
state: 'development';
|
|
344
540
|
} | {
|
|
345
541
|
state: 'published';
|
|
346
|
-
targetVersion: string;
|
|
347
|
-
planId: string;
|
|
348
542
|
sourceHead: string;
|
|
349
|
-
contentDigest: string;
|
|
350
543
|
};
|
|
351
|
-
export interface
|
|
352
|
-
schemaVersion:
|
|
544
|
+
export interface CatalogManifestV7 {
|
|
545
|
+
schemaVersion: 7;
|
|
353
546
|
catalogVersion: string;
|
|
354
547
|
channel: CatalogChannel;
|
|
355
|
-
|
|
548
|
+
requires: PluginRequirements;
|
|
356
549
|
marketplace: CatalogMarketplaceIdentity;
|
|
357
|
-
release:
|
|
358
|
-
entries:
|
|
550
|
+
release: CatalogManifestV7Release;
|
|
551
|
+
entries: CatalogManifestV7Entry[];
|
|
359
552
|
}
|
|
360
553
|
export interface PlatformPluginManifest {
|
|
361
554
|
name: string;
|
|
362
555
|
version: PluginVersion;
|
|
363
556
|
description: string;
|
|
364
|
-
compatibility: PluginCompatibility;
|
|
365
557
|
skills?: string;
|
|
366
558
|
mcpServers?: string;
|
|
367
559
|
apps?: string;
|
|
@@ -426,3 +618,4 @@ export interface ClaudeSkillArtifact extends ArtifactPlanArtifactBase {
|
|
|
426
618
|
files?: Record<string, string>;
|
|
427
619
|
};
|
|
428
620
|
}
|
|
621
|
+
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 {};
|