import type { ReleaseIdentity } from "./installation-metadata.ts"; export interface CatalogEntry { identity: ReleaseIdentity; development: boolean; files: Record; } export interface ArtifactFile { path: string; size: number; sha256: string; mime: string; assetHash?: string; } export interface Deployment { main: string; no_bundle: true; compatibility_date: string; compatibility_flags: string[]; assets: { directory: string; binding: "ASSETS" }; durable_objects: { bindings: { name: string; class_name: string }[] }; exports: Record; containers: { name: string; class_name: "Sandbox"; image: string; instance_type: "lite"; max_instances: number; }[]; ai: { binding: "AI" }; browser: { binding: "BROWSER" }; worker_loaders: { binding: "LOADER" }[]; observability: { enabled: false }; keep_vars: true; } export interface Artifact { identity: ReleaseIdentity; files: ArtifactFile[]; bytes: Record; deployment: Deployment; compatibility: { applicationSchema: 1; agentIdentity: "personal/PersonalAgent/Conversation/Sandbox"; fromArtifacts: string[]; }; }