export type JsonPrimitive = string | number | boolean | null; export type JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue; }; export type JsonSchema = Record; export declare const CAPABILITY_SPEC_VERSION: "0.1"; export type CapabilitySpecVersion = typeof CAPABILITY_SPEC_VERSION; export type BuiltInCapabilityEffect = "filesystem.read" | "filesystem.write" | "network.connect" | "process.spawn" | "environment.read" | "secrets.read" | "database.read" | "database.write" | "email.send" | "git.commit" | "git.push"; export type CapabilityEffect = BuiltInCapabilityEffect | `custom:${string}`; export type CapabilityEffects = { filesystem?: { read?: boolean; write?: boolean; }; network?: boolean; shell?: boolean; environment?: boolean; }; export type CapabilityBehavior = { deterministic?: boolean; idempotent?: boolean; reversible?: boolean; }; export type CapabilityManifest = { specVersion: CapabilitySpecVersion; id: string; version: string; name: string; description: string; input?: JsonSchema; output?: JsonSchema; effects?: readonly CapabilityEffect[]; behavior?: Readonly; tags?: readonly string[]; metadata?: Readonly>; }; export type CapabilityPlanDetails = { summary?: string; effects?: readonly CapabilityEffect[]; data?: JsonValue; }; export type CapabilityPlan = { planId: string; capability: Readonly<{ id: string; version: string; }>; input: unknown; inputHash: string; effects: readonly CapabilityEffect[]; summary: string; createdAt: string; data?: JsonValue; fingerprint: string; }; export type CapabilityVerification = { ok: boolean; message?: string; data?: JsonValue; }; export type CapabilityContext = { readonly manifest: Readonly; readonly plan: Readonly; readonly signal?: AbortSignal; }; export type RollbackContext = CapabilityContext & { readonly input: Input; readonly output: Output; readonly receipt: CapabilityReceipt; }; export type CapabilityDefinition = { manifest: CapabilityManifest; execute: (input: Input, context: CapabilityContext) => Output | Promise; plan?: (input: Input) => CapabilityPlanDetails | Promise; verify?: (output: Output, context: CapabilityContext) => boolean | CapabilityVerification | Promise; rollback?: (context: RollbackContext) => unknown | Promise; }; export type LegacyCapabilityDefinition = { id?: string; version?: string; name: string; description: string; input?: JsonSchema; output?: JsonSchema; effects?: CapabilityEffects | readonly CapabilityEffect[]; behavior?: CapabilityBehavior; tags?: readonly string[]; execute: (input: Input) => Output | Promise; }; export type Capability = { readonly manifest: Readonly; readonly execute: CapabilityDefinition["execute"]; readonly plan?: CapabilityDefinition["plan"]; readonly verify?: CapabilityDefinition["verify"]; readonly rollback?: CapabilityDefinition["rollback"]; }; export type CapabilityInspection = Readonly & { readonly executable: false; }; export type CapabilityReceiptStatus = "succeeded" | "failed" | "rolled_back" | "rollback_failed"; export type SerializedError = { name: string; message: string; code?: string; }; export type CapabilityReceipt = { receiptId: string; planId: string; capability: Readonly<{ id: string; version: string; }>; status: CapabilityReceiptStatus; startedAt: string; endedAt: string; durationMs: number; effects: readonly CapabilityEffect[]; inputHash: string; outputHash?: string; input?: Input; output?: Output; verification?: CapabilityVerification; error?: SerializedError; rollbackResult?: unknown; metadata?: Readonly>; provenance?: Readonly; }; export type AuthorizationDecision = { allowed: boolean; deniedEffects: readonly CapabilityEffect[]; approvalRequired: readonly CapabilityEffect[]; reason?: string; }; export type CapabilityPolicy = { allow?: readonly string[]; deny?: readonly string[]; requireApproval?: readonly string[]; }; export type DiscoveryQuery = { text: string; limit?: number; tags?: readonly string[]; effects?: readonly CapabilityEffect[]; }; export type DiscoveryResult = { capability: Capability; score: number; reasons: readonly string[]; }; export type ExecutionOptions = { approved?: boolean; signal?: AbortSignal; metadata?: Readonly>; }; export type CapabilityProvenance = { source?: string; packageRoot?: string; installRoot?: string; packageName?: string; packageVersion?: string; packageIntegrity?: string; repository?: string; commit?: string; integrity?: string; attestation?: string; registrySignatureVerified?: boolean; provenanceVerified?: boolean; verificationProvider?: string; verifiedAt?: string; }; export type DiscoveryRanker = { score(query: string, manifests: readonly Readonly[]): readonly number[] | Promise; }; //# sourceMappingURL=types.d.ts.map