@drawcall/market 0.6.5 → 0.6.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/resolve.js CHANGED
@@ -48,40 +48,55 @@ export async function resolve(client, requests, opts = {}) {
48
48
  async function resolvePass(client, requests, initialPins, includeUnapproved, metaCache, key) {
49
49
  const constraints = rootConstraints(requests);
50
50
  const resolved = new Map();
51
- const pending = requests.map(({ name }) => name);
52
- for (let cursor = 0; cursor < pending.length; cursor++) {
53
- const assetName = pending[cursor];
54
- if (resolved.has(assetName))
55
- continue;
56
- const constrainedExact = requiredExactVersion(assetName, constraints.get(assetName) ?? []);
57
- const exactVersion = constrainedExact ?? initialPins.get(assetName) ?? null;
58
- const meta = await fetchMeta(client, metaCache, assetName, exactVersion, includeUnapproved, key);
59
- if (!meta) {
60
- if (exactVersion) {
61
- throw new ResolutionError(`Asset version "${assetName}@${exactVersion}" not found${includeUnapproved ? '' : ' or not approved'}.`);
51
+ let wave = requests.map(({ name }) => name);
52
+ // Dependency-tree BFS: each wave's metadata is fetched concurrently (a ~60-asset template
53
+ // resolves in a couple of round trips instead of sixty), then integrated in order so
54
+ // constraint accumulation stays deterministic. A dependency first constrained by a sibling in
55
+ // the same wave is fetched before that constraint lands; the outer exact-pin convergence loop
56
+ // already re-passes in that case, exactly as it does for pins discovered late.
57
+ while (wave.length > 0) {
58
+ const names = [...new Set(wave)].filter((name) => !resolved.has(name));
59
+ wave = [];
60
+ const metas = await Promise.all(names.map(async (assetName) => {
61
+ const constrainedExact = requiredExactVersion(assetName, constraints.get(assetName) ?? []);
62
+ const exactVersion = constrainedExact ?? initialPins.get(assetName) ?? null;
63
+ return {
64
+ assetName,
65
+ exactVersion,
66
+ meta: await fetchMeta(client, metaCache, assetName, exactVersion, includeUnapproved, key),
67
+ };
68
+ }));
69
+ for (const { assetName, exactVersion, meta } of metas) {
70
+ if (!meta) {
71
+ if (exactVersion) {
72
+ throw new ResolutionError(`Asset version "${assetName}@${exactVersion}" not found${includeUnapproved ? '' : ' or not approved'}.`);
73
+ }
74
+ throw new ResolutionError(`Asset "${assetName}" not found.`);
75
+ }
76
+ if (!includeUnapproved && !meta.approved) {
77
+ throw new ResolutionError(`Asset "${assetName}" has no approved versions.`);
78
+ }
79
+ const selectedVersion = exactVersion
80
+ ? exactMetadataVersion(meta, assetName, exactVersion)
81
+ : latestMetadataVersion(meta);
82
+ // The meta demonstrably answers for this version; caching it under the exact key makes the
83
+ // convergence re-pass (which pins every asset) resolve without a single further request.
84
+ metaCache.set(`${assetName}@${selectedVersion}`, meta);
85
+ const assetDependencies = meta.assetDependencies;
86
+ resolved.set(assetName, {
87
+ name: assetName,
88
+ type: meta.type,
89
+ version: selectedVersion,
90
+ description: meta.description,
91
+ npmDependencies: meta.npmDependencies,
92
+ assetDependencies,
93
+ skillDependencies: meta.skillDependencies,
94
+ });
95
+ for (const [dependencyName, dependencyValue] of Object.entries(assetDependencies)) {
96
+ const dependencyRange = assetDependencyRange(dependencyValue);
97
+ addConstraint(constraints, dependencyName, dependencyRange, `${assetName}@${selectedVersion}`);
98
+ wave.push(dependencyName);
62
99
  }
63
- throw new ResolutionError(`Asset "${assetName}" not found.`);
64
- }
65
- if (!includeUnapproved && !meta.approved) {
66
- throw new ResolutionError(`Asset "${assetName}" has no approved versions.`);
67
- }
68
- const selectedVersion = exactVersion
69
- ? exactMetadataVersion(meta, assetName, exactVersion)
70
- : latestMetadataVersion(meta);
71
- const assetDependencies = meta.assetDependencies;
72
- resolved.set(assetName, {
73
- name: assetName,
74
- type: meta.type,
75
- version: selectedVersion,
76
- description: meta.description,
77
- npmDependencies: meta.npmDependencies,
78
- assetDependencies,
79
- skillDependencies: meta.skillDependencies,
80
- });
81
- for (const [dependencyName, dependencyValue] of Object.entries(assetDependencies)) {
82
- const dependencyRange = assetDependencyRange(dependencyValue);
83
- addConstraint(constraints, dependencyName, dependencyRange, `${assetName}@${selectedVersion}`);
84
- pending.push(dependencyName);
85
100
  }
86
101
  }
87
102
  return { constraints, resolved };
@@ -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":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAGhC,OAAO,EACL,oBAAoB,EAEpB,oBAAoB,EACpB,YAAY,GAEb,MAAM,cAAc,CAAA;AA0CrB,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEjC,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAA6B,EAC7B,QAAwB,EACxB,OAAsD,EAAE;IAExD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAA;IACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAA;IACzD,IAAI,SAAS,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,qBAAqB,EAAE,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QACzC,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,eAAe,CACvB,qEAAqE,IAAI,GAAG,CAAC,UAAU,CACxF,CAAA;QACH,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAE1B,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,MAAM,EACN,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,IAAI,CAAC,GAAG,CACT,CAAA;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACjD,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnC,SAAS,GAAG,QAAQ,CAAA;YACpB,SAAQ;QACV,CAAC;QAED,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;QACxD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACnD,OAAO;YACL,MAAM;YACN,eAAe,EAAE,oBAAoB,CAAC,MAAM,CAAC;YAC7C,iBAAiB,EAAE,sBAAsB,CAAC,MAAM,CAAC;YACjD,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC;SACxC,CAAA;IACH,CAAC;IAED,MAAM,IAAI,eAAe,CACvB,oDAAoD,qBAAqB,UAAU,CACpF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAA6B,EAC7B,QAAwB,EACxB,WAAsB,EACtB,iBAA0B,EAC1B,SAAwC,EACxC,GAAY;IAEZ,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAA;IAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAA;IACjD,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAE3C,0FAA0F;IAC1F,qFAAqF;IACrF,8FAA8F;IAC9F,8FAA8F;IAC9F,+EAA+E;IAC/E,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,IAAI,GAAG,EAAE,CAAA;QAET,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC5B,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;YAC1F,MAAM,YAAY,GAAG,gBAAgB,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;YAC3E,OAAO;gBACL,SAAS;gBACT,YAAY;gBACZ,IAAI,EAAE,MAAM,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,CAAC;aAC1F,CAAA;QACH,CAAC,CAAC,CACH,CAAA;QAED,KAAK,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,IAAI,eAAe,CACvB,kBAAkB,SAAS,IAAI,YAAY,cACzC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAC3B,GAAG,CACJ,CAAA;gBACH,CAAC;gBACD,MAAM,IAAI,eAAe,CAAC,UAAU,SAAS,cAAc,CAAC,CAAA;YAC9D,CAAC;YAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzC,MAAM,IAAI,eAAe,CAAC,UAAU,SAAS,6BAA6B,CAAC,CAAA;YAC7E,CAAC;YAED,MAAM,eAAe,GAAG,YAAY;gBAClC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC;gBACrD,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAC/B,2FAA2F;YAC3F,yFAAyF;YACzF,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,eAAe,EAAE,EAAE,IAAI,CAAC,CAAA;YACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;YAChD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,eAAe;gBACxB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,iBAAiB;gBACjB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,CAAC,CAAA;YAEF,KAAK,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClF,MAAM,eAAe,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAA;gBAC7D,aAAa,CACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,GAAG,SAAS,IAAI,eAAe,EAAE,CAClC,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAoC,EAAE,WAAwB;IACzF,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACzD,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,eAAe,CACvB,cAAc,SAAS,IAAI,KAAK,CAAC,OAAO,qBAAqB;oBAC3D,GAAG,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,IAAI,IAAI,CACxC,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,MAAuB;IACrD,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,MAAM,MAAM,GAA2B,EAAE,CAAA;IAEzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;QAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtE,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,EAAE,CAAC;gBAChD,MAAM,IAAI,eAAe,CACvB,kCAAkC,KAAK,MAAM;oBAC3C,KAAK,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,KAAK;oBAC9C,KAAK,MAAM,UAAU,IAAI,GAAG,CAC/B,CAAA;YACH,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;YACtB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,MAAuB;IAChD,MAAM,MAAM,GAAyC,EAAE,CAAA;IACvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9E,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAQ;YAC7C,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAA;QAC1E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,eAAe,CAAC,QAAwB;IAC/C,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAA;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,WAAwB,EAAE,IAAY,EAAE,KAAa,EAAE,IAAY;IACxF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9B,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,YAAY,CAAC,WAAwB;IAC5C,MAAM,IAAI,GAAc,IAAI,GAAG,EAAE,CAAA;IACjC,KAAK,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,WAAW,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAA;QACjE,IAAI,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,KAAgB;IACjD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO;YAAE,OAAO,KAAK,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,YAAY,CAAC,IAAe;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACvF,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,MAA6B,EAC7B,KAAoC,EACpC,IAAY,EACZ,OAAsB,EACtB,iBAA0B,EAC1B,GAAY;IAEZ,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,gGAAgG;IAChG,yDAAyD;IACzD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAC9B,IAAI;QACJ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,iBAAiB;QACjB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,CAAC,CAAA;IACF,IAAI,IAAI;QAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACnC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAiB,EAAE,WAAyB;IACxE,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,WAAW;SACR,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAC5D,CAAA;IACD,IAAI,aAAa,CAAC,IAAI,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAA;IAE/E,MAAM,IAAI,eAAe,CACvB,6CAA6C,SAAS,MAAM;QAC1D,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,KAAK,UAAU,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChG,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACjD,OAAO,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACrE,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAsB,EACtB,SAAiB,EACjB,gBAAwB;IAExB,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC,OAAO,CAAA;IAC1D,MAAM,IAAI,eAAe,CACvB,gDAAgD,SAAS,IAAI,gBAAgB,KAAK;QAChF,+CAA+C,CAClD,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAsB;IACnD,6FAA6F;IAC7F,sFAAsF;IACtF,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAA;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,MAAuB;IACnD,iCAAiC;IACjC,MAAM,YAAY,GAAmD,IAAI,GAAG,EAAE,CAAA;IAE9E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAChE,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAA;IAEzC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1D,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;YACtB,SAAQ;QACV,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC7B,SAAQ;QACV,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,eAAe,CACvB,gCAAgC,GAAG,MAAM;gBACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAA;QACH,CAAC;QAED,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,eAAe,CACvB,gCAAgC,GAAG,MAAM;wBACvC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK;wBACjD,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAClD,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,uDAAuD;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACrE,CAAA;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CACvB,8BAA8B,GAAG,yDAAyD;gBACxF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAA;QACH,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAA;IAC/B,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawcall/market",
3
- "version": "0.6.5",
3
+ "version": "0.6.6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/drawcall-ai/market",
package/src/resolve.ts CHANGED
@@ -127,48 +127,72 @@ async function resolvePass(
127
127
  ): Promise<ResolutionPass> {
128
128
  const constraints = rootConstraints(requests)
129
129
  const resolved = new Map<string, ResolvedAsset>()
130
- const pending = requests.map(({ name }) => name)
131
-
132
- for (let cursor = 0; cursor < pending.length; cursor++) {
133
- const assetName = pending[cursor]
134
- if (resolved.has(assetName)) continue
130
+ let wave = requests.map(({ name }) => name)
131
+
132
+ // Dependency-tree BFS: each wave's metadata is fetched concurrently (a ~60-asset template
133
+ // resolves in a couple of round trips instead of sixty), then integrated in order so
134
+ // constraint accumulation stays deterministic. A dependency first constrained by a sibling in
135
+ // the same wave is fetched before that constraint lands; the outer exact-pin convergence loop
136
+ // already re-passes in that case, exactly as it does for pins discovered late.
137
+ while (wave.length > 0) {
138
+ const names = [...new Set(wave)].filter((name) => !resolved.has(name))
139
+ wave = []
140
+
141
+ const metas = await Promise.all(
142
+ names.map(async (assetName) => {
143
+ const constrainedExact = requiredExactVersion(assetName, constraints.get(assetName) ?? [])
144
+ const exactVersion = constrainedExact ?? initialPins.get(assetName) ?? null
145
+ return {
146
+ assetName,
147
+ exactVersion,
148
+ meta: await fetchMeta(client, metaCache, assetName, exactVersion, includeUnapproved, key),
149
+ }
150
+ }),
151
+ )
135
152
 
136
- const constrainedExact = requiredExactVersion(assetName, constraints.get(assetName) ?? [])
137
- const exactVersion = constrainedExact ?? initialPins.get(assetName) ?? null
138
- const meta = await fetchMeta(client, metaCache, assetName, exactVersion, includeUnapproved, key)
139
- if (!meta) {
140
- if (exactVersion) {
141
- throw new ResolutionError(
142
- `Asset version "${assetName}@${exactVersion}" not found${
143
- includeUnapproved ? '' : ' or not approved'
144
- }.`,
145
- )
153
+ for (const { assetName, exactVersion, meta } of metas) {
154
+ if (!meta) {
155
+ if (exactVersion) {
156
+ throw new ResolutionError(
157
+ `Asset version "${assetName}@${exactVersion}" not found${
158
+ includeUnapproved ? '' : ' or not approved'
159
+ }.`,
160
+ )
161
+ }
162
+ throw new ResolutionError(`Asset "${assetName}" not found.`)
146
163
  }
147
- throw new ResolutionError(`Asset "${assetName}" not found.`)
148
- }
149
164
 
150
- if (!includeUnapproved && !meta.approved) {
151
- throw new ResolutionError(`Asset "${assetName}" has no approved versions.`)
152
- }
165
+ if (!includeUnapproved && !meta.approved) {
166
+ throw new ResolutionError(`Asset "${assetName}" has no approved versions.`)
167
+ }
153
168
 
154
- const selectedVersion = exactVersion
155
- ? exactMetadataVersion(meta, assetName, exactVersion)
156
- : latestMetadataVersion(meta)
157
- const assetDependencies = meta.assetDependencies
158
- resolved.set(assetName, {
159
- name: assetName,
160
- type: meta.type,
161
- version: selectedVersion,
162
- description: meta.description,
163
- npmDependencies: meta.npmDependencies,
164
- assetDependencies,
165
- skillDependencies: meta.skillDependencies,
166
- })
167
-
168
- for (const [dependencyName, dependencyValue] of Object.entries(assetDependencies)) {
169
- const dependencyRange = assetDependencyRange(dependencyValue)
170
- addConstraint(constraints, dependencyName, dependencyRange, `${assetName}@${selectedVersion}`)
171
- pending.push(dependencyName)
169
+ const selectedVersion = exactVersion
170
+ ? exactMetadataVersion(meta, assetName, exactVersion)
171
+ : latestMetadataVersion(meta)
172
+ // The meta demonstrably answers for this version; caching it under the exact key makes the
173
+ // convergence re-pass (which pins every asset) resolve without a single further request.
174
+ metaCache.set(`${assetName}@${selectedVersion}`, meta)
175
+ const assetDependencies = meta.assetDependencies
176
+ resolved.set(assetName, {
177
+ name: assetName,
178
+ type: meta.type,
179
+ version: selectedVersion,
180
+ description: meta.description,
181
+ npmDependencies: meta.npmDependencies,
182
+ assetDependencies,
183
+ skillDependencies: meta.skillDependencies,
184
+ })
185
+
186
+ for (const [dependencyName, dependencyValue] of Object.entries(assetDependencies)) {
187
+ const dependencyRange = assetDependencyRange(dependencyValue)
188
+ addConstraint(
189
+ constraints,
190
+ dependencyName,
191
+ dependencyRange,
192
+ `${assetName}@${selectedVersion}`,
193
+ )
194
+ wave.push(dependencyName)
195
+ }
172
196
  }
173
197
  }
174
198