@lesliechan721/aw 0.1.0-beta.4 → 0.1.0-beta.6

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 (99) hide show
  1. package/dist/authoring/scripts/lib/plugin-version-check.d.mts +14 -0
  2. package/dist/authoring/scripts/lib/plugin-version-check.mjs +10 -224
  3. package/dist/authoring/scripts/lib/plugin-version-check.mjs.map +1 -1
  4. package/dist/authoring/scripts/remove-plugin.d.mts +2 -0
  5. package/dist/authoring/scripts/remove-plugin.mjs +366 -0
  6. package/dist/authoring/scripts/remove-plugin.mjs.map +1 -0
  7. package/dist/authoring/scripts/validate-plugin.mjs +9 -46
  8. package/dist/authoring/scripts/validate-plugin.mjs.map +1 -1
  9. package/dist/scripts/bundle-plugins.d.ts +0 -2
  10. package/dist/scripts/bundle-plugins.js +4 -2
  11. package/dist/scripts/bundle-plugins.js.map +1 -1
  12. package/dist/scripts/plugin-staging.d.ts +1 -16
  13. package/dist/scripts/plugin-staging.js +8 -115
  14. package/dist/scripts/plugin-staging.js.map +1 -1
  15. package/dist/src/authoring/workspace-commands.d.ts +9 -1
  16. package/dist/src/authoring/workspace-commands.js +24 -16
  17. package/dist/src/authoring/workspace-commands.js.map +1 -1
  18. package/dist/src/commands/catalog-publication-inspection.d.ts +106 -0
  19. package/dist/src/commands/catalog-publication-inspection.js +444 -0
  20. package/dist/src/commands/catalog-publication-inspection.js.map +1 -0
  21. package/dist/src/commands/catalog-publish.d.ts +18 -2
  22. package/dist/src/commands/catalog-publish.js +261 -316
  23. package/dist/src/commands/catalog-publish.js.map +1 -1
  24. package/dist/src/commands/catalog-status.d.ts +60 -0
  25. package/dist/src/commands/catalog-status.js +251 -0
  26. package/dist/src/commands/catalog-status.js.map +1 -0
  27. package/dist/src/commands/plugin-capabilities.d.ts +22 -0
  28. package/dist/src/commands/plugin-capabilities.js +143 -0
  29. package/dist/src/commands/plugin-capabilities.js.map +1 -0
  30. package/dist/src/commands/rebuild-command.d.ts +2 -0
  31. package/dist/src/commands/rebuild-command.js +37 -6
  32. package/dist/src/commands/rebuild-command.js.map +1 -1
  33. package/dist/src/commands/rebuild-integration.d.ts +1 -0
  34. package/dist/src/commands/rebuild-integration.js +55 -57
  35. package/dist/src/commands/rebuild-integration.js.map +1 -1
  36. package/dist/src/commands/status-v4.d.ts +21 -0
  37. package/dist/src/commands/status-v4.js +63 -2
  38. package/dist/src/commands/status-v4.js.map +1 -1
  39. package/dist/src/index.js +79 -18
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/tui/components.d.ts +70 -0
  42. package/dist/src/tui/components.js +149 -6
  43. package/dist/src/tui/components.js.map +1 -1
  44. package/dist/src/tui/console-app-v4.js +1660 -628
  45. package/dist/src/tui/console-app-v4.js.map +1 -1
  46. package/dist/src/tui/controller-runtime.d.ts +5 -1
  47. package/dist/src/tui/controller-runtime.js +184 -33
  48. package/dist/src/tui/controller-runtime.js.map +1 -1
  49. package/dist/src/tui/controller.d.ts +35 -2
  50. package/dist/src/tui/controller.js +300 -39
  51. package/dist/src/tui/controller.js.map +1 -1
  52. package/dist/src/tui/diagnostics.d.ts +31 -0
  53. package/dist/src/tui/diagnostics.js +71 -0
  54. package/dist/src/tui/diagnostics.js.map +1 -0
  55. package/dist/src/tui/index.d.ts +5 -3
  56. package/dist/src/tui/index.js +3 -1
  57. package/dist/src/tui/index.js.map +1 -1
  58. package/dist/src/tui/model.d.ts +33 -4
  59. package/dist/src/tui/model.js +252 -17
  60. package/dist/src/tui/model.js.map +1 -1
  61. package/dist/src/tui/router.d.ts +15 -9
  62. package/dist/src/tui/router.js +35 -0
  63. package/dist/src/tui/router.js.map +1 -1
  64. package/dist/src/tui/theme.d.ts +18 -10
  65. package/dist/src/tui/theme.js +18 -10
  66. package/dist/src/tui/theme.js.map +1 -1
  67. package/dist/src/tui/viewport.d.ts +20 -0
  68. package/dist/src/tui/viewport.js +29 -0
  69. package/dist/src/tui/viewport.js.map +1 -0
  70. package/dist/src/utils/catalog-runtime-projection.d.ts +1 -7
  71. package/dist/src/utils/catalog-runtime-projection.js +2 -62
  72. package/dist/src/utils/catalog-runtime-projection.js.map +1 -1
  73. package/dist/src/utils/catalog-source-cache.d.ts +12 -11
  74. package/dist/src/utils/catalog-source-cache.js +20 -0
  75. package/dist/src/utils/catalog-source-cache.js.map +1 -1
  76. package/dist/src/utils/dynamic-skill-tree.js +1 -1
  77. package/dist/src/utils/dynamic-skill-tree.js.map +1 -1
  78. package/dist/src/utils/git-catalog-provider.js +1 -1
  79. package/dist/src/utils/git-catalog-provider.js.map +1 -1
  80. package/dist/src/utils/manifest.d.ts +0 -1
  81. package/dist/src/utils/manifest.js +0 -1
  82. package/dist/src/utils/manifest.js.map +1 -1
  83. package/dist/src/utils/plugin-config.js +28 -30
  84. package/dist/src/utils/plugin-config.js.map +1 -1
  85. package/dist/src/utils/skill-validation.d.ts +1 -1
  86. package/dist/src/utils/skill-validation.js +1 -1
  87. package/dist/src/utils/skill-validation.js.map +1 -1
  88. package/dist/src/utils/state-paths.d.ts +1 -0
  89. package/dist/src/utils/state-paths.js +5 -0
  90. package/dist/src/utils/state-paths.js.map +1 -1
  91. package/package.json +3 -4
  92. package/dist/src/utils/plugin-authoring-capabilities.d.ts +0 -23
  93. package/dist/src/utils/plugin-authoring-capabilities.js +0 -37
  94. package/dist/src/utils/plugin-authoring-capabilities.js.map +0 -1
  95. package/dist/src/utils/plugin-authoring-capabilities.json +0 -92
  96. package/dist/src/utils/skill-frontmatter-capabilities.d.ts +0 -201
  97. package/dist/src/utils/skill-frontmatter-capabilities.js +0 -5
  98. package/dist/src/utils/skill-frontmatter-capabilities.js.map +0 -1
  99. package/dist/src/utils/skill-frontmatter-capabilities.json +0 -200
@@ -61,6 +61,25 @@ export interface StatusV4Payload {
61
61
  message: string;
62
62
  }>;
63
63
  }
64
+ export type TargetRevisionState = {
65
+ state: 'current';
66
+ availableVersion: string;
67
+ installedVersion?: string;
68
+ } | {
69
+ state: 'upgradeAvailable';
70
+ availableVersion: string;
71
+ installedVersion?: string;
72
+ } | {
73
+ state: 'unknown';
74
+ availableVersion?: string;
75
+ installedVersion?: string;
76
+ };
77
+ export interface StatusTargetRevision {
78
+ pluginId: string;
79
+ platform: PlatformName;
80
+ scope: Scope;
81
+ revision: TargetRevisionState;
82
+ }
64
83
  export interface StatusV4PluginSummary {
65
84
  pluginName: string;
66
85
  pluginId: string;
@@ -85,6 +104,7 @@ export interface StatusV4PluginSummary {
85
104
  dependencyIssueCount?: number;
86
105
  }
87
106
  export declare function setStatusDependencyInspectionHookForTests(hook: (() => void) | undefined): void;
107
+ export declare function projectTargetRevision(availableVersion: string | undefined, installedVersion: string | undefined): TargetRevisionState;
88
108
  export declare function statusCommandV4(options: {
89
109
  plugins?: string[];
90
110
  cwd: string;
@@ -99,4 +119,5 @@ export declare function statusCommandV4(options: {
99
119
  output: string;
100
120
  hasErrors: boolean;
101
121
  pluginSummaries: StatusV4PluginSummary[];
122
+ targetRevisions: StatusTargetRevision[];
102
123
  }>;
@@ -6,7 +6,7 @@ import { calculateCatalogSourceIdentity } from '../utils/catalog-source-identity
6
6
  import { canonicalMarketplaceRegistrationNames, inventoryCatalogSourceReferences, inventoryLegacyOwnerReferences, } from '../utils/catalog-source-references.js';
7
7
  import { readCatalogSourcesConfigSnapshot, resolveCatalogSourceRef } from '../utils/catalog-sources.js';
8
8
  import { formatPluginId, parsePluginId, planPluginSelectorSourceIds, withResolvedMultiSourceCatalog, } from '../utils/multi-source-catalog.js';
9
- import { assertStrictSemVer, readPluginManifest } from '../utils/manifest.js';
9
+ import { assertStrictSemVer, compareStrictSemVer, readPluginManifest, tryParseStrictSemVer, } from '../utils/manifest.js';
10
10
  import { resolveCliPackageRoot } from '../utils/paths.js';
11
11
  import { supportsPlatform } from '../utils/platform-support.js';
12
12
  import { parsePlatformValue, parseScopeValue } from './options.js';
@@ -15,7 +15,7 @@ import { createNoopReporter } from '../output/reporter.js';
15
15
  import { createNoopDebugLogger } from '../output/debug-log.js';
16
16
  import { getDefaultNativeCliRunner } from '../utils/native-cli.js';
17
17
  import { resolveAwHome } from '../utils/paths.js';
18
- import { createProjectLocationKey, getClaudeHome, getCodexHome, resolveCanonicalRepoProjectKey, } from '../utils/state-paths.js';
18
+ import { codexProjectConfigAliasesUserHome, createProjectLocationKey, getClaudeHome, getCodexHome, resolveCanonicalRepoProjectKey, } from '../utils/state-paths.js';
19
19
  import { resolveEffectivePluginConfig } from '../utils/plugin-config.js';
20
20
  let dependencyInspectionHookForTests;
21
21
  export function setStatusDependencyInspectionHookForTests(hook) {
@@ -89,6 +89,23 @@ function projectedLiveState(options) {
89
89
  return 'present';
90
90
  return options.optional.some((component) => options.inspection.components.some((entry) => entry.component === component && entry.state === 'present')) ? 'present' : 'absent';
91
91
  }
92
+ export function projectTargetRevision(availableVersion, installedVersion) {
93
+ if (!availableVersion || !installedVersion
94
+ || !tryParseStrictSemVer(availableVersion)
95
+ || !tryParseStrictSemVer(installedVersion)) {
96
+ return {
97
+ state: 'unknown',
98
+ ...(availableVersion ? { availableVersion } : {}),
99
+ ...(installedVersion ? { installedVersion } : {}),
100
+ };
101
+ }
102
+ const relation = compareStrictSemVer(installedVersion, availableVersion);
103
+ if (relation === 0)
104
+ return { state: 'current', availableVersion, installedVersion };
105
+ if (relation < 0)
106
+ return { state: 'upgradeAvailable', availableVersion, installedVersion };
107
+ return { state: 'unknown', availableVersion, installedVersion };
108
+ }
92
109
  function renderStatusV4(payload, verbose) {
93
110
  const lines = [`Catalog sources: ${payload.catalog.sources.length}`];
94
111
  for (const source of payload.catalog.sources) {
@@ -120,6 +137,7 @@ export async function statusCommandV4(options) {
120
137
  const snapshot = await readCatalogSourcesConfigSnapshot(env);
121
138
  const currentProjectKey = await resolveCanonicalRepoProjectKey(options.cwd);
122
139
  const currentProjectLocationKey = createProjectLocationKey(currentProjectKey);
140
+ const codexScopePathsAlias = codexProjectConfigAliasesUserHome(options.cwd, env);
123
141
  const inventoryErrors = [];
124
142
  const ownerInventory = await inventoryCatalogSourceReferences({ cwd: options.cwd, env }).catch(async (error) => {
125
143
  inventoryErrors.push(projectStateInventoryError(error, env, options.cwd));
@@ -136,6 +154,12 @@ export async function statusCommandV4(options) {
136
154
  relevance: error.relevance,
137
155
  });
138
156
  }
157
+ const hasCurrentCodexProjectOwner = (sourceId, pluginName) => ownerInventory.references.some((reference) => reference.kind === 'namespacedOwner'
158
+ && reference.sourceId === sourceId
159
+ && reference.pluginName === pluginName
160
+ && reference.platform === 'codex'
161
+ && reference.scope === 'project'
162
+ && reference.projectKey === currentProjectKey);
139
163
  const configured = new Map(snapshot.config.sources.map((source) => [source.id, source]));
140
164
  const requested = options.plugins ?? [];
141
165
  const platforms = selectedPlatforms(options.platform);
@@ -293,6 +317,11 @@ export async function statusCommandV4(options) {
293
317
  for (const platform of ['codex', 'claude']) {
294
318
  states[platform] = {};
295
319
  for (const scope of ['user', 'project']) {
320
+ if (platform === 'codex'
321
+ && scope === 'project'
322
+ && codexScopePathsAlias
323
+ && !hasCurrentCodexProjectOwner(item.resolution.sourceId, entry.name))
324
+ continue;
296
325
  const supported = platform === 'claude'
297
326
  ? claude
298
327
  : codex && (scope === 'user' || hasCodexProjectManagedArtifacts(plugin));
@@ -457,6 +486,9 @@ export async function statusCommandV4(options) {
457
486
  };
458
487
  })
459
488
  : [],
489
+ ...(inspected.installedVersion
490
+ ? { installedVersion: inspected.installedVersion }
491
+ : {}),
460
492
  };
461
493
  }
462
494
  catch (error) {
@@ -595,6 +627,21 @@ export async function statusCommandV4(options) {
595
627
  cwd: path.resolve(options.cwd),
596
628
  components: [],
597
629
  };
630
+ if (platform === 'codex'
631
+ && scope === 'project'
632
+ && codexScopePathsAlias
633
+ && !hasCurrentCodexProjectOwner(entry.source.id, entry.name)) {
634
+ if (options.scope !== 'project')
635
+ return [];
636
+ return [{
637
+ ...target,
638
+ state: 'error',
639
+ errors: [{
640
+ code: 'codexScopePathAlias',
641
+ message: 'codexScopePathAlias: Codex project config resolves to the user config directory. Run this command from an actual project directory.',
642
+ }],
643
+ }];
644
+ }
598
645
  if (entry.targets[platform][scope]) {
599
646
  const live = entry.states[platform]?.[scope];
600
647
  const dependencyIssueCount = (live?.errors ?? []).filter((error) => error.code.startsWith('dependency') || error.code === 'sourceChanged').length;
@@ -773,6 +820,19 @@ export async function statusCommandV4(options) {
773
820
  ...target,
774
821
  errors: target.errors.map((error) => projectTargetError(error, env, options.cwd)),
775
822
  }));
823
+ const selectedByPluginId = new Map(selected.map((entry) => [
824
+ formatPluginId({ sourceId: entry.source.id, pluginName: entry.name }),
825
+ entry,
826
+ ]));
827
+ const targetRevisions = projectedTargets.map((target) => {
828
+ const entry = selectedByPluginId.get(target.pluginId);
829
+ return {
830
+ pluginId: target.pluginId,
831
+ platform: target.platform,
832
+ scope: target.scope,
833
+ revision: projectTargetRevision(entry?.version, entry?.states[target.platform]?.[target.scope]?.installedVersion),
834
+ };
835
+ });
776
836
  const payload = {
777
837
  schemaVersion: 4,
778
838
  catalog: {
@@ -802,6 +862,7 @@ export async function statusCommandV4(options) {
802
862
  payload,
803
863
  output: options.json ? JSON.stringify(payload) : renderStatusV4(payload, options.verbose === true),
804
864
  hasErrors,
865
+ targetRevisions,
805
866
  pluginSummaries: available.map((entry) => {
806
867
  const sourceEntries = available.filter((candidate) => candidate.source.id === entry.source.id);
807
868
  const byName = new Map(sourceEntries.map((candidate) => [candidate.name, candidate]));
@@ -1 +1 @@
1
- {"version":3,"file":"status-v4.js","sourceRoot":"","sources":["../../../src/commands/status-v4.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-v4.js","sourceRoot":"","sources":["../../../src/commands/status-v4.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -34,6 +34,8 @@ import { computeReviewComponentDigest, listReviewRecords, parseReviewAttachment,
34
34
  import { resolveRepoRoot } from './utils/state-paths.js';
35
35
  import { runCatalogBuildCommand, runCatalogInitCommand, runCatalogValidateCommand, runCatalogVersionCommand, runPluginBuildCommand, runPluginTestCommand, } from './authoring/workspace-commands.js';
36
36
  import { runCatalogPublishCommand } from './commands/catalog-publish.js';
37
+ import { getCatalogStatus, renderCatalogStatus } from './commands/catalog-status.js';
38
+ import { getPluginCapabilitiesResult, parsePluginCapabilitySurface, renderPluginCapabilities, } from './commands/plugin-capabilities.js';
37
39
  function createDefaultIo() {
38
40
  return {
39
41
  stdout: (text) => process.stdout.write(text),
@@ -674,6 +676,31 @@ export function buildProgram(options = {}) {
674
676
  const plugin = program
675
677
  .command('plugin')
676
678
  .description('Create and validate AW plugin source');
679
+ plugin
680
+ .command('capabilities')
681
+ .description('Show the current plugin authoring capability contract')
682
+ .option('--surface <surface>', 'manifest | build-config | extensions | slash-commands | mcp-apps | config | lifecycle | artifacts')
683
+ .option('--json', 'emit one machine-readable JSON object', false)
684
+ .action((rawOptions) => {
685
+ try {
686
+ const surface = rawOptions.surface === undefined
687
+ ? undefined
688
+ : parsePluginCapabilitySurface(rawOptions.surface);
689
+ const result = getPluginCapabilitiesResult({
690
+ awVersion: resolveCliVersion(),
691
+ ...(surface ? { surface } : {}),
692
+ });
693
+ if (rawOptions.json)
694
+ writeJsonReceipt(io.stdout, result);
695
+ else
696
+ for (const line of renderPluginCapabilities(result))
697
+ writeLine(io.stdout, line);
698
+ }
699
+ catch (error) {
700
+ writeLine(io.stderr, error instanceof Error ? error.message : String(error));
701
+ commandExitState.exitCode = 1;
702
+ }
703
+ });
677
704
  const skill = program
678
705
  .command('skill')
679
706
  .description('Install, materialize, or validate Agent Skills');
@@ -994,7 +1021,7 @@ export function buildProgram(options = {}) {
994
1021
  .option('--version <semver>', 'initial stable plugin version (default: 0.1.0)')
995
1022
  .option('--min-version <semver>', 'compatibility.aw.minVersion')
996
1023
  .option('--catalog-min-version <semver>', 'target catalog compatibility minimum')
997
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1024
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
998
1025
  .option('--no-skills', 'create the plugin without a skills directory')
999
1026
  .option('--with-mcp', 'add a minimal .mcp.json', false)
1000
1027
  .option('--with-apps', 'add a minimal .app.json', false)
@@ -1015,7 +1042,14 @@ export function buildProgram(options = {}) {
1015
1042
  .option('--skill-description <text>', 'Skill goal and discovery description (required)')
1016
1043
  .option('--skill-short-description <text>', 'Skill UI summary (25-64 characters)')
1017
1044
  .option('--skill-invocation <mode>', 'model | manual | claude-model-only (default: model)')
1018
- .option('--workspace-root <path>', 'workspace root (default: current directory)');
1045
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)');
1046
+ plugin
1047
+ .command('remove')
1048
+ .description('Remove one committed and unchanged canonical plugin source tree')
1049
+ .argument('<plugin-name>', 'existing lowercase hyphen-case plugin name')
1050
+ .requiredOption('--workspace-root <path>', 'Catalog Workspace root')
1051
+ .option('--yes', 'confirm plugin source deletion', false)
1052
+ .option('--json', 'emit one schema 1 JSON object', false);
1019
1053
  plugin
1020
1054
  .command('validate')
1021
1055
  .description('Validate one source plugin directory')
@@ -1024,13 +1058,13 @@ export function buildProgram(options = {}) {
1024
1058
  .option('--strict-agent-skills', 'allow only Agent Skills portable core frontmatter', false)
1025
1059
  .option('--claude-skill-profile <profile>', 'minimum | current (default: minimum)')
1026
1060
  .option('--version-base <git-ref>', 'production bundle comparison base (default: HEAD)')
1027
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1061
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1028
1062
  .option('--json', 'emit one machine-readable JSON result', false);
1029
1063
  plugin
1030
1064
  .command('test')
1031
1065
  .description('Run deterministic Node tests declared by one source plugin')
1032
1066
  .argument('<plugin-directory>', 'source plugin directory')
1033
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1067
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1034
1068
  .option('--json', 'emit one machine-readable JSON result', false)
1035
1069
  .action(async (pluginDirectory, rawOptions) => {
1036
1070
  try {
@@ -1053,8 +1087,8 @@ export function buildProgram(options = {}) {
1053
1087
  .command('build')
1054
1088
  .description('Build and inspect one source plugin bundle')
1055
1089
  .argument('<plugin-directory>', 'source plugin directory')
1056
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1057
- .option('--out <path>', 'output path inside the workspace')
1090
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1091
+ .option('--out <path>', 'output path inside the Catalog Workspace')
1058
1092
  .option('--force', 'replace an existing generated output', false)
1059
1093
  .option('--json', 'emit one machine-readable JSON result', false)
1060
1094
  .action(async (pluginDirectory, rawOptions) => {
@@ -1080,10 +1114,10 @@ export function buildProgram(options = {}) {
1080
1114
  .command('status')
1081
1115
  .description('Show current plugin status or compare against an explicit Git base')
1082
1116
  .argument('[plugin-name]', 'one explicit plugin name')
1083
- .option('--all', 'check every current workspace plugin', false)
1117
+ .option('--all', 'check every current Catalog Workspace plugin', false)
1084
1118
  .option('--base <git-ref>', 'explicit Git comparison base')
1085
1119
  .option('--json', 'emit one schema v3 JSON document', false)
1086
- .option('--workspace-root <path>', 'workspace root (default: current directory)');
1120
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)');
1087
1121
  plugin
1088
1122
  .command('check-versions')
1089
1123
  .description('Deprecated alias for plugin status')
@@ -1091,7 +1125,7 @@ export function buildProgram(options = {}) {
1091
1125
  .option('--all', 'check every plugin changed relative to the Git base', false)
1092
1126
  .option('--base <git-ref>', 'explicit Git comparison base')
1093
1127
  .option('--json', 'emit one schema v3 JSON document', false)
1094
- .option('--workspace-root <path>', 'workspace root (default: current directory)');
1128
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)');
1095
1129
  skill
1096
1130
  .command('validate')
1097
1131
  .description('Validate one Agent Skill directory')
@@ -1104,13 +1138,13 @@ export function buildProgram(options = {}) {
1104
1138
  .description('Build and manage catalogs');
1105
1139
  catalog
1106
1140
  .command('init')
1107
- .description('Initialize a local AW plugin workspace')
1108
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1141
+ .description('Initialize a local AW Catalog Workspace')
1142
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1109
1143
  .option('--owner-name <name>', 'catalog owner name')
1110
1144
  .option('--owner-url <url>', 'catalog owner URL')
1111
1145
  .option('--display-name <name>', 'catalog display name')
1112
1146
  .option('--catalog-version <version>', 'initial stable or x.y.z-beta.N catalog version (default: 0.1.0)')
1113
- .option('--force', 'repair a matching managed workspace scaffold', false)
1147
+ .option('--force', 'repair a matching managed Catalog Workspace scaffold', false)
1114
1148
  .option('--json', 'emit one machine-readable JSON result', false)
1115
1149
  .action(async (rawOptions) => {
1116
1150
  try {
@@ -1130,15 +1164,17 @@ export function buildProgram(options = {}) {
1130
1164
  });
1131
1165
  catalog
1132
1166
  .command('version')
1133
- .description('Read or set the workspace catalog version')
1167
+ .description('Read or set the Catalog version')
1134
1168
  .argument('[version]', 'stable or x.y.z-beta.N catalog version')
1135
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1169
+ .option('--bump <level>', 'bump the stable SemVer base: patch, minor, or major')
1170
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1136
1171
  .option('--json', 'emit one machine-readable JSON result', false)
1137
1172
  .action(async (version, rawOptions) => {
1138
1173
  try {
1139
1174
  await runCatalogVersionCommand({
1140
1175
  workspaceRoot: path.resolve(cwd, rawOptions.workspaceRoot ?? '.'),
1141
1176
  version,
1177
+ bump: rawOptions.bump,
1142
1178
  json: rawOptions.json,
1143
1179
  io,
1144
1180
  });
@@ -1154,8 +1190,8 @@ export function buildProgram(options = {}) {
1154
1190
  catalog
1155
1191
  .command('build')
1156
1192
  .description('Build a deterministic development Catalog snapshot')
1157
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1158
- .option('--out <path>', 'output path inside the workspace')
1193
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1194
+ .option('--out <path>', 'output path inside the Catalog Workspace')
1159
1195
  .option('--force', 'replace an existing generated output', false)
1160
1196
  .option('--json', 'emit one machine-readable JSON result', false)
1161
1197
  .action(async (rawOptions) => {
@@ -1197,12 +1233,35 @@ export function buildProgram(options = {}) {
1197
1233
  commandExitState.exitCode = 1;
1198
1234
  }
1199
1235
  });
1236
+ catalog
1237
+ .command('status')
1238
+ .description('Inspect a Catalog Workspace; --preflight executes plugin validation and build code')
1239
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1240
+ .option('--remote <name>', 'configured Git remote name for preflight (default: origin)')
1241
+ .option('--branch <name>', 'dedicated Catalog branch for preflight (default: catalog)')
1242
+ .option('--preflight', 'run publication validation and temporary plugin builds (executes plugin code)', false)
1243
+ .option('--json', 'emit one machine-readable JSON status object', false)
1244
+ .action(async (rawOptions) => {
1245
+ const receipt = await getCatalogStatus({
1246
+ workspaceRoot: path.resolve(cwd, rawOptions.workspaceRoot ?? '.'),
1247
+ remote: rawOptions.remote,
1248
+ branch: rawOptions.branch,
1249
+ preflight: rawOptions.preflight,
1250
+ env,
1251
+ });
1252
+ if (rawOptions.json)
1253
+ writeJsonReceipt(io.stdout, receipt);
1254
+ else
1255
+ io.stdout(renderCatalogStatus(receipt));
1256
+ commandExitState.exitCode = receipt.ok ? 0 : 1;
1257
+ });
1200
1258
  catalog
1201
1259
  .command('publish')
1202
1260
  .description('Publish a versioned Catalog snapshot to a configured Git remote')
1203
- .option('--workspace-root <path>', 'workspace root (default: current directory)')
1261
+ .option('--workspace-root <path>', 'Catalog Workspace root (default: current directory)')
1204
1262
  .option('--remote <name>', 'configured Git remote name (default: origin)')
1205
1263
  .option('--branch <name>', 'dedicated Catalog branch (default: catalog)')
1264
+ .option('--expected-descriptor-digest <digest>', 'required exact descriptor returned by publication preflight')
1206
1265
  .option('-y, --yes', 'confirm publication without a prompt', false)
1207
1266
  .option('--json', 'emit one machine-readable JSON result', false)
1208
1267
  .action(async (rawOptions) => {
@@ -1212,6 +1271,7 @@ export function buildProgram(options = {}) {
1212
1271
  workspaceRoot: path.resolve(cwd, rawOptions.workspaceRoot ?? '.'),
1213
1272
  remote: rawOptions.remote,
1214
1273
  branch: rawOptions.branch,
1274
+ expectedDescriptorDigest: rawOptions.expectedDescriptorDigest,
1215
1275
  yes: rawOptions.yes,
1216
1276
  json: rawOptions.json,
1217
1277
  env,
@@ -2235,7 +2295,7 @@ export async function runCli(argv, options = {}) {
2235
2295
  ...options.io,
2236
2296
  };
2237
2297
  const jsonAuthoringCommand = argv.includes('--json')
2238
- && ((argv[0] === 'catalog' && ['init', 'version', 'build', 'validate', 'publish'].includes(argv[1] ?? ''))
2298
+ && ((argv[0] === 'catalog' && ['init', 'version', 'build', 'validate', 'status', 'publish'].includes(argv[1] ?? ''))
2239
2299
  || (argv[0] === 'plugin' && ['build', 'test'].includes(argv[1] ?? '')))
2240
2300
  ? `${argv[0]}:${argv[1]}`
2241
2301
  : null;
@@ -2243,6 +2303,7 @@ export async function runCli(argv, options = {}) {
2243
2303
  const authoringScriptByCommand = {
2244
2304
  init: 'init-plugin.mjs',
2245
2305
  'add-skill': 'add-skill.mjs',
2306
+ remove: 'remove-plugin.mjs',
2246
2307
  validate: 'validate-plugin.mjs',
2247
2308
  status: 'plugin-status.mjs',
2248
2309
  'check-versions': 'check-plugin-versions.mjs',