@vibe-agent-toolkit/cli 0.1.38 → 0.1.39-rc.1
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/README.md +6 -3
- package/dist/commands/audit/hierarchical-output.d.ts +2 -1
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts +5 -12
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +7 -80
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.d.ts +12 -4
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +54 -24
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +14 -39
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/corpus/seed.d.ts +24 -0
- package/dist/commands/corpus/seed.d.ts.map +1 -1
- package/dist/commands/corpus/seed.js +5 -0
- package/dist/commands/corpus/seed.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +4 -1
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +155 -112
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts +9 -2
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +83 -18
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +2 -1
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +1 -1
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/resources.md +7 -3
- package/package.json +11 -11
- package/dist/commands/claude/marketplace/tag-utils.d.ts +0 -11
- package/dist/commands/claude/marketplace/tag-utils.d.ts.map +0 -1
- package/dist/commands/claude/marketplace/tag-utils.js +0 -17
- package/dist/commands/claude/marketplace/tag-utils.js.map +0 -1
|
@@ -10,8 +10,52 @@ import { writeFile } from 'node:fs/promises';
|
|
|
10
10
|
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
11
11
|
import { parseUnreleasedSection, parseVersionSection, readChangelog, } from './changelog-utils.js';
|
|
12
12
|
import { generateLicenseText, readLicenseFile } from './license-utils.js';
|
|
13
|
+
/**
|
|
14
|
+
* Derive a label version from the staged plugin list. A marketplace with exactly
|
|
15
|
+
* one plugin can borrow that plugin's version as its label; anything else (zero
|
|
16
|
+
* or multiple plugins) leaves the label undefined; the per-plugin `version`
|
|
17
|
+
* fields in the published marketplace.json carry the truth.
|
|
18
|
+
*
|
|
19
|
+
* Note: `publishedPlugins` is the *version-filtered* list — entries lacking a
|
|
20
|
+
* `version` field are dropped upstream. The "one plugin" branch therefore
|
|
21
|
+
* means "exactly one *versioned* plugin." This relies on the build pipeline
|
|
22
|
+
* assigning a `version` to every plugin in the staged `marketplace.json`;
|
|
23
|
+
* a future flow that stages an unversioned plugin alongside a versioned one
|
|
24
|
+
* would emit a single-plugin label even though the marketplace contains two
|
|
25
|
+
* entries. Threading the raw plugin count if that assumption breaks is the
|
|
26
|
+
* obvious fix.
|
|
27
|
+
*/
|
|
28
|
+
function deriveLabelVersion(publishedPlugins) {
|
|
29
|
+
return publishedPlugins.length === 1 ? publishedPlugins[0]?.version : undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Read the configured changelog, copy it byte-for-byte into outputDir, and
|
|
33
|
+
* return the release-note string for the commit body. Accepts both Keep a
|
|
34
|
+
* Changelog workflows:
|
|
35
|
+
* (B) pre-stamped `## [version]` section — preferred when a label version
|
|
36
|
+
* is available and that section is non-empty
|
|
37
|
+
* (A) non-empty `## [Unreleased]` — fallback, and the only path when the
|
|
38
|
+
* label is undefined (multi-plugin marketplaces)
|
|
39
|
+
* Throws when both sections are empty.
|
|
40
|
+
*/
|
|
41
|
+
async function extractChangelogDelta(changelog, configDir, outputDir, derivedVersion) {
|
|
42
|
+
const rawChangelog = readChangelog(changelog.sourcePath, configDir);
|
|
43
|
+
const stampedSection = derivedVersion
|
|
44
|
+
? parseVersionSection(rawChangelog, derivedVersion)
|
|
45
|
+
: '';
|
|
46
|
+
const unreleasedSection = parseUnreleasedSection(rawChangelog).trim();
|
|
47
|
+
if (stampedSection === '' && unreleasedSection === '') {
|
|
48
|
+
const reason = derivedVersion
|
|
49
|
+
? `has neither a non-empty [Unreleased] section nor a [${derivedVersion}] section`
|
|
50
|
+
: `has no non-empty [Unreleased] section`;
|
|
51
|
+
throw new Error(`Changelog "${changelog.sourcePath}" ${reason}. Document the release before publishing.`);
|
|
52
|
+
}
|
|
53
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path constructed from validated config
|
|
54
|
+
await writeFile(safePath.join(outputDir, 'CHANGELOG.md'), rawChangelog);
|
|
55
|
+
return stampedSection === '' ? unreleasedSection : stampedSection;
|
|
56
|
+
}
|
|
13
57
|
export async function composePublishTree(options) {
|
|
14
|
-
const { marketplaceName, configDir, outputDir
|
|
58
|
+
const { marketplaceName, configDir, outputDir } = options;
|
|
15
59
|
const files = [];
|
|
16
60
|
let changelogDelta = '';
|
|
17
61
|
// 1. Verify build output exists
|
|
@@ -24,36 +68,22 @@ export async function composePublishTree(options) {
|
|
|
24
68
|
// Use cpSync instead of async cp() — Node 22 cp() drops files in nested directories
|
|
25
69
|
cpSync(buildDir, outputDir, { recursive: true });
|
|
26
70
|
files.push('.claude-plugin/marketplace.json', 'plugins/');
|
|
27
|
-
// 2b. Read the published marketplace.json
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
// at this layer.
|
|
71
|
+
// 2b. Read the published marketplace.json to recover each plugin's resolved
|
|
72
|
+
// version for label derivation. The build pipeline writes this file; we
|
|
73
|
+
// just observe it here. Defensive parsing because marketplace.json is
|
|
74
|
+
// build output, not validated input at this layer.
|
|
32
75
|
const marketplaceJsonPath = safePath.join(outputDir, '.claude-plugin', 'marketplace.json');
|
|
33
76
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path constructed from validated config
|
|
34
77
|
const marketplaceJsonRaw = readFileSync(marketplaceJsonPath, 'utf-8');
|
|
35
78
|
const marketplaceJson = JSON.parse(marketplaceJsonRaw);
|
|
36
|
-
// Plugins without a resolved version
|
|
79
|
+
// Plugins without a resolved version don't contribute to the label — skip them.
|
|
37
80
|
const publishedPlugins = (marketplaceJson.plugins ?? [])
|
|
38
81
|
.filter((p) => Boolean(p.name) && typeof p.version === 'string' && p.version.length > 0)
|
|
39
82
|
.map((p) => ({ name: p.name, version: p.version }));
|
|
40
|
-
|
|
41
|
-
//
|
|
42
|
-
// Accept both Keep a Changelog workflows:
|
|
43
|
-
// (B) pre-stamped `## [version]` section — preferred when present, and
|
|
44
|
-
// (A) non-empty `## [Unreleased]` — fallback.
|
|
45
|
-
// Error if both are empty.
|
|
83
|
+
const derivedVersion = deriveLabelVersion(publishedPlugins);
|
|
84
|
+
// 3. Process changelog
|
|
46
85
|
if (options.changelog) {
|
|
47
|
-
|
|
48
|
-
const stampedSection = parseVersionSection(rawChangelog, version);
|
|
49
|
-
const unreleasedSection = parseUnreleasedSection(rawChangelog).trim();
|
|
50
|
-
if (stampedSection === '' && unreleasedSection === '') {
|
|
51
|
-
throw new Error(`Changelog "${options.changelog.sourcePath}" has neither a non-empty [Unreleased] ` +
|
|
52
|
-
`section nor a [${version}] section. Document the release before publishing.`);
|
|
53
|
-
}
|
|
54
|
-
changelogDelta = stampedSection === '' ? unreleasedSection : stampedSection;
|
|
55
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path constructed from validated config
|
|
56
|
-
await writeFile(safePath.join(outputDir, 'CHANGELOG.md'), rawChangelog);
|
|
86
|
+
changelogDelta = await extractChangelogDelta(options.changelog, configDir, outputDir, derivedVersion);
|
|
57
87
|
files.push('CHANGELOG.md');
|
|
58
88
|
}
|
|
59
89
|
// 4. Process readme
|
|
@@ -78,6 +108,6 @@ export async function composePublishTree(options) {
|
|
|
78
108
|
await writeFile(safePath.join(outputDir, 'LICENSE'), licenseContent);
|
|
79
109
|
files.push('LICENSE');
|
|
80
110
|
}
|
|
81
|
-
return { version, changelogDelta, files, publishedPlugins };
|
|
111
|
+
return { version: derivedVersion, changelogDelta, files, publishedPlugins };
|
|
82
112
|
}
|
|
83
113
|
//# sourceMappingURL=publish-tree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-tree.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/publish-tree.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"publish-tree.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/publish-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/publish.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/publish.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAgBD,wBAAgB,+BAA+B,IAAI,OAAO,CAwDzD"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Composes marketplace build output with CHANGELOG, README, and LICENSE,
|
|
6
6
|
* then creates a squashed commit on the target branch.
|
|
7
7
|
*/
|
|
8
|
-
import { mkdtempSync
|
|
8
|
+
import { mkdtempSync } from 'node:fs';
|
|
9
9
|
import { normalizedTmpdir, safePath } from '@vibe-agent-toolkit/utils';
|
|
10
10
|
import { Command } from 'commander';
|
|
11
11
|
import { handleCommandError } from '../../../utils/command-error.js';
|
|
@@ -49,12 +49,6 @@ Description:
|
|
|
49
49
|
|
|
50
50
|
Creates one squashed commit per version on the target branch.
|
|
51
51
|
|
|
52
|
-
Per-plugin source-repo tags:
|
|
53
|
-
After a successful publish, pushes <plugin>-v<version> tags to the
|
|
54
|
-
source repo for each plugin with a resolved version. Tag-push failures
|
|
55
|
-
log a warning but do not roll back the publish (publish branch is
|
|
56
|
-
already pushed at that point). Skipped during --dry-run and --no-push.
|
|
57
|
-
|
|
58
52
|
Per-plugin versioning:
|
|
59
53
|
Each plugin can declare its own version via plugins/<name>/.claude-plugin/plugin.json:version
|
|
60
54
|
or the marketplace config's per-plugin version field. Precedence:
|
|
@@ -77,27 +71,6 @@ Example:
|
|
|
77
71
|
`);
|
|
78
72
|
return command;
|
|
79
73
|
}
|
|
80
|
-
/**
|
|
81
|
-
* Read version from package.json in the given directory.
|
|
82
|
-
*/
|
|
83
|
-
function readProjectVersion(configDir) {
|
|
84
|
-
const packageJsonPath = safePath.join(configDir, 'package.json');
|
|
85
|
-
try {
|
|
86
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename -- path constructed from validated config dir
|
|
87
|
-
const raw = readFileSync(packageJsonPath, 'utf-8');
|
|
88
|
-
const parsed = JSON.parse(raw);
|
|
89
|
-
if (!parsed.version) {
|
|
90
|
-
throw new Error('package.json is missing a "version" field.');
|
|
91
|
-
}
|
|
92
|
-
return parsed.version;
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
if (error instanceof Error && error.message.includes('ENOENT')) {
|
|
96
|
-
throw new Error(`package.json not found at ${packageJsonPath}. Run from a project directory with package.json.`);
|
|
97
|
-
}
|
|
98
|
-
throw error;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
74
|
/**
|
|
102
75
|
* Resolve a license config value to typed LicenseOptions.
|
|
103
76
|
*/
|
|
@@ -113,12 +86,11 @@ function resolveLicenseOptions(licenseValue, ownerName) {
|
|
|
113
86
|
/**
|
|
114
87
|
* Build ComposeOptions for a single marketplace entry.
|
|
115
88
|
*/
|
|
116
|
-
function buildComposeOptions(mpName, configDir,
|
|
89
|
+
function buildComposeOptions(mpName, configDir, publishConfig, licenseOpts) {
|
|
117
90
|
const opts = {
|
|
118
91
|
marketplaceName: mpName,
|
|
119
92
|
configDir,
|
|
120
93
|
outputDir: mkdtempSync(safePath.join(normalizedTmpdir(), `vat-publish-tree-${mpName}-`)),
|
|
121
|
-
version,
|
|
122
94
|
};
|
|
123
95
|
if (publishConfig.changelog) {
|
|
124
96
|
opts.changelog = { sourcePath: publishConfig.changelog };
|
|
@@ -135,23 +107,28 @@ function buildComposeOptions(mpName, configDir, version, publishConfig, licenseO
|
|
|
135
107
|
* Publish a single marketplace and return the result.
|
|
136
108
|
*/
|
|
137
109
|
async function publishOneMarketplace(ctx) {
|
|
138
|
-
const { mpName, mpConfig, publishConfig, configDir,
|
|
110
|
+
const { mpName, mpConfig, publishConfig, configDir, options, logger } = ctx;
|
|
139
111
|
const branch = options.branch ?? publishConfig.branch ?? 'claude-marketplace';
|
|
140
112
|
const remote = publishConfig.remote ?? 'origin';
|
|
141
|
-
logger.info(`Publishing marketplace "${mpName}" v${version}`);
|
|
142
113
|
const licenseOpts = publishConfig.license
|
|
143
114
|
? resolveLicenseOptions(publishConfig.license, mpConfig.owner.name)
|
|
144
115
|
: undefined;
|
|
145
|
-
const composeOpts = buildComposeOptions(mpName, configDir,
|
|
116
|
+
const composeOpts = buildComposeOptions(mpName, configDir, publishConfig, licenseOpts);
|
|
146
117
|
const composeResult = await composePublishTree(composeOpts);
|
|
118
|
+
const labelVersion = composeResult.version;
|
|
119
|
+
const banner = labelVersion
|
|
120
|
+
? `Publishing marketplace "${mpName}" v${labelVersion}`
|
|
121
|
+
: `Publishing marketplace "${mpName}"`;
|
|
122
|
+
logger.info(banner);
|
|
147
123
|
// Resolve source repo for commit metadata
|
|
148
124
|
const sourceRepo = typeof publishConfig.sourceRepo === 'string'
|
|
149
125
|
? publishConfig.sourceRepo
|
|
150
126
|
: undefined;
|
|
151
|
-
const
|
|
127
|
+
const headline = labelVersion ? `publish v${labelVersion}` : `publish ${mpName}`;
|
|
128
|
+
const commitMessage = createCommitMessage(headline, composeResult.changelogDelta, sourceRepo ? { sourceRepo } : undefined);
|
|
152
129
|
if (options.dryRun) {
|
|
153
130
|
logger.info(`[dry-run] Would publish to ${redactUrlCredentials(remote)}/${branch}`);
|
|
154
|
-
logger.info(`[dry-run] Version: ${version}`);
|
|
131
|
+
logger.info(`[dry-run] Version: ${labelVersion ?? '(multi-plugin — no aggregate version)'}`);
|
|
155
132
|
logger.info(`[dry-run] Files: ${composeResult.files.join(', ')}`);
|
|
156
133
|
}
|
|
157
134
|
else if (options.push === false) {
|
|
@@ -165,12 +142,11 @@ async function publishOneMarketplace(ctx) {
|
|
|
165
142
|
force: options.force ?? false,
|
|
166
143
|
dryRun: options.dryRun ?? false,
|
|
167
144
|
noPush: options.push === false,
|
|
168
|
-
publishedPlugins: composeResult.publishedPlugins,
|
|
169
145
|
logger,
|
|
170
146
|
});
|
|
171
147
|
return {
|
|
172
148
|
marketplace: mpName,
|
|
173
|
-
version,
|
|
149
|
+
version: labelVersion,
|
|
174
150
|
branch,
|
|
175
151
|
files: composeResult.files,
|
|
176
152
|
dryRun: options.dryRun ?? false,
|
|
@@ -186,7 +162,6 @@ async function marketplacePublishCommand(_options, command) {
|
|
|
186
162
|
if (!claudeConfig?.marketplaces) {
|
|
187
163
|
throw new Error('No marketplaces defined in config. Add a claude.marketplaces section to vibe-agent-toolkit.config.yaml.');
|
|
188
164
|
}
|
|
189
|
-
const version = readProjectVersion(configDir);
|
|
190
165
|
const results = [];
|
|
191
166
|
for (const [mpName, mpConfig] of Object.entries(claudeConfig.marketplaces)) {
|
|
192
167
|
if (options.marketplace && options.marketplace !== mpName) {
|
|
@@ -197,7 +172,7 @@ async function marketplacePublishCommand(_options, command) {
|
|
|
197
172
|
continue;
|
|
198
173
|
}
|
|
199
174
|
const result = await publishOneMarketplace({
|
|
200
|
-
mpName, mpConfig, publishConfig: mpConfig.publish, configDir,
|
|
175
|
+
mpName, mpConfig, publishConfig: mpConfig.publish, configDir, options, logger,
|
|
201
176
|
});
|
|
202
177
|
results.push(result);
|
|
203
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/publish.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/validate.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,9 @@ declare const ValidationBlockSchema: z.ZodObject<{
|
|
|
43
43
|
declare const PluginEntrySchema: z.ZodObject<{
|
|
44
44
|
source: z.ZodString;
|
|
45
45
|
name: z.ZodString;
|
|
46
|
+
bucket: z.ZodEnum<["official", "community"]>;
|
|
47
|
+
confidence: z.ZodEnum<["first-party", "curated", "listed"]>;
|
|
48
|
+
maturity: z.ZodEnum<["production", "experimental", "example"]>;
|
|
46
49
|
validation: z.ZodOptional<z.ZodObject<{
|
|
47
50
|
severity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["error", "warning", "info", "ignore"]>>>;
|
|
48
51
|
allow: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -71,6 +74,9 @@ declare const PluginEntrySchema: z.ZodObject<{
|
|
|
71
74
|
}, "strict", z.ZodTypeAny, {
|
|
72
75
|
name: string;
|
|
73
76
|
source: string;
|
|
77
|
+
bucket: "official" | "community";
|
|
78
|
+
confidence: "first-party" | "curated" | "listed";
|
|
79
|
+
maturity: "production" | "experimental" | "example";
|
|
74
80
|
validation?: {
|
|
75
81
|
allow?: {
|
|
76
82
|
code: string;
|
|
@@ -81,6 +87,9 @@ declare const PluginEntrySchema: z.ZodObject<{
|
|
|
81
87
|
}, {
|
|
82
88
|
name: string;
|
|
83
89
|
source: string;
|
|
90
|
+
bucket: "official" | "community";
|
|
91
|
+
confidence: "first-party" | "curated" | "listed";
|
|
92
|
+
maturity: "production" | "experimental" | "example";
|
|
84
93
|
validation?: {
|
|
85
94
|
allow?: {
|
|
86
95
|
code: string;
|
|
@@ -93,6 +102,9 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
93
102
|
plugins: z.ZodArray<z.ZodObject<{
|
|
94
103
|
source: z.ZodString;
|
|
95
104
|
name: z.ZodString;
|
|
105
|
+
bucket: z.ZodEnum<["official", "community"]>;
|
|
106
|
+
confidence: z.ZodEnum<["first-party", "curated", "listed"]>;
|
|
107
|
+
maturity: z.ZodEnum<["production", "experimental", "example"]>;
|
|
96
108
|
validation: z.ZodOptional<z.ZodObject<{
|
|
97
109
|
severity: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["error", "warning", "info", "ignore"]>>>;
|
|
98
110
|
allow: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -121,6 +133,9 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
121
133
|
}, "strict", z.ZodTypeAny, {
|
|
122
134
|
name: string;
|
|
123
135
|
source: string;
|
|
136
|
+
bucket: "official" | "community";
|
|
137
|
+
confidence: "first-party" | "curated" | "listed";
|
|
138
|
+
maturity: "production" | "experimental" | "example";
|
|
124
139
|
validation?: {
|
|
125
140
|
allow?: {
|
|
126
141
|
code: string;
|
|
@@ -131,6 +146,9 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
131
146
|
}, {
|
|
132
147
|
name: string;
|
|
133
148
|
source: string;
|
|
149
|
+
bucket: "official" | "community";
|
|
150
|
+
confidence: "first-party" | "curated" | "listed";
|
|
151
|
+
maturity: "production" | "experimental" | "example";
|
|
134
152
|
validation?: {
|
|
135
153
|
allow?: {
|
|
136
154
|
code: string;
|
|
@@ -143,6 +161,9 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
143
161
|
plugins: {
|
|
144
162
|
name: string;
|
|
145
163
|
source: string;
|
|
164
|
+
bucket: "official" | "community";
|
|
165
|
+
confidence: "first-party" | "curated" | "listed";
|
|
166
|
+
maturity: "production" | "experimental" | "example";
|
|
146
167
|
validation?: {
|
|
147
168
|
allow?: {
|
|
148
169
|
code: string;
|
|
@@ -155,6 +176,9 @@ declare const SeedSchema: z.ZodObject<{
|
|
|
155
176
|
plugins: {
|
|
156
177
|
name: string;
|
|
157
178
|
source: string;
|
|
179
|
+
bucket: "official" | "community";
|
|
180
|
+
confidence: "first-party" | "curated" | "listed";
|
|
181
|
+
maturity: "production" | "experimental" | "example";
|
|
158
182
|
validation?: {
|
|
159
183
|
allow?: {
|
|
160
184
|
code: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,0BAA0B;;;;;;;;;EAG9B,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,0BAA0B;;;;;;;;;EAG9B,CAAC;AAEH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAKhB,CAAC;AAIZ,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYZ,CAAC;AAEZ,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIL,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAyB/C"}
|
|
@@ -17,6 +17,8 @@ const ValidationBlockSchema = z
|
|
|
17
17
|
allow: z.array(ValidationAllowEntrySchema).optional(),
|
|
18
18
|
})
|
|
19
19
|
.strict();
|
|
20
|
+
// `bucket` is the reporting posture: `official` entries allow named findings;
|
|
21
|
+
// `community` entries are aggregate-only.
|
|
20
22
|
const PluginEntrySchema = z
|
|
21
23
|
.object({
|
|
22
24
|
source: z.string().min(1),
|
|
@@ -24,6 +26,9 @@ const PluginEntrySchema = z
|
|
|
24
26
|
.string()
|
|
25
27
|
.min(1)
|
|
26
28
|
.regex(/^[A-Za-z0-9_-]+$/, 'name must be [A-Za-z0-9_-]+ (presentation label)'),
|
|
29
|
+
bucket: z.enum(['official', 'community']),
|
|
30
|
+
confidence: z.enum(['first-party', 'curated', 'listed']),
|
|
31
|
+
maturity: z.enum(['production', 'experimental', 'example']),
|
|
27
32
|
validation: ValidationBlockSchema.optional(),
|
|
28
33
|
})
|
|
29
34
|
.strict();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzF,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,kBAAkB,EAAE,kDAAkD,CAAC;IAChF,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3C,CAAC;KACD,MAAM,EAAE,CAAC;AAOZ;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,qGAAqG;IACrG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,qGAAqG;IACrG,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../src/commands/corpus/seed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,sBAAsB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,sBAAsB,IAAI,OAAO,CA8MhD;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -105,7 +105,7 @@ Output Fields (success):
|
|
|
105
105
|
|
|
106
106
|
Output Fields (failure):
|
|
107
107
|
status, filesScanned, filesWithErrors, errorsFound, durationSecs
|
|
108
|
-
errorSummary: Count of each
|
|
108
|
+
errorSummary: Count of each issue code (LINK_BROKEN_FILE, LINK_BROKEN_ANCHOR, etc.)
|
|
109
109
|
collections: Per-collection stats including filesWithErrors, errorCount
|
|
110
110
|
errors: Detailed errors grouped by file
|
|
111
111
|
|
|
@@ -118,6 +118,9 @@ Validation Checks:
|
|
|
118
118
|
External URL Validation:
|
|
119
119
|
By default, external URLs are NOT validated (for speed).
|
|
120
120
|
Use --check-external-urls to enable HTTP checking of external links.
|
|
121
|
+
External-URL findings (EXTERNAL_URL_DEAD/TIMEOUT/ERROR) are configurable
|
|
122
|
+
warnings — they do NOT fail the build by default. Promote them to errors
|
|
123
|
+
or silence them via resources.validation.severity in your config.
|
|
121
124
|
Results are cached in system temp directory (24h alive, 1h dead).
|
|
122
125
|
Cache is shared across all projects (URLs are universal).
|
|
123
126
|
Use --no-cache to force fresh checks (ignores cache).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3C,SAAS;SACN,WAAW,CAAC,oEAAoE,CAAC;SACjF,WAAW,CAAC,KAAK,CAAC,CAAC,uDAAuD;SAC1E,WAAW,CACV,OAAO,EACP;;;;;;CAML,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,WAAW,CAAC;SACnB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BL,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,6BAA6B,EAAE,gEAAgE,CAAC;SACvG,MAAM,CAAC,0BAA0B,EAAE,6DAA6D,EAAE,QAAQ,CAAC;SAC3G,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,EAAE,MAAM,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,uBAAuB,EAAE,yDAAyD,CAAC;SAC1F,MAAM,CAAC,YAAY,EAAE,iEAAiE,CAAC;SACvF,MAAM,CAAC,8BAA8B,EAAE,0FAA0F,CAAC;SAClI,MAAM,CAAC,eAAe,CAAC;SACvB,WAAW,CACV,OAAO,EACP
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3C,SAAS;SACN,WAAW,CAAC,oEAAoE,CAAC;SACjF,WAAW,CAAC,KAAK,CAAC,CAAC,uDAAuD;SAC1E,WAAW,CACV,OAAO,EACP;;;;;;CAML,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,WAAW,EAAE,kCAAkC,CAAC;SACvD,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,WAAW,CAAC;SACnB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BL,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,6BAA6B,EAAE,gEAAgE,CAAC;SACvG,MAAM,CAAC,0BAA0B,EAAE,6DAA6D,EAAE,QAAQ,CAAC;SAC3G,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,EAAE,MAAM,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;SACtD,MAAM,CAAC,uBAAuB,EAAE,yDAAyD,CAAC;SAC1F,MAAM,CAAC,YAAY,EAAE,iEAAiE,CAAC;SACvF,MAAM,CAAC,8BAA8B,EAAE,0FAA0F,CAAC;SAClI,MAAM,CAAC,eAAe,CAAC;SACvB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoIL,CACI,CAAC;IAEJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/commands/resources/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiHH;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAsR7C,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;IACzC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAiBD,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAmFf"}
|