@adea-ai/plugins 4.0.1 → 4.0.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.
- package/dist/agent-plugins-catalog.d.ts +2 -4
- package/dist/agent-plugins-catalog.js +42 -50
- package/dist/agent-plugins-catalog.js.map +1 -1
- package/dist/agent-plugins-schema.d.ts +8 -0
- package/dist/agent-plugins-schema.js +10 -1
- package/dist/agent-plugins-schema.js.map +1 -1
- package/dist/artifacts.d.ts +57 -0
- package/dist/artifacts.js +159 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/build.d.ts +20 -0
- package/dist/build.js +103 -0
- package/dist/build.js.map +1 -0
- package/dist/capabilities.d.ts +7 -0
- package/dist/capabilities.js +116 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/catalog-store.d.ts +0 -5
- package/dist/catalog-store.js +1 -25
- package/dist/catalog-store.js.map +1 -1
- package/dist/concurrency.d.ts +1 -0
- package/dist/concurrency.js +15 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/consumer-index.d.ts +6 -28
- package/dist/consumer-index.js +7 -8
- package/dist/consumer-index.js.map +1 -1
- package/dist/digest.d.ts +13 -0
- package/dist/digest.js +47 -0
- package/dist/digest.js.map +1 -0
- package/dist/fs-atomic.d.ts +7 -0
- package/dist/fs-atomic.js +30 -0
- package/dist/fs-atomic.js.map +1 -0
- package/dist/harness.js +2 -1
- package/dist/harness.js.map +1 -1
- package/dist/icon-mirror.d.ts +3 -2
- package/dist/icon-mirror.js +51 -63
- package/dist/icon-mirror.js.map +1 -1
- package/dist/icons.d.ts +2 -2
- package/dist/icons.js +4 -12
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +16 -315
- package/dist/index.js +12 -1905
- package/dist/index.js.map +1 -1
- package/dist/integrity-manifest.d.ts +43 -13
- package/dist/integrity-manifest.js +28 -17
- package/dist/integrity-manifest.js.map +1 -1
- package/dist/json-values.d.ts +3 -0
- package/dist/json-values.js +10 -0
- package/dist/json-values.js.map +1 -0
- package/dist/plugin-release.d.ts +38 -0
- package/dist/plugin-release.js +321 -0
- package/dist/plugin-release.js.map +1 -0
- package/dist/plugin-skips.d.ts +19 -0
- package/dist/plugin-skips.js +65 -0
- package/dist/plugin-skips.js.map +1 -0
- package/dist/policy.d.ts +13 -0
- package/dist/policy.js +26 -0
- package/dist/policy.js.map +1 -0
- package/dist/portable-catalog.d.ts +4 -4
- package/dist/portable-catalog.js +14 -126
- package/dist/portable-catalog.js.map +1 -1
- package/dist/portable-verify.d.ts +2 -0
- package/dist/portable-verify.js +68 -0
- package/dist/portable-verify.js.map +1 -0
- package/dist/publication.d.ts +6 -3
- package/dist/publication.js +25 -12
- package/dist/publication.js.map +1 -1
- package/dist/published-output.d.ts +17 -0
- package/dist/published-output.js +49 -0
- package/dist/published-output.js.map +1 -0
- package/dist/site-icons.d.ts +2 -3
- package/dist/site-icons.js +4 -3
- package/dist/site-icons.js.map +1 -1
- package/dist/snapshots.d.ts +39 -0
- package/dist/snapshots.js +238 -0
- package/dist/snapshots.js.map +1 -0
- package/dist/source-resolution.d.ts +28 -0
- package/dist/source-resolution.js +158 -0
- package/dist/source-resolution.js.map +1 -0
- package/dist/sources.d.ts +5 -1
- package/dist/sources.js +21 -27
- package/dist/sources.js.map +1 -1
- package/dist/synchronize.d.ts +44 -0
- package/dist/synchronize.js +118 -0
- package/dist/synchronize.js.map +1 -0
- package/dist/taxonomy.d.ts +23 -0
- package/dist/taxonomy.js +62 -0
- package/dist/taxonomy.js.map +1 -0
- package/dist/upstream.d.ts +42 -0
- package/dist/upstream.js +179 -0
- package/dist/upstream.js.map +1 -0
- package/dist/verify-artifacts.d.ts +36 -0
- package/dist/verify-artifacts.js +286 -0
- package/dist/verify-artifacts.js.map +1 -0
- package/native/build-provenance.txt +5 -5
- package/native/staged-reader-win32-arm64.node +0 -0
- package/native/staged-reader-win32-x64.node +0 -0
- package/package.json +2 -4
- package/src/agent-plugins-catalog.test.ts +2 -2
- package/src/agent-plugins-catalog.ts +46 -49
- package/src/agent-plugins-schema.ts +11 -1
- package/src/artifacts.ts +234 -0
- package/src/build.ts +131 -0
- package/src/capabilities.ts +153 -0
- package/src/catalog-store.ts +1 -28
- package/src/concurrency.ts +19 -0
- package/src/consumer-index.test.ts +27 -21
- package/src/consumer-index.ts +12 -35
- package/src/digest.ts +55 -0
- package/src/fs-atomic.ts +32 -0
- package/src/harness.test.ts +4 -32
- package/src/harness.ts +2 -1
- package/src/icon-mirror.ts +57 -64
- package/src/icons.test.ts +0 -4
- package/src/icons.ts +4 -4
- package/src/index.test.ts +52 -48
- package/src/index.ts +50 -2583
- package/src/integrity-manifest.ts +41 -21
- package/src/json-values.ts +11 -0
- package/src/plugin-release.ts +457 -0
- package/src/plugin-skips.ts +110 -0
- package/src/policy.ts +39 -0
- package/src/portable-catalog.test.ts +0 -5
- package/src/portable-catalog.ts +16 -143
- package/src/portable-verify.ts +71 -0
- package/src/publication.test.ts +29 -1
- package/src/publication.ts +32 -13
- package/src/published-output.ts +60 -0
- package/src/site-icons.test.ts +0 -1
- package/src/site-icons.ts +4 -4
- package/src/snapshots.ts +287 -0
- package/src/source-digest.test.ts +3 -7
- package/src/source-resolution.ts +233 -0
- package/src/sources-json.test.ts +0 -1
- package/src/sources.ts +27 -33
- package/src/synchronize.ts +213 -0
- package/src/taxonomy.ts +87 -0
- package/src/upstream.ts +194 -0
- package/src/verify-artifacts.ts +365 -0
- package/src/write-artifacts.test.ts +0 -1
- package/dist/source-digest.d.ts +0 -2
- package/dist/source-digest.js +0 -12
- package/dist/source-digest.js.map +0 -1
- package/src/source-digest.ts +0 -14
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { publishCatalog } from './catalog-store.js';
|
|
2
|
+
import { buildConsumerIndex, CATALOG_INDEX_ARTIFACT, iconCoverage, } from './consumer-index.js';
|
|
3
|
+
import { digest } from './digest.js';
|
|
4
|
+
import { publishedAssetOf } from './integrity-manifest.js';
|
|
5
|
+
import { catalogIdSuffix, immutableAssetUrl } from './publication.js';
|
|
6
|
+
export function createArtifacts(catalog, lock, options = {}) {
|
|
7
|
+
const index = buildConsumerIndex({ ...options, catalog });
|
|
8
|
+
const summary = {
|
|
9
|
+
schemaVersion: 1,
|
|
10
|
+
catalogId: catalog.catalogId,
|
|
11
|
+
generatedAt: catalog.generatedAt,
|
|
12
|
+
sourceCount: catalog.sources.length,
|
|
13
|
+
pluginCount: catalog.plugins.length,
|
|
14
|
+
categories: [...new Set(catalog.plugins.flatMap((plugin) => plugin.categories))].toSorted(),
|
|
15
|
+
productGroups: [
|
|
16
|
+
...new Set(catalog.plugins.map((plugin) => plugin.productGroupingKey)),
|
|
17
|
+
].toSorted(),
|
|
18
|
+
search: catalog.plugins
|
|
19
|
+
.map((plugin) => ({
|
|
20
|
+
pluginId: plugin.pluginId,
|
|
21
|
+
text: `${plugin.displayName} ${plugin.description} ${plugin.keywords.join(' ')}`.trim(),
|
|
22
|
+
}))
|
|
23
|
+
.toSorted((left, right) => left.pluginId.localeCompare(right.pluginId)),
|
|
24
|
+
};
|
|
25
|
+
const compatibility = {
|
|
26
|
+
schemaVersion: 1,
|
|
27
|
+
catalogId: catalog.catalogId,
|
|
28
|
+
plugins: catalog.plugins.map((plugin) => ({
|
|
29
|
+
pluginId: plugin.pluginId,
|
|
30
|
+
harnessCompatibility: plugin.harnessCompatibility,
|
|
31
|
+
})),
|
|
32
|
+
};
|
|
33
|
+
// Navigation stays small and points at the shards a client then fetches:
|
|
34
|
+
// `shelf-*` for a default view, `category-*` for "view more", and
|
|
35
|
+
// `catalog-index.v1.json` for the complete product list.
|
|
36
|
+
const navigation = {
|
|
37
|
+
schemaVersion: 1,
|
|
38
|
+
catalogId: catalog.catalogId,
|
|
39
|
+
generatedAt: catalog.generatedAt,
|
|
40
|
+
topCount: index.topCount,
|
|
41
|
+
sourcePreference: index.sourcePreference,
|
|
42
|
+
counts: index.counts,
|
|
43
|
+
catalogIndexArtifact: CATALOG_INDEX_ARTIFACT,
|
|
44
|
+
iconCoverage: iconCoverage(index),
|
|
45
|
+
// The index URL rides in the navigation artifact so a client can fetch the
|
|
46
|
+
// browsing index from the publication it was told about, verify it against
|
|
47
|
+
// the digest in integrity.json, and never compose a URL or need this
|
|
48
|
+
// service to proxy it. Absent for an unpublished build.
|
|
49
|
+
...(options.publicationCatalogsBaseUrl
|
|
50
|
+
? {
|
|
51
|
+
catalogIndexUrl: `${options.publicationCatalogsBaseUrl}/${catalogIdSuffix(catalog.catalogId)}/${CATALOG_INDEX_ARTIFACT}`,
|
|
52
|
+
}
|
|
53
|
+
: options.publicationAssetsBaseUrl
|
|
54
|
+
? { catalogIndexUrl: `${options.publicationAssetsBaseUrl}/${CATALOG_INDEX_ARTIFACT}` }
|
|
55
|
+
: options.publicationRepositoryUrl
|
|
56
|
+
? {
|
|
57
|
+
catalogIndexUrl: immutableAssetUrl(options.publicationRepositoryUrl, catalog.catalogId, CATALOG_INDEX_ARTIFACT),
|
|
58
|
+
}
|
|
59
|
+
: {}),
|
|
60
|
+
// Marks ride in the navigation artifact so a client that already receives it
|
|
61
|
+
// renders compiled brand marks without fetching the browsing index. Keys are
|
|
62
|
+
// sorted for a stable artifact.
|
|
63
|
+
brandMarks: Object.fromEntries(Object.keys(index.products)
|
|
64
|
+
.toSorted()
|
|
65
|
+
.flatMap((productKey) => {
|
|
66
|
+
const assetUrl = index.products[productKey]?.icon?.assetUrl;
|
|
67
|
+
return assetUrl ? [[productKey, assetUrl]] : [];
|
|
68
|
+
})),
|
|
69
|
+
categories: index.categories,
|
|
70
|
+
diagnostics: options.curationDiagnostics === false ? [] : index.diagnostics,
|
|
71
|
+
};
|
|
72
|
+
const shards = {
|
|
73
|
+
[CATALOG_INDEX_ARTIFACT]: json({
|
|
74
|
+
schemaVersion: 1,
|
|
75
|
+
catalogId: catalog.catalogId,
|
|
76
|
+
generatedAt: catalog.generatedAt,
|
|
77
|
+
topCount: index.topCount,
|
|
78
|
+
sourcePreference: index.sourcePreference,
|
|
79
|
+
counts: index.counts,
|
|
80
|
+
products: index.products,
|
|
81
|
+
categories: index.categories.map((category) => ({
|
|
82
|
+
category: category.category,
|
|
83
|
+
productCount: category.productCount,
|
|
84
|
+
productKeys: category.productKeys,
|
|
85
|
+
})),
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
88
|
+
for (const category of index.categories) {
|
|
89
|
+
shards[category.shelfArtifact] = json({
|
|
90
|
+
schemaVersion: 1,
|
|
91
|
+
catalogId: catalog.catalogId,
|
|
92
|
+
category: category.category,
|
|
93
|
+
topCount: index.topCount,
|
|
94
|
+
products: category.topProductKeys.map((productKey) => index.products[productKey]),
|
|
95
|
+
});
|
|
96
|
+
shards[category.listArtifact] = json({
|
|
97
|
+
schemaVersion: 1,
|
|
98
|
+
catalogId: catalog.catalogId,
|
|
99
|
+
category: category.category,
|
|
100
|
+
productCount: category.productCount,
|
|
101
|
+
pluginCount: category.pluginCount,
|
|
102
|
+
products: category.productKeys.map((productKey) => index.products[productKey]),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
const files = {
|
|
106
|
+
'catalog.v1.json': json(catalog),
|
|
107
|
+
'catalog-summary.v1.json': json(summary),
|
|
108
|
+
'sources.lock.json': json(lock),
|
|
109
|
+
'compatibility.v1.json': json(compatibility),
|
|
110
|
+
'categories.v1.json': json(navigation),
|
|
111
|
+
...shards,
|
|
112
|
+
};
|
|
113
|
+
const integrityBody = {
|
|
114
|
+
schemaVersion: 1,
|
|
115
|
+
catalogId: catalog.catalogId,
|
|
116
|
+
// An artifact's digest is the canonical digest of its text, not a hash of
|
|
117
|
+
// the file bytes: consumers read the artifact as a string and compare it
|
|
118
|
+
// with `canonicalDigest`, so a checker hashing the raw bytes will disagree
|
|
119
|
+
// with every published release. Mirrored marks below are the byte case,
|
|
120
|
+
// because a client stores those bytes.
|
|
121
|
+
files: Object.fromEntries(Object.entries(files)
|
|
122
|
+
.toSorted()
|
|
123
|
+
.map(([name, content]) => [name, digest(content)])),
|
|
124
|
+
// Mirrored brand marks are published next to the artifacts, never inside
|
|
125
|
+
// them: the digest and size let a consumer or the release check verify the
|
|
126
|
+
// bytes it fetched without trusting the release listing.
|
|
127
|
+
assets: iconAssets(index),
|
|
128
|
+
};
|
|
129
|
+
return { ...files, 'integrity.json': json(integrityBody) };
|
|
130
|
+
}
|
|
131
|
+
export function iconAssets(index) {
|
|
132
|
+
const assets = new Map();
|
|
133
|
+
for (const product of Object.values(index.products)) {
|
|
134
|
+
if (!product.icon)
|
|
135
|
+
continue;
|
|
136
|
+
assets.set(product.icon.asset, publishedAssetOf(product.icon));
|
|
137
|
+
}
|
|
138
|
+
return [...assets.values()].toSorted((left, right) => left.name.localeCompare(right.name));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Publishes a verified artifact set to `generatedDirectory` under the output's
|
|
142
|
+
* coordination lock. See `catalog-store.ts` for the publication contract.
|
|
143
|
+
*/
|
|
144
|
+
export async function writeArtifacts(generatedDirectory, artifacts, options = {}) {
|
|
145
|
+
await publishCatalog(generatedDirectory, artifacts, options);
|
|
146
|
+
}
|
|
147
|
+
function sortArtifactKeys(value) {
|
|
148
|
+
if (Array.isArray(value))
|
|
149
|
+
return value.map(sortArtifactKeys);
|
|
150
|
+
if (value !== null && typeof value === 'object')
|
|
151
|
+
return Object.fromEntries(Object.keys(value)
|
|
152
|
+
.toSorted()
|
|
153
|
+
.map((key) => [key, sortArtifactKeys(value[key])]));
|
|
154
|
+
return value;
|
|
155
|
+
}
|
|
156
|
+
function json(value) {
|
|
157
|
+
return `${JSON.stringify(sortArtifactKeys(value), null, 2)}\n`;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
|
package/dist/build.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ReleaseOptions } from './plugin-release.js';
|
|
2
|
+
import { type SkippedPlugin } from './plugin-skips.js';
|
|
3
|
+
import { type CatalogPolicy } from './policy.js';
|
|
4
|
+
import { type Catalog } from './schema.js';
|
|
5
|
+
import type { ResolvedSource } from './source-resolution.js';
|
|
6
|
+
export interface BuildCatalogInput extends Omit<ReleaseOptions, 'policy' | 'metadataOnly' | 'resolveExternalRefs'> {
|
|
7
|
+
readonly resolvedSources: readonly ResolvedSource[];
|
|
8
|
+
/** Each category's curated products, which head the catalog in this order. */
|
|
9
|
+
readonly leading?: Readonly<Record<string, readonly string[]>>;
|
|
10
|
+
readonly policy?: CatalogPolicy;
|
|
11
|
+
readonly metadataOnly?: boolean;
|
|
12
|
+
readonly resolveExternalRefs?: boolean;
|
|
13
|
+
}
|
|
14
|
+
interface BuildCatalogResult {
|
|
15
|
+
readonly catalog: Catalog;
|
|
16
|
+
readonly skippedPlugins: readonly SkippedPlugin[];
|
|
17
|
+
}
|
|
18
|
+
export declare function buildCatalog(input: BuildCatalogInput): Promise<Catalog>;
|
|
19
|
+
export declare function buildCatalogInternal(input: BuildCatalogInput): Promise<BuildCatalogResult>;
|
|
20
|
+
export {};
|
package/dist/build.js
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { mapWithConcurrency } from './concurrency.js';
|
|
2
|
+
import { contentId } from './digest.js';
|
|
3
|
+
import { normalizePlugin } from './plugin-release.js';
|
|
4
|
+
import { createSkippedPlugin, PluginSafetyError, UPSTREAM_WEATHER_SKIP_CODES, } from './plugin-skips.js';
|
|
5
|
+
import { assertRepositoryAllowed, DEFAULT_POLICY } from './policy.js';
|
|
6
|
+
import { CatalogSchema, PluginSchema, } from './schema.js';
|
|
7
|
+
import { canonicalRepositoryUrl } from './sources.js';
|
|
8
|
+
import { orderLeadingPlugins } from './taxonomy.js';
|
|
9
|
+
export async function buildCatalog(input) {
|
|
10
|
+
return (await buildCatalogInternal(input)).catalog;
|
|
11
|
+
}
|
|
12
|
+
export async function buildCatalogInternal(input) {
|
|
13
|
+
const policy = input.policy ?? DEFAULT_POLICY;
|
|
14
|
+
const options = {
|
|
15
|
+
...input,
|
|
16
|
+
policy,
|
|
17
|
+
metadataOnly: input.metadataOnly ?? false,
|
|
18
|
+
resolveExternalRefs: input.resolveExternalRefs ?? false,
|
|
19
|
+
};
|
|
20
|
+
for (const source of input.resolvedSources) {
|
|
21
|
+
assertRepositoryAllowed(source.config.repositoryUrl, policy);
|
|
22
|
+
for (const entry of source.parsed.entries) {
|
|
23
|
+
if (entry.source.kind === 'git')
|
|
24
|
+
assertRepositoryAllowed(entry.source.repositoryUrl, policy);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const sourceRecords = input.resolvedSources
|
|
28
|
+
.map(({ config, commitSha, retrievedAt, manifestDigest }) => ({
|
|
29
|
+
sourceId: config.sourceId,
|
|
30
|
+
displayName: config.displayName,
|
|
31
|
+
repositoryUrl: canonicalRepositoryUrl(config.repositoryUrl),
|
|
32
|
+
marketplaceDialect: config.marketplaceDialect,
|
|
33
|
+
manifestPath: config.manifestPath,
|
|
34
|
+
defaultBranch: config.defaultBranch,
|
|
35
|
+
resolvedCommitSha: commitSha,
|
|
36
|
+
retrievalTimestamp: retrievedAt,
|
|
37
|
+
trustClassification: config.trustClassification,
|
|
38
|
+
sourceManifestDigest: manifestDigest,
|
|
39
|
+
synchronizationStatus: 'synchronized',
|
|
40
|
+
}))
|
|
41
|
+
.toSorted((left, right) => left.sourceId.localeCompare(right.sourceId));
|
|
42
|
+
let plugins = [];
|
|
43
|
+
let skippedPlugins = [];
|
|
44
|
+
for (const source of input.resolvedSources) {
|
|
45
|
+
if (source.parsed.entries.length > policy.maxMarketplacePlugins)
|
|
46
|
+
throw new Error('MARKETPLACE_TOO_MANY_PLUGINS');
|
|
47
|
+
const normalized = await mapWithConcurrency(source.parsed.entries, 8, async (entry) => {
|
|
48
|
+
try {
|
|
49
|
+
const plugin = await normalizePlugin(source, entry, options);
|
|
50
|
+
try {
|
|
51
|
+
return { plugin: PluginSchema.parse(plugin) };
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
throw new PluginSafetyError('PLUGIN_SCHEMA_INVALID', []);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
const skipped = createSkippedPlugin(source, entry, error);
|
|
59
|
+
if (!skipped)
|
|
60
|
+
throw error;
|
|
61
|
+
return { skipped };
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
const sourcePlugins = [];
|
|
65
|
+
const sourceSkipped = [];
|
|
66
|
+
for (const result of normalized) {
|
|
67
|
+
if (result.plugin)
|
|
68
|
+
sourcePlugins.push(result.plugin);
|
|
69
|
+
if (result.skipped)
|
|
70
|
+
sourceSkipped.push(result.skipped);
|
|
71
|
+
}
|
|
72
|
+
const weatherSkips = sourceSkipped.filter((skipped) => UPSTREAM_WEATHER_SKIP_CODES.has(skipped.reasonCode));
|
|
73
|
+
if (source.parsed.entries.length > 0 && weatherSkips.length === source.parsed.entries.length)
|
|
74
|
+
throw new PluginSafetyError('PLUGIN_SOURCE_UNAVAILABLE', [
|
|
75
|
+
canonicalRepositoryUrl(source.config.repositoryUrl),
|
|
76
|
+
]);
|
|
77
|
+
for (const plugin of sourcePlugins)
|
|
78
|
+
plugins.push(plugin);
|
|
79
|
+
for (const skipped of sourceSkipped)
|
|
80
|
+
skippedPlugins.push(skipped);
|
|
81
|
+
}
|
|
82
|
+
plugins = plugins.toSorted((left, right) => left.pluginId.localeCompare(right.pluginId));
|
|
83
|
+
skippedPlugins = skippedPlugins.toSorted((left, right) => left.pluginId.localeCompare(right.pluginId) ||
|
|
84
|
+
left.reasonCode.localeCompare(right.reasonCode) ||
|
|
85
|
+
left.paths.join('\0').localeCompare(right.paths.join('\0')));
|
|
86
|
+
const body = {
|
|
87
|
+
schemaVersion: 1,
|
|
88
|
+
generatedAt: sourceRecords
|
|
89
|
+
.map((s) => s.retrievalTimestamp)
|
|
90
|
+
.toSorted()
|
|
91
|
+
.at(-1) ?? new Date(0).toISOString(),
|
|
92
|
+
sources: sourceRecords,
|
|
93
|
+
plugins: orderLeadingPlugins({ plugins }, input.leading).plugins,
|
|
94
|
+
};
|
|
95
|
+
return {
|
|
96
|
+
catalog: CatalogSchema.parse({
|
|
97
|
+
...body,
|
|
98
|
+
catalogId: contentId('catalog', body),
|
|
99
|
+
}),
|
|
100
|
+
skippedPlugins,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CatalogPolicy } from './policy.js';
|
|
2
|
+
import type { MarketplaceDialect } from './sources.js';
|
|
3
|
+
import { type Capability, type Harness, type HarnessCompatibility, type SecurityClassification } from './schema.js';
|
|
4
|
+
export declare function classifyCapabilities(files: ReadonlyMap<string, Uint8Array>, metadata?: Record<string, unknown>, policy?: CatalogPolicy): Capability[];
|
|
5
|
+
export declare function capabilitySummary(capabilities: readonly Capability[]): Record<Capability['type'], number>;
|
|
6
|
+
export declare function createCompatibility(dialect: MarketplaceDialect, capabilities: readonly Capability[], policy?: CatalogPolicy): Record<Harness, HarnessCompatibility>;
|
|
7
|
+
export declare function createSecurity(capabilities: readonly Capability[], policy: CatalogPolicy, metadataOnly: boolean): SecurityClassification;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { basename } from 'node:path';
|
|
2
|
+
import { DEFAULT_POLICY } from './policy.js';
|
|
3
|
+
import { HarnessSchema, } from './schema.js';
|
|
4
|
+
export function classifyCapabilities(files, metadata, policy = DEFAULT_POLICY) {
|
|
5
|
+
const groups = new Map();
|
|
6
|
+
const add = (type, path) => groups.set(type, [...(groups.get(type) ?? []), path]);
|
|
7
|
+
for (const path of files.keys()) {
|
|
8
|
+
const lower = path.toLocaleLowerCase();
|
|
9
|
+
const file = basename(lower);
|
|
10
|
+
if (file === 'skill.md' || lower.includes('/skills/'))
|
|
11
|
+
add('skill', path);
|
|
12
|
+
if (file === '.mcp.json' || file === 'mcp.json' || lower.includes('/mcp-servers/'))
|
|
13
|
+
add('mcp-server', path);
|
|
14
|
+
if (lower.includes('/commands/') || lower.startsWith('commands/'))
|
|
15
|
+
add('command', path);
|
|
16
|
+
if (lower.includes('/agents/') || lower.startsWith('agents/') || lower.includes('/subagents/'))
|
|
17
|
+
add('agent', path);
|
|
18
|
+
if (lower.includes('/hooks/') || lower.startsWith('hooks/') || file === 'hooks.json')
|
|
19
|
+
add('hook', path);
|
|
20
|
+
if (lower.includes('/rules/') ||
|
|
21
|
+
lower.startsWith('rules/') ||
|
|
22
|
+
file === 'agents.md' ||
|
|
23
|
+
file === 'claude.md' ||
|
|
24
|
+
lower.includes('.cursor/rules/'))
|
|
25
|
+
add('rule', path);
|
|
26
|
+
if (lower.includes('browser') || lower.includes('playwright') || lower.includes('chrome'))
|
|
27
|
+
add('browser', path);
|
|
28
|
+
if (lower.includes('/schedule') || lower.includes('/cron') || file.includes('schedule'))
|
|
29
|
+
add('scheduled-task', path);
|
|
30
|
+
if (lower.includes('/ui/') || lower.startsWith('ui/') || lower.includes('/components/'))
|
|
31
|
+
add('ui-component', path);
|
|
32
|
+
if (lower.startsWith('bin/') ||
|
|
33
|
+
lower.startsWith('scripts/') ||
|
|
34
|
+
/\.(sh|bash|py|exe|bin)$/.test(file))
|
|
35
|
+
add('executable', path);
|
|
36
|
+
}
|
|
37
|
+
if (metadata && (metadata.mcpServers !== undefined || metadata.mcp !== undefined))
|
|
38
|
+
add('mcp-server', 'plugin-manifest');
|
|
39
|
+
if (metadata && (metadata.hooks !== undefined || metadata.hook !== undefined))
|
|
40
|
+
add('hook', 'plugin-manifest');
|
|
41
|
+
if (groups.size === 0)
|
|
42
|
+
groups.set('unknown', ['plugin-root']);
|
|
43
|
+
return [...groups.entries()].map(([type, paths]) => ({
|
|
44
|
+
type: type,
|
|
45
|
+
name: type,
|
|
46
|
+
paths: [...new Set(paths)].toSorted(),
|
|
47
|
+
metadata: {},
|
|
48
|
+
securityImpact: policy.sensitiveCapabilityTypes.includes(type) ? 'sensitive' : 'none',
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
export function capabilitySummary(capabilities) {
|
|
52
|
+
const summary = {};
|
|
53
|
+
for (const capability of capabilities)
|
|
54
|
+
summary[capability.type] = capability.paths.length;
|
|
55
|
+
return summary;
|
|
56
|
+
}
|
|
57
|
+
export function createCompatibility(dialect, capabilities, policy = DEFAULT_POLICY) {
|
|
58
|
+
const types = [...new Set(capabilities.map((capability) => capability.type))].toSorted();
|
|
59
|
+
const sensitive = types.filter((type) => policy.sensitiveCapabilityTypes.includes(type));
|
|
60
|
+
const make = (status, reasons) => ({
|
|
61
|
+
status,
|
|
62
|
+
reasons: [...new Set(reasons)].toSorted(),
|
|
63
|
+
responsibleCapabilities: types,
|
|
64
|
+
});
|
|
65
|
+
const result = {};
|
|
66
|
+
for (const harness of HarnessSchema.options) {
|
|
67
|
+
const native = (harness === 'claude-code' && dialect === 'claude') ||
|
|
68
|
+
(harness === 'cursor' && dialect === 'cursor') ||
|
|
69
|
+
(harness === 'codex' && dialect === 'openai');
|
|
70
|
+
if (types.includes('executable'))
|
|
71
|
+
result[harness] = make('unsupported', [
|
|
72
|
+
'Executable components require harness-specific execution authority.',
|
|
73
|
+
]);
|
|
74
|
+
else if (types.includes('unknown'))
|
|
75
|
+
result[harness] = make('unknown', [
|
|
76
|
+
'The plugin content was not classified into a supported component type.',
|
|
77
|
+
]);
|
|
78
|
+
else if (native && sensitive.length === 0)
|
|
79
|
+
result[harness] = make('native', [
|
|
80
|
+
`The ${dialect} marketplace dialect matches the ${harness} harness.`,
|
|
81
|
+
]);
|
|
82
|
+
else if (sensitive.length > 0 && ['pi', 'hermes', 'opencode'].includes(harness))
|
|
83
|
+
result[harness] = make('partially-supported', [
|
|
84
|
+
`Sensitive capabilities require ${harness} policy and runtime review.`,
|
|
85
|
+
...sensitive.map((type) => `Capability ${type} is not granted by this catalog.`),
|
|
86
|
+
]);
|
|
87
|
+
else if (types.every((type) => ['skill', 'rule', 'mcp-server', 'command', 'agent'].includes(type)))
|
|
88
|
+
result[harness] = make(native ? 'native' : 'portable', native
|
|
89
|
+
? [`The ${dialect} marketplace dialect matches the ${harness} harness.`]
|
|
90
|
+
: ['Files can be copied or translated into the harness layout.']);
|
|
91
|
+
else
|
|
92
|
+
result[harness] = make('requires-translation', [
|
|
93
|
+
'One or more capabilities need a harness-specific projection.',
|
|
94
|
+
]);
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
export function createSecurity(capabilities, policy, metadataOnly) {
|
|
99
|
+
const sensitive = [
|
|
100
|
+
...new Set(capabilities
|
|
101
|
+
.filter((capability) => policy.sensitiveCapabilityTypes.includes(capability.type))
|
|
102
|
+
.map((capability) => capability.type)),
|
|
103
|
+
].toSorted();
|
|
104
|
+
const reasons = sensitive.length > 0
|
|
105
|
+
? sensitive.map((type) => `Contains ${type} capability metadata.`)
|
|
106
|
+
: metadataOnly
|
|
107
|
+
? ['Content was not fetched in metadata-only mode.']
|
|
108
|
+
: ['No permission-sensitive executable capability was detected.'];
|
|
109
|
+
return {
|
|
110
|
+
level: sensitive.length > 0 ? 'sensitive' : metadataOnly ? 'review' : 'low',
|
|
111
|
+
reasons,
|
|
112
|
+
permissionSensitiveChanges: sensitive,
|
|
113
|
+
contentResolution: metadataOnly ? 'metadata-only' : 'complete',
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
|
package/dist/catalog-store.d.ts
CHANGED
|
@@ -73,9 +73,4 @@ export declare function withCatalogRead<T>(output: string, read: () => Promise<T
|
|
|
73
73
|
* the other.
|
|
74
74
|
*/
|
|
75
75
|
export declare function publishCatalog(output: string, files: Readonly<Record<string, string | Uint8Array>>, options?: PublishOptions): Promise<void>;
|
|
76
|
-
/**
|
|
77
|
-
* Writes one file so a reader sees either the old or the new bytes. For
|
|
78
|
-
* content-addressed assets and the browsing index beside the catalog.
|
|
79
|
-
*/
|
|
80
|
-
export declare function writeFileAtomically(path: string, content: string | Uint8Array): Promise<void>;
|
|
81
76
|
export {};
|
package/dist/catalog-store.js
CHANGED
|
@@ -31,6 +31,7 @@ import { promises as fs } from 'node:fs';
|
|
|
31
31
|
import { hostname } from 'node:os';
|
|
32
32
|
import { basename, dirname, join, sep } from 'node:path';
|
|
33
33
|
import { setTimeout as sleep } from 'node:timers/promises';
|
|
34
|
+
import { writeDurably } from './fs-atomic.js';
|
|
34
35
|
const LOCK_PREFIX = '.catalog-';
|
|
35
36
|
const ABSENT = 'absent';
|
|
36
37
|
const READ_ONLY_CODES = new Set(['EACCES', 'EPERM', 'EROFS']);
|
|
@@ -284,16 +285,6 @@ async function readJournal(paths) {
|
|
|
284
285
|
}
|
|
285
286
|
throw new Error(`CATALOG_RECOVERY_REQUIRED: unrecognized journal ${paths.journal}`);
|
|
286
287
|
}
|
|
287
|
-
async function writeDurably(path, content) {
|
|
288
|
-
const handle = await fs.open(path, 'wx');
|
|
289
|
-
try {
|
|
290
|
-
await handle.writeFile(content);
|
|
291
|
-
await handle.sync();
|
|
292
|
-
}
|
|
293
|
-
finally {
|
|
294
|
-
await handle.close();
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
288
|
/** Best effort: directory fsync is unavailable on Windows and some filesystems. */
|
|
298
289
|
async function syncDirectory(path) {
|
|
299
290
|
let handle;
|
|
@@ -469,19 +460,4 @@ export async function publishCatalog(output, files, options = {}) {
|
|
|
469
460
|
await lock.release();
|
|
470
461
|
}
|
|
471
462
|
}
|
|
472
|
-
/**
|
|
473
|
-
* Writes one file so a reader sees either the old or the new bytes. For
|
|
474
|
-
* content-addressed assets and the browsing index beside the catalog.
|
|
475
|
-
*/
|
|
476
|
-
export async function writeFileAtomically(path, content) {
|
|
477
|
-
const temporary = join(dirname(path), `.${basename(path)}.${randomUUID()}.tmp`);
|
|
478
|
-
try {
|
|
479
|
-
await writeDurably(temporary, content);
|
|
480
|
-
await fs.rename(temporary, path);
|
|
481
|
-
}
|
|
482
|
-
catch (error) {
|
|
483
|
-
await fs.rm(temporary, { force: true });
|
|
484
|
-
throw error;
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
463
|
//# sourceMappingURL=catalog-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-store.js","sourceRoot":"","sources":["../src/catalog-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog-store.js","sourceRoot":"","sources":["../src/catalog-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function mapWithConcurrency<T, U>(values: readonly T[], concurrency: number, mapper: (value: T, index: number) => Promise<U>): Promise<U[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export async function mapWithConcurrency(values, concurrency, mapper) {
|
|
2
|
+
const results = Array.from({ length: values.length });
|
|
3
|
+
let nextIndex = 0;
|
|
4
|
+
const worker = async () => {
|
|
5
|
+
while (true) {
|
|
6
|
+
const index = nextIndex++;
|
|
7
|
+
if (index >= values.length)
|
|
8
|
+
return;
|
|
9
|
+
results[index] = await mapper(values[index], index);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
await Promise.all(Array.from({ length: Math.min(Math.max(concurrency, 1), values.length) }, () => worker()));
|
|
13
|
+
return results;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=concurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAoB,EACpB,WAAmB,EACnB,MAA+C;IAE/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACxD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,SAAS,EAAE,CAAA;YACzB,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAM;YAClC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAE,EAAE,KAAK,CAAC,CAAA;QACtD,CAAC;IACH,CAAC,CAAA;IACD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAC1F,CAAA;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
|