@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
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,kBAAkB,CAAA;AAE5D,OAAO,MAAM,MAAM,oCAAoC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAK7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAU,CAAA;AACxD,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAA;AAExD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;IACtB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AACF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAyB,MAAM,CAAC,CAAA;AAE9D,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC5C,MAAM,CAAe;IAE9B,YAAY,OAAe,EAAE,SAAwB,EAAE;QACrD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;QAC1C,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,IAAI,GAAG,CAAA;IAC1C,IACE,KAAK,CAAC,OAAO,KAAK,SAAS;WACxB,CAAC,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,EAChE,CAAC;QACD,OAAO,GAAG,QAAQ,6DAA6D,CAAA;IACjF,CAAC;IACD,OAAO,GAAG,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAc;IAEd,IACE,KAAK,KAAK,IAAI;WACX,OAAO,KAAK,KAAK,QAAQ;WACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WACrB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC;WACpC,KAAqC,CAAC,aAAa,KAAK,8BAA8B,EAC1F,CAAC;QACD,MAAM,IAAI,4BAA4B,CACpC,uDAAuD,8BAA8B,GAAG,CACzF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAA;QACtC,MAAM,IAAI,4BAA4B,CACpC,sCAAsC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC1E,MAAM,CACP,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,KAAc;IAEd,6BAA6B,CAAC,KAAK,CAAC,CAAA;IACpC,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,8BAA8B;KAC9C,CAAA;AACH,CAAC;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,kBAAkB,CAAA;AAE5D,OAAO,MAAM,MAAM,oCAAoC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAK7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAU,CAAA;AACxD,MAAM,CAAC,MAAM,uCAAuC,GAAG,EAAE,CAAA;AAEzD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;IACtB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;CACb,CAAC,CAAA;AACF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAyB,MAAM,CAAC,CAAA;AAE9D,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAC5C,MAAM,CAAe;IAE9B,YAAY,OAAe,EAAE,SAAwB,EAAE;QACrD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;QAC1C,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;CACF;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,IAAI,GAAG,CAAA;IAC1C,IACE,KAAK,CAAC,OAAO,KAAK,SAAS;WACxB,QAAQ,KAAK,UAAU,EAC1B,CAAC;QACD,OAAO,GAAG,QAAQ,6DAA6D,CAAA;IACjF,CAAC;IACD,OAAO,GAAG,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE,CAAA;AACvD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAc;IAEd,IACE,KAAK,KAAK,IAAI;WACX,OAAO,KAAK,KAAK,QAAQ;WACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;WACrB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC;WACpC,KAAqC,CAAC,aAAa,KAAK,8BAA8B,EAC1F,CAAC;QACD,MAAM,IAAI,4BAA4B,CACpC,uDAAuD,8BAA8B,GAAG,CACzF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAA;QACtC,MAAM,IAAI,4BAA4B,CACpC,sCAAsC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC1E,MAAM,CACP,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,KAAc;IAEd,6BAA6B,CAAC,KAAK,CAAC,CAAA;IACpC,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,8BAA8B;KAC9C,CAAA;AACH,CAAC;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oCAAoC,CAAA;AAClD,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,21 @@
1
+ export declare const PLUGIN_AUTHORING_CAPABILITY_SURFACES: readonly ["manifest", "build-config", "extensions", "slash-commands", "mcp-apps", "config", "pre-apply", "artifacts"];
2
+ export type PluginAuthoringCapabilitySurfaceName = (typeof PLUGIN_AUTHORING_CAPABILITY_SURFACES)[number];
3
+ export type PluginAuthoringAcceptedValue = string | number | boolean;
4
+ export interface PluginAuthoringCapabilityEntry {
5
+ field: string;
6
+ type: string;
7
+ required: boolean | string;
8
+ acceptedValues?: readonly PluginAuthoringAcceptedValue[] | string;
9
+ }
10
+ export interface PluginAuthoringCapabilitySurface {
11
+ surface: PluginAuthoringCapabilitySurfaceName;
12
+ entries: readonly PluginAuthoringCapabilityEntry[];
13
+ }
14
+ export interface PluginAuthoringCapabilityRegistry {
15
+ schemaVersion: 1;
16
+ surfaces: Readonly<Record<PluginAuthoringCapabilitySurfaceName, PluginAuthoringCapabilitySurface>>;
17
+ }
18
+ export declare function getPluginAuthoringCapabilities(): PluginAuthoringCapabilityRegistry;
19
+ export declare function getPluginAuthoringCapabilitySurface(surface: PluginAuthoringCapabilitySurfaceName): PluginAuthoringCapabilitySurface;
20
+ export declare function getPluginAuthoringAcceptedValues(surface: PluginAuthoringCapabilitySurfaceName, field: string): readonly PluginAuthoringAcceptedValue[];
21
+ export declare function getPluginCoreVersion(): string;
@@ -0,0 +1,187 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { PLUGIN_SCRIPT_TIMEOUT_MAX_MS, PLUGIN_SCRIPT_TIMEOUT_MIN_MS, } from './plugin-script-contract.js';
5
+ import { PUBLIC_HOOK_EVENTS } from './hooks-contract.js';
6
+ export const PLUGIN_AUTHORING_CAPABILITY_SURFACES = [
7
+ 'manifest',
8
+ 'build-config',
9
+ 'extensions',
10
+ 'slash-commands',
11
+ 'mcp-apps',
12
+ 'config',
13
+ 'pre-apply',
14
+ 'artifacts',
15
+ ];
16
+ const registry = {
17
+ schemaVersion: 1,
18
+ surfaces: {
19
+ manifest: {
20
+ surface: 'manifest',
21
+ entries: [
22
+ { field: 'schemaVersion', type: 'literal 3', required: true, acceptedValues: [3] },
23
+ { field: 'name', type: 'kebab-case string', required: true },
24
+ { field: 'version', type: 'stable strict SemVer', required: true },
25
+ { field: 'description', type: 'non-empty string', required: true },
26
+ { field: 'requires.aw.capabilities', type: 'unique AW capability ID[]', required: false },
27
+ { field: 'dependencies', type: 'unique plugin-name[]', required: false },
28
+ { field: 'skills', type: './ plugin-relative path', required: false },
29
+ { field: 'slashCommands', type: './ plugin-relative path', required: false },
30
+ { field: 'mcpServers', type: './ plugin-relative path', required: false },
31
+ { field: 'apps', type: './ plugin-relative path', required: false },
32
+ { field: 'distributions.agentSkills', type: '{skills?}', required: false },
33
+ { field: 'distributions.agentSkills.skills', type: './ plugin-relative path', required: false },
34
+ { field: 'marketplace.category', type: 'non-empty string', required: true },
35
+ { field: 'marketplace.tags', type: 'string[]', required: false },
36
+ { field: 'marketplace.strict', type: 'boolean', required: true },
37
+ { field: 'marketplace.policy.installation', type: 'enum', required: true, acceptedValues: ['AVAILABLE', 'NOT_AVAILABLE', 'INSTALLED_BY_DEFAULT'] },
38
+ { field: 'marketplace.policy.authentication', type: 'enum', required: true, acceptedValues: ['ON_INSTALL', 'ON_USE'] },
39
+ { field: 'marketplace.policy.products', type: 'unique enum[]', required: false, acceptedValues: ['CODEX', 'CLAUDE'] },
40
+ { field: 'interface.displayName', type: 'non-empty string', required: false },
41
+ { field: 'interface.shortDescription', type: 'non-empty string', required: false },
42
+ { field: 'interface.capabilities', type: 'string[]', required: false },
43
+ ],
44
+ },
45
+ 'build-config': {
46
+ surface: 'build-config',
47
+ entries: [
48
+ { field: 'buildConfig.cacheable', type: 'literal true', required: false, acceptedValues: [true] },
49
+ { field: 'buildConfig.templates', type: '{vars,include}', required: false },
50
+ { field: 'buildConfig.templates.vars.<key>', type: '{claude:string|boolean,codex:string|boolean}', required: 'with buildConfig.templates' },
51
+ { field: 'buildConfig.templates.include', type: 'string[]', required: 'with buildConfig.templates' },
52
+ { field: 'buildConfig.fileRules', type: 'platform include/exclude object', required: false },
53
+ { field: 'buildConfig.fileRules.<platform>', type: '{include,exclude}', required: false, acceptedValues: ['claude', 'codex'] },
54
+ { field: 'buildConfig.manifestOverrides.claude', type: 'object', required: false, acceptedValues: ['outputStyles', 'lspServers', 'userConfig', 'channels'] },
55
+ { field: 'buildConfig.runtimeExports', type: '{name,source,requires}[]', required: false },
56
+ { field: 'buildConfig.runtimeExports[].requires.aw.capabilities', type: 'unique AW capability ID[]', required: true },
57
+ { field: 'buildConfig.buildImports', type: '{plugin,export,env}[]', required: false },
58
+ { field: 'buildConfig.skillRuntimeFiles', type: '{skill,target,platforms?,distributions?,source|import}[]', required: false },
59
+ { field: 'buildConfig.skillRuntimeFiles[].platforms', type: 'unique enum[]', required: false, acceptedValues: ['codex', 'claude'] },
60
+ { field: 'buildConfig.skillRuntimeFiles[].distributions', type: 'unique enum[]', required: false, acceptedValues: ['agent-skills'] },
61
+ { field: 'buildConfig.generatedSkillRuntimeFiles', type: '{skill,target,distributions?}[]', required: false },
62
+ { field: 'buildConfig.generatedSkillRuntimeFiles[].distributions', type: 'unique enum[]', required: false, acceptedValues: ['agent-skills'] },
63
+ ],
64
+ },
65
+ extensions: {
66
+ surface: 'extensions',
67
+ entries: [
68
+ { field: 'extensions.instructions', type: '{name,title,content,paths?,agentOverrides?}[]', required: false },
69
+ { field: 'extensions.permissions', type: '{name,allow?,ask?,deny?,agentOverrides?}[]', required: false },
70
+ { field: 'extensions.hooks', type: '{event,matcher?,command,agentOverrides?}[]', required: false },
71
+ { field: 'extensions.hooks[].event', type: 'enum', required: true, acceptedValues: PUBLIC_HOOK_EVENTS },
72
+ { field: 'extensions.nativeHooks.claude', type: 'native hook[]', required: false },
73
+ { field: 'extensions.nativeHooks.codex', type: 'native hook[]', required: false },
74
+ { field: 'extensions.agents', type: '{name,description,prompt,tools?,agentOverrides?}[]', required: false },
75
+ ],
76
+ },
77
+ 'slash-commands': {
78
+ surface: 'slash-commands',
79
+ entries: [
80
+ { field: 'description', type: 'string', required: true },
81
+ { field: 'claude', type: 'frontmatter object', required: false, acceptedValues: ['description', 'allowed-tools', 'model', 'argument-hint', 'shell'] },
82
+ { field: 'claude.shell', type: 'enum', required: false, acceptedValues: ['bash', 'powershell'] },
83
+ { field: 'codex.description', type: 'string', required: false },
84
+ { field: 'codex.interface', type: 'display metadata object', required: false, acceptedValues: ['display_name', 'short_description', 'icon_small', 'icon_large', 'brand_color', 'default_prompt'] },
85
+ { field: 'codex.generated.policy.allow_implicit_invocation', type: 'literal false', required: true, acceptedValues: [false] },
86
+ ],
87
+ },
88
+ 'mcp-apps': {
89
+ surface: 'mcp-apps',
90
+ entries: [
91
+ { field: 'mcpServers.<key>.command', type: 'string', required: 'stdio transport' },
92
+ { field: 'mcpServers.<key>.args', type: 'string[]', required: false },
93
+ { field: 'mcpServers.<key>.env', type: 'string map', required: false },
94
+ { field: 'mcpServers.<key>.headers', type: 'string map', required: false },
95
+ { field: 'mcpServers.<key>.url', type: 'URL string', required: 'HTTP transport' },
96
+ { field: 'apps.<key>.id', type: 'non-empty string', required: true },
97
+ ],
98
+ },
99
+ config: {
100
+ surface: 'config',
101
+ entries: [
102
+ { field: 'config.fields', type: 'field map', required: 'with config' },
103
+ { field: 'config.fields.<key>.type', type: 'enum', required: true, acceptedValues: ['string', 'number', 'boolean', 'object'] },
104
+ { field: 'config.fields.<key>.title', type: 'string', required: false },
105
+ { field: 'config.fields.<key>.description', type: 'string', required: false },
106
+ { field: 'config.fields.<key>.default', type: 'string|number|boolean|object', required: false },
107
+ { field: 'config.fields.<key>.required', type: 'boolean', required: false },
108
+ { field: 'config.fields.<key>.sensitive', type: 'literal true; top-level string fields only; incompatible with default or choices', required: false, acceptedValues: [true] },
109
+ { field: 'config.fields.<key>.choices', type: '{allowCustom,presets}', required: false },
110
+ { field: 'config.fields.<key>.choices.allowCustom', type: 'boolean', required: 'with choices' },
111
+ { field: 'config.fields.<key>.choices.presets', type: '{id,title,description?,value,recommended?}[]', required: 'with choices' },
112
+ { field: 'config.fields.<key>.validation', type: 'type-specific validation object', required: false },
113
+ { field: 'config.fields.<key>.validation.maxLength', type: 'integer 0..4096', required: 'with pattern' },
114
+ { field: 'config.fields.<key>.validation.pattern', type: 'RE2 Unicode pattern up to 512 code points', required: false },
115
+ { field: 'config.fields.<key>.validation.format', type: 'enum', required: false, acceptedValues: ['identifier', 'slug', 'semver', 'url', 'hostname', 'email'] },
116
+ { field: 'config.fields.<key>.validation.key.maxLength', type: 'integer 0..4096', required: 'with key.pattern' },
117
+ { field: 'config.fields.<key>.validation.key.pattern', type: 'RE2 Unicode pattern up to 512 code points', required: false },
118
+ { field: 'config.fields.<key>.properties', type: 'scalar child field map', required: 'for fixed object properties' },
119
+ { field: 'config.fields.<key>.additionalProperties', type: 'false | scalar child field', required: 'false for fixed objects; scalar child field for key-value objects' },
120
+ { field: 'config.presentation.groups', type: 'group[]', required: false },
121
+ ],
122
+ },
123
+ 'pre-apply': {
124
+ surface: 'pre-apply',
125
+ entries: [
126
+ { field: 'scripts.preApply', type: '{path,timeoutMs?}', required: false },
127
+ { field: 'scripts.preApply.path', type: './ Node path', required: true },
128
+ { field: 'scripts.preApply.timeoutMs', type: 'integer', required: false, acceptedValues: `${PLUGIN_SCRIPT_TIMEOUT_MIN_MS}..${PLUGIN_SCRIPT_TIMEOUT_MAX_MS}` },
129
+ { field: 'scripts.helpers.config', type: './ Node path', required: false },
130
+ { field: 'scripts.node.packageRoot', type: './ package directory path', required: false },
131
+ { field: 'scripts.node.build', type: '{runner,path,args?}', required: false },
132
+ { field: 'scripts.node.build.runner', type: 'literal node', required: true, acceptedValues: ['node'] },
133
+ { field: 'scripts.tests.node', type: './ Node path[]', required: false },
134
+ ],
135
+ },
136
+ artifacts: {
137
+ surface: 'artifacts',
138
+ entries: [
139
+ { field: 'scripts.artifacts.render', type: '{runner,path,args?}', required: 'with artifacts.targets' },
140
+ { field: 'scripts.artifacts.render.runner', type: 'literal node', required: true, acceptedValues: ['node'] },
141
+ { field: 'rendererContext.requestedArtifactIds', type: 'non-empty unique artifact id[]', required: true },
142
+ { field: 'artifacts.targets', type: 'artifact target[]', required: false },
143
+ { field: 'artifacts.targets[].id', type: 'surface/scope-unique stable identifier; globally unique for codex-native', required: true },
144
+ { field: 'artifacts.targets[].platform', type: 'enum', required: 'for native targets', acceptedValues: ['codex', 'claude'] },
145
+ { field: 'artifacts.targets[].distribution', type: 'enum', required: 'for portable targets', acceptedValues: ['agent-skills'] },
146
+ { field: 'artifacts.targets[].target', type: 'enum', required: true, acceptedValues: ['codex.developerInstructionsBlock', 'codex.agentRole', 'codex.skill', 'claude.skill', 'agent-skills.skill'] },
147
+ { field: 'artifacts.targets[].kind', type: 'enum', required: false, acceptedValues: ['instruction', 'codexRole', 'skill'] },
148
+ { field: 'artifacts.targets[].projectManagedKind', type: 'enum', required: false, acceptedValues: ['skill', 'mcpServer', 'instruction', 'permission', 'hook', 'agent'] },
149
+ { field: 'artifacts.targets[].scopes', type: 'unique enum[]', required: true, acceptedValues: ['user', 'project'] },
150
+ { field: 'artifacts.targets[].states', type: 'unique enum[]', required: true, acceptedValues: ['present', 'disabled'] },
151
+ { field: 'artifacts.targets[].refreshKeys', type: 'unique config key[]', required: true },
152
+ { field: 'artifacts.targets[].delivery', type: 'codex.skill delivery union', required: 'for codex.skill' },
153
+ { field: 'artifacts.targets[].delivery.mode', type: 'enum', required: 'with delivery', acceptedValues: ['codex-native', 'aw-extension'] },
154
+ { field: 'artifacts.targets[].delivery.identity', type: 'literal shared', required: 'when delivery.mode is codex-native', acceptedValues: ['shared'] },
155
+ { field: 'artifacts.targets[].delivery.renderProfile', type: 'literal user', required: 'when delivery.mode is codex-native', acceptedValues: ['user'] },
156
+ { field: 'artifacts.targets[].requiresCodexProjectConfig', type: 'boolean', required: false },
157
+ { field: 'artifacts.targets[].roleKey', type: 'stable role key', required: 'for codex.agentRole' },
158
+ { field: 'artifacts.targets[].skillKey', type: 'stable Skill key; globally unique for codex-native', required: 'for Skill targets' },
159
+ { field: 'artifacts.targets[].sourceDirs', type: './ plugin-relative path[]', required: false },
160
+ { field: 'artifacts.targets[].runtimeImports', type: '{name,plugin,export}[]', required: false },
161
+ ],
162
+ },
163
+ },
164
+ };
165
+ export function getPluginAuthoringCapabilities() {
166
+ return registry;
167
+ }
168
+ export function getPluginAuthoringCapabilitySurface(surface) {
169
+ return registry.surfaces[surface];
170
+ }
171
+ export function getPluginAuthoringAcceptedValues(surface, field) {
172
+ const entries = registry.surfaces[surface].entries;
173
+ const entry = entries.find((candidate) => candidate.field === field);
174
+ if (!entry || !Array.isArray(entry.acceptedValues)) {
175
+ throw new Error(`Plugin authoring capability ${surface}.${field} has no accepted values.`);
176
+ }
177
+ return entry.acceptedValues;
178
+ }
179
+ export function getPluginCoreVersion() {
180
+ const packageJsonPath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'package.json');
181
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
182
+ if (typeof packageJson.version !== 'string') {
183
+ throw new Error('Cannot read @lesliechan721/aw-plugin-core package version.');
184
+ }
185
+ return packageJson.version;
186
+ }
187
+ //# sourceMappingURL=plugin-authoring-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-authoring-capabilities.js","sourceRoot":"","sources":["../src/plugin-authoring-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { PluginConfigDefinition, PluginConfigPreset, PluginConfigScalar, PluginConfigSchemaField, PluginConfigValidationIssue, PluginConfigValue } from './types.js';
2
+ export declare function validatePluginConfigValue(definition: PluginConfigSchemaField, value: unknown, field?: string): PluginConfigValidationIssue[];
3
+ export declare function validatePluginConfigValue(field: string, definition: PluginConfigSchemaField, value: unknown): PluginConfigValidationIssue[];
4
+ export declare function validatePluginConfigDocument(definition: PluginConfigDefinition, value: unknown): PluginConfigValidationIssue[];
5
+ export declare function canonicalizePluginConfigValue(value: PluginConfigValue): PluginConfigValue;
6
+ export declare function canonicalizePluginConfigValues(values: Readonly<Record<string, PluginConfigValue>>): Record<string, PluginConfigValue>;
7
+ export declare function stablePluginConfigStringify(value: PluginConfigValue): string;
8
+ export declare function matchPluginConfigPreset(definition: PluginConfigSchemaField, value: PluginConfigValue): PluginConfigPreset | undefined;
9
+ export declare function validatePluginConfigPreset(definition: PluginConfigSchemaField, preset: PluginConfigPreset, field?: string): PluginConfigValidationIssue[];
10
+ export type RedactedPluginConfigValue = PluginConfigValue | '[redacted]' | Record<string, PluginConfigScalar | '[redacted]'>;
11
+ export declare function redactPluginConfigValue(definition: PluginConfigSchemaField, value: PluginConfigValue): RedactedPluginConfigValue;
12
+ export declare function formatPluginConfigIssue(issue: PluginConfigValidationIssue): string;
13
+ export declare function normalizePluginConfigDefinition(value: unknown, path?: string): PluginConfigDefinition;