@drawcall/market 0.6.14 → 0.7.0
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/client.d.ts.map +1 -1
- package/dist/client.js +7 -4
- package/dist/client.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +6 -4
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/preview.d.ts +2 -14
- package/dist/commands/preview.d.ts.map +1 -1
- package/dist/commands/preview.js +4 -8
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/upload.d.ts.map +1 -1
- package/dist/commands/upload.js +5 -6
- package/dist/commands/upload.js.map +1 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +11 -12
- package/dist/install.js.map +1 -1
- package/dist/pack.d.ts.map +1 -1
- package/dist/pack.js +10 -17
- package/dist/pack.js.map +1 -1
- package/dist/refs.d.ts +20 -0
- package/dist/refs.d.ts.map +1 -0
- package/dist/refs.js +25 -0
- package/dist/refs.js.map +1 -0
- package/dist/resolve.d.ts +3 -0
- package/dist/resolve.d.ts.map +1 -1
- package/dist/resolve.js +27 -42
- package/dist/resolve.js.map +1 -1
- package/dist/v1/contract.d.ts +1 -0
- package/dist/v1/contract.d.ts.map +1 -1
- package/dist/v1/contract.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +7 -4
- package/src/commands/install.ts +6 -4
- package/src/commands/preview.ts +10 -24
- package/src/commands/upload.ts +5 -6
- package/src/install.ts +12 -15
- package/src/pack.ts +16 -22
- package/src/refs.ts +44 -0
- package/src/resolve.ts +44 -61
- package/src/v1/contract.ts +1 -0
package/dist/refs.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MarketClient } from './client.js';
|
|
2
|
+
import type { AssetRefEntry } from './v1/index.js';
|
|
3
|
+
export interface AssetRef {
|
|
4
|
+
name: string;
|
|
5
|
+
version?: string;
|
|
6
|
+
}
|
|
7
|
+
/** The one call the refs read needs — lets tests fake a single function. */
|
|
8
|
+
export interface RefsReader {
|
|
9
|
+
search: MarketClient['asset']['search'];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The collection read in refs mode: full entries (metadata, version history,
|
|
13
|
+
* files with data-plane URLs) for exactly the given refs — order-preserved,
|
|
14
|
+
* null per miss. Version omitted resolves to the latest visible version.
|
|
15
|
+
*/
|
|
16
|
+
export declare function lookupAssets(asset: RefsReader, refs: AssetRef[], opts?: {
|
|
17
|
+
includeUnapproved?: boolean;
|
|
18
|
+
key?: string;
|
|
19
|
+
}): Promise<(AssetRefEntry | null)[]>;
|
|
20
|
+
//# sourceMappingURL=refs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;CACxC;AAKD;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,QAAQ,EAAE,EAChB,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,CAkBnC"}
|
package/dist/refs.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** The server accepts up to 100 refs per read; larger sets chunk transparently. */
|
|
2
|
+
const MAX_REFS_PER_CALL = 100;
|
|
3
|
+
/**
|
|
4
|
+
* The collection read in refs mode: full entries (metadata, version history,
|
|
5
|
+
* files with data-plane URLs) for exactly the given refs — order-preserved,
|
|
6
|
+
* null per miss. Version omitted resolves to the latest visible version.
|
|
7
|
+
*/
|
|
8
|
+
export async function lookupAssets(asset, refs, opts = {}) {
|
|
9
|
+
const chunks = [];
|
|
10
|
+
for (let i = 0; i < refs.length; i += MAX_REFS_PER_CALL) {
|
|
11
|
+
chunks.push(refs.slice(i, i + MAX_REFS_PER_CALL));
|
|
12
|
+
}
|
|
13
|
+
const results = await Promise.all(chunks.map(async (chunk) => {
|
|
14
|
+
const result = await asset.search({
|
|
15
|
+
refs: chunk.map((ref) => (ref.version ? `${ref.name}@${ref.version}` : ref.name)).join(','),
|
|
16
|
+
includeUnapproved: opts.includeUnapproved ?? false,
|
|
17
|
+
...(opts.key ? { key: opts.key } : {}),
|
|
18
|
+
});
|
|
19
|
+
if (!('assets' in result))
|
|
20
|
+
throw new Error('refs read unexpectedly returned a search result');
|
|
21
|
+
return result.assets;
|
|
22
|
+
}));
|
|
23
|
+
return results.flat();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=refs.js.map
|
package/dist/refs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../src/refs.ts"],"names":[],"mappings":"AAaA,mFAAmF;AACnF,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAiB,EACjB,IAAgB,EAChB,OAAsD,EAAE;IAExD,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3F,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK;YAClD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QAC7F,OAAO,MAAM,CAAC,MAAM,CAAA;IACtB,CAAC,CAAC,CACH,CAAA;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC"}
|
package/dist/resolve.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* that they are compatible.
|
|
10
10
|
*/
|
|
11
11
|
import type { MarketClient } from './client.js';
|
|
12
|
+
import type { AssetFileEntry } from './contract.js';
|
|
12
13
|
import { type AssetDependencyAlias, type AssetDependencies } from './schemas.js';
|
|
13
14
|
export interface ResolvedAsset {
|
|
14
15
|
name: string;
|
|
@@ -18,6 +19,8 @@ export interface ResolvedAsset {
|
|
|
18
19
|
npmDependencies: Record<string, string>;
|
|
19
20
|
assetDependencies: AssetDependencies;
|
|
20
21
|
skillDependencies: Record<string, string>;
|
|
22
|
+
/** The resolved version's file index, carried from resolution so install needs no further reads. */
|
|
23
|
+
files: AssetFileEntry[];
|
|
21
24
|
}
|
|
22
25
|
export interface ResolveResult {
|
|
23
26
|
assets: ResolvedAsset[];
|
package/dist/resolve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAGnD,OAAO,EAEL,KAAK,oBAAoB,EAGzB,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,oGAAoG;IACpG,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;CACpD;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAiBD,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAC7B,QAAQ,EAAE,YAAY,EAAE,EACxB,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,aAAa,CAAC,CA0CxB"}
|
package/dist/resolve.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* that they are compatible.
|
|
10
10
|
*/
|
|
11
11
|
import * as semver from 'semver';
|
|
12
|
+
import { lookupAssets } from './refs.js';
|
|
12
13
|
import { assetDependencyAlias, assetDependencyRange, semverSchema, } from './schemas.js';
|
|
13
14
|
const MAX_RESOLUTION_PASSES = 100;
|
|
14
15
|
export class ResolutionError extends Error {
|
|
@@ -57,16 +58,27 @@ async function resolvePass(client, requests, initialPins, includeUnapproved, met
|
|
|
57
58
|
while (wave.length > 0) {
|
|
58
59
|
const names = [...new Set(wave)].filter((name) => !resolved.has(name));
|
|
59
60
|
wave = [];
|
|
60
|
-
const
|
|
61
|
+
const wanted = names.map((assetName) => {
|
|
61
62
|
const constrainedExact = requiredExactVersion(assetName, constraints.get(assetName) ?? []);
|
|
62
63
|
const exactVersion = constrainedExact ?? initialPins.get(assetName) ?? null;
|
|
63
|
-
return {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
})
|
|
69
|
-
|
|
64
|
+
return { assetName, exactVersion };
|
|
65
|
+
});
|
|
66
|
+
// One collection read per wave; the cache spans convergence passes, so a
|
|
67
|
+
// re-pass that pins already-seen versions makes no further requests.
|
|
68
|
+
const misses = wanted.filter(({ assetName, exactVersion }) => !metaCache.has(metaKey(assetName, exactVersion)));
|
|
69
|
+
const fetched = await lookupAssets(client, misses.map(({ assetName, exactVersion }) => ({
|
|
70
|
+
name: assetName,
|
|
71
|
+
version: exactVersion ?? undefined,
|
|
72
|
+
})), { includeUnapproved, key });
|
|
73
|
+
misses.forEach(({ assetName, exactVersion }, index) => {
|
|
74
|
+
const entry = fetched[index];
|
|
75
|
+
if (!entry)
|
|
76
|
+
return;
|
|
77
|
+
metaCache.set(metaKey(assetName, exactVersion), entry);
|
|
78
|
+
metaCache.set(metaKey(assetName, entry.version), entry);
|
|
79
|
+
});
|
|
80
|
+
for (const { assetName, exactVersion } of wanted) {
|
|
81
|
+
const meta = metaCache.get(metaKey(assetName, exactVersion)) ?? null;
|
|
70
82
|
if (!meta) {
|
|
71
83
|
if (exactVersion) {
|
|
72
84
|
throw new ResolutionError(`Asset version "${assetName}@${exactVersion}" not found${includeUnapproved ? '' : ' or not approved'}.`);
|
|
@@ -76,12 +88,11 @@ async function resolvePass(client, requests, initialPins, includeUnapproved, met
|
|
|
76
88
|
if (!includeUnapproved && !meta.approved) {
|
|
77
89
|
throw new ResolutionError(`Asset "${assetName}" has no approved versions.`);
|
|
78
90
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
metaCache.set(`${assetName}@${selectedVersion}`, meta);
|
|
91
|
+
if (exactVersion && meta.version !== exactVersion) {
|
|
92
|
+
throw new ResolutionError(`Market API did not return requested version "${assetName}@${exactVersion}". ` +
|
|
93
|
+
'Refusing to fall back to a different version.');
|
|
94
|
+
}
|
|
95
|
+
const selectedVersion = meta.version;
|
|
85
96
|
const assetDependencies = meta.assetDependencies;
|
|
86
97
|
resolved.set(assetName, {
|
|
87
98
|
name: assetName,
|
|
@@ -91,6 +102,7 @@ async function resolvePass(client, requests, initialPins, includeUnapproved, met
|
|
|
91
102
|
npmDependencies: meta.npmDependencies,
|
|
92
103
|
assetDependencies,
|
|
93
104
|
skillDependencies: meta.skillDependencies,
|
|
105
|
+
files: meta.files,
|
|
94
106
|
});
|
|
95
107
|
for (const [dependencyName, dependencyValue] of Object.entries(assetDependencies)) {
|
|
96
108
|
const dependencyRange = assetDependencyRange(dependencyValue);
|
|
@@ -185,23 +197,7 @@ function samePins(left, right) {
|
|
|
185
197
|
function pinSignature(pins) {
|
|
186
198
|
return JSON.stringify([...pins].sort(([left], [right]) => left.localeCompare(right)));
|
|
187
199
|
}
|
|
188
|
-
|
|
189
|
-
const cacheKey = version ? `${name}@${version}` : name;
|
|
190
|
-
const cached = cache.get(cacheKey);
|
|
191
|
-
if (cached)
|
|
192
|
-
return cached;
|
|
193
|
-
// The key is sent with every lookup in the tree; it only unlocks the asset it belongs to and is
|
|
194
|
-
// inert for the rest, so no per-asset routing is needed.
|
|
195
|
-
const meta = await client.exact({
|
|
196
|
-
name,
|
|
197
|
-
...(version ? { version } : {}),
|
|
198
|
-
includeUnapproved,
|
|
199
|
-
...(key ? { key } : {}),
|
|
200
|
-
});
|
|
201
|
-
if (meta)
|
|
202
|
-
cache.set(cacheKey, meta);
|
|
203
|
-
return meta;
|
|
204
|
-
}
|
|
200
|
+
const metaKey = (name, version) => version ? `${name}@${version}` : name;
|
|
205
201
|
function requiredExactVersion(assetName, constraints) {
|
|
206
202
|
const exactVersions = new Set(constraints
|
|
207
203
|
.map(({ range }) => exactVersion(range))
|
|
@@ -215,17 +211,6 @@ function exactVersion(range) {
|
|
|
215
211
|
const candidate = range.trim().replace(/^=/u, '');
|
|
216
212
|
return semverSchema.safeParse(candidate).success ? candidate : null;
|
|
217
213
|
}
|
|
218
|
-
function exactMetadataVersion(meta, assetName, requestedVersion) {
|
|
219
|
-
if (meta.version === requestedVersion)
|
|
220
|
-
return meta.version;
|
|
221
|
-
throw new ResolutionError(`Market API did not return requested version "${assetName}@${requestedVersion}". ` +
|
|
222
|
-
'Refusing to fall back to a different version.');
|
|
223
|
-
}
|
|
224
|
-
function latestMetadataVersion(meta) {
|
|
225
|
-
// Older workers do not return `version`. Range requests can retain their established latest-
|
|
226
|
-
// version behavior; exact requests instead fail closed in exactMetadataVersion above.
|
|
227
|
-
return meta.version ?? meta.latestVersion;
|
|
228
|
-
}
|
|
229
214
|
/**
|
|
230
215
|
* Merge npm dependency ranges from all resolved assets.
|
|
231
216
|
* For each package, check that all declared ranges are compatible
|
package/dist/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/v1/contract.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/v1/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,IAAI,EACL,MAAM,gBAAgB,CAAA;AAmBvB;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;0FAC0F;AAC1F,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAA;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAwBW,cAAc,EAAE;;mBAAhB,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAyDf,MAAM;uBAAa,IAAI;;oBAAvB,MAAM;uBAAa,IAAI;;;;;;;CAMvD,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAA"}
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/v1/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,IAAI,EACL,MAAM,gBAAgB,CAAA;AAmBvB;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,KAAK,EAAE,cAAc,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;0FAC0F;AAC1F,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAA;CACjC;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAwBW,cAAc,EAAE;;mBAAhB,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAyDf,MAAM;uBAAa,IAAI;;oBAAvB,MAAM;uBAAa,IAAI;;;;;;;CAMvD,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAA"}
|
package/dist/v1/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/v1/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAWvB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/v1/contract.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
type MarketV1Client,
|
|
4
4
|
type MarketV1ClientOptions,
|
|
5
5
|
} from './v1/client.js'
|
|
6
|
+
import { lookupAssets } from './refs.js'
|
|
6
7
|
|
|
7
8
|
/** The Market client — the v1 REST client; the RPC wire format is gone. */
|
|
8
9
|
export type MarketClient = MarketV1Client
|
|
@@ -27,13 +28,15 @@ export async function downloadAssetZipBytes(opts: {
|
|
|
27
28
|
authToken: opts.authToken,
|
|
28
29
|
fetch: opts.fetch,
|
|
29
30
|
})
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
version: opts.version,
|
|
31
|
+
const [entry] = await lookupAssets(client.asset, [{ name: opts.name, version: opts.version }], {
|
|
32
|
+
includeUnapproved: true,
|
|
33
33
|
...(opts.key ? { key: opts.key } : {}),
|
|
34
34
|
})
|
|
35
|
+
if (!entry) {
|
|
36
|
+
throw new Error(`Asset "${opts.name}@${opts.version}" not found`)
|
|
37
|
+
}
|
|
35
38
|
const doFetch = opts.fetch ?? globalThis.fetch
|
|
36
|
-
const response = await doFetch(
|
|
39
|
+
const response = await doFetch(entry.zipUrl)
|
|
37
40
|
if (!response.ok) {
|
|
38
41
|
throw new Error(`Download of ${opts.name}@${opts.version} failed (${response.status})`)
|
|
39
42
|
}
|
package/src/commands/install.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { findInstallRoot, install as runInstall, type InstallRootRequest } from
|
|
|
6
6
|
import { packageJsonAssetDependencies } from '../package-json.js'
|
|
7
7
|
import { assetDependencyRange, assetNameSchema, type AssetDependencies } from '../schemas.js'
|
|
8
8
|
import { getCliClient } from '../cli-client.js'
|
|
9
|
+
import { lookupAssets } from '../refs.js'
|
|
9
10
|
import { installResult } from '../output.js'
|
|
10
11
|
import type { MarketClient } from '../client.js'
|
|
11
12
|
|
|
@@ -82,8 +83,7 @@ export async function resolveArg(
|
|
|
82
83
|
)
|
|
83
84
|
}
|
|
84
85
|
|
|
85
|
-
const existing = await client.asset.
|
|
86
|
-
name: parsed.name,
|
|
86
|
+
const [existing] = await lookupAssets(client.asset, [{ name: parsed.name }], {
|
|
87
87
|
includeUnapproved,
|
|
88
88
|
...(key ? { key } : {}),
|
|
89
89
|
})
|
|
@@ -91,13 +91,15 @@ export async function resolveArg(
|
|
|
91
91
|
return {
|
|
92
92
|
name: parsed.name,
|
|
93
93
|
range: parsed.range,
|
|
94
|
-
saveRange: parsed.explicitRange ? parsed.range : `^${existing.
|
|
94
|
+
saveRange: parsed.explicitRange ? parsed.range : `^${existing.version}`,
|
|
95
95
|
save: true,
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
if (!includeUnapproved) {
|
|
100
|
-
const hidden = await client.asset
|
|
100
|
+
const [hidden] = await lookupAssets(client.asset, [{ name: parsed.name }], {
|
|
101
|
+
includeUnapproved: true,
|
|
102
|
+
})
|
|
101
103
|
if (hidden) {
|
|
102
104
|
throw new Error(
|
|
103
105
|
`Asset "${parsed.name}" exists but has no approved versions. Re-run with \`--unapproved\` if you have access.`,
|
package/src/commands/preview.ts
CHANGED
|
@@ -2,7 +2,9 @@ import * as fs from 'fs/promises'
|
|
|
2
2
|
import * as path from 'path'
|
|
3
3
|
import ora from 'ora'
|
|
4
4
|
import { getCliClient } from '../cli-client.js'
|
|
5
|
+
import type { RefsReader } from '../refs.js'
|
|
5
6
|
import { previewResult } from '../output.js'
|
|
7
|
+
import { lookupAssets } from '../refs.js'
|
|
6
8
|
import { assetNameSchema, semverSchema } from '../schemas.js'
|
|
7
9
|
|
|
8
10
|
export interface PreviewCommandOptions {
|
|
@@ -11,22 +13,8 @@ export interface PreviewCommandOptions {
|
|
|
11
13
|
baseUrl?: string
|
|
12
14
|
}
|
|
13
15
|
|
|
14
|
-
interface PreviewAsset {
|
|
15
|
-
latestVersion: string
|
|
16
|
-
version?: string
|
|
17
|
-
previewUrl: string | null
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
interface PreviewClient {
|
|
21
|
-
exact(input: {
|
|
22
|
-
name: string
|
|
23
|
-
version?: string
|
|
24
|
-
includeUnapproved: boolean
|
|
25
|
-
}): Promise<PreviewAsset | null>
|
|
26
|
-
}
|
|
27
|
-
|
|
28
16
|
export async function resolvePreviewRef(
|
|
29
|
-
client:
|
|
17
|
+
client: RefsReader,
|
|
30
18
|
ref: string,
|
|
31
19
|
includeUnapproved: boolean,
|
|
32
20
|
): Promise<{ name: string; version: string; previewUrl: string }> {
|
|
@@ -34,11 +22,11 @@ export async function resolvePreviewRef(
|
|
|
34
22
|
const name = assetNameSchema.parse(separator === -1 ? ref : ref.slice(0, separator))
|
|
35
23
|
const requestedVersion =
|
|
36
24
|
separator === -1 ? undefined : semverSchema.parse(ref.slice(separator + 1))
|
|
37
|
-
const asset = await
|
|
38
|
-
|
|
39
|
-
...(requestedVersion ? { version: requestedVersion } : {}),
|
|
40
|
-
includeUnapproved,
|
|
41
|
-
|
|
25
|
+
const [asset] = await lookupAssets(
|
|
26
|
+
client,
|
|
27
|
+
[{ name, ...(requestedVersion ? { version: requestedVersion } : {}) }],
|
|
28
|
+
{ includeUnapproved },
|
|
29
|
+
)
|
|
42
30
|
|
|
43
31
|
if (!asset) {
|
|
44
32
|
throw new Error(`Asset "${ref}" not found`)
|
|
@@ -46,13 +34,11 @@ export async function resolvePreviewRef(
|
|
|
46
34
|
if (!asset.previewUrl) {
|
|
47
35
|
throw new Error(`Asset "${ref}" has no preview image`)
|
|
48
36
|
}
|
|
49
|
-
|
|
50
|
-
const version = asset.version ?? asset.latestVersion
|
|
51
|
-
if (requestedVersion && version !== requestedVersion) {
|
|
37
|
+
if (requestedVersion && asset.version !== requestedVersion) {
|
|
52
38
|
throw new Error(`Market API did not return requested version "${ref}"`)
|
|
53
39
|
}
|
|
54
40
|
|
|
55
|
-
return { name, version, previewUrl: asset.previewUrl }
|
|
41
|
+
return { name, version: asset.version, previewUrl: asset.previewUrl }
|
|
56
42
|
}
|
|
57
43
|
|
|
58
44
|
export async function previewCommand(ref: string, opts: PreviewCommandOptions): Promise<void> {
|
package/src/commands/upload.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ora from 'ora'
|
|
2
|
+
import { lookupAssets } from '../refs.js'
|
|
2
3
|
import semver from 'semver'
|
|
3
4
|
import { downloadAssetZipBytes } from '../client.js'
|
|
4
5
|
import { getCliClient } from '../cli-client.js'
|
|
@@ -75,9 +76,7 @@ export async function uploadCommand(
|
|
|
75
76
|
if (!profile) {
|
|
76
77
|
throw new Error('Not logged in. Run `market login` first.')
|
|
77
78
|
}
|
|
78
|
-
const existing = await client.asset
|
|
79
|
-
name: parsedName,
|
|
80
|
-
type,
|
|
79
|
+
const [existing] = await lookupAssets(client.asset, [{ name: parsedName }], {
|
|
81
80
|
includeUnapproved: true,
|
|
82
81
|
})
|
|
83
82
|
|
|
@@ -88,7 +87,7 @@ export async function uploadCommand(
|
|
|
88
87
|
if (existing) {
|
|
89
88
|
const latestBytes = await downloadAssetZipBytes({
|
|
90
89
|
name: parsedName,
|
|
91
|
-
version: existing.
|
|
90
|
+
version: existing.version,
|
|
92
91
|
baseUrl,
|
|
93
92
|
authToken,
|
|
94
93
|
})
|
|
@@ -100,12 +99,12 @@ export async function uploadCommand(
|
|
|
100
99
|
bytesEqual(latestBytes, zip)
|
|
101
100
|
) {
|
|
102
101
|
spinner.stop()
|
|
103
|
-
console.log(unchangedUploadResult(parsedName, existing.
|
|
102
|
+
console.log(unchangedUploadResult(parsedName, existing.version))
|
|
104
103
|
return
|
|
105
104
|
}
|
|
106
105
|
}
|
|
107
106
|
|
|
108
|
-
const version = parsedVersion ?? nextVersion(existing?.
|
|
107
|
+
const version = parsedVersion ?? nextVersion(existing?.version)
|
|
109
108
|
spinner.text = `Uploading ${parsedName}@${version}`
|
|
110
109
|
const uploaded = await client.asset.uploadZip({
|
|
111
110
|
name: parsedName,
|
package/src/install.ts
CHANGED
|
@@ -18,6 +18,7 @@ import pMap from 'p-map'
|
|
|
18
18
|
import type { MarketClient } from './client.js'
|
|
19
19
|
import type { AssetFilesResult, AssetInstallMetadata } from './contract.js'
|
|
20
20
|
import { withProjectInstallLock } from './install-lock.js'
|
|
21
|
+
import { lookupAssets } from './refs.js'
|
|
21
22
|
import { md5, resolveDependencyLayout } from './pack.js'
|
|
22
23
|
import { findInstallRoot, walkWithGitignore } from './project-walk.js'
|
|
23
24
|
import { packageJsonAssetDependencies, parsePackageJson, type PackageJson } from './package-json.js'
|
|
@@ -279,14 +280,10 @@ async function downloadOneAsset(
|
|
|
279
280
|
}> {
|
|
280
281
|
opts.log(`Downloading ${asset.name}@${asset.version}...`)
|
|
281
282
|
|
|
282
|
-
// The index
|
|
283
|
-
//
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
version: asset.version,
|
|
287
|
-
...(opts.key ? { key: opts.key } : {}),
|
|
288
|
-
})
|
|
289
|
-
const planned = index.files.flatMap((entry) => {
|
|
283
|
+
// The file index (paths + etags + fetch URLs) arrived with the resolution —
|
|
284
|
+
// enough to plan targets, adopt renames, and emit redirect rules; file bytes
|
|
285
|
+
// are fetched afterwards, and only for files actually written.
|
|
286
|
+
const planned = asset.files.flatMap((entry) => {
|
|
290
287
|
const normalizedPath = safeRelativePath(
|
|
291
288
|
entry.path,
|
|
292
289
|
() => `Zip contains an unsafe path: ${entry.path}`,
|
|
@@ -490,14 +487,14 @@ function memoizedKnownHashes(client: MarketClient): (name: string) => Promise<Se
|
|
|
490
487
|
if (hit) return hit
|
|
491
488
|
const result = (async () => {
|
|
492
489
|
try {
|
|
493
|
-
const
|
|
494
|
-
|
|
495
|
-
const
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
),
|
|
490
|
+
const [latest] = await lookupAssets(client.asset, [{ name }])
|
|
491
|
+
if (!latest) return null
|
|
492
|
+
const recent = latest.versions.slice(-KNOWN_HASH_VERSION_CAP)
|
|
493
|
+
const entries = await lookupAssets(
|
|
494
|
+
client.asset,
|
|
495
|
+
recent.map((version) => ({ name, version })),
|
|
499
496
|
)
|
|
500
|
-
return new Set(
|
|
497
|
+
return new Set(entries.flatMap((entry) => entry?.files.map((file) => file.etag) ?? []))
|
|
501
498
|
} catch {
|
|
502
499
|
// Offline or not visible — the conservative fail-open: the caller keeps skip-and-warn.
|
|
503
500
|
return null
|
package/src/pack.ts
CHANGED
|
@@ -3,7 +3,6 @@ import * as fs from 'fs/promises'
|
|
|
3
3
|
import * as path from 'path'
|
|
4
4
|
import { unzipSync, zipSync } from 'fflate'
|
|
5
5
|
import ignore from 'ignore'
|
|
6
|
-
import pMap from 'p-map'
|
|
7
6
|
import semver from 'semver'
|
|
8
7
|
import {
|
|
9
8
|
ALWAYS_IGNORED_DIRS,
|
|
@@ -14,6 +13,7 @@ import {
|
|
|
14
13
|
type GitignoreMatcher,
|
|
15
14
|
} from './project-walk.js'
|
|
16
15
|
import type { MarketClient } from './client.js'
|
|
16
|
+
import { lookupAssets } from './refs.js'
|
|
17
17
|
import type { AssetInstallMetadata } from './contract.js'
|
|
18
18
|
import {
|
|
19
19
|
packageJsonAssetDependencies,
|
|
@@ -102,35 +102,29 @@ const MANIFEST_VERSION_CAP = 20
|
|
|
102
102
|
export function fileManifestForRange(asset: MarketClient['asset']): FetchFileManifest {
|
|
103
103
|
return async (name, range) => {
|
|
104
104
|
const exact = exactRangeVersion(range)
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
.sort(semver.compare)
|
|
112
|
-
.slice(-MANIFEST_VERSION_CAP)
|
|
105
|
+
const inRange = exact
|
|
106
|
+
? [exact]
|
|
107
|
+
: ((await lookupAssets(asset, [{ name }]))[0]?.versions ?? [])
|
|
108
|
+
.filter((version) => semver.satisfies(version, range))
|
|
109
|
+
.sort(semver.compare)
|
|
110
|
+
.slice(-MANIFEST_VERSION_CAP)
|
|
113
111
|
|
|
114
112
|
// Oldest first, so a newer version's hash wins when a path recurs across versions.
|
|
113
|
+
const entries = await lookupAssets(
|
|
114
|
+
asset,
|
|
115
|
+
inRange.map((version) => ({ name, version })),
|
|
116
|
+
)
|
|
115
117
|
const merged: Record<string, string> = {}
|
|
116
|
-
for (const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
for (const entry of entries) {
|
|
119
|
+
Object.assign(
|
|
120
|
+
merged,
|
|
121
|
+
Object.fromEntries((entry?.files ?? []).map((file) => [file.path, file.etag])),
|
|
122
|
+
)
|
|
120
123
|
}
|
|
121
124
|
return merged
|
|
122
125
|
}
|
|
123
126
|
}
|
|
124
127
|
|
|
125
|
-
async function fileIndexHashes(
|
|
126
|
-
asset: MarketClient['asset'],
|
|
127
|
-
name: string,
|
|
128
|
-
version: string,
|
|
129
|
-
): Promise<Record<string, string>> {
|
|
130
|
-
const index = await asset.files({ name, version })
|
|
131
|
-
return Object.fromEntries(index.files.map((file) => [file.path, file.etag]))
|
|
132
|
-
}
|
|
133
|
-
|
|
134
128
|
function exactRangeVersion(range: string): string | null {
|
|
135
129
|
const candidate = range.trim().replace(/^=/u, '')
|
|
136
130
|
return semverSchema.safeParse(candidate).success ? candidate : null
|
package/src/refs.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { MarketClient } from './client.js'
|
|
2
|
+
import type { AssetRefEntry } from './v1/index.js'
|
|
3
|
+
|
|
4
|
+
export interface AssetRef {
|
|
5
|
+
name: string
|
|
6
|
+
version?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/** The one call the refs read needs — lets tests fake a single function. */
|
|
10
|
+
export interface RefsReader {
|
|
11
|
+
search: MarketClient['asset']['search']
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** The server accepts up to 100 refs per read; larger sets chunk transparently. */
|
|
15
|
+
const MAX_REFS_PER_CALL = 100
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The collection read in refs mode: full entries (metadata, version history,
|
|
19
|
+
* files with data-plane URLs) for exactly the given refs — order-preserved,
|
|
20
|
+
* null per miss. Version omitted resolves to the latest visible version.
|
|
21
|
+
*/
|
|
22
|
+
export async function lookupAssets(
|
|
23
|
+
asset: RefsReader,
|
|
24
|
+
refs: AssetRef[],
|
|
25
|
+
opts: { includeUnapproved?: boolean; key?: string } = {},
|
|
26
|
+
): Promise<(AssetRefEntry | null)[]> {
|
|
27
|
+
const chunks: AssetRef[][] = []
|
|
28
|
+
for (let i = 0; i < refs.length; i += MAX_REFS_PER_CALL) {
|
|
29
|
+
chunks.push(refs.slice(i, i + MAX_REFS_PER_CALL))
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const results = await Promise.all(
|
|
33
|
+
chunks.map(async (chunk) => {
|
|
34
|
+
const result = await asset.search({
|
|
35
|
+
refs: chunk.map((ref) => (ref.version ? `${ref.name}@${ref.version}` : ref.name)).join(','),
|
|
36
|
+
includeUnapproved: opts.includeUnapproved ?? false,
|
|
37
|
+
...(opts.key ? { key: opts.key } : {}),
|
|
38
|
+
})
|
|
39
|
+
if (!('assets' in result)) throw new Error('refs read unexpectedly returned a search result')
|
|
40
|
+
return result.assets
|
|
41
|
+
}),
|
|
42
|
+
)
|
|
43
|
+
return results.flat()
|
|
44
|
+
}
|