@adea-ai/plugins 3.0.10 → 4.0.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 +18 -11
- package/dist/agent-plugins-catalog.d.ts +2 -3
- package/dist/agent-plugins-catalog.js +2 -10
- package/dist/agent-plugins-catalog.js.map +1 -1
- package/dist/catalog-store.d.ts +81 -0
- package/dist/catalog-store.js +487 -0
- package/dist/catalog-store.js.map +1 -0
- package/dist/consumer-index.d.ts +1 -1
- package/dist/consumer-index.js +17 -7
- package/dist/consumer-index.js.map +1 -1
- package/dist/display-name.js +3 -2
- package/dist/display-name.js.map +1 -1
- package/dist/harness.d.ts +50 -9
- package/dist/harness.js +190 -147
- package/dist/harness.js.map +1 -1
- package/dist/icon-mirror.d.ts +2 -2
- package/dist/icon-mirror.js +38 -25
- package/dist/icon-mirror.js.map +1 -1
- package/dist/icons.js +5 -27
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.js +103 -88
- package/dist/index.js.map +1 -1
- package/dist/publication.d.ts +8 -11
- package/dist/publication.js +8 -11
- package/dist/publication.js.map +1 -1
- package/dist/schema.d.ts +0 -40
- package/dist/schema.js +0 -36
- package/dist/schema.js.map +1 -1
- package/dist/site-icons.d.ts +2 -0
- package/dist/site-icons.js +46 -9
- package/dist/site-icons.js.map +1 -1
- package/dist/source-digest.d.ts +2 -0
- package/dist/source-digest.js +12 -0
- package/dist/source-digest.js.map +1 -0
- package/dist/sources.js +3 -3
- package/dist/sources.js.map +1 -1
- 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 +4 -9
- package/src/agent-plugins-catalog.ts +3 -10
- package/src/artifacts.test.ts +80 -0
- package/src/catalog-installation.test.ts +1 -1
- package/src/catalog-store.ts +546 -0
- package/src/consumer-index.test.ts +125 -0
- package/src/consumer-index.ts +23 -8
- package/src/default-head.test.ts +143 -0
- package/src/display-name.test.ts +8 -0
- package/src/display-name.ts +3 -2
- package/src/{agent-plugins-harness.test.ts → harness.test.ts} +1 -1
- package/src/harness.ts +249 -170
- package/src/icon-mirror.ts +36 -23
- package/src/icons.test.ts +5 -0
- package/src/icons.ts +6 -29
- package/src/index.test.ts +272 -40
- package/src/index.ts +131 -94
- package/src/manifest-retry.test.ts +49 -0
- package/src/portable-catalog.test.ts +8 -5
- package/src/publication.ts +8 -11
- package/src/schema.ts +0 -40
- package/src/site-icon-fallback.test.ts +36 -19
- package/src/site-icons.test.ts +104 -0
- package/src/site-icons.ts +47 -9
- package/src/source-config-sync.test.ts +84 -0
- package/src/source-digest.test.ts +101 -0
- package/src/source-digest.ts +14 -0
- package/src/sources-json.test.ts +53 -0
- package/src/sources.ts +3 -3
- package/src/upstream-headers.test.ts +31 -7
- package/src/write-artifacts.test.ts +375 -0
- package/dist/agent-plugins-harness.d.ts +0 -54
- package/dist/agent-plugins-harness.js +0 -212
- package/dist/agent-plugins-harness.js.map +0 -1
- package/src/agent-plugins-harness.ts +0 -281
package/dist/icon-mirror.js
CHANGED
|
@@ -2,23 +2,28 @@ import { promises as fs } from 'node:fs';
|
|
|
2
2
|
import { dirname, join } from 'node:path';
|
|
3
3
|
import { byteDigest } from './index.js';
|
|
4
4
|
import { iconAssetName, inspectIconBytes } from './icons.js';
|
|
5
|
+
import { writeFileAtomically } from './catalog-store.js';
|
|
5
6
|
/**
|
|
6
7
|
* Maps every mirrored icon back to the exact commit it was resolved from, by
|
|
7
|
-
* matching the digest the product advertises.
|
|
8
|
-
*
|
|
8
|
+
* matching the digest the product advertises. Retain each distinct pinned
|
|
9
|
+
* origin so the mirror can try another source if one is unavailable.
|
|
9
10
|
*/
|
|
10
11
|
export function resolveIconSources(catalog, index) {
|
|
11
12
|
const byAsset = new Map();
|
|
13
|
+
const add = (source) => {
|
|
14
|
+
const candidates = byAsset.get(source.asset) ?? [];
|
|
15
|
+
if (!candidates.some((candidate) => JSON.stringify(candidate) === JSON.stringify(source)))
|
|
16
|
+
candidates.push(source);
|
|
17
|
+
byAsset.set(source.asset, candidates);
|
|
18
|
+
};
|
|
12
19
|
for (const plugin of catalog.plugins) {
|
|
13
20
|
for (const release of plugin.availableReleases) {
|
|
14
21
|
const icon = release.icon;
|
|
15
22
|
if (!icon)
|
|
16
23
|
continue;
|
|
17
24
|
const asset = iconAssetName(icon.digest, icon.contentType);
|
|
18
|
-
if (byAsset.has(asset))
|
|
19
|
-
continue;
|
|
20
25
|
if (icon.kind === 'favicon') {
|
|
21
|
-
|
|
26
|
+
add({
|
|
22
27
|
kind: 'favicon',
|
|
23
28
|
asset,
|
|
24
29
|
digest: icon.digest,
|
|
@@ -32,7 +37,7 @@ export function resolveIconSources(catalog, index) {
|
|
|
32
37
|
const subdirectory = release.pluginSubdirectory && release.pluginSubdirectory !== '.'
|
|
33
38
|
? release.pluginSubdirectory
|
|
34
39
|
: '';
|
|
35
|
-
|
|
40
|
+
add({
|
|
36
41
|
kind: 'content',
|
|
37
42
|
asset,
|
|
38
43
|
digest: icon.digest,
|
|
@@ -46,16 +51,13 @@ export function resolveIconSources(catalog, index) {
|
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
|
-
const
|
|
54
|
+
const selected = new Set();
|
|
50
55
|
for (const product of Object.values(index.products)) {
|
|
51
56
|
const icon = product.icon;
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
const source = byAsset.get(icon.asset);
|
|
55
|
-
if (source)
|
|
56
|
-
sources.push(source);
|
|
57
|
+
if (icon)
|
|
58
|
+
selected.add(icon.asset);
|
|
57
59
|
}
|
|
58
|
-
return
|
|
60
|
+
return [...selected].toSorted().flatMap((asset) => byAsset.get(asset) ?? []);
|
|
59
61
|
}
|
|
60
62
|
/**
|
|
61
63
|
* Writes mirrored icon bytes beside the published artifacts.
|
|
@@ -67,17 +69,26 @@ export function resolveIconSources(catalog, index) {
|
|
|
67
69
|
*/
|
|
68
70
|
export async function stageIconAssets(input) {
|
|
69
71
|
const staged = [];
|
|
70
|
-
const skipped =
|
|
72
|
+
const skipped = new Map();
|
|
73
|
+
const complete = new Set();
|
|
74
|
+
const skip = (asset, reason) => {
|
|
75
|
+
if (!skipped.has(asset))
|
|
76
|
+
skipped.set(asset, reason);
|
|
77
|
+
};
|
|
71
78
|
await fs.mkdir(input.assetsDirectory, { recursive: true });
|
|
72
79
|
for (const source of input.sources) {
|
|
80
|
+
if (complete.has(source.asset))
|
|
81
|
+
continue;
|
|
73
82
|
const destination = join(input.assetsDirectory, source.asset);
|
|
74
83
|
const existing = await fs.readFile(destination).catch(() => undefined);
|
|
75
84
|
if (existing && byteDigest(existing) === source.digest) {
|
|
76
85
|
staged.push(publishedAssetOf(source));
|
|
86
|
+
complete.add(source.asset);
|
|
87
|
+
skipped.delete(source.asset);
|
|
77
88
|
continue;
|
|
78
89
|
}
|
|
79
90
|
if (existing) {
|
|
80
|
-
|
|
91
|
+
skip(source.asset, 'ASSET_CONFLICT');
|
|
81
92
|
continue;
|
|
82
93
|
}
|
|
83
94
|
let bytes;
|
|
@@ -85,32 +96,34 @@ export async function stageIconAssets(input) {
|
|
|
85
96
|
bytes = await input.readBytes(source);
|
|
86
97
|
}
|
|
87
98
|
catch (error) {
|
|
88
|
-
|
|
89
|
-
asset: source.asset,
|
|
90
|
-
reason: `FETCH_FAILED: ${error instanceof Error ? error.message : String(error)}`,
|
|
91
|
-
});
|
|
99
|
+
skip(source.asset, `FETCH_FAILED: ${error instanceof Error ? error.message : String(error)}`);
|
|
92
100
|
continue;
|
|
93
101
|
}
|
|
94
102
|
const inspected = inspectIconBytes(bytes);
|
|
95
103
|
if (!('contentType' in inspected)) {
|
|
96
|
-
|
|
104
|
+
skip(source.asset, inspected.rejected);
|
|
97
105
|
continue;
|
|
98
106
|
}
|
|
99
107
|
if (inspected.contentType !== source.contentType) {
|
|
100
|
-
|
|
108
|
+
skip(source.asset, 'CONTENT_TYPE_CHANGED');
|
|
101
109
|
continue;
|
|
102
110
|
}
|
|
103
111
|
if (byteDigest(bytes) !== source.digest || bytes.byteLength !== source.bytes) {
|
|
104
|
-
|
|
112
|
+
skip(source.asset, 'DIGEST_MISMATCH');
|
|
105
113
|
continue;
|
|
106
114
|
}
|
|
107
115
|
await fs.mkdir(dirname(destination), { recursive: true });
|
|
108
|
-
await
|
|
116
|
+
await writeFileAtomically(destination, bytes);
|
|
109
117
|
staged.push(publishedAssetOf(source));
|
|
118
|
+
complete.add(source.asset);
|
|
119
|
+
skipped.delete(source.asset);
|
|
110
120
|
}
|
|
111
121
|
// Distinct assets: two products can share one mark, and the catalog declares
|
|
112
122
|
// each asset once.
|
|
113
|
-
return {
|
|
123
|
+
return {
|
|
124
|
+
staged: dedupeAssets(staged),
|
|
125
|
+
skipped: [...skipped].map(([asset, reason]) => ({ asset, reason })),
|
|
126
|
+
};
|
|
114
127
|
}
|
|
115
128
|
function dedupeAssets(assets) {
|
|
116
129
|
const unique = new Map();
|
|
@@ -142,6 +155,6 @@ export async function stageIconBytes(assetsDirectory, asset, bytes) {
|
|
|
142
155
|
if (existing && byteDigest(existing) === byteDigest(bytes))
|
|
143
156
|
return;
|
|
144
157
|
await fs.mkdir(dirname(destination), { recursive: true });
|
|
145
|
-
await
|
|
158
|
+
await writeFileAtomically(destination, bytes);
|
|
146
159
|
}
|
|
147
160
|
//# sourceMappingURL=icon-mirror.js.map
|
package/dist/icon-mirror.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-mirror.js","sourceRoot":"","sources":["../src/icon-mirror.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,UAAU,EAAuB,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"icon-mirror.js","sourceRoot":"","sources":["../src/icon-mirror.ts"],"names":[],"mappings":"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"}
|
package/dist/icons.js
CHANGED
|
@@ -51,26 +51,6 @@ const MARK_WORDS = new Set([
|
|
|
51
51
|
'logomark',
|
|
52
52
|
'wordmark',
|
|
53
53
|
]);
|
|
54
|
-
const VARIANT_WORDS = new Set([
|
|
55
|
-
'large',
|
|
56
|
-
'small',
|
|
57
|
-
'light',
|
|
58
|
-
'dark',
|
|
59
|
-
'mono',
|
|
60
|
-
'white',
|
|
61
|
-
'black',
|
|
62
|
-
'positive',
|
|
63
|
-
'negative',
|
|
64
|
-
'color',
|
|
65
|
-
'colour',
|
|
66
|
-
'primary',
|
|
67
|
-
'secondary',
|
|
68
|
-
'horizontal',
|
|
69
|
-
'vertical',
|
|
70
|
-
'square',
|
|
71
|
-
'flat',
|
|
72
|
-
'glyph',
|
|
73
|
-
]);
|
|
74
54
|
/**
|
|
75
55
|
* Splits a file name into mark tokens. Separators are normalised because
|
|
76
56
|
* vendors write marks as `logo.svg`, `atlan-logo.png`, `Dynatrace_Logo_color_positive.png`
|
|
@@ -83,9 +63,8 @@ function splitName(basename) {
|
|
|
83
63
|
.filter(Boolean)
|
|
84
64
|
.map((word) => word.toLowerCase());
|
|
85
65
|
const size = words.some((word) => word === 'small') ? 1 : 0;
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
return { stems, marks, size };
|
|
66
|
+
const ranks = words.filter((word) => MARK_WORDS.has(word)).map((word) => STEM_RANK[word] ?? 0);
|
|
67
|
+
return { stemRank: ranks.length > 0 ? Math.min(...ranks) : undefined, size };
|
|
89
68
|
}
|
|
90
69
|
/**
|
|
91
70
|
* Chooses one icon file from a release's file index, deterministically.
|
|
@@ -114,9 +93,7 @@ export function selectIconPath(fileIndex) {
|
|
|
114
93
|
continue;
|
|
115
94
|
if (directories.some((segment) => EXCLUDED_DIRECTORIES.includes(segment)))
|
|
116
95
|
continue;
|
|
117
|
-
const {
|
|
118
|
-
const single = stems.length === 1 ? stems[0] : undefined;
|
|
119
|
-
const stemRank = marks ? (single ? (STEM_RANK[single] ?? 0) : 0) : undefined;
|
|
96
|
+
const { stemRank, size } = splitName(basename);
|
|
120
97
|
const nested = directories.filter((segment) => DIRECTORY_RANK[segment] !== undefined);
|
|
121
98
|
// A mark named as one — `logo.svg`, `atlan-logo.png`, `cs_logo_large.png` —
|
|
122
99
|
// is accepted anywhere, including the plugin root. An unnamed image must sit
|
|
@@ -130,7 +107,8 @@ export function selectIconPath(fileIndex) {
|
|
|
130
107
|
if (!Number.isFinite(directoryRank))
|
|
131
108
|
continue;
|
|
132
109
|
const score = [stemRank ?? 5, directoryRank, size, EXTENSION_RANK[extension] ?? 9, path.length];
|
|
133
|
-
|
|
110
|
+
const comparison = best ? compareScore(score, best.score) : -1;
|
|
111
|
+
if (!best || comparison < 0 || (comparison === 0 && path < best.path))
|
|
134
112
|
best = { path, score };
|
|
135
113
|
}
|
|
136
114
|
return best ? best.path : null;
|
package/dist/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH,mEAAmE;AACnE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAA;AAEzC,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;AAEzF,oFAAoF;AACpF,MAAM,SAAS,GAAqC;IAClD,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAA;AACD,MAAM,cAAc,GAAqC;IACvD,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;CACP,CAAA;AACD,iFAAiF;AACjF,MAAM,cAAc,GAAqC;IACvD,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;CACV,CAAA;AACD,gFAAgF;AAChF,MAAM,QAAQ,GACZ,6JAA6J,CAAA;AAC/J,gFAAgF;AAChF,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AAEnD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,MAAM;IACN,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,UAAU;CACX,CAAC,CAAA;AACF
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { type PublishOptions } from './catalog-store.js';
|
|
1
2
|
import { type Catalog, type Capability, type Harness, type HarnessCompatibility, type PluginRelease, type SourcesLock } from './schema.js';
|
|
2
3
|
import { type ParsedMarketplace, type SourceConfig } from './sources.js';
|
|
3
4
|
import { type ConsumerCategory, type ConsumerIndex, type ConsumerProduct, type LeadingDiagnostic, type ProductPreference } from './consumer-index.js';
|
|
4
5
|
import { type ProductIconOverrides } from './icons.js';
|
|
5
6
|
import { type SiteIconFetcher } from './site-icons.js';
|
|
7
|
+
import { sourceDigest as bytesDigest } from './source-digest.js';
|
|
8
|
+
export { bytesDigest };
|
|
9
|
+
export { catalogFingerprint, publishCatalog, withCatalogRead, writeFileAtomically, type CatalogCoordinationOptions, type PublicationStep, type PublishOptions, } from './catalog-store.js';
|
|
6
10
|
/**
|
|
7
11
|
* Marks the catalog format this compiler emits.
|
|
8
12
|
*
|
|
@@ -178,7 +182,6 @@ export interface ConsumerIndexOptions {
|
|
|
178
182
|
}
|
|
179
183
|
export declare function canonicalJson(value: unknown): string;
|
|
180
184
|
export declare function digest(value: unknown): string;
|
|
181
|
-
export declare function bytesDigest(files: ReadonlyMap<string, Uint8Array>): string;
|
|
182
185
|
export declare function stablePluginId(sourceId: string, upstreamName: string): string;
|
|
183
186
|
export declare function stableReleaseId(repositoryUrl: string, subdirectory: string, commitSha: string, contentDigest: string): string;
|
|
184
187
|
export declare function normalizeCategory(value: string, map: CategoryMap): string;
|
|
@@ -227,7 +230,11 @@ export interface PublishedAsset {
|
|
|
227
230
|
}
|
|
228
231
|
/** Every mirrored icon in the catalog, deduplicated by asset name. */
|
|
229
232
|
export declare function iconAssets(index: ConsumerIndex): readonly PublishedAsset[];
|
|
230
|
-
|
|
233
|
+
/**
|
|
234
|
+
* Publishes a verified artifact set to `generatedDirectory` under the output's
|
|
235
|
+
* coordination lock. See `catalog-store.ts` for the publication contract.
|
|
236
|
+
*/
|
|
237
|
+
export declare function writeArtifacts(generatedDirectory: string, artifacts: GeneratedArtifacts, options?: PublishOptions): Promise<void>;
|
|
231
238
|
export declare function verifyArtifacts(artifacts: GeneratedArtifacts): void;
|
|
232
239
|
/**
|
|
233
240
|
* Re-checks one consumer shard against the navigation index: a shelf carries
|
|
@@ -306,4 +313,3 @@ export declare class DirectorySnapshotLoader implements SnapshotLoader {
|
|
|
306
313
|
load(_repositoryUrl: string, _commitSha: string, pluginSubdirectory: string): Promise<Snapshot>;
|
|
307
314
|
}
|
|
308
315
|
export declare function snapshotFromDirectory(root: string, pluginSubdirectory: string): Promise<Snapshot>;
|
|
309
|
-
export {};
|