import type { EvoCapabilityGrant } from "../components/capabilities/broker.ts"; import { type EvoPackImportPreflight, type EvoPackImportResult } from "../pack/import.ts"; import { type EvoPackManifest } from "../pack/pack.ts"; import type { EvoPaths } from "../paths.ts"; import { type EvoDiscoveredPack } from "./client.ts"; import { type EvoPackRegistryEntry, type EvoPackRegistryEntryTrust, type EvoRawFileSource, type EvoTrustedRegistrySigner } from "./registry.ts"; import { EvoPackDiscoveryTransport } from "./transport.ts"; type EvoTrustedPackRegistryEntryTrust = Extract; export interface EvoPackRegistryServiceOptions { registrySources: readonly EvoRawFileSource[]; transport: EvoPackDiscoveryTransport; trustedSigners: readonly EvoTrustedRegistrySigner[]; temporaryDirectory?: string; } export interface EvoPackRegistrySearchOptions { query?: string; trustedOnly?: boolean; limit?: number; includeTrustedManifests?: boolean; signal?: AbortSignal; } export interface EvoPackRegistrySearchResult extends EvoDiscoveredPack { manifest?: EvoPackManifest; } export interface EvoPackRegistryInstallOptions { name: string; version?: string; /** Pin the content identity shown by a prior trusted inspection. */ expectedIntegrity: string; paths: EvoPaths; parentDigest: string; grantsByComponent?: Readonly>; signal?: AbortSignal; /** Runs after full pack preflight and before any pack-owned artifact or proposal is persisted. */ beforeStage?: (context: EvoPackRegistryBeforeStageContext) => Promise; /** Sandbox mode for the post-stage executable validation of imported components. */ sandbox?: boolean; } export interface EvoPackRegistryInspection { registrySource: EvoRawFileSource; packSource: EvoRawFileSource; entry: EvoPackRegistryEntry; trust: EvoTrustedPackRegistryEntryTrust; manifest: EvoPackManifest; } export interface EvoPackRegistryBeforeStageContext extends EvoPackRegistryInspection { packDirectory: string; fileCount: number; totalBytes: number; preflight: EvoPackImportPreflight; } export interface EvoPackRegistryInstallResult { registrySource: EvoRawFileSource; packSource: EvoRawFileSource; trust: EvoTrustedPackRegistryEntryTrust; fileCount: number; totalBytes: number; imported: EvoPackImportResult; } /** Read-only registry search plus trusted, fully verified staging installs. */ export declare class EvoPackRegistryService { private readonly registrySources; private readonly transport; private readonly trustedSigners; private readonly temporaryDirectory; constructor(options: EvoPackRegistryServiceOptions); private client; private selectTrusted; search(options?: EvoPackRegistrySearchOptions): Promise; /** Fetch and cross-check one exactly selected, trusted manifest without downloading its contents. */ inspect(name: string, version?: string, signal?: AbortSignal): Promise; install(options: EvoPackRegistryInstallOptions): Promise; } export {}; //# sourceMappingURL=service.d.ts.map