@lesliechan721/aw-plugin-core 0.1.0-beta.2 → 0.1.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/aw-capabilities.d.ts +27 -0
  2. package/dist/aw-capabilities.js +107 -0
  3. package/dist/aw-capabilities.js.map +1 -0
  4. package/dist/catalog-workspace-resolution.d.ts +3 -0
  5. package/dist/catalog-workspace-resolution.js +34 -0
  6. package/dist/catalog-workspace-resolution.js.map +1 -0
  7. package/dist/generated/plugin-manifest-v3.d.ts +675 -0
  8. package/dist/generated/{plugin-manifest-v1.js → plugin-manifest-v3.js} +1 -1
  9. package/dist/generated/plugin-manifest-v3.js.map +1 -0
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/manifest-contract.d.ts +3 -6
  14. package/dist/manifest-contract.js +209 -406
  15. package/dist/manifest-contract.js.map +1 -1
  16. package/dist/manifest-type-contract.d.ts +2 -2
  17. package/dist/manifest.d.ts +10 -8
  18. package/dist/manifest.js +11 -7
  19. package/dist/manifest.js.map +1 -1
  20. package/dist/plugin-authoring-capabilities.d.ts +21 -0
  21. package/dist/plugin-authoring-capabilities.js +187 -0
  22. package/dist/plugin-authoring-capabilities.js.map +1 -0
  23. package/dist/plugin-config.d.ts +13 -0
  24. package/dist/plugin-config.js +645 -0
  25. package/dist/plugin-config.js.map +1 -0
  26. package/dist/plugin-requirements.d.ts +34 -0
  27. package/dist/plugin-requirements.js +249 -0
  28. package/dist/plugin-requirements.js.map +1 -0
  29. package/dist/plugin-script-contract.d.ts +10 -12
  30. package/dist/plugin-script-contract.js +34 -64
  31. package/dist/plugin-script-contract.js.map +1 -1
  32. package/dist/types.d.ts +142 -62
  33. package/dist/workspace.d.ts +54 -29
  34. package/dist/workspace.js +497 -269
  35. package/dist/workspace.js.map +1 -1
  36. package/package.json +8 -4
  37. package/schemas/plugin-manifest-v3.json +590 -0
  38. package/dist/generated/plugin-manifest-v1.d.ts +0 -368
  39. package/dist/generated/plugin-manifest-v1.js.map +0 -1
  40. package/dist/plugin-release.d.ts +0 -30
  41. package/dist/plugin-release.js +0 -187
  42. package/dist/plugin-release.js.map +0 -1
  43. package/schemas/plugin-manifest-v1.json +0 -329
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { PluginManifestSourceV1 } from './generated/plugin-manifest-v1.js';
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<PluginManifestSourceV1['interface']>;
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 = PluginManifestSourceV1['marketplace']['policy'];
28
+ export type MarketplacePolicy = PluginManifestSourceV3['marketplace']['policy'];
29
29
  export type MarketplaceAuthenticationPolicy = MarketplacePolicy['authentication'];
30
- export type PluginMarketplaceMeta = PluginManifestSourceV1['marketplace'];
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 type PluginLifecycleEvent = 'install' | 'upgrade' | 'uninstall';
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
- args?: string[];
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,99 @@ export interface PluginArtifactScriptsConfig {
122
119
  render?: PluginArtifactRenderScriptEntry;
123
120
  }
124
121
  export interface PluginScriptsConfig {
125
- timeoutMs?: number;
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 PluginConfigFieldType = 'string' | 'number' | 'boolean' | 'enum' | 'file' | 'directory';
133
- export interface PluginConfigSchemaField {
134
- type: PluginConfigFieldType;
128
+ export type PluginConfigScalar = string | number | boolean;
129
+ export type PluginConfigObject = Record<string, PluginConfigScalar>;
130
+ export type PluginConfigValue = PluginConfigScalar | PluginConfigObject;
131
+ export type PluginConfigFieldType = 'string' | 'number' | 'boolean' | 'object';
132
+ export type PluginConfigStringFormat = 'identifier' | 'slug' | 'semver' | 'url' | 'hostname' | 'email';
133
+ export interface PluginConfigPreset<Value extends PluginConfigValue = PluginConfigValue> {
134
+ id: string;
135
+ title: string;
136
+ description?: string;
137
+ value: Value;
138
+ recommended?: true;
139
+ }
140
+ export interface PluginConfigChoices<Value extends PluginConfigValue = PluginConfigValue> {
141
+ allowCustom: boolean;
142
+ presets: PluginConfigPreset<Value>[];
143
+ }
144
+ export interface PluginConfigStringValidation {
145
+ minLength?: number;
146
+ maxLength?: number;
147
+ pattern?: string;
148
+ format?: PluginConfigStringFormat;
149
+ }
150
+ export interface PluginConfigNumberValidation {
151
+ integer?: boolean;
152
+ minimum?: number;
153
+ maximum?: number;
154
+ multipleOf?: number;
155
+ }
156
+ export interface PluginConfigObjectValidation {
157
+ minProperties?: number;
158
+ maxProperties?: number;
159
+ key?: PluginConfigStringValidation;
160
+ }
161
+ export interface PluginConfigFieldBase<Value extends PluginConfigValue> {
135
162
  title?: string;
136
163
  description?: string;
137
- default?: string | number | boolean;
164
+ default?: Value;
138
165
  required?: boolean;
139
- sensitive?: boolean;
140
- values?: string[];
141
- min?: number;
142
- max?: number;
166
+ sensitive?: never;
167
+ }
168
+ interface PluginConfigPlainStringField extends Omit<PluginConfigFieldBase<string>, 'sensitive'> {
169
+ type: 'string';
170
+ sensitive?: false;
171
+ choices?: PluginConfigChoices<string>;
172
+ validation?: PluginConfigStringValidation;
173
+ }
174
+ interface PluginConfigSensitiveStringField extends Omit<PluginConfigFieldBase<string>, 'default' | 'sensitive'> {
175
+ type: 'string';
176
+ sensitive: true;
177
+ default?: never;
178
+ choices?: never;
179
+ validation?: PluginConfigStringValidation;
180
+ }
181
+ export type PluginConfigStringField = PluginConfigPlainStringField | PluginConfigSensitiveStringField;
182
+ export interface PluginConfigNumberField extends PluginConfigFieldBase<number> {
183
+ type: 'number';
184
+ choices?: PluginConfigChoices<number>;
185
+ validation?: PluginConfigNumberValidation;
186
+ }
187
+ export interface PluginConfigBooleanField extends PluginConfigFieldBase<boolean> {
188
+ type: 'boolean';
189
+ choices?: PluginConfigChoices<boolean>;
190
+ }
191
+ export type PluginConfigScalarField = PluginConfigStringField | PluginConfigNumberField | PluginConfigBooleanField;
192
+ type DistributiveOmit<Value, Key extends PropertyKey> = Value extends unknown ? Omit<Value, Key> : never;
193
+ type PluginConfigNonSensitiveScalarField = PluginConfigPlainStringField | PluginConfigNumberField | PluginConfigBooleanField;
194
+ export type PluginConfigObjectPropertyField = DistributiveOmit<PluginConfigNonSensitiveScalarField, 'default' | 'sensitive'> & {
195
+ sensitive?: never;
196
+ };
197
+ export type PluginConfigAdditionalPropertiesField = DistributiveOmit<PluginConfigNonSensitiveScalarField, 'default' | 'required' | 'sensitive'> & {
198
+ sensitive?: never;
199
+ };
200
+ interface PluginConfigObjectFieldBase extends PluginConfigFieldBase<PluginConfigObject> {
201
+ type: 'object';
202
+ choices?: PluginConfigChoices<PluginConfigObject>;
203
+ validation?: PluginConfigObjectValidation;
204
+ }
205
+ export interface PluginConfigFixedObjectField extends PluginConfigObjectFieldBase {
206
+ properties: Record<string, PluginConfigObjectPropertyField>;
207
+ additionalProperties?: false;
143
208
  }
144
- export type PluginConfigPresentationValue = string | number | boolean;
209
+ export interface PluginConfigKeyValueObjectField extends PluginConfigObjectFieldBase {
210
+ properties?: never;
211
+ additionalProperties: PluginConfigAdditionalPropertiesField;
212
+ }
213
+ export type PluginConfigObjectField = PluginConfigFixedObjectField | PluginConfigKeyValueObjectField;
214
+ export type PluginConfigSchemaField = PluginConfigScalarField | PluginConfigObjectField;
145
215
  export interface PluginConfigPresentationGroup {
146
216
  id: string;
147
217
  title: string;
@@ -149,28 +219,23 @@ export interface PluginConfigPresentationGroup {
149
219
  fields: string[];
150
220
  advanced?: boolean;
151
221
  }
152
- export interface PluginConfigPresentationField {
153
- valueLabels?: Record<string, string>;
154
- recommendedValue?: PluginConfigPresentationValue;
155
- placeholder?: string;
156
- unit?: string;
157
- advanced?: boolean;
158
- }
159
- export interface PluginConfigPresentationPreset {
160
- id: string;
161
- title: string;
162
- description?: string;
163
- values: Record<string, PluginConfigPresentationValue>;
164
- }
165
222
  export interface PluginConfigPresentation {
166
223
  groups?: PluginConfigPresentationGroup[];
167
- fields?: Record<string, PluginConfigPresentationField>;
168
- presets?: PluginConfigPresentationPreset[];
169
224
  }
170
- export interface PluginConfigSchema {
171
- schema: Record<string, PluginConfigSchemaField>;
225
+ export interface PluginConfigDefinition {
226
+ fields: Record<string, PluginConfigSchemaField>;
172
227
  presentation?: PluginConfigPresentation;
173
228
  }
229
+ export type PluginConfigSchema = PluginConfigDefinition;
230
+ export interface PluginConfigValidationIssue {
231
+ code: string;
232
+ path: {
233
+ field: string;
234
+ property?: string;
235
+ };
236
+ message: string;
237
+ recoverable: true;
238
+ }
174
239
  export interface PlatformAgentOverrides<T> {
175
240
  claude?: Partial<T> | null;
176
241
  codex?: Partial<T> | null;
@@ -239,6 +304,15 @@ export interface PluginExtensions {
239
304
  agents?: AgentDefinition[];
240
305
  }
241
306
  export type ArtifactState = 'present' | 'disabled';
307
+ export interface CodexNativeSkillDelivery {
308
+ mode: 'codex-native';
309
+ identity: 'shared';
310
+ renderProfile: 'user';
311
+ }
312
+ export interface AwExtensionSkillDelivery {
313
+ mode: 'aw-extension';
314
+ }
315
+ export type CodexSkillDelivery = CodexNativeSkillDelivery | AwExtensionSkillDelivery;
242
316
  export type ArtifactTarget = 'codex.developerInstructionsBlock' | 'codex.agentRole' | 'codex.skill' | 'claude.skill' | 'agent-skills.skill';
243
317
  export type DynamicArtifactKind = 'instruction' | 'codexRole' | 'skill';
244
318
  export type ManagedArtifactId = string;
@@ -250,14 +324,15 @@ export interface ArtifactRuntimeImportDefinition extends BuildConfigImportRefere
250
324
  providerPluginId: PluginId;
251
325
  providerVersion: PluginVersion;
252
326
  source: string;
327
+ requiredCapabilities: string[];
328
+ capabilitySetDigest: string;
253
329
  };
254
330
  }
255
- export interface PluginArtifactTargetDefinition {
331
+ interface PluginArtifactTargetDefinitionBase {
256
332
  id: string;
257
333
  platform?: PlatformName;
258
334
  distribution?: DistributionName;
259
335
  scopes: Scope[];
260
- target: ArtifactTarget;
261
336
  kind?: DynamicArtifactKind;
262
337
  projectManagedKind?: CodexProjectManagedKind;
263
338
  states: ArtifactState[];
@@ -268,6 +343,13 @@ export interface PluginArtifactTargetDefinition {
268
343
  sourceDirs?: string[];
269
344
  runtimeImports?: ArtifactRuntimeImportDefinition[];
270
345
  }
346
+ export type PluginArtifactTargetDefinition = PluginArtifactTargetDefinitionBase & {
347
+ target: 'codex.skill';
348
+ delivery: CodexSkillDelivery;
349
+ } | PluginArtifactTargetDefinitionBase & {
350
+ target: Exclude<ArtifactTarget, 'codex.skill'>;
351
+ delivery?: never;
352
+ };
271
353
  export interface PluginArtifactsConfig {
272
354
  targets?: PluginArtifactTargetDefinition[];
273
355
  }
@@ -277,15 +359,14 @@ export interface PluginAgentSkillsDistribution {
277
359
  export interface PluginDistributionsConfig {
278
360
  agentSkills?: PluginAgentSkillsDistribution;
279
361
  }
280
- export interface PluginCompatibility {
362
+ export interface PluginRequirements {
281
363
  aw: {
282
- minVersion: CliVersion;
364
+ capabilities?: string[];
283
365
  };
284
366
  }
285
- export type PluginManifestSource = PluginManifestSourceV1;
286
- export type NormalizedPluginManifest = Omit<PluginManifestSourceV1, 'schemaVersion' | 'compatibility' | 'extensions' | 'artifacts' | 'buildConfig' | 'scripts' | 'config'> & {
287
- schemaVersion: 1;
288
- compatibility: PluginCompatibility;
367
+ export type PluginManifestSource = PluginManifestSourceV3;
368
+ export type NormalizedPluginManifest = Omit<PluginManifestSourceV3, 'requires' | 'extensions' | 'artifacts' | 'buildConfig' | 'scripts' | 'config'> & {
369
+ requires?: PluginRequirements;
289
370
  extensions?: PluginExtensions;
290
371
  artifacts?: PluginArtifactsConfig;
291
372
  buildConfig?: BuildConfig;
@@ -295,6 +376,7 @@ export type NormalizedPluginManifest = Omit<PluginManifestSourceV1, 'schemaVersi
295
376
  export interface PluginMeta {
296
377
  sourceId?: CatalogSourceId;
297
378
  sourceIdentity?: SourceIdentity;
379
+ catalogLogicalIdentity?: string;
298
380
  pluginId?: PluginId;
299
381
  marketplaceName?: string;
300
382
  rootDir: string;
@@ -326,12 +408,13 @@ export interface CatalogManifestEntry {
326
408
  tags?: string[];
327
409
  strict: boolean;
328
410
  policy: MarketplacePolicy;
329
- compatibility: PluginCompatibility;
411
+ dependencies: PluginId[];
412
+ requires: PluginRequirements;
330
413
  source: string;
331
414
  artifactDigest: string;
332
415
  manifestDigest: string;
333
416
  }
334
- export interface CatalogManifestV4Entry extends CatalogManifestEntry {
417
+ export interface CatalogManifestV7Entry extends CatalogManifestEntry {
335
418
  name: PluginId;
336
419
  contentDigest: string;
337
420
  }
@@ -339,29 +422,25 @@ export interface CatalogMarketplaceIdentity {
339
422
  owner: MarketplaceOwner;
340
423
  interface: MarketplaceInterfaceMeta;
341
424
  }
342
- export type CatalogManifestV4Release = {
425
+ export type CatalogManifestV7Release = {
343
426
  state: 'development';
344
427
  } | {
345
428
  state: 'published';
346
- targetVersion: string;
347
- planId: string;
348
429
  sourceHead: string;
349
- contentDigest: string;
350
430
  };
351
- export interface CatalogManifestV4 {
352
- schemaVersion: 4;
431
+ export interface CatalogManifestV7 {
432
+ schemaVersion: 7;
353
433
  catalogVersion: string;
354
434
  channel: CatalogChannel;
355
- compatibility: PluginCompatibility;
435
+ requires: PluginRequirements;
356
436
  marketplace: CatalogMarketplaceIdentity;
357
- release: CatalogManifestV4Release;
358
- entries: CatalogManifestV4Entry[];
437
+ release: CatalogManifestV7Release;
438
+ entries: CatalogManifestV7Entry[];
359
439
  }
360
440
  export interface PlatformPluginManifest {
361
441
  name: string;
362
442
  version: PluginVersion;
363
443
  description: string;
364
- compatibility: PluginCompatibility;
365
444
  skills?: string;
366
445
  mcpServers?: string;
367
446
  apps?: string;
@@ -426,3 +505,4 @@ export interface ClaudeSkillArtifact extends ArtifactPlanArtifactBase {
426
505
  files?: Record<string, string>;
427
506
  };
428
507
  }
508
+ export {};
@@ -1,14 +1,13 @@
1
- import { type PluginReleaseLedger } from './plugin-release.js';
2
1
  import type { ReservedImportRegistry } from './manifest-contract.js';
3
- import type { CatalogChannel, CatalogManifestV4, MarketplaceSourceMeta, PluginMeta } from './types.js';
4
- export declare const DEFAULT_WORKSPACE_CATALOG_VERSION = "0.1.0";
2
+ import type { CatalogChannel, CatalogManifestV7, CatalogManifestV7Entry, MarketplaceSourceMeta, PluginMeta } from './types.js';
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;
7
6
  export declare const DEFAULT_PLUGIN_OUTPUT_PATH: string;
8
7
  export declare const CATALOG_MANIFEST_FILENAME = "catalog-manifest.json";
9
8
  export declare const GENERATED_OUTPUT_MARKER_FILENAME = ".aw-generated.json";
10
- export declare const WORKSPACE_MARKER_FILENAME = ".aw-workspace.json";
11
- export interface WorkspaceCatalogInitOptions {
9
+ export declare const CATALOG_WORKSPACE_MARKER_FILENAME = ".aw-workspace.json";
10
+ export interface CatalogWorkspaceInitOptions {
12
11
  workspaceRoot: string;
13
12
  ownerName?: string;
14
13
  ownerUrl?: string;
@@ -16,7 +15,7 @@ export interface WorkspaceCatalogInitOptions {
16
15
  catalogVersion?: string;
17
16
  force?: boolean;
18
17
  }
19
- export interface WorkspacePluginBuildAdapter {
18
+ export interface CatalogWorkspacePluginBuildAdapter {
20
19
  build(options: {
21
20
  workspaceRoot: string;
22
21
  plugin: PluginMeta;
@@ -25,11 +24,24 @@ export interface WorkspacePluginBuildAdapter {
25
24
  outputRoot: string;
26
25
  }): Promise<void>;
27
26
  }
28
- export type WorkspaceCatalogBuildAdapter = WorkspacePluginBuildAdapter;
29
- export interface WorkspaceSourceOptions {
27
+ export type CatalogWorkspaceBuildAdapter = CatalogWorkspacePluginBuildAdapter;
28
+ export interface CatalogWorkspaceSourceOptions {
30
29
  reservedImports?: ReservedImportRegistry;
31
30
  }
32
- export declare function resolveWorkspaceOutputPath(options: {
31
+ export type CatalogVersionBump = 'major' | 'minor' | 'patch';
32
+ export interface CatalogVersionMutation {
33
+ version?: string;
34
+ bump?: CatalogVersionBump;
35
+ }
36
+ export interface CatalogWorkspace {
37
+ workspaceRoot: string;
38
+ markerPath: string;
39
+ workspaceIdentity: string;
40
+ metadataPath: string;
41
+ metadata: MarketplaceSourceMeta;
42
+ plugins: PluginMeta[];
43
+ }
44
+ export declare function resolveCatalogWorkspaceOutputPath(options: {
33
45
  workspaceRoot: string;
34
46
  outputPath: string;
35
47
  kind?: 'catalog' | 'plugin';
@@ -37,24 +49,27 @@ export declare function resolveWorkspaceOutputPath(options: {
37
49
  workspaceRoot: string;
38
50
  outputRoot: string;
39
51
  }>;
40
- export declare function initializePluginWorkspace(options: WorkspaceCatalogInitOptions): Promise<{
41
- workspaceRoot: string;
42
- metadataPath: string;
43
- metadata: MarketplaceSourceMeta;
52
+ export declare function readCatalogWorkspaceMarker(workspaceRoot: string): Promise<{
53
+ markerPath: string;
54
+ workspaceIdentity: string;
44
55
  }>;
45
- export declare function readPluginWorkspace(workspaceRoot: string, options?: WorkspaceSourceOptions): Promise<{
56
+ export declare function initializeCatalogWorkspace(options: CatalogWorkspaceInitOptions): Promise<{
46
57
  workspaceRoot: string;
58
+ markerPath: string;
59
+ workspaceIdentity: string;
47
60
  metadataPath: string;
48
61
  metadata: MarketplaceSourceMeta;
49
- plugins: PluginMeta[];
50
62
  }>;
51
- export declare function setWorkspaceCatalogVersion(workspaceRoot: string, version: string, options?: WorkspaceSourceOptions): Promise<MarketplaceSourceMeta>;
63
+ export declare function readCatalogWorkspace(workspaceRoot: string, options?: CatalogWorkspaceSourceOptions): Promise<CatalogWorkspace>;
64
+ export declare function resolveCatalogVersionMutation(currentVersion: string, mutation: CatalogVersionMutation): string;
65
+ export declare function mutateCatalogWorkspaceVersion(workspaceRoot: string, mutation: CatalogVersionMutation, options?: CatalogWorkspaceSourceOptions): Promise<MarketplaceSourceMeta>;
52
66
  export declare function deriveCatalogChannel(version: string): CatalogChannel;
53
- export declare function buildWorkspaceCatalog(options: {
67
+ export declare function calculateCatalogWorkspaceSourceIdentity(workspace: Pick<CatalogWorkspace, 'workspaceRoot' | 'metadataPath' | 'plugins'>): Promise<string>;
68
+ export declare function buildCatalogWorkspace(options: {
54
69
  workspaceRoot: string;
55
70
  outputPath?: string;
56
71
  force?: boolean;
57
- adapter: WorkspaceCatalogBuildAdapter;
72
+ adapter: CatalogWorkspaceBuildAdapter;
58
73
  reservedImports?: ReservedImportRegistry;
59
74
  }): Promise<{
60
75
  outputRoot: string;
@@ -64,16 +79,16 @@ export declare function buildWorkspaceCatalog(options: {
64
79
  }>;
65
80
  export declare function validatePublishedCatalogSnapshot(snapshotDirectory: string): Promise<{
66
81
  rootDir: string;
67
- manifest: CatalogManifestV4;
68
- ledger: PluginReleaseLedger;
82
+ manifest: CatalogManifestV7;
69
83
  snapshotDigest: string;
70
84
  }>;
71
- export declare function preparePublishedWorkspaceCatalog(options: {
85
+ export declare function preparePublishedCatalogWorkspace(options: {
72
86
  workspaceRoot: string;
73
87
  sourceHead: string;
74
88
  outputPath?: string;
75
89
  previousSnapshotRoot?: string;
76
- adapter: WorkspaceCatalogBuildAdapter;
90
+ historicalPluginEntries?: readonly CatalogManifestV7Entry[];
91
+ adapter: CatalogWorkspaceBuildAdapter;
77
92
  reservedImports?: ReservedImportRegistry;
78
93
  }): Promise<{
79
94
  outputRoot: string;
@@ -81,15 +96,13 @@ export declare function preparePublishedWorkspaceCatalog(options: {
81
96
  channel: CatalogChannel;
82
97
  pluginNames: string[];
83
98
  snapshotDigest: string;
84
- contentDigest: string;
85
- planId: string;
86
99
  }>;
87
- export declare function buildWorkspacePlugin(options: {
100
+ export declare function buildCatalogWorkspacePlugin(options: {
88
101
  workspaceRoot: string;
89
102
  pluginDirectory: string;
90
103
  outputPath?: string;
91
104
  force?: boolean;
92
- adapter: WorkspacePluginBuildAdapter;
105
+ adapter: CatalogWorkspacePluginBuildAdapter;
93
106
  reservedImports?: ReservedImportRegistry;
94
107
  }): Promise<{
95
108
  outputRoot: string;
@@ -97,9 +110,21 @@ export declare function buildWorkspacePlugin(options: {
97
110
  dependencies: string[];
98
111
  digest: string;
99
112
  }>;
100
- export declare function validateCatalogSnapshot(snapshotDirectory: string): Promise<{
113
+ export declare function validatePublishedCatalogSnapshotMetadata(snapshotDirectory: string): Promise<{
101
114
  rootDir: string;
102
- manifest: CatalogManifestV4;
103
- ledger?: PluginReleaseLedger;
115
+ workspaceIdentity: string;
116
+ manifest: CatalogManifestV7;
117
+ }>;
118
+ export declare function validateCatalogSnapshotTransport(snapshotDirectory: string): Promise<{
119
+ rootDir: string;
120
+ manifest: CatalogManifestV7;
104
121
  snapshotDigest: string;
105
122
  }>;
123
+ type CatalogSnapshotValidationResult = {
124
+ rootDir: string;
125
+ manifest: CatalogManifestV7;
126
+ snapshotDigest: string;
127
+ };
128
+ export declare function validateCatalogSnapshotPluginEntriesComplete(snapshotDirectory: string, pluginNames: readonly string[]): Promise<CatalogSnapshotValidationResult>;
129
+ export declare function validateCatalogSnapshotComplete(snapshotDirectory: string): Promise<CatalogSnapshotValidationResult>;
130
+ export {};