Swadhin Biswas Feature/ai code reviewer (#73) · 8/2/2026
105a287
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
* OCI Container Registry (Docker v2 API) & Package Registry Protocol Engine
* Implements distribution spec for Docker/OCI image manifests, blobs, and NPM tarballs.
*/
import { logger } from "./logger";
export interface OCIManifest {
schemaVersion: number;
mediaType: string;
config: {
mediaType: string;
size: number;
digest: string;
};
layers: Array<{
mediaType: string;
size: number;
digest: string;
}>;
}
/**
* Handle OCI Version Check GET /v2/
*/
export function handleDockerV2Ping() {
return {
status: 200,
headers: {
"Docker-Distribution-Api-Version": "registry/2.0",
"Content-Type": "application/json",
},
body: JSON.stringify({}),
};
}
/**
* Parse OCI Container Manifest
*/
export function parseOCIManifest(rawJson: string): OCIManifest {
try {
const manifest = JSON.parse(rawJson) as OCIManifest;
if (!manifest.schemaVersion || !manifest.config) {
throw new Error("Invalid OCI manifest format");
}
return manifest;
} catch (err: any) {
logger.error({ err: err.message }, "Failed to parse OCI manifest");
throw err;
}
}
/**
* Format NPM Package Metadata
*/
export function formatNPMPackageMetadata(packageName: string, versions: Record<string, any>) {
const latestVersion = Object.keys(versions).pop() || "1.0.0";
return {
name: packageName,
"dist-tags": {
latest: latestVersion,
},
versions,
};
}