typebulb 0.12.0 → 0.13.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.
Files changed (191) hide show
  1. package/dist/agents/claude/client.js +341 -205
  2. package/dist/agents/claude/styles.css +3 -21
  3. package/dist/ai/aiProvider.d.ts +59 -0
  4. package/dist/ai/aiProvider.d.ts.map +1 -0
  5. package/dist/ai/aiProvider.js +109 -0
  6. package/dist/ai/aiProvider.js.map +1 -0
  7. package/dist/ai/aiProviders.d.ts +28 -0
  8. package/dist/ai/aiProviders.d.ts.map +1 -0
  9. package/dist/ai/aiProviders.js +47 -0
  10. package/dist/ai/aiProviders.js.map +1 -0
  11. package/dist/ai/chat.d.ts +32 -0
  12. package/dist/ai/chat.d.ts.map +1 -0
  13. package/dist/ai/chat.js +5 -0
  14. package/dist/ai/chat.js.map +1 -0
  15. package/dist/ai/index.d.ts +9 -0
  16. package/dist/ai/index.d.ts.map +1 -0
  17. package/dist/ai/index.js +11 -0
  18. package/dist/ai/index.js.map +1 -0
  19. package/dist/ai/protocol.d.ts +18 -0
  20. package/dist/ai/protocol.d.ts.map +1 -0
  21. package/dist/ai/protocol.js +3 -0
  22. package/dist/ai/protocol.js.map +1 -0
  23. package/dist/ai/providers/anthropic.d.ts +123 -0
  24. package/dist/ai/providers/anthropic.d.ts.map +1 -0
  25. package/dist/ai/providers/anthropic.js +130 -0
  26. package/dist/ai/providers/anthropic.js.map +1 -0
  27. package/dist/ai/providers/gemini.d.ts +62 -0
  28. package/dist/ai/providers/gemini.d.ts.map +1 -0
  29. package/dist/ai/providers/gemini.js +136 -0
  30. package/dist/ai/providers/gemini.js.map +1 -0
  31. package/dist/ai/providers/openAI.d.ts +146 -0
  32. package/dist/ai/providers/openAI.d.ts.map +1 -0
  33. package/dist/ai/providers/openAI.js +127 -0
  34. package/dist/ai/providers/openAI.js.map +1 -0
  35. package/dist/ai/providers/openRouter.d.ts +65 -0
  36. package/dist/ai/providers/openRouter.d.ts.map +1 -0
  37. package/dist/ai/providers/openRouter.js +82 -0
  38. package/dist/ai/providers/openRouter.js.map +1 -0
  39. package/dist/ai/sseParser.d.ts +32 -0
  40. package/dist/ai/sseParser.d.ts.map +1 -0
  41. package/dist/ai/sseParser.js +121 -0
  42. package/dist/ai/sseParser.js.map +1 -0
  43. package/dist/ai/stream.d.ts +20 -0
  44. package/dist/ai/stream.d.ts.map +1 -0
  45. package/dist/ai/stream.js +6 -0
  46. package/dist/ai/stream.js.map +1 -0
  47. package/dist/dts/cache.d.ts +30 -0
  48. package/dist/dts/cache.d.ts.map +1 -0
  49. package/dist/dts/cache.js +2 -0
  50. package/dist/dts/cache.js.map +1 -0
  51. package/dist/dts/definitelyTypedProvider.d.ts +20 -0
  52. package/dist/dts/definitelyTypedProvider.d.ts.map +1 -0
  53. package/dist/dts/definitelyTypedProvider.js +93 -0
  54. package/dist/dts/definitelyTypedProvider.js.map +1 -0
  55. package/dist/dts/dtsConfig.d.ts +12 -0
  56. package/dist/dts/dtsConfig.d.ts.map +1 -0
  57. package/dist/dts/dtsConfig.js +24 -0
  58. package/dist/dts/dtsConfig.js.map +1 -0
  59. package/dist/dts/dtsResolver.d.ts +63 -0
  60. package/dist/dts/dtsResolver.d.ts.map +1 -0
  61. package/dist/dts/dtsResolver.js +272 -0
  62. package/dist/dts/dtsResolver.js.map +1 -0
  63. package/dist/dts/fetchDts.d.ts +13 -0
  64. package/dist/dts/fetchDts.d.ts.map +1 -0
  65. package/dist/dts/fetchDts.js +46 -0
  66. package/dist/dts/fetchDts.js.map +1 -0
  67. package/dist/dts/httpFetch.d.ts +17 -0
  68. package/dist/dts/httpFetch.d.ts.map +1 -0
  69. package/dist/dts/httpFetch.js +35 -0
  70. package/dist/dts/httpFetch.js.map +1 -0
  71. package/dist/dts/index.d.ts +14 -0
  72. package/dist/dts/index.d.ts.map +1 -0
  73. package/dist/dts/index.js +14 -0
  74. package/dist/dts/index.js.map +1 -0
  75. package/dist/dts/libManifest.d.ts +41 -0
  76. package/dist/dts/libManifest.d.ts.map +1 -0
  77. package/dist/dts/libManifest.js +109 -0
  78. package/dist/dts/libManifest.js.map +1 -0
  79. package/dist/dts/negativeCacheHelper.d.ts +29 -0
  80. package/dist/dts/negativeCacheHelper.d.ts.map +1 -0
  81. package/dist/dts/negativeCacheHelper.js +44 -0
  82. package/dist/dts/negativeCacheHelper.js.map +1 -0
  83. package/dist/dts/tarballFetcher.d.ts +13 -0
  84. package/dist/dts/tarballFetcher.d.ts.map +1 -0
  85. package/dist/dts/tarballFetcher.js +58 -0
  86. package/dist/dts/tarballFetcher.js.map +1 -0
  87. package/dist/dts/tbTypings.d.ts +15 -0
  88. package/dist/dts/tbTypings.d.ts.map +1 -0
  89. package/dist/dts/tbTypings.js +210 -0
  90. package/dist/dts/tbTypings.js.map +1 -0
  91. package/dist/dts/typeProvider.d.ts +37 -0
  92. package/dist/dts/typeProvider.d.ts.map +1 -0
  93. package/dist/dts/typeProvider.js +30 -0
  94. package/dist/dts/typeProvider.js.map +1 -0
  95. package/dist/dts/typeRefScanner.d.ts +8 -0
  96. package/dist/dts/typeRefScanner.d.ts.map +1 -0
  97. package/dist/dts/typeRefScanner.js +33 -0
  98. package/dist/dts/typeRefScanner.js.map +1 -0
  99. package/dist/dts/typescriptProvider.d.ts +21 -0
  100. package/dist/dts/typescriptProvider.d.ts.map +1 -0
  101. package/dist/dts/typescriptProvider.js +140 -0
  102. package/dist/dts/typescriptProvider.js.map +1 -0
  103. package/dist/dts/virtualFs.d.ts +20 -0
  104. package/dist/dts/virtualFs.d.ts.map +1 -0
  105. package/dist/dts/virtualFs.js +48 -0
  106. package/dist/dts/virtualFs.js.map +1 -0
  107. package/dist/format/chunks.d.ts +20 -0
  108. package/dist/format/chunks.d.ts.map +1 -0
  109. package/dist/format/chunks.js +51 -0
  110. package/dist/format/chunks.js.map +1 -0
  111. package/dist/format/config.d.ts +17 -0
  112. package/dist/format/config.d.ts.map +1 -0
  113. package/dist/format/config.js +13 -0
  114. package/dist/format/config.js.map +1 -0
  115. package/dist/format/detection.d.ts +11 -0
  116. package/dist/format/detection.d.ts.map +1 -0
  117. package/dist/format/detection.js +43 -0
  118. package/dist/format/detection.js.map +1 -0
  119. package/dist/format/index.d.ts +8 -0
  120. package/dist/format/index.d.ts.map +1 -0
  121. package/dist/format/index.js +8 -0
  122. package/dist/format/index.js.map +1 -0
  123. package/dist/format/parse.d.ts +20 -0
  124. package/dist/format/parse.d.ts.map +1 -0
  125. package/dist/format/parse.js +88 -0
  126. package/dist/format/parse.js.map +1 -0
  127. package/dist/format/registry.d.ts +24 -0
  128. package/dist/format/registry.d.ts.map +1 -0
  129. package/dist/format/registry.js +31 -0
  130. package/dist/format/registry.js.map +1 -0
  131. package/dist/format/serialize.d.ts +8 -0
  132. package/dist/format/serialize.d.ts.map +1 -0
  133. package/dist/format/serialize.js +30 -0
  134. package/dist/format/serialize.js.map +1 -0
  135. package/dist/format/yaml.d.ts +4 -0
  136. package/dist/format/yaml.d.ts.map +1 -0
  137. package/dist/format/yaml.js +17 -0
  138. package/dist/format/yaml.js.map +1 -0
  139. package/dist/index.js +385 -84
  140. package/dist/lint/index.d.ts +29 -0
  141. package/dist/lint/index.d.ts.map +1 -0
  142. package/dist/lint/index.js +257 -0
  143. package/dist/lint/index.js.map +1 -0
  144. package/dist/render.js +174 -38
  145. package/dist/resolver/attempt.d.ts +2 -0
  146. package/dist/resolver/attempt.d.ts.map +1 -0
  147. package/dist/resolver/attempt.js +9 -0
  148. package/dist/resolver/attempt.js.map +1 -0
  149. package/dist/resolver/cdnClient.d.ts +46 -0
  150. package/dist/resolver/cdnClient.d.ts.map +1 -0
  151. package/dist/resolver/cdnClient.js +107 -0
  152. package/dist/resolver/cdnClient.js.map +1 -0
  153. package/dist/resolver/cdnConstants.d.ts +10 -0
  154. package/dist/resolver/cdnConstants.d.ts.map +1 -0
  155. package/dist/resolver/cdnConstants.js +10 -0
  156. package/dist/resolver/cdnConstants.js.map +1 -0
  157. package/dist/resolver/index.d.ts +20 -0
  158. package/dist/resolver/index.d.ts.map +1 -0
  159. package/dist/resolver/index.js +20 -0
  160. package/dist/resolver/index.js.map +1 -0
  161. package/dist/resolver/packageRef.d.ts +21 -0
  162. package/dist/resolver/packageRef.d.ts.map +1 -0
  163. package/dist/resolver/packageRef.js +89 -0
  164. package/dist/resolver/packageRef.js.map +1 -0
  165. package/dist/resolver/packageService.d.ts +40 -0
  166. package/dist/resolver/packageService.d.ts.map +1 -0
  167. package/dist/resolver/packageService.js +156 -0
  168. package/dist/resolver/packageService.js.map +1 -0
  169. package/dist/resolver/peerResolver.d.ts +33 -0
  170. package/dist/resolver/peerResolver.d.ts.map +1 -0
  171. package/dist/resolver/peerResolver.js +66 -0
  172. package/dist/resolver/peerResolver.js.map +1 -0
  173. package/dist/resolver/semver.d.ts +17 -0
  174. package/dist/resolver/semver.d.ts.map +1 -0
  175. package/dist/resolver/semver.js +56 -0
  176. package/dist/resolver/semver.js.map +1 -0
  177. package/dist/resolver/types.d.ts +33 -0
  178. package/dist/resolver/types.d.ts.map +1 -0
  179. package/dist/resolver/types.js +2 -0
  180. package/dist/resolver/types.js.map +1 -0
  181. package/dist/resolver/versionResolver.d.ts +29 -0
  182. package/dist/resolver/versionResolver.d.ts.map +1 -0
  183. package/dist/resolver/versionResolver.js +79 -0
  184. package/dist/resolver/versionResolver.js.map +1 -0
  185. package/dist/servers.js +142 -3
  186. package/dist/transpile/index.d.ts +19 -0
  187. package/dist/transpile/index.d.ts.map +1 -0
  188. package/dist/transpile/index.js +23 -0
  189. package/dist/transpile/index.js.map +1 -0
  190. package/dist/tsconfig.tsbuildinfo +1 -0
  191. package/package.json +99 -68
@@ -0,0 +1,33 @@
1
+ import { CdnClient, type PackageMeta } from './cdnClient.js';
2
+ export type ResolvedRoot = {
3
+ name: string;
4
+ version: string;
5
+ meta?: PackageMeta;
6
+ };
7
+ export type PackageFlags = {
8
+ isPeerRoot: boolean;
9
+ hasPeers: boolean;
10
+ isSharedDep: boolean;
11
+ };
12
+ export type AutoAddedPeer = {
13
+ name: string;
14
+ requiredBy: string;
15
+ };
16
+ export declare const peerNames: (meta?: PackageMeta) => string[];
17
+ export declare const depNames: (meta?: PackageMeta) => string[];
18
+ export declare class PeerResolver {
19
+ private cdn;
20
+ constructor(cdn: CdnClient);
21
+ resolve(roots: Array<{
22
+ name: string;
23
+ version: string;
24
+ }>, resolveVersion: (name: string) => Promise<string>): Promise<{
25
+ allRoots: ResolvedRoot[];
26
+ flags: Map<string, PackageFlags>;
27
+ autoAddedPeers: AutoAddedPeer[];
28
+ }>;
29
+ private fetchMeta;
30
+ private expandWithPeers;
31
+ private computeFlags;
32
+ }
33
+ //# sourceMappingURL=peerResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peerResolver.d.ts","sourceRoot":"","sources":["../../resolver/src/peerResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5D,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAE,CAAA;AAChF,MAAM,MAAM,YAAY,GAAG;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAA;AAC3F,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAGhE,eAAO,MAAM,SAAS,GAAI,OAAO,WAAW,aAA8E,CAAA;AAC1H,eAAO,MAAM,QAAQ,GAAI,OAAO,WAAW,aAA0E,CAAA;AAMrH,qBAAa,YAAY;IAEX,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAE5B,OAAO,CACX,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EAC/C,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;;;;;YAQrC,SAAS;YAMT,eAAe;IA6B7B,OAAO,CAAC,YAAY;CAyBrB"}
@@ -0,0 +1,66 @@
1
+ const isTypesPackage = (name) => name.startsWith('@types/');
2
+ export const peerNames = (meta) => Object.keys(meta?.peerDependencies || {}).filter(n => !isTypesPackage(n));
3
+ export const depNames = (meta) => Object.keys(meta?.dependencies || {}).filter(n => !isTypesPackage(n));
4
+ /** Only peers NOT marked as optional in peerDependenciesMeta */
5
+ const requiredPeerNames = (meta) => peerNames(meta).filter(name => !meta?.peerDependenciesMeta?.[name]?.optional);
6
+ export class PeerResolver {
7
+ constructor(cdn) {
8
+ this.cdn = cdn;
9
+ }
10
+ async resolve(roots, resolveVersion) {
11
+ const initialRoots = await this.fetchMeta(roots);
12
+ const { allRoots, autoAddedPeers } = await this.expandWithPeers(initialRoots, resolveVersion);
13
+ const flags = this.computeFlags(allRoots);
14
+ return { allRoots, flags, autoAddedPeers };
15
+ }
16
+ async fetchMeta(roots) {
17
+ return Promise.all(roots.map(async ({ name, version }) => ({
18
+ name, version, meta: await this.cdn.fetchPackageMeta(name, version)
19
+ })));
20
+ }
21
+ async expandWithPeers(initialRoots, resolveVersion) {
22
+ const rootMap = new Map(initialRoots.map(r => [r.name, r]));
23
+ const autoAddedPeers = [];
24
+ for (const root of initialRoots) {
25
+ for (const name of requiredPeerNames(root.meta)) {
26
+ if (!rootMap.has(name) && !autoAddedPeers.some(p => p.name === name)) {
27
+ autoAddedPeers.push({ name, requiredBy: root.name });
28
+ }
29
+ }
30
+ }
31
+ // Resolve peers sequentially
32
+ for (const { name, requiredBy } of autoAddedPeers) {
33
+ try {
34
+ const version = await resolveVersion(name);
35
+ const meta = await this.cdn.fetchPackageMeta(name, version);
36
+ rootMap.set(name, { name, version, meta });
37
+ }
38
+ catch (err) {
39
+ console.warn(`[typebulb] Failed to resolve peer "${name}" for "${requiredBy}":`, err);
40
+ }
41
+ }
42
+ return { allRoots: [...rootMap.values()], autoAddedPeers: autoAddedPeers.filter(p => rootMap.has(p.name)) };
43
+ }
44
+ computeFlags(roots) {
45
+ // Packages appearing in peerDependencies of any imported package
46
+ const peerRootSet = new Set(roots.flatMap(r => peerNames(r.meta)));
47
+ // Packages appearing in dependencies of 2+ imported packages (shared deps)
48
+ // These need singleton behavior even if not declared as peers (e.g., @codemirror/state)
49
+ const depCounts = new Map();
50
+ for (const root of roots) {
51
+ for (const dep of depNames(root.meta)) {
52
+ depCounts.set(dep, (depCounts.get(dep) || 0) + 1);
53
+ }
54
+ }
55
+ const sharedDepSet = new Set([...depCounts.entries()].filter(([, count]) => count >= 2).map(([name]) => name));
56
+ return new Map(roots.map(root => [
57
+ root.name,
58
+ {
59
+ isPeerRoot: peerRootSet.has(root.name),
60
+ hasPeers: peerNames(root.meta).length > 0,
61
+ isSharedDep: sharedDepSet.has(root.name)
62
+ }
63
+ ]));
64
+ }
65
+ }
66
+ //# sourceMappingURL=peerResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peerResolver.js","sourceRoot":"","sources":["../../resolver/src/peerResolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export type Version = string;
2
+ export declare class SemverService {
3
+ cmp(a: Version, b: Version): number;
4
+ satisfies(range: string, v: Version): boolean;
5
+ pickMaxSatisfying(versions: Version[], range: string): Version | undefined;
6
+ pickLatest(versions: Version[]): Version | undefined;
7
+ selectBestVersion(versions: Version[], options?: {
8
+ distTags?: Record<string, string>;
9
+ range?: string;
10
+ preferStable?: boolean;
11
+ }): Version | undefined;
12
+ majorOf(v: Version): number;
13
+ isPrerelease(version: Version): boolean;
14
+ isExactVersion(version: string): boolean;
15
+ }
16
+ export declare const semverService: SemverService;
17
+ //# sourceMappingURL=semver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../../resolver/src/semver.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAI5B,qBAAa,aAAa;IAExB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM;IAKnC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO;IAK7C,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAM1E,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS;IAMpD,iBAAiB,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,GACA,OAAO,GAAG,SAAS;IAuBtB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;IAI3B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAIvC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AACD,eAAO,MAAM,aAAa,eAAsB,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { gt, satisfies as satisfiesFn, maxSatisfying, major, prerelease, rsort, valid } from 'semver';
2
+ export class SemverService {
3
+ cmp(a, b) {
4
+ if (a === b)
5
+ return 0;
6
+ return gt(a, b) ? 1 : (gt(b, a) ? -1 : 0);
7
+ }
8
+ satisfies(range, v) {
9
+ if (!range || !range.trim())
10
+ return true;
11
+ return Boolean(satisfiesFn(v, range, { includePrerelease: true }));
12
+ }
13
+ pickMaxSatisfying(versions, range) {
14
+ if (!versions?.length)
15
+ return undefined;
16
+ const res = maxSatisfying(versions, range, { includePrerelease: true });
17
+ return res === null ? undefined : res;
18
+ }
19
+ pickLatest(versions) {
20
+ if (!versions?.length)
21
+ return undefined;
22
+ const sorted = rsort(versions);
23
+ return sorted[0];
24
+ }
25
+ selectBestVersion(versions, options) {
26
+ if (!versions?.length)
27
+ return undefined;
28
+ const range = options?.range?.trim() || '*';
29
+ const preferStable = options?.preferStable ?? true;
30
+ // Priority 1: distTags.latest if available and satisfies range
31
+ const latest = options?.distTags?.latest;
32
+ if (latest && versions.includes(latest) && this.satisfies(range, latest)) {
33
+ return latest;
34
+ }
35
+ // Priority 2: Best stable version satisfying range
36
+ if (preferStable) {
37
+ const stable = maxSatisfying(versions, range, { includePrerelease: false });
38
+ if (stable)
39
+ return stable;
40
+ }
41
+ // Priority 3: Best version (including prereleases) satisfying range
42
+ const any = maxSatisfying(versions, range, { includePrerelease: true });
43
+ return any ?? undefined;
44
+ }
45
+ majorOf(v) {
46
+ return major(v);
47
+ }
48
+ isPrerelease(version) {
49
+ return prerelease(version) !== null;
50
+ }
51
+ isExactVersion(version) {
52
+ return valid(version) !== null;
53
+ }
54
+ }
55
+ export const semverService = new SemverService();
56
+ //# sourceMappingURL=semver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semver.js","sourceRoot":"","sources":["../../resolver/src/semver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export type PeerMeta = {
2
+ optional?: boolean;
3
+ };
4
+ export type PackageRanges = Record<string, string>;
5
+ export interface PackageCache {
6
+ getPinnedExact(name: string, range: string): Promise<string | undefined>;
7
+ setPinnedExact(name: string, range: string, exact: string): Promise<unknown>;
8
+ getIndex(name: string): Promise<{
9
+ versions: string[];
10
+ distTags?: Record<string, string>;
11
+ updatedAt: number;
12
+ } | undefined>;
13
+ setIndex(name: string, versions: string[], distTags?: Record<string, string>): Promise<unknown>;
14
+ invalidateVersionsCache(name: string): Promise<unknown>;
15
+ isNegative(name: string): Promise<boolean>;
16
+ recordNegative(name: string): Promise<unknown>;
17
+ clearNegative(name: string): Promise<unknown>;
18
+ getMeta(name: string, version: string): Promise<{
19
+ dependencies?: Record<string, string>;
20
+ peerDependencies?: Record<string, string>;
21
+ peerDependenciesMeta?: Record<string, PeerMeta>;
22
+ updatedAt: number;
23
+ } | undefined>;
24
+ setMeta(name: string, version: string, dependencies?: Record<string, string>, peerDependencies?: Record<string, string>, peerDependenciesMeta?: Record<string, PeerMeta>): Promise<unknown>;
25
+ }
26
+ export interface HttpClient {
27
+ getJson<T>(url: string): Promise<T | undefined>;
28
+ head(url: string): Promise<{
29
+ ok: boolean;
30
+ url: string;
31
+ } | undefined>;
32
+ }
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../resolver/src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE7C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAElD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACxE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;IACzH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/F,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;IACrN,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5L;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IAC/C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;CACrE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../resolver/src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import type { PackageCache, PackageRanges } from './types.js';
2
+ import { CdnClient } from './cdnClient.js';
3
+ import { SemverService } from './semver.js';
4
+ export type EffectivePackageResult = {
5
+ effectivePackage: string;
6
+ root: string;
7
+ range?: string;
8
+ pinned?: string;
9
+ };
10
+ export declare class VersionResolver {
11
+ private cache;
12
+ private cdn;
13
+ private semver;
14
+ constructor(cache: PackageCache, cdn: CdnClient, semver: SemverService);
15
+ private selectVersionFromIndex;
16
+ /**
17
+ * Learns the best available version for a package (no caching).
18
+ * Used by packageAuto to determine what version we'd assign fresh.
19
+ */
20
+ learnExactVersion(name: string): Promise<string | undefined>;
21
+ resolveExactForRoot(root: string, range?: string): Promise<string | undefined>;
22
+ effectivePackage(pkg: string, ranges: PackageRanges): Promise<{
23
+ effectivePackage: string;
24
+ root: string;
25
+ range: string;
26
+ pinned: string | undefined;
27
+ }>;
28
+ }
29
+ //# sourceMappingURL=versionResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionResolver.d.ts","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAG3C,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,KAAK;IAAgB,OAAO,CAAC,GAAG;IAAa,OAAO,CAAC,MAAM;gBAA3D,KAAK,EAAE,YAAY,EAAU,GAAG,EAAE,SAAS,EAAU,MAAM,EAAE,aAAa;IAE9F,OAAO,CAAC,sBAAsB;IAI9B;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS5D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAyChD,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;;;;;;CAgB1D"}
@@ -0,0 +1,79 @@
1
+ import { PackageRef } from './packageRef.js';
2
+ import { attempt } from './attempt.js';
3
+ export class VersionResolver {
4
+ constructor(cache, cdn, semver) {
5
+ this.cache = cache;
6
+ this.cdn = cdn;
7
+ this.semver = semver;
8
+ }
9
+ selectVersionFromIndex(versions, range, distTags) {
10
+ return this.semver.selectBestVersion(versions, { range, distTags });
11
+ }
12
+ /**
13
+ * Learns the best available version for a package (no caching).
14
+ * Used by packageAuto to determine what version we'd assign fresh.
15
+ */
16
+ async learnExactVersion(name) {
17
+ const idx = await attempt(() => this.cdn.fetchVersionsIndex(name));
18
+ if (idx?.versions?.length) {
19
+ const version = this.semver.selectBestVersion(idx.versions, { distTags: idx.distTags });
20
+ if (version)
21
+ return version;
22
+ }
23
+ return this.cdn.resolveExactVersion(name);
24
+ }
25
+ async resolveExactForRoot(root, range) {
26
+ if (!range)
27
+ return this.learnExactVersion(root);
28
+ const pinned = await this.cache.getPinnedExact(root, range);
29
+ if (pinned) {
30
+ if (this.semver.isExactVersion(pinned))
31
+ return pinned;
32
+ // Routine, not an error: a cached pin that isn't an exact version just gets re-resolved below.
33
+ console.debug('[typebulb] cached version for', root, 'is not exact (', pinned, '); re-resolving from registry');
34
+ }
35
+ const idx = await attempt(() => this.cdn.fetchVersionsIndex(root));
36
+ if (idx?.versions?.length) {
37
+ const chosen = this.selectVersionFromIndex(idx.versions, range, idx.distTags);
38
+ if (!chosen) {
39
+ // Routine cache refresh after a new release: the cached version set predates a release that
40
+ // satisfies `range`, so drop it and re-fetch. Not an error — expected right after an upgrade.
41
+ console.debug('[typebulb] refreshing version cache for', root, '(', range, 'not in cached set — likely a new release)');
42
+ await this.cache.invalidateVersionsCache(root);
43
+ const freshIdx = await attempt(() => this.cdn.fetchVersionsIndex(root));
44
+ if (freshIdx?.versions?.length) {
45
+ const freshChosen = this.selectVersionFromIndex(freshIdx.versions, range, freshIdx.distTags);
46
+ if (freshChosen && this.semver.isExactVersion(freshChosen)) {
47
+ await this.cache.setPinnedExact(root, range, freshChosen);
48
+ return freshChosen;
49
+ }
50
+ }
51
+ }
52
+ else if (this.semver.isExactVersion(chosen)) {
53
+ await this.cache.setPinnedExact(root, range, chosen);
54
+ return chosen;
55
+ }
56
+ }
57
+ const exact = await this.cdn.resolveExactVersion(`${root}@${range}`);
58
+ if (exact && this.semver.isExactVersion(exact)) {
59
+ await this.cache.setPinnedExact(root, range, exact);
60
+ return exact;
61
+ }
62
+ return undefined;
63
+ }
64
+ async effectivePackage(pkg, ranges) {
65
+ const parsed = new PackageRef(pkg);
66
+ const root = parsed.root();
67
+ const range = ranges[root];
68
+ const pinned = range
69
+ ? await attempt(() => this.cache.getPinnedExact(root, range)) ?? await attempt(() => this.resolveExactForRoot(root, range))
70
+ : undefined;
71
+ return {
72
+ effectivePackage: pinned ? parsed.withVersion(pinned).format() : pkg,
73
+ root,
74
+ range,
75
+ pinned
76
+ };
77
+ }
78
+ }
79
+ //# sourceMappingURL=versionResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionResolver.js","sourceRoot":"","sources":["../../resolver/src/versionResolver.ts"],"names":[],"mappings":"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"}