import type { Agent, AgentConfig, CheckpointStore, SecureAgentOptions, SessionStore } from "./contracts.js"; import type { SecretRedactor } from "./redaction.js"; export type HostCompositionProfile = "personal" | "local-personal" | "business" | "business-worker" | "multi-tenant-worker"; export declare class HostCompositionError extends Error { readonly code: string; constructor(message: string, code?: string); } export interface HostCompositionGovernance { readonly modelRouter?: unknown; readonly budgetPolicy?: unknown; readonly rateLimitPolicy?: unknown; readonly supported?: boolean; readonly [key: string]: unknown; } export interface HostCompositionOptions { readonly profile?: HostCompositionProfile; readonly agent?: Agent | AgentConfig | SecureAgentOptions | Partial; readonly store?: SessionStore | CheckpointStore | { readonly kind?: string; readonly durable?: boolean; [key: string]: unknown; }; readonly checkpoints?: CheckpointStore; readonly workspaceRoot?: string; readonly sandboxRoots?: readonly string[]; readonly credentialRefs?: readonly string[]; readonly connectedApps?: { readonly appIds: readonly string[]; readonly serverIds: readonly string[]; }; readonly governance?: HostCompositionGovernance; readonly redactor?: SecretRedactor; /** Explicit opt-in for live network checks; inert by default. */ readonly liveChecks?: boolean; } export interface HostCompositionToolReport { readonly name: string; readonly description?: string; readonly hasParameters: boolean; } export interface HostCompositionReport { readonly profile: "personal" | "business"; readonly effectiveTools: readonly HostCompositionToolReport[]; readonly credentialReferences: readonly string[]; readonly connectedApps?: { readonly appIds: readonly string[]; readonly serverIds: readonly string[]; }; readonly ownership: { readonly tenantId?: string; readonly accountId?: string; readonly userId?: string; }; readonly storage: { readonly kind: string; readonly durable: boolean; }; readonly sandbox: { readonly workspaceRoot?: string; readonly roots: readonly string[]; readonly isolated: boolean; }; readonly governance: { readonly permission: boolean; readonly trust: boolean; readonly redactor: boolean; readonly validator: boolean; readonly modelRouting: boolean; readonly secure: boolean; }; readonly readiness: { readonly ok: boolean; readonly errors: readonly string[]; readonly warnings: readonly string[]; }; } /** Classifies a store by declared kind/durability and constructor name — never reads contents or connection strings (plan 084 Task 4 reuses it for run-bundle snapshots). */ export declare function describeStorage(store: unknown, checkpoints: unknown): { kind: string; durable: boolean; }; /** * Inspects a host composition in an inert, bounded, and secret-redacting manner. * Performs zero network calls by default. */ export declare function inspectHostComposition(options: HostCompositionOptions): HostCompositionReport; /** * Asserts that a host composition meets all readiness requirements for its profile. * Throws HostCompositionError on failure. */ export declare function assertHostCompositionReadiness(options: HostCompositionOptions): HostCompositionReport;